蔣耀 夏慶鋒 蔣寧元 姜忠堃 靳士博
(南京大學金陵學院信息科學與工程學院,南京,210089)
一直以來,多自主機器人協(xié)作都是機器人學中的一個研究熱點,多個無人自主式的單位協(xié)同工作可以完成單一自主難以完成的任務(wù),更有利于達到理想的效果?,F(xiàn)如今,多機器人協(xié)作技術(shù)已經(jīng)越來越廣泛地用于許多領(lǐng)域,如軍事監(jiān)視、警戒系統(tǒng)等。實際上,多機器人系統(tǒng)的研究仍面臨許多難題,例如可以針對有限數(shù)量的機器人分析多個自主機器人之間的協(xié)作,但想要進一步擴展更多的解決方案則需要新技術(shù)的突破。
隨著多自主機器人技術(shù)的發(fā)展,越來越多的多機器人比賽開始出現(xiàn)在機器人競賽中,中國智能機器人格斗大賽武術(shù)擂臺2v2項目便是其中之一,本文結(jié)合相關(guān)競賽研究多機器人協(xié)作技術(shù)。
中國智能機器人格斗大賽于2017年開始舉辦,舉辦方為國際機器人競技與創(chuàng)客教育聯(lián)盟,由國內(nèi)外知名的智能機器人領(lǐng)域的專家學者組成。自2008年以來,該聯(lián)盟核心專家團隊發(fā)起了機器人武術(shù)擂臺賽、機器人格斗比賽、空中機器人比賽等知名賽事,大賽面向全國高校,因其競技性與趣味性吸引力眾多隊伍前來參賽,為人工智能、機器人技術(shù)在廣大院校的推廣和人才培養(yǎng)起到了積極作用。
中國智能機器人格斗大賽場地為邊長2.4m的正方形擂臺,周圍0.7m處有高0.5m的方形黑色圍欄。擂臺場地顏色為漸變色,場地兩個對邊設(shè)有四個寬度為0.4m上臺坡道,坡道頂端高度與擂臺平齊,機器人從0.3m×0.4m的出發(fā)區(qū)啟動后,沿著該坡道走上擂臺。
比賽雙方各出戰(zhàn)兩個機器人,在擂臺上,機器人相互推擠,爭取盡可能多的機會將對手推到擂臺下,評判方法是:機器人掉下擂臺給對方加一分,10s內(nèi)機器人未能上臺再給對方加一分;如果雙方都只有一臺機器人在臺上時不得分;同時,規(guī)則引入了KO機制,若一方機器人全在擂臺上,另一方全在擂臺下,在臺上的一方直接獲勝。
本文主要任務(wù)為設(shè)計一個移動機器人協(xié)作系統(tǒng),由兩個自主輪式移動機器人組成。每個機器人的組裝任務(wù)以下面三點為主要目標。一是在紅外光電傳感器的幫助下,實現(xiàn)防掉臺的任務(wù)以及達到檢測敵人的目的;二是在顏色傳感器的幫助下達到識別隊友的目的;三是機器人小車的機械結(jié)構(gòu)要足夠完成上臺、巡航等基本任務(wù)。
以上所涉及的步驟主要由三個模塊組成:感知模塊、控制模塊、執(zhí)行模塊。
圖1 系統(tǒng)結(jié)構(gòu)圖
感知模塊負責檢測并獲取周圍信息,這里采用紅外光電傳感器和320x240的USB彩色攝像頭。本文計劃在機器人的前后左右不同高度各放2個傳感器,下層的傳感器用于登臺檢測,上層的傳感器用于障礙檢測,并在機器人小車的四個角上各放置一個傳感器,用于檢測邊緣。由此,機器人可以檢測到不同方向的信息,進而做出相應(yīng)的策略。USB彩色攝像頭安裝在上方,以實現(xiàn)分辨敵友的功能。
控制模塊指導(dǎo)機器人做出相應(yīng)的合理判斷,硬件上采用搭載Linux的ARM處理的WOODY控制器。
執(zhí)行模塊讓機器人做出相應(yīng)的動作,本文電源采用14.8V鋰電池供電;動力方面采用20W進口電機來提高機器人的速度及對抗能力;驅(qū)動方面采用BDMC1203驅(qū)動器。
硬件設(shè)計效果如圖2所示。
圖2 硬件設(shè)計展示
3.1.1 永磁鐵相斥法
在機器人內(nèi)部傾斜放置一個U型滑槽,滑槽頂端裝有紅外接近開關(guān),在機器人內(nèi)部偏后位置,滑槽的底端放在機器人前方,在滑槽底端放置一個永磁鐵(強磁)。兩個機器人內(nèi)部放置的永磁鐵磁極相同。U型滑槽在排裝好永磁鐵和紅外接近開關(guān)之后,外部使用光滑的材質(zhì)進行封裝,保證內(nèi)部獨立。兩個機器人都裝有這樣的滑槽裝置,內(nèi)部各有一個永磁鐵。
當兩個機器人面向靠近時,因為強磁鐵的磁極相同,發(fā)生互斥。這時候底部的永磁鐵因為互斥的力,順著滑槽開始上升,當擋住紅外開關(guān)的光信號一段時間后觸發(fā)紅外開關(guān)(即判定為己方機器人),兩個機器人都執(zhí)行規(guī)避程序。
當兩個機器人不是面向靠近時,強磁鐵因為磁極相反,發(fā)生吸引,這時候一個機器人的永磁鐵會上升,觸發(fā)開關(guān),執(zhí)行規(guī)避程序。
上述方法為實驗室前幾屆師兄留下,放到本文研究的環(huán)境下,存在一些問題。如:該方法只能簡單實現(xiàn)敵我的判斷,但因為機器人在實際作戰(zhàn)中的移動速度很快,磁鐵在較遠距離下相互作用力不大,無法達到識別的效果,當磁鐵開始產(chǎn)生作用時,兩個機器人已經(jīng)十分靠近。
另外,此方法較為傳統(tǒng),為了解決這一問題,提升機器人在實戰(zhàn)中的性能,本文結(jié)合最新的視覺識別技術(shù),嘗試設(shè)計出改良的敵我識別方案——閾值法的顏色識別。
3.1.2 閾值法的顏色識別
本文使用320x240的USB彩色攝像頭,通過RS232串口通信協(xié)議,配合搭載了Linux的ARM處理器的WOODY控制器進行對敵方機器人和我方機器人的識別區(qū)分。
本文研究用顯著顏色對已方隊伍的機器人進行標注,在賽前通過軟件對己方機器人顏色的HSI值進行記錄。比賽中通過攝像頭接收信號,處理器判斷采集的HSI值是否符合預(yù)先設(shè)定的范圍,如果符合,即為已方機器人。如此便可以達到機器人在格斗過程中不會出現(xiàn)撞擊隊友的現(xiàn)象,從而實現(xiàn)較好的協(xié)作格斗,保證機器人的攻擊目標始終是準確的。
圖3 閾值法顏色識別流程
此方法相較于永磁鐵相拆法,在實戰(zhàn)速度很快的情況下,極大提升了識別的速度和距離,使我方機器人更具競爭力。因為攝像頭識別的距離比永磁鐵遠,所以,機器人可以預(yù)留出足夠的時間進行反應(yīng)。
實際來看,此方法也存在一定缺陷,如若與對方機器人隊伍的顏色相同或相近而產(chǎn)生沖突,便不能很好地實現(xiàn)協(xié)作功能,會使場面陷入混亂。本文計劃的解決方法是準備好一到兩種備選顏色,相應(yīng)的代碼也準備好,存在控制器中,在比賽前根據(jù)對手的情況及時更換。
任務(wù)分配模塊設(shè)計的理念是充分利用好每個機器人個體的優(yōu)點。
3.2.1 任務(wù)分配概述
在多機器人協(xié)作的應(yīng)用中,因為具體情況的不同,一般分為兩類任務(wù)進行分配,一為靜態(tài)任務(wù),二為動態(tài)任務(wù)。若在運行過程中,機器人所面對的環(huán)境對象是已知的且狀態(tài)穩(wěn)定,那么機器人所執(zhí)行的任務(wù)都可以按照預(yù)先設(shè)定的步驟按部就班進行,這就是靜態(tài)任務(wù);動態(tài)任務(wù)則是指機器人所處的環(huán)境在不斷變換,這種變化包括了己方機器人例如數(shù)量上的各種變化而導(dǎo)致任務(wù)目標的改變,以及任務(wù)環(huán)境的調(diào)整,這種情況下機器人的任務(wù)分配是一個動態(tài)的過程。目前多數(shù)研究對動態(tài)任務(wù)的探究并不是很完善,尤其在武術(shù)擂臺2v2競賽機器人上,大多數(shù)設(shè)計并沒有從全局最優(yōu)的角度出發(fā)。
多機器人系統(tǒng)穩(wěn)定又高效的關(guān)鍵在于系統(tǒng)內(nèi)的所有機器人可以通過及時的交流保持行動的穩(wěn)定。對于2v2競賽項目來說,同一方的兩個機器人要保證穩(wěn)定、沒有沖突地協(xié)作完成得分任務(wù),避免出現(xiàn)機器人路徑?jīng)_突、亦或是機器人攻擊的目標沖突導(dǎo)致場面混亂的情況,就要求根據(jù)每個機器人的差異性,給每個機器人計劃分配不同的任務(wù),從而提升多機器人系統(tǒng)穩(wěn)定高效性。
3.2.2 基于個體最優(yōu)化的任務(wù)分配
本文設(shè)計基于運行總邏輯(如圖4所示)提出一種分配任務(wù)的方案,將攻擊和防守兩個方案分別分配給2個機器人,2個機器人的結(jié)構(gòu)設(shè)計也將按照各自方案進行,一個主要負責發(fā)現(xiàn)敵人進行攻擊,另1個在場地邊緣進行巡航游走,將傳感器的識別距離調(diào)近,確保在貼身的情況下可以發(fā)起反擊,如果遇到在臺下試圖上臺的敵方機器人,將進行防守操作,阻礙敵方機器人上臺。
圖4 機器人運行總邏輯
任務(wù)分配所要達到的目的有兩個,一是要保證系統(tǒng)按照要求穩(wěn)定地完成下發(fā)的任務(wù);二是在確保一的情況下,充分利用好現(xiàn)有的資源,以盡量小的消耗更為高效地完成任務(wù),提升工作效率,例如,因為系統(tǒng)中的每個個體不盡相同,可以充分發(fā)揮系統(tǒng)中不同個體的不同能力,實現(xiàn)最優(yōu)化。
本文用一個小實驗來比較顏色識別法和永磁鐵法的識別差異。在實驗室的比賽臺上,將識別用機器人小車放在一端,將被識別小車放在另一端,在3m的距離下,比較兩種方法識別到友軍的時間。進行5次實驗,將實驗數(shù)據(jù)記錄下來并畫成圖像,實驗結(jié)果如圖5所示。
圖5 實驗結(jié)果圖像
從實驗結(jié)果可知,永磁鐵法不僅識別的時間長,識別的穩(wěn)定度也差,充分表明顏色識別法要顯著優(yōu)于永磁鐵法。
下面通過MATLAB建模仿真來證實本設(shè)計中多機器人系統(tǒng)的可行性。
首先建立移動機器人的運動學方程。移動機器人由4個電機驅(qū)動,但其兩側(cè)的2個電機驅(qū)動情況相同,建模時可看成由2個電機驅(qū)動分別驅(qū)動兩邊。如果左右兩邊轉(zhuǎn)速不同,車輪則會產(chǎn)生差動,從而實現(xiàn)轉(zhuǎn)彎。
機器人的運動學方程為:
為了保證位置跟蹤閉環(huán)系統(tǒng)滿足李普希茲條件,繼而實現(xiàn)全局穩(wěn)定的雙環(huán)軌跡跟蹤控制,計劃采用雙曲正切函數(shù)設(shè)計控制率。并將此雙環(huán)控制運用到多機器人系統(tǒng)中[6]。
?。?/p>
最終得到實際位置控制律為:
仿真結(jié)果如圖6、圖7、圖8所示。
圖6 移動機器人編隊控制
圖7 移動機器人的速度跟蹤
圖8 移動機器人的角度跟蹤
仿真結(jié)果可知,該多機器人系統(tǒng)穩(wěn)定可行。
筆者在該項目中探討了多機器人協(xié)作技術(shù)在2v2擂臺賽中的應(yīng)用。為了解決永磁鐵相斥法的缺陷,嘗試提出顏色識別法進行敵友區(qū)分設(shè)計,思考了任務(wù)分配對實現(xiàn)2v2競賽策略最優(yōu)化的意義,并給出一種執(zhí)行方案,最后用實驗驗證了顏色識別法的優(yōu)越性,并且在保證全局穩(wěn)定的基礎(chǔ)上,用數(shù)學建模對機器人系統(tǒng)進行雙環(huán)編隊控制的仿真。
在此基礎(chǔ)上,如何設(shè)計出更加完善的多機器人協(xié)作系統(tǒng)、可否嘗試設(shè)計出獨特的算法進一步優(yōu)化系統(tǒng)等問題是下一步研究的方向。