畢業(yè)論文-基于視角的智能車路徑信息采集【精校排版】_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b>  (20 屆)</b></p><p>  基于視角的智能車路徑信息采集</p><p><b>  目錄</b></p><p><b>  摘要III</b></p><p>

2、  AbstractIV</p><p><b>  第一章 緒論1</b></p><p><b>  1.1 背景1</b></p><p><b>  1.2 現(xiàn)狀2</b></p><p>  1.3 目的及意義3</p><p&g

3、t;  1.4 本文結(jié)構(gòu)4</p><p>  第二章 攝像頭和微控制器6</p><p>  2.1 攝像頭的分類及原理6</p><p>  2.2 數(shù)字攝像頭OV6620的簡介8</p><p>  2.3 智能車微控制器簡介11</p><p>  第三章 系統(tǒng)總體設(shè)計13</p&

4、gt;<p>  3.1 智能車結(jié)構(gòu)框圖13</p><p>  3.2 路徑信息采集硬件設(shè)計14</p><p>  3.3 路徑信息采集軟件設(shè)計15</p><p>  3.4 圖像采集16</p><p>  3.5 圖像處理16</p><p>  第四章 詳細設(shè)計18&l

5、t;/p><p>  4.1 數(shù)字攝像頭與微控制器的接口18</p><p>  4.2 微控制器相關(guān)資源的使用情況和初始化18</p><p>  4.3 圖像數(shù)據(jù)的緩沖20</p><p>  4.4 匯編語言在圖像采集中的應(yīng)用22</p><p>  4.5 圖像的二值化23</p>

6、<p>  第五章 調(diào)試與實現(xiàn)24</p><p>  5.1 攝像頭的安裝與調(diào)試24</p><p>  5.2 軟件調(diào)試25</p><p>  5.3 借助上位機調(diào)試26</p><p>  第六章 總結(jié)30</p><p><b>  參考文獻31</b>

7、</p><p><b>  附錄32</b></p><p><b>  致謝34</b></p><p>  基于視角的智能車路徑信息采集</p><p><b>  摘要</b></p><p>  自動尋跡智能車涉及到當(dāng)前高技術(shù)領(lǐng)域內(nèi)的許多先

8、進技術(shù),其中最主要的是傳感技術(shù)、路徑規(guī)劃和運動控制。本課題是以我參加的第五屆飛思卡爾智能車競賽為背景,以微控制器作為核心控制單元,以數(shù)字攝像頭作為路徑識別傳感器,以直流電機作為小車的驅(qū)動裝置,以舵機控制為小車的轉(zhuǎn)向。車模競賽的賽道是一個具有特定幾何尺寸約束、摩擦系數(shù)及光學(xué)特性的KT板,其中心貼有對可見光及不可見光均有較強吸收特性的黑色條帶作為引導(dǎo)線,寬度為2.5cm。在行駛過程中,系統(tǒng)通過攝像頭獲取前方賽道的圖像數(shù)據(jù),同時通過測速傳感器

9、實時獲取智能車的速度,采用路徑搜索算法進行尋線判斷和速度分析,然后作控制決策,控制轉(zhuǎn)向舵機和直流驅(qū)動電機工作。</p><p>  智能車通過實時采集到圖像由微控制器進行算法的判斷,再由微控制器通過控制電機和舵機對自身運動速度及方向等進行調(diào)整來“沿”賽道快速行駛。本文主要介紹通過數(shù)字攝像頭和模擬攝像頭的原理比較后,以O(shè)V6620為元器件實現(xiàn)圖像采集的過程及對采集到路徑信息的識別和調(diào)試。</p>&l

10、t;p>  關(guān)鍵詞:智能車;圖像采集;微控制器;數(shù)字攝像頭</p><p>  Path Information Collection of Intelligent Vehicle Based on Perspective</p><p><b>  Abstract</b></p><p>  Automatic tracing int

11、elligent vehicle involved in the field of high technology many advanced technology, one of the most main is sensing technology, path planning and motion control. This topic is I attend the fifth freescale intelligent car

12、 race as a background, based on the micro controller as the key control unit, digital camera sensor, as a pathway recognition in dc motor as a car drives to steering gear control for car steering. The track is a draw com

13、petition has specific geometric size co</p><p>  Intelligent car through the real-time data acquisition to image by MCU proceed algorithm of judgement, again by MCU through the control of their own and servo

14、 motor speed and direction of movement along the "adjusted to" driving fast track. This paper mainly introduces digital cameras and analog camera by the principle of OV6620 after comparing with for components,

15、the process of collecting and realize image for the collected information recognition and debugging path. </p><p>  Key words: Intelligent Car, Image Acquisition, MCU ,Digital Cameras</p><p><

16、;b>  第一章 緒論</b></p><p><b>  1.1 背景</b></p><p>  全國大學(xué)生“飛思卡爾”杯智能汽車競賽是由教育部高等自動化專業(yè)教學(xué)指導(dǎo)分委員會主辦,以智能汽車為研究對象的創(chuàng)意性科技競賽。該競賽是以迅猛發(fā)展、前景廣闊的汽車電子為背景,涵蓋自動控制、模式識別、傳感技術(shù)、電子、電氣、計算機、機械與汽車等多個學(xué)科專業(yè)。

17、由競賽秘書處為各參賽隊提供/購置規(guī)定范圍內(nèi)的標(biāo)準硬軟件技術(shù)平臺,競賽過程包括理論設(shè)計、實際制作、整車調(diào)試、現(xiàn)場比賽等環(huán)節(jié),要求學(xué)生組成團隊,協(xié)同工作,初步體會一個工程性的研究開發(fā)項目從設(shè)計到實現(xiàn)的全過程。競賽凝聚了各隊同學(xué)們的創(chuàng)造性設(shè)計和開發(fā),以精確和速度作為賽車追求的最高目標(biāo)。[1]競賽中的賽車模型按道路檢測方式的不同,分為光電組、攝像頭組、電磁組(第五屆起)分別進行比賽。</p><p>  我們參加的攝像頭

18、組智能車所需的各主要單元簡介如下:</p><p>  微控制核心系統(tǒng)(MCU),統(tǒng)一采用了FREESCAL公司的MC9S12XS128的微控制芯片,具體使用到MCU的模塊包括:數(shù)字與模擬信號模塊、PIT和RTI定時、PWM脈沖調(diào)制、SCI串行通信、I/O口等。</p><p>  傳感器,采用了數(shù)字攝像頭OV6620。</p><p>  電源部分,采用了7.2V

19、 2000mA Ni-Cd蓄電池作為本方案的系統(tǒng)能源。并且通過穩(wěn)壓電路分出5V電壓分別給舵機和MCU供電。</p><p>  電機控制模塊(車速控制模塊),接收速度控制PID信號,采用Bang-bang算法(小于給定車速時,最大輸出;大于時,最小。)控制電機運行,達到控制車速目的。</p><p>  轉(zhuǎn)向控制模塊,通過方向PID控制舵機轉(zhuǎn)向,進而控制小車轉(zhuǎn)彎。</p>&

