MPU6050的DMP读出了四元数,但算出来的Yaw角度有偏差
时间:10-02
整理:3721RD
点击:
读出四元数之后用代码
q0=quat[0] / q30;
q1=quat[1] / q30;
q2=quat[2] / q30;
q3=quat[3] / q30;
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;
计算得到欧拉角,但是上位机观察,Pitch及Roll都正确,但是Yaw有偏差。也就是让芯片偏航90度,但输出的偏转角不到90度。
请问有没有哪位大虾遇到过。请不吝赐教。
q0=quat[0] / q30;
q1=quat[1] / q30;
q2=quat[2] / q30;
q3=quat[3] / q30;
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;
计算得到欧拉角,但是上位机观察,Pitch及Roll都正确,但是Yaw有偏差。也就是让芯片偏航90度,但输出的偏转角不到90度。
请问有没有哪位大虾遇到过。请不吝赐教。
检查公式和计算都正确?查看手册看看有没有什么缺少的
57.3换一个数试试!
我也有这个问题
要使用电子罗盘进行纠正
小编解决了吗?我也遇到这种问题了 正在纠结呢 qq号:1920367503
小编,我想请教你一个问题,就是我用MPU6050内部集成的DMP读取到的三个角度,是你说的pitch、yaw、roll角度吗?
我也是mpu6050读的DMP的yaw,有零漂,而且转时间长了yaw不准,是不是有磁力计校准效果会好很多?有没有试过的?
同问啊?
小编解决没有,求指点啊!
四元数要怎么读啊,求小编教程!