![精通ROS机器人编程(原书第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/21/51444021/b_51444021.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.2 ROS元功能包
元包是一种特殊的包,只需要一个文件,即package.xml。
元包只是将多个包组合为一个逻辑包。在元包的package.xml文件中包含一个导出标记,如下所示:
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/23_02.jpg?sign=1739286653-AX97k3Mf1qX4DKOc8vpFEvRTwCVkLFze-0-4df1c0df424b2baa7a13ef7967eefc71)
此外,在元包中,catkin没有<buildtool_depend>依赖项,只有<run_depend>依赖项,它们就是在元包中被组合到一起的那些包。
ROS导航栈是包含元包的地方的一个良好示例。如果安装了ROS及导航包,我们可以尝试使用以下命令来切换到navigation元包文件夹:
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_01.jpg?sign=1739286653-coQcGA4NDBSH2NGY0fSbetgotPJThf0k-0-bb1d853e6964e20fbcbfdcfe16901792)
使用喜欢的文本编辑器(在下面的例子中是gedit)打开package.xml文件:
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_02.jpg?sign=1739286653-DrrR4jzScCFgirONlKRzftQzHbb8OkC2-0-b16b4cff32beadea1ca43998693776af)
这是一个冗长的文件,图1.5所示是它的精简版本。
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_03.jpg?sign=1739286653-AXRX1EdMGN7Ai9bzfvLL9dzRbrHW5lWD-0-9a6b7e190aa12f32cea042704d5c5730)
图1.5 package.xml元包的结构
此文件包含有关包的几条信息,例如简要说明、依赖项和包版本。