顧大強,鄭文鋼
(浙江大學(xué) 機械工程學(xué)院,浙江 杭州 310027)
多移動機器人的研究始于20世紀(jì)80年代后期,當(dāng)時的研究領(lǐng)域主要集中在多移動機器人重構(gòu)、軌跡規(guī)劃以及多移動機器人協(xié)同合作幾個方面。但隨著多移動機器人技術(shù)的發(fā)展,多移動機器人的應(yīng)用領(lǐng)域逐漸擴展到水下機器人、太空空間、高危場所以及服務(wù)領(lǐng)域[1]。與單移動機器人系統(tǒng)相比,多移動機器人系統(tǒng)具有一系列的優(yōu)勢,尤其是在一些特定場景[2]:多移動機器人系統(tǒng)完成的任務(wù)復(fù)雜性更高;多移動機器人系統(tǒng)能夠勝任分布式任務(wù);多個簡單的移動機器人系統(tǒng)比復(fù)雜的單機器人系統(tǒng)架構(gòu)更簡單,成本更低;多移動機器人的并行操作能夠更快地執(zhí)行任務(wù);多移動機器人系統(tǒng)能增強系統(tǒng)的魯棒性。
在多移動機器人系統(tǒng)中,多移動機器人的搬運任務(wù)是其主要應(yīng)用領(lǐng)域之一,在很多場合,如人員的急救工作、高危工作的執(zhí)行、工業(yè)自動化過程、重物搬運等,都可以得到應(yīng)用。最為經(jīng)典的搬運問題被稱為“推箱問題(box-pushing problem)”,是由著名的“鋼琴搬運工問題(piano movers problem)[3]”引申而來的。如圖1所示,任意給定一個剛性的多面體,滿足將規(guī)定的對象從原配置位置移動到所需的目標(biāo)配置位置,很多相關(guān)研究都是圍繞這個問題展開的[4-9]。

