傅漢霖+操鳳萍
摘要:RoboCup3D仿真比賽中為了模擬真實(shí)世界環(huán)境,比賽中加入了受限視覺和視覺噪聲,所以能否準(zhǔn)確定位對(duì)比賽有著關(guān)鍵作用。綜述了RoboCup3D足球賽中在受限視覺下的智能體自定位技術(shù),介紹了定位技術(shù)的分類,系統(tǒng)地分析和比較了各種自定位方法,總結(jié)了定位過(guò)程中需要重點(diǎn)研究的粒子濾波器等相關(guān)問題,最后就RoboCup3D機(jī)器人定位存在的問題和發(fā)展趨勢(shì)進(jìn)行了討論。
關(guān)鍵詞: RoboCup3D;機(jī)器人自定位;粒子濾波器;智能體;受限視覺
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)10-0172-03
Abstract: In RoboCup3D simulation game, in order to simulate the real environment, in consequence of adding limited visual and visual noise in game, the accurate localization directly affects the game. Considering the limited vision, it summarizes and analyzes the localization approaches in RoboCup3D competition. Firstly, the state of categories of localization techniques was presented. It systematically analyzed various self-localization methods and discussed particle filter applied in self-localization. Finally, existing problems were pointed out and the development trend were given.
Key words: RoboCup3D; robot self-localization; particle filter; agent; restricted vision
1 背景
RoboCup3D仿真是隸屬于RoboCup的一個(gè)比賽項(xiàng)目,比賽是在仿真環(huán)境下進(jìn)行的。自從1997年首屆RoboCup成功舉辦至今,RoboCup已成為集學(xué)術(shù)研究、機(jī)器人展示、仿真和實(shí)體機(jī)器人對(duì)抗于一身的綜合性普及賽事[1]。
隨著比賽的發(fā)展,為了更加真實(shí)的反應(yīng)現(xiàn)實(shí)世界的比賽,對(duì)比賽的規(guī)則和環(huán)境進(jìn)行不斷的修改:機(jī)器人通過(guò)視覺來(lái)獲得球場(chǎng)信息,機(jī)器人視覺從最初的全局視覺發(fā)展為局部視覺,同時(shí)視覺信息是不穩(wěn)定的、含有噪聲的,如何在實(shí)時(shí)異步的復(fù)雜環(huán)境下準(zhǔn)確定位成為一個(gè)重要問題[4]。
許多高校已經(jīng)圍繞RoboCup3D機(jī)器人定位的研究開展了大量工作。本文根據(jù)RoboCup3D足球場(chǎng)信息、濾波器的使用,結(jié)合多支高校隊(duì)伍的仿真球隊(duì)設(shè)計(jì)論文,對(duì)RoboCup3D機(jī)器人定位的研究現(xiàn)狀進(jìn)行分類總結(jié),并討論了當(dāng)前虛擬機(jī)器人足球比賽定位的研究重點(diǎn)和發(fā)展趨勢(shì)。
2 定位研究的方法需求
RoboCup3D比賽中機(jī)器人通過(guò)頭部的攝像頭獲得視覺信息,再根據(jù)自身與球場(chǎng)上的標(biāo)志桿、球員的相對(duì)位置來(lái)進(jìn)行自定位。在Rcsserver3d仿真足球場(chǎng)中共設(shè)置有8個(gè)固定的標(biāo)志桿,如圖1所示。
在仿真比賽中,機(jī)器人采用受限視覺,擁有-120°~120°的視角,服務(wù)器發(fā)送給機(jī)器人的視覺信息添加了隨機(jī)噪聲,距離越遠(yuǎn),獲得的信息誤差越大。為了模擬真實(shí)世界環(huán)境,服務(wù)器對(duì)視覺信息增加了以μ=0.0為中心的正態(tài)分布的噪聲。誤差參數(shù)為:距離誤差 σ=0.0965,水平角度誤差σ=0.1225,鉛直角度σ=0.1480。直接使用上述方法定位得到的位置都是不準(zhǔn)確的,仍需要利用卡爾曼濾波來(lái)對(duì)視覺信息進(jìn)行處理[2-3]。
通過(guò)綜合仿真足球場(chǎng)中標(biāo)志桿的全局位置和視覺信息中的相對(duì)位置,可以確定機(jī)器人自身、球及其他機(jī)器人的全局位置,因此主要的定位方法有一個(gè)標(biāo)志桿定位[4]、多個(gè)標(biāo)志桿定位[4]、邊線定位[5]和交點(diǎn)定位[6]。
3 Robocup3D自定位方法分類
3.1 一個(gè)標(biāo)志桿定位
假設(shè)已知機(jī)器人頭部的滾動(dòng)角(roll)φ,俯仰角(pitch)θ,偏擺角(yaw)ψ,一旦求出機(jī)器人的軀干姿態(tài)便可利用其次變幻的鏈乘法[7]則得到其他部位的姿態(tài)。當(dāng)機(jī)器人僅觀測(cè)到一個(gè)標(biāo)志桿,設(shè)此標(biāo)志桿在機(jī)器人視覺坐標(biāo)系的位置Pvision,標(biāo)志桿的全局坐標(biāo)設(shè)為Pflag,Probot = Pflag- Rrobot Pvision[8]。這種方法主要是利用與標(biāo)志桿的相對(duì)位置求出機(jī)器人的全局位置,當(dāng)機(jī)器人位姿急劇變化時(shí)定位誤差較大。
3.2 多個(gè)標(biāo)志桿定位
當(dāng)機(jī)器人可以看到多個(gè)標(biāo)桿時(shí),定位方法比較靈活。最簡(jiǎn)單的方法是選擇三個(gè)不在同一條直線上的標(biāo)桿。如果已知3個(gè)標(biāo)志桿的全局坐標(biāo)(x1,y1,z1)、(x1,y1,z1)和(x1,y1,z1),利用三個(gè)不在一條直線上的標(biāo)志桿信息可以確定兩個(gè)可能的位置,機(jī)器人高度大于0的一點(diǎn)即為機(jī)器人的全局位置[4]。以及它們與機(jī)器人視角的距離分別為d1、d2和d3,即解三元二次方程組式(1)。
以上方法各有利弊,主要受Agent視覺內(nèi)的標(biāo)志桿數(shù)目限制,因而需要相互結(jié)合使用。除此之外還有兩個(gè)標(biāo)志桿定位方法[9],類似于一個(gè)標(biāo)志桿定位,需要確定機(jī)器人在球場(chǎng)上的全局坐標(biāo),但不考慮z軸的影響[10],雖然這個(gè)方法需要一些假設(shè)和近似條件,但它能在視覺更受限的條件下提供定位能力。
3.3 邊線定位
如圖1所示,球場(chǎng)被底線和邊線所環(huán)繞,假設(shè)機(jī)器人站立在球場(chǎng)中時(shí)總是可以看到至少一條邊線。如果機(jī)器人在一個(gè)延長(zhǎng)的周期(4秒)中不能看到底線,機(jī)器人自動(dòng)假定它已離開球場(chǎng),那么機(jī)器人會(huì)停止并且轉(zhuǎn)向直到它能看到一條邊線并重新定位自己的位置。另外,如果機(jī)器人不能看到任何一條邊線,它會(huì)向隊(duì)友進(jìn)行通信表明它無(wú)法定位自己的位置。如果任何一位隊(duì)友可以看到無(wú)法定位的機(jī)器人,會(huì)與它進(jìn)行通信告之目前的x, y位置和角度,以便無(wú)法定位的機(jī)器人利用隊(duì)友的位置重新定位自己。
3.4 交點(diǎn)定位
設(shè)位置矢量z的值是0,使用正運(yùn)動(dòng)學(xué)計(jì)算Agent的高度[10],然后把高度的值賦給z以這種方式使位置信息精確。在足球場(chǎng)中有許多固定的標(biāo)志線,Agent受視覺限制的影響可以看到一系列的點(diǎn)包括標(biāo)志線的端點(diǎn)和交集點(diǎn)。如果可以提取標(biāo)志線的端點(diǎn),就像有更多固定的標(biāo)志桿在球場(chǎng)上,可以減少Agent定位計(jì)算的困難程度。這個(gè)算法是獨(dú)立于傳統(tǒng)定位方法的結(jié)果,可以獲取更多擁有全局位置的點(diǎn)和視覺信息。
4 粒子濾波器的應(yīng)用
4.1 卡爾曼濾波器(Kalman filtering)
卡爾曼濾波器是應(yīng)用最為廣泛的貝葉斯濾波器,是一個(gè)最優(yōu)和有效的傳感器融合技術(shù)。從本質(zhì)上講,卡爾曼濾波器是一種有噪聲線性動(dòng)態(tài)系統(tǒng)狀態(tài)預(yù)估的遞推算法,它是一個(gè)對(duì)于觀測(cè)值不斷預(yù)測(cè)和修正的過(guò)程,如下:
預(yù)測(cè)階段:卡爾曼濾波器在k時(shí)刻預(yù)測(cè)狀態(tài)是根據(jù)上一時(shí)刻k-1修正后的狀態(tài)得到的。第[k]周期的狀態(tài)預(yù)測(cè)值[xk|k-1]和協(xié)方差矩陣[Σk|k-1]由下面兩式?jīng)Q定[11]:
[xk|k-1=Axk-1|k-1+Buk-1]
[Σk|k-1=AΣk-1|k-1AT+Q]
更新階段:利用當(dāng)前周期機(jī)器人視覺范圍內(nèi)所能看到的標(biāo)志桿視覺信息,首先應(yīng)用多個(gè)標(biāo)志桿定位方法得到的機(jī)器人對(duì)自身全局位置的觀測(cè)值[zk],之后利用此觀測(cè)值來(lái)修正上一階段中的估計(jì)值[12],過(guò)程如下:
[Kk=Σk|k-1ΗT(ΗΣk|k-1HT+Rk)-1]
[xk|k-1=xk-1|k-1+Kk(zk-Hxk|k-1)]
[H]是觀測(cè)矩陣,[Rk]是觀測(cè)噪聲協(xié)方差矩陣。
4.2 蒙特卡洛定位(Monte Carlo localization)
UT Austin Villa[13]在2011年比賽中所使用的濾波器是蒙特卡洛定位[14]的一種。在UT Austin隊(duì)伍的粒子濾波器中,每個(gè)循環(huán)更新1000個(gè)粒子,每個(gè)粒子都是以(x , y, θ)的形式返回對(duì)一個(gè)Agent姿態(tài)的預(yù)測(cè),以及預(yù)測(cè)結(jié)果的可能性。Agent預(yù)測(cè)它本身的(x, y)位置和θ方向作為粒子位置和方向的加權(quán)平均值。每個(gè)周期Agent都會(huì)收到一系列視覺感知信息,粒子濾波器按以下三步進(jìn)行:1)根據(jù)測(cè)程法更新粒子,2)根據(jù)觀測(cè)的結(jié)果更新粒子,3)重復(fù)采樣粒子。
根據(jù)測(cè)程法更新粒子:在這步中,距離信息以( δx, δy, δθ)的形式從行走引擎中提取出來(lái)。然后對(duì)每個(gè)粒子按式(2)進(jìn)行運(yùn)算:
根據(jù)觀測(cè)的結(jié)果更新粒子:在這步中,粒子的權(quán)重更新來(lái)源于標(biāo)志桿的觀測(cè)信息,只有當(dāng)可以至少觀察到一個(gè)標(biāo)志桿的時(shí)候才會(huì)完成。
重采樣粒子:在這步中利用上一步計(jì)算出的新的權(quán)重作為一個(gè)新的粒子分布,并從1000個(gè)粒子中從新采樣。更準(zhǔn)確地說(shuō),5%的粒子完全從球場(chǎng)區(qū)域隨機(jī)采樣,去處理被綁架的Agent場(chǎng)景①。這一步只會(huì)在至少看到一個(gè)標(biāo)志桿的情況下完成,如果看不到標(biāo)志桿,Agent會(huì)使用測(cè)量距離更新并且不會(huì)進(jìn)行重采樣,以此避免有額外的噪音介入。
5 現(xiàn)存問題分析
機(jī)器人當(dāng)前的定位方法主要還是需要在有限視覺范圍內(nèi)看到標(biāo)志桿。仿真機(jī)器人NAO有多種不同的感知器:視覺感知器提供場(chǎng)地中所有物體在機(jī)器人視覺中的距離和方向,但認(rèn)知能力有限、行為能力有限、通信能力有限[15]。因?yàn)榉抡姝h(huán)境更貼近真實(shí)世界,機(jī)器人運(yùn)動(dòng)狀態(tài)會(huì)出現(xiàn)突發(fā)性變化,如跌倒在場(chǎng)外、碰撞等看不到標(biāo)志桿的情況,機(jī)器人只能通過(guò)轉(zhuǎn)頭甚至移動(dòng)位置來(lái)看到標(biāo)志桿,這樣嚴(yán)重影響了定位的效率。因此現(xiàn)在的定位算法大多是局部的、被動(dòng)的。
6 技術(shù)發(fā)展趨勢(shì)
雖然機(jī)器人定位已經(jīng)研究多年,但是現(xiàn)今的各種定位方法都存在一些不足,在處理不確定性問題上仍有很大的發(fā)展空間。每個(gè)機(jī)器人作為一個(gè)智能體所處的位置是機(jī)器人協(xié)調(diào)的重要依據(jù)。未來(lái)機(jī)器人定位算法應(yīng)由局部、靜態(tài)、被動(dòng)的方式向全局、動(dòng)態(tài)、主動(dòng)的方式發(fā)展,強(qiáng)調(diào)自主能力的提高。增強(qiáng)對(duì)未來(lái)狀態(tài)的預(yù)測(cè),傳統(tǒng)的位置預(yù)測(cè)方式只是預(yù)測(cè)點(diǎn)之前的幾個(gè)周期中機(jī)器人的位置來(lái)得到機(jī)器人的平均前進(jìn)速度。將對(duì)象識(shí)別、障礙避險(xiǎn)、主動(dòng)定位集成在定位算法中,使機(jī)器人在特殊情況下的定位仍能快速、精確,以將研究成果反饋到實(shí)際應(yīng)用中
7 結(jié)束語(yǔ)
RoboCup比賽的開展是對(duì)實(shí)物類人機(jī)器人的相關(guān)研究在理論上的有益探索,仿真比賽促進(jìn)了計(jì)算機(jī)仿真技術(shù)的發(fā)展。本文主要綜述RoboCup3D足球比賽中的機(jī)器人自定位問題,總結(jié)了較為常用的仿真機(jī)器人在受限視覺下的自定位方法,并對(duì)當(dāng)前虛擬機(jī)器人自定位技術(shù)中出現(xiàn)的主要問題和未來(lái)發(fā)展趨勢(shì)進(jìn)行了討論。本文所討論的定位技術(shù)不僅適用于RoboCup3D的仿真環(huán)境,并且可以應(yīng)用于研究導(dǎo)航室內(nèi)環(huán)境的移動(dòng)機(jī)器人。
注釋:
① 綁架機(jī)器人問題[11]:綁架機(jī)器人問題處理機(jī)器人被綁架,并被移到其他地方的情況,其困難在于機(jī)器人不知道已被移到另一個(gè)地方。
參考文獻(xiàn):
[1] 王珂, 莊嚴(yán), 王偉, 等. 自主移動(dòng)機(jī)器人足球比賽視覺定位方法綜述[J]. 控制理論與應(yīng)用, 2005, 8, 22(4): 599-601.
[2] 姚千燕, 楊宜民. RoboCup3D仿真系統(tǒng)中的機(jī)器人自定位方法[J]. 計(jì)算機(jī)與現(xiàn)代化, 2011, 12: 141-142.
[3] 姚千燕, 楊宜民. RoboCup3D仿真系統(tǒng)中的機(jī)器人自定位方法[D]. 廣州:廣東工業(yè)大學(xué), 2012.
[4] 趙業(yè)錦. 受限視覺下RoboCup3D中機(jī)器人定位[J]. 電子測(cè)試, 2010, 4(4).
[5] 張青. RoboCup3D仿真系統(tǒng)仿人機(jī)器人定位與角色研究[D].合肥:安徽大學(xué), 2013.
[6] Patrick MacAlpine, Mike Depinet, Jason Liang, et al. UT Austin Villa: RoboCup 2014 3D Simulation League Competition and Technical Challenge Champions[R]. Proceedings of the RoboCup International Symposium (RoboCup 2014), 2014: 4-7.
[7] 梶田秀司. 仿人機(jī)器人[M]. 管貽生, 譯. 北京: 清華大學(xué)出版社, 2007: 15-21.
[8] 張青, 李龍澍, 劉躍. 基于卡爾曼濾波的仿真機(jī)器人定位方法[J]. 計(jì)算機(jī)仿真, 2013, 12(30): 317-319.
[9] Yaolong Huang, Chao Ma, Jianrong Wang. TJUnited 2010 Team Description[R]. RoboCup-ChinaOpen, 2010:3-4
[10] Yalong Yang, Yang Yu, Haobo Ma, et al.The NeverMost 3D Soccer Simulation Team Desctiption 2012[R]. 2012: 3-6.
[11] Sander van Dijk, Daniel Polani.Principled Construction of Perception and Action Skills for Bold Hearts 3D 2009[C. Proceedings CD RoboCup, 2009: 5-8.
[12] 趙業(yè)錦. RoboCup仿人機(jī)器人步態(tài)規(guī)劃[D]. 南京:京郵電大學(xué), 2010: 39-41.
[13] Patrick MacAlpine, Daniel Urieli, Samuel Barrett,et al. UT Austin Villa 2011 3D Simulation Team Report[R]. Technical Report AI11-10,2011: 2-7.
[14] Fox D, Burgard W, Dellaert F,et al. Monte carlo localization: Efficient position estimation for mobile robots[C]. Proc. of the National Conference on Artificial Intelligence (AAAI), 1999: 343-349.
[15] 徐旭明, 李實(shí), 葉榛. 綜述:機(jī)器人足球賽概況及研究[C]. 第三屆全球智能控制與自動(dòng)化大會(huì). 2000, 6(1): 207-209.