zoukankan      html  css  js  c++  java
  • ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码

    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 ,不是这样的。)

  • 相关阅读:
    Json字串转换成Java复杂对象
    [Code Snipper]图片轮换
    将CSDN600W用户及密码帐号存入本地MySql数据库
    【转】一个隐形的java int溢出
    【转】展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
    如何在Android 4.0 ICS中禁用StatusBar | SystemBar | 状态栏 【完美版】
    【转】提问的智慧(How To Ask Questions the Smart)
    商业开发实战之VB篇精彩视频
    我的设计原语
    RAPIDXML 中文手册,根据官方文档完整翻译!
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928600.html
Copyright © 2011-2022 走看看