Aikido
aikido::control::PositionCommandExecutor Class Referenceabstract

Abstract class for executing position commands. More...

#include <aikido/control/PositionCommandExecutor.hpp>

Inheritance diagram for aikido::control::PositionCommandExecutor:
aikido::control::ros::RosPositionCommandExecutor

Public Member Functions

virtual ~PositionCommandExecutor ()=default
 
virtual std::future< void > execute (const Eigen::VectorXd &goalPositions)=0
 Move hand to goalPosition. More...
 
virtual void step (const std::chrono::system_clock::time_point &timepoint)=0
 Step to a point in time. More...
 

Protected Attributes

std::chrono::system_clock::time_point mTimeOfPreviousCall
 Time of previous call to step. More...
 

Detailed Description

Abstract class for executing position commands.

A position command requests several degrees of freedom to move to a specified configuration and provides feedback when the move is complete.

Note
A move may complete before the DOFs reach the specified configuration due to e.g. collision.

Constructor & Destructor Documentation

◆ ~PositionCommandExecutor()

virtual aikido::control::PositionCommandExecutor::~PositionCommandExecutor ( )
virtualdefault

Member Function Documentation

◆ execute()

virtual std::future<void> aikido::control::PositionCommandExecutor::execute ( const Eigen::VectorXd &  goalPositions)
pure virtual

Move hand to goalPosition.

Parameters
goalPositionsGoal positions
Returns
future which becomes available when movement stops

Implemented in aikido::control::ros::RosPositionCommandExecutor.

◆ step()

virtual void aikido::control::PositionCommandExecutor::step ( const std::chrono::system_clock::time_point &  timepoint)
pure virtual

Step to a point in time.

Note
timepoint can be a time in the future to enable faster than real-time execution.
Parameters
timepointTime to simulate to

Implemented in aikido::control::ros::RosPositionCommandExecutor.

Member Data Documentation

◆ mTimeOfPreviousCall

std::chrono::system_clock::time_point aikido::control::PositionCommandExecutor::mTimeOfPreviousCall
protected

Time of previous call to step.

Note
If step has not yet been called, this is the time that execute was called.