0.4.1
Loading...
Searching...
No Matches
NAV::ErrorModel Class Reference

Adds errors (biases and noise) to measurements. More...

Data Structures

struct  CycleSlipInfo
 Cycle-slip information. More...
 

Public Member Functions

 ErrorModel ()
 Default constructor.
 
 ErrorModel (const ErrorModel &)=delete
 Copy constructor.
 
 ErrorModel (ErrorModel &&)=delete
 Move constructor.
 
void guiConfig () override
 ImGui config window which is shown on double click.
 
ErrorModeloperator= (const ErrorModel &)=delete
 Copy assignment operator.
 
ErrorModeloperator= (ErrorModel &&)=delete
 Move assignment operator.
 
void restore (const json &j) override
 Restores the node from a json object.
 
json save () const override
 Saves the node into a json object.
 
std::string type () const override
 String representation of the Class Type.
 
 ~ErrorModel () override
 Destructor.
 
- Public Member Functions inherited from NAV::Node
virtual void deinitialize ()
 Deinitialize the Node.
 
bool doDeinitialize (bool wait=false)
 Asks the node worker to deinitialize the node.
 
bool doDisable (bool wait=false)
 Asks the node worker to disable the node.
 
bool doEnable ()
 Enable the node.
 
bool doInitialize (bool wait=false)
 Asks the node worker to initialize the node.
 
bool doReinitialize (bool wait=false)
 Asks the node worker to reinitialize the node.
 
virtual void flush ()
 Function called by the flow executer after finishing to flush out remaining data.
 
template<typename T>
std::optional< InputPin::IncomingLink::ValueWrapper< T > > getInputValue (size_t portIndex) const
 Get Input Value connected on the pin. Only const data types.
 
Mode getMode () const
 Get the current mode of the node.
 
const ImVec2 & getSize () const
 Get the size of the node.
 
State getState () const
 Get the current state of the node.
 
bool hasInputPinWithSameTime (const InsTime &insTime) const
 Checks wether there is an input pin with the same time.
 
virtual bool initialize ()
 Initialize the Node.
 
InputPininputPinFromId (ax::NodeEditor::PinId pinId)
 Returns the pin with the given id.
 
size_t inputPinIndexFromId (ax::NodeEditor::PinId pinId) const
 Returns the index of the pin.
 
void invokeCallbacks (size_t portIndex, const std::shared_ptr< const NodeData > &data)
 Calls all registered callbacks on the specified output port.
 
bool isDisabled () const
 Checks if the node is disabled.
 
bool isInitialized () const
 Checks if the node is initialized.
 
bool isOnlyRealtime () const
 Checks if the node is only working in real time (sensors, network interfaces, ...)
 
bool isTransient () const
 Checks if the node is changing its state currently.
 
std::string nameId () const
 Node name and id.
 
 Node (const Node &)=delete
 Copy constructor.
 
 Node (Node &&)=delete
 Move constructor.
 
 Node (std::string name)
 Constructor.
 
void notifyOutputValueChanged (size_t pinIdx, const InsTime &insTime, const std::scoped_lock< std::mutex > &&guard)
 Notifies connected nodes about the change.
 
virtual bool onCreateLink (OutputPin &startPin, InputPin &endPin)
 Called when a new link is to be established.
 
virtual void onDeleteLink (OutputPin &startPin, InputPin &endPin)
 Called when a link is to be deleted.
 
Nodeoperator= (const Node &)=delete
 Copy assignment operator.
 
Nodeoperator= (Node &&)=delete
 Move assignment operator.
 
OutputPinoutputPinFromId (ax::NodeEditor::PinId pinId)
 Returns the pin with the given id.
 
size_t outputPinIndexFromId (ax::NodeEditor::PinId pinId) const
 Returns the index of the pin.
 
void releaseInputValue (size_t portIndex)
 Unblocks the connected node. Has to be called when the input value should be released and getInputValue was not called.
 
std::scoped_lock< std::mutex > requestOutputValueLock (size_t pinIdx)
 Blocks the thread till the output values was read by all connected nodes.
 
virtual void restoreAtferLink (const json &j)
 Restores link related properties of the node from a json object.
 
void wakeWorker ()
 Wakes the worker thread.
 
virtual ~Node ()
 Destructor.
 

Static Public Member Functions

static std::string category ()
 String representation of the Class Category.
 
static std::string typeStatic ()
 String representation of the Class Type.
 
- Static Public Member Functions inherited from NAV::Node
static std::string toString (State state)
 Converts the state into a printable text.
 

Private Types

enum class  AttitudeBiasUnits : uint8_t {
  rad ,
  deg
}
 Possible units to specify a attitude bias with. More...
 
enum class  AttitudeNoiseUnits : uint8_t {
  rad ,
  deg ,
  rad2 ,
  deg2
}
 Possible units to specify a attitude noise with. More...
 
enum class  CarrierPhaseNoiseUnits : uint8_t { meter }
 Possible units to specify a carrier-phase noise with. More...
 
enum class  CycleSlipDetectionProbabilityUnits : uint8_t { percent }
 Possible units to specify the cycle-slip detection probability with. More...
 
enum class  CycleSlipFrequencyUnits : uint8_t {
  per_day ,
  per_hour ,
  per_minute
}
 Possible units to specify the cycle-slip rate with. More...
 
enum class  DopplerNoiseUnits : uint8_t { m_s }
 Possible units to specify a range-rate noise with. More...
 
