Bug report
Required Info:
- Operating System:
- ROS2 Version:
- Version or commit hash:
- Jazzy Binaries from 6 Oct 2024 with this PR
- DDS implementation:
Steps to reproduce issue
-
Use the following nav2 parameters:
smoother_server:
ros__parameters:
costmap_topic: global_costmap/costmap_raw
footprint_topic: global_costmap/published_footprint
robot_base_frame: base_footprint
transform_timeout: 0.1
smoother_plugins: ["simple_smoother"]
simple_smoother:
max_its: 1000
do_refinement: True
w_smooth: 0.3
w_data: 0.2
tolerance: 1e-10
-
Set up the behavior tree as follows:
<Sequence name="ComputeAndSmoothPath">
<ComputePathToPose goal="{goal}" path="{path}" planner_id="GridBased"/>
<SmoothPath unsmoothed_path="{path}" smoothed_path="{smooth_path}"/>
</Sequence>
-
Execute navigation. The robot will traverse the path and then start approaching the end of it.
Expected behavior
The robot smoothly navigates the entire path without aborting, and SmoothPath completes as expected.
Actual behavior
When the robot approaches the end of the path, the simple_smoother aborts the navigation with the following error:
if (segments_smoothed == 0) {
throw nav2_core::FailedToSmoothPath("No segments were smoothed");
}
Additional information
Logs:
[smoother_server]: Received a path to smooth.
[smoother_server]: No segments were smoothed
[smoother_server]: [smooth_path] [ActionServer] Aborting handle.
[global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[local_costmap.local_costmap]: Received request to clear entirely the local_costmap
...repeating endlessly
The exception is thrown even though the smoother could simply return a jagged path. The above exception leads to the whole navigation process being aborted. On the internet, there doesn't seem to be available much information on how to properly setup the SmoothPath node or handle BehaviorTree errors.
Bug report
Required Info:
Steps to reproduce issue
Use the following
nav2parameters:Set up the behavior tree as follows:
Execute navigation. The robot will traverse the path and then start approaching the end of it.
Expected behavior
The robot smoothly navigates the entire path without aborting, and
SmoothPathcompletes as expected.Actual behavior
When the robot approaches the end of the path, the
simple_smootheraborts the navigation with the following error:Additional information
Logs:
...repeating endlessly
The exception is thrown even though the smoother could simply return a jagged path. The above exception leads to the whole navigation process being aborted. On the internet, there doesn't seem to be available much information on how to properly setup the SmoothPath node or handle BehaviorTree errors.