安装和配置你的ROS系统
表述:这个教程带你完成安装ROS并设置ROS的环境变量在你的计算机系统中
教程水平:适合初学者
下个教程:ROS文件系统导航
内容:
1. 安装ROS
2 管理你的环境
3 创建ROS的工作空间
安装ROS
在开始这个教程之前完成安装按照ROS安装说明书 ROS installation instructions.
注意:如果你安装ROS来自于包管理者例如apt,那么那些包将不会将不能被写也不能被编辑。如果你的ROS包来自于源代码或者创建的ROS新包,你应该工作在一个目录下,这个应该是你能够进入的目录。比如home目录。//ubuntu下的命令为cd ~
管理环境变量
在安装ROS过程中,你将看到你被source几个.*sh中的一个文件,或者添加'sourcing' 到你的shell 终端启动脚本,这个是必需的因为ROS依赖合并空间概念。这使得
开发不同版本的ROS或者开发不同的包更加的容易。
如果你有问题关于发现ROS包请确认你的环境变量设置是否合理。一个好方法是检查并确认你的环境变量参数比如ROS_ROOT and ROS_PACKAGE_PATH
$ printenv | grep ROS
-----------------------------------------
我的ubuntu 12.04 (32bit)如下:
duan@duan-virtual-machine:~$ printenv | grep ROS
ROS_ROOT=/opt/ros/hydro/share/ros
ROS_PACKAGE_PATH=/opt/ros/hydro/share:/opt/ros/hydro/stacks
ROS_MASTER_URI=http://localhost:11311
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=hydro
ROS_ETC_DIR=/opt/ros/hydro/etc/ros
---------------------------------------------------
如果你的还是不行,那么你需要在命令行中输入 source setup.*sh 即你的sh文件名称。完成后你的.sh脚本将生效
环境setup文件将为你生成。但是setup文件也可能来自不同的空间。
--- 安装完的ROS包带有包管理器提供setup.*sh文件
--- rosbuild 工作空间提供setup.*sh比如rosws
--- Setup.*sh文件被生成作为building or installing catkin包的副产品
注释:在本教程你将看到rosbuild and catkin参考。 有两已有的方法组织和构建ROS代码,通常rosbuild很容易用而且简单,catkin用标准的CMAKE转换,所以他更加先进
同时因此带来了复杂度的增加,对于想要集成外部代码或者想要释放自己软件的人,参考下面的链接。catkin or rosbuild.
如果你安装的代码采用的是apt方式,你会有一个setup.*sh文件在'/opt/ros/<distro>/'中,<distro>是ROS发布版本的缩写词,笔者是的是hydro。
------------------------------------------------------------------------------------
/opt/ros/hydro
--------------------------------------------------------------------------------------
$ source /opt/ros/<distro>/setup.bash
如果你需要运行ros 命令,你每次都需要运行上面的命令,除非你把这一行添加到你的.bashrc文件中。
创建ROS工作空间
这些指令针对ROS Groovy以后的本版,对于Fuert及以前的版本选择rosbuild.
让我们创建catkin的工作空间。
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace 即使工作空间是空的,你也能生成CMakeLists.txt。
$ cd ~/catkin_ws/ $ catkin_make catkin_make是一个很方便的工具与catkin workspaces一起工作,将生成'build' and 'devel'文件夹,在'devel'文件夹下,你将看到几个setup.*sh文件, -------------------------------------------------------------------------------------duan@duan-virtual-machine:~/catkin_ws$ ls build devel src --------------------------------------------------------------------------------------
sourcing任何一个文件都将覆盖你环境变量。为了更多的理解通用的catkin文件,在source一个新的setup.*sh文件之前,$ source devel/setup.bash
执行晚之后,确定你的环境变量添加了你所在的目录。
---------------------------------------------------------------------
duan@duan-virtual-machine:~/catkin_ws/devel$ echo $ROS_PACKAGE_PATH
/opt/ros/hydro/share:/opt/ros/hydro/stacks
duan@duan-virtual-machine:~/catkin_ws$ source devel/setup.bash
duan@duan-virtual-machine:~/catkin_ws$ cd devel
duan@duan-virtual-machine:~/catkin_ws/devel$ echo $ROS_PACKAGE_PATH
/home/duan/catkin_ws/src:/opt/ros/hydro/share:/opt/ros/hydro/stacks
-------------------------------------------------------------------------------