Description
The gyroscope sensor measures the angular acceleration of the platform to which the sensor is added to, similar to a Accelerometer. Errors and biases can be added to the measurement to simulate the effect of instrument noise on the sensor. This will take in the data on the Spacecraft and add some simulated noise using Gaussian distributions.
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
For the following descriptions, describes the sensor frame, describes the platform frame, describes the body frame and describes the inertial frame. The inertial time derivatives are marked with a dot . Body frame derivatives are marked with a prime .
Angular Rates:
The angular rate of the sensor in the platform frame is output as:
where is the direction cosine matrix from to . This allows for there to be an arbitrary angular offset between to and allows for that offset to be time-varying. is available from the most recent dynamics integration.
Angular Displacement:
The component outputs the accumulated angular displacement between physics calls. To avoid the complexities of having to do with the relative timestep between the dynamics process and the gyroscope calls, this is not calculated the same way as an gyroscope works physically. This also means that the dynamics do not have to run faster enough for the physical gyroscope angular accumulation to be simulated. Knowing the attitude the last time the gyroscope was called (1) and given the current attitude (2), the angular displacement is computed as the rotation between 1 and 2.
Error Modelling:
To simulate the errors found in real instrumentation, errors are added to a “truth” value for acceleration and angular velocity, where “truth” is considered to be the simulated spacecraft state prior to sending that state to the gyroscope i.e.
These errors are then integrated over the physics timestep and applied to the accumulated changes in velocity and angular displacement.
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.
Assumptions/Limitations
- As error models rely on user inputs, these inputs are a likely source of error in IMU 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 IMU time step. If the physics timestep is the same as the dynamics step, this is possibly a good assumption. However, if the IMU 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 IMU 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 IMU 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 IMU, 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 IMU.
References
[1] Autonomous Vehicle Systems (AVS) Laboratory, 2023