Table of Contents

Class SunlineEKFNavigationSoftware

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] This module provides a state estimation routine for a coarse sun sensor constellation using an Extended Kalman Filter (EKF).


public class SunlineEKFNavigationSoftware : Software
Inheritance
SunlineEKFNavigationSoftware

Constructors

SunlineEKFNavigationSoftware()

Default constructor

protected SunlineEKFNavigationSoftware()

Fields

EKFSwitch

[-] Max covariance element after which the filter switches to an EKF update.

[Unit(UnitType.NONE)]
public double EKFSwitch

Field Value

double

In_CSSArrayConfigMsg

CSS array configuration message storing the current configurations of the sensors on-board the spacecraft.

public CSSArrayConfigMessage? In_CSSArrayConfigMsg

Field Value

CSSArrayConfigMessage

In_CSSArrayDataMsg

CSS sensor array message that contains the information about the current sensor outputs.

public CSSArrayDataMessage? In_CSSArrayDataMsg

Field Value

CSSArrayDataMessage

In_NavigationAttitudeMsg

[OPTIONAL] Navigation Attitude message coming from a navigator

public NavigationAttitudeMessage? In_NavigationAttitudeMsg

Field Value

NavigationAttitudeMessage

ObservationNoise

[-] CSS instrument noise parameter

[Unit(UnitType.NONE)]
public double ObservationNoise

Field Value

double

Out_NavigationAttitudeMsg

Output navigation message containing estimated states

public NavigationAttitudeMessage? Out_NavigationAttitudeMsg

Field Value

NavigationAttitudeMessage

Out_SunlineFilterMsg

Output filter message containing the sunline estimation from the EKF.

public SunlineFilterMessage? Out_SunlineFilterMsg

Field Value

SunlineFilterMessage

ProcessNoise

[-] Process noise parameter

[Unit(UnitType.NONE)]
public double ProcessNoise

Field Value

double

SensorThreshold

[-] Threshold below which a sensor data is ignored Typically, this is the sqrt(noise) of the sensor multiplied by some factor. By default, a 5 is often used as such factor.

[Unit(UnitType.NONE)]
public double SensorThreshold

Field Value

double

Properties

Covariance

[-] Covariance of the current state estimation for each of the 6 states that are being tracked, in a 6x6 matrix.

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

Property Value

Matrix

NumMeasurements

[-] Number of measurements taken during this cycle

[Unit(UnitType.NONE)]
[ReadOnly]
public int NumMeasurements { get; }

Property Value

int

PostFitResiduals

[-] Defines the linear results from fitting the data into the array and stores an 8 vector size data set.

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

Property Value

Vector

StateError

[-] State errors include the estimated errors on each of the states that exist within the current state calculation.

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

Property Value

Vector

StateVector

[-] State estimate of the sun estimation and navigation state of the current software. This includes two Vector3 components. The state should be initialised with a default value.

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

Property Value

Vector

Methods

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()

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