CN114201885B - 基于改进行为树的兵力实体行为仿真元建模方法及系统 - Google Patents
基于改进行为树的兵力实体行为仿真元建模方法及系统 Download PDFInfo
- Publication number
- CN114201885B CN114201885B CN202111543698.8A CN202111543698A CN114201885B CN 114201885 B CN114201885 B CN 114201885B CN 202111543698 A CN202111543698 A CN 202111543698A CN 114201885 B CN114201885 B CN 114201885B
- Authority
- CN
- China
- Prior art keywords
- behavior
- simulation
- model
- tree
- behavior tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000009471 action Effects 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 13
- 230000006872 improvement Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 4
- 238000005094 computer simulation Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000006399 behavior Effects 0.000 description 318
- 230000008439 repair process Effects 0.000 description 15
- 238000012549 training Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000003542 behavioural effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000002372 labelling Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Geometry (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开基于改进行为树的兵力实体行为仿真元建模方法,方法包括:制定行为树模型xml描述规范,建立仿真行为建模工具,输出行为树模型xml文件;改进行为树,构建仿真行为树框架;对行为树节点设置前置条件,通过行为树节点、行为树节点间多叉树结构关系与前置条件组成行为决策规则;构建动作器模型;基于仿真行为树框架、行为决策规则表示与动作器模型构建按流程生成兵力实体行为仿真模型。本发明从模型规范、行为树和有向图技术的角度为兵力实体行为元建模与仿真提供了有效解决方法,解决了仿真平台/引擎的行为建模底层技术细节不可见、模型参数配置不灵活的问题,可广泛应用于装备保障行为仿真建模、作战行为仿真建模等方向。
Description
技术领域
本发明属于建模与仿真技术领域,尤其涉及基于改进行为树的兵力实体行为仿真元建模方法及系统。
背景技术
兵力实体一般包括作战实体、武器装备实体、战场环境实体等,兵力实体行为则包括作战实体行为、武器装备实体行为、战场环境实体行为等。
行为树作为一种扩展性更好、模块化能力更强、高可重用性的行为表示方法,在游戏人工智能、计算机仿真、人类行为建模领域获得广泛发展。
已有兵力实体行为仿真建模方法利用已有仿真平台的仿真行为模块,配置兵力实体仿真行为模型参数,从而实现兵力实体行为仿真建模的目的,但已有兵力实体行为仿真建模方法中,存在仿真平台/引擎的行为建模底层技术细节不可见、模型参数配置不灵活等问题。
针对以上问题,本发明方法提出一种行为仿真元建模思想,制定行为元模型xml描述规范,并作为构建兵力实体行为仿真元模型的标准,仿真行为元模型包含行为参数列表、行为树模型、行为管理、行为仿真运行等;基于改进的行为树构建仿真行为主体框架,包括行为树控制节点和叶子动作节点及节点间树结构关系等,用于实现行为树模型的构建,同时,在仿真行为框架中开发模型解析器,实现对行为模型的xml解析,从而生成仿真行为树模型及实例的计算机程序;根据行为决策的特点,利用组合行为树控制节点和设置行为树节点的前置条件表示行为决策规则;利用基于有向图的算法配置方式,构建动作节点的动作器模型;通过对行为决策规则和动作器序列进行组合,最终实现兵力实体行为仿真建模。该方法实现了仿真引擎的行为仿真建模关键核心技术自主可控、模型参数配置灵活,支持军事、游戏、物流、交通等多仿真应用领域的实体行为仿真建模。
发明内容
本发明针对已有兵力实体仿真建模方法存在仿真平台/引擎的行为建模底层技术细节不可见、模型参数配置不灵活等问题,提出基于改进行为树的兵力实体行为仿真元建模方法及系统。该方法制定了基于行为树的仿真行为模型标准规范,实现了仿真引擎的底层行为仿真建模关键核心技术自主可控、模型参数配置灵活,支持装备保障、作战、模拟训练等仿真应用领域的兵力实体行为仿真建模。
一方面为实现上述目的,本发明提供了基于改进行为树的兵力实体行为仿真元建模方法,包括以下步骤:
制定行为树模型xml描述规范,根据所述行为树模型xml描述规范建立仿真行为模型建模工具;
改进行为树,构建仿真行为树框架,所述仿真行为树框架包括行为树节点与行为树节点间多叉树结构关系;
基于所述行为树节点设置前置条件,通过所述行为树节点、所述行为树节点间多叉树结构关系与所述前置条件组成行为决策规则;
基于有向图构建动作器模型,所述动作器模型用于实现兵力实体行为执行功能;
基于所述仿真行为模型建模工具、所述仿真行为树框架、所述行为决策规则与所述动作器模型生成兵力实体行为仿真模型,经过行为仿真及运行,输出用于实体交互的仿真运行结果。
可选地,制定行为树模型xml描述规范包括但不限于:
制定行为树模型根元素的标准规范、制定行为树控制节点的标准规范、制定行为树动作节点和动作参数的标准规范、制定行为树节点前置条件的标准规范。
可选地,所述行为树模型根元素的标准规范、行为树控制节点的标准规范、行为树动作节点和动作参数的标准规范、行为树节点前置条件的标准规范均包括:元素标签、子元素标签、元素属性、说明、值类型和值域。
可选地,改进行为树的方法包括:只采用并行节点作为行为树的控制节点,并对并行节点的子节点进行排序,用于控制其仿真执行的先后顺序。
可选地,所述前置条件包括:逻辑条件和比较条件;
所述比较条件包括:属性比较条件、数值比较条件、字符串比较条件和时间比较条件。
可选地,基于有向图构建动作器模型的方法,包括:
基于有向图的顶点创建计算节点,设置有向图的边,所述有向图的边表示所述计算节点的连接关系及其权重;
创建输入端口与输出端口;
基于所述计算节点、所述输入端口、所述输出端口、所述有向图的边进行有向图关系构建,并对所述有向图的顶点进行拓扑排序,生成计算图,完成动作器模型构建。
可选地,生成兵力实体行为仿真模型的方法包括:
将所述行为决策规则和所述动作器模型进行组合,基于所述仿真行为模型建模工具输出兵力实体行为仿真模型xml文件;
基于所述仿真行为树框架对所述兵力实体行为仿真模型xml文件进行解析,生成兵力实体行为仿真程序,完成兵力实体行为仿真模型构建与仿真运行。
另一方面为实现上述目的,本发明提供了基于改进行为树的兵力实体行为仿真元建模系统,包括:模型描述规范模块、仿真行为建模工具模块、仿真行为树框架改进模块、行为决策规则表示模块、动作器模型构建模块和输出模块;
所述模型描述规范模块用于制定行为树模型xml描述规范,所述行为树模型xml描述规范用于作为建立仿真行为建模工具的标准;
所述仿真行为建模工具用于输出符合所述行为树模型xml描述规范的行为树模型xml文件;
所述仿真行为树框架改进模块用于改进行为树,构建仿真行为树框架,所述仿真行为树框架包括行为树节点与行为树节点间多叉树结构关系;
所述行为决策规则表示模块用于根据所述行为树节点设置前置条件,通过所述行为树节点、所述行为树节点间树结构关系与所述前置条件的组合,来表示行为决策规则;
所述动作器模型构建模块用于构建基于有向图的动作器模型,所述动作器模型用于实现兵力实体行为执行的部分功能;
所述输出模块用于生成兵力实体行为仿真模型和行为仿真运行。
与现有技术相比,本发明具有如下优点和技术效果:
本发明对比已有技术,本发明中构建仿真行为树框架,具备行为仿真、行为管理、行为运行等功能,制定仿真行为树模型描述标准规范,具备指导仿真行为树模型建模工具的开发与生成行为树模型等功能,具备良好的复用性、扩展性,逻辑直观、模块化程度高等特点,具有仿真引擎的行为仿真建模底层技术自主可控、模型参数配置灵活的效果。本发明可应用于装备保障仿真、作战仿真、模拟训练仿真等方向,为兵力实体行为模型的灵活构建、行为仿真高效运行提供了切实可行的实现方案,主要解决了仿真平台/引擎的行为建模底层技术细节不可见、模型参数配置不灵活的问题。本发明方法根据我军作战、训练、保障的特点,制定相应仿真行为模型的标准规范,研究仿真引擎的行为仿真建模底层技术,通过提供应用层功能接口,为后续更好地适用于我军军事仿真应用,进一步丰富功能、提升性能提供了有效途径。本发明潜在应用广泛,对于军事、生产、物流、交通等仿真应用领域的中涉及行为建模与仿真的问题皆可使用,从模型描述规范、行为树和有向图技术的角度为兵力实体行为仿真建模提供了一种有效的解决方法。同时,通过装备保障仿真实验,验证了模型的功能以及该建模方法的可行性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例一中基于改进行为树的兵力实体行为仿真元建模方法流程示意图;
图2为本发明实施例一中仿真行为树框架结构示意图;
图3为本发明实施例一中行为决策规则表示示意图;
图4为本发明实施例一中基于有向图构建的动作器模型示意图;
图5为本发明实施例一中有向图多顶点拓扑排序的应用示意图;
图6为本发明实施例二中基于改进行为树的兵力实体行为仿真元建模系统结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
如图1所示,基础数据主要由用户导入或者编辑,实体数据为相应仿真实体模型的属性,军事规则知识来源于军事领域专家定义的军事规则,各类数据根据需要用来构建仿真行为模型,其中基础数据和实体数据可作为行为模型参数、动作器参数,军事规则知识则对应行为模型的行为决策规则。本实施例中提供的基于改进行为树的兵力实体行为仿真元建模方法,步骤如下:
S1.制定行为树模型xml描述规范,根据行为树模型xml描述规范获得仿真行为模型建模工具。
制定行为树模型xml描述规范包括:制定行为树模型根元素的标准规范、制定行为树控制节点的标准规范、制定行为树动作节点和动作参数的标准规范、制定行为树节点前置条件的标准规范。
行为树模型根元素的标准规范、行为树控制节点的标准规范、制定行为树动作节点和动作参数的标准规范和行为树节点前置条件的标准规范的描述内容均包括:元素标签、子元素标签、元素属性、说明、值类型和值域。
在本实施例中,行为树模型xml描述规范主要包括模型、控制节点(并行节点、顺序节点、随机节点)和动作节点等行为树节点元素、前置条件和动作元素等,通过描述元素标签、子元素标签、元素的属性、说明、值类型和值域等具体内容,确定某类实体模型的行为模型标准规范。该行为树模型xml描述规范可作为行为仿真模型建模工具开发的指导标准,规定了建模工具生成的行为模型需符合的xml描述规范。
进一步地,S1具体包括:制定行为树模型根元素标准规范,包括元素标签、子元素标签、元素的属性、说明、值类型和值域等具体描述内容。
S101,制定行为树模型根元素标准规范,包括元素标签、子元素标签、元素的属性、说明、值类型和值域等具体描述内容。
(1)元素标签
元素标签:Model
属性和值域:
属性 | 说明 | 值类型 | 约束或值域 |
Category | 模型类别 | 枚举 | {Behaviour,Entity} |
GUID | 行为模型唯一标识符 | GUID | 16进制数字符串 |
Type | 行为模型类型 | 枚举 | {BehaviourTree,BaseBehaviour} |
Name | 行为模型名称 | 字符串 | 字符串为4字符编码 |
(2)子节点
子节点:行为树
子节点标签:BehaviourTree
子节点属性和值域:
属性 | 说明 | 值类型 | 约束或值域 |
ID | 行为树编号 | 整型 | 1~∞ |
Name | 行为树名称 | 字符串 | 字符串为4字符编码 |
Description | 行为树功能描述 | 字符串 | 字符串为4字符编码 |
(3)示例
<ModelCategory="Behaviour"GUID="7F2504E0-4F89-11D3-5A0C-0305E82B1101"
Type="BehaviourTree"Name="A型坦克的行为模型">
<BehaviourTreeID="0"Name="A型坦克行为模型"Description="描述A型坦克的装备使用行为">
……
</BehaviourTree>
</Model>
S102,制定行为树节点的标准规范,包括元素标签、子元素标签、元素的属性、说明、值类型和值域等具体描述内容。
(1)元素标签
BehaviourNode
(2)属性和值域
(3)说明
由Type决定节点元素的不同类型;动作节点下有动作元素。
(4)示例
<BehaviourTreeID="0"Name="A型坦克行为模型"Description="描述A型坦克的装备使用行为">
<BehaviourNodeID="0"Name="根节点"Description="行为树的根节点,类型为并行节点"Type="BehavNodeParallel">
<BehaviourNodeID="1"Name="事件处理"Description="行为树的事件处理控制节点,类型为并行节点"Type="BehavNodeParallel"FinishedCondition="k_PFC_OR">
<BehaviourNodeID="2"Name="处理开始训练事件"Description="行为树的处理开始训练事件控制节点,类型为并行节点"Type="BehavNodeParallel"FinishedCondition="k_PFC_AND">
<BehaviourNodeID="3"Name="设置训练状态"Description="行为树的叶节点,设置训练状态动作"Type="PropertyChangeAction">
……
</BehaviourNode>
<BehaviourNodeID="4"Name="执行训练动作"Description="行为树的叶节点,执行训练动作"Type="PropertyChangeAction">
……
</BehaviourNode>
</BehaviourNode>
……
</BehaviourNode>
……
</BehaviourNode>
</BehaviourTree>
S103:制定前置条件的标准规范,包括元素标签、子元素标签、元素的属性、说明、值类型和值域等具体描述内容。
(1)元素标签
Preconditions
(2)子元素标签
子元素标签:Precondition
(4)示例
<Preconditions>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="EventType"RProperty="中修事件"Source="CurrentEvent"></Precondition>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="装备状态"RProperty="Training"Source="Entity"></Precondition>
<PreconditionType="PropertyCompare"Operation="EQUAL"LProperty="EntityId"RProperty="Id"Source="CurrentEvent-Entity"></Precondition>
</Preconditions>
S104,制定动作节点的标准规范,包括元素标签、子元素标签、元素的属性、说明、值类型和值域等具体描述内容。
(1)元素标签
Action
(2)属性和值域
属性 | 说明 | 值类型 | 约束或值域 |
Type | 动作类型 | 枚举 | {PropertyChange,EventProduce,…} |
Name | 动作名称 | 字符串 | 字符串为4字符编码 |
(3)子元素标签
a)InputParamList输入参数列表
子元素标签:Param
b)OutputParamList输出参数列表
子元素标签:Param
c)Actuator动作器模型
元素标签:Actuator
子元素标签:ActuatorModel
(4)说明
由Type决定动作的不同类型,以及调用相应的算法;动作元素为动作节点的子节点;InputParamList包含多个参数,用属性Param标签来表示。
(5)示例
以下为包含前置条件的动作和完整动作节点的示例:
<BehaviourNodeID="20"Name="处理小修开始事件控制节点"Description="行为树的并行控制节点,处理小修开始事件控制节点"Type="BehavNodeParallel"FinishedCondition="k_PFC_AND">
<BehaviourNodeID="21"Name="处理小修开始事件动作"Description="行为树的叶节点,处理小修开始事件动作"Type="PropertyChangeAction">
<Preconditions>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="EventType"RProperty="小修开始事件"Source="CurrentEvent"></Precondition>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="装备状态"RProperty="Waiting"Source="Entity"></Precondition>
<Precondition Type="PropertyCompare"Operation="EQUAL"LProperty="EntityId"RProperty="Id"Source="CurrentEvent-Entity"></Precondition>
</Preconditions>
<ActionType="PropertyChange"Name="处理小修开始事件动作,设置装备状态为小修,实际小修间隔置零">
<InputParamList>
</InputParamList>
<OutputParamList>
<ParamName="装备状态"Type="STRING"Value="MinorRepair"></Param>
<ParamName="实际小修间隔"Type="INT"Value="0"></Param>
</OutputParamList>
<Actuator>
<ActuatorModel
GUID="1F2504E0-4F59-11D3-9A0C-0305E82C3301"
Type="PropertyChange"Name="处理小修开始事件动作
"></ActuatorModel>
</Actuator>
</Action>
</BehaviourNode>
<BehaviourNodeID="22"Name="产生小修结束事件动作"Description="行为树的叶节点,产生小修结束事件动作"Type="EventProduceAction">
<Preconditions>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="EventType"RProperty="小修开始事件"Source="CurrentEvent"></Precondition>
<PreconditionType="StringCompare"Operation="EQUAL"LProperty="装备状态"RProperty="MinorRepair"Source="Entity"></Precondition>
<Precondition Type="PropertyCompare"Operation="EQUAL"LProperty="EntityId"RProperty="Id"Source="CurrentEvent-Entity"></Precondition>
</Preconditions>
<ActionType="EventProduce"Name="产生小修结束事件动作">
<InputParamList>
<ParamName="事件触发时间延迟"Type="INT"Value="15"Unit="天"></Param>
</InputParamList>
<OutputParamList>
<ParamName="事件名称"Type="STRING"Value="小修结束事件"></Param>
</OutputParamList>
<Actuator>
<ActuatorModel
GUID="1F2504E0-4F59-11D3-9A0C-0305E82C3301"
Type="EventProduce"Name="产生小修结束事件动作
"></ActuatorModel>
</Actuator>
</Action>
</BehaviourNode>
</BehaviourNode>
S2.改进行为树,构建仿真行为树框架,仿真行为树框架包括行为树节点和行为树节点连接关系。只采用并行节点作为行为树的控制节点,并对并行节点的子节点进行排序以控制其仿真执行的先后顺序,作为改进行为树。
在本实施例中,仿真行为树框架如图2所示,包括行为树节点与行为树框架;行为树节点包括控制节点和动作节点,其中控制节点包含并行节点、序列节点、选择节点等类型,动作节点包含输入、输出、动作器模型接口(输入、输出、算法的接口)等要素。
(1)行为树
行为树(BehaviourTree)是一棵有向树,由节点和有向边组成,定义为二元组;
BT=<N,E>
其中:N表示行为树节点集合,包含控制节点(CompositeNode)和动作节点(ActionNode)两大类节点,除了根节点外,每个节点有且仅有一个父节点;E表示行为树节点之间的边集合,构成节点间父子关系。行为树在一个仿真推进周期的执行是控制流从根节点到叶子节点的遍历过程,其中控制流从父节点遍历到子节点的过程称为一个Tick,即一次仿真推进过程。
(2)控制节点
行为树的控制节点也称为复合节点或组合节点,可以作为父节点并且允许拥有多个子节点,具体划分为并行节点、串行节点、选择节点等。
并行节点(parallelnode):也称序列节点或顺序节点,属于非叶子节点,控制行为决策逻辑,具体逻辑流程为每个仿真推进周期都遍历并执行并行节点的所有子节点,依据子节点执行状态返回父节点状态。
串行节点(sequencenode):也称序列节点或顺序节点,属于非叶子节点,控制行为决策逻辑,具体逻辑流程为每个仿真推进周期依次执行串行节点的子节点,记录状态为“RUNNING”或“SUCCESS”的子节点ID,并作为下一个仿真推进周期的执行子节点起点,依据子节点执行状态返回父节点状态,当最后一个子节点的状态为“SUCCESS”时,则父节点状态为“SUCCESS”,否则为“FAILAURE”。
选择节点(selectionnode):属于非叶子节点,控制行为决策逻辑,具体逻辑流程为每个仿真推进周期选择一个可执行的子节点。
由于仿真推进既支持固定步长推进机制,也支持离散事件推进机制,以及两者混合推进机制,因此本方法对行为树结构组成进行改进,只采用并行节点作为控制节点,通过与前置条件(将在S3中详细描述前置条件)的组合使用,来实现子节点串行和选择的近似功能。
(3)动作节点
动作节点也称行为节点,属于叶子节点,具有行为执行功能。动作节点包含输入、输出、动作器模型接口(输入、输出、算法的接口)等信息,如下式所示。
Action=(Input,Output,ActMator(I,O,Algorithm)}
其中,输入Input是行为感知到的外部数据,包含实体状态等属性、事件消息、仿真时钟等,属于模型交互信息,是驱动行为执行的数据源;动作器Actuator模型是行为执行的关键环节,需要根据具体行动功能来定义或调用相应的算法,如状态转移、值递增/递减、随机数生成等算法;输出Output行为执行的结果数据,或者称为目标数据,可以是需要改变的实体属性、触发的事件等。动作节点的输入、输出变量与动作器模型的输入、输出存在一一对应关系,通过建立映射表的方式进行关联。
(4)行为仿真、管理及运行,利用行为管理器,实现行为解析、创建、删除、修改与运行等功能。
a)行为模型管理器负责行为树模型的解析,每个行为树模型由相应的行为树节点构成,行为树节点包含控制节点(作为根节点、枝节点)和动作节点(作为叶节点),其中动作节点分为属性修改和事件产生两大类,每个行为树节点均可设置前置条件;
b)行为模型管理器负责注册行为树模型,其中行为树节点和前置条件的生成交由相应的行为树节点类工厂和前置条件类工厂来实现,并将行为树模型绑定相应的实体模型;
c)行为工厂利用克隆方法根据已注册的行为模型创建相应的行为实例,并绑定实体实例,且由行为实例管理器使用行为集合类进行管理;
d)行为实体可调用其行为的update()执行相应的行为功能:以行为树为例,每个行为的update()先调用行为树根节点的前置条件中evaluate()方法,后调用行为树根节点的tick()方法,最后依据行为树的控制逻辑依次调用每个行为树节点的前置条件evaluate()方法和tick()方法,实现行为运行功能。
通过上述行为树框架构建方法,搭建仿真引擎的行为仿真建模架构,实现仿真行为创建等基础管理与运行功能。
S3.基于行为树节点设置前置条件,通过行为树节点、行为树节点间树结构关系与前置条件组合表示行为决策规则;
前置条件包括:逻辑条件和比较条件;其中比较条件包括:属性比较条件、数值比较条件、字符串比较条件和时间比较条件。比较条件指的是比较对象为左变量与右变量,其数据来源均为实体属性或事件;数值比较条件指的是比较对象为左变量与右值,其中左变量数据来源于实体属性或事件,右值的数据为数值型;字符串比较条件指的是比较对象为左变量与右值,其中左变量数据来源于实体属性或事件,右值的数据为字符串型;时间比较条件指的是比较对象为左变量与右值,其中左变量为时间变量,右值的数据为时间格式类型。
在本实施例中,行为决策规则表示示意图如图3所示,由行为树节点、行为树节点间树结构关系与前置条件组合构成,具体步骤包括:
S301.前置条件设置。设置前置条件C,当前置条件成立时,则执行该行为树节点及其子树行为Behavchildren;否则,不执行。其数学表达式如下:
C:ifvariable→value
其中,variable表示前置条件的左变量;value表示前置条件的右值;→表示左变量与右值之间的操作符,如=(等于)、>(大于)<(小于)等等。前置条件的左变量、右值的数据来源,包括事件、实体属性和事件-实体等多种情况。
目前,现有技术中的前置条件只对动作节点(不对控制节点)进行设置,而在本发明中,经改进后的行为树中,每个行为树节点均可设置前置条件,前置条件可以是单个或多个,多个前置条件默认采用逻辑与进行综合判断。其中前置条件包括逻辑条件和比较条件,而比较条件又包括属性比较条件、数值比较条件、字符串比较条件和时间比较条件。
S302.行为决策规则表示。行为决策规则由行为树控制节点及其相互间父子关系,以及各自设置的前置条件构成。行为决策规则的数学表达式如下:
S4.基于有向图构建动作器模型,所述动作器模型用于实现兵力实体行为执行功能;基于有向图构建动作器模型的方法,包括:基于有向图的顶点创建计算节点,设置有向图的边,所述有向图的边表示所述计算节点的连接关系及其权重;创建输入端口与输出端口;基于所述计算节点、所述输入端口、所述输出端口、所述有向图的边进行有向图关系构建,并对所述有向图的顶点进行拓扑排序,生成计算图,完成动作器模型构建。
在本实施例中,利用有向图方法,进行灵活的算法配置,从而构建动作器模型,其动作器模型如图4所示,其中,计算节点R表示随机算子;x1表示平均无故障间隔时间,即随机算子的均值参数量;x2表示随机算子的方差参数量;y表示实际无故障间隔时间。
S4具体步骤包括:
S401.基于有向图的顶点创建计算节点。有向图G的顶点V表示基础数学运算、逻辑运算、随机算子等。
S402.输入、输出端口创建及参数设置。这里,在有向图中增加端口P表示输入、输出变量。根据动作器的功能,添加相应的输入、输出参数,并根据功能需要设置参数的数据项,数据项来源主要为仿真时钟、仿真实体属性、仿真事件参数等。
S403.利用边进行有向图关系构建,并对多顶点进行拓扑排序,生成计算图。有向图的边E则表示连接顶点的关系及其权重。由此,基于有向图构建的动作器模型的数学表达式为:
ModelActuator={Pinput→Ei→Vi→Poutput}
其中,Pinput表示输入端口;Ei表示连接端口与顶点或者连接顶点与顶点之间的边,即权重参数,该权重参数可利用主观赋权法进行直接赋值,即利用专家的知识、经验来确定各指标的权重;顶点Vi表示用于计算的节点,如+、-、×、÷等基础数学运算,与、或、非等逻辑运算,均匀分布、正态分布、泊松分布等随机分布算子。
当有向图中有多个顶点时,需要对顶点进行拓扑排序,排序算法思想包括:
(3)重复步骤(2),直至所有顶点均设置了拓扑排序值即结束该步骤。
有向图多项点拓扑排序的应用示例如图5所示。经过顶点拓扑排序之后的有向图即为计算图,动作器通过调用计算图,可实现按拓扑排序顺序依次调用有向图中顶点的Calculate()算法接口函数,形成计算流,完成动作执行。
S5.基于所述仿真行为模型建模工具、所述仿真行为树框架、所述行为决策规则与所述动作器模型生成兵力实体行为仿真模型,经过行为仿真及运行,输出用于实体交互的仿真运行结果。
生成所述兵力实体行为仿真模型的方法包括:将所述行为决策规则和所述动作器模型进行组合,基于所述仿真行为模型建模工具输出兵力实体行为仿真模型xml文件;基于所述仿真行为树框架对所述兵力实体行为仿真模型xml文件进行解析,生成兵力实体行为仿真程序,完成兵力实体行为仿真模型构建与仿真运行。
在本实施例中,兵力实体行为仿真模型生成具体步骤包括:
S501.输出兵力实体行为仿真模型的xml文件。依据仿真行为树模型标准规范可开发仿真行为模型建模工具,利用仿真行为模型建模工具实现行为树模型创建和编辑,通过对基于行为树构建的行为决策规则和基于有向图算法构建的动作器进行组合,组成兵力实体行为仿真模型的xml文件。
S502.行为仿真模型的xml解析并生成仿真程序。利用仿真引擎的仿真行为模块中基于改进行为树的仿真行为框架,加载该行为模型xml文件后,进行行为模型解析并生成相应的仿真程序,执行仿真程序即实现行为仿真及运行。
实施例二
如图6所示,本实施例中提供基于改进行为树的兵力实体行为仿真元建模系统结构示意图,包括模型描述规范模块、仿真行为建模工具模块、仿真行为树框架改进模块、行为决策规则表示模块、动作器模型构建模块和输出模块;
具体的,模型描述规范模块、仿真行为建模工具模块、仿真行为树框架改进模块、行为决策规则表示模块、动作器模型构建模块与输出模块依次连接,模型描述规范模块用于制定行为树模型xml描述规范,行为树模型xml描述规范作为标准用于指导开发兵力实体行为仿真模型的仿真行为建模工具;仿真行为建模工具模块用于输出行为树模型xml文件,仿真行为建模工具基于行为树模型xml描述规范用于兵力实体行为仿真模型的创建、修改、删除、保存、查询及模型库管理等功能;仿真行为树框架改进模块用于改进行为树,构建仿真行为树框架,仿真行为树框架除了包括行为树类结构(行为树节点和行为树节点间树结构关系),还包括行为模型解析与管理、行为仿真与运行等子功能模块;行为决策规则表示模块根据行为树节点设置前置条件,通过行为树节点、行为树节点间树结构连接关系与前置条件的组合,来表示行为决策规则;动作器模型构建模块用于构建基于有向图的动作器模型,动作器模型用于实现兵力实体行为执行的部分功能;输出模块用于仿真模型生成和行为仿真及运行,仿真模型生成包括利用仿真行为框架进行行为模型xml解析生成完整的包含行为树结构、行为决策规则和动作器模型的兵力实体行为仿真模型,行为仿真及运行输出仿真运行结果用于修改仿真实体的属性或者产生仿真事件等。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.基于改进行为树的兵力实体行为仿真元建模方法,其特征在于,包括以下步骤:
制定行为树模型xml描述规范,根据所述行为树模型xml描述规范建立仿真行为模型建模工具;
改进行为树,构建仿真行为树框架,所述仿真行为树框架包括行为树节点与行为树节点间多叉树结构关系;改进行为树的方法包括:只采用并行节点作为行为树的控制节点,并对并行节点的子节点进行排序;
基于所述行为树节点设置前置条件,通过所述行为树节点、所述行为树节点间多叉树结构关系与所述前置条件组成行为决策规则;
基于有向图构建动作器模型,所述动作器模型用于实现兵力实体行为执行功能;
基于有向图构建动作器模型的方法,包括:
基于有向图的顶点创建计算节点,设置有向图的边,所述有向图的边表示所述计算节点的连接关系及其权重;
创建输入端口与输出端口;
基于所述计算节点、所述输入端口、所述输出端口、所述有向图的边进行有向图关系构建,并对所述有向图的顶点进行拓扑排序,生成计算图,完成动作器模型构建;
基于所述仿真行为模型建模工具、所述仿真行为树框架、所述行为决策规则与所述动作器模型生成兵力实体行为仿真模型,通过行为仿真及运行,输出用于实体交互的仿真运行结果;
生成所述兵力实体行为仿真模型的方法包括:
将所述行为决策规则和所述动作器模型进行组合,基于所述仿真行为模型建模工具输出兵力实体行为仿真模型xml文件;
基于所述仿真行为树框架对所述兵力实体行为仿真模型xml文件进行解析,生成兵力实体行为仿真程序,完成兵力实体行为仿真模型构建与仿真运行。
2.如权利要求1所述的基于改进行为树的兵力实体行为仿真元建模方法,其特征在于,制定行为树模型xml描述规范包括:
制定行为树模型根元素的标准规范、制定行为树控制节点的标准规范、制定行为树动作节点和动作参数的标准规范、制定行为树节点前置条件的标准规范。
3.如权利要求2所述的基于改进行为树的兵力实体行为仿真元建模方法,其特征在于,所述行为树模型根元素的标准规范、行为树控制节点的标准规范、行为树动作节点和动作参数的标准规范、行为树节点前置条件的标准规范均包括:元素标签、子元素标签、元素属性、说明、值类型和值域。
4.如权利要求1所述的基于改进行为树的兵力实体行为仿真元建模方法,其特征在于,所述前置条件包括:逻辑条件和比较条件;
所述比较条件包括:属性比较条件、数值比较条件、字符串比较条件和时间比较条件。
5.基于改进行为树的兵力实体行为仿真元建模系统,其特征在于,包括:模型描述规范模块、仿真行为建模工具模块、仿真行为树框架改进模块、行为决策规则表示模块、动作器模型构建模块和输出模块;
所述模型描述规范模块用于制定行为树模型xml描述规范,所述行为树模型xml描述规范用于作为建立仿真行为建模工具的标准;
所述仿真行为建模工具用于输出符合所述行为树模型xml描述规范的行为树模型xml文件;
所述仿真行为树框架改进模块用于改进行为树,构建仿真行为树框架,所述仿真行为树框架包括行为树节点与行为树节点间多叉树结构关系;
所述行为决策规则表示模块用于根据所述行为树节点设置前置条件,通过所述行为树节点、所述行为树节点间树结构关系与所述前置条件的组合,来表示行为决策规则;
所述动作器模型构建模块用于构建基于有向图的动作器模型,所述动作器模型用于实现兵力实体行为执行的部分功能;
所述输出模块用于生成兵力实体行为仿真模型和行为仿真运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543698.8A CN114201885B (zh) | 2021-12-16 | 2021-12-16 | 基于改进行为树的兵力实体行为仿真元建模方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543698.8A CN114201885B (zh) | 2021-12-16 | 2021-12-16 | 基于改进行为树的兵力实体行为仿真元建模方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201885A CN114201885A (zh) | 2022-03-18 |
CN114201885B true CN114201885B (zh) | 2022-08-16 |
Family
ID=80654558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111543698.8A Active CN114201885B (zh) | 2021-12-16 | 2021-12-16 | 基于改进行为树的兵力实体行为仿真元建模方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201885B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114792072B (zh) * | 2022-05-18 | 2024-01-16 | 中国人民解放军国防科技大学 | 一种基于功能的装备决策行为仿真建模方法及系统 |
CN116258026B (zh) * | 2023-05-16 | 2023-07-21 | 中国人民解放军国防科技大学 | 一种基于多分辨率通用兵力模型的聚合解聚系统和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021816A (zh) * | 2016-06-20 | 2016-10-12 | 华北电力大学(保定) | 一种基于行为树的分布式系统行为仿真分析工具的实现方法 |
CN111079244A (zh) * | 2019-06-20 | 2020-04-28 | 中国航天系统科学与工程研究院 | 一种基于行为树的分布式仿真平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381454B (zh) * | 2020-12-04 | 2023-10-31 | 中国科学院自动化研究所 | 基于角色的多智能体任务协同系统 |
-
2021
- 2021-12-16 CN CN202111543698.8A patent/CN114201885B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021816A (zh) * | 2016-06-20 | 2016-10-12 | 华北电力大学(保定) | 一种基于行为树的分布式系统行为仿真分析工具的实现方法 |
CN111079244A (zh) * | 2019-06-20 | 2020-04-28 | 中国航天系统科学与工程研究院 | 一种基于行为树的分布式仿真平台 |
Non-Patent Citations (2)
Title |
---|
基于进化行为树的智能体决策行为建模研究;张敬博;《兵工自动化》;20211115;正文第2节 * |
行为树技术的研究进展与应用;刘瑞峰等;《计算机与现代化》;20200215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114201885A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114201885B (zh) | 基于改进行为树的兵力实体行为仿真元建模方法及系统 | |
Liu et al. | Multi-agent oriented constraint satisfaction | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN104866371A (zh) | 一种基于Agent行动图的作战建模方法与仿真系统 | |
CN113836754A (zh) | 面向多智能体仿真建模的仿真方法、装置、设备和介质 | |
CN100484140C (zh) | 一种规范驱动的网格工作流描述和验证方法 | |
de Lara et al. | Domain-specific discrete event modelling and simulation using graph transformation | |
JPH04227544A (ja) | 複雑な情報交換システムを通じるデータ流れの分析方法及び装置 | |
Spanoudakis et al. | Modular JADE agents design and implementation using ASEME | |
Hu et al. | Component-based hierarchical state machine—A reusable and flexible game AI technology | |
CN102594851A (zh) | 一种海洋应用服务链动态构建的方法 | |
Yu et al. | Object-oriented Petri nets based architecture description language for multi-agent systems | |
CN116244301A (zh) | 一种基于有向无环图的时空过程机理模型服务链编排方法 | |
CN109976727A (zh) | 一种基于设计模式的mvc架构模式识别方法 | |
CN113255914A (zh) | 一种结构化表示智能体目标实现过程的方法 | |
Suzuki et al. | A comparative overview of generative approaches for computational form-finding of bending-active tensile structures | |
Bobeanu et al. | Modeling of discrete event systems: A holistic and incremental approach using Petri nets | |
Rasmussen et al. | A deductive system for proving workflow models from operational procedures | |
Alt et al. | Using high-level petri nets for hierarchical grid workflows | |
Sapaty | Spatial grasp language for distributed management and control | |
CN114756216B (zh) | 一种高可扩展性的集成建模仿真方法 | |
Gomaa et al. | Tool support for software variability management and product derivation in software product lines | |
CN116974573B (zh) | 一种面向全分布式智能建筑系统应用程序的编译方法 | |
Törsleff et al. | Development of Ontologies for Reasoning and Communication in Multi-Agent Systems. | |
CN115203908A (zh) | 基于元模型的仿真领域装备实体组件化建模方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |