Ubuntu(二进制)

本页面说明如何从预构建的二进制软件包在Ubuntu Linux上安装ROS 2。

注解

预构建的二进制文件不包含所有的ROS 2软件包。所有`ROS基础版本<https://ros.org/reps/rep-2001.html#ros-base>`_中的软件包都被包含在内,只包含了`ROS桌面版本<https://ros.org/reps/rep-2001.html#desktop-variants>`_中的一个子集。软件包的确切列表由`此ros2.repos文件<https://github.com/ros2/ros2/blob/humble/ros2.repos>`_中列出的存储库描述。

还有可用的:doc:Debian软件包

系统要求

我们目前支持Ubuntu Linux Jammy(22.04)64位x86和64位ARM。

添加 ROS 2 apt 仓库

您需要将 ROS 2 apt 仓库添加到您的系统中。

首先确保已启用 Ubuntu Universe 软件源

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

然后使用 apt 添加 ROS 2 GPG 密钥。

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

接下来将软件源添加到您的源列表中。

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 2

  • 前往 发布页面

  • 下载适用于Ubuntu的最新软件包;假设它最终保存在``~/Downloads/ros2-package-linux-x86_64.tar.bz2``。

    • 注意:可能有多个二进制下载选项,可能会导致文件名不同。

  • 解压缩:

    mkdir -p ~/ros2_humble
    cd ~/ros2_humble
    tar xf ~/Downloads/ros2-package-linux-x86_64.tar.bz2
    

安装和初始化 rosdep

sudo apt update
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update

安装缺失的依赖项

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

sudo apt upgrade

根据您下载的版本设置您的rosdistro。

rosdep install --from-paths ~/ros2_humble/ros2-linux/share --ignore-src -y --skip-keys "cyclonedds fastcdr fastrtps rti-connext-dds-6.0.1 urdfdom_headers"

注意:如果您使用的是基于 Ubuntu 的发行版(如 Linux Mint),但它没有将自己标识为 Ubuntu,您将收到类似 Unsupported OS [mint] 的错误消息。在这种情况下,请在上述命令后面添加 --os=ubuntu:jammy

安装开发工具(可选)

如果您要构建ROS软件包或进行其他开发工作,还可以安装开发工具:

sudo apt install ros-dev-tools

安装额外的DDS实现(可选)

如果您想使用默认之外的其他DDS或RTPS供应商,您可以在这里找到说明:这里

环境设置

执行设置脚本

通过源化以下文件来设置您的环境。

 # Replace ".bash" with your shell if you're not using bash
 # Possible values are: setup.bash, setup.sh, setup.zsh
. ~/ros2_humble/ros2-linux/setup.bash

尝试一些示例

在一个终端中,先源文件设置文件,然后运行一个C++ talker

. ~/ros2_humble/ros2-linux/setup.bash
ros2 run demo_nodes_cpp talker

在另一个终端中,先源文件设置文件,然后运行一个Python listener

. ~/ros2_humble/ros2-linux/setup.bash
ros2 run demo_nodes_py listener

你应该看到“talker”说它正在“发布”消息,而“listener”说“我听到了”这些消息。这验证了C++和Python API都正常工作。太棒了!

安装后的下一步

继续进行:doc:教程和演示,以配置你的环境,创建自己的工作空间和包,并学习ROS 2的核心概念。

使用 ROS 1 桥接器

ROS 1 桥接器可以连接 ROS 1 和 ROS 2 的主题。请参阅专门的 文档 以了解如何构建和使用 ROS 1 桥接器。

其他RMW实现(可选)

ROS 2使用的默认中间件是“Fast DDS”,但是中间件(RMW)可以在运行时替换。请参阅:doc:`指南 <../../How-To-Guides/Working-with-multiple-RMW-implementations>`以了解如何使用多个RMW。

故障排除

故障排除技巧可以在这里找到:这里

卸载

  1. 如果按照上述指示使用 colcon 安装了工作空间,则“卸载”可能只是打开新终端而不加载工作空间的“setup”文件。这样,您的环境将表现得好像系统中没有安装 Humble。

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

    rm -rf ~/ros2_humble