Currently, ada_planning_scene.py sends one message to the /collision_objects topic per collision object it is initializing in the planning scene. However, it is possible that that message gets dropped, which results in the planning scene not being fully initialized. This PR addresses that, by subscribing to the /monitored_planning_scene topic and continuing to publish messages until that object is confirmed to be added by the /monitored_planning_scene topic.
Testing procedure
[x] Launch code in mock: python3 src/ada_feeding/start.py --sim mock
[x] Verify via RVIZ that the entire planning scene gets monitored in MoveIt.
[x] Verify in the feeding screen that initialization stopped by finding the Planning scene initialized log.
[x] Terminate the code in the feeding screen. Re-launch it. Verify that even though MoveIt already has the entire planning scene, initialization still terminates (i.e., you see the Planning scene initialized log).
Before opening a pull request
[x] Format your code using black formatterpython3 -m black .
[x] Run your code through pylint and address all warnings/errors. The only warnings that are acceptable to not address is TODOs that should be addressed in a future PR. From the top-level ada_feeding directory, run: pylint --recursive=y --rcfile=.pylintrc ..
Description
Currently,
ada_planning_scene.py
sends one message to the/collision_objects
topic per collision object it is initializing in the planning scene. However, it is possible that that message gets dropped, which results in the planning scene not being fully initialized. This PR addresses that, by subscribing to the/monitored_planning_scene
topic and continuing to publish messages until that object is confirmed to be added by the/monitored_planning_scene
topic.Testing procedure
python3 src/ada_feeding/start.py --sim mock
feeding
screen that initialization stopped by finding thePlanning scene initialized
log.feeding
screen. Re-launch it. Verify that even though MoveIt already has the entire planning scene, initialization still terminates (i.e., you see thePlanning scene initialized
log).Before opening a pull request
python3 -m black .
ada_feeding
directory, run:pylint --recursive=y --rcfile=.pylintrc .
.Before Merging
Squash & Merge