Go to the documentation of this file. 1 #ifndef AIKIDO_ROBOT_UTIL_HPP_
2 #define AIKIDO_ROBOT_UTIL_HPP_
4 #include <dart/dart.hpp>
5 #include <dart/dynamics/dynamics.hpp>
106 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
122 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
123 const std::vector<statespace::StateSpace::State*>& goalStates,
143 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
144 const dart::dynamics::BodyNodePtr& bodyNode,
149 std::size_t maxNumTrials,
167 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
168 const dart::dynamics::BodyNodePtr& bodyNode,
191 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
192 const dart::dynamics::BodyNodePtr& body,
193 const Eigen::Vector3d& direction,
197 double positionTolerance = 1e-3,
198 double angularTolerance = 1e-3,
218 const dart::dynamics::MetaSkeletonPtr& metaSkeleton,
219 const dart::dynamics::BodyNodePtr& bodyNode,
221 const Eigen::Vector3d& direction,
224 double positionTolerance = 1e-3,
225 double angularTolerance = 1e-3,
231 std::unordered_map<std::string, const Eigen::VectorXd>
244 const dart::dynamics::BodyNodePtr& bodyNode,
245 const Eigen::Vector3d& direction,
249 double positionTolerance = 1e-3,
250 double angularTolerance = 1e-3);
257 const Eigen::Vector3d& positionFrom,
const Eigen::Vector3d& positionTo);
265 const dart::dynamics::MetaSkeleton& skeleton,
266 const std::string& bodyNodeName);
274 dart::dynamics::MetaSkeleton& skeleton,
const std::string& bodyNodeName);
280 #endif // AIKIDO_ROBOT_UTIL_HPP_
double minStepSize
Definition: util.hpp:90
double negativeDistanceTolerance
Definition: util.hpp:53
double constraintCheckResolution
Definition: util.hpp:57
double angularGain
Definition: util.hpp:59
CRRTPlannerParameters(common::RNG *rng=nullptr, std::size_t maxNumTrials=5, double maxExtensionDistance=std::numeric_limits< double >::infinity(), double maxDistanceBtwProjections=0.1, double minStepSize=0.05, double minTreeConnectionDistance=0.1, std::size_t projectionMaxIteration=20, double projectionTolerance=1e-4)
Definition: util.hpp:65
std::shared_ptr< MetaSkeletonStateSpace > MetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
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.
trajectory::InterpolatedPtr planToEndEffectorOffsetByCRRT(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &bodyNode, const constraint::TestablePtr &collisionTestable, const Eigen::Vector3d &direction, double distance, double timelimit, double positionTolerance=1e-3, double angularTolerance=1e-3, const CRRTPlannerParameters &crrtParameters=CRRTPlannerParameters())
Plan to a desired end-effector offset with fixed orientation using CRRT.
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.
double jointLimitTolerance
Definition: util.hpp:56
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.
double projectionTolerance
Definition: util.hpp:93
std::shared_ptr< Interpolated > InterpolatedPtr
Definition: Interpolated.hpp:11
std::shared_ptr< Trajectory > TrajectoryPtr
Definition: Trajectory.hpp:13
double linearVelocity
Definition: util.hpp:50
VectorFieldPlannerParameters(double linearVelocity, double negativeDistanceTolerance, double positiveDistanceTolerance, double initialStepSize, double jointLimitTolerance, double constraintCheckResolution, double linearGain=1.0, double angularGain=0.2, double timestep=0.1)
Definition: util.hpp:30
trajectory::TrajectoryPtr planToEndEffectorOffset(const statespace::dart::MetaSkeletonStateSpacePtr &space, const dart::dynamics::MetaSkeletonPtr &metaSkeleton, const dart::dynamics::BodyNodePtr &body, const Eigen::Vector3d &direction, const constraint::TestablePtr &collisionTestable, double distance, double timelimit, double positionTolerance=1e-3, double angularTolerance=1e-3, const VectorFieldPlannerParameters &vfParameters=VectorFieldPlannerParameters(), const CRRTPlannerParameters &crrtParameters=CRRTPlannerParameters())
Plan to a desired end-effector offset with fixed orientation.
Eigen::Isometry3d getLookAtIsometry(const Eigen::Vector3d &positionFrom, const Eigen::Vector3d &positionTo)
Get a pose at a point looking at another point.
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the typ...
Definition: RNG.hpp:24
std::shared_ptr< const ConfigurationRanker > ConstConfigurationRankerPtr
Definition: ConfigurationRanker.hpp:13
VectorFieldPlannerParameters()=default
double maxExtensionDistance
Definition: util.hpp:88
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...
const dart::dynamics::BodyNode * getBodyNodeOrThrow(const dart::dynamics::MetaSkeleton &skeleton, const std::string &bodyNodeName)
Get a specific BodyNode of a MetaSkeleton or throw an execption if it doesn't exist.
double positiveDistanceTolerance
Definition: util.hpp:54
double maxDistanceBtwProjections
Definition: util.hpp:89
double linearGain
Definition: util.hpp:58
common::RNG * rng
Definition: util.hpp:86
std::size_t maxNumTrials
Definition: util.hpp:87
Definition: StateSpace.hpp:167
double initialStepSize
Definition: util.hpp:55
std::shared_ptr< Testable > TestablePtr
Definition: Testable.hpp:13
double timestep
Definition: util.hpp:60
bool getGoalAndConstraintTSRForEndEffectorOffset(const dart::dynamics::BodyNodePtr &bodyNode, const Eigen::Vector3d &direction, double distance, const constraint::dart::TSRPtr &goal, const constraint::dart::TSRPtr &constraint, double positionTolerance=1e-3, double angularTolerance=1e-3)
Gets Goal and Constraint TSR for end-effector.
std::size_t projectionMaxIteration
Definition: util.hpp:92
std::unordered_map< std::string, const Eigen::VectorXd > parseYAMLToNamedConfigurations(const YAML::Node &node)
Parses YAML node for named configurtaions.
double minTreeConnectionDistance
Definition: util.hpp:91