enum class  PositionBiasUnits : uint8_t { meter }
 Possible units to specify a position bias with. More...
 
enum class  PositionNoiseUnits : uint8_t {
  meter ,
  meter2
}
 Possible units to specify a position noise with. More...
 
enum class  PseudorangeNoiseUnits : uint8_t { meter }
 Possible units to specify a pseudorange noise with. More...
 
enum class  VelocityBiasUnits : uint8_t { m_s }
 Possible units to specify an velocity bias with. More...
 
enum class  VelocityNoiseUnits : uint8_t {
  m_s ,
  m2_s2
}
 Possible units to specify an velocity noise with. More...
 

Private Member Functions

void afterCreateLink (OutputPin &startPin, InputPin &endPin) override
 Called when a new link was established.
 
void afterDeleteLink (OutputPin &startPin, InputPin &endPin) override
 Called when a link was deleted.
 
std::shared_ptr< GnssObsreceiveGnssObs (const std::shared_ptr< GnssObs > &gnssObs)
 Callback when receiving an GnssObs.
 
std::shared_ptr< ImuObsreceiveImuObs (const std::shared_ptr< ImuObs > &imuObs, const Eigen::Vector3d &accelerometerBias_p, const Eigen::Vector3d &gyroscopeBias_p, const Eigen::Vector3d &accelerometerNoiseStd, const Eigen::Vector3d &gyroscopeNoiseStd)
 Callback when receiving an ImuObs.
 
std::shared_ptr< ImuObsWDeltareceiveImuObsWDelta (const std::shared_ptr< ImuObsWDelta > &imuObs, const Eigen::Vector3d &accelerometerBias_p, const Eigen::Vector3d &gyroscopeBias_p, const Eigen::Vector3d &accelerometerNoiseStd, const Eigen::Vector3d &gyroscopeNoiseStd)
 Callback when receiving an ImuObsWDelta.
 
void receiveObs (InputPin::NodeDataQueue &queue, size_t pinIdx)
 Callback when receiving data on a port.
 
std::shared_ptr< PosreceivePos (const std::shared_ptr< Pos > &pos)
 Callback when receiving an PosObs.
 
std::shared_ptr< PosVelreceivePosVel (const std::shared_ptr< PosVel > &posVel)
 Callback when receiving an PosVelObs.
 
std::shared_ptr< PosVelAttreceivePosVelAtt (const std::shared_ptr< PosVelAtt > &posVelAtt)
 Callback when receiving an PosVelAttObs.
 
bool resetNode () override
 Resets the node. It is guaranteed that the node is initialized when this is called.
 

Private Attributes

std::map< SatSigId, std::vector< std::pair< InsTime, int > > > _ambiguities
 Ambiguity map.
 
RandomNumberGenerator _ambiguityRng
 Random number generator for the ambiguity.
 
Eigen::Vector3d _attitudeBias
 Bias of the attitude (Unit as selected)
 
AttitudeBiasUnits _attitudeBiasUnit
 Selected unit for the attitude bias in the GUI.
 
Eigen::Vector3d _attitudeNoise
 Noise of the attitude (Unit as selected)
 
AttitudeNoiseUnits _attitudeNoiseUnit
 Selected unit for the attitude noise in the GUI.
 
RandomNumberGenerator _attitudeRng
 Random number generator for the attitude noise.
 
RandomNumberGenerator _carrierPhaseRng
 Random number generator for the carrier-phase noise.
 
RandomNumberGenerator _cycleSlipRng
 Random number generator for the cycle-slip.
 
std::vector< CycleSlipInfo_cycleSlips
 List of produced cycle-slips.
 
InsTime _cycleSlipWindowStartTime
 The time frame which is considered for a cycle slip.
 
RandomNumberGenerator _dopplerRng
 Random number generator for the range-rate noise.
 
double _dt
 Time interval of the messages [s].
 
Code _filterCode
 Codes used for calculation (GUI filter)
 
Frequency _filterFreq
 Frequencies used for calculation (GUI filter)
 
std::array< int, 2 > _gui_ambiguityLimits
 Ambiguity limits.
 
double _gui_carrierPhaseNoise
 Noise of the carrier-phase (Unit as selected)
 
CarrierPhaseNoiseUnits _gui_carrierPhaseNoiseUnit
 Selected unit for the carrier-phase noise in the GUI.
 
double _gui_cycleSlipDetectionProbability
 The chance to detect a cycle slip and set the Loss-of-Lock indicator.
 
CycleSlipDetectionProbabilityUnits _gui_cycleSlipDetectionProbabilityUnit
 Selected unit for the cycle-slip detection probability in the GUI.
 
double _gui_cycleSlipFrequency
 The cycle-slip frequency (Unit as selected)
 
CycleSlipFrequencyUnits _gui_cycleSlipFrequencyUnit
 Selected unit for the cycle-slip frequency in the GUI.
 
int _gui_cycleSlipRange
 Ambiguity limits cycle-slip.
 
double _gui_dopplerNoise
 Noise of the range-rate (Unit as selected)
 
DopplerNoiseUnits _gui_dopplerNoiseUnit
 Selected unit for the range-rate noise in the GUI.
 
double _gui_pseudorangeNoise
 Noise of the pseudorange (Unit as selected)
 
PseudorangeNoiseUnits _gui_pseudorangeNoiseUnit
 Selected unit for the pseudorange noise in the GUI.
 
