Press "Enter" to skip to content

一文读懂自动驾驶定位技术

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

基于深度学习的定位和构建地图最近引起了极⼤的关注,它提供的解决⽅案不是通过利⽤物理模型或⼏何理论来创建⼿⼯设计的算法,⽽是提供了⼀种以数据驱动的⽅式来解决问题的替代⽅案。受益于不断增加的数据量和计算能⼒,这些⽅案正在快速发展成为⼀个新领域,该领域提供准确和强⼤的系统来跟踪运动,并估计场景及其结构以⽤于现实世界的应⽤。深度学习涵盖⼴泛的主题,从学习⾥程估计、构建地图、到全局定位和同步定位与构图(SLAM),为研究⼈员解决定位和构建地图问题提供了未来新的方向。

 

定位概述

 

⼈类通过多模态感官来感知他们的⾃我运动和环境,并依靠这种感知在复杂的三维空间中定位和导航⾃⼰,这种能⼒是⼈类与生俱来空间能⼒的⼀部分。此外,感知⾃我运动及周围环境的能⼒在发展认知和运动控制⽅⾯,也起着⾄关重要的作⽤。同理,建立一个高度自动的驾驶系统也需要通过一个精确和稳定的定位,逐步建⽴一个外部世界的地图模型,并具有持续处理新信息和适应各种场景的能⼒。⼴泛地说,定位是指获取汽车运动的内部系统状态的能⼒,包括位置、⽅向和速度;⽽构图是指感知外部环境状态并捕捉周围环境的能力,包括 2D 或 3D 场景的⼏何、外观和语义。它们可以单独⾏动以分别感知内部或外部状态,也可以联合⾏动,例如SLAM,可以同时跟踪姿势,并在全局框架中建⽴⼀致的环境模型。

 

从⼴义上讲,定位的方法可以分为基于信号的定位(全局定位),例如GPS;基于航迹估算的定位(局部相对定位),例如⾥程估计;以及基于环境特征匹配的定位(局部绝对定位),例如地图匹配。

 

这三种方法有各自的优势和弊端,目前会交叉或整合使用,以达到互为冗余和补充的定位结果。对基于信号的定位来说,卫星信号有自己固有的弊端,比如在隧道里,卫星信号会被遮挡,没有办法正常使用,或者因为多路径效应,卫星定位的性能会受到一定的影响。此时,可以基于环境特征匹配的定位,来获取汽车在地图中的位置。但是,在恶劣的天气情况,严重的雨雪天气,传感器接收会受到影响,又或者,当一些地区或者有一些路段基础特征,比如路边的道路边界信息,不是很清晰,特征定位性能都会受到影响。此时,基于航迹估算定位可以发挥它的优势,在不长的时间内保持准确性,但如果长时间使用,航迹估算有偏差累积的问题,会产生定位漂移。所以,现有解决方案会融合这三种方法,譬如,百度的Apollo定位系统:

 

 

 

图 1/图 2. 百度多传感融合定位模块框架

 

https://www.sohu.com/a/228425367_391994

 

基于信号定位(全局定位):

 

基于信号定位计算汽车相对于地球的位置,通常会输出纬度,经度,高度或海拔和航向。现存有多个信号定位来源,大多数人最熟悉的是全局定位系统(GPS)。GPS全局定位系统由美国开发的一个卫星导航系统,是全球导航卫星系统(GNSS)的一种形式。GPS不是唯一的GNSS系统,中国最近完成了自有的北斗系统,是GPS的直接竞争对手。同时,GLONASS是另一个由俄罗斯拥有的完整的卫星导航系统,以及Galileo,一个由欧盟推出拥有近乎完整的卫星导航系统。

 

 

图 3. 全球导航卫星系统

 

What is the difference between GNSS and GPS?

 

