配置环境

目标: 本教程将向您展示如何准备 ROS 2 环境。

教程级别: 初学者

时间: 5 分钟

背景

ROS 2 依赖于使用 shell 环境组合工作区的概念。 “工作区”是 ROS 术语,指的是您使用 ROS 2 进行开发时系统上的位置。 核心 ROS 2 工作区称为底层。 后续本地工作区称为覆盖。 使用 ROS 2 进行开发时,通常会同时激活多个工作区。 组合工作区使针对不同版本的 ROS 2 或针对不同软件包集进行开发变得更加容易。 它还允许在同一台计算机上安装多个 ROS 2 发行版(或“发行版”,例如 Dashing 和 Eloquent)并在它们之间切换。 这是通过每次打开新 shell 时获取安装文件或将源命令添加到 shell 启动脚本一次来实现的。 如果不获取安装文件,您将无法访问 ROS 2 命令,也无法查找或使用 ROS 2 软件包。 换句话说,您将无法使用 ROS 2。

先决条件

在开始这些教程之前,请按照 ROS 2 安装 页面上的说明安装 ROS 2。

本教程中使用的命令假定您遵循了适用于您的操作系统的二进制包安装指南(Linux 的 deb 包)。 如果您从源代码构建,您仍然可以继续操作,但安装文件的路径可能会有所不同。 如果您从源代码安装,您也无法使用 sudo apt install ros-<distro>-<package> 命令(在初学者级教程中经常使用)。

如果您使用的是 Linux 或 macOS,但还不熟悉 shell,本教程 会有所帮助。

任务

1 获取安装文件

您需要在打开的每个新 shell 上运行此命令才能访问 ROS 2 命令,如下所示:

# 如果你不使用 bash,请将“.bash”替换为你的 shell
# 可能的值是:setup.bash、setup.sh、setup.zsh
source /opt/ros/rolling/setup.bash

Note

具体命令取决于您安装 ROS 2 的位置。 如果您遇到问题,请确保文件路径指向您的安装。

2 将 source 添加到 shell 启动脚本

如果您不想每次打开新 shell 时都必须 source 安装文件(跳过任务 1),则可以将以下命令添加到 shell 启动脚本:

echo "source /opt/ros/rolling/setup.bash" >> ~/.bashrc

要撤消此操作,请找到系统的 shell 启动脚本并删除附加的源命令。

3 检查环境变量

获取 ROS 2 安装文件将设置操作 ROS 2 所需的几个环境变量。 如果您在查找或使用 ROS 2 软件包时遇到问题,请使用以下命令确保您的环境已正确设置:

printenv | grep -i ROS

检查“ROS_DISTRO”和“ROS_VERSION”等变量是否设置。

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=rolling

如果环境变量设置不正确,请返回您遵循的安装指南的 ROS 2 包安装部分。 如果您需要更具体的帮助(因为环境设置文件可能来自不同的地方),您可以从社区“获取答案<https://robotics.stackexchange.com/>” 。

3.1 ROS_DOMAIN_ID 变量

有关 ROS 域 ID 的详细信息,请参阅“域 ID <../../Concepts/Intermediate/About-Domain-ID>”文章。

为 ROS 2 节点组确定一个唯一整数后,您可以使用以下命令设置环境变量:

export ROS_DOMAIN_ID=<your_domain_id>

要在 shell 会话之间维护此设置,您可以将命令添加到 shell 启动脚本中:

echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc

3.2 ROS_LOCALHOST_ONLY 变量

默认情况下,ROS 2 通信不限于本地主机。 ROS_LOCALHOST_ONLY 环境变量允许您将 ROS 2 通信限制为仅本地主机。 这意味着您的 ROS 2 系统及其主题、服务和操作将对本地网络上的其他计算机不可见。 使用``ROS_LOCALHOST_ONLY`` 在某些环境中很有用,例如教室,其中多个机器人可能会发布到同一主题,从而导致奇怪的行为。 您可以使用以下命令设置环境变量:

export ROS_LOCALHOST_ONLY=1

要在 shell 会话之间维护此设置,您可以将命令添加到 shell 启动脚本中:

echo "export ROS_LOCALHOST_ONLY=1" >> ~/.bashrc

概括

使用前需要正确配置 ROS 2 开发环境。 这可以通过两种方式完成:在您打开的每个新 shell 中获取安装文件,或将源命令添加到启动脚本中。

如果您在定位或使用 ROS 2 软件包时遇到任何问题,您应该做的第一件事是检查您的环境变量并确保它们设置为您想要的版本和发行版。

后续步骤

现在您已经安装了可运行的 ROS 2,并且知道如何获取其安装文件,您可以开始使用 turtlesim 工具 了解 ROS 2 的来龙去脉。