Skip to content

About behavior tree plugin/nodes in ros2 humble #92

Open
@lyysl

Description

@lyysl

I am trying to write my own behavior tree nodes in ros2 humble. I use this repo as example.
I see in demo_parmas.yaml

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_coverage_bt_xml' uses defaults:
    # opennav_coverage_bt/behavior_tree/navigate_w_basic_complete_coverage.xml
    navigators: ['navigate_complete_coverage']
    navigate_complete_coverage:
      plugin: "opennav_coverage_navigator/CoverageNavigator"
    error_code_names: ["compute_path_error_code", "follow_path_error_code", "compute_coverage_error_code"]
    plugin_lib_names:
      - nav2_follow_path_action_bt_node
      - nav2_rate_controller_bt_node
      - nav2_recovery_node_bt_node
      - nav2_pipeline_sequence_bt_node
      - nav2_round_robin_node_bt_node
      - opennav_compute_complete_coverage_action_bt_node
      - opennav_cancel_complete_coverage_action_bt_node

The default .xml is navigate_w_basic_complete_coverage.xml. I cannot define the .xml by using default_bt_xml_filename: some_path? I try this but it always use the default .xml in nav2. I see you define a function CoverageNavigator::getDefaultBTFilepath in opennav_coverage_navigator/src/coverage_navigator.cpp. Is it neccesary to use this in order to make the behavior tree xml works? Also the package backported_bt_navigator? Is it problems in ros2 humble only?
I am new to ros2 navigation. It would be nice if you could tell me how I can make the custom plugin works.
Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions