WSF
WsfNavigationErrors Class Reference

#include <WsfNavigationErrors.hpp>

Inheritance diagram for WsfNavigationErrors:
Collaboration diagram for WsfNavigationErrors:

Classes

class  Term
 A single term in an error polynomial. More...

Public Member Functions

 WsfNavigationErrors ()
 WsfNavigationErrors (const WsfNavigationErrors &aSrc)
WsfNavigationErrorsoperator= (const WsfNavigationErrors &aRhs)
 ~WsfNavigationErrors () override
Public Member Functions inherited from WsfSimpleComponentT< WsfPlatformComponent >
 WsfSimpleComponentT ()=default
 Empty constructor for serialization.
 WsfSimpleComponentT (int aRole, WsfStringId aName)
 WsfSimpleComponentT (int aRole)
 WsfSimpleComponentT (WsfStringId aName)
 WsfSimpleComponentT (const WsfSimpleComponentT &aSrc)
WsfSimpleComponentToperator= (const WsfSimpleComponentT &aRhs)
 ~WsfSimpleComponentT () override=default
WsfStringId GetComponentName () const override
const int * GetComponentRoles () const override
Public Member Functions inherited from WsfComponentT< WsfPlatform >
 WsfComponentT ()
 WsfComponentT (const WsfComponentT &) noexcept
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
virtual bool PreInitialize (double aSimTime)
virtual void PreInput ()
Public Member Functions inherited from WsfNamed
 WsfNamed ()
 WsfNamed (WsfStringId aName)
 WsfNamed (const WsfNamed &)=default
WsfNamedoperator= (const WsfNamed &)=default
virtual ~WsfNamed ()=default
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)
Public Member Functions inherited from WsfSinglePlatformObserver
virtual ~WsfSinglePlatformObserver ()
virtual void OnPlatformDeleting (double aSimTime, WsfPlatform *aPlatformPtr)
 Called before the platform is actually deleted.
virtual void OnPlatformDeleted (double aSimTime, WsfPlatform *aPlatformPtr)
 Called just before the platform is removed from the simulation.

Static Public Member Functions

static void RegisterComponentFactory (WsfScenario &aScenario)
static WsfNavigationErrorsFind (const WsfPlatform &aPlatform)

Overrides of WsfSinglePlatformObserver.

enum  GPS_Status {
  cGPS_INACTIVE = -1 , cGPS_PERFECT = 0 , cGPS_ACTIVE = 1 , cGPS_DEGRADED = 2 ,
  cGPS_EXTERNAL = 3
}
typedef std::vector< TermPolynomial
WsfPlatformmPlatformPtr
 Pointer to the platform for which errors are being computed.
GPS_Status mGPS_Status
 GPS status. -1: no GPS (use INS), 0 = perfect (no errors), 1 : GPS Active; 2 GPS Degraded.
WsfVariable< int > mGPS_StatusVar
WsfVariable< double > mGPS_InTrackError
 Standard deviation of a Gaussian distribution for the 'in-track' errors for GPS.
WsfVariable< double > mGPS_CrossTrackError
 Standard deviation of a Gaussian distribution for the 'cross-track' errors for GPS.
WsfVariable< double > mGPS_VerticalError
 Standard deviation of a Gaussian distribution for vertical errors for GPS.
WsfVariable< double > mGPS_DegradedMultiplier
WsfVariable< double > mINS_GyroscopeBiasError
 Standard deviation of a Gaussian distribution for the INS gyroscope bias error.
WsfVariable< double > mINS_AccelerometerBiasError
 Standard deviation of a Gaussian distribution for the INS accelerometer bias error.
WsfVariable< double > mINS_RandomWalkError
 Standard deviation of a Gaussian distribution for the INS angular random walk error.
WsfVariable< double > mINS_VerticalError
 Standard deviation of a Gaussian distribution for vertical error for INS.
static GPS_Status GetGPS_Status (int aStatus)
void OnPlatformUpdated (double aSimTime, WsfPlatform *aPlatformPtr) override
 Callback from platform when the mover is updated.
double GetLastUpdateTime () const
 Get the time when the last call was made.
