关于IMU标定对于线性变换的理解

标题 IMU Misalignment

X = Gyro;
Y = 转台激励信号(N为转台不同位置和速率点的组合数量)
X和Y维度相同(N×4矩阵<包含bias>)
线性变换: H = inv(X’ * X) * X’ * Y;
X_Corrected = X * H;
error = Y - X_Corrected
公式解释:
在这里插入图片描述
线性变换包含了Misalignment 、scale 和 offset

线性变换H:
H = inv(X' * X) * X' * Y;
X_Corrected = X * H; % 维数:X_Corrected :N*3  H:4*3
    [ H00  H01   H02  ]
H = [ H10  H11   H12  ]
    [ H20  H21   H22  ]
    [ H30  H31   H32  ]
% 转台标定参数维数: Misalignment:3×3  Scale 3×3  Bias 3×1
Misalignment matrix:
    [    1     -mis_yz   mis_zy  ]
M = [  mis_xz     1     -mis_zx  ]
    [ -mis_xy   mis_yx     1     ]
Scale matrix:
    [  s_x      0        0  ]
K = [   0      s_y       0  ]
    [   0       0       s_z ]
Bias vector:
B =  [ b_x b_y b_z ]
转台标定补偿公式: 
X_vector = (X - B) * K * M = X * K * M - B * K * M
公式 Y_N×3 = X_N×4 * H_4×3 解析:
    [T] 
H = [ ]
    [B]  
    [ T00  T01   T02  ]
T = [ T10  T11   T12  ]
    [ T20  T21   T22  ]

B = [ H30  H31   H32  ]
                     [T]                     
Y_N×3 = [ X_N×3 E] * [ ]  %  E = [1 1 ... 1] N×1维
                     [B]
      = X_N×3 * T + B_N×3
所以,
            [     s_x     -mis_yz*s_x  mis_zy*s_x ]
T = K * M = [  mis_xz*s_y     s_y    -mis_zx*s_y  ]
            [ -mis_xy*s_z  mis_yx*s_z     s_z     ]
            
                            [  s_x*s_x      0        0  ]
T * T' = K * M * M' * K' =  [   0      s_y*s_y       0  ]
                            [   0       0       s_z*s_z ]
%因为三个轴是符合笛卡尔坐标系,所以T为正交矩阵                    
         [ T00^2 + T01^2 + T02^2    0                0            ]
T * T' = [          0      T10^2 + T11^2 + T12^2     0            ]
         [          0               0       T20^2 + T21^2 + T22^2 ]
如此便可以求出:Scale  [s_x s_y s_z], 然后根据T和sclae便可以求出 Misal
                    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值