首页 > 汽车技术 > 正文

十分钟剖析SLAM技术在自动驾驶中的应用

2023-11-13 16:04:14·  来源:汽车测试网  
 


作者:北斗(10年智能座舱及导航娱乐系统开发管理经验、3年自动驾驶产品化经验、5年自动驾驶模拟仿真测试环境构建经验)


自动驾驶系统中除了环境感知传感器如摄像头、雷达等,对车辆行车外部环境进行感知之位,其实还一个一直在系统中默默奉献的感知传感器,那就是定位模块。在自动驾驶系统中其地位完全不亚于摄像头和雷达,定位系统所包含的车身定位与地图路径规划功能,是车辆自动行驶的重要基础。特别是高精度地图的采用,为自动驾驶系统进行高精度驾驶提供进一步的数据支撑。

而同时具备定位和地图两大技术的,非SLAM莫属。SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。目前主流的SLAM技术应用为激光SLAM(基于激光雷达)和视觉SLAM(基于单/双目摄像头),从实现角度上主要分为基于滤波 (Filter-based)的SLAM,和基于图优化(Graph-based)的SLAM。

本文将从自动驾驶技术角度出发,对SLAM技术进行说明,分析SLAM技术在自动驾驶系统中的应用,使各位读者快速对SLAM技术进行全面了解。

■ SLAM是什么?

SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。故名思意,SLAM是可以同时进行“定位”和“地图构建”的技术,SLAM可以依靠搭载了传感器的自动驾驶车辆这样的移动物体,实现移动的同时,对周围地图进行构建。其可以实现在未知环境中从一个未知位置开始移动,在移动过程中根据位置偏移量和地图数据进行自身定位,同时在自身定位的基础上建造增量式地图,实现自动驾驶车辆的自主定位和导航。

通俗上讲这个过程其实是其基于根据视觉传感器图像等信息,设置任意的基准点,再以该基准点为基础计算移动量,或者根据搭载在车辆上的惯性测量单元(IMU)等计算移动量,由此确定自身的相对位置的方法。通常GNSS可以得到表示车辆在地球上的位置,那这个位置坐标属于绝对位置坐标,而SLAM可以确定在制作的地图上的位置,这个位置属于相对位置。

图片
图1  SLAM基本原理示例图

例如,假设你被蒙住眼睛带到了一个未知地方。摘下眼罩,首先你要看看周边环境有什么,从记忆中寻找适合的地方。然后在脑海中,基于从眼睛看到的周边环境信息构建出区域性的地图。如果环境地图和你已知的某个地方一致的话,就能确定你自己的正确位置了。如果环境是你完全不知道的陌生地方,那也不用担心,咱们可以摘下眼罩的位置为起始点,在这个全新地方里到处走走,一边走一边在脑海中构建地图,直到到达了自己知道的地方,从而确定自身位置。这就是SLAM的基本实现原理。

■SLAM和感知传感器

和所有的智能策略一样,SLAM也需要有优质的感知传感器进行配合,来完成环境数据的采集工作。而SLAM配合的传感器主要包括,摄像头、LiDAR(激光雷达)、ToF(Time of Flight)传感器。利用基于LiDAR的点云数据的称为“LiDAR SLAM”,利用摄像机的影像数据的称为“Visual SLAM”,利用基于ToF传感器的深度图像数据的称为“Depth SLAM”。

LiDAR的测距精度很好,最大探测距离也很远,但目前的成本也是比较高的。摄像头的分辨率高,颜色识别能力强,但是在极端天气或黑暗环境下性能相对较差。如果是识别在道路上高速移动的车辆,我们需要正确把握自车到前方物体的距离,这时候LiDAR可能是最佳的感知传感器;如果是低速移动的AGV(自动导引运输车),需要进行读取二维码等信息操作的话,摄像头可能是最佳的选择。除了感知传感器的应用边界外,传感器的成本也是选择的重要因素。所以为了实现SLAM,根据使用情况选择最合适的传感器是很重要的。

图片

图2  SLAM涉及各类型传感器比较

