徐瀚鲲徐瀚鲲
首页
我的项目
简历
成绩单
  • English
  • 简体中文
  • 日本語
GitHub
首页
我的项目
简历
成绩单
  • English
  • 简体中文
  • 日本語
GitHub
  • 我的项目
    • 运动目标控制与自动追踪系统
    • 盆栽植物高通量表型监测系统
    • 小车跟随行驶系统
    • 非接触物体尺寸形态测量
    • 无刷电机驱动电路及FOC控制算法设计

项目任务和要求

任务

 设计制作一个运动目标控制与自动追踪系统。系统包括模拟目标运动的红色光斑位置控制系统和指示自动追踪的绿色光斑位置控制系统。系统结构示意及摆 放位置见图1(a)。图中两个激光笔固定在各自独立的二维电控云台上。


图1 运动目标控制与自动追踪系统结构示意及摆放位置图

 红色激光笔发射的光斑用来模拟运动目标,光斑落在正前方距离1m处的白色屏幕上,光斑直径≤1cm。红色光斑位置控制系统控制光斑能在屏幕范围内任意移动。

 绿色激光笔发射的光斑由绿色光斑位置系统控制,用于自动追踪屏幕上的红色光斑,指示目标的自动追踪效果,光斑直径≤1cm。绿色激光笔放置线段如图1(b)所示,该线段与屏幕平行,位于红色激光笔两侧,距红色激光笔距离大于0.4m、小于1m。绿色激光笔在两个放置线段上任意放置。

 屏幕为白色,有效面积大于 0.6╳0.6m2。用铅笔在屏幕中心画出一个边长0.5m的正方形,标识屏幕的边线;所画的正方形的中心为原点,用铅笔画出原点位置,所用铅笔痕迹宽≤1mm。红色、绿色光斑位置控制系统必须相互独立,之间不得有任何方式通信;光斑直径小于1cm;屏幕上无任何电子元件;控制系统不能采用台式计算机或笔记本电脑。

要求

基本要求

  1. 设置运动目标位置复位功能。执行此功能,红色光斑能从屏幕任意位置回到原点。光斑中心距原点误差≤2cm。

  2. 启动运动目标控制系统。红色光斑能在30秒内沿屏幕四周边线顺时针移动一周,移动时光斑中心距边线距离≤2cm。

  3. 用约1.8cm宽的黑色电工胶带沿A4纸四边贴一个长方形,构成A4靶纸。将此A4靶纸贴在屏幕自定的位置。启动运动目标控制系统,红色光斑能在30 秒内沿胶带顺时针移动一周。

  4. 将上述A4靶纸以任意旋转角度贴在屏幕任意位置。启动运动目标控制系统,要求同 3 。

发挥部分

  1. 运动目标位置复位,一键启动自动追踪系统,控制绿色光斑能在2 秒内追踪红色光斑,追踪成功发出连续声光提示。此时两个光斑中心距离应≤3cm。

  2. 运动目标重复基本要求 3 ~ 4 的动作。绿色激光笔发射端可以放置在其放置线段的任意位置,同时启动运动目标及自动追踪系统,绿色光斑能自动追踪红色光斑。启动系统2秒后,应追踪成功,发出连续声光提示。

 运动目标控制系统和自动追踪系统均需设置暂停键。同时按下暂停键,红色和绿色光斑应立即制动,以便测量两个光斑中心距离。

实现方案

 针对所选题目技术参数要求,本设计以 ESP32-S3 单片机为整个系统的控制核心,选用香橙派、英伟达 jetson、无刷直流电机、二维云台、RGB 摄像头等硬件设备,通过 C++、python3.6 进行结合编程,能够较好的实现设计需求。经测试,无论 A4 靶纸处于屏幕何种位置,所设计系统均能够对于靶纸进行有效识别,云台控制的红色光斑能够于 30 秒内在靶纸上完成顺时针运动。此外,通过采用颜色空间转换、二值化处理、高斯滤波等图像处理算法,所设计的系统能够较好的实现对于红绿光斑的识别及运动追踪,在追踪过程中,不同光斑的中心距离能够时刻保持在 3 cm 以内。

