初识ROS文件结构:以阿木实验室Prometheus项目为例

ROS的工作空间是一个存放工程开发相关文件的文件夹,Fuerte版本之后的ROS默认使用的是Catkin编译系统

功能包是ROS软件中的基本单元,包含ROS节点、库、配置文件等。一个文件夹是功能包的标志是该文件夹中有package.xmlCmakeLists.txt两个文件。

  • package.xml:描述功能包属性,记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志等。
  • CmakeLists.txt:记录功能包的编译规则。

ROS不允许在某个功能包中嵌套其他功能包,多个功能包必须平行放置在代码空间中。

元功能包(Meta Package) 是一种特殊的功能包,其主要作用是将多个功能包整合为一个逻辑上独立的功能包,相当于功能包集合。元功能包中没有CmakeLists.txt文件,只包含一个package.xml元功能包清单文件。

虽然元功能包清单的package.xml文件与功能包的package.xml文件类似,但是需要包含一个引用的标签如下:

<export>
	<metapackage/>
</export>

此外,元功能包清单不需要<bulid_depend>标签声明编译过程依赖的其他功能包,只需要使用<run_depend>标签声明功能包运行时依赖的其他功能包。

以Prometheus项目为例,Prometheus项目文件夹就是一个典型的Catkin编译系统下的工作空间。
工作空间
该工作空间中的文件结构及各文件夹属性如下,未特别说明的为普通文件夹——不属于ROS工作空间中功能包、元功能包等任何一种特殊文件类型。(在Prometheus工作空间中我没有看到元功能包。)

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值