惯性导航公式浅推

  • 引言
  • 惯性导航状态方程
  • 角速度积分得到姿态(姿态矩阵更新方程):


引言

之前推过惯导的更新方程,但是久而久之又会忘掉一些。今天刚看了一篇论文,又重新推了一下。这里将自己理解的推导过程做个记录,便于以后翻看,同时通过记录的方式,加深自己的印象。

惯性导航状态方程

惯性导航所用的传感器就是我们通常所说的IMU(Inetial Measurement Unit),一般包括三轴加速度计和三轴陀螺仪。陀螺仪输出的是载体实时的旋转角速度,加速度计输出的是载体实时的加速度和重力加速度的组合加速度。通过这两个量,我们可以实时计算载体的位移,速度和姿态。其中位移和速度通过加速度对时间积分得到,姿态通过角速度对时间积分得到:

角速度积分得到姿态(姿态矩阵更新方程):

首先给出姿态矩阵对时间的微分方程:
android 惯导 路径绘制 惯导系统导航方程_惯性导航
其中android 惯导 路径绘制 惯导系统导航方程_slam_02表示b系到n系的旋转(姿态)矩阵。android 惯导 路径绘制 惯导系统导航方程_惯性导航_03表示b系相对于n系的旋转角速度在b系下的表示android 惯导 路径绘制 惯导系统导航方程_惯性导航_04的斜对称矩阵:
android 惯导 路径绘制 惯导系统导航方程_陀螺仪_05
常用坐标系及其相互关系:
android 惯导 路径绘制 惯导系统导航方程_slam_06一般还不是陀螺仪的输出值android 惯导 路径绘制 惯导系统导航方程_slam_07,陀螺仪输出值是载体坐标系android 惯导 路径绘制 惯导系统导航方程_slam_08系相对于惯性坐标系android 惯导 路径绘制 惯导系统导航方程_传感器_09系的旋转角速度,而我们通常用于计算的参考坐标系android 惯导 路径绘制 惯导系统导航方程_惯性导航_10系不是惯性坐标系android 惯导 路径绘制 惯导系统导航方程_传感器_09。在地球上常用的惯性系为地心坐标系:android 惯导 路径绘制 惯导系统导航方程_slam_12轴为地球自转轴,android 惯导 路径绘制 惯导系统导航方程_陀螺仪_13轴和android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_14轴在赤道平面互相垂直,坐标系保持静止。android 惯导 路径绘制 惯导系统导航方程_惯性导航_10系有时表示地心地固(ECEF)坐标系,即通常所说的android 惯导 路径绘制 惯导系统导航方程_陀螺仪_16系,android 惯导 路径绘制 惯导系统导航方程_slam_12轴为地球自转轴,android 惯导 路径绘制 惯导系统导航方程_陀螺仪_13轴和android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_14轴在赤道平面互相垂直,坐标系随地球自转而转动。即ECEF系相对于android 惯导 路径绘制 惯导系统导航方程_传感器_09系,有一个固定的旋转角速度,即地球自转角速度。android 惯导 路径绘制 惯导系统导航方程_惯性导航_10系有时表示当地(Local)坐标系android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系。android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系通常有东北天(E(x)-N(y)-U(z))系和北东地(N(x)-E(y)-D(z))系之分。android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系将当前所在位置的水平面作为自己x,y轴所在平面,z轴垂直于水平面,一般是指向重力方向(Down)或反方向(Up)。android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系相对于android 惯导 路径绘制 惯导系统导航方程_陀螺仪_16系也会有旋转速度,这个旋转速度根据android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系在地球上的位置变化速度而定,但除了高速运动的载体(飞机,导弹)外,低速运动载体(如车载)的android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系因其速度而产生的相对于android 惯导 路径绘制 惯导系统导航方程_陀螺仪_16系旋转速度极小,一般忽略不计(陀螺仪精度不足以感知这个小量)。(以上都是坐标系都是右手坐标系)
如果选取android 惯导 路径绘制 惯导系统导航方程_陀螺仪_22系为参考坐标系android 惯导 路径绘制 惯导系统导航方程_惯性导航_10系的话,则有:
android 惯导 路径绘制 惯导系统导航方程_惯性导航_32
其中android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_33为陀螺仪的原始输出值。注意在低速运动载体中最后一项android 惯导 路径绘制 惯导系统导航方程_slam_34可以忽略;而在低精度陀螺仪中后两项android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_33android 惯导 路径绘制 惯导系统导航方程_slam_34都可以忽略,因其精度不足以感知这两个小量。
下面解微分方程(1-1):
公式(1-1)相当于如下形式的微分方程:android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_37。解这个微分方程:
android 惯导 路径绘制 惯导系统导航方程_传感器_38
因此,姿态矩阵的更新方程为:
android 惯导 路径绘制 惯导系统导航方程_陀螺仪_39
上式对android 惯导 路径绘制 惯导系统导航方程_陀螺仪_16指数展开,写成离散递归的形式:
android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_41
android 惯导 路径绘制 惯导系统导航方程_惯性导航_42,则:
android 惯导 路径绘制 惯导系统导航方程_传感器_43
android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_44,则:
android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_45
对于android 惯导 路径绘制 惯导系统导航方程_陀螺仪_46有如下性质:
android 惯导 路径绘制 惯导系统导航方程_陀螺仪_47
其中:android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_48
把式(1-5)展开:
android 惯导 路径绘制 惯导系统导航方程_slam_49
根据android 惯导 路径绘制 惯导系统导航方程_陀螺仪_46的性质,可以将(1-7)式改写为:
android 惯导 路径绘制 惯导系统导航方程_陀螺仪_51
合并同类项:
android 惯导 路径绘制 惯导系统导航方程_惯性导航_52
我们知道,对于正弦和余弦函数有如下性质:
android 惯导 路径绘制 惯导系统导航方程_陀螺仪_53
android 惯导 路径绘制 惯导系统导航方程_惯性导航_54
android 惯导 路径绘制 惯导系统导航方程_android 惯导 路径绘制_55
android 惯导 路径绘制 惯导系统导航方程_惯性导航_56
根据以上性质,式(9)可以改写为:
android 惯导 路径绘制 惯导系统导航方程_slam_57
公式(1-10)为著名的Rodrigues公式。有了陀螺仪的测量数据和采样时间android 惯导 路径绘制 惯导系统导航方程_陀螺仪_58,利用上式就可以进行姿态的更新。值得注意的是,当角速度的测量值非常小的时候,公式(1-10)近似为:
android 惯导 路径绘制 惯导系统导航方程_slam_59

以上就是姿态矩阵的更新方程的推导。
未完待续。。。。