zl程序教程

您现在的位置是:首页 > 

当前栏目

激光slam综述_SLAM是什么

什么 综述 激光 SLAM
2023-06-13 09:11:01 时间

大家好,又见面了,我是你们的朋友全栈君。

什么是slam 技术

slam (Simultaneous Localization and Mapping)叫即时定位与建图,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图(Mapping)和路径规划(Navigation)。

激光slam简要介绍

主流的slam技术应用有两种,分别是激光slam(基于激光雷达lidar 来建图导航)和视觉slam(vslam,基于单/双目摄像头视觉建图导航),在此主要先介绍激光slam,它有分为基于滤波的 filter-based 的SLAM,和基于图优化Graph-based的SLAM

基于滤波框架slam:

卡尔曼滤波 : EKF UKF EIF 等

粒子滤波: PF RBPF FASTSAM 1.0 2.0 MCL

基于图优化框架slam:

Graph-slam 工具: g20

(1)基于Graph-based的代表是cartographer,karto_slam,可以修复 t 时刻之前的误差分为两部分Front-end ,和Back-end。

(2)基于(粒子滤波)PF的代表gmapping,只能估计X(t)当前时刻的位姿,不能修复之前时刻产生的误差。在大面积的情况下,就无法建图了。

slam算法实现的几个要点

1. 地图表示问题,比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择

(A)覆盖珊格地图 和点云地图

2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大

(A)主要使用传感器惯性测量单元——陀螺仪(Imu)测角度,轮子编码器测里程计odom,及激光雷达

3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理

4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化

5.回环检测问题

(A)分支定界Branch and Bound&lazy Decison(延迟决策) ,代表:cartographer

(B)Scan-to-Map

6.探索问题(exploration)

7.绑架问题(kidnapping)

8.帧间匹配算法

(A)PI-ICP

(B)CSM(Correlation Scan Match)

(C)梯度优化的方法:Hector—SLAM

(D)CSM+梯度优化:cartographer

2Dslam 技术发展

(A)EKF-SLAM构建的是feature 地图,而不是grid栅格地图,所以无法用于导航,只能用于定位。

(B)gmapping是Grid版本的FastSLAM,加入了scan-match。

(C)在Optimal RBPF在gmapping上做了优化,是MRPT上的一个开源算法。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172350.html原文链接:https://javaforall.cn