hpp-manipulation  6.0.0
Classes for manipulation planning.
hpp::manipulation::GraphPathValidation Class Reference

#include <hpp/manipulation/graph-path-validation.hh>

Inheritance diagram for hpp::manipulation::GraphPathValidation:
Collaboration diagram for hpp::manipulation::GraphPathValidation:

Public Member Functions

virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, PathValidationReportPtr_t &report)
 
void innerValidation (const PathValidationPtr_t &pathValidation)
 Set the encapsulated path validator. More...
 
const PathValidationPtr_tinnerValidation ()
 Get the encapsulated path validator. More...
 
void constraintGraph (const graph::GraphPtr_t &graph)
 Set the graph of constraints. More...
 
graph::GraphPtr_t constraintGraph () const
 Get the graph of constraints. More...
 
void addObstacle (const hpp::core::CollisionObjectConstPtr_t &object)
 
void removeObstacleFromJoint (const JointPtr_t &joint, const pinocchio::CollisionObjectConstPtr_t &obstacle)
 
void filterCollisionPairs (const core::RelativeMotion::matrix_type &relMotion)
 Filter collision pairs. More...
 
void setSecurityMargins (const matrix_t &securityMargins)
 
void setSecurityMarginBetweenBodies (const std::string &body_a, const std::string &body_b, const value_type &margin)
 

Static Public Member Functions

static GraphPathValidationPtr_t create (const PathValidationPtr_t &pathValidation)
 
template<typename T >
static GraphPathValidationPtr_t create (const pinocchio::DevicePtr_t &robot, const value_type &stepSize)
 

Protected Member Functions

 GraphPathValidation (const PathValidationPtr_t &pathValidation)
 Constructor. More...
 

Detailed Description

Path validation for a constraint graph

This class encapsulates another path validation class. The encapsulated path validation is responsible for collision checking, whereas this class checks if a path is valid regarding the constraint graph.

Constructor & Destructor Documentation

◆ GraphPathValidation()

hpp::manipulation::GraphPathValidation::GraphPathValidation ( const PathValidationPtr_t pathValidation)
protected

Constructor.

Member Function Documentation

◆ addObstacle()

void hpp::manipulation::GraphPathValidation::addObstacle ( const hpp::core::CollisionObjectConstPtr_t &  object)
inline

Add obstacle in the environment

Dynamic cast inner path validation into hpp::core::ObstacleUserInterface and calls hpp::core::ObstacleUserInterface::addObstacle in case of success.

◆ constraintGraph() [1/2]

graph::GraphPtr_t hpp::manipulation::GraphPathValidation::constraintGraph ( ) const
inline

Get the graph of constraints.

◆ constraintGraph() [2/2]

void hpp::manipulation::GraphPathValidation::constraintGraph ( const graph::GraphPtr_t graph)
inline

Set the graph of constraints.

◆ create()

static GraphPathValidationPtr_t hpp::manipulation::GraphPathValidation::create ( const PathValidationPtr_t pathValidation)
static

Create a new instance of this class.

Parameters
pathValidationa PathValidation that is responsible for collision

◆ filterCollisionPairs()

void hpp::manipulation::GraphPathValidation::filterCollisionPairs ( const core::RelativeMotion::matrix_type &  relMotion)
inline

Filter collision pairs.

Dynamic cast inner path validation into hpp::core::ObstacleUserInterface and calls hpp::core::ObstacleUserInterface::filterCollisionPairs in case of success.

◆ innerValidation() [1/2]

const PathValidationPtr_t& hpp::manipulation::GraphPathValidation::innerValidation ( )
inline

Get the encapsulated path validator.

◆ innerValidation() [2/2]

void hpp::manipulation::GraphPathValidation::innerValidation ( const PathValidationPtr_t pathValidation)
inline

Set the encapsulated path validator.

◆ removeObstacleFromJoint()

void hpp::manipulation::GraphPathValidation::removeObstacleFromJoint ( const JointPtr_t joint,
const pinocchio::CollisionObjectConstPtr_t &  obstacle 
)
inline

Remove a collision pair between a joint and an obstacle

Dynamic cast inner path validation into hpp::core::ObstacleUserInterface and calls hpp::core::ObstacleUserInterface::removeObstacleFromJoint in case of success.

◆ setSecurityMarginBetweenBodies()

void hpp::manipulation::GraphPathValidation::setSecurityMarginBetweenBodies ( const std::string &  body_a,
const std::string &  body_b,
const value_type margin 
)
inline

Dynamic cast inner path validation into hpp::core::ObstacleUserInterface and calls hpp::core::ObstacleUserInterface::setSecurityMargins in case of success.

◆ setSecurityMargins()

void hpp::manipulation::GraphPathValidation::setSecurityMargins ( const matrix_t securityMargins)
inline

Set different security margins for collision pairs

Dynamic cast inner path validation into hpp::core::ObstacleUserInterface and calls hpp::core::ObstacleUserInterface::setSecurityMargins in case of success.

◆ validate()

virtual bool hpp::manipulation::GraphPathValidation::validate ( const PathPtr_t &  path,
bool  reverse,
PathPtr_t &  validPart,
PathValidationReportPtr_t report 
)
virtual

Check that path is valid regarding the constraint graph.

Parameters
paththe path to check for validity,
reverseif true check from the end,
Return values
theextracted valid part of the path, pointer to path if path is valid,
reportinformation about the validation process. unused in this case,
Returns
whether the whole path is valid.

\notice Call the encapsulated PathValidation::validate.


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