Intertial Sensor is not Accurate

Why is my Intertial so off? During the 15 second auto period, heading 90 degrees is so off, and causes the entire program to be off. It calibrates at the start of the program so how do I fix it? Any thoughts?

How far off is it ? Have you checked its accuracy using the brain dashboard ? With the dashboard open, calibrate the inertial sensor, turn the robot 90 degrees, what is the reading ?

1 Like

At the same time, if you are turn to heading 90 degrees, since you calibrate the robot at the begining of pre auton, ur 0 degrees is wherever ur robot is facing, so 90 will be the 90 from that 0. I’m just assuming that didnt get cleared up.

Just to add, I recently received an inertial sensor for Christmas and had the same issue. I orientated it with a wall, spun it 360 with my hands, and it was about 3 degrees off. I read some older posts that said you could fix it using your own mathematical equation to take away the error. Is this all I can do?

After calibration using the dashboard what do the roll and pitch angles show if the inertial sensor is on a flat surface ? If they are off by more than a couple of degrees then a factory cal of the accelerometers may improve that, but understand that the inertial sensor should be mounted so that it is level before doing this.

That may improve rotational accuracy, but generally those errors are due to the gyro internal scaling not accurately converting internal raw values to degrees. Many things can impact that, for example temperature of the inertial sensor. For the IQ Generation 2 and EXP brains we added an additional calibration for the gyro section of the IMU, we have not (as yet) added that to the V5 IMU firmware. IQ2/EXP is much easier to perform this calibration by turning 360 degrees as the brain is rectangular and can easily be placed against a reference surface, that’s much more difficult for the V5 inertial sensor. However, using external scaling in your code would achieve exactly the same result. If your IMU reads 357 degrees after a physical 360 degree rotation, just scale (ie. multiply) all the rotation and heading values by 360.0/357.0

2 Likes

Now this would fix it for 360 degree turns, but what if I turn 90 degrees? I would doubt the inertial sensor would give “consistent inconsistency”. At that point the inertial sensor isn’t worth the work.

I will try to recalibrate my sensor. Thank you for the diagnosis.

It should fix for all angles.

1 Like