您正在阅读的是开发版本的文档。有关最新发布的版本,请访问 Jazzy.

乌班图(源代码)

系统要求

Rolling Ridley 目前基于 Debian 的目标平台有

  • 第 1 层:Ubuntu Linux - Noble (24.04) 64 位

  • 第 3 层:Ubuntu Linux - Jammy (22.04) 64 位

  • 第 3 层:Debian Linux - Bookworm (12) 64 位

根据 REP 2000.

系统设置

设置本地语言

确保您的本地语言支持 UTF-8.如果您所处的是最小化环境(如 docker 容器),则本地化可能是类似以下的最小化环境 POSIX.我们使用以下设置进行测试。不过,如果您使用的是不同的 UTF-8 支持的本地语言,也不会有问题。

地点  # 检查 UTF-8

苏都 适切 更新 &&; 苏都 适切 安装 sudo 本地生成 en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 =en_US.UTF-8
出口 =en_US.UTF-8 本地语言  # 验证设置

启用所需的存储库

您需要在系统中添加 ROS 2 apt 软件仓库。

首先确保 Ubuntu Universe 存储库 已启用。

苏都 适切 安装 software-properties-common sudo add-apt-repository 

现在用 apt 添加 ROS 2 GPG 密钥。

苏都 适切 更新 &&; 苏都 适切 安装 卷曲 -y sudo 卷曲 -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

然后将版本库添加到来源列表中。

回响 "deb [arch=$(dpkg --印刷架构) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release &&; 回响 $ubuntu_codename) main"; | 苏都 发球 /etc/apt/sources.list.d/ros2.list >; /dev/null

安装开发工具

苏都 适切 更新 &&; 苏都 适切 安装 -y \
  python3-flake8-blind-except \
  python3-flake8-class-newline \
  python3-flake8-deprecated \
  python3-mypy \
  python3-pip \
  python3-pytest \
  python3-pytest-cov \
  python3-pytest-mock \
  python3-pytest-repeat \
  python3-pytest-rerunfailures \
  python3-pytest-runner \
  python3-pytest-timeout \
  ros-dev-tools

构建 ROS 2

获取 ROS 2 代码

创建工作区并克隆所有软件仓库:

mkdir -p ~/ros2_rolling/src
CD ~/ros2_rolling vcs 舶来品 --输入 https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos 来源

使用 rosdep 安装依赖项

ROS 2 软件包基于经常更新的 Ubuntu 系统。我们建议您在安装新软件包之前确保您的系统是最新的。

苏都 适切 升级
苏都 rosdep 启动 更新 安装 --从路径 来源 --忽略源代码 -y --跳键 "fastcdr rticonnext-dds-6.0.1 urdfdom_headers";

备注:如果你使用的是基于 Ubuntu 的发行版(如 Linux Mint),但没有将自己标识为 Ubuntu,你会收到类似以下的错误信息 不支持 操作系统 [薄荷].在这种情况下,附加 --os=ubuntu:noble 来执行上述命令。

安装其他 RMW 实现(可选)

ROS 2 使用的默认中间件是 快速 DDS但中间件 (RMW) 可以在构建或运行时更换。请参见 向导 如何使用多个 RMW。

在工作区中构建代码

如果您已经以其他方式安装了 ROS 2(通过 Debians 或二进制发行版),请确保在没有其他安装的全新环境中运行以下命令。同时确保没有 消息来源 /opt/ros/${ROS_DISTRO}/setup.bash 在你的 .bashrc.您可以使用命令 printenv | grep -i ROS.输出应为空。

有关使用 ROS 工作区的更多信息,请参阅 本教程.

CD ~/ros2_rolling/ colcon 构建 --symlink-install

备注

如果在编译所有示例时遇到困难,导致无法成功完成编译,可以使用 --软件包跳过 colcon 标记来忽略导致问题的软件包。例如,如果不想安装大型 OpenCV 库,可以使用该命令跳过构建依赖于它的软件包:

胶管 构建 --symlink-install --软件包跳过 图像工具 进程内演示

设置环境

通过获取以下文件来设置环境。

# 如果不使用 bash,请将 ".bash" 替换为您的 shell
# 可能的值是:setup.bash、setup.sh、setup.zsh
. ~/ros2_rolling/install/local_setup.bash

举例说明

在一个终端中输入设置文件,然后运行 C++ 话匣子:

. ~/ros2_rolling/install/local_setup.bash ros2 运行 演示节点 话匣子

在另一个终端中输入设置文件的源代码,然后运行 Python 听众:

. ~/ros2_rolling/install/local_setup.bash ros2 运行 演示节点 听众

您应该看到 话匣子 说它是 出版 信息和 听众 成语 I 听说 这些信息。这就验证了 C++ 和 Python API 都能正常工作。万岁

下一步工作

继续 教程和演示 来配置环境、创建自己的工作区和软件包,并学习 ROS 2 的核心概念。

备用编译器

除了 gcc 之外,使用其他编译器编译 ROS 2 也很简单。如果设置环境变量 CCCXX 分别转换为可运行的 C 和 C++ 编译器的可执行文件,并重新触发 CMake 配置(通过使用 --force-cmake-config 或删除希望受影响的软件包),CMake 将重新配置并使用不同的编译器。

配置 CMake 以检测并使用 Clang:

苏都 适切 安装 出口 CC=出口 CXX=Clang++ colcon 构建 --cmake-force-configure

了解最新信息

参见 维护源检查 定期刷新源安装。

故障排除

可以找到故障排除技术 这里.

卸载

  1. 如果您按照上述说明使用 colcon 安装了工作区,那么 "卸载 "可能只是打开一个新终端,而不是从工作区的 设置 文件。这样,您的环境就会像系统中没有安装 Rolling 软件一样运行。

  2. 如果你也想释放空间,可以用以下方法删除整个工作区目录:

    rm -rf ~/ros2_rolling