基于机器视觉应用的无人小车配送系统

2022-01-14 08:02归铭李李晨泽覃琳刘雨灿石榴鹿玉红
科学技术创新 2021年35期
关键词:树莓红绿灯小车

归铭李 李晨泽 覃琳 刘雨灿 石榴 鹿玉红*

(防灾科技学院信息工程学院,河北三河 065201)

在“互联网+”、“智能化”的大趋势下,智能化的快递配送方式腾空出世,为优化精简物资配送过程, 尽可能节省人力物力提供了可能。考虑到“配送至最后一公里”存在地区偏远、海拔高、地形复杂、交通不便利等情况,采用无人小车配送可以更好地提升工作,且可以在一定程度上解决配送人员可能出现的身体不适等问题,因而研究设计了一款基于机器视觉应用的无人配送小车系统。

1 系统总体结构

本系统以树莓派AI 智能小车为硬件载体,其配有红外传感器、摄像头、电机驱动等功能模块,通过红外传感器可以实现小车自动感知、避让障碍物的功能,通过摄像头进行路况信息(主要是红绿灯信息和取件人脸信息)的采集。系统软件部分以Linux 操作系统为开发环境,采用python 与机器视觉、建模等技术相结合的方式,使小车具有辨别红绿灯、面部识别及实时路线规划等功能,从而实现小车的自动驾驶。当调配站将配送目标发送给小车,且符合配送要求时,小车开始进行配送,并通过对取件人的面部识别或密码输入、扫描二维码等多种形式进行确认,确认无误后打开对应取件格完成本次配送过程,并可上传云端进行登记。无人配送系统总体结构如图1 所示。

图1 无人配送系统总体结构

2 系统设计

2.1 总体设计

本次选用的主控模块是树莓派4B 的微型主板,作为小车的控制核心。配合拓展板连接摄像头模块、电机驱动模块和红外避障等模块作为小车的主体,再搭配Linux 系统实现无人配送的功能。电机用于提供小车的动力,可实现正转、反转、制动、停止等一系列动作,可以实现小车在各种环境下的运动要求,直流电机工作状态如表1 所示。树莓派4B 主板如图2 所示。

图2 树莓派芯片实物图

表1 直流电机状态表

2.2 路线规划模块

路线规划是由感知模块和控制模块两部分构成。

感知模块利用红外避障传感器和摄像头来监测小车周边环境及红绿灯、路牌文字等信息的采集。红外线避障传感器用于检测障碍物并避让,红外传感器的电路如图3 所示。摄像头用于采集周边环境,同时进行路牌的文字识别,二者结合一起将对应的路况信息传送到远程后端,作为行车路线规划的依据。再利用GPR 确定小车自身所处的位置。

图3 红外避障电路图

控制部分则是用于确定路线。首先是通过导航规划算法计算两地AB 之间的最短路线(一般执行一次)。行为规划则使用了决策算法,用于确定行驶的意图,遇到障碍物是避让还是加速超车,如要避让是左转还是右转。因而决策算法需要较高的执行频率(一般为10HZ),但决策算法需要一定的环境稳定性。运动规划算法则主要用于将决策算法计算出的有详细信息并满足各种约束条件的轨迹发送给控制模块去执行跟踪,因而它也需要和决策算法一样具有较高的执行频率(一般为10HZ)。通过三个模块的分工合作后,最终实现无人小车配送系统的路线规划,实现自动驾驶。路线规划框图如图4 所示。

图4 自动驾驶- 路线规划

2.3 红绿灯识别

红绿灯的识别主要是采用OpenCV 和yolov5 的结合来实现的。Yolov5 的输入端采用了Mosaic 数据增强的方式。在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再放入检测网络中。Focus 是Yolov5 新增的操作,以Yolov5s 的结构为例,原始的图像输入Focus 结构,经过切片操作和卷积操作,最终变成可以用来训练的特征图。Yolov5 中设计了两种CSP 结构和FPN+PAN的结构。在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth 进行比对,计算两者差距,再反向更新,迭代网络参数。

在训练的过程中,首先是采集数据,从网上采集的红绿灯的图片进行清洗后,采用labelimg 来标记已经准备好多数据集,再利用yolov5 的训练方法来训练数据。训练模型如图5 所示。在代码中用OpenCV 来获取前方红绿灯的信息,接着将处理后的数据插入yolov5 的识别网络,在从中获取数据相应,从而识别出红绿灯信息。识别红绿灯实现流程图如图6 所示。

图5 红绿灯模型训练

图6 红绿灯识别流程图

2.4 文字识别

文字识别采用了训练模型的方法,使用了两个Python 的库chi_sim_vert.traineddata 和eng.traineddata,分别训练,最后再结合move 与wz 两段Python 编程的代码实现文字识别的效果。实际工作情况如图7 所示。文字识别训练效果图如图8 所示。

图7 文字识别

图8 文字识别效果图

2.5 云平台数据传输

无人配送小车通过MySQL 数据库的建立及云端上传,把配送的信息数据包括用户的个人信息,取件信息等,添加到库中储存,删除,修改,查询。通过串口协调器将其与树莓派连接,实现树莓派小车与onenet 之间的数据传输,随后将数据保存至onenet,通过设备概览查看上传成功的数据量,在onenet 上可以随时观看数据上传的实时动态。具体操作效果如图9 所示。

图9 云平台设备管理

3 系统实现

本文设计的无人小车配送系统能够实现红绿灯识别,自动避障的功能,同时,通过识别文字路牌,到达指定位置装卸物资,然后通过人脸识别取走快件。在系统配送物资的同时将路况收取件数据上传至云平台方便物资调配。功能展示如图10 所示。

图10 功能展示

4 结论

本文设计的无人小车配送系统的研究与设计为物资的配送提供了一种新的解决方案,适合在高海拔等偏远复杂地区替代配送人员完成“最后一公里”的物资运输,节省了配送过程中的人员配置,在一定程度上提高了配送环节的便捷性、稳定性和安全性,有很好的推广应用价值。

猜你喜欢
树莓红绿灯小车
大车拉小车
刘老师想开小车
红绿灯前
会说话的红绿灯
去修理厂
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)
红绿灯眨眼睛