计算机视觉
图像处理

机器人操作系统ROS Indigo 入门学习(3)——文件系统导航

这个教程将会介绍ROS文件系统的概念,包括使用roscd,和rospack命令行工具。

1.1文件系统概述

Packages:Packages是ROS代码的软件组织单元。每个Packages都包含函数库,可执行文件,脚本或者其他文件。

Manifest:一个Manifest是一个package的描述,用来指定packages之间的依赖,并且捕获packages的包括版本,维护者和协议等元信息。

 

1.2文件系统工具

代码分布在许多ROS packages中,用命令行工具比如ls和cd去寻找起来非常的枯燥,这就是为什么提供ROS工具去帮助你的原因。

1.2.1用rospack

rospack可以看到许多packages的信息,这里我们讨论find选项,用来返回package的路径。

用法:$ rospack find [package_name]

例子:$ rospack find roscpp

返回:/opt/ros/indigo/share/roscpp

 

1.2.2使用roscd

roscd是rodbash套件的一部分,可以用来改变目录。

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

例子:$ roscd roscpp

可以用Unix命令打印绝对路径

pwd

可以看到:/opt/ros/indigo/share/roscpp

注意:roscd和其它ros工具只会在ROS_PACKAGE_PATH中指定了的目录中才能找到ROS packages,查看ROS_PACKAGE_PATH,可以用命令:

echo $ROS_PACKAGE_PATH

ROS_PACKAGE_PATH中有许多用冒号分开的路径,看起来像:

/home/ros/catkin_ws/src:/opt/ros/indigo/share:

/opt/ros/indigo/stacks

 

可以加冒号增加路径:

roscd命令也可以进入packages或者stack的子目录

roscd roscpp/cmake

输出:/opt/ros/indigo/share/roscpp/cmake$

 

1.2.3roscd log

roscd log命令可以进入ROS储存log文件的文件夹。注意如果你至今还没有运行任何ros程序,那么会出现错误说命令不存在。

如果你之前已经运行过一些ros程序,可以运行:

roscd log

 

1.2.4使用rosls

rosls是rosbash套件的一部分,可以列出一个packages中的目录。

用法:$ rosls [locationname[/subdir]]

例子:$ rosls roscpp_tutorials

返回:cmake  package.xml  srv

 

1.2.5 Tab键补齐

Tab键可以补齐命令或者路径,不必给出完整的路径,双击tab键可以列出在当前目录下所有和你给出路径的前面部分相同的文件。

 

1.3 回顾:

不难发现ros工具的名字都是在对应的UNIX命令的前面加上一个ros。

rospack = ros + pack(age) 

roscd = ros + cd 

rosls = ros + ls 

现在你可以在ROS中到天马行空了,让我们一起创建一个package吧。

转载请注明来源:CV视觉网 » 机器人操作系统ROS Indigo 入门学习(3)——文件系统导航

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 抢沙发

评论前必须登录!