几年前就曾有人预言“机器人终将取代人类工作”,随着AI产业化、商业化落地实现,机器人取代人类完成高频重复的工作正加速前进中,而技术问题是目前面临的主要难题。

服务机器人实际上是多种技术的融合和实现,包括定位导航、语音交互、运动控制、后台调度管理、多传感器融合、通信等多领域的技术。要让产品理想落地及商用,这些技术缺一不可。今天我们就先来探讨下服务机器人的定位导航技术。

说起服务机器人定位导航,就不得不提到SLAM技术, SLAM (simultaneous localization and mapping简称SLAM)即时定位与地图构建,通常是指机器人通过对各种传感器数据进行采集和计算,生成对其自身位置姿态的定位和场景地图信息的系统,SLAM技术对于机器人的行动和交互能力至为重要,因为它代表了这种能力的基础:知道自己在哪,周围环境怎样及下一步该如何自主行动。除了在机器人领域,它在自动驾驶、无人机、AR/VR等领域都有广泛的应用,可以说拥有一定行动能力的智能体都拥有某种形式的SLAM技术。

SLAM技术通常包含多种传感器和多种功能模块,按照核心功能模块来区分,目前基于激光雷达的SLAM(激光SLAM)和基于视觉的SLAM(VSLAM)是机器人SLAM技术最主要的两种形式。

激光SLAM介绍

激光SLAM起步较早,脱胎于早期的基于测距的定位方法(如超声和红外单点测距)。激光雷达的出现和普及使测量更快更准,信息更丰富。它所采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,被称为点云。通过激光SLAM系统对不同时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。

激光雷达在强光直射以外的环境种运行稳定,测距精准,点云的处理也较容易,同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得更直观。

VSLAM介绍

眼睛是人类获取外界信息的主要来源,视觉SLAM也具有类似的特点,它可以从环境种获取海量的、富于冗余的纹理信息,拥有超强的场景辨识能力。早期的视觉SLAM基于滤波理论,其非线性的误差模型和巨大的计算量成为了它实用落地的障碍。近年来,随着具有稀疏性的非线性优化理论(Bundle Adjustment)以及相机技术、计算性能的进步,实时运行的视觉SLAM已经不再是梦想。

通常,一个VSLAM系统由前端和后端组成。前端负责通过视觉增量式计算机器人的位姿,速度较快。后端,主要负责两个功能:

一是在出现回环(即判定机器人回到了之前访问过的地点附近)时,发现回环并修正两次访问中间各处的位置与姿态;

二是当前端跟踪丢失时,根据视觉的纹理信息对机器人进行重新定位。简单说,前端负责快速定位,后端负责较慢的地图维护。

VSLAM的优点是它所利用的丰富纹理信息。例如两块尺寸相同内容却不同的广告牌,基于点云的激光SLAM算法无法区别他们,而视觉则可以轻易分辨。这带来了重定位、场景分类上无可比拟的巨大优势。同时,视觉信息可以较为容易的被用来跟踪和预测场景中的动态目标,如行人、车辆等,对于在复杂动态场景中的应用这是至关重要的。第三,视觉的投影模型理论上可以让无限远处的物体都进入视觉画面中,在合理的配置下(如长基线的双目相机)可以进行很大尺度场景的定位与地图构建。

目前激光SLAM技术在理论和产品落地上都相对成熟,而 VSLAM 目前仍处于研发和应用场景拓展、产品逐渐落地阶段。但由于激光SLAM和视觉SLAM各擅胜场,单独使用都有其局限性,而融合使用则是未来主要的发展趋势,使两者之间达到取长补短的作用,例如,视觉在纹理丰富的动态环境中稳定工作,并能为激光SLAM提供非常准确的点云匹配,而激光雷达提供的精确方向和距离信息在正确匹配的点云上会发挥更大的威力。而在光照不足或纹理缺失的环境中,激光SLAM的定位工作使得视觉可以借助不多的信息进行场景记录。