APP下载

基于ROS的移动机器人SLAM研究与实现

2020-12-10李炳昊张彦璞吴哲远于德双杨永志杜士彦

电子元器件与信息技术 2020年9期
关键词:移动机器人激光雷达滤波

李炳昊,张彦璞,吴哲远,于德双,杨永志,杜士彦

(内蒙古工业大学,内蒙古 呼和浩特 010080)

0 引言

ROS的分布式架构,根据移动机器人的不同需求和功能,可对机器人的系统软件进行模块化设计和开发。在ROS环境中,系统可以适用于不同的工作环境,为移动机器人的应用与发展提供了极大支持。在智能技术、自动化技术的快速发展过程中,移动机器人得以发展,且在激光SLAM算法的应用中,为机器人SLAM研究与实现提供了支持。下面就对操作系统ROS进行介绍,并对激光SLAM进行分析,进而深入探究基于ROS的移动机器人SLAM研究与实现。

1 机器人操作系统ROS

分布式处理框架是ROS的框架,使得机器人系统中能让不同架构的处理平台提供服务。模块间对等式网络的解耦合和网络连接的处理是在通信模块的应用下完成的。

1.1 软件设计

机器人的系统软件的模块化开发与设计,需要ROS的分布式架构完成。系统包括运动控制、主控制器和驱动控制器通信等几个部分。当机器人在启动时,需要在ROS的帮助下完成加载工作,机器人的坐标变换关系的实现则需要在myrobot包的工作中完成。在对机器人的运动进行控制时,主要是由base_controller包完成的。RPLIDAR的ROS驱动由rplidar_ros包负责。在slam_gmapping中使用Log数据创建地图。机器人的SLAM导航与定位则是由amcl包负责的[1]。

1.2 硬件设计

硬件模块主要由激光雷达、控制器及语音开发板等组成。三角测距原理是二维激光雷达运行的基础,激光测距扫描的半径为12cm,完成扫描工作后,便可以生成需要的平面点云地图信息。在进行测距时,扫描频率5.5Hz。核心控制器可以对光雷达及语音开发板等进行控制,高速串口通信是主控制器和驱动控制器之间命令的发送和接收者。语音开发板在实际应用中,对声音进行收集时,收集的半径为3m[2]。SLAM技术+激光雷达技术,在移动机器人的工作中,具有良好的优势,主要表现为精度高、支持障碍物躲避、具有长时间稳定性等特征。

2 激光SLAM算法

SLAM也叫做即时定位与建图技术,可为机器人在不同环境中的工作提供可靠的支持。机器人行业在长期发展中,“我在哪儿”的问题一直难以得到有效解决,但是SLAM技术的出现,对这一问题得到了极大改善。

目前激光SLAM被广泛应用与机器人中,激光SLAM将激光数据作为传感器输入的SLAM方案,在电机带动旋转的方式下实现激光雷达测距。在障碍物上,激光雷达脉冲会投射在上面,发射回来的激光脉冲会被接收,障碍物的距离就会在光速与飞行时间差相乘下得到[3]。

SLAM算法主要是由系统模型与运动模型等组成。SLAM系统模型则可以在移动轮子或者履带的应用下,实现移动机器人的运动,并且可以对实时的位姿进行估计。SLAM而运动模型则可以在非线性函数的计算下完成,可以采用的公式为:Xk=f(Xk-1,Uk)+q(k),在该公式中,f(Xk-1)、Uk、qk分别为系统的状态转移函数、输入的控制指令、过程噪声。

SLAM在工作期间,一般包括三个部分:预处理、匹配与地图融合。第一,预处理。激光雷达在位置与环境信息的获取上,只可以获取某一时刻的信息,对机器人在运行期间的一部分环境进行反映。预处理实际上就是对激光雷达原始数据进行优化,通过滤波剔除不合适的数据[4]。第二,匹配。在建立好的地图上,寻找局部环境的点云数据,在ICP的点云匹配算法的应用下完成匹配。匹配工作的质量会对SLAM构建地图的精度产生极大影响,所以一定要重视此环节。第三,地图融合。在原始的地图中将激光雷达的新数据拼接进去,及时更新地图。数据融合较为复杂,主要通过概率算法、滤波等进行融合,然后实现栅格地图。匹配很重要,原因在于如果未能处理好环境干扰问题,机器人的工作会受到极大影响,且在对环境绕行一圈后,会导致闭合的一个环形走廊断开,所以SLAM系统的整体性能至关重要[5]。

3 基于ROS的移动机器人SLAM的应用

