
2023年E题【运动目标控制与自动追踪系统】phantom
简介
我们以 STM32F407VGT6 单片机为核心板、 openMV 为视觉平台辅助控制,使用 FreeRTOS 操作系统设计了一套鲁棒性较好的运动目标控制系统和自动追踪系统。
简介:我们以 STM32F407VGT6 单片机为核心板、 openMV 为视觉平台辅助控制,使用 FreeRTOS 操作系统设计了一套鲁棒性较好的运动目标控制系统和自动追踪系统。开源协议
:GPL 3.0
描述
一、团队介绍
Phantom
团队成员:卜剑英、黄凯、吕鸿赢
学校:上海理工大学
获奖:国赛一等奖
二、题目要求
1、任务
设计制作一个运动目标控制与自动追踪系统。系统包括模拟目标运动的红色光斑位置控制系统和指示自动追踪的绿色光斑位置控制系统。系统结构示意及摆放位置见图 1(a)。图中两个激光笔固定在各自独立的二维电控云台上。
红色激光笔发射的光斑用来模拟运动目标,光斑落在正前方距离 1m 处的白色屏幕上,光斑直径≤1cm。红色光斑位置控制系统控制光斑能在屏幕范围内任意移动。
绿色激光笔发射的光斑由绿色光斑位置系统控制,用于自动追踪屏幕上的红色光斑,指示目标的自动追踪效果,光斑直径≤1cm。绿色激光笔放置线段如图 1(b)所示,该线段与屏幕平行,位于红色激光笔两侧,距红色激光笔距离大于 0.4m、小于 1m。绿色激光笔在两个放置线段上任意放置。
屏幕为白色,有效面积大于 0.6╳0.6m2。用铅笔在屏幕中心画出一个边长0.5m 的正方形,标识屏幕的边线;所画的正方形的中心为原点,用铅笔画出原点位置,所用铅笔痕迹宽≤1mm。
2、要求
1. 基本要求
(1)设置运动目标位置复位功能。执行此功能,红色光斑能从屏幕任意位置回到原点。光斑中心距原点误差≤2cm。
(2)启动运动目标控制系统。红色光斑能在 30 秒内沿屏幕四周边线顺时针移动一周,移动时光斑中心距边线距离≤2cm。
(3)用约 1.8cm 宽的黑色电工胶带沿 A4 纸四边贴一个长方形,构成 A4 靶纸。将此 A4 靶纸贴在屏幕自定的位置。启动运动目标控制系统,红色光斑能在30 秒内沿胶带顺时针移动一周。超时不得分,光斑完全脱离胶带一次扣 2 分,连续脱离胶带移动 5cm 以上记为 0 分。
(4)将上述 A4 靶纸以任意旋转角度贴在屏幕任意位置。启动运动目标控制系统,要求同(3)。
2. 发挥部分
(1)运动目标位置复位,一键启动自动追踪系统,控制绿色光斑能在 2 秒内追踪红色光斑,追踪成功发出连续声光提示。此时两个光斑中心距离应≤3cm。
(2)运动目标重复基本要求(3)~(4)的动作。绿色激光笔发射端可以放置在其放置线段的任意位置,同时启动运动目标及自动追踪系统,绿色光斑能自动追踪红色光斑。启动系统 2 秒后,应追踪成功,发出连续声光提示。此后,追踪过程中两个光斑中心距离大于 3cm 时,定义为追踪失败,一次扣 2 分。连续追踪失败 3 秒以上记为 0 分。
运动目标控制系统和自动追踪系统均需设置暂停键。同时按下暂停键,红色和绿色光斑应立即制动,以便测量两个光斑中心距离。
三、设计摘要
本系统以 STM32F407VGT6 单片机为核心板,以 OPENMV 为视觉平台辅助控制,使用 FREERTOS 操作系统设计了一套鲁棒性较好的运动目标控制系统和自动追踪系统。系统包括二维电控云台装置,辅助定位装置,视觉处理模块,电源分配模块,开发板扩展模块,人机交互界面。在软件方面,针对红色光斑位置控制系统,通过 OPENMV 识别并计算目标点和红色激光的偏差并和主控板通过握手协议通信,主控板经 PID 算法得出舵机应运动的偏差值,以增量的方式控制舵机运动。针对绿色光斑位置控制系统,通过 OPENMV 识别并计算红色激光和绿色激光的偏差,并通过 PID 算法控制云台转向。在硬件方面,搭建铝型材框架用于定位,设计用于电压分配和人机交互的电路板,外形美观,结构稳固。最终实现了较好的运动控制和自动追踪效果。
关键字:运动控制,自动追踪,FREERTOS 操作系统,计算机视觉
四、题目分析
1、运动目标控制
方案 1:裸机编程。优点是结构简单,成本低廉;缺点是功能有限,不易于扩展和维护。
方案 2:操作系统编程。使用 FREERTOS 操作系统,相较于逻辑编程,具有多任务支持,内存管理等功能,并且程序可预见性高,能够保持控制系统的稳定性。
针对该系统,通过合理地配置不同任务的优先级,并使用信号量、队列等进行资源的合理配置,可以有效地提升控制系统的稳定性。因此,采用方案 2。
2、自动追踪系统
方案 1:调用 OpenCV,通过相机标定,将相机中的像素坐标转换为世界坐标,解算运动模型,得出世界坐标对应的云台旋转角度,最终实现相机像素点到旋转角度的映射。
方案 2:使用 OpenMV 的颜色识别和矩形识别,获得目标值,将目标值细分成多段计算和激光的偏差,传回主控板进行 PID 运算控制云台移动,最终实现运动控制和目标追踪。
在实际调试时发现,解算出的世界坐标和云台旋转角度关系式必须在严格满足各种物理条件(如距离为一米、云台初始态和屏幕垂直)的情况下才能满足,否则将有一定误差,因此最终选择了方案 2。
3、机械结构和硬件电路
方案 1:使用现成的各种驱动模块,通过杜邦线连接构成电路模块,使用大致的定位来确定题目所需的云台摆放位置。
方案 2:使用自己搭建的原理图并通过嘉立创提供的 12 小时加急打样服务,自主设计电路结构,实现电路结构的稳定与可维护性。除此之外使用铝合金材料,搭建支撑与固定结构,在云台摆放位置处放置滑动导轨,完全吻合题目要求的距离摆放要求。
显然,方案 2 的设计在稳定性与美观性上更具有优势。因此,选择方案 2
五、总体设计框图
供电方案
运动控制系统
自动追踪系统
六、硬件电路组成
电路部分由最小系统模块、电源分配模块、开发板扩展模块、任务模块组成,采用层叠结构实现系统的美观与稳固
1、最小系统模块
此次设计中我们采用 STM32F407VET6 芯片,它是一款增强型 32 位嵌入式系统,采用高性能 Arm Cortex-M4 32 位 RISC 内核,工作频率可达 168 MHz。集成高速嵌入式存储器(1 MB 闪存,192 KB 的 SRAM),4 KB 的备份 SRAM 以及广泛的增强型 I/O 和外设,12 个 16 位 ADC、32 个 DAC。
我们采用 mcauser 的开源 STM32F407VET6 开发板作为最小系统模块,开源链接https://github.com/mcauser/MCUDEV_DEVEBOX_F407VET6
2、电源分配模块
采用 12V 电池供电,两路 DC-DC 降压电路分别提供 5V 和 6V 电压,3.3V电压由开发板载 LDO 提供;
板级保护包括
在各电压节点添加可恢复保险丝
在电源输出端口添加 N-MOS 防反接电路
在 5V 电压添加稳压二极管提供板级电源保护。
同时引出舵机接口。
3、开发板扩展模块
从开发板上引出丰富的接口包含:电机及编码器、MPU6050、OLED、USB、UART、蓝牙模块和 NRF24L01。
由于选题不允许两套系统间通信,电路板上未装载蓝牙模块和 NRF24L01,实际只装载1、 UART 与同系统内 openMV 模块通信、2、OLED 用于人机交互。
4、任务模块
根据选题要求搭载了蜂鸣器,LED 灯,按键,激光供电
5、openmv引脚引出(洞洞板)
使用XH 1x4pin 2.54mm接口与排线连接openmv与开发板扩展,实现openmv供电与串口双向通讯
七、程序流程图
主控板流程图
八、实物展示
运动目标控制系统
运动目标控制系统与自动追踪系统(上阵)
运动目标控制系统的openmv模块为固定式,通过框架结构使其对准白板中心
自动追踪系统的openmv模块随激光运动
九、注意事项
与openmv模块通信的是UART3,不是设计用于蓝牙串口模块进行无线通讯的UART1
安装舵机时需将舵机中点调整为正前方/水平
使用DC口12V锂电池供电,原则上7V至36伏均可
由于精度要求较高,需保证结构稳固
舵机存在精度不连续的问题,即均匀调整占空比时实际转动有累积效应,会抽搐,据说上千的舵机也如此,建议换用步进电机或foc控制
十、演示视频
点击跳转
https://www.bilibili.com/video/BV1PH4y1D75c/
十一、附件内容
百度网盘链接
提取码:9riq
仓库链接(master)
设计图

BOM


评论