How to run my own map? (#653)

Posted by @kyonson:

I just run the office demo ,and now i built a test.building.yaml with traffic-editor ,there’s several lanes and robots in it,how can i run it like the demos so i can use the rmf-web to publish tasks to the robots and see them run? i watched searched` and some video and feels like that i should place the test.building.yaml somewhere and run colcon build somewhere else ,but im not sure what to do,thank you very much if you may give me any guide
Uploading 截图 2025-03-31 09-38-16.png…

Posted by @aaronchongth:

You can check out rmf_demos/rmf_demos_maps at main · open-rmf/rmf_demos · GitHub and the other rmf_demos packages, and make the changes accordingly. The easiest way to set it up would be to place your new map alongside the existing demo maps and build. The CMakeLists.txt file in the rmf_demos_maps is the one responsible for generating the simulation worlds

Check out the rmf_demos and rmf_demos_gz packages and adjust the existing map launch files to target your own

Posted by @kyonson:

thank you very much!

Posted by @kyonson:

now i can run the test.lanch.xml but turminal repeats error:
[gz-16] [ERROR] [1743491422.901949687] [slotcar_R1]: Unable to determine the current level_name for robot [R1]. Kindly ensure the building_map_server is running. The RobotState message forthis robot will not be published.
what should i do ?i saw thishttps://github.com/open-rmf/rmf_demos/issues/191#issuecomment-1657411794 and installed these modules but the error still occurs

Posted by @aaronchongth:

that is an unrelated error, since it is complaining that the building_map_server is not running, did you try checking if it is up? You can use ros2 node list. It is normally launched here, rmf_demos/rmf_demos/launch/common.launch.xml at main · open-rmf/rmf_demos · GitHub

Posted by @kyonson:

[@aaronchongth ] thank you for your help! I run ros2 node list but terminal returns nothing . I wrote my test.building.yaml,put it beside demo maps ,and wrote the lanch files accroding to the demos and colcon build, when i run test.launch.yaml ,i can see gazebo world with robots ,rviz without robots ,rmf web empty ,node list empty ,terminal repeats error:

[fleet_adapter-15] Other error for tinyRobot1 in get_data: ‘robot_name’
[gz-16] [ERROR] [1743555848.021269483] [slotcar_tinyRobot1]: Unable to determine the current level_name for robot [tinyRobot1]. Kindly ensure the building_map_server is running. The RobotState message forthis robot will not be published.

what did i miss?

Posted by @aaronchongth:

I run ros2 node list but terminal returns nothing

This doesn’t sound right. Even if your map fails, there should be a lot of nodes running in the background. In one terminal, run ros2 launch rmf_demos_gz test.launch.xml, and in a second terminal, run ros2 node list. Both terminals need to source whichever workspace you built.

i can see gazebo world with robots ,rviz without robots ,rmf web empty ,node list empty ,terminal repeats error

This generally means your setup is incomplete. Please carefully follow the instructions leading up to GitHub - open-rmf/rmf: Root repository for the RMF software

Posted by @kyonson:

[@aaronchongth ] I run the office demo successfully ,but the node list is empty too after source to workspace. i followed the setup carefully ,but the test.launch.xml still fails with error :

[fleet_adapter-15] Other error for tinyRobot1 in get_data: ‘robot_name’
[gz-16] [ERROR] [1743555848.021269483] [slotcar_tinyRobot1]: Unable to determine the current level_name for robot [tinyRobot1]. Kindly ensure the building_map_server is running. The RobotState message forthis robot will not be published.

i searched and in this link i saw the same error https://github.com/open-rmf/rmf_demos/issues/191#issuecomment-1657411794 ,is this the problem?but i didnt see how to install the latest python modules for fastapi, univorn, flack-socktio via pip as indicated in our Setup instructions

Posted by @kyonson:

run ros2 node list

now i can see some nodes after run "ros2 launch rmf_demos_gz test.launch.xml server_uri:=“ws://localhost:8000/_internal” ",here are the nodes:

/building_systems_visualizer
/door_panel_requester_node
/door_supervisor
/fleet_states_visualizer
/floorplan_visualizer
/navgraph_visualizer
/plugin_tinyRobot1
/plugin_tinyRobot2
/plugin_tinyRobot3
/rmf_dispatcher_node
/rmf_lift_supervisor
/rmf_obstacle_visualizer
/rmf_schedule_panel
/rmf_simulation_door_manager
/rmf_simulation_lift_manager
/rmf_traffic_blockade_node
/rmf_traffic_schedule_primary
/ros_gz_bridge
/rviz
/schedule_data_node
/schedule_visualizer_node
/tinyRobot_command_handle
/tinyRobot_fleet_adapter
/tinyRobot_fleet_manager
/toggle_floors
/transform_listener_impl_58c35c3f1a80

there’s no buildin_map_server node ,and when i run manulay,it says:

szk@szk-Yoga:~/rmf_ws$ ros2 run rmf_building_map_tools building_map_server
map path must be provided in command line or RMF_MAP_PATH env
[ros2run]: Process exited with failure 1

what should i do?

Posted by @kyonson:

now i can run my own map,i re installed every thing then it works,i guess it may be some colcon build error,thank you very muchfor your generous help![@aaronchongth ]