CGF实体行为描述的脚本扩展方法及装置制造方法及图纸

技术编号:22218070 阅读:27 留言:0更新日期:2019-09-30 00:52
本发明专利技术公开了一种CGF实体行为描述的脚本扩展方法及装置,所述方法包括:基于任务推演,设定想定,并使用Python脚本语言将想定自动转换为脚本,基于所述脚本确定任务推演逻辑;进行AI基础动作设定和AI行为设定,并使用Python脚本语言将设定的所述AI基础动作和AI行为自动转化为脚本,并将脚本在图形界面挂载到相应的实体上。

The Method and Device of Script Extension for CGF Entity Behavior Description

【技术实现步骤摘要】
CGF实体行为描述的脚本扩展方法及装置
本专利技术涉及计算机
,尤其涉及一种CGF实体行为描述的脚本扩展方法及装置。
技术介绍
任务推演是验证无人机任务规划合理性的有效手段,在任务规划阶段,支持对多个方案效能进行仿真模拟推演和预评估,为单方案优化和多方案优选提供决策支持。虚拟仿真中的实体行为是组成仿真体系的最重要因素,主要分为两部分:1)实体协同行为:实体协同行为通常在仿真系统的想定编辑中设定,想定编辑主要是推演路径和任务的设定;2)单个实体行为:单个实体行为主要是个体AI行为,即CGF实体所固有的人工智能,包含对于各种仿真任务中的事件和状态做出反应。无人运输任务推演为单方案优化和多方案优选提供决策支持。具备多个任务同时进行仿真评估和自动进行计划冲突消解的能力,能够在设定范围内寻求多任务下的最佳方案。支持通过多轮任务推演,实现方案的迭代优化。仿真系统的运行需要实体行为提供驱动,成功的任务推演必定离不开合理的、高质量的仿真实体行为设定。如何让仿真语言准确、充分地表达任务想定内容并且以某种利于初始化加载的规范化形式描述,对于整个任务运投意义十分重大。无人机任务筹划是为实现运投目标,结合运投任务要求、运投平台能力和运投区域环境,开展的任务需求管理、任务规划和任务推演等一系列有序的谋划、规划和设计。而任务推演是验证无人运投任务规划合理性的最有效手段,而任务规划包含较多逻辑和规则,如何利用计算机语言对于复杂逻辑和规则的进行最有效描述是追求的目标。传统方式通常利用编译型语言实现其逻辑和规则部分,将XML作为配置项。遇到不同事件和状态载入相应的XML配置文件,将XML中的参数传入到函数中,从而实现推演。传统方式存在缺点如下:1)实体行为涉及规则和逻辑较多,传统编译型语言实现复杂,不能够“自然”、方便的定义和修改实体行为,导致开发低效,周期较长;2)XML表述方式不够灵活,无法实现逻辑;3)临时修改任务规则,因涉及逻辑较多,代码修改不方便;4)随着新规则的添加,代码量趋于庞大,耦合性增加,可维护性降低;5)多实体协同完成任务逻辑用图形或者编译型语言表述不清。
技术实现思路
本专利技术实施例提供一种CGF实体行为描述的脚本扩展方法及装置,用以解决现有技术中的上述问题。本专利技术实施例提供一种CGF实体行为描述的脚本扩展方法,包括:基于任务推演,设定想定,并使用Python脚本语言将想定自动转换为脚本,使用Python脚本语言基于所述脚本确定任务推演逻辑;使用C++进行AI基础动作设定,使用Python脚本语言进行AI行为设定,并使用Python脚本语言将设定的所述AI基础动作和AI行为自动转化为脚本,并将脚本在图形界面挂载到相应的实体上。优选地,所述任务推演具体包括:无人机物资运输任务的推演。本专利技术实施例还提供一种CGF实体行为描述的脚本扩展装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法的步骤。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现上述方法的步骤。采用本专利技术实施例,提出一种CGF实体行为的脚本扩展方案,利用类似自然语言的脚本来描述CGF无人平台的行为(包括移动、协同、投送以及对环境的反应等),解决了由于任务规划以及实体行为涉及规则和逻辑较多,传统语言描述起来繁琐,开发周期较长,可维护性差等问题,相比于传统描述方式,脚本语言的行为描述方式更为灵活、简单,便于领域专家的使用和开发人员的编码,同时降低了规则增多后所导致的高耦合性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例CGF实体行为描述的脚本扩展方法的流程图。具体实施方式本专利技术实施例以无人机物资支援保障为背景,模拟推演无人机物资运输任务。下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例的技术方案如图1所示,包括基于脚本语言的想定设定和AI设定两个步骤:1)想定设定部分,其涉及3个步骤:想定设定,脚本转化,逻辑编写;2)CGF中AI设定,其涉及3个步骤:AI设计,脚本转化,挂载实体。本专利技术实施例使用Python和C++混合编程的方式来实现,其中行为脚本使用擅长逻辑的解释性语言Python实现,而脚本中调用的基础行为(护航,出击,撤退等)函数和程序中耗时部分使用擅长计算的C++来实现,具体实施方案如下:一、想定设定中脚本的应用下面以一个简单的实施例子对于脚本描述无人运输逻辑的优势进行简要说明。步骤1,设定想定设定货物重量,风力以及障碍物;设定无人机拉起货物起飞位置为(x0,y0),投送货物经纬度为(x1,y1)。步骤2,想定自动转换为脚本setWeight(…);setWind(…);setObstacle(…);UAV.takeFrom(x0,y0);UAV.landTo(x1,y1)步骤3,添加逻辑表1二、CGF中AI的脚本设定步骤1,AI设计。AI设计分为基础动作和AI行为设定:1、基础动作设定:实体动力学部分解算在C++中实现,C++提供基础动作函数如下表所示。设定无人机基础动作:表22、AI行为设定:投送,自主运动,并打投放到指定地点;返航,返航坐标点;紧急降落,遇到特殊情况紧急降落;避障,遇到山脉等障碍物自主躲避。步骤2,脚本转化以壁障行为为例:表3步骤3,挂载实体将脚本在图形界面挂载到相应的实体上,如本例中所示,挂载到无人机上。通过本专利技术实施例的技术方案,利用善于描述逻辑的脚本语言对虚拟物资运输中的实体行为进行描述,降低了因涉及过多规则而导致的高耦合性,能清晰地同时描述物理和智能行为进行,并且将两者合理的联系起来。脚本语言具有大量成熟模块集成,结合已有机器学习以及深度学习模块,进行自主任务规划训练,从而节省开发时间和研究成本。C++编写实体基础行为接口,利用脚本语言调用基础行为接口来进行实体行为的描述,逻辑端主要由脚本负责,从而更好的发挥不同语言的优势,降低了C++代码的耦合性。利用脚本的无需编译的特点,减少开发以及集成联试过程中的编译耗时。表4为行为实现对比:表4综上所述,本专利技术实施例提出一种CGF实体行为的脚本扩展方案,由于本方法采用脚本语言作为战场仿真中的实体行为描述的方法,优于传统编译性语言的描述方式,有效提升规则表述的清晰性,改善开发和维护效率。同时本方法具有开发简单快速的优点,便于编码人员和领域专家的使用,这使得指挥员能及时快速的修改战场仿真中的战术战法规则,提高任虚拟作战中的训练效率。本本文档来自技高网
...

【技术保护点】
1.一种CGF实体行为描述的脚本扩展方法,其特征在于,包括:基于任务推演,设定想定,并使用Python脚本语言将想定自动转换为脚本,使用Python脚本语言基于所述脚本确定任务推演逻辑;使用C++进行AI基础动作设定,使用Python脚本语言进行AI行为设定,并使用Python脚本语言将设定的所述AI基础动作和AI行为自动转化为脚本,并将脚本在图形界面挂载到相应的实体上。

【技术特征摘要】
1.一种CGF实体行为描述的脚本扩展方法,其特征在于,包括:基于任务推演,设定想定,并使用Python脚本语言将想定自动转换为脚本,使用Python脚本语言基于所述脚本确定任务推演逻辑;使用C++进行AI基础动作设定,使用Python脚本语言进行AI行为设定,并使用Python脚本语言将设定的所述AI基础动作和AI行为自动转化为脚本,并将脚本在图形界面挂载到相应的实体上。2.如权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:冯策孟庆鑫薄中徐永正刘立辉
申请(专利权)人:中国电子科技集团公司电子科学研究院
类型:发明
国别省市:北京,11

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

1