package 是 ROS 软件的基本组织形式,ROS 就是由一个个的 package 组成的

package 是 catkin 的编译基本单元

一个 package 可以包含多个可执行文件(节点)

package 下要包含这两个文件 CMakeLists.txt、package.xml

CMakeLists.txt 规定 catkin 编译的规则,例如:源文件、依赖项、目标文件

cmake_minimum_required()  # 指定 catkin 最低版本
project() # 指定软件包的名称
find_package() # 指定编译时需要的依赖项
add_message_files() # 添加消息文件
add_service_files() # 添加服务文件
add_action_files() # 添加动作文件
generate_messages() # 生成消息、服务、动作
catkin_package() # 指定 catkin 信息给编译系统生成 Cmake 文件
add_library() # 指定生成库文件
add_executable() # 指定生成可执行文件
target_link_libraries() # 指定可执行文件去链接哪些库
catkin_add_gtest() # 添加测试单元
install() # 生成可安装目标

package.xml:定义 package 的属性,例如:包名、版本号、作者、依赖等

<package>       <!--根标签-->
<name> <!--包名-->
<version> <!--版本号-->
<description> <!--包描述-->
<maintainer> <!--维护者-->
<license> <!--软件许可-->
<buildtool_depend> <!--编译工具-->
<build_depend> <!--编译时的依赖-->
<run_depend> <!--运行时的依赖-->
</package> <!--根标签-->

代码文件:

package:CMakeLists.txt、package.xml、script(放 shell 脚本或 python 脚本)、include(放 C 的头文件 .h)、src(放 C 的源文件.cpp,也能放 python 的源文件)

自定义通信格式:

消息(msg)、服务(srv)、动作(action)

package:CMakeLists.txt、package.xml、msg(存放 .msg 文件)、srv(存放 .srv 文件)、action(存放 .action 文件)

launch 以及配置文件:

launch文件(launch)、配置文件(yaml)

package:CMakeLists.txt、package.xml、config(.yaml)、launch(.lanuch)

常用的包管理指令:

创建一个 package:catkin_creat_pkg <pkg_name> [deps]

std_msgs 为通信的依赖,nav_msgs 为导航的依赖

查找某个 package 的地址:rospack find package_name

列出本地所有的 package:rospack list

sch01ar@ubuntu:~$ rospack list

跳转到某个 package 路径下:roscd package_name

列举某个 package 下的文件信息:rosls package_name

编辑 package 中的文件:rosed package_name file_name

sch01ar@ubuntu:~$ rosed test CMakeLists.txt

安装某个 package 所需的依赖:rosdep install [package_name]

catkin 工作空间 - Package 组成的更多相关文章

  1. ROS学习笔记一(ROS的catkin工作空间)

    在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们执行了如下命令:(此命令就是向当前用户 ...

  2. catkin 工作空间

    catkin 工作空间:组织和管理功能包的文件夹,以 catkin 工具编译 建立工作空间 sch01ar@ubuntu:~$ mkdir -p ~/catkin_ws/src sch01ar@ubu ...

  3. ROS-3 : Catkin工作空间和ROS功能包

    一.创建一个Catkin工作空间 步骤一:构建catkin工作空间 安装完成ROS版本后,设置好环境变量:$ source /opt/ros/kinetic/setup.bash.然后即可创建一个ca ...

  4. AR Drone系列之:使用ROS catkin创建package并使用cv_bridge实现对ar drone摄像头数据的处理

    1 开发环境 Ubuntu 12.04 ROS Hydro 2 前提 可參考这篇blog:http://blog.csdn.net/yake827/article/details/44564057 b ...

  5. 创建一个catkin工作空间

    先确定自己的环境变量是否设置正确 export | grep ROS 若出现如下的,说明是正确的 declare -x ROSLISP_PACKAGE_DIRECTORIES="" ...

  6. 在工作空间中构建和使用catkin包

    在这篇博客中将会介绍,如何在工作空间中构建和使用一个包. 首先,我们来看一下如何在catkin工作空间中,使用catkin_make工具从源文件构建和安装一个包.使用catkin_make来构建一个c ...

  7. ROS创建工作空间(三)

    查看正在使用的ROS工作空间,使用命令 echo $ROS_PACKAGE_PATH 我新建了两个

  8. ROS工作空间和程序包创建

    预备工作后面操作中我们将会用到ros-tutorials程序包,请先安装: $ sudo apt-get install ros-<distro>-ros-tutorials 将 < ...

  9. ROS学习(四)—— 创建ROS Package

    一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...

随机推荐

  1. jQuery: Redirect to other URL

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  2. QQ钱包,微信,京东钱包,百度钱包,支付宝AGENT

    微信Mozilla/5.0 (Linux; Android 7.0; LON-AL00 Build/HUAWEILON-AL00; wv) AppleWebKit/537.36 (KHTML, lik ...

  3. 51nod 1161 组合数,规律

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1161 显然,题目可以转化为矩阵求解,但复杂度显然时空都不允许,我们如果自 ...

  4. C++多态、虚函数、纯虚函数、抽象类

    多态 同一函数调用形式(调用形式形同)可以实现不同的操作(执行路径不同),就叫多态. 两种多态: (1)静态多态:分为函数重载和运算符重载,编译时系统就能决定调用哪个函数. (2)动态多态(简称多态) ...

  5. CPU高获取其线程ID然后分析

    一.具体步骤 shift+p 按照cpu排序 shift+m按照内存排序 1.查看进程下所有线程 top -H -p  pid  2.将十进制数换成16进制:print "%x/n" ...

  6. uboot主Makefile分析

    VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(S ...

  7. Linux操作系统中的文件目录结构详细介绍

    "/" :Linux文件系统的入口.也是最高一级的目录. "/bin":基本系统所需要的命令,功能和"/usr/bin"类似,这个目录下的文 ...

  8. python练习题100例

    链接地址:http://www.runoob.com/python/python-100-examples.html

  9. PostgreSQL EXPLAIN执行计划学习--多表连接几种Join方式比较

    转了一部分.稍后再修改. 三种多表Join的算法: 一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择.在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表 ...

  10. Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示

    功能需求: 分省市统计并展示全国雨量站的数目与位置. 常规做法: 分省市雨量站的数目通过统计表的形式在页面端展示,位置根据XY坐标信息将雨量站标绘在图上. 优化做法: 去掉统计图的展示方式,直接将各省 ...