Frequently Asked Questions
How does one calibrate the navX-sensor gyroscope and accelerometer on the VMX Robotics Controller?
The navX-sensor orientation sensors require calibration in order to yield optimal results. We highly recommend taking the time to understand this calibration process – successful calibration is vital to ensure optimal performance. Accurate Gyroscope Calibration is crucial in order to yield valid yaw angles. Although this process occurs automatically, understanding how it works is required to obtain the best results.
If you are tempted to ignore this information, please read the section entitled “The Importance of Stillness” at the end of this page.
Note that the onboard gyroscopes are sensitive to temperature changes. Therefore, since the average ambient temperature at the factory may be different than in your environment, you can optionally choose to re-calibrate the gyroscope by pressing and holding the “CAL” button for at least 10 seconds. When you release the “CAL” button, ensure that the “CAL” Led flashes briefly, and then press the “RESET” button to restart navX-Micro. When VMX-pi is re-started, it will perform the Initial Gyro Calibration – the same process that occurs at our factory. NOTE: It is very important to hold VMX Robotics Controller still, and parallel to the earth’s surface, during this Initial Gyro Calibration period. You might consider performing this process before using your robot the first time it is used within a new environment (e.g., when you arrive at a robotics competition event).
The value of re-running Factory Calibration at the same temperature the navX-sensor will be operated at is potentially increased yaw accuracy as well as faster Startup Calibration. If a significant temperature shift has occurred since the last Factory Calibration, the Startup Calibration time may take longer than normal, and it’s possible that yaw accuracy will be diminished until the next On-the-fly Gyro Calibration completes.
If the sensor continues to move during startup calibration, Startup Calibration will eventually timeout – and as a result, the navX-sensor yaw angle may not be as accurate as expected.
Yaw Offset Calibration requires that VMX Robotics Controller be still for approximately 2 seconds after Startup Calibration completes. After approximately 2 seconds of no motion, the navX-sensor will acquire the current yaw angle, and will subtract it from future yaw measurements automatically. The navX-sensor protocol and libraries provide a way to determine the yaw offset value it is currently using.
NOTE: If the VMX Robotics Controller is moving during startup, this Yaw Offset Calibration may take much longer than 2 seconds, and may not be calculated at all if the sensor continues moving long enough. Therefore it is highly-recommended to keep the VMX Robotics Controller still until initial calibration and Initial Yaw Offset calibration completes.
This On-the-fly Gyro Calibration can help deal with cases where the sensor was moving during Startup Calibration, but note that the yaw is not zeroed at the completion of On-the-fly Calibration. So once again, it’s important to keep the sensor still during Startup Calibration.
If you are tempted to ignore this information, please read the section entitled “The Importance of Stillness” at the end of this page.
Calibration Process
The navX-sensor Calibration Process is comprised of three calibration phases:- Factory Calibration
- Startup Calibration
- On-the-fly Calibration
Factory Calibration
Before VMX Robotics Controller units are shipped, the accelerometers and gyroscopes are initially calibrated at the factory; this calibration data is stored in flash memory and applied automatically to the accelerometer and gyroscope data each time the navX-sensor is powered on.Note that the onboard gyroscopes are sensitive to temperature changes. Therefore, since the average ambient temperature at the factory may be different than in your environment, you can optionally choose to re-calibrate the gyroscope by pressing and holding the “CAL” button for at least 10 seconds. When you release the “CAL” button, ensure that the “CAL” Led flashes briefly, and then press the “RESET” button to restart navX-Micro. When VMX-pi is re-started, it will perform the Initial Gyro Calibration – the same process that occurs at our factory. NOTE: It is very important to hold VMX Robotics Controller still, and parallel to the earth’s surface, during this Initial Gyro Calibration period. You might consider performing this process before using your robot the first time it is used within a new environment (e.g., when you arrive at a robotics competition event).
The value of re-running Factory Calibration at the same temperature the navX-sensor will be operated at is potentially increased yaw accuracy as well as faster Startup Calibration. If a significant temperature shift has occurred since the last Factory Calibration, the Startup Calibration time may take longer than normal, and it’s possible that yaw accuracy will be diminished until the next On-the-fly Gyro Calibration completes.
Startup Calibration
Startup Calibration occurs each time the VMX Robotics Controller is powered on, and requires that the sensor be held still in order to complete successfully. Using the Factory Calibration as a starting point, the sensor calibrates the accelerometers and adjusts the gyroscope calibration data as well based upon current temperature conditions.If the sensor continues to move during startup calibration, Startup Calibration will eventually timeout – and as a result, the navX-sensor yaw angle may not be as accurate as expected.
Initial Yaw Offset Calibration
Immediately after Startup Calibration, an Initial Yaw Offset is automatically calculated. The purpose of the Initial Yaw Offset is to ensure that whatever direction the “front” of the VMX Robotics Controller is pointed to at startup (after initial calibration is applied) will be considered “0 degrees”.Yaw Offset Calibration requires that VMX Robotics Controller be still for approximately 2 seconds after Startup Calibration completes. After approximately 2 seconds of no motion, the navX-sensor will acquire the current yaw angle, and will subtract it from future yaw measurements automatically. The navX-sensor protocol and libraries provide a way to determine the yaw offset value it is currently using.
NOTE: If the VMX Robotics Controller is moving during startup, this Yaw Offset Calibration may take much longer than 2 seconds, and may not be calculated at all if the sensor continues moving long enough. Therefore it is highly-recommended to keep the VMX Robotics Controller still until initial calibration and Initial Yaw Offset calibration completes.
On-the-fly Gyro Calibration
In addition to Startup Calibration, during normal operation the navX-sensor will automatically re-calibrate the gyroscope (e.g., to account for ongoing temperature changes) during operation, whenever it detects 8 seconds of no motion. This process completes after about 7-8 more seconds, and is completely transparent to the user. Therefore each time the VMX Robotics controller is still for approximately 15 seconds, the gyroscopes are re-calibrated “on-the-fly”. The purpose of On-the-fly Gyro re-calibration is to help maintain yaw accuracy when shifts in ambient temperature occur during operation.This On-the-fly Gyro Calibration can help deal with cases where the sensor was moving during Startup Calibration, but note that the yaw is not zeroed at the completion of On-the-fly Calibration. So once again, it’s important to keep the sensor still during Startup Calibration.
Runtime Yaw Zeroing
Your robot software can optionally provide the robot operator a way to reset the yaw angle to Zero at any time, under software control.The importance of stillness
This is the most important takeaway from this discussion: It is highly-recommended that the VMX Robotics Controller be held still during the above Initial Gyro and Initial Yaw Offset calibration periods. In support of this, the navX-Sensor indicates when it is calibrating; we recommend you incorporate this information into your software. Please see the discussion of the navXUI, and the the navX-sensor software library for more details on this indication.Last Updated 7 years ago