Eigen::Vector3d _imuAccelerometerBias_p
 Bias of the accelerometer in platform coordinates (Unit as selected)
 
Units::ImuAccelerometerUnits _imuAccelerometerBiasUnit
 Selected unit for the accelerometer bias in the GUI.
 
Eigen::Vector3d _imuAccelerometerIRW
 IRW noise of the accelerometer (Unit as selected)
 
RandomNumberGenerator _imuAccelerometerIRWRng
 Random number generator for the accelerometer IRW noise.
 
Units::ImuAccelerometerIRWUnits _imuAccelerometerIRWUnit
 Selected unit for the accelerometer IRW noise in the GUI.
 
Eigen::Vector3d _imuAccelerometerNoise
 Noise of the accelerometer (Unit as selected)
 
Units::ImuAccelerometerNoiseUnits _imuAccelerometerNoiseUnit
 Selected unit for the accelerometer noise in the GUI.
 
RandomNumberGenerator _imuAccelerometerRng
 Random number generator for the accelerometer noise.
 
Eigen::Vector3d _imuAccelerometerRW
 RW noise of the accelerometer (Unit as selected)
 
RandomNumberGenerator _imuAccelerometerRWRng
 Random number generator for the accelerometer RW noise.
 
Units::ImuAccelerometerNoiseUnits _imuAccelerometerRWUnit
 Selected unit for the accelerometer RW noise in the GUI.
 
Eigen::Vector3d _imuGyroscopeBias_p
 Bias of the gyroscope in platform coordinates (Unit as selected)
 
Units::ImuGyroscopeUnits _imuGyroscopeBiasUnit
 Selected unit for the gyroscope bias in the GUI.
 
Eigen::Vector3d _imuGyroscopeIRW
 RW noise of the accelerometer (Unit as selected)
 
RandomNumberGenerator _imuGyroscopeIRWRng
 Random number generator for the accelerometer RW noise.
 
Units::ImuGyroscopeIRWUnits _imuGyroscopeIRWUnit
 Selected unit for the accelerometer IRW noise in the GUI.
 
Eigen::Vector3d _imuGyroscopeNoise
 Noise of the gyroscope (Unit as selected)
 
Units::ImuGyroscopeNoiseUnits _imuGyroscopeNoiseUnit
 Selected unit for the gyroscope noise in the GUI.
 
RandomNumberGenerator _imuGyroscopeRng
 Random number generator for the gyroscope noise.
 
Eigen::Vector3d _imuGyroscopeRW
 RW noise of the accelerometer (Unit as selected)
 
RandomNumberGenerator _imuGyroscopeRWRng
 Random number generator for the accelerometer RW noise.
 
Units::ImuGyroscopeNoiseUnits _imuGyroscopeRWUnit
 Selected unit for the accelerometer RW noise in the GUI.
 
Eigen::Vector3d _integratedRandomWalkAccelerometer
 3D array which allow to accumulate IRW for accelerometer
 
Eigen::Vector3d _integratedRandomWalkAccelerometer_velocity
 3D array which allow to accumulate IRW veloctiy noise for accelerometer
 
Eigen::Vector3d _integratedRandomWalkGyroscope
 3D array which allow to accumulate IRW for gyro
 
Eigen::Vector3d _integratedRandomWalkGyroscope_velocity
 3D array which allow to accumulate IRW veloctiy noise for gyro
 
InsTime _lastObservationTime
 Last observation time.
 
Eigen::Vector3d _positionBias
 Bias of the position (Unit as selected)
 
PositionBiasUnits _positionBiasUnit
 Selected unit for the position bias in the GUI.
 
Eigen::Vector3d _positionNoise
 Noise of the position (Unit as selected)
 
PositionNoiseUnits _positionNoiseUnit
 Selected unit for the position noise in the GUI.
 
RandomNumberGenerator _positionRng
 Random number generator for the position noise.
 
RandomNumberGenerator _pseudorangeRng
 Random number generator for the pseudorange noise.
 
Eigen::Vector3d _randomWalkAccelerometer
 3D array which allow to accumulate RW noise for accelerometer
 
Eigen::Vector3d _randomWalkGyroscope
 3D array which allow to accumulate RW noise for gyro
 
Eigen::Vector3d _velocityBias
 Bias of the velocity (Unit as selected)
 
VelocityBiasUnits _velocityBiasUnit
 Selected unit for the velocity bias in the GUI.
 
Eigen::Vector3d _velocityNoise
 Noise of the velocity (Unit as selected)
 
VelocityNoiseUnits _velocityNoiseUnit
 Selected unit for the velocity noise in the GUI.
 
RandomNumberGenerator _velocityRng
 Random number generator for the velocity noise.
 

Static Private Attributes

static constexpr size_t OUTPUT_PORT_INDEX_FLOW
 Flow.
 

Additional Inherited Members

- Public Types inherited from NAV::Node
enum class  Mode : uint8_t {
  REAL_TIME ,
  POST_PROCESSING
}
 Different Modes the Node can work in. More...
 
enum class  State : uint8_t {
  Disabled ,
  Deinitialized ,
  DoInitialize ,
  Initializing ,
  Initialized ,
  DoDeinitialize ,
  Deinitializing ,
  DoShutdown ,
  Shutdown
}
 Possible states of the node. More...
 
- Data Fields inherited from NAV::Node
bool callbacksEnabled
 Enables the callbacks.
 
ax::NodeEditor::NodeId id
 Unique Id of the Node.
 
