25 #ifndef SRC_PLANTS_INCLUDE_CORBO_PLANTS_DISTURBANCES_H_ 26 #define SRC_PLANTS_INCLUDE_CORBO_PLANTS_DISTURBANCES_H_ 38 using Ptr = std::shared_ptr<DisturbanceGaussianNoise>;
51 assert(mean_vec.size() == std_vec.size());
58 bool checkParameters(
int values_dim, std::stringstream* issues)
const override;
61 void reset()
override;
65 #ifdef MESSAGE_SUPPORT 66 virtual void toMessage(messages::DisturbanceGaussianNoise& message)
const;
69 virtual void fromMessage(
const messages::DisturbanceGaussianNoise& message, std::stringstream* issues =
nullptr);
72 void toMessage(messages::Disturbance& message)
const override { toMessage(*message.mutable_gaussian_noise()); }
74 void fromMessage(
const messages::Disturbance& message, std::stringstream* issues =
nullptr)
override 76 fromMessage(message.gaussian_noise(), issues);
95 #endif // SRC_PLANTS_INCLUDE_CORBO_PLANTS_DISTURBANCES_H_ std::mt19937 _random_engine
void reset() override
reset internal state
#define FACTORY_REGISTER_DISTURBANCE(type)
Representation of time stamps.
void initializeDistributions()
std::shared_ptr< DisturbanceInterface > Ptr
bool checkParameters(int values_dim, std::stringstream *issues) const override
Check the underlying parameter configuration for validity.
A matrix or vector expression mapping an existing expression.
void setParameters(const Eigen::Ref< const Eigen::VectorXd > &mean_vec, const Eigen::Ref< const Eigen::VectorXd > &std_vec)
std::vector< std::normal_distribution< double > > _distributions
DisturbanceInterface::Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
virtual ~DisturbanceGaussianNoise()
Virtual destructor.
void disturb(const Time &t, const Eigen::Ref< const Eigen::VectorXd > &values, Eigen::Ref< Eigen::VectorXd > disturbed_values) override
Modify values according to the underlying disturbance model.