Collision detection using .stl/.dae meshes ?

Official Python bindings with a focus on reinforcement learning and robotics.
Post Reply
Posts: 1
Joined: Mon Apr 15, 2019 3:33 pm

Collision detection using .stl/.dae meshes ?

Post by zmuszynska » Mon Apr 15, 2019 3:48 pm


I would like to use PyBullet in order to check whether the next target pose is valid : i.e does not provoke self collision nor collision with surrounding objects.

I'm using getAABB and getContactPoints from the API but the results are insufficient : constructed bounding boxes lack precision I need to ensure the robot's and environment safety. Therefore I get many false positives for example when the robot isn't self colliding but the corresponding bounding boxes overlap.

Is there any way to check for collisions directly on meshes provided by the URDF file ? I get the feeling that it is possible in C++ bullet but I'm not sure whether it is exposed in the API.

Would recreating my robot using createVisualShape/createCollisionShape primitives and creating a multibody work ? Has anyone successfully integrated another Python library to their simulations for more sophisticated collision detection ?

Thank you very much for your feedback !

EDIT : After spending some more time on the subject, I get the feeling that getClosestPoints computes points from mesh directly, it should do the trick ! I filter out points corresponding to the same link and the ones corresponding to immediately consecutive robot links.

Post Reply