# Error while launching bt\_navigator

**URL:** <https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210>\
**Category:** ROS2 Navigation\
**Tags:** error, navigation\
**Created:** [March 21, 2023, 12:24am UTC](https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210 "2023-03-21T00:24:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![w.ronaldo.cd](https://get-help.theconstruct.ai/letter_avatar_proxy/v4/letter/w/9d8465/32.png) [@w.ronaldo.cd](https://get-help.theconstruct.ai/u/w.ronaldo.cd)\
**Post date:** [March 21, 2023, 12:24am UTC](https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210/1 "2023-03-21T00:24:09Z")

</div>

Hi,

I am launching the bt\_navigator node for section III of the rosject according to the tutorial. I get the following error:

```auto
[lifecycle_manager-5] [INFO] [1679357904.450561202] [lifecycle_manager_path_planning]: Configuring bt_navigator
[bt_navigator-3] [INFO] [1679357904.451416882] [bt_navigator]: Configuring
[bt_navigator-3] [ERROR] [1679357905.066196172] []: Caught exception in callback for transition 10
[bt_navigator-3] [ERROR] [1679357905.066240686] []: Original error: Could not load library: libnav2_single_trigger_bt_node.so: cannot open shared object file: No such file or directory
[bt_navigator-3] [WARN] [1679357905.066285944] []: Error occurred while doing error handling.
[bt_navigator-3] [FATAL] [1679357905.066303212] [bt_navigator]: Lifecycle node bt_navigator does not have error state implemented
[lifecycle_manager-5] [ERROR] [1679357905.067130382] [lifecycle_manager_path_planning]: Failed to change state for node: bt_navigator
[lifecycle_manager-5] [ERROR] [1679357905.067181139] [lifecycle_manager_path_planning]: Failed to bring up all requested nodes. Aborting bringup.

```

I was reading about similar problems in google and it could be related with ROS2 version but I don’t know how to solve it.

Best Regards  
Ronaldo

---

<div class="post-metadata">

**Author:** ![girishkumar.kannan](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/girishkumar.kannan/32/6994_2.png) [@girishkumar.kannan](https://get-help.theconstruct.ai/u/girishkumar.kannan)\
**Post date:** [March 21, 2023, 4:46am UTC](https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210/2 "2023-03-21T04:46:44Z")

</div>

Hi @w.ronaldo.cd ,

I think I have a small clue as to why you are getting the error.  
This is because the rosject uses `Foxy` version, whereas the course uses `Galactic` version.

Some things that you copy-paste from `Galactic` version into `Foxy` version will not work.

From my experience, the only files having the problem is the `bt_navigator.yaml` file and the `behavior.xml` file.

Please post the following as code-block:

1. Launch file containing the `bt_navigator` node.
2. `bt_navigator.yaml` file
3. `behavior.xml` file

I know which ones to remove after seeing your contents of the above files.

Regards,  
Girish

---

<div class="post-metadata">

**Author:** ![w.ronaldo.cd](https://get-help.theconstruct.ai/letter_avatar_proxy/v4/letter/w/9d8465/32.png) [@w.ronaldo.cd](https://get-help.theconstruct.ai/u/w.ronaldo.cd)\
**Post date:** [March 21, 2023, 7:28pm UTC](https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210/3 "2023-03-21T19:28:49Z")

</div>

Hi @girishkumar.kannan

**behavior.xml** :

```auto
<root main_tree_to_execute="MainTree">
  <BehaviorTree ID="MainTree">
    <RecoveryNode number_of_retries="6" name="NavigateRecovery">
      <PipelineSequence name="NavigateWithReplanning">
        <RateController hz="1.0">
          <RecoveryNode number_of_retries="1" name="ComputePathToPose">
            <ComputePathToPose goal="{goal}" path="{path}" planner_id="GridBased"/>
            <ClearEntireCostmap service_name="global_costmap/clear_entirely_global_costmap"/>
          </RecoveryNode>
        </RateController>
        <RecoveryNode number_of_retries="1" name="FollowPath">
          <FollowPath path="{path}" controller_id="FollowPath"/>
          <ClearEntireCostmap service_name="local_costmap/clear_entirely_local_costmap"/>
        </RecoveryNode>
      </PipelineSequence>
      <SequenceStar name="RecoveryActions">
        <ClearEntireCostmap service_name="local_costmap/clear_entirely_local_costmap"/>
        <ClearEntireCostmap service_name="global_costmap/clear_entirely_global_costmap"/>
        <Spin spin_dist="1.57"/>
        <Wait wait_duration="5"/>
      </SequenceStar>
    </RecoveryNode>
  </BehaviorTree>
</root>

```

**bt\_navigator.yaml**

```auto
bt_navigator:
  ros__parameters:
    use_sim_time: True
    global_frame: map
    robot_base_frame: base_link
    odom_topic: /odom
    bt_loop_duration: 10
    default_server_timeout: 20
    default_nav_to_pose_bt_xml: "/home/user/ros2_ws/src/Navigation_rosject/project_path_planning/config/behavior.xml"
    plugin_lib_names:
    - nav2_compute_path_to_pose_action_bt_node
    - nav2_compute_path_through_poses_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_goal_updated_condition_bt_node
    - nav2_initial_pose_received_condition_bt_node
    - nav2_reinitialize_global_localization_service_bt_node
    - nav2_rate_controller_bt_node
    - nav2_distance_controller_bt_node
    - nav2_speed_controller_bt_node
    - nav2_truncate_path_action_bt_node
    - nav2_goal_updater_node_bt_node
    - nav2_recovery_node_bt_node
    - nav2_pipeline_sequence_bt_node
    - nav2_round_robin_node_bt_node
    - nav2_transform_available_condition_bt_node
    - nav2_time_expired_condition_bt_node
    - nav2_distance_traveled_condition_bt_node
    - nav2_single_trigger_bt_node
    - nav2_is_battery_low_condition_bt_node
    - nav2_navigate_through_poses_action_bt_node
    - nav2_navigate_to_pose_action_bt_node
    - nav2_remove_passed_goals_action_bt_node

```

**Launch file:**

```auto
def generate_launch_description():
    config_dir = os.path.join(get_package_share_directory('project_path_planning'), 'config')
    bt_navigator_yaml = os.path.join(config_dir, 'bt_navigator.yaml')
    return LaunchDescription([
        Node(
                package='nav2_bt_navigator',
                executable='bt_navigator',
                name='bt_navigator',
                output='screen',
                parameters=[bt_navigator_yaml]),

```

These are the files, thanks for your help.  
Best regards,  
Ronaldo

---

<div class="post-metadata">

**Author:** ![girishkumar.kannan](https://get-help.theconstruct.ai/user_avatar/get-help.theconstruct.ai/girishkumar.kannan/32/6994_2.png) [@girishkumar.kannan](https://get-help.theconstruct.ai/u/girishkumar.kannan)\
**Post date:** [March 22, 2023, 3:30am UTC](https://get-help.theconstruct.ai/t/error-while-launching-bt-navigator/23210/4 "2023-03-22T03:30:43Z")

</div>

Hi @w.ronaldo.cd ,

Just as I thought, your `behavior.xml` and `bt_navigator.yaml` requires changes.  
`bt_navigator.yaml` did not have certain plugin libraries for `Foxy` during its release, which includes `nav2_compute_through_poses`.

Below you can find the correct files for `Foxy` version - the ROS2 version used in rosject currently.

= = = = = = = = = =

`behavior.xml`:

```xml
<!--
  This Behavior Tree replans the global path periodically at 1 Hz, and has
  recovery actions. Obtained from the official Nav2 package
-->

<!-- Foxy Version -->
<root main_tree_to_execute="MainTree">
  <BehaviorTree ID="MainTree">
    <RecoveryNode number_of_retries="6" name="NavigateRecovery">
      <PipelineSequence name="NavigateWithReplanning">
        <RateController hz="1.0">
          <RecoveryNode number_of_retries="1" name="ComputePathToPose">
            <ComputePathToPose goal="{goal}" path="{path}" planner_id="GridBased"/>
            <ClearEntireCostmap name="ClearGlobalCostmap-Context" service_name="global_costmap/clear_entirely_global_costmap"/>
          </RecoveryNode>
        </RateController>
        <RecoveryNode number_of_retries="1" name="FollowPath">
          <FollowPath path="{path}" controller_id="FollowPath"/>
          <ClearEntireCostmap name="ClearLocalCostmap-Context" service_name="local_costmap/clear_entirely_local_costmap"/>
        </RecoveryNode>
      </PipelineSequence>
      <ReactiveFallback name="RecoveryFallback">
        <GoalUpdated/>
        <SequenceStar name="RecoveryActions">
          <ClearEntireCostmap name="ClearLocalCostmap-Subtree" service_name="local_costmap/clear_entirely_local_costmap"/>
          <ClearEntireCostmap name="ClearGlobalCostmap-Subtree" service_name="global_costmap/clear_entirely_global_costmap"/>
          <Spin spin_dist="1.57"/>
          <Wait wait_duration="5"/>
        </SequenceStar>
      </ReactiveFallback>
    </RecoveryNode>
  </BehaviorTree>
</root>

```

= = = = = = = = = =

`bt_navigator.yaml` (notice that a few plugins are removed):  
**NOTE / WARNING / ATTENTION:**  
Please replace `<your_package_name>` to your package containing the `bt_navigator.yaml` config file - in the parameter `default_bt_xml_filename`.  
**= = = = = = = = = =**

```yaml
# Foxy Version
bt_navigator:
  ros__parameters:
    use_sim_time: True
    global_frame: map
    robot_base_frame: base_footprint # base_link
    odom_topic: /odom
    enable_groot_monitoring: True
    groot_zmq_publisher_port: 1666
    groot_zmq_server_port: 1667
    default_bt_xml_filename: "/home/user/ros2_ws/src/<your_package_name>/config/behavior.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_goal_updated_condition_bt_node
    - nav2_initial_pose_received_condition_bt_node
    - nav2_reinitialize_global_localization_service_bt_node
    - nav2_rate_controller_bt_node
    - nav2_distance_controller_bt_node
    - nav2_speed_controller_bt_node
    - nav2_truncate_path_action_bt_node
    - nav2_goal_updater_node_bt_node
    - nav2_recovery_node_bt_node
    - nav2_pipeline_sequence_bt_node
    - nav2_round_robin_node_bt_node
    - nav2_transform_available_condition_bt_node
    - nav2_time_expired_condition_bt_node
    - nav2_distance_traveled_condition_bt_node

```

= = = = = = = = = =

Also, when I asked you to share your launch file, I wanted the complete file contents, not just the `Node` declaration of `bt_navigator`. Please re-post the complete launch file.

Regards,  
Girish

PS: The above referenced contents for the `behavior.xml` and `bt_navigator.yaml` were obtained from this post: [Path planning error - ROS2 Navigation course - #3 by rtellez](https://get-help.robotigniteacademy.com/t/path-planning-error-ros2-navigation-course/18544/3)
