[ros-users] Standardization of mapping interfaces

Stéphane Magnenat stephane.magnenat at mavt.ethz.ch
Thu Oct 4 17:49:44 UTC 2012


Hello,

I am working on the release of our modular ICP pipeline [1] (2D and 3D), 
which provides a mapping-style interface. While doing so, I realized 
that some features are commonly available in mapping packages, like 
getting the latest version of the map or reseting it. However, I have 
not find any standard to do so. Worst, while for 2D there is a message 
nav_msgs::GetMap, there is no standard equivalent in 3D. To allow easy 
interoperability between packages doing the same thing, it is important 
to have these.

So here are my suggestions:

- To add a GetPointMap message similar to GetMap but taking a 
PointCloud2 instead of an OccupancyGrid. This could either be added to 
nav_msgs or to something new like nav3d_msgs or map3d_msgs within 
common_msgs.

- To define a standard interface for interacting with mapping packages. 
If we consider existing packages, (for instance gmapping, 
hector_mapping), there is a "dynamic_map" service that returns the 
latest map. While this naming is strange, it is the closest thing to a 
standard that we have. Should we extend it in 3D to have a 
dynamic_point_map service? Also, should we generalize the "syscommand" 
topic, which is a bit awkward, or maybe add something like a "reset" 
service? We might also want to save and load maps.

Comments welcome, I think it would be great if we could improve the 
interoperability of mapping packages.

Stéphane

[1] http://www.ros.org/wiki/modular_cloud_matcher

-- 
Dr Stéphane Magnenat
http://stephane.magnenat.net



More information about the ros-users mailing list