如需了解最新说明和更新,请直接查看 open-rmf/rmf repository.

安装 ROS 2.

首先,请按照 ROS 2 的安装说明进行操作。 如果您使用的是 Ubuntu 20.04 LTS 机器(建议), here is the binary install page for ROS 2 Galactic on Ubuntu 20.04.

设置 Gazebo 存储库

设置您的计算机以接受来自 packages.osrfoundation.org 的 Gazebo 包。

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 二进制包适用于 Ubuntu Focal 20.04 Foxy, GalacticRolling ROS 2 的版本。大多数 OpenRMF 软件包都有前缀 rmf 因此,你可以通过搜索模式找到它们 ros-<ro2distro>-rmf

apt-cache search ros-<ro2distro>-rmf

RMF 演示

安装的好方法 rmf 一次性安装一组软件包,就是安装主要软件包之一 RMF Demos 包。这将把所有其余的 OpenRMF 包作为依赖项。 RMF 演示的核心包含在 rmf_demos 包。但是,如果你想安装模拟支持,你应该安装 rmf_demos_gz or rmf_demos_ign 分别带有 gazebo 或 ignition 支持的软件包。要安装带有 gazebo 支持包的 ROS 2 版本,您需要运行:

sudo apt install ros-<ro2distro>-rmf-demos-gz

从源代码构建

如果您想获得最新的开发成果,您可能需要从源代码安装并自行编译 OpenRMF。

附加依赖项

安装 OpenRMF 包的所有非 ROS 依赖项,

sudo apt update && sudo apt install \
  git cmake python3-vcstool curl \
  qt5-default \
  -y
python3 -m pip install flask-socketio
sudo apt-get install python3-colcon*

安装 rosdep

rosdep 帮助安装跨不同发行版的 ROS 软件包依赖项。可以使用以下命令安装:

sudo apt install python3-rosdep
sudo rosdep init
rosdep update

下载源代码

设置新的 ROS 2 工作区并使用以下方式引入演示存储库 vcs,

mkdir -p ~/rmf_ws/src
cd ~/rmf_ws
wget https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos
vcs import src < rmf.repos

确保满足所有 ROS 2 先决条件,

cd ~/rmf_ws
rosdep install --from-paths src --ignore-src --rosdistro <ro2distro> -y

编译说明

NOTE: 由于源代码构建中发生了较新的更改,二进制文件安装的旧头文件可能会发生冲突和编译错误。请在从源代码构建之前删除二进制安装,使用 sudo apt remove ros-<ro2distro>-rmf*.

编译于 Ubuntu 20.04:

cd ~/rmf_ws
source /opt/ros/<ro2distro>/setup.bash
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

NOTE: 首次构建时,将从 Ignition Fuel 下载许多模拟模型,以便在运行模拟时填充场景。 因此,首次构建可能需要很长时间,具体取决于服务器负载和您的 Internet 连接(例如 60 分钟)。

运行 RMF 演示

OpenRMF 的演示如下 rmf_demos.

Docker 容器

或者,你可以使用以下方式运行 RMF Demos docker.

从以下位置拉取 docker 镜像 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"

这将运行 rmf_demos 处于无头模式。打开 this link 使用浏览器启动任务.

(实验性)用户还可以运行 rmf_demos 以“非无头”图形形式,通过 rocker.

Roadmap

整个 OpenRMF 项目的近期路线图(包括及以后 rmf_traffic) can be found in the user manual here.

与 RMF 集成

您可以找到有关如何将您的系统与 OpenRMF 集成的说明 here.

开源队列适配器

许多商业机器人已与 RMF 集成,其适配器的链接如下所示。

帮助我们添加到此列表!

将您的车队与 RMF 整合的一个有用起点是 fleet_adapter_template 包.