1、环境配置
目标:本教程告诉读者怎样准备ROS2环境
背景:ROS2依赖于使用shell环境组合工作空间的概念,“工作区”是一个ROS术语,表示您使用ROS 2进行开发的系统上的位置。ROS 2的核心工作空间称为底层(underlay)。后续的局部工作空间称为覆盖(overlays)。当使用ROS2进行开发时,通常会同时有几个工作区处于活动状态。
组合工作区使得针对不同版本的ROS2或针对不同的包集进行开发变得更容易。它还允许在同一台计算机上安装几个ROS 2发行版(或“发行版”,例如Dashing和Eloquent),并在它们之间切换。
这是通过每次打开一个新的shell时寻找安装文件来实现的,或者通过将源命令添加到shell启动脚本中一次来实现的。如果没有源设置文件,您将无法访问ROS 2命令,也无法找到或使用ROS 2包。换句话说,你将无法使用ROS 2。
如果从源代码安装,您也将无法使用sudo-apt-install-ros-<distro>-<package>命令(在初级教程中经常使用)。
任务
1、source setup文件
您需要在打开的每个新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/humble/setup.bash 视自己安装的位置而定
2、将setup文件添加到启动脚本
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
3、查看环境变量
终端输入 printenv | grep -i ROS ROS_VERSION=2 ROS_PYTHON_VERSION=3 ROS_DISTRO=humble
3.1 ROS_DOMAIN_ID变量
查看有关ROS域ID的文章,可见domain ID
一旦确定了ROS2节点组的唯一整数,就可以使用以下命令设置环境变量:
export ROS_DOMAIN_ID=<your_domain_id>
要在shell会话之间保持此设置,可以将命令添加到shell启动脚本中:
echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc
3.2 ROS_LOCALHOST_ONLY变量
默认请款下,ROS2的通信是不限于localhost的。ROS_LOCALHOST_ONLY环境变量允许你限制ROS2通信只在局部localhost下。这意味着你的ROS2系统,话题,服务,以及action在局域网中的其他电脑不可见。在某些设置中使用ROS_LOCALHOST_ONLY是有帮助的。例如教室,其中多个机器人可能发布到同一主题,导致奇怪的行为。可以使用以下命令设置环境变量:
export ROS_LOCALHOST_ONLY=1
长期有效:
echo "export ROS_LOCALHOST_ONLY=1" >> ~/.bashrc
标签:shell,CLI,Beginner,setup,ONLY,bash,ROS,tools,ROS2 From: https://www.cnblogs.com/gary-guo/p/17444305.html