hpp-manipulation  4.9.0
Classes for manipulation planning.
hpp::manipulation::ProblemSolver Class Reference

#include <hpp/manipulation/problem-solver.hh>

Inheritance diagram for hpp::manipulation::ProblemSolver:
Collaboration diagram for hpp::manipulation::ProblemSolver:

Public Types

typedef core::ProblemSolver parent_t
 
typedef std::vector< std::string > Names_t
 
- Public Types inherited from hpp::core::ProblemSolver
typedef std::vector< PathOptimizerPtr_tPathOptimizers_t
 
typedef std::vector< std::string > PathOptimizerTypes_t
 
typedef std::vector< std::string > ConfigValidationTypes_t
 
typedef std::vector< PathOptimizerPtr_tPathOptimizers_t
 
typedef std::vector< std::string > PathOptimizerTypes_t
 
typedef std::vector< std::string > ConfigValidationTypes_t
 

Public Member Functions

virtual ~ProblemSolver ()
 Destructor. More...
 
 ProblemSolver ()
 
virtual void robot (const core::DevicePtr_t &robot)
 
const DevicePtr_trobot () const
 Get robot. More...
 
void createPlacementConstraint (const std::string &name, const StringList_t &surface1, const StringList_t &surface2, const value_type &margin=1e-4)
 
void createPrePlacementConstraint (const std::string &name, const StringList_t &surface1, const StringList_t &surface2, const value_type &width, const value_type &margin=1e-4)
 
void createGraspConstraint (const std::string &name, const std::string &gripper, const std::string &handle)
 
void createPreGraspConstraint (const std::string &name, const std::string &gripper, const std::string &handle)
 
virtual void pathValidationType (const std::string &type, const value_type &tolerance)
 
virtual void resetProblem ()
 Create a new problem. More...
 
virtual void resetRoadmap ()
 Create a new Roadmap. More...
 
ProblemPtr_t problem () const
 Get pointer to problem. More...
 
void setTargetState (const graph::StatePtr_t state)
 
Constraint graph
void constraintGraph (const std::string &graph)
 Set the constraint graph. More...
 
graph::GraphPtr_t constraintGraph () const
 Get the constraint graph. More...
 
void initConstraintGraph ()
 Should be called before any call on the graph is made. More...
 
- Public Member Functions inherited from hpp::core::ProblemSolver
void robotType (const std::string &type)
 
const std::string & robotType () const
 
DevicePtr_t createRobot (const std::string &name)
 
const DevicePtr_trobot () const
 
ProblemPtr_t problem ()
 
const ConfigurationPtr_tinitConfig () const
 
virtual void initConfig (const ConfigurationPtr_t &config)
 
const Configurations_tgoalConfigs () const
 
virtual void addGoalConfig (const ConfigurationPtr_t &config)
 
void resetGoalConfigs ()
 
virtual void pathPlannerType (const std::string &type)
 
const std::string & pathPlannerType () const
 
void distanceType (const std::string &type)
 
const std::string & distanceType () const
 
void steeringMethodType (const std::string &type)
 
const std::string & steeringMethodType () const
 
void configurationShooterType (const std::string &type)
 
const std::string & configurationShooterType () const
 
const PathPlannerPtr_tpathPlanner () const
 
void addPathOptimizer (const std::string &type)
 
const PathOptimizerTypes_tpathOptimizerTypes () const
 
void clearPathOptimizers ()
 
const PathOptimizerPtr_tpathOptimizer (std::size_t rank) const
 
void optimizePath (PathVectorPtr_t path)
 
const std::string & pathValidationType (value_type &tolerance) const
 
void pathProjectorType (const std::string &type, const value_type &step)
 
const std::string & pathProjectorType (value_type &tolerance) const
 
virtual void addConfigValidation (const std::string &type)
 
const ConfigValidationTypes_t configValidationTypes ()
 
void clearConfigValidations ()
 
void addConfigValidationBuilder (const std::string &type, const ConfigValidationBuilder_t &builder)
 
const RoadmapPtr_troadmap () const
 
const ObjectStdVector_tcollisionObstacles () const
 
const ObjectStdVector_tdistanceObstacles () const
 
void roadmap (const RoadmapPtr_t &roadmap)
 
void initDistance ()
 
void initSteeringMethod ()
 
void initPathProjector ()
 
void initPathValidation ()
 
void initConfigValidation ()
 
void initValidations ()
 
virtual void initProblemTarget ()
 
void addConstraint (const ConstraintPtr_t &constraint)
 
const ConstraintSetPtr_tconstraints () const
 
virtual void resetConstraints ()
 
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
 
virtual void addLockedJointToConfigProjector (const std::string &configProjName, const std::string &lockedJointName) HPP_CORE_DEPRECATED
 
void addNumericalConstraint (const std::string &name, const constraints::ImplicitPtr_t &constraint)
 
void comparisonType (const std::string &name, const ComparisonTypes_t types)
 
void comparisonType (const std::string &name, const ComparisonType &type)
 
ComparisonTypes_t comparisonType (const std::string &name) const
 
constraints::ImplicitPtr_t numericalConstraint (const std::string &name)
 
void computeValueAndJacobian (const Configuration_t &configuration, vector_t &value, matrix_t &jacobian) const
 
void maxIterProjection (size_type iterations)
 
size_type maxIterProjection () const
 
void maxIterPathPlanning (size_type iterations)
 
size_type maxIterPathPlanning () const
 
void setTimeOutPathPlanning (double timeOut)
 
double getTimeOutPathPlanning ()
 
void errorThreshold (const value_type &threshold)
 
value_type errorThreshold () const
 
void createPathOptimizers ()
 
virtual bool prepareSolveStepByStep ()
 
virtual bool executeOneStep ()
 
virtual void finishSolveStepByStep ()
 
virtual void solve ()
 
bool directPath (ConfigurationIn_t start, ConfigurationIn_t end, bool validate, std::size_t &pathId, std::string &report)
 
void addConfigToRoadmap (const ConfigurationPtr_t &config)
 
void addEdgeToRoadmap (const ConfigurationPtr_t &config1, const ConfigurationPtr_t &config2, const PathPtr_t &path)
 
void interrupt ()
 
std::size_t addPath (const PathVectorPtr_t &path)
 
void erasePath (std::size_t pathId)
 
const PathVectors_tpaths () const
 
virtual void addObstacle (const DevicePtr_t &device, bool collision, bool distance)
 
virtual void addObstacle (const CollisionObjectPtr_t &inObject, bool collision, bool distance)
 
virtual void removeObstacle (const std::string &name)
 
virtual void addObstacle (const std::string &name, FclCollisionObject &inObject, bool collision, bool distance)
 
void removeObstacleFromJoint (const std::string &jointName, const std::string &obstacleName)
 
void cutObstacle (const std::string &name, const fcl::AABB &aabb)
 
void filterCollisionPairs ()
 
CollisionObjectPtr_t obstacle (const std::string &name) const
 
const Transform3fobstacleFramePosition (const std::string &name) const
 
std::list< std::string > obstacleNames (bool collision, bool distance) const
 
const DistanceBetweenObjectsPtr_tdistanceBetweenObjects () const
 
pinocchio::GeomModelPtr_t obstacleGeomModel () const
 
pinocchio::GeomDataPtr_t obstacleGeomData () const
 
void addConstraint (const ConstraintPtr_t &constraint)
 
const ConstraintSetPtr_tconstraints () const
 
virtual void resetConstraints ()
 
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
 
virtual void addLockedJointToConfigProjector (const std::string &configProjName, const std::string &lockedJointName) HPP_CORE_DEPRECATED
 
void addNumericalConstraint (const std::string &name, const constraints::ImplicitPtr_t &constraint)
 
void comparisonType (const std::string &name, const ComparisonTypes_t types)
 
void comparisonType (const std::string &name, const ComparisonType &type)
 
ComparisonTypes_t comparisonType (const std::string &name) const
 
constraints::ImplicitPtr_t numericalConstraint (const std::string &name)
 
void computeValueAndJacobian (const Configuration_t &configuration, vector_t &value, matrix_t &jacobian) const
 
void maxIterProjection (size_type iterations)
 
size_type maxIterProjection () const
 
void maxIterPathPlanning (size_type iterations)
 
size_type maxIterPathPlanning () const
 
void setTimeOutPathPlanning (double timeOut)
 
double getTimeOutPathPlanning ()
 
void errorThreshold (const value_type &threshold)
 
value_type errorThreshold () const
 
void createPathOptimizers ()
 
virtual bool prepareSolveStepByStep ()
 
virtual bool executeOneStep ()
 
virtual void finishSolveStepByStep ()
 
virtual void solve ()
 
bool directPath (ConfigurationIn_t start, ConfigurationIn_t end, bool validate, std::size_t &pathId, std::string &report)
 
void addConfigToRoadmap (const ConfigurationPtr_t &config)
 
void addEdgeToRoadmap (const ConfigurationPtr_t &config1, const ConfigurationPtr_t &config2, const PathPtr_t &path)
 
void interrupt ()
 
std::size_t addPath (const PathVectorPtr_t &path)
 
void erasePath (std::size_t pathId)
 
const PathVectors_tpaths () const
 
virtual void addObstacle (const DevicePtr_t &device, bool collision, bool distance)
 
virtual void addObstacle (const CollisionObjectPtr_t &inObject, bool collision, bool distance)
 
virtual void removeObstacle (const std::string &name)
 
virtual void addObstacle (const std::string &name, FclCollisionObject &inObject, bool collision, bool distance)
 
void removeObstacleFromJoint (const std::string &jointName, const std::string &obstacleName)
 
void cutObstacle (const std::string &name, const fcl::AABB &aabb)
 
void filterCollisionPairs ()
 
CollisionObjectPtr_t obstacle (const std::string &name) const
 
const Transform3fobstacleFramePosition (const std::string &name) const
 
std::list< std::string > obstacleNames (bool collision, bool distance) const
 
const DistanceBetweenObjectsPtr_tdistanceBetweenObjects () const
 
pinocchio::GeomModelPtr_t obstacleGeomModel () const
 
pinocchio::GeomDataPtr_t obstacleGeomData () const
 
void robotType (const std::string &type)
 
const std::string & robotType () const
 
DevicePtr_t createRobot (const std::string &name)
 
const DevicePtr_trobot () const
 
ProblemPtr_t problem ()
 
const ConfigurationPtr_tinitConfig () const
 
virtual void initConfig (const ConfigurationPtr_t &config)
 
const Configurations_tgoalConfigs () const
 
virtual void addGoalConfig (const ConfigurationPtr_t &config)
 
void resetGoalConfigs ()
 
virtual void pathPlannerType (const std::string &type)
 
const std::string & pathPlannerType () const
 
void distanceType (const std::string &type)
 
const std::string & distanceType () const
 
void steeringMethodType (const std::string &type)
 
const std::string & steeringMethodType () const
 
void configurationShooterType (const std::string &type)
 
const std::string & configurationShooterType () const
 
const PathPlannerPtr_tpathPlanner () const
 
void addPathOptimizer (const std::string &type)
 
const PathOptimizerTypes_tpathOptimizerTypes () const
 
void clearPathOptimizers ()
 
const PathOptimizerPtr_tpathOptimizer (std::size_t rank) const
 
void optimizePath (PathVectorPtr_t path)
 
const std::string & pathValidationType (value_type &tolerance) const
 
void pathProjectorType (const std::string &type, const value_type &step)
 
const std::string & pathProjectorType (value_type &tolerance) const
 
virtual void addConfigValidation (const std::string &type)
 
const ConfigValidationTypes_t configValidationTypes ()
 
void clearConfigValidations ()
 
void addConfigValidationBuilder (const std::string &type, const ConfigValidationBuilder_t &builder)
 
const RoadmapPtr_troadmap () const
 
const ObjectStdVector_tcollisionObstacles () const
 
const ObjectStdVector_tdistanceObstacles () const
 
void roadmap (const RoadmapPtr_t &roadmap)
 
void initDistance ()
 
void initSteeringMethod ()
 
void initPathProjector ()
 
void initPathValidation ()
 
void initConfigValidation ()
 
void initValidations ()
 
virtual void initProblemTarget ()
 
void addConstraint (const ConstraintPtr_t &constraint)
 
const ConstraintSetPtr_tconstraints () const
 
virtual void resetConstraints ()
 
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
 
virtual void addLockedJointToConfigProjector (const std::string &configProjName, const std::string &lockedJointName) HPP_CORE_DEPRECATED
 
void addNumericalConstraint (const std::string &name, const constraints::ImplicitPtr_t &constraint)
 
void comparisonType (const std::string &name, const ComparisonTypes_t types)
 
void comparisonType (const std::string &name, const ComparisonType &type)
 
ComparisonTypes_t comparisonType (const std::string &name) const
 
constraints::ImplicitPtr_t numericalConstraint (const std::string &name)
 
void computeValueAndJacobian (const Configuration_t &configuration, vector_t &value, matrix_t &jacobian) const
 
void maxIterProjection (size_type iterations)
 
size_type maxIterProjection () const
 
void maxIterPathPlanning (size_type iterations)
 
size_type maxIterPathPlanning () const
 
void setTimeOutPathPlanning (double timeOut)
 
double getTimeOutPathPlanning ()
 
void errorThreshold (const value_type &threshold)
 
value_type errorThreshold () const
 
void createPathOptimizers ()
 
virtual bool prepareSolveStepByStep ()
 
virtual bool executeOneStep ()
 
virtual void finishSolveStepByStep ()
 
virtual void solve ()
 
bool directPath (ConfigurationIn_t start, ConfigurationIn_t end, bool validate, std::size_t &pathId, std::string &report)
 
void addConfigToRoadmap (const ConfigurationPtr_t &config)
 
void addEdgeToRoadmap (const ConfigurationPtr_t &config1, const ConfigurationPtr_t &config2, const PathPtr_t &path)
 
void interrupt ()
 
std::size_t addPath (const PathVectorPtr_t &path)
 
void erasePath (std::size_t pathId)
 
const PathVectors_tpaths () const
 
virtual void addObstacle (const DevicePtr_t &device, bool collision, bool distance)
 
virtual void addObstacle (const CollisionObjectPtr_t &inObject, bool collision, bool distance)
 
virtual void removeObstacle (const std::string &name)
 
virtual void addObstacle (const std::string &name, FclCollisionObject &inObject, bool collision, bool distance)
 
void removeObstacleFromJoint (const std::string &jointName, const std::string &obstacleName)
 
void cutObstacle (const std::string &name, const fcl::AABB &aabb)
 
void filterCollisionPairs ()
 
CollisionObjectPtr_t obstacle (const std::string &name) const
 
const Transform3fobstacleFramePosition (const std::string &name) const
 
std::list< std::string > obstacleNames (bool collision, bool distance) const
 
const DistanceBetweenObjectsPtr_tdistanceBetweenObjects () const
 
pinocchio::GeomModelPtr_t obstacleGeomModel () const
 
pinocchio::GeomDataPtr_t obstacleGeomData () const
 
void addConstraint (const ConstraintPtr_t &constraint)
 
const ConstraintSetPtr_tconstraints () const
 
virtual void resetConstraints ()
 
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
 
virtual void addLockedJointToConfigProjector (const std::string &configProjName, const std::string &lockedJointName) HPP_CORE_DEPRECATED
 
void addNumericalConstraint (const std::string &name, const constraints::ImplicitPtr_t &constraint)
 
void comparisonType (const std::string &name, const ComparisonTypes_t types)
 
void comparisonType (const std::string &name, const ComparisonType &type)
 
ComparisonTypes_t comparisonType (const std::string &name) const
 
constraints::ImplicitPtr_t numericalConstraint (const std::string &name)
 
void computeValueAndJacobian (const Configuration_t &configuration, vector_t &value, matrix_t &jacobian) const
 
void maxIterProjection (size_type iterations)
 
size_type maxIterProjection () const
 
void maxIterPathPlanning (size_type iterations)
 
size_type maxIterPathPlanning () const
 
void setTimeOutPathPlanning (double timeOut)
 
double getTimeOutPathPlanning ()
 
void errorThreshold (const value_type &threshold)
 
value_type errorThreshold () const
 
void createPathOptimizers ()
 
virtual bool prepareSolveStepByStep ()
 
virtual bool executeOneStep ()
 
virtual void finishSolveStepByStep ()
 
virtual void solve ()
 
bool directPath (ConfigurationIn_t start, ConfigurationIn_t end, bool validate, std::size_t &pathId, std::string &report)
 
void addConfigToRoadmap (const ConfigurationPtr_t &config)
 
void addEdgeToRoadmap (const ConfigurationPtr_t &config1, const ConfigurationPtr_t &config2, const PathPtr_t &path)
 
void interrupt ()
 
std::size_t addPath (const PathVectorPtr_t &path)
 
void erasePath (std::size_t pathId)
 
const PathVectors_tpaths () const
 
virtual void addObstacle (const DevicePtr_t &device, bool collision, bool distance)
 
virtual void addObstacle (const CollisionObjectPtr_t &inObject, bool collision, bool distance)
 
virtual void removeObstacle (const std::string &name)
 
virtual void addObstacle (const std::string &name, FclCollisionObject &inObject, bool collision, bool distance)
 
void removeObstacleFromJoint (const std::string &jointName, const std::string &obstacleName)
 
void cutObstacle (const std::string &name, const fcl::AABB &aabb)
 
void filterCollisionPairs ()
 
CollisionObjectPtr_t obstacle (const std::string &name) const
 
const Transform3fobstacleFramePosition (const std::string &name) const
 
std::list< std::string > obstacleNames (bool collision, bool distance) const
 
const DistanceBetweenObjectsPtr_tdistanceBetweenObjects () const
 
pinocchio::GeomModelPtr_t obstacleGeomModel () const
 
pinocchio::GeomDataPtr_t obstacleGeomData () const
 

Static Public Member Functions

static ProblemSolverPtr_t create ()
 
- Static Public Member Functions inherited from hpp::core::ProblemSolver
static ProblemSolverPtr_t create ()
 
static ProblemSolverPtr_t create ()
 

Public Attributes

core::Container< graph::GraphPtr_tgraphs
 
ConstraintsAndComplements_t constraintsAndComplements
 
- Public Attributes inherited from hpp::core::ProblemSolver
Container< RobotBuilder_trobots
 
Container< ConfigurationShooterBuilder_tconfigurationShooters
 
Container< SteeringMethodBuilder_tsteeringMethods
 
Container< DistanceBuilder_tdistances
 
Container< PathValidationBuilder_tpathValidations
 
Container< ConfigValidationBuilder_tconfigValidations
 
Container< PathProjectorBuilder_tpathProjectors
 
Container< PathPlannerBuilder_tpathPlanners
 
Container< PathOptimizerBuilder_tpathOptimizers
 
Container< constraints::ImplicitPtr_tnumericalConstraints
 
Member_lockedJoints_in_class_ProblemSolver_has_been_removed_use_member_numericalConstraints_instead lockedJoints
 
Container< CenterOfMassComputationPtr_tcenterOfMassComputations
 
Container< segments_tpassiveDofs
 
Container< JointAndShapes_tjointAndShapes
 
Container< AffordanceObjects_taffordanceObjects
 
Container< AffordanceConfig_taffordanceConfigs
 

Protected Member Functions

virtual void initializeProblem (ProblemPtr_t problem)
 
- Protected Member Functions inherited from hpp::core::ProblemSolver
 ProblemSolver ()
 
void problem (ProblemPtr_t problem)
 
 ProblemSolver ()
 
void problem (ProblemPtr_t problem)
 

Additional Inherited Members

- Protected Attributes inherited from hpp::core::ProblemSolver
ConstraintSetPtr_t constraints_
 
DevicePtr_t robot_
 
ProblemPtr_t problem_
 
PathPlannerPtr_t pathPlanner_
 
RoadmapPtr_t roadmap_
 
PathVectors_t paths_
 
std::string pathProjectorType_
 
value_type pathProjectorTolerance_
 
std::string pathPlannerType_
 
ProblemTargetPtr_t target_
 

Member Typedef Documentation

◆ Names_t

typedef std::vector<std::string> hpp::manipulation::ProblemSolver::Names_t

◆ parent_t

Constructor & Destructor Documentation

◆ ~ProblemSolver()

virtual hpp::manipulation::ProblemSolver::~ProblemSolver ( )
inlinevirtual

Destructor.

Reimplemented from hpp::core::ProblemSolver.

◆ ProblemSolver()

hpp::manipulation::ProblemSolver::ProblemSolver ( )

Member Function Documentation

◆ constraintGraph() [1/2]

void hpp::manipulation::ProblemSolver::constraintGraph ( const std::string &  graph)

Set the constraint graph.

◆ constraintGraph() [2/2]

graph::GraphPtr_t hpp::manipulation::ProblemSolver::constraintGraph ( ) const

Get the constraint graph.

◆ create()

static ProblemSolverPtr_t hpp::manipulation::ProblemSolver::create ( )
static

◆ createGraspConstraint()

void hpp::manipulation::ProblemSolver::createGraspConstraint ( const std::string &  name,
const std::string &  gripper,
const std::string &  handle 
)

Create the grasp constraint and its complement

Parameters
namename of the grasp constraint,
grippergripper's name
handlehandle's nameTwo constraints are created:
  • "name" corresponds to the grasp constraint.
  • "name/complement" corresponds to the complement.

◆ createPlacementConstraint()

void hpp::manipulation::ProblemSolver::createPlacementConstraint ( const std::string &  name,
const StringList_t surface1,
const StringList_t surface2,
const value_type margin = 1e-4 
)

Create placement constraint

Parameters
namename of the placement constraint,
triangleNamename of the first list of triangles,
envContactNamename of the second list of triangles.
marginsee hpp::constraints::ConvexShapeContact::setNormalMargin

◆ createPreGraspConstraint()

void hpp::manipulation::ProblemSolver::createPreGraspConstraint ( const std::string &  name,
const std::string &  gripper,
const std::string &  handle 
)

Create pre-grasp constraint

Parameters
namename of the grasp constraint,
grippergripper's name
handlehandle's name

◆ createPrePlacementConstraint()

void hpp::manipulation::ProblemSolver::createPrePlacementConstraint ( const std::string &  name,
const StringList_t surface1,
const StringList_t surface2,
const value_type width,
const value_type margin = 1e-4 
)

Create pre-placement constraint

Parameters
namename of the placement constraint,
triangleNamename of the first list of triangles,
envContactNamename of the second list of triangles.
widthapproaching distance.
marginsee hpp::constraints::ConvexShapeContact::setNormalMargin

◆ initConstraintGraph()

void hpp::manipulation::ProblemSolver::initConstraintGraph ( )

Should be called before any call on the graph is made.

◆ initializeProblem()

virtual void hpp::manipulation::ProblemSolver::initializeProblem ( ProblemPtr_t  problem)
protectedvirtual

Reimplemented from hpp::core::ProblemSolver.

◆ pathValidationType()

virtual void hpp::manipulation::ProblemSolver::pathValidationType ( const std::string &  type,
const value_type tolerance 
)
virtual

Reimplemented from hpp::core::ProblemSolver.

◆ problem()

ProblemPtr_t hpp::manipulation::ProblemSolver::problem ( ) const
inline

Get pointer to problem.

◆ resetProblem()

virtual void hpp::manipulation::ProblemSolver::resetProblem ( )
virtual

Create a new problem.

Reimplemented from hpp::core::ProblemSolver.

◆ resetRoadmap()

virtual void hpp::manipulation::ProblemSolver::resetRoadmap ( )
virtual

Create a new Roadmap.

Reimplemented from hpp::core::ProblemSolver.

◆ robot() [1/2]

virtual void hpp::manipulation::ProblemSolver::robot ( const core::DevicePtr_t robot)
inlinevirtual

Set robot Check that robot is of type hpp::manipulation::Device

Reimplemented from hpp::core::ProblemSolver.

◆ robot() [2/2]

const DevicePtr_t& hpp::manipulation::ProblemSolver::robot ( ) const
inline

Get robot.

◆ setTargetState()

void hpp::manipulation::ProblemSolver::setTargetState ( const graph::StatePtr_t  state)

Member Data Documentation

◆ constraintsAndComplements

ConstraintsAndComplements_t hpp::manipulation::ProblemSolver::constraintsAndComplements

◆ graphs

core::Container<graph::GraphPtr_t> hpp::manipulation::ProblemSolver::graphs

The documentation for this class was generated from the following file: