rmf-web

Nightly rmf-dashboard-framework api-server ros-translator api-client codecov

RMF Web

Open-RMF Web is a collection of packages that provide a web-based interface for users to visualize and control all aspects of Open-RMF deployments.

Quick start with docker

These docker images are useful when trying out rmf_demos.

Start the demo dashboard with host network access, RMF_SERVER_URL and TRAJECTORY_SERVER_URL configured accordingly. The demo dashboard will then accessible on localhost:3000 by default.

docker run \
  --network host -it --rm \
  -e RMF_SERVER_URL=http://localhost:8000 \
  -e TRAJECTORY_SERVER_URL=ws://localhost:8006 \
  ghcr.io/open-rmf/rmf-web/demo-dashboard:jazzy-nightly

Note The demo dashboard assumes that the api server is hosted locally on the default ports.

Start the API server with host network access, and set up the correct ROS_DOMAIN_ID and ROS 2 RMW implementation (The images currently have rmw_fastrtps_cpp and rmw_cyclonedds_cpp installed and supported) that will be used in the rest of the Open-RMF system. The API server will use the default port at localhost:8000.

docker run \
  --network host -it --rm \
  -e ROS_DOMAIN_ID=<ROS_DOMAIN_ID> \
  -e RMW_IMPLEMENTATION=<RMW_IMPLEMENTATION> \
  ghcr.io/open-rmf/rmf-web/api-server:jazzy-nightly

# Use the appropriate tag for different ROS 2 distributions

Note Users can also configure the API server using a mounted configuration file and setting the environment variable RMF_API_SERVER_CONFIG. In the default scenario, the API server will use an internal non-persistent database.

Getting started from source

Prerequisites

We currently support Ubuntu 24.04, ROS 2 Jazzy and the latest Open-RMF release. Other distributions may work as well, but is not guaranteed.

Install pnpm and nodejs

curl -fsSL https://get.pnpm.io/install.sh | bash -
pnpm env use --global lts

For Debian/Ubuntu systems,

sudo apt install python3-pip python3-venv

Installing Open-RMF

Refer to the following documentation for either building from source or installing released binaries:

Note Simulation demos are not part of the released binaries, and therefore a built workspace with at least the demos repository would be required for trying out the web dashboard with simulation.

Install dependencies

Run

pnpm install

You may also install dependencies for only a subset of the packages

pnpm install -w --filter <package>...

Launching for development

Source Open-RMF and launch the API server,

# For binary installation
source /opt/ros/jazzy/setup.bash

# For source build
source /path/to/workspace/install/setup.bash

# Start the API server, this will need to be restarted for any changes to be reflected
cd packages/api-server
pnpm start

Start the dashboard in dev, this monitors for changes in the dashboard package and performs rebuilds. A browser refresh is sometimes required after automated builds to reflect new changes.

cd packages/rmf-dashboard-framework
pnpm start:example examples/demo

Once completed, the demo dashboard can be viewed at localhost:5173.

If presented with a login screen, use user=admin password=admin.

Ensure that the fleet adapters in the Open-RMF deployment is configured to use the endpoints of the API server. By default it is http://localhost:8000/_internal. Launching a simulation from rmf_demos_gz for example, the command would be,

ros2 launch rmf_demos_gz office.launch.xml server_uri:="http://localhost:8000/_internal"

Contribution guide

Configuration

Troubleshooting