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