同时,我们可以通过GNSS修正获得比商业GNSS精度更高的定位,比如可以从基于地面的实时动态技术(RTK)校正。RTK是实时动态载波相位差分技术的简称,是一种通过基准站和流动站的同步观测,利用载波相位观测值实现快速高精度定位功能的差分测量技术。RTK系统由1个基准站、若干个流动站及无线电通讯系统组成。它可以通过使用诸如无线电系统或互联网将已知位置的更正从基站发送到车辆,以该坐标参考站的坐标值为基准,对误差量进行测算,并在运算中消除误差,实时提供动态厘米级、静态毫米级精度的定位服务。

 

 

图 4. 基于地面的实时动态技术

 

https://www.xa.com/news/official/xplanet/305

 

基于航迹推算定位(相对局部定位):

 

当我们没有任何全局定位时,我们仍然可以得到一个相对的本地参考。相对局部定位可以提供相对于某个任意原点的估算定位。该任意原点不是连接到特定的GPS位置或特定海拔,它只是自由空间中的一个点,可以用XYZ测量值和滚动俯仰方向来表达,它的参考框架通常称为里程计框架。

 

我们使用惯性导航系统(INS)实现相对局部定位。我们可以使用惯性测量单元(IMU)测量滚动俯仰和偏航的速度和加速度,随着时间的推移汇总这些测量值,并估算出车辆相对于原点位置的变化。我们也可以用车轮编码器(Wheel Encoder)做同样的事情,这有时被称为航位推算(Dead Reckoning),它测量单个车轮的旋转速度,使用车轮编码器数据跟踪相对于起始位置的位置并建立相对地图和路径。还有基于图像或激光雷达的里程计(Visual/Lidar Odometry),它允许您使用相机或点云的变化来测量相对定位。

 

惯性测量单元

 

 

车轮编码器

 

 

基于图像的里程计

 

 

图 5. 惯性导航系统

 

https://www.vectornav.com/resources/inertial-navigation-primer/theory-of-operation/theory-gpsins

 

基于环境特征匹配定位(绝对局部定位):

 

基于环境特征匹配定位是根据车辆相对于当地地标的位置来进行定位。在许多情况下,我们有提供当地地标的地图作为参考框架。基于先验地图,绝对局部定位匹配历史中最相似的地图子集(图像/点云/特征点),根据匹配到的地图子集所提供的历史位姿真值、特征点坐标真值,计算点对间的变换矩阵,求解当前定位。绝对局部定位通常会输出相对的XYZ坐标,滚动俯仰偏航数值,或表示方向和空间自由的四元数。最常见的算法包括正态分布变换 (NDT), 迭代最近点 (ICP),完美匹配 (PM)等。

 

 

图 6. GPU加速NDT

 

(Keon Woo Jang, Woo Jae Jeong and Yeonsik Kang, 2022)

 

为了进行基于环境特征匹配定位,我们必须有某种形式的传感器输入,例如激光雷达,雷达,相机等。使用激光雷达,可以会得到相对于基于点云的地图 (Point-cloud-based map) 的定位;使用雷达,可以得到相对于基于返回的地图 (Return-cloud-based map) 的定位;使用具有分类和深度的相机的位置,可以得到相对于基于对象的地图 (Object-based map) 的定位。

 

 

图 7. 地图融合

 

https://gitlab.com/ApexAI/autowareclass2020/-/blob/master/lectures/10_Localization/Localization_with_Autoware.pptx

 

深度学习方法

 

定位和构建地图问题的解决方案已经研究了⼏⼗年,各种复杂的⼿⼯设计模型和算法仍在开发中,例如⾥程估计(包括视觉⾥程计、视觉惯性⾥程计及 LIDAR ⾥程计)、基于图像的定位、位置识别和 SLAM等。在理想条件下,这些传感器和模型能够跨不同环境准确估计系统状态,不受时间限制。然而,在现实中,不完善的传感器测量、不准确的系统建模、复杂的环境动态和不切实际的约束设定,都会影响⼿动系统的准确性和可靠性。

 

