bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType > Class Template Reference

#include <ekf_sensor_fusion.h>

Public Types

typedef MotionModelType motion_model_type
 
typedef ObservationModelType observation_model_type
 
typedef DynMat< real_tmatrix_type
 
typedef std::string topic_type
 

Public Member Functions

 EKFSensorFusion (motion_model_type &motion_model, observation_model_type &observation_model)
 
 ~EKFSensorFusion ()
 
void step ()
 
void predict (const std::string &input_message, const std::string &sensor_message, const topic_type &topic)
 
void update (const std::string &sensor_message, const topic_type &topic)
 
EKFSensorFusionwith_matrix (const std::string &name, const matrix_type &mat)
 
std::optional< std::string > read_from_topic (const topic_type &topic, std::chrono::milliseconds timeout=std::chrono::milliseconds(1000))
 
void add_input_topic (const std::string &mqtt_url, const topic_type &topic)
 
void add_sensor_topic (const std::string &mqtt_url, const topic_type &topic, SensorTypeEnum sensor_type)
 
const matrix_typeoperator[] (const std::string &name) const
 Returns the name-th matrix.
 
matrix_typeoperator[] (const std::string &name)
 Returns the name-th matrix.
 
bool has_matrix (const std::string &name) const
 Returns true if the matrix with the given name exists.
 

Member Typedef Documentation

◆ matrix_type

template<typename MotionModelType , typename ObservationModelType >
typedef DynMat<real_t> bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::matrix_type

◆ motion_model_type

template<typename MotionModelType , typename ObservationModelType >
typedef MotionModelType bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::motion_model_type

◆ observation_model_type

template<typename MotionModelType , typename ObservationModelType >
typedef ObservationModelType bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::observation_model_type

◆ topic_type

template<typename MotionModelType , typename ObservationModelType >
typedef std::string bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::topic_type

Constructor & Destructor Documentation

◆ EKFSensorFusion()

template<typename MotionModelType , typename ObservationModelType >
bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::EKFSensorFusion ( motion_model_type motion_model,
observation_model_type observation_model 
)

◆ ~EKFSensorFusion()

template<typename MotionModelType , typename ObservationModelType >
bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::~EKFSensorFusion ( )

Member Function Documentation

◆ add_input_topic()

template<typename MotionModelType , typename ObservationModelType >
void bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::add_input_topic ( const std::string &  mqtt_url,
const topic_type topic 
)

◆ add_sensor_topic()

template<typename MotionModelType , typename ObservationModelType >
void bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::add_sensor_topic ( const std::string &  mqtt_url,
const topic_type topic,
SensorTypeEnum  sensor_type 
)

◆ has_matrix()

template<typename MotionModelType , typename ObservationModelType >
bool bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::has_matrix ( const std::string &  name) const

Returns true if the matrix with the given name exists.

◆ operator[]() [1/2]

template<typename MotionModelType , typename ObservationModelType >
EKFSensorFusion< MotionModelType, ObservationModelType >::matrix_type & bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::operator[] ( const std::string &  name)

Returns the name-th matrix.

◆ operator[]() [2/2]

template<typename MotionModelType , typename ObservationModelType >
const EKFSensorFusion< MotionModelType, ObservationModelType >::matrix_type & bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::operator[] ( const std::string &  name) const

Returns the name-th matrix.

◆ predict()

template<typename MotionModelType , typename ObservationModelType >
void bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::predict ( const std::string &  input_message,
const std::string &  sensor_message,
const topic_type topic 
)

Predict the next state

Parameters
dt

◆ read_from_topic()

template<typename MotionModelType , typename ObservationModelType >
std::optional< std::string > bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::read_from_topic ( const topic_type topic,
std::chrono::milliseconds  timeout = std::chrono::milliseconds(1000) 
)

◆ step()

template<typename MotionModelType , typename ObservationModelType >
void bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::step ( )

◆ update()

template<typename MotionModelType , typename ObservationModelType >
void bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::update ( const std::string &  sensor_message,
const topic_type topic 
)

update the covariance matrix

◆ with_matrix()

template<typename MotionModelType , typename ObservationModelType >
EKFSensorFusion< MotionModelType, ObservationModelType > & bitrl::sensors::EKFSensorFusion< MotionModelType, ObservationModelType >::with_matrix ( const std::string &  name,
const matrix_type mat 
)

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