找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1619|回复: 0
打印 上一主题 下一主题
收起左侧

2023年电赛E题思路和代码分享 openMV设计运动目标控制与自动追踪系统

[复制链接]
跳转到指定楼层
楼主
项目使用K210与 openMV设计了一个运动目标控制与自动追踪系统。系统包括使用深度学习进行识别激光位置,其中红色激光笔模拟运动目标、绿色激光笔指示自动追踪,并将识别到的位置信息控制舵机移动。通过K210和stm32串口通信实现图像处理和舵机运动控制功能,实现了红色光斑的位置控制以及绿色光斑的自动追踪功能。实验结果表明,系统能够较准确追踪红色光斑,在规定的时间内完成移动和复位功能。本设计可应用于各种需要目标追踪的场景,具有较高的实用性和可扩展性。
1.基本要求
(1)复位功能。红色光斑能从屏幕任意位置回到原点。
(2)运动目标控制系统。红色光斑能在30秒内沿屏幕四周边线顺时针移动一周,移动时光斑中心距边线距离≤2cm。
(3)用约1.8cm宽的黑色电工胶带沿A4纸四边贴一个长方形,构成A4靶纸。将此 A4 靶纸贴在屏幕自定的位置。启动运动目标控制系统,红色光斑能在30 秒内沿胶带顺时针移动一周。
(4)用约1.8cm宽的黑色电工胶带沿A4纸四边贴一个长方形,构成A4靶纸。将此A4靶纸贴在屏幕自定的位置。启动运动目标控制系统,红色光斑能在30秒内沿胶带顺时针移动一周。
2.发挥要求
(1)运动目标位置复位,一键启动自动追踪系统,控制绿色光斑能在2秒 内追踪红色光斑,追踪成功发出连续声光提示。此时两个光斑中心距离应≤3cm。
(2)运动目标重复基本要求(3)、(4)的动作。绿色激光笔发射端可以放置在其放置线段的任意位置,同时启动运动目标及自动追踪系统,绿色光斑能自动追踪红色光斑。启动系统2秒后,应追踪成功,发出连续声光提示。
3. 程序设计
3.1.stm32控制舵机运动
Stm32使用pid算法同时控制x轴与y轴的移动,将x轴与y轴的各个参数进行pid运算,再将角度返回给单片机,从而可以进行控制。舵机采用pwm进行控制,由于考虑其稳定性,需要将舵机旋转速度变慢,也就是说要将pwm波分成很多小段再每一段延迟一定秒数输出,故程序将要进行旋转的a角度与b角度进行了除以n(n很大),在一个执行n次的循环中每次将舵机x轴旋转a/n度,y轴旋转b/n度,实现舵机的平稳运行。
3.2.k210识别矩形并返回四角的像素坐标
调用库函数识别矩形,并返回四个角的像素坐标。设计实验计算得到k210镜头的焦距后,计算所识别到的每两个像素坐标之间的角度,通过相似三角形得到实际坐标的位置,再控制舵机的运动。
3.3.openmv识别红色激光并跟踪
通过不断调整颜色阈值,再对摄像头进行曝光调节,关闭图像处理,再使用二值化的方法对图像进行处理,使得摄像头能够稳定的识别到红色激光点。识别到激光点以后,以摄像机中心为原点,计算识别到的激光点的坐标与原点的坐标差,再使用openmv控制两个舵机运动,通过每一帧图像与上一帧图像的对比,产生角度差,再使用pid算法控制两个舵机运动从而实现跟踪。
3.4.原理图

见图片

图片1.jpg (152.27 KB, 下载次数: 0)

图片1.jpg

E题代码.7z

184.27 KB, 下载次数: 0, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表