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

Robot in Robotic Simulation Template not controllable from RViz2 with ROS 2 Iron distribution selected #451

Closed
PawelLiberadzki opened this issue Aug 4, 2023 · 1 comment
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/major Major priority. Work that should be handled after all blocking and critical work is done. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation

Comments

@PawelLiberadzki
Copy link
Contributor

PawelLiberadzki commented Aug 4, 2023

To replicate:

  1. Set ROS 2 distribution to Iron.
  2. Create or reconfigure project from Robotic Simulation Template, build/rebuild it.
  3. Open this project and run simulation - robot should be controllable.
  4. Follow steps in ROS 2 Project example to launch RViz2. At this step you should get following sequence of logs:

[bt_navigator-6] [INFO] [1691138616.838803128] [bt_navigator]: Activating
[bt_navigator-6] [ERROR] [1691138616.839305494] [bt_navigator]: Exception when loading BT: Error at line 14: -> Node not recognized: WouldAPlannerRecoveryHelp
[bt_navigator-6] [ERROR] [1691138616.839349905] [bt_navigator]: Error loading XML file: /opt/ros/iron/share/nav2_bt_navigator/behavior_trees/navigate_to_pose_w_replanning_and_recovery.xml
[lifecycle_manager-9] [ERROR] [1691138616.839646714] [lifecycle_manager_navigation]: Failed to change state for node: bt_navigator
[lifecycle_manager-9] [ERROR] [1691138616.839691139] [lifecycle_manager_navigation]: Failed to bring up all requested nodes. Aborting bringup.

  1. RViz2 shows cloud of points correctly, but 2D Goal Pose tool does not work. Note that messages from RViz2 seem to be sent correctly. Note also, that RViz2 updates viewport correctly, when you control robot manually from the project.

Additional info
This template does not work for ROS 2 Iron, but seems to work correctly for ROS 2 Humble.

Possibility
May be that we need different navigation param files for Humble and Iron distributions. Launch file for RViz2 (hyperlink in p. 4 above) would then check ROS 2 distribution and select correct param file. Check #3400 and #450 for possible additional info. Moreover, refer to these param files:
https://github.com/ros-planning/navigation2/blob/main/nav2_bringup/params/nav2_params.yaml
https://github.com/o3de/o3de-extras/blob/development/Templates/Ros2ProjectTemplate/Template/Examples/slam_navigation/launch/config/navigation_params.yaml

@pijaro
Copy link
Contributor

pijaro commented Aug 9, 2023

Iron version of nav2 (a behavior tree to be precise) requires additional plugins to be loaded.

You must add:

      - nav2_would_a_controller_recovery_help_condition_bt_node
      - nav2_would_a_planner_recovery_help_condition_bt_node
      - nav2_would_a_smoother_recovery_help_condition_bt_node

to the list of bt_navigator plugin list.

@RoddieKieley RoddieKieley added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation labels Aug 9, 2023
@adamdbrw adamdbrw added kind/bug Categorizes issue or PR as related to a bug. priority/major Major priority. Work that should be handled after all blocking and critical work is done. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/major Major priority. Work that should be handled after all blocking and critical work is done. sig/simulation Categorizes an issue or PR as relevant to SIG Simulation
Projects
None yet
Development

No branches or pull requests

4 participants