Description
The accelerometer sensor measures the linear acceleration of the platform to which the sensor is added to on the Spacecraft. Errors and biases can be added to the measurement to simulate the effect of instrument noise on the sensor.
Example Use Cases
- Determining the attitude rate of a spacecraft using a simulated sensor with realistic noise and bias models applied.
- Using a Kalman Filter to estimate a spacecraft’s heading for use in software-in-the-loop attitude control systems.
Module Implementation
Linear Acceleration:
The sensor is assumed to have some offset from the center of mass of the spacecraft i.e.
The linear velocity of the sensor in the inertial frame may then be written by applying the transport theorem:
The sensor is also assumed to be fixed (). Therefore, the linear acceleration of the sensor in the inertial frame may be written as:
In reality, however, the sensor will only measure non-conservative accelerations. To account for this, the above equation can be modified to be:
where is the instantaneous acceleration due to gravity in the inertial frame. Finally, the sensed linear acceleration is transformed from the body frame to the sensor platform frame.
Change in Velocity:
The IMU outputs velocity accumulated between IMU calls. As with the angular displacement, this is not done through physical simulation. Instead, taking the state information from the previous IMU call (1) and the current call (2), we may write:
is the difference between the total change in velocity accumulated by the spacecraft body frame at time 2 minus the change in velocity accumulated by the spacecraft body frame at time 1:
The above is computed by accumulating the velocity after each dynamics integration and subtracting out the time-averaged gravitational acceleration multiplied by the dynamics time step. Then,
Again, the above equation is calculated in the inertial frame and then converted to the platform frame, such that:
This describes the change in sensed velocity by the IMU between the IMU calls in the platform frame and in the change in velocity output from this module i.e. it is the sensed inertial velocity change in the platform frame. This assumes that the IMU is tracking its attitude and performing calculations internally to return this value correctly. It is not simply the integral of the acceleration value above in the body frame.
Error Modelling:
These errors are then integrated over the component timestep and applied to the accumulated changes in velocity.
This assumes that the approximation holds.
Data Discretization:
Because sensors record data digitally, we must discretize the recorded sensor information into discrete “chunks” rather than providing the (relatively) continuous data calculated during simulation. To capture discretization errors in real IMUs, a least significant bit (LSB) value is accepted for both the gyro and accelerometer models. This is achieved as follows:
where indicates the floor()
function and LSB can either be the accelerometer or gyro least significant bit as appropriate. The discretization error may then be applied to the accumulated velocity and body rate measurements as another error source using the same technique as the error modelling.
Saturation:
Real sensors can become saturated. Saturation is the last effect considered in the IMU modelling chain as is run in an elementwise manner. This is only computed if values are found to be outside the min-max range. Next, along each axis that was saturated:
The above is calculated any time that or are found to be outside of their max-min bounds. Note again, the use of the approximation of the PRV as the integral of the angular rates.
Assumptions/Limitations
- As error models rely on user inputs, these inputs are a likely source of error in accelerometer outputs. Instrument bias should be measured experimentally (or made based on an educated guess). A Gauss-Markov noise model has well-known assumptions and is generally accepted as a good model for this application. These are available to the user.
- Accumulated accelerations and angular velocity errors are multiplied by the physics time step. If the IMU timestep is the same as the dynamics step, this is possibly a good assumption. However, if the accelerometer is run at a slower rate than the dynamic processes, then the velocity errors may not be related to the instantaneous acceleration errors at the sampling time.
- Because the rates are only calculated at the accelerometer timestep and not actually by integrating rates multiple times between calls, their saturation values are taken as the time integral of the rate saturation values. This, therefore, assumes that there are no time-varying rates between accelerometer timesteps. This should be a good approximation if the attitude of the spacecraft doesn’t change “too much” over a relevant time step.
- Just like a real accelerometer, this model is run at a finite rate. It is limited in that it cannot (and should not) capture dynamics that are happening much faster than the accelerometer.
References
[1] Autonomous Vehicle Systems (AVS) Laboratory, 2023