Table of Contents

Class SimpleNavigationSoftware

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] Simple navigation model used to provide error-ed truth (or truth). This class is used to perturb the truth state away using a gauss-Markov error model. It is designed to look like a random walk process put on top of the nominal position, velocity, attitude, and attitude rate. This is meant to be used in place of the nominal navigation system output.


public class SimpleNavigationSoftware : Software
Inheritance
SimpleNavigationSoftware

Constructors

SimpleNavigationSoftware()

Default constructor

protected SimpleNavigationSoftware()

Fields

CrossAttitude

Have attitude depend on attitude rate

public bool CrossAttitude

Field Value

bool

CrossTranslation

Have position error depend on velocity

public bool CrossTranslation

Field Value

bool

In_EclipseMsg

A reference to the eclipse message which is for the state of visibility with the spacecraft.

public EclipseMessage? In_EclipseMsg

Field Value

EclipseMessage

In_SpacecraftStateMsg

The spacecraft states message coming from the spacecraft which defines its position.

public SpacecraftStateMessage? In_SpacecraftStateMsg

Field Value

SpacecraftStateMessage

In_SunPlanetStateMsg

Sun state input input msg

public PlanetStateMessage? In_SunPlanetStateMsg

Field Value

PlanetStateMessage

Out_NavigationAttitudeMsg

Attitude navigation output msg

public NavigationAttitudeMessage? Out_NavigationAttitudeMsg

Field Value

NavigationAttitudeMessage

Out_NavigationTranslationMsg

Translation navigation output msg

public NavigationTranslationMessage? Out_NavigationTranslationMsg

Field Value

NavigationTranslationMessage

UseEclipse

Have the VehSunPointBody vector take eclipses into account

public bool UseEclipse

Field Value

bool

Properties

PMatrix

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

[Unit(UnitType.NONE)]
[ReadOnly]
public Matrix PMatrix { get; set; }

Property Value

Matrix

WalkBounds

"3-sigma" errors to permit for states

[Unit(UnitType.NONE)]
[ReadOnly]
public Vector WalkBounds { get; set; }

Property Value

Vector

Methods

Initialise()

This method is called whenever some key parameters are changed and any new local variables are required to be recalculated. This can be called by the software chains if a configuration of some values are updated.

public override void Initialise()

OnBegin(double)

Called when the object is beginning ticking for the first time. This is when the simulation calls the very first tick and will run before the update call.

protected override void OnBegin(double time)

Parameters

time double

[s] Current time of the simulation before the tick

OnCreate()

Called when the object is created from the controller and has been attached to the parent object. By this point, it has been registered to the simulation and will run after the constructor.

protected override void OnCreate()

OnLoad(double)

Called after all of the data has been loaded from a save state on this object. This enables any post-load operations to be performed and extra data to be loaded from the metadata.

protected override void OnLoad(double time)

Parameters

time double

[s] The current clock time of the simulation

OnUpdate(double, double)

Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.

protected override void OnUpdate(double time, double step)

Parameters

time double

[s] Current time of the simulation before the update

step double

[s] The time-step to update during this tick