Jump to content

Layered costmaps

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Taiki Shuttle (talk | contribs) at 10:30, 11 July 2024. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This sandbox is in the article namespace. Either move this page into your userspace, or remove the {{User sandbox}} template.

A schematic of Layered costmaps

The layered costmaps is a method to create and update maps for robot navigation and path planning proposed by David V. Lu in 2014. [1] The method consists of more than one layer of costmaps, each of which describes obstacles with different properties. Each layered costmap consists of grids and is represented as a matrix, the values of the matrix elements are related to the risks of grids. In the layered costmap, the colour of a grid indicates the risk of moving through that grid. There is a high probability of robot collision when the robot moves through a grid with deep colour. When updating a layered costmap, only the area covered by the sensors (such as Lidar) in the map is updated, rather than the entire map.

Standard Layers

Layered costmaps is a flexible method, and spcial categories of layered costmaps can be designed and added to the method depending on the navigation environment of the mobile robot. In Robot Operating System (ROS), some categories of layered costmaps are provided for mobile robot navigation[2], and they are also the standard costmap layers that are added in most cases.

Static Map Layer

The static map layer is at the bottom among all layered costmaps, and it includes the situation of all known static obstacles in the environment before navigation starts. The static map layer can be generated with a SLAM algorithm or can be created from an architectural diagram.[1]

If in the static map matrix , the real location corresponds to the element index , then an example of the static map layer defining rules is as follows:

Obstacles Map Layer

The obstacles map layer describes the situation of obstacles detected by sensors during robot navigation. Since the observation distance of the sensor is limited, the obstacles map layer can only be updated in the observation area of the sensor.[1]

Assume that there is only one sensor in the scene and it is equipped on the robot, its observation area is a square with side length , and the location of the robot is . If in the obstacles map matrix , the real location corresponds to the element index , then an example of the obstacles map layer defining rules is as follows:

where meets that and .

Inflation Layer

File:Inflation of ROS costmap.png
A schematic of an inflation rule.[3]

The inflation layer inserts a buffer zone around each obstacle in order to keep the robot from getting too close to obstacles. Note that these obstacles include obstacles described in the static map layer and the obstacles map layer. In the inflation layer, the grids that are further away from the obstacles have the lower cost.[1]

The inflation rule used in the inflation layer is flexible and can be freely designed according to the features of the environment and the robot. For example, a simple inflation rule can be designed with two thresholds and a function. Assume that the maximum radius of the robot is . If in the inflation matrix , the real location corresponds to the element index , then an example of the inflation rules is as follows:

Where the function represents the distance between point and the nearest obstacle

Social Navigation Layers

Although social navigation layers are not as necessary as standard layers, when there are pedestrians in the environment, by adding social navigation layers, more information can be included in the map. In standard layers, the speed of obstacles is not considered, but in social navigation layers, the speed of obstacles (i.e., pedestrians) is considered and reflected in costmap layers combined with the social habits of pedestrians.

Proxemic Layer

  1. ^ a b c d Lu, David V.; Hershberger, Dave; Smart, William D. (September 2014). "Layered costmaps for context-sensitive navigation". 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems: 709–715. doi:10.1109/IROS.2014.6942636.
  2. ^ "costmap_2d/layered - ROS Wiki". wiki.ros.org.
  3. ^ "costmap_2d/hydro/inflation - ROS Wiki". wiki.ros.org.