Skip to content

Launch scripts

The ros_industrial_demo/launch directory orchestrates the whole stack. The tmux launcher runs each step in its own pane, so every service is visible as it comes up.

start_environment_tmux.sh

Runs one ordered step table inside a tmux session (ihi_demo). Each step's command is sent to its own pane and gated on a health probe before the next step runs.

bash
./start_environment_tmux.sh            # run all steps with health gates
./start_environment_tmux.sh --step N   # re-run from step N onward (debugging)
./start_environment_tmux.sh --status   # ports / containers / tmux status
./start_environment_tmux.sh --help

Step table

#Steptmux paneHealth gate
1Dashboard (rmf2-launcher)Dashboard.0port 8083
2Broker (IOCS)IOCS.0http://localhost:8000/status
3MQTTIOCS.1sleep 3s
4MAPF (unified)Services.0port 8888
5Task OrchestratorServices.1http://localhost:2727/health_check
6Devices (VDA5050)Devices.0log match vda5050_fiware: state
7SimulationSim.0sleep 10s
8Init SystemInitSystem.0sleep 5s
9Send TaskSendTask.0sleep 3s

The step table is the single source of truth. To add or edit a step, see the launch/how_to_add_step.md guide in the repo.

Debugging a failed step

On a failed gate the launcher prints the failing pane's last 20 lines and leaves the session running. Attach and inspect:

bash
tmux attach -t ihi_demo      # then switch to the failing window

stop_environment_tmux.sh

Tears everything down in reverse order, then kills the ihi_demo session. It is best-effort — a single failure never aborts the rest — and is safe to run from inside the session (it kills that session last).

bash
./stop_environment_tmux.sh            # graceful stop + kill the tmux session
./stop_environment_tmux.sh --hard     # also force-remove leftover containers/ports
./stop_environment_tmux.sh --status
./stop_environment_tmux.sh --help

Steps 8 (Init) and 9 (Send Task) are one-shot, so teardown covers steps 7 → 1.

Control scripts

The launcher calls per-service control scripts (each takes start / stop):

ScriptService
rmf2_unified_mapf_control.shMAPF unified container
task_orchestrator_control.shTask Orchestrator
rmf2_res_vda5050_control.shVDA5050 bridge
simulation/Linux/RMF2_SIM.shUE5 simulation binary
rmf2_res_mqtt_control.shMosquitto MQTT
rmf2_res_broker_control.shIOCS broker stack

Released under the Apache-2.0 License.