In service of #144 . Earlier, the MoveToMouth tree was moving the head and scaling the wheelchair collision object based on the results of face detection. However, this has two downsides:
We have to pass in planning scene information and mesh assets into MoveToMouth tree.
It can only change the planning scene at pre-defined parts of the behavior tree.
This PR addresses that by moving the planning scene update logic to ada_planning_scene.py; now, all planning scene updates are handled by that one node. Further, this lays the groundwork for not having the robot lock in the user's head position before MoveToMouth, because if the web app does not toggle face detection off, then the mouth frame will automatically adjust as the robot arm moves, resulting in the arm adjusting to the user's head position.
Testing procedure
[x] Launch the code in --sim mock
[x] Step through a bite in the web app. When the robot is waiting to detect the user's face, verify that the head, wheelchair collision object, and mouth TF frame all update in RVIZ.
[x] Launch the code on the real robot.
[x] Use the app to have the robot move to your mouth. Verify that everything works as expected.
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
In service of #144 . Earlier, the
MoveToMouth
tree was moving the head and scaling the wheelchair collision object based on the results of face detection. However, this has two downsides:MoveToMouth
tree.This PR addresses that by moving the planning scene update logic to
ada_planning_scene.py
; now, all planning scene updates are handled by that one node. Further, this lays the groundwork for not having the robot lock in the user's head position before MoveToMouth, because if the web app does not toggle face detection off, then themouth
frame will automatically adjust as the robot arm moves, resulting in the arm adjusting to the user's head position.Testing procedure
--sim mock
mouth
TF frame all update in RVIZ.Before opening a pull request
python3 -m black .
ada_feeding
directory, run:pylint --recursive=y --rcfile=.pylintrc .
.Before Merging
Squash & Merge