Skip to content

如何将 map 和 world 文件的坐标轴进行对齐

TIPS

  1. 在建图过程中,假设你的 gazebo 中的世界坐标系是world,进行 slam 建图时的地图坐标系是map
  2. SLAM 建图时,map_server 会以机器人坐标系下的x轴和y轴对齐为标准建立 map 坐标系。
  3. 如果你希望 gazebo 中的 model_state 与估算的 odom 里程计保证对齐时,则需要保证world坐标系下的x轴和y轴与map坐标系下的x轴和y轴对齐。

Rviz 显示对齐后的模型

yaml
image: tianracer_racetrack.pgm                  # 注意:最好去除 map_server 保存该文件时在该行使用的绝对路径,降低了可移植性
resolution: 0.025000
origin: [-12.200000, -12.500000, 0.000000]      # 这里的 3 个数比较关键,在 map frame_id 下的 x(m),y,theta(rad)3 个关键参数    
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196
image: tianracer_racetrack.pgm                  # 注意:最好去除 map_server 保存该文件时在该行使用的绝对路径,降低了可移植性
resolution: 0.025000
origin: [-12.200000, -12.500000, 0.000000]      # 这里的 3 个数比较关键,在 map frame_id 下的 x(m),y,theta(rad)3 个关键参数    
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

如何修改地图

ROS中,.pgm文件是 Rviz 显示地图时使用的文件,它保存了地图的像素信息。

TIPS

那么.pgm文件是什么呢?

PGM 文件是以便携式灰度图(PGM)格式保存的灰度图像文件,每个像素用一个或两个字节(8 或 16 位)进行编码。它包含标题信息和数字网格,这些网格表示从黑色(0)到白色(最多 65,536)的不同灰色阴影。PGM 文件通常存储在 ASCII 码 文本格式,但也有二进制表示形式。

旋转图像

ImageViewer

一般情况下在ImageViewer中,可以对图像进行旋转操作。

提示

但是不支持.pgm格式哈

GIMP

GIMP中,可以对图像进行旋转操作。

效果展示

map_server 导入旋转过后图片

如何检查

添加 axes

选择 axes 类型

可以看到,默认状态下的坐标轴朝向

然后手动选择参考系为map

可以看到,axis 参考为map,仍然符合预期。

world 与 map 对齐

不同地图坐标系对齐