基于树莓派4B的智能物流小车
2021-12-22蒋祝鹏
闫 悦,蒋祝鹏
(北京信息科技大学,北京 100029)
1 引言
在物流行业,AGV (Automated Guided Vehicle)小车成为制造业产业升级或变革的重要工具。用 AGV 小车替代人工运输,实现物流自动化,是当下众多企业提高经济效益,提升竞争力的重要策略。研究可进行抓取作业的搭载机械手臂的智能小车,具有一定的实用性。但是 AGV小车还存在诸多问题,比如在到达指定区域后需要人工输入相关数据才能执行相关操作,必须通过巡线导航方式等才能到达目的地,只具有普通搬运功能而机械臂还未能普及等。
随着网络购物的快速发展,物流行业也受到了新的挑战。每天有数以千万件的货物需要进行搬运处理,若是采取人工的方式,不仅效率极低,而且极其容易产生差错,雇佣人力进行快递分拣对物流公司来说是一项不小的开支,对公司的运营会产生很大的影响。因此,设计一款能准确识别货物、快速运输货物的智能物流小车,降低人工成本、提高运输效率,对物流公司乃至整个物流行业来说都具有重要意义。为解决原有物流小车存在的问题,同时满足当下物流行业超高吞吐量的需求,设计了一个基于树莓派 4B 的智能物流小车,通过目标识别算法高效准确的判断周围环境状态,合理规划运输路线,并自动识别需要搬运的货物,同时进行准确抓取,将其运输到指定位置,使物流行业快速实现效益的提升。
2 系统结构设计
所设计的系统结构如图1所示,该系统主要由树莓派 4B 控制主板、HC-SR04 超声波模块、三线光隔离传感器、MG60S 舵机、Raspberry Pi Camera 图像识别传感器、1∶48强磁抗干扰碳刷电机、红外光电反射传感器模块以及小车底盘等组成。由18650电池和扩展板上的稳压器产生稳定的直流电源给其他模块供电,车身周边以及摄像头支架上的 HC-SR04 超声波测距模块检测车身周边的环境,然后把采集到的信息送入到控制模块树莓派 4B,树莓派 4B 根据这些信息控制电机的转动状态,从而控制小车运动的方向和速度。通过 Raspberry Pi Camera 图像识别传感器检测环境中是否存在目标物体,将检测到的数据传送回树莓派4B,主板会根据这些信息通过3.5 mm音频输出接口输出语音提示,通过无源蜂鸣器输出声音提示,控制 MG60S 舵机进行机械提示,控制机械臂完成相应抓取、置放操作。在车身前侧的 HC-SR04 超声波测距模块检测到障碍物信息后传送回树莓派 4B,树莓派 4B 控制电机停止后,控制MG60S 舵机旋转扫除装置,将障碍物扫除。算法流程如图2所示。
图 1 系统结构设计图
图 2 算法流程图
3 硬件电路设计
3.1 超声波模块
超声波模块是控制小车与管道之间距离的关键,小车与管道之间距离过大或过小,都会导致漏检的现象出现。该模块主要由两个通用的压电陶瓷超声传感器和外围信号处理电路构成。两个超声传感器,一个用于发出超声波信号,一个用于接受反射回来的超声波信号。同时,由于发出信号和接受信号都比较微弱,故需要通过外围信号放大器来提高发出信号的功率,同时将反射回来的信号进行放大,以便于能够更加稳定地将信号传输给树莓派 4B主板。
该模块共有4个引脚,VCC 和 GND 接 5V 电源,Trig为控制端,用于控制发出超声波信号,Echo 为接收端,用于接收反射回来的超声波信号。该模块工作流程为:
1)树莓派 GPIO 口触发 Trig 测距,发出一个 10us 以上的高电平信号;
2)模块自动发送8个40 kHz 的方波,自动检测是否有信号返回;
3)若有信号返回,则通过 GPIO 输出一高电平,并通过定时器计算高电平持续的时间。
计算公式为
式中,L
为测试的距离,T
为高电平的时间,340(M/S)为声速,因声波经历了两段测试距离,所以需要除以2。3.2 树莓派 4B 主板
树莓派 4B 的内存升级到了4 GB,引入了 USB 3.0,支持双屏 4K 输出,CPU 和 GPU 的速度也更快。
树莓派 4B 可以通过WIFI直接连接,也可以通过千兆网线端口与电脑进行通信,所以在日常调试过程中一般不需要连线,非常方便。在树莓派上有40个 Pin,共有26个可编程 GPIO 口,可以连接各类传感器。通过测试表明,树莓派 4B 的运算速度和准确度等性能指标完全能够满足智能避障巡管小车系统的要求。5个 HC-SR04 模块分别占据0~10号 GPIO 口,七段共阳数码管占据11~18号 GPIO口,三线光电开关占据19号 GPIO 口,红外避障模块占据20号 GPIO 口,MG60S 舵机占据21号 GPIO 口,蜂鸣器占据22号口,四轮电机占据23~26号口。树莓派 4B 外部如图3所示,树莓派 4B Pin 接口如图4所示。
图 3 树莓派 4B 外部图
图 4 树莓派 4B 40Pin 接口示意图
4 目标识别算法
4.1 主干提取网络
使用的 YoloV4-Tiny 算法主干提取网络结构,在YoloV4-Tiny 中,其使用了 CSPdarknet53_tiny 作为主干特征提取网络,和 CSPdarknet53 相比,为了更快速,将激活函数重新修改为 LeakyReLU。输入为 416×416 的网络如图5所示,CSPnet 结构如图6所示。
图 5 输入为 416x416 的网络
图 6 CSPnet 结构
对于CSPdarknet53_tiny,有2个主要特点。
第一个特点是使用了 CSPnet 结构。CSPnet 结构将原来的残差块的堆叠进行了一个拆分,拆成左右两部分;主干部分继续进行原来的残差块的堆叠;另一部分则像残差边一样,经过少量处理直接连接到最后。因此 CSP 中存在一个大的残差边。
第二个特点是进行通道的分割。在 CSPnet 的主干部分,CSPdarknet53_tiny 会对一次 3x3 卷积后的特征层进行通道的划分,分成两部分,取第二部分。
4.2 特征金字塔
YoloV4-Tiny 中使用了 FPN 的结构,主要是对第一步获得的两个有效特征层进行特征融合。FPN 会将最后一个 shape 的有效特征层卷积后进行上采样,然后与上一个shape 的有效特征层进行堆叠并卷积。
4.3 对模型训练的改进
首先参考了 CutMix 数据增强方式,进行 Mosaic 数据增强,每次读取四张图片进行翻转、缩放和色域变化等,并且按照四个方向位置摆好,极大的丰富检测物体的背景。
同时,采取了 Label Smoothing 平滑,对分类准确做了一点惩罚,防止过拟合。
最后,采用了 CIOU,CIOU 将目标与 anchor 之间的距离、重叠率、尺度以及惩罚项都考虑进去,使得目标框回归变得更加稳定,不会像 IOU 和 GIOU 一样出现训练过程中发散等问题。
式中, 分别代表了预测框和真实框中心点的欧氏距离。c
代表能够同时包含预测框和真实框的最小闭包区域的对角线距离。5 实验测试
小车的实验测试场地如图7所示。
图 7 实验测试环境
场地内设置两个起始点,两个目标物体置放地点,共四条实验线路。每条线路测试中,小车都成功完成了物流搬运任务。测试见下表。
表 实验测试环境
?
6 结束语
设计并实现了基于树莓派 4B 的智能物流小车,该系统功耗低,鲁棒性高,通过在实验场地测试表明,耗时稳定,平均偏离轨距离低于10 cm,该系统能够稳定的进行物流搬运工作。