2023年国赛E题-目标追踪系统

  1. 运动目标控制与自动追踪系统(E题)
    1. 摘要
    2. 系统概述
      1. 云台组成
      2. 算法原理
      3. 实物图
      4. 目标监测
      5. 实验环境
      6. 结果

运动目标控制与自动追踪系统(E题)

摘要

本文将探讨基于三维舵机云台的自动追踪系统的各个方面。主要介绍系统的构成和原理,包括云台结构、传感器选择与应用以及控制电路与算法概述。
本文为赛后复盘。

系统概述

基于三维舵机云台的自动追踪系统是一种集成了摄像头、控制算法和机械结构的自动化系统,旨在实现对特定目标物体在三维空间内的自动追踪和定位。该系统通过实时采集传感器数据,使用单片机装载运动学算法计算目标的位置和角度,然后通过舵机控制实现云台的运动,使得装载了摄像头和激光笔的云台能够持续地朝向目标物体,将激光点持续地照射到目标上。
系统的核心构成包括三维舵机云台、传感器模块、单片机控制电路与算法。三维舵机云台负责承载传感器和实现运动,具有精确的角度控制能力。传感器模选择的是单目摄像头,用于获取目标的位置和角度等信息。控制电路与算法则负责处理传感器数据,通过运动学算法和控制策略,计算出云台的控制指令,实现自动追踪。

云台组成

云台的设计要考虑机械结构的稳定性和运动的精确性。三维云台一般由两个舵机组成,其结构可视为两个关节组成的机器人。而机器人关节伺服系统的动态误差 ,是影响其末端执行器运动轨迹精度的一个重要因素。^1
通常,云台会由水平旋转和垂直旋转两个舵机组成,分别用于控制水平方向和垂直方向的运动。云台的运动是基于舵机的角度控制实现的,舵机的旋转会带动装载在其上的传感器进行相应方向的扫描。

算法原理

在正向运动学中,舵机云台有两个旋转关节,分别是偏航关节和俯仰关节。这两个关节的角度分别是α和β。舵机云台的末端执行器在三维空间中的位置可以用笛卡尔坐标表示为(x, y, z),姿态可以用欧拉角或四元数表示。

在激光映射的平面上,构建一个XY轴的平面坐标系,激光点在纸板上的坐标 需要先转换为激光点在全局坐标系下的坐标G 。

X与云台的偏航角有关,Y与云台的俯仰角有关。所以在处理正逆向运动学问题的时候,可以将其拆解为两个独立的过程。
1727092653077.png

逆向运动学刚好相反,需要制定激光点的坐标,求解此时云台的偏航角α与俯仰角β。

markdown文件编写,计算公式写起来好麻烦,算法就不写了

实物图

实物

目标监测

目标监测是队友写的,不过我也略懂一点opencv。

在该系统中,使用了树莓派作为视觉识别的计算工具。现在看来树莓派的缺点还是很致命的,它的环境配置比较困难,两天三夜的比赛还是需要提前配置好。

树莓派作为可搭载Linux系统的嵌入式设备,能有效快速地处理传输过来的图像。将摄像头设备连接到树莓派,在树莓派系统中调用开源的OpenCv图像处理程序,对传输过来的视频按特定帧率进行分析。

在视觉识别中,第一步是图像的预处理;包括灰度转换,二值化,骨架化。。。

骨架化完成后,图像线条非常的明显,就可以使用cv的findcontours()进行轮廓监测啦。

对于满足一定条件的轮廓,使用cv2.approxPolyDP()函数进行多边形拟合,得到长方形的端点坐标。

将检测到的端点坐标排序,以得到起点。完成操作后,即可得到对应端点坐标。
平面模型

在图像处理后,得到的数据便可以通过串口通信的方式发送到STM32上,由STM32控制云台进行运动,实现巡黑线运动的功能。
通过该坐标,即可得到当前目标点的大致位置。将该坐标与原图分辨率进行除法运算,即可得到其在空间中相对的位置。
在STM32端,需要将得到的数据和设定的参数相乘,使其精准的将云台指向目标点位。

实验环境

作品测试场景搭建如图所示,其中三维舵机云台与目标摆放平面平行,距离以摄像头镜头为起点,到目标平面为1米。
实验环境

结果

拿了个省级二等奖,主要是留了一手备用按钮,在出现故障时,采用planB。

做人也一样,总要给自己留下一个planB或planC,我们的planA走不通的时候,planB的含金量就上来了,就好像你刚喝了酒请代驾,刚好遇上了查酒驾一样。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 1186703947@qq.com

💰

×

Help us with donation

相册 动态菜单1