曹鵬飛,郝礦榮,丁永生
由于多機(jī)器人系統(tǒng)可以更好地實(shí)現(xiàn)信息和資源共享,具有更高的并行性和魯棒性,可以完成更加復(fù)雜的任務(wù),已經(jīng)被應(yīng)用到智能生產(chǎn)、未知環(huán)境探測(cè)、搬運(yùn)清理、服務(wù)行業(yè)、搜索搜救、遠(yuǎn)程通信等很多領(lǐng)域中,具備很好的實(shí)用價(jià)值[1-2]。而一種良好的任務(wù)分配策略對(duì)整個(gè)系統(tǒng)起著重要的作用,因而成為學(xué)者們的研究熱點(diǎn)。
針對(duì)不同的應(yīng)用場(chǎng)景,國(guó)內(nèi)外學(xué)者提出了許多有效的任務(wù)分配算法,大多都是基于行為機(jī)制、獎(jiǎng)賞機(jī)制、市場(chǎng)機(jī)制以及群體智能[3-5]。袁等[6-7]提出改進(jìn)的免疫網(wǎng)絡(luò)算法解決了未知環(huán)境中機(jī)器人搬運(yùn)箱子問(wèn)題,取得一定效果。但以上算法大都適用于靜態(tài)或任務(wù)信息事先已知的場(chǎng)景中,對(duì)于隨著時(shí)間動(dòng)態(tài)產(chǎn)生,且事先只能感知任務(wù)位置,無(wú)法具體判斷任務(wù)量,需要機(jī)器人在任務(wù)執(zhí)行時(shí)自主協(xié)作的場(chǎng)景中存在較大的局限。
生物免疫系統(tǒng)維持著生物系統(tǒng)的動(dòng)態(tài)平衡,具有較強(qiáng)的學(xué)習(xí)性、記憶性和自適應(yīng)性[8-9]。受此啟發(fā),本文借鑒獨(dú)特型免疫網(wǎng)絡(luò),將多機(jī)器人系統(tǒng)和免疫系統(tǒng)進(jìn)行類比,構(gòu)建任務(wù)分配與協(xié)作模型,并利用事件驅(qū)動(dòng)機(jī)制實(shí)現(xiàn)了多機(jī)器人動(dòng)態(tài)的任務(wù)分配與協(xié)作,并引入焦躁模型來(lái)解決任務(wù)死鎖問(wèn)題,使多機(jī)器人系統(tǒng)能夠在動(dòng)態(tài)任務(wù)、且任務(wù)量無(wú)法事先確定的復(fù)雜場(chǎng)景中實(shí)現(xiàn)任務(wù)自適應(yīng)分配與自主協(xié)作,構(gòu)建一個(gè)智能協(xié)同的機(jī)器人網(wǎng)絡(luò)[10]。將本文算法應(yīng)用于需要協(xié)作的清理搜集任務(wù)中,仿真和實(shí)驗(yàn)表明本文算法能夠有效解決此類動(dòng)態(tài)任務(wù)分配問(wèn)題。
生物免疫系統(tǒng)維持著整個(gè)生物系統(tǒng)的動(dòng)態(tài)平衡,非常適合于動(dòng)態(tài)和魯棒性系統(tǒng)研究,將其應(yīng)用到實(shí)際工程,可以增強(qiáng)系統(tǒng)的穩(wěn)定性。
1974年Jerne提出的獨(dú)特型網(wǎng)絡(luò)假說(shuō)認(rèn)為,生物系統(tǒng)可以維持本身的均衡,通過(guò)細(xì)胞間的相互作用,利用濃度最大的抗體消滅抗原[11]。
在此基礎(chǔ)上,F(xiàn)armer等[12]提出了相應(yīng)的動(dòng)態(tài)方程,并將免疫系統(tǒng)應(yīng)用于工程應(yīng)用。
式中:Ai(t)和ai(t)為分別為t時(shí)刻抗體i的激勵(lì)水平和濃度;α、β為作用系數(shù);ki表示抗體的消亡;N為抗體數(shù)目;mji和mik分別表示抗體間的激勵(lì)和抑制;gi表示抗體和抗原間激勵(lì)。
受此啟發(fā),為了實(shí)現(xiàn)的任務(wù)動(dòng)態(tài)環(huán)境中的多機(jī)器人任務(wù)分配,參照生物免疫網(wǎng)絡(luò)機(jī)理,將免疫網(wǎng)絡(luò)與實(shí)際的多機(jī)器人系統(tǒng)進(jìn)行類比,映射關(guān)系如表1,提出一種多機(jī)器人任務(wù)分配與協(xié)作模型。
針對(duì)一定區(qū)域內(nèi)的松散型清理搜集任務(wù),需要通過(guò)多個(gè)同構(gòu)或異構(gòu)機(jī)器人獨(dú)立或協(xié)作完成。設(shè)環(huán)境中存在m個(gè)機(jī)器人Ri()和n個(gè)任務(wù)Tj(),機(jī)器人Ri具有相應(yīng)的能力值fi和速度值vi,每項(xiàng)清理任務(wù)具有能力值和服務(wù)時(shí)間要求,監(jiān)測(cè)節(jié)點(diǎn)可以實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中動(dòng)態(tài)產(chǎn)生任務(wù)的位置,但無(wú)法獲得任務(wù)的具體信息,任務(wù)是否需要多機(jī)器人協(xié)作,需要在任務(wù)執(zhí)行過(guò)程中動(dòng)態(tài)判別,通過(guò)多機(jī)器人協(xié)作完成區(qū)域內(nèi)的清理搜集任務(wù),可根據(jù)機(jī)器人和任務(wù)屬性定義模型[5]。
表 1 機(jī)器人系統(tǒng)與生物免疫網(wǎng)絡(luò)的映射關(guān)系Table 1 Mapping relationship between robot system and biological immune network
1) 抗體與抗原激勵(lì)
在初始時(shí)刻,機(jī)器人間的任務(wù)分配,主要是根據(jù)任務(wù)對(duì)機(jī)器人的激勵(lì)進(jìn)行選擇,某個(gè)任務(wù)對(duì)某個(gè)機(jī)器人的激勵(lì)較高,則其獲得該任務(wù)的概率就較大。設(shè)第i個(gè)機(jī)器人Ri和第j個(gè)任務(wù)Tj之間的激勵(lì)為gij,將其定義為
式中:λ1、λ2、λ3相應(yīng)部分調(diào)整系數(shù),fi和 vi為相應(yīng)機(jī)器人Ri的能力值和速度大小,dij為機(jī)器人Ri和任務(wù)Tj之間的距離大小,pj為任務(wù)Tj的優(yōu)先等級(jí)。
2) 抗體與抗體激勵(lì)
根據(jù)獨(dú)特型免疫網(wǎng)絡(luò),抗體之間也存在激勵(lì)。在機(jī)器人到達(dá)相應(yīng)任務(wù)點(diǎn)后,若機(jī)器人Ri需要得到幫助,則其需要激勵(lì)另外機(jī)器人,以使其盡快得到協(xié)作。若機(jī)器人Ri可以單獨(dú)的執(zhí)行被分配的任務(wù),則其將會(huì)對(duì)其他機(jī)器人產(chǎn)生抑制作用,便不會(huì)產(chǎn)生激勵(lì)作用。設(shè)機(jī)器人Ri對(duì)機(jī)器人Rj產(chǎn)生的激勵(lì)為mij,將其定義為
式中:λ4、λ5、λ6為相應(yīng)部分的調(diào)整系數(shù),fi和 vi為相應(yīng)機(jī)器人Ri的能力值和速度值,dij為兩機(jī)器人間的歐氏距離,當(dāng)?shù)却谀硞€(gè)任務(wù)處的機(jī)器人對(duì)空閑機(jī)器人激勵(lì)越大,其前往協(xié)作的概率越大。
3) 綜合激勵(lì)
當(dāng)機(jī)器要再次進(jìn)行任務(wù)選擇的時(shí)候,其需要根據(jù)受到的抗原和抗體的綜合激勵(lì)值來(lái)選擇。綜合激勵(lì)由某個(gè)任務(wù)對(duì)該機(jī)器人的激勵(lì)以及在該任務(wù)上處于等待的機(jī)器人對(duì)該機(jī)器人的激勵(lì)共同構(gòu)成,以此來(lái)完成機(jī)器人的任務(wù)分配與協(xié)作,設(shè)Aij為任務(wù)Tj對(duì)機(jī)器人Ri的綜合激勵(lì),將其定義為
式中:α、β為相應(yīng)部分調(diào)整參數(shù),N為在任務(wù)Tj上等待的機(jī)器人數(shù)目,mik為機(jī)器人間產(chǎn)生的激勵(lì),gij為任務(wù)Tj和機(jī)器人Ri之間的激勵(lì)值。機(jī)器人根據(jù)模型選擇任務(wù),如有任務(wù)處于待協(xié)作狀態(tài),等待在某個(gè)任務(wù)上的機(jī)器人越多,此任務(wù)被選擇的概率越大,從而能盡快地得到協(xié)作。
利用文中提出的分配和協(xié)作模型,能實(shí)現(xiàn)任務(wù)的一次分配,在此基礎(chǔ)上引入事件驅(qū)動(dòng)的機(jī)制[13],使多機(jī)器人系統(tǒng)可以自適應(yīng)地處理動(dòng)態(tài)任務(wù),并引入焦躁模型來(lái)解決任務(wù)死鎖。
系統(tǒng)中設(shè)定機(jī)器人和任務(wù)的狀態(tài)轉(zhuǎn)移如圖1所示,任務(wù)狀態(tài)和機(jī)器人的狀態(tài)相互對(duì)應(yīng),待分配任務(wù)激勵(lì)空閑機(jī)器人轉(zhuǎn)變?yōu)橐逊峙錉顟B(tài),如果此機(jī)器人可以自行完成任務(wù),則任務(wù)轉(zhuǎn)變?yōu)閳?zhí)行態(tài);否則任務(wù)轉(zhuǎn)變?yōu)榇齾f(xié)作,處于待協(xié)作狀態(tài)的任務(wù)獲得協(xié)作轉(zhuǎn)變?yōu)橐逊峙錉顟B(tài),若等待協(xié)作的機(jī)器人由于長(zhǎng)時(shí)間沒(méi)有得到協(xié)作而放棄任務(wù),則任務(wù)由待協(xié)作狀態(tài)重新回到待分配狀態(tài)。
圖1 機(jī)器人和任務(wù)狀態(tài)狀態(tài)轉(zhuǎn)移圖Fig. 1 Robot and task state transition diagram
初始時(shí)刻,所有任務(wù)處于未分配狀態(tài),機(jī)器人都處于空閑狀態(tài),每個(gè)機(jī)器人按照激勵(lì)值選擇最適合自己的任務(wù),如果每個(gè)機(jī)器人選擇的任務(wù)都不重復(fù),則直接獲得相應(yīng)任務(wù),轉(zhuǎn)變?yōu)楸患?lì)態(tài);如果出現(xiàn)沖突,則沖突的機(jī)器人中次優(yōu)任務(wù)激勵(lì)低者獲得最優(yōu)任務(wù),次優(yōu)任務(wù)激勵(lì)相同時(shí),隨機(jī)分配最優(yōu)任務(wù),其余機(jī)器人重新選擇任務(wù)。在任務(wù)分配時(shí),每個(gè)機(jī)器人同一時(shí)刻只能得到一個(gè)任務(wù),且當(dāng)機(jī)器人處于閑暇狀態(tài)時(shí)才能被任務(wù)所激勵(lì),任務(wù)處于等待和空閑狀態(tài)時(shí)才可以對(duì)機(jī)器人產(chǎn)生激勵(lì)作用。
靜態(tài)任務(wù)分配方法只可以解決多機(jī)器人任務(wù)的一次分配,在此基礎(chǔ)上引入事件驅(qū)動(dòng)的機(jī)制,當(dāng)系統(tǒng)需要再次進(jìn)行任務(wù)分配或是有新的任務(wù)產(chǎn)生時(shí),通過(guò)事件觸發(fā)重新進(jìn)行分配,以滿足環(huán)境動(dòng)態(tài)性的要求。
系統(tǒng)中,定義如下事件:
① 系統(tǒng)中有新的任務(wù)產(chǎn)生;
② 系統(tǒng)中有機(jī)器人狀態(tài)由工作轉(zhuǎn)變?yōu)榭臻e;
③ 系統(tǒng)中有機(jī)器人狀態(tài)由等待轉(zhuǎn)變?yōu)榭臻e;
④ 系統(tǒng)中有機(jī)器人狀態(tài)由被激勵(lì)轉(zhuǎn)變?yōu)榈却?/p>
⑤ 系統(tǒng)中有機(jī)器人發(fā)生故障。
根據(jù)事件驅(qū)動(dòng)的機(jī)制,當(dāng)系統(tǒng)中有如上事件發(fā)生時(shí),觸發(fā)系統(tǒng),處于空閑狀態(tài)的機(jī)器人進(jìn)行再次任務(wù)選擇。
對(duì)于一個(gè)多機(jī)器人系統(tǒng)而言,常常會(huì)發(fā)生任務(wù)死鎖,即區(qū)域中所有機(jī)器人都因無(wú)法完成任務(wù)而處于等待狀態(tài)[14]。對(duì)于智能系統(tǒng)而言,需要機(jī)器人能夠自主地解除死鎖,盡快恢復(fù)到工作狀態(tài)。
為了使機(jī)器人能夠自主解除死鎖狀態(tài),引入一種焦躁模型。當(dāng)機(jī)器人長(zhǎng)時(shí)間由于無(wú)法完成任務(wù)而處于等待,激素分泌使其產(chǎn)生焦躁情緒,當(dāng)達(dá)到一定的上限時(shí),其將會(huì)放棄對(duì)該任務(wù)的等待,從而重新回到空閑狀態(tài),使其能夠協(xié)助其余處于等待狀態(tài)的機(jī)器人完成任務(wù)。
借鑒L.S.Farhy提出的激素分泌的規(guī)律[15],定義系統(tǒng)中引起焦躁情緒的激素分泌模型為
式中:T為閾值,t為時(shí)間變量,n為Hill系數(shù),且n≥1。
機(jī)器人處于等待狀態(tài)而分泌激素,當(dāng)其超過(guò)設(shè)定閾值C時(shí),機(jī)器人會(huì)放棄等待的任務(wù),回到空閑狀態(tài),且機(jī)器人會(huì)對(duì)該任務(wù)產(chǎn)生記憶,避免在該任務(wù)處于未分配狀態(tài)時(shí)再次選擇,陷入循環(huán)死鎖狀態(tài)。若該任務(wù)處于協(xié)作狀態(tài)時(shí),其對(duì)該機(jī)器人的激勵(lì)將會(huì)被弱化,表達(dá)式如式(7)所示:
式中:gij為抗原對(duì)抗體的激勵(lì)表達(dá)式;η為調(diào)整參數(shù),0<η<1。
在多機(jī)器人系統(tǒng)中,采用混合式的結(jié)構(gòu)實(shí)現(xiàn)文中算法,服務(wù)端通過(guò)多進(jìn)程模擬機(jī)器人,實(shí)現(xiàn)任務(wù)的分配,可以降低網(wǎng)絡(luò)通信消耗,每個(gè)進(jìn)程與一個(gè)實(shí)際的機(jī)器人通過(guò)網(wǎng)絡(luò)通信,保持狀態(tài)同步,多個(gè)機(jī)器并行運(yùn)行。算法步驟如下:
① 初始化系統(tǒng)抗原抗體信息;
② 計(jì)算空閑機(jī)器人與待分配任務(wù)和待協(xié)作任務(wù)的綜合激勵(lì)值;
③ 各機(jī)器人自主解除沖突,選擇合適的任務(wù),并向任務(wù)處移動(dòng);
④ 機(jī)器人判斷能否完成任務(wù),若能跳到⑥,否則轉(zhuǎn)到⑤;
⑤ 機(jī)器人狀態(tài)更改,事件觸發(fā),轉(zhuǎn)到②,等待合適的空閑機(jī)器協(xié)作;
⑥ 機(jī)器人獨(dú)自或協(xié)作完成相應(yīng)任務(wù);
⑦ 系統(tǒng)終止,否則轉(zhuǎn)到⑧;
⑧ 狀態(tài)更新,事件觸發(fā),轉(zhuǎn)到②。
算法的程序流程圖如圖2所示:
圖2 多機(jī)器人動(dòng)態(tài)任務(wù)分配流程Fig. 2 Multi-robot dynamic task allocation
多機(jī)器人系統(tǒng)的通信和計(jì)算消耗是任務(wù)分配算法中重要的衡量指標(biāo)[14],對(duì)于維持整個(gè)系統(tǒng)的穩(wěn)定起著重要的作用。為了和其他算法進(jìn)行比較,以機(jī)器人數(shù)量n和任務(wù)量m的函數(shù)形式O(·)來(lái)描述通訊量和計(jì)算量。
通訊量表示機(jī)器人在一次任務(wù)選擇時(shí)的信息交互量。從通信量來(lái)看,由于本系統(tǒng)采用混合式結(jié)構(gòu)實(shí)現(xiàn),每一個(gè)機(jī)器人都擁有服務(wù)子進(jìn)程專門服務(wù),每個(gè)服務(wù)子進(jìn)程為相應(yīng)機(jī)器人選擇當(dāng)前最合適的任務(wù),在服務(wù)端進(jìn)行任務(wù)沖突解決,并不需要機(jī)器人實(shí)際通信解除沖突。只在任務(wù)的下達(dá)和任務(wù)反饋時(shí)需要進(jìn)行通信,所以一次任務(wù)分配中每個(gè)機(jī)器人的通信量是O(1)。
計(jì)算量表示機(jī)器人選擇一次任務(wù)所需要計(jì)算的時(shí)間復(fù)雜度。機(jī)器人每次選擇任務(wù),都需要進(jìn)行m次綜合激勵(lì)計(jì)算,選擇合適的任務(wù),然后需要進(jìn)行n次比較解決任務(wù)沖突問(wèn)題,當(dāng)有k個(gè)機(jī)器人任務(wù)沖突,需要2k次計(jì)算解決任務(wù)沖突,故計(jì)算量是O(m+n+2k)。
按照任務(wù)分配類型,文中算法滿足“同時(shí)”、“再分配”,“同時(shí)”指可以考慮多個(gè)待分配任務(wù),“再分配”指任務(wù)能夠進(jìn)行重分配[16]。這種任務(wù)分配方法明顯優(yōu)于“順序”、“無(wú)再分配”、無(wú)法適應(yīng)動(dòng)態(tài)環(huán)境的算法,故不做對(duì)比。本文算法ALLIANCE[4]、BLE[17]性能比較如表 2所示。
表 2 任務(wù)分配算法性能Table 2 Task allocation algorithm performance
為了驗(yàn)證基于事件驅(qū)動(dòng)免疫網(wǎng)絡(luò)算法的有效性,在MATLAB 2012b平臺(tái)上,設(shè)置動(dòng)態(tài)的清理搜集,進(jìn)行多機(jī)器人實(shí)驗(yàn)。設(shè)計(jì)不同場(chǎng)景,分別驗(yàn)證文中算法的動(dòng)態(tài)任務(wù)分配和協(xié)作性能,以及系統(tǒng)自主處理任務(wù)死鎖能力。系統(tǒng)監(jiān)測(cè)節(jié)點(diǎn)可以實(shí)時(shí)感知任務(wù)是否產(chǎn)生及產(chǎn)生的位置,而任務(wù)能否獨(dú)自完成需要機(jī)器人任務(wù)執(zhí)行過(guò)程中進(jìn)行判斷,事先無(wú)法獲知。
3.1.1 實(shí)驗(yàn)環(huán)境參數(shù)
仿真環(huán)境設(shè)定為10 m×10 m的區(qū)域,實(shí)驗(yàn)中以圓形“○”代表機(jī)器人,以正方形“□”表示任務(wù),R1/1代表1號(hào)機(jī)器人,且其能力值為1,T1/1代表任務(wù)1,且其完成需要的能力值為1,機(jī)器人的移動(dòng)速率設(shè)為v=0.1 m/s(可自行設(shè)定),任務(wù)優(yōu)先級(jí)設(shè)為p=1(可自行設(shè)定,不失一般性)。算法中參數(shù)設(shè)置為:λ1=0.6,λ2=0.4,λ3=0.2,λ4=0.5,λ5=0.5,λ6=0.2,α=0.6,β=0.4,η=0.6,C=0.6,T=5,n=5。
設(shè)定兩種仿真實(shí)驗(yàn)環(huán)境,環(huán)境1中,初始設(shè)定6個(gè)靜態(tài)任務(wù):T1/1,坐標(biāo)(3, 2.5);T2/2,坐標(biāo)(2,7);T3/1,坐標(biāo) (5.5, 4);T4/1,坐標(biāo) (7, 2);T5/1,坐標(biāo)(6, 6);T6/1,坐標(biāo) (8, 8.5),在機(jī)器人運(yùn)行過(guò)程中,設(shè)定兩個(gè)動(dòng)態(tài)任務(wù):T7/1,坐標(biāo)(5, 2);T8/1,坐標(biāo)(8,6)。在環(huán)境中設(shè)有4個(gè)同構(gòu)機(jī)器人,分別放置在不同的位置:R1/1,坐標(biāo) (0.1, 0.1);R2/1,坐標(biāo) (9.9,0.1);R3/1,坐標(biāo) (9.9, 9.9);R4/1,坐標(biāo) (0.1, 9.9)。
在環(huán)境2中,主要是為了驗(yàn)證算法的自主解死鎖能力,不失一般性,在環(huán)境中設(shè)置兩個(gè)靜態(tài)任務(wù):T1/2,坐標(biāo) (2, 2);T2/3,坐標(biāo) (6, 4)。設(shè)置兩個(gè)機(jī)器人:R1/1,坐標(biāo) (0.1, 0.1);R2/2,坐標(biāo) (9.9, 0.1)。
3.1.2 仿真實(shí)驗(yàn)結(jié)果分析
如圖3(a)所示為環(huán)境1的仿真結(jié)果。圖中虛線代表前去協(xié)作過(guò)程,實(shí)線代表首次被某任務(wù)激勵(lì)而前往過(guò)程。根據(jù)本文算法,在初始時(shí)刻,每個(gè)機(jī)器人被相應(yīng)的任務(wù)所激勵(lì),機(jī)器人R1/1前往T1/1,R2/1前往 T4/1,R3/1前往 T6/1,R4/1前往 T2/2,當(dāng)機(jī)器人執(zhí)行任務(wù)時(shí),會(huì)判斷是否可以獨(dú)立完成,如果可以獨(dú)自完成則開(kāi)始執(zhí)行任務(wù),否則更改狀態(tài),觸發(fā)請(qǐng)求協(xié)作。在第1次任務(wù)分配中,由于機(jī)器人速度相同,機(jī)器人R2/1和R3/1先于R1/1完成任務(wù),進(jìn)行第2次任務(wù)選擇,而此時(shí)R4/1機(jī)器人在T2/2處等待協(xié)作,由于距離較遠(yuǎn),機(jī)器人R2/1和R3/1被任務(wù)T3/1和T5/1所激勵(lì),R1/1完成T1/1后,初始的靜態(tài)任務(wù)只剩下處于等待協(xié)作的T2/2,其被激勵(lì)前往協(xié)作。在所有機(jī)器人都處于二次激勵(lì)時(shí),系統(tǒng)產(chǎn)生動(dòng)態(tài)任務(wù)T7/1和T8/1,觸發(fā)請(qǐng)求任務(wù)分配,然而此時(shí)沒(méi)有處于閑暇狀態(tài)的機(jī)器人,任務(wù)暫時(shí)不會(huì)被分配,在R2/1和R3/1完成T3/1和T5/1后被T7/1和T8/1再次激勵(lì),前往任務(wù)處進(jìn)行處理。
如圖3(b)所示為環(huán)境2的仿真結(jié)果。初始時(shí)刻,機(jī)器人R1/1和R2/2分別被T1/2和T2/3所激勵(lì),機(jī)器人R1/1先到達(dá)任務(wù)處進(jìn)行協(xié)作等待,同時(shí)開(kāi)始分泌激素,R2/2隨后到達(dá)T2/3,亦處于協(xié)作等待,同時(shí)開(kāi)始分泌激素,隨著時(shí)間的增加,機(jī)器人R1/1產(chǎn)生焦躁情緒而放棄等待,同時(shí)標(biāo)記任務(wù)T1/2,隨后R1/1前往協(xié)作處理T2/3,機(jī)器人R2/2得到協(xié)作,在任務(wù)T2/3完成后,機(jī)器人R2/2受到T1/2任務(wù)激勵(lì),前往完成,結(jié)果表明,系統(tǒng)能夠可以成功解除死鎖。
多次實(shí)驗(yàn)驗(yàn)證表明,基于事件驅(qū)動(dòng)的免疫網(wǎng)絡(luò)算法能夠?qū)崿F(xiàn)動(dòng)態(tài)任務(wù)場(chǎng)景中多機(jī)器人的任務(wù)自主分配與協(xié)作,具有較強(qiáng)的適應(yīng)性和魯棒性。
圖3 仿真結(jié)果Fig. 3 Simulation result
為了驗(yàn)證文中算法在實(shí)際多機(jī)器人動(dòng)態(tài)任務(wù)分配系統(tǒng)中的有效性,利用多個(gè)khepera機(jī)器人,搭建多機(jī)器人障礙物環(huán)境,利用攝像頭進(jìn)行環(huán)境監(jiān)測(cè),當(dāng)監(jiān)測(cè)到系統(tǒng)中有任務(wù)(以紅色物品代替)產(chǎn)生時(shí),利用文中算法,激勵(lì)相應(yīng)的機(jī)器人前往完成任務(wù),并采用人工勢(shì)場(chǎng)法使機(jī)器人可以避開(kāi)障礙,安全到達(dá)任務(wù)點(diǎn)。系統(tǒng)中機(jī)器人間利用網(wǎng)絡(luò)與服務(wù)器通信。
圖4(a)為系統(tǒng)中機(jī)器人系統(tǒng)初始圖,當(dāng)在系統(tǒng)中放置相應(yīng)物品,將會(huì)觸發(fā)系統(tǒng)進(jìn)行任務(wù)分配,圖4(b)為機(jī)器人被相應(yīng)任務(wù)激勵(lì)前往目標(biāo)示意圖。
圖4 實(shí)際機(jī)器人系統(tǒng)仿真圖Fig. 4 Actual robot system simulation
經(jīng)過(guò)多次實(shí)驗(yàn),設(shè)置不同任務(wù),系統(tǒng)都能快速反應(yīng),激勵(lì)相應(yīng)的機(jī)器人進(jìn)行任務(wù)的執(zhí)行與協(xié)作,驗(yàn)證了文中算法在實(shí)際多機(jī)器人動(dòng)態(tài)任務(wù)分配系統(tǒng)中具有較高的可行性。
針對(duì)一類復(fù)雜的松散型動(dòng)態(tài)任務(wù),文中基于免疫網(wǎng)絡(luò)和事件驅(qū)動(dòng)機(jī)制,提出一種動(dòng)態(tài)任務(wù)分配算法,解決了多機(jī)器人的動(dòng)態(tài)任務(wù)分配與自主協(xié)作問(wèn)題,并利用焦躁模型解決了任務(wù)分配過(guò)程中的死鎖問(wèn)題,仿真和實(shí)驗(yàn)表明本文算法在一類需要協(xié)作的動(dòng)態(tài)任務(wù)分配問(wèn)題中的有效性,具有較強(qiáng)的自適應(yīng)性。將文中算法應(yīng)用于實(shí)際場(chǎng)景的多機(jī)器人系統(tǒng)中,取得了較好的效果,表明將本文算法應(yīng)用到實(shí)際的多機(jī)器人系統(tǒng)中有較高的可行性。課題后續(xù)將把重點(diǎn)放在分配模型的優(yōu)化和實(shí)際應(yīng)用的拓展上,在提高算法性能的同時(shí),能夠?qū)崿F(xiàn)更大的實(shí)際價(jià)值。