从运动学到惯性测量单元IMU

Inertial Measurement Unit

1、旋转矩阵求导

在这里插入图片描述

考虑从世界坐标系 { W } \{W\} {W}原点出发的向量 p \mathbf{p} p绕单位轴 u \mathbf{u} u旋转,角速度矢量可以表示为 ω = θ ˙ u \boldsymbol{\omega}=\dot{\theta}\mathbf{u} ω=θ˙u。易得向量 p \mathbf{p} p末端点的速度矢量,即 p \mathbf{p} p对时间的一阶导数为
d p d t = ω × p \frac{\mathrm{d}\mathbf{p}}{\mathrm{d}t}=\boldsymbol{\omega}\times\mathbf{p} dtdp=ω×p
事实上,当角速度大小和方向随时间改变时,上式仍然成立。

设机体坐标系 { B } \{B\} {B}到世界坐标系 { W } \{W\} {W}的旋转矩阵 R w b = [ i B , j B , k B ] \mathbf{R}_{wb}=\left[\mathbf{i}_B,\mathbf{j}_B,\mathbf{k}_B\right] Rwb=[iB,jB,kB],若三个轴 i B , j B , k B \mathbf{i}_B,\mathbf{j}_B,\mathbf{k}_B iB,jB,kB以角速度 ω \boldsymbol{\omega} ω旋转,则根据上式,三个轴对时间的一阶导数为
d i B d t = ω × i B , d j B d t = ω × j B , d k B d t = ω × k B \frac{\mathrm{d}\mathbf{i}_B}{\mathrm{d}t}=\boldsymbol{\omega}\times{\mathbf{i}_B},\quad\frac{\mathrm{d}\mathbf{j}_B}{\mathrm{d}t}=\boldsymbol{\omega}\times{\mathbf{j}_B},\quad\frac{\mathrm{d}\mathbf{k}_B}{\mathrm{d}t}=\boldsymbol{\omega}\times{\mathbf{k}_B} dtdiB=ω×iB,dtdjB=ω×jB,dtdkB=ω×kB
R w b \mathbf{R}_{wb} Rwb对时间的一阶导数为
R ˙ w b = [ ω × i B ,   ω × j B ,   ω × k B ] = ω × R w b \dot{\mathbf{R}}_{wb}=[\boldsymbol{\omega}\times{\mathbf{i}_B},\,\boldsymbol{\omega}\times{\mathbf{j}_B},\,\boldsymbol{\omega}\times{\mathbf{k}_B}]=\boldsymbol{\omega}\times\mathbf{R}_{wb} R˙wb=[ω×iB,ω×jB,ω×kB]=ω×Rwb
这里的角速度 ω \boldsymbol{\omega} ω为机体坐标系 { B } \{B\} {B}相对于世界坐标系 { W } \{W\} {W}的角速度,且是在世界坐标系下表达的,故也记为 ω w b w \boldsymbol{\omega}_{wb}^{w} ωwbw

由叉乘运算和反对称矩阵乘法的对应关系得到
R ˙ w b = ( ω w b w ) ∧ R w b (1) \dot{\mathbf{R}}_{wb}=(\boldsymbol{\omega}_{wb}^{w})^{\wedge}\mathbf{R}_{wb}\tag1 R˙wb=(ωwbw)Rwb(1)
机体坐标系 { B } \{B\} {B}相对于世界坐标系 { W } \{W\} {W}的角速度,在机体坐标系下的表达为 ω w b b = R b w ω w b w {\boldsymbol{\omega}}^{b}_{wb}={\mathbf{R}_{bw}}\boldsymbol{\omega}^{w}_{wb} ωwbb=Rbwωwbw,故有 ω w b w = R w b ω w b b \boldsymbol{\omega}^{w}_{wb}=\mathbf{R}_{wb}\boldsymbol{\omega}^{b}_{wb} ωwbw=Rwbωwbb
R ˙ w b = ( R w b ω w b b ) ∧ R w b (2) \dot{\mathbf{R}}_{wb}=(\mathbf{R}_{wb}\boldsymbol{\omega}^{b}_{wb})^{\wedge}\mathbf{R}_{wb}\tag2 R˙wb=(Rwbωwbb)Rwb(2)
根据§1, ( 2 ) (2) (2)可写为
R ˙ w b = R w b ( ω w b b ) ∧ (3) \dot{\mathbf{R}}_{wb}=\mathbf{R}_{wb}(\boldsymbol{\omega}^{b}_{wb})^{\wedge}\tag3 R˙wb=Rwb(ωwbb)(3)
ω b \boldsymbol{\omega}_{b} ωb为定值,给定 t 0 t_{0} t0时刻初始旋转矩阵为 R ( t 0 ) \mathbf{R}(t_{0}) R(t0),则微分方程 ( 3 ) (3) (3)的解析解为
R ( t ) = R ( t 0 ) e x p ( ( ω w b b ) ∧ ( t − t 0 ) ) \mathbf{R}(t)=\mathbf{R}(t_{0})\mathrm{exp}\left((\boldsymbol{\omega}^{b}_{wb})^{\wedge}(t-t_{0})\right) R(t)=R(t0)exp((ωwbb)(tt0))
简便起见,可以将上式写成
R ( t ) = R ( t 0 ) E x p ( ω w b b ( t − t 0 ) ) \mathbf{R}(t)=\mathbf{R}(t_{0})\mathrm{Exp}\left(\boldsymbol{\omega}^{b}_{wb}(t-t_{0})\right) R(t)=R(t0)Exp(ωwbb(tt0))

2、车体坐标系与世界坐标系的速度,加速度转换关系

在这里插入图片描述

车的运动速度指的是车体坐标系 { B } \{B\} {B}相对于世界坐标系 { W } \{W\} {W}的速度在世界坐标系下的表示,记作 v w b w \mathbf{v}^{w}_{wb} vwbw,车体坐标系原点在车体坐标系下一直为原点,速度为零,所以不谈论该点在车体坐标系下的速度,我们谈论的是车体坐标系 { B } \{B\} {B}相对于世界坐标系 { W } \{W\} {W}的速度在车体坐标系下的表示

v w b b = R b w v w b w \mathbf{v}^{b}_{wb}=\mathbf{R}_{bw}\mathbf{v}^{w}_{wb} vwbb=Rbwvwbw
这个速度可以通过轮子、电机等设备测到。实际上, v w b b = p ˙ w b b \mathbf{v}^{b}_{wb}=\dot{\mathbf{p}}^{b}_{wb} vwbb=p˙wbb的值与世界坐标系的选取无关, v w b w = p ˙ w b w \mathbf{v}^{w}_{wb}=\dot{\mathbf{p}}^{w}_{wb} vwbw=p˙wbw的取值依赖于世界坐标系的选取

为方便推导,可将上式改写为
v w b w = R w b v w b b \mathbf{v}^{w}_{wb}=\mathbf{R}_{wb}\mathbf{v}^{b}_{wb} vwbw=Rwbvwbb
对上式进行求导,可以得到
v ˙ w b w = R ˙ w b v w b b + R w b v ˙ w b b = R w b ( ω w b b ) ∧ v w b b + R w b v ˙ w b b \begin{align*} \dot{\mathbf{v}}^{w}_{wb}&=\dot{\mathbf{R}}_{wb}\mathbf{v}^{b}_{wb}+\mathbf{R}_{wb}\dot{\mathbf{v}}^{b}_{wb}\\ &=\mathbf{R}_{wb}(\boldsymbol\omega^{b}_{wb})^{\wedge}\mathbf{v}^{b}_{wb}+\mathbf{R}_{wb}\dot{\mathbf{v}}^{b}_{wb}\tag1\\ \end{align*} v˙wbw=R˙wbvwbb+Rwbv˙wbb=Rwb(ωwbb)vwbb+Rwbv˙wbb(1)
a w b b \mathbf{a}_{wb}^{b} awbb为车体坐标系下的位移加速度,而车体坐标系下的总加速度 v ˙ w b b \dot{\mathbf{v}}^{b}_{wb} v˙wbb除位移加速度外,还包含了因车体坐标系以角速度 ω w b b \boldsymbol{\omega}^{b}_{wb} ωwbb旋转而产生的加速度,该旋转亦可看作 v w b b \mathbf{v}^{b}_{wb} vwbb ( − ω w b b ) (-\boldsymbol{\omega}^{b}_{wb}) (ωwbb)的角速度绕车体坐标系旋转,故车体坐标系下总加速度为
v ˙ w b b = a w b b − ω w b b × v w b b (2) \dot{\mathbf{v}}^{b}_{wb}=\mathbf{a}_{wb}^{b}-\boldsymbol{\omega}^{b}_{wb}\times\mathbf{v}^{b}_{wb}\tag2 v˙wbb=awbbωwbb×vwbb(2)
( 1 ) (1) (1)式可以写为
v ˙ w b w = R w b ( ω w b b ) ∧ v w b b + R w b ( a w b b − ω w b b × v w b b ) = R w b a w b b \begin{align*} \dot{\mathbf{v}}^{w}_{wb} &=\mathbf{R}_{wb}(\boldsymbol\omega^{b}_{wb})^{\wedge}\mathbf{v}^{b}_{wb}+\mathbf{R}_{wb}(\mathbf{a}_{wb}^{b}-\boldsymbol{\omega}^{b}_{wb}\times\mathbf{v}^{b}_{wb})\\ &=\mathbf{R}_{wb}\mathbf{a}_{wb}^{b}\tag3 \end{align*} v˙wbw=Rwb(ωwbb)vwbb+Rwb(awbbωwbb×vwbb)=Rwbawbb(3)
a w b w = v ˙ w b w \mathbf{a}^{w}_{wb}=\dot{\mathbf{v}}^{w}_{wb} awbw=v˙wbw,则 ( 3 ) (3) (3)可写为
a w b w = R w b a w b b \mathbf{a}^{w}_{wb}=\mathbf{R}_{wb}\mathbf{a}_{wb}^{b} awbw=Rwbawbb

3、IMU测量模型

在这里插入图片描述

IMU根据陀螺仪(gyroscope)测量传感器自身的角速度 ω ~ w s s \tilde{\boldsymbol\omega}^{s}_{ws} ω~wss(波浪线表示测量值),根据加速度计(accelerator)测量传感器身的加速度 a ~ w s s \tilde{\mathbf{a}}^{s}_{ws} a~wss。设传感器加速度为 a w s s \mathbf{a}^{s}_{ws} awss,传感器坐标系相对车体坐标系的位姿为已通过校准得到的定值 R b s , p b s b \mathbf{R}_{bs},\mathbf{p}^{b}_{bs} Rbs,pbsb,车体坐标系相对世界坐标系的位姿为 R w b , p w b w \mathbf{R}_{wb},\mathbf{p}^{w}_{wb} Rwb,pwbw。重力加速度 g = ( 0 , 0 , − 9.8 ) \mathbf{g}=(0,0,-9.8) g=(0,0,9.8)

