Ubuntu (来源)

系统要求

当前基于 Debian 的 Rolling Ridley 目标平台为:

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

  • 第 3 层:Ubuntu Linux - Focal (20.04) 64 位

  • 第 3 层:Debian Linux - Bullseye (11) 64 位

其他具有不同支持级别的 Linux 平台包括:

根据定义 REP 2000.

系统设置

设置区域设置

Make sure you have a locale which supports UTF-8. If you are in a minimal environment (such as a docker container), the locale may be something minimal like POSIX. We test with the following settings. However, it should be fine if you’re using a different UTF-8 supported locale.

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

添加 ROS 2 apt 存储库

You will need to add the ROS 2 apt repository to your system.

First ensure that the Ubuntu Universe repository is enabled.

sudo apt install software-properties-common
sudo add-apt-repository universe

Now add the ROS 2 GPG key with apt.

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Then add the repository to your sources list.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装开发工具和ROS工具

安装常用软件包。

sudo apt update && sudo apt install -y \
  python3-flake8-docstrings \
  python3-pip \
  python3-pytest-cov \
  ros-dev-tools

根据您的 Ubuntu 版本安装软件包。

sudo apt install -y \
   python3-flake8-blind-except \
   python3-flake8-builtins \
   python3-flake8-class-newline \
   python3-flake8-comprehensions \
   python3-flake8-deprecated \
   python3-flake8-import-order \
   python3-flake8-quotes \
   python3-pytest-repeat \
   python3-pytest-rerunfailures

获取 ROS 2 代码

创建工作区并克隆所有存储库:

mkdir -p ~/ros2_rolling/src
cd ~/ros2_rolling
vcs import --input https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos src

使用 rosdep 安装依赖项

ROS 2 packages are built on frequently updated Ubuntu systems. It is always recommended that you ensure your system is up to date before installing new packages.

sudo apt upgrade
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

Note: If you’re using a distribution that is based on Ubuntu (like Linux Mint) but does not identify itself as such, you’ll get an error message like Unsupported OS [mint]. In this case append --os=ubuntu:jammy to the above command.

安装其他 DDS 实现(可选)

如果您想使用除默认供应商之外的其他 DDS 或 RTPS 供应商,您可以在 此处 找到说明。

在工作区中构建代码

如果您已经以其他方式(通过 debs 或二进制分发)安装了 ROS 2,请确保在没有其他安装源的新环境中运行以下命令。 还要确保您的 .bashrc 中没有 source /opt/ros/${ROS_DISTRO}/setup.bash。 您可以使用命令 printenv | grep -i ROS 确保 ROS 2 未获取源。 输出应为空。

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

cd ~/ros2_rolling/
colcon build --symlink-install

注意:如果您在编译所有示例时遇到问题,并且这阻止您完成成功的构建,您可以像使用 CATKIN_IGNORE 一样使用 COLCON_IGNORE 来忽略子树或从工作区中删除文件夹。 举个例子:您想避免安装大型 OpenCV 库。 那么只需在 cam2image 演示目录中运行 touch COLCON_IGNORE 即可将其排除在构建过程之外。

环境设置

获取安装脚本

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

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
. ~/ros2_rolling/install/local_setup.bash

尝试一些示例

在一个终端中,获取安装文件,然后运行 ​​C++ talker

. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中获取安装文件,然后运行 ​​Python listener

. ~/ros2_rolling/install/local_setup.bash
ros2 run demo_nodes_py listener

您应该看到 talker 说它正在 Publishing 消息,而 listenerI heard 这些消息。 这验证了 C++ 和 Python API 均正常工作。 万岁!

安装后的后续步骤

继续阅读 tutorials and demos 来配置您的环境,创建您自己的工作区和包,并学习 ROS 2 核心概念。

使用 ROS 1 桥

ROS 1 桥可以将主题从 ROS 1 连接到 ROS 2,反之亦然。有关如何构建和使用 ROS 1 桥,请参阅专用的 documentation

附加 RMW 实现(可选)

ROS 2 使用的默认中间件是“Fast DDS”,但中间件(RMW)可以在运行时替换。 有关如何使用多个 RMW,请参阅 guide

备用编译器

使用 gcc 以外的其他编译器来编译 ROS 2 很容易。 如果您分别将环境变量“CC”和“CXX”设置为可运行的 C 和 C++ 编译器的可执行文件,并重新触发 CMake 配置(通过使用“–cmake-force-configure”或删除您想要受影响的包),CMake 将重新配置并使用不同的编译器。

Clang

要配置 CMake 以检测和使用 Clang:

sudo apt install clang
export CC=clang
export CXX=clang++
colcon build --cmake-force-configure

了解最新动态

请参阅 维护源签出 以定期刷新源安装。

故障排除

故障排除技术可在 此处 找到。

卸载

1. 如果您按照上述说明使用 colcon 安装了工作区,则“卸载”可能只需打开一个新终端,而不是获取工作区的“setup”文件即可。 这样,您的环境将表现得好像系统上没有安装 Rolling。

  1. 如果您还想释放空间,可以使用以下命令删除整个工作区目录:

    rm -rf ~/ros2_rolling