文章目录
IMU传感器
旋转运动学
旋转的线速度为:
r ˙ = ( − a θ ˙ sin θ , a θ ˙ cos θ , 0 ) ⊤ = [ 0 − θ ˙ 0 θ ˙ 0 0 0 0 0 ] [ a cos θ a sin θ h ] = ω × r (1) \begin{aligned} \dot{\mathbf{r}} &=(-a \dot{\theta} \sin \theta, a \dot{\theta} \cos \theta, 0)^{\top} \\ &=\left[\begin{array}{ccc}{0} & {-\dot{\theta}} & {0} \\ {\dot{\theta}} & {0} & {0} \\ {0} & {0} & {0}\end{array}\right]\left[\begin{array}{c}{a \cos \theta} \\ {a \sin \theta} \\ {h}\end{array}\right] \\ &=\boldsymbol{\omega} \times \mathbf{r} \end{aligned} \tag{1} r˙=(−aθ˙sinθ,aθ˙cosθ,0)⊤=⎣⎡0θ˙0−θ˙00000⎦⎤⎣⎡acosθasinθh⎦⎤=ω×r(1)
取模得到角速度和线速度之间的关系:
∣ r ˙ ∣ = ∣ ω ∣ ∣ r ∣ sin ϕ = a ∣ θ ˙ ∣ (2) |\dot{\mathbf{r}}|=|\boldsymbol{\omega}||\mathbf{r}| \sin \phi=a|\dot{\theta}| \tag{2} ∣r˙∣=∣ω∣∣r∣sinϕ=a∣θ˙∣(2)
从Body系和Inertial系分别看旋转运动得到的速度关系为:
r ˙ I = R I B r ˙ B + R ˙ I B r B = R I B r ˙ B + [ R I B ω b ] × r = R I B v b + ω × r (3) \begin{aligned} \dot{\mathbf{r}}_{I} &=\mathbf{R}_{I B} \dot{\mathbf{r}}_{B}+\dot{\mathbf{R}}_{I B} \mathbf{r}_{B} \\ &=\mathbf{R}_{I B} \dot{\mathbf{r}}_{B}+\left[\mathbf{R}_{I B} \boldsymbol{\omega}_{b}\right]_{ \times} \mathbf{r} \\ &=\mathbf{R}_{I B} \mathbf{v}_{b}+\boldsymbol{\omega} \times \mathbf{r} \end{aligned} \tag{3} r˙I=RIBr˙B+R˙IBrB=RIBr˙B+[RIBωb]×r=RIBvb+ω×r(3)
v I ≡ R I B v b + ω × r ⇔ R I B v b ≡ v I − ω × r (4) \mathbf{v}_{I} \equiv \mathbf{R}_{I B} \mathbf{v}_{b}+\omega \times \mathbf{r} \Leftrightarrow \mathbf{R}_{I B} \mathbf{v}_{b} \equiv \mathbf{v}_{I}-\boldsymbol{\omega} \times \mathbf{r} \tag{4} vI≡RIBvb+ω×r⇔RIBvb≡vI−ω×r(4)
对公式(3)中速度求导得到加速度:
r ¨ I = R I B v ˙ B + R ˙ I B v B + ω × r ˙ + [ R ˙ I B ω b + R I B ω ˙ b ] × r = R I B a B + 2 ω × v + ω × ( ω × r ) + ω ˙ × r (5) \begin{aligned} \ddot{\mathbf{r}}_{I} &=\mathbf{R}_{I B} \dot{\mathbf{v}}_{B}+\dot{\mathbf{R}}_{I B} \mathbf{v}_{B}+\boldsymbol{\omega} \times \dot{\mathbf{r}}+\left[\dot{\mathbf{R}}_{I B} \boldsymbol{\omega}_{b}+\mathbf{R}_{I B} \dot{\boldsymbol{\omega}}_{b}\right]_{ \times} \mathbf{r} \\ &=\mathbf{R}_{I B} \mathbf{a}_{B}+2 \boldsymbol{\omega} \times \mathbf{v}+\boldsymbol{\omega} \times(\boldsymbol{\omega} \times \mathbf{r})+\dot{\boldsymbol{\omega}} \times \mathbf{r} \end{aligned} \tag{5} r¨I=RIBv˙B+R˙IBvB+ω×r˙+[R˙IBωb+RIBω˙b]×r=RIBaB+2ω×v+ω×(ω×r)+ω˙×r(5)
对公式(5)进行变形得到:
a = a I − 2 ω × v ⏟ 科 氏 力 − ω ˙ × r ⏟ 欧 拉 力 − ω × ( ω × r ) ⏟ 离 心 力 (6) \mathbf{a}=\mathbf{a}_{I}-\underbrace{2 \boldsymbol{\omega} \times \mathbf{v}}_{\text 科氏力}- \underbrace{\dot{\boldsymbol{\omega}} \times \mathbf{r}}_{\text 欧拉力}- \underbrace{\boldsymbol{\omega} \times(\boldsymbol{\omega} \times \mathbf{r})}_{\text 离心力} \tag{6} a=aI−科氏力
2ω×v−欧拉力
ω˙×r−离心力
ω×(ω×r)(6)
其中: v = R I B v b \mathbf{v}=\mathbf{R}_{I B} \mathbf{v}_{b} v=RIBvb, a = R I B a b \mathbf{a}=\mathbf{R}_{I B} \mathbf{a}_{b} a=RIBab,它们表示body下的速度或加速度在Inertial系下的表示。要区别这几种表示,习惯了找一个真实值,只不过是不同系下的不同表示罢了
测量模型与运动模型
MEMS加速度计
使用电容或者电阻桥来进行测量,注意有可能测出来的加速度计值方向是与实际力相反的,因为是使用弹簧测出的惯性力。
- 加速度计的质量块没有高速运动,不受科氏力影响
陀螺仪
- 振动陀螺仪使用的是科氏力作用来测得旋转,一个主运动轴+一个敏感轴,与运动方向垂直方向(敏感轴方向)受一个科氏力。
- 一般使用两个运动方向相反的质量块来侧科氏力,这样可以抵消加速度的影响。若质量不一致会导致有差别。
IMU误差模型
分为:确定性误差,随机误差。前者可以提前标定,后者建模成高斯分布。
确定性误差
- 偏差bias
- 尺度因子Scale
- 轴偏差(非正交误差)
- Run-to-Run Bias/Scale Factor 即每次上电启动的值都不一样
- In Run (Stability) Bias/Scale Factor 即在运行过程中也会发生变化
- Temperature-Dependent Bias/Scale Factor 即受温度影响的变化值
尺度因子和非对称误差为:
[ l a x l a y l a z ] = [ s x x m x y m x z m y x s y y m y z m z x m z y s z z ] [ a x a y a z ] (7) \left[\begin{array}{l}{l_{a x}} \\ {l_{a y}} \\ {l_{a z}}\end{array}\right]=\left[\begin{array}{lll}{s_{x x}} & {m_{x y}} & {m_{x z}} \\ {m_{y x}} & {s_{y y}} & {m_{y z}} \\ {m_{z x}} & {m_{z y}} & {s_{z z}}\end{array}\right]\left[\begin{array}{c}{a_{x}} \\ {a_{y}} \\ {a_{z}}\end{array}\right] \tag{7} ⎣⎡laxlaylaz⎦⎤=⎣⎡sxxmyxmzxmxysyymzy