• 机器人操作系统——ROS,Robot Operating System


    Note:偶然看到的滴滴研究院的无人驾驶竞赛,了解一下。

    ROS:专为机器人软件开发所设计出来的一套电脑操作系统架构。是一个开源的元级操作系统(后操作系统),提供类似操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,同时提供一些工具和库用于获取、建立、编写和执行多机融合的程序。

    插曲:什么是元级操作系统呢?

    ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes),使得可执行文件能被单独设计,并且在运行时松散耦合。

    ROS概念,分为三个层次:

    Filesystem level:

    文件系统层概念就是你在碟片里遇到的资源,例如:

    Packages:ROS的基本组织,可以包含任意格式文件。一个Package可以包含ROS执行时处理的文件(nodes),一个ROS的依赖库 ,一个数据集合,配置文件或一些有用的文件在一起。

    Manifests:manifest.xml提供关于Package元数据,包括它的许可信息和Package之间依赖关系,以及语言特性信息像编辑旗帜(编译优化参数)。

    Stacks:Stacks是Packages的集合,提供一个完整的功能,像“navigation stack”  Stack与版本号关联,同时也是如何发行ROS软件方式的关键。

    Manifest Stack Manifests:Stack manifes(stack.xml)提供关于Stack元数据,包括它的许可信息和Stack之间依赖关系。

    Message(msg) types:信息描述,位置在路径:my_package/msg/MyMessageType.msg,定义数据类型在ROS的messages ROS里面。

    Serivice(srv) types:服务描述,位置在路径:my_package/srv/MyServiceType.srv,定义这个请求和相应的数据结构在ROS service里面。

    Communication level

    Computation Graph level:

    计算图就是用ROS的P2P(peer-to-peer 网络传输协议)网络集中处理所有的数据。

  • 相关阅读:
    re.sub函数的深入了解
    xpath
    改变评分查询
    Boolean Query
    固定分数查询
    Unicode编码的原型
    java中基本类型占用字节数
    Java Socket网络编程的经典例子(转)
    (转)工厂模式
    (转)java垃圾回收机制
  • 原文地址:https://www.cnblogs.com/bolumiere/p/6525538.html
Copyright © 2020-2023  润新知