Skip to content

RHEL 安装(RPM)

ROS 2 DISTRO_TITLE_FULL 的 RPM 包目前适用于 RHEL 10。 Rolling Ridley 发行版会随着新平台被选为开发目标而不时更改目标平台。 目标平台在 REP 2000 中定义。 大多数用户应使用稳定的 ROS 发行版。

请确保你有一个支持 UTF-8 的 locale。 如果你处于最小化环境(例如 Docker 容器)中,locale 可能是类似 C 这样的最小设置。 我们使用以下设置进行测试。 不过,只要你使用的是其他支持 UTF-8 的 locale,也应该没有问题。

Terminal window
locale # check for UTF-8
sudo dnf install langpacks-en glibc-langpack-en
export LANG=en_US.UTF-8
locale # verify settings

你需要启用 EPEL 仓库和 CodeReady Builder(CRB)仓库:

Terminal window
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
sudo env FORCE_DNF=1 crb enable

注意:此步骤可能因你使用的发行版不同而略有差异。 请查阅 EPEL 文档。

接下来,下载 ros2-release 包并安装:

Terminal window
sudo dnf install curl
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}')
sudo dnf install "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-release-${ROS_APT_SOURCE_VERSION}-1.noarch.rpm"

ros2-release 包为各个 ROS 仓库提供了密钥和仓库配置。 当该包的新版本发布到 ROS 仓库时,仓库配置会自动更新。

如果你打算构建 ROS 包或进行其他开发工作,还可以安装开发工具:

Terminal window
$ sudo dnf install -y \
cmake \
gcc-c++ \
git \
make \
patch \
python3-colcon-common-extensions \
python3-mypy \
python3-pip \
python3-pytest \
python3-pytest-repeat \
python3-pytest-rerunfailures \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget

ROS 2 包构建在频繁更新的 RHEL 系统上。 建议在安装新包之前,始终确保你的系统是最新的。

Terminal window
sudo dnf update

Desktop 安装(推荐):ROS、RViz、示例和教程。

Terminal window
sudo dnf install ros-{DISTRO}-desktop

ROS-Base 安装(基础组件):通信库、消息包、命令行工具。不含 GUI 工具。

Terminal window
sudo dnf install ros-{DISTRO}-ros-base

ROS 2 使用的默认中间件是 Fast DDS,但中间件(RMW)可以在运行时替换。 请参阅”使用多种 RMW 实现”指南了解详情。

通过 source 以下文件来设置你的环境。

Terminal window
source /opt/ros/{DISTRO}/setup.bash

注意:如果你使用的不是 bash,请将 .bash 替换为你的 shell。 可选值为:setup.bash、setup.sh、setup.zsh。

如果你在上面安装了 ros-{DISTRO}-desktop,可以尝试一些示例。

在一个终端中,source setup 文件,然后运行一个 C++ talker:

Terminal window
source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中 source setup 文件,然后运行一个 Python listener:

Terminal window
source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_py listener

你应该看到 talker 显示它正在发布(Publishing)消息,而 listener 显示它收到了(I heard)这些消息。 这验证了 C++ 和 Python API 都能正常工作。

如果你想使用其他 RMW 实现,请参阅 RMW 实现指南。

继续学习教程,配置环境,创建自己的工作空间和包,并学习 ROS 2 核心概念。

故障排除技巧请参阅安装故障排除一节。

如果你需要卸载 ROS 2,或从二进制包安装切换到源码安装,请运行以下命令:

Terminal window
sudo dnf remove ros-{DISTRO}-*

要移除仓库配置,请运行:

Terminal window
sudo dnf remove ros2-release