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

Interface for a gaze controller. More...

#include <yarp/dev/GazeControl.h>

Public Member Functions

virtual ~IGazeControl ()
 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 setStabilizationMode (const bool f)=0
 Turn on/off the gaze stabilization. More...
 
virtual bool getStabilizationMode (bool *f)=0
 Get the current stabilization mode. More...
 
virtual bool getFixationPoint (yarp::sig::Vector &fp, yarp::os::Stamp *stamp=NULL)=0
 Get the current fixation point. More...
 
virtual bool getAngles (yarp::sig::Vector &ang, yarp::os::Stamp *stamp=NULL)=0
 Get the current gaze configuration in terms of azimuth and elevation angles wrt to the absolute reference frame along with the vergence. More...
 
virtual bool lookAtFixationPoint (const yarp::sig::Vector &fp)=0
 Move the gaze to a specified fixation point in cartesian space. More...
 
virtual bool lookAtAbsAngles (const yarp::sig::Vector &ang)=0
 Move the gaze to a specified gazing angles configuration given in the absolute reference frame. More...
 
virtual bool lookAtRelAngles (const yarp::sig::Vector &ang)=0
 Move the gaze to a specified gazing angles configuration given in the relative reference frame. More...
 
virtual bool lookAtMonoPixel (const int camSel, const yarp::sig::Vector &px, const double z=1.0)=0
 Move the gaze to a location specified by a pixel within the image plane. More...
 
virtual bool lookAtMonoPixelWithVergence (const int camSel, const yarp::sig::Vector &px, const double ver)=0
 Move the gaze to a location specified by a pixel within the image plane using the vergence. More...
 
virtual bool lookAtStereoPixels (const yarp::sig::Vector &pxl, const yarp::sig::Vector &pxr)=0
 Move the gaze to a location specified by two pixels representing the same 3-d point as seen from within both image planes. More...
 
virtual bool lookAtFixationPointSync (const yarp::sig::Vector &fp)=0
 Move the gaze to a specified fixation point in cartesian space. More...
 
virtual bool lookAtAbsAnglesSync (const yarp::sig::Vector &ang)=0
 Move the gaze to a specified gazing angles configuration given in the absolute reference frame. More...
 
virtual bool lookAtRelAnglesSync (const yarp::sig::Vector &ang)=0
 Move the gaze to a specified gazing angles configuration given in the relative reference frame. More...
 
virtual bool lookAtMonoPixelSync (const int camSel, const yarp::sig::Vector &px, const double z=1.0)=0
 Move the gaze to a location specified by a pixel within the image plane. More...
 
virtual bool lookAtMonoPixelWithVergenceSync (const int camSel, const yarp::sig::Vector &px, const double ver)=0
 Move the gaze to a location specified by a pixel within the image plane using the vergence. More...
 
virtual bool lookAtStereoPixelsSync (const yarp::sig::Vector &pxl, const yarp::sig::Vector &pxr)=0
 Move the gaze to a location specified by two pixels representing the same 3-d point as seen from within both image planes. More...
 
virtual bool getNeckTrajTime (double *t)=0
 Get the current trajectory duration for the neck actuators. More...
 
virtual bool getEyesTrajTime (double *t)=0
 Get the current trajectory duration for the eyes actuators. More...
 
virtual bool getVORGain (double *gain)=0
 Get the current gain used to weigh the vestibulo-ocular reflex (VOR). More...
 
virtual bool getOCRGain (double *gain)=0
 Get the current gain used to weigh the oculo-collic reflex (OCR). More...
 
virtual bool getSaccadesMode (bool *f)=0
 Query whether the very fast eyes movements (saccades) will be employed or not. More...
 
virtual bool getSaccadesInhibitionPeriod (double *period)=0
 Get the current inhibition period for saccadic movements. More...
 
virtual bool getSaccadesActivationAngle (double *angle)=0
 Get the current activation angle for saccadic movements. More...
 
virtual bool getLeftEyePose (yarp::sig::Vector &x, yarp::sig::Vector &o, yarp::os::Stamp *stamp=NULL)=0
 Get the current pose of the left eye frame. More...
 
virtual bool getRightEyePose (yarp::sig::Vector &x, yarp::sig::Vector &o, yarp::os::Stamp *stamp=NULL)=0
 Get the current pose of the right eye frame. More...
 
virtual bool getHeadPose (yarp::sig::Vector &x, yarp::sig::Vector &o, yarp::os::Stamp *stamp=NULL)=0
 Get the current pose of the head frame. More...
 
