浅析自动驾驶中间件

Posted 中工汽车网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析自动驾驶中间件相关的知识,希望对你有一定的参考价值。

对于大多数关注自动驾驶的人来说,听得最多的是各种各样的上层应用软件和算法,以及芯片、传感器和转向、制动这样的新老硬件,中间件是一个少人问津的名词。
但中间件却也是极为重要的一环,它一定程度上决定了自动驾驶这件事“能不能做好”。尤其是随着自动驾驶产业化进程的深入,量产纷纷提上各家日程,越来越多人意识到中间件的重要性和必要性。
在早期开发中,中间件可以化整为零,将巨大的软件工程分解成若干小任务,分散解决。在后期应用时,它又可以化零为整,像拼积木一样,根据需求将一个个模块组合成一个整体,严丝合缝。
中间件的作用不胜枚举,贯穿自动驾驶开发和应用的始终。如果将它的特点淋漓尽致地发挥出来,对于自动驾驶的量产将会大有裨益。

一、智能化浪潮的“新基建”

我们可以看到当前汽车发展的很多趋势,比如“软件定义汽车”。借助于强大的软件和算法,很多新功能被开发出来,软件升级赋予了汽车“常用常新”的可能,软件订阅开始出现,OTA成为了“新常态”。
同时,汽车硬件的发展也日新月异。芯片算力大幅增长,摄像头像素呈翻倍之势,激光雷达出现在更多新车规划上……没有谁能够断言车上的传感器应该有多少,又或者是将来的汽车还会增加哪些硬件,但所有人都知道硬件的变化将会来得更加猛烈。
所以我们也可以看到,汽车对软硬件架构的要求也越来越高,既要能满足当下的需求,还要具备相当的前瞻性、兼容性和扩展性,能够实现接下来软硬件升级换代、增减模块的需求。
对于这些,开发者最直观的感受就是,软件系统日益庞大,代码行数快速增长;硬件的类型、数量和规格明显提升,电子系统的复杂性成倍增加;软件、硬件组合在一起所需克服的挑战,也像做乘法一样地被急剧放大。
可是,自动驾驶并非空中楼阁,要满足所有的这些需求和变化,一个好的基础至关重要。这就像一片荒地很难满足所有的种植需求,但是拥有环境控制系统,可以按需调整温度、湿度、光照、供水、肥料等变量的现代温室,能够培育任何的农作物。
而自动驾驶的中间件,就正是这样一个可以按需调整、满足各样需求的现代温室。它为上层的应用软件提供开发和运行所需的环境,方便开发者快速、高效、灵活地开发和集成自动驾驶软件。
所以某种程度上来说,中间件就是自动驾驶应用背景下的一项“新基建”。

二、软硬通吃的不二之选

自动驾驶的中间件,也属于广义上的操作系统,但是它和QNX、Linux这些底层系统并不一样。本质上它是介于上层应用和底层系统之间的一套软件框架,是对软硬件资源进行管理、分配和调度的平台,充当着软件和硬件解耦的关键角色。

浅析自动驾驶中间件

(纽劢科技的MaxOS中间件实现模块化的管理和应用)
具体来说,中间件通常对传感器、计算平台等资源进行抽象,对算法、子系统、功能采取模块化的管理,通过提供的统一接口,让开发人员能够专注于各自业务层面的开发,而无需了解无关的细节。
这样最直接的好处就是,整个系统的开发效率得到提高,软件部署得以简化,整体的扩展性也获得了提升。
常规的计算机操作系统对计算机的硬件和软件进行管理,会涉及处理器管理、存储管理、设备管理、文件管理、进程管理,比如androidios、Windows、Linux,就是其中的典型代表。那自动驾驶中间件,对于软硬件的管理又会有哪些内容呢?
自动驾驶需要接收不同的传感器信号,然后进行感知、规划和控制,并由转向、油门和制动这些硬件系统来完成整个过程。所以自动驾驶的中间件会涉及到ECU管理、传感器管理、车辆模型管理、通信管理、任务管理、数据管理、安全管理、诊断管理、OTA管理、可视化管理。
在我们看来,自动驾驶的应用有着高可靠、高性能、高并发以及模块化的需求特征,而实时、安全、开放的自动驾驶平台是实现这些的关键之一,同时也是推动“软件定义汽车”的重要基础。

三、量产应用之中露峥嵘

复杂的大型软件,尤其是自动驾驶,对开发和应用有着一系列的要求。所以行业内外,都不乏一些实力深厚的公司,根据自身的业务特点开发相应的中间件平台。
作为一家专注实现大规模量产应用的自动驾驶科技公司,纽劢科技也根据自动驾驶的特点专门开发了自动驾驶中间件——MaxOS平台。在实际的开发和应用过程中,中间件的作用已经得到了充分验证。

浅析自动驾驶中间件

