Go to the documentation of this file. 1 #ifndef AIKIDO_ROBOT_HAND_HPP_
2 #define AIKIDO_ROBOT_HAND_HPP_
6 #include <unordered_map>
8 #include <dart/dart.hpp>
23 virtual ~Hand() =
default;
27 virtual void grab(
const dart::dynamics::SkeletonPtr& bodyToGrab) = 0;
35 virtual std::future<void>
executePreshape(
const std::string& preshapeName)
39 virtual void step(
const std::chrono::system_clock::time_point& timepoint) = 0;
42 virtual dart::dynamics::ConstMetaSkeletonPtr
getMetaSkeleton()
const = 0;
60 #endif // AIKIDO_ROBOT_HAND_HPP_
virtual void ungrab()=0
Ungrabs an object.
Abstract class for Hand interface.
Definition: Hand.hpp:20
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const =0
Returns the metaskeleton corresponding to this hand.
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
virtual void step(const std::chrono::system_clock::time_point &timepoint)=0
Simulates up to the provided timepoint.
virtual void grab(const dart::dynamics::SkeletonPtr &bodyToGrab)=0
Grabs an object.
virtual dart::dynamics::BodyNode * getEndEffectorBodyNode() const =0
Get the end-effector body node for which IK can be created.
virtual dart::dynamics::BodyNode * getHandBaseBodyNode() const =0
Get the body node which is the root of the hand, containing all fingers.
virtual std::future< void > executePreshape(const std::string &preshapeName)=0
Sets the hand to the corresponding preshape (from preshapesUri).
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21