virtual bool get2DPixel (const int camSel, const yarp::sig::Vector &x, yarp::sig::Vector &px)=0
 Get the 2-d pixel point - whose cartesian coordinates are given wrt the root reference frame - that results from the projection into the image plane. More...
 
virtual bool get3DPoint (const int camSel, const yarp::sig::Vector &px, const double z, yarp::sig::Vector &x)=0
 Get the 3-d point whose pixel projection and z-component in the camera frame are given. More...
 
virtual bool get3DPointOnPlane (const int camSel, const yarp::sig::Vector &px, const yarp::sig::Vector &plane, yarp::sig::Vector &x)=0
 Get the 3-d point - whose pixel projection is given - that results from the projection into a plane specified in the space. More...
 
virtual bool get3DPointFromAngles (const int mode, const yarp::sig::Vector &ang, yarp::sig::Vector &x)=0
 Get the 3-d coordinates corresponding to the angular positions. More...
 
virtual bool getAnglesFrom3DPoint (const yarp::sig::Vector &x, yarp::sig::Vector &ang)=0
 Get the absolute angular coordinates corresponding to the 3-d point. More...
 
virtual bool triangulate3DPoint (const yarp::sig::Vector &pxl, const yarp::sig::Vector &pxr, yarp::sig::Vector &x)=0
 Triangulate two points given in the image planes to find the corresponding 3-d point in the space. More...
 
virtual bool getJointsDesired (yarp::sig::Vector &qdes)=0
 Get the joints target values where the controller is moving the system to. More...
 
virtual bool getJointsVelocities (yarp::sig::Vector &qdot)=0
 Get the joints velocities commanded by the controller. More...
 
virtual bool getStereoOptions (yarp::os::Bottle &options)=0
 Return the current options used by the stereo approach. More...
 
virtual bool setNeckTrajTime (const double t)=0
 Set the duration of the trajectory for the neck actuators. More...
 
virtual bool setEyesTrajTime (const double t)=0
 Set the duration of the trajectory for the eyes actuators. More...
 
virtual bool setVORGain (const double gain)=0
 Set the gain used to weigh the vestibulo-ocular reflex (VOR). More...
 
virtual bool setOCRGain (const double gain)=0
 Set the gain used to weigh the oculo-collic reflex (OCR). More...
 
virtual bool setSaccadesMode (const bool f)=0
 Enable/disable the use of very fast eyes movements (saccades). More...
 
virtual bool setSaccadesInhibitionPeriod (const double period)=0
 Set the inhibition period for saccadic movements. More...
 
virtual bool setSaccadesActivationAngle (const double angle)=0
 Set the activation angle for saccadic movements. More...
 
virtual bool setStereoOptions (const yarp::os::Bottle &options)=0
 Update the options used by the stereo approach. More...
 
virtual bool bindNeckPitch (const double min, const double max)=0
 Bind the neck pitch within a specified range. More...
 
virtual bool blockNeckPitch (const double val)=0
 Block the neck pitch at a specified angle. More...
 
virtual bool blockNeckPitch ()=0
 Block the neck pitch at the current angle. More...
 
virtual bool bindNeckRoll (const double min, const double max)=0
 Bind the neck roll within a specified range. More...
 
virtual bool blockNeckRoll (const double val)=0
 Block the neck roll at a specified angle. More...
 
virtual bool blockNeckRoll ()=0
 Block the neck roll at the current angle. More...
 
virtual bool bindNeckYaw (const double min, const double max)=0
 Bind the neck yaw within a specified range. More...
 
virtual bool blockNeckYaw (const double val)=0
 Block the neck yaw at a specified angle. More...
 
virtual bool blockNeckYaw ()=0
 Block the neck yaw at the current angle. More...
 
virtual bool blockEyes (const double ver)=0
 Block the eyes to look always straight ahead (the tilt can vary) with a specified vergence angle. More...
 
virtual bool blockEyes ()=0
 Block the eyes to look always straight ahead (the tilt can vary) with the current vergence angle. More...
 
virtual bool getNeckPitchRange (double *min, double *max)=0
 Return the current neck pitch range. More...
 
virtual bool getNeckRollRange (double *min, double *max)=0
 Return the current neck roll range. More...
 
virtual bool getNeckYawRange (double *min, double *max)=0
 Return the current neck yaw range. More...
 
virtual bool getBlockedVergence (double *ver)=0
 Return the current vergence angle used to block the eyes. More...
 
virtual bool clearNeckPitch ()=0
 Unblock the neck pitch. More...
 
virtual bool clearNeckRoll ()=0
 Unblock the neck roll. More...
 
virtual bool clearNeckYaw ()=0
 Unblock the neck yaw. More...
 
