一种基于Unreal的车载安卓平台通信结构实现方法技术

技术编号:36268915 阅读:15 留言:0更新日期:2023-01-07 10:09
本发明专利技术涉及智能座舱技术领域,具体涉及一种基于Unreal的车载安卓平台通信结构实现方法,所述方法包括如下步骤:虚幻引擎插件接收数据;进行数据比较并存储;更新更新列表;反射数据映射;进行数据分发。本发明专利技术通过插件以及反射机制,使Unreal的项目可以获取对应车机平台的数据消息,做到收发数据的同时保证了数据的实时性和准确性;同时将变更的数据通知到对应的模块或者工程,过滤掉重复的相同的数据,避免了相同数据的重复发送造成的系统资源浪费;反射、缓存、分发的方式,提供了在不同工程项目的可移植性,不需要不同工程单独开发和维护,节约了人力成本。节约了人力成本。节约了人力成本。

【技术实现步骤摘要】
一种基于Unreal的车载安卓平台通信结构实现方法


[0001]本专利技术涉及智能座舱
,具体涉及一种基于Unreal的车载安卓平台通信结构实现方法。

技术介绍

[0002]Unreal,是Unreal Engine的简写,即虚幻引擎,是全球开放、先进的实时3D创作工具,此前在游戏开发者和各行各业,为创作者提供了前所未有的自由度、保真度和灵活性,帮助他们实现实时3D内容和体验。
[0003]随着汽车技术的发展,电子化、信息化、智能化已然成为未来新能源汽车的重要方向。智能座舱作为车载智能化重要体现窗口,旨在集成多种IT和人工智能技术,打造全新的车内一体化数字平台,为驾驶员提供智能体验,促进行车安全,目前国内外已经有很多针对智能座舱的研究工作。
[0004]现有技术中,智能座舱领域使用传统的数据传输能够将数据消息传送到插件层或者工程中,但是数据量太大以及频率过快的问题会导致直接使用的情况很复杂,同时对于不同的项目工程,无法快速移植使用,需要花费大量的时间重写处理逻辑;而Unreal Engine对插件和工程代码会进行属性/接口函数的统一反射管理,通过插件以及反射机制,使Unreal的项目可以获取对应车机平台的数据消息,做到收发数据的同时保证了数据的实时性和准确性,数据通过本地缓存的方式进行储存,本地储存最新的数据,同时将变更的数据通知到对应的模块或者工程,过滤掉重复的相同的数据。
[0005]然而,传统的智能座舱中使用的Kanzi、Unity或者其他HMI工具链的消息通知传送到显示界面的过程中,由于工具的特性没有需要特别处理的地方,所以现有方式无法应用于Unreal Engine的智能座舱/自动驾驶项目,现有的智能座舱
中也没有使用Unreal Engine的先例,因此亟需一种基于Unreal的车载安卓平台通信结构实现方法。

技术实现思路

[0006]针对传统的数据传输中数据量太大以及频率过快导致直接使用的情况很复杂,同时对于不同的项目工程无法快速移植使用,需要花费大量的时间重写处理逻辑的问题,提出了一种基于Unreal的车载安卓平台通信结构实现方法。
[0007]为了实现上述目的,本专利技术通过如下的技术方案来实现:一种基于Unreal的车载安卓平台通信结构实现方法,所述方法包括如下步骤:步骤S1:虚幻引擎插件接收数据;步骤S2:进行数据比较并存储;步骤S3:更新更新列表;步骤S4:反射数据映射;步骤S5:进行数据分发。
[0008]作为本专利技术的一种优选方案,虚幻引擎插件接收数据具体为:MCU获取传感器数
据,进行初步处理后将数据传输到车机平台,车机平台将所述数据回调到虚幻引擎插件中。
[0009]作为本专利技术的一种优选方案,车机平台为Android时,通过Jar包的方式,提供数据接口将数据回调到虚幻引擎插件中。
[0010]作为本专利技术的一种优选方案,所述数据包括数据名称和数据的值。
[0011]作为本专利技术的一种优选方案,进行数据比较并存储的具体方法为:将回调的数据与虚幻引擎插件中已存储的缓存数据进行比较,若缓存数据有更新,则更新标志位,进而更新存储表;若缓存数据没有更新,则直接更新存储表。
[0012]作为本专利技术的一种优选方案,新出现的数据同样视为有更新的数据,额外存储到更新列表中。
[0013]作为本专利技术的一种优选方案,更新更新列表前进行标志位的判断以检验更新是否出错。
[0014]作为本专利技术的一种优选方案,反射数据映射具体为:分发消息的Actor通过反射机制查找到虚幻引擎插件存储表中的缓存数据,并将更新列表映射到本地表中。
[0015]作为本专利技术的一种优选方案,进行数据分发具体包括:需要数据的接收模块注册关心的数据名称,即:将需要的数据名称传递给分发消息的Actor,分发消息的Actor不停访问本地表中的数据,当收到新的数据且与本地表中的不同时,根据数据名称遍历所有的接收模块,如果接收模块注册了所述数据名称,则调用所述接收模块的函数接口,发送数据至需要数据的接收模块。
[0016]与现有技术相比,本专利技术的有益效果是:数据通过本地缓存的方式进行存储,将回调的数据与虚幻引擎插件中已存储的缓存数据进行比较,这样保证存储的缓存数据始终是最新的数据,方便后续出现问题进行调试;将新出现的数据视为有更新的数据,额外存储到更新列表中,避免了相同数据的重复发送造成的系统资源浪费;通过反射的方式将缓存数据直接映射到工程分发用的Actor中,相当于是直接读取内存中的数据;通过插件以及反射机制,使Unreal的项目可以获取对应车机平台的数据消息,做到可以收发数据的同时保证了数据的实时性和准确性;同时将变更的数据通知到对应的模块或者工程,过滤掉重复的相同的数据;反射、缓存、分发的方式,提供了在不同工程项目的可移植性,不需要不同工程单独开发和维护,节约了人力成本。
附图说明
[0017]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。其中:图1为本专利技术实施例中的方法流程图。
具体实施方式
[0018]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例的附图,对本专利技术实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于所描述的本专利技术的实施例,本领域普通技术
人员所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]需要具体说明的一些术语:反射:是指计算机程序在运行时可以访问、检测和修改它本身状态或行为的一种能力。抽象的来说,反射就是程序在运行时动态获取对象信息以及调用对象方法的能力。在虚幻引擎4 C++中,反射的功能意义之一就是支持蓝图和C++的交互功能。可视化的体现就是,我们可以在虚幻引擎4的编辑器或蓝图中等让各种类、函数、成员变量、结构等在我们想出现的地方出现,在我们想使用的地方使用。原生C++并不支持反射,虚幻引擎4 C++构建了一套反射系统,如在虚幻引擎4中声明的任意一个类,都是继承于UObject类,使用这个类进行网络复制,执行垃圾回收,让他和蓝图交互等等。
[0020]MCU:Microcontroller Unit,微控制单元,又称单片微型计算机或者单片机,是把中央处理器的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机。
[0021]jar包:就是Java Archive File,顾名思义,它的应用是与 Java 息息相关的,是 Java 的一种文档格式,是一种与平台无关的文件格式,可将多个文件合成一个文件。
[0022]Actor:一个常用基类。
[0023]如图1所示,为本专利技术的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Unreal的车载安卓平台通信结构实现方法,其特征在于,所述方法包括如下步骤:步骤S1:虚幻引擎插件接收数据;步骤S2:进行数据比较并存储;步骤S3:更新更新列表;步骤S4:反射数据映射;步骤S5:进行数据分发。2.根据权利要求1所述的一种基于Unreal的车载安卓平台通信结构实现方法,其特征在于,虚幻引擎插件接收数据具体为:MCU获取传感器数据,进行初步处理后将数据传输到车机平台,车机平台将所述数据回调到虚幻引擎插件中。3.根据权利要求2所述的一种基于Unreal的车载安卓平台通信结构实现方法,其特征在于,车机平台为Android时,通过Jar包的方式,提供数据接口将数据回调到虚幻引擎插件中。4.根据权利要求3所述的一种基于Unreal的车载安卓平台通信结构实现方法,其特征在于,所述数据包括数据名称和数据的值。5.根据权利要求4所述的一种基于Unreal的车载安卓平台通信结构实现方法,其特征在于,进行数据比较并存储的具体方法为:将回调的数据与虚幻引擎插件中已存储的缓存数据进行比较,若缓存数据有更新,则更新标志位,进而更新...

【专利技术属性】
技术研发人员:张校瑄
申请(专利权)人:润芯微科技江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1