-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow users to customize the distance to mouth during bite transfer #113
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TODO: - Implement "Try It" along with error handling - Test it
Remaining TODOs (in addition to in-person testing above):
|
5 tasks
…bot arm configuration
Addressed all the above issues (see resolutions below the issues) and thoroughly tested in sim (see new test cases above). Once all the test cases for the real robot have also been run, it will be ready to merge in. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe this pull request. Link to relevant GitHub issues, if any.
Joint with
ada_feeding
#155.Different users have different neck mobilities, and thus it is crucial for them to be able to customize how close the robot gets to their mouth during bite transfer. This PR accomplishes that through the following changes:
Done
button is clicked, it executes motions to restore the robot arm to the configuration corresponding with themealState
from before the user entered the Settings menu.In addition, this PR makes the following two changes:
MoveFromMouthToAbovePlate
andMoveFromMouthToRestingPosition
. Because these are two actions at once, if paused during the second action, it restarts the first, which can be unintuitive and dangerous.MoveFromMouth
(that goes to the staging pose), followed by a standard call toMoveAbovePlate
/MoveToRestingPosition
.MoveToMouth
succeeds but actually doesn't move close enough, so the user can go back to the staging configuration and retry.Finally, the joint PR
ada_feeding
#155 addresses the issue that ifMoveToMouth
fails because it is too close to a singularity,MoveFromMouth
will also fail, leaving the user stuck. Thus, that PR generalizesMoveFromMouth
to have a fallback cartesian motion, so that it can always move back to the staging configuration.Explain how this pull request was tested, including but not limited to the below checkmarks.
Sim
Setup:
ros2 run ada_feeding dummy_ft_sensor.py
ros2 launch feeding_web_app_ros2_test feeding_web_app_dummy_nodes_launch.xml run_motion:=false run_web_bridge:=true
ros2 run ada_feeding_perception republisher --ros-args --params-file src/ada_feeding/ada_feeding_perception/config/republisher.yaml
ros2 launch ada_feeding ada_feeding_launch.xml use_estop:=false run_web_bridge:=true
ros2 launch ada_moveit demo.launch.py sim:=mock
Testing the
MoveFromMouth
change:BiteDone
page, select each of the three buttons (one at a time), and verify they succeed as expected.BiteDone
page, select each of the three buttons (one at a time). Then, pause and resume each action, and verify that it functions as expected.BiteDone
page, select each of the top two buttons (one at a time) and let them succeed. Then go back to "Move To Mouth," pause it, and click "Back," thereby invoking "MoveFromMouth." Verify that it stops at the DetectingFace page, and doesn't move on to another motion.Testing the Settings / Bite Transfer Menu:
ada_feeding/ada_feeding/configs/ada_feeding_action_servers_current.yaml
gets updated accordingly.BiteDone
screen. Then go to settings (verify it starts in the main settings screen). Go to Bite Transfer. Verify that it still moves to the Staging configuration.Real
Setup:
ada_feeding
#155Testing the
MoveFromMouth
change (same as above, but instead of pausing we induce errors):BiteDone
page, select each of the three buttons (one at a time). Then, induce an error and resume each action, and verify that it functions as expected.BiteDone
page, select each of the top two buttons (one at a time) and let them succeed. Then go back to "Move To Mouth," induce an error it, and click "Back," thereby invoking "MoveFromMouth." Verify that it stops at the DetectingFace page, and doesn't move on to another motion.Testing the Settings / Bite Transfer Menu:
ada_feeding/ada_feeding/configs/ada_feeding_action_servers_current.yaml
gets updated accordingly.BiteDone
screen. Then go to settings. Verify that it still moves to the Staging configuration.Stress Testing MoveToMouth:
Before creating a pull request
npm run format
python3 -m black .
in the top-level of this repositoryBefore merging a pull request
Squash and Merge
)