ut::coords::RSCS GetLocationErrorRSCS () const
ut::coords::WCS GetLocationErrorWCS () const
void SetLocationErrorWCS (const ut::coords::WCS &aLocationErrorWCS)
ut::coords::WCS GetPerceivedLocationWCS () const
 Get the perceived WCS location of the platform as of the last update.
void GetPerceivedLocationLLA (double &aLat, double &aLon, double &aAlt) const
 Get the perceived latitude, longitude and altitude of the platform as of the last update.
UtEntity & GetPerceivedEntity ()
void Handoff (double aSimTime, WsfNavigationErrors *aSourcePtr)
 Hand-off of navigation error status from one platform to a another platform.
virtual bool SetGPS_Status (double aSimTime, GPS_Status aStatus)
GPS_Status GetGPS_Status () const
WsfSimulationGetSimulation () const
WSF_DEPRECATED void GetLocationErrorWCS (double aLocationErrorWCS[3]) const
WSF_DEPRECATED void GetLocationErrorXYZ (double aLocationErrorXYZ[3]) const
WSF_DEPRECATED void GetPerceivedLocationWCS (double aLocationWCS[3]) const
 Get the perceived WCS location of the platform as of the last update.
virtual void InitializeGPS_Status (double aSimTime)
ut::coords::RSCS ConvertNED_ToRSCS (UtEntity *aEntityPtr, const ut::coords::NED &aLocNED) const
ut::coords::NED ConvertRSCS_ToNED (UtEntity *aEntityPtr, const ut::coords::RSCS &aLocRSCS) const
double GlobalGaussian ()
double LocalGaussian ()
void CompressPolynomial (Polynomial &aTerms)
 Compress a polynomial to remove terms with a zero coefficient.
double EvaluatePolynomial (double aT, const Polynomial &aTerms) const
void ReadPolynomial (UtInput &aInput, Polynomial &aTerms)
std::string StatusString (int aStatus) const
virtual void GPS_Update (double aSimTime)
void INS_Initialize (double aSimTime)
void INS_PrintEquations (const std::string &aString, const Polynomial aTerms[3], ut::log::MessageStream &aStream) const
void INS_Start (double aSimTime)
void INS_Update (double aSimTime)
void WriteTimeHistory (double aSimTime)

INS Error polynomial.

The INS error polynomials are user-defined 10-term polynomials that is a function of time (since the start of INS-navigation). Separate polynomials can be defined for the horizontal (XY) and vertical (Z) directions.

Prior to initialization the user-defined XY terms are stored in the X terms arrays. During initialization the X terms are copied to the Y terms and then the X/Y/Z arrays a multiplied by a separate random draw.

Polynomial mINS_LocError [3]
Polynomial mINS_VelError [3]
Polynomial mINS_AclError [3]
ut::coords::WCS mExternalLocationErrorWCS
 The location error used when mGPS_Status == GPS_Status::cGPS_EXTERNAL.
double mINS_ScaleFactor [3]
 A simple scale factor for the INS errors.
double mLastUpdateTime
double mINS_StartTime
 The time when INS mode was initiated.
bool mRandomnessEnabled
 true if randomness is enabled (default true).
bool mShowStatusChanges
 true if status change messages should be written to stdout.
bool mPerceivedEntityValid
bool mINS_ErrorsInitialized
 true if INS errors have been initialized.
UtEntity mPerceivedEntity
 The entity that represents the perceived state.
UtEntity mTruthEntity
 The truth entity state.
ut::Random mRandom
 Random number stream.
std::string mTimeHistoryPath
std::ofstream mTimeHistoryOfs
 Stream for writing time history output.

Component infrastructure methods

WsfComponentCloneComponent () const override
void * QueryInterface (int aRole) override
int GetComponentInitializationOrder () const override
void ComponentParentChanged (WsfPlatform *aPlatformPtr) override

Common infrastructure methods.

bool Initialize (double aSimTime) override
bool Initialize2 (double aSimTime) override
bool ProcessInput (UtInput &aInput) override
void Update (double aSimTime)

Additional Inherited Members

Public Types inherited from WsfComponentT< WsfPlatform >
typedef WsfPlatform ParentType
 This is needed to support the WsfComponentList template.
int mRoles [2]

Detailed Description

