首页 > 其他分享 >ROS2-Beginner:CLI tools-1、环境配置

ROS2-Beginner:CLI tools-1、环境配置

时间:2023-05-30 20:36:38浏览次数:56  
标签:shell CLI Beginner setup ONLY bash ROS tools ROS2

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

相关文章

  • WebClient发送get、post请求(form、json)(功能封装)
    1.情景展示Spring3.0引入了RestTemplate,但是在后来的官方源码中介绍,RestTemplate有可能在未来的版本中被弃用,所谓替代RestTemplate,在Spring5中引入了WebClient作为非阻塞式ReactiveHttp客户端。WebClient处理单个HTTP请求的响应时长并不比RestTemplate更快,但是它处理并发的能......
  • nmcli --- Linux下通过命令行管理WiFi连接
    1、建立和删除一个wifi连接创建wifi连接(SSID:hello,密码:12345678)的示例:$nmclidevicewificonnecthellopassword12345678每次命令执行后,会在/etc/NetworkManager/system-connections/目录下创建一个新文件hello来保存配置,重复执行则创建多个这样的文件。删除wifi连接的示例......
  • clickhouse学习资源
    ClickHouse是一个开源的列式数据库管理系统,最初由俄罗斯搜索引擎Yandex开发。它专为OLAP(联机分析处理)场景设计,可以快速处理大量数据。以下是一些ClickHouse学习资源:ClickHouse官方文档:https://clickhouse.tech/docs/zh/ClickHouse中文文档:https://clickhouse-docs-cn.......
  • leetcode 746. Min Cost Climbing Stairs
    Onastaircase,thei-thstephassomenon-negativecostcost[i]assigned(0indexed).Onceyoupaythecost,youcaneitherclimboneortwosteps.Youneedtofindminimumcosttoreachthetopofthefloor,andyoucaneitherstartfromthestepwithin......
  • android开发java.lang.NoClassDefFoundError: org/jetbrains/kotlin/cli/common/Prope
    问题:编译Android项目出现java.lang.NoClassDefFoundError:org/jetbrains/kotlin/cli/common/PropertiesKt原因:项目使用发JDK版本和Kotlin版本不一致或者说不对应导致gradle找不到对应的类解决方法:我的解决方法是降低JDK的版本到1.8,具体操作是OpenModulesSettings->SDKLoc......
  • 使用powercli 批量多线程 克隆vsphere虚拟机
    $VMS=import-csv-Path'vm001.csv'$Job=$VMS|ForEach-Object-Parallel{#忽略位$Skip=$($_.skip)if($Skip-eq"yes"){continue}#虚拟机名字$VMname=$($_.name)#资源池名字$Resource_Pool=$($_.res_po......
  • store文件夹 vue_vue-cli2使用store存储全局变量
    1.引入store安装引入vuex,在main.js里面:importstorefrom'./store'//store引入newVue({el:'#app',router,store,//store引入components:{App},template:''})在store文件夹下创建index.js入口文件,添加下面内容:importVuefrom'vue';im......
  • ByConity与主流开源OLAP引擎(Clickhouse、Doris、Presto)性能对比分析
    引言:随着数据量和数据复杂性的不断增加,越来越多的企业开始使用OLAP(联机分析处理)引擎来处理大规模数据并提供即时分析结果。在选择OLAP引擎时,性能是一个非常重要的因素。因此,本文将使用TPC-DS基准测试的99个查询语句来对比开源的ClickHouse、Doris、Presto以及ByConity这4个OLAP......
  • SpringBoot集成RocketMQ,rocketmq_client.log日志文件配置
    SpringBoot项目集成rocketmq-client<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.7.0</version></dependency>项目启动时会在${user.home}/logs目录下创建一个roc......
  • AtCoder Beginner Contest 290(D,E)
    AtCoderBeginnerContest290(D,E)D(思维,数学)D这个题的大意就是我们需要标记\(n\)个位置,他是这样标记的,一开始有一个初始值为\(0\)的\(x\),第一个标记的是\(0\)位置,然后下一步,我们把\(x\)变成\((x+d)modn\),如果这个位置没有被标记,否则把\(x\)变成\((x+1)modn\),这个是没有......