clear_costmap_recovery
I want to know why this recovery_behavoir aggressive_reset distance is 4*circumscribed_radius? I'm readed the source code
double start_point_x = pose_x - reset_distance_ / 2;
double start_point_y = pose_y - reset_distance_ / 2;
double end_point_x = start_point_x + reset_distance_;
double end_point_y = start_point_y + reset_distance_;
int start_x, start_y, end_x, end_y;
costmap->worldToMapNoBounds(start_point_x, start_point_y, start_x, start_y);
costmap->worldToMapNoBounds(end_point_x, end_point_y, end_x, end_y);
unsigned char* grid = costmap->getCharMap();
for(int x=0; x<(int)costmap->getSizeInCellsX(); x++){
bool xrange = x>start_x && x<end_x;
for(int y=0; y<(int)costmap->getSizeInCellsY(); y++){
if(xrange && y>start_y && y<end_y)
continue;
int index = costmap->getIndex(x,y);
if(grid[index]!=NO_INFORMATION){
grid[index] = NO_INFORMATION;
}
}
but by the default in move_base.cpp,aggressive_reset distance is
reset_distance_ = 4*circumscribed_radius
so,if the obstacles far away from robot center between circumscribed_radius to 2*circumscribed_radius,the recovery_behavoir will become failure allways?
the other question is when run move_base on robot,if my robot stuck once,it seems more easy to stuck again.if you have faced the same problem?