在世界坐标系下,传感器坐标系原点的位置为
p w s w = P w b w + R w b p b s b \mathbf{p}^{w}_{ws}=\mathbf{P}^{w}_{wb}+\mathbf{R}_{wb}\mathbf{p}^{b}_{bs} pwsw=Pwbw+Rwbpbsb
对上式对时间求导得到
p ˙ w s w = p ˙ w b w + R ˙ w b p b s b + R w b p ˙ b s b = p ˙ w b w + R w b ( ω w b b ) ∧ p b s b + R w b p ˙ b s b \begin{align*} \dot{\mathbf{p}}^{w}_{ws}&=\dot{\mathbf{p}}^{w}_{wb}+\dot{\mathbf{R}}_{wb}\mathbf{p}^{b}_{bs}+\mathbf{R}_{wb}\dot{\mathbf{p}}^{b}_{bs}\\ &=\dot{\mathbf{p}}^{w}_{wb}+\mathbf{R}_{wb}({\boldsymbol\omega}^{b}_{wb})^{\wedge}\mathbf{p}^{b}_{bs}+\mathbf{R}_{wb}\dot{\mathbf{p}}^{b}_{bs} \end{align*} p˙wsw=p˙wbw+R˙wbpbsb+Rwbp˙bsb=p˙wbw+Rwb(ωwbb)pbsb+Rwbp˙bsb
注意到 p ˙ b s b = 0 \dot{\mathbf{p}}^{b}_{bs}=0 p˙bsb=0,故有
p ˙ w s w = p ˙ w b w + R w b ( ω w b b × p b s b ) \dot{\mathbf{p}}^{w}_{ws}=\dot{\mathbf{p}}^{w}_{wb}+\mathbf{R}_{wb}({\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs}) p˙wsw=p˙wbw+Rwb(ωwbb×pbsb)
再对时间求导得到
p ¨ w s w = p ¨ w b w + R ˙ w b ( ω w b b × p b s b ) + R w b ( ω w b b × p b s b ) ˙ \ddot{\mathbf{p}}^{w}_{ws}=\ddot{\mathbf{p}}^{w}_{wb}+\dot{\mathbf{R}}_{wb}({\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs})+\mathbf{R}_{wb}\dot{({\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs})} p¨wsw=p¨wbw+R˙wb(ωwbb×pbsb)+Rwb(ωwbb×pbsb)˙
由于 ( a × b ) ˙ = a ˙ × b + a × b ˙ \dot{(\mathbf{a}\times\mathbf{b})}=\dot{\mathbf{a}}\times \mathbf{b}+\mathbf{a}\times\dot{\mathbf{b}} (a×b)˙=a˙×b+a×b˙,故
p ¨ w s w = p ¨ w b w + R w b ( ω w b b ) ∧ ( ω w b b × p b s b ) + R w b ( ω ˙ w b b × p b s b ) = p ¨ w b w + R w b ( ω w b b × ω w b b × p b s b + ω ˙ w b b × p b s b ) \begin{align*} \ddot{\mathbf{p}}^{w}_{ws}&=\ddot{\mathbf{p}}^{w}_{wb}+\mathbf{R}_{wb}({\boldsymbol\omega}^{b}_{wb})^{\wedge}({\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs})+\mathbf{R}_{wb}(\dot{{\boldsymbol\omega}}^{b}_{wb}\times\mathbf{p}^{b}_{bs})\\ &=\ddot{\mathbf{p}}^{w}_{wb}+\mathbf{R}_{wb}({\boldsymbol\omega}^{b}_{wb}\times{\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs}+\dot{{\boldsymbol\omega}}^{b}_{wb}\times\mathbf{p}^{b}_{bs})\tag4 \end{align*} p¨wsw=p¨wbw+Rwb(ωwbb)(ωwbb×pbsb)+Rwb(ω˙wbb×pbsb)=p¨wbw+Rwb(ωwbb×ωwbb×pbsb+ω˙wbb×pbsb)(4)
画出IMU测量加速度的原理图

在这里插入图片描述

由矢量分析可得
a ~ w s s = a w s s − R s w g \tilde{\mathbf{a}}^{s}_{ws}=\mathbf{a}^{s}_{ws}-\mathbf{R}_{sw}\mathbf{g} a~wss=awssRswg
由不同坐标系间加速度的转换关系得到
a w s s = R s w p ¨ w s w \mathbf{a}^{s}_{ws}=\mathbf{R}_{sw}\ddot{\mathbf{p}}^{w}_{ws} awss=Rswp¨wsw
故有
a ~ w s s = R s w ( p ¨ w s w − g ) (5) \tilde{\mathbf{a}}^{s}_{ws}=\mathbf{R}_{sw}(\ddot{\mathbf{p}}^{w}_{ws}-\mathbf{g})\tag5 a~wss=Rsw(p¨wswg)(5)
( 4 ) (4) (4)代入 ( 5 ) (5) (5)得到
a ~ w s s = R s b ( R b w ( p ¨ w b w − g ) + ω w b b × ω w b b × p b s b + ω ˙ w b b × p b s b ) \tilde{\mathbf{a}}^{s}_{ws}=\mathbf{R}_{sb}\left(\mathbf{R}_{bw}(\ddot{\mathbf{p}}^{w}_{wb}-\mathbf{g})+{\boldsymbol\omega}^{b}_{wb}\times{\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs}+\dot{{\boldsymbol\omega}}^{b}_{wb}\times\mathbf{p}^{b}_{bs}\right) a~wss=Rsb(Rbw(p¨wbwg)+ωwbb×ωwbb×pbsb+ω˙wbb×pbsb)
画出陀螺仪的测量原理图

