ROS2与Open-RMF仿真教程#Jazzy版#-Office World场景示例
文章说明
- 本教程主要介绍Open-RMF运行Office World场景示例
- 测试环境:
Ubuntu 24.04+ROS2 Jazzy+Gazebo Harmonic 8.9.0
操作步骤
Office World场景是模拟一个供机器人导航的室内办公环境- 新开终端,打开
Office World仿真场景
$ ros2 launch rmf_demos_gz office.launch.xml server_uri:="ws://localhost:8000/_internal"

- 新开终端,启动rmf-web的后端程序
$ cd ~/ros2_rmf_ws/src/rmf-web/packages/api-server
$ pnpm start
- 新开终端,启动rmf-web的前端程序
$ cd ~/ros2_rmf_ws/src/rmf-web/packages/rmf-dashboard-framework
$ pnpm start:example examples/demo
- 现在打开浏览器,地址栏上输入
http://localhost:5173/

测试任务
- 下面执行两个测试任务作为示例
- 执行一个配送任务,从
pantry配送一支可乐到hardware_2地点
$ ros2 run rmf_demos_tasks dispatch_delivery -p pantry -ph coke_dispenser -d hardware_2 -dh coke_ingestor --use_sim_time
[INFO] [1755586940.881461920] [task_requester]: Using Sim Time
[INFO] [1755586940.885825907] [task_requester]: Using 'dispatch_task_request'
Json msg payload:
{
"type": "dispatch_task_request",
"request": {
"unix_millis_request_time": 0,
"unix_millis_earliest_start_time": 0,
"requester": "rmf_demos_tasks",
"category": "delivery",
"description": {
"pickup": {
"place": "pantry",
"handler": "coke_dispenser",
"payload": []
},
"dropoff": {
"place": "hardware_2",
"handler": "coke_ingestor",
"payload": []
}
}
}
}
Got response:
{'state': {'booking': {'id': 'delivery.dispatch-a49f9e0205', 'requester': 'rmf_demos_tasks', 'unix_millis_earliest_start_time': 0, 'unix_millis_request_time': 0}, 'category': 'delivery', 'detail': {'dropoff': {'handler': 'coke_ingestor', 'payload': [], 'place': 'hardware_2'}, 'pickup': {'handler': 'coke_dispenser', 'payload': [], 'place': 'pantry'}}, 'dispatch': {'errors': [], 'status': 'queued'}, 'status': 'queued', 'unix_millis_start_time': 0}, 'success': True}

- 执行一个巡逻任务,在
coe和lounge地点之间,来回巡逻3次
$ ros2 run rmf_demos_tasks dispatch_patrol -p coe lounge -n 3 --use_sim_time
[INFO] [1755587362.098502888] [task_requester]: Using Sim Time
[INFO] [1755587362.102600147] [task_requester]: Using 'dispatch_task_request'
Json msg payload:
{
"type": "dispatch_task_request",
"request": {
"unix_millis_request_time": 0,
"unix_millis_earliest_start_time": 0,
"requester": "rmf_demos_tasks",
"category": "patrol",
"description": {
"places": [
"coe",
"lounge"
],
"rounds": 3
}
}
}
Got response:
{'state': {'booking': {'id': 'patrol.dispatch-8f51f157a3', 'requester': 'rmf_demos_tasks', 'unix_millis_earliest_start_time': 0, 'unix_millis_request_time': 0}, 'category': 'patrol', 'detail': {'places': ['coe', 'lounge'], 'rounds': 3}, 'dispatch': {'errors': [], 'status': 'queued'}, 'status': 'queued', 'unix_millis_start_time': 0}, 'success': True}

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


















