ROS总结——文件系统

本文介绍ROS文件系统的管理和操作,包括如何使用rospack查找软件包路径、roscd切换目录、rosls列出目录内容及Tab自动补全功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件系统

本博客是对http://wiki.ros.org/上ROS教程的学习总结,欢迎大家交流学习。本部分主要讲ROS文件系统,包括命令行工具rospack、roscd、rosls、和Tab 自动完成输入的使用。
1.准备工作
本部分会用到ros-tutorials程序包,请先安装ros-indigo-ros-tutorials:

$  sudo apt-get install ros-indigo-ros-tutorials

note:如果你所安装的ros版本为hydro,将indigo替换为hydro

Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。
Manifest (package.xml): 清单,是对于’软件包’相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
2.rospack的使用
rospack可以获取软件包的有关信息,可以通过 $ rospack -h查看具体用法,在这里以rospack中find参数选项为例,该选项可以返回软件包的路径信息,基本用法:

   rospack find [包名称]

eg:

$  rospack find roscp
/opt/ros/indigo/share/roscpp

3.roscd的使用
roscd是rosbash命令集中的一部分,可以直接切换(cd)工作目录到某个软件包或者软件包集当中,基本用法:

   roscd [本地包名称[/子目录]]

eg:

$  roscd roscpp
$  pwd
/opt/ros/indigo/share/roscpp

使用roscd也可以切换到一个软件包或软件包集的子目录中:

$  roscd roscpp/cmake
$  pwd
/opt/ros/indigo/share/roscpp/cmake

使用roscd log可以切换到ROS保存日记文件的目录下。需要注意的是,如果没有执行过任何ROS程序,系统会报错说该目录不存在。

$  roscd log

4.rosls的使用
rosls是rosbash命令集中的一部分,可以直接按软件包的名称而不是绝对路径执行ls命令(罗列目录),基本用法:

   rosls [本地包名称[/子目录]]

eg:

$  rosls roscpp_tutorials
cmake  launch  package.xml  srv

5.Tab 自动完成输入
当要输入一个完整的软件包名称时会变得比较繁琐,在之前的例子中roscpp tutorials是个相当长的名称,幸运的是一些ROS工具支持TAB 自动完成输入的功能。
eg:
输入

$  roscd roscpp_tut<<<按TAB键>>>

当按TAB键后,命令行中应该会自动补充剩余部分:

$  roscd roscpp_tutorials/

因为roscpp tutorials是当前唯一一个名称以roscpp tut作为开头的ROS软件包。

从上面命令形式可知,ROS命令工具的的命名方式:
rospack = ros + pack(age)
roscd = ros + cd
rosls = ros + ls
这种命名方式在许多ROS命令工具中都会用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值