内容概要,学习目标
定位: 获取当前的地理位置信息,通常要通过地图来记录和表示。
一般情况下通过定位来绘制地图,而通过地图来表示车辆当前的位置。
参考系:
如图所示,定位模块在自动驾驶系统中需要明确汽车当前位置,以及车辆当前运动状态(车的航向、速度、加速度、角速度等)信息。
概念: 全球定位系统(Global Positioning System, GPS)是一种以人造地球卫星为基础的高精度无线电导航的定位系统,可以在全球任何地方以及近地空间能够提供准确的地理位置、车辆行驶速度及精确的时间信息。用户可以凭借(手机、智能手环或智能汽车)通过无线电和卫星进行实时通讯,从而得到自身准确的位置信息,即经纬度信息。
GPS的特点: 高精度、全天候、全球覆盖、方便灵活
全球四大导航系统:
GPS的组成部分: 空间部分(GPS卫星)、地面监测部分和用户部分
GPS定位的基本原理: 至少测出当前位置与4颗卫星(这里至少四颗是因为需要三颗卫星来确定(x, y, z)三个位置信息,第四颗卫星提供相对零点时间从而消除时间误差)的距离和对应时间,通过解方程即可求得当前位置在地球坐标系下的位置。
RTK(Real-time kinematic, 实时动态) 载波相位差分技术是实时处理两个测量站载波相位观测量的差分方法,将基准站采集的载波相位机发给用户接收机,进行求差解算坐标。
卫星定位误差:卫星信号穿透电离层和对流层产生误差、卫星高速移动产生的多普勒效应引起误差、多径效应误差、通道误差、卫星钟误差、星历误差、内部噪声误差等
RTK 技术流程:
惯性测量单元(Inertial measurement unit, IMU)是测量物体三轴姿态角(或角速率)以及加速度的装置
IMU内会装有三轴陀螺仪和三个方向的加速度计来测量物体在三维空间的角速度和加速度,以此解算出物体姿态。
GPS+IMU的局限性:在一些特殊场景,例如城市高楼、树荫以及比较长的隧道等,定位精度会受到影响
由于GNSS的局限性,引入了先验地图定位,通过离线方式,事先建好当前区域的三维地图,即高精度地图定位图层。
先验地图的两大核心问题:
(1)特征提取和特征匹配:寻找下一个时刻可能的位置
(2)重定位:在环境中找到自己的初始坐标
随着周围的环境变化,地图没有更新,则会得到错误的定位信息,因此需要进行SLAM(Simultaneous locatization and mapping, 同步定位与建图)。
SLAM 类型: 视觉SLAM算法、激光SLAM算法
视觉SLAM算法:
激光SLAM算法:
上图是SLAM的大体框架,前端接收传感器数据后进行一些特征提取与特征匹配,后端根据算法做一些优化。
SLAM特点: 精度足够、鲁棒性有待加强、可用于大规模分布式实施建图
目前定位的主流方法:
目前主流的方法是GPS + IMU,结合先验地图实现复杂场景定位,SLAM不依赖事先建好的地图,是未来发展的方向。
RTK模块作用: RTK模块接收GPS+IMU的消息,发布定位消息和定位状态给其他模块使用
输入:
输出:
RTK模块底层逻辑: 模块的核心在于GPS+IMU设备给出结果的精度,信息的解算由GPS和IMU设备提供,也可以直接用GPS和IMU原始数据解算。
NDT 模块作用: 接收GPS、IMU和借光雷达点云信息,通过和事先建好的NDT地图进行匹配,得到车辆当前的定位消息和定位状态发布给其他模块使用。
输入:
输出:
NDT 模块底层逻辑:
NDT 地图构建
准备工作:准备录制好的数据包,从包中解压出点云和点云当前的pose, 对pose进行校正,保存在指定的文件夹中
MSF 模块作用: 接收GPS、IMU和激光雷达点云消息,通过NDT输出的结果和组合导航输出的结果进行融合,得到当前的定位消息和定位状态,发布给其他模块使用
输入:
输出:
MSF模块底层逻辑: MSF模块对GPS和NDT的结果进行融合,从而提高系统的鲁棒性,因此如何融合是MSF的关键。
参考文章及视频
星火第四讲 Part2——Apollo 定位模块详解与实践