std::vector< InputPininputPins
 List of input pins.
 
Kind kind
 Kind of the Node.
 
std::string name
 Name of the Node.
 
std::vector< OutputPinoutputPins
 List of output pins.
 
std::multimap< InsTime, std::pair< OutputPin *, size_t > > pollEvents
 Map with callback events (sorted by time)
 
- Protected Attributes inherited from NAV::Node
ImVec2 _guiConfigDefaultWindowSize
 
bool _hasConfig
 Flag if the config window should be shown.
 
bool _lockConfigDuringRun
 Lock the config when executing post-processing.
 
bool _onlyRealTime
 Whether the node can run in post-processing or only real-time.
 

Detailed Description

Adds errors (biases and noise) to measurements.

Definition at line 33 of file ErrorModel.hpp.

Member Enumeration Documentation

◆ AttitudeBiasUnits

enum class NAV::ErrorModel::AttitudeBiasUnits : uint8_t
strongprivate

Possible units to specify a attitude bias with.

Enumerator
rad 

[rad]

deg 

[deg]

Definition at line 238 of file ErrorModel.hpp.

◆ AttitudeNoiseUnits

enum class NAV::ErrorModel::AttitudeNoiseUnits : uint8_t
strongprivate

Possible units to specify a attitude noise with.

Enumerator
rad 

[rad] (Standard deviation)

deg 

[deg] (Standard deviation)

rad2 

[rad^2] (Variance)

deg2 

[deg^2] (Variance)

Definition at line 277 of file ErrorModel.hpp.

◆ CarrierPhaseNoiseUnits

enum class NAV::ErrorModel::CarrierPhaseNoiseUnits : uint8_t
strongprivate

Possible units to specify a carrier-phase noise with.

Enumerator
meter 

[m] (Standard deviation)

Definition at line 310 of file ErrorModel.hpp.

◆ CycleSlipDetectionProbabilityUnits

enum class NAV::ErrorModel::CycleSlipDetectionProbabilityUnits : uint8_t
strongprivate

Possible units to specify the cycle-slip detection probability with.

Enumerator
percent 

[%]

Definition at line 361 of file ErrorModel.hpp.

◆ CycleSlipFrequencyUnits

enum class NAV::ErrorModel::CycleSlipFrequencyUnits : uint8_t
strongprivate

Possible units to specify the cycle-slip rate with.

Enumerator
per_day 

[1/d]

per_hour 

[1/h]

per_minute 

[1/m]

Definition at line 345 of file ErrorModel.hpp.

◆ DopplerNoiseUnits

enum class NAV::ErrorModel::DopplerNoiseUnits : uint8_t
strongprivate

Possible units to specify a range-rate noise with.

Enumerator
m_s 

[m/s] (Standard deviation)

Definition at line 322 of file ErrorModel.hpp.

◆ PositionBiasUnits

enum class NAV::ErrorModel::PositionBiasUnits : uint8_t
strongprivate

Possible units to specify a position bias with.

Enumerator
meter 

NED [m m m].

Definition at line 218 of file ErrorModel.hpp.

◆ PositionNoiseUnits

enum class NAV::ErrorModel::PositionNoiseUnits : uint8_t
strongprivate

Possible units to specify a position noise with.

Enumerator
meter 

NED [m m m] (Standard deviation)

meter2 

NED [m^2 m^2 m^2] (Variance)

Definition at line 251 of file ErrorModel.hpp.

◆ PseudorangeNoiseUnits

enum class NAV::ErrorModel::PseudorangeNoiseUnits : uint8_t
strongprivate

Possible units to specify a pseudorange noise with.

Enumerator
meter 

[m] (Standard deviation)

Definition at line 298 of file ErrorModel.hpp.

◆ VelocityBiasUnits

enum class NAV::ErrorModel::VelocityBiasUnits : uint8_t
strongprivate

Possible units to specify an velocity bias with.

Enumerator
m_s 

[m/s]

Definition at line 228 of file ErrorModel.hpp.

◆ VelocityNoiseUnits

enum class NAV::ErrorModel::VelocityNoiseUnits : uint8_t
strongprivate

Possible units to specify an velocity noise with.

Enumerator
m_s 

[m/s] (Standard deviation)

m2_s2 

[m^2/s^2] (Variance)

Definition at line 264 of file ErrorModel.hpp.

Constructor & Destructor Documentation

◆ ErrorModel() [1/3]

NAV::ErrorModel::ErrorModel ( )

Default constructor.

Definition at line 54 of file ErrorModel.cpp.

◆ ~ErrorModel()

NAV::ErrorModel::~ErrorModel ( )
override

Destructor.

Definition at line 87 of file ErrorModel.cpp.

◆ ErrorModel() [2/3]

NAV::ErrorModel::ErrorModel ( const ErrorModel & )
delete

Copy constructor.

◆ ErrorModel() [3/3]

NAV::ErrorModel::ErrorModel ( ErrorModel && )
delete

Move constructor.

Member Function Documentation

◆ afterCreateLink()

void NAV::ErrorModel::afterCreateLink ( OutputPin & startPin,
InputPin & endPin )
overrideprivatevirtual

Called when a new link was established.

Parameters
[in]startPinPin where the link starts
[in]endPinPin where the link ends

Reimplemented from NAV::Node.

Definition at line 591 of file ErrorModel.cpp.

◆ afterDeleteLink()

void NAV::ErrorModel::afterDeleteLink ( OutputPin & startPin,
InputPin & endPin )
overrideprivatevirtual

Called when a link was deleted.

Parameters
[in]startPinPin where the link starts
[in]endPinPin where the link ends

Reimplemented from NAV::Node.

Definition at line 634 of file ErrorModel.cpp.

◆ category()

std::string NAV::ErrorModel::category ( )
staticnodiscard

String representation of the Class Category.

Definition at line 102 of file ErrorModel.cpp.

◆ guiConfig()

void NAV::ErrorModel::guiConfig ( )
overridevirtual

ImGui config window which is shown on double click.

Attention
Don't forget to set _hasConfig to true in the constructor of the node

Reimplemented from NAV::Node.

Definition at line 107 of file ErrorModel.cpp.

◆ operator=() [1/2]

ErrorModel & NAV::ErrorModel::operator= ( const ErrorModel & )
delete

Copy assignment operator.

◆ operator=() [2/2]

ErrorModel & NAV::ErrorModel::operator= ( ErrorModel && )
delete

Move assignment operator.

◆ receiveGnssObs()

std::shared_ptr< NAV::GnssObs > NAV::ErrorModel::receiveGnssObs ( const std::shared_ptr< GnssObs > & gnssObs)
nodiscardprivate

Callback when receiving an GnssObs.

Parameters
[in]gnssObsCopied data to modify and send out again

Definition at line 1151 of file ErrorModel.cpp.

◆ receiveImuObs()

std::shared_ptr< NAV::ImuObs > NAV::ErrorModel::receiveImuObs ( const std::shared_ptr< ImuObs > & imuObs,
const Eigen::Vector3d & accelerometerBias_p,
const Eigen::Vector3d & gyroscopeBias_p,
const Eigen::Vector3d & accelerometerNoiseStd,
const Eigen::Vector3d & gyroscopeNoiseStd )
private

Callback when receiving an ImuObs.

Parameters
[in]imuObsCopied data to modify and send out again
[in]accelerometerBias_pAccelerometer Bias in platform frame coordinates [m/s^2]
[in]gyroscopeBias_pGyroscope Bias in platform frame coordinates [rad/s]
[in]accelerometerNoiseStdAccelerometer Noise standard deviation in platform frame coordinates [m/s^2]
[in]gyroscopeNoiseStdGyroscope Noise standard deviation in platform frame coordinates [rad/s]

Definition at line 718 of file ErrorModel.cpp.

◆ receiveImuObsWDelta()

std::shared_ptr< NAV::ImuObsWDelta > NAV::ErrorModel::receiveImuObsWDelta ( const std::shared_ptr< ImuObsWDelta > & imuObs,
const Eigen::Vector3d & accelerometerBias_p,
const Eigen::Vector3d & gyroscopeBias_p,
const Eigen::Vector3d & accelerometerNoiseStd,
const Eigen::Vector3d & gyroscopeNoiseStd )
nodiscardprivate

Callback when receiving an ImuObsWDelta.

Parameters
[in]imuObsCopied data to modify and send out again
[in]accelerometerBias_pAccelerometer Bias in platform frame coordinates [m/s^2]
[in]gyroscopeBias_pGyroscope Bias in platform frame coordinates [rad/s]
[in]accelerometerNoiseStdAccelerometer Noise standard deviation in platform frame coordinates [m/s^2]
[in]gyroscopeNoiseStdGyroscope Noise standard deviation in platform frame coordinates [rad/s]

Definition at line 804 of file ErrorModel.cpp.

◆ receiveObs()

void NAV::ErrorModel::receiveObs ( InputPin::NodeDataQueue & queue,
size_t pinIdx )
private

Callback when receiving data on a port.

Parameters
[in]queueQueue with all the received data messages
[in]pinIdxIndex of the pin the data is received on

Definition at line 647 of file ErrorModel.cpp.

◆ receivePos()

std::shared_ptr< NAV::Pos > NAV::ErrorModel::receivePos ( const std::shared_ptr< Pos > & pos)
nodiscardprivate

Callback when receiving an PosObs.

Parameters
[in]posCopied data to modify and send out again

Definition at line 831 of file ErrorModel.cpp.

◆ receivePosVel()

std::shared_ptr< NAV::PosVel > NAV::ErrorModel::receivePosVel ( const std::shared_ptr< PosVel > & posVel)
nodiscardprivate

Callback when receiving an PosVelObs.

Parameters
[in]posVelCopied data to modify and send out again

Definition at line 914 of file ErrorModel.cpp.

◆ receivePosVelAtt()

std::shared_ptr< NAV::PosVelAtt > NAV::ErrorModel::receivePosVelAtt ( const std::shared_ptr< PosVelAtt > & posVelAtt)
nodiscardprivate

Callback when receiving an PosVelAttObs.

Parameters
[in]posVelAttCopied data to modify and send out again

Definition at line 1009 of file ErrorModel.cpp.

◆ resetNode()

bool NAV::ErrorModel::resetNode ( )
overrideprivatevirtual

Resets the node. It is guaranteed that the node is initialized when this is called.

Reimplemented from NAV::Node.

Definition at line 552 of file ErrorModel.cpp.

◆ restore()

void NAV::ErrorModel::restore ( const json & j)
overridevirtual

Restores the node from a json object.

Parameters
[in]jJson object with the node state

Reimplemented from NAV::Node.

Definition at line 482 of file ErrorModel.cpp.

◆ save()

json NAV::ErrorModel::save ( ) const
nodiscardoverridevirtual

