hpp-core: hpp::core::ObstacleUserInterface Class Reference

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

Loading...
Searching...
No Matches
Public Member Functions | List of all members
hpp::core::ObstacleUserInterface Class Referenceabstract

`#include <hpp/core/obstacle-user.hh>`

Inheritance diagram for hpp::core::ObstacleUserInterface:
[legend]

## Public Member Functions
virtual | ~ObstacleUserInterface ()=default
virtual void | addObstacle (const CollisionObjectConstPtr_t &object)=0
virtual void | removeObstacleFromJoint (const JointPtr_t &joint, const CollisionObjectConstPtr_t &object)=0
virtual void | filterCollisionPairs (const RelativeMotion::matrix_type &relMotion)=0
virtual void | setSecurityMargins (const matrix_t &securityMatrix)=0
virtual void | setSecurityMarginBetweenBodies (const std::string &body_a, const std::string &body_b, const value_type &margin)=0

## Detailed Description

Abstract class for handling obstacles

Several classes perform collision detection between the bodies of a robot and a set of rigid-body obstacles of the environment.

This class defines a common abstract interface for those classes.

## Constructor & Destructor Documentation

## ◆ ~ObstacleUserInterface()

virtual hpp::core::ObstacleUserInterface::~ObstacleUserInterface | ( |  | ) |
| virtualdefault

## Member Function Documentation

## ◆ addObstacle()

virtual void hpp::core::ObstacleUserInterface::addObstacle | ( | const CollisionObjectConstPtr_t & | object | ) |
| pure virtual

Add an obstacle

Parameters

  object | obstacle added

Implemented in hpp::core::ContinuousValidation, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ObstacleUser.

## ◆ filterCollisionPairs()

virtual void hpp::core::ObstacleUserInterface::filterCollisionPairs | ( | const RelativeMotion::matrix_type & | relMotion | ) |
| pure virtual

Filter collision pairs.

Remove pairs of object that cannot be in collision. This effectively disables collision detection between objects that have no possible relative motion due to the constraints.

Parameters

  relMotion | square symmetric matrix of RelativeMotionType of size numberDof x numberDof

Implemented in hpp::core::ContinuousValidation, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ObstacleUser.

## ◆ removeObstacleFromJoint()

virtual void hpp::core::ObstacleUserInterface::removeObstacleFromJoint | ( | const JointPtr_t & | joint,
|  | const CollisionObjectConstPtr_t & | object
| ) |  |
| pure virtual

Remove a collision pair between a joint and an obstacle

Parameters

  joint | that holds the inner objects,
  obstacle | to remove.

Implemented in hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, hpp::core::ObstacleUser, and hpp::core::ContinuousValidation.

## ◆ setSecurityMarginBetweenBodies()

virtual void hpp::core::ObstacleUserInterface::setSecurityMarginBetweenBodies | ( | const std::string & | body_a,
|  | const std::string & | body_b,
|  | const value_type & | margin
| ) |  |
| pure virtual

Set security margin for collision pair between the two bodies.

See also
  coal::CollisionRequest::security_margin.

Implemented in hpp::core::ContinuousValidation, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ObstacleUser.

## ◆ setSecurityMargins()

virtual void hpp::core::ObstacleUserInterface::setSecurityMargins | ( | const matrix_t & | securityMatrix | ) |
| pure virtual

Set different security margins for collision pairs

This function works joint-wise. If you need a finer control, use setSecurityMarginBetweenBodies

This method enables users to choose different security margins for each pair of robot joint or each pair robot joint - obstacle.

See also
  coal::CollisionRequest::security_margin.

Implemented in hpp::core::ContinuousValidation, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ObstacleUser.

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

- include/hpp/core/obstacle-user.hh