You're reading the documentation for a development version. For the latest released version, please have a look at Galactic.

配置 ROS 2 环境

目标:本教程将告诉你如何准备你的 ROS 2 环境。

教程级别:初级

时间:5 分钟

背景

ROS 2 依赖于使用 shell 环境组合工作区的概念。“工作区” (workspaces)是一个 ROS 术语,指的是你使用 ROS 2 进行开发的系统上的位置。核心 ROS 2 工作区称为 底层 (underlay)。随后的本地工作区称为 覆盖层 (overlays)。在使用 ROS 2 进行开发时,通常会同时有几个工作区处于激活状态。

组合工作区使得针对不同版本的 ROS 2 或针对不同的包集合进行开发更加容易。它还允许在同一台计算机上安装多个 ROS 2 发行版(或 “distros”,例如 Dashing 和 Eloquent)并在它们之间进行切换。

这可以通过每次打开新的 shell 时都激活 setup 文件,或者将 source 命令添加到 shell 启动脚本一次来实现。没有激活的 setup 文件,你将无法访问 ROS 2 命令,或找到或使用 ROS 2 包。换句话说,你不能使用 ROS 2。

先决条件

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

本教程中使用的命令假设您遵循了操作系统的二进制包安装指南(Linux 的 Debian 包)。如果您是从源代码构建的,您仍然可以按照下面的方法进行操作,但是安装文件的路径可能会有所不同。如果你从源代码安装,你也不能使用 sudo apt install ros-<distro>-<package> 命令(在新手教程中经常使用)。

如果您正在使用 Linux 或 macOS,但不熟悉 shell,Unix 教程 将有所帮助。

任务

1 激活 setup 文件

你需要在你打开的每一个 shell 上运行这个命令来访问 ROS 2 命令,就像这样:

source /opt/ros/xin/setup.bash

注解

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

2 在 shell 启动脚本中添加 “source”

如果你不想每次打开一个新的 shell(跳过任务 1)时都要获取安装文件,那么你可以将这个命令添加到 shell 启动脚本中:

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

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

3 检查环境变量

激活 ROS 2 setup 文件将设置操作 ROS 2 所需的几个环境变量。如果你在寻找或使用你的 ROS 2 包时遇到问题,请确保使用以下命令正确设置你的环境:

printenv | grep -i ROS

检查是否设置了 ROS_DISTROROS_VERSION 等变量。

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=xin

如果环境变量设置不正确,请返回安装指南中的安装 ROS 2 包章节。如果您需要更具体的帮助(因为环境设置文件可能来自不同的地方),您可以从社区 获得答案

3.1 ROS_DOMAIN_ID 变量

有关 ROS 域 ID 的详细信息,请参阅 domain ID 文章。

一旦您为您的 ROS 2 代理组确定了一个唯一的整数,您可以使用以下命令设置环境变量:

export ROS_DOMAIN_ID=<your_domain_id>

为了在 shell 会话之间保持这个设置,你可以在 shell 启动脚本中添加这个命令:

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

小结

ROS 2 开发环境在使用前需要进行正确配置。这可以通过两种方式实现:要么在每个打开的新 shell 中获取 setup 文件,要么将 source 命令添加到启动脚本中。

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

下一步

现在你已经有了一个可以工作的 ROS 2 安装,并且知道如何为其设置文件提供源码,你可以开始用 turtlesim 工具 来学习 ROS 2 的内涵。