ROS学习(五):package.xml 文件

2023-05-16

package.xml 文件
和 manifest 文件类似,描述功能包的属性,包括功能包的名字、版本号、作者、维护者、通行证 以及所以来的功能包。

http://wiki.ros.org/catkin/package.xml

1、基本结构

<package>

</package>

2、标签

<name> - 功能包的名字
<version> -功能包的版本
<description> - 功能包内容的描述
<maintainer> - 功能包的创建于维护者
<license> - 软件发行版通行证 (例如: GPL, BSD, ASL)

例子:

<package>
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
  This package provides foo capability.
  </description>
  <maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer>
  <license>BSD</license>
</package>

3、依赖

一共有四种依赖包

<buildtool_depend> - 指定编译此功能包的编译系统工具

<build_depend> - 指定编译此功能包需要的其他功能包,可以是功能包中的头文件、链接库、其他源文件。 

<run_depend> - 指定运行此功能包代码需要的其他功能包。

<test_depend> - 指定单元测试需要的其他功能包

在混合交叉编译中,上述依赖包主要取决于混合编译系统。

最简单例子:

<package>
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>
</package>

详细例子:

<package>
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer>
  <license>BSD</license>

  <url>http://ros.org/wiki/foo_core</url>
  <author>Ivana Bildbotz</author>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>message_generation</build_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>std_msgs</build_depend>

  <run_depend>message_runtime</run_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>
  <run_depend>std_msgs</run_depend>

  <test_depend>python-mock</test_depend>
</package>

4、Metapackages

当一个功能包中包含好几个子功能包时使用。

在 package.xml中有如下代码:

 <export>
   <metapackage />
 </export>

那么,对应的CMakelist.txt 内容如下:

cmake_minimum_required(VERSION 2.8.3)
project(<PACKAGE_NAME>)
find_package(catkin REQUIRED)
catkin_metapackage()

5、其他标签

- 功能包信息的链接, 一般为 ros.org 上的百科
- 功能包的作者信息,包括邮箱、名字等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS学习(五):package.xml 文件 的相关文章

随机推荐

  • git clone 子模块(module)

    工作开发场景 xff1a 使用gitlab进行版本控制开发工作 xff0c 对git的使用并不是知道的很多 xff0c 第一次把项目整个gitclone 下来 xff0c 但是死活git clone不了子模块里面的代码 xff0c 这里做下
  • 数据挖掘之matplotlib入门

    简单介绍 matplotlib库是Python数据挖掘中的库之一 xff0c 主要用于2D绘图 xff0c 简单的3D绘图 xff0c 数据可视化的库 简单使用 xff08 一 xff09 画根直线 代码 xff1a span class
  • C++ 双冒号表示作用域运算符

    为什么会学习到双冒号作用域运算符 xff0c 是因为在 QT 中使用到通过 C 语言调用函数 open 和 close 来操作LED设备文件时 xff0c 需要在open 和 close 的前面加上 先看一个事例 xff1a span cl
  • 多层神经网络 ——小批量梯度下降法

    在前面的课程中 xff0c 我们知道为了实现非线性分类的任务 xff0c 需要使用多层神经网络 xff0c 多层神经网络的损失函数不再是凸函数 xff0c 而是一种比较复杂的不规则函数 xff0c 这类函数求导数非常困难 xff0c 在求解
  • 嵌入式开发-一个小型的嵌入式系统msOS

    最近看到的一个小型的嵌入式系统 xff0c 国产 xff0c 惊为天人 xff0c 分享一下 链接 xff1a http www eefocus com wangsw blog 15 08 317762 0558c html
  • (hadoop学习-1)mapreduce实现数据过滤、聚合与排序

    翻译 xff1a http blog ditullio fr 2015 12 24 hadoop basics filter aggregate sort mapreduce 数据源 xff1a 对样例数据集Donations进行过滤 聚合
  • 利用ANTLR生成C++描述的分析程序

    摘要 ANTLR xff08 ANother Tool for Language Recognition xff09 是一种基于 LL xff08 k xff09 文法的语法分析程序 xff08 以下简称分析器 xff09 生成工具 其生成
  • eclipse中遇到的JSP文件无法保存问题

    xfeff xfeff 提示设置的编码不包含在某个编码中 首先要保证自己写的编码名字正确 xff0c 因为如果编码拼写错误 xff0c 也不可以保存 然后 xff0c 解决方法如下 xff1a 在 Window 菜单里面找到 Prefere
  • 在 word 中 mathType 菜单灰色,无法使用

    问题 xff1a 在 word 中安装的 mathType 菜单是灰色的 xff0c 不能使用 解决方法 xff1a 把 C Program Files x86 Common Files microsoft shared VBA VBA6
  • 基本遗传算法(GA)的算法原理、步骤、及Matlab实现

    算法原理 遗传算法可以用来求函数的极值 xff08 1 xff09 用二进制编码来离散自变量 xff0c 码长根据离散精度来确定 码长为 l o g 2 xff08 m a x m i n 精 度 43 1 xff08 2 xff09 交叉
  • 机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型

    机器人学工具箱 xff08 Robotics Toolbook for Matlab 是matlab中专门用于机器人仿真的工具箱 xff0c 在机器人建模 轨迹规划 控制 可视化方面使用非常方便 创建机器人的两个最重要的函数是 xff1a
  • 机器人动力学方程的性质

    一个 n 连杆的机器人的动力学方程含有很多项 特别是全部是转动关节的机械臂 让人看着害怕 但是 机器人动力学方程含有一些有助于开发控制算法的重要性质 其中最重要的是反对称性 无源性 有界性和参数的线性性 反对称性 skew aymmetry
  • LaTEX、 Aurora、 markdown常用数学符号

    在用 LaTEX 的时候 xff0c 公式排版中经常用到各种数学符号 xff0c 平时在编写 word 文档时 xff0c 应用 Aurora 编辑公式时也经常用到 xff0c 就是在CSDN 中用markdwon 编辑公式的时候也要用到
  • 机器人(机械臂)动力学建模方法(Newton-Euler equation)

    牛顿 欧拉公式 xff08 Newton Euler equation xff09 根据中间连杆上的力 力矩平衡关系上推断出来的 它的解具有递归的形式 xff0c 前向递归用于连杆的速度 加速度的传递 xff0c 后向递归用于力的传递 参数
  • 基于重力补偿的 PD 控制

    PD 控制是常规的控制方法 xff0c 设计简单 xff0c 用李雅普诺夫方法证明简单 xff0c 不需要系统的模型 xff0c 是无模型控制中的基本方法 令 q T q T 为系统的状态向量 xff0c 其中 xff1a q 61 q d
  • 矩阵的 Jordan 标准型

    如果把矩阵化成对角矩阵 xff0c 关于矩阵的函数计算问题就会大大简化 但一般的矩阵未必与对角矩阵相似 矩阵的标准型有多重 xff0c Jordan xff08 约当 xff09 标准型是最接近对角矩阵的形式 xff0c 在控制理论中经常用
  • 滑膜控制的基本原理

    滑动模态的定义 人为设定一经过平衡点的相轨迹 xff0c 通过适当设计 xff0c 系统状态点沿着此相轨迹渐近稳定到平衡点 xff0c 或形象地称为滑向平衡点的一种运动 xff0c 滑动模态的 滑动 二字即来源于此 滑模控制的优点 xff1
  • 基于策略的设计 vs 多继承

    基于策略的设计是对多继承的超越 基于策略的设计 xff08 Policy Based Design xff09 包含两个重要的部分 xff1a 策略类 xff08 Policy Classes xff09 和一个具有极大张力的核心 许 多人
  • linux 如何以树形结构显示文件目录结构

    linux 如何以树形结构显示文件目录结构 1 linux 如何显示文件信息 一般可用 ls 命令来查看文件的信息 xff1a ls OPTION FILE 如 xff1a ls 显示所有文件 ls 1 显示所有文件 xff08 按行显示
  • ROS学习(五):package.xml 文件

    package xml 文件 和 manifest 文件类似 xff0c 描述功能包的属性 xff0c 包括功能包的名字 版本号 作者 维护者 通行证 以及所以来的功能包 http wiki ros org catkin package x