this could be a quite complicated module. good luck have fun!
Application level module responsible for handling the redundancy checking for the IMUs. This module is critical for detecting IMU failure. It should read from all IMUs, then do …something… with the IMU data to determine what IMU values to send down the pipeline (in this case, to state estimation).
Things to figure out:
Like pretty much the entire module. This is brand new with no basis from last year as there was only 1 imu last year. Should consult with people like Joe about ideas for the redundancy switching logic
NEW REQUIREMENT: the polulu imu has a barometer attached, which we would like to read data from. However the ST imu doesn't have a barometer, so we need to use the rocket's barometer as a backup. The rocket sends barometer data over CAN.
ANOTHER NEW REQUIREMENT: "Pololu is primary for now yes unless we discover the other one performs better even under normal conditions, I think during initial boost when we expect high accel we should pre-emptively use the higher accel IMU then once we read that accel get to the Pololu range switch to that as in theory it should be more precise"
ie., beginning of flight must use st imu until low accel is detected, at which point we can switch to polulu imu (with the st still as a backup)
see #5
this could be a quite complicated module. good luck have fun!
Application level module responsible for handling the redundancy checking for the IMUs. This module is critical for detecting IMU failure. It should read from all IMUs, then do …something… with the IMU data to determine what IMU values to send down the pipeline (in this case, to state estimation).
Things to figure out: