mars_lib  0.1.0.3dc76ee85e09
Modular and Robust Sensor-Fusion
Public Member Functions | List of all members
mars::SensorInterface Class Referenceabstract

#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/sensors/sensor_interface.h>

+ Inheritance diagram for mars::SensorInterface:
+ Collaboration diagram for mars::SensorInterface:

Public Member Functions

virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW ~SensorInterface ()=default
 
virtual void set_initial_calib (std::shared_ptr< void > calibration)=0
 set_initial_calib Sets the calibration of an individual sensor More...
 
virtual BufferDataType Initialize (const Time &timestamp, std::shared_ptr< void > measurement, std::shared_ptr< CoreType > latest_core_data)=0
 Initialize the state of an individual sensor. More...
 
virtual bool CalcUpdate (const Time &timestamp, std::shared_ptr< void > measurement, const CoreStateType &prior_core_state_data, std::shared_ptr< void > latest_sensor_data, const Eigen::MatrixXd &prior_cov, BufferDataType *new_state_data)=0
 CalcUpdate Calculates the update for an individual sensor definition. More...
 
virtual Eigen::MatrixXd get_covariance (const std::shared_ptr< void > &sensor_data)=0
 get_covariance Resolves a void pointer to the covariance matrix of the corresponding sensor type Each sensor is responsible to cast its own data type More...
 

Constructor & Destructor Documentation

◆ ~SensorInterface()

virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW mars::SensorInterface::~SensorInterface ( )
virtualdefault

Member Function Documentation

◆ set_initial_calib()

virtual void mars::SensorInterface::set_initial_calib ( std::shared_ptr< void >  calibration)
pure virtual

◆ Initialize()

virtual BufferDataType mars::SensorInterface::Initialize ( const Time timestamp,
std::shared_ptr< void >  measurement,
std::shared_ptr< CoreType latest_core_data 
)
pure virtual

Initialize the state of an individual sensor.

Parameters
timestampcurrent timestamp
measurementcurrent sensor measurement
latest_core_data
Returns

Implemented in mars::VelocitySensorClass, mars::PositionSensorClass, mars::PoseSensorClass, mars::MagSensorClass, mars::EmptySensorClass, mars::BodyvelSensorClass, mars::AttitudeSensorClass, mars::VisionSensorClass, mars::PressureSensorClass, mars::GpsVelSensorClass, mars::GpsSensorClass, and mars::ImuSensorClass.

◆ CalcUpdate()

virtual bool mars::SensorInterface::CalcUpdate ( const Time timestamp,
std::shared_ptr< void >  measurement,
const CoreStateType prior_core_state_data,
std::shared_ptr< void >  latest_sensor_data,
const Eigen::MatrixXd &  prior_cov,
BufferDataType new_state_data 
)
pure virtual

CalcUpdate Calculates the update for an individual sensor definition.

Parameters
timestampcurrent timestamp
measurementcurrent sensor measurement
prior_core_state_data
latest_sensor_data
prior_covPrior covariance containing core, sensor and sensor cross covariance
new_state_dataUpdated state data
Returns
True if the update was successful, false if the update was rejected

Implemented in mars::AttitudeSensorClass, mars::EmptySensorClass, mars::ImuSensorClass, mars::VisionSensorClass, mars::VelocitySensorClass, mars::PressureSensorClass, mars::PositionSensorClass, mars::PoseSensorClass, mars::MagSensorClass, mars::GpsVelSensorClass, mars::GpsSensorClass, and mars::BodyvelSensorClass.

◆ get_covariance()

virtual Eigen::MatrixXd mars::SensorInterface::get_covariance ( const std::shared_ptr< void > &  sensor_data)
pure virtual

get_covariance Resolves a void pointer to the covariance matrix of the corresponding sensor type Each sensor is responsible to cast its own data type

Parameters
sensor_data
Returns
Covariance matrix contained in the sensor data struct

Implemented in mars::VisionSensorClass, mars::VelocitySensorClass, mars::PressureSensorClass, mars::PositionSensorClass, mars::PoseSensorClass, mars::MagSensorClass, mars::GpsVelSensorClass, mars::GpsSensorClass, mars::EmptySensorClass, mars::BodyvelSensorClass, mars::AttitudeSensorClass, and mars::ImuSensorClass.


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