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:有很好的向后兼容的特性

    你将不再是道具,而是成为人如其名的人
  • 相关阅读:
    问题 D: 错误探测
    问题 C: 计算矩阵边缘元素之和
    同行列对角线的格子
    矩形交换行
    问题 R: 鸡尾酒疗法
    问题 : 字符串p型编码
    循环结构 整数的个数
    字符串c++字符环
    ISBN码字符串c++
    Uva
  • 原文地址:https://www.cnblogs.com/wsl-lld/p/13448868.html
Copyright © 2011-2022 走看看