hpp-manipulation
6.0.0
Classes for manipulation planning.
|
#include <hpp/manipulation/path-planner/transition-planner.hh>
Public Types | |
typedef core::PathPlannerPtr_t | PathPlannerPtr_t |
typedef core::PathProjectorPtr_t | PathProjectorPtr_t |
typedef core::PathPtr_t | PathPtr_t |
typedef core::PathOptimizerPtr_t | PathOptimizerPtr_t |
typedef core::PathVector | PathVector |
typedef core::PathVectorPtr_t | PathVectorPtr_t |
typedef core::Parameter | Parameter |
Public Member Functions | |
PathPlannerPtr_t | innerPlanner () const |
Get the inner planner. More... | |
void | innerPlanner (const PathPlannerPtr_t &planner) |
Set the inner planner. More... | |
core::ProblemPtr_t | innerProblem () const |
Get the inner problem. More... | |
virtual void | startSolve () |
virtual void | oneStep () |
PathVectorPtr_t | planPath (const Configuration_t qInit, matrixIn_t qGoals, bool resetRoadmap) |
PathPtr_t | directPath (ConfigurationIn_t q1, ConfigurationIn_t q2, bool validate, bool &success, std::string &status) |
bool | validateConfiguration (ConfigurationIn_t q, std::size_t id, core::ValidationReportPtr_t &report) const |
PathVectorPtr_t | optimizePath (const PathPtr_t &path) |
PathVectorPtr_t | timeParameterization (const PathVectorPtr_t &path) |
void | setEdge (std::size_t id) |
void | setReedsAndSheppSteeringMethod (double turningRadius) |
Create a Reeds and Shepp steering method and path it to the problem. More... | |
void | pathProjector (const PathProjectorPtr_t pathProjector) |
Set the path projector. More... | |
void | clearPathOptimizers () |
Clear path optimizers. More... | |
void | addPathOptimizer (const PathOptimizerPtr_t &pathOptimizer) |
Add a path optimizer. More... | |
void | setParameter (const std::string &key, const Parameter &value) |
Set parameter to the inner problem. More... | |
Static Public Member Functions | |
static TransitionPlannerPtr_t | createWithRoadmap (const core::ProblemConstPtr_t &problem, const core::RoadmapPtr_t &roadmap) |
Create instance and return share pointer. More... | |
Protected Member Functions | |
TransitionPlanner (const core::ProblemConstPtr_t &problem, const core::RoadmapPtr_t &roadmap) | |
void | init (TransitionPlannerWkPtr_t weak) |
store weak pointer to itself More... | |
Plan paths in a leaf of a transition
In many manipulation applications, the sequence of actions is knwown in advance or computed by a task planner. There is a need then to connect configurations that lie on the same leaf of a transition. This class performs this computation.
The constraint graph is stored in the Problem instance of the planner. To select the transition, call method setEdge with the index of the transition.
At construction, a core::Problem instance is created, as well as a core::PathPlanner instance. They are respectively called the inner problem and the inner planner.
The leaf of the transition is defined by the initial configuration passed to method planPath . The right hand side of the inner problem constraints is initialized with this configuration.
The class stores path optimizers that are called when invoking method optimizePath .
Method timeParameterization computes a time parameterization of a given path.