RcsPySim
A robot control and simulation library
Rcs::DSMassSpringDamperNonlinear Class Reference

#include <DynamicalSystem.h>

Inheritance diagram for Rcs::DSMassSpringDamperNonlinear:
Collaboration diagram for Rcs::DSMassSpringDamperNonlinear:

Public Member Functions

 DSMassSpringDamperNonlinear (const Spring &attractor, const std::vector< Spring > &repellers, const double damping, const double mass=1.0)
 
virtual DynamicalSystemclone () const
 
void step (Eigen::VectorXd &x_ddot, const Eigen::VectorXd &x_dot, const Eigen::VectorXd &x, double dt) const
 
- Public Member Functions inherited from Rcs::DSMassSpringDamper
 DSMassSpringDamper (const Spring &attractor, const std::vector< Spring > &repellers, const double damping, const double mass=1.0)
 
Eigen::VectorXd getGoal () const
 
void setGoal (const Eigen::VectorXd &x_des)
 
- Public Member Functions inherited from Rcs::DSSecondOrder
virtual void step (Eigen::VectorXd &x_dot, const Eigen::VectorXd &x, double dt) const
 
- Public Member Functions inherited from Rcs::DynamicalSystem
 DynamicalSystem ()=default
 
virtual ~DynamicalSystem ()=default
 
virtual double goalDistance (const Eigen::VectorXd &x_curr) const
 
unsigned int getStateDim () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Rcs::DynamicalSystem
static DynamicalSystemcreate (PropertySource *properties, unsigned int innerTaskDim)
 
- Public Attributes inherited from Rcs::DynamicalSystem
Eigen::VectorXd x_dot_des
 
- Protected Attributes inherited from Rcs::DSMassSpringDamper
Spring attractorSpring
 
std::vector< SpringrepellerSprings
 
double damping
 
double mass
 

Detailed Description

Clampled Nonlinear Mass-Spring-Damper Dynamical System

Definition at line 228 of file DynamicalSystem.h.

Constructor & Destructor Documentation

◆ DSMassSpringDamperNonlinear()

Rcs::DSMassSpringDamperNonlinear::DSMassSpringDamperNonlinear ( const Spring attractor,
const std::vector< Spring > &  repellers,
const double  damping,
const double  mass = 1.0 
)

Constructor

Parameters
[in]attractorattractor spring pulling the mass to the goal poisiton (there is only one)
[in]repellersrepeller springs pushing the mass away from points in space
[in]dampingof the dynamical system (there is only on)
[in]massmass of the particle (default: unit mass 1kg)

DSMassSpringDamperNonlinear

Definition at line 337 of file DynamicalSystem.cpp.

Member Function Documentation

◆ clone()

DynamicalSystem * Rcs::DSMassSpringDamperNonlinear::clone ( ) const
virtual

Create a deep copy of this DynamicalSystem.

Returns
deep copy

Reimplemented from Rcs::DSMassSpringDamper.

Definition at line 343 of file DynamicalSystem.cpp.

◆ step()

void Rcs::DSMassSpringDamperNonlinear::step ( Eigen::VectorXd &  x_ddot,
const Eigen::VectorXd &  x_dot,
const Eigen::VectorXd &  x,
double  dt 
) const
virtual

Advance the dynamical system one step in time. Compute the acceleration x_ddot given the velocity x_dot and the state x, and the time step size dt.

Parameters
[out]x_ddotfill with desired acceleration, is not initialized
[in]x_dotcurrent velocity
[in]xcurrent state
[in]dttime step size for integration

Reimplemented from Rcs::DSMassSpringDamper.

Definition at line 348 of file DynamicalSystem.cpp.


The documentation for this class was generated from the following files: