Hi,
I am currently working with a MPU9250 and MotionDriver 6.1 It has been working pretty well so far, but I'm facing some issues with the heading. The heading value is critical for my application, that's why I need to have an accurate value very quickly. Basically, I would like this value to be updated several times every second.
I use inv_get_sensor_type_heading to get this value.
My questions are:
1) What does the first value measured correspond to? (before sensors get calibrated)
2) What features do i need to enable? Right now I have enabled:
• inv_enable_quaternion();
• inv_enable_9x_sensor_fusion();
• inv_enable_fast_nomot();
• inv_enable_gyro_tc();
• inv_enable_vector_compass_cal();
• inv_enable_magnetic_disturbance();
• inv_enable_in_use_auto_calibration();
• inv_enable_heading_from_gyro();
It gives me good results but the heading value takes several seconds to stabilize to its final value when I move the device. Even if this value is correct, the time needed to get it is very long in my opinion. Which others parameters are important to take into account during the initialization of the MPU and the library, to increase the rate of updated values? And what is the maximum sampling rate when DMP is enable.
3) Final question, according to the "App Note 2- Motion driver 6.0 Features Guide", the heading value is 360 degrees from north with Y+ axis as the pointer. Is that the Y+ axis of the gyroscope inside the MPU9250? That's what i have from my tests.
Thank in advance for your answers and have a nice day! (Sorry for the eventual linguistic errors ;))
- Log in to post comments
phpbb Topic ID
16701
Re: Re: Heading issue
I'm not using 6.1 but I would think the magnetometer values is being low-passed to correct the fast-changing gyroscope integrated value, something like a complementary filter (the accelerometer generally does not have much influence on heading I suppose).
My suggestion is if you want to have quick heading data, calibrate the IMU extra carefully then use the 6x sensor fusion function that uses only gyroscope to calculate heading. I find the accuracy of this method to be decent enough for a lot of tasks. However, 6x fusion heading (and any other kind of gyro-integration estimation) is prone to accumulative error, so you will need to use the magnetometer to re-calibrate the heading value at some point, if your project have times where quick heading values are not as important.
:) just suggestions, I've never used a 9DOF sensor before.
Re: Re: Heading issue
One suggestion is to use the compass sampling rate to some higher value for fast stabilization. Your function calls look OK.