ROS:通过world文件对map以及机器人初始位置进行配置

ROS:通过world文件对map以及机器人初始位置进行配置

  • world文件中的map配置
  • world文件中的机器人初始位置配置
  • yaml中的map配置

参考: link.
本文主要对其中的地图和机器人配置部分进行更详细的说明。

world文件中的map配置

floorplan
( 
# load an environment bitmap
  name "willow"
  bitmap "../maps/willow-full-0.05.pgm"
  size [58.25 47.25 1.0]
  pose [ -23.625 29.125 0 90.000 ]
)

world文件中的机器人初始位置配置

# throw in a robot
myrobot
(
  pose [ 1.0 0.0 0.0 90.0 ]
  name "myRobot"
)

ROS:通过world文件对map以及机器人初始位置进行配置_第1张图片

# throw in a robot
myrobot
(
  pose [ 5.0 4.0 0.0 90.0 ]
  name "myRobot"
)

ROS:通过world文件对map以及机器人初始位置进行配置_第2张图片

yaml中的map配置

下面展示一个配置map的 yaml文件

image: willow-full-0.05.pgm
resolution: 0.050000
origin: [0.0, 0.0, 0.0]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

加载后效果如下:
ROS:通过world文件对map以及机器人初始位置进行配置_第3张图片上图,右下角坐标系为 /map 坐标系,/map 坐标系上方为 /base_footprint 坐标系(即机器人所在的位置)。
更改其中的origin部分,如下:

image: willow-full-0.05.pgm
resolution: 0.050000
origin: [-3.0, -3.0, 0.0]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

更改后,效果如图:
ROS:通过world文件对map以及机器人初始位置进行配置_第4张图片可以看到地图位置相当于 /map 坐标系向右方和下方各移动了3个单位(注意:不是 /map 坐标系向左、上方各移动了3个单位)。

origin定义的是地图右下角顶点在 /map 坐标系中的坐标,origin从(0,0)变为(-3,-3),表示地图右下顶点在 /map 中的坐标从(0,0)变为(-3,-3),所以地图的位置相当于 /map 坐标系向右方和下方各移动了3个单位。

(未完)

你可能感兴趣的:(ROS)