[ros2学习]-CLI Tools – 配置环境

144
0
2021年1月4日 09时15分

文章目录

 

    • ① 背景
    • ② 前提
    • ③ 任务
      • Ⅰsource setup 文件
      • Ⅱ 在shell启动文件中加命令
      • Ⅲ 检测环境变量
      • Ⅳ `ROS_DOMAIN_ID` 变量
    • ④ 总结

 

① 背景

 

ROS 2依赖于使用shell环境组合工作空间的概念。“工作区”是一个ROS术语,表示您在系统中使用ROS 2开发的位置。核心ROS 2工作区称为底层。后续的本地工作区称为覆盖。在使用ROS 2开发时,通常会同时激活多个工作区。
工作去通过setup.bash 进行设置和切换,跟ros1 一样的操作 只是自己的工作空间路径变了,不是devel变成install

 

② 前提

 

确保已经安装了ros2,如果没有参考我的博客:https://blog.csdn.net/weixin_36628778/article/details/105170234

 

③ 任务

 

Ⅰsource setup 文件

 

可以每次使用的时候source setup.bash

 

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

 

比如现在用的ROS2 是dashing

 

source /opt/ros/dashing/setup.bash

 

Ⅱ 在shell启动文件中加命令

 

如果嫌上面每次开一个终端,都要输入命令比较麻烦的话,可以吧上面的命令加到启动脚本里,shell 的是.bashrc,zsh 是.zshrc

 

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

 

我们需要设置

 

  • bash

 

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

 

  • zsh

 

echo "source /opt/ros/dashing/setup.zsh" >> ~/.zshrc

 

Ⅲ 检测环境变量

 

跟ROS1 的操作一样的

 

printenv | grep  ROS

 

这个样子

 

微信图片_20210103191339

 

ROS_DOMAIN_ID 变量

 

这个是多机通讯的变量,相当于交换机的vlanid ,当你局域网想区分出多个ROS集群的时候,每个ROS2集群之间不想相互干扰,需要设置这个ID 选择一个整数

 

对于eProsima Fast RTPS上的默认RMW,从ROS 2 Eloquent开始,此整数必须介于0-232之间,才能成功启动ROS 2守护守护进程。

 

如果通讯不了的话,可以通过这个网站来排查:https://index.ros.org/doc/ros2/Troubleshooting/

命令:

 

export ROS_DOMAIN_ID=<your_domain_id>

 

或者添加到启动脚本

 

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

 

④ 总结

 

使用之前必须要配置使用的环境,两种方式,一是每次打开shell,搞一次,二是把命令写道启动文件中.bashrc 中,墙裂推荐第二种

发表评论

后才能评论