自动驾驶学习笔记(十二)——定位技术

#Apollo开发者#

学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:

《自动驾驶新人之旅》免费课程---> 传送门

《Apollo Beta宣讲和线下沙龙》免费报名--->传送门

文章目录

前言

卫星定位

RTK定位

IMU定位

GNSS定位

先验地图定位

SLAM定位

MSF定位

Apollo定位

Tips

总结


前言

见《自动驾驶学习笔记(七)------感知融合

见《自动驾驶学习笔记(八)------路线规划

见《自动驾驶学习笔记(九)------车辆控制

见《自动驾驶学习笔记(十)------Cyber通信

见《自动驾驶学习笔记(十一)------高精地图

卫星定位

基础定位系统由三个部分组成:空间部分(GPS卫星)、地面监控部分和用户部分。如下图所示:

其基本工作原理是:至少测量出当前位置与4颗卫星的距离和对应时间,通过解方程即可求得当前位置在地球坐标系下的位置(x,y,z)。为什么是4颗呢?因为除了需要确定(x,y,z)三个位置参数,还需要一个卫星提供相对零点时间从而消除时间误差。

全球四大导航系统包括:美国全球定位系统、欧盟"伽利略"系统、俄罗斯"格洛纳斯"系统、中国北斗卫星导航系统。

定位模块除了需要告诉自动驾驶系统自动驾驶汽车当前的位置之外,实际还提供车辆当前的运动状态,比如车的航向,速度,加速度,角速度等状态信息。

RTK定位

基础的卫星定位是存在误差的,误差既来自系统的内部,也来自外部。例如卫星信号穿透电离层和对流层时产生的误差,还有卫星高速移动产生的多普勒效应引起的误差,以及多径效应误差通道误差、卫星钟误差、星历误差、内部噪声误差等。这些误差,有些可以完全消除,有些无法消除或只能部分消除。它们影响了系统的准确性和可靠性。

RTK(Real time kinematic,实时动态)载波相位差分技术,是卫星定位的扩展。它是实时处理两个测量站载波相位观测量的差分方法,将基准站采集的载波相位发给用户接收机,进行求差解算坐标。如下图所示:

1、 基准站先观测和接收卫星数据。

2、基准站通过旁边的无线电台(数据链 ),将观测数据实时发送给流动站(距离一般不超过20公里)。

3 、流动站收到基准站数据的同时,也观测和接收了卫星数据。

4、 流动站在基准站数据和自身数据的基础上根据相对定位原理,进行实时差分运算,从而解算出流动站的三维坐标及其精度,其定位精度可达1cm~2cm。

IMU定位

惯性测量单元(Inertial measurement unit,简称IMU)是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,一个IMU内会装有三轴的陀螺仪和三个方向的加速度计,来测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。为了提高可靠性,还可以为每个轴配备更多的传感器。一般而言IMU要安装在被测物体的重心上。

IMU的核心参数指标有两个。陀螺仪角度偏差范围通常在0.1°/s - 0.001°/h。加速度计加速度偏差范围通常在100mg - 10ug。由距离计算公式s =½at²可以得出,100mg和10ug偏差的加速度计在60s之后的测量误差分别是3528m和0.35m,差距非常大。不同级别的IMU在精度和成本方面也相差甚远,如下图所示:

GNSS定位

GNSS是GPS与IMU组合定位。

GPS定位非常方便,但在高楼、隧道和停车场等场所会出现多径效应和信号衰减,导致测量精度下降。GPS的更新频率也比较低,一般为1s刷新一次。

为了解决上述问题,IMU通常用来辅助GPS进行定位,IMU不需要接收信号,不受信号质量影响,而且更新频率快,工作频率通常可达100Hz以上,可以弥补短期GPS刷新频率不足的问题。但是IMU有累计误差,在一段时间后需要校准,所以目前无人车主要通过GPS和IMU融合定位。

先验地图定位

先验地图定位是拿当前观测到的特征和事先建好的地图做匹配,如下图所示:

其2大核心问题是:特征提取和特征匹配(Feature matching )和重定位( Relocation )。特征提取和特征匹配常用的算法有:ICP ( iterative closest point )、NDT ( Normal Distributions Transform )和基于优化的方法。重定位是指在环境中找到自己的初始坐标,例如在停车场中启动的时候。

SLAM定位

先验地图的好处非常明显,通过事先建立好地图,然后在线做匹配从而得到目标当前的位置但环境会发生改变,如果周围的环境变化了,而地图没有更新,则会得到错误的定位信息。

SLAM(Simultaneous localization and mapping)意为"同步定位与建图",其工作原理如下图所示:

SLAM根据类型划分为视觉SLAM和激光SLAM两种。视觉SLAM算法又包括ORB-SLAM、LSD-SLAM、VINS-Mono等。激光SLAM算法包括Cartographer和LOAM系列等。SLAM算法的精度已经足够,可以用于大规模分布式实时建图,但是鲁棒性有待加强。

MSF定位

MSF(Multi-Sensor Fusion)多传感器融合定位,接收GPS、IMU和激光雷达点云等多传感器的数据,通过NDT输出的结果和组合导航输出的结果,通过卡尔曼滤波进行融合,最后输出高精度的定位结果。其工作原理如下图所示:

Apollo定位

Apollo的定位模块包含三种定位方式:RTK定位、NDT定位和MSF定位,如下图所示:

Tips

GPS + IMU组合导航还是目前主流的用法。在此基础上结合先验地图,可以实现复杂场景的定位。如果要实现较高的鲁棒性要求,可以增加MSF的算法。而SLAM不依赖事先建好的地图具有强大的优势,是未来发展的方向。

总结

以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。


版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

文中部分图片来源自网络,若有侵权,联系立删。

相关推荐
云卓科技16 小时前
无人车之路径规划篇
人工智能·嵌入式硬件·算法·自动驾驶
TsingtaoAI17 小时前
2024.10|AI/大模型在机器人/自动驾驶/智能驾舱领域的最新应用和深度洞察
机器人·自动驾驶·ai大模型·具身智能·智能驾舱
高登先生1 天前
京津冀自动驾驶技术行业盛会|2025北京自动驾驶技术展会
大数据·人工智能·科技·机器人·自动驾驶
开MINI的工科男1 天前
【笔记】自动驾驶预测与决策规划_Part6_不确定性感知的决策过程
人工智能·笔记·自动驾驶·预测与决策·时空联合规划
地平线开发者3 天前
【征程 6 工具链性能分析与优化-1】编译器预估 perf 解读与性能分析
算法·自动驾驶
春贵丶csdn3 天前
又一次安装autoware.universe的过程
自动驾驶
深蓝学院3 天前
CoEdge: 面向自动驾驶的协作式边缘计算系统,实现分布式实时深度学习任务的高效调度与资源优化
分布式·自动驾驶·边缘计算
地平线开发者3 天前
【征程 6 工具链性能分析与优化-2】模型性能优化建议
算法·自动驾驶
Mr.Winter`3 天前
路径规划 | ROS中多个路径规划算法可视化与性能对比分析
人工智能·算法·机器人·自动驾驶·ros·ros2·路径规划
江_小_白4 天前
关于自动驾驶等级相关知识
人工智能·机器学习·自动驾驶