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 的相关命令和工具。

新建一个中终端,我们可以使用下面的指令来给当前终端窗口添加环境变量: (# : 为指令模板 。 $ : 为真正的例子 ) 如果你安装的 ROSindigo 版的 就可以使用第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 ,不是这样的。)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