移动机器人最大的特征就是智能化,能针对所处的环境做出判断,在实际生活与工作中应用十分普遍,能针对环境的实际情况对路线进行规划,并抵达目的地。将移动机器人比作一个人,则这个人是由腿、眼睛和大脑组成。

3.1 移动机器人的腿——底座平台

在移动机器人的工作期间,“腿”发挥着重要作用,是移动的重要组成部分,一般有轮子与履带等,可以托起机器人的运行。虽然移动机器人的腿可以适应不同的环境,但是由于结构复杂与造价高,目前依然需要加强对“腿”方面的研究。“腿”是移动机器人的底座平台,底座平台的大脑则是由Arduino负责,能对底座平台进行控制,路径规划算法输出的角度与线速度则是由Arduino接收与处理的。底座控制方案的具体框架如图1所示:

3.2 移动机器人的眼睛——3D激光传感器

3D激光传感器作为机器人的眼睛,主要原因在于其视距更长、发射频率与强度更高的特征,机器人在运行期间,能对周围环境进行精准的判断,同时在视觉辅助,比如3D点云信息的视觉语义信息的应用下,可以提升机器人的感知能力。

3.3 移动机器人的大脑——机器人平台

“眼睛”传输的数据需要移动机器人的大脑进行接收,并通过计算与优化,对腿的工作进行指挥。大脑就是将眼睛看到的东西,转化为一种数据语言,而这一过程ROS系统发挥着重要作用。ROS主板在移动机器人平台上进行安装,能有效发挥其“大脑”的作用,实现数据的优化处理与算法的优化计算,在对周围环境特征点距离进行测量时,是通过激光雷达完成的,ROS网络对接收到的数据进行计算,然后发出具体的工作指令。

移动机器人实现各项功能的过程中,基于ROS的移动机器人SLAM发挥着重要作用,于视觉里程计上的应用,可以对机器人里程数据进行修正。为对视觉信息存在的不足进行弥补,需要使用多传感器,保证系统的稳定性与可靠性,为对IMU数据的漂移问题进行修正,可以通过视觉估计进行修正,确保运动过程中位置与行动的精准性[6]。激光雷达的应用,则可以配合视觉系统一起使用,有效避开障碍物。同时也要加强与深度学习的融合,不断提升SLAM的自动化与智能水平。

4 未来的研究方向

虽然基于ROS的移动机器人SLAM在研究与实际应用中取得很大进展,且对研究与应用中遇到的问题进行有效处理,但是依然有很多问题需要处理与改进。

第一,运动距离偏差问题的处理。由于机器人在地运动距离进行测量时,在测图运动轨迹控制算法的应用下,使得距离的测量与实际距离存在较大偏差,尤其是移动机器人在路面不平整的情况下,误差会进一步增加,因此在未来要加强对误差问题的研究与处理。

第二,滤波算法。移动机器人SLAM滤波算法虽然在实际应用中发挥着重要作用,SLAM 的主流是图优化方法,因此需要对滤波算法在未来进行深入的研究。

第三,定位与制图。里程计数据与激光雷达数据的融合,是移动机器人定位与制图的方法,在未来要加强视觉与里程计数据的融合,不断提升ROS系统的应用水平,提升移动机器人的运行效果。

第四,三维SLAM地图。当下二维栅格地图是移动机器人移动、避障的主要手段,但是在科学技术的快速发展下,三维SLAM是未来应用的主流,且可以在复杂的环境下完成相关的工作。

5 结语

机器人是各行各业中应用十分普遍的设备,且能有效降低人工工作强度。移动机器人是机器人领域中应用十分广泛的一类,比如在移动服务大厅、旅游服务大厅、科技馆等各个行业中的应用,由于移动机器人基于的是ROS系统,在激光SLAM算法下,可以通过底座平台、传感器与机器人平台,为移动机器人在特殊环境中的运行提支持。虽然激光SLAM算法研究取得很大进步,未来依然要对运动距离偏差问题、滤波算法等进行深入的研究,不断促进我国机器人事业的可持续发展。

猜你喜欢

移动机器人激光雷达滤波
移动机器人自主动态避障方法
激光雷达实时提取甘蔗垄间导航线
基于粒子滤波的欠驱动移动机器人多目标点跟踪控制
基于backstepping方法的两轮移动机器人轨迹跟踪控制
法雷奥第二代SCALA?激光雷达
移动机器人路径规划算法综述
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
Velodyne激光雷达宣布将GaN技术用于小型化低成本固态激光雷达传感器的新设计