1. 引言
新冠疫情给人类与基础设施带来了巨大的挑战,众多医疗物资、快递包裹在“最后一公里”的配送过程中,因派递员或医务人员与患者近距离接触,容易引发更大的传播风险。随着我国物流行业的快速发展,快递包裹配送智能化与无人化成为当前时代热点,末端配送机器人作为电商、物流、自动化等多学科交叉融合的产物,可以有效解决上述问题。使用配送机器人,派递员只需将要派送的物品放至机器人的货舱内,机器人将会自动前往指定的位置,投递物品,减少了人员之间的流动,同时在运输过程中,货舱内可对物品进行喷雾消毒确保其安全性。
目前,国内外对于物流配送机器人的研究已有一定的成果。亚马逊研发一种小型6轮配送机器人Scout,Scout体积与冷藏箱相似,可实现自主避障导航,但识别周边物体较慢,容易引发安全事故。联邦快递开发了一款名为FedEx SameDay Bot的物流机器人,该机器人采用视觉和激光雷达配合,可自动将物品派送至消费者手中,但因机器人重心设计过高,导致在配送过程中整体运行不平稳,同时电池容量设计太小,续航不足;阿里巴巴设计了一款“小蛮驴”物流机器人,该机器人可自主识别障碍物,具备高精度的定位算法,搭配了多种传感器,使其运行稳定 [1] 。
综上所述,物流配送机器人在运输、定位、避障等方面上已有了一定的进展,但在机械构造、包裹装配投放上有待改进,同时也不具备自主消杀功能。结合当前发展趋势以及实际应用背景,本文设计了一款消杀运输一体化的物流配送机器人,该机器人以STM32和ROS (Robot Operating System)框架为核心,具备运动控制、自主导航、安全消杀、精准投放等功能,可解决市场上劳动力不足,人工成本高等问题,推动物流行业智能化、自动化发展,同时也大大减少了人与人之间的接触,为疫情防控带来一定的效益。
2. 机器人构造设计
机器人整体构造包含外壳、控制箱、存储货舱、简易多功能抓手、连接轴、电机、传感器等其它机械辅助机构,同时搭载了视觉摄像头、激光雷达、消毒装置,确保运输的自主性与安全性。
2.1. 底盘构造
机器人底盘主要包括底盘主体、底盘盖、车轮、连接杆、万向节、减震单元等,车轮选取麦克纳姆轮结构(如图1所示),该结构紧凑、运动灵活,比普通的车轮更加复杂,由多条倾斜45˚安装的纺锤形滚棒组成,在行驶运转时,轮子左右受力均匀,滚棒的中间位置比其它两边要更高,因此可实现全方位移动的功能。同时,机器人采用独立悬挂系统,每一侧的车轮互不相连,单独地悬挂在车轴上,在行驶过程中,左右车轮单独转动,能减少车身震荡与倾斜,同时可以使发动机的位置也降低,机器人重心降低,提高其稳定性,底盘整体结构(如图2所示)。

Figure 1. Mecanum wheel structure diagram
图1. 麦克纳姆轮结构图
2.2. 货舱构造
货舱是机器人整体构造的核心模块之一,合理的货舱设计可在加大货舱容量的同时确保其稳定性。本文设计的货舱采取三层对称式结构,该设计容纳体积大,对称、立体式设计可有效防止侧翻,机器人每个货舱格口自带电子锁限位结构,运行过程无法打开,保障运输安全。货舱内部配套酒精消杀装置(如图3所示),当物品放置入舱时,重力传感器感受到重量变化,反馈信息给控制系统控制消杀装置对物品进行精准消毒,确保其安全性,在一定程度上避免了病毒传播,详见下图。
2.3. 装卸机构
机器人的物品装卸机构是由简单的力承受杆、伸缩杆、机械吊臂等部件组成的简易机械臂,该机械臂拥有多个360˚自由度的关节,运动灵活,结构简单,重量较轻,可随时折叠回收到机械顶部而不影响系统的整体运作。搭配视觉模块,可实现精准抓取与投放。如图4所示。

Figure 3. Robot cargo hold disinfection and sterilization device
图3. 机器人货舱构造与消杀装置
3. 机器人核心模块设计与仿真
消杀运输一体化机器人是集人工智能、电子、机械、大数据为一体的多功能自动化机器人。该机器人以ROS系统为框架,内含定位、避障、通讯、视觉四大核心模块。ROS系统是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能 [2] ,在机器人开发过程中有着独特的优势。
3.1. 定位模块
实时定位是实现机器人自主运行的关键部分,随着人工智能技术的不断发展与完善,即时定位与同步地图构建技术(simultaneous localization and mapping, SLAM)被广泛应用于机器人定位与自主导航中。常用的SLAM框架包含五大部分,分别是传感器、里程计、回环检测模块、建图模块与后端模块。传感器用于实时采集与传输周围环境的各种信息,里程计用于估算与处理机器人不同时刻的位置信息,回环检测用于减少累计误差,使构图更加准确,建图模块主要用于全局的地图构建,后端模块主要用于减少里程计匹配带来的误差。
3.1.1. 传感器选择
SLAM传感器分为三种,分别是视觉传感器、激光传感器与惯性测量单元,其优缺点如表1所示。

Table 1. Advantages and disadvantages of common SLAM sensors
表1. 常见SLAM传感器优缺点
分析得知,视觉传感器虽然成本低且建图效果好,但容易受到光照的影响,对环境适应性较差,多用于工业零部件质量缺陷检测、尺寸测量等环节。惯性测量单元需配合其它传感器使用,可用于提高单一传感器测量的精度。激光雷达传感器虽成本较高,但因其测量精度高、抗干扰能力强且响应速度快等优点,非常适用于自主导航、构图定位等领域。故本文设计的消杀一体化物流运输机器人采用激光雷达传感器。
3.1.2. 基于激光雷达的SLAM程序设计与仿真
本文使用Gmapping算法进行地图构建,Gmapping是一个基于2D激光雷达使用RBPF (Rao-Blackwellized Particle Filters)算法完成二维栅格地图构建的粒子滤波SLAM算法。该算法框架分为

