ROS2与Open-RMF仿真教程#Jazzy版#-制作rmf使用的导航图
文章说明
- 介绍如何基于雷达建图保存的栅格图,再制作rmf使用的导航图
- 测试环境:
Ubuntu 24.04+ROS2 Jazzy+Gazebo Harmonic 8.9.0
前提准备
- 通过RCM安装仿真导航包rmf_burger_maps
$ rcm ros2_rmf install_rmf_burger_maps_jazzy
- 先将包里的burger.building.yaml改名称, 后面作为对比用
$ mv ~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/burger.building.yaml ~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/burger-old.building.yaml
操作步骤
- 启动traffic-editor
$ traffic-editor
1. 新建地图文件
- 左上角界面
Building->New - 选择目录
~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/ - 输入文件名
burger.building.yaml - Map Name:
burger - 这里我们使用建图后的地图作为平面图, 选择
Referrenc-image coordinates - 效果如图

2. 新建楼层
- 设为
L1,并指定栅格图作为平面图 map.png位于~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/

- 点OK后, 栅格图就已经加载,通过鼠标中键调整好位置

3. 设置地图尺寸
- 点击上侧工具栏的
Add Measurement - 如图所示,从左边顶点拉到右边, 再使用
Select工具,点画好的线条,设置右下线条属性Properties的distance为5.3

4. 设置墙体
- 点击上侧工具栏的
Add wall - 选择在地图的顶点之间拉线, 同时地图里面的柱体拉线,点右键连线结束

5. 设置活动区
- 点击上侧工具栏的
Add floor polygon - 也是跟随刚才地图顶点之间拉线, 拉线后在用
select工具点选就会高亮显示

6. 设置航点和车道线
- 点击上侧工具栏的
Add lane, 可以自由拉线, 但是各点之间要连线

7. 配置小车1
- 选择上面第一个点作为小车1的起始位置点
- 名称
name: tinyRobot1_charger - 点击右下侧
Add Property按钮添加属性
is_charger: ture
is_parking_spot: ture
is_holding_spot: true
spawn_robot_name: tinyRobot1
spawn_robot_type: TinyRobot
- 效果图:

8. 配置小车2
- 选择下面第一个点作为小车2的起始位置点
- 名称
name: tinyRobot2_charger - 点击右下侧
Add Property按钮添加属性
is_charger: ture
is_parking_spot: ture
is_holding_spot: true
spawn_robot_name: tinyRobot1
spawn_robot_type: TinyRobot
- 效果图:

9. 配置航点
- 选择任意其他航点,分别设置为
name: spot_1

- 设置更多
spot_2.....spot_5
10. 配置crowds
enbale_crowd_sim要勾选上

11. 保存地图
点击左上侧界面导航条
Building->save生成导航图
$ cd ~/ros2_rmf_map_ws/
$ colcon build --symlink-install
12. 测试效果
$ source ~/ros2_rmf_map_ws/install/local_setup.bash
$ ros2 launch rmf_burger_maps burger.launch.xml
- gazebo效果

- rviz效果:

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


















