ROS2与Open-RMF仿真教程-使用traffic-editor制作导航图
ROS2与Open-RMF仿真教程-使用traffic-editor制作导航图
说明:
- 介绍如何基于雷达建图保存的栅格图,再制作rmf使用的导航图
- 环境:ubuntu22.04 + humble + rmf22.09
步骤:
cs -s install_rmf_burger_maps
- 先移走默认的制作的burger包burger.building.yaml, 后面作为对比用
mv ~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/burger.building.yaml ~/ros2_rmf_map_ws/
- 启动traffic-editor
traffic-editor
- 新建地图文件
- 界面Building->New
- 选择目录~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/
- 输入文件名burger.building.yaml
- Map Name: burger
- 这里我们使用建图后的地图作为平面图, 选择Referrenc-image coordinates
- 效果如图
- 新建楼层
- 设为L1,并指定栅格图作为平面图
- map.png位于~/ros2_rmf_map_ws/src/rmf_burger_maps/maps/burger/
- 点OK后, 栅格图就已经加载,通过鼠标中键调整好位置
- 设置地图尺寸
- 选择Add Measurement工具
- 从左边顶点拉到右边, 再使用Select工具,点画好的线条,设置右下线条属性Properties的distance为5.3
- 设置墙体
- 选择Add wall工具
- 选择在地图的顶点之间拉线, 同时地图里面的柱体拉线. 点右键连线结束
- 设置活动区
- 选择Add floor polygon工具
- 也是跟随刚才地图顶点之间拉线, 拉线后在用select工具点选就会显示
- 设置航点和车道线
- 选择Add lane工具, 可以自由拉线, 但是各点之后要连线
- 配置小车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
- 效果图:
- 配置小车2
- 选择下面第一个点作为小车2的起始位置点
- 名称name: tinyRobot2_charger
- 点Add Property增加属性
is_charger: ture
is_parking_spot: ture
is_holding_spot: true
spawn_robot_name: tinyRobot2
spawn_robot_type: TinyRobot
- 效果图:
- 配置航点
- 选择任意其他航点,分别设置为name: spot_1
设置更多spot_2.....spot_5
配置crowds
enbale_crowd_sim要勾选上
保存地图
界面导航条Building->save
生成导航图
cd ~/ros2_rmf_map_ws/
colcon build --symlink-install
- 测试效果:
source ~/ros2_rmf_map_ws/install/local_setup.bash
ros2 launch rmf_burger_maps burger.launch.xml
- gazebo效果
- rviz效果:
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号