Collision
Lively implements the PROXIMA collision detection algorithm, which allows for time-efficient collision and proximity detection for robots 1. The Collision Avoidance objective serves to utilize the data generated from this collision detection algorithm to prevent collisions. Lively employs a three-fold approach to handling modeling collision objects.
The first is input from the URDF during the initialization of the solver. This specification allows for the inclusion of four default types of shapes:
boxes
,capsules
,cylinders
, andspheres
, and these shapes are automatically imported into the collision model when the URDF is parsed. For cross-platform and web-based reasons, mesh-based colliders are ignored during URDF import.The second approach allows additional colliders to be specified during initialization, including the above shapes and additionally convex hulls. These shapes can be attached to any link in the robot, or the world, allowing for a second level of support for collision specification.
Finally, as an optional input to the
solve
method, developers can provide a set of updates to the collision model. Using an id-based approach, new colliders can be added, and existing colliders can be moved or deleted. These mechanisms enable the system to respond in real-time to new or moving objects in the scene.
The output of collision detection is a set of ProximityInfo
.
Changing the position of the object in the environment will not change the distance
parameter from ProximityInfo
if the distance between that object and the robot is outside the collision detection distance parameter d_max
specified in collisionSettingInfo
.
Solve times for the UR3e, Panda, and Pepper robots, with randomized locations of collider-shapes. Of note, speed is largely unaffected by collider-shapes count.
References
- Rakita, Daniel, Bilge Mutlu, and Michael Gleicher. "PROXIMA: An Approach for Time or Accuracy Budgeted Collision Proximity Queries." Proceedings of Robotics: Science and Systems (RSS). 2022. http://www.roboticsproceedings.org/rss18/p043.pdf↩