Saves the node into a json object.

Reimplemented from NAV::Node.

Definition at line 411 of file ErrorModel.cpp.

◆ type()

std::string NAV::ErrorModel::type ( ) const
nodiscardoverridevirtual

String representation of the Class Type.

Implements NAV::Node.

Definition at line 97 of file ErrorModel.cpp.

◆ typeStatic()

std::string NAV::ErrorModel::typeStatic ( )
staticnodiscard

String representation of the Class Type.

Definition at line 92 of file ErrorModel.cpp.

Field Documentation

◆ _ambiguities

std::map<SatSigId, std::vector<std::pair<InsTime, int> > > NAV::ErrorModel::_ambiguities
private

Ambiguity map.

Definition at line 340 of file ErrorModel.hpp.

◆ _ambiguityRng

RandomNumberGenerator NAV::ErrorModel::_ambiguityRng
private

Random number generator for the ambiguity.

Definition at line 338 of file ErrorModel.hpp.

◆ _attitudeBias

Eigen::Vector3d NAV::ErrorModel::_attitudeBias
private

Bias of the attitude (Unit as selected)

Definition at line 246 of file ErrorModel.hpp.

◆ _attitudeBiasUnit

AttitudeBiasUnits NAV::ErrorModel::_attitudeBiasUnit
private

Selected unit for the attitude bias in the GUI.

Definition at line 244 of file ErrorModel.hpp.

◆ _attitudeNoise

Eigen::Vector3d NAV::ErrorModel::_attitudeNoise
private

Noise of the attitude (Unit as selected)

Definition at line 287 of file ErrorModel.hpp.

◆ _attitudeNoiseUnit

AttitudeNoiseUnits NAV::ErrorModel::_attitudeNoiseUnit
private

Selected unit for the attitude noise in the GUI.

Definition at line 285 of file ErrorModel.hpp.

◆ _attitudeRng

RandomNumberGenerator NAV::ErrorModel::_attitudeRng
private

Random number generator for the attitude noise.

Definition at line 289 of file ErrorModel.hpp.

◆ _carrierPhaseRng

RandomNumberGenerator NAV::ErrorModel::_carrierPhaseRng
private

Random number generator for the carrier-phase noise.

Definition at line 319 of file ErrorModel.hpp.

◆ _cycleSlipRng

RandomNumberGenerator NAV::ErrorModel::_cycleSlipRng
private

Random number generator for the cycle-slip.

Definition at line 371 of file ErrorModel.hpp.

◆ _cycleSlips

std::vector<CycleSlipInfo> NAV::ErrorModel::_cycleSlips
private

List of produced cycle-slips.

Definition at line 381 of file ErrorModel.hpp.

◆ _cycleSlipWindowStartTime

InsTime NAV::ErrorModel::_cycleSlipWindowStartTime
private

The time frame which is considered for a cycle slip.

Definition at line 358 of file ErrorModel.hpp.

◆ _dopplerRng

RandomNumberGenerator NAV::ErrorModel::_dopplerRng
private

Random number generator for the range-rate noise.

Definition at line 331 of file ErrorModel.hpp.

◆ _dt

double NAV::ErrorModel::_dt
private

Time interval of the messages [s].

Definition at line 131 of file ErrorModel.hpp.

◆ _filterCode

Code NAV::ErrorModel::_filterCode
private

Codes used for calculation (GUI filter)

Definition at line 386 of file ErrorModel.hpp.

◆ _filterFreq

Frequency NAV::ErrorModel::_filterFreq
private

Frequencies used for calculation (GUI filter)

Definition at line 384 of file ErrorModel.hpp.

◆ _gui_ambiguityLimits

std::array<int, 2> NAV::ErrorModel::_gui_ambiguityLimits
private

Ambiguity limits.

Definition at line 336 of file ErrorModel.hpp.

◆ _gui_carrierPhaseNoise

double NAV::ErrorModel::_gui_carrierPhaseNoise
private

Noise of the carrier-phase (Unit as selected)

Definition at line 317 of file ErrorModel.hpp.

◆ _gui_carrierPhaseNoiseUnit

CarrierPhaseNoiseUnits NAV::ErrorModel::_gui_carrierPhaseNoiseUnit
private

Selected unit for the carrier-phase noise in the GUI.

Definition at line 315 of file ErrorModel.hpp.

◆ _gui_cycleSlipDetectionProbability

double NAV::ErrorModel::_gui_cycleSlipDetectionProbability
private

The chance to detect a cycle slip and set the Loss-of-Lock indicator.

Definition at line 368 of file ErrorModel.hpp.

◆ _gui_cycleSlipDetectionProbabilityUnit

CycleSlipDetectionProbabilityUnits NAV::ErrorModel::_gui_cycleSlipDetectionProbabilityUnit
private

Selected unit for the cycle-slip detection probability in the GUI.

Definition at line 366 of file ErrorModel.hpp.

◆ _gui_cycleSlipFrequency

double NAV::ErrorModel::_gui_cycleSlipFrequency
private

The cycle-slip frequency (Unit as selected)

Definition at line 354 of file ErrorModel.hpp.

◆ _gui_cycleSlipFrequencyUnit

CycleSlipFrequencyUnits NAV::ErrorModel::_gui_cycleSlipFrequencyUnit
private

Selected unit for the cycle-slip frequency in the GUI.

Definition at line 352 of file ErrorModel.hpp.

◆ _gui_cycleSlipRange

