hpp-manipulation 9.0.2
Classes for manipulation planning.
Loading...
Searching...
No Matches
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_t > PathOptimizers_t
typedef std::vector< std::string > PathOptimizerTypes_t
typedef std::vector< std::string > ConfigValidationTypes_t

Public Member Functions

virtual ~ProblemSolver ()
 Destructor.
 ProblemSolver ()
virtual void robot (const core::DevicePtr_t &robot)
const DevicePtr_t & robot () const
 Get robot.
void createPlacementConstraint (const std::string &name, const Strings_t &surface1, const Strings_t &surface2, const value_type &margin=1e-4)
void createPrePlacementConstraint (const std::string &name, const Strings_t &surface1, const Strings_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.
virtual void resetRoadmap ()
 Create a new Roadmap.
ProblemPtr_t problem () const
 Get pointer to problem.
void setTargetState (const graph::StatePtr_t state)
Constraint graph
void constraintGraph (const std::string &graph)
 Set the constraint graph.
graph::GraphPtr_t constraintGraph () const
 Get the constraint graph.
void initConstraintGraph ()
 Should be called before any call on the graph is made.
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_t & robot () const
ProblemPtr_t problem ()
const Configuration_t & initConfig () const
virtual void initConfig (ConfigurationIn_t config)
const Configurations_t & goalConfigs () const
virtual void addGoalConfig (ConfigurationIn_t config)
void resetGoalConfigs ()
void setGoalConstraints (const NumericalConstraints_t &constraints)
void resetGoalConstraints ()
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_t & pathPlanner () const
void addPathOptimizer (const std::string &type)
const PathOptimizerTypes_t & pathOptimizerTypes () const
void clearPathOptimizers ()
const PathOptimizerPtr_t & pathOptimizer (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_t & roadmap () const
const ObjectStdVector_t & collisionObstacles () const
const ObjectStdVector_t & distanceObstacles () 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_t & constraints () const
virtual void resetConstraints ()
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
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 (ConfigurationIn_t config)
void addEdgeToRoadmap (ConfigurationIn_t config1, ConfigurationIn_t config2, const PathPtr_t &path)
void interrupt ()
std::size_t addPath (const PathVectorPtr_t &path)
void erasePath (std::size_t pathId)
const PathVectors_t & paths () 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, const CollisionGeometryPtr_t &inObject, const Transform3s &pose, bool collision, bool distance)
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 coal::AABB &aabb)
void filterCollisionPairs ()
CollisionObjectPtr_t obstacle (const std::string &name) const
const Transform3s & obstacleFramePosition (const std::string &name) const
std::list< std::string > obstacleNames (bool collision, bool distance) const
const DistanceBetweenObjectsPtr_t & distanceBetweenObjects () const
pinocchio::GeomModelPtr_t obstacleGeomModel () const
pinocchio::GeomDataPtr_t obstacleGeomData () const
void addConstraint (const ConstraintPtr_t &constraint)
const ConstraintSetPtr_t & constraints () const
virtual void resetConstraints ()
virtual void addNumericalConstraintToConfigProjector (const std::string &configProjName, const std::string &constraintName, const std::size_t priority=0)
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 (ConfigurationIn_t config)
void addEdgeToRoadmap (ConfigurationIn_t config1, ConfigurationIn_t config2, const PathPtr_t &path)
void interrupt ()
std::size_t addPath (const PathVectorPtr_t &path)
void erasePath (std::size_t pathId)
const PathVectors_t & paths () 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, const CollisionGeometryPtr_t &inObject, const Transform3s &pose, bool collision, bool distance)
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 coal::AABB &aabb)
void filterCollisionPairs ()
CollisionObjectPtr_t obstacle (const std::string &name) const
const Transform3s & obstacleFramePosition (const std::string &name) const
std::list< std::string > obstacleNames (bool collision, bool distance) const
const DistanceBetweenObjectsPtr_t & distanceBetweenObjects () 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 ()

Public Attributes

core::Container< graph::GraphPtr_t > graphs
ConstraintsAndComplements_t constraintsAndComplements
Public Attributes inherited from hpp::core::ProblemSolver
Container< RobotBuilder_t > robots
Container< ConfigurationShooterBuilder_t > configurationShooters
Container< SteeringMethodBuilder_t > steeringMethods
Container< DistanceBuilder_t > distances
Container< PathValidationBuilder_t > pathValidations
Container< ConfigValidationBuilder_t > configValidations
Container< PathProjectorBuilder_t > pathProjectors
Container< PathPlannerBuilder_t > pathPlanners
Container< PathOptimizerBuilder_t > pathOptimizers
Container< constraints::ImplicitPtr_t > numericalConstraints
Member_lockedJoints_in_class_ProblemSolver_has_been_removed_use_member_numericalConstraints_instead lockedJoints
Container< CenterOfMassComputationPtr_t > centerOfMassComputations
Container< segments_t > passiveDofs
Container< JointAndShapes_t > jointAndShapes
Container< AffordanceObjects_t > affordanceObjects
Container< AffordanceConfig_t > affordanceConfigs

Protected Member Functions

virtual void initializeProblem (ProblemPtr_t problem)
Protected Member Functions inherited from hpp::core::ProblemSolver
 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]

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

Get the constraint graph.

◆ constraintGraph() [2/2]

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

Set the constraint graph.

◆ create()

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 name

Two 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 Strings_t & surface1,
const Strings_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 Strings_t & surface1,
const Strings_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]

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

Get robot.

◆ robot() [2/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.

◆ 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: