ROSEndEffector
ROS End-Effector package: provides a ROS-based set of standard interfaces to command robotics end-effectors in an agnostic fashion.
|
The action of pinch with two tips. More...
#include <ActionPinchTight.h>
Classes | |
struct | depthComp |
struct to put in order the actionStates. More... | |
Public Types | |
typedef std::map< std::pair< std::string, std::string >, ActionPinchTight > | Map |
typedef std::pair< JointPos, collision_detection::Contact > | StateWithContact |
A pair to "link" the JointPos with infos about the collision among the two tips. More... | |
Public Types inherited from ROSEE::ActionPrimitive | |
enum | Type { PinchTight, PinchLoose, MultiplePinchTight, Trig, TipFlex, FingFlex, SingleJointMultipleTips, None } |
Enum useful to discriminate each primitive action when, for example, we want to parse a file if you change this enum, change also the ROSEEControl.msg accordingly. More... | |
typedef std::shared_ptr< ActionPrimitive > | Ptr |
typedef std::shared_ptr< const ActionPrimitive > | ConstPtr |
Public Types inherited from ROSEE::Action | |
enum | Type { Primitive, Generic, Composed, Timed, None } |
Enum useful to discriminate each action when, for example, we want to parse a file if you change this enum, change also the ROSEEControl.msg accordingly. More... | |
typedef std::shared_ptr< Action > | Ptr |
typedef std::shared_ptr< const Action > | ConstPtr |
Public Member Functions | |
ActionPinchTight () | |
ActionPinchTight (unsigned int maxStoredActionStates) | |
ActionPinchTight (std::pair< std::string, std::string >, JointPos, collision_detection::Contact) | |
ActionPinchTight (std::string finger1, std::string finger2, JointPos, collision_detection::Contact) | |
JointPos | getJointPos () const override |
Get the position related to this action. More... | |
JointPos | getJointPos (unsigned int index) const |
std::vector< ROSEE::JointPos > | getAllJointPos () const override |
Return all the joint position stored. More... | |
std::vector< ROSEE::ActionPinchTight::StateWithContact > | getActionStates () const |
Specific get for the ActionPinchTight to return the state with contact info. More... | |
bool | insertActionState (JointPos, collision_detection::Contact) |
function to insert a single action in the actionStates set of possible action. More... | |
void | print () const override |
For the pinch, we override these function to print, emit and parse the optional info Contact, which is specific of the pinch. More... | |
void | emitYaml (YAML::Emitter &) const override |
Function to fill the argument passed with info about the action. More... | |
bool | fillFromYaml (YAML::const_iterator yamlIt) override |
function to fill members of the Action with infos taken from yaml files More... | |
Public Member Functions inherited from ROSEE::ActionPinchGeneric | |
ActionPinchGeneric (std::string name, ActionPrimitive::Type type) | |
KNOW the distance at a certain percentage? so se volgio prendere un oggetto largo 3 cm il programma sa quale รจ la percentage per avere una distanza di 3cm More... | |
ActionPinchGeneric (std::string name, unsigned int maxStoredActionStates, ActionPrimitive::Type type) | |
ActionPinchGeneric (std::string name, unsigned int nFingerInvolved, unsigned int maxStoredActionStates, ActionPrimitive::Type type) | |
std::set< std::string > | getKeyElements () const override |
Necessary method to know the key used by the maps which store all the Actions of one type. More... | |
Public Member Functions inherited from ROSEE::ActionPrimitive | |
virtual | ~ActionPrimitive () |
Type | getPrimitiveType () const |
unsigned int | getMaxStoredActionStates () const |
unsigned int | getnFingersInvolved () const |
void | setJointsInvolvedCount (ROSEE::JointsInvolvedCount jointsInvolvedCount) |
Public Member Functions inherited from ROSEE::Action | |
virtual | ~Action () |
std::string | getName () const |
Get the name of the action. More... | |
Type | getType () const |
std::set< std::string > | getFingersInvolved () const |
Get for fingersInvolved. More... | |
JointsInvolvedCount | getJointsInvolvedCount () const |
Get for jointsInvolvedCount. More... | |
Private Member Functions | |
bool | emitYamlForContact (collision_detection::Contact, YAML::Emitter &) const |
private function to be called by the emitYaml More... | |
Private Attributes | |
std::set< StateWithContact, depthComp > | actionStates |
For each pair, we want a set of action because we want to store (in general) more possible way to do that action. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ROSEE::ActionPrimitive | |
ActionPrimitive (std::string name, unsigned int maxStoredActionStates, Type type) | |
ActionPrimitive (std::string name, unsigned int nFingersInvolved, unsigned int maxStoredActionStates, Type type) | |
Protected costructor: object creable only by derived classes. More... | |
Protected Member Functions inherited from ROSEE::Action | |
Action () | |
Action (std::string actionName, Action::Type type) | |
Protected Attributes inherited from ROSEE::ActionPrimitive | |
unsigned int | nFingersInvolved |
const unsigned int | maxStoredActionStates |
const Type | primitiveType |
Protected Attributes inherited from ROSEE::Action | |
std::string | name |
Action::Type | type |
std::set< std::string > | fingersInvolved |
JointsInvolvedCount | jointsInvolvedCount |
The action of pinch with two tips.
The two tips must collide for some hand configuration to mark this configuration as a pinchTight. All the non involved fingers are set in the default state. A pinchTight is defined by:
Definition at line 40 of file ActionPinchTight.h.
typedef std::map< std::pair<std::string, std::string>, ActionPinchTight > ROSEE::ActionPinchTight::Map |
Definition at line 45 of file ActionPinchTight.h.
typedef std::pair<JointPos, collision_detection::Contact> ROSEE::ActionPinchTight::StateWithContact |
A pair to "link" the JointPos with infos about the collision among the two tips.
Definition at line 49 of file ActionPinchTight.h.
ROSEE::ActionPinchTight::ActionPinchTight | ( | ) |
Definition at line 21 of file ActionPinchTight.cpp.
ROSEE::ActionPinchTight::ActionPinchTight | ( | unsigned int | maxStoredActionStates | ) |
Definition at line 24 of file ActionPinchTight.cpp.
ROSEE::ActionPinchTight::ActionPinchTight | ( | std::pair< std::string, std::string > | fingerNamesPair, |
JointPos | jp, | ||
collision_detection::Contact | cont | ||
) |
Definition at line 27 of file ActionPinchTight.cpp.
ROSEE::ActionPinchTight::ActionPinchTight | ( | std::string | finger1, |
std::string | finger2, | ||
JointPos | jp, | ||
collision_detection::Contact | cont | ||
) |
Definition at line 37 of file ActionPinchTight.cpp.
|
overridevirtual |
Function to fill the argument passed with info about the action.
Pure virtual because each derived class has different infos and stored differently. check YamlWorker to correctly emit and parse the file
out | the yaml-cpp emitter which store infos about the action |
Reimplemented from ROSEE::ActionPrimitive.
Definition at line 156 of file ActionPinchTight.cpp.
|
private |
private function to be called by the emitYaml
Definition at line 294 of file ActionPinchTight.cpp.
|
overridevirtual |
function to fill members of the Action with infos taken from yaml files
yamlIt | a YAML::const_iterator to the node that is loaded with YAML::LoadFile(dirPath + filename). check YamlWorker to correctly parse and emit the file |
Implements ROSEE::Action.
Definition at line 197 of file ActionPinchTight.cpp.
std::vector< ROSEE::ActionPinchTight::StateWithContact > ROSEE::ActionPinchTight::getActionStates | ( | ) | const |
Specific get for the ActionPinchTight to return the state with contact info.
Definition at line 73 of file ActionPinchTight.cpp.
|
overridevirtual |
Return all the joint position stored.
If the concrete (derived from Action) has only one joint position info, this function is equal to getJointPos.
Implements ROSEE::Action.
Definition at line 60 of file ActionPinchTight.cpp.
|
overridevirtual |
Get the position related to this action.
Pure Virtual function: the derived class store this info differently so they are in charge of providing the read.
Implements ROSEE::Action.
Definition at line 47 of file ActionPinchTight.cpp.
ROSEE::JointPos ROSEE::ActionPinchTight::getJointPos | ( | unsigned int | index | ) | const |
Definition at line 51 of file ActionPinchTight.cpp.
bool ROSEE::ActionPinchTight::insertActionState | ( | ROSEE::JointPos | jp, |
collision_detection::Contact | cont | ||
) |
function to insert a single action in the actionStates set of possible action.
If the action is not so good (based on depth now) the action is not inserted and the function return false
JointPos | The joints position |
collision_detection::Contact | the contact associated with the action |
Definition at line 86 of file ActionPinchTight.cpp.
|
overridevirtual |
For the pinch, we override these function to print, emit and parse the optional info Contact, which is specific of the pinch.
Reimplemented from ROSEE::Action.
Definition at line 115 of file ActionPinchTight.cpp.
|
private |
For each pair, we want a set of action because we want to store (in general) more possible way to do that action.
The pinch among two tips can theoretically be done in infinite ways, we store the best ways found (ordering them by the depth of fingertips compenetration)
Definition at line 109 of file ActionPinchTight.h.