int NAV::ErrorModel::_gui_cycleSlipRange
private

Ambiguity limits cycle-slip.

Definition at line 356 of file ErrorModel.hpp.

◆ _gui_dopplerNoise

double NAV::ErrorModel::_gui_dopplerNoise
private

Noise of the range-rate (Unit as selected)

Definition at line 329 of file ErrorModel.hpp.

◆ _gui_dopplerNoiseUnit

DopplerNoiseUnits NAV::ErrorModel::_gui_dopplerNoiseUnit
private

Selected unit for the range-rate noise in the GUI.

Definition at line 327 of file ErrorModel.hpp.

◆ _gui_pseudorangeNoise

double NAV::ErrorModel::_gui_pseudorangeNoise
private

Noise of the pseudorange (Unit as selected)

Definition at line 305 of file ErrorModel.hpp.

◆ _gui_pseudorangeNoiseUnit

PseudorangeNoiseUnits NAV::ErrorModel::_gui_pseudorangeNoiseUnit
private

Selected unit for the pseudorange noise in the GUI.

Definition at line 303 of file ErrorModel.hpp.

◆ _imuAccelerometerBias_p

Eigen::Vector3d NAV::ErrorModel::_imuAccelerometerBias_p
private

Bias of the accelerometer in platform coordinates (Unit as selected)

Definition at line 160 of file ErrorModel.hpp.

◆ _imuAccelerometerBiasUnit

Units::ImuAccelerometerUnits NAV::ErrorModel::_imuAccelerometerBiasUnit
private

Selected unit for the accelerometer bias in the GUI.

Definition at line 158 of file ErrorModel.hpp.

◆ _imuAccelerometerIRW

Eigen::Vector3d NAV::ErrorModel::_imuAccelerometerIRW
private

IRW noise of the accelerometer (Unit as selected)

Definition at line 200 of file ErrorModel.hpp.

◆ _imuAccelerometerIRWRng

RandomNumberGenerator NAV::ErrorModel::_imuAccelerometerIRWRng
private

Random number generator for the accelerometer IRW noise.

Definition at line 202 of file ErrorModel.hpp.

◆ _imuAccelerometerIRWUnit

Units::ImuAccelerometerIRWUnits NAV::ErrorModel::_imuAccelerometerIRWUnit
private

Selected unit for the accelerometer IRW noise in the GUI.

Definition at line 198 of file ErrorModel.hpp.

◆ _imuAccelerometerNoise

Eigen::Vector3d NAV::ErrorModel::_imuAccelerometerNoise
private

Noise of the accelerometer (Unit as selected)

Definition at line 172 of file ErrorModel.hpp.

◆ _imuAccelerometerNoiseUnit

Units::ImuAccelerometerNoiseUnits NAV::ErrorModel::_imuAccelerometerNoiseUnit
private

Selected unit for the accelerometer noise in the GUI.

Definition at line 170 of file ErrorModel.hpp.

◆ _imuAccelerometerRng

RandomNumberGenerator NAV::ErrorModel::_imuAccelerometerRng
private

Random number generator for the accelerometer noise.

Definition at line 174 of file ErrorModel.hpp.

◆ _imuAccelerometerRW

Eigen::Vector3d NAV::ErrorModel::_imuAccelerometerRW
private

RW noise of the accelerometer (Unit as selected)

Definition at line 186 of file ErrorModel.hpp.

◆ _imuAccelerometerRWRng

RandomNumberGenerator NAV::ErrorModel::_imuAccelerometerRWRng
private

Random number generator for the accelerometer RW noise.

Definition at line 188 of file ErrorModel.hpp.

◆ _imuAccelerometerRWUnit

Units::ImuAccelerometerNoiseUnits NAV::ErrorModel::_imuAccelerometerRWUnit
private

Selected unit for the accelerometer RW noise in the GUI.

Definition at line 184 of file ErrorModel.hpp.

◆ _imuGyroscopeBias_p

Eigen::Vector3d NAV::ErrorModel::_imuGyroscopeBias_p
private

Bias of the gyroscope in platform coordinates (Unit as selected)

Definition at line 165 of file ErrorModel.hpp.

◆ _imuGyroscopeBiasUnit

Units::ImuGyroscopeUnits NAV::ErrorModel::_imuGyroscopeBiasUnit
private

Selected unit for the gyroscope bias in the GUI.

Definition at line 163 of file ErrorModel.hpp.

◆ _imuGyroscopeIRW

Eigen::Vector3d NAV::ErrorModel::_imuGyroscopeIRW
private

RW noise of the accelerometer (Unit as selected)

Definition at line 207 of file ErrorModel.hpp.

◆ _imuGyroscopeIRWRng

RandomNumberGenerator NAV::ErrorModel::_imuGyroscopeIRWRng
private

Random number generator for the accelerometer RW noise.

Definition at line 209 of file ErrorModel.hpp.

◆ _imuGyroscopeIRWUnit

Units::ImuGyroscopeIRWUnits NAV::ErrorModel::_imuGyroscopeIRWUnit
private

Selected unit for the accelerometer IRW noise in the GUI.

Definition at line 205 of file ErrorModel.hpp.

◆ _imuGyroscopeNoise

Eigen::Vector3d NAV::ErrorModel::_imuGyroscopeNoise
private

Noise of the gyroscope (Unit as selected)

Definition at line 179 of file ErrorModel.hpp.

◆ _imuGyroscopeNoiseUnit

