基于FPGA的中型組機(jī)器人模型_第1頁
基于FPGA的中型組機(jī)器人模型_第2頁
基于FPGA的中型組機(jī)器人模型_第3頁
基于FPGA的中型組機(jī)器人模型_第4頁
基于FPGA的中型組機(jī)器人模型_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于FPGA的中型組機(jī)器人模型裴東RoboCup中型組RoboCup中型組比賽要求機(jī)器人是全分布式和全自主的,必須能夠通過自身攜帶的傳感器,以及與隊友的無線通信獲得環(huán)境感知信息,使用自身攜帶的計算機(jī)自主完成機(jī)器人的決策控制;RoboCup中型組涉及的研究內(nèi)容包括機(jī)械結(jié)構(gòu)設(shè)計、實時圖像處理、機(jī)器人視覺、機(jī)器人自定位、目標(biāo)識別與目標(biāo)跟蹤、運動控制、移動機(jī)器人的控制體系結(jié)構(gòu)、路徑和軌跡規(guī)劃、機(jī)器學(xué)習(xí)、多機(jī)器人協(xié)調(diào)控制、多傳感器信息融合等;FPGA模型結(jié)構(gòu)FPAG模型特點圖像的采集ADV7180的配置

I2C控制器每次傳輸24位數(shù)據(jù),前8位是從設(shè)備地址即ADV7180,接下來8位是它的寄存器地址,最后8位是數(shù)據(jù),I2C控制器使用33個I2C時鐘周期完成1次24位數(shù)據(jù)傳輸。第1個時鐘周期初始化控制器,第2、3周期啟動傳輸,第4-30個周期傳輸數(shù)據(jù)(其中包含24位數(shù)據(jù)和3個ACK),最后3個周期停止傳輸??刂破髦惺褂昧艘粋€6位計數(shù)器對傳輸周期計數(shù)。I2C總線的配置PAL制式的視頻信號的場消隱:1.消隱信號共49行

2.偶數(shù)場消隱期為24行

3.奇數(shù)場的消隱期25行4.624~22為偶數(shù)場消隱數(shù),311~335為奇數(shù)場消隱數(shù)據(jù)。H、V、F為行控制信號。ITU656解碼提取720--640:

為調(diào)試方便,需要將采集到的圖像要通過VGA顯示出來,故要提取出適合VGA分辨率的640×480的像素數(shù)據(jù)。

1.實現(xiàn)方法要將這720個像素通過640線的VGA顯示器輸出,必須要裁減掉其中的80個像素。在720線的像素中每隔9個點就去掉一個像素,這樣即可使圖像依舊保持其原有的完整性,而且也不會引起太大的失真。使圖像看起來和原始圖像沒有太大區(qū)別。

2.實現(xiàn)過程定義一個水平計數(shù)器,除法器的被除數(shù)就為該計數(shù)器的值,除數(shù)設(shè)置為固定值9,當(dāng)余數(shù)為0的時候,該像素點就被丟棄。提取像素數(shù)據(jù)提取576—480

取240行偶數(shù)場數(shù)據(jù)和240行奇數(shù)場數(shù)據(jù)組成480行VGA數(shù)據(jù)。其中,其它數(shù)據(jù)丟棄。這樣一來,丟棄的數(shù)據(jù)也僅是一副圖像的最邊緣的一部分,對整副圖像的質(zhì)量并無太大影響。偶數(shù)場取24024~264行奇數(shù)場取240行312~552行3.出現(xiàn)的問題

由于隔9個像素丟棄一個數(shù)據(jù),這里還存在著一個問題:視頻信號的采樣序列是Cb,Y,Cr,Y,Cb,Y,Cr,?每隔一個像素就丟棄該像素的色度信息,所以當(dāng)除法器余數(shù)為0時,丟棄的數(shù)據(jù)可能是包含Y、Cb、Cr的一個完整的像素,也可能是只包含亮度Y的一個像素。丟棄的數(shù)據(jù)為只包含亮度信息的像素點:將此像素點的亮度值Y丟棄,并將上一個像素點的色度分量Cr同時丟棄。丟棄的數(shù)據(jù)為一個完整的像素點,包含了Y、Cb、Cr分量值:將分量Y和Cb丟棄,保留Cr作為下一個像素點的Cr分量一起保存。提取像素數(shù)據(jù)1.解碼后得到的是8位數(shù)據(jù)流,由于SDRAM每單元數(shù)據(jù)為16位,所以將一個亮度信號Y和一個色度信號Cr或Cb合在一起存入到一個地址空間(16bit)。2.PAL制式圖像是采用隔行掃描的方式,將一幀圖像分兩場掃描。第一場先掃出1、3、5、7?等奇數(shù)行,第二場掃2、4、6、8?等偶數(shù)行。提取出其中的有效像素順序存入到SDRAM的0-640×576的地址空間。3.利用對SDRAM的讀寫地址的控制能夠巧妙的解決隔行到逐行的轉(zhuǎn)換問題,數(shù)據(jù)寫入SDRAM是將隔行數(shù)據(jù)寫入到SDRAM的0-640×576的地址空間中,其中640×24-640×264為奇數(shù)場的240行有效數(shù)據(jù),640×312-640×552為偶數(shù)場的240行有效數(shù)據(jù)。兩場數(shù)據(jù)分別通過不同的兩個FIFO讀出;SDRAM控制器一行4:2:2的YCrCb的視頻數(shù)據(jù)中,以27MHz時鐘采樣,則Y有720個,Cb、Cr各360個。也即Y的采樣時鐘為13.5MHz,Cb、Cr的采樣時鐘為6.75MHz。在4個讀的時候讀兩次就變4:4:4,而像素時鐘為13.5MHz。27MHzCLOCK中Y被改變了2次,而Cb,Cr被賦值一次。

4:2:2的數(shù)據(jù)流:

CbYCrYCbYCrY

一個完整的像素點是由亮度、兩個色差信號組成,插值其實就是借用上一像素點或下一像素點的Cb、Cr

插值 R=1.164(Y-16)+1.596(Cr-128)G=1.164(Y-16)-0.813(Cr-128)-0.392(Cb-128)B=1.164(Y-16)+2.017(Cb-128)注意問題:色度空間變換涉及到小數(shù)運算。在HDL描述語言中,對于小數(shù)的運算,如果采取行為描述,通常是將小數(shù)乘以一個數(shù)A(2的n次方數(shù))轉(zhuǎn)化為整數(shù),計算完成后,將結(jié)果除以這個數(shù)A。由于A為2的整數(shù)次冪,所以除以A就可轉(zhuǎn)換為對被除數(shù)的移位操作。

色度空間轉(zhuǎn)換FPGA特別適用于以流水線方式和并行方式進(jìn)行數(shù)據(jù)處理,在運算復(fù)雜程度相對較低但速度要求嚴(yán)格的原圖像預(yù)處理中,選擇FPGA這樣的硬件電路實現(xiàn),成本低而且速度可以滿足實時處理的要求。至于此后的目標(biāo)檢測與跟蹤,由于算法較為復(fù)雜,對芯片的處理能力要求較高,可以采用具有強(qiáng)大數(shù)字信號處理能力的DSP來實現(xiàn),以克服過去硬件實現(xiàn)復(fù)雜、成本高、實時性差、成本高等不足。而前期由于采用了FPGA進(jìn)行圖像預(yù)處理,將大大減輕后續(xù)DSP的運算壓力,使得其有更大的能力完成目標(biāo)檢測和跟蹤。目標(biāo)檢測現(xiàn)場可編程門陣列

