hpp-manipulation  6.0.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 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 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. 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...
 

Static Public Member Functions

static ProblemSolverPtr_t create ()
 

Public Attributes

core::Container< graph::GraphPtr_tgraphs
 
ConstraintsAndComplements_t constraintsAndComplements
 

Protected Member Functions

virtual void initializeProblem (ProblemPtr_t problem)
 

Member Typedef Documentation

◆ Names_t

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

◆ parent_t

typedef core::ProblemSolver hpp::manipulation::ProblemSolver::parent_t

Constructor & Destructor Documentation

◆ ~ProblemSolver()

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

Destructor.

◆ 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()

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

◆ pathValidationType()

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

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

◆ resetRoadmap()

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

Create a new Roadmap.

◆ 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

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