iCub-main
Public Member Functions | Protected Member Functions | List of all members
iCub::iKin::iCubLegCartesianSolver Class Reference

Derived class which implements the on-line solver for the leg chain. More...

#include <iKinSlv.h>

+ Inheritance diagram for iCub::iKin::iCubLegCartesianSolver:

Public Member Functions

 iCubLegCartesianSolver (const std::string &_slvName="legCartSolver")
 Constructor. More...
 
- Public Member Functions inherited from iCub::iKin::CartesianSolver
 CartesianSolver (const std::string &_slvName)
 Constructor. More...
 
virtual bool open (yarp::os::Searchable &options)
 Configure the solver and start it up. More...
 
virtual void interrupt ()
 Interrupt the open() method waiting for motor parts to be ready. More...
 
virtual void close ()
 Stop the solver and dispose it. More...
 
virtual bool isClosed () const
 To be called to check whether the solver has received a [quit] request. More...
 
virtual bool & getTimeoutFlag ()
 To be called to check whether communication timeout has been detected. More...
 
virtual void suspend ()
 Suspend the solver's main loop. More...
 
virtual void resume ()
 Resume the solver's main loop. More...
 
virtual ~CartesianSolver ()
 Default destructor. More...
 

Protected Member Functions

virtual PartDescriptorgetPartDesc (yarp::os::Searchable &options)
 
- Protected Member Functions inherited from iCub::iKin::CartesianSolver
virtual yarp::sig::Vector solve (yarp::sig::Vector &xd)
 
virtual yarp::sig::Vector & encodeDOF ()
 
virtual bool decodeDOF (const yarp::sig::Vector &_dof)
 
virtual bool handleJointsRestPosition (const yarp::os::Bottle *options, yarp::os::Bottle *reply=NULL)
 
virtual bool handleJointsRestWeights (const yarp::os::Bottle *options, yarp::os::Bottle *reply=NULL)
 
yarp::dev::PolyDriver * waitPart (const yarp::os::Property &partOpt)
 
bool isNewDOF (const yarp::sig::Vector &_dof)
 
bool changeDOF (const yarp::sig::Vector &_dof)
 
bool alignJointsBounds ()
 
bool setLimits (int axis, double min, double max)
 
void countUncontrolledJoints ()
 
void latchUncontrolledJoints (yarp::sig::Vector &joints)
 
void getFeedback (const bool wait=false)
 
void initPos ()
 
void lock ()
 
void unlock ()
 
void waitDOFHandling ()
 
void postDOFHandling ()
 
void fillDOFInfo (yarp::os::Bottle &reply)
 
void send (const yarp::sig::Vector &xd, const yarp::sig::Vector &x, const yarp::sig::Vector &q, double *tok)
 
void printInfo (const std::string &typ, const yarp::sig::Vector &xd, const yarp::sig::Vector &x, const yarp::sig::Vector &q, const double t)
 
virtual void prepareJointsRestTask ()
 
virtual void respond (const yarp::os::Bottle &command, yarp::os::Bottle &reply)
 
virtual bool threadInit ()
 
virtual void afterStart (bool)
 
virtual void run ()
 
virtual void threadRelease ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from iCub::iKin::CartesianHelper
static void addVectorOption (yarp::os::Bottle &b, const int vcb, const yarp::sig::Vector &v)
 
static bool getDesiredOption (const yarp::os::Bottle &reply, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)
 
static void addTargetOption (yarp::os::Bottle &b, const yarp::sig::Vector &xd)
 Appends to a bottle all data needed to command a target. More...
 
static void addDOFOption (yarp::os::Bottle &b, const yarp::sig::Vector &dof)
 Appends to a bottle all data needed to reconfigure chain's dof. More...
 
static void addJointsResPosOption (yarp::os::Bottle &b, const yarp::sig::Vector &restPos)
 Appends to a bottle all data needed to modify joints rest position. More...
 
static void addJointsRestWeightsOption (yarp::os::Bottle &b, const yarp::sig::Vector &restWeights)
 Appends to a bottle all data needed to modify joints rest weights. More...
 
