自动驾驶中间件:量产落地的关键技术

news2025/1/4 17:03:28

6db7dc5474d9c0f067a8e44715c0be59.jpeg


/ 导读 /


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


何为自动驾驶中间件


中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。


自动驾驶的中间件,也属于广义上的操作系统,但是它和QNX、Linux这些底层系统并不一样。本质上它是介于上层应用和底层系统之间的一套软件框架,是对软硬件资源进行管理、分配和调度的平台,充当着软件和硬件解耦的关键角色。它为上层的应用软件提供开发和运行所需的环境,方便开发者快速、高效、灵活地开发和集成自动驾驶软件。


ee84cac2dc2754fe32aa0e6e2e950a06.jpeg


中间件的主要任务是负责各类应用软件模块之间的通信以及对系统资源的调度。它的优点,是可以大大降低应用层软件的开发难度,使研发工程师可以完全把注意力集中到功能算法的开发上。总的来说,中间件是整个软件架构的核心组成部分。


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


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


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


bfa4fa63e73cce23fb47844a42b5a550.jpeg


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


通信中间件初探


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


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


d4a34ac7a4ce0ca27c2c599906af28ce.jpeg


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


中间件在自动驾驶中的机会


开发自动驾驶的中间件,就像是修公路一样,如果修得宽、修得好,那它能通行的车也会越多,通行的速度也会更快。如果中间件能打下一个好的基础,那么整个自动驾驶方案开发和应用的质量、效率也都会有不错的保障。


自动驾驶需要接收不同的传感器信号,然后进行感知、规划和控制,并由转向、油门和制动这些硬件系统来完成整个过程。所以自动驾驶的中间件会涉及到ECU管理、传感器管理、车辆模型管理、通信管理、任务管理、数据管理、安全管理、诊断管理、OTA管理、可视化管理。


自动驾驶的应用有着高可靠、高性能、高并发以及模块化的需求特征,而实时、安全、开放的自动驾驶中间件平台是实现这些的关键之一,同时也是推动“软件定义汽车”的重要基础。


814e45deea24aaf519bed2a34cb6911a.jpeg


在现阶段,国外厂商和开源中间件占据了绝大部分的市场份额。但是未来国产第三方软件厂商的机会正在来临。由于中间件行业特殊,多数时候需要针对不同客户的不同需求进行针对性的改造与适配,这对于国外厂商来说技术支持很难跟上,往往只是提供一系列不可更改的整套解决方案,对于开发者非常不友好。国产厂商可以抓住这个痛点,来更好地服务好客户,从而打开国产化的大门。


总结


对于想要量产智能驾驶功能的主机厂来说,中间件是必不可缺的,而自研不仅耗时耗力,消费者也很难直观感受到其成果,因此最好的方法便是与第三方软件厂商合作,而自身专注于智能驾驶算法功能的实现上。而随着中间件标准的逐渐规范,客户的逐渐增多,中间件未来的前景也非常光明,作为自动驾驶落地的关键技术,将会引来越来越多厂家的关注。

- End -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式-创建型模式

目录 4.创建型模式 4.1 单例设计模式 4.1.1 单例模式的结构 4.1.2 单例模式的实现 4.1.3 存在的问题 4.1.4 JDK源码解析-Runtime类 4.2 工厂模式 4.2.1 概述 4.2.2 简单工厂模式 4.2.3 工厂方法模式 4.2.4 抽象工厂模式 4.2.5 模式扩展 4.2.6 JDK源码解析-Collecti…

Kotlin~生成器模式

