CN117369795A - 用于无人机决策的行为树模型可达性分析方法及装置 - Google Patents
用于无人机决策的行为树模型可达性分析方法及装置 Download PDFInfo
- Publication number
- CN117369795A CN117369795A CN202311662144.9A CN202311662144A CN117369795A CN 117369795 A CN117369795 A CN 117369795A CN 202311662144 A CN202311662144 A CN 202311662144A CN 117369795 A CN117369795 A CN 117369795A
- Authority
- CN
- China
- Prior art keywords
- node
- behavior tree
- reachability
- behavior
- control flow
- 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.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 63
- 230000006399 behavior Effects 0.000 claims abstract description 252
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 26
- 125000004122 cyclic group Chemical group 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003542 behavioural effect Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000010845 search algorithm Methods 0.000 claims description 4
- 230000007547 defect Effects 0.000 abstract description 6
- 238000011835 investigation Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 239000002243 precursor Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 208000033986 Device capturing issue Diseases 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及无人机决策逻辑分析验证技术领域,提供一种用于无人机决策的行为树模型可达性分析方法及装置,其中方法包括:获取基于无人机决策行为构建的行为树,行为树中的每个节点对应无人机针对外部态势各因素的决策行为;将行为树转换为控制流图;基于控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;可达性结果用于反映行为树的节点所代表的无人机决策是否可被执行。对于大型复杂行为树,该方法无需实际运行行为树,能够给出行为树每个节点的可达性属性,尤其是找出行为树中的不可达节点。对于难以人工分析的大型、复杂行为树,尤其对于安全关键领域的行为树应用,本发明提供的方法将有效支持行为树缺陷排查。
Description
技术领域
本发明涉及无人机决策逻辑分析验证技术领域,尤其涉及一种用于无人机决策的行为树模型可达性分析方法及装置。
背景技术
行为树(Behavior Tree)是一种图形化建模语言。使用行为树,能够简单、直观的描述复杂行为逻辑,而无需考虑其具体实现。相比于传统的状态机,行为树具有良好的复用性、扩展性、易用性。因此,行为树被日益广泛的应用于人工智能、无人机、机器人、兵力生成等领域,对感知、决策、行为、规划等进行建模。
行为树是一个有向树,由节点和有向边组成。行为树的一次执行,是控制流从根节点到叶子节点的遍历过程。当某个节点执行后,向父节点返回成功、失败等运行结果,父节点根据结果决定控制流走向。上述过程递归执行,从而决定整颗行为树的行为。
实际应用中,会出现行为树某些节点永远不可达的情况。这意味着行为树存在设计缺陷,应当及早发现并修正,以免在上线运行后造成非预期后果。尤其是当行为树应用于安全关键领域时,这种情况是必须避免的。
由于建模对象本身的复杂性,行为树模型可能包含几千上万个节点,并包含复杂的层次关系。由人对大型行为树模型进行检查,往往超过了人脑的负载能力,无法有效发现行为树中隐藏的缺陷。常见做法是将行为树转换为可运行代码,通过构造测试场景执行行为树,来检查行为树模型与期望的符合性。但这种方式代价高、效率低,难以做到对行为树的全面覆盖。
发明内容
本发明提供一种用于无人机决策的行为树模型可达性分析方法及装置,用以解决现有技术中将行为树转换为可运行代码,通过构造测试场景执行行为树,来检查行为树模型与期望的符合性的方式代价高、效率低,难以做到对行为树的全面覆盖的缺陷。
本发明提供一种用于无人机决策的行为树模型可达性分析方法,包括:
获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;
将所述行为树转换为控制流图;
基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果,包括:
初始化当前节点为所述控制流图的根节点,并初始化约束条件集合;
在给定所述当前节点和所述初始化约束条件集合的情况下,对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果,包括:
执行循环过程直至满足第一预设条件:
所述循环过程包括:
在所述当前节点不为空的情况下,对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点;
基于所述更新当前节点,对所述控制流图进行向后回溯,得到待覆盖节点;所述第一预设条件为所述待覆盖节点为空。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点,包括:
执行循环过程直至满足第二预设条件:
所述循环过程包括:
确定所述控制流图中当前节点的节点类型,所述节点类型包括分支节点和行为节点;
在所述控制流图中当前节点的节点类型为所述分支节点的情况下,获取未覆盖分支,更新路径约束,并基于所述路径约束得到可达性结果,在所述可达性结果为可达的情况下,获取所述当前节点的下一个节点作为第一更新节点;
在所述控制流图中当前节点的节点类型为所述行为节点的情况下,对所述控制流图进行符号执行,得到第二更新节点;所述第二预设条件为所述可达性结果为不可达。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述基于所述路径约束得到可达性结果,包括:
基于可满足性模理论验证所述路径约束,并将验证通过的路径约束所代表的路径,作为所述可达性结果中的可达路径。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述对所述控制流图进行前向搜索使用深度优先搜索算法。
根据本发明提供的一种用于无人机决策的行为树模型可达性分析方法,所述获取基于无人机决策行为构建的行为树,包括:
读取无人机的决策行为的相关文件内容,并创建与所述相关文件内容对应的结构化对象,将所述结构化对象确定为所述行为树;
所述结构化对象中节点的属性包括基本类型、标识和子节点属性。
本发明还提供一种用于无人机决策的行为树模型可达性分析装置,包括:
获取单元,用于获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;
转换单元,用于将所述行为树转换为控制流图;
可达性分析单元,用于基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述用于无人机决策的行为树模型可达性分析方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述用于无人机决策的行为树模型可达性分析方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述用于无人机决策的行为树模型可达性分析方法。
本发明提供的用于无人机决策的行为树模型可达性分析方法及装置,获取基于无人机决策行为构建的行为树,行为树中的每个节点对应无人机针对外部态势各因素的决策行为,再将行为树转换为控制流图,最后,基于控制流图,进行行为树的节点可达性分析,得到行为树的节点的可达性结果,可达性结果用于反映行为树的节点所代表的无人机决策是否可被执行。对于大型复杂行为树,该方法无需实际运行行为树,能够给出行为树每个节点的可达性属性,尤其是找出行为树中的不可达节点。对于难以人工分析的大型、复杂行为树,尤其对于安全关键领域的行为树应用,本发明提供的方法将有效支持行为树缺陷排查。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于无人机决策的行为树模型可达性分析方法的流程示意图;
图2是本发明提供的行为树实例的示意图;
图3是本发明提供的行为树实例转换后的控制流图的示意图;
图4是本发明提供的路径搜索的流程示意图;
图5是本发明提供的对控制流图进行前向搜索的流程示意图;
图6是本发明提供的对控制流图进行向后回溯的流程示意图;
图7是本发明提供的用于无人机决策的行为树模型可达性分析装置的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类。
本发明提供一种用于无人机决策的行为树模型可达性分析方法,图1是本发明提供的用于无人机决策的行为树模型可达性分析方法的流程示意图,如图1所示,该方法包括:
步骤110,获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为。
具体地,可以获取基于无人机决策行为构建的行为树,行为树(Behavior Tree)是一种图形化建模语言。使用行为树,能够简单、直观的描述复杂行为逻辑,而无需考虑其具体实现。相比于传统的状态机,行为树具有良好的复用性、扩展性、易用性。
行为树中的每个节点对应无人机针对外部态势各因素的决策行为,此处,决策行为可以包括路径规划、目标跟踪、空战机动决策等,本发明实施例对此不作具体限定。
例如,可以根据任务设定、无人机飞行参数、目标参数决定无人机导航指令等。
步骤120,将所述行为树转换为控制流图。
具体地,行为树模型是基于良好定义的符号构建的,具有确定语义。但是,行为树模型的语法语义是针对行为树建模这一特定场景设计的,不利于进行一般性分析。因此,需将行为树转换为控制流图(Control Flow Graph,CFG),从而方便进行后续处理。
控制流图由基本块和有向边构成,且有唯一的入口块(entry)和出口块(exit)。由于行为树模型中不考虑存在循环的情况,因此转换后的控制流图为有向无环图。
图2是本发明提供的行为树实例的示意图,图3是本发明提供的行为树实例转换后的控制流图的示意图,如图2、图3所示,控制流图能够代表一个程序执行过程中会遍历到的所有路径,并且以图形的方式表示出一个程序内所有基本块可能的执行流向。
步骤130,基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
具体地,在得到控制流图之后,可以基于控制流图,进行行为树的节点可达性分析,得到行为树的节点的可达性结果。
此处,可达性结果用于反映行为树的节点所代表的无人机决策是否可被执行。
可以理解的是,根据节点对应关系,控制流图的节点可达性可以映射到行为树的节点可达性。
可达性分析主要由路径搜索、符号执行、可达性计算构成。在路径搜索过程中,进行符号执行,获得变量的符号更新值,并形成路径可达性约束条件,通过计算约束条件是否可满足,从而获得节点的可达性结果。
路径搜索采用深度优先搜索策略,由前向搜索和向后回溯两个主要模块。
本发明实施例提供的方法,获取基于无人机决策行为构建的行为树,行为树中的每个节点对应无人机针对外部态势各因素的决策行为,再将行为树转换为控制流图,最后,基于控制流图,进行行为树的节点可达性分析,得到行为树的节点的可达性结果,可达性结果用于反映行为树的节点所代表的无人机决策是否可被执行。对于大型复杂行为树,该方法无需实际运行行为树,能够给出行为树每个节点的可达性属性,尤其是找出行为树中的不可达节点。对于难以人工分析的大型、复杂行为树,尤其对于安全关键领域的行为树应用,本发明提供的方法将有效支持行为树缺陷排查。
基于上述实施例,步骤130包括:
步骤131,初始化当前节点为所述控制流图的根节点,并初始化约束条件集合;
步骤132,在给定所述当前节点和所述初始化约束条件集合的情况下,对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果。
具体地,可以初始化当前节点为控制流图的根节点,并初始化约束条件集合constraints。初始约束条件集合主要为变量取值约束、分辨率约束等。
此处,当前节点可以用c_node表示。
图4是本发明提供的路径搜索的流程示意图,如图4所示,在给定当前节点和初始化约束条件集合的情况下,对控制流图进行路径搜索,得到行为树的节点的可达性结果。
具体为:执行循环过程直至满足第一预设条件:
其中,循环过程包括:
在当前节点不为空的情况下,对控制流图进行前向搜索,并更新当前节点,得到更新当前节点c_node;
基于更新当前节点c_node,对控制流图进行向后回溯,得到待覆盖节点;其中,第一预设条件为待覆盖节点为空。
可以理解的是,在当前节点c_node为空的情况下,结束循环。
基于上述实施例,所述对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点,包括:
执行循环过程直至满足第二预设条件:
其中,循环过程包括:
确定所述控制流图中当前节点的节点类型,所述节点类型包括分支节点和行为节点;
在所述控制流图中当前节点的节点类型为所述分支节点的情况下,获取未覆盖分支,更新路径约束,并基于所述路径约束得到可达性结果,在所述可达性结果为可达的情况下,获取所述根节点的下一个节点作为第一更新节点;
在所述控制流图中当前节点的节点类型为所述行为节点的情况下,对所述控制流图进行符号执行,得到第二更新节点;所述第二预设条件为所述可达性结果为不可达。
具体地,可以确定控制流图中当前节点的节点类型,此处,节点类型包括分支节点和行为节点。
分支节点仅包含判定,根据判定的True、False结果决定后续控制流向;行为节点包括赋值、计算等操作指令,对变量进行更新。
令节点b的后继节点为从b所能达到的所有节点集合。定义SuccCovered[b]表示b的所有后继可达性。SuccCovered[b]=True,表示b的所有后继节点均已可达。
并且,在当前节点c_node是exit节点(出口块)的情况下,结束循环;在当前节点c_node不是exit节点(出口块)的情况下,进行当前节点c_node的所有后继可达性的判断,并且,在当前节点c_node的所有后继可达性不等于True的情况下,进行当前节点的节点类型的判断,在当前节点c_node的所有后继可达性等于True的情况下,结束循环。
在路径前向搜索过程中,对于分支节点,根据期望的控制流方向进行路径条件可满足性计算;对于行为节点,进行符号计算,更新变量符号值。
在前向搜索过程中,当将行为节点加入到路径中时,需要进行符号执行,以更新变量的符号值。
符号执行(Symbolic Execution)是一种静态分析技术,通过使用抽象的符号代替具体值来模拟程序的执行。进行路径的可达性计算时,基于符号执行的结果可以构造路径约束。
之所以进行符号执行,是由于行为节点中的操作执行所导致变量赋值存在副作用(side effect),可能影响后续控制流。
例如,在图2所示的控制流图中,对于路径p1:={entry, b_1, b_2, b_4},st值为0(此例中st被赋值为具体值);对于路径p2:={entry, b_1, b_3, b_4},st值为1;则对于b_4,不同路径时其后续的控制流向不同。
图5是本发明提供的对控制流图进行前向搜索的流程示意图,如图5所示,在控制流图中当前节点的节点类型为分支节点的情况下,获取未覆盖分支,更新路径约束,并基于路径约束得到可达性结果,在可达性结果为可达的情况下,获取当前节点的下一个节点作为第一更新节点;
在控制流图中当前节点的节点类型为行为节点的情况下,对控制流图进行符号执行,得到第二更新节点;其中,第二预设条件为可达性结果为不可达。
向后回溯用于从前向搜索路径的最终节点,即更新后的c_node,向后查找未搜索分支。由于这里的控制流图为有向无环图,因此每个节点有唯一的直接前驱(即每个节点有唯一的入边,直接前驱即该入边的源节点)。
图6是本发明提供的对控制流图进行向后回溯的流程示意图,如图6所示,在当前节点c_node是entry(入口块)节点的情况下,返回空;在当前节点c_node不是entry(入口块)节点的情况下,判断c_node的节点类型,在c_node的节点类型为分支节点的情况下,判断分支节点所有出边已搜索。
在分支节点所有出边已搜索的情况下,获取当前节点c_node的直接前驱,更新c_node,重新返回执行判断c_node是否是entry节点;
在分支节点不是所有出边已搜索的情况下,获取未覆盖出边,更新约束条件,将c_node设置为未覆盖出边的目的节点,返回c_node。
此外,在c_node的节点类型不是分支节点的情况下,获取c_node的直接前驱,更新c_node,重新返回执行判断c_node是否是entry节点。
在向后搜索的过程中,包含对节点的后继节点覆盖属性SuccCovered的赋值过程。如果后向搜索的起始节点c_node为exit节点,则设置SuccCovered[c_node]为真,否则保持原值;在向后搜索过程中,如果直接前驱为行为节点,则传递c_node的覆盖属性到直接前驱;如果直接前驱为分支节点,则对分支节点的两个直接后继的覆盖属性进行合取。
基于上述实施例,所述基于所述路径约束得到可达性结果,包括:
基于可满足性模理论验证所述路径约束,并将验证通过的路径约束所代表的路径,作为所述可达性结果中的可达路径。
具体地,可以基于可满足性模理论验证路径约束,并将验证通过的路径约束所代表的路径,作为可达性结果中的可达路径。
在前向搜索过程中,在初始约束基础上,对给定路径,根据符号执行结果及分支节点判定条件,构成路径约束。对路径约束,通过调用可满足性模理论(SatisfiabilityModulo Theories,SMT)求解器进行计算,如果返回结果为sat,则表明路径可达;如果为unsat,则路径不可达;如果为unknown,表明可达性未知。
在图2所示的控制流图中,考虑路径p:={ entry, b_1, b_3, b_4, b_6, b_7},假设初始约束为空,则该路径的约束条件列表为:
Constraints:=[Not(And(b0==0,b1==0)),st==1,Not(st==0), And(b0==0, b1==0)]
对上述约束条件列表进行合取,调用SMT求解器进行计算,返回结果为unsat,表明该路径不可达。
路径搜索退出后,即可获得可达节点列表、不可达节点列表。
在图2所示的控制流图中,按照上述方法,将发现节点b_7为不可达节点。
对上述不可达结论的原因分析过程如下:
如果b_7可达,则要求b_6可达,且b_6的条件为真;
b_6可达,则要求b_4的条件为假,也即st!=0;
st!=0, 则b_3应为b_4的前序节点
b_3可达,则b_1的条件应为假。
由于b_1、b_6有相同的条件,但b_1条件应为假,b_6条件应为真,二者矛盾,导致b_7不可达。
基于上述实施例,所述对所述控制流图进行前向搜索使用深度优先搜索算法(Depth First Search,DFS)。
基于上述实施例,步骤110包括:
步骤111,读取无人机的决策行为的相关文件内容,并创建与所述相关文件内容对应的结构化对象,将所述结构化对象确定为所述行为树;
所述结构化对象中节点的属性包括基本类型、标识和子节点属性。
具体地,可以读取无人机的决策行为的相关文件内容,并创建与相关文件内容对应的结构化对象,将结构化对象确定为行为树。
此处,无人机的决策行为的相关文件内容可以包括用户根据行为逻辑预先编写的表格、文本和XML形式的文件中的任意一种。例如,无人机的决策行为的相关文件内容为XML结构文本,则可以直接读取成元素、属性、子元素组成的内存对象。
此处,读取无人机的决策行为的相关文件内容的方法取决于相关文件内容的格式和存储方式。如果相关文件内容是以XML格式存储的,可以使用Java中的DOM或SAX解析器来读取。如果相关文件内容是以二进制格式存储的,则需要使用相应的库来读取。
此处,结构化对象是与相关文件内容对应的便于遍历的结构化对象。
行为树XML文件按照节点(Node)对行为树进行结构化描述,每个Node包含基本类型(Class)和ID两个基本属性,同时还包括属性(Property)、附件(Attachments)和Node子节点。不同类型的Node会包含不同的Property子节点。
行为树模型常见节点及其子节点属性见表1:
表1. 行为树模型常见节点及其子节点属性
其中,选择节点:以给定的顺序依次调用其子节点,直到其中一个成功返回,那么该节点也返回成功。如果所有的子节点都失败,那么该节点也失败。选择实现了或的功能。
序列节点:以给定的顺序依次执行其子节点,直到所有子节点成功返回,该节点也返回成功。只要其中某个子节点失败,那么该节点也失败。序列实现了与的功能。
并行节点:并行的执行所有子节点,然后根据所有子节点的状态决定本身的状态。
下面对本发明提供的用于无人机决策的行为树模型可达性分析装置进行描述,下文描述的用于无人机决策的行为树模型可达性分析装置与上文描述的用于无人机决策的行为树模型可达性分析方法可相互对应参照。
基于上述任一实施例,本发明提供一种用于无人机决策的行为树模型可达性分析装置,图7是本发明提供的用于无人机决策的行为树模型可达性分析装置的结构示意图,如图7所示,该装置包括:
获取单元710,用于获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;
转换单元720,用于将所述行为树转换为控制流图;
可达性分析单元730,用于基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
本发明实施例提供的装置,获取基于无人机决策行为构建的行为树,行为树中的每个节点对应无人机针对外部态势各因素的决策行为,再将行为树转换为控制流图,最后,基于控制流图,进行行为树的节点可达性分析,得到行为树的节点的可达性结果,可达性结果用于反映行为树的节点所代表的无人机决策是否可被执行。对于大型复杂行为树,该方法无需实际运行行为树,能够给出行为树每个节点的可达性属性,尤其是找出行为树中的不可达节点。对于难以人工分析的大型、复杂行为树,尤其对于安全关键领域的行为树应用,本发明提供的方法将有效支持行为树缺陷排查。
基于上述任一实施例,可达性分析单元730,具体包括:
初始化单元,用于初始化当前节点为所述控制流图的根节点,并初始化约束条件集合;
路径搜索单元,用于在给定所述当前节点和所述初始化约束条件集合的情况下,对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果。
基于上述任一实施例,路径搜索单元,具体包括:
执行循环过程直至满足第一预设条件:
所述循环过程包括:
前向搜索单元,用于在所述当前节点不为空的情况下,对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点;
向后回溯单元,用于基于所述更新当前节点,对所述控制流图进行向后回溯,得到待覆盖节点;所述第一预设条件为所述待覆盖节点为空。
基于上述任一实施例,前向搜索单元,具体包括:
执行循环过程直至满足第二预设条件:
所述循环过程包括:
确定节点类型单元,用于确定所述控制流图中当前节点的节点类型,所述节点类型包括分支节点和行为节点;
确定第一更新节点单元,用于在所述控制流图中当前节点的节点类型为所述分支节点的情况下,获取未覆盖分支,更新路径约束,并基于所述路径约束得到可达性结果,在所述可达性结果为可达的情况下,获取所述当前节点的下一个节点作为第一更新节点;
确定第二更新节点单元,用于在所述控制流图中当前节点的节点类型为所述行为节点的情况下,对所述控制流图进行符号执行,得到第二更新节点;所述第二预设条件为所述可达性结果为不可达。
基于上述任一实施例,确定第一更新节点单元,具体包括:
基于可满足性模理论验证所述路径约束,并将验证通过的路径约束所代表的路径,作为所述可达性结果中的可达路径。
基于上述任一实施例,所述对所述控制流图进行前向搜索使用深度优先搜索算法。
基于上述任一实施例,获取单元710,具体用于:
读取无人机的决策行为的相关文件内容,并创建与所述相关文件内容对应的结构化对象,将所述结构化对象确定为所述行为树;
所述结构化对象中节点的属性包括基本类型、标识和子节点属性。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行用于无人机决策的行为树模型可达性分析方法,该方法包括:获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;将所述行为树转换为控制流图;基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的用于无人机决策的行为树模型可达性分析方法,该方法包括:获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;将所述行为树转换为控制流图;基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的用于无人机决策的行为树模型可达性分析方法,该方法包括:获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;将所述行为树转换为控制流图;基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于无人机决策的行为树模型可达性分析方法,其特征在于,包括:
获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;
将所述行为树转换为控制流图;
基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
2.根据权利要求1所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果,包括:
初始化当前节点为所述控制流图的根节点,并初始化约束条件集合;
在给定所述当前节点和所述初始化约束条件集合的情况下,对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果。
3.根据权利要求2所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述对所述控制流图进行路径搜索,得到所述行为树的节点的可达性结果,包括:
执行循环过程直至满足第一预设条件:
所述循环过程包括:
在所述当前节点不为空的情况下,对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点;
基于所述更新当前节点,对所述控制流图进行向后回溯,得到待覆盖节点;所述第一预设条件为所述待覆盖节点为空。
4.根据权利要求3所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述对所述控制流图进行前向搜索,并更新所述当前节点,得到更新当前节点,包括:
执行循环过程直至满足第二预设条件:
所述循环过程包括:
确定所述控制流图中当前节点的节点类型,所述节点类型包括分支节点和行为节点;
在所述控制流图中当前节点的节点类型为所述分支节点的情况下,获取未覆盖分支,更新路径约束,并基于所述路径约束得到可达性结果,在所述可达性结果为可达的情况下,获取所述当前节点的下一个节点作为第一更新节点;
在所述控制流图中当前节点的节点类型为所述行为节点的情况下,对所述控制流图进行符号执行,得到第二更新节点;所述第二预设条件为所述可达性结果为不可达。
5.根据权利要求4所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述基于所述路径约束得到可达性结果,包括:
基于可满足性模理论验证所述路径约束,并将验证通过的路径约束所代表的路径,作为所述可达性结果中的可达路径。
6.根据权利要求3所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述对所述控制流图进行前向搜索使用深度优先搜索算法。
7.根据权利要求1至6中任一项所述的用于无人机决策的行为树模型可达性分析方法,其特征在于,所述获取基于无人机决策行为构建的行为树,包括:
读取无人机的决策行为的相关文件内容,并创建与所述相关文件内容对应的结构化对象,将所述结构化对象确定为所述行为树;
所述结构化对象中节点的属性包括基本类型、标识和子节点属性。
8.一种用于无人机决策的行为树模型可达性分析装置,其特征在于,包括:
获取单元,用于获取基于无人机决策行为构建的行为树,所述行为树中的每个节点对应无人机针对外部态势各因素的决策行为;
转换单元,用于将所述行为树转换为控制流图;
可达性分析单元,用于基于所述控制流图,进行所述行为树的节点可达性分析,得到所述行为树的节点的可达性结果;所述可达性结果用于反映所述行为树的节点所代表的无人机决策是否可被执行。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述用于无人机决策的行为树模型可达性分析方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述用于无人机决策的行为树模型可达性分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662144.9A CN117369795B (zh) | 2023-12-06 | 2023-12-06 | 用于无人机决策的行为树模型可达性分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662144.9A CN117369795B (zh) | 2023-12-06 | 2023-12-06 | 用于无人机决策的行为树模型可达性分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117369795A true CN117369795A (zh) | 2024-01-09 |
CN117369795B CN117369795B (zh) | 2024-03-01 |
Family
ID=89394849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311662144.9A Active CN117369795B (zh) | 2023-12-06 | 2023-12-06 | 用于无人机决策的行为树模型可达性分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369795B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805894A (en) * | 1995-02-13 | 1998-09-08 | Kuck & Associates, Inc. | Method inside an optimizing compiler for analyzing assertions and redirecting control flow in programs |
US20050071808A1 (en) * | 2003-09-19 | 2005-03-31 | Stmicroelectronics, S.A. | Generic development tools for embedded software design |
CN102073587A (zh) * | 2010-12-27 | 2011-05-25 | 北京邮电大学 | 一种程序中不可达路径的静态检测方法 |
CN102073816A (zh) * | 2010-12-31 | 2011-05-25 | 兰雨晴 | 基于行为的软件可信度量系统及方法 |
CN109656568A (zh) * | 2018-12-28 | 2019-04-19 | 黑龙江省工业技术研究院 | 按需的可约程序控制流图图可达性索引方法 |
CN112549029A (zh) * | 2020-12-03 | 2021-03-26 | 天津(滨海)人工智能军民融合创新中心 | 一种基于行为树的机器人行为控制方法及装置 |
-
2023
- 2023-12-06 CN CN202311662144.9A patent/CN117369795B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805894A (en) * | 1995-02-13 | 1998-09-08 | Kuck & Associates, Inc. | Method inside an optimizing compiler for analyzing assertions and redirecting control flow in programs |
US20050071808A1 (en) * | 2003-09-19 | 2005-03-31 | Stmicroelectronics, S.A. | Generic development tools for embedded software design |
CN102073587A (zh) * | 2010-12-27 | 2011-05-25 | 北京邮电大学 | 一种程序中不可达路径的静态检测方法 |
CN102073816A (zh) * | 2010-12-31 | 2011-05-25 | 兰雨晴 | 基于行为的软件可信度量系统及方法 |
CN109656568A (zh) * | 2018-12-28 | 2019-04-19 | 黑龙江省工业技术研究院 | 按需的可约程序控制流图图可达性索引方法 |
CN112549029A (zh) * | 2020-12-03 | 2021-03-26 | 天津(滨海)人工智能军民融合创新中心 | 一种基于行为树的机器人行为控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
MATTHIAS ALTHOFF: "Set Propagation Techniques for Reachability Analysis", ANNUAL REVIEW OF CONTROL, ROBOTICS, AND AUTONOMOUS SYSTEMS * |
刘瑞峰;王家胜;张灏龙;田梦凡;: "行为树技术的研究进展与应用", 计算机与现代化, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN117369795B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hegedüs et al. | A model-driven framework for guided design space exploration | |
CN107783758B (zh) | 一种智能合约工程方法 | |
CN108664241B (zh) | 一种将SysML模型进行仿真验证的方法 | |
Szpyrka et al. | Alvis–modelling language for concurrent systems | |
CN105975269B (zh) | 一种基于流程模型的需求验证方法 | |
Sacramento et al. | Web application model generation through reverse engineering and UI pattern inferring | |
Horváth et al. | Dynamic constraint satisfaction problems over models | |
CN117369521B (zh) | 用于无人机决策的行为树模型路径生成方法、装置及设备 | |
CN111435367B (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
Prosvirnova et al. | Automated generation of minimal cut sets from AltaRica 3.0 models | |
US20050137839A1 (en) | Methods, apparatus and programs for system development | |
CN115240048A (zh) | 面向图像分类的深度学习的算子定位融合方法及装置 | |
CN117369795B (zh) | 用于无人机决策的行为树模型可达性分析方法及装置 | |
US8849626B1 (en) | Semantic translation of stateflow diagrams into input/output extended finite automata and automated test generation for simulink/stateflow diagrams | |
Wu et al. | Regret-based multi-agent coordination with uncertain task rewards | |
Bistarelli et al. | Enumerating extensions on random abstract-afs with argtools, aspartix, conarg2, and dung-o-matic | |
CN116107625A (zh) | 流程设计方法、装置、设备、存储介质及程序产品 | |
Quartuccio et al. | A model-based approach to investigate emergent behaviors in systems of systems | |
CN113677583B (zh) | 基于图计算的车辆驾驶数据处理方法、装置和计算机设备 | |
Barros et al. | Towards an integrated tool support for the analysis of iopt nets using the spin model checker | |
Ipate et al. | Model learning and test generation using cover automata | |
CN113553246A (zh) | 一种面向计算平台的系统评估装置 | |
Antonelli et al. | AGUTER a platform for automated generation of user acceptance tests from requirements specifications | |
CN109800155B (zh) | 一种基于Probe的QTE联锁应用软件测试方法及装置 | |
Ruchkin | Towards Integration of Modeling Methods for Cyber-Physical Systems. |
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 |