警告
您正在阅读的 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
环境设置
获取设置脚本
通过获取以下文件来设置环境。
消息来源 /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-* &&; 苏都 适切 自动删除