zoukankan      html  css  js  c++  java
  • ROS的文件系统

    这篇博客介绍一下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.

  • 相关阅读:
    codeforces C. Fixing Typos 解题报告
    codeforces B. The Fibonacci Segment 解题报告
    codeforces B. Color the Fence 解题报告
    codeforces B. Petya and Staircases 解题报告
    codeforces A. Sereja and Bottles 解题报告
    codeforces B. Levko and Permutation 解题报告
    codeforces B.Fence 解题报告
    tmp
    API 设计 POSIX File API
    分布式跟踪的一个流行标准是OpenTracing API,该标准的一个流行实现是Jaeger项目。
  • 原文地址:https://www.cnblogs.com/stemon/p/4185206.html
Copyright © 2011-2022 走看看