摘 要: 智能體對環(huán)境的認(rèn)識是其進(jìn)行決策的重要依據(jù)。在機器人足球仿真比賽(RoboCup)中,,視覺感知是智能體獲得信息,、構(gòu)建世界模型的主要途徑。針對仿真比賽中球員智能體進(jìn)行決策時信息不準(zhǔn)確的問題,,結(jié)合優(yōu)先級和可信值對智能體的視覺策略進(jìn)行了設(shè)計,。根據(jù)對觀察目標(biāo)需求的緊迫程度動態(tài)地指定觀察目標(biāo)的優(yōu)先級,然后結(jié)合世界模型維護(hù)的觀察目標(biāo)的可信值生成各個視覺角度的評價值,,通過搜索評價值最大的視覺角度獲得優(yōu)化的視覺信息,。實驗結(jié)果表明這種視覺策略使球員動作的執(zhí)行更加可靠,增強了球隊的整體性能,。
關(guān)鍵詞: RoboCup仿真比賽,;智能體;視覺策略
多智能體系統(tǒng)的研究是計算機科學(xué)和人工智能研究的重點,。RoboCup機器人足球比賽是多智能體系統(tǒng)MAS(Multi-Agent System)和分布式人工智能的一個重要研究平臺[1],。
RoboCup仿真平臺中環(huán)境是不可知的,球員對于環(huán)境的認(rèn)識主要來源于感知系統(tǒng)[2],,感知系統(tǒng)包括視覺感知,、聽覺感知和身體感知,這些信息由仿真服務(wù)器按規(guī)定的周期發(fā)送給球員。身體感知只能感知球員自身的信息,,而聽覺感知非常有限且不可靠,,因此視覺信息是最直接可靠、也是最多使用的信息獲取方式,。在復(fù)雜多變的足球比賽中,,球員需要依據(jù)當(dāng)前場上的局勢進(jìn)行最優(yōu)的動作決策以及動作的精確執(zhí)行,這就要求智能體必須以一種智能的方式合理調(diào)整視覺,,準(zhǔn)確,、及時地跟蹤場上狀態(tài)的變化。
目前各個仿真球隊采用的視覺策略中,,有讓球員始終朝向球看,,方法簡單但卻直接、有效,;有的策略則將智能體的多個觀察目標(biāo)按照其可信值排序,,如果可信值低于某個值,就提出觀察請求,,這種方法保證所有觀察目標(biāo)的平均可信值盡量高[3],。實際上當(dāng)球員在比賽中面臨不同局勢時,想要觀察的目標(biāo)是不同的,,而且對不同目標(biāo)的關(guān)心程度也是不同的,。球員最希望獲得的是那些與其動作決策關(guān)系密切的場上信息,采用以上視覺策略會使球員無法全面,、準(zhǔn)確地掌握場上信息,,從而導(dǎo)致動作決策的效率不高。
本文設(shè)計了一種基于優(yōu)先級和可信值的視覺策略,,通過綜合考慮觀察目標(biāo)的可信值和優(yōu)先級來調(diào)整球員的最佳視覺角度,,優(yōu)化球員視覺信息的獲取。
1 RoboCup中球員智能體的視覺
在RoboCup仿真環(huán)境里,,球員有身體朝向和臉朝向兩個概念,。身體朝向決定了每個球員dash(沖刺)的方向,即每個球員只能朝身體方向給自己加速,。球員觀察的范圍主要由臉朝向決定,,球員的視野是一個以臉朝向為中心,正負(fù)各1/2視野寬度的扇形,。球員距離觀察目標(biāo)越遠(yuǎn),,看得越不清楚。視野寬度ViewWidth可以為45°(窄視角),、90°(普通視角)和180°(寬視角),。每個球員在獲取視覺信息時都是用一種視野寬度的模式觀察,,不同視野寬度帶來的觀察效果也不同,,較窄的視野寬度所獲得信息的頻率較快,。目前仿真環(huán)境規(guī)定45°視野寬度每0.75周期獲得一次視覺信息,90°視野寬度每1.5周期獲得一次視覺信息,,180°視野寬度每3個周期獲得一次視覺信息[4],。
通過調(diào)整視野寬度、身體朝向以及臉朝向可以獲取更多的視覺信息,。球員可以通過change_view指令改變視野寬度,,turn指令改變身體朝向,turn_neck指令轉(zhuǎn)動臉朝向和身體朝向之間的夾角,。但是turn指令與dash,、kick等指令互斥,不能在同一周期發(fā)送,,否則會與其他決策模塊產(chǎn)生沖突,。turn_neck指令則可以和dash、kick,、turn等動作在同一個仿真周期內(nèi)執(zhí)行,,球員的面朝向和身體朝向最多成90°角,在不轉(zhuǎn)身的情況下球員理論上可以觀察到的最大角度為:
觀察到的最大角度=視野寬度/2+90°(1)
因此,,球員的視覺決策一般放在所有動作決策模塊之后執(zhí)行,,并且要對產(chǎn)生的決策效果做預(yù)測,預(yù)測后續(xù)周期需要的信息,,然后根據(jù)需求計算出最終實際要轉(zhuǎn)動脖子的角度,,調(diào)整角度,使下個視覺信息到來時視野能覆蓋觀察目標(biāo),。
2 視覺策略的設(shè)計
比賽中在一個仿真周期內(nèi)球員想要觀察的目標(biāo)往往不是唯一的,,球和其他隊友或敵人都有可能成為被觀察的目標(biāo),如圖1所示,,球員A控球,,球員B和C為隊友,球員P為敵方隊員,,若A考慮傳球,,則B、C和P可能做出截球動作,,球員A首先需要觀察一下球員B,、C和P,以判斷隊友是否能夠截到球,,再做出決策是否應(yīng)該執(zhí)行該動作,。所以最終視覺角度的確定需要一定的設(shè)計,對每一個可能的視角,可以使用一個評價值進(jìn)行評價,,考慮到場上形勢和決策的需要,,在計算評價值時應(yīng)該綜合考慮各個被觀察對象的優(yōu)先級和可信值,才能兼顧處理多個觀察請求,,獲得較優(yōu)視覺信息,。
2.1 目標(biāo)優(yōu)先級
球員根據(jù)對各個觀察目標(biāo)的不同需求程度,設(shè)定優(yōu)先級priority,。對于球員的n個觀察目標(biāo)(0<n≤23),,設(shè)定的優(yōu)先級分別為pi(i=1,2,,…,,n)。以觀察球員為中心,,指向?qū)Ψ桨雸龅姆较驗?角度,,則被觀察物體相對球員的角度分別為θi(i=1,2,,…,,n),θi∈[-180,,180],。
觀察目標(biāo)分為三個部分:球、動態(tài)對象和固定對象,。球是隊員必須經(jīng)常觀察的對象,,對球的信息不準(zhǔn)確,就談不上做各種決策,,因此球的優(yōu)先級是最高的,。動態(tài)對象由上層決策模塊決定,比如當(dāng)球員控球時,,就把場上可以傳球的隊友加入到觀察請求中,,并把離球員最近的敵方隊員加入觀察請求。動態(tài)對象的優(yōu)先級可根據(jù)場上情況做適當(dāng)調(diào)整,,對于可傳球隊友,,傳球成功率越高,優(yōu)先級越高,。固定對象是預(yù)先規(guī)定好的,,它包括某些在大部分時刻都必須觀察的對象,如離球員最近的隊友,。進(jìn)入對方半場時還要把對方的守門員加進(jìn)來,。固定對象的優(yōu)先級是確定的,。當(dāng)固定對象與動態(tài)對象重疊時,觀察請求不進(jìn)行重復(fù)添加,,優(yōu)先級以動態(tài)對象為準(zhǔn),。
球員智能體的多個觀察請求用C++STL的map模板進(jìn)行保存,定義如下:
map<ObjectT,,double>mVisualReqQueue,;
MVisualReqQueue的每個元素是一個二元組<對象,優(yōu)先級>,,描述了從對象到其當(dāng)前的優(yōu)先級之間的映射。
2.2目標(biāo)可信值
RoboCup中,,由于球員智能體每一次獲得的視覺信息十分有限且含有噪聲,,因此在對這些數(shù)據(jù)的加工和對世界模型的維護(hù)過程中,需要引入記憶模型[5],。記憶模型一方面負(fù)責(zé)保存環(huán)境物體的歷史信息,,另一方面通過一個可信值(confidence)來描述目標(biāo)信息的準(zhǔn)確程度,它的取值范圍是[0,,1],,每一個仿真周期目標(biāo)的可信值更新如下:
這種算法是優(yōu)先級高,可信值低的物體在最終結(jié)果中占的比重大些,,既有利于選出觀察優(yōu)先級高的對象,,又對可信值低的對象加以重視。顯然,,當(dāng)視野中覆蓋的物體越多,,對這些物體的優(yōu)先級越高,物體的可信值越低,,則該視野所觀察到的有用信息就越多,,其評價值也越大。
進(jìn)行最佳角度搜索的時候?qū)⒁^察的目標(biāo)置于球員視野的右邊界,,然后搜索請求觀察的每一個物體,。搜索過程用偽碼描述如下:
確定好最佳視覺角度后,即可通過turn_neck指令調(diào)整球員視角,,以獲得期望的信息,。
此外,根據(jù)比賽規(guī)則,,由于球員每周期只能執(zhí)行一個動作,,所以過于頻繁的獲取信息也沒有意義,,在本策略中的視野寬度ViewWidth采用90°-45°-45°的方案,,這樣獲取視覺信息的周期依次是0-1.5周期-2.25周期-3周期,,這樣以3周期為一次循環(huán)單位不斷循環(huán),可以保證每周期都可以獲得視覺信息,,同時又可獲得較大的視野范圍。
3 仿真實驗結(jié)果
為測試本文視覺策略的有效性,,先后對采用和不采用本視覺策略的球隊作了長時間測試,為減少比賽隨機性對結(jié)果的影響,,取同一支球隊作為對抗球隊,,表1給出統(tǒng)計的對比數(shù)據(jù),。從表1可以看出,,采用改進(jìn)的視覺策略后,,我方平均控球率提高了8.6個百分點,,進(jìn)球機會增加了。
RoboCup仿真比賽的環(huán)境是復(fù)雜多變的,,球員智能體需要依據(jù)當(dāng)前場上的形勢進(jìn)行決策,,信息的準(zhǔn)確獲取是智能體動作決策和執(zhí)行的前提,,智能體應(yīng)能以一種高效的方式合理調(diào)整視覺才能保證準(zhǔn)確地跟蹤場上狀態(tài)的變化。本文對球員的視覺策略進(jìn)行了設(shè)計,,根據(jù)動作決策的需要,考慮球員當(dāng)前觀察目標(biāo)的優(yōu)先級,,結(jié)合它們的可信值,計算出各個視覺角度的評價值,,最后通過搜索比較確定一個最佳的視覺角度,,為多智能體的團(tuán)隊協(xié)作提供了全面,、準(zhǔn)確而及時的信息,。
將本文提出的視覺策略應(yīng)用在RoboCup仿真球隊后,球隊的平均控球率提高了8.6%,,球員之間的傳球成功率有所提高,,說明新的視覺策略為智能體間的協(xié)作提供了較為可靠的信息,,對增強球隊整體性能具有一定效果,。
參考文獻(xiàn)
[1] 李實,,徐旭明,,葉榛,,等.機器人足球仿真比賽的Server模型[J].系統(tǒng)仿真學(xué)報,2000,,12(2):138-141.
[2] 郭定明,,張樹林,,李璞.淺談RoboCup中的感知系統(tǒng)及相關(guān)決策[A].2004中國機器人足球比賽暨研討會論文集[C].廣州:中國自動化學(xué)會機器人競賽工作委員會,,2004:15-18.
[3] REIS L P,, LAU N. FC Portugal Team Description: RoboCup 2000 Simulation League Champion[J]. Springer Verlag Lecture Notes in Artificial Intelligence,, 2001(2019):175-197.
[4] CHEN M,, FOROUGHI E,, HENITZ F,, et al. RoboCup Soccer Server Manual for Soccer Server Version 7.07[EB/OL]. http://sserver.sourceforge.net/. 2003.
[5] DE BOER R,, KOK J. The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team[D]. University of Amsterdam,, 2002.