ROS 学习

本文详细介绍了Ros文件系统中package.xml和CMakeLists.txt的作用,以及Catkin编译系统如何封装CMake和Make指令进行软件包编译。重点讲述了Catkin工作空间结构,包括src、build和devel目录的功能。同时概述了ROS通信架构的相关内容。
摘要由CSDN通过智能技术生成

 Ros 文件系统

编译系统

编译系统历史发展

一个Catkin的软件包(package)必须要包括两个文件:

  • package.xml: 包括了package的描述信息

    • name, description, version, maintainer(s), license
    • opt. authors, url's, dependencies, plugins, etc...
  • CMakeLists.txt: 构建package所需的CMake文件

    • 调用Catkin的函数/宏
    • 解析package.xml
    • 找到其他依赖的catkin软件包
    • 将本软件包添加到环境变量

catkin编译的工作流程如下:

  1. 首先在工作空间catkin_ws/src/下递归的查找其中每一个ROS的package。
  2. package中会有package.xmlCMakeLists.txt文件,Catkin(CMake)编译系统依据CMakeLists.txt文件,从而生成makefiles(放在catkin_ws/build/)。
  3. 然后make刚刚生成的makefiles等文件,编译链接生成可执行文件(放在catkin_ws/devel)。

也就是说,Catkin就是将cmakemake指令做了一个封装从而完成整个编译过程的工具。 

Catkin 工作空间
  • src/: ROS的catkin软件包(源代码包)(我们写的ROS程序、网上下载的ROS源代码包都存放在这里)
  • build/: catkin(CMake)的缓存信息和中间文件
  • devel/: 生成的目标文件(包括头文件,动态链接库,静态链接库,可执行文件等)、环境变量

 工作流程

ROS 通信架构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值