




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、無錫科技職業(yè)學(xué)院嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(論文)基于MC9S12DG128B智能車的設(shè)計與實(shí)現(xiàn)摘要:本論文介紹了無錫科技職業(yè)學(xué)院“震澤車隊(duì)”在參加第四屆Freescale全國大學(xué)生智能車大賽過程中的工作。智能車的硬件平臺采用帶MC9S12DG128 處理器的開發(fā)電路板,軟件使用的是CodeWarrior IDE4.7 開發(fā)環(huán)境,文中介紹了智能車的設(shè)計全過程,包括硬件的設(shè)計及軟件開發(fā)流程。整個智能車系統(tǒng)實(shí)現(xiàn)包括電源模塊、速度控制模塊、路徑檢測模塊、方向控制模塊、并對各個模塊進(jìn)行硬件設(shè)計及軟件編寫。關(guān)鍵字:MC9S12DG128,電源,速度,控制,模塊化The intelligent vehi
2、cles design and realization based on MC9S12DG128BAbstract:This paper describes the Wuxi Vocational College of Science and Technology, zhenze team in college students nationwide to participate in the Fourth Freescale Smart car racing in the process of work. Smart car with a MC9S12DG128 processor hard
3、ware platform with the development of circuit boards, Use of the software development environment is CodeWarrior IDE4.7, This paper introduces the whole process of design intelligent cars, including hardware design and software development process.The intelligent vehicle system implementation, inclu
4、ding power modules, the speed control module, the path detection module, the direction of control module, and each module hardware design and software development.Keywords: MC9S12DG128, Power, speed, control, modular目錄第1章:緒論11.1智能車大賽介紹11.1.1大賽簡介11.1.2大賽規(guī)則介紹1第2章:主要思路及技術(shù)方案概要32.1系統(tǒng)硬件結(jié)構(gòu)32.1.1主要模塊32.1.2工
5、作過程42.2系統(tǒng)軟件設(shè)計流程4第3章:智能車硬件系統(tǒng)設(shè)計63.1電源模塊63.2電機(jī)驅(qū)動模塊和速度檢測73.2.1直流電機(jī)特性83.2.2速度檢測83.3攝像頭模塊設(shè)計93.3.1供電電路93.3.2攝像頭采集電路圖93.4調(diào)試電路模塊10第4章:智能車軟件系統(tǒng)設(shè)計114.1圖像采集114.1.1攝像頭的工作原理114.1.2視頻同步分離電路124.1.3攝像頭初始化144.1.4采集154.2圖像處理154.2.1圖像二值化處理154.2.2黑線提取164.3控制系統(tǒng)的設(shè)計174.3.1舵機(jī)控制174.3.2速度檢測與控制194.3.3可能情況下速度處理21第5章:謝辭22第6章:參考文獻(xiàn)
6、23II第1章:緒論1.1智能車大賽介紹1.1.1大賽簡介受教育部高等教育司委托,高等學(xué)校自動化專業(yè)教學(xué)指導(dǎo)委員會負(fù)責(zé)主辦全國大學(xué)生智能車競賽。該項(xiàng)比賽以列入教育部主辦的全國五大競賽之一。首屆“飛思卡爾”杯全國大學(xué)生智能車邀請賽于2006年在清華大學(xué)成功舉辦。此項(xiàng)比賽,在韓國已舉辦過多屆,其專業(yè)知識涉及控制、模式識別、傳感技術(shù)、汽車電子、電氣、計算機(jī)、機(jī)械等諸多學(xué)科,對學(xué)生的知識融合和動手能力的培養(yǎng),對高等學(xué)??刂萍捌囯娮訉W(xué)科學(xué)水平的提高,具有良好的推動作用。很慶幸,我們學(xué)校參加了今年的第四屆比賽,在本次比賽中,參賽選手仍須使用大賽組委會統(tǒng)一提供的競賽車模,以Freescale公司生產(chǎn)的16
7、 位微控制器MC9S12DG128作為核心制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計,包括傳感器信號采集處理、控制算法及執(zhí)行、動力電機(jī)驅(qū)動、轉(zhuǎn)向舵機(jī)控制等,最終實(shí)現(xiàn)一套能夠自主識別路線,并且可以實(shí)時輸出車體狀態(tài)的智能車控制軟硬件系統(tǒng)。1.1.2大賽規(guī)則介紹根據(jù)第四屆全國大學(xué)生“飛思卡爾”杯智能車競賽比賽規(guī)則中對參賽車模的規(guī)定進(jìn)行智能車的設(shè)計。主要規(guī)定有:參賽選手須使用大賽組委會統(tǒng)一提供的競賽車模,采用飛思卡爾16 位微控制器 MC9S12DG128 作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計,包括傳感器信號采集處理、控制算法及執(zhí)行、動力電機(jī)驅(qū)動、轉(zhuǎn)向舵機(jī)控制等,完成智能車工程制作及調(diào)試,于指定日期與
8、地點(diǎn)參加場地比賽。參賽隊(duì)伍之名次(成績)由賽車現(xiàn)場成功完成賽道比賽時間為主,技術(shù)方案及制作工程質(zhì)量評分為輔來決定。組委會制定如下競賽規(guī)則,在實(shí)際可操作性基礎(chǔ)上力求公正與公平參與。組委會將邀請獨(dú)立公證人監(jiān)督現(xiàn)場賽事及評判過程。一:對于智能競賽車模1)、禁止改動車底盤結(jié)構(gòu)、輪距、輪徑及輪胎。2)、禁止改動驅(qū)動電機(jī)的型號及傳動比。3)、禁止改造滾珠軸承。4)、禁止改動舵機(jī),但可以更改舵機(jī)輸出軸上連接件。5)、禁止改動驅(qū)動電機(jī)及電池,車模主要前進(jìn)動力來源于車模本身直流電機(jī)及電池。6)、為了車模的行駛可以安裝電路傳感器等,允許在底盤上打孔或者安裝輔助支架等。其他事項(xiàng):車模改裝完畢后,尺寸不能超過:250
9、mm 寬和400mm 長,高度無限制。二:電路器件及控制驅(qū)動電路限制1)、核心控制模塊可以采用組委會提供的 HCS12 模塊,也可以采用MC9SDG128自制控制電路板,除了DG128MCU 之外不得使用輔助處理器以及其它可編程器件。附:可以使用飛思卡爾公司8位、16位系列微控制器(單核,例如禁止使用MC9S12X 系列)芯片自制控制電路板。每臺模型車的電路板中只允許使用一種型號微控制器。8位微控制器最多可以使用2片,16位微控制器限制只能使用一片;不得同時使用8位和16位微控制器。2)、伺服電機(jī)數(shù)量不超過 3 個。3)、傳感器數(shù)量不超過 16 個(紅外傳感器的每對發(fā)射與接受單元計為1 個傳感
10、器,CCD 傳感器記為1 個傳感器)。4)、直流電源使用大賽提供的電池。5)、禁止使用 DC-DC 升壓電路為驅(qū)動電機(jī)以及舵機(jī)提供動力。6)、全部電容容量和不得超過 2000 微法;電容最高充電電壓不得超過25 伏。第2章:主要思路及技術(shù)方案概要2.1系統(tǒng)硬件結(jié)構(gòu)由于本次比賽我們參加的是攝像頭組,所以討論攝像頭設(shè)計方案,硬件電路是整個系統(tǒng)的基礎(chǔ),整個賽車共包括七大模塊:微處理器芯片MC9S12DG128,電源模塊,圖像采集模塊(攝像頭),速度檢測模塊,電機(jī)驅(qū)動模塊,舵機(jī)驅(qū)動模塊及輔助調(diào)試模塊。下面是整個系統(tǒng)的硬件結(jié)構(gòu)圖。(圖2-1)。圖2-1 系統(tǒng)整體結(jié)構(gòu)2.1.1主要模塊1)、MC9S12D
11、G128微處理器:它是整個系統(tǒng)的核心部分,所有的信息都要由他來處理,他負(fù)責(zé)接收賽道圖像信息、賽車速度反饋信息,并對信息進(jìn)行快速的處理,形成適合的控制量來控制電機(jī)工作及舵機(jī)的工作。2)、圖像采集模塊:圖像采集模塊由DG128的AD模塊,外圍芯片(LM1881)與攝像頭共同組成的電路構(gòu)成。其作用是獲取路徑信息,并送到S12進(jìn)一步分析處理。3)、速度檢測模塊:對于車速的檢測,我們采用的霍爾傳感器,由附在驅(qū)動齒輪四周的8個小磁鐵和霍爾傳感器組成。通過獲得的高低電平來間接得求出賽車的實(shí)時速度。同時構(gòu)成了系統(tǒng)的閉環(huán)控制。4)、電機(jī)驅(qū)動模塊:是整個賽車的動力源泉,驅(qū)動賽車前進(jìn)。5)、舵機(jī)驅(qū)動模塊:控制賽車的
12、轉(zhuǎn)向。6)、輔助調(diào)試模塊:調(diào)試模塊主要用的是BDM,用于程序的燒寫,功能的調(diào)試,系統(tǒng)設(shè)置等等。7)、電源模塊:給系統(tǒng)各個模塊提供所需的電壓。2.1.2工作過程系統(tǒng)將圖像采集模塊,速度采集模塊采集到的路況信息、速度信息和小車狀態(tài)信息等送到整個系統(tǒng)的核心部件MC9S12DG128進(jìn)行分析處理,然后發(fā)出相應(yīng)控制命令輸出到執(zhí)行模塊的電機(jī)和舵機(jī)執(zhí)行適宜的速度和轉(zhuǎn)向動作。 2.2系統(tǒng)軟件設(shè)計流程系統(tǒng)硬件位于底層,是整個系統(tǒng)的基礎(chǔ),系統(tǒng)軟件結(jié)構(gòu)要根據(jù)硬件和控制需求來制定。系統(tǒng)的基礎(chǔ)軟件流程為:首先,對各功能模塊和控制參數(shù)進(jìn)行初始化,然后,通過圖像采集模塊獲取前方賽道的信息,同時通過速度傳感器獲取當(dāng)前賽車的實(shí)
13、時速度。采用PID對舵機(jī)進(jìn)行反饋控制。另外根據(jù)檢測到的速度,結(jié)合速度控制策略,對賽車速度不斷進(jìn)行適當(dāng)?shù)恼{(diào)整,使賽車在符合比賽規(guī)則的前提下,沿賽道快速行駛。系統(tǒng)的基本軟件結(jié)構(gòu)流程如下 圖2-2 系統(tǒng)軟件基本流程第3章:智能車硬件系統(tǒng)設(shè)計在智能車的硬件結(jié)構(gòu)搭建完成后,我們就要開始,系統(tǒng)各個模塊的硬件電路設(shè)計了。3.1電源模塊比賽所用的電池是用6節(jié)相同型號的1.2V鎳鎘電池串聯(lián)起來從而得到7.2V的電池組,其容量標(biāo)稱為2000mAh,也就是說,該電池可以在2A電流下持續(xù)供電一個小時。根據(jù)系統(tǒng)各功能電路對電源(工作電流和電壓)的要求,電源模塊包含多個穩(wěn)壓電路將電池電壓轉(zhuǎn)換成各個模塊所需的電壓,主要包括
14、如下不同的電壓: 圖3-1 電源模塊1)、+5V電源,主要給MC9S12DG128單片機(jī)系統(tǒng)供電,以及串行通訊口電路等提供穩(wěn)定的電源。2)、6V電源,主要給舵機(jī)提供工作電壓,根據(jù)前三屆的經(jīng)驗(yàn),舵機(jī)可以直接工作在7.2V電壓下,并且高電壓可以提高舵機(jī)的響應(yīng)速度。3)、7.2V電壓,主要用于后輪直流電機(jī)驅(qū)動模塊,必須能夠提供大電流,所以必須用大的電容來提高電池的瞬時電流能力,但必須滿足大賽對電容容量的要求。4)、12V電壓,主要用于CCD/CMOS圖像傳感器的工作電壓,根據(jù)所選的攝像頭的規(guī)格來定。 注意:電源要注意濾波,各功能電源特別是功率電源個模擬電路電源一定要分開,并要求一點(diǎn)接地,從而減少噪聲
15、和干擾帶來的影響。(下面是部分電源供電電路原理圖截圖)圖3-2 電機(jī)和舵機(jī)供電電路3.2電機(jī)驅(qū)動模塊和速度檢測該車模驅(qū)動電機(jī)堵轉(zhuǎn)電流為12A,車模正常行駛時電機(jī)電流為3A左右,車模行駛時需要對車速加以控制,則對電機(jī)必須進(jìn)行PWM調(diào)速,下圖4-3,為我們的電路設(shè)計。圖3-3 電機(jī)模塊采用了兩片MC33886并聯(lián)是為了防止由于電流過大發(fā)熱加劇導(dǎo)致其過熱保護(hù)。3.2.1直流電機(jī)特性型號:RS-380SH;輸出功率:0.9W-40W,工作電壓7.2V,空載電流0.5V,轉(zhuǎn)速16200r/min,電流3.3A是轉(zhuǎn)速14060r/min,直流電機(jī)具有相應(yīng)迅速、低電平穩(wěn)定性好、調(diào)速范圍寬等。通過控制驅(qū)動電機(jī)
16、兩端的電壓來控制車模的加減速和制動,電機(jī)工作狀態(tài)有正轉(zhuǎn)做功和發(fā)電兩個狀態(tài)。3.2.2速度檢測要使車能夠快速穩(wěn)定的運(yùn)行,并且很好的實(shí)現(xiàn)加速和減速,速度控制就是很重要的,所以我們就需要精確的測得車的速度,對于車速的檢測,我們采用霍爾傳感器檢測,由附在驅(qū)動齒輪四周的8個小磁鐵和霍爾傳感器組成?;魻栐腥齻€引腳,其中兩個引腳是電源和地,第三個是輸出信號,只要通過一個上拉電阻接至5V的電壓,就可以形成開關(guān)脈沖信號,后輪電機(jī)每轉(zhuǎn)一周就會形成8個脈沖信號。輸出的電壓信號可以由單片機(jī)的A/D端口進(jìn)行讀取,通過周期性地讀取計數(shù)器計數(shù)數(shù)值,可以反映出脈沖頻率,從而得到測速信息。3.3攝像頭模塊設(shè)計3.3.1供電
17、電路圖3-4 攝像頭供電電路3.3.2攝像頭采集電路圖圖3-5 攝像頭采集電路3.4調(diào)試電路模塊調(diào)試電路用于模型車開發(fā)調(diào)試階段的工作中,特別是在現(xiàn)場調(diào)試過程中。他一方面可以顯示模型車控制電路的各種信息及工作參數(shù),另一方面還可以對工作參數(shù)進(jìn)行現(xiàn)場修改。由于調(diào)試電路做在智能車模上影響車模的工作狀態(tài),所以采用軟件的方法來進(jìn)行調(diào)試,整個BDM和串口將數(shù)據(jù)送到PC進(jìn)行分析。車模的運(yùn)行參數(shù)存儲在單片機(jī)的EEPPROM或RAM中。調(diào)試電路增加撥碼開關(guān)輸入,用來進(jìn)行不同程序的選擇需要。用4個LED發(fā)光二極管來指示程序的執(zhí)行情況。最后用著4個LED作為智能車轉(zhuǎn)向信號指示。第4章:智能車軟件系統(tǒng)設(shè)計4.1圖像采集
18、視頻采集模塊由攝像頭、LM1881視頻信號分離芯片以及S12的AD模塊構(gòu)成。視頻信號是AD采集的基礎(chǔ),下面介紹攝像頭的工作原理和視頻信號的特征。4.1.1攝像頭的工作原理攝像頭分黑白和彩色兩種,根據(jù)賽道特點(diǎn)可知,為達(dá)到尋線的目的,只需提取畫面的灰度信息,而不必提取其色彩信息,所以本設(shè)計中采用的是黑白攝像頭。攝像頭主要由鏡頭、圖像傳感芯片和外圍電路構(gòu)成。圖像傳感芯片是其最重要的部分,但該芯片要以配合合適的電路才能工作。將芯片和外圍電路制作在一塊電路板上,稱為“單板”。若給單板配上鏡頭、外殼、引線和接頭,就構(gòu)成了通常所見的攝像頭,如聊天用的攝像頭;若只給單板配上鏡頭,這就是“單板攝像頭”。單板攝像
19、頭日常生活中不多見,生產(chǎn)單板的公司通常將它們賣給其它公司,其它公司再按自己的要求包裝這些單板。單板通常有三個端子:電源端、地端和視頻信號端(有的還多出一個端子,那是音頻信號端)。電源接的電壓要視具體的單板而定,目前一般有兩種規(guī)格,6-9V或9-12V。視頻信號的電壓一般位于0.5V-2V之間。攝像頭的工作原理是:按一定的分辨率,以隔行掃描的方式采集圖像上的點(diǎn),當(dāng)掃描到某點(diǎn)時,就通過圖像傳感芯片將該點(diǎn)處圖像的灰度轉(zhuǎn)換成與灰度一一對應(yīng)的電壓值,然后將此電壓值通過視頻信號端輸出。具體而言(參見圖5-1),攝像頭連續(xù)地掃描圖像上的一行,則輸出就是一段連續(xù)的電壓信號,該電壓信號的高低起伏反映了該行圖像的
20、灰度變化。當(dāng)掃描完一行,視頻信號端就輸出一個低于最低視頻信號電壓的電平(如 0.3V),并保持一段時間。這樣相當(dāng)于,緊接著每行圖像信號之后會有一個電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標(biāo)志。然后,跳過一行后(因?yàn)閿z像頭是隔行掃描的),開始掃描新的一行,如此下去,直到掃描完該場的視頻信號,接著會出現(xiàn)一段場消隱區(qū)。該區(qū)中有若干個復(fù)合消隱脈沖,其中有個遠(yuǎn)寬于(即持續(xù)時間遠(yuǎn)長于)其它的消隱脈沖,稱為場同步脈沖,它是掃描換場的標(biāo)志。場同步脈沖標(biāo)志著新的一場的到來,不過,場消隱區(qū)恰好跨在上一場的結(jié)尾和下一場的開始部分,得等場消隱區(qū)過去,下一場的視頻信號才真正到來。攝像頭每秒掃描25幅圖像,
21、每幅又分奇、偶兩場,先奇場后偶場,故每秒掃描50 場圖像。奇場時只掃描圖像中的奇數(shù)行,偶場時則只掃描偶數(shù)行。圖4-1 攝像頭視頻信號攝像頭有兩個重要的指標(biāo):分辨率和有效像素。分辨率實(shí)際上就是每場行同步脈沖數(shù),這是因?yàn)樾型矫}沖數(shù)越多,則對每場圖像掃描的行數(shù)也越多。事實(shí)上,分辨率反映的是攝像頭的縱向分辨能力。有效像素常寫成兩數(shù)相乘的形式,如“320x240”,其中前一個數(shù)值表示單行視頻信號的精細(xì)程度,即行分辨能力;后一個數(shù)值為分辨率,因而有效像素=行分辨能力分辨率。4.1.2視頻同步分離電路要能有效地對視頻信號進(jìn)行采樣,首先要處理好的問題是如何提取出攝像頭信號中的行同步脈沖、消隱脈沖和場同步脈沖
22、。這里有兩種可行的方法。第一,直接通過單片機(jī)AD 進(jìn)行提取。因?yàn)樾型矫}沖、消隱脈沖或場同步脈沖信號的電平低于這些脈沖以外攝像頭信號的電平,所以據(jù)此可設(shè)定一個信號電平閾值來判斷AD 采樣到的信號是否為上述三類脈沖。第二,就是給單片機(jī)配以合適的外圍 芯片,此芯片要能夠提取出攝像頭信號的行同步脈沖、消隱脈沖和場同步脈沖以供單片機(jī)作控制之用。考慮到單片機(jī)的速度有限,而一些脈沖的間隔時間又較短,為了減輕其處理負(fù)擔(dān),采用了第二種方法進(jìn)行信號提取。LM1881 視頻同步信號分離芯片可從攝像頭信號中提取信號的時序信息,如行同步脈沖、場同步脈沖和奇、偶場信息等,并將它們轉(zhuǎn)換成TTL 電平直接輸給單片機(jī)的I/O
23、 口作控制信號之用。1881 的端口接線方式如圖5-2所示圖4-2 LM1881引腳圖其中,引腳2 為視頻信號輸入端,引腳1 為行同步信號輸出端(如圖5-3中的b)。引腳3 為場同步信號輸出端,當(dāng)攝像頭信號的場同步脈沖到來時,該端將變?yōu)榈碗娖?,一般維持230us,然后重新變回高電平(如圖5-3中的c)。引腳7 為奇-偶場同步信號輸出端,當(dāng)攝像頭信號處于奇場時,該端為高電平,當(dāng)處于偶場時,為低電平。事實(shí)上,不僅可以用場同步信號作為換場的標(biāo)志,也可以用奇-偶場間的交替作為換場的標(biāo)志。圖4-3 LM1881時序信號4.1.3攝像頭初始化由于攝像頭行同步信號以及場同步信號接到了S12單片機(jī)的外部中斷I
24、RQ引腳,所以當(dāng)每行視頻信號到來時,就會觸發(fā)一個中斷。此時如果需要采集該行,就開始進(jìn)行AD轉(zhuǎn)換。攝像頭的初始化包括中斷初始化和AD初始化。/IRQ行中斷初始化Void IRQ_init(void)INITCR_IRQEN=0;/不能使IRQINITCR_IRQE=1;/下沿觸發(fā)/ A/D初始化Void AD_init(void)ATD0CTL2=0xC0;ATD0CTL3=0X08;ATD0CTL4=0X81;ATD0CTL5=0XA0;ATD0CTEN=0X00;/定時器0初始化void ECT_init(void) DDRT =0x00; /PT口 定義輸入 TIOS =0x00; /設(shè)為
25、輸入捕捉 TSCR1=0x80; /定時器使能 TSCR2=0x87; /允許定時器溢出中斷,定時器時鐘32M/(24)=2M TCTL4=0xAA; /觸發(fā)電平:下降沿 /1010 1010 -1010 1011 TFLG1=0xFF; /清除中斷標(biāo)志 HPRIO=0xE8; / TIE =0x0B;/開中斷 / 0000 10114.1.4采集當(dāng)行同步信號過來時,先判定該行信號是否處于場消隱區(qū),處于則退出。反之,延時一段時間使之過去,再判斷是否采集數(shù)據(jù),是則采集AD值傳至數(shù)組中。當(dāng)場同步信號過來時,先關(guān)閉中斷,再交換圖像指針,處理圖像,判斷道路特性,從而判斷舵機(jī)和電機(jī)工作。4.2圖像處理本
26、次比賽我們圖像部分采用了二值化算法,因?yàn)橘惖乐挥泻诎變煞N顏色,很容易分辨,采用二值化算法可以得到很好的效果。首先將灰度圖像二值化,得到二值化圖像,這樣有利于圖像進(jìn)一步處理。之后我們對二值化后的圖像進(jìn)行去噪并黑線提取,主要采用的是邊緣檢測算法。4.2.1圖像二值化處理圖像二值化處理就是將圖像上的點(diǎn)的灰度置為0或者255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果。即將256個亮度等級的灰度圖像通過適當(dāng)?shù)年I值選取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。首先把灰度圖像二值化,得到二值化圖像,這樣子有利于圖像進(jìn)一步處理。圖像的集合性質(zhì)只與像素值為0或255的點(diǎn)的位置有關(guān),不再涉及像素的多級值,是處
27、理變得簡單,而且數(shù)據(jù)的處理和壓縮量小。為了得到理想的二值化圖像,我們必須得到準(zhǔn)確的闕值,我們經(jīng)過大量實(shí)驗(yàn),最后確定為60,當(dāng)像素值小于這個闕值時,我們認(rèn)定是黑線,當(dāng)像素值大于這個闕值時,我們認(rèn)為是白線。如下圖,即為我們咋二值化后通過串口打印出來的圖像。圖4-4 二值化處理后的圖像其中由“1”構(gòu)成的直線即為實(shí)際中黑線的走向,4.2.2黑線提取經(jīng)過二值化處理后的圖像數(shù)組,是有效提取黑線的前提,我們采用邊緣檢測的方法來分析此二維數(shù)組并提取黑線。二維數(shù)組的行數(shù)和列數(shù)即為像素的圖像坐標(biāo),我們?nèi)羟蟪隽撕诰€邊緣的圖像坐標(biāo),就知道了黑線的位置。黑線邊緣的特點(diǎn)是其左右兩像素為一白一黑,兩像素值的差的絕對值大于某
28、闕值,大小可以根據(jù)實(shí)驗(yàn)確定。而其余處的相鄰兩像素或全白,或全黑,像素值差的絕對值小于該闕值。這樣,只要我們對兩數(shù)組每行中任何相鄰兩點(diǎn)做差,就可以根據(jù)差值的大小是否大于該闕值來判斷此兩點(diǎn)處是否為黑線邊緣,還可以以進(jìn)行根據(jù)差值的正負(fù)來判斷邊緣處是左白右黑,還是右黑左白。從最左端的第一個有效數(shù)據(jù)點(diǎn)開始依次向右進(jìn)行闕值判斷:由于實(shí)際中黑白賽道邊緣可能會出現(xiàn)模糊偏差,導(dǎo)致闕值并不是個很簡單介于兩相鄰之間,很可能要相隔兩個點(diǎn)。因此:第line 為原點(diǎn),判斷和line+3 的差是否大于該闕值,如果是則將line+3 記為i,從i 開始繼續(xù)在接下的從i+3到該行最末一個點(diǎn)之間的差值是否大于闕值,如果大于則將l
29、ine+i/2+1 的坐標(biāo)賦給中心給黑線中心位置值,如圖圖4-5 單行黑線提取利用該算法所得到的黑線提取效果不僅可靠,而且實(shí)時性好;在失去黑線目標(biāo)以后能夠記住是從左側(cè)還是從右側(cè)超出視野,從而控制舵機(jī)轉(zhuǎn)向讓賽車回到正常賽道。4.3控制系統(tǒng)的設(shè)計黑線的提取已經(jīng)完成了,接下來就要根據(jù)檢測到的路徑進(jìn)行控制了,智能車控制的核心為速度和方向,速度和方向均受多種復(fù)雜因素的影響。為了實(shí)現(xiàn)速度和方向的反饋控制,我們采用PID算法對速度和方向進(jìn)行校正。PID控制的實(shí)質(zhì)是根據(jù)輸入的偏差值,按一定的函數(shù)關(guān)系進(jìn)行運(yùn)算,其運(yùn)算結(jié)果用以控制輸出。4.3.1舵機(jī)控制對于舵機(jī)可以通過PWM輸出的脈沖的大小進(jìn)行左轉(zhuǎn)和右轉(zhuǎn),因此在
30、程序上可以控制發(fā)送不同寬度的PWM波,舵機(jī)內(nèi)部會產(chǎn)生一個頻率為50Hz的基準(zhǔn)信號,通過基準(zhǔn)信號與外部所給的PWM波的正脈沖持續(xù)時間進(jìn)行比較,從而確定轉(zhuǎn)向和轉(zhuǎn)角的大小。當(dāng)所加PWM波的頻率為50Hz時,脈沖寬度與轉(zhuǎn)角對應(yīng)如下圖所示。圖4-6 脈沖寬度與轉(zhuǎn)角對應(yīng)圖由于攝像頭具有很好的前瞻性,可以提前獲取賽道信息,因此我們可以提前判斷賽道是直道還是彎道,對于前面黑線的提取同時,我們還要從中找到賽道的變化曲率,例如走直道、小S彎、大S彎等等。知道賽道的曲率后,便可控制舵機(jī)提前轉(zhuǎn)彎。下面介紹賽道的斜率變化對應(yīng)舵機(jī)的控制。一場圖像數(shù)據(jù)處理結(jié)束后,賽道的路徑信息會清晰的再現(xiàn)出來。根據(jù)整幅圖像黑線的有效起點(diǎn)和
31、有效終點(diǎn)的斜率和偏離圖像中心位置的偏移量,就可以判斷當(dāng)前賽道是直道還是彎道。根據(jù)這些信息給定舵機(jī)的控制量。此方案獲的主要思想如下:首先找到圖像數(shù)據(jù)最近位置的第一個有效行,同時記錄黑線的中心位置信息,定義為(X0,Y0 )。然后再找最遠(yuǎn)位置的第一個有效行,以及其黑線中心位置,定義為(X1,Y1 )。據(jù)此算出黑線的斜率(Y1 - Y0 )/ (X1 - X0 ),和黑線偏離圖像中心位置的偏移量| X0 |。其示意圖如下。其計算公式為:舵機(jī)控制量 = K0*X0 + K1* (X1 - X0 )/(Y1 -Y0 )根據(jù)不斷的調(diào)試和經(jīng)驗(yàn)數(shù)據(jù)得到比例系數(shù) K0,K1 的確切的值。4.3.2速度檢測與控制
32、能車在行駛過程中,需要實(shí)時檢測狀態(tài),從而決定下一時刻的控制量。通過測速電路測得單位時間內(nèi)的脈沖個數(shù),從而計算出智能車的速度。速度控制要考慮的因素有兩個方面,一是當(dāng)前速度,一是當(dāng)前路況。當(dāng)前速度可由霍爾傳感器檢測并輸入單片機(jī)內(nèi)處理得到。速度采集源程序如下:/用于測速,每當(dāng)測速脈沖到來時,脈沖計數(shù)加一 Void interrupt 8 int_Timer0(void)DisableInterrupts; TFLG1_C0F=1; ui_SpeedCount+; /計數(shù)器自加 EnableInterrupts;/計算速度/*定時器溢出中斷函數(shù)*void interrupt 16 vTimerOver
33、flow_ISR(void) /用于測量賽車速度。 DisableInterrupts; TFLG2_TOF=1; ui_DetectSpeed=ui_SpeedCount;/在定時器溢出時也就是得到了時間 速度=(計數(shù)值/8*車輪周長)/溢出時間 ui_SpeedCount=0; /printp(speed=%dn,ui_DetectSpeed); EnableInterrupts; 速度控制應(yīng)采用閉環(huán)控制,采用PID算法,計算的速度控制值通過給電機(jī)施加一定寬度的PWM脈沖來實(shí)現(xiàn)。電機(jī)運(yùn)轉(zhuǎn)控制有3種方式:加速轉(zhuǎn)動、減速轉(zhuǎn)動、反轉(zhuǎn)。加速的過程比較簡單,直接將電機(jī)控制信息的值查表轉(zhuǎn)換成對應(yīng)的PWM發(fā)生器寄存器值即可。根據(jù)所需要的速度增量調(diào)整PWM發(fā)生器寄存器值,提高電機(jī)的電壓。減速過程則通過兩種方法完成。把PID計算得出的電機(jī)控制信息與一個事先測定好的臨界值作比較,如果需要降低的速度量小于此臨界值,說明速度需要稍微降低,使用類似于加速的方法根據(jù)速度增量調(diào)整PWM發(fā)生器寄存器值,降低電機(jī)電壓。如果需要降低的速度量大于此臨界值,說明當(dāng)前車模需要一個剎車,程序?qū)?dāng)前PWM發(fā)生器寄存器置零,然后設(shè)置另一個控制電機(jī)反轉(zhuǎn)的寄存器值,給予電機(jī)一個反轉(zhuǎn)的動力,給車模產(chǎn)生一個較大的阻
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融行業(yè)的風(fēng)險控制與防范計劃
- 社區(qū)養(yǎng)老服務(wù)提升的個人貢獻(xiàn)計劃
- 質(zhì)量管理的國際標(biāo)準(zhǔn)與認(rèn)證
- 科技中心城市辦公環(huán)境的智能化創(chuàng)新評估
- 質(zhì)量管理體系認(rèn)證的流程與要點(diǎn)
- 金融產(chǎn)品的價格策略與風(fēng)險管理研究
- 質(zhì)量管理的未來-六西格瑪技術(shù)探索
- 軟件開發(fā)中的自動化測試從基礎(chǔ)到高級的進(jìn)階
- 超聲技術(shù)在商業(yè)營銷中的應(yīng)用前景
- 江蘇專用2024高考數(shù)學(xué)二輪復(fù)習(xí)課時達(dá)標(biāo)訓(xùn)練十八不等式
- 學(xué)校招生預(yù)約與咨詢服務(wù)
- 核心素養(yǎng)導(dǎo)向下的小學(xué)語文跨學(xué)科學(xué)習(xí)研究
- 塑料包裝知識培訓(xùn)課件
- 古法拓印(非遺課程)
- 湖南省長沙市2024年七年級上學(xué)期期末數(shù)學(xué)試卷【附答案】
- 護(hù)苗行動課件
- 《人工授精雞》課件
- 內(nèi)蒙古自治區(qū)商品房買賣合同(現(xiàn)售)示范文本
- 2022部編版道德與法治四年級下冊《我們的好朋友》教學(xué)設(shè)計
- 稅務(wù)會計崗位招聘面試題與參考回答2024年
- 心肺復(fù)蘇術(shù)課件2024新版
評論
0/150
提交評論