Spacecraft Models Package 2.0
Spacecraft Models for DSim
|
MEMS IMU model. Outputs rate and acceleration. More...
#include <imu_mems.h>
Public Member Functions | |
imu_mems (dsim_model_setup *setup) | |
Constructor. | |
~imu_mems () | |
Destructor. | |
void | initialize_data () |
Initialize outlets and output variables. | |
void | initialization_complete () |
Finish initialization. | |
void | complete_timestep () |
Computation done prior to numerical integration. | |
void | initialize_timestep () |
Computation done prior to numerical integration. | |
void | rhs (double t, double jd) |
Computation done during numerical integration. | |
![]() | |
void * | describe_setup (void *ds) |
Describe the setup variables. | |
void | initialize_data () |
Initialize outlets and output variables. | |
void | initialization_complete () |
Finish initialization. | |
void | initialize_timestep () |
Initialize the timestep. | |
Protected Attributes | |
dsim_variable | bodyRate_dsim |
Body rate input. | |
dsim_variable | acceleration_dsim |
Linear acceleration input. | |
dsim_variable | angularAcceleration_dsim |
Angular acceleration input. | |
dsim_variable | centerOfMass_dsim |
Linear acceleration input. | |
dsim_variable | body_rate_measured_dsim |
Measured body rate. | |
dsim_variable | acceleration_measured_dsim |
Linear acceleration input. | |
dsim_variable | integratedRate_dsim |
Angular rate input. | |
dsim_variable | biasAccelerometer_dsim |
Angular rate input. | |
dsim_variable | biasGyro_dsim |
Angular rate input. | |
dsim_variable | imuPosition_dsim |
Angular rate input. | |
dsim_variable | imuBodyToIMUMatrix_dsim |
Angular rate input. | |
dsim_variable | oneSigmaGyroBias_dsim |
Gyro random walk noise. | |
dsim_variable | oneSigmaAccelerometerBias_dsim |
Accelerometer random walk noise. | |
dsim_variable | oneSigmaGyro_dsim |
Gyro output noise. | |
dsim_variable | oneSigmaAccelerometer_dsim |
Accelerometer output noise. | |
dsim_variable | tauGyroBias_dsim |
Gyro bias time constant. | |
dsim_variable | tauAccelerometerBias_dsim |
Accelerometer bias time constant. | |
dsim_variable | omegaConstant_dsim |
Gyro constant rate. | |
dsim_variable | accelerationConstant_dsim |
Accelerometer constant rate. | |
dsim_variable | imuBodyToIMUMatrix_param_dsim |
Accelerometer constant rate. | |
dsim_variable | imuPosition_param_dsim |
Position constant. | |
![]() | |
dsim_variable | power_on_dsim |
Power consumed when on (constant) | |
dsim_variable | power_standby_dsim |
Power consumed when in standby mode (constant) | |
dsim_variable | failed_dsim |
Command flag for failed (1) or not (0) | |
dsim_variable | on_dsim |
Command flag for on (1) or off (1) | |
dsim_variable | current_dsim |
Measured current. | |
dsim_variable | voltage_dsim |
Input voltage. | |
dsim_variable | thermal_node_dsim |
Thermal node. | |
dsim_variable | heat_dsim |
Heat. | |
dsim_variable | power_dsim |
Power. | |
MEMS IMU model. Outputs rate and acceleration.
Models an inertial measurement unit with 3 orthogonal linear accelerometers and 3 rate gyros. The model for both gyro and accelerometer is
omega = omega_true + bias + constant + noise dbias/dt + bias/tau = noise
The second equation is for a Markov model. If tau = infinity this is a random walk model
Reference: Warren S. Flenniken IV, John H. Wall, David M. Bevly, "Characterization of Various IMU Error Sources and the Effect on Navigation Performance"