ROS环境变量的设置
一、前言(大神可以直接跳过)
本博客主要就是为了介绍ROS中环境变量的设置过程,还不是很了解ROS的可以去看一下我的博客,ROS简介-从零开始讲解ROS(适合超零基础阅读)
ROS为什么需要设置环境变量呢?首先大家需要清楚环境变量是什么东西,请看百度百科。

百度百科上说的可能像我这种计算机小白看了还是不懂,其实换句话说,环境变量的设置就是为了让计算机在执行命令的时候可以让计算机方便找到命令。
举个通俗易懂的栗子,假如你现在相当于一个计算机,你收到命令,命令是“去一个陌生的学校教学楼找一个手机”,教学楼那么多,你根本就不知道去哪里找手机,去学校的哪栋教学楼找?去教学楼的路线你也不知道,但是假如给你一个环境变量,环境变量=XX大学/XX校区/第一教学楼坐标/五楼/508室/讲台的桌子,那你是不是很好执行这个命令了?所以说,计算机操作系统里面设置环境变量其实就是设置一定的文件路径,让计算机执行命令的时候方便找到,否则大海捞针。

二、环境变量的设置
1.介绍
环境变量的设置分为ROS本身工作空间环境变量的设置和我们创建的工作空间的环境变量的设置。
我们在安装ROS的时候,ROS自身创建一个工作空间,路径一般是根目录下的opt/ros/…/…/,关于这个工作空间下面的各个文件夹我在我的一个博客里面也说过了,ROS简介-从零开始讲解ROS(适合超零基础阅读)博客里面的3.3.2有介绍。
我们在自己开发ROS的时候需要自己创建自己的工作空间,工作空间的创建大家就去看ROS wiki上面的教程吧,工作空间创建并且编译成功之后,会产生如图所示的文件夹。关于这几个文件夹的功能分别如下:
build:主要是放置程序编译的一些中间文件,可以不用了解;
devel:这个文件夹存放一些可执行文件以及环境变量配置的脚本文件,也就是待会我们主要讲解的一个文件夹;
src:主要存放程序代码、功能包。

上面这两个工作空间中都有存放功能包和源代码,我们调用这些功能包或者运行这些源代码的方式就是用终端来运行,这个大家应该都知道了,为了方便终端找到这些功能包和源代码,每一个工作空间在编译成功之后,ROS它自己都会自动生成一个setup.bash文件,这个文件就叫做这个工作空间的环境变量配置脚本。
ROS自身工作空间的环境变量配置脚本文件setup.bash在/opt/ros/kinetic路径下,我的ROS版本是kinetic版本,所以此处是kinetic。
我们创建的工作空间的环境变量配置脚本文件setup.bash就在上面我们说到的devel文件夹下。
接下来我们就开始为终端配置这两个环境变量脚本。
2.具体操作
由于要去吃饭了,所以这里直接说过程,此处的操作一步到位,是最简单的操作。
打开终端,依次输入如下三条命令,每一条输入之后回车一下:中间的kinetic是版本,还有melodic等版本,ros版本
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
这一条代码解释一下,首先是source这个单词,代表驱寻找的意思,后面一长串/opt/ros/kinetic/setup.bash就是ROS本身工作空间环境变量配置脚本文件的路径,>> ~/.bashrc表示将这个环境变量配置脚本写到终端配置文件.bashrc中。
这里出现了一个新的文件,也就是终端配置文件.bashrc,这是我们打开的终端的一个配置文件,拿我们上面的那个找手机的栗子来说,这个文件就相当于我们手里的一个记事本,我们要去找手机,工作空间相当于每个教学楼,工作空间的环境变量配置脚本就相当于是你去找教学楼的路线,配置环境变量就相当于把这个去教学楼的路线记录在你的记事本上。回到计算机上,配置环境变量就相当于将工作空间的环境变量脚本,包括其路径,记录到这个终端配置文件.bashrc上。
echo "source /home/zq/catkin_ws/devel/setup.bash" >> ~/.bashrc
这个代码就是配置我们所创建的工作空间的环境变量,/home/zq/catkin_ws/devel/setup.bash这个是路径,但是你们不可以完全照抄,其中的那个zq是我自己的计算机名字,你们换成你们自己的计算机名字。
source ~/.bashrc
这行命令的意思是将重新编辑的终端配置文件.bashrc保存一下。
接下来,我们查看一下现在ROS内部的环境变量有哪些,在计算机内部
echo $ROS_PACKAGE_PATH
回车之后会显示如下语句,这个语句中间有一个冒号,冒号前面是我自己创建的工作空间的路径,那个/src文件夹是专门存放源代码和功能包的,前面说过的。冒号后面是ROS本身工作空间下源代码和软件包所存放的文件夹的路径。
/home/zq/catkin_ws/src:/opt/ros/kinetic/share
然后,我们也可以直接打开这个.bashrc文件来看有哪些环境变量,运行下面这个命令即可。
gedit ~/.bashrc
至此,环境变量配置好了。
原文链接:https://blog.csdn.net/qq_25267657/article/details/84621585
ROS环境变量的设置的更多相关文章
- linux环境变量的设置
linux中环境变量分为系统环境变量和用户环境变量(和window中一样),系统环境变量对所有系统用户都有效,用户环境变量只对当前用户有效,我们以ubuntu为例说明 用户环境变量 用户环境变量通常存 ...
- Eclipse的安装和java环境变量的设置
首先准备工作是要下载好Eclipse和java JDK. 必须要注意的是,Eclipse和java JDK必须下载同一位数的版本,即64位同为64位,32位同为32位.否则在安装完成运行Eclipse ...
- Win7下JDK环境变量的设置
JDK并不像Microsoft阵营vs那样智能,安装好后所有的东西都给你配置好了,我们还没需要手动配置很多东西 首先说为什么要配置JDK的环境变量在任何路径下识别java命令和java类 配置分为2个 ...
- Linux环境变量的设置和查看方法
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...
- uboot环境变量(设置bootargs向linux内核传递正确的参数)
这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递 ...
- linux —— 学习笔记(环境变量的设置)
目录 环境变量概要 与环境变量相关的文件 设置环境变量 注意以及相关 1.环境变量概要 环境变量,简单来说,是储存了环境信息的变量.它可以让你在不指明全部路径的情况下执行某脚本或某应用程序,比如在 l ...
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
- Linux下Jdk的安装和jdk环境变量的设置
我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...
- jdk环境变量的设置
一.jdk下载网址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二.环境变 ...
随机推荐
- elasticsearch7.8.0,kibana7.8.0安装
目录 Windows下安装Elasticsearch Linux下安装Elasticsearch docker下安装Elasticsearch Kibana安装 chrome ElasticSearc ...
- oracle 12c RAC 重启
转至:https://blog.csdn.net/weixin_40283570/article/details/81511072 关闭顺序 :关闭PDB----->关闭数据库------> ...
- AHUACM寒假集训II(线段树)
B.Mayor's posters POJ2528 题目大意: D.Count Color POJ2777 题目大意:长为 L ( L ≤ 1 0 5 ) L( L\leq10^5) L(L≤105) ...
- Qt:QString
0.说明 区别于QByteArray,QString串是Unicode串,每个元素都是QChar 16-bit UTF-16编码(Unicode) :而QByteArray是8-bit串. 0.1.初 ...
- oauth2.0密码模式详解
oauth2.0密码模式 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章http://www.javaman.cn/sb2/oauth-password 如果你高度信任某个应用, ...
- 矩池云上如何快速安装nvcc
若您想要使用 nvcc,但是所选的镜像中没有预装 nvcc,可按照如下操作自行安装. 1.检查系统版本 source /etc/os-release && echo $VERSION_ ...
- linux作业--第十周
1.在阿里云服务器搭建openv-p-n(有条件的同学再做) 2.通过编译.二进制安装MySQL5.7 编译安装MySQL5.7 安装相关包 yum -y install libaio numactl ...
- 什么是SaaS?
SaaS的定义 SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务. SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际 ...
- 使用http-server 模拟接口数据 mock data
首先创建文件夹 mkdir mockData&&cd mockData 安装http-server npm i http-server 创建数据文件 touch index.json ...
- C#中值类型与引用类型
值类型 A,像int, float, char , double,bool等都是值类型 B,string, 自定义类等都是引用类型 它们的区别:源于复制策略的不同, 值类型直接包含值,换言之,变量引用 ...