(MaxOS中间件在系统中的作用)
典型的例子就是,不同车厂的硬件配置存在巨大差异,而同一车厂内的不同品牌、不同车型也会存在不同。借助于中间件平台,插拔式设计便成为可能,我们的整个自动驾驶系统方案,在开发时可以根据需求进行不同拓展,开发后也可以快速高效地进行软件迭代。
而这里的不同拓展,既可以体现为适配不同的传感器、芯片、车辆平台等硬件,也体现为选配不同的软件算法模块,实现不同级别的自动驾驶功能。对于主流的嵌入式平台、深度学习框架以及底层系统,我们的方案都可以支持,并且能够提供不同的优化方案,而不依赖任何第三方的组件。
开发自动驾驶的中间件,就像是修公路一样,如果修得宽、修得好,那它能通行的车也会越多,通行的速度也会更快。如果中间件能打下一个好的基础,那么整个自动驾驶方案开发和应用的质量、效率也都会有不错的保障。
因此,我们也尽量将MaxOS平台做到实时、安全和开放。MaxOS可以提供全局任务调度、实时性考量、数据流同步这些实时的调度,同时也通过高可靠通信、安全冗余设计、监控和诊断为应用保驾护航。除此之外,抽象出的接口也让上层应用和整个方案都具备高可移植性,第三方的支持可以通过开放协议来接入,而面向服务的架构(SOA)也为模块的拆分和调用提供了绝佳的基础。

四、中间件平台的“自我修养”

虽然说来轻巧,但是想要真正地做好这样一个中间件,并不轻巧。我们可以谈一些纽劢科技开发MaxOS平台的细节。
在底层系统层面,我们打通了OSI(开放式系统互联)接口,对不同系统的接口进行封装。同时,对世界模型的相关数据结构进行定义和描述,将传感器数据解析成世界模型中的数据表示,分离传感器数据接入方式和数据解析。
在MaxOS平台的库中,我们开发和配置了自动驾驶系统应用的基础组件,包括日志、配置、通讯、资源隔离、线程池、内存池、无损队列等等。自动驾驶所需的相关算法,比如数值计算、密码学算法、坐标系转换算法、视觉算法等等,也都一应俱全。
在系统功能模块方面,我们提供了执行管理、状态管理、时间同步、通讯、诊断、监控以及一些其他的模块。这能确保平台系统、应用功能、系统资源按照正确的配置运行,并且状态得到高效管理,模块间的通讯畅通无阻,出现的问题能第一时间诊断。

浅析自动驾驶中间件

(执行和状态模块示意)
这些功能模块,不是对常规计算机系统、中间件平台的照搬和沿用,而是根据自动驾驶需求进行的开发和创新。比如,通讯的接口,支持基于话题发布-订阅的通讯方式。在ECU之间的通信节点,支持建立TCP长连接的方式进行通信,提高了通讯系统的扩展性。在ECU内部的通信节点,支持共享内存的通讯方式,通过传递共享内存指针的方式,让数据可以做到零拷贝从而提升了通信系统的吞吐量和速度。

浅析自动驾驶中间件

(通信模块示意)
尤其是考虑到升级需求、安全需求,我们开发了相应的OTA模块、身份认证和访问控制模块。同样还有工具箱,我们目前已经针对空工程创建、图像处理、性能分析、标定、通讯的需求开发了二十项工具。

(OTA模块示意)
在这些库和功能模块的基础上,无论是视觉、雷达这些感知的模块,还是GPS、IMU的信号接入模块,又或者导航、融合、规划、控制等等模块,在定义好接口协议的情况下,都能通过MaxOS平台结合在一起。
我们从基础平台功能、自动驾驶功能、性能水平、灵活性、安全性五个维度对MaxOS平台做了评估,它的表现非常不错,即使对比一些主流的中间件平台也优势明显,可以充分满足自动驾驶的应用需求。

2021年动力电池回收利用作为政策热点和关注焦点通过本次政府工作报告被旗帜鲜明点出,凸显了新能源产业链的全链建设和末端处理的重要性。据中国动力电池回收与梯次利用联盟数据,2020年中国新能源汽车保有量已达492万辆,累计退役的动力电池有23GWh。预计动力电池将迎来井喷式退役,2025年我国退役电池将累计高达125GWh,其中三元锂电池占比50%以上,且年复合增长率达高达70%。接下来几年都将是回收高峰期,新能源汽车动力电池回收利用已然站在风口。

中国动力电池回收与梯次利用联盟、中国电子节能技术协会将于2021年5月17-18日在北京举办“第六届动力电池回收利用高峰论坛”。

组委会联系方式:

联系人:张 鑫

联系方式:010-8811 9350

                  131-2690-4348(同微信)

邮箱:dchslm2019@126.com

免责声明】文章为作者独立观点,不代表中工汽车网立场,仅用于学习交流。如因作品内容、版权等存在问题,请于本文刊发30日内联系中工汽车网进行删除。

以上是关于浅析自动驾驶中间件的主要内容,如果未能解决你的问题,请参考以下文章

不谈硬件,不谈软件,谈谈自动驾驶的中间件

浅析“自动驾驶” 模型评测与分析

自动驾驶通信中间件ecal源码分析—1. 什么是ecal

自动驾驶通信中间件ecal源码分析—1. 什么是ecal

自动驾驶通信中间件ecal源码分析—1. 什么是ecal

安波福(Aptiv)选择RTI方案开发自动驾驶系统