第六章 百度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:有很好的向后兼容的特性

你将不再是道具,而是成为人如其名的人
原文地址:https://www.cnblogs.com/wsl-lld/p/13448868.html