Go to the documentation of this file.    1 #ifndef AIKIDO_ROBOT_CONCRETEROBOT_HPP_ 
    2 #define AIKIDO_ROBOT_CONCRETEROBOT_HPP_ 
    6 #include <unordered_map> 
    9 #include <dart/dart.hpp> 
   45       const std::string& name,
 
   46       dart::dynamics::MetaSkeletonPtr metaSkeleton,
 
   50       dart::collision::CollisionDetectorPtr collisionDetector,
 
   51       std::shared_ptr<dart::collision::BodyNodeCollisionFilter>
 
   58       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
   64       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
   68   virtual std::unique_ptr<aikido::trajectory::Spline> retimePathWithKunz(
 
   69       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
   72       double timestep) 
override;
 
   75   virtual std::future<void> executeTrajectory(
 
   79   virtual boost::optional<Eigen::VectorXd> getNamedConfiguration(
 
   80       const std::string& name) 
const override;
 
   83   virtual void setNamedConfigurations(
 
   84       std::unordered_map<std::string, const Eigen::VectorXd>
 
   85           namedConfigurations) 
override;
 
   88   virtual std::string getName() 
const override;
 
   91   virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() 
const override;
 
   95   getStateSpace() 
const override;
 
   98   virtual void setRoot(
Robot* robot) 
override;
 
  102       const std::chrono::system_clock::time_point& timepoint) 
override;
 
  107       const dart::dynamics::MetaSkeletonPtr& metaSkeleton) 
const override;
 
  112       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  118   std::shared_ptr<aikido::planner::TrajectoryPostProcessor>
 
  119   getTrajectoryPostProcessor(
 
  120       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  123       double shortcutTimelimit,
 
  126       double feasibilityCheckResolution,
 
  127       double feasibilityApproxTolerance) 
const;
 
  140       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  157       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  158       const Eigen::VectorXd& goal,
 
  173       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  174       const std::vector<aikido::statespace::StateSpace::State*>& goalStates,
 
  189       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  190       const std::vector<Eigen::VectorXd>& goals,
 
  209       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  210       const dart::dynamics::BodyNodePtr& bodyNode,
 
  214       std::size_t maxNumTrials,
 
  231       const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
 
  232       const dart::dynamics::BodyNodePtr& bodyNode,
 
  244       const std::string& name,
 
  251   void setCRRTPlannerParameters(
 
  258   Eigen::VectorXd getVelocityLimits(
 
  259       const dart::dynamics::MetaSkeleton& metaSkeleton) 
const;
 
  265   Eigen::VectorXd getAccelerationLimits(
 
  266       const dart::dynamics::MetaSkeleton& metaSkeleton) 
const;
 
  271       = std::unordered_map<std::string, const Eigen::VectorXd>;
 
  273   std::unique_ptr<aikido::common::RNG> cloneRNG();
 
  293   std::unique_ptr<common::RNG> 
mRng;
 
  304   std::shared_ptr<dart::collision::BodyNodeCollisionFilter>
 
  313 #endif // AIKIDO_ROBOT_CONCRETEROBOT_HPP_ 
 
 
std::shared_ptr< const MetaSkeletonStateSpace > ConstMetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
 
std::unique_ptr< RNG > UniqueRNGPtr
Definition: RNG.hpp:17
 
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton() const =0
 
std::unordered_map< std::string, const Eigen::VectorXd > ConfigurationMap
Definition: ConcreteRobot.hpp:271
 
std::shared_ptr< MetaSkeletonStateSpace > MetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
 
Definition: ConcreteRobot.hpp:29
 
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
 
::dart::collision::CollisionDetectorPtr mCollisionDetector
Definition: ConcreteRobot.hpp:303
 
std::string mName
Name of this robot.
Definition: ConcreteRobot.hpp:280
 
trajectory::TrajectoryPtr planToConfiguration(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const statespace::StateSpace::State *goalState, const constraint::TestablePtr &collisionTestable, common::RNG *rng, double timelimit)
Plan the robot to a specific configuration.
 
std::shared_ptr< TSR > TSRPtr
Definition: TSR.hpp:17
 
trajectory::TrajectoryPtr planToTSR(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &bodyNode, const constraint::dart::TSRPtr &tsr, const constraint::TestablePtr &collisionTestable, common::RNG *rng, double timelimit, std::size_t maxNumTrials, const distance::ConstConfigurationRankerPtr &ranker=nullptr)
Plan the configuration of the metakeleton such that the specified bodynode is set to a sample in TSR.
 
trajectory::TrajectoryPtr planToConfigurations(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const std::vector< statespace::StateSpace::State * > &goalStates, const constraint::TestablePtr &collisionTestable, common::RNG *rng, double timelimit)
Plan the robot to a set of configurations.
 
ConfigurationMap mNamedConfigurations
Commonly used configurations.
Definition: ConcreteRobot.hpp:301
 
std::shared_ptr< CollisionFree > CollisionFreePtr
Definition: CollisionFree.hpp:22
 
std::shared_ptr< Trajectory > TrajectoryPtr
Definition: Trajectory.hpp:13
 
util::CRRTPlannerParameters mCRRTParameters
Definition: ConcreteRobot.hpp:307
 
dart::dynamics::MetaSkeletonPtr mMetaSkeleton
MetaSkeleton of this robot.
Definition: ConcreteRobot.hpp:283
 
std::shared_ptr< const ConfigurationRanker > ConstConfigurationRankerPtr
Definition: ConfigurationRanker.hpp:13
 
std::unique_ptr< common::RNG > mRng
True if running in simulation mode.
Definition: ConcreteRobot.hpp:293
 
statespace::dart::MetaSkeletonStateSpacePtr mStateSpace
Definition: ConcreteRobot.hpp:284
 
trajectory::InterpolatedPtr planToTSRwithTrajectoryConstraint(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &bodyNode, const constraint::dart::TSRPtr &goalTsr, const constraint::dart::TSRPtr &constraintTsr, const constraint::TestablePtr &collisionTestable, double timelimit, const CRRTPlannerParameters &crrtParameters=CRRTPlannerParameters())
Returns a Trajectory that moves the configuration of the metakeleton such that the specified bodynode...
 
std::shared_ptr< control::TrajectoryExecutor > mTrajectoryExecutor
Definition: ConcreteRobot.hpp:295
 
std::shared_ptr< TrajectoryExecutor > TrajectoryExecutorPtr
Definition: TrajectoryExecutor.hpp:14
 
std::unique_ptr< Spline > UniqueSplinePtr
Definition: Spline.hpp:10
 
Robot * mRootRobot
If this robot belongs to another (Composite)Robot, mRootRobot is the topmost robot containing this ro...
Definition: ConcreteRobot.hpp:277
 
Robot interface for defining basic behaviors of a robot.
Definition: Robot.hpp:26
 
std::shared_ptr< dart::collision::BodyNodeCollisionFilter > mSelfCollisionFilter
Definition: ConcreteRobot.hpp:305
 
Definition: StateSpace.hpp:167
 
std::shared_ptr< Testable > TestablePtr
Definition: Testable.hpp:13
 
dart::dynamics::SkeletonPtr mParentSkeleton
Skeleton containing mRobot.
Definition: ConcreteRobot.hpp:287
 
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
 
Time-parameterized path in a StateSpace.
Definition: Trajectory.hpp:20
 
virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr getStateSpace() const =0