基于 ROS 技术的无人物流配送车

发表时间:2021/5/6   来源:《当代电力文化》2021年第3期   作者:陈佳瑶
[导读] 无人驾驶是当今时代的热点话题,但以现在的技术和未完善的相关法律法规来看
        陈佳瑶
        单位:华北电力大学
        单位邮编:102206

        摘要:无人驾驶是当今时代的热点话题,但以现在的技术和未完善的相关法律法规来看,实现真正的自动驾驶很难,因此本文着眼于将无人驾驶用于短途、低速、封闭形、危险性低的场景,即最后一公里的物流配送。本文首先对无人物流配送车的整体架构进行阐述,然后对底盘、传感器等进行了选型,并使用PID算法实现了底盘运动控制,同时基于ROS机器人操作系统平台,结合软硬件开发出了一种自主建图导航系统,完成无人物流配送车的设计。
        关键词:ROS;SLAM;路径规划;
0.项目背景
        近年来,无人驾驶被许多人称为下一个风口,可以看到自动驾驶在不远的将来会形成一个庞大的市场。但以现在的技术和未完善的相关法律法规来看,实现真正的自动驾驶很难。因此,我们考虑在短途、低速、封闭形、危险性低的场景实现无人驾驶,而最后一公里的物流配送便是很好的应用场景。
1.无人物流配送车的设计
1.1无人物流配送车的整体架构
        如图1-1所示,配送车导航系统由图片中的无人物流配送车运动系统、机器部署终端和监控后台三个子系统组成,三个系统通过无线局域网连接。
        
        图1-1 配送车导航系统结构图
1.2无人物流配送车的机械设计
        基于麦克纳姆轮和全向轮的移动底盘可以实现平行移动,亦或是任意一个方向运动,同时也可以实现零半径原地转向,在复杂狭窄空间进行平面移动更灵活,机械设计较为简单,但是由于麦克纳姆轮以及全向轮结构的特殊性,其比较依赖减震系统所提供的震动缓冲。
        本文最终采用了麦克纳姆轮四驱底盘,并在底部增加摆式悬挂结构,既满足了巡检机器人在平面空间内的高效移动,又解决了震动带来的有害问题。
1.3无人物流配送车的硬件选型
        无人物流配送车机械结构设计完毕以后,需要对其搭载的传感器和控制器进行相关选型,以确保符合项目需求。
1.3.1 空间建模传感器
        经调查发现,市面上常见的空间建模传感器有以下几种:
        (1)三点测距激光雷达[1]
        (2)Tof激光雷达
        (3)双目视觉、红外深度视觉等RGB相机
        其中,Tof激光雷达虽然结果较为精确,可以忽略环境光的影响,但是其成本过高。双目视觉和红外深度相机等虽然可以获得大范围的深度数据,但是同时所带来的计算量工作也是相当巨大的。
        而三点测距激光雷达成本低廉,数据处理简单,更适合平面运动环境。因此本文选择了三点测距雷达,其最大采样率为8000点每秒,最大采样距离为12米。
1.3.2 控制器
        因为控制器主要来运行底盘控制算法,接受、发送以及处理数据等。数据运算量不大,而STM32微控制器价格适中,功能强大,所以本文采用了STM32F103微控制器作为底盘运动系统的主控。


        但单独使用微控制器并不能解决建模和导航等复杂算法的运行问题,为此本文还需选择高算力计算模块来运行相关的建模导航算法。结合市面上常见的控制器,本文选择了树莓派高性能计算模块,其价格低廉,性能也能满足ROS系统运行的配置。
2.无人物流配送车的运动控制和环境建图导航
2.1无人物流配送车的运动控制
        运动控制是导航系统最基础的也是最关键的环节。一个好的导航系统离不开精确地运动控制系统。
        本文无人物流配送车的主控为STM32F103单片机,从树莓派中读取小车X、Y、Z三轴目标速度,经过运动学分析算法得出每个电机的目标速度,再通过速度PID控制算法输出PWM波驱动带编码器的直流电机,最终实现电机的速度控制。如图2-1所示。
        
        图2-1 无人物流配送车的电机控制流程图
2.2导航与建图系统
        导航与建模系统从硬件角度来说,其使用的终端硬件为Raspberry Pi。在计算模块的硬件基础上,从软件角度来说,在其之上运行了机器人操作系统(Root Operating system)[2],用来对里程计和激光雷达的点云信息进行处理。其软件部分主要分为三层:驱动层、运动控制层、功能层。驱动层包括了对单片机主控和激光雷达的通讯程序,预处理激光雷达数据,并发布运动控制指令。运动控制层包括建图、定位、路径规划、导航4个模块。功能层则提供了导航数据可视化、任务调度、手动操作等功能。
        首先我们将激光雷达数据进行坐标变换,以供后续算法处理。使用Gmmaping算法生成环境地图[3]。建立地图后,配送车使用了自适应蒙特卡洛算法进行定位。当配送车在代价地图中位置确定后,通过路径规划算法规划本地路径和全局路径进行运动。最后提供给用户导航数据和画面的回传,方便工作人员进行记录和检查。
        Gmapping[4]是一种基于激光的SLAM算法,它已经集成在ROS中,是移动机器人中使用最多的SLAM算法。Gmapping算法基立的栅格地图具有良好的性能。此算法对无人物流配送车随机初始位置进行第一次建图,然后依据概率学的方式将激光雷达回传的数据与已经建好的初始地图进行匹配,进而完成移动情况下剩余地图的建立。因此,本文选取了Gmapping算法作为本文的建图核心算法
3.结论和展望
        本文以最后一公里的物流配送为应用背景,实现了无人配送物流车较为精确的环境地图构建和点对点的导航任务。无人驾驶是当今热门话题之一,本文从最基础的小车底盘机械设计选型入手,从硬件到软件,完成了无人物流配送车的设计。
4. 参考文献
        [1]刘丹,段建民,孟晓燕.基于激光雷达的智能车SLAM系统[J].激光杂志,2018,39(07):76-82.
        [2]朱凯,刘华峰,夏青元.基于单目视觉的同时定位与建图算法研究综述[J].计算机应用研究,2018,35(01):1-6.
        [3]DISSANAYAKE GDURRANT-WHYTE HBAILEY T.A computationally efficient solution to the simultaneous localisation and map building (SLAM) problem[C]//IEEE international conference on robotics and automation.San Francisco,CA,USA:IEEE,2000:1009-1014.
        [4]张文. 基于多传感器融合的室内机器人自主导航方法研究[D].中国科学技术大学,2017.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: