• 正文
  • 相关推荐
申请入驻 产业图谱

SLAM技术:机器人不迷路的底层技术

10/15 13:55
34
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

以前,家庭使用的扫地机器人可能会遇到类似情况,它扫着扫着地突然在客厅中央原地打转,或者明明开着卧室门,它却一下撞在门框上。这些情况的背后都存在同一个问题:机器人不知道自己在哪儿。

早期的移动机器人依靠轮式里程计数轮子转数来计算走出多远。但是,轮子打滑、地板上有水、走过地毯都可能会让轮子空转,每走一步都有小误差,这些误差累积起来,机器人就彻底懵了。

这就是为什么我们现在要用到SLAM技术。

SLAM(Simultaneous Localization and Mapping)的中文是同时定位与地图构建。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动。如果这里的传感器使用的是激光雷达,我们就称为“激光SLAM”;如果这里的传感器使用的是相机,我们就称为“视觉SLAM”。

SLAM的核心作用:

定位建图:让机器人知道“我在哪”。没有地图,机器人只靠里程计很容易漂移,走几步就不知道自己位置。

导航规划:让机器人知道“我该怎么去目标点”。

环境理解:让机器人区分静态和动态物体,地图记录静态环境,运行时把动态物体当成临时障碍物。

重定位:让机器人迷路后重新找回位置。

激光SLAM原理

激光雷达不断向四周发射激光,测量到墙面、家具的距离,把一圈圈的轮廓点拼起来,构建环境地图,同时估算机器人自身位置。

激光SLAM依靠激光雷达直接获取环境距离信息,测距精度高、对光照变化不敏感,建图与定位稳定可靠。但是,传统激光雷达存在体积偏大、旋转电机会产生噪声的问题。

现在行业里正在转向使用固态激光雷达,用MEMS微振镜或Flash面阵代替传统的机械旋转部件,没有物理转动,激光雷达体积更小,寿命更长,噪声更低。

视觉SLAM原理

摄像头持续采集环境图像,提取画面里稳定的特征点,通过连续两帧图像里同一特征点的位置变化,计算相机自身的移动旋转。同时把这些特征点在三维空间里的位置恢复出来,构建环境地图,同时估算机器人自身位置。

视觉SLAM以摄像头为传感器,硬件体积小巧、能够同时完成环境识别、拍照录像等附加功能。但是,定位依赖环境纹理,在暗光、墙面纯白无纹理的场景下容易定位漂移。

VIO(Visual-Inertial Odometry)视觉惯性里程计是目前视觉SLAM工程落地最主流的方案。除了相机以外,再加一块IMU输出加速度和角速度。相机帧率低、看得清,但快速运动时容易因运动模糊失效;IMU采样率高、反应快,但长时间积分会漂移。相机和IMU紧耦合后正好互补,短时快速运动由IMU递推,长时漂移由相机校正。刷视频时的人脸特效、手机测距功能、无人机自主飞行、机器人空间定位,主流方案都是VIO。

正因为激光SLAM和视觉SLAM各有优缺点,现在落地的机器人几乎不再靠单一传感器,而是以多传感器融合SLAM为主,将视觉SLAM作为全局定位与场景感知的主力,同时搭配低成本TOF传感器或固态激光做局部避障,融合二者优势,弥补上述单一传感器存在的缺陷。

作者:小芯叽

相关推荐