Computation of collision-free sub-intervals of a path. More...
#include <continuous-collision-checking/body-pair-collision.hh>
Public Types | |
typedef std::pair< CollisionObjectConstPtr_t, CollisionObjectConstPtr_t > | CollisionPair_t |
typedef std::vector< CollisionPair_t > | CollisionPairs_t |
Public Member Functions | |
const std::vector< se3::JointIndex > & | joints () const |
const JointPtr_t & | joint_a () const |
Get joint a. More... | |
const JointPtr_t & | joint_b () const |
Get joint b. More... | |
const CollisionPairs_t & | pairs () const |
bool | removeObjectTo_b (const CollisionObjectConstPtr_t &object) |
void | path (const PathPtr_t &path, bool reverse) |
Set path to validate. More... | |
PathConstPtr_t | path () const |
Get path. More... | |
bool | validateConfiguration (const value_type &t, interval_t &interval, CollisionValidationReportPtr_t &report) |
Validate interval centered on a path parameter. More... | |
value_type | tolerance () const |
value_type | maximalVelocity () const |
std::string | name () const |
std::ostream & | print (std::ostream &os) const |
void | addCollisionPair (const CollisionObjectConstPtr_t &left, const CollisionObjectConstPtr_t right) |
Static Public Member Functions | |
static BodyPairCollisionPtr_t | create (const JointPtr_t &joint_a, const ConstObjectStdVector_t &objects_b, value_type tolerance) |
Create instance and return shared pointer. More... | |
static BodyPairCollisionPtr_t | create (const JointPtr_t &joint_a, const JointPtr_t &joint_b, value_type tolerance) |
Create instance and return shared pointer. More... | |
Protected Member Functions | |
BodyPairCollision (const JointPtr_t &joint_a, const JointPtr_t &joint_b, value_type tolerance) | |
Constructor of inter-body collision checking. More... | |
BodyPairCollision (const JointPtr_t &joint_a, const ConstObjectStdVector_t &objects_b, value_type tolerance) | |
Constructor of collision checking with the environment. More... | |
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.
The interval of definition of the path is successively covered by intervals where boths bodies are proved to be collision-free. Each interval is computed by bounding from above the velocity of all points of body 1 in the reference frame of body 2.
typedef std::pair<CollisionObjectConstPtr_t, CollisionObjectConstPtr_t> hpp::core::continuousCollisionChecking::BodyPairCollision::CollisionPair_t |
typedef std::vector<CollisionPair_t> hpp::core::continuousCollisionChecking::BodyPairCollision::CollisionPairs_t |
|
inlineprotected |
Constructor of inter-body collision checking.
body_a,body_b | bodies to test for collision |
tolerance | allowed penetration should be positive |
References assert().
|
inlineprotected |
Constructor of collision checking with the environment.
body_a | body to test for collision with the environment |
tolerance | allowed penetration should be positive |
References assert(), and distance().
|
inline |
|
inlinestatic |
Create instance and return shared pointer.
body_a | body to test for collision with the environment |
tolerance | allowed penetration should be positive |
|
inlinestatic |
Create instance and return shared pointer.
body_a,body_b | bodies to test for collision |
tolerance | allowed penetration should be positive |
|
inline |
Get joint a.
|
inline |
Get joint b.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set path to validate.
path | path to validate, |
reverse | whether path is validated from end to beginning. Compute maximal velocity of point of body a in frame of body b along the path. |
References path().
|
inline |
Get path.
Referenced by path().
|
inline |
Referenced by hpp::core::continuousCollisionChecking::operator<<().
|
inline |
|
inline |
|
inline |
Validate interval centered on a path parameter.
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. |
References assert().