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>
|
| | minJerkVelCtrlForNonIdealPlant (const double _Ts, const int _dim) |
| | Constructor.
|
| |
| virtual yarp::sig::Vector | computeCmd (const double _T, const yarp::sig::Vector &e) |
| | Computes the velocity command.
|
| |
| virtual void | reset (const yarp::sig::Vector &u0) |
| | Resets the controller to a given value.
|
| |
| virtual void | setPlantParameters (const yarp::os::Property ¶meters, const std::string &entryTag="dimension", const yarp::os::Bottle &ordering=yarp::os::Bottle()) |
| | Allows user to assign values to plant parameters.
|
| |
| virtual void | getPlantParameters (yarp::os::Property ¶meters, const std::string &entryTag="dimension") |
| | Allows user to retrieve plant parameters.
|
| |
| virtual | ~minJerkVelCtrlForNonIdealPlant () |
| | Destructor.
|
| |
| virtual | ~minJerkVelCtrl () |
| | Destructor.
|
| |
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.
◆ minJerkVelCtrlForNonIdealPlant()
| minJerkVelCtrlForNonIdealPlant::minJerkVelCtrlForNonIdealPlant |
( |
const double |
_Ts, |
|
|
const int |
_dim |
|
) |
| |
Constructor.
- Parameters
-
| _Ts | is the controller sample time in seconds. |
| _dim | is the controller's dimension |
Definition at line 99 of file minJerkCtrl.cpp.
◆ ~minJerkVelCtrlForNonIdealPlant()
| minJerkVelCtrlForNonIdealPlant::~minJerkVelCtrlForNonIdealPlant |
( |
| ) |
|
|
virtual |
◆ computeCmd()
| Vector minJerkVelCtrlForNonIdealPlant::computeCmd |
( |
const double |
_T, |
|
|
const yarp::sig::Vector & |
e |
|
) |
| |
|
virtual |
Computes the velocity command.
- Parameters
-
| _T | the current execution time. |
| e | the 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 |
◆ getPlantParameters()
| void minJerkVelCtrlForNonIdealPlant::getPlantParameters |
( |
yarp::os::Property & |
parameters, |
|
|
const std::string & |
entryTag = "dimension" |
|
) |
| |
|
virtual |
Allows user to retrieve plant parameters.
- Parameters
-
| parameters | contains 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
-
| entryTag | specifies an entry tag different from "dimension". |
Definition at line 241 of file minJerkCtrl.cpp.
◆ reset()
| void minJerkVelCtrlForNonIdealPlant::reset |
( |
const yarp::sig::Vector & |
u0 | ) |
|
|
virtual |
◆ 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
-
| parameters | contains 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
-
| entryTag | specifies an entry tag different from "dimension". |
| ordering | if 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.
◆ dim
| int iCub::ctrl::minJerkVelCtrlForNonIdealPlant::dim |
|
protected |
| std::deque<ctrl::Filter*> iCub::ctrl::minJerkVelCtrlForNonIdealPlant::F |
|
protected |
◆ Kp
| yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Kp |
|
protected |
| double iCub::ctrl::minJerkVelCtrlForNonIdealPlant::T |
|
protected |
◆ Ts
| double iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Ts |
|
protected |
◆ Tw
| yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Tw |
|
protected |
◆ Tz
| yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Tz |
|
protected |
◆ Zeta
| yarp::sig::Vector iCub::ctrl::minJerkVelCtrlForNonIdealPlant::Zeta |
|
protected |
The documentation for this class was generated from the following files: