任务

图1 任务内容

要求

 图2 基本要求内容

 图3 发挥部分内容 

说明

  图4 说明内容

评分标准

  图5 评分内容

正文 (部分)

 

        本文使用K210芯片设计了一个运动目标控制与自动追踪系统。系统包括使用深度学习进行识别激光位置,其中红色激光笔模拟运动目标、绿色激光笔指示自动追踪,并将识别到的位置信息取控制舵机移动。通过K210实现图像处理和舵机运动控制功能,实现了红色光斑的位置控制以及绿色光斑的自动追踪功能。实验结果表明,系统能够准确追踪红色光斑,在规定的时间内完成移动和复位功能。本设计可应用于各种需要目标追踪的场景,具有较高的实用性和可扩展性。

关键词:运动目标控制,自动追踪系统,光斑位置控制,K210

1. 系统方案

本设计以K210为主控,整体系统主要由主控和舵机模块组成。

1.1 主控模块的论证与选择

方案一:选用K210芯片。

优点:K210芯片搭载了双核64位RISC-V处理器和专门的AI加速器,具有高性能的计算能力;支持常见的图像处理任务,并且有多个GPIO接口、UART、I2C、SPI等常用接口,方便与其他外设进行连接和扩展,满足不同应用场景的需求。

缺点:作为较新的芯片型号,某些功能可能尚未得到广泛验证和使用,因此在使用过程中可能存在一些潜在的问题或缺陷。

    方案二:选用OpenMV芯片。

    优点:OpenMV芯片使用MicroPython作为开发语言,提供了简洁的API和丰富的示例代码;支持多种图像处理算法;采用了优质的图像传感器,可以在低光条件下工作,并能够实时采集高质量的图像数据。

缺点:OpenMV搭载的ARM Cortex-M7处理器相对于一些主流的AI芯片和处理器而言,计算能力较弱,OpenMV的硬件接口有限,仅有一些常见的扩展接口,对于一些特殊的需求可能无法满足。

方案三:选用树莓派。

优点:树莓派搭载了ARM架构的处理器,性能较强,能够处理多种复杂的算法和任务;具有多个GPIO接口、USB接口、HDMI接口等常见接口;拥有庞大的开源社区支持,有大量的资源、文档和示例代码可供参考和使用。

缺点:功耗较大,在长时间工作或需要低功耗的应用中不太适合;掌握起来比较困难。

方案四:OpenMV+STM32。

优点: OpenMV具有丰富的图像处理功能,STM32微控制器具有强大的计算能力,可以承担复杂的控制算法和决策逻辑;且STM32微控制器提供多个GPIO接口、UART、SPI、I2C等常见接口,可以方便地连接外部传感器、执行器等设备,并与OpenMV进行数据交互。

缺点:开发复杂度较高,对开发者而言具有一定的挑战性;同时使用OpenMV和STM32,增加了硬件的复杂性和成本。

方案五:选用K210 + STM32。

优点: K210芯片具有较强的计算能力和丰富的计算资源,且内置AI加速器,支持深度学习模型的高效推理计算,STM32微控制器具有强大的计算能力和丰富的接口,可以承担控制算法和系统管理任务。

缺点:使用K210 + STM32方案需要对图像处理、机器学习算法和嵌入式系统开发有一定的了解,对开发者而言具有一定的挑战性;采用这个方案需要同时使用K210和STM32,增加了硬件的复杂性和成本。

综合考虑采用方案一,因为K210芯片具备强大的图像处理和控制接口功能,可开发性强,成本低,适合该系统的需求。

2.2 舵机的计算

2.2.1舵机控制角度范围计算

舵机的角度范围为0°到180°,要根据激光笔的位置信息来计算舵机应该转动的角度,使其能够对准目标物体。由于舵机需要能够将光斑移动到屏幕的任意位置,因此机控制角度范围为2*arctan(0.6/2D),其中D为红外传感器到屏幕的距离。

2.2.2舵机转动精度计算

舵机的转动精度需要达到小于1°的误差,取决于控制信号的分辨率。舵机的控制信号是通过脉冲宽度调制(PWM)来实现的。

舵机控制信号周期为20ms,占空比为0.5ms~2.5ms,其中0.5ms对应最小角度,2.5ms对应最大角度。因此,将舵机的角度范围等分为控制信号的脉冲宽度区间,通过调整脉冲宽度来控制舵机转动到特定角度,即每个脉冲宽度所对应的角度差。

(1)比例增益(Kp)的选择

将Kp设置为一个较小的值。然后,在实验中观察系统的响应。如果响应过度震荡并且不能稳定在目标位置,说明Kp过小。反之,如果响应过度缓慢并且稳定性差,说明Kp过大。逐步调整Kp的值,直到找到一个合适的值,使系统的响应快速而稳定。

                                                            (1-1)

(2)积分时间(Ti)的选择

将Ti设置为一个较大的值,然后观察系统的响应。如果系统存在静态误差,并且响应缓慢,说明Ti过大。反之,如果响应过度震荡并且不稳定,说明Ti过小。逐步调整Ti的值,直到找到一个合适的值,使系统的静态误差最小化并且响应稳定。

                                       (1-2)

(3)微分时间(Td)的选择

将Td设置为一个较小的值,然后观察系统的响应。如果系统的响应过度震荡并且不稳定,说明Td过小。反之,如果响应过度缓慢,并且存在较大的超调现象,说明Td过大。逐步调整Td的值,直到找到一个合适的值,使系统的响应快速而稳定。

得到最终的控制量为:

通过适当选择和调整系数(K_p)、(K_i)和(K_d),可以实现舵机转动到目标位置的精确控制。

2.2.3 舵机转速计算

舵机的转速指的是舵机在单位时间内转动的角度,也取决于控制信号的频率和脉冲宽度。通过调整控制信号的频率和脉冲宽度,可以改变舵机的转速。

4.1测试方案

4.1.1 功能测试

4.3测试结果及分析

4.3.1测试结果

该文档是根据使用K210进行实现得到的,给出的是部分内容,想要完整文档的可以关注并私信。即可获取。

上面给出的是原作者的方案。下面给出我的方案:

简单描述:使用K210STM32MCU一起作为主控,通过两者的串口通信,实现对云台的转动,从而追踪激光。结构图简单如下所示:
在这里插入图片描述

硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