基于STM32的全地形越障排爆机器人设计

2022-10-25 02:48刘孝贤余江郑徐凯陈衍艺胡俊泽
机械 2022年9期
关键词:色卡循迹滑轮

刘孝贤,余江,郑徐凯,陈衍艺,胡俊泽

基于STM32的全地形越障排爆机器人设计

刘孝贤1,余江*,1,郑徐凯1,陈衍艺2,胡俊泽1

(1.广东海洋大学 机械与动力工程学院,广东 湛江 524088;2.广东海洋大学 电子与信息工程学院,广东 湛江 524088)

为实现全地形越障排爆小车的循迹、越障、识别与排爆功能,设计了一套以STM32单片机为核心的全自动控制系统。其机械结构包括滑轮结构、底盘结构和爆破结构,着重于实现越障与减震;程序设计部分包含有循迹、姿态平稳调整、颜色识别与目标爆破几个部分,其中寻迹部分为基于PID算法所写。本设计为全自动机器人,工作时无需人工介入,可自行沿黑线循迹行走,并越过多重障碍物,同时能在指定区域内完成颜色识别与目标气球扎破的任务。

STM32单片机;循迹;越障;PID算法

本课题内容为设计一款全地形越障排爆小车,用于模拟现实中复杂地形的排爆工作。要求能实现以下几点:①能在指定区域沿黑线循迹运动;②能越过隧道、上下坡、楼梯等障碍;③能对指定地点放置的色卡进行颜色识别、与气球进行颜色匹配,并刺破对应颜色的气球。

根据要求确定系统的结构框架。该控制系统主要由控制模块、循迹模块、运动模块、颜色识别模块、气球爆破模块、摄像头模块和电源等构成。

1 机械结构设计

机器人的机械结构设计将直接影响算法实施的精度上限。本次设计的主要任务为循迹运动、越障、识别气球颜色和爆破。

1.1 滑轮结构

针对越障中的隧道,在小车的左前方和右前方各安有两个滑轮,用于辅助小车在隧道中的循迹转弯,防止小车隧道过弯时因撞墙而卡住,可以对小车的出弯进行方向矫正。该设计在提升小车过弯速度的同时增加了小车的稳定性。为确定滑轮尺寸,进行了8组实验,结果如表1所示。

表1 滑轮直径对过隧道时间的影响

故滑轮直径设计为43 mm最为有效。若尺寸设计过小不利于滑轮与隧道接触,不能起到滑轮导向的作用;若尺寸设计过大,会增加小车在通过隧道时卡住的风险,并且不易入轨。

滑轮结构尺寸如图1所示。

图1 滑轮结构尺寸图(单位:mm)

1.2 底盘结构

针对越障中的楼梯与上下坡障碍,本小车轮子采用橡胶材质,有利于在越过障碍冲向地面时达到减震的效果,且前轮安装位置比循迹模块略向前,使其充分保护循迹模块,防止越障时障碍物对循迹模块造成损害。相较于同等车型,本小车采用直径70 mm的大轮子,这提高了小车的底盘,以在越障过程中,保护底盘结构的安全。

1.3 爆破结构

针对气球爆破任务,机械结构采用平面四连杆机构,该结构设计简单、实用性高,由两个连架杆、一个连杆和四个转动副构成,仅需通过一个舵机控制便可得到准确的运动。

为确定刺气球模块与摄像头的最佳距离,进行了5组实验(每组20次),结果如表2所示。综合考虑确定的最佳距离为8 cm。

表2 刺气球模块与摄像头模块的距离实验

摄像头模块识别到相应目标后,STM32单片机便控制舵机转动,通过该机构对气球进行爆破。设计参数与该机构结构简图如图2所示。

1.4 整体结构

设计得到的全地形越障排爆小车整体结构如图3所示。

2 硬件设计

2.1 STM32单片机

本控制系统以STM32f103rct6芯片为核心,该型号单片机具有8个定时器、2个IIC(Inter-Integrated Circuit,集成电路总线)、5个串口、3个12位ADC(Analog to Digital Converter,模拟数字转换器)等资源,在功能上完全满足本项目的设计需求,且从价格上考虑,该款单片机仅需50元左右,性价比高。

