智能足球機器人系統(tǒng)智能中型足球機器人的軟體結(jié)構(gòu)課件_第1頁
智能足球機器人系統(tǒng)智能中型足球機器人的軟體結(jié)構(gòu)課件_第2頁
智能足球機器人系統(tǒng)智能中型足球機器人的軟體結(jié)構(gòu)課件_第3頁
智能足球機器人系統(tǒng)智能中型足球機器人的軟體結(jié)構(gòu)課件_第4頁
智能足球機器人系統(tǒng)智能中型足球機器人的軟體結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

目錄2023/7/311目錄2023/7/29110.1智能中型足球機器人視覺子系統(tǒng)2023/7/312智能中型足球機器人視覺系統(tǒng)的硬件配置1. 全景視覺系統(tǒng)在足球機器人的攝像機是最重要的傳感器,它的重要性就相當(dāng)于眼睛對于人。在Robocup中型組比賽中,機器人普遍采用全景視覺系統(tǒng)。它由一個攝像機和一個反射鏡組成,見圖10.1。反射鏡裝在機器人頂部,鏡面向下,攝像機朝上正對著反射鏡。攝像機得到的是帶有畸變的俯視圖,顯示了機器人周圍360度的情況。這和人不一樣,因為人通常不能看到身后,除非把頭轉(zhuǎn)過去。圖10.2是這種配置的視覺系統(tǒng)獲得的一張典型圖像??梢钥闯鏊鼛в袊?yán)重的畸變,圖像中間的黑色區(qū)域代表機器人自身,黑色區(qū)域的中心代表了機器人的中心。10.1智能中型足球機器人視覺子系統(tǒng)2023/7/292智能全景視覺系統(tǒng)例子2023/7/313某機器人的視覺系統(tǒng)的硬件配置一張典型的全景視覺系統(tǒng)拍攝的圖片全景視覺系統(tǒng)例子2023/7/293某機器人的視覺系統(tǒng)的硬件多攝像頭的視覺系統(tǒng)2023/7/314全景視覺的目標(biāo)識別有其缺陷,特別是對球的識別。根據(jù)RoboCup中型組的比賽規(guī)則,機器人的高度不能高于80cm,因此從全景鏡中就不能識別到高于80cm的物體。而在智能中型足球機器人比賽中常常會有挑起的球高于機器人的情況。有很多參賽隊為解決這個問題,提出了一些方案。比如中國國防科技大學(xué)的獵豹機器人上裝有兩套視覺系統(tǒng):一套全向視覺系統(tǒng)和一個廉價的網(wǎng)絡(luò)攝像頭加裝廣角鏡頭構(gòu)成的前向視覺系統(tǒng)。荷蘭TechUnited隊使用一個工業(yè)智能攝像機作為前向攝像機,主要實現(xiàn)球的輔助識別與定位作用。當(dāng)球速達(dá)到10m/秒時,一個工作于25幀每秒(fps)的全景攝像機是不能完成這個識別任務(wù)的,他們使用的攝像機是高速的工業(yè)攝像機系統(tǒng),可以工作在高達(dá)200fps。要處理200fps,640X480分辨率的實時圖像,如果由PC機來完成,無論對于傳輸還是處理都是極難實現(xiàn)的。荷蘭隊選用TheVisionComponentsVC4458攝像機(最高242fps@640x480pixels),具有板載處理能力,所有的圖像處理和識別都在智能攝像機內(nèi)部完成,攝像機和主機通信的內(nèi)容只有球的位置和球速。多攝像頭的視覺系統(tǒng)2023/7/294全景鏡曲線2023/7/315

目前,具有全景視覺機器人中廣泛使用的全景鏡面主要是雙曲線鏡面,通過攝像機采集到的圖像具有全景水平視角,使機器人能夠獲取全景圖像。該類全景數(shù)學(xué)模型簡單,但得到的圖像存在嚴(yán)重的失真,尤其距離機器人遠(yuǎn)處的圖像畸變很大,直接造成識別場上標(biāo)志線或球等目標(biāo)的困難。通過使用組合全景鏡面,可以克服現(xiàn)有全景鏡面得到的圖像失真嚴(yán)重的不足。組合全景鏡面的第一段曲線保證了在一定距離范圍內(nèi)水平場地上的點和圖像上的像素點具有指數(shù)函數(shù)關(guān)系;組合鏡面第二段曲線是一段圓弧,保證了在距離較遠(yuǎn)處能夠看到一定高度的物體。這種構(gòu)造的鏡面能夠很大程度地減小圖像失真的情況。全景鏡曲線2023/7/295 目前,具有全景視覺機器人中廣通過雙曲線鏡面獲得的圖像2023/7/316通過雙曲線鏡面獲得的圖像2023/7/296分段組合全景鏡面曲線2023/7/317分段組合全景鏡面曲線2023/7/297視覺系統(tǒng)基本信息的提取2023/7/318視覺系統(tǒng)基本信息的提取2023/7/298視覺系統(tǒng)的坐標(biāo)系2023/7/319在闡述視覺系統(tǒng)之前,首先定義系統(tǒng)使用的3個三個坐標(biāo)系:圖像坐標(biāo)系,機器人坐標(biāo)系,全局坐標(biāo)系。這3個坐標(biāo)系貫穿了整個視覺系統(tǒng)的始末。其中,機器人坐標(biāo)系和全局坐標(biāo)系,更是貫穿了機器人的整個軟件系統(tǒng)(包括視覺系統(tǒng),決策系統(tǒng),通訊系統(tǒng))。圖像坐標(biāo)系I(x,y):x和y表示像素位。機器人坐標(biāo)系L(x,y):這個坐標(biāo)系建立在機器人的視角上。它的原點就是機器人中心。Y軸指向了機器人的正前方(見圖10.10)。這個坐標(biāo)系也稱為實際坐標(biāo)系。全局坐標(biāo)系G(x,y):這個坐標(biāo)系用來表明機器人的位置。它的原點為球場的中心。(見圖10.10)圖10.9定義了圖像坐標(biāo)系,機器人就是圖像中央的黑色區(qū)域,該區(qū)域的中心不一定是圖像的正中心,但黑色區(qū)域的中心點C對應(yīng)的是機器人的中心,這里稱其為圖像中心。原點在圖像的左上角,圖像中央黑色區(qū)域的中心是機器人的中心位置。視覺系統(tǒng)的坐標(biāo)系2023/7/299在闡述視覺系統(tǒng)之前,首先三個坐標(biāo)系圖示2023/7/3110圖像坐標(biāo)系原點在圖像的左上角,圖像中央黑色區(qū)域的中心是機器人的中心位置。機器人坐標(biāo)系和全局坐標(biāo)系

