RosPack类的使用

RosPack类具有和终端命令rospack相同的作用

1.MANIFEST_FILE属性返回包的manifest文件名,比如“**.xml"

rospkg.MANIFEST_FILE

2.get_package_name(path)方法返回路径对应的包名。这取决于path对应的最近的父目录的*.xml文件。

rospkg.get_package_name(path) → str

3.class rospkg.RosPack([ros_paths=None])

参数:ros_paths –搜索资源的路径的有序列表。 如果为None(默认),则使用环境ROS路径。
作用:查询本地文件系统上的ROS软件包信息。 这包括有关依赖项,检索堆栈清单实例以及确定程序包的父堆栈的信息。
可以使用默认环境初始化RosPack,或者可以使用备用ROS路径设置覆盖其环境配置。
注意:(1)出于性能原因,RosPack缓存有关程序包的信息
(2)RosPack不是线程安全的。
使用例子如下:

from rospkg import RosPack
rp = RosPack()
packages = rp.list()
path = rp.get_path('rospy')
depends = rp.get_depends('roscpp')
depends1 = rp.get_depends('roscpp', implicit=False)

3.1 get_ros_paths() → [str]

获取对应实例的ros路径

3.2 ros_paths

对应实例的ros路径属性

3.3 get_manifest(name) → Manifest

参数:name – 包名,
异常: InvalidManifest
获取对应包的manifest信息

3.4 list() → [str]

ROS环境中软件包名称的完整列表

3.5 get_path(name) → str

参数:name – 包名,
返回值:对应包的文件路径
异常:ResourceNotFound

3.6 get_depends(name[, implicit=True]) → [str]

获取软件包的显示和隐式依赖
参数: name – package name, str
        implicit – 是否递归的包含隐式依赖, bool
返回:name依赖的依赖包名的列表
异常:InvalidManifest

3.7 get_depends_on(name[, implicit=True]) → [str]

获取依赖这个包的其他包。

参数: name – package name, str
        implicit – 是否递归的包含隐式依赖, bool
返回:依赖name的包名的列表
异常:InvalidManifest

3.8 get_rosdeps(package[, implicit=True]) → [str][source]

将指定包的rosdeps收集到字典中。
参数: package– package name, str
        implicit – 是否递归的包含rosdep, bool

返回值:rosdep名的列表

3.9 stack_of(package) → str[source]

参数: package– package name, str

返回值: 程序包所在堆栈的名称,如果程序包不属于堆栈,则为“无”
异常:ResourceNotFound

你可能感兴趣的:(ros)