http://www.dept.aoe.vt.edu/~cdhall/courses/aoe4140/attde.pdf
Triad algorithm
有两对观测矢量s^,m^" role="presentation" style="position: relative;">s^,m^s^,m^(分别有在惯性系和body系中的值)
为了确定Rib" role="presentation" style="position: relative;">RbiRib,考虑一个中间坐标系t。
t的基矢及在惯性系和body系中的值如下:
可得Rib" role="presentation" style="position: relative;">RbiRib:
注意这里s^" role="presentation" style="position: relative;">s^s^和m^" role="presentation" style="position: relative;">m^m^的地位是不一样的,Ribsi=sb" role="presentation" style="position: relative;">Rbisi=sbRibsi=sb,而Ribmi" role="presentation" style="position: relative;">RbimiRibmi却不一定等于mb" role="presentation" style="position: relative;">mbmb,即认为s^" role="presentation" style="position: relative;">s^s^的测量值更准确。
Orientation Estimation by Error-State Extended Kalman Filter in Quaternion Vector Space
rate random walk是指bias满足b˙=nw" role="presentation" style="position: relative;">b˙=nwb˙=nw
过程模型(连续)
预测步中的期望和方差计算:
其中
注意,由于噪声在过程模型中不是以加项形式存在,而是在f" role="presentation" style="position: relative;">ff中,故有Jacobian M。
测量过程:
rb=(1−E)Rnbrn+n" role="presentation" style="position: relative;">rb=(1?E)Rbnrn+nrb=(1?E)Rnbrn+n
其中(1−E)" role="presentation" style="position: relative;">(1?E)(1?E)表示由error-state(欧拉角)构成的小角旋转矩阵,r" role="presentation" style="position: relative;">rr为重力和地磁。再做EKF。
或者再做点近似,(也就是下面的文章中做的)
δz=rmeasurement−rpredicted=2[r^b×]δq→+n" role="presentation" style="position: relative;">δz=rmeasurement?rpredicted=2[r^b×]δq? +nδz=rmeasurement?rpredicted=2[r^b×]δq→+n
其中rpredicted=r^b=Rnb(qnominal)rn" role="presentation" style="position: relative;">rpredicted=r^b=Rbn(qnominal)rnrpredicted=r^b=Rnb(qnominal)rn
The Use of an Orientation Kalman Filter for the Static Postural Sway Analysis
error-state是δq" role="presentation" style="position: relative;">δqδq的矢量部分和gyro bias误差。用矢量部分而不是整个四元数是为了避免协方差矩阵奇异。
A Sensor Fusion Method for Smart phone Orientation Estimation
θ=(α)∗(θg)+(1−α)∗(θam)" role="presentation" style="position: relative;">θ=(α)?(θg)+(1?α)?(θam)θ=(α)?(θg)+(1?α)?(θam)
其中α=ττ+Ts" role="presentation" style="position: relative;">α=ττ+Tsα=ττ+Ts,Ts" role="presentation" style="position: relative;">TsTs是采样周期,filter的时间常数τ" role="presentation" style="position: relative;">ττ是the relative duration of signal it will act on。
互补滤波的思想:通过加速度计和磁力计算出的θam" role="presentation" style="position: relative;">θamθam没有漂移问题,但噪声较大。而通过陀螺仪算出的θg" role="presentation" style="position: relative;">θgθg短时间内较精确,但有漂移问题。因此对θam" role="presentation" style="position: relative;">θamθam低通滤波,滤除噪声,对θg" role="presentation" style="position: relative;">θgθg高通滤波,保留方位角的快速变化。
Standalone Inertial Pocket Navigation System
magnetic disturbance detector 根据磁场强度和方向
A sensor fusion algorithm for an integrated angular position estimation with inertial measurement units
观测值为加速度信号,预测值值为重力加速度通过变换后在body坐标系中的值。不能修正yaw值
Heading Estimation for Indoor Pedestrian Navigation Using a Smartphone in the Pocket
wkgyro" role="presentation" style="position: relative;">wgyrokwkgyro是陀螺仪的测量误差
process noise covariance matrix
是陀螺仪的测量误差协方差矩阵
measurement model
这里a是没有加速时的值。
adaptive measurement covariance matrix
Jacobian
线性化
3D orientation tracking based on unscented Kalman filtering of accelerometer and magnetometer data
freescale
误差函数:
sk" role="presentation" style="position: relative;">sksk是body系的测量值,rk" role="presentation" style="position: relative;">rkrk是导航系中的参考值,R" role="presentation" style="position: relative;">RR是方向余弦矩阵,αk" role="presentation" style="position: relative;">αkαk是权重
定义
则
考虑归一化的矢量,即
则有
定义
以及四元数
则
引入拉格朗日乘子,
由极值条件
推出
即q" role="presentation" style="position: relative;">qq是κ" role="presentation" style="position: relative;">κκ的本征矢量
由
得q" role="presentation" style="position: relative;">qq对应的是最大本征值的本征矢量。
gyro模型
bk" role="presentation" style="position: relative;">bkbk是zero rate offset
磁场指向水平面下时磁倾角为正