A simple navigation error model. This is an optional object that can be instantiated on a platform which is responsible for modeling where the platform THINKS it is located. This is used when producing reports from the platform that include the location of the reporting platform.

Member Typedef Documentation

◆ Polynomial

typedef std::vector<Term> WsfNavigationErrors::Polynomial
protected

Member Enumeration Documentation

◆ GPS_Status

Enumerator
cGPS_INACTIVE 
cGPS_PERFECT 
cGPS_ACTIVE 
cGPS_DEGRADED 
cGPS_EXTERNAL 

Constructor & Destructor Documentation

◆ WsfNavigationErrors() [1/2]

◆ WsfNavigationErrors() [2/2]

◆ ~WsfNavigationErrors()

WsfNavigationErrors::~WsfNavigationErrors ( )
override

Member Function Documentation

◆ CloneComponent()

WsfComponent * WsfNavigationErrors::CloneComponent ( ) const
inlineoverridevirtual

Clones a component. May return null if component does not support clone.

Implements WsfComponent.

References WsfNavigationErrors().

◆ ComponentParentChanged()

void WsfNavigationErrors::ComponentParentChanged ( WsfPlatform * aParentPtr)
inlineoverridevirtual

The parent to which the component is attached has been updated. This virtual method is called whenever the components parent attachment has been changed. This is provided so derived class receives notification of the change.

Parameters
aParentPtrPointer to the new parent. The new parent may be null if the attachment was severed.

Reimplemented from WsfComponentT< WsfPlatform >.

References mPlatformPtr.

◆ CompressPolynomial()

void WsfNavigationErrors::CompressPolynomial ( Polynomial & aTerms)
protected

Compress a polynomial to remove terms with a zero coefficient.

Referenced by INS_Initialize().

◆ ConvertNED_ToRSCS()

ut::coords::RSCS WsfNavigationErrors::ConvertNED_ToRSCS ( UtEntity * aEntityPtr,
const ut::coords::NED & aLocNED ) const
protected

Convert an error vector in the NED frame to the RSCS frame.

This transforms a error vector in the NED frame to local RSCS frame (X axis aligned with the heading vector, and the XY plane tangent to the Earth's surface).

Referenced by GetLocationErrorRSCS().

◆ ConvertRSCS_ToNED()

ut::coords::NED WsfNavigationErrors::ConvertRSCS_ToNED ( UtEntity * aEntityPtr,
const ut::coords::RSCS & aLocRSCS ) const
protected

Convert an RSCS error vector to an NED coordinate.

This transforms a error vector in the local RSCS frame (X axis aligned with the heading vector, and the XY plane tangent to the Earth's surface) into a coordinate in the standard NED frame.

Referenced by GPS_Update(), INS_Start(), and INS_Update().

◆ EvaluatePolynomial()

double WsfNavigationErrors::EvaluatePolynomial ( double aT,
const Polynomial & aTerms ) const
inlineprotected

Evaluate a polynomial for at the specified point. This assumes terms with zero coefficients have been removed.

Referenced by INS_Start(), and INS_Update().

◆ Find()

◆ GetComponentInitializationOrder()

int WsfNavigationErrors::GetComponentInitializationOrder ( ) const
inlineoverridevirtual

Forces a specific initialization order. Components are initialized in increasing initialization order value.

Reimplemented from WsfComponent.

References cWSF_INITIALIZE_ORDER_NAVIGATION_ERRORS.

◆ GetGPS_Status() [1/2]

GPS_Status WsfNavigationErrors::GetGPS_Status ( ) const
inline

◆ GetGPS_Status() [2/2]

WsfNavigationErrors::GPS_Status WsfNavigationErrors::GetGPS_Status ( int aStatus)
static

This method is used to copy the value of the GPS_StatusVar variable, used for ProcessInput and referencing a script variable if it exists, to the GPS_Status variable, and to honor the legacy interface in the script method.

Parameters
aStatusThe (legacy) integer status, defined to be cINACTIVE if aStatus < 0, cGPS_PERFECT if aStatus == 0, cGPS_DEGRADED if aStatus == 2, and cGPS_ACTIVE otherwise.
Returns
the corresponding WsfNavigationErrors::GPS_Status.

References cGPS_ACTIVE, cGPS_DEGRADED, cGPS_EXTERNAL, cGPS_INACTIVE, and cGPS_PERFECT.

◆ GetLastUpdateTime()

double WsfNavigationErrors::GetLastUpdateTime ( ) const
inline

Get the time when the last call was made.

References mLastUpdateTime.

◆ GetLocationErrorRSCS()

ut::coords::RSCS WsfNavigationErrors::GetLocationErrorRSCS ( ) const

Return the difference between where the platform thinks it is located and where it is actually located, as a vector in the Roll Stabilized Coordinate System (RSCS).

Returns
The RSCS error vector (P_perceived - P_true).

References cGPS_PERFECT, ConvertNED_ToRSCS(), GetLocationErrorWCS(), mGPS_Status, and mPlatformPtr.

Referenced by GetLocationErrorXYZ(), WriteTimeHistory(), and ~WsfNavigationErrors().

◆ GetLocationErrorWCS() [1/2]

ut::coords::WCS WsfNavigationErrors::GetLocationErrorWCS ( ) const

Return difference between where the platform thinks it is located and where it is actual located.

Returns
The WCS error vector (P_perceived - P_true).

References cGPS_EXTERNAL, cGPS_PERFECT, mExternalLocationErrorWCS, mGPS_Status, mPerceivedEntity, and mPlatformPtr.

Referenced by GetLocationErrorRSCS(), and GetLocationErrorWCS().

◆ GetLocationErrorWCS() [2/2]

void WsfNavigationErrors::GetLocationErrorWCS ( double aLocationErrorWCS[3]) const

Return difference between where the platform thinks it is located and where it is actual located.

Parameters
aLocationErrorWCSThe WCS error vector (P_perceived - P_true).

References GetLocationErrorWCS().

◆ GetLocationErrorXYZ()

void WsfNavigationErrors::GetLocationErrorXYZ ( double aLocationErrorXYZ[3]) const

Return difference between where the platform thinks it is located and where it is actual located.

Parameters
aLocationErrorXYZThe RSCS error vector (P_perceived - P_true).

References GetLocationErrorRSCS().

◆ GetPerceivedEntity()

UtEntity & WsfNavigationErrors::GetPerceivedEntity ( )
inline

◆ GetPerceivedLocationLLA()

void WsfNavigationErrors::GetPerceivedLocationLLA ( double & aLat,
double & aLon,
double & aAlt ) const

Get the perceived latitude, longitude and altitude of the platform as of the last update.

References cGPS_PERFECT, mGPS_Status, mPerceivedEntity, and mPlatformPtr.

◆ GetPerceivedLocationWCS() [1/2]

ut::coords::WCS WsfNavigationErrors::GetPerceivedLocationWCS ( ) const

Get the perceived WCS location of the platform as of the last update.

References cGPS_PERFECT, mGPS_Status, mPerceivedEntity, and mPlatformPtr.

Referenced by GetPerceivedLocationWCS().

◆ GetPerceivedLocationWCS() [2/2]

void WsfNavigationErrors::GetPerceivedLocationWCS ( double aLocationWCS[3]) const

Get the perceived WCS location of the platform as of the last update.

References GetPerceivedLocationWCS().

◆ GetSimulation()

WsfSimulation * WsfNavigationErrors::GetSimulation ( ) const

References mPlatformPtr.

Referenced by GlobalGaussian(), Initialize(), and SetGPS_Status().

◆ GlobalGaussian()

double WsfNavigationErrors::GlobalGaussian ( )
protected

◆ GPS_Update()

◆ Handoff()

void WsfNavigationErrors::Handoff ( double aSimTime,
WsfNavigationErrors * aSourcePtr )

Hand-off of navigation error status from one platform to a another platform.

References mPerceivedEntity, mPerceivedEntityValid, and WsfNavigationErrors().

◆ Initialize()

bool WsfNavigationErrors::Initialize ( double aSimTime)
overridevirtual

Perform phase 1 initialization. This is called by WsfPlatform::Initialize() during phase 1 initialization of the platform. The component should complete validation of input data that could not be done by ProcessInput, as well as any other functions to prepare for simulation use (subject to the next paragraph).

The order in which components are initialized is defined by GetComponentInitializationOrder. In general a component implementation of this method should not be dependent on the state of another component, i.e.: it should not assume that the other components Initialize() method has been called. If such a dependency exists one should use Initialize2() if possible, or specify a value GetComponentInitializationOrder to force things to initialize in a particular order.

Parameters
aSimTimeThe current simulation time.
Returns
true if successful or false if unsuccessful (bad input data, etc.)
Note
This method should NOT add any other components to the platform. This MUST be done in PreInitialize().

Reimplemented from WsfComponent.

References GetGPS_Status(), WsfSimulation::GetRandom(), WsfSimulation::GetScriptContext(), GetSimulation(), mGPS_CrossTrackError, mGPS_DegradedMultiplier, mGPS_InTrackError, mGPS_Status, mGPS_StatusVar, mGPS_VerticalError, mINS_AccelerometerBiasError, mINS_GyroscopeBiasError, mINS_RandomWalkError, mINS_VerticalError, mPlatformPtr, mRandom, and ok.

◆ Initialize2()

bool WsfNavigationErrors::Initialize2 ( double aSimTime)
overridevirtual

Perform phase 2 initialization. This is called by WsfPlatform::Initialize() during phase 2 of platform initialization. This method is typically used when a component may have some dependency on another component having completed its phase 1 initialization. The component should be ready for use in the simulation upon completion of this method.

The order in which components are initialized is defined by GetComponentInitializationOrder.

Parameters
aSimTimeThe current simulation time.
Returns
true if successful or false if unsuccessful.
Note
This method MUST NOT add any other components to the platform. This MUST be done in PreInitialize().

Reimplemented from WsfComponent.

References InitializeGPS_Status(), mLastUpdateTime, mPlatformPtr, mTimeHistoryOfs, and mTimeHistoryPath.

◆ InitializeGPS_Status()

void WsfNavigationErrors::InitializeGPS_Status ( double aSimTime)
protectedvirtual

◆ INS_Initialize()

void WsfNavigationErrors::INS_Initialize ( double aSimTime)
protected

Initialize the INS error equations.

This is called the FIRST time INS is enabled for a given platform. It initializes the error equation coefficients based on input parameters and random draws.

Parameters
aSimTimeThe current simulation time.

References CompressPolynomial(), GlobalGaussian(), INS_PrintEquations(), mINS_AccelerometerBiasError, mINS_AclError, mINS_ErrorsInitialized, mINS_GyroscopeBiasError, mINS_LocError, mINS_RandomWalkError, mINS_ScaleFactor, mINS_VelError, mINS_VerticalError, mPlatformPtr, and mShowStatusChanges.

Referenced by InitializeGPS_Status().

◆ INS_PrintEquations()

void WsfNavigationErrors::INS_PrintEquations ( const std::string & aString,
const Polynomial aTerms[3],
ut::log::MessageStream & aStream ) const
protected

References mINS_LocError.

Referenced by INS_Initialize().

◆ INS_Start()

void WsfNavigationErrors::INS_Start ( double aSimTime)
protected

◆ INS_Update()

void WsfNavigationErrors::INS_Update ( double aSimTime)
protected

◆ LocalGaussian()

double WsfNavigationErrors::LocalGaussian ( )
protected

References mRandom, and mRandomnessEnabled.

Referenced by GPS_Update().

◆ OnPlatformUpdated()

void WsfNavigationErrors::OnPlatformUpdated ( double aSimTime,
WsfPlatform * aPlatformPtr )
overridevirtual

Callback from platform when the mover is updated.

Reimplemented from WsfSinglePlatformObserver.

References Update().

◆ operator=()

◆ ProcessInput()

bool WsfNavigationErrors::ProcessInput ( UtInput & aInput)
overridevirtual

Evaluate the current input command and determine if it is one processed by the component. The component should get the current command from the input stream and determine if it is one that it recognizes. If it does not recognize the command then it should leave the command in the input stream and return false. If it does recognize the command then it should process the command and return true. If invalid arguments are encountered then it should throw an exception.

Parameters
aInputThe input stream.
Returns
true if the current command was recognized (and processed), or false if the command was not recognized.
Exceptions
UtInput::ExceptionBaseif an invalid input was encountered.

Reimplemented from WsfComponent.

References mGPS_CrossTrackError, mGPS_DegradedMultiplier, mGPS_InTrackError, mGPS_StatusVar, mGPS_VerticalError, mINS_AccelerometerBiasError, mINS_GyroscopeBiasError, mINS_LocError, mINS_RandomWalkError, mINS_ScaleFactor, mINS_VerticalError, mRandomnessEnabled, mShowStatusChanges, mTimeHistoryPath, and ReadPolynomial().

◆ QueryInterface()

void * WsfNavigationErrors::QueryInterface ( int aRole)
inlineoverridevirtual

Requests a component's role interface. A component can support one or more roles.

Parameters
aRoleThe role whose interface is to be returned.
Returns
A pointer to the object if it supports the indicated role, or 'null' if it does not. Usage: WsfProcessor* procPtrOrNull = (WsfProcessor*)componentPtr->QueryComponentInterface(cWSF_COMPONENT_PROCESSOR);

Implements WsfComponent.

References WsfSimpleComponentT< WsfPlatformComponent >::mRoles.

◆ ReadPolynomial()

void WsfNavigationErrors::ReadPolynomial ( UtInput & aInput,
Polynomial & aTerms )
protected

Referenced by ProcessInput().

◆ RegisterComponentFactory()

void WsfNavigationErrors::RegisterComponentFactory ( WsfScenario & aScenario)
static

◆ SetGPS_Status()

bool WsfNavigationErrors::SetGPS_Status ( double aSimTime,
GPS_Status aGPS_Status )
virtual

Set the GPS status

Parameters
aSimTimeThe current simulation time
aGPS_StatusThe new GPS status.
Returns
'true' if the status was changed. The return value is 'false' if the requested status was the same as the current status.

References GetSimulation(), InitializeGPS_Status(), mGPS_Status, mLastUpdateTime, mPlatformPtr, mShowStatusChanges, WsfObserver::NavigationStatusChanged(), StatusString(), and WriteTimeHistory().

Referenced by UT_DEFINE_SCRIPT_METHOD().

◆ SetLocationErrorWCS()

void WsfNavigationErrors::SetLocationErrorWCS ( const ut::coords::WCS & aLocationErrorWCS)

Set the location error from an external source. This will only affect the parent platform if the GPS_Status (mGPS_Status) is set to GPS_Status::cGPS_EXTERNAL.

Parameters
aLocationErrorWCSThe location error in WCS coordinates to be applied.

References cGPS_EXTERNAL, mExternalLocationErrorWCS, and mGPS_Status.

Referenced by UT_DEFINE_SCRIPT_METHOD().

◆ StatusString()

std::string WsfNavigationErrors::StatusString ( int aStatus) const
protected

Referenced by SetGPS_Status(), and WriteTimeHistory().

◆ Update()

void WsfNavigationErrors::Update ( double aSimTime)

◆ WriteTimeHistory()

void WsfNavigationErrors::WriteTimeHistory ( double aSimTime)
protected

Member Data Documentation

◆ mExternalLocationErrorWCS

ut::coords::WCS WsfNavigationErrors::mExternalLocationErrorWCS
protected

The location error used when mGPS_Status == GPS_Status::cGPS_EXTERNAL.

Referenced by GetLocationErrorWCS(), GPS_Update(), and SetLocationErrorWCS().

◆ mGPS_CrossTrackError

WsfVariable<double> WsfNavigationErrors::mGPS_CrossTrackError
protected

Standard deviation of a Gaussian distribution for the 'cross-track' errors for GPS.

Referenced by GPS_Update(), Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mGPS_DegradedMultiplier

WsfVariable<double> WsfNavigationErrors::mGPS_DegradedMultiplier
protected

When GPS_Status is cGPS_Degraded, multiply all errors computed from mGPS_InTrackError, mGPS_CrossTrackError, and mGPS_VerticalError by this number.

Referenced by GPS_Update(), Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mGPS_InTrackError

WsfVariable<double> WsfNavigationErrors::mGPS_InTrackError
protected

Standard deviation of a Gaussian distribution for the 'in-track' errors for GPS.

Referenced by GPS_Update(), Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mGPS_Status

◆ mGPS_StatusVar

WsfVariable<int> WsfNavigationErrors::mGPS_StatusVar
protected

◆ mGPS_VerticalError

WsfVariable<double> WsfNavigationErrors::mGPS_VerticalError
protected

Standard deviation of a Gaussian distribution for vertical errors for GPS.

Referenced by GPS_Update(), Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_AccelerometerBiasError

WsfVariable<double> WsfNavigationErrors::mINS_AccelerometerBiasError
protected

Standard deviation of a Gaussian distribution for the INS accelerometer bias error.

Referenced by Initialize(), INS_Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_AclError

Polynomial WsfNavigationErrors::mINS_AclError[3]
protected

◆ mINS_ErrorsInitialized

bool WsfNavigationErrors::mINS_ErrorsInitialized
protected

true if INS errors have been initialized.

Referenced by InitializeGPS_Status(), INS_Initialize(), operator=(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_GyroscopeBiasError

WsfVariable<double> WsfNavigationErrors::mINS_GyroscopeBiasError
protected

Standard deviation of a Gaussian distribution for the INS gyroscope bias error.

Referenced by Initialize(), INS_Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_LocError

◆ mINS_RandomWalkError

WsfVariable<double> WsfNavigationErrors::mINS_RandomWalkError
protected

Standard deviation of a Gaussian distribution for the INS angular random walk error.

Referenced by Initialize(), INS_Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_ScaleFactor

double WsfNavigationErrors::mINS_ScaleFactor[3]
protected

A simple scale factor for the INS errors.

Referenced by INS_Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mINS_StartTime

double WsfNavigationErrors::mINS_StartTime
protected

◆ mINS_VelError

Polynomial WsfNavigationErrors::mINS_VelError[3]
protected

◆ mINS_VerticalError

WsfVariable<double> WsfNavigationErrors::mINS_VerticalError
protected

Standard deviation of a Gaussian distribution for vertical error for INS.

Referenced by Initialize(), INS_Initialize(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mLastUpdateTime

double WsfNavigationErrors::mLastUpdateTime
protected

The time when the GPS error/INS drift direction was last computed. This is less than zero if initialization has not completed.

Referenced by GetLastUpdateTime(), Initialize2(), INS_Update(), operator=(), SetGPS_Status(), Update(), WsfNavigationErrors(), WsfNavigationErrors(), and ~WsfNavigationErrors().

◆ mPerceivedEntity

UtEntity WsfNavigationErrors::mPerceivedEntity
protected

◆ mPerceivedEntityValid

bool WsfNavigationErrors::mPerceivedEntityValid
protected

True if the perceived entity is valid. This will be true if GPS/INS is active or a hand-off was received.

Referenced by GPS_Update(), Handoff(), InitializeGPS_Status(), INS_Start(), operator=(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mPlatformPtr

◆ mRandom

ut::Random WsfNavigationErrors::mRandom
protected

◆ mRandomnessEnabled

bool WsfNavigationErrors::mRandomnessEnabled
protected

true if randomness is enabled (default true).

Referenced by GlobalGaussian(), LocalGaussian(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mShowStatusChanges

bool WsfNavigationErrors::mShowStatusChanges
protected

true if status change messages should be written to stdout.

Referenced by INS_Initialize(), operator=(), ProcessInput(), SetGPS_Status(), WsfNavigationErrors(), WsfNavigationErrors(), and ~WsfNavigationErrors().

◆ mTimeHistoryOfs

std::ofstream WsfNavigationErrors::mTimeHistoryOfs
protected

Stream for writing time history output.

Referenced by Initialize2(), operator=(), WriteTimeHistory(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mTimeHistoryPath

std::string WsfNavigationErrors::mTimeHistoryPath
protected

The directory name (without a trailing '/') indicating where time history output is to be written.

Referenced by Initialize2(), operator=(), ProcessInput(), WsfNavigationErrors(), and WsfNavigationErrors().

◆ mTruthEntity

UtEntity WsfNavigationErrors::mTruthEntity
protected

The truth entity state.

Referenced by INS_Start(), INS_Update(), operator=(), WsfNavigationErrors(), and WsfNavigationErrors().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved