基于树莓派4B的循迹避障小车设计
来源:用户上传
作者:李文海 郭伟 宋莉
摘要:设计实现了一种基于树莓派4B的循迹避障智能小车系统,以快速、准确地完成交通标识识别、避障、循迹任务作为研究目标。智能小车利用LeNet网络架构进行交通标识识别,超声波测距传感器进行避障决策,摄像头模组进行循迹行驶。实验结果表明,智能小车能够在实际搭建的环境下,完成交通标识识别、避障、循迹的任务,且具有准确率高、稳定性好、泛化能力强的特点。
关键词:循迹避障;目标检测;交通标识识别;智能车
中图分类号:TP393文献标志码:A文章编号:1008-1739(2022)19-53-05
随着科学技术的高速发展和人工智能技术的兴起,无人驾驶领域技术逐渐引起学术界和工业界的极大关注[1]。循迹与避障[2]作为无人驾驶领域的基本技术模块,对于循迹与避障算法的研究具有很高的研究意义与社会价值。
在无人驾驶领域,无人驾驶汽车在遇到紧急情况时必须做出正确反应,而且达到高效且正确分析状况的决策能力,从而避免事故发生。如无人驾驶汽车观察到快要撞向行人时,要能够采取紧急制动措施;检测到路面湿滑时,要适当减缓车速;遇到急救车在后方,需及时避让。无人驾驶汽车通过多模态多传感器系统处理器对采集到的数据进行实时分析,自动规划行驶策略。无人车传统避障策略使用的是激光雷达等传感器[3],存在造价高、泛化能力弱、实验结果不理想等问题。
相较于传统单独依赖于传感器,利用LeNet网络架构[4]进行交通标识识别,超声波测距传感器进行避障决策,摄像头模组进行循迹行驶,最终完成交通标识识别、避障、循迹的任务,具有泛化能力强、避障效果更好等优势。
树莓派4B开发板架构如图1所示,系统模型结构以树莓派4B开发板为核心。系统模型硬件组成部分主要包括HC-SR04超声波传感器、直流电机、L298N驱动板以及OV5647摄像头模组等模块。系统模型软件组成部分是将树莓派与PC服务器之间开启3条线程,数据传输流程如图2所示,即视频画面传输到PC服务器,同时超声波传感器数据也传输到PC服务器,PC服务器得出决策传输到树莓派4B。树莓派4B通过摄像头和超声波传感器采集当前环境数据,通过TCP与主机建立连接。当采集到的画面和障碍物距离数据传输到主机时,根据反馈的数据,PC服务器开启多线程处理,一部分通过OpenCV[5]进行图像分析处理,另一部分对道路交通标志进行检测,综合两部分信息进行决策,再通过TCP传输决策到树莓派4B开发版。树莓派4B再通过引脚传输信号给L298N驱动电机。
1.1超声波测距模块
1.2 L298N驱动模块
L298N的驱动模块能够驱动直流电机和步进电机的驱动器,具有过热保护和自我反馈检测功能[8]。树莓派4B的GPIO口与驱动模块用杜邦线相连,通过控制主控芯片上的I/O输入端,实现低电平(low)与高电平(high)的转换,从而实现电机的转向,电机驱动逻辑方案如表1所示。
理论研究发现,速度过快容易碰撞障碍物,速度过慢避障用时不理想,所以合理控制速度尤为关键。基于此,在L298N驱动模块上使用脉宽调制(PWM)[9-10]。电压是以一种脉冲序列被加到负载上去的,接通是high,断开是low,可通过在一个周期内high与low的占比不同,得到不同的电压,M而控制速度[11]。
1.3树莓派4B主板
作为智能小车的核心组件,必须具有控件体积小、性能优、价格低等条件。项目主控板选择Raspberry Pi 4B,是一款基于ARM架构的微型处理机主板,目前树莓派最新发布了第4代产品RaspberryPi 4B。树莓派4B和3B+性能对比如表2所示,无论是处理器速度,还是视频输出能力和内存大小都有显著提高。同桌面级电脑相比体积更小,外轮廓尺寸仅有85 mm×56mm。
Raspberry Pi 4B集成了40个GPIO接口,类似于Arduino数字或模拟端口,通过这些引脚,可与不同的模块交互。树莓派接口有2种编码方案:WiringPi编码和BCM编码,本文采用BCM编码。L298N驱动板可通过PWM对电机进行调速,通道A使能接入GPIO.20,通道B使能接入GPIO.21,逻辑输入接入GPIO.0~GPIO.3端口。HC-SR04超声波模块的TRIGGER和ECHO端接入GPIO.4和GPIO.5端口。
nlc202212131410
1.4麦克纳姆轮
麦克纳姆轮[12]由上下交替排列的条状辊子组成,固定方式与车轮中轴线成45°安装。麦克纳姆轮有着全方位移动、防滑的特点,相比传统的胶轮,所承受的质量更大,更加平稳,机动性强且灵活性更高,能够在原地实现自转。综合以上优点,选用麦克纳姆轮作为智能车底盘。
当直流电机驱动麦克纳姆轮时,驱动力绕轴转动,从动使麦轮转动,由于产生了摩擦力,反作用力迫使麦轮进行前进、后退、旋转等运动[13]。麦克纳姆轮单个无法实现全方位移动,共需要控制4个麦克纳姆轮的不同状态实现全方位移动。麦克娜姆轮运动分析如表3所示,共计有正前进、左方向、左转、斜左上方前进、斜右上方前进、正后退、右方向、右转、斜右下角后退、斜左下角后退10种方向状态[15],共同实现了全方位移动。
2.1目标识别算法设计
智能小车需要摄像头采集交通标识图片,并且能够识别并执行相关指令。数据集采用公开交通标识数据集,数据集类别分布如图4所示,分为43种交通标识,共计34 799张,包含左转、右转、直行等类别,各类别的交通标识数量差距较大,最大类别差距可达1 000多张。根据先验知识可知,数据集类别数据方差越大,对网络模型影响越大,越容易出现过拟合或欠拟合现象。针对这一问题,在原有数据集上,采用数据增强的方式丰富数据集,即对图像进行随机旋转、随机遮挡、亮度增强等操作。最终,按照9:1的比例分为训练集和验证集,共计训练集45 000张,验证集5 000张。
目标识别交通标识采用的LeNet网络架构如图5所示,总体分为7层,由一个图像输入层、2个卷积层、2个池化层和2个全连接层所构成。数据集图像尺寸为32×32×3输入图像,首先达到第一层卷积层,该层有6个卷积核,每个卷积核的尺寸为28×28;由卷积层处理之后的图像到达第2层池化层,池化尺寸为14×14×6;池化处理后的图像再到达第3层卷积层,该层有16个卷积核,每个卷积核的尺寸为10×10;卷积层处理后的图像再到达第4层池化层,池化尺寸为5×5×16;处理后的图像到达全连接层,由120个和84个全连接点组成;最后一层为输出层,输出分类结果以及准确率。
LeNet分类网络在交通标识训练数据集以及验证数据集上的训练准确率和损失变化曲线如图6和图7所示。从图中可以看出,经过10个轮次的训练后,在训练集和测试集上损失平稳下降,同时准确率也平稳升高,LeNet分类模型可以达到98.4%的准确率,能够达到业务场景的应用要求。
2.2障碍物检测模块设计
通过HC-SR04超声波测距模块,得出发出高电平与接收低电平之间的时间差,计算出当前小车前端与障碍物之间的距离。当距离达到阈值之间,且有距离越来越近的趋势时,障碍物检测系统发出右转或左转一定角度的指令,左转说明道路右侧有障碍物,右转说明道路左侧有障碍物。转向后,测距模块反馈数值突增,再次发出左转或右转一定角度的指令,使得智能小车与轨道平行。当智能小车越过障碍物时,将会回归原始轨道,再次沿轨行驶并检测障碍物,从而达到避开障碍物的效果。若距离超出阈值,说明前方无障碍物或者障碍物距离较远,不必提前避障,可安全通行。
2.3循迹模块设计
循迹模块使智能小车按照固定的行驶轨迹来模拟真实的车道环境。鉴于实验结果的准确性,采用颜色鲜明且容易处理的颜色,即白色或黑色的2种轨道颜色。功能设计流程如图8所示,多线程开启时,树莓派开启摄像头采集路面信息,PC服务器收到图像后,首先将图片转化为灰度图像,使得图像处理时延降低,处理速度加快。通过图像处理得出当前黑色或白色轨道的最优路线,遇到障碍物,小车偏离轨道时会记录当前指令(如左转、右转),当穿过障碍物时,自动发送相反指令(如右转、左转),使智能小车再次沿轨道行驶。
实验轨道模型如图9所示,采用2条双直线轨道。一条轨道障碍物放置轨道中间以右,另一条轨道放置轨道中间以左,每条轨道做3组重复实验,以免实验误差。1指智能小车遇到障碍物时发生偏转开始的时间,2指智能小车再次与轨道平行终止的时间。通过2- 1得到,即偏轨时间。在时间内智能小车通过与中心轨道平行的距离,即偏轨距离。
实验数据如表4所示,智能小车对于轨道中间以左的障碍物避开的时效性比轨道中间以右的障碍物时效性要高。综合来看,小车能够在实际搭建的环境下,靠近交通标识时做出相应指令,面对障碍物时避开障碍物,按照指定轨迹选择最优路径行驶,能够完成交通标识识别、避障、循迹的任务,且具有准确率高、稳定性好、泛化能力强的特点。
nlc202212131410
以树莓派4B为微型控制终端,L298N作为驱动模块,麦克纳姆轮为智能车运动底盘,通过PC服务器处理并传达指令的循迹避障智能小车系统。通过实验测定,设计的循迹模块能够按照指定轨道行驶;目标识别模块,对于交通标识的识别准确率较高且性能稳定;障碍物检测模块,测距精度高且速度快,能够实现避障功能。
[1]潘福全,亓荣杰,张璇,等.无人驾驶汽车研究综述与发展展望[J].科技创新与应用,2017(2):27-28.
[2]许鑫.基于磁导航导览机器人循迹与避障的研究与实现[D].兰州:兰州理工大学,2019.
[3]马兴.无人驾驶汽车中的几种重要传感器应用研究[J].数字技术与应用,2020,38(5):107.
[4]王济民,魏怡,周宇,等.基于LeNet-5卷积神经网络和颜色特征的限速标志识别[J].计算机科学,2021,48(S2):345-350.[5]朱科风.基于OpenCV的自动循E无人机[D].长沙:长沙理工大学,2018.
[6]田文成.超声波测距系统的研究与实现[D].南京:南京邮电大学,2017.
[7]吕杰.自动导盲小车设计[J].河南科技,2019(32):64-66.
[8]张秉森,马吉忠,杨一飞,等.基于树莓派的自动避障小车的设计与实现[J].南方农机,2021,52(3):23-24.
[9]程皓.建筑直流微电网的故障特性分析及诊断[D].北京:北京交通大学,2021.
[10]马文俊.基于L298N生物传感器温控系统的设计[D].北京:北京化工大学,2011.
[12]郑兵.基于麦克纳姆轮移动平台的激光导航关键技术研究[D].天津:天津大学,2018.
[13]朱艳杰.基于麦克纳姆轮全向车设计与性能研究[D].秦皇岛:燕山大学,2016.
[14]张磊.基于ROS的麦克纳姆轮机器人室内导航系统设计[D].秦皇岛:河北科技师范学院,2022.
[15]V刘卓,卢桂萍,彭岗举.基于向量分析法对麦克纳姆轮全向移动平台的研究[J].机电工程技术,2022,51(5):147-149.
nlc202212131410
转载注明来源:https://www.xzbu.com/1/view-15443208.htm