(三)介绍简单的ROS命令

1.ROS文件系统中的基本概念

Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库、工具、可执行文件等.
Manifest: 一个package描述xml文件,定义package之间的依赖关系.
Stacks: package的集合,比package这个概念高一级别
Stack Manifest: 作用类似package manifest文件,但是它是针对stack的.

在文件系统中很容易识别packagestack:
package是一个包含 manifest.xml 文件的目录.
stack是一个包含 stack.xml 文件的目录.

2.文件系统工具

ROS中大量代码分散在众多的packagesstacks之中命令工具ls 和 cd已不能满足检索要求。因此ROS提供了一套自己的命令工具来完成与这些命令相似的工作

先下载一个 ros-tutorials 程序包:

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

(1) 使用rospack和rosstack

rospack 查找软件包。返回信息:软件包的路径。  $ rospack find [package_name]

rosstack 查找stack。返回信息:stack的路径。     $ rosstack find [stack_name]

$ rospack find roscpp   
结果:/opt/ros/indigo/share/roscpp

(2) 使用roscd

【1】直接切换(cd)到某个package或者stack的目录. 

$ roscd [locationname[/subdir]]   

$ roscd roscpp

为了验证我们已经切换到了roscpp p软件包目录. 我们使用unix的命令查看路径pwd:

$ pwd   
结果:/opt/ros/indigo/share/roscpp

(3)使用 rosls

 作用是列出指定的package或stack中的文件及目录.

$ rosls [locationname[/subdir]]

$ rosls roscpp_tutorials
结果:cmake  launch  package.xml  srv

(5)Tab 自动完成输入

当要输入一个完整的软件包名称时会变得比较繁琐,ROS工具支持TAB 自动完成输入的功能。

Eg:roscd roscpp_tut<<< 现在请按TAB键 >>> ,命令行中应该会自动补充剩余部分。

 

总结: 

ROS命令工具的的命名方式:

     rospack = ros + pack(age)

     roscd = ros + cd

     rosls = ros + ls 

原文地址:https://www.cnblogs.com/Jessica-jie/p/6710148.html