本文概述:
在学习ROS下对环境配置的问题
参考网站:
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
1、首先要安装ROS
2、Managing Your Environment
如果在使用或是在查找ROS package的时候遇到问题,要确保环境合理设置好,检查环境变量(environment variables)像ROS_TOOT和ROS_PACKAGE_PATH,用下面的方法。
$ printenv | grep ROS
结果如下:
如果你是通过Ubuntu系统的apt方法安装的ROS,那么,你将会在”/opt/ros/(distro代表的是ROS的版本,如indigo、jade等。然后你可以按照下面的方法来source这些setup.*sh文件。
# source /opt/ros/<distro>/setup.bash
(上面的distro同样也是代表ROS的版本号,jade、indigo等。)
例如如果用的是indigo版本的ROS,那么就可以按照下面的方式来source那些setup.*sh文件。
$ source /opt/ros/indigo/setup.bash
结果如下:
3、创建一个ROS的Workspace
创建ROS的Workspace有两种方法,一种是catkin、还有一种是rosbuild。catkin是新的版本,而rosbuild是旧的版本。catkin是ROS的Groovy以及以后的版本才有的方法,对于旧版本的ROS,请使用rosbuild。
现在学习catkin的方法来创建工作空间(Workspace)
首先创建一个工作空间——文件夹:
$ mkdir -p ~/catkin_ws/src
上面的catkin_ws是工作空间的名字,catkin是代表用的是catkin的方法来创建的,ws代表是workspace的缩写。
×××××××××××××××××××××××××××××××××××××××××××××
我就会创建一个自己的工作空间:
$ mkdir -p ./LearnRos/project1/src
这里需要解释一下的是,“ ./ ”代表的是从当前目录下开始建立的文件夹。
结果如下:
×××××××××××××××××××××××××××××××××××××××××××××
然后切换到src文件文件夹下面:
$ cd ~/catkin_ws/src
×××××××××××××××××××××××××××××××××××××××××××××
然后就是:
$ cd ./LearnRos/project1/src/
结果如下
×××××××××××××××××××××××××××××××××××××××××××××
接着初始化:
$ catkin_init_workspace
×××××××××××××××××××××××××××××××××××××××××××××
初始化:
$ catkin_init_workspace
结果如下:
×××××××××××××××××××××××××××××××××××××××××××××
尽管,工作空间里面什么你没有自己加入一些东西,只有自动在刚刚创建的src文件夹下面的CMakeListstxt连接,你仍然可以“build”这个工作空间。
切换到工作空间根目录:
$ cd ~/catkin_ws/
×××××××××××××××××××××××××××××××××××××××××××××
从刚刚src的目录退出即可:
$ cd ..
结果如下:
×××××××××××××××××××××××××××××××××××××××××××××
然后使用“build”作用的指令:
$ catkin_make
×××××××××××××××××××××××××××××××××××××××××××××
执行:
$ catkin_make
结果如下:
×××××××××××××××××××××××××××××××××××××××××××××
catkin_make这个命令在catkin workspacesg工作空间中非常有用,如果你看你现在工作空间中的文件夹里面就有“build”和“devel”文件夹。在“devel”文件夹里面,你可以看到几个setup.*sh文件。source其中任何的文件,将会将这个工作空间插入环境的最顶层。
在source这些新的setup.*sh文件以前,先运行:
$ source devel/setup.bash
结果如下:
为了确保你的工作空间通过setup script合理的插入环境,确保ROS_PACKAGE_PATH环境变量包括你的工作环境
运行下面命令:
$ echo $ROS_PACKAGE_PATH
结果如下:
至此、ROS的环境就已经设置好了!