Hi all,
I tested the OpenIMU algorithm using a 6D (Acc+Gyro) MEMS on a custom board. I used the example for OpenIMU300RI VG_AHRS (can bus) and the selected algorithm is VG.
Under linear vibrations the outputs change a little; it is OK. But after a shock(if you hit the sensor to the desk), it takes too much time(15-20s) for the sensor to output correct values. Please see the image below. I think it is a big problem if the device operates on a vehicle. I think acceleration gain too low even if the sensor is standstill on a desk. Is there a dynamic gain adjustment in the algorithm?
I have also another question. How can I modify the library to use update rate others than 100/200Hz? My MEMS supports 104/208Hz. Please see the code below.
// Set dt based on the calling frequency of the EKF
if (gAlgorithm.callingFreq == FREQ_100_HZ)
{
gAlgorithm.dt = (real)(0.01);
gAlgorithm.dITOW = 10;
}
else if (gAlgorithm.callingFreq == FREQ_200_HZ)
{
gAlgorithm.dt = (real)(0.005);
gAlgorithm.dITOW = 5;
}
else
{
while (1);
}