iCub-main
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iCub::ctrl::minJerkVelCtrlForNonIdealPlant Class Reference

Implements a minimum-jerk controller with velocity commands assuming a non ideal plant represented with a pure integrator followed by a system with one zero and two poles (real or underdamped), such that the overall transfer function is (1/s)*(Kp*(1+Tz*s)/(1+2*Zeta*Tw*s+(Tw*s)^2)). More...

#include <minJerkCtrl.h>

+ Inheritance diagram for iCub::ctrl::minJerkVelCtrlForNonIdealPlant:

Public Member Functions

 minJerkVelCtrlForNonIdealPlant (const double _Ts, const int _dim)
 Constructor. More...
 
virtual yarp::sig::Vector computeCmd (const double _T, const yarp::sig::Vector &e)
 Computes the velocity command. More...
 
virtual void reset (const yarp::sig::Vector &u0)
 Resets the controller to a given value. More...
 
virtual void setPlantParameters (const yarp::os::Property &parameters, const std::string &entryTag="dimension", const yarp::os::Bottle &ordering=yarp::os::Bottle())
 Allows user to assign values to plant parameters. More...
 
virtual void getPlantParameters (yarp::os::Property &parameters, const std::string &entryTag="dimension")
 Allows user to retrieve plant parameters. More...
 
virtual ~minJerkVelCtrlForNonIdealPlant ()
 Destructor. More...
 
- Public Member Functions inherited from iCub::ctrl::minJerkVelCtrl
virtual ~minJerkVelCtrl ()
 Destructor. More...
 

Protected Member Functions

virtual void computeCoeffs ()
 

Protected Attributes

yarp::sig::Vector Kp
 
yarp::sig::Vector Tz
 
yarp::sig::Vector Tw
 
yarp::sig::Vector Zeta
 
std::deque< ctrl::Filter * > F
 
double Ts
 
double T
 
int dim
 

Detailed Description

Implements a minimum-jerk controller with velocity commands assuming a non ideal plant represented with a pure integrator followed by a system with one zero and two poles (real or underdamped), such that the overall transfer function is (1/s)*(Kp*(1+Tz*s)/(1+2*Zeta*Tw*s+(Tw*s)^2)).

Definition at line 135 of file minJerkCtrl.h.

Constructor & Destructor Documentation

◆ minJerkVelCtrlForNonIdealPlant()

minJerkVelCtrlForNonIdealPlant::minJerkVelCtrlForNonIdealPlant ( const double  _Ts,
const int  _dim 
)

Constructor.

Parameters
_Tsis the controller sample time in seconds.
_dimis the controller's dimension

Definition at line 99 of file minJerkCtrl.cpp.

◆ ~minJerkVelCtrlForNonIdealPlant()

minJerkVelCtrlForNonIdealPlant::~minJerkVelCtrlForNonIdealPlant ( )
virtual

Destructor.

Definition at line 263 of file minJerkCtrl.cpp.

Member Function Documentation

◆ computeCmd()

Vector minJerkVelCtrlForNonIdealPlant::computeCmd ( const double  _T,
const yarp::sig::Vector &  e 
)
virtual

Computes the velocity command.

Parameters
_Tthe current execution time.
ethe error between the desired position and the feedback.
Returns
the velocity command.

Implements iCub::ctrl::minJerkVelCtrl.

Definition at line 169 of file minJerkCtrl.cpp.

◆ computeCoeffs()

void minJerkVelCtrlForNonIdealPlant::computeCoeffs ( )
protectedvirtual

Implements iCub::ctrl::minJerkVelCtrl.

Definition at line 115 of file minJerkCtrl.cpp.

◆ getPlantParameters()

void minJerkVelCtrlForNonIdealPlant::getPlantParameters ( yarp::os::Property &  parameters,
const std::string &  entryTag = "dimension" 
)
virtual

Allows user to retrieve plant parameters.

Parameters
parameterscontains the set of plant parameters for each dimension in form of a Property object.

Available parameters are:

dimension_# < list>: example (dimension_2 ((Kp 1.0) (Tw 0.1) ...)), specifies the Kp, Tz, Tw and Zeta parameters for a given dimension of the plant ("dimension_2" in the example). Dimensions are 0-based numbers.

Parameters
entryTagspecifies an entry tag different from "dimension".

Definition at line 241 of file minJerkCtrl.cpp.

◆ reset()

void minJerkVelCtrlForNonIdealPlant::reset ( const yarp::sig::Vector &  u0)
virtual

Resets the controller to a given value.

Parameters
u0the initial output of the controller.

Implements iCub::ctrl::minJerkVelCtrl.

Definition at line 190 of file minJerkCtrl.cpp.

◆ setPlantParameters()

void minJerkVelCtrlForNonIdealPlant::setPlantParameters ( const yarp::os::Property &  parameters,
const std::string &  entryTag = "dimension",
const yarp::os::Bottle &  ordering = yarp::os::Bottle() 
)
virtual

Allows user to assign values to plant parameters.

Parameters
parameterscontains the set of plant parameters for each dimension in form of a Property object.

Available parameters are:

dimension_# < list>: example (dimension_2 ((Kp 1.0) (Tw 0.1) ...)), specifies the Kp, Tz, Tw and Zeta parameters for a given dimension of the plant ("dimension_2" in the example). Dimensions are 0-based numbers.

Parameters
entryTagspecifies an entry tag different from "dimension".
orderingif a not empty Bottle is provided, the ordering is not 0,1,2...dim-1 but the one specified by the bottle content.

Definition at line 202 of file minJerkCtrl.cpp.

Member Data Documentation

◆ dim

int iCub::ctrl::minJerkVelCtrlForNonIdealPlant::dim
protected

Definition at line 150 of file minJerkCtrl.h.

◆ F

std::deque<ctrl::Filter*> iCub::ctrl::minJerkVelCtrlForNonIdealPlant::F
protected

Definition at line 146 of file minJerkCtrl.h.

◆ Kp

yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Kp
protected

Definition at line 142 of file minJerkCtrl.h.

◆ T

double iCub::ctrl::minJerkVelCtrlForNonIdealPlant::T
protected

Definition at line 149 of file minJerkCtrl.h.

◆ Ts

double iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Ts
protected

Definition at line 148 of file minJerkCtrl.h.

◆ Tw

yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Tw
protected

Definition at line 144 of file minJerkCtrl.h.

◆ Tz

yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Tz
protected

Definition at line 143 of file minJerkCtrl.h.

◆ Zeta

yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Zeta
protected

Definition at line 145 of file minJerkCtrl.h.


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