I've been facing an issue with the local planner in my ROS2 navigation setup. The core of the problem seems to be that the local planner does not extend sufficiently outside the robot's footprint boundaries. This results in the local planner not having adequate "contact" with the local costmap, preventing it from effectively distorting the global planner's path when encountering obstacles.
I've visualized this behavior in several videos, which can be viewed here:
Setup and Observations:
Robot Configuration: My robot is a truck with specific dimensions and footprint. The footprint is defined as: footprint: "[[-4.8025, -1.739], [4.8025, -1.739], [4.8025, 1.739], [-4.8025, 1.739]]".
Planners Tested:
Global Planners: Smac (Dubin and REED-SHEP) , ThetaStar, NAVFN Local Planners: DWB and TEB
Pictures (LOCAL PLANNER IS IN BLUE, GLOBAL IN RED): The global planner crosses the footprint boundary (green rectangle), but the local planner does not.
Behavior Observed:
Regardless of the combination of global and local planners, the local planner seems entirely submissive to the global planner's path.
Instead of deforming the global path to avoid obstacles, the local planner follows it.
Attempts to Resolve:
I've tried adjusting various parameters related to the local and global planners, including footprint configurations, costmap resolutions, and planner-specific parameters. I've also experimented with different motion models and cost functions. Despite these efforts, the core issue remains unresolved. Request:
I'm seeking assistance in understanding and resolving this behavior. It's crucial for the local planner to effectively distort the global path when necessary, ensuring safe and efficient navigation. Any insights, suggestions, or recommendations would be greatly appreciated.