首页 > 学院 > 开发设计 > 正文

ROS总结——文件系统

2019-11-06 06:48:21
字体:
来源:转载
供稿:网友

文件系统

本博客是对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_tutorialscmake 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命令工具中都会用到。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表