容易知以下公式成立:

上面公式用四元数表示如下:

由于

是用四元数的形式表示的,所以即可完成四元数到旋转矩阵的转换公式推导,详细推导如下:

为实部,
为虚部,
的共轭四元数。

所以:

容易推出:

所以可以化简为:

所以:

上述公式推导的结果和matlab推导的结果是一样的,主要代码如下:

addpath('../utils');
syms q0 q1 q2 q3 a_x a_y a_z ab_x ab_y ab_z 
 
q_k0 = [q0,q1,q2,q3];
q_k0_conj = [q0,-q1,-q2,-q3];
acce_x_bias = a_x+ab_x;
acce_y_bias = a_y+ab_y;
acce_z_bias = a_z+ab_z;
p = [1,acce_x_bias,acce_y_bias,acce_z_bias];
% quaternProd:四元数乘法
q_k1 = quaternProd(quaternProd(q_k0, p),q_k0_conj);

% 求偏导
q_k1_dif = [diff(q_k1,a_x).',diff(q_k1,a_y).',diff(q_k1,a_z).']

% 结果如下:
% [                         0,                         0,                         0]
% [ q0^2 + q1^2 - q2^2 - q3^2,         2*q1*q2 - 2*q0*q3,         2*q0*q2 + 2*q1*q3]
% [         2*q0*q3 + 2*q1*q2, q0^2 - q1^2 + q2^2 - q3^2,         2*q2*q3 - 2*q0*q1]
% [         2*q1*q3 - 2*q0*q2,         2*q0*q1 + 2*q2*q3, q0^2 - q1^2 - q2^2 + q3^2]
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