Bayes Filters Library
SimulatedLinearSensor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2019 Istituto Italiano di Tecnologia (IIT)
3  *
4  * This software may be modified and distributed under the terms of the
5  * BSD 3-Clause license. See the accompanying LICENSE file for details.
6  */
7 
8 #ifndef SIMULATEDLINEARSENSOR_H
9 #define SIMULATEDLINEARSENSOR_H
10 
14 
15 #include <memory>
16 
17 namespace bfl {
18  class SimulatedLinearSensor;
19 }
20 
21 
23 {
24 public:
25  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);
26 
27  SimulatedLinearSensor(std::unique_ptr<bfl::SimulatedStateModel> simulated_state_model, const LinearMatrixComponent& linear_matrix_component, const Eigen::Ref<const Eigen::MatrixXd>& noise_covariance_matrix);
28 
29  virtual ~SimulatedLinearSensor() noexcept;
30 
31  bool freeze(const Data& data = Data()) override;
32 
33  std::pair<bool, bfl::Data> measure(const Data& data = Data()) const override;
34 
35  VectorDescription getInputDescription() const override;
36 
38 
39 protected:
40  std::unique_ptr<bfl::SimulatedStateModel> simulated_state_model_;
41 
42  Eigen::MatrixXd measurement_;
43 
45 
47 
48  void log() override;
49 };
50 
51 #endif /* SIMULATEDLINEARSENSOR_H */
bfl::LinearModel
Definition: LinearModel.h:24
bfl::LinearModel::LinearMatrixComponent
std::pair< std::size_t, std::vector< std::size_t > > LinearMatrixComponent
Pair of data representing.
Definition: LinearModel.h:37
bfl::SimulatedLinearSensor::input_description_
VectorDescription input_description_
Definition: SimulatedLinearSensor.h:44
bfl::SimulatedLinearSensor::measure
std::pair< bool, bfl::Data > measure(const Data &data=Data()) const override
Definition: SimulatedLinearSensor.cpp:95
bfl::SimulatedLinearSensor
Definition: SimulatedLinearSensor.h:22
bfl::SimulatedLinearSensor::~SimulatedLinearSensor
virtual ~SimulatedLinearSensor() noexcept
bfl::Data
any::any Data
Definition: Data.h:17
bfl
Port of boost::any for C++11 compilers.
Definition: AdditiveMeasurementModel.h:13
bfl::SimulatedLinearSensor::measurement_
Eigen::MatrixXd measurement_
Definition: SimulatedLinearSensor.h:42
bfl::SimulatedLinearSensor::getInputDescription
VectorDescription getInputDescription() const override
Definition: SimulatedLinearSensor.cpp:101
bfl::SimulatedLinearSensor::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)
SimulatedStateModel.h
bfl::SimulatedLinearSensor::freeze
bool freeze(const Data &data=Data()) override
Definition: SimulatedLinearSensor.cpp:77
VectorDescription.h
bfl::SimulatedLinearSensor::getMeasurementDescription
VectorDescription getMeasurementDescription() const override
Definition: SimulatedLinearSensor.cpp:107
bfl::SimulatedLinearSensor::measurement_description_
VectorDescription measurement_description_
Definition: SimulatedLinearSensor.h:46
bfl::SimulatedLinearSensor::log
void log() override
Definition: SimulatedLinearSensor.cpp:113
bfl::any::any
The class any describes a type-safe container for single values of any type.
Definition: any.h:77
bfl::SimulatedLinearSensor::simulated_state_model_
std::unique_ptr< bfl::SimulatedStateModel > simulated_state_model_
Definition: SimulatedLinearSensor.h:40
LinearModel.h
bfl::VectorDescription
Definition: VectorDescription.h:18