ros2发布地图
Kong Liangqian Lv6

https://blog.51cto.com/u_12369060/3767376

Map

地图服务器

  • Map Server

地图服务器

  • nav2_map_server
  • map_server:加载地图,在“/map”主题上提供静态地图。
  • map_saver:将地图保存到文件中(ros2 run nav2_map_server map_saver_cli -f my_map

第 1 步:创建一个名为 yaml 的参数文件或在启动文件中设置相同的参数

map_server_params.yaml

1
2
3
4
5
6
map_server:
ros__parameters:
frame_id: map
topic_name: map
use_sim_time: false
yaml_filename: maps/map.yaml

第 2 步:使用作为参数传递的此文件运行地图服务器

1
ros2 run nav2_map_server map_server --ros-args --params-file map_server_params.yaml

第 3 步:通过 CLI 或启动过滤器从配置过渡到活动

1
2
3
ros2 lifecycle set /map_server configure
ros2 lifecycle set /map_server activate
(ros2 lifecycle list /map_server)

示例 maps/map.yaml:

1
2
3
4
5
6
image: turtlebot3_world.pgm
resolution: 0.050000
origin: [-10.000000, -10.000000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution : 地图的分辨率,米/像素
origin : 地图中左下角像素的二维位置姿态,如 (x, y, yaw)
occupied_thresh : 占用概率大于此阈值的像素被认为完全被占用。
free_thresh :占用概率小于此阈值的像素被认为是完全空闲的。
negate : 是否应该反转

 Comments