圖 1 推箱問題示意圖Fig. 1 Schematic of the “box-pushing problem”
對于已知物體的搬運方案可以大致分為3種類型:抓取、推拉、鎖定。抓取操作是應(yīng)用較為普遍的一種方式,尤其是對于配有機械臂或多指機械手的系統(tǒng),該方案的難點在于保持機器人在抓取過程中抓取位置的準(zhǔn)確性以及搬運過程中物體的穩(wěn)定性,對多移動機器人系統(tǒng)的實時響應(yīng)性能和傳感器的精度要求較高[10]。第二種推拉方式較為典型,“推箱問題”采用的便是這種方式,推拉操作可以認(rèn)為是一種條件封閉操作(conditional closure manipulation),被廣泛應(yīng)用于群體智能(swarm intelligence)機器人的搬運任務(wù)中[11-12]。另外,通過大型物體的翻轉(zhuǎn)、抬運[13-14]操作進行物體的協(xié)同搬運,實際也屬于廣義動態(tài)的推拉操作。第三種鎖定方案,源于機械手抓取過程中的力封閉(force closure)和形封閉(form closure)算法[15],通過若干個移動機器人鎖定物體,使搬運的物體能夠與機器人群作為整個剛體進行運動,實現(xiàn)最終的搬運操作,常見于規(guī)則多面體的物體搬運[16],應(yīng)用不同的搬運方案主要有以下3種常見的多移動機器人協(xié)同搬運策略。
多智能機器人系統(tǒng)(multi-agent robot systems,MAS)作為一個分布式自治系統(tǒng),其核心在于將整個系統(tǒng)分成若干個智能的、自治的子系統(tǒng),它們可以是同質(zhì)的,也可以是異質(zhì)的,任務(wù)的完成可以由若干物理和地理上分散的子任務(wù)組成,子任務(wù)之間可以相互通信、相互協(xié)調(diào),能夠滿足多移動機器人系統(tǒng)適應(yīng)復(fù)雜環(huán)境的需求,同時對任務(wù)(多移動機器人掃描監(jiān)測、搬運、構(gòu)圖等)具有高度的適應(yīng)性[17]。MAS在多移動機器人搬運中應(yīng)用很廣泛,它的優(yōu)勢在于系統(tǒng)對單個移動機器人的性能要求不高,且單個移動機器人的故障不會引起整個系統(tǒng)的崩潰。MAS應(yīng)用于多移動機器人搬運任務(wù),一方面可以實現(xiàn)對大型物體的集體搬運[18-20],另一方面也適用于實時的多目標(biāo)搬運[21-22],因此被廣泛應(yīng)用于工業(yè)搬運[23]、物流[24]等場所。
基于群體智能(swarm intelligence)的控制理論研究是基于生物學(xué)中的群體行為(如昆蟲覓食、搬運行為等)。在生物群體中,各個個體獨立分布,單個個體的故障不會影響整個系統(tǒng),同時個體之間通過非直接通信進行信息交互,使得系統(tǒng)具有很強的擴展性,適用于MAS系統(tǒng)的控制。群體智能算法中以蟻群優(yōu)化算法(ant colony optimization, ACO)和粒子群優(yōu)化算法(particle swarm optimization, PSO)最為典型。
蟻群算法是由Dorigo等[25]于1997年提出。該算法受螞蟻覓食行為的啟發(fā):螞蟻在行動過程中會留下“信息素”作為標(biāo)記,其他螞蟻可以通過感知“信息素”的濃度來選擇最佳的路徑,大量的螞蟻群體會形成一個正反饋,從而找到系統(tǒng)的最優(yōu)解(最短路徑)。
1) 經(jīng)典的蟻群算法
t 時刻,螞蟻k 從第 i 個 節(jié)點到下一個節(jié)點j 是根據(jù)初始信息素 τij(t) 和啟發(fā)信息 ηij(t) 的大小進行判定,判定原則為偽隨機比例原則:節(jié)點 i的螞蟻以一定概率q0轉(zhuǎn)移到下一個節(jié)點j ,若 q≤q0,則滿足[τij(t)]α[ηij(t)]β最大,螞蟻的狀態(tài)轉(zhuǎn)移公式為式(1),否則按照式(2)采用輪盤賭方式選擇下一個節(jié)點。

式中:q為[0, 1]區(qū)間均勻分布的隨機數(shù);α為信息素啟發(fā)因子,代表信息素的重要程度;β為期望啟發(fā)因子,表征啟發(fā)信息的重要程度; Ak表示螞蟻k 下一步允許選擇的路徑集合; djg表示待選節(jié)點j與目標(biāo)節(jié)點g 的歐氏距離。信息素需要隨著時間推移進行更新,傳統(tǒng)蟻群算法在完成一次迭代后通過式(4)、式(5)進行信息素的全局更新。

式中:ρ為全局信息素?fù)]發(fā)系數(shù); Δτij(t,t+1)表示(t,t+1)時 刻在路徑 (i,j)上 的信息素增量; Q為信息素強度系數(shù); Lk為 螞蟻 k建立的最短路徑。在傳統(tǒng)的蟻群算法基礎(chǔ)上也衍生出了很多優(yōu)化的蟻群算法[26-27]。
2) 粒子群算法
粒子群算法是一種模擬鳥群覓食過程中的遷徙和群聚行為的算法,最早由Kennedy和Eberhart[28]提出。它假設(shè)在 D維的搜索空間內(nèi),粒子群的 規(guī) 模 是 N ,第 i(i=1,2,···,N)個 粒 子 的 位 置 是xi=[xi1xi2···xiD], 飛行速度為 vi=[vi1vi2···viD],則第 t 次迭代的自身歷史最優(yōu)位置為 pbest,全局粒子最優(yōu)位置為 gbest,粒子通過兩個不斷更新的極值來更新自己的速度和位置[29]。經(jīng)典的迭代公式為

式中:t 為當(dāng)前進化迭代數(shù);學(xué)習(xí)因子 c1、 c2為非負(fù)常數(shù);r1、r2為[0, 1]區(qū)間服從均勻分布的兩個獨立隨機數(shù)。程序在達到最大迭代次數(shù)或者達到預(yù)設(shè)精度時終止。粒子群算法的缺陷在于:搜索精度低,對參數(shù)依賴程度高,改進的粒子群算法有二進制粒子群算法、協(xié)同粒子群算法、簡化粒子群算法等。
領(lǐng)導(dǎo)-跟隨(Leader-Follower)模式是多移動機器人系統(tǒng)最典型的集中式控制模式[30-31],它通常由一個功能相對強大的移動機器人作為群體移動機器人的“Leader”,其他移動機器人受到“Leader”的集中控制。所有移動機器人接受到的傳感器信息都需要傳遞到“Leader”機器人,進行統(tǒng)一分析,對系統(tǒng)的任務(wù)分配、路徑規(guī)劃等進行統(tǒng)一處理,最后一一分配給其他從屬機器人。該體系下,其他從屬機器人不具備自主動作與相互協(xié)調(diào)的功能,只是作為收集信息的執(zhí)行端。它的優(yōu)點是:各移動機器人之間的協(xié)調(diào)效率高,整個系統(tǒng)的邏輯架構(gòu)相對簡單,但是對“Leader”機器人的運算性能要求高,同時由于系統(tǒng)對其的高度依賴性,系統(tǒng)的容錯性只能被限定在小范圍的錯誤中,主控機器人的故障直接會導(dǎo)致系統(tǒng)的崩潰。系統(tǒng)的靈活性、自主性、可擴展性和魯棒性都比較差,無法應(yīng)用于非結(jié)構(gòu)化、動態(tài)環(huán)境。集中式控制模式下,各機器人之間可以有明確的分工協(xié)作。
在多移動機器人搬運系統(tǒng)中,經(jīng)常采用的移動機器人集中式控制模式被稱為“Pusher-Watcher”模式[32]。與“Leader-Follwer”模式類似,“Pusher-Watcher”模式中“Watcher”機器人占據(jù)系統(tǒng)控制的主要地位,負(fù)責(zé)對系統(tǒng)環(huán)境的掃描、定位、避障操作,有時還需要檢測搬運物體的實時狀態(tài)[33],“Pusher”機器人則只需根據(jù)“Watcher”機器人的指示協(xié)助機器人進行物體的搬運操作。與傳統(tǒng)的集中式控制相比,“Pusher-Watcher”模式能夠更好地響應(yīng)動態(tài)環(huán)境,“Watcher”機器人能夠根據(jù)具體環(huán)境的實時變化作出反應(yīng),同時對于同質(zhì)的“Pusher-Watcher”機器人系統(tǒng),各個機器人往往能夠在“Watcher”和“Pusher”兩者之間切換,甚至同時擔(dān)任兩者的功能,系統(tǒng)具有較強的容錯性[34]。除此之外,類似于“Pusher-Watcher”模式,東京大學(xué)工業(yè)產(chǎn)品造物工程研究中心(research into artifacts center for engineering,RACE)的Ota等[35]還提出了抓取者-搬運者、翻轉(zhuǎn)者-搬運者模式[36-37],以若干特制的移動機器人完成了對大型物體的協(xié)同搬運。
多移動機器人搬運的對象鎖定(object closure)策略,策略中的“鎖定”概念定義為:在各個移動機器人“到位”之后,物體的可移動區(qū)域有界,且當(dāng)移動機器人之間的相對位置發(fā)生改變或者個別移動機器人與物體的接觸力為零(處于脫離狀態(tài))時,物體仍在各個移動機器人的控制邊界內(nèi)[38-39]。圖2表示鎖定物體的移動機器人群Ri(i=1,2,3,4)與物體之間的相互關(guān)系[40],可見當(dāng)物體處于鎖定狀態(tài)時,物體的搬運控制可以通過各個移動機器人簡單的剛性變換來實現(xiàn)。與機械手的鎖定抓取不同,多移動機器人的協(xié)同控制會隨著機器人數(shù)目的增多,物體與機器人之間的拓?fù)潢P(guān)系變化而變得愈加復(fù)雜,需要借助于高效的分布 式算法來實現(xiàn)多移動機器人位置的規(guī)劃。

