iCub-main
|
A Base class for defining a Link with standard Denavit-Hartenberg convention. More...
#include <iKinFwd.h>
Public Member Functions | |
iKinLink (double _A, double _D, double _Alpha, double _Offset, double _Min=-iCub::ctrl::CTRL_PI, double _Max=iCub::ctrl::CTRL_PI) | |
Constructor. More... | |
iKinLink (const iKinLink &l) | |
Creates a new Link from an already existing Link object. More... | |
iKinLink & | operator= (const iKinLink &l) |
Copies a Link object into the current one. More... | |
void | setConstraint (bool _constrained) |
Sets the constraint status. More... | |
bool | getConstraint () const |
Returns the constraint status. More... | |
void | setVerbosity (unsigned int _verbose) |
Sets Link verbosity level. More... | |
unsigned int | getVerbosity () const |
Returns the current Link verbosity level. More... | |
bool | isBlocked () const |
Returns the Link blocking status. More... | |
double | getA () const |
Returns the Link length A. More... | |
void | setA (const double _A) |
Sets the Link length A. More... | |
double | getD () const |
Returns the Link offset D. More... | |
void | setD (const double _D) |
Sets the Link offset D. More... | |
double | getAlpha () const |
Returns the Link twist Alpha. More... | |
void | setAlpha (const double _Alpha) |
Sets the Link twist Alpha. More... | |
double | getOffset () const |
Returns the joint angle offset. More... | |
void | setOffset (const double _Offset) |
Sets the joint angle offset. More... | |
double | getMin () const |
Returns the joint angle lower bound. More... | |
void | setMin (const double _Min) |
Sets the joint angle lower bound. More... | |
double | getMax () const |
Returns the joint angle upper bound. More... | |
void | setMax (const double _Max) |
Sets the joint angle higher bound. More... | |
double | getAng () const |
Returns the current joint angle value. More... | |
double | setAng (double _Ang) |
Sets the joint angle value. More... | |
yarp::sig::Matrix | getH (bool c_override=false) |
Computes the homogeneous transformation matrix H of the Link. More... | |
yarp::sig::Matrix | getH (double _Ang, bool c_override=false) |
Same as getH() with specification of new joint angle position. More... | |
yarp::sig::Matrix | getDnH (unsigned int n=1, bool c_override=false) |
Computes the derivative of order n of the homogeneous transformation matrix H with respect to the joint angle. More... | |
virtual | ~iKinLink () |
Default destructor. More... | |
virtual double | setDAng (const double) |
virtual double | setD2Ang (const double) |
virtual void | setPosVelAcc (const double, const double, const double) |
virtual bool | setDynamicParameters (const double, const yarp::sig::Matrix &, const yarp::sig::Matrix &, const double, const double, const double, const double) |
virtual bool | setDynamicParameters (const double, const yarp::sig::Matrix &, const yarp::sig::Matrix &) |
virtual bool | setStaticParameters (const double, const yarp::sig::Matrix &) |
virtual bool | setInertia (const yarp::sig::Matrix &) |
virtual void | setMass (const double) |
virtual bool | setCOM (const yarp::sig::Matrix &) |
virtual bool | setCOM (const yarp::sig::Vector &) |
virtual bool | setForce (const yarp::sig::Vector &, const yarp::sig::Vector &) |
virtual bool | setMoment (const yarp::sig::Vector &) |
virtual void | setTorque (const double) |
virtual const yarp::sig::Matrix & | getInertia () const |
virtual double | getMass () const |
virtual double | getIm () const |
virtual double | getKr () const |
virtual double | getFs () const |
virtual double | getFv () const |
virtual const yarp::sig::Matrix & | getCOM () const |
virtual double | getDAng () const |
virtual double | getD2Ang () const |
virtual const yarp::sig::Matrix & | getR () |
virtual const yarp::sig::Matrix & | getRC () |
virtual const yarp::sig::Vector & | getr () |
virtual const yarp::sig::Vector & | getrC () |
virtual const yarp::sig::Vector & | getW () const |
virtual const yarp::sig::Vector & | getdW () const |
virtual const yarp::sig::Vector & | getdWM () const |
virtual const yarp::sig::Vector & | getLinAcc () const |
virtual const yarp::sig::Vector & | getLinAccC () const |
virtual const yarp::sig::Vector & | getLinVel () const |
virtual const yarp::sig::Vector & | getLinVelC () const |
virtual const yarp::sig::Vector & | getForce () const |
virtual const yarp::sig::Vector & | getMoment () const |
virtual double | getTorque () const |
Protected Member Functions | |
iKinLink () | |
virtual void | clone (const iKinLink &l) |
bool | isCumulative () |
void | block () |
void | block (double _Ang) |
void | release () |
void | rmCumH () |
void | addCumH (const yarp::sig::Matrix &_cumH) |
Protected Attributes | |
double | A |
double | D |
double | Alpha |
double | Offset |
double | c_alpha |
double | s_alpha |
double | Min |
double | Max |
double | Ang |
bool | blocked |
bool | cumulative |
bool | constrained |
unsigned int | verbose |
yarp::sig::Matrix | H |
yarp::sig::Matrix | cumH |
yarp::sig::Matrix | DnH |
const yarp::sig::Matrix | zeros1x1 |
const yarp::sig::Vector | zeros1 |
Friends | |
class | iKinChain |
A Base class for defining a Link with standard Denavit-Hartenberg convention.
|
protected |
iKinLink::iKinLink | ( | double | _A, |
double | _D, | ||
double | _Alpha, | ||
double | _Offset, | ||
double | _Min = -iCub::ctrl::CTRL_PI , |
||
double | _Max = iCub::ctrl::CTRL_PI |
||
) |
Constructor.
_A | is the Link length. |
_D | is the Link offset. |
_Alpha | is the Link twist. |
_Offset | is the joint angle offset in [-pi,pi] |
_Min | is the joint angle lower bound in [-pi,pi] (-pi by default). |
_Max | is the joint angle higher bound in [-pi,pi] (pi by default). |
Definition at line 39 of file iKinFwd.cpp.
iKinLink::iKinLink | ( | const iKinLink & | l | ) |
Creates a new Link from an already existing Link object.
l | is the Link to be copied. |
Definition at line 99 of file iKinFwd.cpp.
|
inlinevirtual |
|
protected |
Definition at line 248 of file iKinFwd.cpp.
|
inlineprotected |
|
protectedvirtual |
Definition at line 73 of file iKinFwd.cpp.
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
Matrix iKinLink::getDnH | ( | unsigned int | n = 1 , |
bool | c_override = false |
||
) |
Computes the derivative of order n of the homogeneous transformation matrix H with respect to the joint angle.
n | is the order of the derivative (1 by default) |
c_override | if true avoid accumulating the computation of previous links in the chain (false by default). |
Definition at line 202 of file iKinFwd.cpp.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
Matrix iKinLink::getH | ( | bool | c_override = false | ) |
Computes the homogeneous transformation matrix H of the Link.
c_override | if true avoid accumulating the computation of previous links in the chain, i.e. H=Hn and not H=Hn*Hn-1 (false by default) |
Definition at line 169 of file iKinFwd.cpp.
Matrix iKinLink::getH | ( | double | _Ang, |
bool | c_override = false |
||
) |
Same as getH() with specification of new joint angle position.
_Ang | is the new joint angle position. |
c_override. |
Definition at line 193 of file iKinFwd.cpp.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inlineprotected |
Copies a Link object into the current one.
l | is a reference to an object of type iKinLink. |
Definition at line 106 of file iKinFwd.cpp.
|
inline |
void iKinLink::setAlpha | ( | const double | _Alpha | ) |
Sets the Link twist Alpha.
new | Link twist _Alpha. |
Definition at line 142 of file iKinFwd.cpp.
double iKinLink::setAng | ( | double | _Ang | ) |
Sets the joint angle value.
_Ang | new value for joint angle. |
Definition at line 152 of file iKinFwd.cpp.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
void iKinLink::setD | ( | const double | _D | ) |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
void iKinLink::setMax | ( | const double | _Max | ) |
Sets the joint angle higher bound.
_Max | is the joint angle higher bound in [-pi,pi]. |
Definition at line 125 of file iKinFwd.cpp.
void iKinLink::setMin | ( | const double | _Min | ) |
Sets the joint angle lower bound.
_Min | is the joint angle lower bound in [-pi,pi]. |
Definition at line 115 of file iKinFwd.cpp.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inlinevirtual |
Reimplemented in iCub::iDyn::iDynLink.
|
inline |
|
protected |
|
protected |