zoukankan      html  css  js  c++  java
  • ros学习之ros文件系统级

    一个ROS程序的不同组件要放在不同欧冠你的文件夹下,这些文件夹根据功能的不同来对文件组织

    (1)、功能包(package)

    功能包构成ROS中的原子级,一个功能包具有创建ROS程序的最小结构和最少内容。他可以包含ROS运行时进程(节点)、配置文件等,

    由一种特定结构的文件和文件夹组合,结构有

    ·include/package_name/:此目录包含了需要的库的头文件。
    ·msg/:如果开发需要非标准的消息,请把文件放在这里。
    ·scripts/:其中包括Bash、Python或任何其他脚本语言的可执行脚
    本。
    ·src/:这是存储程序源文件的地方。你可能会为节点创建一个文件
    夹或按照希望的方式组织它。
    ·srv/:这表示服务(srv)类型。
    ·CMakeLists.txt:这是CMake的生成文件。
    ·package.xml:这是功能包清单文件
    打开一个package.xml文件,可以看到包的名称、依赖关系等信息。 功能包清单的作用就是为了方便安装和分发这些功能包。
    在package.xml文件中使用的两个典型标记是<build_depend>和 <run_depend>。
    <build_depend>标记会显示当前功能包安装之前必须先安装哪些功 能包。这是因为新的功能包会使用其他包的一些功能。
    <run_depend>标记显示运行功能包中代码所需要的包

    (2)、功能包清单(package manifest)

    功能包清单提供关于功能包、许可证、依赖关系、编译标志等信息。包清单中有一个名为package.xml的文件管理

    (3)、元功能包(metapackage)

    元功能包是一些只有一个文件的特殊 包,这个文件就是package.xml,用于组织多个用于同一目的功能包。

    (4)、消息类型(msg)

    消息是ROS节点之间发布/订阅的通信消息,可以使用ROS提供的消息类型,也可以使用.msg文件在功能包的msg文件夹下自定义需要的消息类型

    消息类型必须具有两个主要部分:字段(field)和常量 (constant)。字段定义了要在消息中传输的数据类型,例如int32、 float32、string或之前创建的新类型,如叫作type1和type2的新类型。常 量用于定义字段的名称。

    (5)、服务类型(service)

    服务类型定义了ROS服务器/客户端通信模型下的请求和应答数据类型,可以使用ROS系统提供的服务类型,也可以使用.srv文件在功能包的srv文件夹中定义

    ROS中有一些在服务上执行某些操作的工具。rossrv工具能输出服 务说明、.srv文件所在的包,并可以找到使用某一服务类型的源文件。 如果你想要在ROS中创建一个服务,可以使用服务生成器。这些工 具能够从基本的服务说明中生成代码。只需要在CMakeLists.txt文件中加 一行gensrv()命令。

    (6)、代码

    放置功能包节点源代码的文件夹

  • 相关阅读:
    IO流之File类
    CPU单核多核区别【转载】
    [转载] MySQL的四种事务隔离级别
    事务的四大特性,以及隔离级别
    [转载] spring aop 环绕通知around和其他通知的区别
    [转载] Spring框架——AOP前置、后置、环绕、异常通知
    spring框架 AOP核心详解
    汇编语言--操作数的寻址方式(三)
    汇编语言--CPU资源和存储器(二)
    汇编语言学习--基础知识(一)
  • 原文地址:https://www.cnblogs.com/zhongllmm/p/14761461.html
Copyright © 2011-2022 走看看