董 慧
(西安明德理工學院 通識教育學院,西安 710124)
機器人可以從許多不同的角度協(xié)助或取代人類,完成危險的工作。在人工智能理論以及控制理論不斷發(fā)展和成熟的大背景下,機器人的工作范圍和復雜性也越來越高,但人們對機器人提出了更多新的要求,而單個機器人能力難以滿足這些新的應用需求[1]。為此提出了多個獨立機器人相互協(xié)調(diào)合作的工作模式,即形成機器人群集,使其共同完成給定的任務(wù)。相對于單一機器人,機器人群集可以實現(xiàn)一些單一機器人無法完成的工作,因此在完成任務(wù)時可能具有更高的效率。
鑒于機器人群集在工作性能方面的優(yōu)勢,目前機器人群集已經(jīng)應用到軍事、工業(yè)生產(chǎn)、交通控制等領(lǐng)域,且具有良好的應用前景。然而機器人群集在實際的應用與運行過程中,群集中的機器人會相互碰撞,影響機器人集群的運動效果以及工作效率。為了保證機器人集群的高效運動,設(shè)計并開發(fā)了機器人群集運動控制系統(tǒng)。機器人群集運動控制是指在控制指令的驅(qū)動下,通過執(zhí)行元件或電機的運行調(diào)整單一機器人的運動參數(shù),使機器人群集能夠按照既定方案執(zhí)行運動任務(wù)。
從現(xiàn)階段機器人群集運動控制系統(tǒng)的設(shè)計與應用情況來看,當前相關(guān)領(lǐng)域?qū)W者已經(jīng)研究出了較為成熟的控制系統(tǒng)。文獻[2]提出基于輸出反饋線性化的運動控制系統(tǒng)主要應用于單一機器人的運動控制工作中,將其應用到機器人群集的控制工作中,存在部分機器人無法控制的情況,最終影響系統(tǒng)的控制效果。文獻[3]提出基于領(lǐng)航跟隨的運動控制系統(tǒng)主要是控制機器人群集中的主機器人,在此基礎(chǔ)上采用跟隨模式控制從機器人,保證從機器人與主機器人的運動參數(shù)與路徑一致,因此該系統(tǒng)只能應用于重復操作的運動任務(wù)中,在應用范圍上存在一定的局限性。為了解決上述運動控制系統(tǒng)存在的問題,引入偏微分方程約束理論。
偏微分方程是指未知函數(shù)的偏導數(shù)或者偏微分的方程。在客觀環(huán)境下,偏微分方程可以表達為時間坐標和變化規(guī)律,往往表現(xiàn)為關(guān)于時標的各階變化率之間的關(guān)系式。偏微分方程約束理論的工作內(nèi)容就是根據(jù)時標的各階變化率之間的關(guān)系設(shè)置約束條件。本文首先通過改裝機器人傳感器、運動控制器和驅(qū)動電機設(shè)備,優(yōu)化了機器人群集運動控制系統(tǒng)硬件設(shè)備。在此基礎(chǔ)上將偏微分方程約束理論應用到機器人群集運動控制系統(tǒng)的優(yōu)化設(shè)計工作中,將規(guī)劃路徑作為機器人群集運動的約束條件,以位置和姿態(tài)角來計算運動控制量,根據(jù)計算結(jié)果生成控制指令,實現(xiàn)機器人群集運動控制系統(tǒng)設(shè)計。
機器人群集運動控制系統(tǒng)硬件主要包括通信網(wǎng)絡(luò)、傳感器、運動控制器、驅(qū)動電機,硬件整體的組成如圖1所示。
圖1 硬件整體組成框圖
如圖1所示,機器人群集運動控制系統(tǒng)的硬件由通信網(wǎng)絡(luò)相連,通過GP2Y0A710K型號紅外傳感器獲取機器人的位置信息和運行參數(shù)信息,通過通信網(wǎng)絡(luò)將信息傳輸至運動控制器,由運動控制器實現(xiàn)計算機器人的位置信息的任務(wù),再將控制信息傳輸至運動驅(qū)動電機,生成不同方向的驅(qū)動信號。
通信在多機器人系統(tǒng)的研究中有著重要的作用,借助通信可以獲取任務(wù)需求、環(huán)境信息和鄰居狀態(tài)等,為了提高機器人群集的運動控制效果,通過局部通信來擴大感知范圍。在傳統(tǒng)通信網(wǎng)絡(luò)的基礎(chǔ)上,將射頻芯片替換成A7108,以該芯片為核心部件的通信網(wǎng)絡(luò)的數(shù)據(jù)傳輸速度支持2~250 kbps,支持FSK和GFSK兩種通信方式,在10 kbps的工作條件下,其通訊距離能夠達到1 600 m。A7108芯片除具備遠程傳送功能外,還具有檢測通道及晶片內(nèi)部機制的功能,可有效克服半導體制程的變異特性,使其能夠在各種惡劣環(huán)境下工作,有效地解決因射頻頻偏而引起的靈敏度下降問題。
在各個機器人上安裝傳感器的目的是獲取機器人的位置信息和運行參數(shù)信息,從而確定當前機器人的初始狀態(tài)??刂葡到y(tǒng)中裝設(shè)的位置傳感器為紅外傳感器,型號為GP2Y0A710K,該設(shè)備不僅能夠確定機器人在環(huán)境空間中的實時位置,也能夠利用紅外信號來分辨方向。系統(tǒng)中的紅外傳感器由發(fā)射頭和接收頭構(gòu)成,其中接收頭內(nèi)包括內(nèi)置的增益控制電路、解碼電路和帶通濾波器。系統(tǒng)中紅外傳感器的工作電路如圖2所示。
圖2 系統(tǒng)紅外傳感器工作電路圖
在運行過程中,發(fā)射端可以發(fā)出紅外線的頻率,當紅外線碰到障礙時,會被反射回去,而紅外線會被紅外線接收,而處理器則會根據(jù)紅外線接收器的電壓變化,判斷出機器人和障礙物的距離。
機器人群集運動控制系統(tǒng)以控制器作為執(zhí)行元件,用來生成運動控制任務(wù),同時完成協(xié)同通信、實時解算控制數(shù)據(jù)等功能。另外要求安裝的運動控制器需要有精確、穩(wěn)定地控制時間頻率,以保證跟隨運動精度[4]。為滿足上述要求,在傳統(tǒng)運動控制器的基礎(chǔ)上進行改裝,改裝的運動控制器內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 機器人群集運動控制器內(nèi)部結(jié)構(gòu)圖
從圖3中可以看出,機器人集群運動采用位置、速度、電流驅(qū)動并行控制方式,位置控制采用PID控制,而速度和電流驅(qū)動采用PI控制[5]。此外,在運動控制器中嵌入復位器、低電壓檢測等的集成電路,用以支持實時解算控制數(shù)據(jù)等功能的運行。
在移動機器人的運動中,通過傳感器的反饋,可以隨時調(diào)節(jié)電機的轉(zhuǎn)速。在接收到傳感器的反饋信息之后,主控芯片會根據(jù)輸出電壓和輸出電壓的誤差,計算出輸出電壓[6]。機器人的運動驅(qū)動裝置是EC45150W型直流驅(qū)動電機,其輸入端可以與主控芯片相連,這樣就可以很方便地進行控制。圖4為機器人運動驅(qū)動電機的驅(qū)動電路。
圖4 機器人運動驅(qū)動電路圖
啟動驅(qū)動電機后,通過改變輸入端IO口的邏輯電平,即可實現(xiàn)電機正轉(zhuǎn)和反轉(zhuǎn)的切換,從而生成不同方向的驅(qū)動信號。最終利用通信網(wǎng)絡(luò)連接驅(qū)動電機、傳感器與控制器,并將其接入到供電電源中。
在硬件設(shè)備的支持下,通過確定機器人群集運動控制邏輯以及控制程序編寫等步驟,完成系統(tǒng)的軟件設(shè)計[7]。優(yōu)化設(shè)計系統(tǒng)采用集中式控制方式,即具有完整信息和絕對控制權(quán)的中央處理器。集中式控制方式是由上至下的分層體系,由規(guī)劃和決策組成。在具體的實施中,中心處理器對各個獨立的個體進行數(shù)據(jù)的分析,制定出一個整體的計劃方案,然后再向機器人群集中的各個機器人發(fā)出指令。
機器人群集由多個單一機器人組成,機器人群集可以量化表示為:
U={ui∣1≤i≤nrobot}
(1)
其中:nrobot為機器人群集中單一機器人的數(shù)量,組成群集的機器人可能是同構(gòu)的,也可能是異構(gòu)的。機器人之間保持通信交互,在任一時刻任意兩個機器人之間的位姿關(guān)系可以表示為:
(2)
式中,xi、yi和θi代表機器人i的當前位置和姿態(tài)角,dij為兩機器人之間的間隔距離,φ表示的是機器人j的偏轉(zhuǎn)角[8]。為了保證系統(tǒng)能夠?qū)C器人群集中的所有機器人設(shè)備進行精準控制,需要在執(zhí)行控制任務(wù)前對群集中的各個機器人進行匹配。依據(jù) Euler-Lagrangian 原理,將單一機器人的動力學模型建立為:
(3)
假設(shè)機器人群集待執(zhí)行的運動任務(wù)集合為W,其量化表達式如下:
W={wk∣1≤k≤ntask}
(4)
其中:ntask為運動任務(wù)數(shù)量。根據(jù)運動任務(wù)的優(yōu)先與重要程度,對每個運動任務(wù)進行加權(quán),任意運動任務(wù)的權(quán)值標記為?i。那么機器人群集的運動任務(wù)分配問題可以描述為:
(5)
式中,變量gik為需要求解的任務(wù)分配結(jié)果,ψik為機器人對于運動任務(wù)的效用值[9]。
機器人群集編隊運動路徑的規(guī)劃大體可以分為4個步驟,分別為機器人定位、障礙物檢測、機器人群集編隊以及運動路徑生成與平滑處理,在路徑軌跡生成階段利用偏微分方程來反映機器人的實際環(huán)境信息,從而得出更符合實際環(huán)境的路徑規(guī)劃結(jié)果[10]。假設(shè)函數(shù)h在區(qū)域Z內(nèi)具有方程中出現(xiàn)的各階連續(xù)偏導數(shù),把h代入到Z區(qū),若h能夠?qū)區(qū)轉(zhuǎn)換為恒等式,則h為Z區(qū)方程的解。在n+1維中,h為方程的積分曲面。將機器人群集的運動規(guī)律用偏微分方程來表示,其數(shù)學表達式如下:
(6)
式中,t為機器人群集的運動時間,β為偏微分系數(shù)。在實際的路徑規(guī)劃過程中可用從起點到終點波動的二維方程描述[11]。利用硬件系統(tǒng)中的傳感器設(shè)備,確定機器人的當前位置信息,機器人初始位置的定位結(jié)果可以表示為:
(7)
其中:(xKnown,yKnown)為運動環(huán)境中的已知節(jié)點位置坐標,υinfra-red為傳感器產(chǎn)生紅外信號在環(huán)境中的傳輸速度,Δt代表信號的傳送時間,?為機器人位置與已知節(jié)點位置之間的夾角[12]。在此基礎(chǔ)上,根據(jù)機器人群集運動任務(wù)的分配結(jié)果,確定機器人群集的編隊方案。根據(jù)機器人群集的編隊結(jié)果,確定編隊運動路徑的終點位置,機器人當前位置與編隊運動終點位置之間的連線即為機器人集群運動的初始路徑[13]。利用式(8)計算機器人群集初始編隊運動路徑與運動環(huán)境中障礙物的重合度。
(8)
式中,i表示的是初始運動路徑上的任意一點,(xobstacle,yobstacle)為機器人運動環(huán)境中障礙物的位置坐標。若運動環(huán)境中存在的障礙物數(shù)量不為1,則需要對重合度進行一一匹配[14]。若初始路徑中的節(jié)點與障礙物之間的重合度趨近于1,則認為障礙物處于規(guī)劃的初始路徑上,需要對路徑上重合節(jié)點的位置進行調(diào)整,調(diào)整結(jié)果如下:
(9)
式中,εx0和εy0為位置調(diào)整系數(shù)。按照上述方式對初始路徑上的所有節(jié)點進行檢測與調(diào)整,根據(jù)路徑節(jié)點與初始節(jié)點之間的距離,依次連接路徑節(jié)點,完成路徑的更新工作[15]。最終對更新的運動路徑進行插補處理,得出機器人的運動步長和步數(shù)為:
(10)
其中:υGive和Tinterpolation分別為機器人的給進速度和插補周期,Ps和Pe為更新路徑的起點和終點。NSteps取整后確定步長的具體取值。按照上述方式對機器人群集中的所有機器人的路徑規(guī)劃結(jié)果。
在偏微分方程約束理論支持下,將機器人群集的實時位置作為機器人群集運動約束條件,保證機器人位置始終處于區(qū)間[Pi-0.5,Pi+0.5]內(nèi)。通過積分、微分運算,把它轉(zhuǎn)化為有約束的對象在真實的空間中的位置[16]。根據(jù)全約束體系的特點,可以將其轉(zhuǎn)換成具有較高階的非約束體系,從而使整個約束體系的研究和應用更為精確和完善。另外設(shè)置機器人群集運動控制的完整性約束條件為:
φ(ζ,t)≥0
(11)
其中:ζ為機器人在空間運行時自身的姿態(tài),φ(ζ,t)為t時刻機器人運動狀態(tài)函數(shù)[17]。最終融合位置和姿態(tài)約束條件,并輸入到各個機器人設(shè)備上。
在機器人群集的運動過程中,利用傳感器設(shè)備實時檢測機器人的位置和姿態(tài)角數(shù)據(jù),并與規(guī)劃的運動路徑進行比對,得出任意機器人運動控制量的計算結(jié)果。運動控制量的計算過程可以表示為:
(12)
式中,(xi(t),yi(t))和(xi,P(t),yi,P(t))分別代表t時刻機器人i的實際位置和規(guī)劃位置,θi(t)和θi,set(t)表示機器人i姿態(tài)角的實際值和目標值。由此完成機器人群集運動控制量的計算工作。
在規(guī)劃運動路徑和設(shè)置條件的約束下,將計算得出的機器人群集運動控制量輸入到控制器中,控制器自動生成的控制指令可以表示為:
(13)
式中,κ1和κ2均表示控制參數(shù),其具體取值由控制器的工作方式?jīng)Q定,變量d為規(guī)劃運動路徑的長度,?control表示參考框架水平軸和連接機器人運動中心與目標位置向量之間的夾角,?f為機器人目標位置在全局環(huán)境中的方位角[18]。根據(jù)生成的機器人群集運動控制指令,利用公式(14)計算出機器人左右驅(qū)動輪的電機轉(zhuǎn)速。
(14)
式中,參數(shù)Lwheel為左右驅(qū)動輪的中心距離,將式(13)的計算結(jié)果代入到式(14)中,即可得出左右驅(qū)動輪電機轉(zhuǎn)速υleft和υright的計算結(jié)果,并將其直接作用在機器人的驅(qū)動電機上。按照上述方式,生成機器人群集中所有單一機器人的實時控制指令,從而完成對機器人群集的運動控制[19]。在實際控制過程中,需要實時更新機器人群集的運動數(shù)據(jù)以及環(huán)境數(shù)據(jù),若檢測發(fā)現(xiàn)當前機器人位置出現(xiàn)偏差需重新生成控制指令,若檢測發(fā)現(xiàn)環(huán)境中出現(xiàn)新的障礙物,且障礙物與規(guī)劃路徑重合,則需要利用偏微分方程生成新的運動路徑。
綜上可得出機器人群集運動控制系統(tǒng)軟件流程如圖5所示。
圖5 機器人群集運動控制系統(tǒng)軟件流程圖
以測試基于偏微分方程約束的機器人群集運動控制系統(tǒng)的控制效果為目的,選擇Webots作為系統(tǒng)的開發(fā)運行平臺,設(shè)計系統(tǒng)測試實驗。Webots平臺能夠快速還原環(huán)境場景,允許用戶通過物理性質(zhì)建立機器人模型,從而實現(xiàn)控制指令的生成與傳輸。Webots平臺提供了一個傳感器庫,便于在機器人樣機中插入傳感器并對傳感器的工作參數(shù)進行調(diào)整[20]。除此之外,Webots平臺還支持偏微分方程的運行程序,從而保證基于偏微分方程約束在機器人群集運動控制系統(tǒng)中的正常運行。為體現(xiàn)出優(yōu)化設(shè)計系統(tǒng)在運動控制效果方面的優(yōu)勢,設(shè)置傳統(tǒng)的基于輸出反饋線性化的運動控制系統(tǒng)和基于領(lǐng)航跟隨的運動控制系統(tǒng)作為實驗的對比系統(tǒng)。
此次系統(tǒng)測試實驗選擇的機器人型號為LS20,屬于微型移動機器人,其硬件和軟件均完全開放。LS20機器人以雙輪作為移動元件、差分電機作為驅(qū)動裝置,機器人直徑約為8.2 cm,重量約為180 g,機器人主要由塑膠零件構(gòu)成,內(nèi)置動力電池,并可拆卸,因此不會因充電而發(fā)生停機。此次實驗共準備5臺相同型號的機器人,組成機器人群集。
為驗證優(yōu)化設(shè)計機器人群集運動控制系統(tǒng)的有效性,布置無障礙和有障礙兩種室內(nèi)實驗環(huán)境,其中無障礙環(huán)境保證機器人群集的運動路線上無障礙,而有障礙環(huán)境是在無障礙環(huán)境的基礎(chǔ)上,加設(shè)多個紙盒箱作為障礙物,障礙物的設(shè)置位置隨機。在配置的實驗環(huán)境中,布設(shè)機器人群集,具體的布設(shè)情況如圖6所示。
圖6 機器人群集初始位姿與運動環(huán)境示意圖
從圖6中可以看出機器人群集在初始狀態(tài)下呈一字橫隊分布,并將所有機器人的初始工作參數(shù)設(shè)置成默認值。
按照一字橫隊的編隊方案,結(jié)合實驗運動環(huán)境的布設(shè)情況,生成機器人群集運動目標路徑,一字橫隊方案下機器人路徑的規(guī)劃結(jié)果如圖7所示。
圖7 機器人群集運動目標路徑規(guī)劃結(jié)果
根據(jù)機器人群集運動目標路徑的規(guī)劃結(jié)果,生成系統(tǒng)的運動控制任務(wù),并記錄任意時刻各個機器人的位置坐標和姿態(tài)角,以此作為系統(tǒng)運動控制任務(wù)的目標值。
此次系統(tǒng)測試實驗分為兩個部分,分別為機器人群集運動路徑的跟蹤控制和機器人群集的避障控制,其中機器人群集運動路徑跟蹤控制效果的測試指標為位置控制誤差,其數(shù)值結(jié)果如下:
(15)
式中,xi、yi、xP,i和yP,i與式(12)一致,nrobot為群集中包含的單一機器人數(shù)量,系統(tǒng)測試實驗中取值為5。計算得出位置誤差值越大,證明對應系統(tǒng)的運動路徑跟蹤控制效果越差。另外機器人群集避障控制的量化測試指標為碰撞次數(shù),其測試結(jié)果為:
Ncollision=Nr-r+Nr-o
(16)
其中:Nr-r和Nr-o分別表示機器人之間以及機器人與障礙物之間的碰撞次數(shù)。系統(tǒng)控制作用下,機器人碰撞次數(shù)越多,證明對應系統(tǒng)的避障控制效果越差。
將優(yōu)化設(shè)計控制系統(tǒng)的硬件設(shè)備安裝在機器人設(shè)備上,將所有硬件設(shè)備調(diào)整至運行狀態(tài),將其接入到通信網(wǎng)絡(luò)環(huán)境中。將實驗系統(tǒng)以及對比系統(tǒng)編寫成程序代碼,導入到主測計算機中,實現(xiàn)系統(tǒng)的開發(fā)。
3.5.1 運動跟蹤控制實驗
在無障礙物環(huán)境下,導入生成的機器人群集運動軌跡,執(zhí)行運動控制程序,完成運動跟蹤控制任務(wù)。系統(tǒng)執(zhí)行運動跟蹤控制時的運行界面如圖8所示。
圖8 機器人群集運動控制系統(tǒng)運行界面
在完成一次機器人群集運動控制任務(wù)后,重置機器人運動數(shù)據(jù),將控制系統(tǒng)切換至對比系統(tǒng),執(zhí)行相應的控制程序。統(tǒng)計各個機器人的實時運動數(shù)據(jù),得出反映系統(tǒng)運動跟蹤控制效果的測試結(jié)果,如表1所示。
表1 系統(tǒng)運動跟蹤控制效果測試數(shù)據(jù)表
將表1中的數(shù)據(jù)代入到式(15)中,計算得出傳統(tǒng)控制系統(tǒng)下機器人群集的運動跟蹤控制誤差分別為77 cm和56 cm,優(yōu)化設(shè)計基于偏微分方程約束的機器人群集運動控制系統(tǒng)下的運動跟蹤控制誤差為13 cm。由此證明優(yōu)化設(shè)計的運動控制系統(tǒng)具有更好的運動跟蹤控制效果。
3.5.2 機器人群集避障控制實驗
在有障礙物環(huán)境下,重復執(zhí)行運動與控制工作,記錄各個機器人的碰撞信息,經(jīng)過式(16)的計算得出碰撞次數(shù)的測試結(jié)果,如圖9所示。
圖9 機器人群集避障控制實驗結(jié)果
從圖9中可以直觀地看出,與傳統(tǒng)運動控制系統(tǒng)相比,在優(yōu)化設(shè)計的機器人群集運動控制系統(tǒng)下機器人的碰撞次數(shù)明顯降低,其中,基于輸出反饋線性化的運動控制系統(tǒng)的平均碰撞次數(shù)為60次,基于領(lǐng)航跟隨的運動控制系統(tǒng)的平均碰撞次數(shù)為53次,基于偏微分方程約束的機器人群集運動控制系統(tǒng)的平均碰撞次數(shù)為15次,即優(yōu)化設(shè)計系統(tǒng)的避障控制效果更佳。
機器人群集是機器人工作的最新方式,能夠解決單一機器人在大型工作中的局限性。在此次研究中,通過偏微分方程約束理論的支持下,生成機器人群集運動控制的精準約束條件,提高機器人群集在面對同時作業(yè)任務(wù)時的問題解決能力,從而幫助人們擺脫繁重、重復性高的勞動。從系統(tǒng)測試結(jié)果中可以看出,優(yōu)化設(shè)計的機器人群集運動控制系統(tǒng)在運動跟蹤和避障方面具有良好的控制效果,運動跟蹤控制誤差為13 cm,群集運動過程中碰撞次數(shù)平均值為15次,對于提高機器人群集的工作效率以及延長機器人的使用壽命具有積極意義。然而受到空間和時間的限制,此次系統(tǒng)測試實驗忽略了對機器人姿態(tài)角的測試,且設(shè)置的測試數(shù)量任務(wù)數(shù)量較少,測試結(jié)果存在一定的偶然性,為此在今后的研究工作中還需要對測試數(shù)據(jù)進行補充。