自动驾驶高精定位模块详解:GNSS+IMU+RTK技术原理与应用
自动驾驶高精定位模块详解:GNSS+IMU+RTK技术原理与应用
在自动驾驶系统中,高精定位模块扮演着至关重要的角色。它通过GNSS(全球导航卫星系统)、IMU(惯性测量单元)和RTK(实时动态载波相位差分技术)的协同工作,实现精准定位。本文将详细介绍这些组件的工作原理及其在自动驾驶中的应用。
GNSS:全球导航卫星系统
GNSS(Global Navigation Satellite System)是全球导航卫星系统的泛称,主要包括中国的北斗卫星导航系统(BDS)、美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)和欧盟的伽利略卫星导航系统(GALILEO)以及日本的冲天顶卫星导航系统。
卫星发射到天上是要干活的,它要发射电磁波给地面,用以支持地面人员获取相关信息。不同的卫星发射的电磁波的频率也有所不同,如下所示:
计算自车绝对坐标:对于单颗卫星,我们知道了这颗卫星的具体坐标以及我们到达这个坐标的距离,但这样是无法确定我们的具体位置的,因为位置是由经度、纬度、高度三个未知量构成,因此需要获取三颗卫星的坐标和距离才能明确我们的具体位置。然而距离是我们通过卫星的星历时间和光速算出来的,因此还要额外加一颗卫星才能算出我们的具体位置。
时间同步:在一个复杂的系统架构中,通信时间的一致性是非常重要的,整个架构通信必须依赖一个非常精准的时钟,此时卫星上的铷原子钟和铯原子钟就极为合适,其材质极其稳定且精密度极高,非常适合做整个架构的时间Master。
RTK:实时动态载波相位差分技术
RTK(Real-Time Kinematic)是一种实时动态载波相位差分技术,主要用于纠正GNSS定位中的误差。GNSS算出的是大概位置,其精度在米级别,主要是受天体物理模型误差、星间误差、传播误差和接收误差等因素影响。因此需要通过RTK服务将这些误差进行纠正。
目前市面上的RTK服务分为两种:NRTK和PPP-RTK。
NRTK:网络实时动态定位技术
NRTK(network real-time kinematic positioning)采用的是地基增强系统(GBAS,ground-based augmentation systems),其基本流程如下:
- 建立已知精确位置坐标的地面基准站(密度一般为50km)
- 地面基准站接收卫星定位数据,并把数据发送给中央处理集群
- 中央处理集群会基于地面基准站发送过来的观测数据以及已知位置信息,生成每个基站附近的误差信息
- 终端通过GNSS天线接收导航卫星数据,计算自身坐标位置,并通过4G/5G通讯网络将其发送给中央处理集群
- 中央处理集群根据终端请求位置,将距离其最近的虚拟参考站的误差数据通过4G/5G通讯网络发给终端
- 终端通过服务商部署的RTK SDK解析误差数据,进而用来修正定位
PPP-RTK:精密单点实时动态定位技术
PPP-RTK(precise point position real-time kinematic positioning)采用的是星基增强系统(SBAS,satellite based augmentation systems),其基本流程如下:
- 建立已知精确位置坐标的地面基准站(由于SSR算法会建立观测误差模型,因此对地面基站数量要求较低,密度一般为200km)
- 地面基准站接收卫星定位数据,并把数据发送给中央处理集群
- 中央处理集群会基于地面基准站发送过来的观测数据以及已知位置信息,生成基于状态域的误差模型
- 中央处理集群将基于状态域的误差模型参数通过4G/5G通讯网络或地球同步轨道卫星单向发给终端
- 终端通过服务商部署的PPP-RTK SDK以及自身GNSS定位数据解析误差数据,进而用来修正定位
NRTK与PPP-RTK两者的区别
特征 | NRTK | PPP-RTK |
---|---|---|
技术路线 | 采用OSR算法,即观测空间表示法 | 采用SSR算法,即状态空间表示法 |
收敛时间 | 通常可以在几秒(接近1秒)内完成收敛 | 敛速度较慢(<15s) |
定位精度 | 定位精度在1-2cm之间 | 定位精度在2-5cm之间 |
基站密度/成本要求 | 对基站密度要求较高(50km),建设成本及维修成本高 | 对基站密度要求比较低(200km),成本相对较低 |
播发方式 | 需要4G/5G通信,依赖通信基站 | 可支持4G/5G通信和地球同步卫星通信两种 |
差分数据 | 混合了多种误差的数据值 | 对各个误差因素单独建模 |
隐私保护 | 需要将自身位置发送给服务商 | 无需告知服务商自身位置 |
完好性 | 不具备功能安全概念 | 能够监控每种误差模型的完好性 |
IMU:惯性测量单元
IMU(Inertial Measuring Unit)是测量物体三轴姿态角以及加速度的装置。一般自动驾驶使用的是六轴IMU,包含了三个单轴的加速度计和三个单轴的陀螺仪。
IMU的主要性能指标包括:
- 零偏:IMU零偏是指当传感器输入角速度为零时,输出信号仍然存在偏差的现象。
- 零偏不稳定性:IMU的零偏不稳定性是指IMU在静止状态下,其输出值会随着时间的推移而发生变化的现象。
- 噪声:噪声是由传感器内部和外部因素引起的随机波动。
- 角度随机游走:IMU角度随机游走是指陀螺仪输出的角度白噪声在时间积分过程中产生的随机游走现象。
组合惯导技术:松耦合、紧耦合、深耦合
松耦合
松耦合的概念类似于感知的后处理,GNSS和IMU两者输出的是各自处理后的定位信息给卡尔曼滤波器,如果有RTK定位结果,就以RTK定位信息为准,同时用RTK定位的结果去修正IMU的累计误差,如果没有RTK定位信息,则使用IMU的推算结果,输出的是IMU推算出来的位置信息。
紧耦合
在紧耦合的导航系统中,GNSS的伪距以及伪距速率的测量将与IMU预测的相应值进行做差,并将差值反馈给kalman滤波器,用来估计惯导系统的误差。惯导系统的输出经过误差的校正之后,得到组合导航的解。
深耦合
深耦合在紧耦合的基础上,将INS模块的部分数据直接送到基带芯片里,将INS的惯性数据作为GNSS解算的一部分。通过INS准确的相对多普勒变化信息,辅助信号跟踪,提高恶劣环境下多普勒的估计准确度,从而提高载波相位、伪距等观测量的精度和连续性,减少观测量中断和跳变的问题,从而有效提高组合导航精度和可靠性。
定位信息的保密与算法部署
出于国家安全及个人隐私考虑,精准的定位信息是不能被读取到的,这就要求跟定位相关的所有算法都必须部署在自驾域控制器中,由自驾控制器做最终的解算,同时在定位数据的使用上,禁止使用真实数据,需将与定位相关的算法模块提交给政府,用于申请偏转插件,与定位算法联合编译。