一种面向人机交互系统约束的交互控制模型求解方法及系统与流程

文档序号:12364749阅读:345来源:国知局
一种面向人机交互系统约束的交互控制模型求解方法及系统与流程
本发明涉及一种计算机控制领域,特别是涉及一种面向人机交互系统约束的交互控制领域。
背景技术
:随着互联网技术的快速发展,人们对于机器人的控制从以前的本地控制逐渐发展到远程控制,这一进步大大地节省了人力和物力,开创了崭新的工作模式。更多的研究人员开始投身于这类远程控制机器人的研究工作,这一方面是由于人们对于提高工作效率的迫切需要,另一方面,则是由于在实际的工业制造业生产现场,存在着很多不适合人们亲自去参加的危险场景。不过人们发现,想要让这类远程机器人达到完全的自治是难以实现的,人为操作总会在某些重要时刻参与进来。在目前的远程控制的机器人系统中,通常既会存在由计算机控制的全自主的机器人,也会存在需要人为操作来控制的半自主机器人,因此,在这类系统中,为了使得机器人之间相互协调进行工作而避免冲突,就需要人为控制同计算机控制进行交互,即人机交互。有研究表明,将近百分之八十的工业制造业事故是由于人为操作的不当所引起的,归根到底就是人机交互的环节出了问题。因此,对人机交互的研究显得尤为重要。鉴于此,如何针对人机交互系统找到一种有效管理人机交互的方案就成了本领域技术人员亟待解决的问题。技术实现要素:鉴于以上所述现有技术的缺点,本发明的目的在于提供一种面向人机交互系统约束的交互控制模型求解方法,为系统提供准确有效的分析工具,用于解决现有技术中人机交互的环节不能有效避免不当操作的问题。为实现上述目的及其他相关目的,本发明提供一种面向人机交互系统约束的交互控制模型求解方法,所述面向人机交互系统约束的交互控制模型求解方法包括:对人机交互系统中的计算机控制与人工控制分别进行Petri网建模,得到相应的人机交互系统Petri网;所述人机交互系统Petri图包括所述计算机控制对应的计算机控制Petri网和所述人工控制对应的人工控制Petri网;分别建立相应的可达树,所述可达树包括计算机控制可达树和人工控制可达树,获取所述人机交互系统中的显性约束条件,并采用预设的约束推导方法得到所述人机交互系统的隐性约束条件;获取系统预设的初始配置,判断所述初始配置是否满足所有约束条件,所述约束条件包括显性约束条件和隐性约束条件;当所述初始配置满足所述约束条件时,对所述约束条件进行控制处理,获得所述初始配置所对应的交互控制模型。可选地,所述面向人机交互系统约束的交互控制模型求解方法还包括:针对所述交互控制模型对所述人机交互系统设定相应的人工控制行为。可选地,采用预设的约束推导方法得到所述人机交互系统的隐性约束条件的具体实现包括:根据所述显性约束条件确定所述人机交互系统的冲突标识集,针对所述冲突标识集中的每一个冲突标识进行冲突标识搜索处理;冲突标识搜索处理包括:针对所述冲突标识分别在所有的可达树中找到各自相应的结点;针对所述结点组中的每一个结点在各自的可达树中往前回溯一步,得到所述结点组中每一个结点的父结点,将所述其中一个父结点与其余所有原结点构成一个标识,将所述所有按照此规则构成的标识进行判断,判断标识是否满足隐性冲突标识判断规则,如果所述构成的标识满足隐性冲突标识判断规则,则所述构成的标识为隐性冲突标识;当所述隐性冲突标识不属于所述冲突标识集中时,将所述隐性冲突标识加入到所述隐性冲突标识集中,并对新加入的隐性冲突标识进行所述冲突标识搜索处理;最后根据所述隐性冲突标识集中的每一个隐性冲突标识得到对应的隐性约束条件。可选地,对所述约束条件进行控制处理的具体实现包括:根据所述约束条件的特性,将所述约束条件分成冲撞容量控制条件和异步事件控制条件;所述冲撞容量控制条件是对库所的约束条件,包括所述冲撞容量控制条件涉及的库所,以及所涉及的库所必须满足的库所数目限制;所述异步事件控制条件是对变迁的约束条件,包括所述异步事件控制条件涉及的变迁,以及所涉及的变迁必须满足的变迁发生数目限制;针对所述冲撞容量控制条件,采用预设的冲撞容量控制方法进行处理;针对异步事件控制条件,采用预设的异步事件控制方法进行处理。可选地,所述冲撞容量控制方法包括:获取所述人机交互系统Petri图对应的关联矩阵以及所述冲撞容量控制条件,运用P-不变量方法,得到初步的控制关联矩阵以及第一控制库所初始配置向量;针对所述控制关联矩阵的每行进行处理:依次获取对所述行中的每一个列元素值进行如下处理:当所述列元素值等于1,则将所述列元素值修改为0,并将所述列元素作为一个事务的开始变迁,相应事务的结束变迁所对应的矩阵元素值修改为1;当所述列元素值等于-1,则将所述列元素值修改为0,并将所述列元素作为一个事务的结束变迁,相应事务的开始变迁所对应的矩阵元素值修改为-1。可选地,所述异步事件控制方法包括:获取所述异步事件控制条件,建立一个全零矩阵以及第二控制库所初始配置向量;所述全零矩阵的行数目为所述异步事件控制条件的条件总数目,所述全零矩阵的列数目为所述人机交互系统Petri图的变迁总数;所述第二控制库所初始配置向量的行数目为所述异步事件控制条件的条件总数目,所述第二控制库所初始配置向量的列数目为1;根据每个所述异步事件控制条件一一对应所述全零矩阵的一行以及所述第二控制库所初始配置向量的一行进行处理:针对所述异步事件控制条件中的每个变迁,在所述异步事件控制条件对应的全零矩阵的行中的将所述变迁对应的开始变迁的列元素值修改为-1,将所述变迁对应的结束变迁的列元素值修改为1;获取所述异步事件控制条件的变迁数目,在所述第二控制库所初始配置向量中将所述异步事件控制条件对应的行的元素值修改为所述变迁数目减1得到的值。本发明还提供一种面向人机交互系统约束的交互控制模型求解系统,所述面向人机交互系统约束的交互控制模型求解系统包括:人机交互系统建模模块,用于对人机交互系统中的计算机控制与人工控制分别进行Petri网建模,得到相应的人机交互系统Petri网;所述人机交互系统Petri图包括所述计算机控制对应的计算机控制Petri网和所述人工控制对应的人工控制Petri网;交互约束条件获取模块,用于分别建立相应的可达树,所述可达树包括计算机控制可达树和人工控制可达树,获取所述人机交互系统中的显性约束条件,并采用预设的约束推导方法得到所述人机交互系统的隐性约束条件;交互控制模型建立模块,用于获取系统预设的初始配置,判断所述初始配置是否满足所有约束条件,所述约束条件包括显性约束条件和隐性约束条件;当所述初始配置满足所述约束条件时,对所述约束条件进行控制处理,获得所述初始配置所对应的交互控制模型。可选地,采用预设的约束推导方法得到所述人机交互系统的隐性约束条件的具体实现包括:根据所述显性约束条件确定所述人机交互系统的冲突标识集,针对所述冲突标识集中的每一个冲突标识进行冲突标识搜索处理;冲突标识搜索处理包括:针对所述冲突标识分别在所有的可达树中找到各自相应的结点;针对所述结点组中的每一个结点在各自的可达树中往前回溯一步,得到所述结点组中每一个结点的父结点,将所述其中一个父结点与其余所有原结点构成一个标识,将所述所有按照此规则构成的标识进行判断,判断标识是否满足隐性冲突标识判断规则,如果所述构成的标识满足隐性冲突标识判断规则,则所述构成的标识为隐性冲突标识;当所述隐性冲突标识不属于所述冲突标识集中时,将所述隐性冲突标识加入到所述隐性冲突标识集中,并对新加入的隐性冲突标识进行所述冲突标识搜索处理;最后根据所述隐性冲突标识集中的每一个隐性冲突标识得到对应的隐性约束条件。可选地,对所述约束条件进行控制处理的具体实现包括:根据所述约束条件的特性,将所述约束条件分成冲撞容量控制条件和异步事件控制条件;所述冲撞容量控制条件是对库所的约束条件,包括所述冲撞容量控制条件涉及的库所,以及所涉及的库所必须满足的库所数目限制;所述异步事件控制条件是对变迁的约束条件,包括所述异步事件控制条件涉及的变迁,以及所涉及的变迁必须满足的变迁发生数目限制;针对所述冲撞容量控制条件,采用预设的冲撞容量控制方法进行处理;针对异步事件控制条件,采用预设的异步事件控制方法进行处理。可选地,所述冲撞容量控制方法包括:获取所述人机交互系统Petri图对应的关联矩阵以及所述冲撞容量控制条件,运用P-不变量方法,得到初步的控制关联矩阵以及第一控制库所初始配置向量;针对所述控制关联矩阵的每行进行处理:依次获取对所述行中的每一个列元素值进行如下处理:当所述列元素值等于1,则将所述列元素值修改为0,并将所述列元素作为一个事务的开始变迁,相应事务的结束变迁所对应的矩阵元素值修改为1;当所述列元素值等于-1,则将所述列元素值修改为0,并将所述列元素作为一个事务的结束变迁,相应事务的开始变迁所对应的矩阵元素值修改为-1。可选地,所述异步事件控制方法包括:获取所述异步事件控制条件,建立一个全零矩阵以及第二控制库所初始配置向量;所述全零矩阵的行数目为所述异步事件控制条件的条件总数目,所述全零矩阵的列数目为所述人机交互系统Petri图的变迁总数;所述第二控制库所初始配置向量的行数目为所述异步事件控制条件的条件总数目,所述第二控制库所初始配置向量的列数目为1;根据每个所述异步事件控制条件一一对应所述全零矩阵的一行以及所述第二控制库所初始配置向量的一行进行处理:针对所述异步事件控制条件中的每个变迁,在所述异步事件控制条件对应的全零矩阵的行中的将所述变迁对应的开始变迁的列元素值修改为-1,将所述变迁对应的结束变迁的列元素值修改为1;获取所述异步事件控制条件的变迁数目,在所述第二控制库所初始配置向量中将所述异步事件控制条件对应的行的元素值修改为所述变迁数目减1得到的值。如上所述,本发明的一种面向人机交互系统约束的交互控制模型求解方法及系统,具有以下有益效果:基于Petri网对人机交互系统提出一套约束求解及其交互控制模型求解的策略,为这类系统提供准确有效的分析手段,获取的交互控制模型能够指导人工控制,有效地避免人机交互系统的人为错误操作。本发明提出并归纳了人机交互系统的显性约束和隐性约束,并基于此提出了分而治之的隐性约束挖掘算法,避免了空间爆炸问题;同时还采用了基于不变量的控制策略,大大提高了获得交互控制模型的效率。附图说明图1显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的流程示意图。图2显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的人机交互系统模型示意图。图3A、3B显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的事件流程示意图。图4A、4B显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的机器人移动模型示意图。图5A、5B显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的机器人移动模型对应的Petri图。图6A、6B显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的隐性约束模型示意图。图7显示为本发明的面向人机交互系统约束的交互控制模型求解方法的一实施例的交互控制模型示意图。图8显示为本发明的面向人机交互系统约束的交互控制模型求解系统的一实施例的模块示意图。元件标号说明1面向人机交互系统约束的交互控制模型求解系统11人机交互系统建模模块12交互约束条件获取模块13交互控制模型建立模块S1~S3步骤具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本发明提供一种面向人机交互系统约束的交互控制模型求解方法,如图1所示,所述面向人机交互系统约束的交互控制模型求解方法包括:步骤S1,对人机交互系统中的计算机控制与人工控制分别进行Petri网建模,得到相应的人机交互系统Petri网;所述人机交互系统Petri图包括所述计算机控制对应的计算机控制Petri网和所述人工控制对应的人工控制Petri网。Petri网是对离散并行系统的数学表示。Petri网是20世纪60年代由卡尔·A·佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础。Petri网旨在描述变迁之间的因果关系,并由此构造时序。经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧等元素组成的。步骤S2,分别建立相应的可达树,所述可达树包括计算机控制可达树和人工控制可达树,获取所述人机交互系统中的显性约束条件,并采用预设的约束推导方法得到所述人机交互系统的隐性约束条件。在一个实施例中,采用预设的约束推导方法得到所述人机交互系统的隐性约束条件的具体实现包括:根据所述显性约束条件确定所述人机交互系统的冲突标识集,针对所述冲突标识集中的每一个冲突标识进行冲突标识搜索处理;冲突标识搜索处理包括:针对所述冲突标识分别在所有的可达树中找到各自相应的结点;针对所述结点组中的每一个结点在各自的可达树中往前回溯一步,得到所述结点组中每一个结点的父结点,将所述其中一个父结点与其余所有原结点构成一个标识,将所述所有按照此规则构成的标识进行判断,判断标识是否满足隐性冲突标识判断规则,如果所述构成的标识满足隐性冲突标识判断规则,则所述构成的标识为隐性冲突标识;当所述隐性冲突标识不属于所述冲突标识集中时,将所述隐性冲突标识加入到所述隐性冲突标识集中,并对新加入的隐性冲突标识进行所述冲突标识搜索处理;最后根据所述隐性冲突标识集中的每一个隐性冲突标识得到对应的隐性约束条件。约束条件可以以约束不等式的形式描述。步骤S3,获取系统预设的初始配置,判断所述初始配置是否满足所有约束条件,所述约束条件包括显性约束条件和隐性约束条件;当所述初始配置满足所述约束条件时,对所述约束条件进行控制处理,获得所述初始配置所对应的交互控制模型。在一个实施例中,对所述约束条件进行控制处理的具体实现包括:根据所述约束条件的特性,将所述约束条件分成冲撞容量控制条件和异步事件控制条件;所述冲撞容量控制条件是对库所的约束条件,包括所述冲撞容量控制条件涉及的库所,以及所涉及的库所必须满足的库所数目限制;所述异步事件控制条件是对变迁的约束条件,包括所述异步事件控制条件涉及的变迁,以及所涉及的变迁必须满足的变迁发生数目限制;针对所述冲撞容量控制条件,采用预设的冲撞容量控制方法进行处理;针对异步事件控制条件,采用预设的异步事件控制方法进行处理。所述约束条件可以只有冲撞容量控制条件,也可以只要异步事件控制条件,还可以同时包括冲撞容量控制条件和异步事件控制条件。在一个实施例中,所述冲撞容量控制方法包括:获取所述人机交互系统Petri图对应的关联矩阵以及所述冲撞容量控制条件,运用P-不变量方法,得到初步的控制关联矩阵以及第一控制库所初始配置向量;针对所述控制关联矩阵的每行进行处理:依次获取对所述行中的每一个列元素值进行如下处理:当所述列元素值等于1,则将所述列元素值修改为0,并将所述列元素作为一个事务的开始变迁,相应事务的结束变迁所对应的矩阵元素值修改为1;当所述列元素值等于-1,则将所述列元素值修改为0,并将所述列元素作为一个事务的结束变迁,相应事务的开始变迁所对应的矩阵元素值修改为-1。在一个实施例中,所述异步事件控制方法包括:获取所述异步事件控制条件,建立一个全零矩阵以及第二控制库所初始配置向量;所述全零矩阵的行数目为所述异步事件控制条件的条件总数目,所述全零矩阵的列数目为所述人机交互系统Petri图的变迁总数;所述第二控制库所初始配置向量的行数目为所述异步事件控制条件的条件总数目,所述第二控制库所初始配置向量的列数目为1;根据每个所述异步事件控制条件一一对应所述全零矩阵的一行以及所述第二控制库所初始配置向量的一行进行处理:针对所述异步事件控制条件中的每个变迁,在所述异步事件控制条件对应的全零矩阵的行中的将所述变迁对应的开始变迁的列元素值修改为-1,将所述变迁对应的结束变迁的列元素值修改为1;获取所述异步事件控制条件的变迁数目,在所述第二控制库所初始配置向量中将所述异步事件控制条件对应的行的元素值修改为所述变迁数目减1得到的值。在一个实施例中,所述面向人机交互系统约束的交互控制模型求解方法还包括:针对所述交互控制模型对所述人机交互系统设定相应的人工控制行为。在一个实施例中,所述人机交互系统为如图2所述的由移动机器人组成的人机交互系统。其中,交互代理能够实时地获取系统状态,在人类和计算机要对系统发出操作命令时提供操作建议,包括允许的操作和不允许的操作,以保证系统的稳定性和安全性。因为人机交互系统中存在两类机器人——需要人为控制的半自主机器人和计算机控制的全自主机器人,所以在对人机交互系统建模过程中也应区分两种操作,即人为操作和计算机操作。如图3A和图3B所示,模型使用两种不同样式的开始变迁对操作进行区分。同时为了更好地刻画系统运行的流程,对两种操作均采用请求/反馈的建模机制。例如在图3A所示的人为操作模型中,每一个人为操作(即人工控制)的事务都由一个开始变迁,中间进程库所,结束变迁和完成库所组成,其中开始变迁被标记为灰色,表示这个事件是需要人通过网络进行远程控制才可以执行,结束变迁就表示机器人执行完人为操作的命令后,自动向人为控制端返回一个反馈。同样对于计算机操作(即计算机控制)也是如此,如图3B所示。在一个实施例中,一个典型的由移动机器人组成的人机交互系统如图4(包括4A和4B)所示,系统中有五个房间以及一个人为操控的半自主机器人和一个计算机操控的全自主机器人。图4A表示人为操控的半自主机器人的初始位置以及在这五个房间内的移动示意图,图4B表示计算机操控的全自主机器人的初始位置以及在这五个房间内的移动示意图。除此之外,这个系统还有如下约束:任意时刻不允许robot-h(人为操控的半自主机器人)和robot-c(计算机操控的全自主机器人)这两个机器人同时出现在一个房间。在系统建模的时候,对于系统中每一个机器人都建立一张独立的Petri网,显然每一张独立的Petri网必然是活的安全的标识S-图,这样就不会造成单个Petri网在可达树分析的过程中发生状态空间爆炸。对于图4中的系统,图5A是人为操控的半自主机器人的Petri网模型,图5B是计算机操控的全自主机器人的Petri网模型。图5(包括5A和5B)中Petri网模型的各个库所和变迁代表的实际语义见下表。在实际的系统中,除了可见的约束之外,往往还有隐藏在可见约束背后的约束,因此我们将约束分为显性约束和隐性约束两大类来进行归纳。对于任意一个实际生产中的系统,都必然存在明文所规定的约束,这些约束对于使用者是可见的,称它为显性约束。在这里,用ui代表库所pi里的Token数,用qj代表发生数向量的第j个分量,即变迁tj的发生数。在本例中,显性约束条件为:任意时刻不允许robot-h(人为操控的半自主机器人)和robot-c(计算机操控的全自主机器人)这两个机器人同时出现在一个房间。在移动机器人的人机交互系统中,显性约束可以分为以下四类。1,冲撞约束:指机器人之间的冲撞,如不允许系统中指定的两个机器人同时出现在一个房间,即u1+u2≤1,更一般的形式为Σi=1rui≤1---(1.1)]]>表示这r个指定的机器人之间都不得出现冲撞。2,异步约束:指不允许系统中的一个机器人执行事件1的同时另一个机器人执行事件2,也就是保持这两个机器人执行任务的异步性,即q1+q2≤1,更一般的形式为Σj=1gqj≤1---(1.2)]]>表示这g个机器人执行这g个事件时必须保持异步。3,容量约束:指系统中的某个房间在任意时刻最多只允许k个机器人同时出现,或某几个房间在任意时刻机器人的总数不得超过k,即Σi=1rui≤k---(1.3)]]>4,事件约束:指系统在任意时刻最多允许k个机器人在同时执行任务,就可表示为Σj=1gqj≤k,(k<g)---(1.4)]]>其中g表示当前系统中机器人的总数,qj表示属于机器人j的任意一个任务。对于任意一个实际生产中的系统,上述显性约束往往会导致一些隐性约束。它指的是,虽然系统的当前状态不违反显性约束,即为正常状态,但是一旦继续运行下去,就必然会进入违反显性约束的某个状态。这类约束往往是不容易被发现的。例如图6(包括图6A和6B)中,人为操控的机器人Robot-h当前位于房间R1,计算机控制的机器人Robot-c当前位于房间R4,系统的显性约束是任意时刻在任意房间最多允许一个机器人进入,那么当前的状态是不违反显性约束的,是正常的状态,然而我们发现,机器人Robot-h和机器人Robot-c,不管谁再进行移动,都必然会进入到同一个房间,这就违反了系统的显性约束。因此,必须约束Robot-h在房间R1的时候Robot-c不得进入房间R4,Robot-c位于房间R4的时候Robot-h不得进入房间R1,用数学表达式就可表示为uph1+upc4≤1,这就是看不到的隐性约束条件。为了在实际的大型人机交互系统中找出所有隐藏在显性约束背后的所有隐性约束(或隐性约束条件)。我们定义了冲突标识以及隐性冲突标识:对于系统的任一状态标识,如果该状态标识不满足系统的显性约束,那么称此标识为冲突标识,称此标识下的系统状态为冲突状态。对于系统的任一不为冲突标识的状态标识,如果在此状态下系统中任意一个机器人的移动都会使得下一步系统状态标识变为冲突标识或者隐性冲突标识,那么称此标识为隐性冲突标识。同时我们再称此标识下的系统状态为隐性冲突状态。正如显性约束条件对应于冲突标识,寻找系统的隐性约束实际上就是寻找系统中的所有隐性冲突标识,再反推得出系统的所有隐性约束条件。对于Petri网模型来说,寻找状态标识最有效的方法无疑是可达树分析方法。但是,如果我们将整个系统看成一个Petri网整体去建立一棵可达树的话,即使模型中的中间进程库所和结束变迁可以在状态分析中忽略(在以后的状态分析中,我们都不考虑中间进程库所和结束变迁),可达树的状态结点数还是非常多,仍会造成状态爆炸。显然,这样的策略在实际系统中是行不通的。但是我们如果分开看图5中图5A和图5B这两张子Petri网的可达树,则图5A中的半自主机器人的Petri网可达树结点数为15个,图5B中的全自主机器人的Petri网可达树结点仅为7个。因此我们将采用分而治之的策略,直接从子Petri网可达树入手,给出我们的隐性约束推理算法(即约束推导方法),也可称隐性约束挖掘算法。首先,分别对所述人机交互系统Petri网建立相应的可达树,所述可达树包括计算机控制可达树和人工控制可达树。在本例中,计算机控制可达树和人工控制可达树各有1棵,共2棵可达树。根据系统的显性约束找出所有的冲突标识,并将这些冲突标识放入冲突集中,需要注意的是冲突集里的所有冲突标识不出现重复。定义隐性冲突标识判断规则,即隐性冲突规则为:在当前不为冲突标识的系统状态下,系统中的任意一个机器人移动一步就会使得系统标识为冲突/隐性冲突标识。对任一一个Petri网PN=(P,T;F,M0),其中P是库所的集合,T是变迁的集合,F是流关系的集合(即有向弧的集合),M0是Petri网初始标识,那么可达树的构造算法如下:输入:PN=(P,T;F,M0)。输出:可达树CT(PN)。算法步骤:约束推导方法具体的算法如下:输入:m棵可达树,存储了所有冲突标识的冲突集C,空的隐性冲突标识集D。输出:隐性冲突标识集D。在本例中m=2。算法的思想就是先根据冲突集中的冲突标识,在m(m代表系统中机器人的总个数)棵可达树中去寻找一步隐性冲突标识,如未找到,则算法退出,即该系统不存在隐性冲突标识,如找到,则加入隐性冲突标识集中。接着,再根据隐性冲突标识集中新加入的一步隐性冲突标识,在可达树中去寻找两步隐性冲突标识,如未找到,算法退出,搜寻结束,如找到,再加入隐性冲突标识集中。同理,继续寻找三步,四步,……,n步隐性冲突标识,直至算法退出。根据算法找出所有的隐性冲突标识后,再将每个隐性冲突标识都转化成一条隐性约束。设机器人的总数为m,转化规则如下,对图4中的系统进行约束分析与挖掘。其显性约束为:任意时刻不允许robot-h和robot-c这两个机器人同时出现在一个房间。该显性约束属于冲撞约束,数学表达式如(1.6)所示,那么对应的冲突标识如(1.7)所示。(1.6)---uph1+upc1≤1uph2+upc2≤1uph3+upc3≤1uph4+upc4≤1uph5+upc5≤1(1.7)---10000100000100001000001000010000010000100000100001]]>隐性约束挖掘算法推算隐性冲突标识,得再转化得到隐性约束(1.8)就此得到系统的所有约束条件(1.6)和(1.8)。确定了系统的所有约束条件(包括显性约束条件和隐性约束条件)后,获取系统预设的初始配置,判断所述初始配置是否满足所有约束条件,所述约束条件包括显性约束条件和隐性约束条件;当所述初始配置满足所述约束条件时,对所述约束条件进行控制处理,获得所述初始配置所对应的交互控制模型。在判断所述初始配置是否满足所有约束条件时,可以先对所有约束进行筛选,根据m棵可达树中的标识通过组合得到系统的可达标识集,将可达标识集中的每个标识都代入约束的数学表达式中,如果所有标识均满足该约束的数学表达式,那么此约束便是冗余的。约束筛选算法的输入为一个存储了系统所有可达标识的集合E和一个存储了系统所有约束的集合F。算法的输出为一个用来存储冗余约束的集合G。在一个实施例中,所述约束筛选算法为:输入:存储了系统所有可达标识的集合E,存储了系统所有约束的集合F。输出:存储冗余约束的集合G。接着,判断初始配置是否满足所有约束条件,如满足,进入添加控制器构建最终的交互控制模型,如不满足,则退出。这可以通过一个初始配置判定算法来实现。所述初始配置判定算法的输入为系统的初始标识向量,以及一个存储了系统所有约束的集合F。算法的输出为True或者False。输入:初始标识向量u,存储了系统所有约束的集合F。输出:True或者False。接着,对所述约束条件添加控制器进行控制处理,获得所述初始配置所对应的交互控制模型。对所述约束条件进行控制处理的具体实现包括:根据所述约束条件的特性,将所述约束条件分成冲撞容量控制条件和异步事件控制条件;所述冲撞容量控制条件是对库所的约束条件,包括所述冲撞容量控制条件涉及的库所,以及所涉及的库所必须满足的库所数目限制;所述异步事件控制条件是对变迁的约束条件,包括所述异步事件控制条件涉及的变迁,以及所涉及的变迁必须满足的变迁发生数目限制;针对所述冲撞容量控制条件,采用预设的冲撞容量控制方法进行处理;针对异步事件控制条件,采用预设的异步事件控制方法进行处理。所述冲撞容量控制方法包括:获取所述人机交互系统Petri图对应的关联矩阵以及所述冲撞容量控制条件,运用P-不变量方法,得到初步的控制关联矩阵以及第一控制库所初始配置向量;针对所述控制关联矩阵的每行进行处理:依次获取对所述行中的每一个列元素值进行如下处理:当所述列元素值等于1,则将所述列元素值修改为0,并将所述列元素作为一个事务的开始变迁,相应事务的结束变迁所对应的矩阵元素值修改为1;当所述列元素值等于-1,则将所述列元素值修改为0,并将所述列元素作为一个事务的结束变迁,相应事务的开始变迁所对应的矩阵元素值修改为-1。在一个实施例中,所述冲撞容量控制方法的具体算法(也称为冲撞-容量控制算法)实现如下:输入:关联矩阵D,冲撞容量控制条件集合L。输出:控制部分关联矩阵Dc,第一控制库所的初始配置向量1)运用P-不变量的控制方法,得到初步的控制部分关联矩阵Dc以及第一控制库所的初始配置首先将L写成矩阵形式L’,矩阵L’的行数目等于L中冲撞容量约束的总数,列数目等于系统Petri网中库所的总数目。对每一条冲撞容量约束,都有需要加以限制的库所,便在矩阵L’中相对应的位置取矩阵元素值为1,其余均为0。然后运用公式Dc=-L'D求解控制部分关联矩阵,最后运用公式求解第一控制库所的初始配置向量,其中b为列向量,行数目等于L中冲撞容量约束的总数,每行元素的值等于相对应约束不等式右边部分的数值,M0为系统初始配置向量。其中,Dc为控制关联矩阵,为第一控制库所初始配置向量。而P-不变量的控制方法是由YAMALIDOU等人在1996年所创造,是一套专门的针对Petri网施加控制的经典理论。具体理论参见有专门的文献《FeedbackcontrolofPetrinetbasedonplaceinvariants》,本发明中运用了该理论的控制思想,以关联矩阵D,冲撞容量控制条件集合L。为初始变量进行P-不变量方法处理得到初步的控制部分关联矩阵Dc以及第一控制库所的初始配置并对初步的控制部分关联矩阵Dc进行了改进处理,以适应本发明的实际需要。对于如图4所示的人机交互系统的初始配置为:robot-h在房间R5,robot-c在房间R2,即初始标识向量u=(0000101000)T,执行初始配置判定算法,输出True,对于约束(1.6)和(1.8),只需执行冲撞-容量控制算法,其中L′=ph1ph2ph3ph4ph5ph6ph7ph8ph9ph10ph11ph12ph13pc1pc2pc3pc4pc5pc6pc7pc8pc9pc10pc11100000000000010000000000010000000000001000000000001000000000000100000000000100000000000010000000000010000000000001000000100000000000000010000000001000000000000001000000]]>b=(1111111)TM0=(000010000000001000000000)T得到的控制部分关联矩阵Dc及第一控制库所初始配置如下:Dc=th1th2th3th4th5th6th7th8th9th10th11th12th13th14th15th16tc1tc2tc3tc4tc5tc6tc7tc8tc9tc10tc11tc12ps100-1000001000000000-1000100000ps20-1000-10000110000-100-100010010ps3000-100000000100000000-1000100ps4-1000000-1010000100-10000001000ps50000-10-10000001010000-10000001ps600-100000100000000-10000001000ps7000-10000000010000000-10000001]]>up0=1011011T]]>其中ps1—ps7代表所添加的7个控制库所,有了这7个控制库所以及相应的有向控制弧,便可以保证系统在运行的过程中不出现违反系统约束的系统状态,使系统有效稳定地进行运作。最终得到的交互控制模型如图7所示,其关联矩阵为Dp,控制库所初始配置为up,其中Dp=DDc,up=[up0]]]>在一个实施例中,所述异步事件控制方法包括:获取所述异步事件控制条件,建立一个全零矩阵以及第二控制库所初始配置向量;所述全零矩阵的行数目为所述异步事件控制条件的条件总数目,所述全零矩阵的列数目为所述人机交互系统Petri图的变迁总数;所述第二控制库所初始配置向量的行数目为所述异步事件控制条件的条件总数目,所述第二控制库所初始配置向量的列数目为1;根据每个所述异步事件控制条件一一对应所述全零矩阵的一行以及所述第二控制库所初始配置向量的一行进行处理:针对所述异步事件控制条件中的每个变迁,在所述异步事件控制条件对应的全零矩阵的行中的将所述变迁对应的开始变迁的列元素值修改为-1,将所述变迁对应的结束变迁的列元素值修改为1;获取所述异步事件控制条件的变迁数目,在所述第二控制库所初始配置向量中将所述异步事件控制条件对应的行的元素值修改为所述变迁数目减1得到的值。在一个实施例中,所述异步事件控制方法对应的具体算法(也称为异步-事件控制算法)包括:输入:异步事件控制条件集合Q。输出:控制部分关联矩阵Df,控制库所的初始配置向量经过以上步骤,得到了最终的Petri网交互控制模型,关联矩阵为Dp,控制库所初始配置为up,其中Dp=DDcDf,up=up0up1.]]>模型是反映系统真实状态,分析大型系统的有力工具。有了交互控制模型,便可对人机交互系统加以适当的操作来确保系统的稳定性和安全性。参照交互控制模型,当人工操作所对应的变迁不可发生时,便可在系统控制端对此操作加以限制,即不可执行该人工操作。当变迁可发生时,在系统控制端就可以执行该人工操作。如此便保证了系统运行的稳定性和安全性。本发明还提供一种面向人机交互系统约束的交互控制模型求解系统。所述面向人机交互系统约束的交互控制模型求解系统可以用来搭建面向人机交互系统约束的交互控制系统。所述一种面向人机交互系统约束的交互控制模型求解系统能应用如上所述的面向人机交互系统约束的交互控制模型求解方法。在一个实施例中,如图8所示,所述面向人机交互系统约束的交互控制模型求解系统1包括人机交互系统建模模块11、交互约束条件获取模块12以及交互控制模型建立模块13,其中:人机交互系统建模模块11用于对人机交互系统中的计算机控制与人工控制分别进行Petri网建模,得到相应的人机交互系统Petri网;所述人机交互系统Petri图包括所述计算机控制对应的计算机控制Petri网和所述人工控制对应的人工控制Petri网。交互约束条件获取模块12用于分别建立相应的可达树,所述可达树包括计算机控制可达树和人工控制可达树,获取所述人机交互系统中的显性约束条件,并采用预设的约束推导方法得到所述人机交互系统的隐性约束条件。交互控制模型建立模块13用于获取系统预设的初始配置,判断所述初始配置是否满足所有约束条件,所述约束条件包括显性约束条件和隐性约束条件;当所述初始配置满足所述约束条件时,对所述约束条件进行控制处理,获得所述初始配置所对应的交互控制模型。在一个实施例中,采用预设的约束推导方法得到所述人机交互系统的隐性约束条件的具体实现包括:根据所述显性约束条件确定所述人机交互系统的冲突标识集,针对所述冲突标识集中的每一个冲突标识进行冲突标识搜索处理;冲突标识搜索处理包括:针对所述冲突标识分别在所有的可达树中找到各自相应的结点;针对所述结点组中的每一个结点在各自的可达树中往前回溯一步,得到所述结点组中每一个结点的父结点,将所述其中一个父结点与其余所有原结点构成一个标识,将所述所有按照此规则构成的标识进行判断,判断标识是否满足隐性冲突标识判断规则,如果所述构成的标识满足隐性冲突标识判断规则,则所述构成的标识为隐性冲突标识;当所述隐性冲突标识不属于所述冲突标识集中时,将所述隐性冲突标识加入到所述隐性冲突标识集中,并对新加入的隐性冲突标识进行所述冲突标识搜索处理;最后根据所述隐性冲突标识集中的每一个隐性冲突标识得到对应的隐性约束条件。在一个实施例中,对所述约束条件进行控制处理的具体实现包括:根据所述约束条件的特性,将所述约束条件分成冲撞容量控制条件和异步事件控制条件;所述冲撞容量控制条件是对库所的约束条件,包括所述冲撞容量控制条件涉及的库所,以及所涉及的库所必须满足的库所数目限制;所述异步事件控制条件是对变迁的约束条件,包括所述异步事件控制条件涉及的变迁,以及所涉及的变迁必须满足的变迁发生数目限制;针对所述冲撞容量控制条件,采用预设的冲撞容量控制方法进行处理;针对异步事件控制条件,采用预设的异步事件控制方法进行处理。所述冲撞容量控制方法包括:获取所述人机交互系统Petri图对应的关联矩阵以及所述冲撞容量控制条件,运用P-不变量方法,得到初步的控制关联矩阵以及第一控制库所初始配置向量;针对所述控制关联矩阵的每行进行处理:依次获取对所述行中的每一个列元素值进行如下处理:当所述列元素值等于1,则将所述列元素值修改为0,并将所述列元素作为一个事务的开始变迁,相应事务的结束变迁所对应的矩阵元素值修改为1;当所述列元素值等于-1,则将所述列元素值修改为0,并将所述列元素作为一个事务的结束变迁,相应事务的开始变迁所对应的矩阵元素值修改为-1。所述异步事件控制方法包括:获取所述异步事件控制条件,建立一个全零矩阵以及第二控制库所初始配置向量;所述全零矩阵的行数目为所述异步事件控制条件的条件总数目,所述全零矩阵的列数目为所述人机交互系统Petri图的变迁总数;所述第二控制库所初始配置向量的行数目为所述异步事件控制条件的条件总数目,所述第二控制库所初始配置向量的列数目为1;根据每个所述异步事件控制条件一一对应所述全零矩阵的一行以及所述第二控制库所初始配置向量的一行进行处理:针对所述异步事件控制条件中的每个变迁,在所述异步事件控制条件对应的全零矩阵的行中的将所述变迁对应的开始变迁的列元素值修改为-1,将所述变迁对应的结束变迁的列元素值修改为1;获取所述异步事件控制条件的变迁数目,在所述第二控制库所初始配置向量中将所述异步事件控制条件对应的行的元素值修改为所述变迁数目减1得到的值。综上所述,本发明的一种面向人机交互系统约束的交互控制模型求解方法及系统提出并归纳了人机交互系统的显性约束和隐性约束,并基于此提出了分而治之的隐性约束挖掘算法,避免了空间爆炸问题;同时还采用了基于不变量的控制策略,大大提高了获得交互控制模型的效率。本发明能够基于Petri网对人机交互系统进行约束条件求解和控制处理来获取交互控制模型。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域
中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1