hpp-core: hpp::core::continuousValidation::SolidSolidCollision 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 | Static Public Member Functions | Protected Member Functions | List of all members
hpp::core::continuousValidation::SolidSolidCollision Class Reference

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

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

## Public Member Functions
value_type | computeMaximalVelocity (vector_t &Vb) const
bool | removeObjectTo_b (const CollisionObjectConstPtr_t &object)
void | breakDistance (value_type distance)
std::string | name () const
std::ostream & | print (std::ostream &os) const
void | addCollisionPair (const CollisionObjectConstPtr_t &left, const CollisionObjectConstPtr_t &right)
const CoefficientVelocities_t & | coefficients () const
const JointPtr_t & | joint_a () const
| Get joint a.
const JointPtr_t & | joint_b () const
| Get joint b.
size_type | indexJointA () const
| Returns joint A index or -1 if no such joint exists.
size_type | indexJointB () const
| Returns joint B index or -1 if no such joint exists.
IntervalValidationPtr_t | copy () const
Public Member Functions inherited from hpp::core::continuousValidation::BodyPairCollision
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
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

## Static Public Member Functions
static SolidSolidCollisionPtr_t | create (const JointPtr_t &joint_a, const ConstObjectStdVector_t &objects_b, value_type tolerance)
static SolidSolidCollisionPtr_t | create (const JointPtr_t &joint_a, const JointPtr_t &joint_b, value_type tolerance)
static SolidSolidCollisionPtr_t | createCopy (const SolidSolidCollisionPtr_t &other)
| Copy instance and return shared pointer.

## Protected Member Functions
| SolidSolidCollision (const JointPtr_t &joint_a, const JointPtr_t &joint_b, value_type tolerance)
| SolidSolidCollision (const JointPtr_t &joint_a, const ConstObjectStdVector_t &objects_b, value_type tolerance)
| SolidSolidCollision (const SolidSolidCollision &other)
| Copy constructor.
void | init (const SolidSolidCollisionWkPtr_t &weak)
Protected Member Functions inherited from hpp::core::continuousValidation::BodyPairCollision
| 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 derives from BodyPairCollision and validates a subinterval of a path for collision between to robot bodies of between a robot body and the environment. The robot body should be part of an open kinematic chain.

See this document for details.

## Constructor & Destructor Documentation

## ◆ SolidSolidCollision() [1/3]

hpp::core::continuousValidation::SolidSolidCollision::SolidSolidCollision | ( | const JointPtr_t & | joint_a,
|  | const JointPtr_t & | joint_b,
|  | value_type | tolerance
| ) |  |
| protected

Constructor of inter-body collision checking

Parameters

  joint_a,joint_b | joint of the bodies to test for collision
  tolerance | allowed penetration should be positive

Precondition
  joint_a and joint_b should not be nul pointers.

## ◆ SolidSolidCollision() [2/3]

hpp::core::continuousValidation::SolidSolidCollision::SolidSolidCollision | ( | const JointPtr_t & | joint_a,
|  | const ConstObjectStdVector_t & | objects_b,
|  | value_type | tolerance
| ) |  |
| protected

Constructor of collision checking with the environment

Parameters

  joint_a | joint of the body to test for collision with the environment
  objects_b | environment objects for the collision checking
  tolerance | allowed penetration should be positive

Precondition
  objects_b should not be attached to a joint

## ◆ SolidSolidCollision() [3/3]

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

Copy constructor.

## Member Function Documentation

## ◆ addCollisionPair()

void hpp::core::continuousValidation::SolidSolidCollision::addCollisionPair | ( | const CollisionObjectConstPtr_t & | left,
|  | const CollisionObjectConstPtr_t & | right
| ) |  |
| virtual

Note
  The left object should belong to joint_a and the right one should belong to joint_b, or vice-versa. This is not checked.

Reimplemented from hpp::core::continuousValidation::BodyPairCollision.

## ◆ breakDistance()

void hpp::core::continuousValidation::SolidSolidCollision::breakDistance | ( | value_type | distance | ) |

Set the break distance of each coal::CollisionRequest

See also
  void ContinuousValidation::breakDistance(value_type) const

## ◆ coefficients()

const CoefficientVelocities_t & hpp::core::continuousValidation::SolidSolidCollision::coefficients | ( |  | ) | const
| inline

## ◆ computeMaximalVelocity()

value_type hpp::core::continuousValidation::SolidSolidCollision::computeMaximalVelocity | ( | vector_t & | Vb | ) | const
| virtual

Compute maximal velocity for a given velocity bound

Parameters

  Vb | velocity

Implements hpp::core::continuousValidation::BodyPairCollision.

## ◆ copy()

IntervalValidationPtr_t hpp::core::continuousValidation::SolidSolidCollision::copy | ( |  | ) | const
| virtual

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

## ◆ create() [1/2]

static SolidSolidCollisionPtr_t hpp::core::continuousValidation::SolidSolidCollision::create | ( | const JointPtr_t & | joint_a,
|  | const ConstObjectStdVector_t & | objects_b,
|  | value_type | tolerance
| ) |  |
| static

Create instance and return shared pointer

Parameters

  joint_a | joint of the body to test for collision with the environment
  objects_b | environment objects for the collision checking
  tolerance | allowed penetration should be positive

Precondition
  objects_b should not be attached to a joint

## ◆ create() [2/2]

static SolidSolidCollisionPtr_t hpp::core::continuousValidation::SolidSolidCollision::create | ( | const JointPtr_t & | joint_a,
|  | const JointPtr_t & | joint_b,
|  | value_type | tolerance
| ) |  |
| static

Create instance and return shared pointer

Parameters

  joint_a,joint_b | joint of the bodies to test for collision
  tolerance | allowed penetrationd be positive

## ◆ createCopy()

static SolidSolidCollisionPtr_t hpp::core::continuousValidation::SolidSolidCollision::createCopy | ( | const SolidSolidCollisionPtr_t & | other | ) |
| static

Copy instance and return shared pointer.

## ◆ indexJointA()

size_type hpp::core::continuousValidation::SolidSolidCollision::indexJointA | ( |  | ) | const
| inlinevirtual

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

Reimplemented from hpp::core::continuousValidation::BodyPairCollision.

## ◆ indexJointB()

size_type hpp::core::continuousValidation::SolidSolidCollision::indexJointB | ( |  | ) | const
| inlinevirtual

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

Reimplemented from hpp::core::continuousValidation::BodyPairCollision.

## ◆ init()

void hpp::core::continuousValidation::SolidSolidCollision::init | ( | const SolidSolidCollisionWkPtr_t & | weak | ) |
| protected

## ◆ joint_a()

const JointPtr_t & hpp::core::continuousValidation::SolidSolidCollision::joint_a | ( |  | ) | const
| inline

Get joint a.

## ◆ joint_b()

const JointPtr_t & hpp::core::continuousValidation::SolidSolidCollision::joint_b | ( |  | ) | const
| inline

Get joint b.

## ◆ name()

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

Implements hpp::core::continuousValidation::BodyPairCollision.

## ◆ print()

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

Implements hpp::core::continuousValidation::BodyPairCollision.

## ◆ removeObjectTo_b()

bool hpp::core::continuousValidation::SolidSolidCollision::removeObjectTo_b | ( | const CollisionObjectConstPtr_t & | object | ) |
| virtual

Reimplemented from hpp::core::continuousValidation::BodyPairCollision.

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

- include/hpp/core/continuous-validation/solid-solid-collision.hh