ROS文件系统的介绍

翻译 2013年12月01日 21:42:38
                                           1、ROS文件系统的介绍

声明:本文由ROS.ORG站上的教程翻译而来,旨在为更多ROS初学者提供方便,不可用于任何商业运作,如有转载请注明出处,谢谢合作
水平有限,翻译有问题的地方也请大家多提意见和建议
原文链接http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem

注意: 我们假设阅读或使用这篇教程的前提是您已经按照之前的教程安装了ROS环境: Installing and Configuring Your ROS Environment.

描述:这篇教程介绍了ROS文件系统的概念,包括使用roscd、rosls和rospack等命令行工具

教程等级:初学者

ROS文件系统概念

  • Packages(功能包): Packages是ROS软件的元级组织形式. 每一个功能包都包括libraries(库), executables(可执行文件), scripts(脚本)或其他文件

  • Manifest (package.xml): manifest是Packages的描述文件. 它的作用是定义Packages包之间的关系和获取指定Packages的的信息,如版本、维护者、注册信息等等。。。

文件系统工具

通常我们在ROS中的代码都会分布在ROS系统的各部分.若要组织好这些代码单靠ls、cd这样的命令行工具是很难的,所以我们提供了一套ROS下的命令行工具,以此来方便我们的使用

rospack的使用

rospack 让我们可以察看Package的信息。在这篇教程中,我们只展示find选项的功能,它的作用是返回Packege的路径。

用法:

# rospack find [package_name]

例:

$ rospack find roscpp

返回:

  • YOUR_INSTALL_PATH/share/roscpp

如果你使用的是ubuntu下apt的方法安装的ROS,你得到的返回就是如下内容:

  • /opt/ros/hydro/share/roscpp

roscd的使用

roscd是rosbash集合中的一部分。它的作用是可以使我们跳至package或者是stack(功能包集)的目录下,这有点像ubuntu下的cd命令。

用法:

# roscd [locationname[/subdir]]

运行这个例子:

$ roscd roscpp

为了确认我们已经切换到roscpp功能包的目录下,我们可以在Unix系统下的pwd命令,来现实我们当前的工作目录:

$ pwd

你将会看到:

  • YOUR_INSTALL_PATH/share/roscpp

你可以看到YOUR_INSTALL_PATH/share/roscpp和上文例子中执行rospack find命令后的路径是一样的,即/opt/ros/hydro/share/roscpp

可以注意到,roscd和其他ROS命令一样,只能找到在ROS_PACKAGE_PATH(工作路径)下目录中存在的功能包。那么想要知道你的ROS_PACKAGE_PATH路径是在哪,你可以输入:

$ echo $ROS_PACKAGE_PATH

你的ROS_PACKAGE_PATH将会是一系列包含功能包的目录,它们之间会用冒号隔开,一个典型的ROS_PACKAGE_PATH应该是下面这样的(典型就是指ubuntu下apt方式安装的ROS系统)

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

和其他Similarly to other 环境路径一样,你可以添加自定义的路径到你的ROS_PACKAGE_PATH,但要注意每个路径都要用冒号分隔开

roscd还可以直接跳转到一个一个功能包或者功能包集的子目录下。

输入:

$ roscd roscpp/cmake
$ pwd

你就可以看到:

  • YOUR_INSTALL_PATH/share/roscpp/cmake

roscd log

roscd log 可以让我们跳转到ROS存储日志文件的文件夹下。注意如果之前没运行过任何ROS的程序,这里会产生一个提示说“it does not yet exist”(没有任何东西存在,即日志还未建立)

如果你之前已经有运行过ROS程序了,那么输入:

$ roscd log
(按提示来做,如果提示没有运行ros,就输入:
$ roscore
$ roscd log

rosls的用法

rosls 是rosbash集合中的一部分。它可以显示某一目录下所有文件或文件夹的名称,而不用像ls那样去到那个目录。

具体用法:

# rosls [locationname[/subdir]]

例:

$ rosls roscpp_tutorials

返回:

  • cmake  package.xml  srv

Tab键自动完成

一口气打完整个功能包的文件名无疑很费时。在上面的rosls例子中roscpp_tutorials这个名字就很长,所以ROS里也提供了UNIX系统下常用的TAB自动完成文件名输入的功能:

输入:

# roscd roscpp_tut<<< 在输入最后一个t之后按TAB键 >>>

我们可以看到显示:

$ roscd roscpp_tutorials/
试着输入:
# roscd tur<<< 在输入r后按TAB键 >>>

显示:

$ roscd turtle


然而,有时候会有几个包的名称开始都是turtle,那么我们就继续输入名称,直到能用TAB补充完整为止。


在终端输入:

$ roscd turtle

再打一个s,之后按TAB:

# roscd turtles<<< 按TAB >>>

现在这里就只有一个turtles开头的文件了:

$ roscd turtlesim/

复习

你可能已经注意到了,ROS命令的格式其实是有规律的:

  • rospack = ros + pack(age)
  • roscd = ros + cd
  • rosls = ros + ls

这种命名方式同样适用于其他ROS命令工具。

现在,我们就可以继续下一个ROS教程的学习了:  create a package(建立一个功能包).

Wiki: ROS/Tutorials/NavigatingTheFilesystem (2013-10-29 13:38:47由JanBross编辑)

相关文章推荐

ROS文件系统介绍(二)

Description: 本教程介绍ROS文件系统概念,包括命令行工具roscd、rosls和rospack的使用。内容: 预备工作 快速了解文件系统概念 文件系统工具 ...

配置ROS工作环境以及简单介绍文件系统(二)

安装完ROS操作系统之后,先要对脚本环境进行相应的配置。为了确保已经正确设置了类似于ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以在命令行输入 $ export | grep ...

ROS的文件系统

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

ROS总结——文件系统

文件系统本博客是对http://wiki.ros.org/上ROS教程的学习总结,欢迎大家交流学习。本部分主要讲ROS文件系统,包括命令行工具rospack、roscd、rosls、和Tab 自动完成...

ROS wiki文件系统导航

ROS文件系统导航 描述:这个教程描述了ROS文件系统的概念,并且涵盖了roscd, rosls, and rospack命令行工具 教程:针对初学者 下个教程:创建ROS包 内容...

ROS入门_1.5 ROS文件系统介绍

目录 预备工作快速了解文件系统概念文件系统工具 使用 rospack使用 roscdroscd log使用 roslsTab 自动完成输入 回顾 预...

ROS文件系统解析

ROS文件系统解析

ROS(机器人操作系统)学习(二)ROS文件系统

ROS WIKI:http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem 1.准备 您需要先安装tutorals

【ROS学习】(二)ROS文件系统

学习ROS的文件系统,要了解几个重要的概念,主要包括 1.工作空间(workspace) 2.程序包(package) 3.节点(node)1.工作空间在ROS入门教程中,在开始所有的编程工作之...

经典分布式文件系统介绍

  • 2015-11-21 16:31
  • 3.61MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)