测得的角速度与车体坐标系下的角速度的关系是
ω ~ w s s = R s b ω w b b \tilde{\boldsymbol\omega}^{s}_{ws}=\mathbf{R}_{sb}{\boldsymbol\omega}^{b}_{wb} ω~wss=Rsbωwbb
综上所述,将加速度计和陀螺仪模型写成矩阵形式,就得到IMU的测量模型
[ a ~ w s s ω ~ w s s ] = [ R s b ( R b w ( p ¨ w b w − g ) + ω w b b × ω w b b × p b s b + ω ˙ w b b × p b s b ) R s b ω w b b ] \begin{align*} \begin{bmatrix} \tilde{\mathbf{a}}^{s}_{ws}\\ \tilde{\boldsymbol\omega}^{s}_{ws}\\ \end{bmatrix} &= \begin{bmatrix} \mathbf{R}_{sb}\left(\mathbf{R}_{bw}(\ddot{\mathbf{p}}^{w}_{wb}-\mathbf{g})+{\boldsymbol\omega}^{b}_{wb}\times{\boldsymbol\omega}^{b}_{wb}\times\mathbf{p}^{b}_{bs}+\dot{{\boldsymbol\omega}}^{b}_{wb}\times\mathbf{p}^{b}_{bs}\right)\\ \mathbf{R}_{sb}\boldsymbol\omega^{b}_{wb} \end{bmatrix} \end{align*} [a~wssω~wss]=[Rsb(Rbw(p¨wbwg)+ωwbb×ωwbb×pbsb+ω˙wbb×pbsb)Rsbωwbb]
故若IMU坐标系与车体坐标系保持一致,即 R s b = I , p b s = 0 \mathbf{R}_{sb}=\mathbf{I},\mathbf{p}_{bs}=0 Rsb=I,pbs=0,又因为车体在世界坐标系下的加速度 a w b w = p ¨ w b w \mathbf{a}^{w}_{wb}=\ddot{\mathbf{p}}^{w}_{wb} awbw=p¨wbw,故此时上式可近似写为
[ a ~ w s s ω ~ w s s ] = [ R b w ( a w b w − g ) ω w b b ] (6) \begin{align*} \begin{bmatrix} \tilde{\mathbf{a}}^{s}_{ws}\\ \tilde{\boldsymbol\omega}^{s}_{ws}\\ \end{bmatrix} &= \begin{bmatrix} \mathbf{R}_{bw}(\mathbf{a}^{w}_{wb}-\mathbf{g})\\ \boldsymbol\omega^{b}_{wb} \end{bmatrix} \end{align*}\tag{6} [a~wssω~wss]=[Rbw(awbwg)ωwbb](6)

4、IMU噪声模型

IMU的噪声由两部分组成:测量噪声和零偏,记加速度计和陀螺仪的测量噪声分别为 η a , η g \boldsymbol{\eta}_{a},\boldsymbol{\eta}_{g} ηa,ηg,同时记二者零偏为 b a , b g \mathbf{b}_{a},\mathbf{b}_{g} ba,bg

