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

Revision history [back]

The map generated by gmapping is an occupancy grid map, with the grey scale color information being a a representation of the probability of occupancy of each grid cell. For this reason "drawing into the map" is not a intended use case from a SLAM system perspective.

A practical variant for visualization is probably using the Marker system for rviz. Using markers, you can leave the map unchanged and additionally publish information about detected objects. If you want to publish a dense thermal map of high resolution (with thousands of markers), this might choke up wireless connectivity/rendering etc. however.

If you really want to draw into the map: What you can do is listening to the map on the "/map" topic or retrieving it via the "/map" service. Once you have retrieved a copy, you can do whatever you want with the data. You can for example write the map data to a opencv image and then draw into that. Note that you can only visualize the map using the default map display option in rviz when it's available as a nav_msgs/OccupancyGrid and that this is fairly limited right now in terms of the colors it can display (See my answer here for details).