激光SLAM放弃指南1:初识激光SLAM

参考链接:
bilibili的SLAM课程
link 李太白的从零开始搭二维激光SLAM

SLAM的基础知识

SLAM(simultaneous localization and mapping)的中文翻译为 同步定位地图构建。目的有2个,一个是进行定位,一个是进行周围环境的地图的构建,二者相互依赖,只有同时进行求解才能够解决这个问题。
静态(三种地图;topological map:环境大,把环境简化成点,两点之间进行连线;metrical:尺度跟现实世界对应的,现实1米 地图1米(滤波器和图优化的构建);hybrid : 混合地图,在初始全局路径规划下,用topological地图规划。在局部路径规划下,用metrical规划。 )和动态(低:环境变化机器人看不出来(建图过程中移动了一个家具)和高:建图过程中有人在走动等)

SLAM的三个模块

slam分为三个模块,前端里程计模块,后端优化模块,以及回环检测模块

前端里程计

通过编码器来测量轮子具体走了多远,里程计就是为了测量机器人从开始到现在走了多远,与初始位置处的相对距离和相对位资。用 Imu看角度 用轮式里程计看距离 wheel odometry;激光雷达 lider。激光slam只能输出两种地图 覆盖珊格地图(更多,对环境区分的很清楚)和点云地图。
对于激光SLAM来说,激光雷达的频率一般是10Hz-40Hz之间。我只要确定第一帧雷达数据与第二帧雷达数据的时间间隔内,机器人走了多远,再确定第二帧到第三帧雷达数据的时间间隔内,机器人走了多远(位姿变换),依次类推,我们就可以一直确定机器人到底走了多远,确定机器人当前的位姿与初始时刻的相对位姿。
数据的预处理非常重要:轮式里程计的标定(离线标定,在线标定(有载重的,轮子要重新标定,实时标定轮式里程计)),激光雷达运动畸变去除(),不同系统之间的时间同步(odom MCU->发送给PC 会产生一个延时,在导航的时候会有影响。

具体实现方法

求前一帧雷达数据到当前帧雷达数据间的位资变换,这个过程一般成为扫描匹配(scan-matching)过程。2D激光SLAM的输入 IMU数据;里程计数据;2D雷达数据;输出:覆盖珊格地图(室内环境用的最多),机器人的轨迹 or PoseGraph;
目前的扫描匹配方法为:
scan-to-scan:雷达数据与雷达数据进行匹配
scan-to-map:雷达数据与地图进行匹配
scan-to-submap:雷达数据与子地图进行匹配
map-to-map:地图与地图进行匹配

其中 :Scan-to-Scan (被淘汰了);Scan-to-Map(应用多,);Map-to-Map(开源的很少见,把当前最近的N帧激光,做一个匹配。增加信息量,缓解激光雷达信息量太少的问题。)

后端优化

后端优化意义

不管是编码器得到的里程计还是前端计算出来的里程计,都不是完全准确的。里程计存在误差,这个误差将随着时间的增长而不断增大,当形成闭环之后会产生误差,当误差项存在之后,才可以优化。

后端优化

通过图结构,将机器人的各个位资以及生成的地图数据,进行联合优化,通过优化求解,将所有的误差平均分散到每个机器人位资以及每个地图数据上,当优化过程十分完美的时候,这些误差可以减小到非常小的地步。

回环检测

既然会通过后端优化来减小位资,并且通过回环检测来对优化的方程来进行约束。
我们可以将这个约束,输入到后端优化过程中,当做一个新的并且十分强烈的约束,通过这个强烈的约束,当我们进行优化完成后,能够大幅度的进行误差的消除
帧间匹配算法:ICP(误差点对点,因为点太多了,点匹配错误);PI-ICP(误差点对线,实际使用更好);NDT(2D很少用);CSM(08年出现,目前最主流;缺点:运算大;优点:不会陷入局部…极值中).在gitub上面搜CSM ,最多的就是这个pi-icp。
9. 2D激光SLAM的帧间匹配方法:PI-ICP;CSM(受限于精度);梯度优化方法(hector,把一个建模问题,解决成优化问题。对初值敏感);state of art:CSM+梯度优化(cartographer)CSM做粗搜索,梯度优化精细化;
10.回环检测:Scan-to-Map;Map-to-Map;Branch and Bound &Lazy Decision(分值定界 速度比较快),Lazy Decision可以优化回环问题,因为激光信息太少,所以回环问题。Cartographer 在几何环境相似的时候,很容易回环出错。

历史与未来

3D激光SLAM发展: LOAM纯激光,匀速运动假设,无回环(开源)。V-LOAM-视觉激光融合,漂移线性性11假设,无回环。VELO视觉激光融合,无运动畸变假设,有回环。
3D与视觉融合:3D激光雷达为视觉特征提供深度信息;视觉辅助激光雷达进行运动畸变去除;视觉辅助回环检测;视觉提供精确里程信息。
2D激光SLAM中的问题:①退化环境(走廊建图会变短);②地图的动态更新(环境变了地图要更新);③全局定位(用视觉解决);④动态环境定位();
基于滤波器Filter-based SLAM:没有办法修复累计误差。只估计当前位姿。跟besed很像。Gampping,当环境大的时候,建图失败的几率太高。过程 ①状态预测,②测量预测,③进行测量,④数据关联,⑤状态更新,地图更新。
基于滤波器Filter-based SLAM:Gampping 07年 它的粒子在传播的时候,所有粒子一视同仁,非常依赖于里程计;Optimal RBPF 10年已经没有人使用了:在多个粒子中,选一个最优粒子的情况。
Graph-based:基于图优化的算法。Karto slam:效果很好。Cartographer 16年谷歌开源,现在最好 。回环检测 map-map更好。
实际环境的问题:动态物体,环境变化,全局定位,地面材质的变化(改变轮子半径),几何结构相似环境,地面凹凸不平,建图的操作复杂,机器人载重的改变。
激光SLAM要跟视觉融合起来,视觉提供:高精度的里程信息,信息量丰富的视觉地图。视觉白墙麻烦。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值