关于STM32 MPU6050四元数法代码解析问题

2019-07-21 05:41发布

我在看原子的代码时发现了个小问题,请教大神们
原子代码:

//计算得到俯仰角/横滚角/航向角
*pitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3;        // pitch
*roll  = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3;        // roll
*yaw   = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3;        //yaw



请问为什么roll计算式右边的参数是(-2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3,因为我看了四元数法的原理,感觉应该是(q0*q0-q1*q1-q2*q2+q3*q3)*57.3,为啥更换了请原子哥解释下

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。