项目背景
2023年大学生电子设计大赛是国赛,先省内选拔,优胜者可被推荐参加国赛。
比赛要求公布题目后在5天内根据题目要求开发出相应的电子系统并进行演示。
控制题赛道题目 | 运动目标控制与自动追踪系统(E题)
一、任务
设计制作一个运动目标控制与自动追踪系统。系统包括模拟目标运动的红色 光斑位置控制系统和指示自动追踪的绿色光斑位置控制系统。系统结构示意及摆放位置见图1(a)。图中两个激光笔固定在各自独立的二维电控云台上。

红色激光笔发射的光斑用来模拟运动目标,光斑落在正前方距离1m 处的白色屏幕上,光斑直径≤1cm。红色光斑位置控制系统控制光斑能在屏幕范围内任意移动。
绿色激光笔发射的光斑由绿色光斑位置系统控制,用于自动追踪屏幕上的红色光斑,指示目标的自动追踪效果,光斑直径≤1cm。绿色激光笔放置线段如图1(b)所示,该线段与屏幕平行,位于红色激光笔两侧,距红色激光笔距离大于0.4m、小于 1m。绿色激光笔在两个放置线段上任意放置。
屏幕为白色,有效面积大于 0.6x0.6平方米。用铅笔在屏幕中心画出一个边长0.5m 的正方形,标识屏幕的边线;所画的正方形的中心为原点,用铅笔画出原点位置,所用铅笔痕迹宽≤1mm。
二、要求
1. 基本要求
-
设置运动目标位置复位功能。执行此功能,红色光斑能从屏幕任意位置回到原点。光斑中心距原点误差≤2cm。
-
启动运动目标控制系统。红色光斑能在30秒内沿屏幕四周边线顺时针移动一周,移动时光斑中心距边线距离≤2cm。
-
用约 1.8cm 宽的黑色电工胶带沿 A4 纸四边贴一个长方形,构成A4靶纸。将此 A4靶纸贴在屏幕自定的位置。启动运动目标控制系统,红色光斑能在30 秒内沿胶带顺时针移动一周。超时不得分,光斑完全脱离胶带一次扣2分,连续脱离胶带移动 5cm 以上记为0分。
-
将上述 A4 靶纸以任意旋转角度贴在屏幕任意位置。启动运动目标控制系统,要求同(3)。
2. 发挥部分
-
运动目标位置复位,一键启动自动追踪系统,控制绿色光斑能在2秒内追踪红色光斑,追踪成功发出连续声光提示。此时两个光斑中心距离应≤3cm。
-
运动目标重复基本要求(3)~(4)的动作。绿色激光笔发射端可以放置在其放置线段的任意位置,同时启动运动目标及自动追踪系统,绿色光斑能自动追踪红色光斑。启动系统2秒后,应追踪成功,发出连续声光提示。此后,追踪过程中两个光斑中心距离大于 3cm 时,定义为追踪失败,一次扣2分。连续追踪失败3秒以上记为0分。运动目标控制系统和自动追踪系统均需设置暂停键。同时按下暂停键,红色和绿色光斑应立即制动,以便测量两个光斑中心距离。
-
其他。
三、说明
-
红色、绿色光斑位置控制系统必须相互独立,之间不得有任何方式通信;光斑直径小于 1cm;屏幕上无任何电子元件;控制系统不能采用台式计算机或笔记本电脑。不符合要求不进行测试。
-
基本要求(3)、(4)未得分不进行发挥部分(2)的测试。

项目介绍
硬件设计
我们的思路是用两台步进电机分别控制激光笔的水平和垂直转动,通过调节电机的转动角度来控制激光笔发射光斑的位置。

通过制作一个按钮板,用于控制信号的输入,包括启动、复位和暂停等功能按钮。

控制系统设计
设备选用了集成了视觉算法的OpenMV作为控制核心
为了实现目标追踪功能,我们使用了OpenMV摄像头来捕捉屏幕上的红色光斑位置,并通过图像处理算法计算出光斑的坐标,从而调整绿色激光笔的位置以实现追踪。
程序设计
OpenMV开发是基于Python语言的,我们编写了两个独立的程序,分别运行在红色光斑控制系统和绿色光斑追踪系统上。
# 红色光斑控制系统程序片段
# 获取矩形的四个点
def get_our_rect_final_pro(a, b, c, d):
corner = [a, b, c, d]
img.draw_circle(a[0], a[1], 5, color = (0, 255, 255), thickness = 2, fill = False)
img.draw_circle(b[0], b[1], 5, color = (255, 0, 255), thickness = 2, fill = False)
img.draw_circle(c[0], c[1], 5, color = (0, 0, 0), thickness = 2, fill = False)
img.draw_circle(d[0], d[1], 5, color = (255, 255, 255), thickness = 2, fill = False)
heighest_y = min(a[1], b[1], c[1], d[1])
... # 还有一大堆