ROS的安装就不介绍了,官方教程是最好的:点击打开链接

ROS是机器人操作系统,它应该有自己的工程结构,Linux系统的文件系统如下:

而ROS的文件系统级如下:

接下来逐一介绍它们:

1. catkin 工作空间

工作空间就是管理 ROS 工程和代码的地方,而 catkin 是 ROS 定制的编译构建系统,是对 CMake 的扩展。catkin 工作空间其实就是一个文件夹,用来组织和管理功能包,用 catkin 工具编译。

首先对其进行创建(必须有 src 目录):

mkdir -p ~/catkin_ws/src

进入工作空间:

cd ~/catkin_ws/

对其进行编译(必须在工作空间进行)

catkin_make

如果你的输出像这样:

那就成功了。

这只是完成了编译(编译整个空间),如果要执行某个文件,还需要执行这样一句话:

source ~/catkin_ws/devel/setup.bash

刷新环境,这样才不会报错。

2. src,build 和 devel

src 中存放的是 package 源代码,编译完成之后会发现工作空间中多了这两个文件夹,其中 build 中存放的是 cmake 和 catkin 的缓存信息以及中间文件, devel 中存放的则是生成的目标文件,比如头文件,可执行文件,链接库等等。

src 目录下存放着各种各样的功能包,包是 catkin 编译的基本单元。

3.package

又称 功能包,是 ROS 软件的基本组织形式,一个 package 可以包含多个可执行文件(节点),一个最精简的 package,应该如下:

CMakeLists.txt 规定了 catkin 编译的规则,具体写法如下:

package.xml 定义了 package 的属性,例如 包名,版本号,作者等。它的写法如下:

接下来就是将代码放入 package 中,ROS中的代码文件分为 脚本(python,shell) 和 C++(头文件,源文件)。

因此,一般创建 scripts 存放脚本,创建 include 存放 C++ 头文件,src 存放 C++ 源文件。

package 下也可以存放自定义通信格式,分别存放在 srv,msg 和 action 文件夹下。

launch 文件存放在 launch 文件夹下,launch 文件的好处是不用手动编译每一个可执行文件,参数设置文件 yaml 放在 config 文件夹下。

ROS常用命令:

ROS文件系统级的更多相关文章

  1. ROS学习(三)—— ROS文件系统

    一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...

  2. ROS计算图级

    上一节说到一个 package 可以包含多个可执行文件(节点),可执行文件需要被运行,就要了解ROS的通信架构,也就是计算图级,例: 小萝卜机器人拥有驱动系统,感知系统,控制系统等,要让它从指定位置到 ...

  3. 机器人操作系统(ROS)教程4:ROS的框架【转】

    转自:http://www.arduino.cn/thread-11351-1-1.html 在进行ROS的代码开发前,有必要了解一些ROS的概念.首先,ROS的系统代码分为两部分:main和univ ...

  4. Learning ROS for Robotics Programming - Second Edition(《ROS机器人编程学习-第二版》)

    Learning ROS for Robotics Programming - Second Edition <ROS机器人编程学习-第二版> ----Your one-stop guid ...

  5. ROS探索总结(二)——ROS总体框架

    个人分类: ROS 所属专栏: ROS探索总结   一.  总体结构        根据ROS系统代码的维护者和分布来标示,主要有两大部分:      (1)main:核心部分,主要由Willow G ...

  6. ROS学习笔记二:ROS系统架构及概念

    本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...

  7. ROS的文件系统 (二)

    ROS的文件系统的基本概念, ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件. Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件, ...

  8. ROS的文件系统

    这篇博客介绍一下ROS的文件系统的基本概念,用户可以直接在官方网站:http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem去查看官方手册. ...

  9. ROS官网新手级教程总结

    第 1 关卡:安装和配置 ROS 环境 目标:在计算机上安装和配置 ROS 环境. 安装 ROS 按照 ROS 安装说明进行安装. 管理环境 确定环境变量 ROS_ROOT 和 ROS_PACKAGE ...

随机推荐

  1. prometheus环境搭建

    1. 下载文件 wget https://dl.grafana.com/oss/release/grafana-6.2.4.linux-amd64.tar.gz tar -zxvf grafana-. ...

  2. Mock常用占位符一览

    1.随机字符串(类型 , 位数)@string(lower,10) lower : 小写字母upper : 大写字母number : 数字 2.随机int(下限 , 上限)@integer(60, 1 ...

  3. POJ3255(Roadblocks)--次短路径

    点这里看题目 3228K 485MS G++ 2453B 根据题意和测试用例知道这是一个求次短路径的题目.次短路径,就是比最短路径长那么一丢丢的路径,而题中又是要求从一点到指定点的次短路径,果断Dij ...

  4. MySQL-8.0.16 的安装与配置

    最近老是安装mysql, 但是由于各个环境下文件不互通,所以感觉笔记还是记录在这里比较方便.以下内容,是对网络上大家的笔记的搜集和整理,并经过自己的实践,记录下来.以便,让大家更好.更快的配置mysq ...

  5. nginx关闭日志功能access_log关闭

    网上一堆错误示例,我就不吐槽了,未经验证的各种关闭配置.emmm.... 错误示例: error_log off ; access_log on; 以上这些会产生名字为 off/on 的日志文件... ...

  6. vue动态绘制四分之三圆环

    参照网上的一个案例“参照的为绘制的是一个动态的圆环”,现在我的需求是改编成四分之三的圆环实现效果: 样式展示 canvas绘图基本操作设置就可以参考源代码链接:原文:https://blog.csdn ...

  7. 易优cms后台RCE以及任意文件上传漏洞

    前言 EyouCms是基于TP5.0框架为核心开发的免费+开源的企业内容管理系统,专注企业建站用户需求提供海量各行业模板,降低中小企业网站建设.网络营销成本,致力于打造用户舒适的建站体验.易优cms ...

  8. arm9交叉编译工具链

    Arm-linux-gcc: gcc和arm-linux-gcc的头文件并不一样. Eg. Arm-linux-ld:链接器,-T参数是使用链接器脚本. Eg. Arm-linux-readelf:读 ...

  9. sql 四舍五入 保留两位小数

    一.问题描述 数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 二.sqlserver解决方案: 1. 使用 Round() 函 ...

  10. 开源框架---tensorflow c++ API 一个卡了很久的问题

    <开源框架---tensorflow c++ API 运行第一个“手写字的例子”> 中可以说明tensorflow c++ API是好用的,.......