组合导航原理(九)——误差微分方程
令:
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
(Cnb ) ' = Cnb (ωbib X - ωbin X )
= Cnb ωbib X - Cnb ωbin X
重要公式:VR_X = CRb ( Vb_X )CbR
(Cnb ) ' = Cnb ωbib X - Cnb ω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 , Δθ 为小量时绕哪个先都无所谓,