|
| iCubLegDyn () |
| Default constructor.
|
|
| iCubLegDyn (const std::string &_type, const ChainComputationMode _mode=KINFWD_WREBWD) |
| Constructor.
|
|
| iCubLegDyn (const iCubLegDyn &leg) |
| Creates a new Leg from an already existing Leg object.
|
|
virtual bool | alignJointsBounds (const std::deque< yarp::dev::IControlLimits * > &lim) |
| Alignes the Leg joints bounds with current values set aboard the iCub.
|
|
| iDynLimb () |
| Default constructor: right arm is default.
|
|
| iDynLimb (const std::string &_type) |
| Constructor.
|
|
| iDynLimb (const iDynLimb &limb) |
| Creates a new Limb from an already existing Limb object.
|
|
| iDynLimb (const yarp::os::Property &option) |
| Creates a new Limb from a list of properties wherein links parameters are specified.
|
|
bool | fromLinksProperties (const yarp::os::Property &option) |
| Initializes the Limb from a list of properties wherein links parameters are specified.
|
|
bool | isValid () |
| Checks if the limb has been properly configured.
|
|
iDynLimb & | operator= (const iDynLimb &limb) |
| Copies a Limb object into the current one.
|
|
iDynChain * | asChain () |
| Returns a pointer to the Limb seen as Chain object.
|
|
std::string | getType () |
| Returns the Limb type as a string.
|
|
virtual | ~iDynLimb () |
| Destructor.
|
|
| iDynChain () |
| Default constructor.
|
|
| iDynChain (const iDynChain &c) |
| Creates a new Chain from an already existing Chain object.
|
|
iDynChain & | operator= (const iDynChain &c) |
| Copies a Chain object into the current one.
|
|
yarp::sig::Vector | setAng (const yarp::sig::Vector &q) |
| Sets the free joint angles to values of q[i].
|
|
yarp::sig::Vector | setDAng (const yarp::sig::Vector &dq) |
| Sets the free joint angles velocity to values of dq[i].
|
|
yarp::sig::Vector | setD2Ang (const yarp::sig::Vector &ddq) |
| Sets the free joint angles acceleration to values of ddq[i].
|
|
yarp::sig::Vector | getDAng () |
| Returns the current free joint angles velocity.
|
|
yarp::sig::Vector | getD2Ang () |
| Returns the current free joint angles acceleration.
|
|
yarp::sig::Vector | getJointBoundMin () |
| Returns a list containing the min value for each joint.
|
|
yarp::sig::Vector | getJointBoundMax () |
| Returns a list containing the max value for each joint.
|
|
double | setAng (const unsigned int i, double q) |
| Sets the ith joint angle.
|
|
double | setDAng (const unsigned int i, double dq) |
| Sets the ith joint angle velocity.
|
|
double | setD2Ang (const unsigned int i, double ddq) |
| Sets the ith joint angle acceleration.
|
|
double | getDAng (const unsigned int i) |
| Returns the current angle velocity of ith joint.
|
|
double | getD2Ang (const unsigned int i) |
| Returns the current angle acceleration of ith joint.
|
|
yarp::sig::Vector | getMasses () const |
| Returns the link masses as a vector.
|
|
bool | setMasses (yarp::sig::Vector _m) |
| Set the link masses at once.
|
|
double | getMass (const unsigned int i) const |
| Returns the i-th link mass.
|
|
bool | setMass (const unsigned int i, const double _m) |
| Set the i-th link mass.
|
|
yarp::sig::Matrix | getInertia (const unsigned int i) const |
| Returns the i-th link inertia matrix.
|
|
yarp::sig::Matrix | getForces () const |
| Returns the links forces as a matrix, where the i-th col is the i-th force.
|
|
yarp::sig::Matrix | getMoments () const |
| Returns the links moments as a matrix, where the i-th col is the i-th moment.
|
|
yarp::sig::Vector | getTorques () const |
| Returns the links torque as a vector.
|
|
const yarp::sig::Vector & | getForce (const unsigned int iLink) const |
| Returns the i-th link force.
|
|
const yarp::sig::Vector & | getMoment (const unsigned int iLink) const |
| Returns the i-th link moment.
|
|
double | getTorque (const unsigned int iLink) const |
| Returns the i-th link torque.
|
|
yarp::sig::Vector | getLinVel (const unsigned int i) const |
| Returns the i-th link linear velocity.
|
|
yarp::sig::Vector | getLinVelCOM (const unsigned int i) const |
| Returns the i-th link linear velocity of the COM.
|
|
yarp::sig::Vector | getLinAcc (const unsigned int i) const |
| Returns the i-th link linear acceleration.
|
|
const yarp::sig::Vector & | getLinAccCOM (const unsigned int i) const |
| Returns the i-th link linear acceleration of the COM.
|
|
yarp::sig::Vector | getAngVel (const unsigned int i) const |
| Returns the i-th link angular velocity.
|
|
yarp::sig::Vector | getAngAcc (const unsigned int i) const |
| Returns the i-th link angular acceleration.
|
|
bool | setDynamicParameters (const unsigned int i, const double _m, const yarp::sig::Matrix &_HC, const yarp::sig::Matrix &_I, const double _kr, const double _Fv, const double _Fs, const double _Im) |
| Set the dynamic parameters of the i-th Link with motor.
|
|
bool | setDynamicParameters (const unsigned int i, const double _m, const yarp::sig::Matrix &_HC, const yarp::sig::Matrix &_I) |
| Set the dynamic parameters of the i-th Link.
|
|
bool | setStaticParameters (const unsigned int i, const double _m, const yarp::sig::Matrix &_HC) |
| Set the dynamic parameters of the i-th Link if the chain is in a static situation (inertia is null).
|
|
void | prepareNewtonEuler (const NewEulMode NewEulMode_s=DYNAMIC) |
| Prepare for the Newton-Euler recursive computation of forces and torques.
|
|
bool | computeNewtonEuler (const yarp::sig::Vector &w0, const yarp::sig::Vector &dw0, const yarp::sig::Vector &ddp0, const yarp::sig::Vector &Fend, const yarp::sig::Vector &Muend) |
| Compute forces and torques with the Newton-Euler recursive algorithm: forward and backward phase are performed, and results are stored in the links; to get resulting forces and torques, one can call getForces() and getMoments() methods.
|
|
bool | computeNewtonEuler () |
| Compute forces and torques with the Newton-Euler recursive algorithm: forward and backward phase are performed, and results are stored in the links; to get resulting forces and torques, one can call getForces() and getMoments() methods; before calling this method, initNewtonEuler() must be called.
|
|
bool | initNewtonEuler (const yarp::sig::Vector &w0, const yarp::sig::Vector &dw0, const yarp::sig::Vector &ddp0, const yarp::sig::Vector &Fend, const yarp::sig::Vector &Muend) |
| Initialize the Newton-Euler method by setting the base (virtual link) velocity and accelerations ( w0, dw0 and ddp0 ) and the final (virtual link) forces and moments Fend and Muend.
|
|
bool | initNewtonEuler () |
| Initialize the Newton-Euler method by setting the base (virtual link) velocity and accelerations ( w0, dw0 and ddp0 ) and the final (virtual link) forces and moments Fend and Muend all to zero.
|
|
void | setModeNewtonEuler (const NewEulMode NewEulMode_s=DYNAMIC) |
| Set the computation mode for Newton-Euler (static/dynamic/etc)
|
|
yarp::sig::Matrix | getForcesNewtonEuler () const |
| Returns the links forces as a matrix, where the (i+1)-th col is the i-th force.
|
|
yarp::sig::Matrix | getMomentsNewtonEuler () const |
| Returns the links moments as a matrix, where the (i+1)-th col is the i-th moment.
|
|
yarp::sig::Vector | getTorquesNewtonEuler () const |
| Returns the links torque as a vector.
|
|
yarp::sig::Vector | getForceMomentEndEff () const |
| Returns the end effector force-moment as a single (6x1) vector.
|
|
void | setIterModeKinematic (const ChainIterationMode _iterateMode_kinematics=FORWARD) |
| Set the iteration direction during recursive computation of kinematics variables (w,dw,d2p,d2pC).
|
|
void | setIterModeWrench (const ChainIterationMode _iterateMode_wrench=BACKWARD) |
| Set the iteration direction during recursive computation of wrench variables (F,Mu,Tau).
|
|
void | setIterMode (const ChainComputationMode mode=KINFWD_WREBWD) |
| Set the computation mode during recursive computation of kinematics (w,dw,d2p,d2pC) and wrench variables(F,Mu,Tau).
|
|
ChainIterationMode | getIterModeKinematic () const |
| Get the iteration direction during recursive computation of kinematics variables (w,dw,d2p,d2pC).
|
|
ChainIterationMode | getIterModeWrench () const |
| Get the iteration direction during recursive computation of wrench variables (F,Mu,Tau).
|
|
void | computeKinematicNewtonEuler () |
| Calls the proper method to compute kinematics variables: either ForwardKinematicFromBase() or BackwardKinematicFromEnd().
|
|
void | computeWrenchNewtonEuler () |
| Calls the proper method to compute wrench variables: either BackwardWrenchFromEnd() or ForwardWrenchFromBase().
|
|
bool | initKinematicNewtonEuler (const yarp::sig::Vector &w0, const yarp::sig::Vector &dw0, const yarp::sig::Vector &ddp0) |
| Calls the proper method to set kinematics variables in OneChainNewtonEuler: either initKinematicBase() or initKinematicEnd().
|
|
bool | initWrenchNewtonEuler (const yarp::sig::Vector &Fend, const yarp::sig::Vector &Muend) |
| Calls the proper method to set wrench variables in OneChainNewtonEuler: either initKinematicBase() or initKinematicEnd().
|
|
void | getKinematicNewtonEuler (yarp::sig::Vector &w, yarp::sig::Vector &dw, yarp::sig::Vector &ddp) |
| Calls the proper method to get kinematics variables in OneChainNewtonEuler either in the base or in the final link.
|
|
void | getFrameKinematic (unsigned int i, yarp::sig::Vector &w, yarp::sig::Vector &dw, yarp::sig::Vector &ddp) |
| Get the kinematic information of the i-th frame in the OneChainNewtonEuler associated to the current iDynChain, i.e.
|
|
void | getFrameWrench (unsigned int i, yarp::sig::Vector &F, yarp::sig::Vector &Mu) |
| Get the wrench information of the i-th frame in the OneChainNewtonEuler associated to the current iDynChain, i.e.
|
|
void | getWrenchNewtonEuler (yarp::sig::Vector &F, yarp::sig::Vector &Mu) |
| Calls the proper method to get wrench variables in OneChainNewtonEuler either in the base or in the final link.
|
|
virtual | ~iDynChain () |
| Destructor.
|
|
yarp::sig::Matrix | computeGeoJacobian (const unsigned int iLinkN, const yarp::sig::Matrix &Pn) |
| Compute the Jacobian from link 0 to iLinkN.
|
|
yarp::sig::Matrix | computeGeoJacobian (const unsigned int iLinkN, const yarp::sig::Matrix &Pn, const yarp::sig::Matrix &_H0) |
| Compute the Jacobian from link 0 to iLinkN.
|
|
yarp::sig::Matrix | computeGeoJacobian (const yarp::sig::Matrix &Pn) |
| Compute the Jacobian of the chain, from link 0 to N.
|
|
yarp::sig::Matrix | computeGeoJacobian (const yarp::sig::Matrix &Pn, const yarp::sig::Matrix &_H0) |
| Compute the Jacobian of the chain, from link 0 to N.
|
|
yarp::sig::Matrix | getDenHart (unsigned int i) |
| Return the Denavit-Hartenberg matrix of the i-th link in the chain.
|
|
yarp::sig::Matrix | TESTING_computeCOMJacobian (const unsigned int iLink) |
| Compute the Jacobian of the COM of link indexed iLink.
|
|
yarp::sig::Matrix | TESTING_computeCOMJacobian (const unsigned int iLink, const yarp::sig::Matrix &Pn) |
| Compute the Jacobian of the COM of link iLink (considering chain 0-iLink).
|
|
yarp::sig::Matrix | TESTING_computeCOMJacobian (const unsigned int iLink, const yarp::sig::Matrix &Pn, const yarp::sig::Matrix &_H0) |
| Compute the Jacobian of the COM of link iLink (considering chain 0-iLink).
|
|
yarp::sig::Matrix | getCOM (unsigned int iLink) |
| Return the COM matrix of the i-th link.
|
|
yarp::sig::Matrix | getHCOM (unsigned int iLink) |
| Return the H matrix until the COM of the i-th link.
|
|
yarp::sig::Matrix | computeMassMatrix () |
| Compute the joint space mass matrix considering only the active joints.
|
|
yarp::sig::Matrix | computeMassMatrix (const yarp::sig::Vector &q) |
| Compute the joint space mass matrix considering only the active joints.
|
|
yarp::sig::Vector | computeCcTorques () |
| Compute the torques due to centrifugal and coriolis effects considering only the active joints.
|
|
yarp::sig::Vector | computeCcTorques (const yarp::sig::Vector &q, const yarp::sig::Vector &dq) |
| Compute the torques due to centrifugal and coriolis effects considering only the active joints.
|
|
yarp::sig::Vector | computeGravityTorques (const yarp::sig::Vector &ddp0) |
| Compute the torques generated by gravity considering only the active joints.
|
|
yarp::sig::Vector | computeGravityTorques (const yarp::sig::Vector &ddp0, const yarp::sig::Vector &q) |
| Compute the torques generated by gravity considering only the active joints.
|
|
yarp::sig::Vector | computeCcGravityTorques (const yarp::sig::Vector &ddp0) |
| Compute the torques generated by gravity and centrifugal and coriolis forces, considering only the active joints.
|
|
yarp::sig::Vector | computeCcGravityTorques (const yarp::sig::Vector &ddp0, const yarp::sig::Vector &q, const yarp::sig::Vector &dq) |
| Compute the torques generated by gravity and centrifugal and coriolis forces, considering only the active joints.
|
|
| iKinChain () |
| Default constructor.
|
|
| iKinChain (const iKinChain &c) |
| Creates a new Chain from an already existing Chain object.
|
|
iKinChain & | operator= (const iKinChain &c) |
| Copies a Chain object into the current one.
|
|
iKinChain & | operator<< (iKinLink &l) |
| Adds a Link at the bottom of the Chain.
|
|
iKinChain & | operator-- (int) |
| Removes a Link from the bottom of the Chain.
|
|
iKinLink & | operator[] (const unsigned int i) |
| Returns a reference to the ith Link of the Chain.
|
|
iKinLink & | operator() (const unsigned int i) |
| Returns a reference to the ith Link of the Chain considering only those Links related to DOF.
|
|
bool | addLink (const unsigned int i, iKinLink &l) |
| Adds a Link at the position ith within the Chain.
|
|
bool | rmLink (const unsigned int i) |
| Removes the ith Link from the Chain.
|
|
void | pushLink (iKinLink &l) |
| Adds a Link at the bottom of the Chain.
|
|
void | clear () |
| Removes all Links.
|
|
void | popLink () |
| Removes a Link from the bottom of the Chain.
|
|
bool | blockLink (const unsigned int i, double Ang) |
| Blocks the ith Link at the a certain value of its joint angle.
|
|
bool | blockLink (const unsigned int i) |
| Blocks the ith Link at the current value of its joint angle.
|
|
bool | setBlockingValue (const unsigned int i, double Ang) |
| Changes the value of the ith blocked Link.
|
|
bool | releaseLink (const unsigned int i) |
| Releases the ith Link.
|
|
bool | isLinkBlocked (const unsigned int i) |
| Queries whether the ith Link is blocked.
|
|
void | setAllConstraints (bool _constrained) |
| Sets the constraint status of all chain links.
|
|
void | setConstraint (unsigned int i, bool _constrained) |
| Sets the constraint status of ith link.
|
|
bool | getConstraint (unsigned int i) |
| Returns the constraint status of ith link.
|
|
void | setAllLinkVerbosity (unsigned int _verbose) |
| Sets the verbosity level of all Links belonging to the Chain.
|
|
void | setVerbosity (unsigned int _verbose) |
| Sets the verbosity level of the Chain.
|
|
unsigned int | getVerbosity () const |
| Returns the current Chain verbosity level.
|
|
unsigned int | getN () const |
| Returns the number of Links belonging to the Chain.
|
|
unsigned int | getDOF () const |
| Returns the current number of Chain's DOF.
|
|
yarp::sig::Matrix | getH0 () const |
| Returns H0, the rigid roto-translation matrix from the root reference frame to the 0th frame.
|
|
bool | setH0 (const yarp::sig::Matrix &_H0) |
| Sets H0, the rigid roto-translation matrix from the root reference frame to the 0th frame.
|
|
yarp::sig::Matrix | getHN () const |
| Returns HN, the rigid roto-translation matrix from the Nth frame to the end-effector.
|
|
bool | setHN (const yarp::sig::Matrix &_HN) |
| Sets HN, the rigid roto-translation matrix from the Nth frame to the end-effector.
|
|
yarp::sig::Vector | setAng (const yarp::sig::Vector &q) |
| Sets the free joint angles to values of q[i].
|
|
yarp::sig::Vector | getAng () |
| Returns the current free joint angles values.
|
|
double | setAng (const unsigned int i, double _Ang) |
| Sets the ith joint angle.
|
|
double | getAng (const unsigned int i) |
| Returns the current angle of ith joint.
|
|
yarp::sig::Matrix | getH (const unsigned int i, const bool allLink=false) |
| Returns the rigid roto-translation matrix from the root reference frame to the ith frame in Denavit-Hartenberg notation.
|
|
yarp::sig::Matrix | getH () |
| Returns the rigid roto-translation matrix from the root reference frame to the end-effector frame in Denavit-Hartenberg notation (HN is taken into account).
|
|
yarp::sig::Matrix | getH (const yarp::sig::Vector &q) |
| Returns the rigid roto-translation matrix from the root reference frame to the end-effector frame in Denavit-Hartenberg notation (HN is taken into account).
|
|
yarp::sig::Vector | Pose (const unsigned int i, const bool axisRep=true) |
| Returns the coordinates of ith Link.
|
|
yarp::sig::Vector | Position (const unsigned int i) |
| Returns the 3D position coordinates of ith Link.
|
|
yarp::sig::Vector | EndEffPose (const bool axisRep=true) |
| Returns the coordinates of end-effector.
|
|
yarp::sig::Vector | EndEffPose (const yarp::sig::Vector &q, const bool axisRep=true) |
| Returns the coordinates of end-effector computed in q.
|
|
yarp::sig::Vector | EndEffPosition () |
| Returns the 3D coordinates of end-effector position.
|
|
yarp::sig::Vector | EndEffPosition (const yarp::sig::Vector &q) |
| Returns the 3D coordinates of end-effector position computed in q.
|
|
yarp::sig::Matrix | AnaJacobian (const unsigned int i, unsigned int col) |
| Returns the analitical Jacobian of the ith link.
|
|
yarp::sig::Matrix | AnaJacobian (unsigned int col=3) |
| Returns the analitical Jacobian of the end-effector.
|
|
yarp::sig::Matrix | AnaJacobian (const yarp::sig::Vector &q, unsigned int col=3) |
| Returns the analitical Jacobian of the end-effector computed in q.
|
|
yarp::sig::Matrix | GeoJacobian (const unsigned int i) |
| Returns the geometric Jacobian of the ith link.
|
|
yarp::sig::Matrix | GeoJacobian () |
| Returns the geometric Jacobian of the end-effector.
|
|
yarp::sig::Matrix | GeoJacobian (const yarp::sig::Vector &q) |
| Returns the geometric Jacobian of the end-effector computed in q.
|
|
yarp::sig::Vector | Hessian_ij (const unsigned int i, const unsigned int j) |
| Returns the 6x1 vector \(
\partial{^2}F\left(q\right)/\partial q_i \partial q_j, \) where \( F\left(q\right) \) is the forward kinematic function and \( \left(q_i,q_j\right) \) is the DOF couple.
|
|
void | prepareForHessian () |
| Prepares computation for a successive call to fastHessian_ij().
|
|
yarp::sig::Vector | fastHessian_ij (const unsigned int i, const unsigned int j) |
| Returns the 6x1 vector \(
\partial{^2}F\left(q\right)/\partial q_i \partial q_j, \) where \( F\left(q\right) \) is the forward kinematic function and \( \left(q_i,q_j\right) \) is the DOF couple.
|
|
yarp::sig::Vector | Hessian_ij (const unsigned int lnk, const unsigned int i, const unsigned int j) |
| Returns the 6x1 vector \(
\partial{^2}F\left(q\right)/\partial q_i \partial q_j, \) where \( F\left(q\right) \) is the forward kinematic function and \( \left(q_i,q_j\right) \) is the couple of links.
|
|
void | prepareForHessian (const unsigned int lnk) |
| Prepares computation for a successive call to fastHessian_ij() (link version).
|
|
yarp::sig::Vector | fastHessian_ij (const unsigned int lnk, const unsigned int i, const unsigned int j) |
| Returns the 6x1 vector \(
\partial{^2}F\left(q\right)/\partial q_i \partial q_j, \) where \( F\left(q\right) \) is the forward kinematic function and \( \left(q_i,q_j\right) \) is the couple of links.
|
|
yarp::sig::Matrix | DJacobian (const yarp::sig::Vector &dq) |
| Compute the time derivative of the geometric Jacobian.
|
|
yarp::sig::Matrix | DJacobian (const unsigned int lnk, const yarp::sig::Vector &dq) |
| Compute the time derivative of the geometric Jacobian (link version).
|
|
virtual | ~iKinChain () |
| Destructor.
|
|