Units::ImuGyroscopeNoiseUnits NAV::ErrorModel::_imuGyroscopeNoiseUnit
private

Selected unit for the gyroscope noise in the GUI.

Definition at line 177 of file ErrorModel.hpp.

◆ _imuGyroscopeRng

RandomNumberGenerator NAV::ErrorModel::_imuGyroscopeRng
private

Random number generator for the gyroscope noise.

Definition at line 181 of file ErrorModel.hpp.

◆ _imuGyroscopeRW

Eigen::Vector3d NAV::ErrorModel::_imuGyroscopeRW
private

RW noise of the accelerometer (Unit as selected)

Definition at line 193 of file ErrorModel.hpp.

◆ _imuGyroscopeRWRng

RandomNumberGenerator NAV::ErrorModel::_imuGyroscopeRWRng
private

Random number generator for the accelerometer RW noise.

Definition at line 195 of file ErrorModel.hpp.

◆ _imuGyroscopeRWUnit

Units::ImuGyroscopeNoiseUnits NAV::ErrorModel::_imuGyroscopeRWUnit
private

Selected unit for the accelerometer RW noise in the GUI.

Definition at line 191 of file ErrorModel.hpp.

◆ _integratedRandomWalkAccelerometer

Eigen::Vector3d NAV::ErrorModel::_integratedRandomWalkAccelerometer
private

3D array which allow to accumulate IRW for accelerometer

Definition at line 147 of file ErrorModel.hpp.

◆ _integratedRandomWalkAccelerometer_velocity

Eigen::Vector3d NAV::ErrorModel::_integratedRandomWalkAccelerometer_velocity
private

3D array which allow to accumulate IRW veloctiy noise for accelerometer

Definition at line 144 of file ErrorModel.hpp.

◆ _integratedRandomWalkGyroscope

Eigen::Vector3d NAV::ErrorModel::_integratedRandomWalkGyroscope
private

3D array which allow to accumulate IRW for gyro

Definition at line 153 of file ErrorModel.hpp.

◆ _integratedRandomWalkGyroscope_velocity

Eigen::Vector3d NAV::ErrorModel::_integratedRandomWalkGyroscope_velocity
private

3D array which allow to accumulate IRW veloctiy noise for gyro

Definition at line 150 of file ErrorModel.hpp.

◆ _lastObservationTime

InsTime NAV::ErrorModel::_lastObservationTime
private

Last observation time.

Definition at line 129 of file ErrorModel.hpp.

◆ _positionBias

Eigen::Vector3d NAV::ErrorModel::_positionBias
private

Bias of the position (Unit as selected)

Definition at line 225 of file ErrorModel.hpp.

◆ _positionBiasUnit

PositionBiasUnits NAV::ErrorModel::_positionBiasUnit
private

Selected unit for the position bias in the GUI.

Definition at line 223 of file ErrorModel.hpp.

◆ _positionNoise

Eigen::Vector3d NAV::ErrorModel::_positionNoise
private

Noise of the position (Unit as selected)

Definition at line 260 of file ErrorModel.hpp.

◆ _positionNoiseUnit

PositionNoiseUnits NAV::ErrorModel::_positionNoiseUnit
private

Selected unit for the position noise in the GUI.

Definition at line 258 of file ErrorModel.hpp.

◆ _positionRng

RandomNumberGenerator NAV::ErrorModel::_positionRng
private

Random number generator for the position noise.

Definition at line 262 of file ErrorModel.hpp.

◆ _pseudorangeRng

RandomNumberGenerator NAV::ErrorModel::_pseudorangeRng
private

Random number generator for the pseudorange noise.

Definition at line 307 of file ErrorModel.hpp.

◆ _randomWalkAccelerometer

Eigen::Vector3d NAV::ErrorModel::_randomWalkAccelerometer
private

3D array which allow to accumulate RW noise for accelerometer

Definition at line 138 of file ErrorModel.hpp.

◆ _randomWalkGyroscope

Eigen::Vector3d NAV::ErrorModel::_randomWalkGyroscope
private

3D array which allow to accumulate RW noise for gyro

Definition at line 141 of file ErrorModel.hpp.

◆ _velocityBias

Eigen::Vector3d NAV::ErrorModel::_velocityBias
private

Bias of the velocity (Unit as selected)

Definition at line 235 of file ErrorModel.hpp.

◆ _velocityBiasUnit

VelocityBiasUnits NAV::ErrorModel::_velocityBiasUnit
private

Selected unit for the velocity bias in the GUI.

Definition at line 233 of file ErrorModel.hpp.

◆ _velocityNoise

Eigen::Vector3d NAV::ErrorModel::_velocityNoise
private

Noise of the velocity (Unit as selected)

Definition at line 272 of file ErrorModel.hpp.

◆ _velocityNoiseUnit

VelocityNoiseUnits NAV::ErrorModel::_velocityNoiseUnit
private

Selected unit for the velocity noise in the GUI.

Definition at line 270 of file ErrorModel.hpp.

◆ _velocityRng

RandomNumberGenerator NAV::ErrorModel::_velocityRng
private

Random number generator for the velocity noise.

Definition at line 274 of file ErrorModel.hpp.

◆ OUTPUT_PORT_INDEX_FLOW

size_t NAV::ErrorModel::OUTPUT_PORT_INDEX_FLOW
staticconstexprprivate

Flow.

Definition at line 70 of file ErrorModel.hpp.


The documentation for this class was generated from the following files: