SLAM 代表同步定位与建图。它解决了一个先有鸡还是先有蛋的问题。要构建地图,机器人需要知道自己的位置;而要知道自己的位置,机器人又需要一张地图。SLAM 同时完成了这两项任务。它是移动机器人领域的基础性问题之一。
机器人穿梭于未知环境。它收集传感器数据:激光雷达扫描、摄像头图像、轮式里程计数据和惯性测量单元(IMU)读数。它估计自身位置并逐步构建地图。当它重新访问某些区域时,会修正地图和轨迹中的误差。最终得到一张一致的地图和一条精确的路径。
SLAM方法
- EKF SLAM:扩展卡尔曼滤波器,早期方法。
- FastSLAM:粒子滤波器,可处理地标。
- 图SLAM:将姿态和地标作为图中的节点。
- 视觉 SLAM:使用摄像头、ORB-SLAM、LSD-SLAM。
- 激光雷达SLAM:使用激光扫描、Gmapping、Cartographer。
SLAM之所以难,是因为误差会累积。里程计中的微小误差会随着时间的推移而增大。闭环控制可以纠正这个问题:当机器人识别出之前去过的地方时,它会闭合闭环并调整整个轨迹。这就是为什么SLAM系统需要强大的地点识别能力。光照变化或椅子移动都可能导致识别失败。现代SLAM系统已经足够成熟,可以应用于商业产品。扫地机器人使用视觉SLAM,自动驾驶汽车使用激光雷达SLAM进行地图构建。SLAM尚未完全解决,但它在许多应用中已经足够好用。剩余的挑战包括动态环境、长期地图构建和多机器人SLAM。
Comments
No comments yet. Be the first to share a thought.
Leave a comment