Mk II IMU Calibration General Procedures

Things to remember about Mk II IMU calibration:

  • IMU calibration data is saved in receiver flash memory and a good saved calibration will result in much faster calibration on startup.

  • The IMU should be fully calibrated each time the receiver is mounted in a new or different location.

  • You need to tell the receiver to invalidate its IMU calibration data when you remount it, then you need to do calibration maneuvers until calibration completes (see below). Invalidating a calibration set allows a new set to be stored.

  • Failing to invalidate old IMU data when re-mounting the receiver will result in long, annoying, difficult startups.

  • If you are only using apparent bearing and elevation outputs you can completely ignore the IMU and its calibration requirements.

Calibration maneuvers are sometimes called the “IMU Dance,” and they go like this (also see note below):

Note: As of July 2020, we have added an output information to show the calibration status of the individual IMU components. The status is shown on the CeruleanTracker main tab and is also sent via the $USRTH message (see message definitions).

Note: You may see improved results if, once you achieve a "3333" status, wait 60 seconds and then hold the receiver vertically (sensor cone down) and slowly rotate it about the Z axis in complete circles a couple of times. By "slowly" we mean a complete rotation in 5 to 10 seconds.

To take advantage of this calibration status information, do your IMU dance like this (for initial calibrations only; this should not be needed for each start-up):

  • Set up where you can watch the calibration status as you move the receiver (or whatever the receiver is mounted to).

  • Wait for the gyroscope status to reach “3” (second status digit). This can usually be done by just leaving the unit sit still. If on a boat or other moving platform and the gyro status does not reach “3” within 60 seconds, go on to the next steps.

  • Imagine the receiver is enclosed in a cube (or maybe it is really mounted in a cube-like structure like a BlueROV2). Lay each face of the cube down on a stable platform for 5 seconds per face (i.e., you are laying on six orthogonal faces). Move smoothly between each position, and don’t “thunk” the system when you set it on any face. Watch the accelerometer status (third digit) and repeat this a couple of times until the status reaches “3”. If you’ve done three sets of faces without achieving a “3” status, go to the next step.

  • Rotate the system about its vertical axis a few times, back and forth, being sure to rotate at least 500 degrees each direction. Flip the system upside down and make the same kind of rotations. Try to move smoothly and not too slow or fast (about 2 to 4 seconds for a 360 degree rotation is good). Watch the magnetometer (fourth digit) until the status reaches “3”. If you’ve done three sets of right-side-up and upside-down rotations without achieving a “3” status, go to the next step.

  • Wave the system around randomly until the system status (all digits) reaches “3333”. If it does not reach "3" in a few seconds, go back to the beginning and repeat the steps.

  • Note that it is normal for the system status to drop below “3333” during operation. This is usually nothing to worry about. If do you achieve 3333 status very quickly you should repeat the above maneuvers one more time to make sure the IMU calibration is stable.

Once the initial calibration is complete and stored in flash memory, on subsequent boot-ups only a few simple maneuvers are needed for the IMU to recognize the saved calibration is still valid and begin outputting data. These maneuvers are typically as simple as smoothly turning the receiver upside-down and then right-side up once or twice.

If you re-mount the unit without both invalidating the old calibration data and then completing an initial calibration, on subsequent boot-ups it may take quite a few maneuvers to complete calibration.

Any time after either an initial calibration or a subsequent boot-up calibration is complete you can invalidate stored data and the newest calibration data will immediately store in flash. An information message is sent when the flash storage operation is complete.

Last updated