openrave.org

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Collision Checker Concepts

Reference: OpenRAVE::CollisionCheckerBase.

All CheckCollision functions accept an optional pointer to a OpenRAVE::CollisionReport struct, which gets filled with information about the collision that takes place. Usually requesting more precise information like distance to obstacles is computationally expensive; therefore to save computation, the user can specify what collision information should be filled in the OpenRAVE::CollisionReport with the SetCollisionOptions function.

OpenRAVE is not tied to a particular collision checker. Collision checkers can be changed with SetCollisionChecker. In order to add a new collision checker, derive a class from OpenRAVE::CollisionCheckerBase and fill all the methods it provides. Then register it in 'src/environment.cpp' and CollisionCheckers. All collision checking is done through the overloaded EnvironmentBase::CheckCollision.