ROS wiki文件系统导航

描述:这个教程描述了ROS文件系统的概念,并且涵盖了roscd, rosls, and rospack命令行工具

教程:针对初学者

下个教程:创建ROS包


内容

1. 前提

2. 文件系统快速浏览

3. 文件系统工具

     3.1    rospack使用

     3.2    roscd使用

     3.3 roscd log

     3.4 Using rosls

     3.5 Tab Completion

4 回顾


1 前提

对于这个教程我们将检查ros-tutorials包,请安装按照下面的阿命令。

$ sudo apt-get install ros-<distro>-ros-tutorials

替代 '<distro>' 用你自己的版本 (e.g. hydro, groovy, electric, fuerte etc.),参见上篇文章。


2. 快速浏览文件系统的概念

2.1 Packages(包):包是ROS软件组织单元,每一个包都包含库文件,可执行文件,脚本,其它的文件。

2.2 Manifest (package.xml)Manifest 是一个包的描述,他服务于定义依存关系,即包和获取的元信息(版本,维护者,许可证)之前的关系。

文件系统工具

代码在交叉的多个ROS包之间展开,带有命令行的导航工具如ls cd 可能是非常冗余的,这就是为什么ROS提供工具来帮助我们。


rospack的使用

rospack让你能够获取包的信息,在这个教程中,我们仅仅涉及find 选项,它将返回包的路径。

用法:

# rospack find [包名称]

Example:

$ rospack find roscpp

返回:

  • YOUR_INSTALL_PATH/share/roscpp

如果你是采用apt 方式安装的系统,你们结果返回:

indigo:版本号

  • /opt/ros/indigo/share/roscpp
  • -----------------------------------------------------------------
  • 我的是hydro版本

duan@duan-virtual-machine:~/catkin_ws/devel$ rospack find roscpp
/opt/ros/hydro/share/roscpp

-----------------------------------------------------------------------------


 roscd使用

ros是rosbash 集的一部分,他允许你直接切换目录到包中。

用法:
# roscd [locationname[/subdir]]

Run this example:

$ roscd roscpp
用pwd显示当前所在文件夹子
$ pwd

你会看到:

  • duan@duan-virtual-machine:~/catkin_ws/devel$ roscd roscpp
    duan@duan-virtual-machine:/opt/ros/hydro/share/roscpp$ pwd
    /opt/ros/hydro/share/roscpp
    
    

备注: roscd像其它的ROS工具一样,他仅发现ROS包在ROS_PACKAGE_PATH内,通过echo $ROS_PACKAGE_PATH察看ROS 目录,

$ echo $ROS_PACKAGE_PATH

结果如下,目录之间用;号隔开。

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


Subdirectories

roscd 能够移动到一个包的子目录

$ roscd roscpp/cmake
$ pwd

结果:

  • YOUR_INSTALL_PATH/share/roscpp/cmake

roscd log

roscd log将带你到ROS储存log的文件夹,如果你没有运行过任何ROS程序,他将产生错误,因为log不存在

$ roscd log

Using rosls

rosls 直接进入包中,并列出文件名称。

# rosls [locationname[/subdir]]
$ rosls roscpp_tutorials
  • cmake launch package.xml  srv

 TAB /符号

它将冗长的打印处整个包的名字。

I

# roscd roscpp_tut 按下TAB

After pushing the TAB key, the command line should fill out the rest:

$ roscd roscpp_tutorials/


按键联想

# roscd tur<<< now push the TAB key >>>


$ roscd turtle


  • turtle_actionlib/  turtlesim/         turtle_tf/


$ roscd turtle


# roscd turtles<<< now push the TAB key >>>


$ roscd turtlesim/

回顾:


观察前文ROS的命名风格

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

This naming pattern holds for many of the ROS tools.

Now that you can get around in ROS, let's create a package.


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值