三個坐標(biāo)系圖示2023/7/2910圖像坐標(biāo)系機器人坐標(biāo)系和距離函數(shù)和反距離函數(shù)2023/7/3111全景視覺系統(tǒng)獲得的圖像通常帶有不同程度的畸變,如圖10.9,需要進行有效的校正。于是引出一個問題,例如,距離圖像中心200個像素的點所對應(yīng)(投影)的地面上的點與機器人的距離是多少(這里認(rèn)為是地面上的一點,而不是一個具體的物體上的一點,因為物體具有高度,判斷物體的位置是一個三維問題,單目視覺本質(zhì)上只能解決二維問題,在本系統(tǒng)中計算物體的距離都是通過該物體與地面的接觸點把問題簡化成二維的)。在圖像處理之前,必須得到一個重要的函數(shù),這個函數(shù)的輸入是圖像上與圖像中心的像素距離r,輸出是機器人與這個像素對應(yīng)實際位置的實際距離R,即R=F(r)。這里把它稱為距離函數(shù),標(biāo)定視覺系統(tǒng)的含義就是獲得距離函數(shù),即把像素坐標(biāo)轉(zhuǎn)換成實際坐標(biāo)。距離函數(shù)只對同一高度有效。有了它,才能實現(xiàn)測量物體與離機器人的距離,實現(xiàn)定位。距離函數(shù)使實現(xiàn)整個視覺系統(tǒng)成為可能。距離函數(shù)的獲得方法可以是手動測量的,也可以是自動的。距離函數(shù)的反函數(shù)被稱為反距離函數(shù)r。r=G(R);(10.18)G是F的反函數(shù)。該函數(shù)主要被用來計算處在場地的邊界的像素位置,但需要機器人首先完成自定位。在綠色場地的自動標(biāo)定和識別球的過程中,反距離函數(shù)有著極其重要的作用。距離函數(shù)和反距離函數(shù)2023/7/2911全景視覺系統(tǒng)獲得的坐標(biāo)轉(zhuǎn)換2023/7/3112在高度為0的情況下,圖像坐標(biāo)系和機器人坐標(biāo)系是可以互相轉(zhuǎn)化的,轉(zhuǎn)化的中介就是距離函數(shù)以及反距離函數(shù),假設(shè)圖像坐標(biāo)系中的一點(x,y),要計算它在地面上的投影的坐標(biāo)(機器人坐標(biāo)系下的坐標(biāo)),圖像中心的坐標(biāo)為(xc,yc)。當(dāng)從圖像坐標(biāo)系轉(zhuǎn)化成機器人坐標(biāo)系時,先通過距離函數(shù)計算實際距離,然后再計算角度,計算角度的公式取決于攝像機相對于機器人的裝配方向。這樣,得到了實際距離和實際角度就可以計算實際坐標(biāo),即機器人坐標(biāo)系下的坐標(biāo)。如果要從實際坐標(biāo)轉(zhuǎn)成圖像坐標(biāo),就執(zhí)行相反的過程。實際坐標(biāo)和全局坐標(biāo)的轉(zhuǎn)化以自定位為中介。定位不成功將導(dǎo)致轉(zhuǎn)化失去原有的意義。圖像坐標(biāo)不能直接和全局坐標(biāo)相互轉(zhuǎn)換,要以實際坐標(biāo)為中介。坐標(biāo)轉(zhuǎn)換2023/7/2912在高度為0的情況下,圖像坐標(biāo)系無信息區(qū)的標(biāo)定2023/7/3113無支撐柱的機器人的全景視覺系統(tǒng)得到的圖像,它的全景鏡通常是由透明材料制作成的筒狀支撐架與攝像機聯(lián)接裝配,因此在生成圖像時不會有和圖像無關(guān)的支撐柱信息存在,得到的是一個完整的全景視覺圖像。有支柱的機器人的全景視覺系統(tǒng)得到的圖像,它的中央和四周存在黑色區(qū)域,不反應(yīng)機器人四周的情況,如果在進行信息提取的時候,屏蔽這些區(qū)域,就可減少干擾和不必要的CPU負(fù)擔(dān)。為了屏蔽這些無信息區(qū),需要建立一張查找表,對于一個像素,通過該表可以查到此像素是否處在無信息區(qū)內(nèi),如果處在無信息區(qū)內(nèi),算法就跳過,不進行信息提取操作。無信息區(qū)的標(biāo)定2023/7/2913無支撐柱的機器人的全景視無信息區(qū)圖示2023/7/3114無支柱的全景視覺系統(tǒng)圖像全景鏡的三根支撐柱遮擋了“視線”,增加了無用區(qū)域自動無信息區(qū)標(biāo)定結(jié)果無信息區(qū)圖示2023/7/2914無支柱的全景視覺系統(tǒng)圖像全顏色定義——構(gòu)建顏色查找表2023/7/3115在視覺系統(tǒng)工作之前先要對顏色進行定義,即什么是綠色(場地顏色),什么是黑色(機器人顏色),什么是橙紅色(足球顏色)。定義方法可以分為兩類,第一類使用閾值,例如對于顏色空間RGB,把R>200,G<100,B<100同時成立的顏色定義為紅色。第二類是建立顏色查找表,表中條目數(shù)等于可能出現(xiàn)的顏色值的數(shù)量(即RGB能夠組成的所有組合的數(shù)量,對于大多數(shù)的計算機為256×256×256),條目的內(nèi)容是該顏色值對應(yīng)的顏色(例如綠色)代碼形式的表示,通過顏色查找表可以查出任何一個顏色值屬于或者不屬于某顏色。對比閾值法,使用顏色查找表對定義顏色得到的結(jié)果更加精細(xì)。顏色定義——構(gòu)建顏色查找表2023/7/2915在視覺系統(tǒng)工視覺標(biāo)定2023/7/3116(a)相似顏色的擴散(b)把(a)中區(qū)域內(nèi)的顏色定義為綠色的標(biāo)定結(jié)果(c)標(biāo)定完成后的結(jié)果視覺標(biāo)定2023/7/2916(a)相似顏色的擴散(b)色塊提取與跟蹤2023/7/3117定義顏色查找表后,就可確定某個像素否是綠色(場地顏色),但是這些綠色點只是一個一個像素,程序并沒把它們連接成區(qū)域。區(qū)域是由相似顏色組成的色塊。表示區(qū)域最精確的辦法是獲得它的輪廓。獲得這些輪廓通常要耗費較大的CPU資源,如擴散算法。在某些場合下,不需要獲得精確的輪廓,但是需要更高的速度,應(yīng)用在這種場合下的算法的一個典型代表是CMU的算法,該方法得到的是框定一個區(qū)域的最小矩形,并且這個矩形是不允許旋轉(zhuǎn)的,輪廓的信息被丟棄。這里介紹一種基于RegionTracker精確的區(qū)域輪廓獲得方法,該方法由FelixvonHundelshausen開發(fā)并首先使用在足球機器人上。它不但能得到精確的邊界,而且非常迅速。因為視覺系統(tǒng)得到的是連續(xù)圖像,任意前后兩幀圖像都是很接近的,所以除了在初始時需要色塊提取外,在大多時間內(nèi)可以把問題歸結(jié)于跟蹤,跟蹤通常是比較省時的。色塊提取與跟蹤2023/7/2917RegionTracker算法2023/7/3118RegionTracker算法的基礎(chǔ)是擴散算法。擴散算法需要一個或者一批符合某種要求(如顏色)的種子點,一張和圖像大小相同的布爾變量表來標(biāo)記圖像中的所有像素點是否已經(jīng)包含在所提取的區(qū)域內(nèi),這張表某個位置上為“否”,表示該位置對應(yīng)的像素點不在區(qū)域內(nèi),“是”表示在區(qū)域內(nèi),初始化時,表中對應(yīng)種子所在位置的布爾變量置為是,其他都為否,表示只有種子在區(qū)域內(nèi),通過擴散,將把一些符合要求的點標(biāo)記為在區(qū)域內(nèi)。擴散算法從種子向鄰近點(上下左右的緊鄰著的像素)擴散,判斷是否應(yīng)該擴散某個緊鄰的像素點需要兩個條件,第一:顏色值屬于要求的顏色,二:被標(biāo)記為在當(dāng)前提取的區(qū)域之外。這兩個條件符合時,把該像素標(biāo)記為處于正在當(dāng)前提取的區(qū)域內(nèi),并且作為進一步擴散的“根據(jù)地”,進一步向外擴散。當(dāng)算法擴散到不可擴散時,輪廓就形成了。用一個數(shù)組來記錄輪廓上的點,以及一張包含他們之間連接信息的表。由于兩幅連續(xù)的圖片中色塊變化不大,如圖10.16中的區(qū)域A和區(qū)域B,區(qū)域A表示前一幀的某個色塊(物體),區(qū)域B表示緊接著的后一幀的同一色塊。這兩個色塊常常有一大片交集,在RegionTracker中交集就是可以大加利用的對象。RegionTracker算法2023/7/2918Reg對綠色場地實行色塊提取的結(jié)果,藍(lán)色線條為綠色區(qū)域的輪廓。2023/7/3119對綠色場地實行色塊提取的結(jié)果,藍(lán)色線條為綠色區(qū)域的輪廓。20候選種子2023/7/3120候選種子2023/7/2920場地白線的識別2023/7/3121場地上白色標(biāo)線是機器人實現(xiàn)自定位的前提條件,在場地輪廓的基礎(chǔ)上,很容易得到白線點。對于輪廓上任何一點,可以求得通過這點且垂直于輪廓的法線,在法線上往往存在著白線點。白線的特點是具有很高的亮度,并且白線兩邊通常是綠色(場地)。算法首先以場地輪廓為起點,沿法線收縮亮度高的像素點,找到以后再以這個高亮度點為中心,沿法線搜尋兩邊是否是綠色,即先搜尋白色,如果收縮到白線點則搜尋兩邊的綠色,這兩次搜尋都是在一個小范圍內(nèi)進行的,保證了離輪廓點比較近。檢測白線的結(jié)果如圖10.19,圖中展示的是檢測白線的原理,以亮度高的點為起點,法線方向為搜尋方向,去驗證兩邊是否為綠色,如果都是綠色則認(rèn)為是白線點。圖中檢測線中點標(biāo)記過白點的是算法認(rèn)為的白線點,沒有標(biāo)記白點的檢測線系統(tǒng)認(rèn)為該中點不是白線點??梢钥吹接行┚€是白線,但系統(tǒng)沒有認(rèn)為它們是白線,球中有一點卻被標(biāo)記為白線了,因為符合檢測原則,中間亮度高,兩邊是綠色。場地白線的識別2023/7/2921檢測白線2023/7/3122檢測白線2023/7/29222023/7/3123射線檢測白線點2023/7/2923射線檢測白線點類球點和類障礙點的提取2023/7/3124對球的顏色使用閾值法定義,使用顏色亮度分離的HSV顏色空間,該空間對調(diào)整閾值比較有利。不需要把球的顏色包括得很全面,這些類球點的作用只是指明了這個位置可能有球,具體是否是球需要做精細(xì)的判斷,所以即使閾值的范圍比較小是不影響識別球的,而如果把閾值的范圍比較大會增加干擾,使得算法必須在更多位置進行精細(xì)的判斷。檢測類球點使用類似于白線點檢測的方法,只不過這次只要在場地輪廓為起點的法線上存在符合閾值定義的點以后就認(rèn)為是類球點,法線不能過長,以保證在場地綠色輪廓附近。類球點的檢測結(jié)果見圖10.21,正紅色為檢測到的類球點。提取類障礙點的目的是產(chǎn)生種子,為RegionTracker識別障礙物服務(wù)。障礙的亮度很低,因為規(guī)則規(guī)定它為黑色,所以系統(tǒng)就以亮度為判別標(biāo)準(zhǔn)。亮度低的為類球點。其檢測過程和檢測類球點一致。類球點和類障礙點的提取2023/7/2924目標(biāo)檢測與識別2023/7/3125前面詳細(xì)介紹了圖像信息的提取,其中包括白線點提取、類障礙物點提取、類球點提取,其中白線點提取是為機器人自定位服務(wù),類障礙物點與類球點提取是為識別障礙物和識別球服務(wù)。識別障礙物和球都屬于機器視覺檢測中的目標(biāo)檢測與識別。1) 障礙物的識別在球場上,機器人的周圍有各種障礙物,如隊友機器人,對方機器人,甚至人類裁判等,并且這些障礙物的位置常常是不斷變化的。機器人在場上移動,首要的原則是不能與這些障礙物發(fā)生碰撞,更高的要求是能在這樣一個動態(tài)的障礙環(huán)境中找到一個最優(yōu)的路徑到達(dá)目標(biāo)地點,甚至能夠在帶球的情況下繞過障礙物,完成帶球突破這一技術(shù)目標(biāo)。完成這些任務(wù)的最基本的前提是有一種有效的穩(wěn)定的實時的障礙物識別方法。常用的障礙物識別方法視傳感器的種類而異,這里只介紹基于圖像傳感器,即攝像頭的識別方法。系統(tǒng)使用RegionTracker作為識別障礙物的主要工具。把類球點作為種子,用RegionTracker獲得黑色色塊的邊界,區(qū)域面積的就不能認(rèn)作障礙。識別效果見圖10.22,紅白點標(biāo)記了障礙和地面的接觸點,該點決定了障礙物離機器人的距離,兩條紅線標(biāo)出了障礙所占據(jù)的角度,這在機器人的避障和射門中十分有用。避障要求機器人的行動方向不能在這個角度內(nèi),射門要求機器人的瞄準(zhǔn)方向不能在這個角度內(nèi)。圖中顯示的是穿黑色衣服的研究人員。除了這個區(qū)域的黑色以外,還有很多其他的黑色,因為他們處于無信息區(qū),或者在場地以外,算法就不去考慮這些場外信息了。圖中還有兩個小區(qū)域被藍(lán)色包圍,但是他們沒有紅白標(biāo)記,因為它們面積過小,算法不認(rèn)為這是障礙。這兩塊黑色區(qū)域原本屬于一個大的黑色塊,但是RegionTracker沒有把這塊大色塊標(biāo)記進去,因為他們在場地以外,系統(tǒng)對RegionTracker使用一個特殊的限制,如果要擴散到場外,算法就限制住它。辨別物體是否在場外,需要自定位技術(shù),和全局坐標(biāo)映射到圖像坐標(biāo)的方法。目標(biāo)檢測與識別2023/7/2925前面詳細(xì)介紹了圖像信息的國防科技大學(xué)開發(fā)的基于射線掃描方式提取黑色障礙物的算法2023/7/3126國防科技大學(xué)開發(fā)的基于射線掃描方式提取黑色障礙物的算法202識別障礙物2023/7/3127識別障礙物2023/7/2927球識別2023/7/3128(1) 橘紅色球識別同自定位一樣,檢測球也是從提取輪廓開始。首先用RegionTracker提取圖像輪廓,再搜索非場地的區(qū)域中的類球點。對于特定顏色球的識別,類球點比較容易獲取。顏色就是球的特征,這里定義一個顏色空間的區(qū)間,如對于HSV顏色空間,不妨取5<H<35且180<S<230的顏色像素點為類球點。如果某一個區(qū)域中的類球點占整個區(qū)域的像素點的總數(shù)的比例超過預(yù)先定義的閾值,則再將這些點聚合在一起,放在一個矩形檢測框內(nèi)。在該框內(nèi)將圖像二值化,對這些點群提取邊線,再用橢圓去擬合邊界來判斷是否是球。對球的判斷的準(zhǔn)確性有一個指標(biāo),稱為相似度,相似度可以由三個權(quán)重來度量:近似橢圓的程度,類球點數(shù)與所在輪廓的所有點數(shù)之比,檢測輪廓的尺寸相近程度。球識別2023/7/2928類似于雙目攝像頭的多攝像頭的數(shù)據(jù)融合得到的空間點云數(shù)據(jù),反應(yīng)球在三維空間中的位置2023/7/3129類似于雙目攝像頭的多攝像頭的數(shù)據(jù)融合得到的空間點云數(shù)據(jù),反應(yīng)

