本發(fā)明涉及一種計算機控制領(lǐng)域,特別是涉及一種面向人機交互系統(tǒng)約束的交互控制領(lǐng)域。
背景技術(shù):
:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,人們對于機器人的控制從以前的本地控制逐漸發(fā)展到遠程控制,這一進步大大地節(jié)省了人力和物力,開創(chuàng)了嶄新的工作模式。更多的研究人員開始投身于這類遠程控制機器人的研究工作,這一方面是由于人們對于提高工作效率的迫切需要,另一方面,則是由于在實際的工業(yè)制造業(yè)生產(chǎn)現(xiàn)場,存在著很多不適合人們親自去參加的危險場景。不過人們發(fā)現(xiàn),想要讓這類遠程機器人達到完全的自治是難以實現(xiàn)的,人為操作總會在某些重要時刻參與進來。在目前的遠程控制的機器人系統(tǒng)中,通常既會存在由計算機控制的全自主的機器人,也會存在需要人為操作來控制的半自主機器人,因此,在這類系統(tǒng)中,為了使得機器人之間相互協(xié)調(diào)進行工作而避免沖突,就需要人為控制同計算機控制進行交互,即人機交互。有研究表明,將近百分之八十的工業(yè)制造業(yè)事故是由于人為操作的不當所引起的,歸根到底就是人機交互的環(huán)節(jié)出了問題。因此,對人機交互的研究顯得尤為重要。鑒于此,如何針對人機交互系統(tǒng)找到一種有效管理人機交互的方案就成了本領(lǐng)域技術(shù)人員亟待解決的問題。技術(shù)實現(xiàn)要素:鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種面向人機交互系統(tǒng)約束的交互控制模型求解方法,為系統(tǒng)提供準確有效的分析工具,用于解決現(xiàn)有技術(shù)中人機交互的環(huán)節(jié)不能有效避免不當操作的問題。為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種面向人機交互系統(tǒng)約束的交互控制模型求解方法,所述面向人機交互系統(tǒng)約束的交互控制模型求解方法包括:對人機交互系統(tǒng)中的計算機控制與人工控制分別進行Petri網(wǎng)建模,得到相應(yīng)的人機交互系統(tǒng)Petri網(wǎng);所述人機交互系統(tǒng)Petri圖包括所述計算機控制對應(yīng)的計算機控制Petri網(wǎng)和所述人工控制對應(yīng)的人工控制Petri網(wǎng);分別建立相應(yīng)的可達樹,所述可達樹包括計算機控制可達樹和人工控制可達樹,獲取所述人機交互系統(tǒng)中的顯性約束條件,并采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件;獲取系統(tǒng)預設(shè)的初始配置,判斷所述初始配置是否滿足所有約束條件,所述約束條件包括顯性約束條件和隱性約束條件;當所述初始配置滿足所述約束條件時,對所述約束條件進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型??蛇x地,所述面向人機交互系統(tǒng)約束的交互控制模型求解方法還包括:針對所述交互控制模型對所述人機交互系統(tǒng)設(shè)定相應(yīng)的人工控制行為??蛇x地,采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件的具體實現(xiàn)包括:根據(jù)所述顯性約束條件確定所述人機交互系統(tǒng)的沖突標識集,針對所述沖突標識集中的每一個沖突標識進行沖突標識搜索處理;沖突標識搜索處理包括:針對所述沖突標識分別在所有的可達樹中找到各自相應(yīng)的結(jié)點;針對所述結(jié)點組中的每一個結(jié)點在各自的可達樹中往前回溯一步,得到所述結(jié)點組中每一個結(jié)點的父結(jié)點,將所述其中一個父結(jié)點與其余所有原結(jié)點構(gòu)成一個標識,將所述所有按照此規(guī)則構(gòu)成的標識進行判斷,判斷標識是否滿足隱性沖突標識判斷規(guī)則,如果所述構(gòu)成的標識滿足隱性沖突標識判斷規(guī)則,則所述構(gòu)成的標識為隱性沖突標識;當所述隱性沖突標識不屬于所述沖突標識集中時,將所述隱性沖突標識加入到所述隱性沖突標識集中,并對新加入的隱性沖突標識進行所述沖突標識搜索處理;最后根據(jù)所述隱性沖突標識集中的每一個隱性沖突標識得到對應(yīng)的隱性約束條件??蛇x地,對所述約束條件進行控制處理的具體實現(xiàn)包括:根據(jù)所述約束條件的特性,將所述約束條件分成沖撞容量控制條件和異步事件控制條件;所述沖撞容量控制條件是對庫所的約束條件,包括所述沖撞容量控制條件涉及的庫所,以及所涉及的庫所必須滿足的庫所數(shù)目限制;所述異步事件控制條件是對變遷的約束條件,包括所述異步事件控制條件涉及的變遷,以及所涉及的變遷必須滿足的變遷發(fā)生數(shù)目限制;針對所述沖撞容量控制條件,采用預設(shè)的沖撞容量控制方法進行處理;針對異步事件控制條件,采用預設(shè)的異步事件控制方法進行處理??蛇x地,所述沖撞容量控制方法包括:獲取所述人機交互系統(tǒng)Petri圖對應(yīng)的關(guān)聯(lián)矩陣以及所述沖撞容量控制條件,運用P-不變量方法,得到初步的控制關(guān)聯(lián)矩陣以及第一控制庫所初始配置向量;針對所述控制關(guān)聯(lián)矩陣的每行進行處理:依次獲取對所述行中的每一個列元素值進行如下處理:當所述列元素值等于1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的開始變遷,相應(yīng)事務(wù)的結(jié)束變遷所對應(yīng)的矩陣元素值修改為1;當所述列元素值等于-1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的結(jié)束變遷,相應(yīng)事務(wù)的開始變遷所對應(yīng)的矩陣元素值修改為-1。可選地,所述異步事件控制方法包括:獲取所述異步事件控制條件,建立一個全零矩陣以及第二控制庫所初始配置向量;所述全零矩陣的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述全零矩陣的列數(shù)目為所述人機交互系統(tǒng)Petri圖的變遷總數(shù);所述第二控制庫所初始配置向量的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述第二控制庫所初始配置向量的列數(shù)目為1;根據(jù)每個所述異步事件控制條件一一對應(yīng)所述全零矩陣的一行以及所述第二控制庫所初始配置向量的一行進行處理:針對所述異步事件控制條件中的每個變遷,在所述異步事件控制條件對應(yīng)的全零矩陣的行中的將所述變遷對應(yīng)的開始變遷的列元素值修改為-1,將所述變遷對應(yīng)的結(jié)束變遷的列元素值修改為1;獲取所述異步事件控制條件的變遷數(shù)目,在所述第二控制庫所初始配置向量中將所述異步事件控制條件對應(yīng)的行的元素值修改為所述變遷數(shù)目減1得到的值。本發(fā)明還提供一種面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng),所述面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)包括:人機交互系統(tǒng)建模模塊,用于對人機交互系統(tǒng)中的計算機控制與人工控制分別進行Petri網(wǎng)建模,得到相應(yīng)的人機交互系統(tǒng)Petri網(wǎng);所述人機交互系統(tǒng)Petri圖包括所述計算機控制對應(yīng)的計算機控制Petri網(wǎng)和所述人工控制對應(yīng)的人工控制Petri網(wǎng);交互約束條件獲取模塊,用于分別建立相應(yīng)的可達樹,所述可達樹包括計算機控制可達樹和人工控制可達樹,獲取所述人機交互系統(tǒng)中的顯性約束條件,并采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件;交互控制模型建立模塊,用于獲取系統(tǒng)預設(shè)的初始配置,判斷所述初始配置是否滿足所有約束條件,所述約束條件包括顯性約束條件和隱性約束條件;當所述初始配置滿足所述約束條件時,對所述約束條件進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型??蛇x地,采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件的具體實現(xiàn)包括:根據(jù)所述顯性約束條件確定所述人機交互系統(tǒng)的沖突標識集,針對所述沖突標識集中的每一個沖突標識進行沖突標識搜索處理;沖突標識搜索處理包括:針對所述沖突標識分別在所有的可達樹中找到各自相應(yīng)的結(jié)點;針對所述結(jié)點組中的每一個結(jié)點在各自的可達樹中往前回溯一步,得到所述結(jié)點組中每一個結(jié)點的父結(jié)點,將所述其中一個父結(jié)點與其余所有原結(jié)點構(gòu)成一個標識,將所述所有按照此規(guī)則構(gòu)成的標識進行判斷,判斷標識是否滿足隱性沖突標識判斷規(guī)則,如果所述構(gòu)成的標識滿足隱性沖突標識判斷規(guī)則,則所述構(gòu)成的標識為隱性沖突標識;當所述隱性沖突標識不屬于所述沖突標識集中時,將所述隱性沖突標識加入到所述隱性沖突標識集中,并對新加入的隱性沖突標識進行所述沖突標識搜索處理;最后根據(jù)所述隱性沖突標識集中的每一個隱性沖突標識得到對應(yīng)的隱性約束條件??蛇x地,對所述約束條件進行控制處理的具體實現(xiàn)包括:根據(jù)所述約束條件的特性,將所述約束條件分成沖撞容量控制條件和異步事件控制條件;所述沖撞容量控制條件是對庫所的約束條件,包括所述沖撞容量控制條件涉及的庫所,以及所涉及的庫所必須滿足的庫所數(shù)目限制;所述異步事件控制條件是對變遷的約束條件,包括所述異步事件控制條件涉及的變遷,以及所涉及的變遷必須滿足的變遷發(fā)生數(shù)目限制;針對所述沖撞容量控制條件,采用預設(shè)的沖撞容量控制方法進行處理;針對異步事件控制條件,采用預設(shè)的異步事件控制方法進行處理。可選地,所述沖撞容量控制方法包括:獲取所述人機交互系統(tǒng)Petri圖對應(yīng)的關(guān)聯(lián)矩陣以及所述沖撞容量控制條件,運用P-不變量方法,得到初步的控制關(guān)聯(lián)矩陣以及第一控制庫所初始配置向量;針對所述控制關(guān)聯(lián)矩陣的每行進行處理:依次獲取對所述行中的每一個列元素值進行如下處理:當所述列元素值等于1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的開始變遷,相應(yīng)事務(wù)的結(jié)束變遷所對應(yīng)的矩陣元素值修改為1;當所述列元素值等于-1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的結(jié)束變遷,相應(yīng)事務(wù)的開始變遷所對應(yīng)的矩陣元素值修改為-1??蛇x地,所述異步事件控制方法包括:獲取所述異步事件控制條件,建立一個全零矩陣以及第二控制庫所初始配置向量;所述全零矩陣的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述全零矩陣的列數(shù)目為所述人機交互系統(tǒng)Petri圖的變遷總數(shù);所述第二控制庫所初始配置向量的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述第二控制庫所初始配置向量的列數(shù)目為1;根據(jù)每個所述異步事件控制條件一一對應(yīng)所述全零矩陣的一行以及所述第二控制庫所初始配置向量的一行進行處理:針對所述異步事件控制條件中的每個變遷,在所述異步事件控制條件對應(yīng)的全零矩陣的行中的將所述變遷對應(yīng)的開始變遷的列元素值修改為-1,將所述變遷對應(yīng)的結(jié)束變遷的列元素值修改為1;獲取所述異步事件控制條件的變遷數(shù)目,在所述第二控制庫所初始配置向量中將所述異步事件控制條件對應(yīng)的行的元素值修改為所述變遷數(shù)目減1得到的值。如上所述,本發(fā)明的一種面向人機交互系統(tǒng)約束的交互控制模型求解方法及系統(tǒng),具有以下有益效果:基于Petri網(wǎng)對人機交互系統(tǒng)提出一套約束求解及其交互控制模型求解的策略,為這類系統(tǒng)提供準確有效的分析手段,獲取的交互控制模型能夠指導人工控制,有效地避免人機交互系統(tǒng)的人為錯誤操作。本發(fā)明提出并歸納了人機交互系統(tǒng)的顯性約束和隱性約束,并基于此提出了分而治之的隱性約束挖掘算法,避免了空間爆炸問題;同時還采用了基于不變量的控制策略,大大提高了獲得交互控制模型的效率。附圖說明圖1顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的流程示意圖。圖2顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的人機交互系統(tǒng)模型示意圖。圖3A、3B顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的事件流程示意圖。圖4A、4B顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的機器人移動模型示意圖。圖5A、5B顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的機器人移動模型對應(yīng)的Petri圖。圖6A、6B顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的隱性約束模型示意圖。圖7顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解方法的一實施例的交互控制模型示意圖。圖8顯示為本發(fā)明的面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)的一實施例的模塊示意圖。元件標號說明1面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)11人機交互系統(tǒng)建模模塊12交互約束條件獲取模塊13交互控制模型建立模塊S1~S3步驟具體實施方式以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。本發(fā)明提供一種面向人機交互系統(tǒng)約束的交互控制模型求解方法,如圖1所示,所述面向人機交互系統(tǒng)約束的交互控制模型求解方法包括:步驟S1,對人機交互系統(tǒng)中的計算機控制與人工控制分別進行Petri網(wǎng)建模,得到相應(yīng)的人機交互系統(tǒng)Petri網(wǎng);所述人機交互系統(tǒng)Petri圖包括所述計算機控制對應(yīng)的計算機控制Petri網(wǎng)和所述人工控制對應(yīng)的人工控制Petri網(wǎng)。Petri網(wǎng)是對離散并行系統(tǒng)的數(shù)學表示。Petri網(wǎng)是20世紀60年代由卡爾·A·佩特里發(fā)明的,適合于描述異步的、并發(fā)的計算機系統(tǒng)模型。Petri網(wǎng)既有嚴格的數(shù)學表述方式,也有直觀的圖形表達方式,既有豐富的系統(tǒng)描述手段和系統(tǒng)行為分析技術(shù),又為計算機科學提供堅實的概念基礎(chǔ)。Petri網(wǎng)旨在描述變遷之間的因果關(guān)系,并由此構(gòu)造時序。經(jīng)典的Petri網(wǎng)是簡單的過程模型,由兩種節(jié)點:庫所和變遷,有向弧等元素組成的。步驟S2,分別建立相應(yīng)的可達樹,所述可達樹包括計算機控制可達樹和人工控制可達樹,獲取所述人機交互系統(tǒng)中的顯性約束條件,并采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件。在一個實施例中,采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件的具體實現(xiàn)包括:根據(jù)所述顯性約束條件確定所述人機交互系統(tǒng)的沖突標識集,針對所述沖突標識集中的每一個沖突標識進行沖突標識搜索處理;沖突標識搜索處理包括:針對所述沖突標識分別在所有的可達樹中找到各自相應(yīng)的結(jié)點;針對所述結(jié)點組中的每一個結(jié)點在各自的可達樹中往前回溯一步,得到所述結(jié)點組中每一個結(jié)點的父結(jié)點,將所述其中一個父結(jié)點與其余所有原結(jié)點構(gòu)成一個標識,將所述所有按照此規(guī)則構(gòu)成的標識進行判斷,判斷標識是否滿足隱性沖突標識判斷規(guī)則,如果所述構(gòu)成的標識滿足隱性沖突標識判斷規(guī)則,則所述構(gòu)成的標識為隱性沖突標識;當所述隱性沖突標識不屬于所述沖突標識集中時,將所述隱性沖突標識加入到所述隱性沖突標識集中,并對新加入的隱性沖突標識進行所述沖突標識搜索處理;最后根據(jù)所述隱性沖突標識集中的每一個隱性沖突標識得到對應(yīng)的隱性約束條件。約束條件可以以約束不等式的形式描述。步驟S3,獲取系統(tǒng)預設(shè)的初始配置,判斷所述初始配置是否滿足所有約束條件,所述約束條件包括顯性約束條件和隱性約束條件;當所述初始配置滿足所述約束條件時,對所述約束條件進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型。在一個實施例中,對所述約束條件進行控制處理的具體實現(xiàn)包括:根據(jù)所述約束條件的特性,將所述約束條件分成沖撞容量控制條件和異步事件控制條件;所述沖撞容量控制條件是對庫所的約束條件,包括所述沖撞容量控制條件涉及的庫所,以及所涉及的庫所必須滿足的庫所數(shù)目限制;所述異步事件控制條件是對變遷的約束條件,包括所述異步事件控制條件涉及的變遷,以及所涉及的變遷必須滿足的變遷發(fā)生數(shù)目限制;針對所述沖撞容量控制條件,采用預設(shè)的沖撞容量控制方法進行處理;針對異步事件控制條件,采用預設(shè)的異步事件控制方法進行處理。所述約束條件可以只有沖撞容量控制條件,也可以只要異步事件控制條件,還可以同時包括沖撞容量控制條件和異步事件控制條件。在一個實施例中,所述沖撞容量控制方法包括:獲取所述人機交互系統(tǒng)Petri圖對應(yīng)的關(guān)聯(lián)矩陣以及所述沖撞容量控制條件,運用P-不變量方法,得到初步的控制關(guān)聯(lián)矩陣以及第一控制庫所初始配置向量;針對所述控制關(guān)聯(lián)矩陣的每行進行處理:依次獲取對所述行中的每一個列元素值進行如下處理:當所述列元素值等于1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的開始變遷,相應(yīng)事務(wù)的結(jié)束變遷所對應(yīng)的矩陣元素值修改為1;當所述列元素值等于-1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的結(jié)束變遷,相應(yīng)事務(wù)的開始變遷所對應(yīng)的矩陣元素值修改為-1。在一個實施例中,所述異步事件控制方法包括:獲取所述異步事件控制條件,建立一個全零矩陣以及第二控制庫所初始配置向量;所述全零矩陣的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述全零矩陣的列數(shù)目為所述人機交互系統(tǒng)Petri圖的變遷總數(shù);所述第二控制庫所初始配置向量的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述第二控制庫所初始配置向量的列數(shù)目為1;根據(jù)每個所述異步事件控制條件一一對應(yīng)所述全零矩陣的一行以及所述第二控制庫所初始配置向量的一行進行處理:針對所述異步事件控制條件中的每個變遷,在所述異步事件控制條件對應(yīng)的全零矩陣的行中的將所述變遷對應(yīng)的開始變遷的列元素值修改為-1,將所述變遷對應(yīng)的結(jié)束變遷的列元素值修改為1;獲取所述異步事件控制條件的變遷數(shù)目,在所述第二控制庫所初始配置向量中將所述異步事件控制條件對應(yīng)的行的元素值修改為所述變遷數(shù)目減1得到的值。在一個實施例中,所述面向人機交互系統(tǒng)約束的交互控制模型求解方法還包括:針對所述交互控制模型對所述人機交互系統(tǒng)設(shè)定相應(yīng)的人工控制行為。在一個實施例中,所述人機交互系統(tǒng)為如圖2所述的由移動機器人組成的人機交互系統(tǒng)。其中,交互代理能夠?qū)崟r地獲取系統(tǒng)狀態(tài),在人類和計算機要對系統(tǒng)發(fā)出操作命令時提供操作建議,包括允許的操作和不允許的操作,以保證系統(tǒng)的穩(wěn)定性和安全性。因為人機交互系統(tǒng)中存在兩類機器人——需要人為控制的半自主機器人和計算機控制的全自主機器人,所以在對人機交互系統(tǒng)建模過程中也應(yīng)區(qū)分兩種操作,即人為操作和計算機操作。如圖3A和圖3B所示,模型使用兩種不同樣式的開始變遷對操作進行區(qū)分。同時為了更好地刻畫系統(tǒng)運行的流程,對兩種操作均采用請求/反饋的建模機制。例如在圖3A所示的人為操作模型中,每一個人為操作(即人工控制)的事務(wù)都由一個開始變遷,中間進程庫所,結(jié)束變遷和完成庫所組成,其中開始變遷被標記為灰色,表示這個事件是需要人通過網(wǎng)絡(luò)進行遠程控制才可以執(zhí)行,結(jié)束變遷就表示機器人執(zhí)行完人為操作的命令后,自動向人為控制端返回一個反饋。同樣對于計算機操作(即計算機控制)也是如此,如圖3B所示。在一個實施例中,一個典型的由移動機器人組成的人機交互系統(tǒng)如圖4(包括4A和4B)所示,系統(tǒng)中有五個房間以及一個人為操控的半自主機器人和一個計算機操控的全自主機器人。圖4A表示人為操控的半自主機器人的初始位置以及在這五個房間內(nèi)的移動示意圖,圖4B表示計算機操控的全自主機器人的初始位置以及在這五個房間內(nèi)的移動示意圖。除此之外,這個系統(tǒng)還有如下約束:任意時刻不允許robot-h(人為操控的半自主機器人)和robot-c(計算機操控的全自主機器人)這兩個機器人同時出現(xiàn)在一個房間。在系統(tǒng)建模的時候,對于系統(tǒng)中每一個機器人都建立一張獨立的Petri網(wǎng),顯然每一張獨立的Petri網(wǎng)必然是活的安全的標識S-圖,這樣就不會造成單個Petri網(wǎng)在可達樹分析的過程中發(fā)生狀態(tài)空間爆炸。對于圖4中的系統(tǒng),圖5A是人為操控的半自主機器人的Petri網(wǎng)模型,圖5B是計算機操控的全自主機器人的Petri網(wǎng)模型。圖5(包括5A和5B)中Petri網(wǎng)模型的各個庫所和變遷代表的實際語義見下表。在實際的系統(tǒng)中,除了可見的約束之外,往往還有隱藏在可見約束背后的約束,因此我們將約束分為顯性約束和隱性約束兩大類來進行歸納。對于任意一個實際生產(chǎn)中的系統(tǒng),都必然存在明文所規(guī)定的約束,這些約束對于使用者是可見的,稱它為顯性約束。在這里,用ui代表庫所pi里的Token數(shù),用qj代表發(fā)生數(shù)向量的第j個分量,即變遷tj的發(fā)生數(shù)。在本例中,顯性約束條件為:任意時刻不允許robot-h(人為操控的半自主機器人)和robot-c(計算機操控的全自主機器人)這兩個機器人同時出現(xiàn)在一個房間。在移動機器人的人機交互系統(tǒng)中,顯性約束可以分為以下四類。1,沖撞約束:指機器人之間的沖撞,如不允許系統(tǒng)中指定的兩個機器人同時出現(xiàn)在一個房間,即u1+u2≤1,更一般的形式為Σi=1rui≤1---(1.1)]]>表示這r個指定的機器人之間都不得出現(xiàn)沖撞。2,異步約束:指不允許系統(tǒng)中的一個機器人執(zhí)行事件1的同時另一個機器人執(zhí)行事件2,也就是保持這兩個機器人執(zhí)行任務(wù)的異步性,即q1+q2≤1,更一般的形式為Σj=1gqj≤1---(1.2)]]>表示這g個機器人執(zhí)行這g個事件時必須保持異步。3,容量約束:指系統(tǒng)中的某個房間在任意時刻最多只允許k個機器人同時出現(xiàn),或某幾個房間在任意時刻機器人的總數(shù)不得超過k,即Σi=1rui≤k---(1.3)]]>4,事件約束:指系統(tǒng)在任意時刻最多允許k個機器人在同時執(zhí)行任務(wù),就可表示為Σj=1gqj≤k,(k<g)---(1.4)]]>其中g(shù)表示當前系統(tǒng)中機器人的總數(shù),qj表示屬于機器人j的任意一個任務(wù)。對于任意一個實際生產(chǎn)中的系統(tǒng),上述顯性約束往往會導致一些隱性約束。它指的是,雖然系統(tǒng)的當前狀態(tài)不違反顯性約束,即為正常狀態(tài),但是一旦繼續(xù)運行下去,就必然會進入違反顯性約束的某個狀態(tài)。這類約束往往是不容易被發(fā)現(xiàn)的。例如圖6(包括圖6A和6B)中,人為操控的機器人Robot-h當前位于房間R1,計算機控制的機器人Robot-c當前位于房間R4,系統(tǒng)的顯性約束是任意時刻在任意房間最多允許一個機器人進入,那么當前的狀態(tài)是不違反顯性約束的,是正常的狀態(tài),然而我們發(fā)現(xiàn),機器人Robot-h和機器人Robot-c,不管誰再進行移動,都必然會進入到同一個房間,這就違反了系統(tǒng)的顯性約束。因此,必須約束Robot-h在房間R1的時候Robot-c不得進入房間R4,Robot-c位于房間R4的時候Robot-h不得進入房間R1,用數(shù)學表達式就可表示為uph1+upc4≤1,這就是看不到的隱性約束條件。為了在實際的大型人機交互系統(tǒng)中找出所有隱藏在顯性約束背后的所有隱性約束(或隱性約束條件)。我們定義了沖突標識以及隱性沖突標識:對于系統(tǒng)的任一狀態(tài)標識,如果該狀態(tài)標識不滿足系統(tǒng)的顯性約束,那么稱此標識為沖突標識,稱此標識下的系統(tǒng)狀態(tài)為沖突狀態(tài)。對于系統(tǒng)的任一不為沖突標識的狀態(tài)標識,如果在此狀態(tài)下系統(tǒng)中任意一個機器人的移動都會使得下一步系統(tǒng)狀態(tài)標識變?yōu)闆_突標識或者隱性沖突標識,那么稱此標識為隱性沖突標識。同時我們再稱此標識下的系統(tǒng)狀態(tài)為隱性沖突狀態(tài)。正如顯性約束條件對應(yīng)于沖突標識,尋找系統(tǒng)的隱性約束實際上就是尋找系統(tǒng)中的所有隱性沖突標識,再反推得出系統(tǒng)的所有隱性約束條件。對于Petri網(wǎng)模型來說,尋找狀態(tài)標識最有效的方法無疑是可達樹分析方法。但是,如果我們將整個系統(tǒng)看成一個Petri網(wǎng)整體去建立一棵可達樹的話,即使模型中的中間進程庫所和結(jié)束變遷可以在狀態(tài)分析中忽略(在以后的狀態(tài)分析中,我們都不考慮中間進程庫所和結(jié)束變遷),可達樹的狀態(tài)結(jié)點數(shù)還是非常多,仍會造成狀態(tài)爆炸。顯然,這樣的策略在實際系統(tǒng)中是行不通的。但是我們?nèi)绻珠_看圖5中圖5A和圖5B這兩張子Petri網(wǎng)的可達樹,則圖5A中的半自主機器人的Petri網(wǎng)可達樹結(jié)點數(shù)為15個,圖5B中的全自主機器人的Petri網(wǎng)可達樹結(jié)點僅為7個。因此我們將采用分而治之的策略,直接從子Petri網(wǎng)可達樹入手,給出我們的隱性約束推理算法(即約束推導方法),也可稱隱性約束挖掘算法。首先,分別對所述人機交互系統(tǒng)Petri網(wǎng)建立相應(yīng)的可達樹,所述可達樹包括計算機控制可達樹和人工控制可達樹。在本例中,計算機控制可達樹和人工控制可達樹各有1棵,共2棵可達樹。根據(jù)系統(tǒng)的顯性約束找出所有的沖突標識,并將這些沖突標識放入沖突集中,需要注意的是沖突集里的所有沖突標識不出現(xiàn)重復。定義隱性沖突標識判斷規(guī)則,即隱性沖突規(guī)則為:在當前不為沖突標識的系統(tǒng)狀態(tài)下,系統(tǒng)中的任意一個機器人移動一步就會使得系統(tǒng)標識為沖突/隱性沖突標識。對任一一個Petri網(wǎng)PN=(P,T;F,M0),其中P是庫所的集合,T是變遷的集合,F(xiàn)是流關(guān)系的集合(即有向弧的集合),M0是Petri網(wǎng)初始標識,那么可達樹的構(gòu)造算法如下:輸入:PN=(P,T;F,M0)。輸出:可達樹CT(PN)。算法步驟:約束推導方法具體的算法如下:輸入:m棵可達樹,存儲了所有沖突標識的沖突集C,空的隱性沖突標識集D。輸出:隱性沖突標識集D。在本例中m=2。算法的思想就是先根據(jù)沖突集中的沖突標識,在m(m代表系統(tǒng)中機器人的總個數(shù))棵可達樹中去尋找一步隱性沖突標識,如未找到,則算法退出,即該系統(tǒng)不存在隱性沖突標識,如找到,則加入隱性沖突標識集中。接著,再根據(jù)隱性沖突標識集中新加入的一步隱性沖突標識,在可達樹中去尋找兩步隱性沖突標識,如未找到,算法退出,搜尋結(jié)束,如找到,再加入隱性沖突標識集中。同理,繼續(xù)尋找三步,四步,……,n步隱性沖突標識,直至算法退出。根據(jù)算法找出所有的隱性沖突標識后,再將每個隱性沖突標識都轉(zhuǎn)化成一條隱性約束。設(shè)機器人的總數(shù)為m,轉(zhuǎn)化規(guī)則如下,對圖4中的系統(tǒng)進行約束分析與挖掘。其顯性約束為:任意時刻不允許robot-h和robot-c這兩個機器人同時出現(xiàn)在一個房間。該顯性約束屬于沖撞約束,數(shù)學表達式如(1.6)所示,那么對應(yīng)的沖突標識如(1.7)所示。(1.6)---uph1+upc1≤1uph2+upc2≤1uph3+upc3≤1uph4+upc4≤1uph5+upc5≤1(1.7)---10000100000100001000001000010000010000100000100001]]>隱性約束挖掘算法推算隱性沖突標識,得再轉(zhuǎn)化得到隱性約束(1.8)就此得到系統(tǒng)的所有約束條件(1.6)和(1.8)。確定了系統(tǒng)的所有約束條件(包括顯性約束條件和隱性約束條件)后,獲取系統(tǒng)預設(shè)的初始配置,判斷所述初始配置是否滿足所有約束條件,所述約束條件包括顯性約束條件和隱性約束條件;當所述初始配置滿足所述約束條件時,對所述約束條件進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型。在判斷所述初始配置是否滿足所有約束條件時,可以先對所有約束進行篩選,根據(jù)m棵可達樹中的標識通過組合得到系統(tǒng)的可達標識集,將可達標識集中的每個標識都代入約束的數(shù)學表達式中,如果所有標識均滿足該約束的數(shù)學表達式,那么此約束便是冗余的。約束篩選算法的輸入為一個存儲了系統(tǒng)所有可達標識的集合E和一個存儲了系統(tǒng)所有約束的集合F。算法的輸出為一個用來存儲冗余約束的集合G。在一個實施例中,所述約束篩選算法為:輸入:存儲了系統(tǒng)所有可達標識的集合E,存儲了系統(tǒng)所有約束的集合F。輸出:存儲冗余約束的集合G。接著,判斷初始配置是否滿足所有約束條件,如滿足,進入添加控制器構(gòu)建最終的交互控制模型,如不滿足,則退出。這可以通過一個初始配置判定算法來實現(xiàn)。所述初始配置判定算法的輸入為系統(tǒng)的初始標識向量,以及一個存儲了系統(tǒng)所有約束的集合F。算法的輸出為True或者False。輸入:初始標識向量u,存儲了系統(tǒng)所有約束的集合F。輸出:True或者False。接著,對所述約束條件添加控制器進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型。對所述約束條件進行控制處理的具體實現(xiàn)包括:根據(jù)所述約束條件的特性,將所述約束條件分成沖撞容量控制條件和異步事件控制條件;所述沖撞容量控制條件是對庫所的約束條件,包括所述沖撞容量控制條件涉及的庫所,以及所涉及的庫所必須滿足的庫所數(shù)目限制;所述異步事件控制條件是對變遷的約束條件,包括所述異步事件控制條件涉及的變遷,以及所涉及的變遷必須滿足的變遷發(fā)生數(shù)目限制;針對所述沖撞容量控制條件,采用預設(shè)的沖撞容量控制方法進行處理;針對異步事件控制條件,采用預設(shè)的異步事件控制方法進行處理。所述沖撞容量控制方法包括:獲取所述人機交互系統(tǒng)Petri圖對應(yīng)的關(guān)聯(lián)矩陣以及所述沖撞容量控制條件,運用P-不變量方法,得到初步的控制關(guān)聯(lián)矩陣以及第一控制庫所初始配置向量;針對所述控制關(guān)聯(lián)矩陣的每行進行處理:依次獲取對所述行中的每一個列元素值進行如下處理:當所述列元素值等于1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的開始變遷,相應(yīng)事務(wù)的結(jié)束變遷所對應(yīng)的矩陣元素值修改為1;當所述列元素值等于-1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的結(jié)束變遷,相應(yīng)事務(wù)的開始變遷所對應(yīng)的矩陣元素值修改為-1。在一個實施例中,所述沖撞容量控制方法的具體算法(也稱為沖撞-容量控制算法)實現(xiàn)如下:輸入:關(guān)聯(lián)矩陣D,沖撞容量控制條件集合L。輸出:控制部分關(guān)聯(lián)矩陣Dc,第一控制庫所的初始配置向量1)運用P-不變量的控制方法,得到初步的控制部分關(guān)聯(lián)矩陣Dc以及第一控制庫所的初始配置首先將L寫成矩陣形式L’,矩陣L’的行數(shù)目等于L中沖撞容量約束的總數(shù),列數(shù)目等于系統(tǒng)Petri網(wǎng)中庫所的總數(shù)目。對每一條沖撞容量約束,都有需要加以限制的庫所,便在矩陣L’中相對應(yīng)的位置取矩陣元素值為1,其余均為0。然后運用公式Dc=-L'D求解控制部分關(guān)聯(lián)矩陣,最后運用公式求解第一控制庫所的初始配置向量,其中b為列向量,行數(shù)目等于L中沖撞容量約束的總數(shù),每行元素的值等于相對應(yīng)約束不等式右邊部分的數(shù)值,M0為系統(tǒng)初始配置向量。其中,Dc為控制關(guān)聯(lián)矩陣,為第一控制庫所初始配置向量。而P-不變量的控制方法是由YAMALIDOU等人在1996年所創(chuàng)造,是一套專門的針對Petri網(wǎng)施加控制的經(jīng)典理論。具體理論參見有專門的文獻《FeedbackcontrolofPetrinetbasedonplaceinvariants》,本發(fā)明中運用了該理論的控制思想,以關(guān)聯(lián)矩陣D,沖撞容量控制條件集合L。為初始變量進行P-不變量方法處理得到初步的控制部分關(guān)聯(lián)矩陣Dc以及第一控制庫所的初始配置并對初步的控制部分關(guān)聯(lián)矩陣Dc進行了改進處理,以適應(yīng)本發(fā)明的實際需要。對于如圖4所示的人機交互系統(tǒng)的初始配置為:robot-h在房間R5,robot-c在房間R2,即初始標識向量u=(0000101000)T,執(zhí)行初始配置判定算法,輸出True,對于約束(1.6)和(1.8),只需執(zhí)行沖撞-容量控制算法,其中L′=ph1ph2ph3ph4ph5ph6ph7ph8ph9ph10ph11ph12ph13pc1pc2pc3pc4pc5pc6pc7pc8pc9pc10pc11100000000000010000000000010000000000001000000000001000000000000100000000000100000000000010000000000010000000000001000000100000000000000010000000001000000000000001000000]]>b=(1111111)TM0=(000010000000001000000000)T得到的控制部分關(guān)聯(lián)矩陣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個控制庫所以及相應(yīng)的有向控制弧,便可以保證系統(tǒng)在運行的過程中不出現(xiàn)違反系統(tǒng)約束的系統(tǒng)狀態(tài),使系統(tǒng)有效穩(wěn)定地進行運作。最終得到的交互控制模型如圖7所示,其關(guān)聯(lián)矩陣為Dp,控制庫所初始配置為up,其中Dp=DDc,up=[up0]]]>在一個實施例中,所述異步事件控制方法包括:獲取所述異步事件控制條件,建立一個全零矩陣以及第二控制庫所初始配置向量;所述全零矩陣的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述全零矩陣的列數(shù)目為所述人機交互系統(tǒng)Petri圖的變遷總數(shù);所述第二控制庫所初始配置向量的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述第二控制庫所初始配置向量的列數(shù)目為1;根據(jù)每個所述異步事件控制條件一一對應(yīng)所述全零矩陣的一行以及所述第二控制庫所初始配置向量的一行進行處理:針對所述異步事件控制條件中的每個變遷,在所述異步事件控制條件對應(yīng)的全零矩陣的行中的將所述變遷對應(yīng)的開始變遷的列元素值修改為-1,將所述變遷對應(yīng)的結(jié)束變遷的列元素值修改為1;獲取所述異步事件控制條件的變遷數(shù)目,在所述第二控制庫所初始配置向量中將所述異步事件控制條件對應(yīng)的行的元素值修改為所述變遷數(shù)目減1得到的值。在一個實施例中,所述異步事件控制方法對應(yīng)的具體算法(也稱為異步-事件控制算法)包括:輸入:異步事件控制條件集合Q。輸出:控制部分關(guān)聯(lián)矩陣Df,控制庫所的初始配置向量經(jīng)過以上步驟,得到了最終的Petri網(wǎng)交互控制模型,關(guān)聯(lián)矩陣為Dp,控制庫所初始配置為up,其中Dp=DDcDf,up=up0up1.]]>模型是反映系統(tǒng)真實狀態(tài),分析大型系統(tǒng)的有力工具。有了交互控制模型,便可對人機交互系統(tǒng)加以適當?shù)牟僮鱽泶_保系統(tǒng)的穩(wěn)定性和安全性。參照交互控制模型,當人工操作所對應(yīng)的變遷不可發(fā)生時,便可在系統(tǒng)控制端對此操作加以限制,即不可執(zhí)行該人工操作。當變遷可發(fā)生時,在系統(tǒng)控制端就可以執(zhí)行該人工操作。如此便保證了系統(tǒng)運行的穩(wěn)定性和安全性。本發(fā)明還提供一種面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)。所述面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)可以用來搭建面向人機交互系統(tǒng)約束的交互控制系統(tǒng)。所述一種面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)能應(yīng)用如上所述的面向人機交互系統(tǒng)約束的交互控制模型求解方法。在一個實施例中,如圖8所示,所述面向人機交互系統(tǒng)約束的交互控制模型求解系統(tǒng)1包括人機交互系統(tǒng)建模模塊11、交互約束條件獲取模塊12以及交互控制模型建立模塊13,其中:人機交互系統(tǒng)建模模塊11用于對人機交互系統(tǒng)中的計算機控制與人工控制分別進行Petri網(wǎng)建模,得到相應(yīng)的人機交互系統(tǒng)Petri網(wǎng);所述人機交互系統(tǒng)Petri圖包括所述計算機控制對應(yīng)的計算機控制Petri網(wǎng)和所述人工控制對應(yīng)的人工控制Petri網(wǎng)。交互約束條件獲取模塊12用于分別建立相應(yīng)的可達樹,所述可達樹包括計算機控制可達樹和人工控制可達樹,獲取所述人機交互系統(tǒng)中的顯性約束條件,并采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件。交互控制模型建立模塊13用于獲取系統(tǒng)預設(shè)的初始配置,判斷所述初始配置是否滿足所有約束條件,所述約束條件包括顯性約束條件和隱性約束條件;當所述初始配置滿足所述約束條件時,對所述約束條件進行控制處理,獲得所述初始配置所對應(yīng)的交互控制模型。在一個實施例中,采用預設(shè)的約束推導方法得到所述人機交互系統(tǒng)的隱性約束條件的具體實現(xiàn)包括:根據(jù)所述顯性約束條件確定所述人機交互系統(tǒng)的沖突標識集,針對所述沖突標識集中的每一個沖突標識進行沖突標識搜索處理;沖突標識搜索處理包括:針對所述沖突標識分別在所有的可達樹中找到各自相應(yīng)的結(jié)點;針對所述結(jié)點組中的每一個結(jié)點在各自的可達樹中往前回溯一步,得到所述結(jié)點組中每一個結(jié)點的父結(jié)點,將所述其中一個父結(jié)點與其余所有原結(jié)點構(gòu)成一個標識,將所述所有按照此規(guī)則構(gòu)成的標識進行判斷,判斷標識是否滿足隱性沖突標識判斷規(guī)則,如果所述構(gòu)成的標識滿足隱性沖突標識判斷規(guī)則,則所述構(gòu)成的標識為隱性沖突標識;當所述隱性沖突標識不屬于所述沖突標識集中時,將所述隱性沖突標識加入到所述隱性沖突標識集中,并對新加入的隱性沖突標識進行所述沖突標識搜索處理;最后根據(jù)所述隱性沖突標識集中的每一個隱性沖突標識得到對應(yīng)的隱性約束條件。在一個實施例中,對所述約束條件進行控制處理的具體實現(xiàn)包括:根據(jù)所述約束條件的特性,將所述約束條件分成沖撞容量控制條件和異步事件控制條件;所述沖撞容量控制條件是對庫所的約束條件,包括所述沖撞容量控制條件涉及的庫所,以及所涉及的庫所必須滿足的庫所數(shù)目限制;所述異步事件控制條件是對變遷的約束條件,包括所述異步事件控制條件涉及的變遷,以及所涉及的變遷必須滿足的變遷發(fā)生數(shù)目限制;針對所述沖撞容量控制條件,采用預設(shè)的沖撞容量控制方法進行處理;針對異步事件控制條件,采用預設(shè)的異步事件控制方法進行處理。所述沖撞容量控制方法包括:獲取所述人機交互系統(tǒng)Petri圖對應(yīng)的關(guān)聯(lián)矩陣以及所述沖撞容量控制條件,運用P-不變量方法,得到初步的控制關(guān)聯(lián)矩陣以及第一控制庫所初始配置向量;針對所述控制關(guān)聯(lián)矩陣的每行進行處理:依次獲取對所述行中的每一個列元素值進行如下處理:當所述列元素值等于1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的開始變遷,相應(yīng)事務(wù)的結(jié)束變遷所對應(yīng)的矩陣元素值修改為1;當所述列元素值等于-1,則將所述列元素值修改為0,并將所述列元素作為一個事務(wù)的結(jié)束變遷,相應(yīng)事務(wù)的開始變遷所對應(yīng)的矩陣元素值修改為-1。所述異步事件控制方法包括:獲取所述異步事件控制條件,建立一個全零矩陣以及第二控制庫所初始配置向量;所述全零矩陣的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述全零矩陣的列數(shù)目為所述人機交互系統(tǒng)Petri圖的變遷總數(shù);所述第二控制庫所初始配置向量的行數(shù)目為所述異步事件控制條件的條件總數(shù)目,所述第二控制庫所初始配置向量的列數(shù)目為1;根據(jù)每個所述異步事件控制條件一一對應(yīng)所述全零矩陣的一行以及所述第二控制庫所初始配置向量的一行進行處理:針對所述異步事件控制條件中的每個變遷,在所述異步事件控制條件對應(yīng)的全零矩陣的行中的將所述變遷對應(yīng)的開始變遷的列元素值修改為-1,將所述變遷對應(yīng)的結(jié)束變遷的列元素值修改為1;獲取所述異步事件控制條件的變遷數(shù)目,在所述第二控制庫所初始配置向量中將所述異步事件控制條件對應(yīng)的行的元素值修改為所述變遷數(shù)目減1得到的值。綜上所述,本發(fā)明的一種面向人機交互系統(tǒng)約束的交互控制模型求解方法及系統(tǒng)提出并歸納了人機交互系統(tǒng)的顯性約束和隱性約束,并基于此提出了分而治之的隱性約束挖掘算法,避免了空間爆炸問題;同時還采用了基于不變量的控制策略,大大提高了獲得交互控制模型的效率。本發(fā)明能夠基于Petri網(wǎng)對人機交互系統(tǒng)進行約束條件求解和控制處理來獲取交互控制模型。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點而具高度產(chǎn)業(yè)利用價值。上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬
技術(shù)領(lǐng)域:
中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。當前第1頁1 2 3