省去测量方程 ( 6 ) (6) (6)中与坐标系相关的下标,该方程可记为
a ~ = R ( a − g ) + b a + η a ω ~ = ω + b g + η g \begin{align*} \tilde{\mathbf{a}}&=\mathbf{R}(\mathbf{a}-\mathbf{g})+\mathbf{b}_{a}+\boldsymbol{\eta}_{a}\tag{7a}\\ \tilde{\boldsymbol{\omega}}&=\boldsymbol{\omega}+\mathbf{b}_{g}+\boldsymbol{\eta}_{g}\tag{7b} \end{align*} a~ω~=R(ag)+ba+ηa=ω+bg+ηg(7a)(7b)
在连续时间下,可以认为IMU的测量噪声是一个零均值白噪声高斯过程,即各时刻的噪声随机变量均值为 0 0 0,且彼此不相关(等价于相互独立)。
η a ∼ G P ( 0 , C o v ( η a ) δ ( t − t ′ ) ) η g ∼ G P ( 0 , C o v ( η g ) δ ( t − t ′ ) ) \begin{align*} \boldsymbol{\eta}_{a}&\sim\mathcal{GP}(\mathbf{0},\mathrm{Cov}(\boldsymbol{\eta}_{a})\delta(t-t^{\prime}))\\ \boldsymbol{\eta}_{g}&\sim\mathcal{GP}(\mathbf{0},\mathrm{Cov}(\boldsymbol{\eta}_{g})\delta(t-t^{\prime}))\\ \end{align*} ηaηgGP(0,Cov(ηa)δ(tt))GP(0,Cov(ηg)δ(tt))
而零偏是一个导数为零均值白噪声高斯过程的随机过程,也称为维纳过程,布朗运动或随机游走
b ˙ a = η b a ∼ G P ( 0 , C o v ( b a ) δ ( t − t ′ ) ) b ˙ g = η b g ∼ G P ( 0 , C o v ( b g ) δ ( t − t ′ ) ) \begin{align*} \dot{\mathbf{b}}_{a}=\boldsymbol{\eta}_{\mathbf{b}_{a}}&\sim\mathcal{GP}(\mathbf{0},\mathrm{Cov}(\mathbf{b}_{a})\delta(t-t^{\prime}))\\ \dot{\mathbf{b}}_{g}=\boldsymbol{\eta}_{\mathbf{b}_{g}}&\sim\mathcal{GP}(\mathbf{0},\mathrm{Cov}(\mathbf{b}_{g})\delta(t-t^{\prime}))\\ \end{align*} b˙a=ηbab˙g=ηbgGP(0,Cov(ba)δ(tt))GP(0,Cov(bg)δ(tt))
其中 δ \delta δ为狄拉克函数,其满足
δ ( x ) = 0 ( x ≠ 0 ) , ∫ − ∞ + ∞ δ ( x ) d x = 1 \delta(x)=0(x\neq0),\quad\int_{-\infty}^{+\infty}\delta(x)dx=1 δ(x)=0(x=0),+δ(x)dx=1
引入狄拉克函数,一方面可以轻松地从连续时间高斯过程推导离散时间采样之后的测量噪声和零偏的差分,最为重要的是,高斯白噪声的积分是维纳过程,或者可以方便地理解为高斯白噪声是维纳过程的导数。

因为IMU测量到的数据是离散的,故需要对测量噪声和零偏进行离散化处理,其应用见 ( 11 ) (11) (11)

