豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

[nav2_theta_star_planner] Theta* paths intersects lethal obstacles. #5863

@astrorick

Description

@astrorick

Bug report

The nav2_theta_star_planner/ThetaStarPlanner produces paths that intersect lethal obstacles.

Required Info

  • Operating System: Ubuntu 22.04
  • ROS2 Distro: Humble
  • NAV2 Version: ros-humble-navigation2 1.1.20-1jammy.20251228.132604

Steps to reproduce issue

  1. Launch RViz2 and publish your static tf tree.
  2. Use the provided nav2_params.yaml file to launch your planner_server, bt_navigator and lifecycle_manager.
  3. Publish a map on the /map topic and use RViz2 to set a goal 2D pose.

Expected behavior

The planner finds the cheapest path between the starting pose and the goal pose while avoiding obstacles.

Actual behavior

The path intersects lethal obstacles.

Configuration

nav2_params.yaml:

global_costmap:
  global_costmap:
    ros__parameters:
      global_frame: map
      robot_base_frame: base_link
      robot_radius: 0.5
      plugins: ["static_layer", "inflation_layer"]
      trinary_costmap: false
      lethal_cost_threshold: 99

      static_layer:
        plugin: "nav2_costmap_2d::StaticLayer"
        map_topic: /map
        subscribe_to_updates: false
        enabled: true
      
      inflation_layer:
        plugin: "nav2_costmap_2d::InflationLayer"
        enabled: True
        cost_scaling_factor: 20.0
        inflation_radius: 1.0

planner_server:
  ros__parameters:
    use_sim_time: false
    expected_planner_frequency: 5.0
    costmap_update_timeout: 1.0
    allow_partial_planning: false
    planner_plugins: ["GridBased"]
    
    GridBased:
      plugin: "nav2_theta_star_planner/ThetaStarPlanner"
      how_many_corners: 8
      w_euc_cost: 1.0
      w_traversal_cost: 2.0

bt_navigator:
  ros__parameters:
    use_sim_time: false
    global_frame: map
    robot_base_frame: base_link
    odom_topic: odom

Test Cases

  • Test 1: Lower Res Map with No Inflation Layer
    • Size: 25 x 25 meters
    • Resolution: 1 m/px
    • Inflation Layer: None
    • Start: x = -5.0 m, y = +11.0 m
    • Goal: x = +11.0 m, y = -8.0 m
Image
[bt_navigator-5] [INFO] [1768318176.880994941] [bt_navigator]: Begin navigating from current location (-5.00, 11.00) to (11.00, -8.00)
[bt_navigator-5] [INFO] [1768318176.911177855] [bt_navigator]: Goal succeeded

Result: planner succeeds but path intersect lethal obstacles.


  • Test 2: Higher Res Map with No Inflation Layer
    • Size: 125 x 125 meters
    • Resolution: 0.2 m/px
    • Inflation Layer: None
    • Start: x = -5.0 m, y = +11.0 m
    • Goal: x = +11.0 m, y = -8.0 m
Image
[bt_navigator-5] [INFO] [1768318176.880994941] [bt_navigator]: Begin navigating from current location (-5.00, 11.00) to (11.00, -8.00)
[bt_navigator-5] [INFO] [1768318176.911177855] [bt_navigator]: Goal succeeded

Result: planner succeeds but path intersect lethal obstacles.


  • Test 3: Higher Res Map with Inflation Layer
    • Size: 125 x 125 meters
    • Resolution: 0.2 m/px
    • Inflation Layer: Yes (see Configuration section)
    • Start: x = -5.0 m, y = +11.0 m
    • Goal: x = +11.0 m, y = -8.0 m
Image
[bt_navigator-5] [INFO] [1768318176.880994941] [bt_navigator]: Begin navigating from current location (-5.00, 11.00) to (11.00, -8.00)
[bt_navigator-5] [INFO] [1768318176.911177855] [bt_navigator]: Goal succeeded

Result: planner succeeds but path intersect lethal regions of inflation layer.


  • Test 4: Narrower Map with No Inflation Layer
    • Size: 25 x 25 meters
    • Resolution: 1.0 m/px
    • Inflation Layer: None
    • Start: x = -5.0 m, y = +11.0 m
    • Goal: x = +11.0 m, y = -5.0 m
Image
[bt_navigator-5] [INFO] [1768317954.959984951] [bt_navigator]: Begin navigating from current location (-5.00, 11.00) to (11.00, -5.00)
[planner_server-4] [ERROR] [1768317954.960576225] [planner_server]: Could not generate path between the given poses
[planner_server-4] [WARN] [1768317954.960621343] [planner_server]: Planning algorithm GridBased failed to generate a valid path to (10.99, -5.06)
[planner_server-4] [WARN] [1768317954.960635590] [planner_server]: [compute_path_to_pose] [ActionServer] Aborting handle.
[bt_navigator-5] [WARN] [1768317954.990128094] [bt_navigator]: [navigate_to_pose] [ActionServer] Aborting handle.
[bt_navigator-5] [ERROR] [1768317954.990193396] [bt_navigator]: Goal failed

Result: planner fails to find viable path.

Additional information

  • For all tests, the bt_navigator uses custom behavior trees to only include the planner_server in the pipeline. Robot control is ignored.

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