A grid of MapCell cells that is used to propagate path and goal distances for the trajectory controller. More...
#include <map_grid.h>
Public Member Functions | |
void | commonInit () |
Utility to share initialization code across constructors. More... | |
void | computeGoalDistance (std::queue< MapCell * > &dist_queue, const costmap_2d::Costmap2D &costmap) |
Compute the distance from each cell in the local map grid to the local goal point. More... | |
void | computeTargetDistance (std::queue< MapCell * > &dist_queue, const costmap_2d::Costmap2D &costmap) |
Compute the distance from each cell in the local map grid to the planned path. More... | |
MapCell & | getCell (unsigned int x, unsigned int y) |
size_t | getIndex (int x, int y) |
Returns a 1D index into the MapCell array for a 2D index. More... | |
MapGrid () | |
Creates a 0x0 map by default. More... | |
MapGrid (unsigned int size_x, unsigned int size_y) | |
Creates a map of size_x by size_y. More... | |
MapGrid (const MapGrid &mg) | |
Copy constructor for a MapGrid. More... | |
double | obstacleCosts () |
MapCell & | operator() (unsigned int x, unsigned int y) |
Returns a map cell accessed by (col, row) More... | |
MapCell | operator() (unsigned int x, unsigned int y) const |
Returns a map cell accessed by (col, row) More... | |
MapGrid & | operator= (const MapGrid &mg) |
Assignment operator for a MapGrid. More... | |
void | resetPathDist () |
reset path distance fields for all cells More... | |
void | setLocalGoal (const costmap_2d::Costmap2D &costmap, const std::vector< geometry_msgs::PoseStamped > &global_plan) |
Update what cell is considered the next local goal. More... | |
void | setTargetCells (const costmap_2d::Costmap2D &costmap, const std::vector< geometry_msgs::PoseStamped > &global_plan) |
Update what cells are considered path based on the global plan. More... | |
void | sizeCheck (unsigned int size_x, unsigned int size_y) |
check if we need to resize More... | |
double | unreachableCellCosts () |
bool | updatePathCell (MapCell *current_cell, MapCell *check_cell, const costmap_2d::Costmap2D &costmap) |
Used to update the distance of a cell in path distance computation. More... | |
~MapGrid () | |
Destructor for a MapGrid. More... | |
Static Public Member Functions | |
static void | adjustPlanResolution (const std::vector< geometry_msgs::PoseStamped > &global_plan_in, std::vector< geometry_msgs::PoseStamped > &global_plan_out, double resolution) |
Public Attributes | |
double | goal_x_ |
double | goal_y_ |
The goal distance was last computed from. More... | |
unsigned int | size_x_ |
unsigned int | size_y_ |
The dimensions of the grid. More... | |
Private Attributes | |
std::vector< MapCell > | map_ |
Storage for the MapCells. More... | |
A grid of MapCell cells that is used to propagate path and goal distances for the trajectory controller.
Definition at line 52 of file map_grid.h.
base_local_planner::MapGrid::MapGrid | ( | ) |
Creates a 0x0 map by default.
Definition at line 40 of file map_grid.cpp.
base_local_planner::MapGrid::MapGrid | ( | unsigned int | size_x, |
unsigned int | size_y | ||
) |
Creates a map of size_x by size_y.
size_x | The width of the map |
size_y | The height of the map |
Definition at line 45 of file map_grid.cpp.
|
inline |
Destructor for a MapGrid.
Definition at line 94 of file map_grid.h.
base_local_planner::MapGrid::MapGrid | ( | const MapGrid & | mg | ) |
Copy constructor for a MapGrid.
mg | The MapGrid to copy |
Definition at line 51 of file map_grid.cpp.
|
static |
increase global plan resolution to match that of the costmap by adding points linearly between global plan points This is necessary where global planners produce plans with few points.
global_plan_in | input |
global_plan_output | output |
resolution | desired distance between waypoints |
Definition at line 133 of file map_grid.cpp.
void base_local_planner::MapGrid::commonInit | ( | ) |
Utility to share initialization code across constructors.
Definition at line 57 of file map_grid.cpp.
void base_local_planner::MapGrid::computeGoalDistance | ( | std::queue< MapCell * > & | dist_queue, |
const costmap_2d::Costmap2D & | costmap | ||
) |
Compute the distance from each cell in the local map grid to the local goal point.
goal_queue | A queue containing the local goal cell |
void base_local_planner::MapGrid::computeTargetDistance | ( | std::queue< MapCell * > & | dist_queue, |
const costmap_2d::Costmap2D & | costmap | ||
) |
Compute the distance from each cell in the local map grid to the planned path.
dist_queue | A queue of the initial cells on the path |
Definition at line 255 of file map_grid.cpp.
|
inline |
Definition at line 87 of file map_grid.h.
size_t base_local_planner::MapGrid::getIndex | ( | int | x, |
int | y | ||
) |
Returns a 1D index into the MapCell array for a 2D index.
x | The desired x coordinate |
y | The desired y coordinate |
Definition at line 73 of file map_grid.cpp.
|
inline |
return a value that indicates cell is in obstacle
Definition at line 136 of file map_grid.h.
|
inline |
Returns a map cell accessed by (col, row)
x | The x coordinate of the cell |
y | The y coordinate of the cell |
Definition at line 73 of file map_grid.h.
|
inline |
Returns a map cell accessed by (col, row)
x | The x coordinate of the cell |
y | The y coordinate of the cell |
Definition at line 83 of file map_grid.h.
Assignment operator for a MapGrid.
mg | The MapGrid to assign from |
Definition at line 77 of file map_grid.cpp.
void base_local_planner::MapGrid::resetPathDist | ( | ) |
reset path distance fields for all cells
Definition at line 125 of file map_grid.cpp.
void base_local_planner::MapGrid::setLocalGoal | ( | const costmap_2d::Costmap2D & | costmap, |
const std::vector< geometry_msgs::PoseStamped > & | global_plan | ||
) |
Update what cell is considered the next local goal.
Definition at line 210 of file map_grid.cpp.
void base_local_planner::MapGrid::setTargetCells | ( | const costmap_2d::Costmap2D & | costmap, |
const std::vector< geometry_msgs::PoseStamped > & | global_plan | ||
) |
Update what cells are considered path based on the global plan.
Definition at line 171 of file map_grid.cpp.
void base_local_planner::MapGrid::sizeCheck | ( | unsigned int | size_x, |
unsigned int | size_y | ||
) |
check if we need to resize
size_x | The desired width |
size_y | The desired height |
Definition at line 84 of file map_grid.cpp.
|
inline |
returns a value indicating cell was not reached by wavefront propagation of set cells. (is behind walls, regarding the region covered by grid)
Definition at line 144 of file map_grid.h.
|
inline |
Used to update the distance of a cell in path distance computation.
current_cell | The cell we're currently in |
check_cell | The cell to be updated |
Definition at line 103 of file map_grid.cpp.
double base_local_planner::MapGrid::goal_x_ |
Definition at line 189 of file map_grid.h.
double base_local_planner::MapGrid::goal_y_ |
The goal distance was last computed from.
Definition at line 189 of file map_grid.h.
|
private |
Storage for the MapCells.
Definition at line 195 of file map_grid.h.
unsigned int base_local_planner::MapGrid::size_x_ |
Definition at line 191 of file map_grid.h.
unsigned int base_local_planner::MapGrid::size_y_ |
The dimensions of the grid.
Definition at line 191 of file map_grid.h.