hpp-core
6.0.0
Implement basic classes for canonical path planning for kinematic chains.
|
#include <hpp/core/obstacle-user.hh>
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 |
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.
|
virtualdefault |
|
pure virtual |
Add an obstacle
object | obstacle added |
Implemented in hpp::core::ObstacleUser, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ContinuousValidation.
|
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.
relMotion | square symmetric matrix of RelativeMotionType of size numberDof x numberDof |
Implemented in hpp::core::ObstacleUser, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ContinuousValidation.
|
pure virtual |
Remove a collision pair between a joint and an obstacle
joint | that holds the inner objects, |
obstacle | to remove. |
Implemented in hpp::core::ContinuousValidation, hpp::core::ObstacleUser, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, and hpp::core::ObstacleUserVector< PathValidationPtr_t >.
|
pure virtual |
Set security margin for collision pair between the two bodies.
Implemented in hpp::core::ObstacleUser, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ContinuousValidation.
|
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.
Implemented in hpp::core::ObstacleUser, hpp::core::ObstacleUserVector< Derived >, hpp::core::ObstacleUserVector< ConfigValidationPtr_t >, hpp::core::ObstacleUserVector< PathValidationPtr_t >, and hpp::core::ContinuousValidation.