catkin 工作空间 - Package 组成
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 组成的更多相关文章
- ROS学习笔记一(ROS的catkin工作空间)
在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们执行了如下命令:(此命令就是向当前用户 ...
- catkin 工作空间
catkin 工作空间:组织和管理功能包的文件夹,以 catkin 工具编译 建立工作空间 sch01ar@ubuntu:~$ mkdir -p ~/catkin_ws/src sch01ar@ubu ...
- ROS-3 : Catkin工作空间和ROS功能包
一.创建一个Catkin工作空间 步骤一:构建catkin工作空间 安装完成ROS版本后,设置好环境变量:$ source /opt/ros/kinetic/setup.bash.然后即可创建一个ca ...
- 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 ...
- 创建一个catkin工作空间
先确定自己的环境变量是否设置正确 export | grep ROS 若出现如下的,说明是正确的 declare -x ROSLISP_PACKAGE_DIRECTORIES="" ...
- 在工作空间中构建和使用catkin包
在这篇博客中将会介绍,如何在工作空间中构建和使用一个包. 首先,我们来看一下如何在catkin工作空间中,使用catkin_make工具从源文件构建和安装一个包.使用catkin_make来构建一个c ...
- ROS创建工作空间(三)
查看正在使用的ROS工作空间,使用命令 echo $ROS_PACKAGE_PATH 我新建了两个
- ROS工作空间和程序包创建
预备工作后面操作中我们将会用到ros-tutorials程序包,请先安装: $ sudo apt-get install ros-<distro>-ros-tutorials 将 < ...
- ROS学习(四)—— 创建ROS Package
一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...
随机推荐
- Ajax-08 跨域获取最新电视节目清单实例
目标一 请求江西网络广播电视台电视节目 URL:http://www.jxntv.cn/data/jmd-jxtv2.html 分析 1.从Http头信息分析得知,器服务端未返回响应头Access-C ...
- hdu 5265
http://acm.hdu.edu.cn/showproblem.php?pid=5256 题目不错,题面忍不住骂一句mmp.......后面说ai都是正整数,我以为修改后也必须是正整数,前面又说只 ...
- 【scala】应用程序和App特性
一.应用程序 要运行一个Scala对象,必须提供一个独立对象的名称.这个独立对象需要包含一个main方法,该方法接受一个Array[String]作为参数,结果类型为Unit. import Chec ...
- Apk大瘦身
Android的apk文件越来越大了这已经是一个不争的事实.在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB ...
- Windows系统下MySQL解压版添加到系统服务
MySQL软件版本:64位 5.7.12 1.首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以“;”结束,我的路径配置如下: 2.修改MySQL根目录下的 ...
- Windows 使用技巧
怎样添加“发送到”的快捷方式,cmd里面shell:sendto打开文件夹,把快捷方式放进去就可以了. vs中c#快速实现接口所有函数快捷键: 鼠标放在实现的接口上面+shift+alt+F10.
- LeNet-5网络结构及训练参数计算
经典神经网络诞生记: 1.LeNet,1998年 2.AlexNet,2012年 3.ZF-net,2013年 4.GoogleNet,2014年 5.VGG,2014年 6.ResNet,201 ...
- 【ES6】蛋疼
- Qt图形视图体系结构示例解析(视图、拖拽、动画)
本博的示例来自与QT Example:C:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\graphicsview\dragdroprobot 将通过分析示例完成主要功能: ...
- 重温CLR(六)方法和参数
实例构造器和类(引用类型) 构造器是将类型的实例初始化为良好状态的特殊方法.构造器方法在“方法定义元数据表”中始终叫做.ctor(constructor的简称).创建引用类型的实例时,首先为实例的数据 ...