惯性导航公式浅推

引言

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

惯性导航状态方程

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

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

首先给出姿态矩阵对时间的微分方程:
R ˙ b n = R b n Ω n b b (1-1) \dot R_b^n = R_b^n\Omega_{nb}^b \tag{1-1} R˙bn=RbnΩnbb(1-1)
其中 R b n R_b^n Rbn表示b系到n系的旋转(姿态)矩阵。 Ω n b b \Omega_{nb}^b Ωnbb表示b系相对于n系的旋转角速度在b系下的表示 ω n b b = [ ω x , ω y , ω z ] T \omega_{nb}^b=[\omega_x,\omega_y,\omega_z]^T ωnbb=[ωx,ωy,ωz]T的斜对称矩阵:
Ω n b b = [ 0 − ω z ω y ω z 0 − ω x − ω y ω x 0 ] \Omega_{nb}^b=\begin {bmatrix} 0 &-\omega_z &\omega_y \\ \omega_z &0 &-\omega_x \\ -\omega_y &\omega_x &0 \end {bmatrix} Ωnbb=0ωzωyωz0ωxωyωx0
常用坐标系及其相互关系:
ω n b b \omega_{nb}^b ωnbb一般还不是陀螺仪的输出值 ω i b b \omega_{ib}^b ωibb,陀螺仪输出值是载体坐标系 b b b系相对于惯性坐标系 i i i系的旋转角速度,而我们通常用于计算的参考坐标系 n n n系不是惯性坐标系 i i i。在地球上常用的惯性系为地心坐标系: z z z轴为地球自转轴, x x x轴和 y y y轴在赤道平面互相垂直,坐标系保持静止。 n n n系有时表示地心地固(ECEF)坐标系,即通常所说的 e e e系, z z z轴为地球自转轴, x x x轴和 y y y轴在赤道平面互相垂直,坐标系随地球自转而转动。即ECEF系相对于 i i i系,有一个固定的旋转角速度,即地球自转角速度。 n n n系有时表示当地(Local)坐标系 l l l系。 l l l系通常有东北天(E(x)-N(y)-U(z))系和北东地(N(x)-E(y)-D(z))系之分。 l l l系将当前所在位置的水平面作为自己x,y轴所在平面,z轴垂直于水平面,一般是指向重力方向(Down)或反方向(Up)。 l l l系相对于 e e e系也会有旋转速度,这个旋转速度根据 l l l系在地球上的位置变化速度而定,但除了高速运动的载体(飞机,导弹)外,低速运动载体(如车载)的 l l l系因其速度而产生的相对于 e e e系旋转速度极小,一般忽略不计(陀螺仪精度不足以感知这个小量)。(以上都是坐标系都是右手坐标系)
如果选取 l l l系为参考坐标系 n n n系的话,则有:
ω n b b = ω i b b − ω i e b − ω e l b (1-2) \omega_{nb}^b = \omega_{ib}^b-\omega_{ie}^b-\omega_{el}^b \tag{1-2} ωnbb=ωibbωiebωelb(1-2)
其中 ω i e b \omega_{ie}^b ωieb为陀螺仪的原始输出值。注意在低速运动载体中最后一项 ω e l b \omega_{el}^b ωelb可以忽略;而在低精度陀螺仪中后两项 ω i e b \omega_{ie}^b ωieb ω e l b \omega_{el}^b ωelb都可以忽略,因其精度不足以感知这两个小量。
下面解微分方程(1-1):
公式(1-1)相当于如下形式的微分方程: y ˙ = y x \dot y = yx y˙=yx。解这个微分方程:
d y d t = y x d y y = x d t ln ⁡ ( y ) ∣ k k + 1 = ∫ x d t ln ⁡ ( y k + 1 ) − ln ⁡ ( y k ) = ∫ x d t ln ⁡ ( y k + 1 y k ) = ∫ x d t y k + 1 y k = e ∫ x d t y k + 1 = y k e ∫ x d t \frac{dy}{dt} = yx \\ \frac{dy}{y} = xdt \\ \ln(y)|_k^{k+1} = \int xdt \\ \ln(y_{k+1})-\ln(y_k) = \int xdt \\ \ln(\frac{y_{k+1}}{y_k}) = \int xdt \\ \frac{y_{k+1}}{y_k} = e^{\int xdt}\\ y_{k+1} = y_ke^{\int xdt} dtdy=yxydy=xdtln(y)kk+1=xdtln(yk+1)ln(yk)=xdtln(ykyk+1)=xdtykyk+1=exdtyk+1=ykexdt
因此,姿态矩阵的更新方程为:
R b , k + 1 n = R b , k n ∗ e ∫ Ω n b , k b d t (1-3) R_{b,k+1}^n = R_{b,k}^n*e^{\int \Omega_{nb,k}^bdt} \tag{1-3} Rb,k+1n=Rb,kneΩnb,kbdt(1-3)
上式对 e e e指数展开,写成离散递归的形式:
R b , k + 1 n = R b , k n ∗ ∑ n = 0 n = ∞ ( Ω n b , k b Δ t ) n n ! (1-4) R_{b,k+1}^n = R_{b,k}^n*\sum_{n=0}^{n=\infty}\frac{(\Omega_{nb,k}^b\Delta t)^n}{n!} \tag{1-4} Rb,k+1n=Rb,knn=0n=n!(Ωnb,kbΔt)n(1-4)
S = Ω n b , k b Δ t S = \Omega_{nb,k}^b\Delta t S=Ωnb,kbΔt,则:
R b , k + 1 n = R b , k n ∗ ∑ n = 0 n = ∞ ( S ) n n ! (1-5) R_{b,k+1}^n = R_{b,k}^n*\sum_{n=0}^{n=\infty}\frac{(S)^n}{n!}\tag{1-5} Rb,k+1n=Rb,knn=0n=n!(S)n(1-5)
θ ⃗ = ω n b , k b ∗ Δ t = [ θ x , θ y , θ z ] T \vec {\theta} = \omega_{nb,k}^b*\Delta t=[\theta_x,\theta_y,\theta_z]^T θ =ωnb,kbΔt=[θx,θy,θz]T,则:
S = [ 0 − θ z θ y θ z 0 − θ x − θ y θ x 0 ] (1-6) S = \begin{bmatrix} 0 &-\theta_z &\theta_y \\ \theta_z &0 &-\theta_x \\ -\theta_y &\theta_x &0 \end{bmatrix} \tag{1-6} S=0θzθyθz0θxθyθx0(1-6)
对于 S S S有如下性质:
S 3 = − ∣ θ ⃗ ∣ 2 S ; S 4 = − ∣ θ ⃗ ∣ 2 S 2 ; S 5 = ∣ θ ⃗ ∣ 4 S ; S 6 = ∣ θ ⃗ ∣ 2 S 2 S^3 = -|\vec{\theta}|^2S;S^4 = -|\vec{\theta}|^2S^2;S^5 = |\vec{\theta}|^4S;S^6 = |\vec{\theta}|^2S^2 S3=θ 2S;S4=θ 2S2;S5=θ 4S;S6=θ 2S2
其中: ∣ θ ⃗ ∣ 2 = θ x 2 + θ y 2 + θ z 2 |\vec{\theta}|^2 = \theta_x^2+\theta_y^2+\theta_z^2 θ 2=θx2+θy2+θz2
把式(1-5)展开:
R b , k + 1 n = R b , k n ∗ [ I + S 1 ! + S 2 2 ! + S 3 3 ! + S 4 4 ! + S 5 5 ! + . . . ] (1-7) R_{b,k+1}^n = R_{b,k}^n*[I+\frac{S}{1!}+\frac{S^2}{2!}+\frac{S^3}{3!}+\frac{S^4}{4!}+\frac{S^5}{5!}+...]\tag{1-7} Rb,k+1n=Rb,kn[I+1!S+2!S2+3!S3+4!S4+5!S5+...](1-7)
根据 S S S的性质,可以将(1-7)式改写为:
R b , k + 1 n = R b , k n ∗ [ I + S + S 2 2 ! − ∣ θ ⃗ ∣ 2 3 ! S − ∣ θ ⃗ ∣ 2 4 ! S 2 + ∣ θ ⃗ ∣ 4 5 ! S + ∣ θ ⃗ ∣ 4 6 ! S 2 − . . . ] (1-8) R_{b,k+1}^n = R_{b,k}^n*[I+S+\frac{S^2}{2!}-\frac{|\vec\theta|^2}{3!}S-\frac{|\vec\theta|^2}{4!}S^2+\frac{|\vec\theta|^4}{5!}S+\frac{|\vec\theta|^4}{6!}S^2-...]\tag{1-8} Rb,k+1n=Rb,kn[I+S+2!S23!θ 2S4!θ 2S2+5!θ 4S+6!θ 4S2...](1-8)
合并同类项:
R b , k + 1 n = R b , k n ∗ [ I + ( 1 2 ! − 1 4 ! ∣ θ ⃗ ∣ 2 + 1 6 ! ∣ θ ⃗ ∣ 4 − . . . ) S 2 + ( I − 1 3 ! ∣ θ ⃗ ∣ 2 + 1 5 ! ∣ θ ⃗ ∣ 4 − . . . ) S ] (1-9) R_{b,k+1}^n = R_{b,k}^n*[I+(\frac{1}{2!}-\frac{1}{4!}|\vec\theta|^2+\frac{1}{6!}|\vec\theta|^4-...)S^2+(I-\frac{1}{3!}|\vec\theta|^2+\frac{1}{5!}|\vec\theta|^4-...)S]\tag{1-9} Rb,k+1n=Rb,kn[I+(2!14!1θ 2+6!1θ 4...)S2+(I3!1θ 2+5!1θ 4...)S](1-9)
我们知道,对于正弦和余弦函数有如下性质:
sin ⁡ θ = θ − θ 3 3 ! + θ 5 5 ! − θ 7 7 ! + . . . \sin \theta = \theta-\frac{\theta^3}{3!}+\frac{\theta^5}{5!}-\frac{\theta^7}{7!}+... sinθ=θ3!θ3+5!θ57!θ7+...
sin ⁡ θ θ = I − θ 2 3 ! + θ 4 5 ! − θ 6 7 ! + . . . \frac{\sin\theta}{\theta} = I-\frac{\theta^2}{3!}+\frac{\theta^4}{5!}-\frac{\theta^6}{7!}+... θsinθ=I3!θ2+5!θ47!θ6+...
cos ⁡ θ = I − θ 2 2 ! + θ 4 4 ! − θ 6 6 ! + . . . \cos\theta = I-\frac{\theta^2}{2!}+\frac{\theta^4}{4!}-\frac{\theta^6}{6!}+... cosθ=I2!θ2+4!θ46!θ6+...
1 − cos ⁡ θ θ 2 = 1 2 ! − θ 2 4 ! + θ 4 6 ! − . . . \frac{1-\cos\theta}{\theta^2} = \frac{1}{2!}-\frac{\theta^2}{4!}+\frac{\theta^4}{6!}-... θ21cosθ=2!14!θ2+6!θ4...
根据以上性质,式(9)可以改写为:
R b , k + 1 n = R b , k n ∗ ( I + sin ⁡ ∣ θ ⃗ ∣ ∣ θ ⃗ ∣ S + 1 − cos ⁡ ∣ θ ⃗ ∣ ∣ θ ⃗ ∣ 2 S 2 ) (1-10) R_{b,k+1}^n = R_{b,k}^n*(I+\frac{\sin|\vec\theta|}{|\vec\theta|}S+\frac{1-\cos|\vec\theta|}{|\vec\theta|^2}S^2)\tag{1-10} Rb,k+1n=Rb,kn(I+θ sinθ S+θ 21cosθ S2)(1-10)
公式(1-10)为著名的Rodrigues公式。有了陀螺仪的测量数据和采样时间 Δ t \Delta t Δt,利用上式就可以进行姿态的更新。值得注意的是,当角速度的测量值非常小的时候,公式(1-10)近似为:
R b , k + 1 n = R b , k n ∗ ( I + S ) (1-10.1) R_{b,k+1}^n = R_{b,k}^n*(I+S)\tag{1-10.1} Rb,k+1n=Rb,kn(I+S)(1-10.1)

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值