Pigeon 2.0
User’s Guide
___ www.ctr-electronics.com ______________________ 1/31/2022
Cross The Road Electronics Page 11 ____________________________ 1/31/2022
2. IMU Error Sources
All IMUs are susceptible to accrued error due to sources of error listed below. However, this can be avoided by
following a few basic principles and careful IMU placement. The suggestions below are applicable to many IMUs,
including those available in FRC Robotics.
Below is information and instructions for how to root-cause each error source using features of Pigeon 2.0
2.1. Location
–
Center of Rotation
Due to the fusion between the accelerometer and the gyroscope, excessive and sustained g-force caused by
centripetal acceleration can impact the Yaw. This can be resolved by moving the IMU closer to the COR (center of
rotation).
The root cause can be confirmed by printing/plotting the accelerometer magnitude while spinning the robot at
maximum velocity. Ideally, the magnitude should be as close to 1G as possible.
Alternatively, the accumulated gyro Z value can be printed/plotted while performing a sustained high-speed
rotation. If the accumulated gyro Z value is more correct than the Yaw, it sufficiently confirms the root cause.
Procedure:
1.
First
drive the robot to immoveable flat obstacle. A wall works best against the robot’s flattest surface
2.
Zero the yaw and accumulated gyro Z
3.
Drive the robot in a zero turn at max speed for ~30 seconds
4.
Drive the robot in the opposite direction at max speed until it approaches 0 heading.
5.
Drive back up against the obstacle and read Yaw and accumulated gyro Z.
6.
If root-cause is confirmed, move IMU closer to COR and repeat procedure.
2.2. Temperature
IMUs (in general) also drift due to subtle changes in temperature. T
his is primarily due to the temperature’s impact
on the zero-bias for the gyroscope. However, it can also affect accelerometer and magnetometer. One strategy to
reduce this is to continually re-bias the gyroscope whenever a no-motion event is detected (Pigeon 2.0 does this
along with other market IMUs). This combined with an environment where temperature does not change rapidly
can be adequate depending on the application.
Another strategy is on-the-fly compensation for changes in temperature. Pigeon 2.0 supports this as well and
comes out of the box with a temperature calibration. If the temperature calibration is called into question, the
user can disable it through a configuration parameter.