标题 | 基于高速微处理器及智能摄像头控制的循迹机器人设计与实现 |
范文 | 范海心 朱海龙 程松仁 陶应诚 摘要:本项目选用32位高速微处理器MK66FX,采用麦克纳姆轮全向车模,为其设计了以单片机为核心的主板和电机驱动等硬件电路,再通过软件编程使其运行。在电机上安装编码器测速,以此进行闭环控制。循迹的功能由 OpenMV 模块来实现。经过了图像识别和路径拟合,接下来使用 PID 算法控制轮子差速。如果有阳光直射,通过在摄像头上增加滤光片,并对图像进行滤波处理。 关键词:麦克纳姆轮;单片机;OpenMV;图像识别 21世纪是信息化和自动化的世纪,人们的生活在方方面面都得到了极大的便利。随着摄像头和处理器性能的提高、图像处理算法的进步,机器视觉在很多领域已经超过人眼识别的效率和准确率。以图像处理为核心设计的智能小车,正是无人驾驶汽车的初步实现。本文主要介绍智能小车的研究与设计,分为硬件设计和软件编程进行阐述。 1.? 设计目标和研究方向 设计一辆能够自动寻找目标,对其快速定位继而移动到附近的车模, 并在追寻目标过程中避开前方障碍。为了完成此目标,一是选取合适的车模、传感器、处理器;二是完成硬件電路的设计、制作和焊接;三是硬件的安装和机械结构的调整;四是对软件的编程,以实现和优化功能。 2.? 系统层面方案设计 追寻目标和避开障碍的任务,对车模的加减速和灵活特性有着很高的要求,因此选取基于麦克纳姆轮,可以实现前行、横移、斜行、旋转及其组合等运动方式的全方位式移动车模:北京科宇公司出品的 H 车模,材质坚固,尺寸为25*20*16.9cm,小巧而轻便,非常适合用于此项目的开发设计。 由于需要对速度进行精确控制,高精度的速度测量和尽可能短的控制周期,传统流行的8位单片机的计算能力和主频难以满足。经过对价格、开发成本、性能的综合考虑,我们采用恩智浦公司的32位单片机MK66FX 为核心微处理器。该单片机的主频最高可达200Mhz;144脚的封装,IO 资源丰富;使用 C 语言编程,官方配备各个模块的库函数,开发效率高。 图像处理采用 OpenMV 模块,该模块使用 MicroPython 编程,可以完成识别目标的任务后通过串口发送结果到单片机,摄像头和单片机各司其职,接口变量简洁清晰,做到了设计上的高内聚,低耦合。需要避开的障碍各种各样,统一使用摄像头识别几乎是不可能完成的,因此使用红外测距模块,安装在车模前方,以距离判断是否有障碍。 综上,该系统由三个部分组成:检测采集系统、信号处理系统和控制系统。检测系统系统包括:摄像头和红外测距仪对外界信息的采集、编码器对轮子转速的采集。信号处理部分采用是恩智浦公司的 MK66FX 作为主控芯片,对取得的信号进行快速处理。控制系统是通过主控芯片输出的信号来控制电机的转速,四个麦克纳姆轮差速,速度融合实现全向移动。 3.? 电路硬件设计 3.1???? 电源管理 电池使用2S 航模电池,电池电压直接通过驱动模块给电机供电;3.3V电压是保证 K66芯片以及编码器等外设的供电需求,应用线性稳压芯片代替开关电源芯片,电路供电更加稳定,AD 采集更加准确,我们运用了 TPS7333线性稳压芯片,效果比较稳定。5V 电压是保证 OpenMV 和测距模块的供电需求。采用两块 TPS7350线性稳压芯片进行稳压。 3.2???? 外设选取 为了减少车辆负载,测速模块采用体积较小的512线 mini 编码器;在调试时必要的会需要对行进时实时数据进行监测,运用蓝牙模块可以很方便的实现;OLED 屏幕对菜单显示,配合五向按键可以方便调节参数。实际设计中我们使用了三个 GP2D12红外传测距感器,用来判断车前进方向是否有障碍物。 3.3???? 主板设计 主板以 MK66FX 核心板为中心,引出需要用到的引脚,设计各个外设需要的接口电路,再放置前文提到的电源管理芯片,为单片机和外围器件供电。 3.4???? 驱动板设计 双路 BTN7971b 组建全桥电机控制电路,最大电流可达70A,很好地满足要求。并利用74ls244逻辑缓冲芯片将 PWM 波与单片机隔离,有效保护单片机。由于车模有四个电机,需要8个 BTN7971b 芯片来搭建驱动板。 3.5???? 机械结构和安装 H 型车模预留有电池的安装槽,且贴合了降低重心、贴近地盘的要求。H 型车模共四个电机,因为电路板体积的限制,我们设计了两块驱动板以驱动电机,分别靠近电机安装在车模的头部和尾部,至于主板直接安装在电池上方。驱动板和主板都使用 M3铜柱和螺母固定。为了更好地固定编码器,我们制作了支架,将其固定在电机的车轮侧边。 摄像头越高,视野越宽广,利于处理;然而,摄像头越高,会导致摄像头车模行驶时的抖动,影响控制精度,不利于车模行驶。经过各种尝试,把摄像头安装在20厘米处,实际效果较好。 4.? 软件编程实现效果 4.1???? 底层代码 商家在出售核心板时赠送芯片的模块使用例程和库函数,大大方便了我们的开发和使用。首先阅读和调试例程,学会使用库函数,将控制的引脚对应到自己设计制作的主板上的实际引脚测试功能。测试完所有的所需功能后,为了使代码的逻辑更加清晰,可读性和可维护性更强,将库函数进行二次封装,实现高度集成的函数。 4.2???? PID 控制 每个电机的实际性能不同,每个轮子的实际阻力也不同,若简单的采用开环控制,给所有电机相同的占空比,就会出现实际速度不同的情况,即目标速度和设定速度有差异;再加上麦克纳姆轮的特性,速度不正确,方向也不会正确,所以需要通过闭环动态控制,使轮子可以实时达到设定的转速。电机控制一般采用PID 算法,单片机这种离散系统适用的 PID 算法有增量式PID 和位置式 PID。由于增量式 PID 相对于位置式PID 有明显的优势,所以我们选择增量式 PID 作为速度控制算法,用编码器获取速度作为反馈量,每5ms 实现一次闭环控制。 4.3???? 图像处理 我们采用 OpenMV 来采集场地中的目标信息,兼顾图像质量和芯片处理速度,设置图像分辨率为彩色 QVGA,采集到的图像大小为320*240,帧率约为30。摄像头采集的图像可能受各种因素影响,要通过调节曝光时间、像素时钟等方式获得最佳图像。利用 OpenMV 的彩色识别算法,通过细调LAB 阈值来捕获目标发出的红光,提取所捕获到的红色色块的中心坐标和色块大小发送给单片机。 4.4???? 路径规划 中心坐标即目标的坐标来确定小车前进方向,色块大小即小车距离目标的距离大小的反映。为了避免撞到目标,距离远时速度较快,距离近时速度较慢,并在抵达目标后停下,寻找下一个目标。如果在追寻目标的过程中遇到障碍物,先橫移避开障碍物,直到检测不到障碍物后返回原先路径。 5.? 结语 本文从整体、硬件、软件方面介绍了车模的设计和制作方案。硬件方面,我们综合考虑车模的需求设计了稳定可靠的电路和较为完善的机械结构。软件方面我们力求优美的行驶路径,多次优化识别算法和避障策略,不断地调试和修改参数,最终让车模可以较好的完成任务。 参考文献: [1] 张禹,朱光召.基于麦克纳姆轮的全方位移动平台技术研究[J]. 现代制造技术与装备,2017(2). [2] 吴强,韩震宇,李程.基于增量式 PID 算法的无刷直流电机 PWM 调速研究[J]. 机电工程技术,2013(03):63-65. [3] 许莉,王敏,温月.基于 Lab 颜色空间的运动目标检测[J]. 华中科技大学学报(自然科学版),2013(s1). 创新训练项目:基于高速微处理器及智能摄像头控制的循迹机器人设计与实现(编号:201910378204) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。