|
YARP
Yet Another Robot Platform
|
|
Go to the documentation of this file.
10 #ifndef YARP_DEV_CARTESIANCONTROL_H
11 #define YARP_DEV_CARTESIANCONTROL_H
24 struct CartesianEventParameters;
25 struct CartesianEventVariables;
27 class ICartesianControl;
245 const double t = 0.0) = 0;
259 const double t = 0.0) = 0;
277 const double t = 0.0) = 0;
292 const double t = 0.0) = 0;
512 virtual bool getLimits(
const int axis,
double *min,
double *max) = 0;
523 virtual bool setLimits(
const int axis,
const double min,
const double max) = 0;
646 const double timeout = 0.0) = 0;
736 #endif // YARP_DEV_CARTESIANCONTROL_H
A simple collection of objects that can be described and transmitted in a portable way.
virtual bool attachTipFrame(const yarp::sig::Vector &x, const yarp::sig::Vector &o)=0
Attach a tip frame to the end-effector.
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.
virtual void cartesianEventCallback()=0
Event callback to be overridden by the user.
virtual bool getRestPos(yarp::sig::Vector &curRestPos)=0
Get the current joints rest position.
double motionOngoingCheckPoint
Contain the motion check-point that raised a "motion-ongoing" event.
contains the definition of a Vector type
Interface for a cartesian controller.
Interface for a event notified by the cartesian controller.
virtual bool getInfo(yarp::os::Bottle &info)=0
Return useful info on the operating state of the controller.
virtual bool getInTargetTol(double *tol)=0
Return tolerance for in-target check.
Structure for configuring a cartesian event.
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 enco...
virtual bool setTrackingMode(const bool f)=0
Set the controller in tracking or non-tracking mode.
virtual ~CartesianEvent()
Destructor.
virtual bool setRestWeights(const yarp::sig::Vector &newRestWeights, yarp::sig::Vector &curRestWeights)=0
Set a new joints rest position.
std::string type
The signature of the received event as filled by the event handler.
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.
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.
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.
double time
Contain the time instant of the source when the event took place, as filled by the event handler.
virtual bool setTrajTime(const double t)=0
Set the duration of the trajectory.
virtual bool getReferenceMode(bool *f)=0
Get the current controller reference mode.
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.
virtual bool waitMotionDone(const double period=0.1, const double timeout=0.0)=0
Wait until the current trajectory is terminated.
virtual bool getTrackingMode(bool *f)=0
Get the current controller mode.
virtual bool getTipFrame(yarp::sig::Vector &x, yarp::sig::Vector &o)=0
Retrieve the tip frame currently attached to the end-effector.
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.
virtual bool getTrajTime(double *t)=0
Get the current trajectory duration.
virtual bool stopControl()=0
Ask for an immediate stop motion.
virtual bool getJointsVelocities(yarp::sig::Vector &qdot)=0
Return joints velocities.
virtual bool setDOF(const yarp::sig::Vector &newDof, yarp::sig::Vector &curDof)=0
Set a new DOF configuration for the limb.
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.
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.
virtual bool getLimits(const int axis, double *min, double *max)=0
Get the current range for the axis.
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.
virtual bool setInTargetTol(const double tol)=0
Set tolerance for in-target check.
yarp::dev::CartesianEventVariables cartesianEventVariables
The event handler fills this structure with useful information at run-time.
virtual bool removeTipFrame()=0
Remove the tip frame currently attached to the end-effector.
An abstraction for a time stamp and/or sequence number.
virtual bool getPosePriority(std::string &p)=0
Get the current pose priority.
virtual bool registerEvent(yarp::dev::CartesianEvent &event)=0
Register an event.
virtual bool tweakSet(const yarp::os::Bottle &options)=0
Tweak low-level controller's parameters.
Structure for configuring a cartesian event.
virtual bool tweakGet(yarp::os::Bottle &options)=0
Return low-level controller's parameters.
double motionOngoingCheckPoint
The user specifies the motion check-point that raises a "motion-ongoing" event through this parameter...
The main, catch-all namespace for YARP.
virtual bool restoreContext(const int id)=0
Restore the controller context previously stored.
virtual bool deleteContext(const int id)=0
Delete a specified controller context.
virtual bool checkMotionDone(bool *f)=0
Check once if the current trajectory is terminated.
virtual bool getDOF(yarp::sig::Vector &curDof)=0
Get the current DOF configuration of the limb.
virtual bool storeContext(int *id)=0
Store the controller context.
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.
virtual bool setRestPos(const yarp::sig::Vector &newRestPos, yarp::sig::Vector &curRestPos)=0
Set a new joints rest position.
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.
virtual bool getRestWeights(yarp::sig::Vector &curRestWeights)=0
Get the current joints rest weights.
virtual ~ICartesianControl()
Destructor.
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.
virtual bool getTaskVelocities(yarp::sig::Vector &xdot, yarp::sig::Vector &odot)=0
Return velocities of the end-effector in the task space.
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.
yarp::dev::CartesianEventParameters cartesianEventParameters
The user fills this structure to establish the event parameters.
std::string type
The signature of the event as specified by the user.
virtual bool setLimits(const int axis, const double min, const double max)=0
Set new range for the axis.
virtual bool unregisterEvent(yarp::dev::CartesianEvent &event)=0
Unregister an event.