Aikido
Hand.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_ROBOT_HAND_HPP_
2 #define AIKIDO_ROBOT_HAND_HPP_
3 
4 #include <set>
5 #include <string>
6 #include <unordered_map>
7 
8 #include <dart/dart.hpp>
9 
11 #include "aikido/io/yaml.hpp"
13 
14 namespace aikido {
15 namespace robot {
16 
18 
19 class Hand
21 {
22 public:
23  virtual ~Hand() = default;
24 
27  virtual void grab(const dart::dynamics::SkeletonPtr& bodyToGrab) = 0;
28 
31  virtual void ungrab() = 0;
32 
35  virtual std::future<void> executePreshape(const std::string& preshapeName)
36  = 0;
37 
39  virtual void step(const std::chrono::system_clock::time_point& timepoint) = 0;
40 
42  virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const = 0;
43 
45  virtual dart::dynamics::MetaSkeletonPtr getMetaSkeleton() = 0;
46 
49  virtual dart::dynamics::BodyNode* getEndEffectorBodyNode() const = 0;
50 
54  virtual dart::dynamics::BodyNode* getHandBaseBodyNode() const = 0;
55 };
56 
57 } // namespace robot
58 } // namespace aikido
59 
60 #endif // AIKIDO_ROBOT_HAND_HPP_
aikido::robot::Hand::ungrab
virtual void ungrab()=0
Ungrabs an object.
aikido::robot::Hand::~Hand
virtual ~Hand()=default
aikido::robot::Hand
Abstract class for Hand interface.
Definition: Hand.hpp:20
aikido::robot::Hand::getMetaSkeleton
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const =0
Returns the metaskeleton corresponding to this hand.
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::robot::Hand::step
virtual void step(const std::chrono::system_clock::time_point &timepoint)=0
Simulates up to the provided timepoint.
aikido::robot::Hand::grab
virtual void grab(const dart::dynamics::SkeletonPtr &bodyToGrab)=0
Grabs an object.
GrabMetadata.hpp
aikido::robot::Hand::getEndEffectorBodyNode
virtual dart::dynamics::BodyNode * getEndEffectorBodyNode() const =0
Get the end-effector body node for which IK can be created.
yaml.hpp
aikido::robot::Hand::getHandBaseBodyNode
virtual dart::dynamics::BodyNode * getHandBaseBodyNode() const =0
Get the body node which is the root of the hand, containing all fingers.
PositionCommandExecutor.hpp
aikido::robot::Hand::executePreshape
virtual std::future< void > executePreshape(const std::string &preshapeName)=0
Sets the hand to the corresponding preshape (from preshapesUri).
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21