static void addPoseOption (yarp::os::Bottle &b, const unsigned int pose)
 Appends to a bottle all data needed to change the pose mode. More...
 
static void addModeOption (yarp::os::Bottle &b, const bool tracking)
 Appends to a bottle all data needed to change the tracking mode. More...
 
static void addTokenOption (yarp::os::Bottle &b, const double token)
 Appends to a bottle a token to be exchanged with the solver. More...
 
static yarp::os::Bottle * getTargetOption (const yarp::os::Bottle &b)
 Retrieves commanded target data from a bottle. More...
 
static yarp::os::Bottle * getEndEffectorPoseOption (const yarp::os::Bottle &b)
 Retrieves the end-effector pose data. More...
 
static yarp::os::Bottle * getJointsOption (const yarp::os::Bottle &b)
 Retrieves the joints configuration data. More...
 
static bool getTokenOption (const yarp::os::Bottle &b, double *token)
 Retrieves the token from the bottle. More...
 
static bool computeFixationPointData (iKinChain &eyeL, iKinChain &eyeR, yarp::sig::Vector &fp)
 Retrieves current fixation point given the current kinematics configuration of the eyes. More...
 
static bool computeFixationPointData (iKinChain &eyeL, iKinChain &eyeR, yarp::sig::Vector &fp, yarp::sig::Matrix &J)
 Retrieves current fixation point and its Jacobian wrt eyes tilt-pan-vergence dofs given the current kinematics configuration of the eyes. More...
 
- Protected Attributes inherited from iCub::iKin::CartesianSolver
PartDescriptorprt
 
std::deque< yarp::dev::PolyDriver * > drv
 
std::deque< yarp::dev::IControlLimits * > lim
 
std::deque< yarp::dev::IEncoders * > enc
 
std::deque< int > jnt
 
std::deque< int * > rmp
 
iKinIpOptMinslv
 
SolverCallbackclb
 
RpcProcessorcmdProcessor
 
yarp::os::Port * rpcPort
 
InputPortinPort
 
yarp::os::BufferedPort< yarp::os::Bottle > * outPort
 
std::mutex mtx
 
std::string slvName
 
std::string type
 
unsigned int period
 
unsigned int ctrlPose
 
bool fullDOF
 
bool contModeOld
 
bool configured
 
bool closing
 
bool closed
 
bool interrupting
 
bool verbosity
 
bool timeout_detected
 
int maxPartJoints
 
int unctrlJointsNum
 
double ping_robot_tmo
 
double token
 
double * pToken
 
yarp::sig::Matrix hwLimits
 
yarp::sig::Matrix swLimits
 
yarp::sig::Vector unctrlJointsOld
 
yarp::sig::Vector dof
 
yarp::sig::Vector restJntPos
 
yarp::sig::Vector restWeights
 
yarp::sig::Vector xd_2ndTask
 
yarp::sig::Vector w_2ndTask
 
yarp::sig::Vector qd_3rdTask
 
yarp::sig::Vector w_3rdTask
 
yarp::sig::Vector idx_3rdTask
 
std::mutex mtx_dofEvent
 
std::condition_variable cv_dofEvent
 

Detailed Description

Derived class which implements the on-line solver for the leg chain.

Definition at line 609 of file iKinSlv.h.

Constructor & Destructor Documentation

◆ iCubLegCartesianSolver()

iCub::iKin::iCubLegCartesianSolver::iCubLegCartesianSolver ( const std::string &  _slvName = "legCartSolver")
inline

Constructor.

Parameters
_slvNamespecifies the base name for all ports created. By default is "legCartSolver". See the father's class constructor for the description of the ports

Definition at line 622 of file iKinSlv.h.

Member Function Documentation

◆ getPartDesc()

PartDescriptor * iCubLegCartesianSolver::getPartDesc ( yarp::os::Searchable &  options)
protectedvirtual

Implements iCub::iKin::CartesianSolver.

Definition at line 1857 of file iKinSlv.cpp.


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