This repo is a temporary space for drafting prototype data structures and design documents for the next generation of Open-RMF.
If you would like to give feedback or input on the designs, you are welcome to open issue tickets, submit pull requests, or post to the ideas board on discourse.
- ROS 2 jazzy
- The latest Rust compiler.
- Cargo extensions for colcon
Method 1: On your local system (click here)
a. Install ROS 2 Jazzy. Make sure to install the development tools.
b. Install
rust:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh exec bashc. Install colcon extensions:
# Install required system packages sudo apt install -y git libclang-dev python3-pip # Install colcon plugins for Rust sudo apt install python3-colcon-cargo pip3 install --break-system-packages colcon-ros-cargo cargo install cargo-ament-build
Method 2: Using a container (click here)
We pre-build base containers with all the dependencies you can use
rocker,distrobox,podmanor any other oci compliant tool to get a base dev environment. For the purposes of this set of instructions we use distrobox:distrobox create --image ghcr.io/open-rmf/ros2_rust_base:jazzy -n ros2_rust_base distrobox enter ros2_rust_base
Create a workspace and clone the repo:
mkdir -p rmf_ws/src
cd rmf_ws/src
git clone https://github.com/open-rmf/next_gen_prototype.git
cd ..rosdep update
rosdep install --from-paths src --ignore-src --rosdistro jazzy -yrEnsure you are at the workspace root inside the jazzy distrobox container, then build the relevant packages:
source /opt/ros/jazzy/setup.bash
colcon buildVerify core scenario coordination and robust following behavior:
colcon test --packages-select rmf_path_server_test --event-handlers console_direct+path_server_smol.mp4
Launch the fully standalone path server dashboard:
ros2 launch rmf_path_server_demo demo.launch.py- Open
http://localhost:8080in your web browser. - Click Add Robot to drop active participants onto the canvas.
- Select a robot and click a cell to place its goal.
- Click Send Scenario to observe multi-agent trajectory generation and live execution progress.