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.