圖 2 鎖定狀態(tài)下的移動機器人與物體相對位置Fig. 2 Relative positions of mobile robots with the object under the object closure state
目前,常應(yīng)用人工勢場法進行搬運對象的搜索以及鎖定狀態(tài)的確定。勢場法最初應(yīng)用于虛擬力解決路徑規(guī)劃問題,它將移動機器人所處環(huán)境信息模擬成虛擬勢場,通過斥力勢場和引力勢場的相互作用,使移動機器人能夠避開障礙物,最終安全到達目標(biāo)點。在移動機器人進行對象搜索時,機器人所受到的引力來自搬運物體,斥力來自其他移動機器人。搬運物體鎖定狀態(tài)的實現(xiàn)主要分搜索與鎖定兩步。
1)假設(shè)單個機器人i 受到一個2維力向量βi的驅(qū)使進行運動, βi由2部分組成,即物體的吸引力向量 βobj_i和 其他機器人的斥力向量 βij:

在 βi的作用下,各個移動機器人會在搬運物體的周圍逐漸形成一個閉環(huán)鏈。
2)完成1)后各個移動機器人需要圍繞著物體的邊緣不斷移動直到物體被“鎖定”。物體的鎖定狀態(tài)由下式確定:

式中:

在這兩個過程中,基于人工勢場式(8)和式(9)得到吸引力向量 βobj_i和斥力向量 βij:

式中: k≥1; pi、pj表示任意一個機器人位置; pd為指向物體邊緣的最近的“鎖定平衡點”,對應(yīng)的角度為θi; Pd是為了保證各個機器人相隔距離相等,其 值 為 S(pd)/n , S(pd) 為 pd路 徑 長 度,n為 移 動 機 器人總數(shù);Lsen為機器人傳感器探測的范圍。最后,βspin_i可以通過式(10)確定, βspin_i的方向垂直于物體的吸引力 βobj_i方向:

