ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I just remembered where I'd seen this before. https://github.com/ros-planning/navigation2/issues/1366.

I think your problem is you aren't providing the plugin names as a parameter to bt_navigator. You need to set the plugin_lib_names parameter as is done here: https://github.com/ros-planning/navigation2/blob/66543509618a8100c92bb22eb029efb77967ca43/nav2_bringup/bringup/params/nav2_params.yaml#L53-L67

The simplest way to get this to work is to create a file (/tmp/bt_parms.yaml) that contains:

bt_navigator:
  ros__parameters:
    bt_xml_filename: "navigate_w_replanning_and_recovery.xml"
    plugin_lib_names:
    - nav2_compute_path_to_pose_action_bt_node
    - nav2_follow_path_action_bt_node
    - nav2_back_up_action_bt_node
    - nav2_spin_action_bt_node
    - nav2_wait_action_bt_node
    - nav2_clear_costmap_service_bt_node
    - nav2_is_stuck_condition_bt_node
    - nav2_goal_reached_condition_bt_node
    - nav2_initial_pose_received_condition_bt_node
    - nav2_reinitialize_global_localization_service_bt_node
    - nav2_rate_controller_bt_node
    - nav2_recovery_node_bt_node
    - nav2_pipeline_sequence_bt_node
    - nav2_round_robin_node_bt_node

And then run:

> ros2 run nav2_bt_navigator bt_navigator --ros-args __params:=/tmp/bt_params.yaml

I'm not at a computer where I can test this, so I might have some minor errors in my commandline syntax

I just remembered where I'd seen this before. https://github.com/ros-planning/navigation2/issues/1366.

I think your problem is you aren't providing the plugin names as a parameter to bt_navigator. You need to set the plugin_lib_names parameter as is done here: https://github.com/ros-planning/navigation2/blob/66543509618a8100c92bb22eb029efb77967ca43/nav2_bringup/bringup/params/nav2_params.yaml#L53-L67

The simplest way to get this to work is to create a file (/tmp/bt_parms.yaml) that contains:

bt_navigator:
  ros__parameters:
    bt_xml_filename: "navigate_w_replanning_and_recovery.xml"
    plugin_lib_names:
    - nav2_compute_path_to_pose_action_bt_node
    - nav2_follow_path_action_bt_node
    - nav2_back_up_action_bt_node
    - nav2_spin_action_bt_node
    - nav2_wait_action_bt_node
    - nav2_clear_costmap_service_bt_node
    - nav2_is_stuck_condition_bt_node
    - nav2_goal_reached_condition_bt_node
    - nav2_initial_pose_received_condition_bt_node
    - nav2_reinitialize_global_localization_service_bt_node
    - nav2_rate_controller_bt_node
    - nav2_recovery_node_bt_node
    - nav2_pipeline_sequence_bt_node
    - nav2_round_robin_node_bt_node

And then run:

> ros2 run nav2_bt_navigator bt_navigator --ros-args __params:=/tmp/bt_params.yaml

I'm not at a computer where I can test this, so I might have some minor errors in my commandline syntax

I filed an issue against nav2 because this is pretty unwieldy for your use case, IMHO. The issue is https://github.com/ros-planning/navigation2/issues/1523

I just remembered where I'd seen this before. https://github.com/ros-planning/navigation2/issues/1366.

I think your problem is you aren't providing the plugin names as a parameter to bt_navigator. You need to set the plugin_lib_names parameter as is done here: https://github.com/ros-planning/navigation2/blob/66543509618a8100c92bb22eb029efb77967ca43/nav2_bringup/bringup/params/nav2_params.yaml#L53-L67

The simplest way to get this to work is to create a file (/tmp/bt_parms.yaml) that contains:

bt_navigator:
  ros__parameters:
    bt_xml_filename: "navigate_w_replanning_and_recovery.xml"
    plugin_lib_names:
    - nav2_compute_path_to_pose_action_bt_node
    - nav2_follow_path_action_bt_node
    - nav2_back_up_action_bt_node
    - nav2_spin_action_bt_node
    - nav2_wait_action_bt_node
    - nav2_clear_costmap_service_bt_node
    - nav2_is_stuck_condition_bt_node
    - nav2_goal_reached_condition_bt_node
    - nav2_initial_pose_received_condition_bt_node
    - nav2_reinitialize_global_localization_service_bt_node
    - nav2_rate_controller_bt_node
    - nav2_recovery_node_bt_node
    - nav2_pipeline_sequence_bt_node
    - nav2_round_robin_node_bt_node

And then run:

> ros2 run nav2_bt_navigator bt_navigator --ros-args __params:=/tmp/bt_params.yaml
--params-file /tmp/bt_params.yaml

I'm not at a computer where I can test this, so I might have some minor errors in my commandline syntax

I filed an issue against nav2 because this is pretty unwieldy for your use case, IMHO. The issue is https://github.com/ros-planning/navigation2/issues/1523