一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种针对群体无人系统行为树的异常分级处理方法及系统

2022-05-06 10:50:30 来源:中国专利 TAG:


1.本发明涉及无人系统技术领域,更具体地说,特别涉及一种针对群体无人系统行为树的异常分级处理方法及系统。


背景技术:

2.近年来,无人系统(以无人机、无人车等为载体的智能操作系统)发展迅速,并随着无人系统业务实施的范围增大,业务逻辑演变急剧复杂,单体无人系统已无法满足未来业务场景的需求,进而促使群体无人系统得到了大规模的爆发式发展。因为群体无人系统是以业务执行过程中扮演的角色为单位,一个业务角色通常会对应多个单体无人系统,而不同业务角色可能会有相同的具体应用动作,这对群体无人系统业务流程的可复用性提出了非常迫切的需求,因此一种新型管理业务执行流程的方法,行为树应运而生。
3.在行为树流程管理机制未出现之前,无人系统普遍采用有限状态机来对一套业务流程进行编排。有限状态机维护了一张图,图的节点是每个状态抽象的类,节点和节点的连线是状态间根据一定的规则做的状态转换,整个管理这些状态切换的载体就是有限状态机。这种实现机制就注定了有限状态机存在各个状态类之间相互依赖严重,耦合度很高,且结构不灵活,可扩展性不高等一系列缺陷。而行为树是将整套业务流程的每个具体动作搭建为一棵树,父节点是行为分支,叶节点是行为的具体表现。行为树将群体无人系统的角色行为包装为一个对象,符合面向对象的设计理念。行为树将行为逻辑和状态数据剥离,降低耦合,方便策划配置,而无需对每个无人系统的行为进行代码控制,提高了可视性,简化问题排查,提高效率。同时,借助行为树自身良好的可扩展性,可将群体无人系统的业务流程划分为多级行为树,层层嵌套。
4.通常,群体无人系统执行大业务时所涉及的机器平台数量较多,场景范围较广,无线通信链路极容易受到干扰甚至中断,导致无人平台与控制台失去联系,从而影响业务流程的正常运转;加之机器平台上装载的传感器数量和种类也比较繁多,而大多数传感器的应用环境都有比较严苛的条件限制,面对变幻莫测的场景环境,一个完备的行为树系统必须具备对各种可能发生的异常情况进行自我修复的能力,从而更高效、更智能地完成预期的整套业务流程。因此,为了使群体无人系统的控制核心行为树运转得更加稳定可靠,提出一种针对群体无人系统行为树的异常分级处理方法及系统成为当前亟待解决的技术难题。


技术实现要素:

5.本发明的目的在于提供一种针对群体无人系统行为树的异常分级处理方法及系统,以克服现有技术所存在的缺陷。
6.为了达到上述目的,本发明采用的技术方案如下:
7.一种针对群体无人系统行为树的异常分级处理方法,包括以下步骤:
8.s1、在控制台和群体无人机平台上配置行为树引擎;
9.s2、根据业务流程构造任务树和平台行为树,将所述任务树置于中心控制台主线
程,构造异常检测子线程一,将所述平台行为树置于无人平台主线程,构造异常检测子线程二;
10.s3、构造平台行为树时,在第一异常发生概率达到第一阈值的节点上构建恢复节点,以形成局部异常处理环节,并在所述平台行为树叶子节点构建异常监视函数,用于异常的监视和异常抛出;
11.s4、构造平台行为树主线程时开启的异常检测子线程中放置集中式异常处理环节,所述平台行为树运行时发送运行状态至集中式异常处理环节的事件队列,待后续进入异常分析,对已发生事件的逻辑进行分析评判;且所述平台行为树叶子节点通过监视函数监视异常,若发现异常则将该异常发送至集中式异常处理环节的异常队列,并对所述异常队列进行异常过滤,对过滤结果进行评判,若评判的难易程度小于预设值则调用异常服务对异常进行异常处理,若难易程度大于预设值则调用综合信息进行异常分析,再调用异常服务进行异常处理;
12.s5、群体无人系统以集中式协同执行业务流程时,无人系统上的平台行为树运行状态实时反馈给任务树,若无人系统端因通信中断而与控制台或其他无人系统失联时,触发行为树的异常处理,将当前执行节点切换为备用节点,所述备用节点在评估自身状态时与控制台尝试重连;若任务树检测到状态同步超时,触发任务树的异常处理,将当前执行的行为树子树切换为备用节点并提示人为干预;当无人系统与控制台恢复通信后,所述任务树重新同步集群的行为树运行状态,并对业务流程的下一步进行重新规划。
13.进一步地,所述步骤s3中的恢复节点为具有两个子节点的控制流类型节点,所述恢复节点的控制逻辑为:仅第一子节点返回成功时该恢复节点返回成功;仅在第一子节点返回失败时执行第二子节点;第二子节点用于恢复操作,若恢复操作成功,则再次执行第一子节点。
14.进一步地,所述集中式异常处理环节在初始化时,对集中式异常的异常描述符进行配置。
15.进一步地,所述集中式异常处理环节中,在无人平台行为树的叶子节点中放置异常检测的监视函数,若行为发生异常时,执行监视函数通知集中式异常处理环节,将异常请求发送到集中式异常处理环节的异常队列,行为树引擎将对当前执行的叶子节点唯一标识id予以保护。
16.进一步地,所述步骤s4中的异常描述符为:一个异常所需要的资源都集中在这个结构体描述中,该结构体会在行为树初始化的时候被分配到一个数组中存放,其中数组下标代表的是异常代码。
17.进一步地,所述步骤s4的异常队列的底层数据结构为环形双端队列,该环形双端队列的头部用于读取和存储最早发出的请求,环形双端队列的尾部用于下个写入请求。
18.进一步地,所述步骤s4中的事件队列用于存储平台行为树的运行状态,所述事件队列用于集中式异常处理环节对异常作出综合信息判断。
19.进一步地,所述步骤s4中的异常服务中存储异常列表,每个异常对应有异常处理程序,所述异常列表包括通用异常和用户注册异常,所述异常处理为根据异常代码调用对应的异常处理程序。
20.进一步地,在所述异常处理程序完成处理后,根据引起异常的事件类型将控制权
返回给当前叶子节点、将控制权返回给下一个叶子节点或终止发生异常的节点。
21.本发明还提供一种根据上述的针对群体无人系统行为树的异常分级处理方法,包括:
22.配置模块,用于在控制台和群体无人机平台上配置行为树引擎;
23.构造模块,用于根据业务流程构造任务树和平台行为树,为平台行为树叶子节点构造异常监视函数,将所述任务树置于中心控制台主线程,构造异常检测子线程一,将所述平台行为树置于平台主线程,并构造异常检测子线程二;
24.局部异常处理模块,用于构造平台行为树时在第一异常发生概率达到第一阈值的节点上构建恢复节点,以形成局部异常处理环节;
25.集中式异常处理模块,用于在构造平台行为树主线程时开启的异常检测子线程中放置集中式异常处理环节,所述平台行为树运行时发送运行状态至集中式异常处理环节的事件队列,待后续进入异常分析,对已发生事件的逻辑进行分析评判;且所述平台行为树叶子节点通过监视函数监视异常,若发现异常则将该异常发送至集中式异常处理环节的异常队列,并对所述异常队列进行异常过滤,对过滤结果进行评判,若评判的难易程度小于预设值则调用异常服务对异常进行异常处理,若难易程度大于预设值则调用综合信息进行异常分析,再调用异常服务进行异常处理;
26.任务树级异常处理模块,用于群体无人系统以集中式协同执行业务流程时,平台行为树运行状态实时反馈给任务树,若无人系统端因通信中断而与控制台或其他无人系统失联时,触发行为树的异常处理,将当前执行节点切换为备用节点,所述备用节点在评估自身状态时与控制台尝试重连;若任务树检测到状态同步超时,触发任务树的异常处理,将当前执行的行为树子树切换为备用节点并提示人为干预;当无人系统与控制台恢复通信后,所述任务树重新同步集群的行为树运行状态,并对业务流程的下一步进行重新规划。
27.与现有技术相比,本发明的优点在于:本发明通过三个层级异常处理的逐层处理模式,群体无人系统执行复杂业务流程时,各级行为树发生的异常都得到了及时高效、智能地处理。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本发明针对群体无人系统行为树的异常分级处理的三个层级结构图。
30.图2是本发明局部异常处理环节的恢复节点示意图。
31.图3是本发明集中式异常处理环节的流程示意图。
32.图4是本发明任务树级异常处理环节的流程示意图。
33.图5是本发明针对群体无人系统行为树的异常分级处理系统的原理图。
具体实施方式
34.下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能
更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
35.参阅图1-图4所示,本实施例公开了一种针对群体无人系统行为树的异常分级处理方法,包括以下步骤:
36.步骤s1、在控制台和群体无人机平台上配置行为树引擎,包括行为树内和树间的通信机制。
37.步骤s2、根据业务流程构造任务树和平台行为树,将所述任务树置于中心控制台主线程,构造异常检测子线程一,将所述平台行为树置于无人平台主线程,构造异常检测子线程二。
38.步骤s3、构造平台行为树时,在第一异常发生概率达到第一阈值的节点上构建恢复节点,以形成局部异常处理环节,并在所述平台行为树叶子节点构建异常监视函数,用于异常的监视和异常抛出;
39.其中,恢复节点为具有两个子节点的控制流类型节点,恢复节点的控制逻辑为:当且仅当第一子节点返回成功时该恢复节点返回成功;仅在第一子节点返回失败时执行第二子节点;第二子节点用于恢复操作,例如重新初始化系统或其他恢复行为,若恢复操作成功,则再次执行第一子节点。
40.具体的,用户可以指定在返回失败之前应该执行多少次恢复操作,以此来控制局部异常的处理时间。
41.步骤s4、构造平台行为树主线程时开启的异常检测子线程中放置集中式异常处理环节,平台行为树运行时,为了观测整个行为树的运行状态,每个节点发送事件至集中式异常处理环节的事件队列,使得异常检测环节对每个节点都有所观测,若某个或多个节点通过监视函数发现异常则将该异常发送至集中式异常处理环节的异常队列,并对异常队列进行异常过滤,对过滤结果进行评判(多节点相同请求,不同节点请求冲突等情况),若评判的难易程度小于预设值(可以为简单易处理)则调用异常服务对异常进行异常处理,若难易程度大于预设值(可以为复杂)则调用综合信息进行异常分析,再调用异常服务进行异常处理。
42.本实施例中,集中式异常处理环节的主要工作流程如下:
43.注册异常,在系统初始化时,用户需自行完成对此类异常的注册,主要包含异常描述符的配置。异常描述符:一个异常所需要的资源都集中在这个结构体描述中,该结构体会在平台行为树初始化的时候被分配到一个数组中存放,其中数组下标代表的是异常代码。
44.异常检测,注册异常和异常检测需配合使用,异常检测的监视函数位于平台行为树的叶子节点,当行为发生异常时,执行监视函数通知集中式异常处理环节,将异常请求发送到处理环节的异常队列,并让异常处理环节作出相应处理。异常抛出的同时,行为树引擎将对当前执行的叶子节点唯一标识id做现场保护,以便异常处理结束时恢复运行。
45.异常队列,异常队列的底层数据结构为环形双端队列,队列的头部是读取请求的地方,存储最早发出的请求;尾部是下个写入请求的地方。异常队列主要解决以下问题:异常消息处理不得阻塞调用者;请求可以合并处理;接受请求和处理请求解耦,使得两者可异步处理;优先级请求;单播多写入队列,只有集中式异常处理环节可以读取,其他节点可以写入。
46.事件队列,事件队列存储平台行为树的运行状态,其他对象可以针对这个事件做
出回应,供集中式异常处理环节对异常作出综合信息判断。
47.异常过滤器,对异常队列的所有异常请求进行过滤,进行异常的分析,比如重复异常的请求合并,简单异常以及复杂异常的判断。
48.异常服务,存储着异常列表,针对每个异常代码都有相应的异常处理程序,供异常处理环节读取请求的异常之后调用服务接口作出处理(服务被限制在集中式异常处理线程中,只允许该环节访问)。异常列表分为系统通用异常和用户注册异常两部分,其中通用系统异常为一些常见的通用性异常,系统运行前需事先定义;而用户注册的面向具体业务流程的异常,可与监视函数配合使用。
49.异常处理,主要是根据不同的异常代码,调用相应异常处理程序解决异常的过程。异常处理程序执行时,可根据异常等级确认是否同时暂停所有正在执行的行为树分支,启动安全模式(一棵提前设置好的行为树子树),让平台进入安全模式,防止陷入混乱。
50.控制权返回,当异常处理程序完成处理后,根据引起异常的事件类型,会引发下列三种情况中的一种:处理程序将控制权给当前叶子节点(当事件发生时正在执行的叶子节点);处理程序将控制权返回给下一个叶子节点(当事件发生时正在执行的下一个叶子节点);处理程序终止发生异常的节点。
51.步骤s5、群体无人系统以集中式协同执行业务流程时,平台行为树运行状态实时反馈给任务树,若无人系统端因通信中断而与控制台或其他无人系统失联时,自身无法完成状态同步,因此会触发行为树的异常处理,将当前执行节点切换为备用节点,备用节点在评估自身状态时与控制台尝试重连;若控制台任务树检测到状态同步超时,触发任务树的异常处理,将当前执行的行为树子树切换为备用节点并提示人为干预;当无人系统与控制台恢复通信后,控制台任务树重新同步集群的行为树运行状态,并对业务流程的下一步进行重新规划。
52.本发明还提供一种针对上述群体无人系统行为树的异常分级处理方法的系统,包括:配置模块1,用于在每个单体无人系统和控制台上配置行为树引擎;构造模块2,用于根据业务流程构造任务树和平台行为树,为平台行为树叶子节点构造异常监视函数,将所述任务树置于中心控制台主线程,构造异常检测子线程一,将所述平台行为树置于平台主线程,并构造异常检测子线程二;局部异常处理模块3,用于构造平台行为树时在第一异常发生概率达到第一阈值的节点上构建恢复节点,以形成局部异常处理环节;集中式异常处理模块4,用于在构造平台行为树主线程时开启的异常检测子线程中放置集中式异常处理环节,所述平台行为树运行时发送运行状态至集中式异常处理环节的事件队列,待后续进入异常分析,对已发生事件的逻辑进行分析评判;且所述平台行为树叶子节点通过监视函数监视异常,若发现异常则将该异常发送至集中式异常处理环节的异常队列,并对所述异常队列进行异常过滤,对过滤结果进行评判,若评判的难易程度小于预设值则调用异常服务对异常进行异常处理,若难易程度大于预设值则调用综合信息进行异常分析,再调用异常服务进行异常处理;任务树级异常处理模块5,用于群体无人系统以集中式协同执行业务流程时,平台行为树运行状态实时反馈给任务树,若无人系统端因通信中断而与控制台或其他无人系统失联时,触发行为树的异常处理,将当前执行节点切换为备用节点,所述备用节点在评估自身状态时与控制台尝试重连;若任务树检测到状态同步超时,触发任务树的异常处理,将当前执行的行为树子树切换为备用节点并提示人为干预;当无人系统与控制台
恢复通信后,所述任务树重新同步集群的行为树运行状态,并对业务流程的下一步进行重新规划。
53.本发明将群体无人系统行为树的异常处理机制分为三个层级,由低到高分别为:局部异常自处理环节,集中式异常处理环节,任务树级异常处理环节。局部异常自处理环节用于解决一些平台行为树级的简单异常,凭借基本的传感器重启,等待,参数重置等预设操作就能得到解决。此类异常可通过构建平台行为树时添加恢复节点来处理,将异常处理的权限下放至局部节点,可提高简单异常事件的处理效率,若恢复节点无法对该异常进行修复,则将该异常提交至集中式异常处理环节进行处理。集中式异常处理环节用于收集局部异常自处理环节无法解决的异常问题,并进行统一处理。其中,较为简单的异常事件,可通过异常过滤器和异常请求服务,获得异常处理入口,来具体解决异常;而针对比较复杂的异常事件(例如,多项异常事件存在关联关系,因果关系等),则需要先经过异常分析器的预处理,再进一步请求异常服务。通常,单体无人系统上行为树运转时发生的异常情况可通过上述两层异常处理机制进行主观能动的自我消化和恢复,而面对群体协同业务流程时,则需要任务树级异常处理环节的参与。任务树级异常处理环节用于解决无人平台与中心控制台间通信中断导致任务树运转发生异常,或是单体无人系统上集中式异常处理环节产生难以处理的异常的情况,通过启动备用节点或人工干预的方式,强制执行最高优先级的异常处理方案。本技术通过三个层级异常处理模块的逐层处理,群体无人系统执行复杂业务流程时,各级行为树发生的异常都得到了及时高效、智能地处理。
54.虽然结合附图描述了本发明的实施方式,但是专利所有者可以在所附权利要求的范围之内做出各种变形或修改,只要不超过本发明的权利要求所描述的保护范围,都应当在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献