state-observation 1.7.0
Loading...
Searching...
No Matches
bidim-elastic-inv-pendulum-dyn-sys.hpp
Go to the documentation of this file.
1
13#ifndef BIDIM_ELASTIC_INV_PENDULUM
14#define BIDIM_ELASTIC_INV_PENDULUM
15
16#include <state-observation/api.h>
19
21{
22
30class STATE_OBSERVATION_DLLAPI BidimElasticInvPendulum : public DynamicalSystemFunctorBase
31{
32public:
35
38
40 virtual Vector stateDynamics(const Vector & x, const Vector & u, TimeIndex k);
41
43 virtual Vector measureDynamics(const Vector & x, const Vector & u, TimeIndex k);
44
46 virtual void setProcessNoise(NoiseBase *);
48 virtual void resetProcessNoise();
50 virtual NoiseBase * getProcessNoise() const;
51
55 virtual void resetMeasurementNoise();
57 virtual NoiseBase * getMeasurementNoise() const;
58
60 virtual void setSamplingPeriod(double dt);
61
63 virtual Index getStateSize() const;
65 virtual Index getInputSize() const;
67 virtual Index getMeasurementSize() const;
68
70 void setHeight(const double & h);
72 void setMass(const double & m);
74 void setElasticity(const double & k);
75
76protected:
77 double k_;
78 double m_;
79 double h_;
80
82
83 double dt_;
84
85 static const Index stateSize_ = 4;
86 static const Index inputSize_ = 1;
87 static const Index measurementSize_ = 0;
88};
89} // namespace stateObservation
90#endif // BIDIM_ELASTIC_INV_PENDULUM
The class is an implementation of the dynamical system defined by a 2D inverted pendulum with an elas...
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:31
virtual void resetMeasurementNoise()
Removes the measurement noise.
virtual Index getInputSize() const
Gets the input size.
double k_
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:77
virtual void setMeasurementNoise(NoiseBase *)
Sets a noise which disturbs the measurements.
NoiseBase * processNoise_
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:81
virtual Index getStateSize() const
Gets the state size.
void setHeight(const double &h)
set the height of the com of the pendulum
void setMass(const double &m)
set the mass of the pendulum
virtual Vector measureDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the sensor's dynamics.
double m_
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:78
virtual NoiseBase * getMeasurementNoise() const
Gets a pointer on the measurement noise.
virtual void setProcessNoise(NoiseBase *)
Sets a noise which disturbs the state dynamics.
virtual void resetProcessNoise()
Removes the process noise.
void setElasticity(const double &k)
set the elasticity of the pendulum
double h_
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:79
virtual void setSamplingPeriod(double dt)
Set the period of the time discretization.
virtual Vector stateDynamics(const Vector &x, const Vector &u, TimeIndex k)
Description of the state dynamics.
double dt_
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:83
virtual NoiseBase * getProcessNoise() const
Gets the process noise.
virtual Index getMeasurementSize() const
Gets the measurement size.
virtual ~BidimElasticInvPendulum()
The virtual destructor.
This is the base class of any functor that describes the dynamics of the state and the measurement....
Definition dynamical-system-functor-base.hpp:33
Definition noise-base.hpp:29
Definition bidim-elastic-inv-pendulum-dyn-sys.hpp:21
long int TimeIndex
Definition definitions.hpp:139
Eigen::Index Index
Definition definitions.hpp:138
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition definitions.hpp:76