先讨论测量噪声的离散化,记
η a d , k = 1 Δ t ∫ t k t k + Δ t η a ( t ) d t , η g d , k = 1 Δ t ∫ t k t k + Δ t η g ( t ) d t \boldsymbol{\eta}_{ad,k}=\frac{1}{\Delta{t}}\int_{t_k}^{t_k+\Delta{t}}\boldsymbol{\eta}_{a}(t)dt, \quad\boldsymbol{\eta}_{gd,k}=\frac{1}{\Delta{t}}\int_{t_k}^{t_k+\Delta{t}}\boldsymbol{\eta}_{g}(t)dt ηad,k=Δt1tktk+Δtηa(t)dt,ηgd,k=Δt1tktk+Δtηg(t)dt
其中下标 d d d表示离散,将相互独立的正态分布和仍为正态分布的思想拓展到积分,可知 η a d , k , η g d , k \boldsymbol{\eta}_{ad,k},\boldsymbol{\eta}_{gd,k} ηad,k,ηgd,k仍服从正态分布,易知二者均值 μ ( η a d , k ) = 0 , μ ( η g d , k ) = 0 \boldsymbol{\mu}(\boldsymbol{\eta}_{ad,k})=\mathbf{0},\boldsymbol{\mu}(\boldsymbol{\eta}_{gd,k})=\mathbf{0} μ(ηad,k)=0,μ(ηgd,k)=0,下面以 η a d ( k ) \boldsymbol{\eta}_{ad}(k) ηad(k)为例求二者协方差矩阵
Σ ( η a d , k ) = E [ ( η a d , k − μ ( η a d , k ) ) ( η a d , k − μ ( η a d , k ) ) T ] = E [ η a d , k η a d , k T ] = E [ 1 ( Δ t ) 2 ( ∫ t k t k + Δ t η a ( t ) d t ) ( ∫ t k t k + Δ t η a ( τ ) d τ ) T ] = E [ 1 ( Δ t ) 2 ∫ t k t k + Δ t d τ ∫ t k t k + Δ t η a ( t ) η a ( τ ) T d t ] = 1 ( Δ t ) 2 ∫ t k t k + Δ t d τ ∫ t k t k + Δ t E [ η a ( t ) η a ( τ ) T ] d t \begin{align*} \boldsymbol{\Sigma}(\boldsymbol{\eta}_{ad,k})&=E[(\boldsymbol{\eta}_{ad,k}-\boldsymbol{\mu}(\boldsymbol{\eta}_{ad,k}))(\boldsymbol{\eta}_{ad,k}-\boldsymbol{\mu}(\boldsymbol{\eta}_{ad,k}))^T]\\ &=E[\boldsymbol{\eta}_{ad,k}\boldsymbol{\eta}_{ad,k}^T]\\ &=E\left[\frac{1}{(\Delta{t})^2}\left(\int_{t_k}^{t_k+\Delta{t}}\boldsymbol{\eta}_{a}(t)dt\right)\left(\int_{t_k}^{t_k+\Delta{t}}\boldsymbol{\eta}_{a}(\tau)d\tau\right)^T\right]\\ &=E\left[\frac{1}{(\Delta{t})^2}\int_{t_k}^{t_k+\Delta{t}}d\tau\int_{t_k}^{t_k+\Delta{t}}\boldsymbol{\eta}_{a}(t){\boldsymbol{\eta}_{a}}(\tau)^{T}dt\right]\\ &=\frac{1}{(\Delta{t})^2}\int_{t_k}^{t_k+\Delta{t}}d\tau\int_{t_k}^{t_k+\Delta{t}}E[\boldsymbol{\eta}_{a}(t){\boldsymbol{\eta}_{a}}(\tau)^{T}]dt\tag{8} \end{align*} Σ(ηad,k)=E[(ηad,kμ(ηad,k))(ηad,kμ(ηad,k))T]=E[ηad,kηad,kT]=E (Δt)21(tktk+Δtηa(t)dt)(tktk+Δtηa(τ)dτ)T =E[(Δt)21tktk+Δtdτtktk+Δtηa(t)ηa(τ)Tdt]=(Δt)21tktk+Δtdτtktk+ΔtE[ηa(t)ηa(τ)T]dt(8)
其中 η a ( t ) \boldsymbol{\eta}_{a}(t) ηa(t)表示随机过程 η a \boldsymbol{\eta}_{a} ηa [ t k , t k + Δ t ] [t_k,t_k+\Delta{t}] [tk,tk+Δt]上的一个样本函数,上式中被积分项表示该过程在 t t t τ \tau τ时刻之间的协方差矩阵,即
E [ η a ( t ) η a T ( τ ) ] = C o v ( η a ) δ ( t − τ ) (9) E[\boldsymbol{\eta}_{a}(t){\boldsymbol{\eta}_{a}^{T}}(\tau)]=\mathrm{Cov}(\boldsymbol{\eta}_{a})\delta(t-\tau)\tag{9} E[ηa(t)ηaT(τ)]=Cov(ηa)δ(tτ)(9)
( 9 ) (9) (9)代入 ( 8 ) (8) (8)可得
Σ ( η a d , k ) = 1 ( Δ t ) 2 ∫ t k t k + Δ t d τ ∫ t k t k + Δ t δ ( t − τ ) d t = C o v ( η a ) Δ t \begin{align*} \boldsymbol{\Sigma}(\boldsymbol{\eta}_{ad,k})&=\frac{1}{(\Delta{t})^2}\int_{t_k}^{t_k+\Delta{t}}d\tau\int_{t_k}^{t_k+\Delta{t}}\delta(t-\tau)dt\\ &=\frac{\mathrm{Cov(\boldsymbol{\boldsymbol{\eta}_{a}})}}{\Delta{t}} \end{align*} Σ(ηad,k)=(Δt)21tktk+Δtdτtktk+Δtδ(tτ)dt=ΔtCov(ηa)
故测量噪声服从分布
η a d , k ∼ N ( 0 , C o v ( η a ) Δ t ) η g d , k ∼ N ( 0 , C o v ( η g ) Δ t ) \boldsymbol{\eta}_{ad,k}\sim\mathcal{N}\left(\mathbf{0},\frac{\mathrm{Cov(\boldsymbol{\boldsymbol{\eta}_{a}})}}{\Delta{t}}\right)\\ \boldsymbol{\eta}_{gd,k}\sim\mathcal{N}\left(\mathbf{0},\frac{\mathrm{Cov(\boldsymbol{\boldsymbol{\eta}_{g}})}}{\Delta{t}}\right) ηad,kN(0,ΔtCov(ηa))ηgd,kN(0,ΔtCov(ηg))
再讨论零偏的离散化,记
b a d , k + 1 = b a d , k + ∫ t k t k + Δ t η b a ( t ) d t , b g d , k + 1 = b g d , k + ∫ t k t k + Δ t η b g ( t ) d t \mathbf{b}_{ad,k+1}=\mathbf{b}_{ad,k}+\int_{t_{k}}^{t_{k}+\Delta{t}}\boldsymbol{\eta}_{\mathbf{b}_{a}}(t)dt, \quad\mathbf{b}_{gd,k+1}=\mathbf{b}_{gd,k}+\int_{t_{k}}^{t_{k}+\Delta{t}}\boldsymbol{\eta}_{\mathbf{b}_{g}}(t)dt bad,k+1=bad,k+tktk+Δtηba(t)dt,bgd,k+1=bgd,k+tktk+Δtηbg(t)dt
由上面的分析易知, b a d , k + 1 − b a , k \mathbf{b}_{ad,k+1}-\mathbf{b}_{a,k} bad,k+1ba,k服从均值为 0 \mathbf{0} 0的正态分布,其协方差为
Σ ( b a d , k + 1 − b a d , k ) = Δ t C o v ( b a ) \boldsymbol{\Sigma}(\mathbf{b}_{ad,k+1}-\mathbf{b}_{ad,k})=\Delta{t}\mathrm{Cov}(\mathbf{b}_a) Σ(bad,k+1bad,k)=ΔtCov(ba)
故零偏的差分服从分布
b a d , k + 1 − b a d , k ∼ N ( 0 , Δ t C o v ( b a ) ) b g d , k + 1 − b g d , k ∼ N ( 0 , Δ t C o v ( b g ) ) \mathbf{b}_{ad,k+1}-\mathbf{b}_{ad,k}\sim\mathcal{N}(\mathbf{0},\Delta{t}\mathrm{Cov}(\mathbf{b}_a))\\ \mathbf{b}_{gd,k+1}-\mathbf{b}_{gd,k}\sim\mathcal{N}(\mathbf{0},\Delta{t}\mathrm{Cov}(\mathbf{b}_g)) bad,k+1bad,kN(0,ΔtCov(ba))bgd,k+1bgd,kN(0,ΔtCov(bg))

