毛新軍 , 楊 碩 , 黃裕泓 , 王 碩
1(國(guó)防科技大學(xué) 計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙 410073)2(復(fù)雜系統(tǒng)軟件工程重點(diǎn)實(shí)驗(yàn)室(國(guó)防科技大學(xué)),湖南 長(zhǎng)沙 410073)
隨著計(jì)算的泛在化及計(jì)算機(jī)應(yīng)用的不斷拓展,計(jì)算機(jī)軟件與各類物理、社會(huì)系統(tǒng)深度融合,形成更為復(fù)雜的人-機(jī)-物共融系統(tǒng)已成為必然趨勢(shì)[1],由此產(chǎn)生新的研究問(wèn)題和熱點(diǎn)[2].機(jī)器人是一類典型和復(fù)雜的信息物理系統(tǒng),軟件是其核心和關(guān)鍵,負(fù)責(zé)與外部環(huán)境進(jìn)行交互、處理傳感數(shù)據(jù)、管理機(jī)器人資源、決策和控制機(jī)器人運(yùn)行等等[3,4].近年來(lái),機(jī)器人應(yīng)用正從傳統(tǒng)的工廠、車間等典型工業(yè)制造領(lǐng)域逐步延伸到諸如醫(yī)療、家庭、娛樂(lè)等新穎的應(yīng)用領(lǐng)域[5].這種應(yīng)用變化的關(guān)鍵是:機(jī)器人的運(yùn)行環(huán)境正從傳統(tǒng)的封閉、靜態(tài)、確定的單一環(huán)境(如生產(chǎn)車間)逐步過(guò)渡到開(kāi)放、動(dòng)態(tài)、難控和不確定的人-機(jī)-物高度融合的環(huán)境,進(jìn)而對(duì)機(jī)器人行為的自主性、安全性、適應(yīng)性和靈活性等提出了新的要求.本文針對(duì)運(yùn)行在開(kāi)放環(huán)境下、通過(guò)與環(huán)境持續(xù)交互和自主決策以實(shí)現(xiàn)任務(wù)的自主機(jī)器人[3,6],研究其控制軟件(control software of autonomous robot,簡(jiǎn)稱CSAR)的設(shè)計(jì)和構(gòu)造問(wèn)題,以支持機(jī)器人在開(kāi)放環(huán)境下的有效和協(xié)調(diào)運(yùn)行.
不同于純粹的信息系統(tǒng)或者其他的信息物理系統(tǒng),自主機(jī)器人的行為具有多樣化和多目的性特點(diǎn),既有物理行為(如移動(dòng)和抓取)也有計(jì)算行為(如圖像檢測(cè)和識(shí)別等);既有達(dá)成任務(wù)實(shí)現(xiàn)、影響環(huán)境狀態(tài)的行為(稱為任務(wù)行為),也有觀察外部環(huán)境、主動(dòng)獲取環(huán)境狀態(tài)的行為(稱為觀察行為).機(jī)器人的多樣行為通常由不同的軟硬構(gòu)件負(fù)責(zé)執(zhí)行,并在執(zhí)行時(shí)序、并發(fā)、交互等方面存在固有的復(fù)雜性.例如:機(jī)器人在實(shí)施任務(wù)行為(如通過(guò)機(jī)械臂抓取物品)時(shí),需要同時(shí)實(shí)施觀察行為,從而為任務(wù)行為提供必要的輸入數(shù)據(jù)(如待抓取對(duì)象的位置信息).對(duì)于開(kāi)放環(huán)境下的自主機(jī)器人而言,其控制軟件需要重點(diǎn)解決任務(wù)行為實(shí)施過(guò)程中的行為協(xié)調(diào)性和有效性問(wèn)題.具體地講,行為協(xié)調(diào)性是指任務(wù)行為和觀察行為二者間要相互配合,任務(wù)行為需要通過(guò)觀察行為獲得行為實(shí)施所需的外部環(huán)境信息,觀察行為可獲取任務(wù)行為的實(shí)際執(zhí)行效果,并為行為的重規(guī)劃等提供決策依據(jù).行為有效性是指所規(guī)劃的任務(wù)行為和觀察行為以及它們之間的交互始終以任務(wù)為驅(qū)動(dòng),其結(jié)果最終能夠促使任務(wù)的有效達(dá)成.由于自主機(jī)器人所在環(huán)境變化的動(dòng)態(tài)性和不可預(yù)知性、機(jī)器人行為實(shí)施效果的難控性和不確定性、機(jī)器人對(duì)外部環(huán)境變化感知的不準(zhǔn)確性和不完整性,如何確保機(jī)器人行為的協(xié)調(diào)性和有效性,是CSAR 研究與實(shí)踐面臨的一項(xiàng)重大挑戰(zhàn).
為了迎接上述挑戰(zhàn),CSAR 的研究與實(shí)踐需要解決兩個(gè)方面的關(guān)鍵問(wèn)題.
· 一是如何尋找有效的機(jī)制和方法來(lái)實(shí)現(xiàn)任務(wù)行為和觀察行為的協(xié)調(diào)和有效交互,這涉及自主機(jī)器人行為的決策、規(guī)劃和執(zhí)行等方面的研究.現(xiàn)有的研究通常直接將反應(yīng)式控制理論[7]、控制環(huán)路的決策理論、自適應(yīng)控制模型[8]、智能體的認(rèn)知模型和決策方法[9]等應(yīng)用到機(jī)器人領(lǐng)域,未能充分考慮開(kāi)放環(huán)境對(duì)機(jī)器人行為決策和實(shí)施帶來(lái)的挑戰(zhàn),未能顯式區(qū)分和抽象機(jī)器人不同類型的行為.無(wú)論是反應(yīng)式?jīng)Q策方法還是基于知識(shí)或者認(rèn)知推理的決策方法[10,11],它們或者將機(jī)器人不同行為及其內(nèi)在關(guān)聯(lián)性在設(shè)計(jì)階段預(yù)先封裝和實(shí)現(xiàn)在相關(guān)行為規(guī)則中,導(dǎo)致機(jī)器人的行為缺乏靈活性和自主性,難以應(yīng)對(duì)環(huán)境動(dòng)態(tài)變化帶來(lái)的挑戰(zhàn);或者將機(jī)器人不同類別的行為集中封裝和固化在一起加以實(shí)現(xiàn),使得機(jī)器人不同類型行為之間的交互缺乏靈活性和協(xié)調(diào)性;
· 二是如何為CSAR 的開(kāi)發(fā)和運(yùn)行提供軟件工程技術(shù)和支撐平臺(tái).近年來(lái),圍繞機(jī)器人控制軟件的研究與實(shí)踐有諸多的工作和成果,涉及自適應(yīng)模型[8]、程序設(shè)計(jì)語(yǔ)言[9]、軟件架構(gòu)[10,12,13]、開(kāi)發(fā)框架[14]等方面.然而,如何通過(guò)CSAR 的架構(gòu)設(shè)計(jì)來(lái)實(shí)現(xiàn)其行為的協(xié)調(diào)性和有效性,仍是一個(gè)開(kāi)放的研究問(wèn)題.
本文針對(duì)自主機(jī)器人的特點(diǎn)及其在開(kāi)放環(huán)境下行為協(xié)調(diào)、有效實(shí)施所面臨的挑戰(zhàn),提出了基于多智能體系統(tǒng)的 CSAR 架構(gòu) MaRSA;在此基礎(chǔ)上,設(shè)計(jì)了自主機(jī)器人的伴隨行為機(jī)制以及伴隨行為的自主決策算法DAAB(decision algorithm of accompanying behaviors).
本文第1 節(jié)介紹相關(guān)的研究工作.第2 節(jié)介紹自主機(jī)器人的典型應(yīng)用案例和場(chǎng)景,提出CSAR 的多智能體抽象模型以及基于組織理論的軟件架構(gòu)MaRSA.第3 節(jié)設(shè)計(jì)基于MaRSA 的自主機(jī)器人伴隨行為機(jī)制及行為決策算法.第4 節(jié)開(kāi)展實(shí)驗(yàn)及分析,以檢驗(yàn)本文所提出架構(gòu)、機(jī)制和算法的可行性和高效性.最后,對(duì)本文工作進(jìn)行總結(jié)和展望.
(1) 反應(yīng)式?jīng)Q策方法及基于反應(yīng)式的層次式架構(gòu)
在該方法中,行為決策的本質(zhì)是一個(gè)外部變化-響應(yīng)規(guī)則的映射過(guò)程.環(huán)境變化觸發(fā)機(jī)器人決策系統(tǒng)中相應(yīng)的反應(yīng)式規(guī)則執(zhí)行,每個(gè)反應(yīng)式規(guī)則描述了在什么情況下該執(zhí)行什么樣的動(dòng)作.這種決策方式具有實(shí)現(xiàn)簡(jiǎn)單、快速響應(yīng)等優(yōu)點(diǎn),能夠滿足機(jī)器人決策對(duì)實(shí)時(shí)性的要求;不足之處在于需要預(yù)先定義好規(guī)則且不具備行為的運(yùn)行時(shí)規(guī)劃能力.基于反應(yīng)式?jīng)Q策方法的機(jī)器人控制軟件通常采用層次式的架構(gòu),整個(gè)軟件由若干個(gè)相互交互、可并發(fā)執(zhí)行的反應(yīng)式層次組成,每個(gè)層次對(duì)應(yīng)于一個(gè)有窮狀態(tài)機(jī),可接收感知輸入,控制效應(yīng)器實(shí)施行為[15].各個(gè)層次的模塊單元獨(dú)立、平行工作,無(wú)需全局的指導(dǎo)和協(xié)調(diào).典型的工作有Brooks 的包容式體系結(jié)構(gòu)[7]、AuRA[16]、iB2C[17]等.
(2) 基于Belief-Desire-Intention(BDI)范型的決策方法
BDI 模型是Bratman 提出的一個(gè)著名Agent 決策模型,使用信念(belief)、愿望(desire)和意圖(intention)來(lái)解決智能體的決策問(wèn)題.BDI 模型的基本假設(shè)是任何動(dòng)作都由practical reasoning 的兩個(gè)步驟驅(qū)動(dòng)[18],其中,第1 步為目標(biāo)-商討(goal-deliberation),即根據(jù)Agent 的信念決定在當(dāng)前狀況下哪些愿望是Agent 要追求的;第2 步為手段-目的推理(means-end reasoning),即如何使用Agent 可用的方法,實(shí)現(xiàn)上一步中的具體愿望.目前,已有各式各樣的基于BDI 模型的決策方法出現(xiàn)和廣泛應(yīng)用,如PRS[19],JACK[20]和JADEX[21].當(dāng)前,BDI 決策模型在機(jī)器人任務(wù)決策中應(yīng)用最為廣泛的就是概率規(guī)劃方法(probabilistic planning)[22,23],其核心是引入先驗(yàn)概率、后驗(yàn)概率等概念,根據(jù)獲得的傳感器數(shù)據(jù)來(lái)估計(jì)機(jī)器人的信念狀態(tài).“概率估計(jì)”的決策方法能夠提高機(jī)器人規(guī)劃決策的準(zhǔn)確性和魯棒性.
(3) 混合式的決策方法和層次式的軟件架構(gòu)
該方法將多種決策方法集成在一起,發(fā)揮每種方法的優(yōu)勢(shì),既可支持行為的反應(yīng)式實(shí)時(shí)響應(yīng),又可支持行為的持續(xù)性規(guī)劃,如Firby 提出的RAPs 系統(tǒng)[24]、Volpe 的CLARAty 系統(tǒng)[25].整個(gè)軟件系統(tǒng)由多個(gè)層次構(gòu)成,每個(gè)層次負(fù)責(zé)某種特定的決策方法,不同層次之間相對(duì)獨(dú)立.典型的層次式模型有SERA[12],walkman[17]等.
(1) 面向?qū)ο蠹夹g(shù)
基于對(duì)象技術(shù)來(lái)實(shí)現(xiàn)控制軟件架構(gòu)及其構(gòu)件,其優(yōu)勢(shì)是具有良好的程序結(jié)構(gòu)和可重用性,有眾多面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的支持(如C++,Python 等),可有效支持自主機(jī)器人控制軟件的功能層、控制層和交互層等的開(kāi)發(fā),如Miro[26],ARIA[27],Robotics API[28]等;但對(duì)象模型存在一些固有不足,如無(wú)法主動(dòng)感知環(huán)境變化、不具有自主和自發(fā)的行為、一旦實(shí)例化之后其結(jié)構(gòu)和行為將無(wú)法改變等等,因而在支持CSAR 的自主決策層、自主管理層等方面有其局限性.
(2) 基于構(gòu)件技術(shù)
通過(guò)構(gòu)件接口的靈活組裝來(lái)滿足自主機(jī)器人軟件開(kāi)發(fā)的不同需求,如可重用性、模塊化等.例如,Saddek Bensalem 等人提出了基于形式化構(gòu)件的方法以及相應(yīng)的體系結(jié)構(gòu)LAAS 來(lái)開(kāi)發(fā)可信的自主機(jī)器人軟件[10].基于構(gòu)件技術(shù)可有效支持軟件重用,但其很少關(guān)心自主機(jī)器人軟件決策層的行為自主性和自發(fā)性等問(wèn)題以及管理層的自我管理問(wèn)題,也沒(méi)有為此提供相應(yīng)的支持,因而在支持自主機(jī)器人軟件的自主決策層、自我管理層等方面存在局限性.
(3) 基于智能體技術(shù)
借助多智能體系統(tǒng)的技術(shù)來(lái)設(shè)計(jì)和實(shí)現(xiàn)機(jī)器人控制軟件.該技術(shù)手段可充分發(fā)揮智能體技術(shù)的行為自主性、模塊獨(dú)立性等特點(diǎn),為自主機(jī)器人軟件在決策層、管理層的開(kāi)發(fā)提供元層支持,如:文獻(xiàn)[29]提出了基于主體的認(rèn)知模型來(lái)支持自主機(jī)器人軟件的行為決策,文獻(xiàn)[30]提出了面向自主協(xié)同服務(wù)機(jī)器人的軟件體系結(jié)構(gòu)COROS 以封裝機(jī)器人軟構(gòu)件,文獻(xiàn)[31]提出了VOMAS 架構(gòu)以實(shí)現(xiàn)自主機(jī)器人在動(dòng)態(tài)環(huán)境中的任務(wù)和角色轉(zhuǎn)換.然而,現(xiàn)有工作缺乏對(duì)于機(jī)器人軟件中多智能體協(xié)同機(jī)制的研究,尚未提供有效的多智能體架構(gòu)和協(xié)調(diào)機(jī)制,用于加強(qiáng)機(jī)器人控制軟件中不同構(gòu)件之間的交互以支持機(jī)器人協(xié)調(diào)地實(shí)施行為.
家庭服務(wù)機(jī)器人(family service robot,簡(jiǎn)稱FSR)運(yùn)行在開(kāi)放的房間中,可根據(jù)家庭成員的要求,幫助其完成特定的任務(wù),如拿取水杯.由于環(huán)境的開(kāi)放性,在實(shí)現(xiàn)任務(wù)的過(guò)程中,機(jī)器人的行為決策及實(shí)施受環(huán)境變化以及機(jī)器人動(dòng)作執(zhí)行結(jié)果的不確定性等多種因素的影響.針對(duì)于搜尋水杯的過(guò)程中,機(jī)器人根據(jù)其與杯的相對(duì)位置規(guī)劃生成運(yùn)動(dòng)路徑,以移動(dòng)到可拿取水杯的位置,其可能面臨以下兩方面問(wèn)題.
(1) 場(chǎng)景1:地面摩擦系統(tǒng)的差異性導(dǎo)致機(jī)器人的行為執(zhí)行存在偏差
然而,機(jī)器人的運(yùn)動(dòng)環(huán)境是不可知的,且存在大量難以被其控制模型事先規(guī)約的因素,如地面的摩擦系數(shù).這些不可預(yù)知的因素容易導(dǎo)致預(yù)設(shè)的控制模型在任務(wù)執(zhí)行過(guò)程中出現(xiàn)與預(yù)期結(jié)果不一致的偏差.這些偏差可表現(xiàn)為運(yùn)動(dòng)過(guò)程中感知內(nèi)容的抖動(dòng)現(xiàn)象.當(dāng)抖動(dòng)現(xiàn)象較為嚴(yán)重時(shí),會(huì)導(dǎo)致機(jī)器人任務(wù)目標(biāo)的識(shí)別出錯(cuò),從而妨礙任務(wù)的可持續(xù)執(zhí)行.為此,機(jī)器人需要在執(zhí)行過(guò)程中進(jìn)行伴隨觀察,根據(jù)行為的實(shí)際執(zhí)行效果來(lái)適應(yīng)性地調(diào)整規(guī)劃,維持機(jī)器人行為的協(xié)調(diào)性以確保實(shí)現(xiàn)任務(wù).
(2) 場(chǎng)景2:抓取對(duì)象的位置被移動(dòng)導(dǎo)致機(jī)器人在行為執(zhí)行中丟失目標(biāo)
如圖1 所示,機(jī)器人在搜尋水杯的過(guò)程中,其所在的環(huán)境可能會(huì)發(fā)生動(dòng)態(tài)變化,如水杯的位置發(fā)生變化,從而導(dǎo)致機(jī)器人任務(wù)目標(biāo)丟失.環(huán)境的動(dòng)態(tài)變化,可能導(dǎo)致機(jī)器人任務(wù)目標(biāo)出現(xiàn)絮亂.當(dāng)機(jī)器人的原先任務(wù)執(zhí)行策略失效時(shí),其需要通過(guò)重規(guī)劃進(jìn)行校正.為此,機(jī)器人需要輔助以觀察行為重新確定目標(biāo)物體水杯位置,以指導(dǎo)后續(xù)行為決策的高效實(shí)施.
Fig.1 Object searchscenario of FSR in open environment圖1 在開(kāi)放環(huán)境下機(jī)器人搜尋物體的應(yīng)用場(chǎng)景
自主機(jī)器人是一個(gè)極為復(fù)雜的信息物理系統(tǒng).從結(jié)構(gòu)和行為視角上看,CSAR 具有以下一組特點(diǎn).
· 首先是構(gòu)成分布性.CSAR 包含多個(gè)軟構(gòu)件,它們分別承擔(dān)不同的職責(zé)和任務(wù),分布在不同的計(jì)算節(jié)點(diǎn)上運(yùn)行,如任務(wù)規(guī)劃構(gòu)件負(fù)責(zé)決策機(jī)器人行為、傳感構(gòu)件負(fù)責(zé)控制傳感器來(lái)感知環(huán)境信息等等;
· 其次是行為自主性.各個(gè)軟構(gòu)件獨(dú)立運(yùn)作、自主運(yùn)行,如傳感器構(gòu)件根據(jù)其任務(wù)來(lái)自主地執(zhí)行相應(yīng)的行為來(lái)獲取外部環(huán)境信息、分析感知數(shù)據(jù)、建立環(huán)境模型;
· 第三是管理發(fā)散性.由于軟構(gòu)件的構(gòu)成分布性和行為自主性,CSAR 通常采用發(fā)散而非集中的方式來(lái)管理各個(gè)軟構(gòu)件;
· 第四是運(yùn)行協(xié)同性.各個(gè)軟構(gòu)件間通過(guò)交互和協(xié)作來(lái)共同完成任務(wù),應(yīng)對(duì)各種預(yù)期和非預(yù)期的變化,從而實(shí)現(xiàn)自主機(jī)器人的有效決策和協(xié)調(diào)運(yùn)行.
為了獨(dú)立于機(jī)器人的物理硬件(如馬達(dá)、機(jī)械臂等)和底層異構(gòu)技術(shù)細(xì)節(jié)(如運(yùn)行平臺(tái)、編程語(yǔ)言等)來(lái)研究自主機(jī)器人的復(fù)雜行為及規(guī)律,本文針對(duì)CSAR 的特點(diǎn)為其提供高層抽象的軟件模型,以分析和揭示CSAR 的結(jié)構(gòu)和行為特征.本文針對(duì) CSAR 的特點(diǎn)為其提供基于多智能體系統(tǒng)的高層抽象軟件模型,以分析和揭示CSAR 的結(jié)構(gòu)和行為特征.多智能體系統(tǒng)是指由多個(gè)相對(duì)獨(dú)立同時(shí)又相互作用的主體所構(gòu)成的系統(tǒng).在多智能體系統(tǒng)中:一方面,每個(gè)智能體都是自主的行為實(shí)體,封裝了行為以及行為控制機(jī)制,可以在無(wú)須外部指導(dǎo)的情況下實(shí)施行為,因而具有相對(duì)的獨(dú)立性了;另一方面,這些智能體并不是孤立的,它們之間存在各種關(guān)系,需要相互交互和協(xié)同,進(jìn)而達(dá)成問(wèn)題的求解.多智能體系統(tǒng)一個(gè)典型的特點(diǎn)是所有智能體是對(duì)等的,系統(tǒng)不存在具有全局控制能力的智能體,即可以完全控制其他智能體的行為以及環(huán)境狀態(tài)的變遷,它也不能對(duì)系統(tǒng)的運(yùn)行進(jìn)行充分和完全的協(xié)調(diào)和控制.多智能體系統(tǒng)(multi-agent system,簡(jiǎn)稱MAS)的概念和思想可為復(fù)雜系統(tǒng)的研究提供抽象、分解和組織等技術(shù)手段,它用具有自主行為能力的“智能體”來(lái)抽象表示復(fù)雜系統(tǒng)中的行為實(shí)體,將復(fù)雜系統(tǒng)分解為由一組相對(duì)獨(dú)立但存在交互的智能體所構(gòu)成的多智能體系統(tǒng),并通過(guò)諸如聯(lián)盟、層次等形式來(lái)描述系統(tǒng)中不同智能體間的關(guān)系,進(jìn)而來(lái)組織系統(tǒng)中的各個(gè)實(shí)體.
本質(zhì)上,CSAR 可抽象為一組運(yùn)行在特定環(huán)境(包括計(jì)算環(huán)境和物理環(huán)境)下相互協(xié)作的智能體所構(gòu)成的多智能體系統(tǒng),其抽象模型對(duì)應(yīng)于一個(gè)五元偶〈AGENTS,ENV,TASKS,ROLES,BEHAVIORS〉.
·AGENTS={Agent1,Agent2,…,Agentn},n∈Integer.CSAR 由一組具有自主行為的智能體組成.每個(gè)智能體在系統(tǒng)中所起的作用、可執(zhí)行的動(dòng)作、具有的能力與智能體在系統(tǒng)中所承擔(dān)的職責(zé)和扮演的角色密切相關(guān);
·ENV.任何機(jī)器人及其構(gòu)成的智能體都駐留在環(huán)境中并受環(huán)境的影響,CSAR 需要控制傳感器來(lái)獲取環(huán)境信息,通過(guò)對(duì)環(huán)境信息的分析建立起環(huán)境模型,并根據(jù)環(huán)境模型來(lái)規(guī)劃和決策機(jī)器人的行為.ENV={χ0,…,χk}表示環(huán)境狀態(tài)集合,χk指t時(shí)刻的環(huán)境狀態(tài),可由一組一階謂詞τ來(lái)表示,即:
·TASKS={T0,…,Tp-1}是自主機(jī)器人的包含p個(gè)子任務(wù)的任務(wù)集合,每一任務(wù)Ti(i∈[0,p])對(duì)應(yīng)于一個(gè)序偶〈χk,χ*〉,描述了任務(wù)Ti的目標(biāo)是要從初始狀態(tài)χk遷移至目標(biāo)狀態(tài)χ*;
·ROLES={R-PLANNER,R-ACTUATOR,R-SENSOR,R-DISPATCHER,R-EXECUTOR,…},定義了CSAR 中的智能體可扮演的角色.例如:“R-PLANNER”負(fù)責(zé)規(guī)劃行為;“R-ACTUATOR”負(fù)責(zé)執(zhí)行任務(wù)行為;“RSENSOR”負(fù)責(zé)執(zhí)行觀察行為;“R-DISPATCHER”負(fù)責(zé)分發(fā)和調(diào)度規(guī)劃行為;“R-EXECUTOR”負(fù)責(zé)與機(jī)器人底層軟硬件系統(tǒng)交互,將抽象的行為轉(zhuǎn)化為底層的執(zhí)行指令;
·BAHAVIORS=BEHAVIORT∪BEHAVIORO,描述了自主機(jī)器人的兩類行為:一類是任務(wù)行為(taskachievement behavior,簡(jiǎn)稱TB),其執(zhí)行將有助于任務(wù)的達(dá)成并會(huì)改變機(jī)器人的運(yùn)行環(huán)境;另一類是觀察行為(observation behavior,簡(jiǎn)稱OB),其執(zhí)行將獲取環(huán)境信息但不會(huì)改變環(huán)境狀態(tài).
在基于MAS 的CSAR 模型中,不同智能體所承擔(dān)的職責(zé)、扮演的角色、達(dá)成的任務(wù)等是不一樣的,因此它們?cè)谲浖軜?gòu)中所處的地位和相互間的關(guān)系有所差別.在開(kāi)放環(huán)境下,自主機(jī)器人的行為及其實(shí)施有其特殊性,具體表現(xiàn)為以下兩個(gè)方面.
· 首先,任務(wù)行為的實(shí)施往往需要觀察行為的支持,以幫助任務(wù)行為獲得其執(zhí)行所需的數(shù)據(jù).例如在場(chǎng)景一靜態(tài)環(huán)境中,機(jī)器人需要以傳感器信息(如水杯離機(jī)器人的距離和角度)作為輸入來(lái)實(shí)現(xiàn)搜尋水杯的動(dòng)作;
· 其次,在變化的環(huán)境中,觀察行為的持續(xù)觀察結(jié)果可為任務(wù)行為的在線決策提供支持.例如在場(chǎng)景二動(dòng)態(tài)環(huán)境中,由于水杯位置可能變化,持續(xù)性的并發(fā)式視覺(jué)觀察行為能夠支持規(guī)劃器適時(shí)做出在線決策,根據(jù)實(shí)時(shí)的感知結(jié)果規(guī)劃產(chǎn)生新的運(yùn)動(dòng)軌跡.
針對(duì)上述特點(diǎn),在分析和設(shè)計(jì)CSAR 時(shí),有必要顯式地區(qū)分機(jī)器人的任務(wù)行為和觀察行為,并通過(guò)加強(qiáng)二者之間的伴隨執(zhí)行,以支持行為的協(xié)調(diào)性和交互性.這就需要在軟件架構(gòu)層面合理地組織CSAR 中的智能體、明確它們之間的關(guān)系以及加強(qiáng)不同智能體之間的協(xié)同,從而在行為層面為自主機(jī)器人的伴隨行為機(jī)制設(shè)計(jì)奠定基礎(chǔ).
在面向智能體軟件工程研究領(lǐng)域,人們通常將多智能體系統(tǒng)視為社會(huì)化的組織,借助組織理論以及社會(huì)組織模式的思想來(lái)指導(dǎo)軟件架構(gòu)的設(shè)計(jì)[32].Structure-in-5 是一類典型的組織結(jié)構(gòu)模式,它是指一個(gè)組織可由5 個(gè)承擔(dān)不同職責(zé)的子組織構(gòu)成.它們處于組織中的3 個(gè)不同層次,分別承擔(dān)不同的職責(zé)和義務(wù):處于頂層的子組織稱為“戰(zhàn)略頂點(diǎn)(strategic apex)”,負(fù)責(zé)制定組織的總體戰(zhàn)略;底層的子組織稱為“執(zhí)行核心(operational core)”,負(fù)責(zé)執(zhí)行相關(guān)的活動(dòng)以落實(shí)頂層制定的總體戰(zhàn)略;中間層有3 個(gè)不同的子組織結(jié)構(gòu),分別是“技術(shù)結(jié)構(gòu)(technostructure)”“輔助(support)”和“中間代理(middle agency)”,負(fù)責(zé)落實(shí)頂層制定的戰(zhàn)略并為底層的執(zhí)行和操作提供標(biāo)準(zhǔn)、服務(wù)和資源等,起到上傳下達(dá)、監(jiān)管下層的活動(dòng)、輔助下層開(kāi)展工作等功效.
基于CSAR 的特點(diǎn)及其MAS 組織模型,CSAR 軟件架構(gòu)可視為是一種特殊的Structure-in-5 組織模式(如圖2 所示),將其稱為MaRSA.
Fig.2 CSAR’s software architecture MaRSA based on structure-in-5圖2 基于structure-in-5 的CSAR 架構(gòu)MaRSA
處于架構(gòu)頂層的智能體為任務(wù)規(guī)劃器AgentR-PLANNER,負(fù)責(zé)規(guī)劃和決策自主機(jī)器人的行為;中間層包含3 類智能體,分別是任務(wù)行為效應(yīng)器智能體AgentR-ACTUATOR、傳感器智能體AgentR-SENSOR、規(guī)劃調(diào)度器智能體AgentR-DISPATCHER,它們負(fù)責(zé)落實(shí)頂層的行為規(guī)劃,并為下層的動(dòng)作執(zhí)行提供支持,其中,AgentR-DISPATCHER負(fù)責(zé)將頂層生成的規(guī)劃分發(fā)到AgentR-PLANNER和AgentR-SENSOR去執(zhí)行,AgentR-ACTUATOR負(fù)責(zé)實(shí)例化和實(shí)施任務(wù)行為,AgentR-SENSOR負(fù)責(zé)實(shí)例化和實(shí)施觀察行為;處于底層的智能體稱為執(zhí)行器AgentR-EXECUTOR,負(fù)責(zé)執(zhí)行機(jī)器人的控制程序,通過(guò)機(jī)器人的底層接口來(lái)控制機(jī)器人的運(yùn)動(dòng).本文提出的基于Structure-in-5 組織結(jié)構(gòu)的多智能體系統(tǒng)架構(gòu),在智能體的功能抽象上具有顯著的層次性,即高層抽象規(guī)劃到底層感知和實(shí)施.然而從系統(tǒng)運(yùn)行角度看,此多智能體系統(tǒng)架構(gòu)呈發(fā)散式組織結(jié)構(gòu),即該架構(gòu)沒(méi)有統(tǒng)一的控制中心,所有智能體都是自主管理和運(yùn)行的.每個(gè)智能體之間的運(yùn)行不存在嚴(yán)格層次上的依賴關(guān)系.當(dāng)某一功能組件智能體出現(xiàn)故障,系統(tǒng)的其他智能體可以通過(guò)自適應(yīng)調(diào)整重新進(jìn)行交互以實(shí)現(xiàn)系統(tǒng)功能,從而提高系統(tǒng)的健壯性.關(guān)于故障情況下智能體自適應(yīng)調(diào)整,這一工作是本文的后續(xù)研究工作的重點(diǎn).本文所提出的架構(gòu)采用Structure-in-5 組織的多智能體系統(tǒng),通過(guò)功能抽象將一個(gè)復(fù)雜的自主機(jī)器人控制軟件分解為多個(gè)獨(dú)立自主運(yùn)行和管理的智能體組件,每個(gè)智能體都定義了其主動(dòng)交互行為,能夠通過(guò)統(tǒng)一的交互協(xié)議和模式與其他智能體進(jìn)行配合,極大降低了架構(gòu)的組織復(fù)雜性,便于系統(tǒng)組件的組織和管理.
不同于一般的Structure-in-5 結(jié)構(gòu),CSAR 軟件架構(gòu)MaRA 在以下二方面做了進(jìn)一步的增強(qiáng),以支持機(jī)器人觀察行為和任務(wù)行為之間的協(xié)調(diào)和有效交互.
(1) 觀察行為與任務(wù)行為交互的協(xié)調(diào)性
在MaRSA 的中間層,AgentR-ACTUATOR依賴于AgentR-SENSOR所提供的感知信息,并依此來(lái)指導(dǎo)任務(wù)行為的實(shí)施.這意味著AgentR-ACTUATOR所執(zhí)行的任務(wù)行為與AgentR-SENSOR所執(zhí)行的感知行為之間存在伴隨性,也即任務(wù)行為的執(zhí)行需要觀察行為的輔助,觀察行為所獲得的感知信息將為任務(wù)行為的實(shí)施提供支持.AgentR-ACTUATOR行為與AgentR-SENSOR行為的伴隨性意味著在機(jī)器人運(yùn)行過(guò)程中,其觀察行為是“按需的”和“有針對(duì)性的”,而非“盲目的”和“無(wú)所事事的”.
(2) 觀察行為與任務(wù)行為交互的有效性
在 MaRSA 的頂層和中間層之間,當(dāng)AgentR-SENSOR與AgentR-ACTUATOR采取持續(xù)性并發(fā)交互模式時(shí),AgentR-PLANNER可依賴AgentR-SENSOR所反饋的實(shí)時(shí)感知信息進(jìn)行適應(yīng)性在線決策.根據(jù)每一時(shí)刻獲得的感知反饋,AgentR-PLANNER做出當(dāng)前環(huán)境狀態(tài)下的理性規(guī)劃.這種根據(jù)任務(wù)行為和觀察行為之間的協(xié)調(diào)交互始終以任務(wù)為驅(qū)動(dòng),兩類行為的協(xié)調(diào)交互結(jié)果最終能夠促使任務(wù)目標(biāo)有效達(dá)成.
概括起來(lái),CSAR 的MaRSA 架構(gòu)具有以下特點(diǎn).
· 首先,以智能體作為基本的軟構(gòu)件形態(tài),每個(gè)智能體不僅封裝了數(shù)據(jù)和動(dòng)作,而且還具有自主的行為,從而確保軟構(gòu)件能夠獨(dú)立自主的運(yùn)行,具有更好的封裝性和可重用性;
· 其次,發(fā)散式管理.MaRSA 架構(gòu)的智能體之間雖然存在層次性的組織關(guān)系,但是它們是對(duì)等的,不存在中心控制節(jié)點(diǎn),整個(gè)系統(tǒng)采用發(fā)散性的管理方式,降低了系統(tǒng)組織和管理的復(fù)雜度;
· 第三,協(xié)調(diào)運(yùn)行.MaRSA 架構(gòu)的不同智能體之間基于依賴關(guān)系(包括任務(wù)、目標(biāo)和資源依賴等)來(lái)進(jìn)行交互和協(xié)同,如AgentR-ACTUATOR行為與AgentR-SENSOR行為之間的伴隨性,從而使得整個(gè)系統(tǒng)能夠在整體上以一種協(xié)調(diào)的方式來(lái)運(yùn)行,提高了系統(tǒng)應(yīng)對(duì)變化的能力.
本節(jié)介紹自主機(jī)器人的伴隨行為機(jī)制,以支持自主機(jī)器人的協(xié)調(diào)和有效行為實(shí)施.
3.1.1 伴隨行為定義
在CSAR 中,機(jī)器人的任務(wù)行為和觀察行為之間在執(zhí)行時(shí)序、數(shù)據(jù)交互、指令控制等方面存在交互,以實(shí)現(xiàn)相互間的協(xié)作,促進(jìn)任務(wù)的完成、應(yīng)對(duì)各種非預(yù)期的變化.本文將任務(wù)行為與觀察行為間的上述關(guān)系稱為伴隨行為.在執(zhí)行過(guò)程中兩類行為所形成的伴隨交互關(guān)系構(gòu)成了本文伴隨行為機(jī)制設(shè)計(jì)的基礎(chǔ)(如圖3 所示).
Fig.3 Accompanying interaction relationships between task behaviorsand observation behaviors圖3 任務(wù)行為與觀察行為的伴隨交互關(guān)系
定義1(任務(wù)行為).任務(wù)行為是面向機(jī)器人任務(wù)實(shí)現(xiàn)的一組行為動(dòng)作,其實(shí)施將使得環(huán)境狀態(tài)發(fā)生變化,逐步遷移至目標(biāo)狀態(tài),從而支持任務(wù)的實(shí)現(xiàn).一個(gè)任務(wù)行為p定義為三元偶p=〈?,δ,ε〉,其中,?代表該任務(wù)行為的前提條件,δ代表其實(shí)施中需滿足的不變條件,而ε則代表該任務(wù)行為成功執(zhí)行后的預(yù)期效果.
例1:以抓取水杯任務(wù)行為pickUp為例,其前提條件?為:{(at cup cupboard),(at robotroomA)},其中,(at cup cupboard)表示當(dāng)前環(huán)境狀態(tài)下水杯位于櫥柜中,(at robotroomA)表示當(dāng)前機(jī)器人位于房間A中;不變條件δ定義為{collision free},預(yù)期效果ε定義為{(carry robot cup),not (at cup cupboard)}.
定義2(觀察行為).觀察行為指機(jī)器人為獲得環(huán)境狀態(tài)信息而實(shí)施的感知行為.一個(gè)觀察行為定義為二元偶q=〈φ,ξ〉,其中,φ為觸發(fā)觀察的條件,ξ表示該觀察行為所需觀察的對(duì)象.
例2:以機(jī)器人所實(shí)施的觀察行為observe(location?=kitchen)為例,其對(duì)應(yīng)的觸發(fā)條件φ=(location?=kitchen)為對(duì)應(yīng)任務(wù)行為pickUp的預(yù)期效果,由此可推斷出φ=not (at cup cupboard)和ξ=cupboard.
3.1.2 伴隨行為關(guān)系
在開(kāi)放環(huán)境下,任務(wù)行為和觀察行為間的伴隨交互具有以下3 類關(guān)系:因果性、時(shí)序性和按需性.
(1) 因果性
因果伴隨關(guān)系指任務(wù)行為與觀察行為之間具有明顯的“因-果”的特點(diǎn).在開(kāi)放環(huán)境中,機(jī)器人執(zhí)行任務(wù)行為需要相應(yīng)的環(huán)境狀態(tài)作為輸入,由此產(chǎn)生的環(huán)境觀察需求構(gòu)成“因”.觀察行為則由于任務(wù)行為執(zhí)行的需要被規(guī)劃、調(diào)度和執(zhí)行,其獲取的感知輸入作為“果”,從而為任務(wù)行為的執(zhí)行和決策提供依據(jù).
定義3(因果伴隨關(guān)系).當(dāng)任務(wù)行為p的前提條件p(?)、不變條件p(δ)或預(yù)期效果條件p(ε)與觀察行為q的待判斷條件q(φ)相一致,即p(?)|p(δ)|p(ε)=q(φ),則說(shuō)明任務(wù)行為p和觀察行為q之間存在因果伴隨關(guān)系,記為
例3:對(duì)于圖4 中的任務(wù)行為p=Move(roomA,roomB)而言,其前提條件p(?)=(at robotroomA)表示該行為的執(zhí)行前提是機(jī)器人初始位置為roomA;其過(guò)程條件為(collision free),表示該行為在執(zhí)行過(guò)程中需要保證機(jī)器人始終處于障礙物的安全距離;預(yù)期效果描述為(at robotroomB),即當(dāng)該行為結(jié)束后,機(jī)器人應(yīng)位于目的地roomB.當(dāng)對(duì)任務(wù)行為的這些條件進(jìn)行分析以獲知該任務(wù)行為的執(zhí)行情況時(shí),需要由相應(yīng)的觀察行為q=observe〈(at robotroomA),location〉的支持.例如,需要判斷p(?)=(at robotroomA)是否滿足.為此,機(jī)器人應(yīng)采取相應(yīng)的觀察行為予以觀察和分析,如通過(guò)攝像頭觀察機(jī)器人當(dāng)前所處環(huán)境的信息,進(jìn)而來(lái)分析和判斷機(jī)器人所處的房間位置.由任務(wù)行為的規(guī)約條件所產(chǎn)生的“因”,促使機(jī)器人采取針對(duì)性的觀察行為,從而來(lái)感知相關(guān)的“果”,從而為任務(wù)行為的條件判斷提供信息來(lái)源.
(2) 時(shí)序性
機(jī)器人任務(wù)行為的執(zhí)行具有持續(xù)性的特點(diǎn),即任務(wù)行為的實(shí)施是持續(xù)性過(guò)程而非瞬時(shí)過(guò)程.在任務(wù)行為的執(zhí)行過(guò)程中可能產(chǎn)生不同的觀察需求,觀察行為需要滿足一定的時(shí)序約束來(lái)輔助不同階段的任務(wù)行為執(zhí)行需求.例如:在任務(wù)行為執(zhí)行過(guò)程中,觀察行為需要進(jìn)行持續(xù)性伴隨,使得任務(wù)執(zhí)行過(guò)程始終獲得對(duì)環(huán)境狀態(tài)的實(shí)時(shí)感知,增強(qiáng)任務(wù)執(zhí)行的感知性;當(dāng)任務(wù)行為執(zhí)行結(jié)束后,觀察行為需要進(jìn)行伴隨觀察,以獲得任務(wù)行為的實(shí)際執(zhí)行效果.
Fig.4 Causal-effect relationship between task behaviors and observation behaviors圖4 任務(wù)行為與觀察行為間的因果關(guān)系
定義4(時(shí)序伴隨關(guān)系).對(duì)于任務(wù)行為p和觀察行為q這兩類持續(xù)性行為,任務(wù)行為的3 種規(guī)約條件分別定義了該行為執(zhí)行的3 個(gè)時(shí)序特征:執(zhí)行前(before)、執(zhí)行中(during)和執(zhí)行后(after).相應(yīng)地,當(dāng)觀察行為q在不同的時(shí)間階段與任務(wù)行為p在執(zhí)行時(shí)序上存在相應(yīng)的時(shí)序關(guān)系:執(zhí)行前(p?q)、執(zhí)行中(p∨q)以及執(zhí)行后(p?q).則稱任務(wù)行為p和觀察行為q在執(zhí)行時(shí)序上滿足一定的時(shí)序關(guān)系,記為RELATIONtemporal(p,q,?),其中,?代表?,?或∨.
例4:如圖5 所示,任務(wù)行為p=Move(roomA,roomB)執(zhí)行前(?)以及執(zhí)行后(?),機(jī)器人需要執(zhí)行相應(yīng)觀察行為q=observe〈(at robotroomA),location〉或者q=observe〈(at robotroomB),location〉來(lái)觀察當(dāng)前環(huán)境狀態(tài).這樣的觀察行為往往只執(zhí)行一次,只需反饋當(dāng)前環(huán)境狀態(tài),不需要進(jìn)行持續(xù)性觀察.相反,在該任務(wù)執(zhí)行期間,機(jī)器人需要采取持續(xù)性的觀察行為對(duì)環(huán)境狀態(tài)進(jìn)行感知,實(shí)時(shí)更新環(huán)境中相關(guān)狀態(tài)的變化情況,以支持在實(shí)施過(guò)程中對(duì)任務(wù)行為的安全條件進(jìn)行持續(xù)性、實(shí)時(shí)性的判斷.
Fig.5 Temporal relationship between taskbehaviorsand observation behaviors圖5 任務(wù)行為與觀察行為的時(shí)序關(guān)系
(3) 按需性
觀察行為的觀察目標(biāo)和伴隨反饋通常是按需執(zhí)行的,針對(duì)任務(wù)行為執(zhí)行過(guò)程中所需的輸入需求,機(jī)器人需要實(shí)施不同的觀察行為.因此,任務(wù)行為的執(zhí)行輸入與觀察行為的感知結(jié)果間存在語(yǔ)義方面的相關(guān)性,即觀察行為所產(chǎn)生的語(yǔ)義結(jié)果將作為任務(wù)行為的輸入信息,我們將這種伴隨關(guān)系稱之為按需伴隨.
定義5(按需伴隨關(guān)系).對(duì)于任務(wù)行為p,當(dāng)其蘊(yùn)含的觀察需求p(?)ξ,p(δ)ξ或p(ε)ξ能夠被觀察行為q的觀察結(jié)果q(ξ)所滿足,即p(?)ξ∨p(δ)ξ∨p(ε)ξ?q(ξ),則稱任務(wù)行為p與觀察行為q間存在按需伴隨關(guān)系,記為
例5:通過(guò)建立起與任務(wù)相關(guān)的環(huán)境語(yǔ)義模型,任務(wù)行為與觀察行為之間可以實(shí)現(xiàn)有針對(duì)性、按需性的伴隨,具體體現(xiàn)在:當(dāng)任務(wù)行為中某一條件需要進(jìn)行判斷時(shí),機(jī)器人會(huì)根據(jù)該條件所隱含的具體語(yǔ)義信息,實(shí)施相應(yīng)的觀察行為,從而獲得相應(yīng)的語(yǔ)義結(jié)果.當(dāng)任務(wù)行為p=Move(roomA,roomB)中前提條件p(?)=(at robotroomA)需要被判斷是否滿足時(shí),機(jī)器人需要去觀察機(jī)器人當(dāng)前所處位置,而這種對(duì)位置環(huán)境(roomA)的觀察往往可以通過(guò)觀察是否存在相應(yīng)的標(biāo)志性物體(obj)來(lái)實(shí)現(xiàn).在此情況下,觀察行為q=observe〈(at robotroomA),obj〉與該任務(wù)行為構(gòu)成按需伴隨關(guān)系.
基于自主機(jī)器人的上述軟件架構(gòu)和伴隨行為機(jī)制,自主機(jī)器人控制軟件需要解決伴隨行為的自主決策及實(shí)施問(wèn)題.本文介紹伴隨行為的決策算法DAAB(decision algorithm of accompanying behaviors),它采用分步規(guī)劃和動(dòng)態(tài)決策的思想.
· 分步規(guī)劃:第1 步為全局任務(wù)規(guī)劃,即根據(jù)機(jī)器人的任務(wù),通過(guò)經(jīng)典任務(wù)規(guī)劃算法,規(guī)劃出機(jī)器人的任務(wù)行為序列;第2 步為伴隨行為規(guī)劃,針對(duì)每一個(gè)執(zhí)行任務(wù),為其行為規(guī)劃出所需的觀察行為以及它們之間的交互.分步規(guī)劃將兩類行為的規(guī)劃過(guò)程交由不同的規(guī)劃器智能體執(zhí)行,該方法可降低規(guī)劃過(guò)程的復(fù)雜度,并提高行為決策的靈活性;
· 動(dòng)態(tài)決策:觀察行為的規(guī)劃過(guò)程與當(dāng)前任務(wù)行為的執(zhí)行狀態(tài)相關(guān),觀察行為與任務(wù)行為通過(guò)伴隨行為約束建立運(yùn)行時(shí)的動(dòng)態(tài)關(guān)系,而非在任務(wù)行為規(guī)劃和執(zhí)行之前事先制定.這種動(dòng)態(tài)決策的方式實(shí)現(xiàn)了觀察與任務(wù)行為之間的松耦合伴隨,有助于提高伴隨行為實(shí)施的靈活性.整個(gè)自主決策過(guò)程如圖6 所示.伴隨行為決策算法包含兩部分:任務(wù)行為決策和伴隨行為決策.
Fig.6 Two-step decision-making process of accompanying behaviors圖6 伴隨行為的二階段決策過(guò)程
(1) 任務(wù)行為決策算法
根據(jù)任務(wù)描述,任務(wù)行為的決策算法可規(guī)劃出一組有序的任務(wù)行為序列,該任務(wù)序列在理想狀態(tài)下能夠?qū)崿F(xiàn)機(jī)器人由初始狀態(tài)到達(dá)目標(biāo)狀態(tài),從而實(shí)現(xiàn)任務(wù).算法1 中,任務(wù)行為規(guī)劃算法T(X0,X*)的輸入為任務(wù)描述Π,其定義了機(jī)器人任務(wù)的問(wèn)題域和規(guī)劃域模型.算法首先遍歷所有可用的任務(wù)行為p=〈?,δ,ε〉,若該任務(wù)行為的前提條件在當(dāng)前初始狀態(tài)下可滿足,即X0?p(?),則將任務(wù)行為p加入可行序列集P中.從集合P中逐個(gè)遍歷每一可用行為pi,采取一步預(yù)測(cè)方法,預(yù)測(cè)該行為在初始狀態(tài)X0下執(zhí)行后的預(yù)期效果,即中,機(jī)器人任務(wù)行為的預(yù)期效果可以通過(guò)其行為模型進(jìn)行預(yù)測(cè).
算法1.任務(wù)行為規(guī)劃算法T(X0,X*).
輸入:任務(wù)描述Π=(X0,X*,P);
輸出:一組有序任務(wù)行為序列P=[p1,…,pn].
1.當(dāng)初始狀態(tài)與目標(biāo)狀態(tài)一致,即X0=X*,任務(wù)行為序列為空集P=?;
2.當(dāng)某一任務(wù)行為p=〈?,δ,ε〉在初始狀態(tài)X0可執(zhí)行,即X0?p(?),則p∈P;
3.遍歷可行序列集P中每一個(gè)任務(wù)行為pi=〈?i,δi,εi〉,預(yù)測(cè)其在初始狀態(tài)X0下執(zhí)行后的預(yù)期效果,即得:
5.輸出一組有序任務(wù)行為序列P=[p1,…,pn].
圖7 舉例展示了機(jī)器人的任務(wù)行為Move(roomA,roomB)的行為模型,該模型定義了行為執(zhí)行的前提條件、不變條件以及預(yù)期效果(at robotroomB).在每一步的任務(wù)行為決策時(shí),算法通過(guò)輪詢當(dāng)前每個(gè)可用任務(wù)行為模型中的預(yù)期效果,同時(shí)依次取,并繼續(xù)在當(dāng)前所有任務(wù)行為中選取當(dāng)前狀態(tài)X0下可行任務(wù)行為pj,并將其加入可行序列集P中.重復(fù)上述過(guò)程,直至達(dá)成目標(biāo)狀態(tài),即X0=X*,此時(shí)得到的可行序列集P即為一組有序任務(wù)行為.
Fig.7 Action model of task behavior Move(roomA,roomB)圖7 機(jī)器人任務(wù)行為Move(roomA,roomB)的行為模型
(2) 伴隨行為決策算法
針對(duì)任務(wù)規(guī)劃所決策產(chǎn)生的每一個(gè)任務(wù)行為,伴隨行為規(guī)劃算法根據(jù)伴隨關(guān)系約束,規(guī)劃產(chǎn)生對(duì)應(yīng)的觀察行為以及觀察行為與任務(wù)行為間的交互.算法2 以算法1 所產(chǎn)生的任務(wù)行為序列P=[p1,…,pn]以及前述伴隨關(guān)系約束為輸入,輸出一組符合伴隨交互關(guān)系的任務(wù)-觀察伴隨行為.針對(duì)每一任務(wù)行為p的執(zhí)行,該決策算法會(huì)依據(jù)伴隨關(guān)系的約束條件產(chǎn)生相應(yīng)的觀察行為,以輔助當(dāng)前任務(wù)行為的執(zhí)行.當(dāng)任務(wù)行為pi執(zhí)行之前,算法會(huì)依據(jù)其前提條件p(?i)在觀察行為庫(kù)尋找合適的觀察行為q,使得該觀察行為與任務(wù)行為符合伴隨因果關(guān)系p(?i)=q(φ);同時(shí),觀察行為的觀察結(jié)果符合該任務(wù)行為的觀察需求p(?i)?q(ξ).此時(shí),觀察行為q與該任務(wù)行為構(gòu)成前序時(shí)序關(guān)系pi?q,觀察行為在任務(wù)行為執(zhí)行前進(jìn)行環(huán)境觀察.當(dāng)任務(wù)行為pi執(zhí)行過(guò)程中,若存在觀察行為q能夠?qū)θ蝿?wù)行為的過(guò)程條件進(jìn)行觀察,并且觀察結(jié)果滿足其觀察需求,即p(δi)=q(φ),p(δi)?q(ξ),則觀察行為q與任務(wù)行為pi構(gòu)成并發(fā)時(shí)序關(guān)系pi∨q,觀察行為在任務(wù)行為執(zhí)行過(guò)程中進(jìn)行觀察活動(dòng).同樣,在任務(wù)行為pi執(zhí)行結(jié)束后,若觀察行為q滿足p(εi)=q(φ),p(εi)?q(ξ),則觀察行為q與任務(wù)行為pi構(gòu)成后序時(shí)序關(guān)系pi?q,觀察行為在任務(wù)行為執(zhí)行結(jié)束后觀察.
算法2.伴隨行為決策算法A(P,RELATIONcausal-effect,RELATIONtemporal,RELATIONon-demand).
輸入:任務(wù)行為序列P=[p1,…,pn],RELATIONcausal-effect,RELATIONtemporal和RELATIONon-demand;
輸出:一組伴隨執(zhí)行的任務(wù)/觀察行為序列O=[p1,q1,p2,q2,…].
1.任務(wù)規(guī)劃器基于任務(wù)描述Π=(X0,X*,P)由算法1 的T(X0,X*)產(chǎn)生一組任務(wù)行為:X0+X*→P=[p1,…,pn];
2.對(duì)于每一子任務(wù)行為pi=〈?i,δi,εi〉∈P的執(zhí)行,在執(zhí)行前,當(dāng)存在觀察行為q=〈φ,ξ〉使得p(?i)=q(φ),p(?i)?q(ξ)且pi?q,則調(diào)度觀察行為q在任務(wù)行為pi前執(zhí)行;
3.在執(zhí)行過(guò)程中,當(dāng)存在觀察行為q=〈φ,ξ〉使得p(δi)=q(φ),p(δi)?q(ξ)且pi∨q,則調(diào)度觀察行為q在任務(wù)行為pi執(zhí)行過(guò)程中并發(fā)執(zhí)行;
4.在執(zhí)行結(jié)束后,當(dāng)存在觀察行為q=〈φ,ξ〉使得p(εi)=q(φ),p(εi)?q(ξ)且pi?q,則調(diào)度觀察行為q在任務(wù)行為pi執(zhí)行結(jié)束后執(zhí)行;
5.當(dāng)無(wú)滿足伴隨關(guān)系的觀察行為時(shí),繼續(xù)執(zhí)行下一任務(wù)行為pi+1,直至任務(wù)結(jié)束.
本節(jié)介紹論文所開(kāi)展的實(shí)驗(yàn),分別針對(duì)環(huán)境變化和行為執(zhí)行結(jié)果不確定兩種應(yīng)用場(chǎng)景,對(duì)比分析基于MaRSA 架構(gòu)和伴隨行為機(jī)制的DAAB 算法所生成的行為規(guī)劃在達(dá)成任務(wù)實(shí)現(xiàn)方面的可行性和高效性.
針對(duì)第2.1 節(jié)所描述的開(kāi)放環(huán)境下自主機(jī)器人任務(wù)實(shí)現(xiàn)所面臨的二類典型挑戰(zhàn),分別在基于仿真的機(jī)器人實(shí)驗(yàn)環(huán)境和基于真實(shí)機(jī)器人的實(shí)驗(yàn)環(huán)境中開(kāi)展實(shí)驗(yàn).基于仿真環(huán)境的實(shí)驗(yàn)主要用于模擬機(jī)器人行為執(zhí)行結(jié)果的不確定性,通過(guò)設(shè)置地板的摩擦系數(shù),使得機(jī)器人在移動(dòng)過(guò)程中產(chǎn)生運(yùn)動(dòng)偏差,以此來(lái)表征機(jī)器人行為執(zhí)行的不確定性.基于真實(shí)機(jī)器人的實(shí)驗(yàn)主要研究當(dāng)機(jī)器人的外部環(huán)境發(fā)生變化時(shí),如人為地移動(dòng)水杯的位置,機(jī)器人如何通過(guò)伴隨行為來(lái)快速地定位目標(biāo)并進(jìn)行重規(guī)劃,以高效率地完成任務(wù).
4.1.1 基于固定目標(biāo)搜索的仿真實(shí)驗(yàn)
為了驗(yàn)證所提出的方案對(duì)機(jī)器人任務(wù)執(zhí)行過(guò)程中協(xié)調(diào)性的支持,本文于仿真環(huán)境下進(jìn)行目標(biāo)物體位置不變、運(yùn)動(dòng)環(huán)境存在大量干擾因素的目標(biāo)跟蹤實(shí)驗(yàn).基于V-REP 仿真器,使用NAO 機(jī)器人模型、水杯模型等構(gòu)筑仿真案例場(chǎng)景.在仿真場(chǎng)景中(如圖8 所示),機(jī)器人需要尋找固定位置的目標(biāo)水杯.然而,由于地面摩擦系數(shù)較小以及機(jī)器人運(yùn)動(dòng)系統(tǒng)的固有偏差,機(jī)器人在該環(huán)境下的移動(dòng)存在較大的方向和距離偏差,從而導(dǎo)致感知及結(jié)果的抖動(dòng)現(xiàn)象出現(xiàn).這種行為執(zhí)行上的不確定性導(dǎo)致機(jī)器人在運(yùn)動(dòng)過(guò)程中容易偏離規(guī)劃軌跡,視覺(jué)系統(tǒng)容易丟失目標(biāo)水杯,從而導(dǎo)致已決策的任務(wù)規(guī)劃不可行.在此仿真實(shí)驗(yàn)中,根據(jù)機(jī)器人的視野調(diào)整與目標(biāo)水杯之間的對(duì)應(yīng)關(guān)系,我們通過(guò)機(jī)器人最終能否順利到達(dá)目標(biāo)水杯的位置,來(lái)評(píng)估算法所決策生成規(guī)劃對(duì)機(jī)器人動(dòng)作的協(xié)調(diào)性.仿真實(shí)驗(yàn)中地面摩擦參數(shù)設(shè)置見(jiàn)表1.
Fig.8 Simulated scenario for uncertainties in robot plan execution圖8 針對(duì)行為執(zhí)行結(jié)果不確定的仿真實(shí)驗(yàn)場(chǎng)景
Table 1 Parameter settings of contacting floor in the simulator表1 仿真環(huán)境地面摩擦參數(shù)設(shè)置
4.1.2 基于動(dòng)態(tài)目標(biāo)搜索的真實(shí)機(jī)器人實(shí)驗(yàn)
為了驗(yàn)證所提出的方案對(duì)機(jī)器人生成任務(wù)決策的高效性,本文于實(shí)際環(huán)境中進(jìn)行目標(biāo)物體位置變化、無(wú)明顯運(yùn)動(dòng)環(huán)境干擾因素的目標(biāo)跟蹤實(shí)驗(yàn).基于真實(shí)機(jī)器人的實(shí)驗(yàn)建立在雙足人形機(jī)器人NAO 硬件平臺(tái)(操作系統(tǒng)版本1.14)之上,在室內(nèi)環(huán)境中設(shè)置真實(shí)的水杯來(lái)構(gòu)造真實(shí)的實(shí)驗(yàn)環(huán)境(如圖9 所示).在此實(shí)驗(yàn)中,NAO 機(jī)器人運(yùn)行在開(kāi)放的室內(nèi)環(huán)境中,在實(shí)現(xiàn)任務(wù)的過(guò)程中,待抓取機(jī)器人的位置會(huì)發(fā)生變化.在此情況下,機(jī)器人所決策生成的規(guī)劃變得不可行,機(jī)器人需要通過(guò)觀察行為來(lái)搜尋并確定目標(biāo)對(duì)象的位置,依此來(lái)指導(dǎo)機(jī)器人的行為決策及執(zhí)行,并進(jìn)行高效的重規(guī)劃過(guò)程.
Fig.9 Indoor scenario based on real robot to take the target with changed position圖9 基于真實(shí)機(jī)器人、針對(duì)拿取對(duì)象位置動(dòng)態(tài)變化的實(shí)驗(yàn)場(chǎng)景
上述仿真和真實(shí)場(chǎng)景通過(guò)以下數(shù)據(jù)評(píng)估本文DAAB 算法所生成的行為規(guī)劃在達(dá)成任務(wù)實(shí)現(xiàn)方面的可行性和高效性.
(1) 世界坐標(biāo)系中機(jī)器人距目標(biāo)物體的距離CoordinateDistance 與機(jī)器人視野中目標(biāo)物體與視野中心的距離ObjectVisionDistance.通過(guò)這兩種距離的變化情況,得以判斷所決策的行為能否以及多大程度上有助于任務(wù)的實(shí)現(xiàn),評(píng)估決策算法所生成的規(guī)劃在達(dá)成任務(wù)實(shí)現(xiàn)方面的可行性;
(2) 機(jī)器人從初始位置到目標(biāo)位置所用時(shí)間,即完成任務(wù)所需的時(shí)間TaskTime,以及任務(wù)實(shí)現(xiàn)過(guò)程中從任務(wù)重規(guī)劃到重新執(zhí)行階段所用時(shí)間AdjustmentTime.評(píng)估決策算法所生成的規(guī)劃在任務(wù)實(shí)現(xiàn)方面的高效性.
4.2.1 實(shí)驗(yàn)對(duì)比算法的選擇
實(shí)驗(yàn)選取了在自主機(jī)器人行為決策領(lǐng)域的二類主流算法進(jìn)行對(duì)比和分析:反應(yīng)式行為決策算法[7]和基于BDI 模型的概率決策算法[23].這兩種決策算法中,對(duì)機(jī)器人的觀察行為和執(zhí)行行為沒(méi)有進(jìn)行顯式區(qū)分和建模,在決策時(shí)也沒(méi)有考慮這二類行為之間的伴隨.實(shí)驗(yàn)通過(guò)與這兩種決策算法進(jìn)行對(duì)比,評(píng)估DAAB 算法所生成的規(guī)劃在支持任務(wù)實(shí)現(xiàn)方面的可行性和高效性.本文基于文獻(xiàn)[23]復(fù)現(xiàn)了基于BDI 模型的概率決策方法,其主要算法思想(文獻(xiàn)[23]中算法4)是:通過(guò)對(duì)機(jī)器人觀察結(jié)果的概率估計(jì)來(lái)更新機(jī)器人信念狀態(tài),并根據(jù)當(dāng)前信念狀態(tài)選擇下一步行為.基于此算法思想,本文復(fù)現(xiàn)了如圖10(c)所示的BDI 式機(jī)器人決策算法.通過(guò)反饋信息,計(jì)算機(jī)器人當(dāng)前行為執(zhí)行的信念值.結(jié)合這一信念值與意圖行為序列,生成一組行為以縮短機(jī)器人與目標(biāo)物體之間的距離.同樣,基于文獻(xiàn)[7]中提出的基于反應(yīng)式方法,本文在復(fù)現(xiàn)算法中考慮直接根據(jù)反饋的感知信息輸出相應(yīng)的控制行為,無(wú)更高層次的規(guī)劃和推理過(guò)程.如圖10(b)所示,機(jī)器人的控制系統(tǒng)通過(guò)上層決定的控制結(jié)果來(lái)驅(qū)動(dòng)下層控制行為的執(zhí)行,以條件觸發(fā)的形式進(jìn)行反應(yīng)式的行為調(diào)整.
圖10 展示了這3 種決策方法的規(guī)劃過(guò)程及產(chǎn)生的規(guī)劃結(jié)果.伴隨行為決策過(guò)程中,機(jī)器人根據(jù)目標(biāo)在視野中相對(duì)位置進(jìn)行決策,使其位于視野中心,DAAB 算法最終產(chǎn)生的為觀察行為和任務(wù)行為伴隨執(zhí)行的伴隨行為規(guī)劃.反應(yīng)式?jīng)Q策過(guò)程中,機(jī)器人根據(jù)目標(biāo)與機(jī)器人的相對(duì)位置直接生成控制參數(shù)來(lái)驅(qū)動(dòng)機(jī)器人運(yùn)動(dòng),以快速應(yīng)對(duì)目標(biāo)與機(jī)器人的相對(duì)位置變化.基于BDI 模型的概率決策過(guò)程根據(jù)目標(biāo)與機(jī)器人的相對(duì)位置來(lái)獲取機(jī)器人對(duì)任務(wù)執(zhí)行的信念值,并通過(guò)概率模型來(lái)表征機(jī)器人的控制參數(shù)變化期望與任務(wù)實(shí)現(xiàn)的意圖,從而在保證任務(wù)執(zhí)行效率的同時(shí)提高任務(wù)執(zhí)行的穩(wěn)定性.反應(yīng)式行為決策算法和基于BDI 模型的概率決策算法由于沒(méi)有顯式區(qū)分機(jī)器人的觀察行為和任務(wù)行為,因此產(chǎn)生的規(guī)劃為傳統(tǒng)的任務(wù)規(guī)劃.本文提供3 種對(duì)比算法的實(shí)現(xiàn)源碼,以供讀者進(jìn)一步理解上述算法思想(https://github.com/yangshuo11/Accompanying-Behavior-Planning-Algorithmsfor-Structure-in-5-Architecture.git).
Fig.10 Accompanying behavior,reactive behavior and BDI-based probabilistic planning processes圖10 伴隨行為決策算法、反應(yīng)式行為決策算法和基于BDI 模型的概率決策算法的決策過(guò)程和規(guī)劃結(jié)果
4.2.2 仿真場(chǎng)景下的實(shí)驗(yàn)數(shù)據(jù)及分析
仿真場(chǎng)景下,機(jī)器人距離目標(biāo)物體的距離以及機(jī)器人對(duì)目標(biāo)物體的觀察狀態(tài)如圖11 和圖12 所示.
Fig.11 Global distance between robot and target in the simulated scenario圖11 仿真實(shí)驗(yàn)中在世界坐標(biāo)系下機(jī)器人與目標(biāo)物體間的距離
Fig.12 Distance between target and robot vision center in the simulated scenario圖12 仿真實(shí)驗(yàn)中,在機(jī)器人視野中目標(biāo)物體與視野中心的距離
從圖11 中可知:在反應(yīng)式?jīng)Q策方法中,機(jī)器人在180s 摔倒從而任務(wù)執(zhí)行失敗;在基于BDI 的概率規(guī)劃方法中,機(jī)器人在210s 完成給定任務(wù)抵達(dá)水杯附近;基于MaSRA 的DBBA 算法的完成任務(wù)時(shí)間為320s.因此,本文提出的DAAB 算法以及BDI 概率決策算法所產(chǎn)生的規(guī)劃在實(shí)現(xiàn)任務(wù)執(zhí)行過(guò)程中具有較高的可行性,而反應(yīng)式?jīng)Q策算法所產(chǎn)生規(guī)劃可行性相對(duì)較差.下面具體分析其原因.
反應(yīng)式的決策過(guò)程中,機(jī)器人與目標(biāo)物體的距離快速縮小,但最終出現(xiàn)斷崖式下跌,即機(jī)器人摔倒.基于BDI的方法使得機(jī)器人與目標(biāo)物體的距離先是迅速縮小到1.5m 左右的位置處,之后呈平緩變化并出現(xiàn)快速下跌過(guò)程.而本文提出的DAAB 算法使得機(jī)器人與目標(biāo)物體的距離長(zhǎng)期呈現(xiàn)一個(gè)平穩(wěn)變化的過(guò)程.結(jié)合圖12 可以發(fā)現(xiàn):當(dāng)機(jī)器人能夠持續(xù)發(fā)現(xiàn)目標(biāo)物體時(shí)(0s~100s 內(nèi)),由于反應(yīng)快速,反應(yīng)式?jīng)Q策方法能夠根據(jù)目標(biāo)物體與機(jī)器人的相對(duì)位置支撐機(jī)器人直接轉(zhuǎn)向并持續(xù)運(yùn)動(dòng).BDI 決策方法與反應(yīng)式?jīng)Q策方法類似.而本文提出的DAAB 算法則由于其需要長(zhǎng)期保持目標(biāo)物體位于視野中心,因此會(huì)花費(fèi)大量時(shí)間開(kāi)銷在伴隨行為間的切換過(guò)程,效率較反應(yīng)式的決策過(guò)程相對(duì)較低.就反應(yīng)式與BDI 方法而言,當(dāng)機(jī)器人接近目標(biāo)物體時(shí),目標(biāo)物體頻繁脫離機(jī)器人視野(在圖12 中表現(xiàn)為距離值達(dá)到400 pixel),而基于伴隨行為的DAAB 算法仍能長(zhǎng)期保持觀察到目標(biāo)物體.因此出現(xiàn)了圖11 中,反應(yīng)式方法距離的斷崖式下跌以及BDI 方法的距離變化明顯減緩而基于伴隨行為的方法距離變化仍較為穩(wěn)定.為了分析反應(yīng)式?jīng)Q策算法所產(chǎn)生的規(guī)劃的低可行性原因,本文將結(jié)合圖13 反應(yīng)式?jīng)Q策方法過(guò)程進(jìn)一步闡述.
如圖13 所示,對(duì)于反應(yīng)式?jīng)Q策方法,由于機(jī)器人運(yùn)動(dòng)過(guò)程中的抖動(dòng),目標(biāo)物體在機(jī)器人視野中總是出現(xiàn)于視野邊緣,機(jī)器人容易丟失目標(biāo)物體.特別當(dāng)機(jī)器人抵達(dá)目標(biāo)物體附近時(shí),運(yùn)動(dòng)抖動(dòng)對(duì)機(jī)器人觀察視野的影響將被放大.因此出現(xiàn)了如圖12 所示的現(xiàn)象:在100s 后,機(jī)器人抵達(dá)目標(biāo)物體附近時(shí),目標(biāo)物體在機(jī)器人視野中出現(xiàn)頻繁丟失,機(jī)器人需要不斷原地旋轉(zhuǎn)來(lái)搜尋目標(biāo)物體.由于極大的轉(zhuǎn)動(dòng)慣量及光滑地面的影響,導(dǎo)致機(jī)器人摔倒和任務(wù)失敗.同時(shí),我們進(jìn)一步分析采用伴隨行為的DAAB 算法與基于BDI 的概率決策方法所產(chǎn)生規(guī)劃的高可行性的原因.對(duì)于DAAB 算法,由于機(jī)器人需要通過(guò)頻繁的觀察行為與任務(wù)行為間的調(diào)度,其能保證目標(biāo)物體處于機(jī)器人視野中心.對(duì)于BDI 的概率規(guī)劃方法,機(jī)器人總是能夠根據(jù)前段時(shí)間的物體對(duì)機(jī)器人的相對(duì)信息賦予任務(wù)執(zhí)行以信念值.當(dāng)信念值較高時(shí),機(jī)器人將以較高的速率運(yùn)動(dòng).當(dāng)機(jī)器人運(yùn)動(dòng)受阻時(shí),該模型將暫時(shí)降低任務(wù)執(zhí)行的信念值,以任務(wù)實(shí)現(xiàn)意圖為驅(qū)動(dòng)保證機(jī)器人任務(wù)的順利執(zhí)行,如50s~90s 期間的平緩運(yùn)動(dòng).
Fig.13 Robot movement and observation results at different time in reactive behavior planning process圖13 反應(yīng)式?jīng)Q策過(guò)程中,不同時(shí)刻的NAO 機(jī)器人的運(yùn)動(dòng)及觀察結(jié)果
4.2.3 真實(shí)場(chǎng)景下的實(shí)驗(yàn)數(shù)據(jù)及分析
圖14 展示了機(jī)器人在DAAB 算法所產(chǎn)生的伴隨行為規(guī)劃下的機(jī)器人運(yùn)動(dòng)狀態(tài).
Fig.14 NAO robot movement results of different time in accompanying behavior planning process圖14 伴隨行為決策過(guò)程中,不同時(shí)刻N(yùn)AO 機(jī)器人的運(yùn)動(dòng)狀態(tài)
整個(gè)運(yùn)動(dòng)過(guò)程分為4 個(gè)階段.
· 階段1:當(dāng)機(jī)器人運(yùn)動(dòng)一段距離后,在機(jī)器視野范圍內(nèi)直線后移目標(biāo)物體(15s 處);
· 階段2:在機(jī)器做出進(jìn)一步運(yùn)動(dòng)后,快速將目標(biāo)物體往某一方向進(jìn)行偏移(20s 處);
· 階段3:當(dāng)機(jī)器人找到目標(biāo)物體并進(jìn)一步運(yùn)動(dòng)一段時(shí)間后,快速將目標(biāo)物體往另一個(gè)方向進(jìn)行偏移(22s處);
· 階段4:當(dāng)機(jī)器人再次找到目標(biāo)物體并進(jìn)一步運(yùn)動(dòng)一段時(shí)間后,快速將目標(biāo)物體移置到機(jī)器人背后(53s處).
在階段1 與階段2 的過(guò)程中,DAAB 算法的規(guī)劃總是能夠保持目標(biāo)物在機(jī)器人視野中,并持續(xù)面向目標(biāo)物體運(yùn)動(dòng).對(duì)于階段3,由于目標(biāo)物體的移動(dòng)速率較快且偏移幅度相對(duì)于階段2 而言是其偏移量的兩倍,機(jī)器人不能快速地跟蹤目標(biāo)物體的變化,因此出現(xiàn)了第1 次較長(zhǎng)的目標(biāo)物體丟失狀態(tài),在此情況下,機(jī)器人并未丟失目標(biāo)物體信息,而是通過(guò)記錄的歷史信息按目標(biāo)物體的偏移方向持續(xù)轉(zhuǎn)動(dòng),最終能盡可能快地發(fā)現(xiàn)目標(biāo)物體所在.對(duì)于階段4,由于人為的控制導(dǎo)致了目標(biāo)物體位置相對(duì)于機(jī)器人而言出現(xiàn)了劇烈的變化,因此出現(xiàn)了第2 次較長(zhǎng)的目標(biāo)物體丟失狀態(tài).這一次的目標(biāo)物體丟失狀態(tài)由于變化較為明顯,并且機(jī)器人完全丟失了目標(biāo)物體信息,從而觸發(fā)了搜尋目標(biāo)物體狀態(tài).在重新發(fā)現(xiàn)目標(biāo)物體后,機(jī)器人快速調(diào)整自身狀態(tài)并向目標(biāo)物體移動(dòng).由此,相比其他兩種決策算法,DAAB 算法所決策的行為所生成的規(guī)劃在根據(jù)變動(dòng)的目標(biāo)調(diào)整機(jī)器人觀察行為過(guò)程中具有更好的可行性.
表2 展示了真實(shí)場(chǎng)景下機(jī)器人在任務(wù)執(zhí)行各階段的時(shí)間開(kāi)銷及任務(wù)執(zhí)行的總時(shí)間開(kāi)銷.首先,從任務(wù)執(zhí)行的總時(shí)間開(kāi)銷來(lái)看,基于MaSRA 的DAAB 算法的時(shí)間開(kāi)銷遠(yuǎn)低于其余兩種方法.其原因在于:反應(yīng)式?jīng)Q策算法中,機(jī)器人的視野調(diào)整會(huì)出現(xiàn)大量擾動(dòng),目標(biāo)物體長(zhǎng)期處于機(jī)器人的視野邊緣.在這一情況下,當(dāng)目標(biāo)物體出現(xiàn)即使如階段1 的較小幅度變化,機(jī)器人也會(huì)由于對(duì)環(huán)境觀察過(guò)程的延時(shí)導(dǎo)致機(jī)器人完全丟失目標(biāo)物體信息,從而觸發(fā)大量的搜尋過(guò)程.因此當(dāng)環(huán)境動(dòng)態(tài)變化時(shí),反應(yīng)式的決策方法由于花費(fèi)大量時(shí)間用于目標(biāo)物體搜尋過(guò)程,因此其時(shí)間開(kāi)銷遠(yuǎn)大于基于伴隨行為的決策方法.基于BDI 的概率決策方法同樣由于短期記憶的失效附加以目標(biāo)物體處于視野邊緣,因此機(jī)器人多次丟失目標(biāo)物體信息而觸發(fā)大量搜尋過(guò)程.而基于MaSRA 的DAAB 算法受益于其靈活的觀察行為與任務(wù)行為的調(diào)度,機(jī)器人總是能快速發(fā)現(xiàn)目標(biāo)物體,從而避免了大量的搜尋過(guò)程.特別的,就BDI 而言,當(dāng)目標(biāo)物體丟失時(shí),由于其固有運(yùn)動(dòng)期望的影響,BDI 的搜尋過(guò)程時(shí)間開(kāi)銷較反應(yīng)式更長(zhǎng).基于此分析,雖然BDI 在靜態(tài)環(huán)境中,任務(wù)執(zhí)行效率最高,但是當(dāng)環(huán)境復(fù)雜多變時(shí),BDI 模型難以適應(yīng)環(huán)境變化.而基于MaSRA 的DAAB 算法由于其靈活的行為調(diào)度,在靜態(tài)環(huán)境中運(yùn)動(dòng)效率不高,但當(dāng)機(jī)器人處于動(dòng)態(tài)變化的環(huán)境中時(shí),其就任務(wù)執(zhí)行效率的優(yōu)勢(shì)將得以展現(xiàn).反應(yīng)式的方法就任務(wù)執(zhí)行效率介于其二者之間.由此說(shuō)明,基于MaSRA 的DAAB 算法所產(chǎn)生的規(guī)劃在機(jī)器人任務(wù)動(dòng)態(tài)變化時(shí)將具有更高的高效性.
Table 2 Time costs of 4 execution phases and the total time of task execution in real-world environment表2 真實(shí)機(jī)器人4 個(gè)任務(wù)執(zhí)行階段的時(shí)間開(kāi)銷及任務(wù)執(zhí)行總時(shí)間開(kāi)銷
本文針對(duì)開(kāi)放環(huán)境下自主機(jī)器人任務(wù)執(zhí)行所面臨的行為決策和實(shí)施的挑戰(zhàn),根據(jù)自主機(jī)器人控制軟件的構(gòu)成分布性、行為自主性、管理發(fā)散性、運(yùn)行協(xié)同性等特點(diǎn),開(kāi)展了自主機(jī)器人控制軟件的架構(gòu)、伴隨行為機(jī)制和決策算法的研究,取得了3 個(gè)方面的研究成果和貢獻(xiàn).
(1) 采用組織理論的思想,提出了基于Structure-in-5 組織架構(gòu)的自主機(jī)器人控制軟件架構(gòu)MaRSA.該架構(gòu)顯式抽象和封裝了自主機(jī)器人的任務(wù)行為和觀察行為,實(shí)現(xiàn)了自主機(jī)器人控制軟件的感知和執(zhí)行功能相分離,并能夠促進(jìn)任務(wù)行為實(shí)施構(gòu)件與觀察行為實(shí)施構(gòu)件間的靈活交互和協(xié)同;
(2) 提出了自主機(jī)器人的伴隨行為機(jī)制,從時(shí)序、按需、因果這3 個(gè)方面描述和規(guī)約了任務(wù)行為和觀察行為間的伴隨交互關(guān)系,從而為自主機(jī)器人的有效和協(xié)調(diào)運(yùn)行提供了核心運(yùn)行機(jī)制支持;
(3) 設(shè)計(jì)了基于二階段、動(dòng)態(tài)規(guī)劃思想的伴隨行為自主決策算法,將伴隨行為的決策延后到任務(wù)行為實(shí)施過(guò)程中進(jìn)行,降低了伴隨行為決策的復(fù)雜度,提高了自主機(jī)器人伴隨行為決策和實(shí)施的靈活性.
本文分別在仿真環(huán)境和實(shí)際機(jī)器人環(huán)境下設(shè)計(jì)了對(duì)比性實(shí)驗(yàn),結(jié)果表明:與主流的反應(yīng)式行為決策算法和BDI 式概率決策算法相比較,基于MaRSA 和伴隨行為機(jī)制的DAAB 算法所生成的伴隨行為規(guī)劃在開(kāi)放環(huán)境下具有可行性和更高效的執(zhí)行效率.
未來(lái)將圍繞以下幾個(gè)方面開(kāi)展研究工作:(1) 面向多任務(wù)多目標(biāo)的行為決策機(jī)制及算法的設(shè)計(jì),支持多目標(biāo)任務(wù)決策的優(yōu)化;(2) 自主機(jī)器人的支撐軟件平臺(tái),支持自主機(jī)器人控制軟件的開(kāi)發(fā)、部署和運(yùn)行;(3) 結(jié)合具體的應(yīng)用場(chǎng)景,開(kāi)展基于實(shí)際機(jī)器人的應(yīng)用開(kāi)發(fā)和演示.