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. |