Aikido
aikido::robot::ConcreteRobot Class Reference

#include <aikido/robot/ConcreteRobot.hpp>

Inheritance diagram for aikido::robot::ConcreteRobot:
aikido::robot::Robot

Public Member Functions

 ConcreteRobot (const std::string &name, dart::dynamics::MetaSkeletonPtr metaSkeleton, bool simulation, aikido::common::UniqueRNGPtr rng, aikido::control::TrajectoryExecutorPtr trajectoryExecutor, dart::collision::CollisionDetectorPtr collisionDetector, std::shared_ptr< dart::collision::BodyNodeCollisionFilter > selfCollisionFilter)
 Constructor. More...
 
virtual ~ConcreteRobot ()=default
 
virtual aikido::trajectory::UniqueSplinePtr smoothPath (const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path, const constraint::TestablePtr &constraint) override
 Returns a timed trajectory that can be executed by the robot. More...
 
virtual aikido::trajectory::UniqueSplinePtr retimePath (const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path) override
 Returns a timed trajectory that can be executed by the robot. More...
 
virtual std::unique_ptr< aikido::trajectory::SplineretimePathWithKunz (const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::trajectory::Trajectory *path, double maxDeviation, double timestep) override
 Returns a timed trajectory computed with KunzRetimer. More...
 
virtual std::future< void > executeTrajectory (const trajectory::TrajectoryPtr &trajectory) const override
 Executes a trajectory. More...
 
virtual boost::optional< Eigen::VectorXd > getNamedConfiguration (const std::string &name) const override
 Returns a named configuration. More...
 
virtual void setNamedConfigurations (std::unordered_map< std::string, const Eigen::VectorXd > namedConfigurations) override
 Sets the list of named configurations. More...
 
virtual std::string getName () const override
 
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton () const override
 
virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr getStateSpace () const override
 
virtual void setRoot (Robot *robot) override
 Sets the root of this robot. More...
 
virtual void step (const std::chrono::system_clock::time_point &timepoint) override
 Simulates up to the provided timepoint. More...
 
virtual aikido::constraint::dart::CollisionFreePtr getSelfCollisionConstraint (const statespace::dart::ConstMetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton) const override
 Returns self-collision constraint. More...
 
virtual aikido::constraint::TestablePtr getFullCollisionConstraint (const statespace::dart::ConstMetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const constraint::dart::CollisionFreePtr &collisionFree) const override
 TODO: Consider changing this to return a CollisionFreePtr. More...
 
std::shared_ptr< aikido::planner::TrajectoryPostProcessorgetTrajectoryPostProcessor (const dart::dynamics::MetaSkeletonPtr &metaSkeleton, bool enableShortcut, bool enableBlend, double shortcutTimelimit, double blendRadius, int blendIterations, double feasibilityCheckResolution, double feasibilityApproxTolerance) const
 