在多移動機器人搬運的實際實現(xiàn)過程中,具體搬運流程可以概括為:工作環(huán)境信息的感知;多移動機器人的任務(wù)分配與軌跡規(guī)劃,機器人執(zhí)行過程,根據(jù)實時環(huán)境進行軌跡再規(guī)劃;完成搬運任務(wù)。其中涉及的相關(guān)技術(shù)主要包括多移動機器人任務(wù)分配、環(huán)境感知與定位及軌跡規(guī)劃3個方面。
多移動機器人的任務(wù)分配問題是一個最優(yōu)化問題,可描述為:對一個移動機器人集合、一個任務(wù)集合指定系統(tǒng)評價指標(biāo),將各個子任務(wù)分配到合適的子機器人,滿足整個移動機器人系統(tǒng)在執(zhí)行全部任務(wù)過程中獲得的收益最大。該問題屬于NP問題[41],通常采用啟發(fā)式算法求出其中一個可接受的解。若以多移動機器人完成全部偵查任務(wù)所需要移動的路徑總長度作為評價任務(wù)分配的最優(yōu)性能指標(biāo),靜態(tài)環(huán)境下多移動機器人協(xié)同偵查多個目標(biāo)點的任務(wù)分配問題可以歸結(jié)為求解一般形式(各移動體的起點、終點不一定相同)的多旅行商問題(MTSP)。常用的任務(wù)分配算法有基于拍賣的分配算法[42],當(dāng)系統(tǒng)需要完成任務(wù)并得到最短路徑時,通常采用的算法有異質(zhì)交互式文化混合算法(HICHA)、遺傳算法(GA)、改進粒子群算法(PSOBA)、蟻群優(yōu)化算法(ACO)、均衡負(fù)載規(guī)劃算法(BPA)等。
實際上,多移動機器人之間的任務(wù)分配以及協(xié)同控制還需要考慮多移動機器人系統(tǒng)在時間、空間、功能上的分布性特點,國內(nèi)外學(xué)者在分布式機器人系統(tǒng)的控制系統(tǒng)領(lǐng)域展開了很多的研究。ALLIANCE[43]作為基于行為的軟件架構(gòu),成功解決了多移動機器人的容錯協(xié)同控制。Klavins等[44]提出了分布式機器人系統(tǒng)的混合控制方法。在該系統(tǒng)中,每個單體任務(wù)都由一個控制器進行控制,常被應(yīng)用于自動化生產(chǎn)的機器人裝配任務(wù)中。“三層”(three-tier, 3T)架構(gòu)由Schreckenghost等[45]于1998年提出,該架構(gòu)考慮了遠(yuǎn)程設(shè)備維護管理的人機交互問題,可以在執(zhí)行過程中對操作進行合理地人為干預(yù)。CLARAty架構(gòu)由Volpe等[46]提出,屬于兩層架構(gòu),該架構(gòu)考慮了系統(tǒng)的規(guī)劃層和執(zhí)行層之間的強耦合問題,其功能層實現(xiàn)了仿真、狀態(tài)監(jiān)測和面向?qū)ο蟮南到y(tǒng)操作。3T和ClARAty架構(gòu)都已被應(yīng)用于美國國家航空航天局(NASA)的部分移動機器人項目中。
移動機器人一般通過各類傳感器來獲取外界信息,常見的傳感器包括聲吶系統(tǒng)、激光測距儀、攝像頭等。移動機器人需要依靠傳感器來感知周邊環(huán)境,并提取環(huán)境中的有效信息加以處理和理解,最終通過所在環(huán)境的模型來表達所在環(huán)境的信息,這是實現(xiàn)自主移動機器人定位、導(dǎo)航的前提[47]。
對距離和障礙的探測,目前主要采用聲吶和激光測距儀。相對來說,激光測距儀測距的精度更高,而且不受環(huán)境因素的影響,但價格更高,功耗更大。機器人的視覺系統(tǒng)分為主動視覺和被動視覺兩種。主動視覺通常自身配備光源,被動視覺依靠外部光源。從視覺傳感器數(shù)目上看,機器人視覺系統(tǒng)可以分為單目視覺、雙目視覺以及多目視覺。單目視覺處理簡單,只能獲取環(huán)境的二維信息,而雙目或者多目視覺處理信息更加復(fù)雜,能夠獲取環(huán)境中的三維信息。多機器人系統(tǒng)的一個難點在于如何將不同類型的信息進行整合,即多傳感器信息融合問題[48]。目前常用的多傳感器信息融合算法有卡爾曼濾波、加權(quán)平均法、統(tǒng)計決策理論和神經(jīng)網(wǎng)絡(luò)等。
在獲得外界信息的基礎(chǔ)上,多移動機器人需要對這些信息進行實時處理。信息處理的一個很重要目標(biāo)是機器人自身的定位問題。具體來說,機器人需要根據(jù)當(dāng)前位置估計周圍環(huán)境地圖數(shù)據(jù)以及外部傳感器數(shù)據(jù)等,經(jīng)過特定算法處理,得到更加精確的當(dāng)前位置估計。機器人定位可以分為2種:相對定位和絕對定位。前者是在給定初始位置的情況下,確定自己的位置;后者則不需要給定初始位置。相對定位的實現(xiàn)包括2種定位方法:慣性導(dǎo)航和測程法。慣性導(dǎo)航依賴于加速度計、陀螺儀、電磁羅盤等傳感器,測程法則基于編碼器測量信息。絕對定位通常依賴的方法包括:導(dǎo)航信標(biāo);主動或被動標(biāo)識;圖形匹配;基于衛(wèi)星的導(dǎo)航信號,即GPS定位;概率定位。
多移動機器人路徑規(guī)劃目的在于:根據(jù)已知的、部分已知的環(huán)境信息,由移動機器人群自主規(guī)劃路徑,滿足各個移動機器人從各自已知的起始位置出發(fā),繞過障礙物,到達各自的終止位置,在整個過程中,各個機器人之間不發(fā)生干涉。已有的路徑規(guī)劃算法主要有柵格法、構(gòu)型空間法(C-Space)、邊界距離模型法等。多移動機器人的全局路徑規(guī)劃不僅需要保證機器人與障礙物之間無碰撞,同時還要避免機器人與機器人之間無碰撞,并且滿足優(yōu)化條件,可以采用多移動機器人免疫協(xié)同路徑規(guī)劃算法。
多移動機器人的實時避障、路徑規(guī)劃以及編隊等[49-50]傳統(tǒng)問題一直是國內(nèi)外的研究熱點。但是近年來,多移動機器人的停駐、目標(biāo)搜索問題[51-52]得到了越來越多的關(guān)注。該問題的核心在于:找到目標(biāo)物外圍的包圍圈,并且合理分配包圍圈上的機器人停駐點,從而獲取目標(biāo)物體各個方面的信息。在停駐點分配的過程中,需要機器人有一定的自主避障能力,要求機器人能夠?qū)Νh(huán)境有一定快速感知并處理的能力。目前較為有效的避障策略有人工勢場法(APF)、柵格法和神經(jīng)網(wǎng)絡(luò)法等[53]。
隨著傳感器技術(shù)、計算機視覺、人工智能算法以及計算機軟硬件等相關(guān)技術(shù)的發(fā)展,多移動機器人協(xié)同搬運技術(shù)的發(fā)展必然會越來越成熟。目前,對多移動機器人協(xié)同搬運技術(shù)的研究還存在很多不足,在未來工作中需要對以下幾個方面作進一步地研究。
1)提高多移動機器人對工作環(huán)境的適應(yīng)性。目前對多移動機器人搬運技術(shù)的研究多集中于協(xié)同算法、導(dǎo)航技術(shù),較少考慮機器人結(jié)構(gòu)方面的問題。所采用的機器人多為輪式或鏈條式機器人,對工作環(huán)境尤其是移動面的要求較高。實際上多移動機器人的應(yīng)用場所往往是一些高危或者常人難以進入的場所,因此對環(huán)境具有高適應(yīng)性的機器人的開發(fā)是極其重要的。
2)搬運中缺少反饋系統(tǒng),目前大部分多移動機器人搬運系統(tǒng)都是一個開環(huán)的系統(tǒng)。一旦滿足了系統(tǒng)給定的搬運起始狀態(tài)(夾緊、鎖定等)之后,搬運物體在整個過程中便處于自由狀態(tài),一些重心較高的物體很容易在搬運過程中發(fā)生傾倒等情況。目前,已有的一些基于視覺反饋系統(tǒng)的研究仍然不成熟,在時間響應(yīng)以及反饋信息處理上需要得到進一步的提高。
3)多移動機器人控制算法應(yīng)與人工智能結(jié)合。雖然機器學(xué)習(xí)很早就應(yīng)用于多機器人協(xié)同控制,但是目前機器學(xué)習(xí)算法在復(fù)雜環(huán)境中的響應(yīng)時間和正確率都不令人滿意。隨著人工智能的不斷發(fā)展,機器視覺的不斷突破,人工智能技術(shù)與機器人控制的結(jié)合應(yīng)該變得更加密切。