摘要: RoboCup作為在世界上最有影響力的賽事之一受到世界各地機器人愛好者的推崇,該文對其中極具代表性的小型組足球機器人(F180)進行了研究,并提出了F180主控系統(tǒng)的設(shè)計方案,內(nèi)容包括子系統(tǒng)模塊的劃分、視覺處理子系統(tǒng)的設(shè)計方案、智能策略子系統(tǒng)的設(shè)計方案等。
關(guān)鍵詞:足球機器人;F180;集中控制;視覺處理;無線通信
中圖分類號:TP242文獻標識碼:A文章編號:1009-3044(2008)31-0947-02
The System Design of Robot Soccer for F180 League
ZUO Ying, PAN Xue-hua, LING Ming
(CNASIC,SouthEast University, Nanjing 210096, China)
Abstract: RoboCupTM is an international joint project to promote AI, robotics, and related field.This paper introduces the system design of robot soccer for F180 league.
Key words: robot soccer; F180; centralized control; visual processing; wireless communication
1 引言
機器人技術(shù)作為20世紀人類最偉大的發(fā)明之一,自20世紀60年代初問世以來,經(jīng)歷40余年的發(fā)展已取得長足的進步。走向成熟的工業(yè)機器人,各種用途的特種機器人的實用化,昭示著機器人技術(shù)燦爛的明天。而且,機器人作為機械電子學、計算機技術(shù)、人工智能等的典型載體,在教育界機器人也日漸受到大家的重視,其中,因其趣味性、綜合性等因素,足球機器人最受歡迎。
現(xiàn)在機器人足球比賽已成為一種時尚運動,很多國家都有了自己的機器人足球比賽。在世界上比較有影響的賽事主要有兩個,一個是由國際機器人足球聯(lián)合會(FIRA)組織的微機器人世界杯Mirosot,另一個是由國際人工智能協(xié)會組織的機器人世界杯RoboCup。Robocup的比賽項目主要有:電腦仿真比賽、小型足球機器人賽、中型自主足球機器人賽、有腿機器人足球賽等,本文對其中極具代表性的小型組足球機器人(F180)進行了研究,并提出了一個針對其主控系統(tǒng)的設(shè)計方案。
2 系統(tǒng)概述
由圖1可知,F(xiàn)180系統(tǒng)被劃分為4個子系統(tǒng):視覺處理子系統(tǒng)、智能策略子系統(tǒng)、無線傳輸子系統(tǒng)、終端執(zhí)行子系統(tǒng)。這是一個集中控制系統(tǒng),唯一的信息源是足球場地,置于上空的攝像機會把球場圖像實時地傳送至視覺處理子系統(tǒng),經(jīng)過一系列運算將圖像數(shù)據(jù)化,智能策略子系統(tǒng)根據(jù)球場實時數(shù)據(jù)作出實時判斷,輸出命令信息,這些信息將由無線傳輸子系統(tǒng)傳送到每一臺終端執(zhí)行子系統(tǒng)。
本文研究是主控系統(tǒng),包括視覺處理子系統(tǒng)、智能策略子系統(tǒng)以及無線傳輸子系統(tǒng)的上位機部分。
它們的數(shù)據(jù)流圖如圖2所示。
3 視覺處理子系統(tǒng)
視覺子系統(tǒng)是足球機器人控制系統(tǒng)的前端部分,負責場地信息的采集和處理工作,其識別的準確性和定位的精確度直接關(guān)系到整個系統(tǒng)能否正常有效地工作,因此具有非常高的重要性。
3.1 視覺處理子系統(tǒng)的關(guān)鍵問題
3.1.1 比賽環(huán)境的光照條件是不均勻、不穩(wěn)定的
不均勻表現(xiàn)為同一個比賽場地不同區(qū)域受光照、物體陰影等影響亮度不一。不穩(wěn)定體現(xiàn)在光照條件隨時間變化,而且同一時間,比賽場地的不同區(qū)域的光照條件也是不同的。
3.1.2 目標的運動速度快
對實時性要求很高.目前機器人的最快運動速度可以達到5m/s,球的最快速度可以達到15m/s。為了提高信息收集的實時性和控制系統(tǒng)的精度,攝像機的采集速率需要60幀每秒以上,要求圖像處理程序有很高的效率。
3.1.3 對目標位置精度要求高
目前小型足球機器人已經(jīng)實現(xiàn)了多個機器人的協(xié)作,通過傳接配合進攻對方的球門,并可以在極小的角度下將球射進球門,這就要求場上目標的位置精度要求非常的高,一般誤差要求小于2個像素,即小于1.5厘米。
3.1.4 攝像機獲取的圖像存在嚴重的畸變
在視覺子系統(tǒng)中攝像機為了獲得大的視野,一般都要加廣角鏡,但是這樣的鏡頭獲取的圖像存在著嚴重的畸變,而足球機器人中對機器人和球的定位精度要求很高,因此鏡頭畸變給定位帶來很大問題。
3.2 視覺處理子系統(tǒng)總體方案
在RoboCup中,視覺子系統(tǒng)處理圖像有兩個基本特點:首先,比賽過程中,任何人不得干涉系統(tǒng)的運行,所以比賽過程中視覺子系統(tǒng)必須脫離人工交互;視覺子系統(tǒng)的實時性要求很高,因此視覺子系統(tǒng)工作時不能進行過多的圖像處理運算。基于以上特點,將視覺子系統(tǒng)對圖像的處理分為離線處理和在線處理兩種方式:在離線方式中,進行人機交互和復雜的圖像處理和圖像分析,獲得目標圖像的知識庫;在線方式利用離線方式獲得的目標圖像知識庫,采用簡單的圖像處理和識別計算,得到圖像中物體的位置和運動信息。視覺子系統(tǒng)的工作過程如圖3所示。
3.3 關(guān)于圖像處理輸出的幀信息的存取問題
視覺處理子系統(tǒng)只提供原始數(shù)據(jù),而且系統(tǒng)會把這些數(shù)據(jù)盡量保留,以備 “翻舊帳”。還應該建立合理的數(shù)據(jù)結(jié)構(gòu)用來獲取過去任何時刻系統(tǒng)所能提供的原始數(shù)據(jù),當然也可以自己建立一些數(shù)據(jù)結(jié)構(gòu)以獲取除了原始數(shù)據(jù)之外的其他拓展信息,比如球的速度。默認情況下,系統(tǒng)提供一個180節(jié)點的雙向鏈表以支持查詢之前3秒內(nèi)的原始信息,一個容量1200的數(shù)組以支持進行全場數(shù)據(jù)分析。
4 智能策略子系統(tǒng)
在足球機器人系統(tǒng)中,決策系統(tǒng)的任務是根據(jù)當前球場上的比賽形勢,作出部署,給隊員發(fā)出指令,顯然這種思維過程必然是豐富多彩和千變?nèi)f化的。工作流程包括:利用視覺處理系統(tǒng)提供的精確數(shù)據(jù),通過程序語言將決策思維過程形式化規(guī)范化,而最終輸出面向機器人的命令。在本文中只介紹策略程序的支撐機構(gòu),而策略程序本身不作敘述。
4.1 智能策略子系統(tǒng)的關(guān)鍵問題
4.1.1 各個模塊面向策略子系統(tǒng)的函數(shù)接口
策略是千變?nèi)f化的,實現(xiàn)策略的方式也是千變?nèi)f化的。所以,除了一些必要的信息以及工具手段之外,其他的諸如策略程序結(jié)構(gòu)以及各個子函數(shù)的實現(xiàn)都留給策略子系統(tǒng),這樣我們的平臺就屏蔽了了F180系統(tǒng)中繁瑣的視覺處理模塊以及無線發(fā)射模塊等,使得策略編寫者能夠集中精力在策略層。這些必要的信息和工具手段包括以下幾個部分:訪問視覺處理模塊的信息訪問接口;訪問終端機基本命令的輸出接口;訪問裁判盒的命令訪問接口。
4.1.2 關(guān)于裁判盒命令的接受
根據(jù)規(guī)則,由“裁判盒”(RefereeBox)向每支球隊主控PC下發(fā)控制命令以保證比賽過程的流暢性和規(guī)范性,命令格式都已經(jīng)確定,我們根據(jù)提供的硬件設(shè)備,建立合適的數(shù)據(jù)結(jié)構(gòu),提供一個命令接受函數(shù)接口,智能策略子系統(tǒng)可以獲得當前的有效裁判盒命令,作為策略程序參考數(shù)據(jù)的重要補充。
4.1.3 關(guān)于基本命令下發(fā)的問題
下發(fā)終端機命令是以一臺機器人為單位,目的機器人ID號保存在下發(fā)信息幀的頭部后5bit,然后依次是6個電機的命令字,系統(tǒng)也會提供更加方便的函數(shù)接口,可以單獨對單個電機進行操作。每當完成一個終端機的命令幀填充,程序可顯式調(diào)用命令發(fā)送函數(shù)完成無線發(fā)射工作(其實何時發(fā)送數(shù)據(jù)依賴于策略程序的需求)。還有,系統(tǒng)不提供命令幀的存儲,完成發(fā)送之后,該命令幀數(shù)據(jù)就會消亡,ARM終端會為系統(tǒng)做一些有意義的事情,比如命令流的優(yōu)化等。
4.1.4 策略程序?qū)η騿T的識別
事實上,對于視覺處理模塊來說他們只認識球員背上的蝶形標識,而對于策略程序來說他們是認識比賽開始之前就會確認的球員號碼,而對于無線通信模塊他們只認識每個終端機哪個唯一的對內(nèi)標識ID號,所以我們建立了一張表,這張表開放給策略程序編寫者:
list.txt
球員號碼標識圖形 通信ID
1 butterfly1 0x11
2 butterfly2 0x1a
. ..
5 butterfly5 0x1d
4.2 智能策略子系統(tǒng)的支撐機構(gòu)
4.2.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計
struct Player{ Team team;
struct Coordinate PlayerCo;
struct Orientation PlayerOr ;
};
struct FrameInfo{
structFrameInfo *father;
structFrameInfo *son;
structBall ball;
structPlayer comrade [5],enemy[5];
};
struct GameInfo{
Timetime;//只提供最近三秒內(nèi)的球場信息
structBall ball;
structPlayer comrade [5],enemy[5];
};// 開一個存儲空間初始化一個長度為1200的結(jié)構(gòu)體數(shù)組
structFrameCommand {//每一幀控制一臺終端機,長度為8個字節(jié)
char header;
char device_1,device_2 ,device_3, device_4 ,device_5 ,device_6;
char check;}
4.2.2 函數(shù)接口設(shè)計
struct Coordinate *GetBallCoordinate(Time); //返回球的坐標
struct Coordinate *GetPlayerCoordinate(Team,int,Time);//返回球員的坐標
struct Orientation *GetPlayerCoordinate(Team,int,Time); //返回球員的朝向
char GetRefereeBox(void); //獲取當前有效的裁判盒命令
BOOL SendCommand(int); //發(fā)送終端命令,發(fā)送失敗則返回1,參數(shù)代表球員號碼
BOOL FillCommand(int,DEVICE,int);//供用戶策略程序調(diào)用的命令填充函數(shù)接口
5 結(jié)束語
機器人足球在世界范圍都是新興事物、新興技術(shù)、新興產(chǎn)業(yè),在很多方面仍處于探索、實驗階段。在我國更是方興未艾,國內(nèi)只有少數(shù)高校、單位進行研究開發(fā),而且研究的方向也比較窄,還有很大的發(fā)展前景和發(fā)展空間。足球機器人的研制涉及計算機、自動控制、傳感與感知融合、無線通訊、精密機械和仿生材料等眾多學科的前沿研究與綜合集成,本文在此做了一些初步的設(shè)計工作。
參考文獻:
[1] Prochip.東芯SEP3203移動終端應用處理器手冊[M].南京:博芯電子有限公司,2005.
[2] 凌明.嵌入式系統(tǒng)——基于SEP3203微處理器的應用開發(fā)[M].北京:電子工業(yè)出版社,2006.
[3] 毛德操,胡希明.嵌入式系統(tǒng)——采用公開源代碼和StrongARM處理器[M].杭州:浙江大學出版社,2003.
[4] 謝希仁.計算機網(wǎng)絡(luò)[M].大連:大連理工出版社,2003.
[5] 李瑞峰,李偉招.基于多傳感器信息融合的移動機器人路徑規(guī)劃[M].北京:機械工業(yè)出版社,2004.
[6] Williams K. Build Your Own Reptilian Robot[D].McGraw-Hill/AB Electronics, 2002.