组合导航原理(九)——误差微分方程

 

令:

x^ = x + δx

(测量平差书上,是x^ = x0 + δx,将x^ 认为是真值)

x是真值

δx是误差

x^ 是测量值

如果放到泰勒展开式,可以得到:

f(x) = f(x0) + df(x) / dx * (  x  - x0 )  

当x0 = x^

那么:

f(x) = f(x^) + df(x) / dx * ( x  - x^)  = f(x0) + df(x) / dx * -δx

解得:-δx 

 x^ + -δx = x

刚好是优化的结果!


 

以 ωnie = [ ωe * cosφ ,0 , -ωesinφ ] T

φ^ = φ + δφ

注意,这里不是泰勒展开:(书上的所有地方,都不是泰勒展开!!!!

 ωnie^(1) =  ωe * cos(φ + δφ)

               =  ωe * (cos(φ) cos(δφ) - sin(φ)sin(δφ)  )

                ≈ ωe * cos(φ)  - ωesin(φ) δφ 

 δφ  = ....(目的1

暂时理解:要将所有的误差项,作为待求量,或者系统状态。卡尔曼滤波就是估计最优的δ, 最优(位置,速度,姿态) =  δ (位置,速度,姿态)+  测量值(位置,速度,姿态)

例如:φ就是维度,是位置分量

 δxk = Fδxk-1 + ωk-1 ( 用上一时刻的误差,估计下一时刻的误差  )


姿态微分方程

 旋转矩阵Cnb,对应的欧拉角为 [ Φ, θ,ψ ],假设有误差为 ϕ = [ ϕN , ϕE,  ϕD]T

 那么,但是欧拉角是不可以相加的,[ Φ+ϕN, θ+ϕE,ψ+ ϕD]T无意义

假设:

(1)最终要求的系为n^系(别名p系),那么有:

 (2)若ϕ = [ ϕN , ϕE,  ϕD]T,是从p系转到n系(未改正的n系)得: ϕn = [ ϕN , ϕE,  ϕD]T

因此

(掉过来n转p是 -ϕx )

 

 (Cnb ) ' = Cnb bnb X )

ωbnb X = ωbni X + ωbib X =   - ωbin X + ωbib X = ωbib X - ωbin X

 (Cn) ' = Cnbib X - ωbin X )

             = Cnb  ωbib X - Cnωbin X

重要公式:VR_X  = CR( Vb_X )CbR

(Cn) ' = Cnb  ωbib X - Cnωbin X

    = Cnb  ωbib X - Cnb   Cbn  ninX) Cnb

            =  Cnb  ωbib X -  (ωninX) Cnb

ωnin = ωnie + ωnen

 


 

 

 

忽略二阶小(小值 * 小值=  0)的情况下, 两个式子相等:

 

 

 

 误差,或者扰动项ϕn 的导数:

 

ϕ‘ =  - ωnin X ϕ + δωnin  δωnib

  问题:为什么要求导?直接表达ϕn 不好吗?

Φ = ∫ Φ' dt


 

δrN 是 在n系下,由于纬度φ误差δφ,造成的n系坐标在N轴方向上的误差

因此:

 ωnin = ωnie + ωnen

 

又δφ(纬度误差)为小值,因此 δωnie = (ωnie)^- ωnie

 

同理,求δωnen

 

 

  δωnin =  δωnie - δωnen

  δωnib

但是,IMU输出的是Δθ = ∫ ωbib

记得有公式:ωnib X =  Cnb  ωbibCnb 

而  ( ωnib X  +  δωnib X)  =  Cnb  ( ωbib  X +  δωbib X)Cnb

所以:δωnib X =  Cnb  δωbibCnb  , IMU的角速度误差δωbib  ,可以转化为投影在n系下的角速度误差δωnib 

δωbib = [ δωbib,N , δωbib,E  δωbib,D  ]T

必须注意的地方:

δωbib = [ δωbib,N , δωbib,E  δωbib,D  ]T 的顺序 

 


 

假设有如下定义:

 

b系的 [ X,  Y , Z ]对应方向 [右,前,上] 

当 Cnb = I时,[ X,  Y , Z ] 对准n系的 [ E, N , Z ]

Δθ 为小量时, Cb(k)b(k+1)= I + [ Δθ,  Δγ , Δψ  ]T , Δθ 为小量时绕哪个先都无所谓,

 

posted on 2023-03-01 14:00  耀礼士多德  阅读(146)  评论(0编辑  收藏  举报