Skip to content
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

[Bugfix] Workspace walls should get default configurations if customized ones don't exist #201

Merged
merged 3 commits into from
Oct 18, 2024

Conversation

amalnanavati
Copy link
Contributor

Description

This PR makes a few separate but related changes:

  1. Adds a customized configuration for demos, which moves the robot arm farther from the user's mouth (5cm).
  2. Because that custom configuration does not change any of the default robot arm configurations, it revealed a bug where ada_planning_scene failed to compute workspace walls if robot arm configurations have not been customized. This PR addresses that bug, by having ada_planning_scene get the default configurations for those that aren't customizing (which aligns with the actual behavior of the ada_feeding_action_servers node.
  3. Finally, there is a known rclpy bug where spinning crashes when some callbacks are destroyed (#1355, #1206, #1142). This PR creates a very hacky fix, by resuming spinning where it left off.

Testing procedure

  • Verify the issue:
    • Get the ada_feeding_action_servers_custom.yaml file from this PR, but leave everything else unchanged. Re-build your workspace.
    • Run ros2 launch ada_planning_scene ada_moveit_launch.xml use_rviz:=false sim:=mock
    • Verify via the logs that ada_planning_scene keeps terminating and restarting.
  • Verify the fix:
    • Pull this branch, re-build your workspace.
    • Run ros2 launch ada_planning_scene ada_moveit_launch.xml use_rviz:=false sim:=mock
    • Verify via the logs that ada_planning_scene succesfully populates the workspace walls.

Before opening a pull request

  • Format your code using black formatter python3 -m black .
  • 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 ..

Before Merging

  • Squash & Merge

@amalnanavati amalnanavati requested a review from jjaime2 October 18, 2024 01:51
Copy link

@jjaime2 jjaime2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@amalnanavati amalnanavati merged commit dfee7aa into ros2-devel Oct 18, 2024
@amalnanavati amalnanavati deleted the amaln/workspace_walls_bugfix branch October 18, 2024 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants