血染枫林 发表于 2013-10-19 15:51:05

MPU6050 DMP已输出四元数,但是如何输出加速度和角速度?求各位大神解答,谢了!

这是MPU6050 DMP读取四元数程序
dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors, &more);       
if (sensors & INV_WXYZ_QUAT )
{
   PrintChar("in Calculating quaternion steps.....\n");
   q0=quat / q30;
   q1=quat / q30;
   q2=quat / q30;
   q3=quat / 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;
   printf("\r\npitch:%f\ roll:%f yaw:%f\r\n",Pitch,Roll,Yaw);
    delay_ms(500);
}
这是输出四元数和欧拉角。但是
if(sensors & INV_XYZ_GYRO)
{}
if(sensors & INV_XYZ_ACCEL)
{}
这两个函数怎么填写?
希望知道的人们帮一下小弟,再次谢过。

血染枫林 发表于 2013-10-19 15:55:14

是基于STM32的,忘说了……

学慧放弃 发表于 2013-11-6 17:37:38

不是AVR吗???那算法可以直接用于AVR上面吗?

小奇 发表于 2014-1-16 00:32:07

楼主解决这个问题了没,最近在做空中鼠标,也遇到了这个问题

normancm 发表于 2014-1-18 10:55:26

等高人吧{:soso_e107:}

xiaoqiangzi 发表于 2014-12-12 15:31:33

谢谢楼主,最近在用arduino做

SproutME 发表于 2014-12-15 18:57:42

貌似还原不了
页: [1]
查看完整版本: MPU6050 DMP已输出四元数,但是如何输出加速度和角速度?求各位大神解答,谢了!