当前位置: 首页 > 专利查询>三峡大学专利>正文

基于Opendds的Modelica平台与UE4的协同仿真方法技术

技术编号:35818647 阅读:40 留言:0更新日期:2022-12-03 13:43
本发明专利技术涉及基于Opendds的Modelica平台与UE4的协同仿真方法,包括:利用Modelica平台软件进行仿真对象建模,得到Modelica语言的模型文件;解析模型文件,生成仿真模型源代码;利用Opendds中间件的发布/订阅机制,以Modelica平台为发布端,UE4软件为订阅端,通过源码集成建立Modelica平台和UE4软件的数据传输通道;建立UE4仿真场景,在仿真场景中加载Opendds订阅端插件,并将Opendds订阅端插件内接口函数封装为蓝图节点,UE4仿真场景中调用订阅端,接收仿真对象数据,在仿真场景中加载仿真对象;加载本地资源,设置仿真对象的摄像机视角,启动仿真对象的多视角可视化仿真。相比现有仿真系统,本发明专利技术通过协同仿真,能够实现较好的三维显示效果,对自然现象的渲染能力更强,有利于直观分析仿真结果。直观分析仿真结果。直观分析仿真结果。

【技术实现步骤摘要】
基于Opendds的Modelica平台与UE4的协同仿真方法


[0001]本专利技术属于计算机仿真领域,具体涉及一种基于Opendds的Modelica平台与UE4的协同仿真方法。

技术介绍

[0002]当前,计算机仿真已经成为复杂大系统分析、研究、测试、评估、研制和技能训练的重要手段,并已广泛应用于国防、制造、能源、交通、农业医疗、教育、经济、天气预报等各个行业的重要领域,随着仿真在各行业各领域的不断应用,工程仿真可视化由于利用计算机图形学对工程空间环境与设计方案进行可视化模拟,直观形象地表达方案,可以梳理设计思路,或向第三方精准快速地传达设计意图,从而在仿真领域得到良好发展。
[0003]Modelica是当前具有较大发展潜力的多领域统一的建模语言,可应用于很多领域的仿真建模。OpenModelica是基于Modelica语言仿真的一种开源实现,提供了基于Modelica语言的建模、编译、仿真和结果显示等功能。基于Modelica仿真的方式存在二方面的问题:一是由于Modelica平台仿真结果主要通过结果数据一维或二维形式展示,尤其是大型空天仿真领域,对仿真结果的展示不够直观,难以突出仿真结果变化特征。二是工程领域主流仿真软件仿真结果三维展示不突出,物理仿真效果较差,对光照、天气等自然现象的渲染能力更是有所欠缺。
[0004]现有技术的仿真软件建立的模型普遍没有模型转化接口,模型导入到仿真引擎后会出现模型损坏或缺失情况。对于需要结合数字地球布置特点的仿真场景,这些仿真软件的可视化展示视图无法保障获得工程全局效果和建设表现。

技术实现思路

