Sometimes global_plannner generates a path inside the inscribed cost area
Hello,
I have developed a program to check if the robot can generate a path between specified coordinates before actually running the robot.
In many cases it was successful and generated the correct path as it would when actually running.
The correct path here is one that does not collide with any obstacles.
However, I observed that, with low probability, the path would encroach into the inscribed cost area.
I do not know the reason for this and would appreciate your advice.
The program I have developed uses the costmap and global_planner of move_base.
I am using static_layer, obstacle_layer, and inflation_layer plugins for costmap, and I have set the combination_method of obstacle_layer to 99.
In addition, the function is realized by calling the /move_base/GlobalPlanner/make_plan service.
I have the perception that if obstacle_layer was disabled as described above, cost would also be affected almost exclusively by the map loaded by static_layer.
For this reason, I do not understand why the result may change.
Also, when I checked, the potential map that publishrd by global_plannner was also intruding into the inscribed cost area when generating the incorrect path.
Please give me a clue.
Thanks in advance.
You are asking about the behavior of the global planner, right? Which algorithm have you configured the global planner to use?
Hello @Mike Scheutzow, I use global_planner. I set use_dijkstra to true, use_quadratic to true and old_navfn_behavior to false.
"the path would encroach into the inscribed cost area"
Please explain more precisely what you mean. Are you referring to the inscribed area created by inflating a lethal obstacle? Is the inflation happening in the global costmap or the local costmap? Have you tried turning off the visual display of the local costmap in rviz?
"I thought that in order for the robots not to collide, it was necessary to generate paths connecting locations with lower costs than the inscribed cost"
Are you talking about collisions between two robots? If so, the other robot is not a Lethal obstacle unless you do something to put it on the global costmap.
move_base
does not do that automatically.@Mike Scheutzow,
"the path would encroach into the inscribed cost area"
The inscribed area that I said is created by inflation a lathal obstacle as you say. This is what happens in the global costmap. I have already turned off the visual display of the local costmap in rviz.
"I thought that in order for the robots not to collide, it was necessary to generate paths connecting locations with lower costs than the inscribed cost"
The "robots" is a typo, there is only one robot.