这篇博客介绍一下ROS的文件系统的基本概念,用户可以直接在官方网站:http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem去查看官方手册。

ROS文件系统中的两个最基本的概念:PackageManifest,即包和清单文件。

(1)Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件,可执行文件,脚本及其它的一些文件。

(2)Manifest文件是对Package的相关信息的一个描述。他提供了Package之间的依赖性,以及一个包的元信息,比如版本、维护着和许可证等信息。

文件系统提供了几个很有用的命令行的工具,专门用来对ROS的文件系统进行操作。


rospack被用来获取一个包的相关信息,这里只介绍它的find选项,用法如下:

# rospack find [package_name]

您可以在一个新打开的终端中输入如下命令:

rospack find roscpp

就可以找到roscpp这个包的位置信息,可能会返回类似于下面的这种结果:

/opt/ros/hydro/share/roscpp

roscd命令允许您利用包的名字直接切换到相应的文件目录下,当然这是对ROS文件系统而言,它的使用方法如下:

roscd [locationname[/subdir]]

举一个例子,直接在终端输入:

roscd roscpp

就可以直接切换到roscpp这个文件的目录下,可以使用如下命令来进行验证:

pwd

返回的结果类似与如下形式:

/opt/ros/hydro/share/roscpp

roscd将只能打开存在于环境变量ROS_PACKAGE_PATH中的目录及其子目录(也就是包),您可以使用如下命令来查看ROS_PACKAGE_PATH中的内容:

echo $ROS_PACKAGE_PATH

您所看到的结果可能类似于以下的情况:

/opt/ros/hydro/base/install/share:/opt/ros/hydro/base/install/stacks

每一个路径使用“:”分割。


rosls能够让您直接利用包的名字,去列举包中的所有文件即文件夹,而不用使用绝对路径。它的使用和roscd是一样的,只有存在于ROS_PACKAGE_PATH中的目录及其子目录才能使用这个命令。使用方法如下:

# rosls [locationname[/subdir]]

例子如下:

rosls roscpp_tutorials

总结:

这篇博文主要介绍了ROS的文件系统中两个重要的概念:包和清单文件.同时介绍了一些必须熟练使用的命令行工具.

rospack,roscd,rosls.

ROS的文件系统的更多相关文章

  1. ROS的文件系统 (二)

    ROS的文件系统的基本概念, ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件. Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件, ...

  2. ROS文件系统级

    ROS的安装就不介绍了,官方教程是最好的:点击打开链接 ROS是机器人操作系统,它应该有自己的工程结构,Linux系统的文件系统如下: 而ROS的文件系统级如下: 接下来逐一介绍它们: 1. catk ...

  3. ROS探索总结(二)——ROS总体框架

    个人分类: ROS 所属专栏: ROS探索总结   一.  总体结构        根据ROS系统代码的维护者和分布来标示,主要有两大部分:      (1)main:核心部分,主要由Willow G ...

  4. ROS学习(三)—— ROS文件系统

    一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...

  5. ROS学习笔记3-基础课程之文件系统向导

    准备工作需要使用如下命令安装ros的教程: $ sudo apt-get install ros-<distro>-ros-tutorials 其中,distro为所用ros的发行版本,该 ...

  6. 第一课1、ROS

    ---恢复内容开始--- 1.什么是ROS ROS起源于2007年,斯坦福大学的人工智能实验室与机器人技术公司Willow Garage针对其个人机器人项目开发了ROS的雏形. ROS大致每年发布一个 ...

  7. Learning ROS for Robotics Programming - Second Edition(《学习ROS机器人编程-第二版》)

    Learning ROS for Robotics Programming - Second Edition <学习ROS机器人编程-第二版> ----Your one-stop guid ...

  8. 机器人操作系统(ROS)教程4:ROS的框架【转】

    转自:http://www.arduino.cn/thread-11351-1-1.html 在进行ROS的代码开发前,有必要了解一些ROS的概念.首先,ROS的系统代码分为两部分:main和univ ...

  9. Ubuntu14.04安装和配置ROS Indigo(一)

    安装ROS 配置Ubuntu的软件源 配置Ubuntu要求允许接受restricted.universe和multiverse的软件源,可以根据下面的链接配置: https://help.ubuntu ...

随机推荐

  1. C语言中的回调函数

    C语言中通过函数指针实现回调函数(Callback Function) ====== 首先使用typedef定义回调函数类型 ======  typedef void (*event_cb_t)(co ...

  2. Linux--根文件系统的挂载过程分析

    前言: 本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中全部提及的名词和数据都是以该环境为例,全部的代码流程也是以该环境为例来进行分析.哈哈.假设有不对或者不完好的地方, ...

  3. tabBar隐藏与显现 hidesBottomBarWhenPushed

    这个问题说简单也简单  但是如果不知道 可会让很多人吃苦 隐藏UITabBarController的tabBar, 我用它的一个属性hidesBottomBarWhenPushed隐 藏了,可以pop ...

  4. 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)

    前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...

  5. javaScript 工作必知(八) 属性的特性 值、写、枚举、可配置

    属性的特性 每个对象都拥有属性,属性具有哪些特性呢? 1.属性具有值.  2.属性是否是可写的.            3.是否是可枚举的.            4.是否是可配置的.   " ...

  6. .net dropdownlist 動態顯示,指定字段

    dropdownlist 動態顯示,指定字段 this.ddlPermission.Items.Clear(); ,new ListItem("請選擇","") ...

  7. jQuery源码笔记——四

    each()实现 var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context ) ...

  8. $(this) 和 this

    在使用 jQuery 时,$(this) 和 this 具体指: this :是当前 DOM 对象: $(this) 是jQuery对象: 例子: <input type="text& ...

  9. CSS中的各种居中方法总结

    CSS中的居中可分为水平居中和垂直居中.水平居中分为行内元素居中和块状元素居中两种情况,而块状元素又分为定宽块状元素居中和不定宽块状元素居中.下面详细介绍这几种情况. 一.水平居中 1.行内元素居中 ...

  10. Lua中强大的元方法__index详解

    今天要来介绍比较好玩的内容:__index元方法 我是备胎,记得回头看看 咳咳,相信每一位女生都拥有或者不知不觉中拥有了一些备胎,啊!当然,又或许是成为过别人的备胎. 没有备胎的人,就不是完整的人生. ...