(FPGA)的優(yōu)點主要在于它有很強(qiáng)的靈活性,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,有較強(qiáng)的通用性,適于模塊化設(shè)計。同時其開發(fā)周期較短,系統(tǒng)易于維護(hù)和擴(kuò)展,適合于實時信號處理。目前,F(xiàn)PGA的容量已經(jīng)跨過了百萬門級,因而FPGA已成了解決系統(tǒng)級設(shè)計的重要選擇方案之一。由上圖看出,PAL制式采集過程中,幀存中的數(shù)據(jù)是YCbCr格式的數(shù)據(jù),因此,為方便后面的圖像閾值化計算,可選用YCrCb格式進(jìn)行圖像的閾值化處理。再者,也可選擇RGB格式進(jìn)行處理,或者選擇YUV、HIS等,但都需要將RGB格式轉(zhuǎn)換為YUV或者HIS格式。顏色空間選擇YCbCr顏色空間YCbCr空間模型在電視的色彩顯示等領(lǐng)域大顯身手。其中Y為亮度分量,Cb為藍(lán)色色度分量,C:為紅色色度分量。它將具有亮度分量分離的優(yōu)點,這和HSV空間模型有相似之處。不過,因為它可以從RGB空間模型經(jīng)過線性變化得到,所以直接應(yīng)用于色彩聚類分析的情況不多,而在其基礎(chǔ)上的變換模型的應(yīng)用更為普遍。非線性空間往往存在奇異性,而經(jīng)RGB空間模型進(jìn)行線性變換得到的YCbCr空間模型,可以克服這種奇異性。實驗證明:使用YCbCr顏色空間模型對于檢測球,具有比較穩(wěn)定的效果;閾值化根據(jù)相應(yīng)的顏色空間,選定合適的閾值,對圖像每個像素做比較,如果符合判斷條件,則標(biāo)記為白點,否則,標(biāo)記為黑點,直到一幀圖像結(jié)束,并將結(jié)果存進(jìn)另外一塊片內(nèi)RAM中,便于后續(xù)的繼續(xù)處理;本設(shè)計中,設(shè)置了多種顏色空間模式,可通過按鍵控制選用哪一種顏色空間模式進(jìn)行閾值化處理;濾波經(jīng)過閾值化處理后的圖像,會有一些噪聲和干擾點,因此,濾波處理將變得很必要。通過的濾波都會采用各種算子處理。本系統(tǒng)中,已經(jīng)圖像轉(zhuǎn)化為二值圖像,故采用形態(tài)學(xué)濾波處理,效果較好;具體的實現(xiàn)方法可有兩種:其一,將640×480大小的圖像分成80×60的小塊,每塊大小為8×8,濾波過程是:計算每塊中白點的個數(shù),如果滿足一定的條件,則判斷這個塊屬于目標(biāo)區(qū)中的一點,標(biāo)記為全白;否則全部標(biāo)記為黑點,不屬于目標(biāo)區(qū)域;以此類推,直至一幀圖像結(jié)束。特點:處理速度非???,但對于處理后的結(jié)果顯得不是很平滑,不管目標(biāo)是圓形的還是方形的,都只能大概判斷出一個點;濾波其二,設(shè)置一個大小為7×7的結(jié)構(gòu)元,如下圖所示。從圖像頂端開始,依次滑動處理,結(jié)構(gòu)元中的值與相對應(yīng)的像素值做與處理,然后統(tǒng)計為1的個數(shù),如果滿足一定的條件,則標(biāo)記為全白;否則全部標(biāo)記為黑點;以此類推,直至一幀圖像結(jié)束。7×7結(jié)構(gòu)元相比方法一,此法是針對每一個像素做的處理,所以處理速度較慢,但是對于目標(biāo)物體的形狀保存的較完好,對于目標(biāo)的檢測效果較好。目標(biāo)定位經(jīng)過濾波后的圖像,目標(biāo)物體已經(jīng)很清晰的看見,接下來主要的做的就是:如何找到物體所在的中心位置,對于DSP處理器來說,通過復(fù)雜的存儲地址遍歷,可迅速找到,但對于FPGA來說,這一個點就顯得不夠靈活。我們采取的方法是用狀態(tài)機(jī);分為橫向掃描和縱向掃描。橫向掃描主要是檢測出x方向上的起點和終點;縱向掃描主要是檢測出y方向上的起點和終點;計算得到目標(biāo)物體的起點和終點,即可求出目標(biāo)位置的中心位置;

目標(biāo)定位為了增加識別的穩(wěn)定性,我們對識別到的目標(biāo)物體的中心位置進(jìn)行了濾波處理,使得間的結(jié)果更加準(zhǔn)確;具體的實現(xiàn)方法是:設(shè)中心位置為(x,y),則對之前15幀和當(dāng)前幀(總共16幀的結(jié)果)處理得到的中心位置x和y分量,分別做中值濾波處理,這樣的運算,對于FPGA來說,再適合不過了。兩路同時進(jìn)行,互不影響;中值濾波實現(xiàn)結(jié)構(gòu)目標(biāo)跟蹤檢測到目標(biāo)物體之后,就要設(shè)法讓機(jī)器人跟這足球運動,本系統(tǒng)只做了簡單的跟蹤,對于較為復(fù)雜的跟蹤,如對于球速的估計,機(jī)器人本身姿態(tài)估計,以及卡爾曼濾波等,沒有進(jìn)行深入的研究。本設(shè)計的跟蹤方法是:檢測出目標(biāo)物體的坐標(biāo),而后與全景圖像的中心點做比較,找到相對坐標(biāo),之后對x方向、y方向、以及機(jī)器人的角速度w分別進(jìn)行判斷賦值;如右圖x方向速度賦值流程;注:右圖數(shù)字為像素個數(shù)值全景圖像中運動目標(biāo)跟蹤底層運動控制

中型組機(jī)器人的控制系統(tǒng)需要實時控制三個或四個電機(jī)同時動作

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論