警告

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

通过 Debian 软件包安装 ROS 2

Ubuntu Bionic 上有 ROS 2 Crystal(最新版本)和 ROS 2 Bouncy 的 Debian 软件包;Ubuntu Xenial 上有 ROS 2 Ardent 的软件包。

资源

设置地区

确保您的本地语言支持 UTF-8.如果你所处的是最小化环境,比如 docker 容器,那么 locale 可能是 POSIX 这样的最小化环境。我们使用以下设置进行测试。如果你使用的是其他支持 UTF-8 的 locale,也不会有问题。

苏都 本地生成 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 仓库。为此,首先像这样用 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 软件包

首先为要安装的 ROS 2 版本设置一个环境变量,以便在其他命令中使用。

出口 选择_ros_distro=水晶  # 或蹦或跳
苏都 适切 更新

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

苏都 适切 安装 $choose_ros_distro-桌面

ROS 基础安装(裸机):通信库、信息包、命令行工具。无图形用户界面工具。

苏都 适切 安装 $choose_ros_distro-ros-base

有关如何同时安装 ros1_桥, 乌龟机器人软件包其他 RMW 套餐.

环境设置

获取设置脚本

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

消息来源 /opt/ros/crystal/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

举例说明

在一个终端中,如上所述设置 ROS 2 环境,然后运行 C++ 话匣子:

玫瑰2 运行 演示节点 话匣子

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

玫瑰2 运行 演示节点 听众

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

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

安装其他 RMW 实现(可选)

默认情况下,RMW 执行 快速 RTPS 使用。如果使用 Ardent,还需安装 OpenSplice。

在 Bouncy 上安装 OpenSplice 或 RTI Connext 支持:

苏都 适切 更新 sudo 适切 安装 $choose_ros_distro-RMW-OPENSPLICE-CPP # 用于 OpenSplice
苏都 适切 安装 $choose_ros_distro-rmw-connext-cpp。 # 用于 RTI Connext(需要许可协议)

通过设置环境变量 RMW_IMPLEMENTATION=rmw_opensplice_cpp 您可以改用 OpenSplice。适用于 ROS 2 版本 Bouncy 及更新版本、 RMW_IMPLEMENTATION=rmw_connext_cpp 也可选择使用 RTI Connext。

您还可以安装 Connext DDS-Security 插件 或使用 大学、购买或评估 RTI Connext 的选项。

使用 ROS 1 软件包安装其他软件包

"(《世界人权宣言》) ros1_桥 以及 TurtleBot 演示使用的是 ROS 1 软件包。要安装它们,请先添加 ROS 1 源代码,如文档所示 这里.

如果您使用 Docker 进行隔离,可以从映像开始 玫瑰:旋律osrf/ros:melodic-desktop (如果使用 Ardent,则使用 Kinetic)。这样还可以避免设置 ROS 源,因为它们已经集成在一起了。

现在可以安装其余的软件包了:

苏都 适切 更新 sudo 适切 安装 $choose_ros_distro-ros1-桥

Bouncy 中有 turtlebot2 软件包,但 Crystal 中没有。

苏都 适切 安装 $choose_ros_distro-海龟机器人2

建立自己的软件包

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

卸载

如果需要卸载 ROS 2,或者在已经从二进制文件安装后切换到基于源代码的安装,请运行以下命令:

苏都 适切 去除 ros-crystal-* &&; 苏都 适切 自动删除