ROS 中package.xml文件详解02

1:什么样的文件夹可以被称为一个ros package 即一个ros package至少需要什么

a.首先这个文件夹应该在一个Workspace中
b.只要还有个package.xml文件
只需要这两样东西,ros就会认为这是一个ros package

下面验证结论

下面是在Catkin_test这个工作空间中新建了一个 mypackage的文件夹
除了拷贝了一个package.xml文件外什么也没做

richard@richard-NB50TG: ~/Catin_test/src$ ls
CMakeLists.txt  test
richard@richard-NB50TG:>~/Catin_test/src$ mkdir mypackage
richard@richard-NB50TG:>~/Catin_test/src$ cp ./test/
CMakeLists.txt  include/        package.xml     
richard@richard-NB50TG:>~/Catin_test/src$ cp ./test/package.xml  ./mypackage/package.xml
richard@richard-NB50TG:>~/Catin_test/src$ cd mypackage/
richard@richard-NB50TG:>~/Catin_test/src/mypackage$ ls
package.xml

然后更改.xml问价为如下:

xml version="1.0"?>
font color="#87FFAF">format="2">
  mypackage

可以看到这时我们就可以用rospack find 来找到这个文件夹了,也即是说ros已经将这个文件夹看作为ros package了

richard@richard-NB50TG:~/Catin_test/src/mypackage$ rospack find mypackage
/home/richard/Catin_test/src/mypackage
richard@richard-NB50TG:~/Catin_test/src/mypackage$ 

2.对于.xml文件中的依赖项标签

在.xml文件中也有对于其他文件依赖的声明: 有时我们可能分不清到底使用 还是

可以直接使用< depend >标签

 catkin
    roscpp

在.xml文件中声明了依赖主要目的时给ROS的依赖项检查工具查看的(并不是给Cmake查看的) ,下图我们用rospack depend1 mypackage,他会查找.xml文件中的来找到依赖项

richard@richard-NB50TG:>~/Catin_test/src/mypackage$ rospack depends1 mypackage
roscpp
richard@richard-NB50TG:~/Catin_test/src/mypackage$ 

你可能感兴趣的:(ROS)