ROS机器人程序设计(原书第2版)2.1 理解ROS文件系统级
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功能包的内容。你看到的是一系列文件和文件夹,包含代码、图片、启动文件、服务和消息。记住,截图显示文件的一个简短列表,真正的功能包会更多。
一个包含功能包、可编辑源文件或编译包的文件夹。 同时编译不同的功能包时非常有用,并且可以用来保存本地开发包。
相关文章
- 科技云报道:AI+Science、元宇宙、仿生机器人……云栖大会带你看到未来的样子
- 机器人进入决策层,与人类具有相同决策权
- 该不该摧毁一个正在呼救的机器人?
- ROS机器人程序设计(原书第2版)1.4.2 配置主机和source.list文件
- ROS机器人程序设计(原书第2版)2.3 理解ROS开源社区级
- ROS机器人程序设计(原书第2版)3.6 可视化节点诊断
- 《乐高EV3机器人搭建与编程》一2.7 齿轮
- 《网站分析师实战指南》一2.3 报告机器人从何而来
- 《21世纪机器人》一一2.4DeutchConn 第5晶圆厂,装载码头:重启前19小时
- 《机器人编程实战》一一3.2 伪代码和绘制RSVP流程图
- 华为OD机试 -机器人走迷宫(Java) | 机试题+算法思路+考点+代码解析 【2023】
- 飞算soflu软件机器人-低代码的未来
- 【历史上的今天】6 月 12 日:美国进入数字化电视时代;Mozilla 的最初开发者出生;3Com 和美国机器人公司合并
- PAI智能答疑机器人上线啦