激光雷达SLAM算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了激光雷达SLAM算法相关的知识,希望对你有一定的参考价值。
参考技术A机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion Planning)也是重要的一个环节,SLAM需要机器人在未知的环境中逐步建立起地图,然后根据地区确定自身位置,从而进一步定位。
ROS系统通常由大量节点组成,其中任何一个节点均可以通过发布/订阅的方式与其他节点进行通信。举例来说,机器人上的一个位置传感器如雷达单元就可以作为ROS的一个节点,雷达单元可以以信息流的方式发布雷达获得的信息,发布的信息可以被其他节点如导航单元、路径规划单元获得。
ROS的通信机制:
ROS(机器人操作系统)中SLAM的一些功能包,也就是一些常用的SLAM算法,例如Gmapping、Karto、Hector、Cartographer等算法。我们不会去关注算法背后的数学原理,而是更注重工程实现上的方法,告诉你SLAM算法包是如何工作的,怎样快速的搭建起SLAM算法。
地图 : ROS中的地图很好理解,就是一张普通的灰度图像,通常为pgm格式。这张图像上的黑色像素表示障碍物,白色像素表示可行区域,灰色是未探索的区域
地图在ROS中是以Topic的形式维护和呈现的,这个Topic名称就叫做 /map ,由于 /map 中实际上存储的是一张图片,为了减少不必要的开销,这个Topic往往采用锁存(latched)的方式来发布。地图如果没有更新,就维持着上次发布的内容不变,此时如果有新的订阅者订阅消息,这时只会收到一个 /map 的消息,也就是上次发布的消息;只有地图更新了(比如SLAM又建出来新的地图),这时 /map 才会发布新的内容。 这种方式非常适合变动较慢、相对固定的数据(例如地图),然后只发布一次,相比于同样的消息不定的发布,锁存的方式既可以减少通信中对带宽的占用,也可以减少消息资源维护的开销。
Gmapping ,Gmapping算法是目前基于激光雷达和里程计方案里面比较可靠和成熟的一个算法,它基于粒子滤波,采用RBPF的方法效果稳定,许多基于ROS的机器人都跑的是gmapping_slam。
gmapping的作用是根据激光雷达和里程计(Odometry)的信息,对环境地图进行构建,并且对自身状态进行估计。因此它得输入应当包括激光雷达和里程计的数据,而输出应当有自身位置和地图。
论文支撑:R-LINS: A Robocentric Lidar-Inertial State Estimator for Robust and Efficient Navigation
6轴 IMU:高频,聚焦自身运动,不采集外界环境数据
3D LiDAR:低频,聚焦车体运动,采集外界环境数据
R-LINS使用以上两种传感器来估计机器人的运动姿态, 对于任一传感器而言,单独的依靠自己的数据是很难实现地图构建的, 比如纯雷达模型使用的传感器是激光雷达,可以很好的探测到外界的环境信息。但是,同样的,也会受到这些信息的干扰,再长时间的运算中会产生一定的累计误差。为了防止这种误差干扰到后续的地图构建中,需要使用另一种传感器来矫正机器人自身的位姿信息, 即IMU传感器,IMU传感器由于是自身运动估计的传感器,所以,采集的都是自身运动的姿态信息。可以很好的矫正激光雷达里程计的位姿信息。所以,通常使用激光雷达和惯导来进行数据融合,实现姿态信息的矫正。
一共分为三大块:
激光SLAM技术总结3D激光SLAM算法原理
目录
1. 3D激光SLAM简介
在 3D 激光 SLAM 领域中, 由 Zhang J 等人提出的LOAM 方案,利用 3D 激光雷达采集数据, 进行基于特征点的扫描匹配, 利用非线性优化方法进行运动估计, 激光里程计的输出与地图进行匹配, 包括直线匹配和平面匹配, 无回环检测模块,点面特征还不够可靠。
2. 3D激光雷达SLAM
3. 高精度V-LOAM方案
为了进一步改进 LOAM 方案的, Zhang J 等人提出视觉结合 3D 激光雷达实时建图的 V-LOAM 方案。利用视觉里程计以高频率估计位姿变换,激光里程计以低频率优化运动估计,并校准漂移。在公开的 KITTI 数据集上,V-LOAM 算法精度排名第一, 而且当传感器高速运动并受到明显的光照变化时,该方法的鲁棒性较好。
Zhang J 等人提出了一种用于自我运动估计和建图的数据处理方案 LVIO。该方案连接 3D 激光扫描仪, 相机和 IMU,顺序多层运行三个模块以产生实时自我运动估计。粗到精数据处理产生高速率估计并在长距离中构建低漂移的地图。
4 发展趋势
几种激光SLAM算法对比:
面对复杂的周围环境,多传感器融合的SLAM是必然趋势。视觉会提供高精度的里程计以及信息量丰富的地图信息,激光雷达为视觉特征提供准确的深度信息。SLAM算法的鲁棒性与实时性有待进一步提高。在提高SLAM算法鲁棒性方面,需要考虑里程计的标定、激光雷达的外参与时间戳标定、激光雷达运动畸变的去除等数据处理过程,同时针对退化环境、全局定位、动态环境定位等问题还有待完善。
以上是关于激光雷达SLAM算法的主要内容,如果未能解决你的问题,请参考以下文章