方案论证

 本系统主要论证电机选择、图像处理模块、主控芯片选择,其余外围配套硬件为常规设计。

电机选择

方案 1:以舵机作为云台主要运行结构器件

 舵机是一种具有位置反馈的电机,它可以精确控制电机角度,通常由直流电机、位置传感器和控制电路组成。但舵机控制过程中运行速度相对较慢,稳定性、精度等均相对较差,根据选题技术指标及本队队友的尝试性测试,采用舵机并不能够满足对于激光点在运行过程中的实时位置高精度控制需求。

方案 2:以步进电机作为云台主要运行结构器件

 步进电机是一种电气脉冲输入型的电机,可以通过改变脉冲数量控制旋转的角度和速度,具有较高的运行精度。但仅采用步进电机并不能够较好的实现对于激光点的稳定闭环控制,需要通过其他传感器进行结合测试,容易产生较大的累积误差 。此外,步进电机在运动速率、动态响应、失步问题、电磁干扰等方面存在一些缺点。

方案 3:以无刷直流电机作为云台主要运行结构器件

 无刷直流电机能够通过电子换向器来控制电机的转子位置。无刷电机转子上的永磁体和定子上的线圈之间通过电子换向器进行交替激励,从而实现电机的转动。相较于前面两种方案,无刷直流电机具有高效率、高转矩和高速度的特点,通过与 PWM 和 PID 算法的控制,能够更好的满足选题激光点的快速、准确移动及跟踪,因此,本设计选用无刷直流电机作为二维云台的主要运行结构器件。

图像处理模块

方案 1:采用 OpenMV 自带处理模块

 OpenMV 是一个基于 Python 编程语言的低功耗图像处理模块,其搭载 ARMCortex-M7 处理器,具备实时图像处理功能,如图像降噪、颜色识别、二维码条形码识别等。但本队队员对于 OpenMV 的初步测试结果表明,该图像处理模块的摄像头性能一般 ,对于环境场景光源变化感知度不够敏感,在识别激光的过程中,容易受激光功率的影响,导致识别精度下降。

方案 2:采用 K210 自带处理模块

 K210 是一款基于 RISC-V 架构的系统级芯片,具有双核心 64 位 RISC-V 处理器、图像处理单元以及人工智能支持等功能,是当前市面上主流的图像处理模块。但 K210 的自带摄像头性能同样不够出色,且其 flash 较小,刷大固件有时候会发生卡顿,甚至死机,配套开发环境与下位机间的连接通信也不够稳定。

方案 3:以香橙派/ 英伟达 jetson 作为处理器,外接高清摄像头模组

 相较于 OpenMV、K210 等市面上常见的摄像头处理模块,外接高清 RGB 摄像头模组具有更高的图像分辨率,能够更好的用于图像识别任务。为了让所设计的系统能够更好的适用于不同功率的激光模组、不同光源环境场景, 本设计选用外接高清摄像头模组作为图像获取单元,通过香橙派/ 英伟达 Jetson 嵌入式系统作为图像处理单元。

主控芯片选择

方案 1:采用 51 系列型号单片机。

 51 单片机芯片架构简单,片内外设资源有限多数功能需要外部扩展,I/O口较少,时钟精度低,运算速度缓慢 ,存储容量小,仅适合用于各种嵌入式系统和小型项目,并不能较好的满足本设计对于实时性和运动精度的需求。

方案 2:选择 STM32 单片机

 STM32 是意法半导体推出的 32 位 ARM Cortex-M 内核微控制器系列,具有高性能、低功耗、可靠性强等特点。但 STM32 编程复杂性相对高,代码复用性差,在相对较短的设计时间限制内,复杂的程序结构容易影响软硬件调试的稳定性。

方案 3:选择 Esp32 单片机

 Esp32 是乐鑫自主研发的一系列芯片微控制器。具有低成本、低功耗、丰富外设输入输出接口并能与 Arduino 框架兼容,编程复杂性较低,且 C++编程使代码复用性更高等特点, 更适合在短时间内开发具有高稳定性 、 实时性的系统。

系统设计与实现

硬件系统设计

