tesseract-robotics / tesseract_ros2

22 stars 24 forks source link

Clean up contact monitor #17

Closed mpowelson closed 1 year ago

mpowelson commented 4 years ago

The contact monitor could use a refactor. See some comments on #162.

  1. It should be refactored into a class so that we can have multiple contact monitors at the same time. This should let us get rid of most if not all of the global variables there.
  2. We should work to separate some of the processes more completely. For example, I would think contactTest should go in a different thread from visualization. Then that could be running for example on the GPU. Along those lines, computeCollisionReportThread currently blocks callbackJointState. I would think the joint state callback should be really quick and then when the collision checking needs them it would very quickly lock, copy the latest, and unlock the joint states.

Copied from https://github.com/ros-industrial-consortium/tesseract/issues/168 since that code moved here.

DavidMerzJr commented 4 years ago

@mpowelson the first point was addressed in #234. I did not try to address the second point.

As mentioned in Tesseract #168, this has been partially resolved already.

rjoomen commented 1 year ago

I think this issue can be closed. The contact monitor on tesseract_ros2 seems to be working, and if this still needs a refactor, tesseract_ros (1) probably should be leading.