20、lt;p>  無線傳輸模塊,使用了SCI進行無線傳輸和接收,通過上位機軟件,可以實現(xiàn)對小車狀態(tài)的實時監(jiān)控。</p><p>  智能小車跑道的要求為:表面為白色,中心有連續(xù)黑線作為引導(dǎo)線,黑線寬25mm,鋪設(shè)跑道地板顏色與背景不一樣;跑道寬度為50cm,窄道區(qū)的寬度為45cm;跑道最小曲率半徑不小于50厘米; 跑道可以交叉,交叉角為90度;起跑線為特殊十字線;決賽的跑道中還會出現(xiàn)坡道。智能車競賽的賽道如圖1

21、.1所示。</p><p>  圖1.1 智能車賽道示意圖</p><p><b>  1.2 現(xiàn)狀</b></p><p>  該競賽迄今已成功舉辦了五屆,從第一屆共有25個省(自治區(qū))、直轄市59所高校的112支隊伍參賽開始,發(fā)展到第五屆共有來自全國26個省(自治區(qū))、直轄市的230余所高校的780支隊伍參賽,分西部、華南、東北、華東與

22、華北五大分賽區(qū)進行選拔。分賽區(qū)各組別獲得前十名左右的隊伍將有資格參加全國總決賽。</p><p>  在智能賽車制作過程中的首要任務(wù)就是對賽車傳感器的選擇。只有選擇好切實可行的方案才能奠定后期賽車能否達到較好的運行狀態(tài)和良好的速度。今年的智能車大賽有三種類別,分別為:光電組,攝像頭組,電磁組。我們小組選擇了攝像頭組方向進行制作。而以攝像頭為傳感器的種類也有很多,總的來說有數(shù)字攝像頭和模擬攝像頭兩大類。經(jīng)過對比篩選

23、我們確定以數(shù)字攝像頭OV6620做為智能車的傳感器。之后圍繞給定的傳感器和MCU進行硬件的設(shè)計和搭建。硬件組合完畢后就是對賽車最重要的軟件調(diào)試階段。硬件電路部分我們可以用示波器、萬用表等工具進行測試。軟件部分的話就需要用虛擬儀器進行適當(dāng)?shù)恼{(diào)試。當(dāng)然核心部分為軟件的設(shè)計和反復(fù)的調(diào)試修改,使數(shù)字攝像頭采集到的圖像通過虛擬軟件反映到電腦上,實現(xiàn)調(diào)節(jié)測試功能。</p><p>  1.3 目的及意義</p>

24、<p>  攝像頭采集路徑信息的方式有很多,根據(jù)攝像頭采集信號的種類大體可分為模擬信號和數(shù)字信號兩種。其中模擬視頻信號攜帶了由電磁信號變化而建立的圖像信息,可用電壓值的不同來表示,比如黑白信號,0V表示黑,0.7V表示白,其他灰度介于兩者之間。數(shù)字視頻信號是通過把視頻核的每個像素表現(xiàn)為不連續(xù)的顏色值來傳送圖像資料,并且由計算機使用二進制數(shù)據(jù)格式來傳送和儲存像素值。數(shù)字視頻信號沒有噪聲,用0和1表示,不會產(chǎn)生混淆,數(shù)字視頻信

25、號可以長距離傳輸而不產(chǎn)生損失,可以通過網(wǎng)絡(luò)線,光纖等介質(zhì)傳輸,很方便的實現(xiàn)資源共享[2]。</p><p>  根據(jù)成像材料可分為CCD和CMOS兩種。怎樣才能更為高效、直接、快捷的采集到圖像是攝像頭智能車比賽成功的先決。</p><p>  本次課題我將詳細比較CCD和CMOS數(shù)字攝像頭的優(yōu)缺點和采集圖像的一些原理,并綜合考慮得出傳感器的選取。并將選取好的攝像頭通過硬件設(shè)計和軟件編譯的結(jié)

26、合最終實現(xiàn)智能車路徑信息的采集,采集的最終結(jié)果如圖1.2所示,而二值化處理后的結(jié)果如圖1.3所示。</p><p>  圖1.2 采集到的賽道起始線的灰值圖像</p><p>  圖1.3 二值化后的采集圖像</p><p>  研究該課題除了對智能車的應(yīng)用外還可以適用于多種領(lǐng)域,如機器人的智能識別,自動監(jiān)控等。同時通過參加此次智能車比賽后,對自己的動手能力,聯(lián)

27、系實踐能力,開闊視野等多方面給以了加強。從中學(xué)習(xí)到很多東西,也意識到自己還有很多東西只是從書本上了解還是遠遠不夠的,只有實踐才能真正的掌握。對我今后的學(xué)習(xí)和工作都有很大的幫助意義。</p><p><b>  1.4 本文結(jié)構(gòu)</b></p><p>  本文通過對數(shù)字攝像頭的基本原理和智能車比賽的闡述,詳細的介紹了基于視角的智能車圖像采集的實現(xiàn)過程。</p&

28、gt;<p>  第一章:緒論。本章闡述了本課題的背景、現(xiàn)狀及研究意義。</p><p>  第二章:攝像頭和微控制器。本章具體分析了攝像頭的分類和各自優(yōu)缺點以及選取的CMOS數(shù)字攝像頭OV6620的原理和所用微控制器的簡介。</p><p>  第三章:總體設(shè)計。主要介紹了智能車結(jié)構(gòu)框圖和攝像頭設(shè)計方案以及選型依據(jù),還介紹了攝像頭相關(guān)程序的工作流程。</p>

29、<p>  第四章:詳細設(shè)計。本章對實現(xiàn)路徑信息采集的整個硬件設(shè)計和軟件結(jié)合過程中的最核心部分進行詳細的闡述。</p><p>  第五章:調(diào)試與實現(xiàn)。本章對外圍的硬件和內(nèi)部軟件的調(diào)試以及用上位機進行調(diào)試。得到較理想的圖像結(jié)果并進行了實際的路徑采集測試。 </p><p>  第六章:總結(jié)。本章總結(jié)整個調(diào)試過程中出現(xiàn)的問題和得到的經(jīng)驗,并指出了系統(tǒng)設(shè)計中還存在不足和改進的方向。&

30、lt;/p><p>  第二章 攝像頭和微控制器</p><p>  2.1 攝像頭的分類及原理</p><p>  攝像頭按照其采用的感光器件來分,有CCD和CMOS之分。其中CCD(Charge Coupled Device,電荷耦合組件)是應(yīng)用在攝像、圖像掃描方面的高端技術(shù)組件,CMOS(Complementary etal-Oxide Semiconduct

31、or,附加金屬氧化物半導(dǎo)體組件)則大多應(yīng)用在一些低端視頻產(chǎn)品中。但是這樣的定位并不表示在具體的攝像頭使用時,兩者有很大區(qū)別。事實上經(jīng)過技術(shù)改造,目前CCD和CMOS的實際效果的差距已經(jīng)大大的減小了。下面具體總結(jié)了CCD和CMOS攝像頭的讀取方式、采集速度、耗電量、成像質(zhì)量四個方面的區(qū)別:</p><p>  CCD傳感器存儲的電荷信息需在同步信號控制下一位一位的實施轉(zhuǎn)移后讀取,電荷信息轉(zhuǎn)移和讀取輸出需要有時鐘控制

32、電路和三組不同的電源相配合,整個電路較為復(fù)雜。而CMOS傳感器經(jīng)光電轉(zhuǎn)換后直接產(chǎn)生電流(或電壓)信號,信號讀取十分簡單。</p><p>  CCD傳感器需在同步時鐘的控制下以行為單位并一位一位的輸出信息,速度較慢;而CMOS傳感器采集光信號的同時就可以取出電信號,還能同時處理各單元的圖象信息,速度比CCD快很多。</p><p>  CCD傳感器電荷耦合器大多需要三組電源供電,耗電量較大

33、;CMOS傳感器只需使用一個電源,耗電量非常小,僅為CCD電荷耦合器的1/8到1/10,CMOS光電傳感器在節(jié)能方面具有很大優(yōu)勢。</p><p>  CCD傳感器制作技術(shù)起步較早,技術(shù)相對成熟,采用PN結(jié)合二氧化硅隔離層隔離噪聲,成像質(zhì)量相對CMOS傳感器有一定優(yōu)勢。由于CMOS傳感器集成度高,光電傳感元件與電路之間距離很近,相互之間的光、電、磁干擾較為嚴重,噪聲對圖象質(zhì)量影響很大。</p>&l

34、t;p>  下面我就列舉出前幾屆智能車比賽中采用CCD成像構(gòu)架的攝像頭實現(xiàn)智能車路徑信息采集的實例[3]。</p><p>  CCD采用的是視頻信號同步分離電路,需要的元件較多較復(fù)雜,整體的硬件原理框架如圖2.1所示。</p><p>  圖2.1 CCD采集系統(tǒng)框圖</p><p>  CCD軟件模塊采用的是:AD轉(zhuǎn)換初始化模塊,外部中斷初始化,AD中斷

35、響應(yīng)模塊和外部中斷響應(yīng)模塊。其中AD中斷響應(yīng)模塊是由外部中斷響應(yīng)啟動,采集固定圖像數(shù)據(jù)后停止,外部中斷響應(yīng)模塊的作用是判斷是否有幀圖像開始;啟動AD轉(zhuǎn)換;標(biāo)示圖像采集完畢。</p><p>  此套方案的整體優(yōu)點是分辨率高,識別路徑參數(shù)多,占用MCU端口資源少,通過算法減少外部環(huán)境影響。而缺點和不足的是CCD攝像頭相對昂貴,占用RAM較多,道路檢測速率受到限制(<50Hz),輔助電路較多(12Vs升壓,LM

36、1881等)。而且只能使用微控制器的AD模塊端口來傳入數(shù)據(jù),其他端口的兼容性差。</p><p>  下面就對比采用CMOS的原理:</p><p>  CMOS的電路搭建和CCD很接近,采集方式也基本一致。不需要LM1881的輔助軟件。大量減少購買的成本,自身便宜,構(gòu)架簡潔,易于實現(xiàn)。采集的像素相對較高,幀數(shù)率也較快??捎玫牡臄?shù)字圖像的格式也較多,多單片機的要求簡單,通用性極強。CCD采

37、用的是連續(xù)掃描它只有等到最后一個像素掃描完成后才進行放大而CMOS傳感器的每個像素都有一個將電荷放大為電信號的轉(zhuǎn)換器。CMOS的功耗小,對于智能車而言就是更加的省電。</p><p>  說完了CCD的介紹下面簡單說明CMOS采集的方式。COMS是通過行掃描和場掃描來實現(xiàn)圖像信息的采集,原理圖如下圖2.2所示,詳細內(nèi)容我將在詳細設(shè)計中通過分塊的信息模塊一一描述。</p><p>  圖2.

38、2 攝像頭信號掃描原理</p><p>  參考歷年參賽選手的普遍選擇,很多人采用的是數(shù)字攝像頭OV6620和OV7620,原理和參數(shù)幾乎一樣的兩個攝像頭。其中OV6620的價格較便宜,容易在網(wǎng)上或商店買到,而且和OV7620一樣都是輸出8位圖像數(shù)據(jù);具有自動增益和自動白平衡控制,能進行亮度、對比度、飽和度、Y校正等多種調(diào)節(jié)功能;其視頻時序產(chǎn)生電路可產(chǎn)生行同步、場同步、混合視頻同步等多種同步信號和像素時鐘等多種

39、時序信號;5V電源供電,工作時功耗<120mW,待機時功耗<10uW[4]。他們的主要區(qū)別在與像素不同,OV7620是640X480,OV6620是320X240;像素的不同導(dǎo)致價格的差異也很大。但考慮到單片機的接受能力上選擇OV6620是能足以滿足本系統(tǒng)道路識別的要求。</p><p>  綜上所述最終對比結(jié)果后我們采用結(jié)構(gòu)比較簡單的COMS結(jié)構(gòu)的數(shù)字攝像頭,又結(jié)合去年智能車比賽的經(jīng)驗,綜合結(jié)論是采

40、用CMOS容易上手的OV6620攝像頭。下面我將詳細介紹OV6620數(shù)字攝像頭的原理和實現(xiàn)圖像采集的方案。</p><p>  2.2 數(shù)字攝像頭OV6620的簡介</p><p>  我們實際制作智能車時采用的數(shù)字CMOS攝像頭OV6620實物如下圖2.3所示[5]。</p><p>  圖2.3 OV6620攝像頭管腳和實物</p><p

41、>  下面給出OV6620數(shù)字攝像頭各管腳說明如下表2.1所示。</p><p>  表2.1 OV6620攝像頭管腳的一覽表</p><p>  至于實際中智能車攝像頭具體要用到的管腳分別為:1至8號管腳灰度數(shù)字輸出信號總線,8位數(shù)據(jù)線;14號管腳為行視窗信號提取輸出;16號管腳為場中斷垂直信號提取輸出;15號17號21號管腳都是模擬地信號可以和31號接地通用;20號管腳是接5V

42、直流電源供電;31號管腳為接地。</p><p>  這里再深入介紹下數(shù)字攝像頭OV6620的一些特征:</p><p>  OV6620需要穩(wěn)定的5V的電壓,正好和參賽的系統(tǒng)板的5V電源相同,可以通用同一個電源模塊供電。</p><p>  采集圖像的頻率是25幀每秒,一幀兩場,每秒就是50場,換句話說就是20ms就有一幅圖像產(chǎn)生。</p><

43、p>  視野的可視距離,拿24MBUSCLK且每行可取150個點下進行測量。具體數(shù)值和效果要依據(jù)真實情況自己進行調(diào)節(jié)。</p><p>  內(nèi)部有可編程總線結(jié)構(gòu)IIC,可以調(diào)整攝像頭的參數(shù),比如說最大灰度,曝光率,對比度控制等等。</p><p>  內(nèi)部自動圖像增強,亮度,對比度,飽和度,銳度等,不需加AD,不需LMl1881。</p><p>  知道了O

44、V6620攝像頭的管腳和他的一些技術(shù)指標(biāo)特征是不足以掌握和靈活應(yīng)用他的。那么他的圖像采集原理及實際應(yīng)用是怎樣的呢,我先給出攝像頭的數(shù)字信號原理圖做進一步的解釋。</p><p>  圖2.3 OV6620的行場信號的原理圖</p><p>  在采集時可以忽略TCLK(像素同步信號),首先是因為他太快了,捕捉不到。其實也沒有必要捕捉到它,采集圖像時盡快的一個點一個點的取就可以,和模擬攝像

45、頭一樣。</p><p>  VYNSC是判斷是否有一幅圖像的開始,周期是20ms,其中高電平持續(xù)的時間很短,可以忽略;HREF是判斷是否有一行圖像的開始,周期是63us左右,其中高電平持續(xù)40us,低電平持續(xù)時間23us,可以計算出一場有多少行:20ms/63us=317,實際值其實沒有這么多,要去掉消隱和無效信號,實際只有292行。</p><p>  必須明確說明:場中斷要通過下降沿

46、捕捉,行中斷通過上升沿捕捉。</p><p>  有效的灰度數(shù)據(jù)是在行中斷之后的上升沿內(nèi),所以不要在中斷后的23us后采集,那是無效數(shù)據(jù)。下面列出計算一行OV6620有多少個點,40us/110ns=363,消隱和無效信號丟掉后只有356個點。</p><p>  知道原理后,我們討論下采集上遇到的應(yīng)用問題:</p><p>  行信號與場信號的時間比較長,S12的

47、單片機足以捕捉到,但對于多數(shù)OV6620的像素同步而言110ns左右,單片機能夠捕捉到到信號,但這一期間還有采集步驟,就很難做到即采集又判斷是否有像素同步。</p><p>  然而是否必須捕捉到TCLK信號了,讀回的信號才是正確的呢?答案顯然是否定的,對于S12單片機而言即使不用TCLK讀回來圖像也是對的。原因就是因為S12單片機的讀取速度是有限的,我們有用匯編語言編寫程序而且無循環(huán)語句來測試采集的讀取速度,有

48、效點數(shù)一行就是280多左右,而OV6620的有效行像素輸出是352點,說明單片機的讀取速度比CMOS的圖像輸出速度慢。</p><p>  現(xiàn)在限定的是一行取50個點,至于如何平分這50點采取的是延時方法,即采集一點,延時一會再采集一點,平均分為50點。延時的具體時間是通過試驗得來的。至于采集的效果和圖像的真實反映情況我將在第五章的調(diào)試與實現(xiàn)中具體介紹 。</p><p>  2.3 智

49、能車微控制器簡介</p><p>  智能車的微控制器就是比賽組委會統(tǒng)一的MC9S12XS128微控制器[6]。</p><p>  MC9S12X家族是HCS12系列的增強型產(chǎn)品,基于S12 CPU內(nèi)核,可達到25MHz的HCS12的2-5倍的性能。S12X系列增加了172條額外指令,可以執(zhí)行32位計算(共有280條指令),總線頻率最高可達40MHz,并且具備完全的CAN功能,改進了中斷

50、處理能力。</p><p>  S12X系列的CPU以復(fù)雜指令集CISC架構(gòu),集成了中斷控制器,有豐富的尋址方式。中斷有7個優(yōu)先級,并且內(nèi)核支持優(yōu)先級的調(diào)度,最多可有117個中斷源,S12X可訪問最多8MB的全部存儲空間。</p><p>  S12X系列最大的特點,是增加了一個平行處理的外圍協(xié)處理器XGATE模塊。該模塊是一個可編程的16位RISC核心,其設(shè)計運行頻率可高達100MHz,

51、是一個智能的、可編程的直接內(nèi)存存儲(DMA)模塊,可以進行中斷處理、通信和數(shù)據(jù)預(yù)處理,通過提供處圍模塊、RAM和I/O端口之間的高速數(shù)據(jù)處理與傳輸,卸載CPU的任務(wù),提高單片機的數(shù)據(jù)處理能力。</p><p>  S12XS系列保留了S12X CPU,去掉了另一個CPU——XGATE,保留了先進的技術(shù),簡化了操作,是S12X系列的經(jīng)濟型產(chǎn)品,目前有三種型號:XS256、XS128和XS64,三者除了在內(nèi)存方面有些

52、差異,其余資源基本相同。</p><p>  下面先簡單地介紹下XS128的常用內(nèi)部資源模塊,如圖2.4所示:</p><p>  圖2.4 XS128內(nèi)部資源</p><p>  內(nèi)存。它擁有128KB Flash、8K RAM和8K DataFlash。</p><p>  通信和I/O。它擁有一個MSCAN模塊,兼容CAN 2.0 A

53、、B;一個串行外設(shè)接口(SPI)模塊;兩個支持LIN的串行通信接口(SCI);高達91個通用輸入/輸出(GPIO)引腳。</p><p>  定時器和模數(shù)轉(zhuǎn)換器。它擁有一個ADC模塊,提供8/10/12位分辨率,可復(fù)用為16個模擬輸入通道;8通道8位,或4通道16位脈寬調(diào)制器(PWM);定時器(TIM),提供8通道16位輸入捕捉或輸出比較功能;PIT模塊,提供4通道軟件中斷精確定時;RTI模塊,提供基于晶振源頻率

54、的定時。</p><p>  第三章 系統(tǒng)總體設(shè)計</p><p>  3.1 智能車結(jié)構(gòu)框圖</p><p>  制作智能車首先要有一個總體的思想設(shè)計方案。在總體的方案框架內(nèi)才能詳細設(shè)計我所需要的數(shù)字攝像頭圖像采集。這里我先簡單的介紹下我們的智能車總體結(jié)構(gòu),列出原理框圖,如圖3.1所示。</p><p>  圖3.1 智能車系統(tǒng)框圖&

55、lt;/p><p>  下面我就對總體的原理框圖做出下解釋:</p><p>  中間的主控制器模塊就是比賽統(tǒng)一FREESCALE的MC9S12XS128芯片,實際中我們的攝像頭用到了它的只有8個AD口和2個PT口。微控制芯片的作用就是處理攝像頭采集到的信號并根據(jù)信號判斷路徑控制電機和舵機。</p><p>  左下邊的傳感器模塊就是本篇論文要詳細介紹的數(shù)字攝像頭采集圖