机器学习,尤其是深度学习的最新进展,促使研究⼈员考虑将数据驱动(学习驱动)⽅法作为解决问题的替代⽅法,将输⼊传感器数据(例如视觉、惯性、激光雷达或其他传感器数据)与输出⽬标值(例如位置、⽅向、场景⼏何或语义)之间的关系总结为映射函数。深度学习⽅法有以下三个优点:

 

⾸先,学习⽅法可以利⽤⾼度表达的深度神经⽹络作为通⽤逼近器,并⾃动发现与任务相关的特征。这⼀特性使学习模型能够适应环境,例如⽆特征区域、动态光照条

 

件、运动造成的模糊、精确的相机校准,这些都是⼿动建模的挑战。作为⼀个有代表性的例⼦,视觉⾥程计通过在其设计中结合数据驱动的⽅法,在鲁棒性⽅⾯取得了显着的进步,优于最先进的传统算法。此外,学习⽅法能够将抽象元素与⼈类可理解的语义联系起来,例如 SLAM 中的语义标签,这很难以正式的数学⽅式描述。

 

其次,学习⽅法允许系统从过去的经验中学习,并积极利⽤新信息。通过构建⼀个通⽤的数据驱动模型。这种能⼒可使得学习系统能够在新场景,或⾯对新情况下⾃动发现新的计算解决⽅案,进⼀步发展⾃⼰并改进他们的模型。⼀个很好的例⼦是,通过使⽤新颖的视图合成作为⾃监督信号,可以从未标记的视频中恢复⾃运动和深度。此外,学习到的特征可以进⼀步⽀持⾼级任务,例如路径规划和决策。

 

第三个好处,是它能够充分利⽤越来越多的传感器数据和计算能⼒。深度学习或深度神经⽹络具有扩展到⼤规模解决问题的能⼒。业界发布了各种与定位和建图相关的⼤规模数据集, 包括传感器数据、运动和语义标签的丰富组合。神经网络框架内的⼤量参数通过最⼩化损失函数、通过反向传播和梯度下降算法,在⼤型数据集上进⾏训练来⾃动优化。这给了我们可以利⽤数据和计算的⼒量来解决定位和映射问题的可能。

 

然⽽,必须指出的是,基于学习的方法依赖于⼤量数据集来提取具有统计意义的模式,并且难以推⼴到集合外的环境,并缺乏模型可解释性。此外,虽然⾼度可并⾏化,但它们通常⽐简单模型的计算成本更⾼。

 

在后续的四篇系列文章中,我们会逐步展开讨论用于定位和地图构建的深度学习算法,着重于以下四个方面:

 

1.自动驾驶定位深度学习:里程计估算

 

2.自动驾驶定位深度学习:地图匹配

 

3.自动驾驶定位深度学习:同步定位和构图(SLAM)

 

4.自动驾驶定位深度学习:全局定位

 

 

图 8. 深度学习在定位和地图的应用

 

Changhao Chen, Bing Wang, Chris Xiaoxuan Lu, Niki Trigoni and Andrew Markham, 2020

 

参考文献:

 

1.Keon Woo Jang, Woo Jae Jeong and Yeonsik Kang “Development of a GPU-Accelerated NDT Localization Algorithm for GNSS-Denied Urban Areas” in MPDI, 2022.

 

2.Prabin Kumar, PanigrahiSukant Kishoro Bisoy “Localization strategies for autonomous mobile robots: A review” in ScienceDirect, 2021.

 

3.Guowei Wan, Xiaolong Yang, Renlan Cai, Hao Li, Hao Wang, Shiyu Song, “Robust and Precise. Vehicle Localization based on Multi-sensor Fusion in Diverse City Scenes “ in Arxiv, 2020.

 

4.Changhao Chen, Bing Wang, Chris Xiaoxuan Lu, Niki Trigoni and Andrew Markham, “A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial Machine Intelligence” in Arxiv, 2020.

 

5.Abdellah Chehri, Nordine Quadar, Saadane Rachid Hassania , “Survey on localization methods for autonomous vehicles in smart cities” in ResearchGate, 2019.

 

转载自汽车电子与软件,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,我们将及时处理。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。