估算具体时刻零偏的分布较为复杂,暂时不讨论。

注意此处 C o v \mathrm{Cov} Cov称为能量谱密度矩阵, Σ \boldsymbol{\Sigma} Σ才真正表示协方差矩阵。通常情况下, C o v \mathrm{Cov} Cov为对角矩阵,且对角线上元素一致,也即每个 C o v \mathrm{Cov} Cov Σ \boldsymbol{\Sigma} Σ可以用单个值的平方表示。设每个能量谱密度矩阵对应的值为 σ ( η a ) , σ ( η g ) , σ ( b a ) , σ ( b g ) {\sigma}(\boldsymbol\eta_{a}),{\sigma}(\boldsymbol\eta_{g}),{\sigma}(\mathbf{b}_{a}),{\sigma}(\mathbf{b}_{g}) σ(ηa),σ(ηg),σ(ba),σ(bg),每个离散时间协方差矩阵的对应的值(即标准差)为 σ k ( η a ) , σ k ( η g ) , σ k ( b a ) , σ k ( b g ) {\sigma}_{k}(\boldsymbol\eta_{a}),{\sigma}_{k}(\boldsymbol\eta_{g}),{\sigma}_{k}(\mathbf{b}_{a}),{\sigma}_{k}(\mathbf{b}_{g}) σk(ηa),σk(ηg),σk(ba),σk(bg),这些值之间的关系为
σ k ( η a ) = 1 Δ t σ ( η a ) σ k ( η g ) = 1 Δ t σ ( η g ) σ k ( b a ) = Δ t σ ( b a ) σ k ( b g ) = Δ t σ ( b g ) \begin{array}{ll} &\sigma_{k}(\boldsymbol\eta_{a})=\frac{1}{\sqrt{\Delta{t}}}{\sigma}(\boldsymbol\eta_{a}) &\sigma_{k}(\boldsymbol\eta_{g})=\frac{1}{\sqrt{\Delta{t}}}{\sigma}(\boldsymbol\eta_{g})\\ &\sigma_{k}(\mathbf{b}_{a})=\sqrt{\Delta{t}}{\sigma}(\mathbf{b}_{a}) &\sigma_{k}(\mathbf{b}_{g})=\sqrt{\Delta{t}}{\sigma}(\mathbf{b}_{g}) \end{array} σk(ηa)=Δt 1σ(ηa)σk(ba)=Δt σ(ba)σk(ηg)=Δt 1σ(ηg)σk(bg)=Δt σ(bg)
由于离散时间的测量噪声和零偏是直接加在被测物理量上的,故其单位应与被测物理量保持一致,故
σ k ( η a ) ← m s 2 , σ k ( η g ) ← r a d s , σ k ( b a ) ← m s 2 , σ k ( b g ) ← r a d s {\sigma}_{k}(\boldsymbol\eta_{a})\leftarrow\frac{\mathrm{m}}{\mathrm{s^{2}}}, \quad{\sigma}_{k}(\boldsymbol\eta_{g})\leftarrow\frac{\mathrm{rad}}{\mathrm{s}}, \quad{\sigma}_{k}(\mathbf{b}_{a})\leftarrow\frac{\mathrm{m}}{\mathrm{s^{2}}}, \quad{\sigma}_{k}(\mathbf{b}_{g})\leftarrow\frac{\mathrm{rad}}{\mathrm{s}} σk(ηa)s2m,σk(ηg)srad,σk(ba)s2m,σk(bg)srad
等价地,能量谱密度矩阵对应的值的单位是
σ ( η a ) ← m s s , σ ( η g ) ← r a d s , σ ( b a ) ← m s 2 s , σ ( b g ) ← r a d s s {\sigma}(\boldsymbol\eta_{a})\leftarrow\frac{\mathrm{m}}{\mathrm{s}\sqrt{\mathrm{s}}}, \quad{\sigma}(\boldsymbol\eta_{g})\leftarrow\frac{\mathrm{rad}}{\sqrt{\mathrm{s}}}, \quad{\sigma}(\mathbf{b}_{a})\leftarrow\frac{\mathrm{m}}{\mathrm{s}^2\sqrt{\mathrm{s}}}, \quad{\sigma}(\mathbf{b}_{g})\leftarrow\frac{\mathrm{rad}}{\mathrm{s}\sqrt{\mathrm{s}}} σ(ηa)ss m,σ(ηg)s rad,σ(ba)s2s m,σ(bg)ss rad

5、使用IMU数据进行轨迹推算

通过IMU数据递推可得到一个简单的INS系统(Inertial Navigation System,惯性导航系统)

省略坐标系相关的下标,IMU的运动模型为
R ˙ = R ω ∧ v ˙ = a p ˙ = v \begin{align*} \dot{\mathbf{R}}&=\mathbf{R}\boldsymbol{\omega}^{\wedge}\\ \dot{\mathbf{v}}&=\mathbf{a}\\ \dot{\mathbf{p}}&=\mathbf{v}\\ \end{align*} R˙v˙p˙=Rω=a=v

