分享好友 资讯首页 频道列表

关联系统-高精定位模块(GNSS+IMU+RTK)

2025-01-08 18:54

作者:王文林 | 奇瑞自动驾驶产品经理

汽车测试网特约作者


高精定位模块在自动驾驶系统中,高精定位模块是不可或缺的,他扮演着“我在哪”角色,系统只有知道自己当前的位置才能执行“去哪里“、”怎么去“的任务。目前主流的高精定位模块基本都是GNSS+IMU+RTK的方案,由GNSS获取大概位置,之后经RTK解算获取精准位置,同时在GNSS信号空档期由IMU基于之前位置进行位置推算,如此往复,便可持续获得车辆的精准位置,以便系统基于精准定位来控制车辆。下面我们详细介绍以下几个组件:

GNSS是什么?GNSS(Global Navigation Satellite System),全名为全球导航卫星系统,这是卫星的泛称,其具体包括:中国的北斗卫星导航系统(BDS)、美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)和欧盟的伽利略卫星导航系统(GALILEO)以及日本的冲天顶卫星导航系统。

基于GNSS如何获取车辆位置?上面我们知道了GNSS是天上的卫星,但如何基于卫星获取车辆位置呢?这里要说明一下,卫星发射到天上是要干活的,它要发射电磁波给地面,用以支持地面人员获取相关信息。不同的卫星发射的电磁波的频率也有所不同,如下所示:

图片

根据卫星工作频段选择对应的GNSS天线,即可获取卫星发射下来的信息;不过并不是所有的频段都可以使用,有些是民用的,有些是军用的,自动驾驶需要选择民用的;当拿到卫星数据后,GNSS模块负责解析卫星数据,获取卫星坐标(x,y,z)、卫星发射信号到天线接收的时间T【通过光速*T可计算出到达卫星的距离】、卫星的时间戳等信息;下面说明以下几个信息的用处:

——计算自车绝对坐标:对于单颗卫星,我们知道了这颗卫星的具体坐标以及我们到达这个坐标的距离,但这样是无法确定我们的具体位置的,因为位置是由经度、纬度、高度三个未知量构成,因此需要获取三颗卫星的坐标和距离才能明确我们的具体位置:  

图片

图片

然而距离是我们通过卫星的星历时间和光速算出来的,因此还要额外加一颗卫星才能算出我们的具体位置:

图片

——时间同步:在一个复杂的系统架构中,通信时间的一致性是非常重要的,整个架构通信必须依赖一个非常精准的时钟,此时卫星上的铷原子钟和铯原子钟就极为合适,其材质极其稳定且精密度极高,非常适合做整个架构的时间Master

RTK是什么?RTK(Real-Time Kinematic)是一种实时动态载波相位差分技术,在解释其原理之前,先讲下为什么需要RTK,光靠GNSS算出的位置不行嘛?在文章开头我们讲过,GNSS算出的是大概位置,其精度在米级别,主要是受天体物理模型误差【潮汐、引力、岁差等】、星间误差【卫星钟差、天线多径、轨道误差等】、传播误差【大气电离层、对流层折射带来的延迟和路径形变、高楼/树木带来的遮挡和多径等】、接收误差【天线相位中心、设备噪声、信号测量精度、通道一致性、算法性能等】影响,导致定位精度不够,因此需要通过RTK服务将这些误差进行纠正,即RTK服务是将车辆附近空间的误差因子计算出来给到车辆,用以修正定位;目前市面上的RTK服务分为两种:NRTK和PPP-RTK,下面分别解释一下其原理:

NRTK-网络实时动态定位技术图片

NRTK(network real-time kinematic positioning),全称网络实时动态定位技术,使用的是地基增强系统(GBAS,ground-based augmentation systems)),采用观测空间表示法(OSR算法),其基本流程如下:

——建立已知精确位置坐标的地面基准站【密度一般为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算法),其基本流程如下:
——建立已知精确位置坐标的地面基准站【由于SSR算法会建立观测误差模型,因此对地面基站数量要求较低,密度一般为200km】
——地面基准站接收卫星定位数据,并把数据发送给中央处理集群【也就是服务商】
——中央处理集群会基于地面基准站发送过来的观测数据以及已知位置信息,生成基于状态域的误差模型【包括卫星轨道误差、卫星钟差、卫星伪距偏差、卫星相位偏差、电离层延迟、对流层延迟】
——中央处理集群将基于状态域的误差模型参数【此数据为各个误差模型的函数因子】通过4G/5G通讯网络或地球同步轨道卫星单向发给终端——终端通过服务商部署的PPP-RTK SDK以及自身GNSS定位数据解析误差数据,进而用来修正定位

NRTK与PPP-RTK两者的区别上面介绍了两者的工作机制,下面完整的介绍一下两者的差异点:——技术路线:图片

NRTK:采用OSR算法,即观测空间表示法,主要通过差分GNSS技术实现高精度定位。其基本原理是利用一个已知精确位置的基准站来计算并传输误差修正值给用户接收机,从而消除大部分误差,提高定位精度。具体来说,OSR算法通过对观测值进行误差描述,当接收机和基准站足够近时,可以通过基准站计算的误差值来修正接收机的定位结果。OSR算法为双向通信,用户发送GNSS位置给服务商,服务商才会发送误差数据给用户

PPP-RTK:采用SSR算法,即状态空间表示法,通过建立观测误差模型来描述卫星信号中的误差项,主要包括电离层误差和大气层误差等。SSR算法通过这些模型来预测和修正误差,从而提高定位精度。SSR算法为单向通信,用户仅需接收误差模型参数即可,无需发送数据

——收敛时间:NRTK:通常可以在几秒(接近1秒)内完成收敛PPP-RTK:敛速度较慢(<15s)

——定位精度:NRTK:定位精度在1-2cm之间PPP-RTK:定位精度在2-5cm之间

——基站密度/成本要求:NRTK:对基站密度要求较高(50km),若实现全国覆盖,至少需要上千个基站,建设成本及维修成本高PPP-RTK:对基站密度要求比较低(200km),若实现全国覆盖,仅需几百个就可以,成本相对较低

——播发方式:NRTK:需要4G/5G通信,依赖通信基站,当用户数量上升时,会存在带宽问题;PPP-RTK:可支持4G/5G通信和地球同步卫星通信两种;由于地球同步轨道卫星对全球均可播发,因此针对信号不好的海上或者无4G/5G信号的区域,卫星通信效果会比较显著;

——差分数据:图片

NRTK:混合了卫星轨道误差、卫星钟差、卫星伪距偏差、卫星相位偏差、电离层延迟、对流层延迟等综合误差的数据值,无法区分出到单个因素的影响

PPP-RTK:对卫星轨道误差、卫星钟差、卫星伪距偏差、卫星相位偏差、电离层延迟、对流层延迟等单独建模,数据为模型参数,可解析出单个因素的影响

——隐私保护:NRTK:用户需要将自己当前位置发送给服务商才能获取自身位置的误差PPP-RTK:用户无需告诉服务商自身位置,仅需接收发送的误差模型参数即可

——完好性:随着自动驾驶等级的不断提升,高阶自驾对高精定位的功能安全提出了要求,此时需要有个高精定位的量化指标,即为完好性
NRTK:由于NRTK的误差数据时将所有误差因素混在一起的,无法区分是哪些因素造成的这种误差,也就无法采取对应的策略,因此不具备功能安全概念PPP-RTK:上面讲到PPP-RTK的误差数据会对各个误差因素单独建模,因此能够明确的知道是哪些因素导致了这种误差,同时可对每种误差模型进行完好性监控,当出现问题时,可以采取对应的降级策略

IMU是什么?图片

IMU(Inertial Measuring Unit),全称为惯性测量单元,是测量物体三轴姿态角(或角速率)以及加速度的装置。一般自动驾驶使用的是六轴IMU,包含了三个单轴的加速度计和三个单轴的陀螺仪,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。或许有人会好奇,我上面已经有GNSS和RTK了,我已经知道了我当前的具体位置,为什么还需要IMU?这里解释一下,卫星的信号发送频率是10HZ,也就是1秒可定位10次,假设车辆以20m/s的速度向前行驶,20m除以10HZ,即2m,也就是卫星定位1次,当下次再定位时,车辆已行驶了2m了,在这2m期间车辆位置发生了哪些变化,系统是无法知道的,因此需要加上IMU,IMU的频率为100HZ-200HZ,在卫星信号消失时,IMU足以推算自车的准确的位置。但IMU有个问题时误差会随时间累计,因此也需要GNSS+RTK隔段时间来帮他纠正,这样三者相辅相成,很好的担任起自动驾驶的定位工作了。

影响IMU性能的关键指标
——零偏:
IMU零偏是指当传感器输入角速度为零时,输出信号仍然存在偏差的现象。这种偏差可以用等效输入角速率来表示,单位通常为°/h或m/s²。零偏是一个随机变量,它在一定范围内缓慢地随机漂移。即使在静止状态下,IMU的输出信号也不是完全为零,而是围绕一个固定值波动。IMU零偏的主要来源包括传感器内部的物理特性、制造工艺、温度变化等因素,其中,温度变化是影响IMU零偏的重要因素之一。温度变化会导致传感器内部的物理特性发生变化,从而影响零偏的稳定性。

——零偏不稳定性:IMU的零偏不稳定性是指IMU(惯性测量单元)在静止状态下,其输出值会随着时间的推移而发生变化的现象。这种现象主要是由于IMU内部的传感器元件随时间变化的偏差,导致测量结果的不稳定

——噪声:噪声则是由传感器内部和外部因素引起的随机波动;影响姿态估计的连续性和精度,以及位置和速度的精度;

——角度随机游走:IMU角度随机游走(Angular Random Walk, ARW)是指陀螺仪输出的角度白噪声在时间积分过程中产生的随机游走现象。这种现象是由于陀螺仪在测量角速率时,其输出包含白噪声,这些噪声在积分过程中会累积成角度误差,表现出随机游走的特性

组合惯导技术-松耦合、紧耦合、深耦合上面我们介绍了GNSS、RTK、IMU的原理,下面介绍一下三者的组合使用,一共有三种,分别是:松耦合、紧耦合、深耦合

松耦合

图片

松耦合的概念类似于感知的后处理,GNSS和IMU两者输出的是各自处理后的定位信息给卡尔曼滤波器,如果有RTK定位结果,就以RTK定位信息为准,同时用RTK定位的结果去修正IMU的累计误差,如果没有RTK定位信息,则使用IMU的推算结果,输出的是IMU推算出来的位置信息;松耦合的优点是结构简单,缺点是当丢星或者没有4G/5G信号的时候只能靠IMU推算,误差会随时间逐渐累积,定位就会不准

紧耦合图片

在紧耦合的导航系统中,GNSS的伪距以及伪距速率的测量将与IMU预测的相应值进行做差,并将差值反馈给kalman滤波器,用来估计惯导系统的误差。惯导系统的输出经过误差的校正之后,得到组合导航的解。相比松耦合,紧耦合多了GNSS数据的预测机制,当出现丢星或卫星信号不好时,紧耦合仍可以通过IMU预测更新GNSS坐标。

深耦合

图片

深耦合在紧耦合的基础上,将INS模块的部分数据直接送到基带芯片里,将INS的惯性数据作为GNSS解算的一部分。通过INS准确的相对多普勒变化信息,辅助信号跟踪,提高恶劣环境下多普勒的估计准确度,从而提高载波相位、伪距等观测量的精度和连续性,减少观测量中断和跳变的问题,从而有效提高组合导航精度和可靠性。

定位信息的保密,算法的部署,偏转插件的使用出于国家安全及个人隐私考虑,精准的定位信息是不能被读取到的,这就要求跟定位相关的所有算法都必须部署在自驾域控制器中,由自驾控制器做最终的解算,同时在定位数据的使用上,禁止使用真实数据,需将与定位相关的算法模块提交给政府,用于申请偏转插件,与定位算法联合编译

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_50875614/article/details/144226711

来源:汽车测试网

评论 0
同类信息