我在哪儿?
我从哪里来?
又往何处去?
——一位迷路人的内心哲学之问
家里新添置了一台扫地机器人,老妈对它赞不绝口:一个盘子大小的机器,刚进门就开始工作,几乎不需要人工干预。那么,是什么技术让扫地机器人如此智能呢?翻阅扫地机器人的产品介绍,你会发现一个许多扫地机器人都在使用的术语——“同时定位与建图”(Simultaneous Localization and Mapping,SLAM)技术。
SLAM是什么?我们从扫地机器人的角度来理解。作为一台扫地机器人,进入一个陌生的空间后,需要完成哪些任务才能实现自动化清扫呢?
a)我是谁,我在哪儿?如何快速确定自己的位置,了解自己在环境中的相对位置;
b)我从哪里来,周围有什么?如何实时构建周围的环境地图,感知障碍物和墙壁的存在?只有拥有地图信息,定位才有意义;
c)我要到哪里去,怎么去?有了地图和位置信息,如何规划路径,避免撞墙、重复清扫和遗漏角落?
这三个问题就是一台扫地机器人通过SLAM技术解决的“终极哲学问题”。严格来说,SLAM主要涉及前两个问题,一些增强现实应用场景并未包含路径规划的问题,但这里我们通过扫地机器人引入SLAM的概念,一并讨论。
SLAM技术的核心在于“S”——Simultaneous,即“一边……一边……”。一边获取自身的位置,解答“我在哪儿”的问题,一边构建地图,解答“我从哪里来,周围有什么”的问题。为了更好地理解这一概念,我们从SLAM的历史和技术原理入手。
SLAM的思想最早源于军事领域中的潜艇定位。不同于水面舰艇可以通过GPS或目视观察等方法进行导航定位,潜艇在执行任务时需要下潜到深海,无法通过传统方式直接定位。因此,潜艇大多采用惯性导航系统(INS)和声呐导航系统(APS)结合定位,再加上航迹测绘和海图资料推算大致位置。这种定位加绘图的过程就是SLAM技术思想的雏形。
就像潜艇一样,机器人不能总是依赖GPS,尤其是在室内场景下的扫地机器人——GPS在室外的精度也有限,依赖GPS无法让扫地机器人既安全避开家具腿,又能清理沙发底部。借助SLAM技术,它们可以自主观察和绘制周围环境,通过传感器数据校准来构建导航地图,从而了解自己身处何方,应该去哪里清扫或返回充电。我们可以总结一下SLAM的基本思路:在没有先验知识的情况下,通过传感器获取周围环境信息,快速实时地构建环境地图,同时计算自身位置,进而完成路径规划等任务。听起来是不是很简单?但实际上,SLAM是一个复杂的多阶段过程,包括通过传感器收集环境数据、利用视觉里程计估算移动目标的位置、通过后端模块优化累积误差、最后通过建图模块生成地图,从而实现定位和建图的目标。
我们再通过一个简单的例子来演示SLAM的基本思想。
近年来,随着智能技术和硬件算力的大幅提升,SLAM技术正迅速发展。它赋予了机器人和其他智能设备前所未有的行动能力,成为人工智能实现的“双腿”,随着智能机器人、自动驾驶、AR/VR等应用日益普及。根据所使用的传感器不同,SLAM可以分为两类:一类是使用激光雷达的激光SLAM,另一类是使用视觉摄像头的视觉SLAM。激光雷达测量速度快且精确,提供的信息更丰富,测距准确,误差模型简单,在除强光直射外的环境中运行稳定,机器人的路径规划和导航也更为直观,因此被广泛应用于自动驾驶等领域,产品也更加成熟和多样化。然而,激光雷达价格昂贵,限制了其应用范围。
视觉SLAM的优势在于利用观察到的环境中丰富的纹理信息进行处理,能够区分激光雷达无法识别的物体(例如两块大小相同但内容不同的广告牌)。这带来了重定位和场景分类上的巨大优势。同时,视觉信息可以更容易地用于跟踪和预测场景中的动态目标,如行人和车辆,这对于复杂动态场景的应用至关重要。因此,当前SLAM技术正朝着多源融合、广泛感知等方向发展。
相信在不久的将来,我们身边的机器人、乘坐的汽车、使用的AR设备将不再困惑于“终极哲学问题”,都能拥有真正的智慧大脑,实现真正的自主行动,帮助我们走向更加便捷和智能的未来。