Table of Contents

Class GPSSensor

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] A global positioning system (GPS) sensor that can be used to determine the current position of the satellite based on the GPS constellation. This can be converted to a navigation message as well as a GPS coordinates around a particular body. This sensor will assume that a GPS constellation is initialised with a set of Two Line Element satellites.


public class GPSSensor : Sensor
Inheritance
GPSSensor

Constructors

GPSSensor()

Default constructor

protected GPSSensor()

Fields

ClockBias

The bias on the clock

[Unit(UnitType.SECOND)]
[Metadata(IsAdvanced = true)]
public double ClockBias

Field Value

double

In_PlanetStateMsg

The message associated with the body being orbited

public PlanetStateMessage? In_PlanetStateMsg

Field Value

PlanetStateMessage

In_TimeMsg

The input time message from the simulation which includes the current GPS time of the system.

public TimeMessage? In_TimeMsg

Field Value

TimeMessage

Out_GPSDataMsg

GPS sensor data message, which holds the data from the sensor including the current state of the sensor.

public GPSDataMessage? Out_GPSDataMsg

Field Value

GPSDataMessage

Out_NavigationTranslationMsg

Output translational state estimate

public NavigationTranslationMessage? Out_NavigationTranslationMsg

Field Value

NavigationTranslationMessage

Properties

Altitude

The altitude estimated

[Unit(UnitType.METRE)]
[ReadOnly]
[Metadata(ContainedIn = "Out_GPSDataMsg")]
public double Altitude { get; }

Property Value

double

ECEFPosition

Earth Centered Earth Fixed Position

[Unit(UnitType.METRE)]
[ReadOnly]
[Metadata(IsAdvanced = true, ContainedIn = "Out_GPSDataMsg")]
public Vector3 ECEFPosition { get; }

Property Value

Vector3

ECIPosition

The sensor's Initial Position ECI

[Unit(UnitType.METRE)]
[ReadOnly]
[Metadata(ContainedIn = "Out_GPSDataMsg")]
public Vector3 ECIPosition { get; }

Property Value

Vector3

IsActive

Node status (true = ON, false = OFF)

[ReadOnly]
[Metadata(ContainedIn = "Out_GPSDataMsg")]
public bool IsActive { get; }

Property Value

bool

Latitude

The latitude estimated

[Unit(UnitType.DEGREE)]
[ReadOnly]
[Metadata(ContainedIn = "Out_GPSDataMsg")]
public double Latitude { get; }

Property Value

double

Longitude

The longitude estimated

[Unit(UnitType.DEGREE)]
[ReadOnly]
[Metadata(ContainedIn = "Out_GPSDataMsg")]
public double Longitude { get; }

Property Value

double

Mu

The gravitational Mu of the body that is being orbited

[Unit(UnitType.NONE)]
[ReadOnly]
[Metadata(IsAdvanced = true, ContainedIn = "In_PlanetStateMsg")]
public double Mu { get; }

Property Value

double

Methods

EstimatePosition(GPSState[])

Estimates the current position and all geodetic properties based on the current state estimation of the GPS system with the current coordinates.

[Hidden]
public void EstimatePosition(GPSState[] states)

Parameters

states GPSState[]

The array of GPS transmitter states

OnCreate()

Called when the 'Component' is created from the controller.

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