Bayes Filters Library
|
#include <SimulatedLinearSensor.h>
Public Types | |
using | LinearMatrixComponent = std::pair< std::size_t, std::vector< std::size_t > > |
Pair of data representing. More... | |
Public Member Functions | |
SimulatedLinearSensor (std::unique_ptr< bfl::SimulatedStateModel > simulated_state_model, const LinearMatrixComponent &linear_matrix_component, const Eigen::Ref< const Eigen::MatrixXd > &noise_covariance_matrix, const unsigned int seed) | |
SimulatedLinearSensor (std::unique_ptr< bfl::SimulatedStateModel > simulated_state_model, const LinearMatrixComponent &linear_matrix_component, const Eigen::Ref< const Eigen::MatrixXd > &noise_covariance_matrix) | |
virtual | ~SimulatedLinearSensor () noexcept |
bool | freeze (const Data &data=Data()) override |
std::pair< bool, bfl::Data > | measure (const Data &data=Data()) const override |
VectorDescription | getInputDescription () const override |
VectorDescription | getMeasurementDescription () const override |
std::pair< bool, Eigen::MatrixXd > | getNoiseCovarianceMatrix () const override |
Eigen::MatrixXd | getMeasurementMatrix () const override |
virtual std::pair< bool, bfl::Data > | predictedMeasure (const Eigen::Ref< const Eigen::MatrixXd > &cur_states) const override |
virtual std::pair< bool, bfl::Data > | innovation (const bfl::Data &predicted_measurements, const bfl::Data &measurements) const override |
virtual bool | setProperty (const std::string &property) |
bool | enable_log (const std::string &folder_path, const std::string &file_name_prefix) |
bool | disable_log () |
std::string | get_folder_path () const |
std::string | get_file_name_prefix () const |
template<typename DatumType > | |
void | logger (DatumType datum) |
template<typename... DataType> | |
void | logger (DataType... data) |
template<typename DatumType > | |
void | logger (DatumType datum) const |
template<typename... DataType> | |
void | logger (DataType... data) const |
Protected Member Functions | |
void | log () override |
std::pair< bool, Eigen::MatrixXd > | getNoiseSample (const int num) const |
std::vector< std::string > | log_file_names (const std::string &folder_path, const std::string &file_name_prefix) override |
Protected Attributes | |
std::unique_ptr< bfl::SimulatedStateModel > | simulated_state_model_ |
Eigen::MatrixXd | measurement_ |
VectorDescription | input_description_ |
VectorDescription | measurement_description_ |
double | T_ |
The Sampling interval in [time]. More... | |
Eigen::MatrixXd | sqrt_R_ |
Square root matrix of R_. More... | |
std::function< double()> | gauss_rnd_sample_ |
Random number generator function from a Normal distribution. More... | |
Eigen::MatrixXd | H_ |
Measurement matrix. More... | |
Eigen::MatrixXd | R_ |
Convariance matrix of the additive white noise of the measurements. More... | |
Private Member Functions | |
template<typename DatumType > | |
void | logger_helper (const size_t pos, DatumType datum) |
template<typename DatumType , typename... DataType> | |
void | logger_helper (const size_t pos, DatumType datum, DataType... data) |
template<typename DatumType > | |
void | logger_helper (const size_t pos, DatumType datum) const |
template<typename DatumType , typename... DataType> | |
void | logger_helper (const size_t pos, DatumType datum, DataType... data) const |
Private Attributes | |
std::mt19937_64 | generator_ |
std::normal_distribution< double > | distribution_ |
bool | log_enabled_ = false |
std::ofstream | log_file_measurements_ |
std::string | folder_path_ |
std::string | file_name_prefix_ |
std::vector< std::string > | file_names_ |
std::vector< std::ofstream > | log_files_ |
Definition at line 22 of file SimulatedLinearSensor.h.
|
inherited |
Pair of data representing.
Example: LinearMatrixComponent{4, {0, 2}} results in the following measurement matrix H = [ 1.0 0 0 0 ] [ 0 0 1.0 0 ]
Definition at line 37 of file LinearModel.h.
bfl::SimulatedLinearSensor::SimulatedLinearSensor | ( | std::unique_ptr< bfl::SimulatedStateModel > | simulated_state_model, |
const LinearMatrixComponent & | linear_matrix_component, | ||
const Eigen::Ref< const Eigen::MatrixXd > & | noise_covariance_matrix, | ||
const unsigned int | seed | ||
) |
bfl::SimulatedLinearSensor::SimulatedLinearSensor | ( | std::unique_ptr< bfl::SimulatedStateModel > | simulated_state_model, |
const LinearMatrixComponent & | linear_matrix_component, | ||
const Eigen::Ref< const Eigen::MatrixXd > & | noise_covariance_matrix | ||
) |
|
virtualdefaultnoexcept |
|
inherited |
Definition at line 68 of file Logger.cpp.
References bfl::Logger::file_names_, bfl::Logger::log_enabled_, and bfl::Logger::log_files_.
Referenced by bfl::Logger::~Logger().
|
inherited |
Definition at line 22 of file Logger.cpp.
References bfl::Logger::file_name_prefix_, bfl::Logger::file_names_, bfl::Logger::folder_path_, bfl::Logger::log_enabled_, bfl::Logger::log_file_names(), and bfl::Logger::log_files_.
Implements bfl::MeasurementModel.
Definition at line 77 of file SimulatedLinearSensor.cpp.
References bfl::LinearModel::getNoiseSample(), bfl::LTIMeasurementModel::H_, log(), measurement_, and simulated_state_model_.
|
inherited |
Definition at line 91 of file Logger.cpp.
References bfl::Logger::file_name_prefix_.
|
inherited |
Definition at line 85 of file Logger.cpp.
References bfl::Logger::folder_path_.
|
overridevirtual |
Reimplemented from bfl::MeasurementModel.
Definition at line 101 of file SimulatedLinearSensor.cpp.
References input_description_.
|
overridevirtual |
Reimplemented from bfl::MeasurementModel.
Definition at line 107 of file SimulatedLinearSensor.cpp.
References measurement_description_.
|
overridevirtualinherited |
Implements bfl::LinearMeasurementModel.
Definition at line 69 of file LinearModel.cpp.
References bfl::LTIMeasurementModel::H_.
|
overridevirtualinherited |
Reimplemented from bfl::MeasurementModel.
Definition at line 63 of file LinearModel.cpp.
References bfl::LTIMeasurementModel::R_.
|
protectedinherited |
Definition at line 51 of file LinearModel.cpp.
References bfl::LinearModel::gauss_rnd_sample_, and bfl::LinearModel::sqrt_R_.
Referenced by freeze().
|
overridevirtualinherited |
Implements bfl::MeasurementModel.
Definition at line 24 of file LinearMeasurementModel.cpp.
|
overrideprotectedvirtual |
Reimplemented from bfl::Logger.
Definition at line 113 of file SimulatedLinearSensor.cpp.
References bfl::Logger::logger(), and measurement_.
Referenced by freeze().
|
inlineoverrideprotectedvirtualinherited |
Reimplemented from bfl::Logger.
Definition at line 69 of file LinearModel.h.
|
inlineinherited |
Definition at line 42 of file Logger.h.
References bfl::Logger::log_enabled_, and bfl::Logger::logger_helper().
|
inlineinherited |
Definition at line 56 of file Logger.h.
References bfl::Logger::log_enabled_, and bfl::Logger::logger_helper().
|
inlineinherited |
Definition at line 35 of file Logger.h.
References bfl::Logger::log_enabled_, and bfl::Logger::log_files_.
Referenced by log().
|
inlineinherited |
Definition at line 49 of file Logger.h.
References bfl::Logger::log_enabled_, and bfl::Logger::log_files_.
|
inlineprivateinherited |
Definition at line 81 of file Logger.h.
References bfl::Logger::log_files_.
Referenced by bfl::Logger::logger(), and bfl::Logger::logger_helper().
|
inlineprivateinherited |
Definition at line 95 of file Logger.h.
References bfl::Logger::log_files_.
|
inlineprivateinherited |
Definition at line 87 of file Logger.h.
References bfl::Logger::log_files_, and bfl::Logger::logger_helper().
|
inlineprivateinherited |
Definition at line 101 of file Logger.h.
References bfl::Logger::log_files_, and bfl::Logger::logger_helper().
|
overridevirtual |
Implements bfl::MeasurementModel.
Definition at line 95 of file SimulatedLinearSensor.cpp.
References measurement_.
|
overridevirtualinherited |
Implements bfl::MeasurementModel.
Definition at line 16 of file LinearMeasurementModel.cpp.
|
virtualinherited |
Reimplemented in bfl::MeasurementModelDecorator.
Definition at line 22 of file MeasurementModel.cpp.
|
privateinherited |
Definition at line 78 of file LinearModel.h.
|
privateinherited |
Definition at line 72 of file Logger.h.
Referenced by bfl::Logger::enable_log(), and bfl::Logger::get_file_name_prefix().
|
privateinherited |
Definition at line 74 of file Logger.h.
Referenced by bfl::Logger::disable_log(), and bfl::Logger::enable_log().
|
privateinherited |
Definition at line 70 of file Logger.h.
Referenced by bfl::Logger::enable_log(), and bfl::Logger::get_folder_path().
|
protectedinherited |
Random number generator function from a Normal distribution.
A call to gauss_rnd_sample_()
returns a doubleing point random number.
Definition at line 67 of file LinearModel.h.
Referenced by bfl::LinearModel::getNoiseSample().
|
privateinherited |
Definition at line 76 of file LinearModel.h.
|
protectedinherited |
Measurement matrix.
Definition at line 39 of file LTIMeasurementModel.h.
Referenced by freeze(), and bfl::LinearModel::getMeasurementMatrix().
|
protected |
Definition at line 44 of file SimulatedLinearSensor.h.
Referenced by getInputDescription().
|
privateinherited |
Definition at line 80 of file LinearModel.h.
|
mutableprivateinherited |
Definition at line 82 of file LinearModel.h.
|
mutableprivateinherited |
Definition at line 78 of file Logger.h.
Referenced by bfl::Logger::disable_log(), bfl::Logger::enable_log(), bfl::Logger::logger(), and bfl::Logger::logger_helper().
|
protected |
Definition at line 42 of file SimulatedLinearSensor.h.
|
protected |
Definition at line 46 of file SimulatedLinearSensor.h.
Referenced by getMeasurementDescription().
|
protectedinherited |
Convariance matrix of the additive white noise of the measurements.
Definition at line 44 of file LTIMeasurementModel.h.
Referenced by bfl::LinearModel::getNoiseCovarianceMatrix().
|
protected |
Definition at line 40 of file SimulatedLinearSensor.h.
Referenced by freeze().
|
protectedinherited |
Square root matrix of R_.
Definition at line 61 of file LinearModel.h.
Referenced by bfl::LinearModel::getNoiseSample().
|
protectedinherited |
The Sampling interval in [time].
Definition at line 56 of file LinearModel.h.