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 09:20, 12 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

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 special 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 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.[4]

Proxemic Layer

A schematic of the proxemic layer.

The proxemic layer reflects the social habits to the surroundings of pedestrians in both moving and stationary situations.

  • The moving pedestrians do not want obstacles appearing in their moving direction, so in the proxemic layer, the cost in the moving direction of the moving pedestrians becomes larger. [5]
  • The stationary pedestrians do not want robots approaching them from behind, which will make them feel uncomfortable, so in the proxemic layer, the cost in the back direction of the stationary pedestrians becomes larger.[6]

Passing Layer

A schematic of the passing layer.

As in many countries, traffic rules require drivers to drive on the right side of the road, there is the custom of walking on the right side of pathways in many cultures. In order to obey this social habit of pedestrians as much as possible, the pass layer has a higher cost on the right side of pedestrians, guiding the robot to pass by the left side of pedestrians when it is possible.[7]

After layered costmaps

A schematic of the navigation algorithm.[8]

After the creation of the layered costmaps, it will be continuously updated based on the information provided by the sensors. [9] And the navigation algorithm will drive the robot to reach the destination without collision based on the information provided by the layered costmaps.

See also

References

  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.
  4. ^ "social_navigation_layers - ROS Wiki". wiki.ros.org.
  5. ^ Bruckschen, Lilli; Bungert, Kira; Dengler, Nils; Bennewitz, Maren (24 October 2020). "Human-Aware Robot Navigation by Long-Term Movement Prediction". 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS): 11032–11037. doi:10.1109/IROS45743.2020.9340776.
  6. ^ Teja Singamaneni, Phani; Favier, Anthony; Alami, Rachid (27 September 2021). "Human-Aware Navigation Planner for Diverse Human-Robot Interaction Contexts". 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS): 5817–5824. doi:10.1109/IROS51168.2021.9636613.
  7. ^ Smith, Trevor; Chen, Yuhao; Hewitt, Nathan; Hu, Boyi; Gu, Yu (1 April 2023). "Socially Aware Robot Obstacle Avoidance Considering Human Intention and Preferences". International Journal of Social Robotics. 15 (4): 661–678. doi:10.1007/s12369-021-00795-5. ISSN 1875-4805.
  8. ^ West, Andrew; Wright, Thomas; Tsitsimpelis, Ioannis; Groves, Keir; Joyce, Malcolm J.; Lennox, Barry (17 March 2022). "Real-Time Avoidance of Ionising Radiation Using Layered Costmaps for Mobile Robots". Frontiers in Robotics and AI. 9. doi:10.3389/frobt.2022.862067.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  9. ^ "costmap_2d - ROS Wiki". wiki.ros.org.

Further reading