iCub-main
|
Abstract layers for dealing with primitive actions (reach, grasp and more). More...
Classes | |
class | iCub::action::ActionPrimitivesCallback |
Class for defining routines to be called when action is completed. More... | |
struct | iCub::action::ActionPrimitivesWayPoint |
Struct for defining way points used for movements in the operational space. More... | |
class | iCub::action::ActionPrimitives |
The base class defining actions. More... | |
class | iCub::action::ActionPrimitivesLayer1 |
A derived class defining a first abstraction layer on top of actionPrimitives father class. More... | |
class | iCub::action::ActionPrimitivesLayer2 |
A class that inherits from ActionPrimitivesLayer1 and integrates the force-torque sensing in order to stop the limb while reaching as soon as a contact with external objects is detected. More... | |
Abstract layers for dealing with primitive actions (reach, grasp and more).
Copyright (C) 2010 RobotCub Consortium
CopyPolicy: Released under the terms of the GNU GPL v2.0.
The library relies on the Yarp Cartesian Interface and provides the user a collection of action primitives in task space and joint space along with an easy way to combine them together forming higher level actions (e.g. grasp(), tap(), �) in order to eventually execute more sophisticated tasks without reference to the motion control details.
Central to the library's implementation is the concept of action. An action is a "request" for an execution of three different tasks according to its internal selector:
Besides, there exists the possibility of generating one action for the execution of a task of type 1 simultaneously to a task of type 2.
Moreover, whenever an action is produced from within the code the corresponding request item is pushed at the bottom of actions queue. Therefore, user can identify suitable fingers movements in the joint space, associate proper grasping 3d points together with hand posture and finally execute the grasping task as a harmonious combination of a reaching movement and fingers actuations, complying with the time requirements of the synchronized sequence.
It is also given the option to execute a callback whenever an action is accomplished.
To detect contacts among fingers and objects the perceptiveModels library is employed.