Validation of configurations and paths

Paths and configurations need to be validated with respect to various criteria (collision, joint bounds,...) during path planning and path optimization. More...

Classes

struct  hpp::core::CollisionPathValidationReport
 Abstraction of path validation report. More...
struct  hpp::core::CollisionValidationReport
 Validate a configuration with respect to collision. More...
class  hpp::core::CollisionValidation
 Validate a configuration with respect to collision. More...
class  hpp::core::ConfigValidation
 Abstraction of configuration validation. More...
class  hpp::core::ConfigValidations
 Validate a configuration with respect to collision. More...
class  hpp::core::continuousCollisionChecking::Dichotomy
 Continuous validation of a path for collision. More...
class  hpp::core::continuousCollisionChecking::Progressive
 Continuous validation of a path for collision. More...
class  hpp::core::DiscretizedCollisionChecking
 Validation of path by collision checking at discretized parameter values. More...
class  hpp::core::JointBoundException
 Exception thrown when a configuration is not within the bounds. More...
class  hpp::core::JointBoundValidation
 Validate a configuration with respect to joint bounds. More...
class  hpp::core::PathValidation
 Abstraction of path validation. More...
class  hpp::core::ValidationReport
 Abstraction of validation report for paths and configurations. More...

Typedefs

typedef boost::shared_ptr
< BodyPairCollision > 
hpp::core::continuousCollisionChecking::dichotomy::BodyPairCollisionPtr_t
typedef std::list
< BodyPairCollisionPtr_t > 
hpp::core::continuousCollisionChecking::dichotomy::BodyPairCollisions_t
typedef boost::shared_ptr
< BodyPairCollision > 
hpp::core::continuousCollisionChecking::progressive::BodyPairCollisionPtr_t
typedef std::list
< BodyPairCollisionPtr_t > 
hpp::core::continuousCollisionChecking::progressive::BodyPairCollisions_t

Functions

 hpp::core::continuousCollisionChecking::dichotomy::HPP_PREDEF_CLASS (BodyPairCollision)
static DichotomyPtr_t hpp::core::continuousCollisionChecking::Dichotomy::create (const DevicePtr_t &robot, const value_type &tolerance)
 Create instance and return shared pointer.
virtual bool hpp::core::continuousCollisionChecking::Dichotomy::validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart)
 Compute a valid interval starting from the path beginning.
virtual bool hpp::core::continuousCollisionChecking::Dichotomy::validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, ValidationReport &report)
 Compute a valid interval starting from the path beginning.
virtual void hpp::core::continuousCollisionChecking::Dichotomy::addObstacle (const CollisionObjectPtr_t &object)
 Add an obstacle.
virtual void hpp::core::continuousCollisionChecking::Dichotomy::removeObstacleFromJoint (const JointPtr_t &joint, const CollisionObjectPtr_t &obstacle)
 Remove a collision pair between a joint and an obstacle.
virtual hpp::core::continuousCollisionChecking::Dichotomy::~Dichotomy ()
 hpp::core::continuousCollisionChecking::Dichotomy::Dichotomy (const DevicePtr_t &robot, const value_type &tolerance)
 Constructor.
static ProgressivePtr_t hpp::core::continuousCollisionChecking::Progressive::create (const DevicePtr_t &robot, const value_type &tolerance)
 Create instance and return shared pointer.
virtual bool hpp::core::continuousCollisionChecking::Progressive::validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart)
 Compute a valid interval starting from the path beginning.
virtual bool hpp::core::continuousCollisionChecking::Progressive::validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, ValidationReport &validationReport)
 Compute a valid interval starting from the path beginning.
virtual void hpp::core::continuousCollisionChecking::Progressive::addObstacle (const CollisionObjectPtr_t &object)
 Add an obstacle.
virtual void hpp::core::continuousCollisionChecking::Progressive::removeObstacleFromJoint (const JointPtr_t &joint, const CollisionObjectPtr_t &obstacle)
 Remove a collision pair between a joint and an obstacle.
virtual hpp::core::continuousCollisionChecking::Progressive::~Progressive ()
 hpp::core::continuousCollisionChecking::Progressive::Progressive (const DevicePtr_t &robot, const value_type &tolerance)
 Constructor.

Detailed Description

Paths and configurations need to be validated with respect to various criteria (collision, joint bounds,...) during path planning and path optimization.

Validation of a configuration or of a path gives rise to a validation report that provide information if validation failed.


Typedef Documentation


Function Documentation

virtual void hpp::core::continuousCollisionChecking::Dichotomy::addObstacle ( const CollisionObjectPtr_t object) [virtual]

Add an obstacle.

Parameters:
objectobstacle added Add the object to each collision pair a body of which is the environment. care about obstacles.

Reimplemented from hpp::core::PathValidation.

virtual void hpp::core::continuousCollisionChecking::Progressive::addObstacle ( const CollisionObjectPtr_t object) [virtual]

Add an obstacle.

Parameters:
objectobstacle added Add the object to each collision pair a body of which is the environment. care about obstacles.

Reimplemented from hpp::core::PathValidation.

static ProgressivePtr_t hpp::core::continuousCollisionChecking::Progressive::create ( const DevicePtr_t robot,
const value_type tolerance 
) [static]

Create instance and return shared pointer.

Parameters:
robotthe robot for which collision checking is performed,
tolerancemaximal penetration allowed.
static DichotomyPtr_t hpp::core::continuousCollisionChecking::Dichotomy::create ( const DevicePtr_t robot,
const value_type tolerance 
) [static]

Create instance and return shared pointer.

Parameters:
robotthe robot for which collision checking is performed,
tolerancemaximal penetration allowed.
hpp::core::continuousCollisionChecking::Dichotomy::Dichotomy ( const DevicePtr_t robot,
const value_type tolerance 
) [protected]

Constructor.

Parameters:
robotthe robot for which collision checking is performed,
tolerancemaximal penetration allowed.
hpp::core::continuousCollisionChecking::dichotomy::HPP_PREDEF_CLASS ( BodyPairCollision  )
hpp::core::continuousCollisionChecking::Progressive::Progressive ( const DevicePtr_t robot,
const value_type tolerance 
) [protected]

Constructor.

Parameters:
robotthe robot for which collision checking is performed,
tolerancemaximal penetration allowed.
virtual void hpp::core::continuousCollisionChecking::Dichotomy::removeObstacleFromJoint ( const JointPtr_t joint,
const CollisionObjectPtr_t obstacle 
) [virtual]

Remove a collision pair between a joint and an obstacle.

Parameters:
thejoint that holds the inner objects,
theobstacle to remove. collision configuration validation needs to know about obstacles. This virtual method does nothing for configuration validation methods that do not care about obstacles.

Reimplemented from hpp::core::PathValidation.

virtual void hpp::core::continuousCollisionChecking::Progressive::removeObstacleFromJoint ( const JointPtr_t joint,
const CollisionObjectPtr_t obstacle 
) [virtual]

Remove a collision pair between a joint and an obstacle.

Parameters:
thejoint that holds the inner objects,
theobstacle to remove. collision configuration validation needs to know about obstacles. This virtual method does nothing for configuration validation methods that do not care about obstacles.

Reimplemented from hpp::core::PathValidation.

virtual bool hpp::core::continuousCollisionChecking::Progressive::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart 
) [virtual]

Compute a valid interval starting from the path beginning.

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. The type can be derived for specific implementation
Returns:
whether the whole path is valid. validationReport should be a of type CollisionPathValidationReport.

Implements hpp::core::PathValidation.

virtual bool hpp::core::continuousCollisionChecking::Dichotomy::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart 
) [virtual]

Compute a valid interval starting from the path beginning.

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. The type can be derived for specific implementation
Returns:
whether the whole path is valid. validationReport should be a of type CollisionPathValidationReport.

Implements hpp::core::PathValidation.

virtual bool hpp::core::continuousCollisionChecking::Dichotomy::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart,
ValidationReport report 
) [virtual]

Compute a valid interval starting from the path beginning.

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.
Returns:
whether the whole path is valid.
Return values:
reportinformation about the validation process. The parameter is dynamic cast into CollisionPathValidationReport.

Implements hpp::core::PathValidation.

virtual bool hpp::core::continuousCollisionChecking::Progressive::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart,
ValidationReport validationReport 
) [virtual]

Compute a valid interval starting from the path beginning.

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.
Returns:
whether the whole path is valid.
Return values:
validationReportinformation about the validation process: which objects have been detected in collision and at which parameter along the path. validationReport should be a of type CollisionPathValidationReport.

Implements hpp::core::PathValidation.

virtual hpp::core::continuousCollisionChecking::Dichotomy::~Dichotomy ( ) [virtual]
virtual hpp::core::continuousCollisionChecking::Progressive::~Progressive ( ) [virtual]