Go to the documentation of this file. 1 #ifndef AIKIDO_CONTROL_TRAJECTORYEXECUTOR_HPP_
2 #define AIKIDO_CONTROL_TRAJECTORYEXECUTOR_HPP_
8 #include <dart/dart.hpp>
29 const std::vector<dart::dynamics::DegreeOfFreedom*>& dofs,
30 const std::set<ExecutorType> otherTypes = std::set<ExecutorType>(),
58 const std::chrono::system_clock::time_point& timepoint)
override = 0;
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
virtual void cancel()=0
Cancel the current trajectory.
virtual ~TrajectoryExecutor()=default
std::shared_ptr< const Trajectory > ConstTrajectoryPtr
Definition: Trajectory.hpp:13
virtual void validate(const trajectory::Trajectory *traj)=0
Validate the traj in preparation for execution.
virtual std::future< void > execute(const trajectory::ConstTrajectoryPtr &traj)=0
Validate and execute traj, setting future upon completion.
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.
Definition: TrajectoryExecutor.hpp:28
virtual void step(const std::chrono::system_clock::time_point &timepoint) override=0
Step to a point in time.
std::set< ExecutorType > concatenateTypes(std::set< ExecutorType > first, std::set< ExecutorType > second)
Concatenate two sets of ExecutorTypes Useful for initializer-list constructors.
Definition: util.hpp:29
Abstract class for executing trajectories.
Definition: TrajectoryExecutor.hpp:21
std::set< const trajectory::Trajectory * > mValidatedTrajectories
Set of trajectories validated by executor.
Definition: TrajectoryExecutor.hpp:65
std::chrono::system_clock::time_point mExecutionStartTime
Time of previous call.
Definition: TrajectoryExecutor.hpp:68
constexpr std::chrono::milliseconds defaultThreadRate
Default rate for ExecutorThread to call step()
Definition: Executor.hpp:47
ExecutorType
Type of executor Can be used to determine if 2 executors make conflicting demands of individual degre...
Definition: Executor.hpp:35
Abstract class for executing commands on degrees of freedom.
Definition: Executor.hpp:50
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
Time-parameterized path in a StateSpace.
Definition: Trajectory.hpp:20