Calibration Model: Difference between revisions

From STorM32-BGC Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
The STorM32 controller implements a relatively simple calibration model for the accelerometers and gyros.
The STorM32 controller implements a relatively simple calibration model for the accelerometers and gyros.
Importantly, the calibration constants are with respect to the IMU frame, i.e., applied before the rotation into the gimbal frame as specified by the IMU orientation settings. The offset value is however applied after this rotation, i.e., is with respect to the gimbal frame.


=== Accelerometer ===
=== Accelerometer ===
Line 7: Line 5:
Each axis is converted as follows:
Each axis is converted as follows:


:a = (a_meas - a_zero) * a_scale - a_offset
:<math>a = (a_{meas} - a_{zero}) \cdot a_{scale} - a_{ofs}</math>




a_meas: value obtained form the IMU
<math>a_{meas}</math>: value obtained from the IMU


a_zero: 'Acc Zero' calibration constant determined by calibration procedure
<math>a_{zero}</math>: 'Acc Zero' calibration constant determined by calibration procedure


a_scale: 'Acc Scale' calibration constant determined by calibration procedure
<math>a_{scale}</math>: 'Acc Scale' calibration constant determined by calibration procedure


a_offset: offset entered in the GUI ({{GUIPARAM|Pitch Offset}} or {{GUIPARAM|Roll Offset}} or {{GUIPARAM|Yaw Offset}})
<math>a_{ofs}</math>: offset entered in the GUI ({{GUIPARAM|Pitch Offset}} or {{GUIPARAM|Roll Offset}} or {{GUIPARAM|Yaw Offset}})


=== Gyro ===
=== Gyro ===
Line 22: Line 20:
Each axis is converted as follows:
Each axis is converted as follows:


:g = g_meas - g_zero
:<math>g = g_{meas} - g_{zero}</math>
 
 
<math>g_{meas}</math>: value obtained from the IMU


<math>g_{zero}</math>: bias determined during gyro calibration at startup, or 'Gyro Zero' calibration constant determined by calibration procedure


g_meas: value obtained form the IMU
=== IMU Orientation ===


g_zero: bias determined during gyro calibration at startup, or 'Gyro Zero' calibration constant determined by calibration procedure
The calibration constants are with respect to the IMU frame, i.e., applied before the rotation into the gimbal frame as specified by the IMU orientation settings. The offset value is however applied after this rotation, i.e., is with respect to the gimbal frame. This makes it possible to calibrate the IMU and then to mount it in any desired orientation without having to recalibrate (the offsets may have to be adjusted however, but these should normally not be needed).

Latest revision as of 17:57, 3 February 2023

The STorM32 controller implements a relatively simple calibration model for the accelerometers and gyros.

Accelerometer

Each axis is converted as follows:


: value obtained from the IMU

: 'Acc Zero' calibration constant determined by calibration procedure

: 'Acc Scale' calibration constant determined by calibration procedure

: offset entered in the GUI ("Pitch Offset" or "Roll Offset" or "Yaw Offset")

Gyro

Each axis is converted as follows:


: value obtained from the IMU

: bias determined during gyro calibration at startup, or 'Gyro Zero' calibration constant determined by calibration procedure

IMU Orientation

The calibration constants are with respect to the IMU frame, i.e., applied before the rotation into the gimbal frame as specified by the IMU orientation settings. The offset value is however applied after this rotation, i.e., is with respect to the gimbal frame. This makes it possible to calibrate the IMU and then to mount it in any desired orientation without having to recalibrate (the offsets may have to be adjusted however, but these should normally not be needed).