三种传感器各有优劣,所以也可以采用融合并用感知的方式,进行传感器边界能力的补充。实际应用中可以并用LiDAR和摄像头,发挥传感器各种的场景优势,来执行定位和地图构建。在此过程中也会存在感知数据处理实时性、局部位置信息准确度、整体地图数据一致性等SLAM特有的课题,但我们通过采用传感器融合和高性能运算处理等方式,可以使SLAM在更广泛的领域中灵活应用。

■ SLAM的自动驾驶应用

无需借助卫星定位的SLAM,可以在没有GPS信号的场景中正常工作,也就更擅长室内作业。SLAMs设备在对象区域内行驶并进行地图映射,掌握各种行驶路径。之后,再按照一定的指示前往目的地时,将事先映射的对象与从摄像头、LiDAR等传感器实时检测的对象信息进行分析处理,完成一边确定自身位置,一边自主行驶。

根据该特性,SLAM多用于商业设施中的清扫机器人、警备机器人等各种服务机器人,以及仓库中的AGV自动搬运机器人等。除此之外,SLAM还可应用于无人机、自动化测量、自动驾驶农机以及车道上的自动驾驶车辆上。在深水潜艇和地外探测等方面也有相关应用。 在自动驾驶系统中,自车在开阔室外道路上行驶,通过SLAM技术和GPS的并用,能够提高本地化定位和地图构建的准确性和冗余性。同时可以提高系统鲁棒性,使系统不易受外界环境变化的干扰。

SLAM在机场内的自动驾驶验证应用

在自动驾驶相关领域,一些大型航空公司和机场联合开发布置了机场限制区域内的自动行驶系统,系统中对 SLAM技术进行了实际应用。在机场环线的自动驾驶产品实践中,结合场景需求,在GNSS和惯导模块之外,新增采用了SLAM技术进行自车位置推测,实现了机场内的环线巴士行驶状态的本地化管控。但由于系统中存在多种类型传感器,导致SLAM对传感器感知置信度权重存在问题,所以系统还需要进一步的精度的提高和多路复用的强化。

图片

图3  SLAM 大巴是实车图

在这种环境相对复杂的场景中,传感器融合无疑是最优的解决方案。目前行业内已有很多种视觉和IMU的融合方案。视觉感知传感器对于色彩充沛、问题丰富的目标识别效果会比较好。但是对于透光、无色或单色的目标识别能力将大打折扣。而惯性传感器由于其就构造上的原因,长周期使用会积累很大的误差。但基于目前需求,精度也是可以满足的,两种传感器相互备份、彼此冗余,提高精度。这种融合方案也为后续高精度、高算力的SLAM技术产品提供了架构方面的参考。

SLAM成就月球上的自动驾驶

说到月球表面的环境,大家第一反应就是没有卫星定位系统。正因如此,国外的一家航天公司将LiDAR-SLAM技术与SLAM技术相结合,实现了在月球表面上的自动驾驶。在没有导航定位的支撑场景中,目前唯一能进行定位和导航自闭环的也只有SLAM。如果给SLAM一个非常充裕的时间,我相信它可以自行构建出完整的月球表面地形地貌图纸。据说目前该设备目前正在良好的运行之中,希望有一天咱们都能看到SLAM绘制的月球地图。

图片
图4  SLAM 月球自动驾驶车辆构想图

■ 总结

随着AR/VR行业的发展,智能机器人、自动驾驶技术的发展,市场对SLAM技术的需求越来越多。同时,传感器感知转技术的助力,计算机运算能力的提升,都将SLAM推进了产品化阶段。SLAM从某种角度上解决了自动驾驶在没有GPS的情况下的定位与地图构建问题。也正因自动驾驶车辆工况具有极大的不确定性,导致目前SLAM在自动驾驶行业中无法取代。而且SLAM也解决是先定位还是先地图的问题,即可以在未知区域中,基于地图构建进行相对位置定位,之后又能基于相对位置判断处在的绝对位置坐标。从某种意义上讲,SLAM不单纯是一直算法,它更是一种解决棘手问题的思路,蕴藏着很多哲理性的思考方式。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号