aikido::trajectory::TrajectoryPtr planToConfiguration (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const aikido::statespace::StateSpace::State *goalState, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToConfiguration (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const Eigen::VectorXd &goal, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToConfigurations (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const std::vector< aikido::statespace::StateSpace::State * > &goalStates, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToConfigurations (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const std::vector< Eigen::VectorXd > &goals, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToTSR (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &bodyNode, const aikido::constraint::dart::TSRPtr &tsr, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit, std::size_t maxNumTrials, const distance::ConstConfigurationRankerPtr &ranker=nullptr)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToTSRwithTrajectoryConstraint (const aikido::statespace::dart::MetaSkeletonStateSpacePtr &stateSpace, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &bodyNode, const aikido::constraint::dart::TSRPtr &goalTsr, const aikido::constraint::dart::TSRPtr &constraintTsr, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 TODO: Replace this with Problem interface. More...
 
aikido::trajectory::TrajectoryPtr planToNamedConfiguration (const std::string &name, const aikido::constraint::dart::CollisionFreePtr &collisionFree, double timelimit)
 Plans to a named configuration. More...
 
void setCRRTPlannerParameters (const util::CRRTPlannerParameters &crrtParameters)
 TODO: This should be revisited once we have Planner API. More...
 
Eigen::VectorXd getVelocityLimits (const dart::dynamics::MetaSkeleton &metaSkeleton) const
 Computes velocity limits from the MetaSkeleton. More...
 
Eigen::VectorXd getAccelerationLimits (const dart::dynamics::MetaSkeleton &metaSkeleton) const
 Computes acceleration limits from the MetaSkeleton. More...
 
virtual dart::dynamics::ConstMetaSkeletonPtr getMetaSkeleton () const=0
 
dart::dynamics::MetaSkeletonPtr getMetaSkeleton ()
 
virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr getStateSpace () const=0
 
aikido::statespace::dart::MetaSkeletonStateSpacePtr getStateSpace ()
 
- Public Member Functions inherited from aikido::robot::Robot
virtual ~Robot ()=default
 
dart::dynamics::MetaSkeletonPtr getMetaSkeleton ()
 
aikido::statespace::dart::MetaSkeletonStateSpacePtr getStateSpace ()
 

Private Types

using ConfigurationMap = std::unordered_map< std::string, const Eigen::VectorXd >
 

Private Member Functions

std::unique_ptr< aikido::common::RNGcloneRNG ()
 

Private Attributes

RobotmRootRobot
 If this robot belongs to another (Composite)Robot, mRootRobot is the topmost robot containing this robot. More...
 
std::string mName
 Name of this robot. More...
 
dart::dynamics::MetaSkeletonPtr mMetaSkeleton
 MetaSkeleton of this robot. More...
 
statespace::dart::MetaSkeletonStateSpacePtr mStateSpace
 
dart::dynamics::SkeletonPtr mParentSkeleton
 Skeleton containing mRobot. More...
 
std::unique_ptr< common::RNGmRng
 True if running in simulation mode. More...
 
std::shared_ptr< control::TrajectoryExecutormTrajectoryExecutor
 
ConfigurationMap mNamedConfigurations
 Commonly used configurations. More...
 
::dart::collision::CollisionDetectorPtr mCollisionDetector
 
std::shared_ptr< dart::collision::BodyNodeCollisionFilter > mSelfCollisionFilter
 
util::CRRTPlannerParameters mCRRTParameters
 

Member Typedef Documentation

◆ ConfigurationMap

using aikido::robot::ConcreteRobot::ConfigurationMap = std::unordered_map<std::string, const Eigen::VectorXd>
private

Constructor & Destructor Documentation

◆ ConcreteRobot()

aikido::robot::ConcreteRobot::ConcreteRobot ( const std::string &  name,
dart::dynamics::MetaSkeletonPtr  metaSkeleton,
bool  simulation,
aikido::common::UniqueRNGPtr  rng,
aikido::control::TrajectoryExecutorPtr  trajectoryExecutor,
dart::collision::CollisionDetectorPtr  collisionDetector,
std::shared_ptr< dart::collision::BodyNodeCollisionFilter >  selfCollisionFilter 
)

Constructor.

Parameters
[in]nameName of the robot.
[in]metaSkeletonMetaskeleton of the robot.
[in]simulationTrue for running in simulation.
[in]rngRandom number generator.
[in]trajectoryExecutorTrajectory executor for the metaSkeleton.
[in]collisionDetectorCollision detector.
[in]selfCollisionFilterCollision filter for self collision.

◆ ~ConcreteRobot()

virtual aikido::robot::ConcreteRobot::~ConcreteRobot ( )
virtualdefault

Member Function Documentation

◆ cloneRNG()

std::unique_ptr<aikido::common::RNG> aikido::robot::ConcreteRobot::cloneRNG ( )
private

◆ executeTrajectory()

virtual std::future<void> aikido::robot::ConcreteRobot::executeTrajectory ( const trajectory::TrajectoryPtr trajectory) const
overridevirtual

Executes a trajectory.

Parameters
[in]trajectoryTimed trajectory to execute

Implements aikido::robot::Robot.

◆ getAccelerationLimits()

Eigen::VectorXd aikido::robot::ConcreteRobot::getAccelerationLimits ( const dart::dynamics::MetaSkeleton &  metaSkeleton) const

Computes acceleration limits from the MetaSkeleton.

These should be interpreted as absolute in both the positive and negative directions.

Parameters
[in]metaSkeletonMetaSkeleton to compute limits for.
Returns
Symmetric acceleration limits.

◆ getFullCollisionConstraint()

virtual aikido::constraint::TestablePtr aikido::robot::ConcreteRobot::getFullCollisionConstraint ( const statespace::dart::ConstMetaSkeletonStateSpacePtr space,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const constraint::dart::CollisionFreePtr collisionFree 
) const
overridevirtual

TODO: Consider changing this to return a CollisionFreePtr.

Combines provided collision constraint with self collision constraint.

Parameters
[in]spaceSpace in which this collision constraint operates.
[in]metaSkeletonMetaskeleton for the statespace.
[in]collisionFreeCollision constraint.
Returns
Combined constraint.

Implements aikido::robot::Robot.

◆ getMetaSkeleton() [1/3]

dart::dynamics::MetaSkeletonPtr aikido::robot::Robot::getMetaSkeleton
Returns
MetaSkeleton of this robot.

◆ getMetaSkeleton() [2/3]

virtual dart::dynamics::ConstMetaSkeletonPtr aikido::robot::ConcreteRobot::getMetaSkeleton ( ) const
overridevirtual
Returns
[const] MetaSkeleton of this robot.

Implements aikido::robot::Robot.

◆ getMetaSkeleton() [3/3]

virtual dart::dynamics::ConstMetaSkeletonPtr aikido::robot::Robot::getMetaSkeleton
Returns
[const] MetaSkeleton of this robot.

◆ getName()

virtual std::string aikido::robot::ConcreteRobot::getName ( ) const
overridevirtual
Returns
Name of this Robot

Implements aikido::robot::Robot.

◆ getNamedConfiguration()

virtual boost::optional<Eigen::VectorXd> aikido::robot::ConcreteRobot::getNamedConfiguration ( const std::string &  name) const
overridevirtual

Returns a named configuration.

Parameters
[in]nameName of the configuration
Returns
Configuration

Implements aikido::robot::Robot.

◆ getSelfCollisionConstraint()

virtual aikido::constraint::dart::CollisionFreePtr aikido::robot::ConcreteRobot::getSelfCollisionConstraint ( const statespace::dart::ConstMetaSkeletonStateSpacePtr space,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton 
) const
overridevirtual

Returns self-collision constraint.

Parameters
[in]spaceSpace in which this collision constraint operates.
[in]metaSkeletonMetaskeleton for the statespace.

Implements aikido::robot::Robot.

◆ getStateSpace() [1/3]

aikido::statespace::dart::MetaSkeletonStateSpacePtr aikido::robot::Robot::getStateSpace
Returns
MetaSkeletonStateSpace of this robot.

◆ getStateSpace() [2/3]

virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr aikido::robot::ConcreteRobot::getStateSpace ( ) const
overridevirtual
Returns
[const] MetaSkeletonStateSpace of this robot.

Implements aikido::robot::Robot.

◆ getStateSpace() [3/3]

virtual aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr aikido::robot::Robot::getStateSpace
Returns
[const] MetaSkeletonStateSpace of this robot.

◆ getTrajectoryPostProcessor()

std::shared_ptr<aikido::planner::TrajectoryPostProcessor> aikido::robot::ConcreteRobot::getTrajectoryPostProcessor ( const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
bool  enableShortcut,
bool  enableBlend,
double  shortcutTimelimit,
double  blendRadius,
int  blendIterations,
double  feasibilityCheckResolution,
double  feasibilityApproxTolerance 
) const
Parameters
[in]metaSkeletonThe MetaSkeleton whose limits must be respected.

◆ getVelocityLimits()

Eigen::VectorXd aikido::robot::ConcreteRobot::getVelocityLimits ( const dart::dynamics::MetaSkeleton &  metaSkeleton) const

Computes velocity limits from the MetaSkeleton.

These should be interpreted as absolute in both the positive and negative directions.

Parameters
[in]metaSkeletonMetaSkeleton to compute limits for.
Returns
Symmetric velocity limits.

◆ planToConfiguration() [1/2]

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToConfiguration ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const aikido::statespace::StateSpace::State goalState,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

TODO: Replace this with Problem interface.

Plan the robot to a specific configuration. Restores the robot to its initial configuration after planning.

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton
[in]metaSkeletonMetaskeleton to plan with.
[in]goalStateGoal state
[in]collisionFreeTestable constraint to check for collision.
[in]timelimitMax time to spend per planning to each IK
Returns
Trajectory. nullptr if fails to find a trajectory.

◆ planToConfiguration() [2/2]

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToConfiguration ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const Eigen::VectorXd &  goal,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

TODO: Replace this with Problem interface.

Wrapper for planToConfiguration using Eigen vectors. Plan the robot to a specific configuration. Restores the robot to its initial configuration after planning.

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton
[in]metaSkeletonMetaskeleton to plan with.
[in]goalGoal position
[in]collisionFreeTestable constraint to check for collision.
[in]timelimitMax time to spend per planning to each IK
Returns
Trajectory. nullptr if fails to find a trajectory.

◆ planToConfigurations() [1/2]

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToConfigurations ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const std::vector< aikido::statespace::StateSpace::State * > &  goalStates,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

TODO: Replace this with Problem interface.

Plan the robot to a set of configurations. Restores the robot to its initial configuration after planning.

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton
[in]metaSkeletonMetaskeleton to plan with.
[in]goalStatesA set of goal states.
[in]collisionFreeTestable constraint to check for collision.
[in]timelimitMax time to spend per planning to each IK
Returns
Trajectory. nullptr if fails to find a trajectory.

◆ planToConfigurations() [2/2]

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToConfigurations ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const std::vector< Eigen::VectorXd > &  goals,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

TODO: Replace this with Problem interface.

Plan the robot to a set of configurations. Restores the robot to its initial configuration after planning.

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton
[in]metaSkeletonMetaskeleton to plan with.
[in]goalsA set of goals.
[in]collisionFreeTestable constraint to check for collision.
[in]timelimitMax time to spend per planning to each IK
Returns
Trajectory. nullptr if fails to find a trajectory.

◆ planToNamedConfiguration()

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToNamedConfiguration ( const std::string &  name,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

Plans to a named configuration.

Parameters
[in]nameName of the configuration to plan to
[in]collisionFreeCollision constraint
[in]timelimitMax time (seconds) to spend
Returns
Trajectory to the configuration, or nullptr if planning fails

◆ planToTSR()

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToTSR ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const dart::dynamics::BodyNodePtr &  bodyNode,
const aikido::constraint::dart::TSRPtr tsr,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit,
std::size_t  maxNumTrials,
const distance::ConstConfigurationRankerPtr ranker = nullptr 
)

TODO: Replace this with Problem interface.

Plans the configuration of the metakeleton such that the specified bodynode is set to a sample in TSR

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton.
[in]metaSkeletonThe MetaSkeleton to plan with.
[in]bodyNodeBodynode whose frame for which TSR is constructed.
[in]tsrTSR
[in]collisionFreeTestable constraint to check for collision.
[in]timelimitMax time (seconds) to spend per planning to each IK
[in]maxNumTrialsMax numer of trials to plan.
[in]rankerRanker to rank the sampled configurations. If nullptr, NominalConfigurationRanker is used with the current metaSkeleton pose.
Returns
Trajectory to a sample in TSR, or nullptr if planning fails.

◆ planToTSRwithTrajectoryConstraint()

aikido::trajectory::TrajectoryPtr aikido::robot::ConcreteRobot::planToTSRwithTrajectoryConstraint ( const aikido::statespace::dart::MetaSkeletonStateSpacePtr stateSpace,
const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const dart::dynamics::BodyNodePtr &  bodyNode,
const aikido::constraint::dart::TSRPtr goalTsr,
const aikido::constraint::dart::TSRPtr constraintTsr,
const aikido::constraint::dart::CollisionFreePtr collisionFree,
double  timelimit 
)

TODO: Replace this with Problem interface.

Returns a Trajectory that moves the configuration of the metakeleton such that the specified bodynode is set to a sample in a goal TSR and the trajectory is constrained to a constraint TSR

Parameters
[in]stateSpaceThe StateSpace for the metaskeleton
[in]metaSkeletonThe MetaSkeleton to plan with.
[in]bodyNodeBodynode whose frame is meant for TSR
[in]goalTsrThe goal TSR to move to
[in]constraintTsrThe constraint TSR for the trajectory
[in]collisionFreeCollision constraint
[in]timelimitMax time (seconds) to spend per planning to each IK
Returns
Trajectory to a sample in TSR, or nullptr if planning fails.

◆ retimePath()

virtual aikido::trajectory::UniqueSplinePtr aikido::robot::ConcreteRobot::retimePath ( const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const aikido::trajectory::Trajectory path 
)
overridevirtual

Returns a timed trajectory that can be executed by the robot.

Parameters
[in]metaSkeletonMetaskeleton of the path.
[in]pathGeometric path to execute.

Implements aikido::robot::Robot.

◆ retimePathWithKunz()

virtual std::unique_ptr<aikido::trajectory::Spline> aikido::robot::ConcreteRobot::retimePathWithKunz ( const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const aikido::trajectory::Trajectory path,
double  maxDeviation,
double  timestep 
)
overridevirtual

Returns a timed trajectory computed with KunzRetimer.

Parameters
[in]metaSkeletonMetaskeleton of the path.
[in]pathGeometric path to execute.
[in]maxDeviationMaximum deviation allowed from original path.
[in]timestepTime step between trajectory points.

Implements aikido::robot::Robot.

◆ setCRRTPlannerParameters()

void aikido::robot::ConcreteRobot::setCRRTPlannerParameters ( const util::CRRTPlannerParameters crrtParameters)

TODO: This should be revisited once we have Planner API.

Sets CRRTPlanner parameters.

Parameters
[in]crrtParametersCRRT planner parameters

◆ setNamedConfigurations()

virtual void aikido::robot::ConcreteRobot::setNamedConfigurations ( std::unordered_map< std::string, const Eigen::VectorXd >  namedConfigurations)
overridevirtual

Sets the list of named configurations.

Parameters
[in]namedConfigurationsMap of name, configuration

Implements aikido::robot::Robot.

◆ setRoot()

virtual void aikido::robot::ConcreteRobot::setRoot ( Robot robot)
overridevirtual

Sets the root of this robot.

Parameters
[in]robotParent robot

Implements aikido::robot::Robot.

◆ smoothPath()

virtual aikido::trajectory::UniqueSplinePtr aikido::robot::ConcreteRobot::smoothPath ( const dart::dynamics::MetaSkeletonPtr &  metaSkeleton,
const aikido::trajectory::Trajectory path,
const constraint::TestablePtr constraint 
)
overridevirtual

Returns a timed trajectory that can be executed by the robot.

Parameters
[in]metaSkeletonMetaskeleton of the path.
[in]pathGeometric path to execute.
[in]constraintMust be satisfied after postprocessing. Typically collision constraint is passed.

Implements aikido::robot::Robot.

◆ step()

virtual void aikido::robot::ConcreteRobot::step ( const std::chrono::system_clock::time_point &  timepoint)
overridevirtual

Simulates up to the provided timepoint.

Note
Assumes that the robot's skeleton is locked.
Parameters
[in]timepointTime to simulate to.

Implements aikido::robot::Robot.

Member Data Documentation

◆ mCollisionDetector

::dart::collision::CollisionDetectorPtr aikido::robot::ConcreteRobot::mCollisionDetector
private

◆ mCRRTParameters

util::CRRTPlannerParameters aikido::robot::ConcreteRobot::mCRRTParameters
private

◆ mMetaSkeleton

dart::dynamics::MetaSkeletonPtr aikido::robot::ConcreteRobot::mMetaSkeleton
private

MetaSkeleton of this robot.

◆ mName

std::string aikido::robot::ConcreteRobot::mName
private

Name of this robot.

◆ mNamedConfigurations

ConfigurationMap aikido::robot::ConcreteRobot::mNamedConfigurations
private

Commonly used configurations.

◆ mParentSkeleton

dart::dynamics::SkeletonPtr aikido::robot::ConcreteRobot::mParentSkeleton
private

Skeleton containing mRobot.

◆ mRng

std::unique_ptr<common::RNG> aikido::robot::ConcreteRobot::mRng
private

True if running in simulation mode.

◆ mRootRobot

Robot* aikido::robot::ConcreteRobot::mRootRobot
private

If this robot belongs to another (Composite)Robot, mRootRobot is the topmost robot containing this robot.

◆ mSelfCollisionFilter

std::shared_ptr<dart::collision::BodyNodeCollisionFilter> aikido::robot::ConcreteRobot::mSelfCollisionFilter
private

◆ mStateSpace

statespace::dart::MetaSkeletonStateSpacePtr aikido::robot::ConcreteRobot::mStateSpace
private

◆ mTrajectoryExecutor

std::shared_ptr<control::TrajectoryExecutor> aikido::robot::ConcreteRobot::mTrajectoryExecutor
private