Skip to content

Ubuntu 安装(apt)

DISTRO_TITLE_FULL 的 Deb 软件包可在 DISTRO_UBUNTU_DEB_PLATFORM 上使用。 我们建议大多数场景使用当前发行版,该平台的支持是稳定的。

该发行版的相关资源如下:

Rolling Ridley 开发发行版支持的目标平台会随着新平台被选为开发目标而变化。 未来目标平台的计划在 REP 2000 中定义。

请查看 安装要求。

  1. 设置 locale。

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

    Terminal window
    locale # 检查是否为 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 # 验证设置
  2. 启用所需的软件仓库。

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

    a. 确保 Ubuntu Universe 仓库 已启用。

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

    b. 安装 ros-apt-source 软件包。

    它为各种 ROS 仓库提供密钥和 apt 源配置。

    Terminal window
    sudo apt update && sudo apt install curl -y
    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}')
    curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
    sudo dpkg -i /tmp/ros2-apt-source.deb

    安装 ros2-apt-source 软件包后,系统会自动配置 ROS 仓库。 当该软件包的新版本发布到 ROS 仓库时,仓库配置将自动更新。

  3. 可选:安装开发工具。

    如需构建软件包或进行其他 ROS 开发工作,请安装 ros-dev-tools:

    Terminal window
    sudo apt update && sudo apt install ros-dev-tools
  1. 更新你的 apt 仓库缓存。

    Terminal window
    sudo apt update
  2. 确保你的系统是最新的。

    ROS 软件包基于频繁更新的 Ubuntu 系统构建。 在安装新软件包之前,务必确保你的系统是最新的。

    Terminal window
    sudo apt upgrade
  3. 使用以下方法之一安装 ROS:

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

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

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

    Terminal window
    sudo apt install ros-{DISTRO}-ros-base
  4. 可选:安装额外的 RMW 实现。

    当你的项目需要默认之外的其他 DDS 或 Zenoh 供应商时,可以安装可选的 RMW 软件包。 ROS 2 使用的默认中间件是 Fast DDS,但中间件(RMW)可以在运行时替换。 请参阅 使用多种 RMW 的指南 了解详情。

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

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

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

如果你安装了 ros-{DISTRO}-desktop,可以尝试运行一些示例来检查安装是否成功。

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

    Terminal window
    source /opt/ros/{DISTRO}/setup.bash
    ros2 run demo_nodes_cpp talker
  2. 在另一个终端中,source setup 文件,然后运行一个 Python listener:

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

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

如果你在安装过程中遇到问题,请查看 故障排除指南。

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

安装完成后,你可以继续 配置环境。

建议你熟悉关键的 ROS 概念并查看教程:

更多文章:

软件包/参考:

  • ros-{DISTRO}-desktop:在 ros_base 基础上扩展的高层级软件包,例如可视化工具和示例。
  • ros-{DISTRO}-ros-base:在 ros_core 基础上扩展的更底层软件包,例如 tf2 和 urdf。
  • demo_nodes_cpp:示例 C++ 节点,之前位于 ros2/examples 仓库中,现在仅用于演示目的。
  • demo_nodes_py:示例 Python 节点,之前位于 ros2/examples 仓库中,现在仅用于演示目的。
  • ros2-apt-source:ROS 2 apt 仓库的源和密钥配置。
  • ros-dev-tools:包含 ROS 开发中常用软件包的变体。

支持哪些 Ubuntu 平台? ROS 2 DISTRO_TITLE_FULL 可在 DISTRO_UBUNTU_DEB_PLATFORM 上使用。

为什么我会看到某个错误或安装问题的症状? 请查看 安装故障排除。

我可以从二进制安装切换到源码安装吗? 可以。 请查看 Ubuntu 开发环境设置。

如何卸载 ROS? 如果你需要卸载 ROS,或者已经从二进制安装后想切换到源码安装,请运行以下命令:

Terminal window
sudo apt remove '~nros-{DISTRO}-*' && sudo apt autoremove

你可能还想移除软件仓库:

Terminal window
sudo apt remove ros2-apt-source
sudo apt update
sudo apt autoremove
sudo apt upgrade # 考虑升级之前被遮蔽的软件包