Interface for a cartesian controller. More...
#include <yarp/dev/CartesianControl.h>
Public Member Functions | |
| virtual | ~ICartesianControl () |
| Destructor. More... | |
| virtual bool | setTrackingMode (const bool f)=0 |
| Set the controller in tracking or non-tracking mode. More... | |
| virtual bool | getTrackingMode (bool *f)=0 |
| Get the current controller mode. More... | |
| virtual bool | setReferenceMode (const bool f)=0 |
| Ask the controller to close the loop with the low-level joints set-points in place of the actual encoders feedback. More... | |
| virtual bool | getReferenceMode (bool *f)=0 |
| Get the current controller reference mode. More... | |
| virtual bool | setPosePriority (const std::string &p)=0 |
| Ask the controller to weigh more either the position or the orientation while reaching in full pose. More... | |
| virtual bool | getPosePriority (std::string &p)=0 |
| Get the current pose priority. More... | |
| virtual bool | getPose (yarp::sig::Vector &x, yarp::sig::Vector &o, yarp::os::Stamp *stamp=NULL)=0 |
| Get the current pose of the end-effector. More... | |
| virtual bool | getPose (const int axis, yarp::sig::Vector &x, yarp::sig::Vector &o, yarp::os::Stamp *stamp=NULL)=0 |
| Get the current pose of the specified link belonging to the kinematic chain. More... | |
| virtual bool | goToPose (const yarp::sig::Vector &xd, const yarp::sig::Vector &od, const double t=0.0)=0 |
| Move the end-effector to a specified pose (position and orientation) in cartesian space. More... | |
| virtual bool | goToPosition (const yarp::sig::Vector &xd, const double t=0.0)=0 |
| Move the end-effector to a specified position in cartesian space, ignore the orientation. More... | |
| virtual bool | goToPoseSync (const yarp::sig::Vector &xd, const yarp::sig::Vector &od, const double t=0.0)=0 |
| Move the end-effector to a specified pose (position and orientation) in cartesian space. More... | |
| virtual bool | goToPositionSync (const yarp::sig::Vector &xd, const double t=0.0)=0 |
| Move the end-effector to a specified position in cartesian space, ignore the orientation. More... | |
| virtual bool | getDesired (yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)=0 |
| Get the actual desired pose and joints configuration as result of kinematic inversion. More... | |
| virtual bool | askForPose (const yarp::sig::Vector &xd, const yarp::sig::Vector &od, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)=0 |
| Ask for inverting a given pose without actually moving there. More... | |
| virtual bool | askForPose (const yarp::sig::Vector &q0, const yarp::sig::Vector &xd, const yarp::sig::Vector &od, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)=0 |
| Ask for inverting a given pose without actually moving there. More... | |
| virtual bool | askForPosition (const yarp::sig::Vector &xd, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)=0 |
| Ask for inverting a given position without actually moving there. More... | |
| virtual bool | askForPosition (const yarp::sig::Vector &q0, const yarp::sig::Vector &xd, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)=0 |
| Ask for inverting a given position without actually moving there. More... | |
| virtual bool | getDOF (yarp::sig::Vector &curDof)=0 |
| Get the current DOF configuration of the limb. More... | |
| virtual bool | setDOF (const yarp::sig::Vector &newDof, yarp::sig::Vector &curDof)=0 |
| Set a new DOF configuration for the limb. More... | |
| virtual bool | getRestPos (yarp::sig::Vector &curRestPos)=0 |
| Get the current joints rest position. More... | |
| virtual bool | setRestPos (const yarp::sig::Vector &newRestPos, yarp::sig::Vector &curRestPos)=0 |
| Set a new joints rest position. More... | |
| virtual bool | getRestWeights (yarp::sig::Vector &curRestWeights)=0 |
| Get the current joints rest weights. More... | |
| virtual bool | setRestWeights (const yarp::sig::Vector &newRestWeights, yarp::sig::Vector &curRestWeights)=0 |
| Set a new joints rest position. More... | |
| virtual bool | getLimits (const int axis, double *min, double *max)=0 |
| Get the current range for the axis. More... | |
| virtual bool | setLimits (const int axis, const double min, const double max)=0 |
| Set new range for the axis. More... | |
| virtual bool | getTrajTime (double *t)=0 |
| Get the current trajectory duration. More... | |
| virtual bool | setTrajTime (const double t)=0 |
| Set the duration of the trajectory. More... | |
| virtual bool | getInTargetTol (double *tol)=0 |
| Return tolerance for in-target check. More... | |
| virtual bool | setInTargetTol (const double tol)=0 |
| Set tolerance for in-target check. More... | |
| virtual bool | getJointsVelocities (yarp::sig::Vector &qdot)=0 |
| Return joints velocities. More... | |
| virtual bool | getTaskVelocities (yarp::sig::Vector &xdot, yarp::sig::Vector &odot)=0 |
| Return velocities of the end-effector in the task space. More... | |
| virtual bool | setTaskVelocities (const yarp::sig::Vector &xdot, const yarp::sig::Vector &odot)=0 |
| Set the reference velocities of the end-effector in the task space. More... | |
| virtual bool | attachTipFrame (const yarp::sig::Vector &x, const yarp::sig::Vector &o)=0 |
| Attach a tip frame to the end-effector. More... | |
| virtual bool | getTipFrame (yarp::sig::Vector &x, yarp::sig::Vector &o)=0 |
| Retrieve the tip frame currently attached to the end-effector. More... | |
| virtual bool | removeTipFrame ()=0 |
| Remove the tip frame currently attached to the end-effector. More... | |
| virtual bool | checkMotionDone (bool *f)=0 |
| Check once if the current trajectory is terminated. More... | |
| virtual bool | waitMotionDone (const double period=0.1, const double timeout=0.0)=0 |
| Wait until the current trajectory is terminated. More... | |
| virtual bool | stopControl ()=0 |
| Ask for an immediate stop motion. More... | |
| virtual bool | storeContext (int *id)=0 |
| Store the controller context. More... | |
| virtual bool | restoreContext (const int id)=0 |
| Restore the controller context previously stored. More... | |
| virtual bool | deleteContext (const int id)=0 |
| Delete a specified controller context. More... | |
| virtual bool | getInfo (yarp::os::Bottle &info)=0 |
| Return useful info on the operating state of the controller. More... | |
| virtual bool | registerEvent (yarp::dev::CartesianEvent &event)=0 |
| Register an event. More... | |
| virtual bool | unregisterEvent (yarp::dev::CartesianEvent &event)=0 |
| Unregister an event. More... | |
| virtual bool | tweakSet (const yarp::os::Bottle &options)=0 |
| Tweak low-level controller's parameters. More... | |
| virtual bool | tweakGet (yarp::os::Bottle &options)=0 |
| Return low-level controller's parameters. More... | |
Interface for a cartesian controller.
Please read carefully the documentation.
Definition at line 128 of file CartesianControl.h.
|
virtualdefault |
Destructor.
|
pure virtual |
Ask for inverting a given pose without actually moving there.
[wait for reply]
| q0 | a vector of length DOF which contains the starting joints configuration [deg], made compatible with the chain. |
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| od | a 4-d vector which contains the desired orientation using axis-angle representation xa,ya, za,theta [m],[rad]. |
| xdhat | a 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd. |
| odhat | a 4-d vector which is filled with the final orientation using axis-angle representation xa,ya, za,theta [m],[rad]; it may differ from the commanded od. |
| qdhat | the complete joints configuration through which the couple (xdhat,odhat) is achieved [deg]. |
|
pure virtual |
Ask for inverting a given pose without actually moving there.
[wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| od | a 4-d vector which contains the desired orientation using axis-angle representation xa,ya, za,theta [m],[rad]. |
| xdhat | a 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd. |
| odhat | a 4-d vector which is filled with the final orientation using axis-angle representation xa,ya, za,theta [m],[rad]; it may differ from the commanded od. |
| qdhat | the complete joints configuration through which the couple (xdhat,odhat) is achieved [deg]. |
|
pure virtual |
Ask for inverting a given position without actually moving there.
[wait for reply]
| q0 | a vector of length DOF which contains the starting joints configuration [deg], made compatible with the chain. |
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| xdhat | a 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd. |
| odhat | a 4-d vector which is filled with the final orientation using axis-angle representation xa,ya, za,theta [m],[rad]; it may differ from the commanded od. |
| qdhat | the complete joints configuration through which the couple (xdhat,odhat) is achieved [deg]. |
|
pure virtual |
Ask for inverting a given position without actually moving there.
[wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| xdhat | a 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd. |
| odhat | a 4-d vector which is filled with the final orientation using axis-angle representation xa,ya, za,theta [m],[rad]; it may differ from the commanded od. |
| qdhat | the complete joints configuration through which the couple (xdhat,odhat) is achieved [deg]. |
|
pure virtual |
Attach a tip frame to the end-effector.
| x | a 3-d vector describing the position of the tip frame wrt the end-effector (meters). |
| o | a 4-d vector describing the orientation of the tip frame wrt the end-effector (axis-angle notation). |
|
pure virtual |
Check once if the current trajectory is terminated.
[wait for reply]
| f | where the result is returned. |
|
pure virtual |
Delete a specified controller context.
[wait for reply]
| id | specify the context id to be removed. |
|
pure virtual |
Get the actual desired pose and joints configuration as result of kinematic inversion.
[wait for reply]
| xdhat | a 3-d vector which is filled with the actual desired position x,y,z [m]; it may differ from the commanded xd. |
| odhat | a 4-d vector which is filled with the actual desired orientation using axis-angle representation xa,ya,za,theta [m],[rad]; it may differ from the commanded od. |
| qdhat | the joints configuration through which the couple (xdhat,odhat) is achieved [deg]. |
|
pure virtual |
Get the current DOF configuration of the limb.
[wait for reply]
| curDof | a vector which is filled with the actual DOF configuration. |
|
pure virtual |
Return useful info on the operating state of the controller.
[wait for reply]
| info | is a property-like bottle containing the info. |
|
pure virtual |
Return tolerance for in-target check.
[wait for reply]
| tol | the memory location where tolerance is returned. |
|
pure virtual |
Return joints velocities.
[wait for reply]
| qdot | the vector containing the joints velocities [deg/s] sent to the robot by the controller. |
|
pure virtual |
Get the current range for the axis.
[wait for reply]
| axis | joint index (regardless if it is actuated or not). |
| min | where the minimum value is returned [deg]. |
| max | where the maximum value is returned [deg]. |
|
pure virtual |
Get the current pose of the specified link belonging to the kinematic chain.
[wait for reply]
| axis | joint index (regardless if it is actuated or not). |
| x | a 3-d vector which is filled with the actual position x,y,z [m] of the given link reference frame. |
| o | a 4-d vector which is filled with the actual orientation of the given link reference frame using axis-angle representation xa, ya, za, theta [m],[rad]. |
| stamp | the stamp of the encoders employed to compute the pose. |
|
pure virtual |
Get the current pose of the end-effector.
[do not wait for reply]
| x | a 3-d vector which is filled with the actual position x,y,z [m]. |
| o | a 4-d vector which is filled with the actual orientation using axis-angle representation xa, ya, za, theta [m],[rad]. |
| stamp | the stamp of the encoders employed to compute the pose. |
|
pure virtual |
Get the current pose priority.
[wait for reply]
| p | here is returned either as "position" or "orientation". |
|
pure virtual |
Get the current controller reference mode.
[wait for reply]
| f | here is returned true if controller makes use of the low-level joints set-points, false if it employs actual encoders feedback. |
|
pure virtual |
Get the current joints rest position.
[wait for reply]
| curRestPos | a vector which is filled with the current joints rest position components [deg]. |
|
pure virtual |
Get the current joints rest weights.
[wait for reply]
| curRestWeights | a vector which is filled with the current joints rest weights. |
|
pure virtual |
Return velocities of the end-effector in the task space.
[wait for reply]
| xdot | the 3-d vector containing the derivative of x,y,z position [m/s] of the end-effector while moving in the task space as result of the commanded joints velocities. |
| odot | the 4-d vector containing the derivative of end-effector orientation [rad/s] while moving in the task space as result of the commanded joints velocities. |
|
pure virtual |
Retrieve the tip frame currently attached to the end-effector.
| x | a 3-d vector containing the position of the tip frame wrt the end-effector (meters). |
| o | a 4-d vector containing the orientation of the tip frame wrt the end-effector (axis-angle notation). |
|
pure virtual |
Get the current controller mode.
[wait for reply]
| f | here is returned true if controller is in tracking mode, false otherwise. |
|
pure virtual |
Get the current trajectory duration.
[wait for reply]
| t | the memory location where the time is returned [s]. |
|
pure virtual |
Move the end-effector to a specified pose (position and orientation) in cartesian space.
[do not wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| od | a 4-d vector which contains the desired orientation using axis-angle representation xa,ya,za,theta [m],[rad]. |
| t | set the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept. |
|
pure virtual |
Move the end-effector to a specified pose (position and orientation) in cartesian space.
[wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| od | a 4-d vector which contains the desired orientation using axis-angle representation xa,ya,za,theta [m],[rad]. |
| t | set the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept. |
|
pure virtual |
Move the end-effector to a specified position in cartesian space, ignore the orientation.
[do not wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| t | set the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept. |
|
pure virtual |
Move the end-effector to a specified position in cartesian space, ignore the orientation.
[wait for reply]
| xd | a 3-d vector which contains the desired position x,y,z [m]. |
| t | set the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept. |
|
pure virtual |
Register an event.
| event | the event to be registered. |
|
pure virtual |
Remove the tip frame currently attached to the end-effector.
|
pure virtual |
Restore the controller context previously stored.
[wait for reply]
| id | specify the context id to be restored. |
|
pure virtual |
Set a new DOF configuration for the limb.
[wait for reply]
| newDof | a vector which contains the new DOF configuration. |
| curDof | a vector where the DOF configuration is returned as it has been processed after the request (it may differ from newDof due to the presence of some internal limb's constraints). |
|
pure virtual |
Set tolerance for in-target check.
[wait for reply]
| tol | tolerance. |
|
pure virtual |
Set new range for the axis.
Allowed range shall be a valid subset of the real control limits. [wait for reply]
| axis | joint index (regardless it it is actuated or not). |
| min | the new minimum value [deg]. |
| max | the new maximum value [deg]. |
|
pure virtual |
Ask the controller to weigh more either the position or the orientation while reaching in full pose.
[wait for reply]
| p | can be "position" or "orientation". |
|
pure virtual |
Ask the controller to close the loop with the low-level joints set-points in place of the actual encoders feedback.
[wait for reply]
| f | true for reference mode, false otherwise. |
|
pure virtual |
Set a new joints rest position.
[wait for reply]
| newRestPos | a vector which contains the new joints rest position components [deg]. |
| curRestPos | a vector which is filled with the current joints rest position components [deg] as result from thresholding with joints bounds. |
|
pure virtual |
Set a new joints rest position.
[wait for reply]
| newRestWeights | a vector which contains the new joints rest weights. |
| curRestWeights | a vector which is filled with the current joints rest weights as result from saturation (w>=0.0). |
|
pure virtual |
Set the reference velocities of the end-effector in the task space.
| xdot | the 3-d vector containing the x,y,z reference velocities [m/s] of the end-effector. |
| odot | the 4-d vector containing the orientation reference velocity [rad/s] of the end-effector |
|
pure virtual |
Set the controller in tracking or non-tracking mode.
[wait for reply]
| f | true for tracking mode, false otherwise. |
|
pure virtual |
Set the duration of the trajectory.
[wait for reply]
| t | time [s]. |
|
pure virtual |
Ask for an immediate stop motion.
[wait for reply]
|
pure virtual |
Store the controller context.
[wait for reply]
| id | specify where to store the returned context id. |
|
pure virtual |
Return low-level controller's parameters.
[wait for reply]
| options | is a property-like bottle containing the current values of the low-level controller's configuration. |
|
pure virtual |
Tweak low-level controller's parameters.
[wait for reply]
| options | is a property-like bottle containing new values for the low-level controller's configuration. |
|
pure virtual |
Unregister an event.
| event | the event to be unregistered. |
|
pure virtual |
Wait until the current trajectory is terminated.
[wait for reply]
| period | specify the check time period [s]. |
| timeout | specify the check expiration time [s]. If timeout<=0 (as by default) the check will be performed without time limitation. |