56、像的模塊,它的作用就是采集圖像識別路徑,我將在詳細設(shè)計中一一分析。</p><p>  左上邊的調(diào)試和測試模塊是使用了串口(SCI)進行無線傳輸和接收,通過上位機軟件,可以實現(xiàn)對小車狀態(tài)的實時監(jiān)控。</p><p>  右上邊的伺服控制模塊就是小車轉(zhuǎn)向的舵機,也是方向控制模塊,具體的操作指令由MCU控制。</p><p>  右下邊的電機驅(qū)動模塊,給電機的控制電源升

57、壓和降壓的控制,也是由單片機發(fā)出指令,具體我們采用的是雙片的M33886電機穩(wěn)壓驅(qū)動模塊。</p><p>  最下邊的電源管理模塊我們采用的是LM2940的5V穩(wěn)壓芯片,路徑信息硬件設(shè)計中我會給出具體的電氣圖。</p><p>  3.2 路徑信息采集硬件設(shè)計</p><p>  要做路徑信息采集的硬件設(shè)計就先要有先知道圖像采集的總體框架圖,該圖主要說明采集信號

58、的走向方式,如下圖3.2所示。</p><p>  圖3.2 采集圖像的總體信號控制框圖</p><p>  信號從攝像頭采集直接傳輸?shù)轿⒖刂铺幚砥鞯腁D模塊和ECT(增強型時間模塊),然后微控制器對傳入的信號進行處理,進過判斷程序后對舵機和驅(qū)動電機執(zhí)行相關(guān)控制。而采集圖像的硬件設(shè)計關(guān)鍵就是攝像頭的設(shè)計方案。</p><p>  在第二章中我們具體討論了CCD和C

59、MOS數(shù)字攝像頭的區(qū)別,而且綜合比較后我們選定了OV6620這款COMS數(shù)字攝像頭。選擇是基于經(jīng)驗,經(jīng)濟,易于實現(xiàn),實用性高等條件綜合考慮的結(jié)果。</p><p>  攝像頭的設(shè)計方案首先要考慮數(shù)字攝像頭的電源電路,由于選擇的OV6620攝像頭的電源為5V和微控制器的工作電壓一致,故可共用一個穩(wěn)壓源。為了達到這一電源要求,通過芯片LM2940將電池電壓7.2V直接變?yōu)?V,供給攝像頭和MCU使用。5V電源電路如圖

60、3.3所示。</p><p>  圖3.3 5V攝像頭穩(wěn)壓源</p><p>  知道穩(wěn)壓電路后,還要知道用到的OV6620的管腳為哪些。其中1至8管腳數(shù)據(jù)傳輸線,14號管腳行視窗信號,16號場中斷信號, 31號接地信號,20號管腳是接5V直流電源供電。其中1至8號管腳連接MCU的1至8號AD口,14號管腳接MCU的PT1,16號管腳接MCU的PT0。</p><p&

61、gt;  3.3 路徑信息采集軟件設(shè)計</p><p>  根據(jù)設(shè)計要求,每一項數(shù)據(jù)參數(shù)采集可設(shè)定為由一個功能模塊來完成,各模塊相互連通最終構(gòu)成所要求的軟件系統(tǒng)。整體的軟件編譯在FREESCALE公司配套的軟件的CodeWarrior上實現(xiàn)。總體軟件的流程如圖3.4所示。</p><p>  圖3.4 總體軟件流程圖</p><p>  由流程圖我們可以知道軟件

62、系統(tǒng)的整體流程,這也是整體編程的依據(jù)。從控制角度劃分出的模塊,如圖3.5所示。</p><p>  圖3.5 總體軟件控制模塊</p><p>  開始就是整個系統(tǒng)各模塊的初始化。本文主要討論的模塊有圖像的采集和處理,我主要的目的就是實現(xiàn)圖像的采集和判斷。速度PID和舵機PID控制本文不做解釋??傊玫搅四膫€模塊都是要先初始,具體程序代碼將會在詳細設(shè)計中給出。</p>&l

63、t;p><b>  3.4 圖像采集</b></p><p>  在第二章中已說明使用的CMOS結(jié)構(gòu)數(shù)字攝像頭OV6620采集圖像的原理是靠場中斷掃描和行中斷的采集構(gòu)成的一幅圖像畫。下面給出CMOS結(jié)構(gòu)數(shù)字攝像頭路徑信息采集的基本流程如圖3.6所示。</p><p>  圖3.6 攝像頭采集圖像的程序流程圖</p><p>  從實現(xiàn)

64、場中斷和清除標(biāo)志位,屏蔽消隱信號,開行中斷再到行中斷是圖像采集的全過程,清標(biāo)志位到輸入捕捉后面的就是圖像處理的方法。在詳細設(shè)計中給出每個模塊判斷的方法和接口的利用情況。其中行場中斷實現(xiàn)的核心還是對MCU的C語言編譯上,通過明了化的C語言,才能實現(xiàn)數(shù)據(jù)的采集和傳輸。</p><p><b>  3.5 圖像處理</b></p><p>  根據(jù)比賽要求,賽道上設(shè)置有起

65、始線、十字交叉線、彎道、窄道等各種標(biāo)志,只有當(dāng)車子能夠準確采集到各個標(biāo)志位的狀態(tài)信息,才能夠確保小車按照要求在賽道上行駛,并順利的完成比賽。</p><p>  在圖像的識別判斷上我們采用了匯編語言,這個執(zhí)行效率高的語言。盡管代碼比較長,但思路清晰,單片機的資源占用也小。具體的代碼,我將在詳細設(shè)計的匯編專項里說明。這是我們設(shè)計的智能車有別其他參賽選手識別語言的地方。對于采集到的數(shù)據(jù)我們還單獨做了雙緩沖。這樣盡可能

66、的避免了丟線現(xiàn)象,保證了小車的穩(wěn)定性,同時也提高了數(shù)據(jù)的精確性,圖像采集的效率。</p><p>  針對智能車來說用COMS攝像頭采集車模前方一定距離內(nèi)的黑線,從中提取相關(guān)量,用來控制舵機的轉(zhuǎn)向,實現(xiàn)智能車的自動循跡。由于單片機數(shù)據(jù)處理能力和速度有限,不能在短短的20 ms時間內(nèi)處理整場圖像。本系統(tǒng)設(shè)置攝像頭前瞻為1.4m。在不影響道路檢測精度需要的前提下,本系統(tǒng)采用隔行采集來壓縮圖像數(shù)據(jù),即相隔不同的有效行采

67、集一行數(shù)據(jù)(近處相隔的少,遠處相隔的多),一共可采集20行數(shù)據(jù)。此外為了進一步提高A/D轉(zhuǎn)換的速度,本系統(tǒng)還適當(dāng)?shù)貙S12的CPU超頻運行并且設(shè)置A/D轉(zhuǎn)換器的精度為8位,這樣每行能采樣到50個點,形成了一個面陣,而黑線在其中占據(jù)了某些點位[7]。由于我們一行采集50個點,故中間值為25。圖像是智能車的底層,圖像的采集正確與否在以后的控制中尤為重要,故一定要確保采集回來的黑線的真實有效性,并且要增加濾波算法,比如在有效前瞻很小的時候,

68、本來只要判斷出黑線的轉(zhuǎn)向即可,給舵機以極限轉(zhuǎn)角可以讓車急轉(zhuǎn)彎。但是有效行很少的時候,如果不用特殊的濾波方法,只要有一行的黑線提錯,就可能讓小車轉(zhuǎn)錯,至于轉(zhuǎn)出界。采集圖像的AD(數(shù)模)控制主要是在C語言上的實現(xiàn)。如圖3.7所示圖像處理流程。</p><p>  圖3.7 攝像頭圖像處理流程圖</p><p>  根據(jù)流程所寫,在詳細設(shè)計中將對黑線的提取內(nèi)容進行分析。它們分別為圖像采集后的緩

69、沖處理和二值化處理。目的及作用就是為了讓小車實現(xiàn)路徑的識別,控制舵機的轉(zhuǎn)向和小車的速度從而能夠使小車尋線跑。</p><p><b>  第四章 詳細設(shè)計</b></p><p>  詳細設(shè)計是整個設(shè)計過程中最重要的步驟。</p><p>  4.1 數(shù)字攝像頭與微控制器的接口</p><p>  在總體設(shè)計中已基本

70、將小車的整體硬件思路闡釋,這里我給出我們依據(jù)原理深入分析攝像頭與微控制器接口的利用情況。</p><p>  第二章中簡單介紹了MCU用到的管腳有8個AD數(shù)字口,2個PT中斷口,2個PS行通信口,4個數(shù)字口做了撥碼開關(guān),4個PWM控制口等。</p><p>  這里再簡單的說明下核心單片機MC9S12XS128的應(yīng)用情況:</p><p>  16位S12X V2

71、CPU內(nèi)核,典型總線頻率40MHZ,基本指令周期25ns。為了更快的采集路徑信息我們將它超頻到80MHZ。</p><p>  內(nèi)部集成帶ECC(錯誤校驗)功能的128KB FLASH存儲器、8KB RAM、8KB數(shù)據(jù)ROM。</p><p>  4通道24位周期中斷計數(shù)器PIT,攝像頭用到了兩個作為中斷計數(shù)器;</p><p>  2個SCI(串行通信)模塊支持L

72、IN總線,小車的無限模塊的通信就是靠這個模塊傳輸信息。</p><p>  8通道8位或4通道16位的PWM,控制舵機和M33886用的。</p><p>  16通道8位ADC,轉(zhuǎn)換時間3us,這是我們攝像頭采集數(shù)據(jù)后所采用的接收和換算模塊。</p><p>  S12XS128的芯片一般有64/80/112管腳貼片封裝,我們采用龍丘公司加工的S12XS128芯片

73、是112管腳的貼片封裝。</p><p>  3.3V-5.0V工作電壓范圍,我們在小車設(shè)計中都統(tǒng)一用了LM2940的5VDC穩(wěn)壓芯片,和攝像頭的供電系統(tǒng)一致,節(jié)省了穩(wěn)壓元件,簡化了電路,還有效降低了制作的成本。</p><p>  5V的穩(wěn)壓源在總體設(shè)計中已經(jīng)說明,電氣原理圖和參數(shù)等參考總體設(shè)計中的路徑信息采集硬件設(shè)計內(nèi)容。</p><p>  4.2 微控制器

74、相關(guān)資源的使用情況和初始化</p><p>  微控制器所用到的資源就是連接行中斷和場中斷處理的ECT模塊和8個AD口資源[8]?,F(xiàn)具體說明行中斷和場中斷的使用情況。</p><p>  總體設(shè)計中已簡明說明了行場采集的相關(guān)流程和原理,下面著重介紹軟件實現(xiàn)對攝像頭行和場的控制,具體的C語言源代碼如下。</p><p>  //PT0--攝像頭場中斷VSYN,周期20

75、ms</p><p>  interrupt 8 void PT0_TSR(void){</p><p>  TFLG1_C0F=1;//清除中斷標(biāo)志</p><p>  VSYNFalg=1; //設(shè)置場中斷標(biāo)志</p><p>  HREFCount=0;//清除行同步計數(shù)</p><p>  if (CarRun

76、TimerEnable) CarRunTime++;//計時周期0.02s</p><p>  EnableInterrupts;</p><p>  if(StopTime) StopTime--;</p><p>  //WriteSendData();//發(fā)送數(shù)據(jù)</p><p>  AdSpeedFalg=1;</p>

77、<p><b>  }</b></p><p>  // PT1--攝像頭行中斷HREF</p><p>  interrupt 9 void PT1_TSR(void){</p><p><b>  int i;</b></p><p>  EnableInterrupts;</p

78、><p>  TFLG1_C1F=1;//清除中斷標(biāo)志</p><p>  if (VSYNFalg!=1) return; //場標(biāo)志無效放棄</p><p>  HREFCount++; //行同步計數(shù)加一</p><p>  if (HREFCount<100 || HREFCount>270) return; //放

79、棄前100行,和270行后的數(shù)據(jù)</p><p>  代碼中寫明了采用PT0做場中斷,PT1做行中斷的采集過程。采集的具體過程就是靠兩個中斷實現(xiàn)一幀一幀的圖像,但在采集前還要先做好初始化的工作,下面就給出具體的初始化內(nèi)容。</p><p>  ECT就是MCU控制PT口的模塊,ECT為增強型時間模塊它的初始化源代碼如下所寫。</p><p>  //ECT初始化函數(shù)

80、</p><p>  //PT0接OV6620的場中斷VSYN,上升沿捕捉</p><p>  //PT1接OV6620的行中斷HREF,下降沿捕捉</p><p>  //ECT通道0--PT0優(yōu)先級最高,其次為通道1--PT1,其它中斷優(yōu)先級均低于ECT</p><p>  //測速編碼輸入到PT7** </p><p

81、>  //利用AN0-AN7讀CMOS攝像頭輸出數(shù)據(jù)</p><p>  //-----------------------------------------------------------</p><p>  void InitECT(void){</p><p>  TIOS=0x00;//初始化各通道為輸入捕捉</p><p&

82、gt;  TCTL4=0x06;//通道0下降沿捕捉,通道1上升沿捕捉,其余通道停止捕捉 </p><p>  TSCR1=0x80;//主定時器允許</p><p>  TIE=0x00;//通道0、1中斷禁止</p><p>  PACTL=0x50;// 脈沖累加器使能,事件計數(shù)模式,上升沿計數(shù),中斷禁止</p><p>  INT_C

83、FADDR=0xe0; //設(shè)置中斷配置地址寄存器</p><p>  INT_CFDATA7=0x03; //設(shè)置ECT通道0中斷優(yōu)先級為3</p><p>  INT_CFDATA6=0x02; //設(shè)置ECT通道1中斷優(yōu)先級為2</p><p><b>  }</b></p><p>  采集的信號是通過單片機的

84、AD口傳輸給單片機的,故需要通過單片機對AD初始化,代碼如下:</p><p>  //ATD初始化函數(shù)</p><p>  //初始化AN0-AN7數(shù)字輸入</p><p>  void InitATD(void){</p><p>  ATD0DIENL=0xff;//使能AN0-AN7數(shù)字輸入輸出</p><p>

85、;  DDR1AD0=0x00; //設(shè)置輸入方向</p><p>  PER1AD0=0xff; //上拉使能 </p><p><b>  }</b></p><p>  只有ECT模塊和ATD模塊的初始化后才能實現(xiàn)MCU對數(shù)據(jù)的處理工作,下面圍繞圖像的處理過程解析。</p><p>  4.3 圖像數(shù)據(jù)的

86、緩沖</p><p>  在每幀的圖像中,采用重心提取算法來實現(xiàn)黑線重心位置的提取。為了緩解CPU堆棧的壓力,將圖像采集到的數(shù)據(jù)存放在二維數(shù)組中,然后將重心位置重新存入一維數(shù)組中。由于所設(shè)路徑上的白色底板和黑色引導(dǎo)線的灰度值相差較大,因此通過確定一個黑色和白色的閾值來區(qū)分黑白。判斷相鄰數(shù)據(jù)點灰度值的差值是否大于(或小于)該閾值,從而確定此處是否為黑線上的點。經(jīng)過多次實驗,最后確定閾值而且根據(jù)跑道的實際情況來定,依

87、據(jù)跑道給定最佳的閾值。從最左端的第一個有效數(shù)據(jù)點第7列(前6列數(shù)據(jù)為行消隱區(qū),舍棄)開始依次向右根據(jù)閡值判斷其是白點還是黑點。</p><p>  為了提高每幀圖像處理速度,先對每幀圖像的前兩行數(shù)據(jù)進行處理,即在前兩行尋找連續(xù)的兩個黑點,而且在列上也要有兩個黑點,即為黑線其始處,以此為基本位置,再向下繼續(xù)尋找黑線重心[9]。若尋找失敗則跳過此幀圖像。由于實際采集數(shù)據(jù)中有相當(dāng)數(shù)量的無效幀,所以此舉節(jié)省了大量MCU資

88、源。</p><p>  在有效幀的每一行,得出每個黑點的位置值,然后將各黑點位置值相加再除以黑點數(shù)量,得出圖像每行的黑點重心坐標(biāo)。這樣做雖然會在對黑線提取的精度上有所犧牲,但是經(jīng)過除法后,相當(dāng)于進行了一個較大的濾波,會使所提取黑線的誤差降低,保證了提取賽道信息的正確性。</p><p>  在每幀窗口濾波后的圖像中,如果有過多行重心“過輕”或者“過重” (即黑點過少或過多)則此幀圖像視為

89、無效。跳至處理下一幀圖像。在尋找下一行重心時,尋找范圍是在上一行的黑點重心的左右附近,若找不到下一行重心,便跳過此行往下尋找。累計出現(xiàn)一定數(shù)量的無效行時跳過此幀圖像處理下一幀圖像。</p><p>  MCU初始化后,攝像頭采集到的數(shù)據(jù)要怎么處理,在這里攝像頭采集后的處理過程中我們設(shè)計了雙緩沖區(qū)。因為攝像頭采集到的數(shù)據(jù)多于MCU的處理能力,但為了盡量的使數(shù)據(jù)不丟失,跑道不丟線,加大數(shù)據(jù)的保真性,我們增加了雙緩沖區(qū)

