Go to the documentation of this file. 1 #ifndef AIKIDO_CONTROL_KINEMATICSIMULATIONJOINTCOMMANDEXECUTOR_HPP_
2 #define AIKIDO_CONTROL_KINEMATICSIMULATIONJOINTCOMMANDEXECUTOR_HPP_
7 #include <dart/dynamics/Skeleton.hpp>
17 template <ExecutorType T>
25 ::dart::dynamics::MetaSkeletonPtr metaskeleton);
31 std::vector<::dart::dynamics::DegreeOfFreedom*> dofs);
36 virtual std::future<int>
execute(
37 const std::vector<double>& command,
38 const std::chrono::duration<double>& timeout,
39 const std::chrono::system_clock::time_point& timepoint)
override;
43 const std::vector<double>& command,
44 const std::chrono::duration<double>& timeout
45 = std::chrono::duration<double>(1.0))
override
47 return this->
execute(command, timeout, std::chrono::system_clock::now());
55 void step(
const std::chrono::system_clock::time_point& timepoint)
override;
::dart::dynamics::MetaSkeletonPtr mMetaSkeleton
The controlled subset of mSkeleton for the currently executing command.
Definition: KinematicSimulationJointCommandExecutor.hpp:65
Abstract class for executing a command of a single type on a group of joints.
Definition: JointCommandExecutor.hpp:21
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
virtual std::future< int > execute(const std::vector< double > &command, const std::chrono::duration< double > &timeout=std::chrono::duration< double >(1.0)) override
Execute a Joint Command, setting future upon completion.
Definition: KinematicSimulationJointCommandExecutor.hpp:42
std::unique_ptr< std::promise< int > > mPromise
Promise whose future is returned by execute()
Definition: KinematicSimulationJointCommandExecutor.hpp:71
virtual std::future< int > execute(const std::vector< double > &command, const std::chrono::duration< double > &timeout, const std::chrono::system_clock::time_point &timepoint) override
Execute a Joint Command, setting future upon completion.
Definition: KinematicSimulationJointCommandExecutor-impl.hpp:64
void cancel() override
Cancels the current command.
Definition: KinematicSimulationJointCommandExecutor-impl.hpp:209
bool mInProgress
Whether a command is being executed.
Definition: KinematicSimulationJointCommandExecutor.hpp:68
void step(const std::chrono::system_clock::time_point &timepoint) override
Step to a point in time.
Definition: KinematicSimulationJointCommandExecutor-impl.hpp:143
std::chrono::duration< double > mTimeout
Velocity timeout.
Definition: KinematicSimulationJointCommandExecutor.hpp:83
std::mutex mMutex
Manages access to mCommand, mInProgress, mPromise.
Definition: KinematicSimulationJointCommandExecutor.hpp:74
Executes joint command in DART.
Definition: KinematicSimulationJointCommandExecutor.hpp:18
std::chrono::system_clock::time_point mExecutionStartTime
Time of position command start (for interpolation)
Definition: KinematicSimulationJointCommandExecutor.hpp:77
virtual ~KinematicSimulationJointCommandExecutor()
Definition: KinematicSimulationJointCommandExecutor-impl.hpp:46
std::vector< double > mCommand
Command being executed.
Definition: KinematicSimulationJointCommandExecutor.hpp:62
std::vector< double > mStartPosition
Position at start of command (for interpolation)
Definition: KinematicSimulationJointCommandExecutor.hpp:80
KinematicSimulationJointCommandExecutor(::dart::dynamics::MetaSkeletonPtr metaskeleton)
Constructor.
Definition: KinematicSimulationJointCommandExecutor-impl.hpp:21