来源 | 焉知智能汽车
智库 | 云脑智库(CloudBrain-TT)
云圈 | 进“云脑智库微信群”,请加微信:15881101905,备注研究方向
下一代自动驾驶架构设计中已经倾向于以软件定义汽车的方式集合,主要涉及中央集中处理单元的方式会存在较大的改变。这一改变主要体现在外围传感单元将不再有单独的分布式处理单元进行数据前端处理,而更多的是仅仅作为感知单元将相应的感知数据集中到中央处理单元中进行综合处理。面向自动驾驶场景,高精度地图让自动驾驶车辆人性化地理解不断变化的现实环境,通过云端实时更新的多图层高精度地图数据,在自动驾驶车感知、定位、 规划、决策等模块起到重要作用。当前高精度地图的数据处理方式主要是放在自己单独的地图盒子里面进行前端处理,包含将原始高精地图的建图数据进行有效的分析分解形成自动驾驶域控制器可用的数据。这一过程我们通常称之为EHP(Electronic Horizon Provider)数据到EHR(Electronic Horizon Reconstructor)数据的转化。EHP是ADASIS协会的一个标准,这个标准它主要是为了解决在CAN总线上各模块异构的问题,能够以CAN总线消息的方式,向以太网或者向CAN总线发送这个地图数据,告诉所ECU前方的情况是什么样。所以它也叫EHP,eHorizon也就是电子地平线。车辆通过EHP它就能够知道前方的路况怎么样,前方是不是有比较大的弯道,前方限速是不是有变化或者是不是车辆马上该出主路了等等。然后用EHP播发地图时相当于把一个地图的语言转成一个汽车的语言。而实际上,在自动驾驶中央域控制器单元中,还是无法直接利用高精地图地平线直接的播发EHP数据,而是需要在终端进行重构,重构后的Can数据才能真正的为自动驾驶系统所用。其中,该重构的过程包含了电子地平线数据的提取、存储、同步和格式转化等几个过程,这个详细的数据处理模块也正是放在高精度地图盒子里的。为了适应下一代自动驾驶系统的开发需求,我们实际是把如上数据处理过程放入了中央控制单元进行。所有的开发算法需要由自动驾驶AI/SOC芯片或者MCU芯片来承担。由于将高精度地图原始数据直接输入至自动驾驶中央域控制器中,这就要求域控制器具备足够高的处理能力,这里我们通常考虑的指标包含了算力、带宽、利用率等几个因素。众所周知,MCU作为决策规划的高级别处理单元,对自动驾驶传感输入端的结果数据处理是够用的,但是对于以指数级别递增的原始传感数据,则显得无能为力。因此,我们在高精地图数据处理及转化中也通常会放到前端SOC芯片中,因为其算力、带宽及融合算法都是相对成熟的。如下图表示了一种高精地图集中式数据处理的结构图。本文将针对性讲解自动驾驶域控制器如何将前端EHP数据转化为后端可处理执行的EHR数据。自动驾驶域控制器在针对高精地图数据的集中式处理方式上主要是采用了紧耦合方式,其原理是将图商提供的地图原始数据EHP与AI芯片算法需要使用的数据(主要包含传感器感知数据、IMU数据、轮速数据、RTK数据)进行有效融合,最终生成可以直接供自动驾驶域控制器逻辑处理单元MCU利用的高精度定位信息EHR。届时,数据定位与播发EHP,数据管理与重构EHR的任务都交给了中央域控制器内部处理单元进行,图商只是提供众包和生成的底图。就内部数据传输而言,以上EHP与EHR两者之间仍旧基于ADASIS V3协议进行通信,自动驾驶控制算法模块能够直接利用的仍旧是EHR信息,因此EHR仍旧需要解析以及向上层应用输出统一接口(一般为直接的CAN数据)。在我们针对EHP转EHR的软件设计中主要需要考虑如下一些设计原则,才能确保转换后的数据是准确无误的。地图数据传输过程中需要严格按照ADASIS V3标准进行封装,EHR在解析地图数据包EHP时,需要严格按照ADASIS V3接口标准进行,保障地图数据传输过程中的正确性。此外,EHR系统内部算法需采用统一的数据模型,确保内部运算的稳定性。一般的EHP与EHR在控制器内部通信协议中仍旧采用原始以太网的方式进行。当前不同的图商在地图数据包的传输和内容封装上都有各自不同的标准和格式。如何设计有效的算法模型能够作为基准让所有的图商适配这套EHR软件系统是必须要考虑的问题。自动驾驶对于高精定位的需求不会是一层不变的,往往会随着功能的迭代出现大幅的增加。软件的可更新度就是可以尽量确保当有新的需求需要更改融合定位软件时,无需更改软件逻辑架构,而只是在已有软件架构基础上做一定的参数标定即可。实现方法是可以弱化软件定位软件模块间的耦合度,对外封装单独的标定参数接口。有前文分析,EHR软件模块可看成是一种简单的TCP协议架构,主要包含物理层、数据链路层、数据过渡层以及接口封装层四个层级,且每个层级都是为上一个层级服务的。如下图所示是各个层级之间的关系图。如上图所示的地图数据转换模型中,从下至上的数据模型构建分别可以起到的作用如下:负责地图终端数据抽取,使用的网络协议主要为ethernet/SomeIp,抽取完成的数据应用ADASIS基本地图协议进行初级解析,解析完成的数据放入数据缓冲池,作为数据中间件的数据源。由于原始地图数据提供的数据格式存在一定的差异,可能导致系统对于EHP到EHR的重构算法失败,因此数据链路层的主要任务是负责将原始地图所表示的EHP数据转换成上层系统所要求的数据格式,由此对数据过渡层提供统一的道路数据结构。这里需要注意物理层与数据链路层在进行模块数据处理(读取和写入)时,都采用了多线程的方式,因此各个处理模块之间是彼此独立不影响的。
这是数据转换中最重要的单元,数据过渡层主要负责高精地图原始众包数据EHP到EHR数据的实际转化过程,同时,该过程融合了自车提供的导航数据信息,生成了基于实车导航数据的高精度地图信息。其中,导航地图(SD)完成道路级路径规划,输出路径地图特征信息,在 高精地图(HD)中完成道路路径匹配,并规划出相应的车道级路径。此外,由于ADSIS V3协议采用了增量更新策略。即,在地图还原过程中需要引入多帧数据叠加才能确保还原效果,因此在数据过度层中设置高速数据Cache可以完美地保持住当前的输入数据帧,并确保连续性。包含优化数据接口封装层对数据访问效率,提升数据链路层对数据应用接口层对数据的读取效率。
由于重构的EHR数据信息可能在真实地整车级数据协议上存在不适配的情况,这就要求在数据封装时进行接口适配和数据重整合。接口适配是需要使接口输出模块对应于输出协议,其重构的内容符合整车要求的信号协议(如Can协议)。
下一代自动驾驶系统架构已经倾向于完全集中式设计方案,即将所有原始传感器处理的数据纳入中央集中式处理,这一过程也涉及到将以前的高精地图盒子所承载的数据转化功能纳入自动驾驶域控制器中进行。这里我们需要明确地知道相关地图数据的提取、转化、缓冲以及封装等各个重要单元的工作步骤、原理及关键点。ADASISV3协议作为高级驾驶员辅助系统接口规范,其定义了“ADAS Horizon”的概念,作为一种手段,可以精确地传达部分道路网络及其特征。因此,在我们做数据转化过程中通常也都是基于ADASISV3协议进行的,并且,后续从上层角度出发实现数据转换包的开发。这其中所有的算法过程都需要后续嵌入到域控制器中。由此,我们在前期设计域控制器时,就需要从算力(包含AI算力以及逻辑算力)、带宽、DDR、eMMC、接口资源需求以及功能安全需求等几个方面充分考虑其是否能够完全满足高精定位系统的需求。- The End -
声明:欢迎转发本号原创内容,转载和摘编需经本号授权并标注原作者和信息来源为云脑智库。本公众号目前所载内容为本公众号原创、网络转载或根据非密公开性信息资料编辑整理,相关内容仅供参考及学习交流使用。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请跟我们联系。我们致力于保护作者知识产权或作品版权,本公众号所载内容的知识产权或作品版权归原作者所有。本公众号拥有对此声明的最终解释权。
投稿/招聘/推广/合作/入群/赞助 请加微信:15881101905,备注关键词
微群关键词:天线、射频微波、雷达通信电子战、芯片半导体、信号处理、软件无线电、测试制造、相控阵、EDA仿真、通导遥、学术前沿、知识服务、合作投资.
“阅读是一种习惯,分享是一种美德,我们是一群专业、有态度的知识传播者.”
↓↓↓ 戳“阅读原文”,加入“知识星球”,发现更多精彩内容.
/// 先别走,安排点个“赞”和“在看” 吧!↓↓↓