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