自动驾驶中间件

自动驾驶中间件

  • [1. 什么是中间件](#1. 什么是中间件)
  • [2. 中间件的分类](#2. 中间件的分类)
  • [3. 自动驾驶为什么需要中间件](#3. 自动驾驶为什么需要中间件)
  • [4. 通信中间件](#4. 通信中间件)

Reference:

  1. 自动驾驶中间件:量产落地的关键技术
  2. 通俗易懂的告诉你什么是中间件

对于初入自动驾驶行业的人来说,各色各样的新型传感器、线控系统、芯片域控制器、算法软件似乎是自动驾驶未来实现的重中之重,对于中间件大多数人可能都不太熟悉,有些甚至从未听说过其存在。但中间件却也是极为重要的一环,它一定程度上决定了自动驾驶这件事能不能真正落地。尤其是随着自动驾驶产业化进程的深入,量产纷纷被各家企业提上日程,越来越多人意识到中间件的重要性和必要性。

1. 什么是中间件

维基百科这样定义:中间件是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源、中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。

通过定义我们可以总结判断出:

  • 中间件是软件;
  • 系统软件和应用软件之间、软件各部件之间;
  • 管理客户机与系统软件之间的计算资源和网络通信;
  • 中间件为应用软件服务、应用软件为最终用户服务,最终用户并不直接使用中间件。

2. 中间件的分类

基于中间件的功能特点等,中间件可以分为基础中间件、集成中间件和行业领域应用平台。

类型名称 分类描述
基础中间件 包括交易中间件、消息中间件、应用服务器中间件等,主要用于节点之间、应用于服务器之间的互联互通、交易请求的高效处理,Web应用的构建等,基础中间件产品是构建分布式应用的基础
集成中间件 主要用于异构系统(如不同的数据库系统、业务应用系统等)之间进行资源整合,以实现互联互通、数据共享、业务流程系统统一等功能,并构建灵活可扩展的分布式企业应用
行业领域应用平台 为了满足特定的行业、企业需求,易于快速、方便地的构建应用,而在原有基础中间件、集成中间等的基础之上所开发的中间件,根据所提供的服务不同,行业领域应用平台包括文件交换管理、数据共享交换、支持云计算和物联网的平台中间件等

3. 自动驾驶为什么需要中间件

中间件存在的最重要的功能便是通过对计算平台、传感器等资源进行抽象,对算法、子系统、功能采取模块化的管理,并提供统一接口,让开发人员能够专注于各自业务层面的开发,无需了解无关细节,从而极大提升算法开发效率。

对于软件开发者来说,智能驾驶中间件使开发者们无需考虑底层的 OS 内核是什么,也无需考虑硬件环境是什么,即不仅实现了应用软件与 OS 的解耦,也实现了应用软件与硬件的解耦;而后者则确保了数据能够安全实时地传输、资源进行合理的调度。

在自动驾驶领域,中间件的功能涉及到通信、模块升级、任务调度、执行管理,但其最主要的功能还是通信。通信中间件的引入整体上可以帮助开发人员提高工作效率,接下来将聊聊通信中间件:

(比如 ROS 在自动驾驶开发中,属于中间件的层级,本身具有完备的客户端,并且提供了丰富的函数接口,可以很好地适配上下层不同的应用和下层的通信。ROS 属于中间件,但是中间件的概念很泛化,ROS 属于中间件但是不属于通信中间件)

4. 通信中间件

通信中间件非常重要,也是目前各家智能驾驶企业非常关注与重视的方向。目前通信中间件主要有 SOME/IPDDSMQTT。现阶段,SOME/IPDDS 是自动驾驶上用得最多的两类通信中间件。二者都是面向服务的通信协议,都采用了"以数据为中心"的发布-订阅模式。SOME/IP 在汽车领域深耕的时间比较长,而 DDS 则是一个工业级别的强实时的通信标准。

应用在自动驾驶上,DDS 具备了高度的灵活性和扩展性、实现软硬件解偶、多种 QoS(质量服务策略)、丰富的应用场景等特点,也渐渐被行业人员所了解与接受。事实上,DDS 和 SOME/IP 尽管存在竞争关系,但也是可以共存的。有的主机厂既用了 DDS,也用了 SOME/IP,只是使用的场景不一样------有时候是在一个核上的进程之间进行通信,有时候是核与核之间进行通信,有的时候是域控制器和其他的车载娱乐系统进行通信等等。

目前在多数企业中,由于 SOME/IP 本身就是为汽车行业制定的通信标准,因此 SOME/IP 在之前的使用率会稍微高一些,DDS 也是近两年才慢慢被多家的造车新势力和传统主机厂所采纳。但从趋势来看,未来,DDS 的市场占有率较于SOME/IP是具备明显优势的

相关推荐
算家云2 分钟前
快速识别模型:simple_ocr,部署教程
开发语言·人工智能·python·ocr·数字识别·检测模型·英文符号识别
youcans_33 分钟前
【微软:多模态基础模型】(5)多模态大模型:通过LLM训练
人工智能·计算机视觉·大模型·大语言模型·多模态
飞凌嵌入式37 分钟前
飞凌嵌入式T113-i开发板RISC-V核的实时应用方案
人工智能·嵌入式硬件·嵌入式·risc-v·飞凌嵌入式
sinovoip38 分钟前
Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计
人工智能·科技·物联网·开源·risc-v
搏博1 小时前
神经网络问题之一:梯度消失(Vanishing Gradient)
人工智能·机器学习
z千鑫1 小时前
【人工智能】深入理解PyTorch:从0开始完整教程!全文注解
人工智能·pytorch·python·gpt·深度学习·ai编程
YRr YRr1 小时前
深度学习:神经网络的搭建
人工智能·深度学习·神经网络
威桑1 小时前
CMake + mingw + opencv
人工智能·opencv·计算机视觉
爱喝热水的呀哈喽1 小时前
torch张量与函数表达式写法
人工智能·pytorch·深度学习