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

#include <DynamicalSystem.h>

Inheritance diagram for Rcs::DSLinear:
Collaboration diagram for Rcs::DSLinear:

Public Member Functions

 DSLinear (const Eigen::MatrixXd &errorDynamics, const Eigen::VectorXd &equilibriumPoint)
 
virtual DynamicalSystemclone () const
 
void step (Eigen::VectorXd &x_dot, const Eigen::VectorXd &x, double dt) const
 
Eigen::VectorXd getGoal () const
 
void setGoal (const Eigen::VectorXd &x_des)
 
- 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
 

Protected Attributes

Eigen::MatrixXd errorDynamics
 
Eigen::VectorXd equilibriumPoint
 

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
 

Detailed Description

Linear Dynamical System

Definition at line 153 of file DynamicalSystem.h.

Constructor & Destructor Documentation

◆ DSLinear()

Rcs::DSLinear::DSLinear ( const Eigen::MatrixXd &  errorDynamics,
const Eigen::VectorXd &  equilibriumPoint 
)

!Constructor

Parameters
[in]errorDynamicsdynamics matrix
[in]equilibriumPointattractor

DSLinear

Definition at line 248 of file DynamicalSystem.cpp.

Member Function Documentation

◆ clone()

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

Create a deep copy of this DynamicalSystem.

Returns
deep copy

Implements Rcs::DynamicalSystem.

Definition at line 251 of file DynamicalSystem.cpp.

◆ getGoal()

Eigen::VectorXd Rcs::DSLinear::getGoal ( ) const
virtual

Get the goal state for this dynamical system.

Returns
x_des desired state for the system to pursue

Implements Rcs::DynamicalSystem.

Definition at line 265 of file DynamicalSystem.cpp.

◆ setGoal()

void Rcs::DSLinear::setGoal ( const Eigen::VectorXd &  x_des)
virtual

Set the goal state for this dynamical system. The goal state is the system's desired equilibrium state. In the presence of repellers, this Systems without an explicit goal state do not need to override this. By default, it does othing.

Parameters
[in]x_desdesired state for the system to pursue

Implements Rcs::DynamicalSystem.

Definition at line 270 of file DynamicalSystem.cpp.

◆ step()

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

Advance the dynamical system one step in time. Compute the velocity x_dot with the desired velocity in state x. For acceleration-based systems, x_dot is prefilled with the current velocity.

Parameters
[in,out]x_dotcurrent velocity, override with new desired velocity
[in]xcurrent state
[in]dttime step size for integration

Implements Rcs::DynamicalSystem.

Definition at line 256 of file DynamicalSystem.cpp.

Member Data Documentation

◆ equilibriumPoint

Eigen::VectorXd Rcs::DSLinear::equilibriumPoint
protected

Definition at line 173 of file DynamicalSystem.h.

◆ errorDynamics

Eigen::MatrixXd Rcs::DSLinear::errorDynamics
protected

Definition at line 172 of file DynamicalSystem.h.


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