惯性导航一般集成在GPS设备中,由供应商集成。那么这里有什么需要讨论的呢?我们要知道,在车辆行驶的过程中,我们是可以获取到GPS的偏航率和速度信号的,而车辆本身也有一套传感器来获取偏航率和速度,而且由于航位推算是自动驾驶的重要组成部分,理解惯性导航的工作原理可以帮助我们进行基于人体的航位推算。惯导目前,GNSS+IMU组成的组合导航系统是主流的定位系统方案。惯性导航系统是唯一能够输出完整六自由度数据的装置。数据更新频率高,是定位信息的融合中心。惯导使用的核心算法主要包括三种:1.惯导计算算法;2.组合导航卡尔曼滤波器的耦合。3.环境特征信息与惯性导航的融合。组合导航系统核心算法框架硬件及原理惯性导航系统(INS)利用惯性传感器(IMU)测量载体的比力和角速度信息,结合给定初始条件,与信息融合GNSS和其他系统进行实时计算的自主导航系统,具有速度、位置和姿态等参数。具体来说,惯性导航系统是一种航位推算导航。即根据连续测量的载体航向角和速度,由已知点的位置计算出下一点的位置,从而可以连续测量运动体的当前位置。惯性系统工作原理图惯性导航系统利用加速度计和陀螺仪传感器测量载体的运动参数。其中,三个垂直排列的陀螺仪用于测量载体绕自身三个坐标轴的旋转角速度,同时也对地球自转角速度敏感。加速度计是根据牛顿第二定律,采用电容式、压阻式或热对流原理,通过测量质量块在加速过程中相应的惯性力来获得加速度值。用于测量运动体坐标系上各轴的加速度。惯性系统工作原理图惯性导航通过对陀螺仪测量的角速度进行积分运算和坐标变换,计算出车体的姿态角(横滚、俯仰角)和方位角。可以根据姿态角计算出各坐标轴上的重力加速度分量,减去重力加速度分量后对加速度计测得的各轴加速度进行积分,得到速度和位置。惯性导航计算出的状态用于预测车辆的当前位置,然后与卫星定位接收器获得的位置(或观测数据)进行比较。比较偏差包括惯性导航的计算误差和卫星接收机的定位误差。通过数据融合算法加权后,用于修正惯导预测,使惯导预测越来越准确。惯导计算算法通常分为以下几个步骤:姿态更新:对陀螺仪输出的角速度进行积分,得到姿态增量,叠加到上次姿态上;坐标转换:从IMU载体坐标系到位置和速度求解坐标系(惯性坐标系);速度更新:需要考虑去除重力加速度得到惯性系下的加速度,通过积分得到速度;位置更新:通过对速度进行积分得到位置。惯性导航求解算法示意图在惯性导航中,导航方程的每次迭代都需要使用前一次导航结果作为初始值,因此惯性导航的初始化是比较重要的部分之一。姿态对准是指获取IMU的roll、pitch、yaw。roll和pitch的对准过程一般称为整平。汽车静止时,加速度计测得的比力只是重力引起的,可以用f=C*g求解;对于精度非常高的IMU,可以采用罗盘对准法。当汽车静止时,通过测量载体中心地球自转来确定载体的方位(yaw)。惯导初始化示意图组合导航卡尔曼滤波器的耦合利用卡尔曼滤波器的耦合融合IMU和GNSS的定位结果,即点云。可分为松耦合和紧耦合两种方式。松耦合滤波器利用位置和速度测量值与计算出的位置和速度之差作为组合导航滤波器的输入,即卡尔曼滤波器的量测。紧耦合数据包括GNSS导航参数、定位中的伪距、距离变化等。卡尔曼滤波器松耦合示意图。卡尔曼滤波器紧耦合示意图。卡尔曼滤波器松耦合和紧耦合的优缺点。以百度Apollo使用的惯性导航系统为例,采用松耦合的方式,并且使用了误差卡尔曼滤波器。惯性导航求解的结果用于卡尔曼滤波的时间更新,即预测;GNSS和点云定位的结果用于卡尔曼滤波器的测量更新。卡尔曼滤波器会输出位置、速度、姿态的误差来修正惯导模块,IMU期间的误差用于补偿IMU的原始数据。百度Apollo卡尔曼滤波器的松耦合卡尔曼滤波器融合展示了环境特征信息与惯性导航的融合。目前常用的GNSS+IMU组合惯导方案在某些场景下仍不能完全满足自动驾驶对定位精度稳定性的要求。例如,在GNSS信号长期较弱的场景,如城市建筑群、地下车库等,依靠GNSS信号更新精准定位不够稳定。视觉传感器定位等环境信息的融合定位已成为必然趋势。导航与环境感知信息融合融合架构示意图GNSS和激光雷达。经过惯性导航系统计算修正,最终输出满足自动驾驶要求的6自由度高精度位置信息。百度Apollo的惯性融合定位模块框架
