ROS 2 环境配置

背景

ROS 2 依赖于使用 shell 环境组合工作空间的概念。工作空间是一个 ROS 术语,表示您在系统中使用 ROS 2 开发的位置。ROS 2 核心工作空间被称为 underlay。后续的本地工作空间被称为 overlay。使用 ROS 2 进行开发时,通常会同时激活多个工作空间。

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

这些可以通过在每次打开新的 shell 时 source 相应的配置文件来完成,或者将 source 命令添加到 shell 启动脚本中来实现。如果不 source 配置文件,则将无法访问 ROS 2 命令,也无法找到或使用 ROS 2 软件包。换句话说,您将无法使用 ROS 2。

前提条件

在开始这些教程之前,请先安装 ROS 2。

本教程中使用的命令假定您是根据二进制软件包安装指南为您的操作系统安装的( Linux 的 Debian 软件包)。如果您是从源代码构建的,您仍然可以使用,但是配置文件的路径可能会有所不同。如果您是从源代码安装的,则您也将无法使用 sudo apt install ros-<distro>-<package> 命令。

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

任务

1 Source 配置文件

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

source /opt/ros/<distro>/setup.bash

例如,如果您安装了 ROS 2 Eloquent:

source /opt/ros/eloquent/setup.bash

注意

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

2 将 source 命令添加到 shell 启动脚本

如果您不想每次打开新的 shell 程序时都需要 source ROS 2 的配置文件,则可以将命令添加到您的 shell 启动脚本中:

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

如果要在 Linux 和 macOS 中撤消此操作,或更改为另一个发行版,请找到系统的 shell 启动脚本并删除附加的 source 命令。

3 检查环境变量

source ROS 2 的配置文件将设置操作 ROS 2 所需的若干环境变量。如果在查找或使用 ROS 2 软件包时遇到问题,请使用以下命令确保正确设置了环境:

printenv | grep -i ROS

检查类似 ROS_DISTROROS_VERSION 这样的变量是否已经设置:

ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=foxy

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

3.1 ROS_DOMAIN_ID 变量

如果您的实验室或办公室有多个不同计算机组运行 ROS 2,并且您希望避免这些组之间发生干扰,请选择一个整数并将组内所有计算机上的环境变量 ROS_DOMAIN_ID 都设为该整数。同时,为每个子组选择一个不同的唯一整数。(对于 eProsima Fast RTPS 上的默认 RMW,从 ROS 2 Eloquent 开始,此整数必须介于0-232之间,才能成功启动 ROS 2 守护程序。)

域 ID 用于对网络进行分段,以避免在同一局域网上运行 ROS 2 的不同计算机组之间发生干扰。具有不同域 ID 的机器不会互相通话,也不会互相干扰。

如果遇到多台计算机相互通信的问题,请检查故障排除( https://index.ros.org/doc/ros2/Troubleshooting/ )。此外,在 discouse.ros.org 和 answers.ros.org 上有多个答案,其中包含有更深入的信息。

为您运行 ROS 2 的计算机组确定唯一的整数后,可以使用以下命令设置该环境变量:

export ROS_DOMAIN_ID=<your_domain_id>

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

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

总结

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

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

原文地址:https://www.cnblogs.com/xGonZh10n/p/12930704.html