警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

在 Linux 上安装 ROS 2

本页介绍如何在 Linux 上通过预制二进制包安装 ROS 2。

还有 Debian 软件包 可用。

系统要求

我们支持 64 位 x86 和 64 位 ARM 上的 Ubuntu Linux Bionic Beaver (18.04) 和 Ubuntu Xenial Xerus (16.04)。

注:Ardent 和测试版支持 Ubuntu Xenial Xerus 16.04。

添加 ROS 2 apt 软件仓库

您需要在系统中添加 ROS 2 apt 仓库。为此,首先像这样用 apt 授权我们的 GPG 密钥:

苏都 适切 更新 &&; 苏都 适切 安装 卷曲 撮影2 lsb-release curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | 苏都 apt-key 增加 -

然后将资源库添加到来源列表中:

苏都  -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list';

下载 ROS 2

  • 转到 发布页面

  • 下载最新的 Linux 软件包;我们假设它最终位于 ~/Downloads/ros2-crystal-linux-x86_64.tar.bz2.

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

  • 打开包装:

    mkdir -p ~/ros2_crystal
    CD ~/ros2_crystal tar xf ~/Downloads/ros2-crystal-linux-x86_64.tar.bz2
    

安装和初始化 rosdep

苏都 适切 更新 sudo 适切 安装 -y python-rosdep sudo rosdep 启动 # 如果已经初始化,可以继续
rosdep 更新

安装缺失的依赖项

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

选择_ros_distro=水晶 # 或有弹性
rosdep 安装 --从路径 ros2-linux/share --忽略源代码 --rosdistro $choose_ros_distro -y --跳键 "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 osrf_testing_tools_cpp poco_vendor rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp rti-connext-dds-5.3.1 tinyxml_vendor tinyxml2_vendor urdfdom urdfdom_headers";
  1. 可选如果您想使用 ROS 1<->2 桥接器,则必须同时安装 ROS 1: https://wiki.ros.org/kinetic/Installation/Ubuntu

安装 python3 库

苏都 适切 安装 -y libpython3-dev

安装其他 DDS 实现(可选)

除了默认的 eProsima 快速 RTPS 之外,如果您还想使用其他 DDS 或 RTPS 供应商,可以查看相关说明 这里.

环境设置

获取设置脚本

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

. ~/ros2_crystal/ros2-linux/setup.bash

安装 argcomplete(可选)

ROS 2 命令行工具使用 argcomplete 自动完成。因此,如果你想要自动完成,安装 argcomplete 是必要的。

Ubuntu 18.04

苏都 适切 安装 python3-argcomplete

Ubuntu 16.04 (argcomplete >= 0.8.5)

安装 argcomplete 在 Ubuntu 16.04(Xenial)上,您需要使用 pip,因为通过 适切 将无法运行,原因是该版本的 argcomplete:

苏都 适切 安装 python3-pip sudo 管道3 安装 argcomplete

举例说明

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

. ~/ros2_crystal/ros2-linux/setup.bash ros2 运行 演示节点 话匣子

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

. ~/ros2_crystal/ros2-linux/setup.bash ros2 运行 演示节点 听众

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

参见 教程和演示 其他尝试。

使用 ROS 1 桥接器

如果您已经安装了 ROS 1,那么您可以尝试使用 ROS 1 桥接器,方法是首先获取您的 ROS 1 安装文件。我们假设它是 /opt/ros/melodic/setup.bash 在以下方面。

如果你还没有,那就创建一个 roscore:

. /opt/ros/melodic/setup.bash roscore

在另一个终端,启动桥梁:

. /opt/ros/melodic/setup.bash . ~/ros2_crystal/ros2-linux/setup.bash ros2 运行 ros1_桥 动态桥

有关大桥的更多信息,请阅读 教程.

建立自己的软件包

如果您想构建自己的软件包,请参阅教程 使用 Colcon 构建软件包";.

卸载

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

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

    rm -rf ~/ros2_crystal