virtual bool clearEyes ()=0
 Unblock the eyes. More...
 
virtual bool getNeckAngleUserTolerance (double *angle)=0
 Return the current tolerance defined by the user to gaze at the target with the neck, meaning that the neck will turn to the target with a final "misalignment" specified by this tolerance; the residual rotation will be covered by the eyes movement. More...
 
virtual bool setNeckAngleUserTolerance (const double angle)=0
 Specify a new tolerance to gaze at the target with the neck. 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 checkSaccadeDone (bool *f)=0
 Check once if the saccade is terminated. More...
 
virtual bool waitSaccadeDone (const double period=0.1, const double timeout=0.0)=0
 Wait until the current saccade is terminated. More...
 
virtual bool stopControl ()=0
 Ask for an immediate stop of the 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::GazeEvent &event)=0
 Register an event. More...
 
virtual bool unregisterEvent (yarp::dev::GazeEvent &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 gaze controller.

Please read carefully the documentation.

Definition at line 137 of file GazeControl.h.

Constructor & Destructor Documentation

◆ ~IGazeControl()

yarp::dev::IGazeControl::~IGazeControl ( )
virtualdefault

Destructor.

Member Function Documentation

◆ bindNeckPitch()

virtual bool yarp::dev::IGazeControl::bindNeckPitch ( const double  min,
const double  max 
)
pure virtual

Bind the neck pitch within a specified range.

[wait for reply]

Parameters
minthe minimum value of the range (in degrees).
maxthe maximum value of the range (in degrees).
Returns
true/false on success/failure.

◆ bindNeckRoll()

virtual bool yarp::dev::IGazeControl::bindNeckRoll ( const double  min,
const double  max 
)
pure virtual

Bind the neck roll within a specified range.

[wait for reply]

Parameters
minthe minimum value of the range (in degrees).
maxthe maximum value of the range (in degrees).
Returns
true/false on success/failure.

◆ bindNeckYaw()

virtual bool yarp::dev::IGazeControl::bindNeckYaw ( const double  min,
const double  max 
)
pure virtual

Bind the neck yaw within a specified range.

[wait for reply]

Parameters
minthe minimum value of the range (in degrees).
maxthe maximum value of the range (in degrees).
Returns
true/false on success/failure.

◆ blockEyes() [1/2]

virtual bool yarp::dev::IGazeControl::blockEyes ( )
pure virtual

Block the eyes to look always straight ahead (the tilt can vary) with the current vergence angle.

[wait for reply]

Returns
true/false on success/failure.

◆ blockEyes() [2/2]

virtual bool yarp::dev::IGazeControl::blockEyes ( const double  ver)
pure virtual

Block the eyes to look always straight ahead (the tilt can vary) with a specified vergence angle.

[wait for reply]

Parameters
verthe vergence angle (in degrees).
Returns
true/false on success/failure.

◆ blockNeckPitch() [1/2]

virtual bool yarp::dev::IGazeControl::blockNeckPitch ( )
pure virtual

Block the neck pitch at the current angle.

[wait for reply]

Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ blockNeckPitch() [2/2]

virtual bool yarp::dev::IGazeControl::blockNeckPitch ( const double  val)
pure virtual

Block the neck pitch at a specified angle.

[wait for reply]

Parameters
valthe angle value at which block the joint (in degrees).
Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ blockNeckRoll() [1/2]

virtual bool yarp::dev::IGazeControl::blockNeckRoll ( )
pure virtual

Block the neck roll at the current angle.

[wait for reply]

Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ blockNeckRoll() [2/2]

virtual bool yarp::dev::IGazeControl::blockNeckRoll ( const double  val)
pure virtual

Block the neck roll at a specified angle.

[wait for reply]

Parameters
valthe angle value at which block the joint (in degrees).
Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ blockNeckYaw() [1/2]

virtual bool yarp::dev::IGazeControl::blockNeckYaw ( )
pure virtual

Block the neck yaw at the current angle.

[wait for reply]

Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ blockNeckYaw() [2/2]

virtual bool yarp::dev::IGazeControl::blockNeckYaw ( const double  val)
pure virtual

Block the neck yaw at a specified angle.

[wait for reply]

Parameters
valthe angle value at which block the joint (in degrees).
Returns
true/false on success/failure.
Note
The possibility to block the neck joints is given in order to move just the eyes.

◆ checkMotionDone()

virtual bool yarp::dev::IGazeControl::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.

◆ checkSaccadeDone()

virtual bool yarp::dev::IGazeControl::checkSaccadeDone ( bool *  f)
pure virtual

Check once if the saccade is terminated.

[wait for reply]

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

◆ clearEyes()

virtual bool yarp::dev::IGazeControl::clearEyes ( )
pure virtual

Unblock the eyes.

[wait for reply]

Returns
true/false on success/failure.

◆ clearNeckPitch()

virtual bool yarp::dev::IGazeControl::clearNeckPitch ( )
pure virtual

Unblock the neck pitch.

[wait for reply]

Returns
true/false on success/failure.

◆ clearNeckRoll()

virtual bool yarp::dev::IGazeControl::clearNeckRoll ( )
pure virtual

Unblock the neck roll.

[wait for reply]

Returns
true/false on success/failure.

◆ clearNeckYaw()

virtual bool yarp::dev::IGazeControl::clearNeckYaw ( )
pure virtual

Unblock the neck yaw.

[wait for reply]

Returns
true/false on success/failure.

◆ deleteContext()

virtual bool yarp::dev::IGazeControl::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.

◆ get2DPixel()

virtual bool yarp::dev::IGazeControl::get2DPixel ( const int  camSel,
const yarp::sig::Vector x,
yarp::sig::Vector px 
)
pure virtual

Get the 2-d pixel point - whose cartesian coordinates are given wrt the root reference frame - that results from the projection into the image plane.

[wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
xthe 3-d point given wrt the root reference frame [m].
pxthe returned 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
Returns
true/false on success/failure.

◆ get3DPoint()

virtual bool yarp::dev::IGazeControl::get3DPoint ( const int  camSel,
const yarp::sig::Vector px,
const double  z,
yarp::sig::Vector x 
)
pure virtual

Get the 3-d point whose pixel projection and z-component in the camera frame are given.

[wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
zthe z-component of the point in the eye's reference frame [m].
xthe returned 3-d point given wrt the root reference frame [m].
Returns
true/false on success/failure.

◆ get3DPointFromAngles()

virtual bool yarp::dev::IGazeControl::get3DPointFromAngles ( const int  mode,
const yarp::sig::Vector ang,
yarp::sig::Vector x 
)
pure virtual

Get the 3-d coordinates corresponding to the angular positions.

[wait for reply]

Parameters
modeselects the angular mode: 0 for absolute, 1 for relative mode.
anga 3-d vector which contains the actual angles azimuth/elevation/vergence (degrees).
xthe returned 3-d point given wrt the root reference frame [m].
Returns
true/false on success/failure.

◆ get3DPointOnPlane()

virtual bool yarp::dev::IGazeControl::get3DPointOnPlane ( const int  camSel,
const yarp::sig::Vector px,
const yarp::sig::Vector plane,
yarp::sig::Vector x 
)
pure virtual

Get the 3-d point - whose pixel projection is given - that results from the projection into a plane specified in the space.

[wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
planethe 4-d vector containing the components (a,b,c,d) of the plane expressed wrt the root reference frame in its implicit form as: ax+by+cz+d=0.
xthe returned 3-d point given wrt the root reference frame [m].
Returns
true/false on success/failure.

◆ getAngles()

virtual bool yarp::dev::IGazeControl::getAngles ( yarp::sig::Vector ang,
yarp::os::Stamp stamp = NULL 
)
pure virtual

Get the current gaze configuration in terms of azimuth and elevation angles wrt to the absolute reference frame along with the vergence.

All angles are expressed in degrees. [do not wait for reply]

Parameters
anga 3-d vector which is filled with the actual angles azimuth/elevation/vergence (degrees).
stampthe stamp of the encoders employed to compute the pose.
Returns
true/false on success/failure.
Note
The absolute reference frame for the azimuth/elevation couple is head-centered with the robot in rest configuration (i.e. torso and head angles zeroed).

◆ getAnglesFrom3DPoint()

virtual bool yarp::dev::IGazeControl::getAnglesFrom3DPoint ( const yarp::sig::Vector x,
yarp::sig::Vector ang 
)
pure virtual

Get the absolute angular coordinates corresponding to the 3-d point.

[wait for reply]

Parameters
xthe 3-d point given wrt the root reference frame [m].
anga 3-d vector which is filled with the azimuth/elevation/vergence coordinates in the absolute mode (degrees).
Returns
true/false on success/failure.
Note
Only absolute angular frame can be referred.

◆ getBlockedVergence()

virtual bool yarp::dev::IGazeControl::getBlockedVergence ( double *  ver)
pure virtual

Return the current vergence angle used to block the eyes.

[wait for reply]

Parameters
verthe vergence angle [deg].
Returns
true/false on success/failure.
Note
negative values of returned vergence correspond to unblocked eyes.

◆ getEyesTrajTime()

virtual bool yarp::dev::IGazeControl::getEyesTrajTime ( double *  t)
pure virtual

Get the current trajectory duration for the eyes actuators.

[wait for reply]

Parameters
ttime (seconds).
Returns
true/false on success/failure.

◆ getFixationPoint()

virtual bool yarp::dev::IGazeControl::getFixationPoint ( yarp::sig::Vector fp,
yarp::os::Stamp stamp = NULL 
)
pure virtual

Get the current fixation point.

[do not wait for reply]

Parameters
fpa 3-d vector which is filled with the actual fixation point x,y,z [m].
stampthe stamp of the encoders employed to compute the pose.
Returns
true/false on success/failure.

◆ getHeadPose()

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

Get the current pose of the head frame.

[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.
Note
The center of the head frame is located in the middle of the baseline that connects the two eyes. The orientation of its frame is fixed with respect to the head with z-axis pointing forward, x-axis pointing rightward and y-axis pointing downward.

◆ getInfo()

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

Return useful info on the operating state of the controller.

[wait for reply]

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

◆ getJointsDesired()

virtual bool yarp::dev::IGazeControl::getJointsDesired ( yarp::sig::Vector qdes)
pure virtual

Get the joints target values where the controller is moving the system to.

[wait for reply]

Parameters
qdesa vector which is filled with the desired joints values (degrees).
Returns
true/false on success/failure.

◆ getJointsVelocities()

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

Get the joints velocities commanded by the controller.

[wait for reply]

Parameters
qdota vector which is filled with the joints velocities (deg/s).
Returns
true/false on success/failure.

◆ getLeftEyePose()

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

Get the current pose of the left eye frame.

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

◆ getNeckAngleUserTolerance()

virtual bool yarp::dev::IGazeControl::getNeckAngleUserTolerance ( double *  angle)
pure virtual

Return the current tolerance defined by the user to gaze at the target with the neck, meaning that the neck will turn to the target with a final "misalignment" specified by this tolerance; the residual rotation will be covered by the eyes movement.

By default, the tolerance is zero, that is the neck will be perfectly aligned with the target. [wait for reply]

Parameters
anglethe location where to store the current user tolerance [deg].
Returns
true/false on success/failure.

◆ getNeckPitchRange()

virtual bool yarp::dev::IGazeControl::getNeckPitchRange ( double *  min,
double *  max 
)
pure virtual

Return the current neck pitch range.

[wait for reply]

Parameters
minthe location where to store the minimum of the range [deg].
maxthe location where to store the maximum of the range [deg].
Returns
true/false on success/failure.

◆ getNeckRollRange()

virtual bool yarp::dev::IGazeControl::getNeckRollRange ( double *  min,
double *  max 
)
pure virtual

Return the current neck roll range.

[wait for reply]

Parameters
minthe location where to store the minimum of the range [deg].
maxthe location where to store the maximum of the range [deg].
Returns
true/false on success/failure.

◆ getNeckTrajTime()

virtual bool yarp::dev::IGazeControl::getNeckTrajTime ( double *  t)
pure virtual

Get the current trajectory duration for the neck actuators.

[wait for reply]

Parameters
ttime (seconds).
Returns
true/false on success/failure.

◆ getNeckYawRange()

virtual bool yarp::dev::IGazeControl::getNeckYawRange ( double *  min,
double *  max 
)
pure virtual

Return the current neck yaw range.

[wait for reply]

Parameters
minthe location where to store the minimum of the range [deg].
maxthe location where to store the maximum of the range [deg].
Returns
true/false on success/failure.

◆ getOCRGain()

virtual bool yarp::dev::IGazeControl::getOCRGain ( double *  gain)
pure virtual

Get the current gain used to weigh the oculo-collic reflex (OCR).

[wait for reply]

Parameters
gainthe current gain.
Returns
true/false on success/failure.

◆ getRightEyePose()

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

Get the current pose of the right eye frame.

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

◆ getSaccadesActivationAngle()

virtual bool yarp::dev::IGazeControl::getSaccadesActivationAngle ( double *  angle)
pure virtual

Get the current activation angle for saccadic movements.

[wait for reply]

Parameters
anglethe current activation angle [deg].
Returns
true/false on success/failure.

◆ getSaccadesInhibitionPeriod()

virtual bool yarp::dev::IGazeControl::getSaccadesInhibitionPeriod ( double *  period)
pure virtual

Get the current inhibition period for saccadic movements.

[wait for reply]

Parameters
periodthe current inhibition period [s].
Returns
true/false on success/failure.

◆ getSaccadesMode()

virtual bool yarp::dev::IGazeControl::getSaccadesMode ( bool *  f)
pure virtual

Query whether the very fast eyes movements (saccades) will be employed or not.

[wait for reply]

Parameters
fthe current saccades mode.
Returns
true/false on success/failure.

◆ getStabilizationMode()

virtual bool yarp::dev::IGazeControl::getStabilizationMode ( bool *  f)
pure virtual

Get the current stabilization mode.

[wait for reply]

Parameters
fhere is returned true if controller is stabilizing the gaze, false otherwise.
Returns
true/false on success/failure.

◆ getStereoOptions()

virtual bool yarp::dev::IGazeControl::getStereoOptions ( yarp::os::Bottle options)
pure virtual

Return the current options used by the stereo approach.

[wait for reply]

Parameters
optionsis a property-like bottle containing the current configuration employed by the internal pid.
Returns
true/false on success/failure.
Note
The returned bottle looks like as follows: (Kp (1 2 ...)) (Ki (1 2 ...)) (Kd (1 2 ...)) (Wp (...)) ...
the satLim property is returned ordered by rows.

◆ getTrackingMode()

virtual bool yarp::dev::IGazeControl::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.

◆ getVORGain()

virtual bool yarp::dev::IGazeControl::getVORGain ( double *  gain)
pure virtual

Get the current gain used to weigh the vestibulo-ocular reflex (VOR).

[wait for reply]

Parameters
gainthe current gain.
Returns
true/false on success/failure.

◆ lookAtAbsAngles()

virtual bool yarp::dev::IGazeControl::lookAtAbsAngles ( const yarp::sig::Vector ang)
pure virtual

Move the gaze to a specified gazing angles configuration given in the absolute reference frame.

[do not wait for reply]

Parameters
anga 3-d vector which contains the desired gazing angles (azimuth/elevation/vergence) expressed in the absolute reference frame (degrees).
Returns
true/false on success/failure.
Note
The absolute reference frame for the azimuth/elevation couple is head-centered with the robot in rest configuration (i.e. torso and head angles zeroed).

◆ lookAtAbsAnglesSync()

virtual bool yarp::dev::IGazeControl::lookAtAbsAnglesSync ( const yarp::sig::Vector ang)
pure virtual

Move the gaze to a specified gazing angles configuration given in the absolute reference frame.

[wait for reply]

Parameters
anga 3-d vector which contains the desired gazing angles (azimuth/elevation/vergence) expressed in the absolute reference frame (degrees).
Returns
true/false on success/failure.
Note
The absolute reference frame for the azimuth/elevation couple is head-centered with the robot in rest configuration (i.e. torso and head angles zeroed).

◆ lookAtFixationPoint()

virtual bool yarp::dev::IGazeControl::lookAtFixationPoint ( const yarp::sig::Vector fp)
pure virtual

Move the gaze to a specified fixation point in cartesian space.

[do not wait for reply]

Parameters
fpa 3-d vector which contains the desired fixation point where to look at x,y,z.
Returns
true/false on success/failure.

◆ lookAtFixationPointSync()

virtual bool yarp::dev::IGazeControl::lookAtFixationPointSync ( const yarp::sig::Vector fp)
pure virtual

Move the gaze to a specified fixation point in cartesian space.

[wait for reply]

Parameters
fpa 3-d vector which contains the desired fixation point where to look at x,y,z.
Returns
true/false on success/failure.

◆ lookAtMonoPixel()

virtual bool yarp::dev::IGazeControl::lookAtMonoPixel ( const int  camSel,
const yarp::sig::Vector px,
const double  z = 1.0 
)
pure virtual

Move the gaze to a location specified by a pixel within the image plane.

[do not wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
zthe z-component of the point in the eye's reference frame [m]. A default value of 1.0 is assumed.
Returns
true/false on success/failure.
Note
The component z can be seen also as the distance [m] from the proper image plane once thought to extend towards infinity.

◆ lookAtMonoPixelSync()

virtual bool yarp::dev::IGazeControl::lookAtMonoPixelSync ( const int  camSel,
const yarp::sig::Vector px,
const double  z = 1.0 
)
pure virtual

Move the gaze to a location specified by a pixel within the image plane.

[wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
zthe z-component of the point in the eye's reference frame [m]. A default value of 1.0 is assumed.
Returns
true/false on success/failure.
Note
The component z can be seen also as the distance [m] from the proper image plane once thought to extend towards infinity.

◆ lookAtMonoPixelWithVergence()

virtual bool yarp::dev::IGazeControl::lookAtMonoPixelWithVergence ( const int  camSel,
const yarp::sig::Vector px,
const double  ver 
)
pure virtual

Move the gaze to a location specified by a pixel within the image plane using the vergence.

[do not wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
verthe vergence angle given in degrees.
Returns
true/false on success/failure.

◆ lookAtMonoPixelWithVergenceSync()

virtual bool yarp::dev::IGazeControl::lookAtMonoPixelWithVergenceSync ( const int  camSel,
const yarp::sig::Vector px,
const double  ver 
)
pure virtual

Move the gaze to a location specified by a pixel within the image plane using the vergence.

[wait for reply]

Parameters
camSelselects the image plane: 0 for the left, 1 for the right.
pxa 2-d vector which contains the (u,v) coordinates of the pixel within the image plane.
verthe vergence angle given in degrees.
Returns
true/false on success/failure.

◆ lookAtRelAngles()

virtual bool yarp::dev::IGazeControl::lookAtRelAngles ( const yarp::sig::Vector ang)
pure virtual

Move the gaze to a specified gazing angles configuration given in the relative reference frame.

[do not wait for reply]

Parameters
anga 3-d vector which contains the desired gazing angles (azimuth/elevation/vergence) expressed in the relative reference frame (degrees).
Returns
true/false on success/failure.
Note
The relative reference frame for the azimuth/elevation couple is head-centered; the center of this frame is located in the middle of the baseline that connects the two eyes.

◆ lookAtRelAnglesSync()

virtual bool yarp::dev::IGazeControl::lookAtRelAnglesSync ( const yarp::sig::Vector ang)
pure virtual

Move the gaze to a specified gazing angles configuration given in the relative reference frame.

[wait for reply]

Parameters
anga 3-d vector which contains the desired gazing angles (azimuth/elevation/vergence) expressed in the relative reference frame (degrees).
Returns
true/false on success/failure.
Note
The relative reference frame for the azimuth/elevation couple is head-centered; the center of this frame is located in the middle of the baseline that connects the two eyes.

◆ lookAtStereoPixels()

virtual bool yarp::dev::IGazeControl::lookAtStereoPixels ( const yarp::sig::Vector pxl,
const yarp::sig::Vector pxr 
)
pure virtual

Move the gaze to a location specified by two pixels representing the same 3-d point as seen from within both image planes.

[do not wait for reply]

Parameters
pxla 2-d vector which contains the (u,v) coordinates of the pixel within the left image plane.
pxra 2-d vector which contains the (u,v) coordinates of the pixel within the right image plane.
Returns
true/false on success/failure.
Note
This strategy employs the monocular approach coupled with a pid that varies the distance z incrementally according to the actual error: to achieve the target it is thus required to provide the visual feedback continuously.

◆ lookAtStereoPixelsSync()

virtual bool yarp::dev::IGazeControl::lookAtStereoPixelsSync ( const yarp::sig::Vector pxl,
const yarp::sig::Vector pxr 
)
pure virtual

Move the gaze to a location specified by two pixels representing the same 3-d point as seen from within both image planes.

[wait for reply]

Parameters
pxla 2-d vector which contains the (u,v) coordinates of the pixel within the left image plane.
pxra 2-d vector which contains the (u,v) coordinates of the pixel within the right image plane.
Returns
true/false on success/failure.
Note
This strategy employs the monocular approach coupled with a pid that varies the distance z incrementally according to the actual error: to achieve the target it is thus required to provide the visual feedback continuously.

◆ registerEvent()

virtual bool yarp::dev::IGazeControl::registerEvent ( yarp::dev::GazeEvent 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.

◆ restoreContext()

virtual bool yarp::dev::IGazeControl::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 trajectory time and so on.

◆ setEyesTrajTime()

virtual bool yarp::dev::IGazeControl::setEyesTrajTime ( const double  t)
pure virtual

Set the duration of the trajectory for the eyes actuators.

[wait for reply]

Parameters
ttime (seconds).
Returns
true/false on success/failure.

◆ setNeckAngleUserTolerance()

virtual bool yarp::dev::IGazeControl::setNeckAngleUserTolerance ( const double  angle)
pure virtual

Specify a new tolerance to gaze at the target with the neck.

[wait for reply]

Parameters
anglethe new angle user tolerance [deg].
Returns
true/false on success/failure.

◆ setNeckTrajTime()

virtual bool yarp::dev::IGazeControl::setNeckTrajTime ( const double  t)
pure virtual

Set the duration of the trajectory for the neck actuators.

[wait for reply]

Parameters
ttime (seconds).
Returns
true/false on success/failure.
Note
The neck movements time cannot be set equal or lower than the eyes movements time.

◆ setOCRGain()

virtual bool yarp::dev::IGazeControl::setOCRGain ( const double  gain)
pure virtual

Set the gain used to weigh the oculo-collic reflex (OCR).

[wait for reply]

Parameters
gainthe new gain.
Returns
true/false on success/failure.
Note
To disable OCR set gain equal to 0.0.

◆ setSaccadesActivationAngle()

virtual bool yarp::dev::IGazeControl::setSaccadesActivationAngle ( const double  angle)
pure virtual

Set the activation angle for saccadic movements.

[wait for reply]

Parameters
anglethe new activation angle [deg].
Returns
true/false on success/failure.

◆ setSaccadesInhibitionPeriod()

virtual bool yarp::dev::IGazeControl::setSaccadesInhibitionPeriod ( const double  period)
pure virtual

Set the inhibition period for saccadic movements.

[wait for reply]

Parameters
periodthe new inhibition period [s].
Returns
true/false on success/failure.

◆ setSaccadesMode()

virtual bool yarp::dev::IGazeControl::setSaccadesMode ( const bool  f)
pure virtual

Enable/disable the use of very fast eyes movements (saccades).

[wait for reply]

Parameters
ftrue/false to enable/disable saccades.
Returns
true/false on success/failure.
Note
Vision processing algorithms might be heavily affected by saccades.

◆ setStabilizationMode()

virtual bool yarp::dev::IGazeControl::setStabilizationMode ( const bool  f)
pure virtual

Turn on/off the gaze stabilization.

[wait for reply]

Parameters
ftrue to turn on the stabilization, false otherwise.
Returns
true/false on success/failure.
Note
When this mode is turned on, the controller continuously stabilizes the gaze relying on the inertial data.

◆ setStereoOptions()

virtual bool yarp::dev::IGazeControl::setStereoOptions ( const yarp::os::Bottle options)
pure virtual

Update the options used by the stereo approach.

[wait for reply]

Parameters
optionsis a property-like bottle containing the new configuration employed by the internal pid.
Returns
true/false on success/failure.
Note
The property parameter should look like as follows: (Kp (1 2 ...)) (Ki (1 2 ...)) (Kd (1 2 ...)) (Wp (...)) ...
The vectors dimension at pid creation time is always retained.
The satLim property must be given ordered by rows.
The sample time Ts should match the rate with which the method lookAtStereoPixels is called by the user.
The special option "dominantEye" (that can be "left"|"right") allows selecting the eye used for the monocular approach.

◆ setTrackingMode()

virtual bool yarp::dev::IGazeControl::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 gaze on target in the presence of external disturbances. In non-tracking mode the controller releases the control of the head as soon as the desired target is reached.

◆ setVORGain()

virtual bool yarp::dev::IGazeControl::setVORGain ( const double  gain)
pure virtual

Set the gain used to weigh the vestibulo-ocular reflex (VOR).

[wait for reply]

Parameters
gainthe new gain.
Returns
true/false on success/failure.
Note
To disable VOR set gain equal to 0.0.

◆ stopControl()

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

Ask for an immediate stop of the motion.

[wait for reply]

Returns
true/false on success/failure.

◆ storeContext()

virtual bool yarp::dev::IGazeControl::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 trajectory time and so on.

◆ triangulate3DPoint()

virtual bool yarp::dev::IGazeControl::triangulate3DPoint ( const yarp::sig::Vector pxl,
const yarp::sig::Vector pxr,
yarp::sig::Vector x 
)
pure virtual

Triangulate two points given in the image planes to find the corresponding 3-d point in the space.

[wait for reply]

Parameters
pxla 2-d vector which contains the (u,v) coordinates of the pixel within the left image plane.
pxra 2-d vector which contains the (u,v) coordinates of the pixel within the right image plane.
xthe returned 3-d point given wrt the root reference frame [m].
Returns
true/false on success/failure.
Note
The triangulation makes use of the mid-point method and thus is deeply affected by uncertainties in the cameras extrinsic parameters and cameras alignment.

◆ tweakGet()

virtual bool yarp::dev::IGazeControl::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::IGazeControl::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::IGazeControl::unregisterEvent ( yarp::dev::GazeEvent event)
pure virtual

Unregister an event.

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

◆ waitMotionDone()

virtual bool yarp::dev::IGazeControl::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 (seconds).
timeoutspecify the check expiration time (seconds). If timeout<=0 (as by default) the check will be performed without time limitation.
Returns
true for success, false for failure and timeout expired.

◆ waitSaccadeDone()

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

Wait until the current saccade is terminated.

[wait for reply]

Parameters
periodspecify the check time period (seconds).
timeoutspecify the check expiration time (seconds). 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: