SLAM整体框架
一个完整的SLAM系统如下图所示

传感器
传感器主要影响原始数据,分为两个大类:相机与雷达
1.相机
-
单目相机
仅能通过两帧之间图片进行位姿估计,通常采用对极约束(估计位姿)+三角测量(估计点云位姿)方法
-
双目相机
可通过视差测距,常见如PnP方法
-
深度相机 TOF/结构光等方法,可直接得到深度信息
-
全景相机 360°无需转动
-
事件相机 动态视觉相机,仅关注动态变化
每个像素均受独立控制,输出具有稀疏性
-
红外相机 拥有夜视能力,忽略光照影响
优点
- 便宜
- 通过两张图即可测量姿态变化
- 没有累计误差(对比IMU)— 因为仅使用当前两张图片,与前面时刻无关
缺点
- 单目尺度不确定性
- 双目计算量大
- 受光照影响大
- 高速运动不利
- 要求具有丰富的纹理信息
相机标定
建立相机成像几何模型并矫正透镜畸变—待补充
2.雷达
激光雷达
- 旋转式
- 单线2D
- 多线3D
- velodyne(16/32/64/128线)360°不停旋转
- 半固态式
- 大疆livox,雷达不需要旋转,但里面有运动的偏振镜
- 不是360°,有固定的FOV
- 大疆livox,雷达不需要旋转,但里面有运动的偏振镜
- 纯固态式
- 相控阵OPA、Flash
- 没有运动器件
- 相控阵OPA、Flash
优点
- 精度高、距离远
- 无视光照变化
- 算法较简单
缺点
- 价格昂贵
- 重量大
- 退化问题
- 隧道、走廊等弱纹理区域
- 受天气影响
- all-weather-slam 使用毫米波雷达radar,穿透力更强
3.IMU
- 加速度计
- 陀螺仪
- 磁力计(一般不用)
优点
- 效果稳定
- 光照不影响
- 运动速度不影响
- 纹理结构不影响
- 无退化问题
缺点
- 噪声大,且价格差异极大
- 存在漂移,运动过程中漂移量不恒定—需要标定
- 在科研中有纯IMU的里程计,通过learning方法在线标定(克服游走bias)
4.GNSS
- 如GPS等通过卫星定位
- 精度较低,为米级
- 室内信号质量差
5.RTK
- 通过地面基站修正GNSS误差
- 达到厘米级别精度
前端

前端的作用:根据帧间数据,得到帧间运动并建立局部地图
- Visual Odom 例如,可以检查两帧图片的特征点并匹配,从而获得相对运动,进而反推各点世界坐标系建图
- Lidar Odom 例如,可以寻找两帧扫描点云中的特征关系(边缘线 、平面等),从而获得相对运动,进而反推点云至世界坐标系建图
后端

既然前端可以建图,为什么还需要后端? 前端计算两帧运动,而后端从全局整体角度进行取最优
后端主要是起优化作用:隔一段实践在大范围进行优化,使轨迹与建图在全局最优
回环检测

在运动轨迹闭合时,启动回环检测,实际就是一次整体后端优化调整
建图

前后端的过程其实就是局部建图、综合优化调整的过程
目标不同,建图种类不同
- 稀疏建图(路标),用于定位
- 2D地图用于平面导航,如扫地机器人
- 稠密建图,用于避障导航
