hpp-manipulation  6.0.0
Classes for manipulation planning.
Path_planner

Classes

class  hpp::manipulation::pathPlanner::StatesPathFinder
 
class  hpp::manipulation::pathPlanner::TransitionPlanner
 

Typedefs

typedef core::PathPlannerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::PathPlannerPtr_t
 
typedef core::PathProjectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::PathProjectorPtr_t
 
typedef core::PathPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::PathPtr_t
 
typedef core::PathOptimizerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::PathOptimizerPtr_t
 
typedef core::PathVector hpp::manipulation::pathPlanner::TransitionPlanner::PathVector
 
typedef core::PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::PathVectorPtr_t
 
typedef core::Parameter hpp::manipulation::pathPlanner::TransitionPlanner::Parameter
 

Functions

static TransitionPlannerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::createWithRoadmap (const core::ProblemConstPtr_t &problem, const core::RoadmapPtr_t &roadmap)
 Create instance and return share pointer. More...
 
PathPlannerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::innerPlanner () const
 Get the inner planner. More...
 
void hpp::manipulation::pathPlanner::TransitionPlanner::innerPlanner (const PathPlannerPtr_t &planner)
 Set the inner planner. More...
 
core::ProblemPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::innerProblem () const
 Get the inner problem. More...
 
virtual void hpp::manipulation::pathPlanner::TransitionPlanner::startSolve ()
 
virtual void hpp::manipulation::pathPlanner::TransitionPlanner::oneStep ()
 
PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::planPath (const Configuration_t qInit, matrixIn_t qGoals, bool resetRoadmap)
 
PathPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::directPath (ConfigurationIn_t q1, ConfigurationIn_t q2, bool validate, bool &success, std::string &status)
 
bool hpp::manipulation::pathPlanner::TransitionPlanner::validateConfiguration (ConfigurationIn_t q, std::size_t id, core::ValidationReportPtr_t &report) const
 
PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::optimizePath (const PathPtr_t &path)
 
PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::timeParameterization (const PathVectorPtr_t &path)
 
void hpp::manipulation::pathPlanner::TransitionPlanner::setEdge (std::size_t id)
 
void hpp::manipulation::pathPlanner::TransitionPlanner::setReedsAndSheppSteeringMethod (double turningRadius)
 Create a Reeds and Shepp steering method and path it to the problem. More...
 
void hpp::manipulation::pathPlanner::TransitionPlanner::pathProjector (const PathProjectorPtr_t pathProjector)
 Set the path projector. More...
 
void hpp::manipulation::pathPlanner::TransitionPlanner::clearPathOptimizers ()
 Clear path optimizers. More...
 
void hpp::manipulation::pathPlanner::TransitionPlanner::addPathOptimizer (const PathOptimizerPtr_t &pathOptimizer)
 Add a path optimizer. More...
 
void hpp::manipulation::pathPlanner::TransitionPlanner::setParameter (const std::string &key, const Parameter &value)
 Set parameter to the inner problem. More...
 
 hpp::manipulation::pathPlanner::TransitionPlanner::TransitionPlanner (const core::ProblemConstPtr_t &problem, const core::RoadmapPtr_t &roadmap)
 
void hpp::manipulation::pathPlanner::TransitionPlanner::init (TransitionPlannerWkPtr_t weak)
 store weak pointer to itself More...
 

Detailed Description

Typedef Documentation

◆ Parameter

◆ PathOptimizerPtr_t

◆ PathPlannerPtr_t

◆ PathProjectorPtr_t

◆ PathPtr_t

◆ PathVector

◆ PathVectorPtr_t

Function Documentation

◆ addPathOptimizer()

void hpp::manipulation::pathPlanner::TransitionPlanner::addPathOptimizer ( const PathOptimizerPtr_t pathOptimizer)

Add a path optimizer.

◆ clearPathOptimizers()

void hpp::manipulation::pathPlanner::TransitionPlanner::clearPathOptimizers ( )

Clear path optimizers.

◆ createWithRoadmap()

static TransitionPlannerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::createWithRoadmap ( const core::ProblemConstPtr_t &  problem,
const core::RoadmapPtr_t &  roadmap 
)
static

Create instance and return share pointer.

◆ directPath()

PathPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::directPath ( ConfigurationIn_t  q1,
ConfigurationIn_t  q2,
bool  validate,
bool &  success,
std::string &  status 
)

Call the steering method between two configurations

Parameters
q1,q2the start and end configurations,
validatewhether resulting path should be tested for collision
Return values
successTrue if path has been computed and validated successfully
statusa message in case of failure. If a path projector has been selected, the path is tested for continuity.

◆ init()

void hpp::manipulation::pathPlanner::TransitionPlanner::init ( TransitionPlannerWkPtr_t  weak)
protected

store weak pointer to itself

◆ innerPlanner() [1/2]

PathPlannerPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::innerPlanner ( ) const
inline

Get the inner planner.

◆ innerPlanner() [2/2]

void hpp::manipulation::pathPlanner::TransitionPlanner::innerPlanner ( const PathPlannerPtr_t planner)
inline

Set the inner planner.

◆ innerProblem()

core::ProblemPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::innerProblem ( ) const
inline

Get the inner problem.

◆ oneStep()

virtual void hpp::manipulation::pathPlanner::TransitionPlanner::oneStep ( )
virtual

One step of the planner Calls the same method of the internally stored planner

◆ optimizePath()

PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::optimizePath ( const PathPtr_t path)

Optimize path using the selected path optimizers

Parameters
pathinput path
Returns
optimized path

◆ pathProjector()

void hpp::manipulation::pathPlanner::TransitionPlanner::pathProjector ( const PathProjectorPtr_t  pathProjector)

Set the path projector.

◆ planPath()

PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::planPath ( const Configuration_t  qInit,
matrixIn_t  qGoals,
bool  resetRoadmap 
)

Solve the problem defined by input configurations

Parameters
qInitinitial configuration,
qGoals,goalconfigurations,
resetRoadmapwhether to reset the roadmap

◆ setEdge()

void hpp::manipulation::pathPlanner::TransitionPlanner::setEdge ( std::size_t  id)

Set transition along which we wish to plan a path

Parameters
idindex of the edge in the constraint graph

◆ setParameter()

void hpp::manipulation::pathPlanner::TransitionPlanner::setParameter ( const std::string &  key,
const Parameter value 
)

Set parameter to the inner problem.

◆ setReedsAndSheppSteeringMethod()

void hpp::manipulation::pathPlanner::TransitionPlanner::setReedsAndSheppSteeringMethod ( double  turningRadius)

Create a Reeds and Shepp steering method and path it to the problem.

◆ startSolve()

virtual void hpp::manipulation::pathPlanner::TransitionPlanner::startSolve ( )
virtual

Initialize path planning Set right hand side of problem constraints with initial configuration

◆ timeParameterization()

PathVectorPtr_t hpp::manipulation::pathPlanner::TransitionPlanner::timeParameterization ( const PathVectorPtr_t path)

Compute time parameterization of path

Parameters
pathinput path
Returns
time parameterized trajectory Uses core::pathOptimization::SimpleTimeParameterization.

◆ TransitionPlanner()

hpp::manipulation::pathPlanner::TransitionPlanner::TransitionPlanner ( const core::ProblemConstPtr_t &  problem,
const core::RoadmapPtr_t &  roadmap 
)
protected

Constructor Cast problem into manipulation::Problem and store shared pointer

Create an inner problem and forward the following elements of the input problem to the inner problem:

  • parameters,
  • collision obstacles. Add instances of core::CollisionValidation and core::JointBoundValidation to the inner problem.

◆ validateConfiguration()

bool hpp::manipulation::pathPlanner::TransitionPlanner::validateConfiguration ( ConfigurationIn_t  q,
std::size_t  id,
core::ValidationReportPtr_t &  report 
) const

Validate a configuration with the path validation of an edge.

Parameters
qconfiguration to validate,
idindex of the edge in the constraint graph.