ROS为什么需要设置环境变量呢?
首先大家需要清楚环境变量是什么东西,百度到的。
通过个简单的栗子,假如你现在相当于一个计算机,你收到命令,命令是“去一个陌生的地方取快递”,地方那么多,你根本就不知道去哪里取快递,路线你也不知道,但是假如给你一个环境变量,环境变量=快递店的地址,那你是不是很好执行这个命令了?所以说,计算机操作系统里面设置环境变量其实就是设置一定的文件路径,让计算机执行命令的时候方便找到。所以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
我们的环境变量就设置好了。