上式中的值均为真实值。现研究在短时间段 [ t , t + Δ t ] [t,t+\Delta{t}] [t,t+Δt]内的位姿和速度变化,对于旋转矩阵,其精确表达式较为复杂,但由于短时间段内角速度变化量很小,故可以给出 ( 9 a ) (9\mathrm{a}) (9a)中的近似;对于速度和加速度,可以不加近似地得到其的精确表达式 ( 10 b ) , ( 10 c ) (10\mathrm{b}),(10\mathrm{c}) (10b),(10c)
R ( t + Δ t ) ≈ R ( t ) E x p ( ∫ t t + Δ t ω ( τ ) d τ ) v ( t + Δ t ) = v ( t ) + ∫ t t + Δ t a ( τ ) d τ p ( t + Δ t ) = p ( t ) + ∫ t t + Δ t v ( τ ) d τ = p ( t ) + v ( t ) Δ t + ∫ t t + Δ t d t ′ ∫ t t ′ a ( τ ) d τ \begin{align*} \mathbf{R}(t+\Delta{t})&\approx\mathbf{R}(t)\mathrm{Exp}\left(\int_{t}^{t+\Delta{t}}\boldsymbol{\omega}(\tau)d\tau\right)\tag{10a}\\ \mathbf{v}(t+\Delta{t})&=\mathbf{v}(t)+ \int_{t}^{t+\Delta{t}}\mathbf{a}(\tau)d\tau\tag{10b}\\ \mathbf{p}(t+\Delta{t})&=\mathbf{p}(t)+\int_{t}^{t+\Delta{t}}\mathbf{v}(\tau)d\tau=\mathbf{p}(t)+\mathbf{v}(t)\Delta{t}+\int_{t}^{t+\Delta{t}}dt^{\prime}\int_{t}^{t^{\prime}}\mathbf{a}(\tau)d\tau\tag{10c}\\ \end{align*} R(t+Δt)v(t+Δt)p(t+Δt)R(t)Exp(tt+Δtω(τ)dτ)=v(t)+tt+Δta(τ)dτ=p(t)+tt+Δtv(τ)dτ=p(t)+v(t)Δt+tt+Δtdttta(τ)dτ(10a)(10b)(10c)
将IMU测量方程变形,得到
a = R ( a ~ − b a − η a ) + g ω = ω ~ − b g − η g \begin{align*} \mathbf{a}&=\mathbf{R}(\tilde{\mathbf{a}}-\mathbf{b}_{a}-\boldsymbol{\eta}_{a})+\mathbf{g}\tag{11a}\\ \boldsymbol{\omega}&=\tilde{\boldsymbol{\omega}}-\mathbf{b}_{g}-\boldsymbol{\eta}_{g}\tag{11b} \end{align*} aω=R(a~baηa)+g=ω~bgηg(11a)(11b)
上式表示离散时刻的测量值和真实值的关系。设时间 t t t对应采样次数 k k k,时间 t + Δ t t+\Delta{t} t+Δt对应采样次数 k + 1 k+1 k+1,将 ( 10 ) (10) (10)代入 ( 9 ) (9) (9),应用欧拉方法计算角速度和加速度的积分,即认为 ∫ a b f ( x ) d x = f ( a ) ( b − a ) \int_{a}^{b}f(x)dx=f(a)(b-a) abf(x)dx=f(a)(ba),并把采样次数写到下标位置,得到
R k + 1 = R k E x p ( ( ω ~ k − b g , k − η g d , k ) Δ t ) v k + 1 = v k + g Δ t + R k ( a ~ k − b a , k − η a d , k ) Δ t p k + 1 = p k + v k Δ t + 1 2 g Δ t 2 + 1 2 R k ( a ~ k − b a , k − η a d , k ) Δ t 2 \begin{align*} \mathbf{R}_{k+1}&=\mathbf{R}_{k}\mathrm{Exp}((\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{g,k}-\boldsymbol{\eta}_{gd,k})\Delta{t})\tag{12a}\\ \mathbf{v}_{k+1}&=\mathbf{v}_{k}+\mathbf{g}\Delta{t}+\mathbf{R}_{k}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}\tag{12b}\\ \mathbf{p}_{k+1}&=\mathbf{p}_{k}+\mathbf{v}_{k}\Delta{t}+\frac{1}{2}\mathbf{g}\Delta{t}^{2}+\frac{1}{2}\mathbf{R}_{k}(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{a,k}-\boldsymbol{\eta}_{ad,k})\Delta{t}^{2}\tag{12c}\\ \end{align*} Rk+1vk+1pk+1=RkExp((ω~kbg,kηgd,k)Δt)=vk+gΔt+Rk(a~kba,kηad,k)Δt=pk+vkΔt+21gΔt2+21Rk(a~kba,kηad,k)Δt2(12a)(12b)(12c)

该过程称为一次积分。

附录

§1

任意 ϕ ∧ ∈ R 3 \boldsymbol{\phi}^{\wedge}\in\mathbb{R}^{3} ϕR3 R ∈ S O ( 3 ) \mathbf{R}\in{SO(3)} RSO(3)满足
R ϕ ∧ R T = ( R ϕ ) ∧ (A1) {\mathbf{R}\boldsymbol{\phi}^{\wedge}\mathbf{R}^{T}}=(\mathbf{R}\boldsymbol{\phi})^{\wedge}\tag{A1} RϕRT=(Rϕ)(A1)

  • 60
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小于小于大橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值