任意顏色球識別2023/7/3130依靠顏色來識別球就意味著需要對顏色進行分類,定義某些顏色為球的顏色,通常使用閾值顏色分類,或者通過顏色查找表確定顏色的分類。但是這些做法非常依賴于光線的變化,極不穩(wěn)定。如果換一個新的足球,即使光照不變,也需要重新對顏色進行分類。為了克服這一缺點,必須以球的形狀為特征,來進行識別。過去的幾年中,球形物體的識別成為了機器人足球的熱點,并且取得了一些突破,其中之一借鑒了P.Viola使用adaboost進行人臉識別的方法。Adaboost用來獲得分類器,可以使很多分類功能并不好的分類器聯(lián)合組成一個分類性能好的分類器。為了把adaboost應(yīng)用在機器視覺中,還需要使用積分圖獲得Haar特征。算法先計算出Haar特征,然后生成許多原始的分類器,adaboost可以組合這些弱分類器,獲得一個強分類器。這提供了一個優(yōu)點,人們不用費盡心思去選擇所識別模式相對于其他模式有什么特點,這種機器視覺方法適用于識別大多數(shù)物體。 任意顏色球識別2023/7/2930智能中型足球機器人的自定位2023/7/3131機器人自定位是移動機器人的重要技能,是自動導(dǎo)航的基礎(chǔ)。設(shè)想在室內(nèi),機器人不知道自己的位置,而它又不具備識別障礙的能力,它在移動的過程中就會撞到墻壁,因為不知道自己的位置意味著不知道墻壁有多遠(yuǎn)。定位的前提是要獲得已知的地圖,優(yōu)秀的機器人可以通過傳感器獲得周圍的幾何形狀,構(gòu)建地圖,然后使用定位算法得到自己的位置,進而可以規(guī)劃路徑進行導(dǎo)航了。足球機器人自主選擇路徑就是自動導(dǎo)航,足球場就相當(dāng)于一個室內(nèi)環(huán)境,球場的邊界就相當(dāng)于墻壁。定位需要已知的地圖,場地是規(guī)則詳細(xì)規(guī)定的(已知的),這樣場地模型就是地圖。智能中型足球機器人的自定位2023/7/2931機器人自定位自定位的研究背景2023/7/3132機器人自定位這個課題是機器人領(lǐng)域的熱門,人們已經(jīng)取得了一些研究成果。其中一個普遍使用的方法是利用MonteCarlo方法進行定位,也稱粒子濾波定位算法。該算法的核心是計算機器人位置的概率分布。初始化時,通常先把機器人的位置認(rèn)為是在場地中均勻分布的,然后根據(jù)不斷接收到的傳感器信息,調(diào)整概率分布,最后達(dá)到收斂,機器人在某個位置概率接近1,這樣就定位成功了。之所以說這是粒子濾波是因為它在計算概率密度函數(shù)時,把連續(xù)量離散化了,實際計算的是概率,不是概率密度。自定位的研究背景2023/7/2932機器人自定位這個課題是自定位算法的基本原理2023/7/31331) 定位的目標(biāo)定位的目標(biāo)是取得機器人在全局坐標(biāo)系的坐標(biāo)和機器人的方向(x,y,θ),x,y是坐標(biāo)值,θ是機器人的正方向,一共三個量。2) 定位——模型匹配在論述了識別白線點的方法,但是這些白線點并不是在機器人坐標(biāo)中,而是在圖像坐標(biāo)系中,并且是帶有較大畸變的,需要把這些點轉(zhuǎn)化到機器人坐標(biāo)系中,該坐標(biāo)系以機器人為原點。此時如果把機器人和這些校正后的白線點看成一個系統(tǒng),并且該系統(tǒng)通過平移和旋轉(zhuǎn)使系統(tǒng)中的白線點能夠和場地模型的白線匹配,就能夠?qū)崿F(xiàn)機器人的自定位功能。自定位算法的基本原理2023/7/2933校正后的白線點和場地模型匹配,紅色點為校正后的白線點2023/7/3134校正后的白線點和場地模型匹配,紅色點為校正后的白線點距離場(或稱距離查找表,匹配的評判工具)2023/7/3135距離場(或稱距離查找表,匹配的評判工具)2023/7/293虛擬力場2023/7/3136機器人和白線點組成的系統(tǒng)(以后就把這稱為“目標(biāo)系統(tǒng)”)需要通過平移、旋轉(zhuǎn)與場地模型相匹配。促使“目標(biāo)系統(tǒng)”移動的是一個附帶在模型上的力場,不同于距離場,它是一個矢量場,“目標(biāo)系統(tǒng)”的每個白線點都受力,他們所受的合力的方向就是“目標(biāo)系統(tǒng)”平移的方向,平移的距離和受力成正比,這些力還會產(chǎn)生轉(zhuǎn)矩,“目標(biāo)系統(tǒng)”旋轉(zhuǎn)的方向就是轉(zhuǎn)矩引起的轉(zhuǎn)動方向,旋轉(zhuǎn)角度的大小和轉(zhuǎn)矩成正比。計算轉(zhuǎn)矩的步驟是:計算白線點的質(zhì)心計算每個點受的力引起的轉(zhuǎn)矩求出這些轉(zhuǎn)矩的和虛擬力場2023/7/2936機器人和白線點組成的系統(tǒng)(以后自定位算法的實現(xiàn)2023/7/3137機器人上一共配有兩個傳感器,即攝像機,電子羅盤。其中攝像機獲得的信息為自定位的主要依據(jù)。定位分兩種情況,第一種情況,機器人不知道自己在前一幀的位置(前一刻),例如在利用第一幀圖像定位時,機器人不知道剛才在哪里,因為程序才剛剛開始。這種情況的定位是困難的,此時定位被稱為重新定位,因為這主要發(fā)生在前一幀定位失敗的情況下,需要耗費大量CPU資源。重新定位的方法是一個遍歷的過程,方法如下:分別在x、y、θ三個量的定義域內(nèi)每隔一定的步進取一個值,對以任意一組(x,y,θ)值(位置),假設(shè)機器人處在這個位置上,把白線點轉(zhuǎn)化成全局坐標(biāo)下的白線點,然后計算匹配誤差。針對的不同的(x,y,θ)可以得到不同的匹配誤差。取匹配最小的誤差,它所對應(yīng)的位置就最有可能是機器人的位置。這個過程實質(zhì)上遍歷場上每個可能的位置和方向,取匹配得最好的組合。但是這個遍歷過程是一個離散過程,離散的程度取決于步進的長度,如果步進過長,離散程度就高,得到的匹配誤差常常很大,如果步進過小,匹配的次數(shù)就會過多,造成占用CPU資源過大。當(dāng)取得了一個最小匹配誤差時,并不代表定位成功了,因為這個定位結(jié)果只是非常粗略的,有時還不一定正確。需要使用Matrix算法使得匹配更精確。Matrix算法實際上是一個由粗到細(xì)的過程,它的輸入是粗略的定位結(jié)果(x,y,θ),輸出則是準(zhǔn)確的定位結(jié)果。假設(shè)輸入的定位粗略的結(jié)果(x,y,θ),然后使用迭代算法,算法具體如下:自定位算法的實現(xiàn)2023/7/2937機器人上一共配有兩個傳智能中型足球機器人比賽規(guī)則2023/7/3138RoboCup中型組機器人的比賽規(guī)則決定了智能中型足球在機器人要使用無線通訊。在RoboCup中型組中型組比賽中,有兩個裁判在賽場上主持裁決工作,一個是場地上的主裁判,他的工作是根據(jù)規(guī)則判定每個機器人的行為是否犯規(guī),以及發(fā)出開球、暫停、進球有效等指令。這些指令是以哨聲和話語發(fā)出的,但是場上的機器人并不能直接的了解他指令的意圖,這就需要另一個裁判,即副裁判的工作就是操作場邊的一臺裁判計算機,這臺計算機和雙方的服務(wù)器計算機相連,裁判計算機中安裝有裁判盒(RefereeBox)程序,這個程序的作用就是向雙方的服務(wù)計算機發(fā)送裁判指令(開始Stop、停止Start、邊線球Throwin等)。智能中型足球機器人比賽規(guī)則2023/7/293810.2智能中型足球機器人通信子系統(tǒng)2023/7/3139RoboCup中型組比賽示意圖10.2智能中型足球機器人通信子系統(tǒng)2023/7/293智能中型足球機器人服務(wù)機程序與機器人程序2023/7/3140雙方的服務(wù)計算機上通常運行一個服務(wù)機程序,這個程序主要有兩個作用:一是將裁判盒發(fā)出的裁判指令實時可靠地發(fā)送給場上的機器人二是實時地監(jiān)視場上機器人的狀態(tài),主要包括自定位的信息和識別球的信息場地上的每個機器之間也可以通訊,這些通訊不僅包括自定位信息和球位置信息,還包括球的識別率和球相對自己的一個相對位置信息。這里要注意的一點是服務(wù)機和機器人在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上屬于同一子網(wǎng)中,服務(wù)機只是在比賽中起到看似“服務(wù)器”的功能,并不是網(wǎng)絡(luò)意義上的服務(wù)器。服務(wù)機和機器人是通過一個路由器連接的,路由器和機器人計算機是通過無線網(wǎng)絡(luò)IEEE802.11b/g完成信息互聯(lián),無線連接,路由器和服務(wù)機是通過有線連接。事先需要給每臺機器人分配一個IP地址,而且服務(wù)器的地址必須是固定不變的。下面主要在智能中型足球機器人自身的角度來介紹這兩個通訊子系統(tǒng)智能中型足球機器人服務(wù)機程序與機器人程序2023/7/294機器人和服務(wù)機的通訊2023/7/3141機器人在場上通過視覺等傳感器能夠做到自定位和球識別,但是在比賽時或者調(diào)試的時候并不能直接知道機器人是否定位成功或者識別到球,抑或定位是否正確以及球識別是否準(zhǔn)確,如果要時時地去打開看機器人內(nèi)部的計算機勢必很麻煩以及很耗時,另外特別是針對視覺檢測為基礎(chǔ)的智能中型足球機器人,人為地接近會混亂其視野,造成某些顏色信息的丟失或者是干擾(如人穿著一件鮮紅的衣服或遮擋部分場地白線),造成不可避免的測不準(zhǔn)。因此可以利用無線通信遠(yuǎn)程地檢測這些信息通訊協(xié)議為了實現(xiàn)這一通訊,機器人要實時地發(fā)送各種信息給服務(wù)機,但是并不一定每一幀都發(fā)送,這樣會有不必要的數(shù)據(jù)通信量,因為發(fā)生的數(shù)據(jù)只是用來監(jiān)視,不妨選擇隔幾幀(如5幀)發(fā)送一次。這種通訊的協(xié)議通常是自定的。機器人和服務(wù)機的通訊2023/7/2941機器人之間的通訊2023/7/3142機器人之間的通訊和機器人與服務(wù)機之間的通訊內(nèi)容相似,但是意義不同。機器人之間通訊是為了實現(xiàn)信息共享,并且在這個信息的共享的基礎(chǔ)上實現(xiàn)一些基本的操作優(yōu)先與協(xié)作。這種信息的共享是實時的,即每一幀都要共享這些信息。這種信息的共享是非常有意義的。主循環(huán){….

告知所有其他機器人我的狀態(tài);….}機器人之間的通訊2023/7/29422023/7/31431) 球位置信息在接受這三個信息之后,機器人會和自己通過視覺獲得的這些信息比較。一般來說,在光線比較好的環(huán)境中,離球比較近的機器人看到球的相似程度更加可信,那么其看到球的位置信息也更加可信,如果自己看到的球相似程度沒有對方高,則相信對方看到的球。這一點還有另外一個好處,并且這個好處對比賽而言是非常有實際意義的。如果一個機器人在后場,或者被很多其他機器人擋住視野,而無法看見球,那么它看到球的相似程度就是0,這樣任何一個看到球的隊友告訴它的信息都會被接受。自然而然地可以想象,全隊只要有一個隊員看得到球,那么全隊的隊友對球的位置都有一個把握。當(dāng)然這只是球位置信息共享的極端情況。2) 搶球的優(yōu)先級在球的位置信息共享之后,隨后會共享球相對自己的距離。這里將球的相對距離共享的意義在于,我們事先假定離球近的隊員去搶球成功率會更高,因為場上的環(huán)境時刻在改變,如果讓距離比較遠(yuǎn)的隊員去搶球,勢必造成錯失時機;而如果不設(shè)置搶球的優(yōu)先級,則勢必會造成哄搶的局面,不僅會影響進攻的效果,也可能使得機器人在碰撞中造成損壞,這些損壞是不必要的,可以避免的。上述的優(yōu)先級設(shè)置以及運行的機制,是一種默許機制,就是只接受數(shù)據(jù)信息,不接受指令信息,這一機制可以減少通訊數(shù)據(jù)量,緩解通訊信道的負(fù)擔(dān),但是對發(fā)送與接受方的處理函數(shù)的編寫提出更高的要求。2023/7/29431) 球位置信息10.3智能中型足球機器人決策子系統(tǒng)2023/7/3144前兩節(jié)視覺子系統(tǒng)和通訊子系統(tǒng),完成了智能中型足球機器人在場上需要獲取的所有信息的收集工作,這些工作都是為決策子系統(tǒng)服務(wù)的。決策系統(tǒng)在智能中型足球機器人系統(tǒng)中處于非常重要的地位,相當(dāng)于機器人的大腦。對于復(fù)雜的比賽,可能采取的策略大不相同,而對于智能中型足球機器人來說,它在場上的表現(xiàn)就是設(shè)計者的思想的重現(xiàn)。只要視力正常、腿腳靈便,這些運動員就會按照教練事先預(yù)定好的技術(shù)路線不偏不倚地正常發(fā)揮。而這個教練,就是我們決策子系統(tǒng)的軟件設(shè)計者。常用的智能控制系統(tǒng)包括Saridis在1977年提出的遞階智能控制系統(tǒng),R:Brooks在1986年提出的基于行為的智能體系結(jié)構(gòu)和包含這兩種控制系統(tǒng)的各種混合式智能控制系統(tǒng)。但是,目前的各種機器人智能控制系統(tǒng),主要針對單個機器人。機器人足球中型組為分布式多機器人系統(tǒng),涉及到群體機器人智能控制,包括群體合作與對抗、群體協(xié)作和協(xié)調(diào)、多機器人角色分配等。在機器人足球賽中,不同隊伍的機器人群體之間的關(guān)系是對抗的。在不同場次的比賽中,對抗對象不一樣,不同隊伍的比賽風(fēng)格不同、戰(zhàn)術(shù)不同、單個機器人智能程度不同,機器人群體需要根據(jù)不同的對抗對象調(diào)整自身智能系統(tǒng)。10.3智能中型足球機器人決策子系統(tǒng)2023/7/2944前2023/7/3145決策子系統(tǒng)的特點是和人類足球的很多特性是相同的,是對人類足球的一種模仿。通過分析足球機器人的行為本質(zhì),類比人類的足球或者其他運動的模式,我們不妨再將決策子系統(tǒng)做一個更細(xì)致的劃分。針對智能中型足球機器人,決策子系統(tǒng)可以劃分為能力層面和意識層面。所謂能力,就是一個機器人解決特定問題的技能,這種技能是簡單的,特定的,并且它的實現(xiàn)是可靠的;所謂意識,就是機器人根據(jù)當(dāng)前的形勢作出的宏觀的總體的判斷,這個判斷會驅(qū)使機器人調(diào)用它的各種能力來達(dá)到最終目標(biāo)。簡單地看待這兩個層面的關(guān)系,就好比一個人在街上走,他想去商店買東西,這是他的意識,而在路上會有行人,他不能撞到行人,也不能撞到樹木房子,他還要保持身體的平衡,這些都是能力。這些能力的集合完成他意識所要達(dá)到的目標(biāo)。意識決定做什么,能力決定怎么做。2023/7/2945決策子系統(tǒng)的特點是和人類足球的很多特性智能中型足球機器人決策之能力2023/7/3146智能中型足球機器人和其他足球機器人一樣,要面對一些基本的問題,看到了球,如何去抓球,如何帶球,在場上移動怎樣能繞過障礙等等。這些將被歸為能力層面要解決的問題??梢韵胂螅@些是作為一個足球運動員的最基本的素質(zhì)。在人類足球中,這些能力甚至被歸為身體素質(zhì),如果沒有這些能力,就不是一個合格的足球運動員。下面主要介紹三個基本能力:搶球、避障、帶球避障。智能中型足球機器人決策之能力2023/7/2946智能中型足搶球2023/7/3147搶球,就是看到球去之后過去搶。在這里只考慮如何去搶球,無需考慮什么時候去搶或者是否去搶球。搶球需要的信息有球的相對位置信息、球的速度。將球放在機器人坐標(biāo)內(nèi),假設(shè)球的位置在b點,球的速度為Vball