介绍 主要作用 逐步构造复杂对象,该对象的属性更多的扩展属性,如Glide的使用。 组成 Builder:提供逐步创建产品的步骤 Director:创建可复用的特定产品(规定Builder规定一系列的步骤创建产品,非必须&…

21新版FL Studio水果电音编曲Daw宿主软件好不好用?

首先是FL Studio(以下简称FL)的逻辑和其它宿主软件都不太一样,FL的逻辑就与众不同。FL的逻辑也可以分为三部分:通道机架、混音台和播放列表。在Live里每个发送轨都可以插入一个乐器以及若干个效果器。你有200个发送轨,…

vcenter 起不来报错VMware ESX 找不到虚拟磁盘“vCenter Server 7.0U3_12.vmdk”。请确认路径有效并重试

针对无快照时丢失.vmdk描述符文件:基础磁盘文件为-flat.vmdk是存在的 那个可以进行恢复操作步骤如下1.确定 flat.vmdk基础磁盘文件的大小(字节)2.创建与flat.vmdk相同大小的新的空虚拟磁盘。3.重命名新创建的.vmdk磁盘的描述符文件匹配原始虚…

如何运行一个py项目

在pycharm中打开项目文件确保安装python环境此时是使用python3.7版本,没有的话需要添加环境:add interpreter在anaconda(安装参考https://blog.csdn.net/m0_67357141/article/details/123633490)中选择基础环境(base&a…

Python中的列表

1.创建列表 使用中括号把要添加的元素括起来,不同元素用逗号隔开。 >>> rhyme [1, 2, 3, 4, 5, "上山打老虎"] >>> print(rhyme) [1, 2, 3, 4, 5, 上山打老虎]2.访问列表中的元素 (1)希望顺序访问列表中的元…

博弈论入门

分类 要素 常见博弈 完全信息静态博弈 纳什均衡 囚徒困境 古诺双寡头模型 古诺双寡头模型的条件 市场中有且仅有两家公司策略为同质商品的量,qiq_iqi​边际成本为c,生产成本就为c*q,在这里我们的边际成本是常数。需求曲线:Pa−b∗…

2009-01-从学校毕业步入社会

在一间坐满学生的教室中,台上同学正在对自己毕业答辩项目进行介绍,台下第一排坐着打分的老师,这群人正在进行计算机专业的毕业答辩,台下人群中一个叫刘文轩的同学紧张又期盼的看着前面正在进行答辩的同学,看着同学们优…

react中useReduer和useEffect

相信很多人对于变成中reduce、reducer命名都存在困惑,为了更好理解useRedecuer,我们不妨先来说说reduce。 如何理解reduce和reducer reduce:函数式编程当中的一个术语,reduce操作被称为Fold折叠 // 通过reduce,数组…

公司内部有奖知识答题活动怎么做

公司年会趣味问答、员工业务知识考核、消防安全、党史等知识测试......公司内部的答题活动已经成了众多管理者、HR日常工作中一部分。如何让组织者更轻松、更公平公正地举办答题活动?如何让员工更积极参与呢?试试答题小博士的有奖答题。有奖答题活动形式…

中晶FileScan 3222扫描仪 Code:-206,卡纸或滚筒出错

中晶FileScan 3222是中晶品牌下的一款扫描仪。 型号 3222 产品类型 平板式+馈纸式 扫描光源 LED

机器人中的数值优化之BFGS(convex and smooth)

本文ppt来自深蓝学院《机器人中的数值优化》 目录 1 Why Quasi-Newton Methods 2 Rate of convergence 3 Quasi-Newton Methods 3.1 Quasi-Newton approximation 3.2 preserve descent direction 3.3 secant condition 3.4 iterate B 3.5 Parsed solution B 4 Cont…

微信小程序学习第2天——模板语法与样式,全局配置与页面配置

文章目录一、WXML模板语法1、数据绑定2、事件绑定3、条件渲染4、列表渲染二、WXSS模板样式rpximport语法导入样式全局和局部样式三、全局配置全局配置文件及常用配置项windowtabBar四、页面配置一、WXML模板语法 1、数据绑定 数据绑定的原则:①在data中定义数据 ②…

亚信安慧携AntDB数据库入选信通院软件供应链厂商和产品名录

日前,中国信息通讯研究院(简称:中国信通院)在其主办的3SCON软件供应链安全大会上,发布了软件供应链厂商和产品名录。中国信通院云计算与大数据研究所副所长栗蔚表示,我国软件供应链安全发展面临制度体系待完…

微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)

高并发带来的问题 服务器雪崩效应 Sentinel入门高并发带来的问题模拟高并发服务器雪崩效应常见容错方案Sentinel入门(常见的容错组件)什么是Sentinel?订单服务集成Sentinel流控规则预热流控等待流控关联流控链路流控降级(提供一个兜底方案)慢调用比例异常比例异常数案例高并发…

显著图(Saliency map)

这里写目录标题概念应用算法传统算法静态显著性算法:对数光谱(SpectralResidual):静态显著性算法:细粒方法(FineGrained):人工智能算法基于眼动仪预测显著性区域方法积分梯度方法对比…

jsp学生宿舍管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 学生宿舍管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使…

【Vue】Vue的简介和特性

一、Vue简介Vue.js可以说是MVVM架构的最佳实践,是一个JavaScript MVVM库,是一套构建用户界面的渐进式前端框架。专注于MVVM中的ViewModel,不仅做到了数据双向绑定,而且也是一款相对比较轻量级的JS 库,API简洁。1. 构建…

Day 15 SpringBoot Condition

1 Condition作用:该功能可以选择性的创建Bean1.1 验证在Spring的IOC容器中有一个User的 Bean,现要求导入Jedis坐标后,加载该Bean,没导入,则不加载。【第一步】创建User对象Repository Conditional(ClassCondition.clas…

【yolov5系列】yolov5-onnxruntime在Ubuntu和RK芯片上运行

前言 这里yolov5的onnx模型的推理,分别在 x64上 和 移动端上运行,前者在自己本地Ubuntu系统上运行,后者在瑞芯微的rk3566上运行。 要完成如上工作我们需要一下步骤: 1 下载onnxruntime编译好的库2 下载opencv库并安装3 下载交叉编…