任务
图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进行实现得到的,给出的是部分内容,想要完整文档的可以关注并私信。即可获取。