综合分析所设计系统需要实现的功能,所搭建的硬件系统总体框图如图一所示:


图一 系统总体硬件设计框图

 其中供电电源采用 11.3V 电源模组,通过降压、稳压电路实现分压及稳压,所产生的电压分别给单片机处理器、无刷直流电机驱动模块、无刷直流电机以及图像处理器供电。按键模块与单片机 I/O 直接连接,用于实现激光的复位、不同设计功能的快速切换等;香橙派/jetson 用于接收高清摄像头的图像信息,并通过图像处理算法实现对激光颜色、位置的快速识别、判断,并将识别结果传输给单片机处理器;单片机处理器则通过产生不同占空比的 PWM 信号并将其输出给无刷直流电机驱动模块,从而驱动二维云台快速运动,最终实现系统所有功能。

软件系统设计

A4靶纸位置识别

 由于 A4 靶纸外侧边框粘贴了黑色胶带,与白色背景板有较大的颜色对比度,因此,采用 OpenCV 自带的图像分割函数能够较为容易的提取 A4 靶纸黑色胶带的内外侧矩形框四个角点的像素坐标。由于获取的像素坐标并不能够较好的一一对应,因此,通过自主设计的矩形拟合算法对黑色胶带中心路径进行拟合。具体方法为,分别将内外侧矩形的像素坐标记录如下形式:

 通过两点间的距离计算确定同一位置内外侧相对应的角点坐标,计算公式如下:

 根据内外侧矩形四个角点排列结果,计算出黑色胶带中心路径的矩形角点坐标,并通过像素间的直线连接绘制出完整的矩形路径,并反向遍历该矩形框上的所有像素坐标,为下位机提供完整的运行路径,算法流程框图如图二所示。


图二 A4 靶纸位置识别算法
激光追踪

 本设计的激光追踪功能主要通过图像识别算法实现,在高清摄像头捕获到实时视频后,对实时视频进行抽帧,获取相邻时间的图像数据,为了更好的识别不同的激光颜色,首先将抽出的图像帧由 RGB 颜色空间转换至 HSV 颜色空间,并应用高斯模糊和中值滤波,降低图像噪点,平滑图像边缘。接着,使用形态学操作(闭运算、开运算和膨胀)进一步去除噪点,增加图像对于激光和背景的对比度。最后,通过阈值化将图像转换为二进制图像,并找到满足一定面积范围的轮廓,算出激光的质心,处理流程如图三所示。


图三 激光追踪算法

测试方案及测试结果分析

测试方法

 根据所选题目的测试指标要求,分别测试基本要求部分及发挥部分的光斑中心距原点距离、光斑中心距边线距离、光斑脱离胶带距离以及两光斑中心距离,所有测试反复进行 9 次并手动测量误差结果。

测试结果

 基本要求测试与发挥部分测试分别如下:


基本要求测试与发挥部分测试

 根据多次实际试验结果表明,所设计的系统无论在基本测试部分还是发挥部分均有较好的测试效果,所产生的试验误差均在可接受范围以内,系统具有较好的实时测试精度。

仍然存在的问题

 需要说明的是,由于采用按键暂停测试,测试结果的实时性与实际运行效果有一定时间差,因此,所获取的结果可能会略微小于实际测试。由于开发时间有限,本系统在对于电机的控制上,仅采用了角度闭环控制,并未添加速度闭环控制。因此,在角度的控制准确度上要显著高于速度控制。此外,本设计所使用的香橙派及 Jetson 成本较高,后续完善会考虑低成本方案。

总结

 本设计运动目标控制与自动追踪系统以 ESP32-S3 单片机为整个系 统的控制核心,通过外接高清摄像头作为图像获取设备,采用香橙派 /jetson 对图像进行实时处理,并自主设计了靶纸中心运行路径拟合算法,能够较为准确的实现所选题目的主要功能。由于开发时间有限,本系统在对于电机的控制上,仅采用了角度闭环控制,并未添加速度闭环控制,后续优化会重点考虑低成本双闭环控制方案,从而提升系统的搭建成本及运行精度。

Last Updated:
Contributors: uint16kun, no
Next
盆栽植物高通量表型监测系统