2018-11-09 ROS中设置环境变量的问题

2018-11-09  本文已影响0人  我爱做笔记

  本文解释使用ROS 过程中环境变量的设置,以及相关技巧,参考:http://wiki.ros.org/kinetic/Installation/Ubuntu

   在ROS wiki中安装ROS过程中需要设置环境变量,为什么要设置环境变量呢? 其实就是为了在运行脚本时能够找到对应的路径,我们可以将这个变量加入到.bashrc文件里面,这样就不用每次打开终端时都进行设置了。相关命令如下:

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

  第一条命令echo 用于在shell中打印shell变量的值,或者直接输出指定的字符串, >>是重定向符号,就是将前面echo的内容写入到>>后面的~/.bashrc文件中。
注意:
如果你只需要改变当前脚本的环境变量,只需要在当前终端中输入:

source /opt/ros/kinetic/setup.bash

source 命令也称为“点命令”,也就是一个点符号.,它是bash的内部命令。功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句 ,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.所以上面语句其实就是为了让setup.bash执行一次。

怎么看ROS的环境变量是否设置成功了呢?
运行下面命令:

echo &ROS_PACKAGE_PATH

这个命令其实就是将ros包的路径给打印出来:

/opt/ros/kinetic/share

或者使用下面命令查看ROS相关的环境变量:

User@ubuntu:/opt/ros/kinetic$ env | grep ROS
ROS_ROOT=/opt/ros/kinetic/share/ros
ROS_PACKAGE_PATH=/home/User/Disk/ros_robotics_projects_ws/src:/opt/ros/kinetic/share
ROS_MASTER_URI=http://localhost:11311
ROS_VERSION=1
ROS_DISTRO=kinetic
ROS_ETC_DIR=/opt/ros/kinetic/etc/ros

可以看到其实我的ROS_PACKAGE_PATH变量其实有两个路径,一个是我的工作空间/home/User/Disk/ros_robotics_projects_ws/src,一个是ROS本身的安装路径/opt/ros/kinetic/share 这样在运行功能包的时候,就会按照这个顺序先查询我的工作空间,如果没有找到就会去找安装路径。

我们可以用下面的命令的验证一下寻找功能包的路径是什么:

rospack find turtlesim 

rospack命令就是跟功能包相关的,turtlesim是我们安装的一个乌龟的功能包,用上面这个命令rospack find [package]就能将查询路径打印出来。
其实还有个更直接修改环境变量的办法:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/User/catkin_ws/src

关于环境变量的设置,这篇文章讲的很好:https://blog.csdn.net/robinhjwy/article/details/79597095

上一篇 下一篇

猜你喜欢

热点阅读