Aikido
|
Instantaneously executes a trajectory in simulation by setting DOF positions to the end of the trajectory. More...
#include <aikido/control/InstantaneousTrajectoryExecutor.hpp>
Public Member Functions | |
InstantaneousTrajectoryExecutor (::dart::dynamics::MetaSkeletonPtr metaskeleton) | |
Constructor. More... | |
virtual | ~InstantaneousTrajectoryExecutor () |
void | validate (const trajectory::Trajectory *traj) override |
Validate the traj in preparation for execution. More... | |
std::future< void > | execute (const trajectory::ConstTrajectoryPtr &traj) override |
Instantaneously execute traj and set future upon completion. More... | |
void | step (const std::chrono::system_clock::time_point &) override |
Does nothing. More... | |
void | cancel () override |
Does nothing. More... | |
![]() | |
TrajectoryExecutor (const std::vector< dart::dynamics::DegreeOfFreedom * > &dofs, const std::set< ExecutorType > otherTypes=std::set< ExecutorType >(), const std::chrono::milliseconds threadRate=defaultThreadRate) | |
Constructor Documentation Inherited. More... | |
virtual | ~TrajectoryExecutor ()=default |
![]() | |
Executor (const std::set< ExecutorType > &types, const std::vector< dart::dynamics::DegreeOfFreedom * > &dofs, const std::chrono::milliseconds threadRate=defaultThreadRate) | |
Constructor. More... | |
Executor (const ExecutorType type, const std::vector< dart::dynamics::DegreeOfFreedom * > &dofs, std::chrono::milliseconds threadRate=defaultThreadRate) | |
Constructor. More... | |
virtual | ~Executor () |
std::set< ExecutorType > | getTypes () const |
Get all of this Executor's ExecutorTypes. More... | |
const std::vector< dart::dynamics::DegreeOfFreedom * > | getDofs () const |
Get list of dofs needed by this Executor. More... | |
void | start () |
Start the underlying ExecutorThread. More... | |
void | stop () |
Stops the underlying ExecutorThread. More... | |
bool | registerDofs () |
Lock the resources required by the DoFs. More... | |
void | releaseDofs () |
Unlock any resources required by the DoFs. More... | |
Private Attributes | |
::dart::dynamics::MetaSkeletonPtr | mMetaSkeleton |
Skeleton to execute trajectories on. More... | |
std::unique_ptr< std::promise< void > > | mPromise |
Promise whose future is returned by execute() More... | |
std::mutex | mMutex |
Manages access to mPromise. More... | |
Additional Inherited Members | |
![]() | |
std::set< const trajectory::Trajectory * > | mValidatedTrajectories |
Set of trajectories validated by executor. More... | |
std::chrono::system_clock::time_point | mExecutionStartTime |
Time of previous call. More... | |
![]() | |
std::set< ExecutorType > | mTypes |
Vector of executor types. More... | |
std::vector< dart::dynamics::DegreeOfFreedom * > | mDofs |
Vector of dof names. More... | |
Instantaneously executes a trajectory in simulation by setting DOF positions to the end of the trajectory.
|
explicit |
Constructor.
skeleton | Skeleton to execute trajectories on. All trajectories must have dofs only in this skeleton. |
|
virtual |
|
overridevirtual |
Does nothing.
Implements aikido::control::TrajectoryExecutor.
|
overridevirtual |
Instantaneously execute traj and set future upon completion.
traj | Trajectory to be executed. Its StateSpace should be a MetaSkeletonStateSpace, where the dofs are all in the skeleton passed to this constructor. |
invalid_argument | if traj is invalid. |
Implements aikido::control::TrajectoryExecutor.
|
overridevirtual |
Does nothing.
Implements aikido::control::TrajectoryExecutor.
|
overridevirtual |
Validate the traj in preparation for execution.
traj | Trajectory to be validated |
Implements aikido::control::TrajectoryExecutor.
|
private |
Skeleton to execute trajectories on.
|
mutableprivate |
Manages access to mPromise.
|
private |
Promise whose future is returned by execute()