2.2 模块选择

本小车选择的模块如表3所示。其中需要电源扩展模块是因为单片机板载的5 V和3.3 V电压输出引脚有限。

α为初始位置角;β为机构垂直角;γ为舵机转动最大角。

表3 小车选用模块及其作用

注:PWM(Pulse Width Modulation)为脉冲宽度调制。

图3 全地形越障排爆小车整体结构

3 软件设计

3.1 循迹程序设计

3.1.1 模拟量进行PID调节

在5路循迹模块中,左2路与右2路用于开启ADC模拟量通道,其余为数字量传输。左2与右2共4个通道夹在循迹线两侧,当小车轻微偏移时依靠PID(Proportional-Integral- Differential,比例-积分-微分)算法进行调节,单片机首先对采集回来的模拟量数据进行中值滤波处理,定义一个数组每采集10组模拟量数据后求平均,接着左2与右2两边的数值进行差值计算,再通过位置式PID算法计算得出数值,最后将得到的计算结果加权赋值到PWM来分别控制两边轮子的转速。该小车程序设计并未5个通道都开启模拟量输入,而是选择靠近循迹线的左2路与右2路开启,目的是减轻STM32单片机计算负担。同时,若开启过多的模拟量通道会增加程序的复杂性,不利于程序稳定实现。

3.1.2 减速调节

当小车发生较大的偏转时,若左侧两路检测到黑线(左1、左2),说明为右偏,左轮减速,同理,若右侧两路检测到黑线(右1、右2)路检测到黑线,说明为左偏,右轮减速。使小车在不停车的前提下,通过左右差速进行调节,以此达到紧随循迹线、不脱离赛道的目的,具备稳定的循迹功能。在实测中若发生较大偏转,采用加速进行方向调节,小车容易出现左右来回震荡和漂移的情况。所以采用左右差速调节可以有效解决大角度方向的偏移问题。具体逻辑如图4所示。

图4 循迹逻辑图

3.2 姿态稳定设计

通过MPU6050模块实时检测小车的姿态,小车在过障碍物时姿态不稳定,触发中断,对小车的PWM进行微调,当前轮高于后轮时对后轮进行减速,且数值随角度增大而增大,反之对后轮进行加速,且数值随角度增大而增大,以达到稳定通过障碍的目的。

3.3 爆破模块程序设计

超声波模块和灰度数值量模块进行配合,使小车精准停止在色卡前的黑线中;超声波模块向上安装,检测小车通过第几个隧道,进行中断触发的预判断。当通过第二个隧道,且灰度数字量模块检测到地面横向黑线时就触发中断,使小车减速,并开启OpenMV摄像头模块进行颜色识别。在指定区域内,小车先进行色卡的识别,再进行气球的识别,当经过颜色与色卡匹配的气球前方时,单片机控制舵机带动一个平面四连杆机构来扎破气球,然后加速冲向终点。程序框架如图5所示。

图5 爆破模块程序框架图

3.4 摄像头模块设计

对于颜色的识别,本设计先分别对红、绿、蓝三种颜色在不同环境亮度下的情况都设置了阈值,其中每一个阈值都包含RGB值与LAB值共6个数值,使得OpenMV在不同环境中都能快速识别出每种颜色,增强小车的适应性。此外,对于每种颜色的识别也进行了区域大小的设定,即单一颜色要占到画面幅度的70%以上,才可判定为设定阈值内的相应颜色,否则将被无视。该设定保证了只有靠近摄像头的物体才可被识别到,防止因背景中某一物体的颜色恰好与设定阈值冲突而造成误判。对于色卡与气球的颜色匹配,本设计使用了横坐标叠加的方式。由于小车是在不断前进的,当OpenMV识别到设定阈值内的任意一种颜色时,该颜色的横坐标值都会不断增大,直到该颜色的物体离开OpenMV的视野范围为止。利用这一特性,本设计对横坐标设定了一个目标值。由于色卡与气球的宽度有限,对于某种颜色只是出现色卡或气球都不能使得横坐标值突破目标值,只有当同种颜色的色卡与气球都出现过后,横坐标值才会大于目标值,此时控制系统判定为颜色匹配,并控制舵机带动一个平面四连杆机构来扎破气球。

