Public Member Functions | Private Attributes | List of all members
base_local_planner::CostmapModel Class Reference

A class that implements the WorldModel interface to provide grid based collision checks for the trajectory controller using the costmap. More...

#include <costmap_model.h>

Inheritance diagram for base_local_planner::CostmapModel:
Inheritance graph
[legend]

Public Member Functions

 CostmapModel (const costmap_2d::Costmap2D &costmap)
 Constructor for the CostmapModel. More...
 
virtual double footprintCost (const geometry_msgs::Point &position, const std::vector< geometry_msgs::Point > &footprint, double inscribed_radius, double circumscribed_radius)
 Checks if any obstacles in the costmap lie inside a convex footprint that is rasterized into the grid. More...
 
virtual double footprintCost (const geometry_msgs::Point &position, const std::vector< geometry_msgs::Point > &footprint, double inscribed_radius, double circumscribed_radius)=0
 Subclass will implement this method to check a footprint at a given position and orientation for legality in the world. More...
 
double footprintCost (const geometry_msgs::Point &position, const std::vector< geometry_msgs::Point > &footprint, double inscribed_radius, double circumscribed_radius, double extra)
 Checks if any obstacles in the costmap lie inside a convex footprint that is rasterized into the grid. More...
 
double footprintCost (double x, double y, double theta, const std::vector< geometry_msgs::Point > &footprint_spec, double inscribed_radius=0.0, double circumscribed_radius=0.0)
 
double lineCost (int x0, int x1, int y0, int y1) const
 Rasterizes a line in the costmap grid and checks for collisions. More...
 
double pointCost (int x, int y) const
 Checks the cost of a point in the costmap. More...
 
virtual ~CostmapModel ()
 Destructor for the world model. More...
 
- Public Member Functions inherited from base_local_planner::WorldModel
double footprintCost (const geometry_msgs::Point &position, const std::vector< geometry_msgs::Point > &footprint, double inscribed_radius, double circumscribed_radius, double extra)
 Checks if any obstacles in the costmap lie inside a convex footprint that is rasterized into the grid. More...
 
double footprintCost (double x, double y, double theta, const std::vector< geometry_msgs::Point > &footprint_spec, double inscribed_radius=0.0, double circumscribed_radius=0.0)
 
virtual ~WorldModel ()
 Subclass will implement a destructor. More...
 

Private Attributes

const costmap_2d::Costmap2Dcostmap_
 Allows access of costmap obstacle information. More...
 

Additional Inherited Members

- Protected Member Functions inherited from base_local_planner::WorldModel
 WorldModel ()
 

Detailed Description

A class that implements the WorldModel interface to provide grid based collision checks for the trajectory controller using the costmap.

Definition at line 85 of file costmap_model.h.

Constructor & Destructor Documentation

◆ CostmapModel()

base_local_planner::CostmapModel::CostmapModel ( const costmap_2d::Costmap2D costmap)

Constructor for the CostmapModel.

Parameters
costmapThe costmap that should be used
Returns

Definition at line 45 of file costmap_model.cpp.

◆ ~CostmapModel()

virtual base_local_planner::CostmapModel::~CostmapModel ( )
inlinevirtual

Destructor for the world model.

Definition at line 97 of file costmap_model.h.

Member Function Documentation

◆ footprintCost() [1/4]

double base_local_planner::CostmapModel::footprintCost ( const geometry_msgs::Point position,
const std::vector< geometry_msgs::Point > &  footprint,
double  inscribed_radius,
double  circumscribed_radius 
)
virtual

Checks if any obstacles in the costmap lie inside a convex footprint that is rasterized into the grid.

Parameters
positionThe position of the robot in world coordinates
footprintThe specification of the footprint of the robot in world coordinates
inscribed_radiusThe radius of the inscribed circle of the robot
circumscribed_radiusThe radius of the circumscribed circle of the robot
Returns
Positive if all the points lie outside the footprint, negative otherwise: -1 if footprint covers at least a lethal obstacle cell, or -2 if footprint covers at least a no-information cell, or -3 if footprint is [partially] outside of the map

Implements base_local_planner::WorldModel.

Definition at line 47 of file costmap_model.cpp.

◆ footprintCost() [2/4]

virtual double base_local_planner::WorldModel::footprintCost

Subclass will implement this method to check a footprint at a given position and orientation for legality in the world.

Parameters
positionThe position of the robot in world coordinates
footprintThe specification of the footprint of the robot in world coordinates
inscribed_radiusThe radius of the inscribed circle of the robot
circumscribed_radiusThe radius of the circumscribed circle of the robot
Returns
Positive if all the points lie outside the footprint, negative otherwise: -1 if footprint covers at least a lethal obstacle cell, or -2 if footprint covers at least a no-information cell, or -3 if footprint is partially or totally outside of the map

◆ footprintCost() [3/4]

double base_local_planner::WorldModel::footprintCost
inline

Checks if any obstacles in the costmap lie inside a convex footprint that is rasterized into the grid.

Parameters
positionThe position of the robot in world coordinates
footprintThe specification of the footprint of the robot in world coordinates
inscribed_radiusThe radius of the inscribed circle of the robot
circumscribed_radiusThe radius of the circumscribed circle of the robot
Returns
Positive if all the points lie outside the footprint, negative otherwise

Definition at line 134 of file world_model.h.

◆ footprintCost() [4/4]

double base_local_planner::WorldModel::footprintCost
inline

Definition at line 103 of file world_model.h.

◆ lineCost()

double base_local_planner::CostmapModel::lineCost ( int  x0,
int  x1,
int  y0,
int  y1 
) const

Rasterizes a line in the costmap grid and checks for collisions.

Parameters
x0The x position of the first cell in grid coordinates
y0The y position of the first cell in grid coordinates
x1The x position of the second cell in grid coordinates
y1The y position of the second cell in grid coordinates
Returns
A positive cost for a legal line... negative otherwise

Definition at line 116 of file costmap_model.cpp.

◆ pointCost()

double base_local_planner::CostmapModel::pointCost ( int  x,
int  y 
) const

Checks the cost of a point in the costmap.

Parameters
xThe x position of the point in cell coordinates
yThe y position of the point in cell coordinates
Returns
A positive cost for a legal point... negative otherwise

Definition at line 134 of file costmap_model.cpp.

Member Data Documentation

◆ costmap_

const costmap_2d::Costmap2D& base_local_planner::CostmapModel::costmap_
private

Allows access of costmap obstacle information.

Definition at line 133 of file costmap_model.h.


The documentation for this class was generated from the following files:


base_local_planner
Author(s): Eitan Marder-Eppstein, Eric Perko, contradict@gmail.com
autogenerated on Wed Jan 18 2023 03:49:38