Go to the documentation of this file. 1 #ifndef AIKIDO_ROBOT_ROBOT_HPP_
2 #define AIKIDO_ROBOT_ROBOT_HPP_
5 #include <unordered_map>
8 #include <dart/dynamics/dynamics.hpp>
29 virtual ~Robot() =
default;
36 virtual std::unique_ptr<aikido::trajectory::Spline>
smoothPath(
37 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
45 virtual std::unique_ptr<aikido::trajectory::Spline>
retimePath(
46 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
56 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
71 const std::string& name)
const = 0;
76 std::unordered_map<std::string, const Eigen::VectorXd>
81 virtual std::string
getName()
const = 0;
84 virtual dart::dynamics::ConstMetaSkeletonPtr
getMetaSkeleton()
const = 0;
103 virtual void step(
const std::chrono::system_clock::time_point& timepoint) = 0;
110 const dart::dynamics::MetaSkeletonPtr& metaSkeleton)
const = 0;
121 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
128 #endif // AIKIDO_ROBOT_ROBOT_HPP_
std::shared_ptr< const MetaSkeletonStateSpace > ConstMetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const =0
std::shared_ptr< MetaSkeletonStateSpace > MetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
virtual void setNamedConfigurations(std::unordered_map< std::string, const Eigen::VectorXd > namedConfigurations)=0
Sets the list of named configurations.
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
virtual std::unique_ptr< aikido::trajectory::Spline > retimePathWithKunz(const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path, double maxDeviation, double timestep)=0
Returns a timed trajectory computed with KunzRetimer.
virtual constraint::dart::CollisionFreePtr getSelfCollisionConstraint(const statespace::dart::ConstMetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton) const =0
Returns self-collision constraint.
virtual std::string getName() const =0
std::shared_ptr< CollisionFree > CollisionFreePtr
Definition: CollisionFree.hpp:22
std::shared_ptr< Trajectory > TrajectoryPtr
Definition: Trajectory.hpp:13
virtual void setRoot(Robot *robot)=0
Sets the root of this robot.
virtual std::unique_ptr< aikido::trajectory::Spline > retimePath(const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path)=0
Returns a timed trajectory that can be executed by the robot.
virtual std::unique_ptr< aikido::trajectory::Spline > smoothPath(const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path, const constraint::TestablePtr &constraint)=0
Returns a timed trajectory that can be executed by the robot.
virtual std::future< void > executeTrajectory(const trajectory::TrajectoryPtr &trajectory) const =0
Executes a trajectory.
Robot interface for defining basic behaviors of a robot.
Definition: Robot.hpp:26
virtual void step(const std::chrono::system_clock::time_point &timepoint)=0
Simulates up to the provided timepoint.
std::shared_ptr< Testable > TestablePtr
Definition: Testable.hpp:13
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
Time-parameterized path in a StateSpace.
Definition: Trajectory.hpp:20
virtual boost::optional< Eigen::VectorXd > getNamedConfiguration(const std::string &name) const =0
Returns a named configuration.
virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr getStateSpace() const =0
virtual constraint::TestablePtr getFullCollisionConstraint(const statespace::dart::ConstMetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const constraint::dart::CollisionFreePtr &collisionFree) const =0
TODO: Consider changing this to return a CollisionFreePtr.