Aikido
aikido::robot::Hand Class Referenceabstract

Abstract class for Hand interface. More...

#include <aikido/robot/Hand.hpp>

Public Member Functions

virtual ~Hand ()=default
 
virtual void grab (const dart::dynamics::SkeletonPtr &bodyToGrab)=0
 Grabs an object. More...
 
virtual void ungrab ()=0
 Ungrabs an object. More...
 
virtual std::future< void > executePreshape (const std::string &preshapeName)=0
 Sets the hand to the corresponding preshape (from preshapesUri). More...
 
virtual void step (const std::chrono::system_clock::time_point &timepoint)=0
 Simulates up to the provided timepoint. More...
 
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton () const =0
 Returns the metaskeleton corresponding to this hand. More...
 
virtual dart::dynamics::MetaSkeletonPtr getMetaSkeleton ()=0
 Returns the metaskeleton corresponding to this hand. More...
 
virtual dart::dynamics::BodyNode * getEndEffectorBodyNode () const =0
 Get the end-effector body node for which IK can be created. More...
 
virtual dart::dynamics::BodyNode * getHandBaseBodyNode () const =0
 Get the body node which is the root of the hand, containing all fingers. More...
 

Detailed Description

Abstract class for Hand interface.

Constructor & Destructor Documentation

◆ ~Hand()

virtual aikido::robot::Hand::~Hand ( )
virtualdefault

Member Function Documentation

◆ executePreshape()

virtual std::future<void> aikido::robot::Hand::executePreshape ( const std::string &  preshapeName)
pure virtual

Sets the hand to the corresponding preshape (from preshapesUri).

Parameters
[in]preshapeNameName of preshape (e.g. "open")

◆ getEndEffectorBodyNode()

virtual dart::dynamics::BodyNode* aikido::robot::Hand::getEndEffectorBodyNode ( ) const
pure virtual

Get the end-effector body node for which IK can be created.

Returns
DART body node of end-effector

◆ getHandBaseBodyNode()

virtual dart::dynamics::BodyNode* aikido::robot::Hand::getHandBaseBodyNode ( ) const
pure virtual

Get the body node which is the root of the hand, containing all fingers.

Returns
DART body node at the root of the hand

◆ getMetaSkeleton() [1/2]

virtual dart::dynamics::ConstMetaSkeletonPtr aikido::robot::Hand::getMetaSkeleton ( ) const
pure virtual

Returns the metaskeleton corresponding to this hand.

◆ getMetaSkeleton() [2/2]

virtual dart::dynamics::MetaSkeletonPtr aikido::robot::Hand::getMetaSkeleton ( )
pure virtual

Returns the metaskeleton corresponding to this hand.

◆ grab()

virtual void aikido::robot::Hand::grab ( const dart::dynamics::SkeletonPtr &  bodyToGrab)
pure virtual

Grabs an object.

Immediately executes.

Parameters
[in]bodyToGrabThe object to grab

◆ step()

virtual void aikido::robot::Hand::step ( const std::chrono::system_clock::time_point &  timepoint)
pure virtual

Simulates up to the provided timepoint.

Note
Assumes that the robot's skeleton is locked.
Parameters
[in]timepointTime to simulate to.

◆ ungrab()

virtual void aikido::robot::Hand::ungrab ( )
pure virtual

Ungrabs an object.

Immediately ungrabs.

Exceptions
aruntime_error if fails.