目录

1、Linux简介

2、ROS-1简介

3、RSO-1功能包结构

4、个人理解(仅供参考)

4、Catkin_make


1、Linux简介

Linux系统是开发者使用频率比较高的系统,我们常听到或者常用的有Ubuntu、CentOS、ArcX Linux等,具体的Linux简介可以查看Linux 系统 。

我们着重注意的是Linux的基本思想是:对于任何文件,都有其特定的作用,你在Linux系统中做的所有工作,都是基于本身进行文件的修改,文件创建,文件运行。

2、ROS-1简介

ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。那么这里说提供了一个架构,我们就可以基于这个架构来进行功能包的开发和复现。

ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。

3、RSO-1功能包结构

我们说对于ROS功能包而言,是用来实现特定的功能,那么这个功能包的基础结构有点像套娃结构。

Ros-Workspace                //ROS工作空间

|--src                                  //ROS元功能包

|--package                              //ROS功能包文件

|--CMakeLists.txt            //包编译规则(依赖库、目标文件等)

|--package.xml               //功能包信息(名称、作者、版本等)

|--src                               //存储C++源文件

|--scripts                         //存储Python源文件

|--include                        //头文件

|--msg                            //通讯格式文件

|--launch                        //运行节点文件

|--config                         //配置信息

|--CMakeLists.txt                   //编译基本配置

|--build                                //编译空间

|--devel                               //开发空间

4、个人理解(仅供参考)

实际在我们初始学习中只关心ROS-workspace中package、build、devel是比较重要的。这里以雷达畸变矫正的一个ROS功能包为例。

这里我们说LASERUNDISTORTION_ws这个ROS的工作空间中包括了build、devel、src和CMakeLists.txt。

那么其中的第一级src就是我们的元功能包,这个元功能包里包括champion_nav_mags和LaserUbdistortion这两个功能包(当然像Cartographer的功能包是比较复杂的,没有这么明确)。

在每个子功能包里面包括了此功能包的build、devel、src、CMakeLists.txt、package.xml等信息,在子功能包中src就是包含了我们的C++源文件。

那么这里的C++文件就是我们功能包的主体程序了。

4、Catkin_make

在我们使用ROS功能包的时候,常常要利用catkin_make、make这两条命令对WorkSpace进行编译。catkin_make实际上是对catkin与make进行了精简操作。

catkin_make
make

catkin_make就在于将我们工作空间中所使用的功能包进行编译,生成空间build、devel、CMakeLists.txt文件。在工作空间下的CMakeLists.txt文件会递归的查找WorkSpace下的功能包中的CMakeLists.txt,然后依次来编译我们每一个功能包(套娃)。


不积跬步无以至千里,不积小流无以成江河  -------------------1:45

1.5、Linux系统、ROS-1 系统、功能包的个人理解相关推荐

  1. ROS系统 创建工作空间与功能包

    ROS 学习目标: 学习内容: 使用环境 操作步骤: 基本命令 二.使用步骤 创建工作空间 编译工作空间 创建功能包 使用C++执行程序 编写源文件 编辑功能包下的 Cmakelist.txt文件 修 ...

  2. ROS系列——mavros功能包中常用话题和服务介绍,包括消息名称、类型、头文件、成员变量、示例代码

    ROS系列--mavros功能包中常用话题和服务介绍,包括消息名称.类型.头文件.成员变量.示例代码 官方链接 常用话题 订阅 1.1 系统状态 1.2 GPS数据 1.3 本地位置 1.4 三轴速度 ...

  3. 【机器人操作系统】ROS工作空间及功能包的创建

    ROS工作空间及功能包的创建 摘要: 总结ROS工作空间及功能包的创建的具体步骤及命令: 工作空间/功能包的创建的步骤大同小异: step1.创建工作空间/功能包: step2.编译工作空间/功能包: ...

  4. ROS系列——image-transport功能包没有发布compressed图像Topic的原因

    ROS系列--image-transport功能包没有发布compressed图像Topic的原因 说明 解决 说明 自己开发了摄像头图像发布节点,但是运行节点发现只有image_transportd ...

  5. ros C++ msg功能包

    这里写自定义目录标题 创建功能包 创建message 编辑package.xml 编辑CMakeList.txt 其他包中使用 参考文章: 创建功能包 cd catkin_ws/src catkin_ ...

  6. ROS Navigation-----导航功能包集设置和配置学习

    本文主要介绍了导航功能包集的配置和使用. 1 机器人设置 假定我们已经以特定方式设置好了机器人,导航功能包集将使其可以运动.上图概述了这种配置方式.白色的部分是必须且已实现的组件,灰色的部分是可选且已 ...

  7. ROS入门-7.创建工作空间与功能包

    一.工作空间 概述:是一个存放工程开发相关文件的文件夹 包括四个主要文件夹 src(代码空间):用来放置功能包,功能包的代码,配置文件,launch文件等 build(编译空间):放置编译过程当中产生 ...

  8. 我现在知道使用ROS话题消息的功能包的命名空间是在哪里定义的了

    确实是会基于msg文件生成对应头文件,打开头文件,一切都明了了. 比如这是DroneState.msg对应生成的头文件DroneState.h,是在devel文件夹下面,是编译生成的.这里一开头就明确 ...

  9. 我的Linux与ROS的不眠不休:从入门到入土(三)——hellow,ROS

    一.ROS回顾 没啥好回顾的. ros操作简单又功能强大(百度这么说的),但学起来也没那么容易. 二.Hellow,ROS 上一篇说过,ROS程序员需要写的程序,其实就是创造节点.那么,怎么样写,写在 ...

最新文章

  1. python信号分析_Python频谱分析
  2. boost::core模块实现分配const void指针
  3. weblogic9修改线程数设置
  4. ssm上传文件获取路径_SSM实现图片上传下载功能
  5. 机器学习算法总结--朴素贝叶斯
  6. 图像数据转换成db(leveldb/lmdb)文件(转)
  7. Linux CentOs6 命令学习
  8. 用浏览器做人脸检测,竟然这么简单?(附代码)
  9. [BZOJ5006][LOJ#2290][THUWC2017]随机二分图(概率+状压DP)
  10. Excel VBA视频教程20集+PPT课件 完整版
  11. Apache OpenOffice-java调用时的问题总结
  12. 1-10000内的素数c语言,输入1-10000的素数
  13. Windows安装多个不同版本谷歌chrome浏览器
  14. pc端ui图片尺寸_PC端网页尺寸设计一
  15. linux配置中端代理
  16. 造型时尚的快充移动电源,兼容性确实不错,aigo A10S体验
  17. keyshot渲染图文教程_keyshot基础图文教程,手把手教你用keyshot制作动画效果
  18. pd.concat()和pd.merge()
  19. 每日哲学与编程练习5——分数问题(Python实现)
  20. seamless kernel updates

热门文章

  1. mac下表格中内容如何换行
  2. Python查询手机号码归属地几种方法
  3. Hello MySQL(五)——SQL查询
  4. 整理:sql server 中sql语句执行顺序
  5. js 三元表达式 switch语句
  6. Python是男人就下100层
  7. 对象解构 - 记一种哔了狗了的代码样式
  8. Java 图形用户界面 复习题
  9. hammer.js教程1
  10. HP总裁孙振耀退休感言