[0005]本专利技术的目的是针对上述问题,提供一种基于Opendds的Modelica平台与UE4的协同仿真方法,将UE4优秀的动画场景渲染能力应用到对象仿真领域,基于Opendds中间件建立Modelica平台和UE4软件的数据传输通道,实现Modelica平台与UE4协同的对象仿真。
[0006]本专利技术的技术方案是基于Opendds的Modelica平台与UE4的协同仿真方法,具体包括以下步骤:步骤1:利用Modelica平台进行仿真建模,得到Modelica语言的模型文件;解析模型文件,转换得到对应的C语言源文件;步骤2:利用Opendds中间件的发布/订阅机制,以Modelica平台为发布端,UE4软件为订阅端,分别生成发布端、订阅端的C/C++语言代码,将代码分别与Modelica平台、UE4软件集成,建立Modelica平台和UE4软件的数据传输通道;步骤3:建立UE4仿真场景,在仿真场景中加载Opendds订阅端插件,并将Opendds订阅端插件内接口函数封装为蓝图节点,UE4仿真场景中调用订阅端,接收仿真对象数据,在仿真场景中加载仿真对象;加载本地资源,设置仿真对象的摄像机视角,启动仿真对象的多视角可视化仿真。
[0007]进一步地,步骤1具体包括:利用Modelica平台建立Modelica 模型,在指定路径下生成 Modelica 模型文件;将Modelica 模型文件转换生成C/C++语言仿真代码,将Opendds生成的发布端代码与上述转换生成的C/C++仿真代码进行编译链接,生成可执行仿真模型;对可执行仿真模型进行实时仿真或离线仿真,输出仿真结果数据。
[0008]优选地,步骤2采用Opendds中间件的dynamictype标准,使发布端订阅端支持动态数据类型扩展,Modelica平台传输的数据类型发生改变时,UE4的订阅端代码无需重新编译,即可接收到发布端的动态扩展数据。
[0009]进一步地,步骤2具体包括:步骤2.1:将发布端、订阅端配置为同一域值;对仿真过程中传输的数据类型进行注册,配置发布端订阅端通信约定的数据类型;配置注册数据类型对应的主题,对域中每一个主题自定义特定名称,并与发布端发布的具体数据类型对应;步骤2.2:配置数据写者与发布者,发布端通过数据写者将数据传递给Opendds中间件,每个数据写者对应一个特定主题,发布端使用数据写者指定类型接口,在绑定主题上发布数据样本;数据写者对仿真传输数据编码后,传递给发布者准备进行传输,发布者获取需发布数据后传递至所在域中所有订阅者处;步骤2.3:在订阅端配置注册数据类型对应主题,对域中的每一个主题都自定义特定名称,并与发布端发布的具体数据类型对应;订阅端通过识别发布端发布的主题名获取数据;配置数据读者与订阅者,订阅者从发布者接收数据,将获取数据传输给所有与之关联的数据读者;在订阅端配置监听代码,将监听到的数据类型传输给订阅者;数据读者从订阅者获取数据,并将其解码成对应主题数据类型,最后将数据传输给UE4场景集成的中间件订阅端节点;步骤2.4:针对需要传输数据的类型,根据接口描述语言进行数据传输服务的定义与表示,得到数据定义与表示的IDL文件,对IDL文件进行编译,映射到c++类型支持文件;步骤2.5:编写MPC文件,进行MPC文件的工程化处理,生成发布端、订阅端源码分别与Modelica平台、UE4集成编译成可执行文件;运行可执行文件,即可进行数据传输。
[0010]进一步地,步骤3具体包括:3.1)对UE4外部动态插件编写Opendds订阅端插件模块,将Opendds订阅端代码写入插件并编译使用;3.2)在UE4场景的关卡蓝图中调用Opendds订阅端插件模块节点,在蓝图编辑器中链接各节点,编译蓝图,用于输出订阅端接收数据实例;3.3)采用3DS MAX、CATIA、UG、World Machine软件,生成仿真对象模型,将仿真对象模型加载至仿真场景;3.4)在UE4软件中加载Cesium for unreal插件,为UE4仿真场景加载数字地球;3.5)配置摄像机视角,为用户提供多视角、全方位的仿真态势展示。
[0011]相比现有技术,本专利技术的有益效果包括:1)本专利技术实现了Modelica平台与UE4软件协同的对象仿真,解决了Modelica软件的仿真结果的展示不够直观的问题,相比现有的工程领域主流仿真软件,本专利技术的协同仿
真方法的物理仿真效果更好,对自然现象的渲染能力更强,仿真场景的全局效果更佳,尤其是在大型空天仿真领域的仿真结果的可视效果好。
[0012]2)本专利技术针对仿真领域数据来源多、多源数据体量大、结构复杂、传递频繁的数据传输特点,采用Opendds作为传输中间件,可满足协同仿真系统数据传输需求。
[0013]3)鉴于DDS自身技术特点,此技术主要应用于需要实时高效数据传输的复制分布式系统中,且开发者可将Opendds应用到单独计算机或分布式部署再不同计算机设备上,无需关注其底层物理通信协议,提供多场景仿真方法。
[0014]4)最新Opendds支持DynamicType,动态数据类型,可在发布端修改数据结构体类型,或者增加数据传输主题情况下,订阅端采用recorder方式,无需修改代码、编译代码,即可接收新数据类型,针对仿真软件结果数据变化情况,订阅端可以最小成本的接收数据。
[0015]5)UE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Opendds的Modelica平台与UE4的协同仿真方法,其特征在于,包括以下步骤:步骤1:利用Modelica平台进行仿真建模,得到Modelica语言的模型文件;解析模型文件,并转换生成C/C++语言仿真代码;步骤2:利用Opendds中间件的发布/订阅机制,以Modelica平台为发布端,UE4软件为订阅端,分别生成发布端、订阅端的C/C++语言代码,将代码分别与Modelica平台、UE4软件集成,建立Modelica平台和UE4软件的数据传输通道;步骤2.1:将发布端、订阅端配置为同一域值;对仿真过程中传输的数据类型进行注册,配置发布端订阅端通信约定的数据类型;配置注册数据类型对应的主题,对域中每一个主题自定义特定名称,并与发布端发布的具体数据类型对应;步骤2.2:配置数据写者与发布者,发布端通过数据写者将数据传递给Opendds中间件,每个数据写者对应一个特定主题,发布端使用数据写者指定类型接口,在绑定主题上发布数据样本;数据写者对仿真传输数据编码后,传递给发布者准备进行传输,发布者获取需发布数据后传递至所在域中所有订阅者处;步骤2.3:在订阅端配置注册数据类型对应主题,对域中的每一个主题都自定义特定名称,并与发布端发布的具体数据类型对应;订阅端通过识别发布端发布的主题名获取数据;配置数据读者与订阅者,订阅者从发布者接收数据,将获取数据传输给所有与之关联的数据读者;在订阅端配置监听代码,将监听到的数据类型传输给订阅者;数据读者从订阅者获取数据,并将其解码成对应主题数据类型,最后将数据传输给UE4场景集成的中间件订阅端节点;步骤2.4:针对需要传输数据的类型,根据接口描述语言进行数据传输服务的定义与表示,得到数据定义与表示的接口描述语言文件,对接口描述语言文件进行编译,映射到c++类型支持文件;步骤2.5:生成发布端订阅端可执行文件,运行发布端订阅端可执行文件,即可进行数据传输;步骤3:建立UE4仿真场...

【专利技术属性】
技术研发人员:田卫新王建树
申请(专利权)人:三峡大学
类型:发明
国别省市:

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

1