目标:本教程将指导您如何准备您的 ROS 2 环境。
教程级别:初学者
时间:5 分钟
目录
背景
先决条件
任务
源代码设置文件
将源添加到您的 shell 启动脚本
检查环境变量
摘要
下一步
背景
ROS 2 依赖于使用 shell 环境组合工作空间的概念。“Workspace 工作空间”是 ROS 中用于您的系统上正在进行 ROS 2 开发的位置的术语。核心的 ROS 2 工作空间称为底层。随后的本地工作空间称为覆盖层。在使用 ROS 2 开发时,通常会同时有多个工作空间处于活动状态。
将工作空间结合起来可以更容易地针对 ROS 2 的不同版本或不同的包集进行开发。它还允许在同一台计算机上安装多个 ROS 2 发行版(或“发行套件”,例如 Dashing 和 Eloquent)并在它们之间切换。
这是通过每次打开一个新的 shell 时都获取设置文件,或者在您的 shell 启动脚本中添加一次 source 命令来实现的。如果不获取设置文件,您将无法访问 ROS 2 命令,或找到或使用 ROS 2 包。换句话说,您将无法使用 ROS 2。
先决条件
在开始这些教程之前,请按照 ROS 2 安装页面上的说明安装 ROS 2。
本教程中使用的命令假设您已按照操作系统的二进制包安装指南(Linux 的 Debian 包)进行了安装。如果您是从源代码构建的,仍然可以继续操作,但您的设置文件的路径可能会有所不同。如果您从源代码安装,您也无法使用 sudo apt install ros-<distro>-<package>
命令(在初级教程中经常使用)。
如果您使用的是 Linux 或 macOS,但还不熟悉 shell,本教程将会有所帮助。
任务
1 Source the setup files
您需要在每个新打开的 shell 上运行此命令,以便访问 ROS 2 命令,如下所示:
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/jazzy/setup.bash
source ~/ros2_jazzy/install/setup.sh
便条
确切的命令取决于您在哪里安装了 ROS 2。如果您遇到问题,请确保文件路径指向您的安装。
将源添加到您的 shell 启动脚本
如果您不想每次打开新的 shell 时都必须加载设置文件(跳过任务 1),那么您可以将该命令添加到您的 shell 启动脚本中:
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
echo "source ~/ros2_jazzy/install/setup.sh" >> ~/.bashrc
要撤销此操作,请找到系统的 shell 启动脚本并删除附加的 source 命令。
检查环境变量
加载 ROS 2 设置文件将设置操作 ROS 2 所需的多个环境变量。如果您在查找或使用 ROS 2 包时遇到问题,请确保使用以下命令正确设置了您的环境:
printenv | grep -i ROS
检查像 ROS_DISTRO
和 ROS_VERSION
这样的变量是否已设置。
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=jazzy
如果环境变量没有正确设置,请返回到您所遵循的安装指南中的 ROS 2 包安装部分。如果您需要更具体的帮助(因为环境设置文件可能来自不同的地方),您可以从社区获得答案。https://robotics.stackexchange.com/
3.1 变量 ROS_DOMAIN_ID
有关 ROS 域 ID 的详细信息,请参阅域 ID 文章。https://docs.ros.org/en/jazzy/Concepts/Intermediate/About-Domain-ID.html
一旦您为 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 通信不限于 localhost。 ROS_AUTOMATIC_DISCOVERY_RANGE
环境变量允许您限制 ROS 2 发现范围。在某些设置中使用 ROS_AUTOMATIC_DISCOVERY_RANGE
是有帮助的,例如教室,那里多个机器人可能会发布到同一个主题,导致奇怪的行为。有关更多详细信息,请参阅改进的动态发现。
摘要
ROS 2 开发环境在使用前需要正确配置。这可以通过两种方式完成:要么在你打开的每一个新 shell 中配置设置文件,要么在你的启动脚本中添加 source 命令。
如果您在定位或使用 ROS 2 的包时遇到任何问题,您应该首先做的是检查您的环境变量,并确保它们设置为您所期望的版本和发行版。
下一步
现在您已经安装了 ROS 2 并且知道如何配置其设置文件,您可以开始使用 turtlesim 工具学习 ROS 2 的方方面面。
https://community.rti.com/content/forum-topic/statically-configure-firewall-let-omg-dds-traffic-through