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