![精通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=1739911829-7ezNFV0tmTVCIbbIoCELqUMOmcGoBQwp-0-4c10bf31a04e4e075b0cb5b13e6290cb)
此外,在元包中,catkin没有<buildtool_depend>依赖项,只有<run_depend>依赖项,它们就是在元包中被组合到一起的那些包。
ROS导航栈是包含元包的地方的一个良好示例。如果安装了ROS及导航包,我们可以尝试使用以下命令来切换到navigation元包文件夹:
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_01.jpg?sign=1739911829-wDbaUBKIx6L3sulqDVLX6PQfDVy5svjQ-0-495814026c2ac9aa44ac720c1f45fea3)
使用喜欢的文本编辑器(在下面的例子中是gedit)打开package.xml文件:
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_02.jpg?sign=1739911829-mCzdI2rlFUn4dwyUcNgcXEBZKVWhtxl8-0-234a91209577696c7d27b14da0ad94d0)
这是一个冗长的文件,图1.5所示是它的精简版本。
![](https://epubservercos.yuewen.com/0D546D/30334936404123306/epubprivate/OEBPS/Images/24_03.jpg?sign=1739911829-wI9EZrQm99dcKqgvX2Pud2jgaDgkcGXD-0-a11cdd9423928e635f8933129652bc5a)
图1.5 package.xml元包的结构
此文件包含有关包的几条信息,例如简要说明、依赖项和包版本。