90、。這是對攝像頭智能車設(shè)計的新穎之處,具體代碼如下。</p><p>  CurrentROW++;</p><p>  if (CurrentROW>=ROWNUM){</p><p>  CurrentROW=0; //一場采集完清行號</p><p>  CurrentBUFF^=0x01; //下一場數(shù)據(jù)存儲在另外一個緩沖

91、區(qū)</p><p>  VSYNFalg=2; //場標(biāo)志設(shè)置為2表示一場數(shù)據(jù)采集完成</p><p><b>  Light^=1;</b></p><p>  RouteFlag=0;</p><p><b>  }</b></p><p>  4.4 匯編語

92、言在圖像采集中的應(yīng)用</p><p>  匯編語言屬于機器語言,擁有良好的機器兼容性,利用效率遠高于C語言,但代碼寫起來較為冗長,而且不是很人性化,不容易上手。但采集這是一效率要求很高的過程,代碼的執(zhí)行效率也是賽車制勝的重要因素,而且匯編語言的穩(wěn)定性很好,執(zhí)行失真率低,故在圖像采集上應(yīng)用匯編語言編寫是個不錯的方案。具體的代碼中有很多是重復(fù)的內(nèi)容,我節(jié)選出其主要內(nèi)容寫到下面。</p><p>

93、;  interrupt 9 void PT1_TSR(void){</p><p><b>  int i;</b></p><p>  EnableInterrupts;</p><p>  TFLG1_C1F=1;//清除中斷標(biāo)志</p><p>  if (VSYNFalg!=1) return; //場

94、標(biāo)志無效放棄</p><p>  HREFCount++; //行同步計數(shù)加一</p><p>  if (HREFCount<100 || HREFCount>270) return; //放棄前100行,和270行后的數(shù)據(jù)</p><p>  if ((HREFCount-100)%8==0){</p><p><b&

95、gt;  asm{</b></p><p>  ldd #10 //攝像頭劇中校正</p><p>  goon: dbne d, goon </p><p>  movb PT1AD0,IBMF;</p><p>  ldd DelayN</p><p>  g0: db

96、ne d, g0</p><p>  movb PT1AD0,IBMF+1;</p><p>  ldd DelayN</p><p>  g1:dbne d, g1;</p><p>  movb PT1AD0,IBMF+2;</p><p>  ldd DelayN</p><p>  g2

97、:dbne d, g2</p><p>  movb PT1AD0,IBMF+3;</p><p><b>  ldd D</b></p><p><b>  ……</b></p><p>  movb PT1AD0,IBMF+47;</p><p>  ldd DelayN

98、</p><p>  g47:dbne d, g47</p><p>  movb PT1AD0,IBMF+48;</p><p>  ldd DelayN</p><p>  g48:dbne d, g48</p><p>  movb PT1AD0,IBMF+49;</p><p>  }

99、//每隔10行,采集一行視頻數(shù)據(jù),每行50像素,每場采集20行。</p><p>  4.5 圖像的二值化</p><p>  為了排除雜點,提取有效的黑線信息。經(jīng)過多天的實驗測試后,采用的窗口處理算法如下:先將采集的圖像數(shù)據(jù)二值化,再使用3×3的窗口進行窗口線性濾波,既當(dāng)一個窗口中含六個及以上個黑點時的中心為黑點,否則為白點。下面給出實際代碼。</p><

100、p>  //圖像二值化處理函數(shù)</p><p>  //----------------------------------------------------------------</p><p>  void DoWithImage(void){</p><p><b>  int i,j;</b></p><p

101、>  unsigned char k;</p><p>  if (VSYNFalg!=2) return;</p><p>  VSYNFalg=0;</p><p>  k=CurrentBUFF^1;</p><p>  for (i=0;i<ROWNUM;i++)</p><p>  for (j=

102、0;j<COLNUM;j++)</p><p>  if (ImageInputBuff[k][i][j]>PixelGateValue) Image2Data[i][j]=WHITE;</p><p>  else Image2Data[i][j]=BLACK; </p><p><b>  }</b></p>&l

103、t;p>  二值化的過程其實就是確定個閾值,閾值以下的為0值,閾值以上的為F值。采集到的圖像在借助上位機調(diào)試中可以清晰的看到數(shù)據(jù)的劃分很明顯。</p><p>  第五章 調(diào)試與實現(xiàn)</p><p>  5.1 攝像頭的安裝與調(diào)試</p><p>  我們設(shè)計的智能小車尋跡系統(tǒng)是基于數(shù)字攝像頭OV6620和飛思卡爾16微處理器MC9S12XS128組成,由

104、攝像頭采集圖像有用信息送入單片機分析道路參數(shù)并做出控制決策。由我們團隊所設(shè)計的智能車實物如圖5.1和圖5.2所示。</p><p>  圖5.1 智能汽車實物圖正面</p><p>  圖5.2 智能汽車實物圖側(cè)面</p><p>  依據(jù)硬件設(shè)計的原理思路和設(shè)計方案搭建了攝像頭的電路,并用了排線連接攝像頭和單片機整體電路板專門留出的接口。搭建好硬件后就是上電調(diào)

105、試了。上電后首先解決的就是攝像頭物理調(diào)焦的問題。調(diào)焦調(diào)好了,攝像頭才能正??吹綀D像而不是模糊一片。</p><p>  我們總結(jié)攝像頭在實際調(diào)試中調(diào)焦在3.6mm時,傾角有25度左右,調(diào)焦越大視場越小,可視距離可達10米左右,但像素只有10萬多,但黑線只有2.5cm,調(diào)焦太遠黑線會很細,采點后很難分辨出是噪聲還是有用信息,經(jīng)過反復(fù)的調(diào)試后我們選擇了大概1.2m左右的距離為最佳。</p><p&

106、gt;<b>  5.2 軟件調(diào)試</b></p><p>  當(dāng)軟件設(shè)計完成之后我們馬上把它應(yīng)用到智能車的調(diào)試當(dāng)中,同時也可以對軟件設(shè)計的不足進行調(diào)整,在經(jīng)過不斷的完善之后,該軟件已經(jīng)可以成功方便的應(yīng)用于智能車比賽的后期賽車調(diào)試當(dāng)中。</p><p>  我們截取了賽車運行當(dāng)中傳回到上位機的實時數(shù)據(jù)的畫面(路徑信息采集與實現(xiàn)),在畫面當(dāng)中我們可以清楚的看到賽車運行

107、中的各項參數(shù)信息,據(jù)此我們可以方便的發(fā)現(xiàn)賽車問題的所在,然后快速解決問題。</p><p>  為了節(jié)約系統(tǒng)時間,在編程中主要采用中斷處理,并且設(shè)置成上升沿觸發(fā)。在場中斷期間,先調(diào)用屏蔽場同步消隱子程序,把成像效果不好的部分濾除掉,隨后打開行中斷。當(dāng)經(jīng)過分頻后的行同步頭到來時,開始捕捉圖像信號的4個任意沿,在相應(yīng)兩個沿之間,所捕捉到的系統(tǒng)時鐘脈沖個數(shù)就反映了當(dāng)前的路徑信息。另外,為了消除偶然誤差的影響,在不降低系

108、統(tǒng)速度測量精度的前提下,通過使用軟件上的循環(huán)隊列算法,保證了路徑信息的準確性。循環(huán)隊列的具體實現(xiàn)過程為:通過設(shè)置一個長度為L的隊列,每發(fā)生一次輸入捕捉中斷就進行一次入隊操作,由隊列“先進先出”的性質(zhì),即替換最先入隊數(shù)據(jù),能夠保證將最新的刷新數(shù)據(jù)進行數(shù)據(jù)處理并進行控制,提高了控制的實時性。如圖5.3給出了軟件調(diào)試的CodeWarrior平臺界面截圖。</p><p>  圖5.3 軟件調(diào)試環(huán)境</p>

109、<p>  5.3 借助上位機調(diào)試</p><p>  調(diào)試階段采用的是上一屆參賽時積累下來的,利用LabVIEW軟件設(shè)計的上位機調(diào)試工具[10],具體的上位機源代碼見附錄所示。最后通過搭建好的整體硬件和無線傳輸模塊共同配合實現(xiàn)圖像的采集,下面給出我們事跡采集的圖像情況:</p><p>  圖5.4 十字線的灰度圖像采集</p><p>  圖5

110、.5 彎道的灰度圖像采集</p><p>  圖5.6 起跑線灰度圖像采集</p><p>  圖5.7 直線跑道灰度圖像采集</p><p>  通過實際的截圖可以看出識別到的黑線是較小的數(shù)值。能夠?qū)崿F(xiàn)圖像的采集。</p><p>  圖5.8 二值化后的起始線</p><p>  圖5.9 二值化后的彎道

111、線</p><p><b>  第六章 總結(jié)</b></p><p>  通過該設(shè)計完成的路徑信息采集結(jié)果基本達到了我想要的預(yù)期效果。其中調(diào)試是一個較漫長的過程,不是一下子就能捕捉到圖像的。</p><p>  正是由于去年的智能車比賽有了一定的基礎(chǔ)和經(jīng)驗,故今年有機會開拓攝像頭組的智能車。但攝像頭的智能車畢竟是第一次做,整個制作過程一路走來

112、很匆忙,很多東西都是一邊學(xué)一邊用。發(fā)現(xiàn)很多問題也修改了很多問題,摸著石頭過河總是有一定的盲目性,走了不少的彎路,浪費了不少時間,但結(jié)果還是欣慰的。</p><p>  制作的過程中遇到了很多問題,從選材的對比,電路和管腳的選擇上,電路的搭建上再到軟件的編輯和最后的調(diào)試上都存在著一些問題。</p><p>  單說攝像頭的軟件程序調(dià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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論