ROS学习笔记3(环境变量和工作空间)
第一步:管理环境
在安装ROS期间,你会看到提示说需要 source 多个setup.*sh文件中的某一个,或者甚至提示添加这条'source'命令到你的启动脚本里面。这些操作是必须的,因为ROS是依赖于某种组合空间的概念,而这种概念就是通过配置脚本环境来实现的。这可以让针对不同版本或者不同软件包集的开发更加容易。
如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:
export | grep ROS
如下图所示:
如果发现没有配置,那这个时候你就需要'source'某些'setup.*sh’文件了。
如果你是通过ubuntu上的 apt 工具来安装ROS的,那么你将会在'/opt/ros/<distro>/'目录中看到setup.*sh文件,然后你可以执行下面的source命令:
source /opt/ros/kinetic/setup.bash
在每次打开终端时你都需要先运行上面这条命令后才能运行ros相关的命令,为了避免这一繁琐过程,你可以事先在.bashrc文件(初学者请注意:该文件是在当前系统用户的home目录下。)中添加这条命令,这样当你每次登录后系统已经帮你执行这些命令配置好环境。
则应该如下:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
当安装多个ROS版本的时候,如何确定当前终端使用的命令是哪个ROS版本的呢?当然是通过设置环境变量。如果希望改变当前终端所用的环境变量,则可以输入如下的命令:
source /opt/ros/ROS-RELEASE/setup.bash
第二步:创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_make
如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。接下来首先source一下新生成的setup.*sh文件:
source devel/setup.bash
为了确保工作空间已经配置了,可以使用如下的命令进行检查:
echo $ROS_PACKAGE_PATH
如果路径中已经包含了当前工作空间的路径,则说明环境变量设置成功。
如果需要打开终端,工作空间已经正确配置切生效,则可以如下设置:
echo "souce /catkin_ws/devel/setup.bash" >> ~/.bashrc