3.5 程序整体框架图

程序整体框架如图6所示。

4 总结

本设计合理运用上述模块,经过多组实验并调试完全后,有着优秀的减震和壁障能力,还具有一定的稳定性,能够轻松、快速地完成全地形越障排爆任务。在此基础上,还具有一定的扩展性,经过简单调试就能胜任不同赛道,更换部分零件还能胜任野外地形。

注:当“OpenMV模块”识别到目标后同时执行“关闭”及“控制舵机扎气球”。

[1]洪一民,钱庆丰,章志飞. 基于STM32的智能小车循迹避障测距的设计[J]. 物联网技术,2022(1):12-13.

[2]彭登峰. 具有避障及循迹功能的智能小车系统设计[J]. 数字技术与应用,2020(11):7-9.

[3]王俊,卢刚,张松松. 越障小车运动控制系统设计[J]. 微特电机,2012(4):62-64.

[4]杜人照,刘祚时,陶宗虎,等. 基于Sobel算子的寻迹机器人PID优化算法研究[J]. 机械设计与制造,2019(1):178-181.

[5]卫静婷,陈利伟. 基于STM32的语音控制和自动避障智能小车的设计[J]. 电子测试,2019(15):24-25,20.

[6]张天鹏,徐磊. L298N控制直流电机正反转[J]. 工业设计,2011(03):98-99.

[7]王泽川,曾维鹏,黄果. 基于OpenMV图像识别智能小车的设计与制作[J]. 电子世界,2019(24):143-144.

[8]黄志敏,张玉龙,蔺绍江. 基于PID控制的智能寻迹小车[J]. 机电工程技术,2018(5):28-30.

[9]范浩,徐龙,赖福明,等. 基于STM32和MPU6050的姿态控制系统[J]. 电子元器件与信息技术,2020,4(02):74-75,86.

[10]冯克达,王勇,尹鹏飞. 基于STM32和触摸屏的智能按摩椅控制系统设计[J]. 机械,2014(S1):75-78.

Design of All Terrain Obstacle Crossing and Explosive Removal Robot Based on STM32

LIU Xiaoxian1,YU Jiang1,ZHENG Xukai1,CHEN Yanyi2,HU Junze1

(1.School of Mechanical and Power Engineering, Guangdong Ocean University, Zhanjiang 524088, China; 2.College of Electronic and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China)

In order to realize the functions of tracking, obstacle crossing, identification and explosive removal of all-terrain obstacle crossing explosive removal vehicle, a set of fully automatic control system with STM32 as the core is designed. In this design, the mechanical structure includes pulley structure, chassis structure and blasting structure and focuses on obstacle crossing and shock absorption. The program design includes tracking, stable attitude adjustment, color recognition and target blasting, in which the tracking part is written based on PID algorithm. This design is a fully automatic robot, which can walk along the black line and cross multiple obstacles by itself without manual intervention, and at the same time, it can complete the tasks of color recognition and target balloon puncture in the designated area.

STM32 single chip microcomputer;tracking;obstacle crossing;PID algorithm

TP242.3

A

10.3969/j.issn.1006-0316.2022.09.012

1006-0316 (2022) 09-0076-05

2022-03-03

刘孝贤(2001-),男,广东中山人,主要研究方向为机械电子工程,E-mail:990679311@qq.com。*通讯作者:余江(1972-),男,广东湛江人,高级实验师,主要研究方向为机械设计制造及其自动化,E-mail:gdouyj@163.com。

猜你喜欢
色卡循迹滑轮
基于DFT算法的电力巡检无人机循迹检测系统设计
基于Coloro色彩体系不同色深公式的颜色深度研究
数字色卡
浅谈基于机器视觉和姿态检测的循迹智能车
智能差分循迹小车设计
2016年情人节色卡
电动小车的循迹