ROS Indigo beginner_Tutorials 之 添加环境变量 和 更新ROS源代码的命令
我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo
如何添加 ROS 环境变量
在搭建环境变量前,我们现在先检查一下,看看 ROS 环境变量有没有在系统环境变量中:
$ export | grep ROS
如你得到下面的出现信息,说明,ROS 已经被添加到系统的环境变量里面的。不需要再添加了,就可以可以直接跳过添加环境变量这步,直接进行下一步。
declare -x ROSLISP_PACKAGE_DIRECTORIES=""
declare -x ROS_DISTRO="indigo"
declare -x ROS_ETC_DIR="/opt/ros/indigo/etc/ros"
declare -x ROS_MASTER_URI="http://localhost:11311"
declare -x ROS_PACKAGE_PATH="/opt/ros/indigo/share:/opt/ros/indigo/stacks"
declare -x ROS_ROOT="/opt/ros/indigo/share/ros"
如果什么都没有,我们必须对 ROS 进行配置环境变量,才可以在终端中使用 ROS 的相关命令和工具。
新建一个中终端,我们可以使用下面的指令来给当前终端窗口添加环境变量: (#
: 为指令模板 。 $
: 为真正的例子 ) 如果你安装的 ROS 是 indigo 版的 就可以使用第2
句:
# source /opt/ros/<distro>/setup.bash
$ source /opt/ros/indigo/setup.bash
这样,我们使用 export | grep ROS
来查看一下环境变量是否添加成功,可以看到已经添加成功了。
但是我们使用 source
这个 Ubuntu 指令来添加环境变量有一个缺点: 它只作用于当前终端,如果我们在重新按住键盘组合键: Ctrl+Alt+T
,重新打开一个新的终端,我们使用 export | grep ROS
命令来查看当前终端上的环境变量我们依然得到下面的结果:
所以,也就是说,我们每新打开一个终端,都到去执行:source /opt/ros/indigo/setup.bash
这个命令来给当前终端添加环境变量。这样的做法岂不是违背的 DRY原则 ( Don’t repest yours! )。 所以,我们有更好的方法: 随便打开一个终端:
$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
这句话的意思是:将source /opt/ros/indigo/setup.bash
这句话 ,添加到 ~/.bashrc
文件中。.bashrc
文件中终端的启动文件,我们将这句话添加到启动文件中的效果就是,我们每次新打开一个终端,都会自动执行这句话。
上面这句话,还不作用于当前终端,所以,我们使用 export | grep ROS
来查看当前的环境变量,应该是什么都没有的:
我们当前终端关闭,重现在开始,重新打开的终端,都会自动添加 ROS 的环境变量:
介绍一个 ROS 命令 — 更新ROS源代码
$ rosdep update
运行输出:
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index.yaml
Add distro "groovy"
Add distro "hydro"
Add distro "indigo"
Add distro "jade"
Add distro "kinetic"
updated cache in /home/aobosir/.ros/rosdep/sources.cache
这个命令相当于 Linux 使用 sudo apt-get update
来更新系统软件。它的作用就是更新 ROS 系统中的软件包。(因为 ROS 系统不像 Ubuntu 系统那样更新的速度快( Ubuntu 系统 1周更新一次),而 ROS 系统更新的速度相比之下慢多了,我认为主要的原因是,它刚刚进入人们的视野中不久。我相信就凭 ROS 系统的争夺优点,它会不断的发展,以后它的更新速度也会想 Ubuntu 系统那样快。我这里指的更新是系统里面的软件进行更新,而不是系统的更新:win7->win8 ,不是这样的。)