,搶球所需要的速度為Vout

。這里將搶球這一動作再做簡化,就是搶球的時候是不避障的,這樣因為考慮到搶球本身就是一種對抗性的動作,搶球避障好比拳頭揮出去還不能打到人,加入避障是自相矛盾的。Vout=(Vball+ob)×k;(10.25)k為速度系數(shù),即計算出來的向量是不能直接作為速度輸出的,要乘以一定的速度系數(shù)k。下面給出Vout

的計算流程:搶球2023/7/2947搶球,就是看到球去之后過去搶。在這搶球速度矢量疊加示意圖2023/7/3148搶球速度矢量疊加示意圖2023/7/2948避障2023/7/3149避障,顧名思義就是避開障礙物。在球場上,機器人的周圍有各種障礙物,如隊友機器人,對方機器人,甚至人類裁判等,并且這些障礙物的位置常常是不斷變化的。機器人在場上移動,首要的原則是不能與這些障礙物發(fā)生碰撞,更高的要求是能在這樣一個動態(tài)的障礙環(huán)境中找到一個最優(yōu)的路徑到達(dá)目標(biāo)地點,甚至能夠在帶球的情況下繞過障礙物,完成帶球突破這一技術(shù)目標(biāo)。在視覺子系統(tǒng)中已經(jīng)詳細(xì)介紹了障礙物的檢測方法,現(xiàn)在假定障礙物的位置信息存放在一個表中,這一工作在視覺子系統(tǒng)中已經(jīng)完成。并且已知條件是機器人自己在全局的位置,以及目標(biāo)點在全局的位置。避障所作的工作就是找到一條最優(yōu)的路徑到達(dá)目標(biāo)位置。避障也稱為路徑規(guī)劃。在RoboCup中型組機器人中,和小型組機器人最大的不同是不能獲取到全局的障礙物信息,很多參賽隊都只能做局部的路徑規(guī)劃,即只規(guī)劃能看到的這一部分路徑,那些障礙物后面的看不到的部分不做規(guī)劃。目前最常用的方法是人工勢場法路徑規(guī)劃。避障2023/7/2949人工勢場避障算法2023/7/3150人工勢場避障算法2023/7/2950帶球避障2023/7/3151帶球避障是對避障算法的改進,完成帶球到達(dá)目標(biāo)點這一動作。帶球避障,需要做如下假定:假定已經(jīng)搶到球,有全局定位,有障礙物的位置信息表,以及帶球的目標(biāo)點。要同時滿足這四個條件才會啟發(fā)帶球避障程序運行。帶球避障和移動避障在算法上沒有本質(zhì)區(qū)別,都是使用人工勢場法計算出每一幀的將來速度。但是因為是帶球,和前者有2個區(qū)別:首先,帶球的時候球已經(jīng)和機器人在一起,可以看作是一個整體,視覺檢測必然會每一幀檢測到球,在這里球不再是需要規(guī)避的對象,因此不用將球加入障礙物信息表。其次,因為球和機器人是連為一體的,但是當(dāng)速度發(fā)生變化時,球可能會帶丟,我們希望的是讓機器人“抱”著球前進,就是機器人圍繞球,以球為中心旋轉(zhuǎn),而不是以機器人自身為中心選擇。在常規(guī)的避障算法輸出速度之后,要將機器人為中心的旋轉(zhuǎn)角速度換算成以球為中心線速度疊加在原來的x方向速度上。假設(shè)輸出速度為(Vx0,Vy0,w0),輸出速度為(Vx,Vy,w),機器人中心和球心的距離為dVx=w0×d+Vx0;(10.27)Vy=Vy;(10.28)w=w0;(10.29)帶球避障2023/7/2951輸出速度的再處理,三角形為機器人俯視圖,圓形為假定已持有的球2023/7/3152輸出速度的再處理,三角形為機器人俯視圖,圓形為假定已持有的球智能中型足球機器人決策之意識層2023/7/3153智能中型足球機器人決策之意識層2023/7/2953隱式合作和顯式合作2023/7/3154機器人的合作可分為隱式地合作和顯式地合作,兩者的區(qū)別在于:隱式配合主要是體現(xiàn)在場上所有的機器人維護一個共同的世界模型,通過利用世界模型的信息來實現(xiàn)配合。以防守動作為例,場上的所有隊員根據(jù)共享的世界模型中自身的位置,其他隊員的動作和離球的距離來決定自己的防守動作。隱式合作中,各機器人的地位平等。顯式合作是指合作機器人之間通過直接通信實現(xiàn)合作,它由合作的發(fā)起者(我們稱為主控者)發(fā)起。主控者根據(jù)需要,選擇并通知一個或者多個隊友共同完成戰(zhàn)術(shù)合作。戰(zhàn)術(shù)完成后,合作自然解除。這兩種合作都是常用的手段,國防科技大學(xué)使用的是完全顯式的合作,上海大學(xué)Lengends中型組使用的是完全隱式的合作。隱式合作和顯式合作2023/7/2954機器人的合作可分為隱隱式合作與顯式合作2023/7/3155隱式合作與顯式合作2023/7/2955角色分配2023/7/3156這里我們分別從進攻和防守來介紹一種簡單的設(shè)計模式。先做這樣一個假定,全隊只有2種隊員,純粹的進攻球員和純粹的防守球員。每個球員在場上有一個基本位置,這個基本為是事先設(shè)定好的,類似于人類足球中的陣型。這在智能中型機器人足球中體現(xiàn)為一系列點的全局坐標(biāo)。下頁圖中是一種陣型的基本坐標(biāo)圖。在圖中有守門員、邊衛(wèi)、邊鋒、前鋒,不要被這些名字迷惑,從行為上來說,只有守門員是純粹的防守球員,其他的都是純粹的進攻球員。它們的名字不同僅僅是因為基本位置不同而根據(jù)約定俗成這樣稱呼的。也就是說進攻球員的本質(zhì)是一樣的,它們在場上的不同表現(xiàn)只是因為位置的差異造成的。角色分配2023/7/2956這里我們分別從進攻和防守來介紹一種陣型的基本坐標(biāo)圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論