ROS中通过gmapping/hector/cartographer建图后得到的地图上,如何知道两点对应的实际距离值?
ROS地图文件
通常,建图保存后得到.pmg和.yaml两个文件。
其中.pgm是地图的灰度图像, .yaml是参数文件。
test_map.pgm
test_map.yaml
image: test_map.pgm
resolution: 0.050000
origin: [-13.800000,-12.200000,0.000000]
negate: 0
occupied_thresh: 0.9
free_thresh: 0.196
这里与地图大小有关的参数是resolution
, 代表每个像素对应的实际距离 (0.05 m/pixel)。
根据这个分辨率,我们只要知道两点的像素距离,有可以算出对应的实际距离。
GIMP测量
可以用图片编辑软件打开.pgm来测量,ubuntu下推荐使用GIMP。https://www.gimp.org/
GIMP是一款GNU图片编辑软件,ubuntu下可以通过apt安装。
~$: sudo apt-get install gimp
安装后用终端输入gimp运行
~$: gimp
打开.pgm
点击左侧Toolbox中的MeasureTool, 勾选Tool Options中的Use info window, 在图片上按住shift拖动测量两点的像素距离。
例如这里测得像素距离是42.0,则实际的距离是
42.0*0.05 = 2.1m
网友评论