24 #ifndef _SPRING_DAMPER_SYSTEM_H_ 25 #define _SPRING_DAMPER_SYSTEM_H_ 65 const Eigen::Ref<const Eigen::VectorXd>& x,
66 Eigen::Ref<Eigen::VectorXd> xd
69 void analyticalSolution(
const Eigen::VectorXd& ts, Eigen::MatrixXd& xs, Eigen::MatrixXd& xds)
const;
89 inline double mass(
void) {
return mass_; }
117 double damping_coefficient_;
120 double spring_constant_;
137 mutable Eigen::VectorXd y_,z_,yd_,zd_,y_attr_;
144 template<
class Archive>
145 void serialize(Archive & ar,
const unsigned int version)
150 ar & BOOST_SERIALIZATION_NVP(damping_coefficient_);
151 ar & BOOST_SERIALIZATION_NVP(spring_constant_);
152 ar & BOOST_SERIALIZATION_NVP(mass_);
158 #include <boost/serialization/export.hpp> 166 #endif // _SPRING_DAMPER_SYSTEM_H_ double tau(void) const
Accessor function for the time constant.
DynamicalSystem class header file.
void set_damping_coefficient(double damping_coefficient)
Accessor function for damping coefficient.
void set_spring_constant(double spring_constant)
Accessor function for spring constant.
DynamicalSystem * clone(void) const
Return a pointer to a deep copy of the DynamicalSystem object.
void analyticalSolution(const Eigen::VectorXd &ts, Eigen::MatrixXd &xs, Eigen::MatrixXd &xds) const
Return analytical solution of the system at certain times.
BOOST_CLASS_EXPORT_KEY2(DmpBbo::TimeSystem,"TimeSystem")
Register this derived class.
void set_mass(double mass)
Accessor function for mass.
double damping_coefficient(void)
Accessor function for damping coefficient.
std::string toString(void) const
Returns a string representation of the object.
std::string name(void) const
Accessor function for the name of the dynamical system.
void differentialEquation(const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::VectorXd > xd) const
The differential equation which defines the system.
Interface for implementing dynamical systems.
double mass(void)
Accessor function for mass.
Dynamical System modelling the evolution of a spring-damper system: .
double spring_constant(void)
Accessor function for spring constant.
double const CRITICALLY_DAMPED
Value indicating that the spring constant should be set such that the spring damper system is critica...
BOOST_CLASS_IMPLEMENTATION(DmpBbo::DistributionGaussian, boost::serialization::object_serializable)
Don't add version information to archives.
~SpringDamperSystem(void)
Destructor.
friend class boost::serialization::access
Give boost serialization access to private members.