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
- Launch RViz2 and publish your static tf tree.
- Use the provided
nav2_params.yaml file to launch your planner_server, bt_navigator and lifecycle_manager.
- 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
[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
[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
[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
[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.
Bug report
The
nav2_theta_star_planner/ThetaStarPlannerproduces paths that intersect lethal obstacles.Required Info
Steps to reproduce issue
nav2_params.yamlfile to launch yourplanner_server,bt_navigatorandlifecycle_manager./maptopic 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:Test Cases
x = -5.0 m,y = +11.0 mx = +11.0 m,y = -8.0 mResult: planner succeeds but path intersect lethal obstacles.
x = -5.0 m,y = +11.0 mx = +11.0 m,y = -8.0 mResult: planner succeeds but path intersect lethal obstacles.
x = -5.0 m,y = +11.0 mx = +11.0 m,y = -8.0 mResult: planner succeeds but path intersect lethal regions of inflation layer.
x = -5.0 m,y = +11.0 mx = +11.0 m,y = -5.0 mResult: planner fails to find viable path.
Additional information
bt_navigatoruses custom behavior trees to only include theplanner_serverin the pipeline. Robot control is ignored.