hpp-core: hpp::core::continuousValidation::BodyPairCollision Class Reference

hpp-core 9.0.2 Implement basic classes for canonical path planning for kinematic chains.

Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
hpp::core::continuousValidation::BodyPairCollision Class Referenceabstract

`#include <hpp/core/continuous-validation/body-pair-collision.hh>`

Inheritance diagram for hpp::core::continuousValidation::BodyPairCollision:
[legend]
Collaboration diagram for hpp::core::continuousValidation::BodyPairCollision:
[legend]

## Public Member Functions
bool | validateConfiguration (const value_type &t, interval_t &interval, ValidationReportPtr_t &report, const pinocchio::DeviceData &data)
const CollisionPairs_t & | pairs () const
CollisionPairs_t & | pairs ()
const CollisionRequests_t & | requests () const
CollisionRequests_t & | requests ()
value_type | maximalVelocity () const
virtual size_type | indexJointA () const
| Returns joint A index or -1 if no such joint exists.
virtual size_type | indexJointB () const
| Returns joint B index or -1 if no such joint exists.
virtual bool | removeObjectTo_b (const CollisionObjectConstPtr_t &)
virtual void | addCollisionPair (const CollisionObjectConstPtr_t &, const CollisionObjectConstPtr_t &)
virtual std::string | name () const =0
virtual std::ostream & | print (std::ostream &os) const =0
Security margin
value_type | securityMargin () const
| Get security margin of the first pair of object.
void | securityMargin (const value_type &securityMargin)
| Set security margin.
Public Member Functions inherited from hpp::core::continuousValidation::IntervalValidation
void | path (const PathPtr_t &path, bool reverse)
PathConstPtr_t | path () const
| Get path.
value_type | tolerance () const
virtual IntervalValidationPtr_t | copy () const =0

## Protected Member Functions
| BodyPairCollision (value_type tolerance)
| BodyPairCollision (const BodyPairCollision &other)
| Copy constructor.
virtual void | setReport (ValidationReportPtr_t &report, coal::CollisionResult result, CollisionPair_t _pair) const
Protected Member Functions inherited from hpp::core::continuousValidation::IntervalValidation
| IntervalValidation (value_type tolerance)
| IntervalValidation (const IntervalValidation &other)

## Additional Inherited Members
Protected Types inherited from hpp::core::continuousValidation::IntervalValidation
typedef boost::icl::continuous_interval< value_type > | continuous_interval
typedef boost::icl::interval_set< value_type > | interval_set
Protected Attributes inherited from hpp::core::continuousValidation::IntervalValidation
PathPtr_t | path_
value_type | tolerance_
bool | reverse_
bool | refine_
bool | valid_
interval_set | validInterval_

## Detailed Description

Computation of collision-free sub-intervals of a path.

This class aims at validating a path for the absence of collision between two bodies of a robot, or between a robot body and the environment. Bodies are considered as rigid.

If the bodies are part of an open kinematic chain, the computations are performed by class SolidSolidCollision.

With this abstraction, other bodies (like legs of a parallel robot) can also be checked for collision. In this case, the specialized class needs to implement method computeMaximalVelocity , taking into account the constrained motion of the legs implied by the closure of the kinematic chain.

See this document for details.

## Constructor & Destructor Documentation

## ◆ BodyPairCollision() [1/2]

hpp::core::continuousValidation::BodyPairCollision::BodyPairCollision | ( | value_type | tolerance | ) |
| inlineprotected

Constructor of body pair collision

Parameters

  tolerance | allowed penetration should be positive

## ◆ BodyPairCollision() [2/2]

hpp::core::continuousValidation::BodyPairCollision::BodyPairCollision | ( | const BodyPairCollision & | other | ) |
| inlineprotected

Copy constructor.

## Member Function Documentation

## ◆ addCollisionPair()

virtual void hpp::core::continuousValidation::BodyPairCollision::addCollisionPair | ( | const CollisionObjectConstPtr_t & | ,
|  | const CollisionObjectConstPtr_t & |
| ) |  |
| inlinevirtual

Reimplemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ indexJointA()

virtual size_type hpp::core::continuousValidation::BodyPairCollision::indexJointA | ( |  | ) | const
| inlinevirtual

Returns joint A index or -1 if no such joint exists.

Reimplemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ indexJointB()

virtual size_type hpp::core::continuousValidation::BodyPairCollision::indexJointB | ( |  | ) | const
| inlinevirtual

Returns joint B index or -1 if no such joint exists.

Reimplemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ maximalVelocity()

value_type hpp::core::continuousValidation::BodyPairCollision::maximalVelocity | ( |  | ) | const
| inline

## ◆ name()

virtual std::string hpp::core::continuousValidation::BodyPairCollision::name | ( |  | ) | const
| pure virtual

Implements hpp::core::continuousValidation::IntervalValidation.

Implemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ pairs() [1/2]

CollisionPairs_t & hpp::core::continuousValidation::BodyPairCollision::pairs | ( |  | ) |
| inline

## ◆ pairs() [2/2]

const CollisionPairs_t & hpp::core::continuousValidation::BodyPairCollision::pairs | ( |  | ) | const
| inline

## ◆ print()

virtual std::ostream & hpp::core::continuousValidation::BodyPairCollision::print | ( | std::ostream & | os | ) | const
| pure virtual

Implements hpp::core::continuousValidation::IntervalValidation.

Implemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ removeObjectTo_b()

virtual bool hpp::core::continuousValidation::BodyPairCollision::removeObjectTo_b | ( | const CollisionObjectConstPtr_t & |  | ) |
| inlinevirtual

Reimplemented in hpp::core::continuousValidation::SolidSolidCollision.

## ◆ requests() [1/2]

CollisionRequests_t & hpp::core::continuousValidation::BodyPairCollision::requests | ( |  | ) |
| inline

## ◆ requests() [2/2]

const CollisionRequests_t & hpp::core::continuousValidation::BodyPairCollision::requests | ( |  | ) | const
| inline

## ◆ securityMargin() [1/2]

value_type hpp::core::continuousValidation::BodyPairCollision::securityMargin | ( |  | ) | const
| inline

Get security margin of the first pair of object.

## ◆ securityMargin() [2/2]

void hpp::core::continuousValidation::BodyPairCollision::securityMargin | ( | const value_type & | securityMargin | ) |
| inline

Set security margin.

## ◆ setReport()

virtual void hpp::core::continuousValidation::BodyPairCollision::setReport | ( | ValidationReportPtr_t & | report,
|  | coal::CollisionResult | result,
|  | CollisionPair_t | _pair
| ) |  | const
| inlineprotectedvirtual

## ◆ validateConfiguration()

bool hpp::core::continuousValidation::BodyPairCollision::validateConfiguration | ( | const value_type & | t,
|  | interval_t & | interval,
|  | ValidationReportPtr_t & | report,
|  | const pinocchio::DeviceData & | data
| ) |  |
| virtual

Validate interval centered on a path parameter

Parameters

  | t | parameter value in the path interval of definition
  [in,out] | interval | as input, interval over which collision checking must be performed. As output, interval over which pair is collision-free, not necessarily included in definition interval.
  | report | the collision validation report

Returns
  true if the body pair is collision free for this parameter value, false if the body pair is in collision.

Note
  object should be in the positions defined by the configuration of parameter t on the path.

Implements hpp::core::continuousValidation::IntervalValidation.

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

- include/hpp/core/continuous-validation/body-pair-collision.hh