Table of Contents

Class IMUSensor

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

Class for the inertial measurement unit sensor that is able to detect the orientation of the spacecraft.

public class IMUSensor : Sensor
Inheritance
IMUSensor
Inherited Members

Constructors

IMUSensor()

Default constructor that sets up the sensor

public IMUSensor()

Fields

AccelScale

[-] scale factor for acceleration axes

[EditableVariable("-", false, "", "")]
public Vector3 AccelScale

Field Value

Vector3

EnableAccelerometer

A flag for enabling / disabling the Accelerometer component

[EditableVariable("-", false, "", "")]
public bool EnableAccelerometer

Field Value

bool

EnableGyroscope

A flag for enabling / disabling the Gyroscope component

[EditableVariable("-", false, "", "")]
public bool EnableGyroscope

Field Value

bool

GyroScale

[-] scale factors for acceleration axes

[EditableVariable("-", false, "", "")]
public Vector3 GyroScale

Field Value

Vector3

Out_IMUSensorAccelMsg

[-] Output message for IMU accelerometer data

public IMUSensorAccelMessage Out_IMUSensorAccelMsg

Field Value

IMUSensorAccelMessage

Out_IMUSensorGyroMsg

[-] Output message for IMU gyroscope data

public IMUSensorGyroMessage Out_IMUSensorGyroMsg

Field Value

IMUSensorGyroMessage

PMatrixAccel

[-] Cholesky-decomposition or matrix square root of the covariance matrix to apply errors with

[EditableVariable("-", false, "", "")]
public Matrix3 PMatrixAccel

Field Value

Matrix3

PMatrixGyro

[-] Cholesky-decomposition or matrix square root of the covariance matrix to apply errors with

[EditableVariable("-", false, "", "")]
public Matrix3 PMatrixGyro

Field Value

Matrix3

SensorRotationBias

[r/s] Rotational Sensor bias value

[EditableVariable("rad/s", false, "", "")]
public Vector3 SensorRotationBias

Field Value

Vector3

SensorRotationMax

[r/s] Gyro saturation value

[EditableVariable("rad/s", false, "", "")]
public double SensorRotationMax

Field Value

double

SensorTranslationBias

[m/s2] Translational acceleration sensor bias

[EditableVariable("m/s^2", false, "", "")]
public Vector3 SensorTranslationBias

Field Value

Vector3

SensorTranslationMax

[m/s2] Accelerometer saturation value

[EditableVariable("m/s^2", false, "", "")]
public double SensorTranslationMax

Field Value

double

WalkBoundsAccel

[-] "3-sigma" errors to permit for states

[EditableVariable("-", false, "", "")]
public Vector3 WalkBoundsAccel

Field Value

Vector3

WalkBoundsGyro

[-] "3-sigma" errors to permit for states

[EditableVariable("-", false, "", "")]
public Vector3 WalkBoundsGyro

Field Value

Vector3

Properties

AccelPlatform

[m/s^2] Apparent acceleration of the platform

[EditableVariable("m/s^2", true, "", "")]
public Vector3 AccelPlatform { get; }

Property Value

Vector3

AngVelPlatform

[rad/s] Angular velocity in platform frame

[EditableVariable("rad/s", true, "", "")]
public Vector3 AngVelPlatform { get; }

Property Value

Vector3

DRFramePlatform

[rad] Accumulated DRs in platform

[EditableVariable("rad", true, "", "")]
public Vector3 DRFramePlatform { get; }

Property Value

Vector3

DVFramePlatform

[m/s] Accumulated DVs in platform

[EditableVariable("m/s", true, "", "")]
public Vector3 DVFramePlatform { get; }

Property Value

Vector3

Methods

OnBegin(double)

Called when the 'Component' is beginning

protected override void OnBegin(double time)

Parameters

time double

current time (seconds)

OnUpdate(double, double)

Called when the 'Component' should update

protected override void OnUpdate(double time, double step)

Parameters

time double

current time (seconds)

step double

the time step (seconds)

SetAccelerometerLSB(double)

Updates the LSB values of the discretisations for the Accelerometer

public void SetAccelerometerLSB(double lsb)

Parameters

lsb double

The accelerometer LSB

SetBodyToPlatformDCM(double, double, double)

Set body orientation DCM relative to platform

public void SetBodyToPlatformDCM(double yaw, double pitch, double roll)

Parameters

yaw double

The yaw angle

pitch double

The pitch angle

roll double

The roll angle

SetGyroscopeLSB(double)

Updates the LSB values of the discretisations for the Gyroscope

public void SetGyroscopeLSB(double lsb)

Parameters

lsb double

The gyro LSB