ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

A costmap - a general concept or a ROS concept?

asked 2019-12-04 02:00:45 -0500

ninamwa gravatar image

updated 2022-06-12 19:32:42 -0500

lucasw gravatar image

Hi. I'm trying to raise my understanding of costmaps, as I understand that this is an important concept in the Navigation stack of ROS. What I do not understand is if costmaps are a general concept or something developed specifically for ROS? Do we find costmaps in non-ROS applications?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2019-12-04 11:21:14 -0500

updated 2019-12-04 11:23:28 -0500

In addition to David's response, lets break down the concept of a costmap.

What's the costmap doing?

The costmap is around to buffer information collected about the environment into some representation of the space. This isn't just done for fun, its primarily interesting for path planning and control.

It stands then to reason, any robot in any environment that is conducting path planning and control must require some configuration space to operate in. If its a static space, maybe you can use a recomputed map if everything is included. But in reality things move. So you need to have something creating a representation to plan in over time.

Costmaps are one way to accomplish this, but its also a catch-all phrase I use (probably others) to describe any sort of environmental representation. Costmaps are very efficient and for many usecases are the best option. Other options include gradient maps (marking the gradients of surfaces rather than individual cells of occupation or cost) or vector maps (maps that take detections or segmentations of obstacles and places them in a more abstract planning space), but usually people use one or many of these options in tandem for complex applications (ei autonomous driving, outdoor navigation, legged traversibility estimation, etc).

In any case, you can find plenty of examples of costmaps outside of ROS. If you're on flat ground and on limited compute, costmaps are the way to go. If you have a little compute to do detections and segmentations, costmaps are the way to go with an additional vector map layed on top.

edit flag offensive delete link more


Thank you very much for the comprehensive answer. It gave me a much clearer understanding of the concept!

ninamwa gravatar image ninamwa  ( 2019-12-06 04:22:59 -0500 )edit

answered 2019-12-04 07:55:26 -0500

David Lu gravatar image

It is not ROS-specific. Check out the related work section here:

edit flag offensive delete link more

Question Tools



Asked: 2019-12-04 02:00:45 -0500

Seen: 366 times

Last updated: Dec 04 '19