?????? ⒈ 引言
目前,有關(guān)機(jī)器人足球比賽的國際組織有兩個(gè):RoboCup聯(lián)合會(huì)和FIRA組織。比賽項(xiàng)有三個(gè):(1)、小型機(jī)器人比賽(Ф≤15cm);(2)、中型機(jī)器人比賽(15cm<Ф≤50cm);(3)、電腦模擬比賽。在仿真設(shè)計(jì)中涉及到很多關(guān)鍵性問題,如智能體的體系結(jié)構(gòu)、智能體團(tuán)隊(duì)的合作、自學(xué)習(xí)功能等。采用一種基于行為模式的體系結(jié)構(gòu),使球員能根據(jù)環(huán)境和自己的狀態(tài)來決定當(dāng)前的行為模式,然后根據(jù)該行為模式來決定當(dāng)前要采取的動(dòng)作。而團(tuán)隊(duì)合作則主要是通過隊(duì)伍的組建(陣形)實(shí)現(xiàn)的。每個(gè)陣形是一組角色的集合,不同的角色通過預(yù)定的協(xié)議來實(shí)現(xiàn)合作。本文通過對(duì)小型機(jī)器人足球比賽仿真組比賽(五對(duì)五)的對(duì)策進(jìn)行研究,提出了四步?jīng)Q策推理模型,利用大賽組委會(huì)提供的動(dòng)態(tài)鏈接庫,采用VB語言對(duì)此進(jìn)行了仿真。
2. 足球機(jī)器人對(duì)策研究
在足球機(jī)器人系統(tǒng)中,足球機(jī)器人對(duì)策研究屬于決策子系統(tǒng),它的任務(wù)是根據(jù)當(dāng)前球場(chǎng)上的比賽形勢(shì),作出部署,給隊(duì)員發(fā)出指令,擔(dān)負(fù)起教練員的職責(zé)。對(duì)于足球機(jī)器人而言,教練員是個(gè)盲人,他不是用眼睛看到比賽場(chǎng)景,反映到大腦進(jìn)行形象思維,而是根據(jù)隊(duì)員在比賽場(chǎng)上的位置和球位置的精確數(shù)據(jù)對(duì)比賽場(chǎng)上的形勢(shì)進(jìn)行分析,所以更多的是依靠邏輯思維來完成推理過程。
這樣,決策子系統(tǒng)在制定決策時(shí)就應(yīng)該參照盲人教練的思維過程展開,嚴(yán)格地對(duì)鏈上的每一個(gè)環(huán)節(jié)進(jìn)行抽象推理,從而實(shí)現(xiàn)專家知識(shí)與決策過程的形式化。本文在此基礎(chǔ)上提出了四步?jīng)Q策推理模型如圖1所示。
2.1 輸入信息預(yù)處理
為了對(duì)比賽場(chǎng)上的形勢(shì)進(jìn)行分析處理,以便采用合適的策略和動(dòng)作,需要把從視覺系統(tǒng)得到的數(shù)據(jù)進(jìn)行模糊化與抽象化。此模塊包括以下幾個(gè)部分:
(1) 區(qū)域劃分:因?yàn)榍蚴潜荣悎?chǎng)上的核心,它所處的位置影響到?jīng)Q策的結(jié)果,為此將球場(chǎng)分成如圖2所示六個(gè)區(qū)域:
(2) 判斷控球者:判斷哪方或哪名隊(duì)員控球,以便采取合適的策略;本文采用最短距離法,即誰離球最近便代表誰控球。
(3) 計(jì)算實(shí)體距離:包括球與球員之間的距離,兩球員之間的距離。
(4) 區(qū)域檢測(cè):判斷該區(qū)域己方隊(duì)員的個(gè)數(shù)及對(duì)方隊(duì)員的個(gè)數(shù)。
(5) 選取傳球者:有兩種傳球方案,① 距離最近者 ②最佳球員。
2.2 態(tài)勢(shì)分析與策略選擇
對(duì)輸入信息進(jìn)行預(yù)處理后,根據(jù)賽場(chǎng)形勢(shì),及時(shí)調(diào)整比賽策略。本文編寫了三個(gè)策略:全攻全守、自由人戰(zhàn)術(shù)、人盯人策略。
(1) 全攻全守:一種積極的作戰(zhàn)方法。球在前場(chǎng)時(shí)全隊(duì)壓上(除守門員外),有主攻與協(xié)攻隊(duì)員,中場(chǎng)負(fù)責(zé)搶球傳球;球在后場(chǎng)時(shí)全隊(duì)撤回進(jìn)行防御。
(2) 自由人戰(zhàn)術(shù):偏向于防守。安排自由人全攻全守,其他隊(duì)員各自負(fù)責(zé)一區(qū)域。
(3) 人盯人策略:進(jìn)攻為全攻策略,防守時(shí)不只圍球轉(zhuǎn),而是強(qiáng)調(diào)盯人和卡位。
本文通過平均累計(jì)性能最優(yōu)算法進(jìn)行調(diào)用。平均累計(jì)性能最優(yōu)算法是給每個(gè)策略設(shè)置性能指標(biāo)初值,每次調(diào)用性能指標(biāo)最優(yōu)的策略;當(dāng)調(diào)用此策略獲得不良效果(如失分,失球等),則性能指標(biāo)減一,反之,獲得佳績(jī)(如得分,有效控球等),則加一 [3]。
2.3 隊(duì)形確定與角色分配
在確定好策略以后,為了使足球機(jī)器人在比賽中相互配合、協(xié)調(diào)作戰(zhàn),更好的完成各自的任務(wù)而不至于出現(xiàn)沖突,需要給每個(gè)機(jī)器人分配不同的角色。本文根據(jù)球位置及球員位置進(jìn)行角色分配。
確定好機(jī)器人角色后,就要對(duì)機(jī)器人的動(dòng)作進(jìn)行設(shè)計(jì)和安排,根據(jù)動(dòng)作函數(shù)調(diào)用關(guān)系及復(fù)雜程度把動(dòng)作分為三層:基本動(dòng)作,技術(shù)動(dòng)作,戰(zhàn)術(shù)動(dòng)作。
(1) 基本動(dòng)作:
①到定點(diǎn) ②轉(zhuǎn)角 ③沿指定方向移動(dòng)
(2) 技術(shù)動(dòng)作:
①射門 ②攔截 ③守門 ④傳球 ⑤控球
(3) 戰(zhàn)術(shù)動(dòng)作:
① 一傳一射 ②二過一 ③交叉掩護(hù)
3. 足球機(jī)器人仿真
通過模擬足球機(jī)器人系統(tǒng),可促進(jìn)對(duì)人工智能和機(jī)器人學(xué)的研究和比賽經(jīng)驗(yàn)的積累,產(chǎn)生新的控制方案和新的對(duì)策。VB是面向?qū)ο蟮?a href="http://www.xsypw.cn/v/tag/1315/" target="_blank">編程語言,編程簡(jiǎn)單、界面友好,深受編程人員青睞。本文采用VB語言進(jìn)行仿真,通過調(diào)用VB接口函數(shù)(大賽組委會(huì)提供的動(dòng)態(tài)鏈接庫)編寫AI程序。
3.1 VB接口說明
大賽組委會(huì)提供的動(dòng)態(tài)鏈接接口包含在Cclient.bas模塊,主要有以下函數(shù)。
(1) GetStart:打開和服務(wù)器的連接。
(2) GetInformation:從服務(wù)器端得到作戰(zhàn)的信息。
(3) RunTo:移動(dòng)指令。
(4) KickToTarget:向固定點(diǎn)踢球。
(5) KickToDirect:向固定方向踢球。
(6) NoKick:清空球員的預(yù)置動(dòng)作。
(7) GamePause:暫時(shí)停止服務(wù)器操作。
(8) GameResume:使服務(wù)器重新運(yùn)行。
(9) GameState:顯示比賽狀況。
(10) CleanUp:結(jié)束與DDL的通訊。
評(píng)論
查看更多