本文共 870 字,大约阅读时间需要 2 分钟。
2.1 理解ROS文件系统级
如果你刚接触ROS,无论是准备使用ROS系统还是准备开发ROS项目,你都会觉得ROS中的各种概念非常奇怪。而一旦你驾轻就熟,那么这些概念就会变得熟悉了。
与其他操作系统类似,一个ROS程序的不同组件要被放在不同的文件夹下。这些文件夹是根据功能的不同来对文件进行组织的:
功能包(Package):功能包是ROS中软件组织的基本形式。一个功能包具有用于创建ROS程序的最小结构和最少内容。它可以包含ROS运行的进程(节点)、配置文
件等。
功能包清单(Package Manifest):功能包清单提供关于功能包、许可信息、依赖关系、编译标志等的信息。一个包的清单由一个名为package.xml的文件管理。
综合功能包(Metapackage):如果你将几个具有某些功能的功能包组织在一起,那么你将会获得一个综合功能包。在ROS Fuerte中,这种包的组织形式被称为功能包集(Stack)。为了保持ROS简洁,功能包集被移除,现在使用综合功能包实现这个功能。在ROS系统中,存在大量不同用途的综合功能包,例如导航功能包集。
综合功能包清单(Metapackage manifest):综合功能包清单(package.xml)类似普通功能包但有一个XML格式的导出标记。它在结构上也有一定的限制。
消息类型(Message(msg)type):消息是一个进程发送到其他进程的信息。ROS系统有很多的标准类型消息。消息类型的说明存储在my_package/msg/MyMessageType.msg中,也就是对应功能包的msg文件夹下。
服务类型(Service(srv)type):服务描述说明存储在my_package/srv/MyServiceType.srv中,定义了在ROS中由每个进程提供的关于服务请求和响应的数据结构。
在右侧的截图中,可以看到turtlesim功能包的内容。你看到的是一系列文件和文件夹,包含代码、图片、启动文件、服务和消息。记住,截图显示文件的一个简短列表,真正的功能包会更多。
转载地址:http://rzdvx.baihongyu.com/