rdiankov / openrave

Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
http://www.openrave.org
Other
684 stars 339 forks source link

Cache absence of collision bodies #1364

Closed rschlaikjer closed 2 months ago

rschlaikjer commented 3 months ago

Previously, when an FCL collision manager was ensuring it had all bodies, it would only cache the collision body pointers if the body actually had any geometry that was enabled for collision. This meant that if the environment contained bodies with large numbers of non-colliding links, those bodies would not get cached, and result in a lot of overhead every time a collision check is run.

With this patch, cache state is updated for non-colliding objects as well to avoid this extra work.

See rb PR 2010 for performance profiles.

rdiankov commented 3 months ago

@kanbouchou can you review this?

kanbouchou commented 2 months ago

@kanbouchou can you review this?

@rdiankov I checked and looks good to me.

@rschlaikjer please test on real systems as well as making sure unit tests and integrated tests pass.

rdiankov commented 2 months ago

thanks~