For the latest instructions and updates please directly check the open-rmf/rmf repository.
First, please follow the installation instructions for ROS 2. If you are on an Ubuntu 20.04 LTS machine (as recommended), here is the binary install page for ROS 2 Galactic on Ubuntu 20.04.
Setup your computer to accept Gazebo packages from packages.osrfoundation.org.
sudo apt update
sudo apt install -y wget
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
OpenRMF binary packages are available for Ubuntu Focal 20.04 for the
Rolling releases of ROS 2. Most OpenRMF packages have the prefix
rmf on their name, therefore, you can find them by them by searching for the pattern
apt-cache search ros-<ro2distro>-rmf
A good way to install the
rmf set of packages in one go is to install the one of the main RMF Demos packages. This will pull all the rest of the OpenRMF packages as a dependency. The core of RMF demos is contained on the
rmf_demos package. However, if you want to install it with simulation support, you should install the
rmf_demos_ign package which come with gazebo or ignition support respectively. To install the ROS 2 release with gazebo support package, you would run:
sudo apt install ros-<ro2distro>-rmf-demos-gz
If you want to get the latest developments you might want to install from sources and compile OpenRMF yourself.
Install all non-ROS dependencies of OpenRMF packages,
sudo apt update && sudo apt install \
git cmake python3-vcstool curl \
python3 -m pip install flask-socketio
sudo apt-get install python3-colcon*
rosdep helps install dependencies for ROS packages across various distros. It can be installed with:
sudo apt install python3-rosdep
sudo rosdep init
Setup a new ROS 2 workspace and pull in the demo repositories using
mkdir -p ~/rmf_ws/src
vcs import src < rmf.repos
Ensure all ROS 2 prerequisites are fulfilled,
rosdep install --from-paths src --ignore-src --rosdistro <ro2distro> -y
NOTE: Due to newer changes in the source build, there might be conflicts and compilation errors with older header files installed by the binaries. Please remove the binary installations before building from source, using
sudo apt remove ros-<ro2distro>-rmf*.
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
NOTE: The first time the build occurs, many simulation models will be downloaded from Ignition Fuel to populate the scene when the simulation is run. As a result, the first build can take a very long time depending on the server load and your Internet connection (for example, 60 minutes).
Demonstrations of OpenRMF are shown in rmf_demos.
Alternatively, you can run RMF Demos by using docker.
Pull docker image from
open-rmf/rmf github registry (setup refer here).
docker pull ghcr.io/open-rmf/rmf/rmf_demos:latest
docker tag ghcr.io/open-rmf/rmf/rmf_demos:latest rmf:latest
docker run -it --network host rmf:latest bash -c "export ROS_DOMAIN_ID=9; ros2 launch rmf_demos_gz office.launch.xml headless:=1"
This will run
rmf_demos in headless mode. Open this link with a browser to start a task.
(Experimental) User can also run
rmf_demos in “non-headless” graphical form, via rocker.
A near-term roadmap of the entire OpenRMF project (including and beyond
rmf_traffic) can be found in the user manual here.
Instructions on how to integrate your system with OpenRMF can be found here.
A number of commercial robots have been integrated with RMF and links to their adapters are available below.
- Gaussian Ecobots
- OTTO Motors (and robots running the Clearpath Autonomy stack)
- Mobile Industrial Robots: MiR
- Temi- the personal robot
Help us add to this list!
A helpful starting point for integrating your fleet with RMF is the fleet_adapter_template package.