Figure 5. Schematic of SLAM in laboratory
图5. 实验室SLAM建图
五部分组成,分别为状态预测、扫描匹配、计算权值、重采样、构建地图。ROS系统中内置Gmapping功能包,搭建好坐标系后,可快速实现地图构建与定位,具体操作流程如下:
步骤1:安装好机器人组件,启动机器人及传感器;
步骤2:使用roslaunch robot_test gmapping.launch命令启动Gmapping算法;
步骤3:操纵机器人四周移动,采集相应的信息;
步骤4:使用rosrun map_server map_saver -f map命令将构建好的地图保存;
步骤5:使用蒙特卡落定位算法进行机器人定位。
ROS系统同时也提供了一个3D可视化工具Rviz,在此界面上,可以显示构建的地图和已规划的路径,用户可以从不同角度对机器人的运动状态进行观察,可直观地获取机器人的当前位姿和构建的地图等 [3] 。以实验室为例,控制机器人环绕实验室一周,构建好的地图(如图5所示)。
3.2. 避障模块
机器人在执行任务过程中,需要面临复杂多变的环境,因此必须搭建较高精度的智能避障模块。本文设计利用双目相机实现前方障碍物测距,同时在机器人四周布置超声波雷达装置进行辅助测距。
3.2.1. 双目相机测距
传统的单目系统无法对非标准的障碍物进行判断,且距离也并非是真正意义上的测量,精度较低 [3] 。因此本文设计的机器人搭载了双摄像头进行双目测距。双目测距原理是通过两个相机采集到不同的图像做视差计算,直接对前方的景物进行距离测量,且对于任何类型的障碍物都能进行距离信息的变化,进行必要的预警或制动 [4] 。测距原理(如图6所示)。
图中假设左右两个相机前行排列,Ol、Or为相机光心,点P为待测物体的位置,f为相机焦距,b为两相机之间的距离,Z为所求的深度信息。在理想情况下,将视差定义为d,利用相似三角形性质可得:
(1)
(2)
如要测量出待测物体P的距离,只需要计算出视差d与焦距f即可,通过相机标定、图像矫正、立体匹配等步骤可得到以上参数。双目立体测距精度高,便于机器人在狭窄工作区准确避开障碍物。
3.2.2. 超声波辅助测距
超声波模块采用HC-SR04,它共有VCC、GND、接收端Echo以及控制端Trig 4个引脚,如图7所示。当上位机向下位机发出采集信号,下位机通过引脚将信号传递给超声波模块,使其发射探头发出超声。当前方障碍物在超声波模块的量程里时,超声波模块向开发板返回一个回声信号 [5] ,通过发送和接收超声波,开发板可通过时间差与声速计算出障碍物的距离。
当有物品向机器人靠近时,避障模块可以快速检测出二者之间的距离,并实时反馈给控制及系统或者后台,进行刹停同时进行温馨的语音播报,提示安全行驶中请勿靠近,确保了机器人安全。
3.3. 视觉模块
视觉模块是机器人的眼睛,本文设计的机器人搭载了双目摄像头,采用YOLOV3作为视觉识别算法。YOLOV3使用了53层卷积层作为主干,同时在基础网络中采用了大量的残差连接,当摄像头采集完图像后,YOLOV3将采集到的整个图像都输入到网络中,经过卷积、特征提取、损失计算等步骤后,可以直接预测目标位置和对应的类别。通过视觉模块,机器人可对周围目标进行识别与追踪,有助于机器人自主装卸机构准确识别并抓取包裹进行投放。同时也能让机器人在执行任务过程中,减少突发事件。
3.4. 通讯模块
目前,大多数机器人通讯控制方式为使用RS485、RS232总线,这些总线通讯容量较少、速率低,当系统较大时,实时性较差。为加强各模块之间的联系,提高机器人整体运动的实时性与灵活性,本文使用了CAN (Controller Area Network,控制器局域网)总线技术进行通讯。CAN总线技术采用多主机工作方式,网络上任意节点可在任意时刻向其它节点进行数据传输,且各节点都有不同的优先级,传输速度高,通讯距离远,可满足机器人实时性需求。CAN总线网络连接在CAN_H与CAN_L两根数据总线之间,各个节点通过两条线实现信号差分传输。
主控系统采用STM32主控板,主控系统通过以太网接口接入网络,实现信息交换。底层各模块连接着CAN总线,各模块分别为电源模块、电机驱动模块、激光雷达测距模块、视觉模块等。当PC机规划好任务后,将通讯STM32主控系统,主控系统通过CAN总线中的各个节点发送指令信息联系各个模块。同时各模块根据功能的不同,将采取不同的方式与主控系统进行通讯,当机器人遇到急停等特殊情况时,将会按照动态优先级调度原则优先处理该指令信息,保证机器人能及时处理各种突发状况。
4. 实验仿真
机器人硬件系统搭建完成后,为验证机器人整体运动、自主避障导航等功能,我们在实验室环境下,通过在Rviz中发布所需要到达的目的地,并且在路径途中摆放障碍物对机器人进行测试。机器人通过激光雷达模块采集数据构建地图信息,使用蒙特卡洛定位算法进行定位,通过ROS系统中的move_base导航包,采用A*算法寻找到最优路径 [6] ,实现了自主避障导航。实验测试结果如图8所示(图中黑色部分为障碍层,红色箭头为算法通过概率过滤出来的有效的方向)。
5. 结语
论文分析了当下末端配送机器人存在的问题,设计了一种可在复杂环境下实现自主导航、精准投放、全面消杀的物流配送机器人。通过实验验证,该机器人拥有一定的实用价值,可为未来物流行业实现全面自动化带来一定的借鉴经验。后续研究将进一步完善机器人整体硬件构造,对机器人SLAM技术与YOLO深度学习算法进一步更新,提高了其实用性。
基金项目
本文得到了广东省攀登计划重点项目(pdjh2022a0717)、广东省普通高校重点领域专项(2020ZDZX2032)、广东省大学生创业实践项目(S202113684014S, S202113684015S)资助。