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

    你将不再是道具,而是成为人如其名的人
  • 相关阅读:
    JavaScript中的闭包
    正则表达式(括号)、[中括号]、{大括号}的区别
    写出将字符串中的数字转换为整型的方法,如:“as31d2v”->312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串
    正则替换实现字符串链接每4位用“-”连接成新的字符串
    memcache搭建
    MySQL优化
    网络优化
    JDK配置及tomcat部署
    oracle中增加pga和sga
    sudo用法
  • 原文地址:https://www.cnblogs.com/wsl-lld/p/13448868.html
Copyright © 2011-2022 走看看