【ROS2】初级:CLI工具 -配置环境

目标:本教程将指导您如何准备您的 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

02cfb1f8d40af988d5156ca677b1eb3b.png

检查像 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

e4bc3096807cbfc1cb7c3725a4f78cbe.png

b52e8b37845ac57b24f229e80fec9b3f.png

418418b4fd6af54836bcf2f4dcf89e5e.png

一旦您为 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  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值