YARP
Yet Another Robot Platform
yarp::dev::ICartesianControl Class Referenceabstract

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

Detailed Description

Interface for a cartesian controller.

Please read carefully the documentation.

Definition at line 128 of file CartesianControl.h.

Constructor & Destructor Documentation

◆ ~ICartesianControl()

yarp::dev::ICartesianControl::~ICartesianControl ( )
virtualdefault

Destructor.

Member Function Documentation

◆ askForPose() [1/2]

virtual bool yarp::dev::ICartesianControl::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 
)
pure virtual

Ask for inverting a given pose without actually moving there.

[wait for reply]

Parameters
q0a vector of length DOF which contains the starting joints configuration [deg], made compatible with the chain.
xda 3-d vector which contains the desired position x,y,z [m].
oda 4-d vector which contains the desired orientation using axis-angle representation xa,ya, za,theta [m],[rad].
xdhata 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd.
odhata 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.
qdhatthe complete joints configuration through which the couple (xdhat,odhat) is achieved [deg].
Returns
true/false on success/failure.

◆ askForPose() [2/2]

virtual bool yarp::dev::ICartesianControl::askForPose ( const yarp::sig::Vector xd,
const yarp::sig::Vector od,
yarp::sig::Vector xdhat,
yarp::sig::Vector odhat,
yarp::sig::Vector qdhat 
)
pure virtual

Ask for inverting a given pose without actually moving there.

[wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
oda 4-d vector which contains the desired orientation using axis-angle representation xa,ya, za,theta [m],[rad].
xdhata 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd.
odhata 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.
qdhatthe complete joints configuration through which the couple (xdhat,odhat) is achieved [deg].
Returns
true/false on success/failure.

◆ askForPosition() [1/2]

virtual bool yarp::dev::ICartesianControl::askForPosition ( const yarp::sig::Vector q0,
const yarp::sig::Vector xd,
yarp::sig::Vector xdhat,
yarp::sig::Vector odhat,
yarp::sig::Vector qdhat 
)
pure virtual

Ask for inverting a given position without actually moving there.

[wait for reply]

Parameters
q0a vector of length DOF which contains the starting joints configuration [deg], made compatible with the chain.
xda 3-d vector which contains the desired position x,y,z [m].
xdhata 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd.
odhata 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.
qdhatthe complete joints configuration through which the couple (xdhat,odhat) is achieved [deg].
Returns
true/false on success/failure.

◆ askForPosition() [2/2]

virtual bool yarp::dev::ICartesianControl::askForPosition ( const yarp::sig::Vector xd,
yarp::sig::Vector xdhat,
yarp::sig::Vector odhat,
yarp::sig::Vector qdhat 
)
pure virtual

Ask for inverting a given position without actually moving there.

[wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
xdhata 3-d vector which is filled with the final position x,y,z [m]; it may differ from the commanded xd.
odhata 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.
qdhatthe complete joints configuration through which the couple (xdhat,odhat) is achieved [deg].
Returns
true/false on success/failure.

◆ attachTipFrame()

virtual bool yarp::dev::ICartesianControl::attachTipFrame ( const yarp::sig::Vector x,
const yarp::sig::Vector o 
)
pure virtual

Attach a tip frame to the end-effector.

Parameters
xa 3-d vector describing the position of the tip frame wrt the end-effector (meters).
oa 4-d vector describing the orientation of the tip frame wrt the end-effector (axis-angle notation).
Returns
true/false if successful/failed.
Note
By attaching a tip to the end-effector, the specified tip will be the new end-effector for the controller.

◆ checkMotionDone()

virtual bool yarp::dev::ICartesianControl::checkMotionDone ( bool *  f)
pure virtual

Check once if the current trajectory is terminated.

[wait for reply]

Parameters
fwhere the result is returned.
Returns
true/false on success/failure.

◆ deleteContext()

virtual bool yarp::dev::ICartesianControl::deleteContext ( const int  id)
pure virtual

Delete a specified controller context.

[wait for reply]

Parameters
idspecify the context id to be removed.
Returns
true/false on success/failure.

◆ getDesired()

virtual bool yarp::dev::ICartesianControl::getDesired ( yarp::sig::Vector xdhat,
yarp::sig::Vector odhat,
yarp::sig::Vector qdhat 
)
pure virtual

Get the actual desired pose and joints configuration as result of kinematic inversion.

[wait for reply]

Parameters
xdhata 3-d vector which is filled with the actual desired position x,y,z [m]; it may differ from the commanded xd.
odhata 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.
qdhatthe joints configuration through which the couple (xdhat,odhat) is achieved [deg].
Returns
true/false on success/failure.

◆ getDOF()

virtual bool yarp::dev::ICartesianControl::getDOF ( yarp::sig::Vector curDof)
pure virtual

Get the current DOF configuration of the limb.

[wait for reply]

Parameters
curDofa vector which is filled with the actual DOF configuration.
Returns
true/false on success/failure.
Note
The vector length is equal to the number of limb's joints; each vector's position is filled with 1 if the associated joint is controlled (i.e. it is an actuated DOF), 0 otherwise.

◆ getInfo()

virtual bool yarp::dev::ICartesianControl::getInfo ( yarp::os::Bottle info)
pure virtual

Return useful info on the operating state of the controller.

[wait for reply]

Parameters
infois a property-like bottle containing the info.
Returns
true/false on success/failure.

◆ getInTargetTol()

virtual bool yarp::dev::ICartesianControl::getInTargetTol ( double *  tol)
pure virtual

Return tolerance for in-target check.

[wait for reply]

Parameters
tolthe memory location where tolerance is returned.
Returns
true/false on success/failure.
Note
The trajectory is supposed to be completed as soon as norm(xd-end_effector)<tol.

◆ getJointsVelocities()

virtual bool yarp::dev::ICartesianControl::getJointsVelocities ( yarp::sig::Vector qdot)
pure virtual

Return joints velocities.

[wait for reply]

Parameters
qdotthe vector containing the joints velocities [deg/s] sent to the robot by the controller.
Returns
true/false on success/failure.

◆ getLimits()

virtual bool yarp::dev::ICartesianControl::getLimits ( const int  axis,
double *  min,
double *  max 
)
pure virtual

Get the current range for the axis.

[wait for reply]

Parameters
axisjoint index (regardless if it is actuated or not).
minwhere the minimum value is returned [deg].
maxwhere the maximum value is returned [deg].
Returns
true/false on success/failure.

◆ getPose() [1/2]

virtual bool yarp::dev::ICartesianControl::getPose ( const int  axis,
yarp::sig::Vector x,
yarp::sig::Vector o,
yarp::os::Stamp stamp = NULL 
)
pure virtual

Get the current pose of the specified link belonging to the kinematic chain.

[wait for reply]

Parameters
axisjoint index (regardless if it is actuated or not).
xa 3-d vector which is filled with the actual position x,y,z [m] of the given link reference frame.
oa 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].
stampthe stamp of the encoders employed to compute the pose.
Returns
true/false on success/failure.

◆ getPose() [2/2]

virtual bool yarp::dev::ICartesianControl::getPose ( yarp::sig::Vector x,
yarp::sig::Vector o,
yarp::os::Stamp stamp = NULL 
)
pure virtual

Get the current pose of the end-effector.

[do not wait for reply]

Parameters
xa 3-d vector which is filled with the actual position x,y,z [m].
oa 4-d vector which is filled with the actual orientation using axis-angle representation xa, ya, za, theta [m],[rad].
stampthe stamp of the encoders employed to compute the pose.
Returns
true/false on success/failure.

◆ getPosePriority()

virtual bool yarp::dev::ICartesianControl::getPosePriority ( std::string &  p)
pure virtual

Get the current pose priority.

[wait for reply]

Parameters
phere is returned either as "position" or "orientation".
Returns
true/false on success/failure.

◆ getReferenceMode()

virtual bool yarp::dev::ICartesianControl::getReferenceMode ( bool *  f)
pure virtual

Get the current controller reference mode.

[wait for reply]

Parameters
fhere is returned true if controller makes use of the low-level joints set-points, false if it employs actual encoders feedback.
Returns
true/false on success/failure.

◆ getRestPos()

virtual bool yarp::dev::ICartesianControl::getRestPos ( yarp::sig::Vector curRestPos)
pure virtual

Get the current joints rest position.

[wait for reply]

Parameters
curRestPosa vector which is filled with the current joints rest position components [deg].
Returns
true/false on success/failure.
Note
While solving the inverse kinematic, the user may specify a secondary task that minimizes against a joints rest position; further, each rest component may be weighted differently providing the weights vector.

◆ getRestWeights()

virtual bool yarp::dev::ICartesianControl::getRestWeights ( yarp::sig::Vector curRestWeights)
pure virtual

Get the current joints rest weights.

[wait for reply]

Parameters
curRestWeightsa vector which is filled with the current joints rest weights.
Returns
true/false on success/failure.
Note
While solving the inverse kinematic, the user may specify a secondary task that minimizes against a joints rest position; further, each rest component may be weighted differently providing the weights vector.

◆ getTaskVelocities()

virtual bool yarp::dev::ICartesianControl::getTaskVelocities ( yarp::sig::Vector xdot,
yarp::sig::Vector odot 
)
pure virtual

Return velocities of the end-effector in the task space.

[wait for reply]

Parameters
xdotthe 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.
odotthe 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.
Returns
true/false on success/failure.

◆ getTipFrame()

virtual bool yarp::dev::ICartesianControl::getTipFrame ( yarp::sig::Vector x,
yarp::sig::Vector o 
)
pure virtual

Retrieve the tip frame currently attached to the end-effector.

Parameters
xa 3-d vector containing the position of the tip frame wrt the end-effector (meters).
oa 4-d vector containing the orientation of the tip frame wrt the end-effector (axis-angle notation).
Returns
true/false if successful/failed.

◆ getTrackingMode()

virtual bool yarp::dev::ICartesianControl::getTrackingMode ( bool *  f)
pure virtual

Get the current controller mode.

[wait for reply]

Parameters
fhere is returned true if controller is in tracking mode, false otherwise.
Returns
true/false on success/failure.

◆ getTrajTime()

virtual bool yarp::dev::ICartesianControl::getTrajTime ( double *  t)
pure virtual

Get the current trajectory duration.

[wait for reply]

Parameters
tthe memory location where the time is returned [s].
Returns
true/false on success/failure.

◆ goToPose()

virtual bool yarp::dev::ICartesianControl::goToPose ( const yarp::sig::Vector xd,
const yarp::sig::Vector od,
const double  t = 0.0 
)
pure virtual

Move the end-effector to a specified pose (position and orientation) in cartesian space.

[do not wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
oda 4-d vector which contains the desired orientation using axis-angle representation xa,ya,za,theta [m],[rad].
tset the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept.
Returns
true/false on success/failure.
Note
Intended for streaming mode.

◆ goToPoseSync()

virtual bool yarp::dev::ICartesianControl::goToPoseSync ( const yarp::sig::Vector xd,
const yarp::sig::Vector od,
const double  t = 0.0 
)
pure virtual

Move the end-effector to a specified pose (position and orientation) in cartesian space.

[wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
oda 4-d vector which contains the desired orientation using axis-angle representation xa,ya,za,theta [m],[rad].
tset the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept.
Returns
true/false on success/failure.
Note
The reply is returned as soon as the controller has initiated the movement.

◆ goToPosition()

virtual bool yarp::dev::ICartesianControl::goToPosition ( const yarp::sig::Vector xd,
const double  t = 0.0 
)
pure virtual

Move the end-effector to a specified position in cartesian space, ignore the orientation.

[do not wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
tset the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept.
Returns
true/false on success/failure.
Note
Intended for streaming mode.

◆ goToPositionSync()

virtual bool yarp::dev::ICartesianControl::goToPositionSync ( const yarp::sig::Vector xd,
const double  t = 0.0 
)
pure virtual

Move the end-effector to a specified position in cartesian space, ignore the orientation.

[wait for reply]

Parameters
xda 3-d vector which contains the desired position x,y,z [m].
tset the trajectory duration time [s]. If t<=0 (as by default) the current execution time is kept.
Returns
true/false on success/failure.
Note
The reply is returned as soon as the controller has initiated the movement.

◆ registerEvent()

virtual bool yarp::dev::ICartesianControl::registerEvent ( yarp::dev::CartesianEvent event)
pure virtual

Register an event.

Parameters
eventthe event to be registered.
Returns
true/false on success/failure.
Note
the special type "*" can be used to attach a callback to all the available events.

◆ removeTipFrame()

virtual bool yarp::dev::ICartesianControl::removeTipFrame ( )
pure virtual

Remove the tip frame currently attached to the end-effector.

Returns
true/false if successful/failed.
Note
The actual end-effector is again under control.

◆ restoreContext()

virtual bool yarp::dev::ICartesianControl::restoreContext ( const int  id)
pure virtual

Restore the controller context previously stored.

[wait for reply]

Parameters
idspecify the context id to be restored.
Returns
true/false on success/failure.
Note
The context comprises the values of internal controller variables, such as the tracking mode, the active dofs, the trajectory time and so on.

◆ setDOF()

virtual bool yarp::dev::ICartesianControl::setDOF ( const yarp::sig::Vector newDof,
yarp::sig::Vector curDof 
)
pure virtual

Set a new DOF configuration for the limb.

[wait for reply]

Parameters
newDofa vector which contains the new DOF configuration.
curDofa 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).
Returns
true/false on success/failure.
Note
Each vector's position shall contain 1 if the associated joint can be actuated, 0 otherwise. The special value 2 indicates that the joint status won't be modified (useful as a placeholder).

◆ setInTargetTol()

virtual bool yarp::dev::ICartesianControl::setInTargetTol ( const double  tol)
pure virtual

Set tolerance for in-target check.

[wait for reply]

Parameters
toltolerance.
Returns
true/false on success/failure.
Note
The trajectory is supposed to be completed as soon as norm(xd-end_effector)<tol.

◆ setLimits()

virtual bool yarp::dev::ICartesianControl::setLimits ( const int  axis,
const double  min,
const double  max 
)
pure virtual

Set new range for the axis.

Allowed range shall be a valid subset of the real control limits. [wait for reply]

Parameters
axisjoint index (regardless it it is actuated or not).
minthe new minimum value [deg].
maxthe new maximum value [deg].
Returns
true/false on success/failure.

◆ setPosePriority()

virtual bool yarp::dev::ICartesianControl::setPosePriority ( const std::string &  p)
pure virtual

Ask the controller to weigh more either the position or the orientation while reaching in full pose.

[wait for reply]

Parameters
pcan be "position" or "orientation".
Returns
true/false on success/failure.

◆ setReferenceMode()

virtual bool yarp::dev::ICartesianControl::setReferenceMode ( const bool  f)
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]

Parameters
ftrue for reference mode, false otherwise.
Returns
true/false on success/failure.
Note
When the reference mode is enabled the controller makes use of the low-level joints set-points in place of the actual encoders feedback. This modality is particularly useful in a scenario where the commands are executed by the control boards with resort to torque actuation.

◆ setRestPos()

virtual bool yarp::dev::ICartesianControl::setRestPos ( const yarp::sig::Vector newRestPos,
yarp::sig::Vector curRestPos 
)
pure virtual

Set a new joints rest position.

[wait for reply]

Parameters
newRestPosa vector which contains the new joints rest position components [deg].
curRestPosa vector which is filled with the current joints rest position components [deg] as result from thresholding with joints bounds.
Returns
true/false on success/failure.
Note
While solving the inverse kinematic, the user may specify a secondary task that minimizes against a joints rest position; further, each rest component may be weighted differently providing the weights vector.

◆ setRestWeights()

virtual bool yarp::dev::ICartesianControl::setRestWeights ( const yarp::sig::Vector newRestWeights,
yarp::sig::Vector curRestWeights 
)
pure virtual

Set a new joints rest position.

[wait for reply]

Parameters
newRestWeightsa vector which contains the new joints rest weights.
curRestWeightsa vector which is filled with the current joints rest weights as result from saturation (w>=0.0).
Returns
true/false on success/failure.
Note
While solving the inverse kinematic, the user may specify a secondary task that minimizes against a joints rest position; further, each rest component may be weighted differently providing the weights vector.

◆ setTaskVelocities()

virtual bool yarp::dev::ICartesianControl::setTaskVelocities ( const yarp::sig::Vector xdot,
const yarp::sig::Vector odot 
)
pure virtual

Set the reference velocities of the end-effector in the task space.

Parameters
xdotthe 3-d vector containing the x,y,z reference velocities [m/s] of the end-effector.
odotthe 4-d vector containing the orientation reference velocity [rad/s] of the end-effector
Returns
true/false on success/failure.

◆ setTrackingMode()

virtual bool yarp::dev::ICartesianControl::setTrackingMode ( const bool  f)
pure virtual

Set the controller in tracking or non-tracking mode.

[wait for reply]

Parameters
ftrue for tracking mode, false otherwise.
Returns
true/false on success/failure.
Note
In tracking mode when the controller reaches the target, it keeps on running in order to maintain the limb in the desired pose in the presence of external disturbances. In non-tracking mode the controller releases the limb as soon as the desired pose is reached.

◆ setTrajTime()

virtual bool yarp::dev::ICartesianControl::setTrajTime ( const double  t)
pure virtual

Set the duration of the trajectory.

[wait for reply]

Parameters
ttime [s].
Returns
true/false on success/failure.

◆ stopControl()

virtual bool yarp::dev::ICartesianControl::stopControl ( )
pure virtual

Ask for an immediate stop motion.

[wait for reply]

Returns
true/false on success/failure.
Note
The control is completely released, i.e. a direct switch to non-tracking mode is executed.

◆ storeContext()

virtual bool yarp::dev::ICartesianControl::storeContext ( int *  id)
pure virtual

Store the controller context.

[wait for reply]

Parameters
idspecify where to store the returned context id.
Returns
true/false on success/failure.
Note
The context comprises the values of internal controller variables, such as the tracking mode, the active dofs, the trajectory time and so on.

◆ tweakGet()

virtual bool yarp::dev::ICartesianControl::tweakGet ( yarp::os::Bottle options)
pure virtual

Return low-level controller's parameters.

[wait for reply]

Parameters
optionsis a property-like bottle containing the current values of the low-level controller's configuration.
Returns
true/false on success/failure.
Note
This method is intended for accessing low-level controller's configuration.

◆ tweakSet()

virtual bool yarp::dev::ICartesianControl::tweakSet ( const yarp::os::Bottle options)
pure virtual

Tweak low-level controller's parameters.

[wait for reply]

Parameters
optionsis a property-like bottle containing new values for the low-level controller's configuration.
Returns
true/false on success/failure.
Note
This method is intended for accessing low-level controller's configuration.

◆ unregisterEvent()

virtual bool yarp::dev::ICartesianControl::unregisterEvent ( yarp::dev::CartesianEvent event)
pure virtual

Unregister an event.

Parameters
eventthe event to be unregistered.
Returns
true/false on success/failure.

◆ waitMotionDone()

virtual bool yarp::dev::ICartesianControl::waitMotionDone ( const double  period = 0.1,
const double  timeout = 0.0 
)
pure virtual

Wait until the current trajectory is terminated.

[wait for reply]

Parameters
periodspecify the check time period [s].
timeoutspecify the check expiration time [s]. If timeout<=0 (as by default) the check will be performed without time limitation.
Returns
true for success, false for failure and timeout expired.

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