您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.

配置环境

目标 本教程将向您介绍如何准备 ROS 2 环境。

辅导水平: 初学者

时间 5 分钟

背景介绍

ROS 2 依赖于使用 shell 环境组合工作区的概念。"工作区 "是 ROS 的一个术语,指你使用 ROS 2 进行开发的系统位置。其后的本地工作区称为覆盖区(overlay)。使用 ROS 2 进行开发时,通常会有多个工作区同时处于活动状态。

结合工作区可以更方便地针对不同版本的 ROS 2 或不同的软件包进行开发。它还允许在同一台电脑上安装多个 ROS 2 发行版(或 "发行版",如 Dashing 和 Eloquent),并在它们之间切换。

这可以通过每次打开一个新 shell 或在 shell 启动脚本中添加一次源代码命令来实现。没有源设置文件,你就无法访问 ROS 2 命令,也无法找到或使用 ROS 2 软件包。换句话说,你将无法使用 ROS 2。

先决条件

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

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

如果你正在使用 Linux 或 macOS,但还不熟悉 shell、 本教程 会有帮助。

任务

1 设置文件的来源

您需要在打开的每个新 shell 上运行这条命令,才能访问 ROS 2 命令,就像这样:

# 如果不使用 bash,请将 ".bash" 替换为您的 shell
# 可能的值是:setup.bash、setup.sh、setup.zsh
消息来源 /opt/ros/iron/setup.bash

备注

如果遇到问题,请确保文件路径指向您的安装位置。

2 在 shell 启动脚本中添加源代码

如果不想每次打开新 shell 时都要源代码设置文件(跳过任务 1),那么可以将该命令添加到 shell 启动脚本中:

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

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

3 检查环境变量

如果在查找或使用 ROS 2 软件包时遇到问题,请使用以下命令确保环境已正确设置:

printenv | grep -i ROS

检查变量,如 罗斯_迪斯特罗ROS_VERSION 已设定。

ROS_VERSION=2
ros_python_version=3
罗斯_迪斯特罗=烙铁

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

3.1 ROS_DOMAIN_ID 变量

参见 域名 文章,了解有关 ROS 域 ID 的详细信息。

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

export ROS_DOMAIN_ID=<your_domain_id>;

要在 shell 会话之间保持这一设置,可以在 shell 启动脚本中添加该命令:

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

3.2 ros_automatic_discovery_range 变量

默认情况下,ROS 2 的通信不限于本地主机。 ros_automatic_discovery_range 环境变量可以限制 ROS 2 的发现范围。使用 ros_automatic_discovery_range 在某些情况下非常有用,例如在教室里,多个机器人可能会发布同一个主题,从而导致奇怪的行为。参见 改进动态发现 了解更多详情。

摘要

ROS 2 开发环境在使用前需要正确配置。有两种方法可以做到这一点:在打开的每个新 shell 中获取设置文件,或者在启动脚本中添加源代码命令。

如果在查找或使用 ROS 2 中的软件包时遇到任何问题,首先要做的就是检查环境变量,确保它们设置为你想要的版本和发行版。

下一步工作

现在,你已经安装了可正常运行的 ROS 2,并知道如何获取其设置文件,可以开始使用 海龟模拟工具.