Closed ju-mingyue closed 2 years ago
@gkouros Mr. gkouros, I look forward to your help.
The global plan provided by the planner should be fixed, so it's most likely an issue with the configuration of DWA.
I have the same situation when I use the teb local planner.
@Starkhen Not sure I can help you with that. I don't think it's a global planner issue, but the only quick thing you can do is simply specify a global path that does not pass through obstacles. Otherwise, look try to debug the local planner and why it doesn't follow the path.
I found this issue as well using TEB. It appears that makePlan() is called when the robot reaches the obstacle in the global path, and the local planner fails to find a feasible trajectory. It's not clear to me why makePlan() is called, as I have move_base's max_planning_retries set to zero and planner_frequency set to zero.
I suppose one way to fix the behavior would be to track which waypoints have been cleared, and trim the global plan before republishing, but ideally the plan would just be abandoned.
Edit: It appears that the local planner is reporting "path blocked", which causes move_base to get a new global plan. It seems switching to move_base_flex would provide framework for abandoning a blocked plan, vs. replanning.
Hello, I compiled and installed the package on the ros melodic version, but when I run, if there is an obstacle in the middle of the path, the path planning of the robot will return to the original position? The dwa used by my current local algorithm should be able to bypass the obstacle and continue to track the global path when it encounters an obstacle, but it is actually not possible, as shown in the following figure:
I don't know where the problem is, I look forward to your reply