Hello Forum,
I am using the MPU-6000 with the MotionApps firmware loaded. It is configured to output quaternion data. (q = a + i b + j c + k d)
The calculation made is as follows:
RotationAngle = arccos(a)*2
cos(beta_x) = b/sin(RotationAngle/2)
cos(beta_y) = c/sin(RotationAngle/2)
cos(beta_z) = d/sin(RotationAngle/2)
The data is then output via a serial connection in CSV format and read by MATLAB for a graphical representation.
In the image below are the graphs for a 180° rotation on the x axis.
https://www.dropbox.com/s/3y9tgc0l82zh08i/rotation_180deg.png
The overall difference of the rotation angle is approx. 180° but it takes the sensor 20 sec to reach the value. How can this be, since the rotation itself takes less than a sec? What could I have done wrong?
Thanks
- Log in to post comments
phpbb Topic ID
15783
Re: Re: Slow Quaternions
I think I have found it out myself. The problem was caused by wrong full scale ranges.
The right full scale ranges are +-2g for the accelerometer and +-2000°/s for the gyroscope.
I had set different values by writing them directly to the registers 27 and 28.
Is there a way to change the full scale ranges via the firmware so that the quaternion calculation also works with other ranges?
Re: Re: Slow Quaternions
I meet the same problem, the fsr of ACC is fixed to +-2g,and the fsr of gryo is fixed to 2000, the output of DMP will be not correctly if you try to change it,but the response speed is not satisfied the application when using the fixed fsr.
Re: Re: Slow Quaternions
Which software are you running? You can adjust the full scale ranges within the eMPL 5.1 (MotionFit) firmware as well as Embedded Motion Driver.