zoukankan      html  css  js  c++  java
  • 第六章 百度Apollo ROS介绍(1)

    1.背景介绍

    什么是ROS?

    2.ROS概述

    History of ROS

    基本概念:
    1.节点:可以理解为算法模块(感知模块,定位模块,控制模块等)。节点之间相互独立,可以相互通信。
    2.节点管理器:ROS core。把一些无序的节点,松耦合的节点有序的管理起来。轻量级。
    3.topic:两个节点之间建立消息通信的时候他们的主题,内部使用的数据格式是MSG
    4.上述概念有完整的命令行工具支持



    • SAMPLE:

    Roslaunch:便于启动节点,但不会启动ROS core

    ROS的编译系统:

    Roslaunch:其实是一个SHELL脚本文件。

    Gazebo Simulator仿真工具

    3.Apollo ROS原理1

    不足:一些试验性项目,topic(MSG)数据量较小,实际情况大得多,存在很大的性能瓶颈,使得时间延迟非常高,非常危险。单中心化的网络,存在明显的单点风险,数据交互存在风险。

    Apollo在实践当中的三种模块:

    • 1.通信性能优化:共享内存减少传输中的数据拷贝,显著提升传输效率
    • 2.单点网络拓扑,到多对多网络拓扑的优化
    • 3.数据格式的向后兼容

    4.Apollo ROS原理2

    去中心化网络拓扑:ROS以master为中心建立起来的hybrid p2p拓扑网络


    节点建立连接和通信的主要流程:

    1.订阅节点在启动的时候会向当前域中的所有节点发布信息
    2.所有节点和发送信息的节点两两建立联系,建立好连后,所有节点会向新加入的节点发送已有的拓扑信息。

    数据兼容性拓展

    • 缺点:

    protobuf:有很好的向后兼容的特性

    你将不再是道具,而是成为人如其名的人
  • 相关阅读:
    Resharper Visual studio中的插件
    MVC 中Simditor上传本地图片
    MVC编程模型
    数据库面试题
    SQL、索引
    存储过程详解
    EF的简单认识
    MVC是什么
    AOP面向切面编程
    SQL语句基本
  • 原文地址:https://www.cnblogs.com/wsl-lld/p/13448868.html
Copyright © 2011-2022 走看看