




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六屆全國大學(xué)生“飛思卡爾”杯智能汽車競賽技 術(shù) 報 告 學(xué) 校: 安徽理工大學(xué)隊伍名稱: 遠航隊參賽隊員: 鞏干干王 建陽經(jīng)偉帶隊教師: 曲立國 唐超禮xvii關(guān)于技術(shù)報告和研究論文使用授權(quán)的說明本人完全了解第六屆全國大學(xué)生“飛思卡爾”杯智能汽車邀請賽有關(guān)保留、使用技術(shù)報告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計方案、技術(shù)報告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會出版論文集中。參賽隊員簽名:帶隊教師簽名:日 期:目錄摘 要iii第一章 引言11.1 智能車的發(fā)展歷史11.2 智能車研究的主要
2、意義和內(nèi)容1第二章 智能車設(shè)計分析32.1 設(shè)計要求及思路32.2 總體設(shè)計方案32.3 傳感器設(shè)計方案52.4電機驅(qū)動模塊方案5第三章 智能車硬件設(shè)計63.1 機械設(shè)計63.1.1 車模的結(jié)構(gòu)特點63.1.2 舵機的安裝63.1.3 攝像頭的選擇及安裝73.1.4 系統(tǒng)電路板的固定及連接83.2 電路設(shè)計93.2.1 電路板核心的組成93.2.2 電源管理模塊103.2.3 電機驅(qū)動113.2.4 編碼器模塊12第四章 智能車軟件系統(tǒng)的設(shè)計144.1 軟件整體流程圖144.2 圖像采集與處理的算法144.2.1 攝像頭的工作原理154.2.2 二值化處理164.2.3 邊沿檢測法164.3
3、轉(zhuǎn)向控制和車速控制的PID算法16第五章 開發(fā)和調(diào)試195.1 調(diào)試平臺CodeWarrior IDE195.1 調(diào)試器20第六章 總結(jié)226.1 車模主要技術(shù)參數(shù)說明226.2 總結(jié)22參考文獻24摘 要本文介紹了遠航隊為第六屆全國大學(xué)生“飛思卡爾”杯智能汽車競賽而設(shè)計的智能車系統(tǒng)。文中介紹了該智能車系統(tǒng)的軟、硬件結(jié)構(gòu)及其開發(fā)流程。該智能車系統(tǒng)以Freescale16位微處理器作為核心控制芯片,基于CCD攝像頭采集的賽道信息,提取黑線中心位置并求得小車偏離黑線的程度,采用模糊算法區(qū)分道路形狀,在此信息上進一步處理以控制舵機的轉(zhuǎn)向,通過速度傳感器獲得實時速度信息,通過實時比較控制算法實現(xiàn)閉環(huán)反
4、饋控制。測試表明,該智能車能夠很好的跟隨黑色引導(dǎo)線,可以實現(xiàn)對應(yīng)于不同形狀的道路予以相應(yīng)的控制策略,可快速穩(wěn)定的完成整個賽道的行程。關(guān)鍵字:飛思卡爾,智能車,攝像頭,視頻采樣,閉環(huán)反饋控制,速度控制第一章 引言第一章 引言1.1 智能車的發(fā)展歷史智能車的研究始于20世紀(jì)50年代初美國 Barrett Electric 公司開發(fā)出的世界上第一臺自動引導(dǎo)車輛系統(tǒng)(Automated Guided Vehicle System ,AGVS)。1974年,瑞典的Volvo Kalmar轎車裝配工廠與Schiinder-Digitron公司合作,研制出一種可裝載轎車車體的AGVS,并由多臺該種AGVS組
5、成了汽車裝配線,從而取消了傳統(tǒng)應(yīng)用的拖車及叉車等運輸工具。20世紀(jì)80年代,伴隨著與機器人技術(shù)密集相關(guān)的計算機、電子通信技術(shù)的飛速發(fā)展,國外掀起智能機器人研究熱潮,其中各種具有廣泛應(yīng)用前景和軍用價值的移動式機器人受到西方各國的普遍關(guān)注。全國大學(xué)生智能汽車競賽是在統(tǒng)一汽車模型平臺上,使用飛思卡爾半導(dǎo)體公司的8位、16位微控制器作為核心控制模塊,通過增加道路傳感器、設(shè)計電機驅(qū)動電路、編寫相應(yīng)軟件以及裝配模型車,制作一個能夠自主識別道路的模型汽車,按照規(guī)定路線行進,以完成時間最短者為優(yōu)勝。該競賽涵蓋了控制、模式識別、傳感技術(shù)、電子、電氣、計算機、機械等多個學(xué)科交叉的大學(xué)生課外科技創(chuàng)意性比賽。1.2
6、智能車研究的主要意義和內(nèi)容全國大學(xué)生智能汽車競賽已經(jīng)成功舉辦了五屆,比賽規(guī)模不斷擴大、比賽成績不斷提高。該競賽涵蓋了控制、模式識別、傳感技術(shù)、電子、電氣、計算機、機械等多個學(xué)科交叉的大學(xué)生課外科技創(chuàng)意性比賽。通過比賽培養(yǎng)大學(xué)生的綜合知識運用能力、基本工程實踐能力和創(chuàng)新意識,激發(fā)大學(xué)生從事科學(xué)研究與探索的興趣和潛能,倡導(dǎo)理論聯(lián)系實際、求真務(wù)實的學(xué)風(fēng)和團隊協(xié)作的人文精神。賽車采用飛思卡爾16位微控制器MC9S12XS128作為核心控制單元,由學(xué)生自主構(gòu)思控制方案及系統(tǒng)設(shè)計,包括傳感器信號采集處理、控制算法及執(zhí)行、動力電機驅(qū)動、轉(zhuǎn)向舵機控制等,完成智能車工程制作及調(diào)試。為完成本系統(tǒng),主要做的內(nèi)容分為
7、以下幾部分:(1)對車模機械部分進行詳細(xì)的分析和適當(dāng)?shù)恼{(diào)整;(2)分析控制電路各模塊的要求,計算出各模塊器件的參數(shù),設(shè)計完成硬件控制電路;(3)分析CCD攝像頭時序,完成圖像采集;(4)對數(shù)據(jù)進行分析,設(shè)計控制算法并編寫控制程序第二章 智能車設(shè)計分析 第二章 智能車設(shè)計分析2.1 設(shè)計要求及思路 智能車比賽以快速、平穩(wěn)地完成賽程為目標(biāo),比賽過程中若出現(xiàn)小車同時有兩個輪子脫離跑道則被判為未能完成比賽,且要能跑完一圈后在起始線3米內(nèi)停車,否則成績加罰1秒。這就要求智能車能夠準(zhǔn)確提取賽道信息,及時做出合理的控制并迅速執(zhí)行。賽道為白底黑線,跑道表面為白色,中心有黑線作為引導(dǎo)線,黑線寬25mm±
8、;5,引導(dǎo)黑線大部分為連續(xù)黑線,部分線段會是虛線,白底寬50cm,黑線寬25mm,比賽允許選手自行設(shè)計傳感器和控制電路,并編寫控制程序和改動舵機位置等,輪胎、電機等小車結(jié)構(gòu)不允許改動。硬件是智能小車運行的基礎(chǔ),通過部件的合理布局、連接,機械結(jié)構(gòu)設(shè)計改裝,使車體結(jié)構(gòu)穩(wěn)定可靠,適合賽道特點。硬件電路的設(shè)計和制作都強調(diào)可靠性,同時將功能相對獨立的控制處理模塊和電機驅(qū)動模塊單獨制板,各獨立的模塊可以方便的升級。作為有自主識別能力的智能車,穩(wěn)定的硬件只是必要條件,而一套高效的軟件則是小車的靈魂。軟件負(fù)責(zé)協(xié)調(diào)各硬件模塊有條不紊的工作,就是小車的中樞神經(jīng)。軟件的設(shè)計中主要包括賽道信息提取,賽道狀況的判斷,根
9、據(jù)賽道狀況得出不同的速度給定;并通過對速度信息的提取,經(jīng)過一定算法使當(dāng)前車速盡快逼近給定速度。綜上,小車的整體設(shè)計思路是通過穩(wěn)定的硬件和高效的軟件相結(jié)合保證小車在穩(wěn)定前進的前提下,用最短的時間完成比賽。2.2 總體設(shè)計方案如圖2.1所示,本智能車系統(tǒng)主要包括七大模塊:電源管理模塊、單片機控制模塊、賽道信息采集模塊、速度檢測模塊、舵機控制模塊、電機驅(qū)動模塊、輔助調(diào)試模塊。單片機控制模塊電源模塊賽道信息采集速度檢測模塊輔助調(diào)試舵機控制模塊電機控制模塊圖2.1 智能車系統(tǒng)硬件結(jié)構(gòu)框圖系統(tǒng)各個組成部分的主要功能如下:電源管理模塊:主要提供系統(tǒng)各模塊正常工作所需要的電源。穩(wěn)定、高效的電源模塊是系統(tǒng)正常工
10、作的基礎(chǔ)。單片機控制模塊:本系統(tǒng)采用由Freescale公司生產(chǎn)的MC9S12XS128單片機作為系統(tǒng)的控制核心,它負(fù)責(zé)控制各個模塊間的協(xié)調(diào)工作,主要接收來自賽道信息采集模塊的賽道信息和速度檢測模塊反饋的速度信息,通過對這些信息進行恰當(dāng)?shù)奶幚?,形成合適的控制量對舵機與驅(qū)動電機進行控制。賽道信息采集模塊:該模塊相當(dāng)于智能車的“眼睛”,主要負(fù)責(zé)采集小車所處位置當(dāng)前或前面的賽道信息,輸出相應(yīng)的信號供主控芯片處理。速度檢測模塊:該模塊主要檢測小車的當(dāng)前速度,作為速度反饋傳至控制器,以實現(xiàn)速度的閉環(huán)控制。精準(zhǔn)的速度檢測,是實現(xiàn)準(zhǔn)確控制小車速度的前提。舵機控制模塊:該部分主要作為小車方向控制執(zhí)行機構(gòu),根據(jù)
11、主控芯片輸出的控制信號執(zhí)行相應(yīng)的轉(zhuǎn)彎要求。電機驅(qū)動模塊:驅(qū)動電路是整個系統(tǒng)的重要組成部分,也是高效的算法得以實現(xiàn)的硬件基礎(chǔ)。它主要作為控制電機轉(zhuǎn)速的執(zhí)行機構(gòu),要求能有很好加速和制動性能。輔助調(diào)試模塊:輔助調(diào)試模塊用于構(gòu)建一個良好的人車交互界面,如智能車調(diào)試時的一些重要信息的顯示以及一些重要參數(shù)的設(shè)定等。 2.3 傳感器設(shè)計方案根據(jù)比賽規(guī)則,智能車循跡的賽道為50cm寬的白色KT上鋪設(shè)25mm寬的黑色引導(dǎo)線,黑白分明,因此也就有多種傳感器供選擇。其中紅外傳感器和攝像頭是最常用的賽道檢測傳感器。在這里我們采用攝像頭來采集賽道信息。使用CCD圖像傳感器,可以獲取大量的圖像信息,可以全面完整的掌握路徑
12、信息,可以進行較遠距離的預(yù)測和識別圖像復(fù)雜的路面,而且抗干擾能力強。通過對采集到的圖像信息進行一系列的處理來控制小車的速度和舵機轉(zhuǎn)向,從而完成比賽。2.4電機驅(qū)動模塊方案驅(qū)動電路是整個系統(tǒng)的重要組成部分,也是高效的算法得以實現(xiàn)的硬件基礎(chǔ)。要獲得一個良好的加速性能以及入彎時的及時制動能力,那么一個性能優(yōu)異的驅(qū)動電路是不可或缺的。對于直流電機,常用的數(shù)字調(diào)速方法就是電樞電壓進行脈寬調(diào)制技術(shù)(PWM)。典型的驅(qū)動電路就是H橋式電路,可以控制電機的正反轉(zhuǎn),同時通過PWM脈寬調(diào)制可以方便的調(diào)節(jié)電機轉(zhuǎn)速。 第三章 智能車硬件設(shè)計第三章 智能車硬件設(shè)計3.1 機械設(shè)計3.1.1 車模的結(jié)構(gòu)特點本智能車系統(tǒng)采
13、用兩輪驅(qū)動,前輪控制轉(zhuǎn)向,后輪驅(qū)動小車前進。在小車中后部架起攝像頭來采集賽道信息,電源放置在靠近后輪的車底盤上,電路板置于車板前部。整個小車重心在中部偏后,有較好的穩(wěn)定性。3.1.2 舵機的安裝我們將舵機固定在兩前輪中間處,臥式放置呈,使舵機的力臂擺動與軸心垂直,來提高舵機的轉(zhuǎn)彎靈敏度。增加從舵機到連桿之間的長度,這樣與以前的長度相比讓前輪轉(zhuǎn)過同樣的角度舵機只需轉(zhuǎn)過比以前更小的角度,在相同的舵機轉(zhuǎn)向條件下,轉(zhuǎn)向連桿在舵機一端的連接點離舵機軸心距離越遠,轉(zhuǎn)向輪轉(zhuǎn)向變化越快。這樣相當(dāng)于增大力臂長度,提高線速度。但是,如果力臂過長,將會大大減低轉(zhuǎn)矩,所以本設(shè)計中,只是將力臂加長至原來長度的23倍。由
14、于改裝后舵機的中心位置需要重新調(diào)整,采用結(jié)合編程控制的方法來糾正舵機的中位。通過編程來實現(xiàn)舵機左右各轉(zhuǎn)一定的角度,最后居中靜止。這么做主要是為了消除舵機的抖動對其中心位置帶來的影響。根據(jù)舵機最后靜止的位置來調(diào)節(jié)兩連桿的長度,反復(fù)多次調(diào)節(jié),可以達到理想的效果。通過以上這些改造提高了舵機的響應(yīng)速度,為快速靈巧的轉(zhuǎn)向提供了硬件的保證。圖3-1所示為舵機的安裝位置。圖3-1 舵機的安裝位置3.1.3 攝像頭的選擇及安裝攝像頭采用CCD彩色攝像頭,其分辨率為620*320。由于攝像頭相對于其他模塊其固定位置偏高,因此必須考慮其固定支架的重量問題。我們采用碳纖維桿和PCB板,加工出一體化的支架,由于其強度
15、較高,可以保證攝像頭的穩(wěn)定性,不會出現(xiàn)攝像頭晃動的問題,另一方面其重量較輕,不會導(dǎo)致攝像頭的重心過高的問題,以免出現(xiàn)車在過彎時出現(xiàn)側(cè)翻和車體傾斜的問題。圖3-2 攝像頭的安裝3.1.4 系統(tǒng)電路板的固定及連接本組共用到兩塊外接電路板,且制作成了印制板,安裝在車身中部的包括MCU,調(diào)試電路,電源電路等,而電機驅(qū)動電路則單獨安排在后面的另一塊印制板上。我們將所有功能模塊電路整合到兩塊電路板上,即主副電路板。為降低智能車重心,我們使用銅柱將電路板安裝在車的底盤上,并通過插盤將系統(tǒng)板固定在電路板底部。系統(tǒng)主控板的安裝如圖所示:圖3-3 電路板的連接和安裝3.2 電路設(shè)計3.2.1 電路板核心的組成主控
16、制電路板沒有采用使用組委會提供的S12開發(fā)板,而采用我們自己設(shè)計的PCB板,主控電路主要包括MC9S12XS128最小系統(tǒng)、電源電路、LCD顯示、鍵盤、速度檢測電路和蜂鳴器報警電路等部分。 核心電路板我們采用飛思卡爾提供的MC9S12XS128作為主控制器,用來實現(xiàn)對小車的控制。MC9S12XS128控制器采用增強型16位CPU,片內(nèi)總線是時鐘頻率最高可達25MHz,片內(nèi)資源包括128KB的Flash存儲器、8KB的RAM、2KB的EEPROM;兩個異步串行通信接口、兩個串行外圍接口、一組8通道的輸入捕捉或輸出捕捉的增強型捕捉定時器、兩組8通道10路模數(shù)轉(zhuǎn)換器、一組8通道脈寬調(diào)制模塊、一個字節(jié)
17、數(shù)據(jù)鏈路控制器、29路獨立的數(shù)字I/O接口、20路帶中斷和喚醒功能的數(shù)字I/O接口、5個增強型CAN總線接口,并支持背景調(diào)試模式(BDM)。其結(jié)構(gòu)如下:圖3-4 電路板3.2.2 電源管理模塊電源管理在整個電路中起著舉足輕重的作用,電源芯片選擇的好壞直接影響系統(tǒng)能否正常工作。它不僅為單片機提供工作電壓,而且為各個控制芯片提供工作電壓。因此,電源管理芯片的好壞直接影響系統(tǒng)的穩(wěn)定性。但由于電機帶負(fù)荷的大電流特性,直接影響供電電源的質(zhì)量,進而影響整個系統(tǒng)。從整個系統(tǒng)穩(wěn)定可靠的角度出發(fā),我們選擇了一款低壓差芯片LM2940,其最具特色的優(yōu)點是當(dāng)輸出電流為100mA時,最大壓差只有350mV,只需很少的
18、外圍器件就能滿足應(yīng)用要求。此外,使用多片該芯片的獨立穩(wěn)壓,降低了各模塊間的相互干擾,提高了系統(tǒng)的穩(wěn)定性。電源模塊主要包括單片機電源模塊、舵機電源模塊、攝像頭電源模塊、電機電源模塊。電源模塊電路的框圖如下。 LM2940鎳鎘電池( 7.2v )單片機5v編碼器、CCD等LM2941舵機電機驅(qū)動5v6v圖 3-5 電源模塊電路框圖3.2.3 電機驅(qū)動智能車的動力部分設(shè)計重點就是電機的驅(qū)動電路模塊,我們智能車的驅(qū)動是利用四片半橋驅(qū)動芯片BST7970構(gòu)成H橋式驅(qū)動電路分別控制兩個驅(qū)動電機。為了實現(xiàn)直流電機的調(diào)速我們采用的是PWM 波控制調(diào)速。在具體使用中我們采用四片場效應(yīng)管并聯(lián)的方式來降低每片場效應(yīng)
19、管的驅(qū)動電流,從而來降低場效應(yīng)管的發(fā)熱量達到保護驅(qū)動電路的目的。這樣可以不用增加散熱片來給驅(qū)動芯片散熱,并且大大的提高了加速驅(qū)動能力,使得電機的加減速性能有很大提高。具體電路見3-6圖圖3-6電機驅(qū)動電路原理圖3.2.4 編碼器模塊我們采用光電編碼器作為速度采集,選取了體積非常小而且重量輕的編碼器型號。光電編碼器是通過脈沖數(shù)的累積來獲取速度。在每一段速度采樣周期中,光電編碼器將所得到的脈沖數(shù)傳送到脈沖累加器,然后MCU將此次的數(shù)值分別與前兩個速度采樣周期的脈沖累加器值作差,從而進行速度控制。速度傳感器安裝于車模后部,通過電機輪齒輪帶動光電編碼器外的齒輪,當(dāng)電機齒輪轉(zhuǎn)動時光電編碼的齒輪隨之轉(zhuǎn)動,
20、在光電編碼的內(nèi)部產(chǎn)生脈沖。光電編碼器隨之向單片機輸送脈沖信號,從而獲得車模的速度。圖3-7 編碼器的安裝 第四章 智能車軟件系統(tǒng)的設(shè)計第四章 智能車軟件系統(tǒng)的設(shè)計4.1 軟件整體流程圖開始初始化結(jié)束速度控制參數(shù)設(shè)定賽道信息AD采集賽道判別舵機控制是起始線?YN系統(tǒng)的軟件總流程框圖如圖所示,主要包括初始化、參數(shù)設(shè)定、傳感器參數(shù)自整定以及行駛控制等幾個模塊。圖4.1 系統(tǒng)軟件總流程圖4.2 圖像采集與處理的算法4.2.1 攝像頭的工作原理 攝像頭分黑白和彩色兩種,根據(jù)賽道特點可知,為達到尋線目的,只需提取畫面的灰度信息,而不必提取其色彩信息。攝像頭主要由鏡頭、圖像傳感芯片和外圍電路構(gòu)成。圖像傳感芯
21、片是其最重要的部分,但該芯片要配以合適的外圍電路才能工作。將芯片和外圍電路制作在一塊電路板上,稱為“單板”。若給單板配上鏡頭、外殼、引線和接頭,就構(gòu)成了通常所見的攝像頭,如聊天用的攝像頭;若只給單板配上鏡頭,這就是“單板攝像頭”。單板通常有三個端子:電源端、地端和視頻信號端(有的還多出一個端子, 那是音頻信號端)。電源接的電壓要視具體的單板而定,目前一般有兩種規(guī)格,6-9V或9-12V。視頻信號的電壓一般位于0.5V-2V之間。攝像頭的工作原理是:按一定的分辨率,以隔行掃描的方式采集圖像上的 點,當(dāng)掃描到某點時,就通過圖像傳感芯片將該點處圖像的灰度轉(zhuǎn)換成與灰度一一對應(yīng)的電壓值,然后將此電壓值通
22、過視頻信號端輸出。攝像頭連續(xù)地掃描圖像上的一行,則輸出就是一段連續(xù)的電壓信號,該電壓信號的高低起伏反映了該行圖像的灰度變化。當(dāng)掃描完一行,視頻信號端就輸出一個低于最低視頻信號電壓的電平(如0.3V),并保持一段時間。這樣相當(dāng)于,緊接著每行圖像信號之后會有一個電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標(biāo)志。然后,跳過一行后(因為攝像頭是隔行掃描的),開始掃描新的一行,如此下去,直到掃描完該場的視頻信號,接著會出現(xiàn)一段場消隱區(qū)。該區(qū)中有若干個復(fù)合消隱脈沖,其中有個遠寬于(即持續(xù)時間遠長 于)其它的消隱脈沖,稱為場同步脈沖,它是掃描換場的標(biāo)志。場同步脈沖標(biāo)志著新的一場的到來,不過,場消隱
23、區(qū)恰好跨在上一場的結(jié)尾和下一場的開始部分,得等場消隱區(qū)過去,下一場的視頻信號才真正到來。攝像頭每秒掃描25 幅圖像,每幅又分奇、偶兩場,先奇場后偶場,故每秒掃描50場圖像。奇場時只掃描圖像中的奇數(shù)行,偶場時則只掃描偶數(shù)行。攝像頭有兩個重要的指標(biāo):分辨率和有效像素。分辨率實際上就是每場行同步脈沖數(shù),這是因為行同步脈沖數(shù)越多,則對每場圖像掃描的行數(shù)也越多。事實上,分辨率反映的是攝像頭的縱向分辨能力。有效像素常寫成兩數(shù)相乘的形式,如“240*320”,其中前一個數(shù)值表示單行視頻信號的精細(xì)程度,即行分辨能力;后一個數(shù)值為分辨率,因而有效像素=行分辨能力×分辨率。4.2.2 二值化處理二值化處
24、理最重要的是閾值的設(shè)定。所謂閾值就是將灰度或彩色圖像轉(zhuǎn)換 為高對比度的黑白圖像的界限。所有比閾值亮的像素轉(zhuǎn)換為白色,而所有比閾值暗的像素轉(zhuǎn)換為黑色。閾值的確定大體有兩種方法,固定閾值和動態(tài)閾值,前者又分為全局閾值法和局部閾值法。全局閾值即是整幅圖像都使用一個閾值,局部閾值法是在不同區(qū)域采用不同閾值。動態(tài)閾值是根據(jù)環(huán)境的變化,針對采集回來的圖像信息計算閾值。我們通過設(shè)定動態(tài)閾值來檢測黑白跳變,并判定黑線偏差,為控制提供可靠的數(shù)據(jù),取得了良好的效果。雖然效果還不錯,但在不同環(huán)境下,光線強度各有不同,仍需要設(shè)定不同的閾值來使得黑線判定的更加準(zhǔn)確,同時可以降低部分干擾。4.2.3 邊沿檢測法 我們檢測
25、目標(biāo)指引線的上邊緣。算法思路是:設(shè)定一個閾值,對于二位數(shù)組矩陣中每一列,從上至下求得中間隔兩行的兩像素值間的差值(上減下)。若差值大于等于閾值,則判定其下的像素點對應(yīng)的是黑色指引線的上邊緣,以此像點作為該列的特征點,記錄下此像素點的縱坐標(biāo)值(即為相應(yīng)的上邊緣縱坐標(biāo)), 作為該列上目標(biāo)指引線的縱坐標(biāo)。有可能始終不會出現(xiàn)差值大于等于閾值的情況,則讓該列上目標(biāo)指引線縱坐標(biāo)值保持不變 (即同于分析上一場圖像數(shù)據(jù)時求得的縱坐標(biāo))。4.3 轉(zhuǎn)向控制和車速控制的PID算法在模擬控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制.PID控制系統(tǒng)原理框圖如圖4-1所示.比例(P)作用積分(I)作用微分(D)作用受控
26、對象r(t)+_y(t)u(t)+e(t)圖 4-1 PID控制系統(tǒng)原理框圖圖中e(t)表示理想輸入與實際輸出的誤差,這個誤差信號被送到控制器,控制器算出誤差信號的積分值和微分值,并將它們與原誤差信號進行線性組合,得到輸出量u(t)。其中,、 、 分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。u接著被送到了執(zhí)行機構(gòu),這樣就獲得了新的輸出信號u(t),這個新的輸出信號被再次送到感應(yīng)器以發(fā)現(xiàn)新的誤差信號,這個過程就這樣周而復(fù)始地進行。PID各個參數(shù)作用基本介紹:比例環(huán)節(jié):成比例的反應(yīng)控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,減少偏差.積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度.積
27、分作用的強弱取決于積分時間常數(shù),越大,積分作用弱,反之則越強.微分環(huán)節(jié):反應(yīng)偏差信號的變化趨勢(變化速率),調(diào)節(jié)誤差的微分輸出,誤差突變時,能及時控制,并能在偏差信號變得太大之前,在系統(tǒng)中引入一個有效地早期修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間.運用PID控制的關(guān)鍵是調(diào)整三個比例系數(shù),即參數(shù)整定。PID整定的方法有兩大類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計算確定控制器參數(shù)。由于智能車的整個系統(tǒng)是機電高耦合的分布參數(shù)系統(tǒng),并且要考慮賽道具體環(huán)境,要建立精確的智能車運動控制數(shù)學(xué)模型有一定難度,而且我們對車身機械結(jié)構(gòu)經(jīng)常進行不斷修正,模型參數(shù)變化較頻繁,可操作性不強;
28、二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單,我們采用了這種方法,同時,我們先后實驗了幾種動態(tài)改變PID參數(shù)的控制方法。通過組合三者的優(yōu)勢,就可以得到優(yōu)化的控制性能. 第五章 開發(fā)和調(diào)試第五章 開發(fā)和調(diào)試CodeWarrior是由Metrowerks公司提供的專門面向 Freescale 所有MCU與DSP嵌入式應(yīng)用開發(fā)的軟件工具。其中包括集成開發(fā)環(huán)境IDE、處理器專家、全芯片仿真、可視化參數(shù)顯示工具、項目工程管理、C 交叉編譯器、匯編器、鏈接器以及調(diào)試器。 5.1 調(diào)試平臺CodeWarrior IDE通過CodeWarrior IDE你可以選擇C或C+語言進
29、行編程,然后進行編譯、鏈接和調(diào)試。通過BDM,你可以把程序燒入單片機,還可以進行在線調(diào)試。CodeWarrior IDE使用方便且功能強大,是智能車開發(fā)調(diào)試必不可少的工具。 CodeWarrior IDE在新建工程中的mc9s12xs128.h(以相對應(yīng)單片機型號為文件名)文件對所有寄存器對應(yīng)的存儲映射地址都進行了宏定義,可供開發(fā)者在軟件開發(fā)時直接調(diào)用。 要進行軟件編程,必須先在CodeWarrior IDE中建立一個新的工程,然后才能輸入代碼,進行編譯鏈接最終寫入單片機中。打開CodeWarrior,然后單擊“File>New”,再根據(jù)向?qū)崾据斎胂嚓P(guān)信息,就能建立一個新的工程。Cod
30、eWarrior運行界面如圖5-1所示:圖5-1 CodeWarrior運行界面5.1 調(diào)試器CodeWarrior IDE中的調(diào)試器不僅可以進行在線調(diào)試,還可以進行在線的仿真。在調(diào)試器中,我們可以看到定義的全局變量的變化和各個寄存器的當(dāng)前值,還可以看到單片機內(nèi)存中內(nèi)容等。此外,還有許多其他的實用功能,在智能車的調(diào)試過程中使用很是方便有效。具體調(diào)試器界面如圖5-2所示。圖5-2調(diào)試界面 第六章 總結(jié) 第六章 總結(jié)6.1 車模主要技術(shù)參數(shù)說明表 6-1 模型車技術(shù)參數(shù)統(tǒng)計項目參數(shù)路徑檢測方法(賽題組)攝像頭車模幾何尺寸(長、寬、高)(毫米)320*210*320車模軸距/輪距(毫米)200/14
31、0車模平均電流(勻速行駛)(毫安)2000電路電容總量(微法)1600傳感器種類及個數(shù)攝像頭1個,編碼器2個新增加伺服電機個數(shù)0賽道信息檢測空間精度(毫米)2賽道信息檢測頻率(次/秒)50主要集成電路種類/數(shù)量主控板1塊,驅(qū)動板1塊,最小系統(tǒng)板1塊,LCD板1塊車模重量(帶有電池)(千克)1.136.2 總結(jié)本文詳細(xì)介紹了為第六屆全國智能車大賽而準(zhǔn)備的智能車系統(tǒng)方案。該系統(tǒng)以Freescale1 16位單片機MC9S12XS128作為系統(tǒng)控制處理器,采用攝像頭采樣獲取賽道信息,通過檢測方法提取賽道黑線,求出控制黑線偏差,采用PID方式對舵機轉(zhuǎn)向進行反饋控制,并通過速度編碼器對小車形成速度閉環(huán)控
32、制。文中介紹了賽車機械結(jié)構(gòu)和調(diào)整方法,賽車各個主要模塊的工作原理和設(shè)計思路,并敘述了系統(tǒng)開發(fā)過程中所用到的開發(fā)工具、軟件以及各種調(diào)試、測試方法。在學(xué)校和學(xué)院領(lǐng)導(dǎo)的關(guān)心下、在指導(dǎo)老師的精心幫助下,我們經(jīng)過不懈的努力,對智能車進行深入地研究,對飛思卡爾16位控制器MC9S12XS128有了深入地了解。最終決定了主要的設(shè)計方案,其中的很多參數(shù)則是通過大量的試驗才決定的。同時對于CodeWarrior IED開發(fā)環(huán)境我們有了相當(dāng)充分的了解,并熟練掌握BDM的調(diào)試方法。通過對整個設(shè)計建模,充分發(fā)揮了動手能力,把想法變?yōu)榱爽F(xiàn)實,并配以合理的理論解釋,將智能車的硬件設(shè)計、軟件輔助設(shè)計清晰表達出來。幾個月的精
33、心準(zhǔn)備和不懈努力,我們在安徽賽區(qū)的比賽當(dāng)中得到了肯定,取得了較好的成績,達到了我們最初設(shè)計的目標(biāo)。在未來的時間里,我們會再接再厲,使小車的性能更加穩(wěn)定,希望在即將到來的全國總決賽上能夠發(fā)揮出自己的水平,贏得更好的成績。參考文獻1 邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法,北京:清華大學(xué)出版社,20042 卓晴,黃開勝,邵貝貝.學(xué)做智能車挑戰(zhàn)“飛思卡爾”杯,北京:北京航空航天大學(xué)出版社,20073 黃友銳,曲立國. PID控制參數(shù)整定與實現(xiàn),北:科學(xué)出版社出版,20104 吳曄,張揚,藤勤.基于HCS12的嵌入式系統(tǒng)設(shè)計.北京:電子工業(yè)出版社,2010年1月5 童詩白.華成英模擬電子技術(shù)基礎(chǔ)M北京
34、: 高等教育出版社20006 王曉明.電動機的單片機控制M.北京:北京航空航天大學(xué)出版社,20027 謝劍英,賈青.微型計算機控制技術(shù).北京:國防工業(yè)出版社,20068 臧杰,閻巖.汽車構(gòu)造M.北京:機械工業(yè)出版社,20059 王慶有.圖像傳感器應(yīng)用技術(shù).北京:電子工業(yè)出版社,2003 年9 月10 余志生.汽車?yán)碚揗.北京:機械工業(yè)出版社,2006.11 安鵬,馬偉.S12單片機模塊應(yīng)用及程序調(diào)試J.電子產(chǎn)品世界.2006.第211期.162-16312 沈長生常用電子元器件使用一讀通M北京: 人民郵電出版社,200413 楊國田. 摩托羅拉68HC12系列微控制器原理,應(yīng)用與開發(fā)技術(shù).中國
35、電力出版社,200314 張偉等 Protel DXP 高級應(yīng)用M北京.:人民郵電出版社,2002 附:程序代碼 附:程序代碼#include <hidef.h> /* common defines and macros */#include "derivative.h" /* derivative-specific definitions */#include "define.h" extern signed char diffSIZE_Y;extern unsigned char VideoDataSIZE_YSIZE_X; extern
36、 unsigned char sample_rowSIZE_Y; extern unsigned char ErrLineCnt; extern unsigned char flag_Badrow,flag_Badrow_last,Bad_times; extern unsigned char kind; /跑道類型,用于調(diào)試 extern signed int a,b;extern signed int P1,D1; /舵機PD參數(shù) extern unsigned char sha_che_i; extern unsigned int Speed_zhi,Speed_wan,Speed_ba
37、d,Speed_po; extern unsigned char set_para_kind; extern unsigned int speed_Kp,speed_Ki; extern unsigned char time_chuan_xian; extern unsigned int time_stop_enable; extern void PLL_Init(void); extern void PWM_Init(void); extern void PORT_Init(void); extern void AD_Init0(void); extern void AD_Init1(voi
38、d); extern void ADD_Init(void); extern void LCD_Init(void); extern void lcd_display_para(void); extern void para_set_menu(void); extern void para_set_dis(void); extern void realspeed_dis(void); extern void lcd_logo(void); / LCD顯示 extern void lcd_dianyajiance(void); extern void lcd_V(void); extern vo
39、id clear_lcd(void); extern void dis_diff(void); /控制函數(shù)/ extern void init_Control(void); extern void ServoControl(void); extern void SpeedControl(void); extern void CalcuLine(void); extern void ScanLine(unsigned char temp); extern void pulse_cnt(void); extern void start_point(unsigned char temp); exte
40、rn void ADD_black_Line(void); / extern void smoothing(void); /變量定義/ unsigned int row_counter,hang; unsigned char ccd_data_sample_end_flags=0; unsigned int battery_voltage,battery_voltage1; unsigned char sample_flag,sample_row_j; unsigned char Threshold_temp; unsigned char BadFrame_control; unsigned
41、char flag_podao,ENC_sample_cnt,ENC_sample_delay,podao_kind=0; unsigned int ENC_sample; unsigned int time; /*延時函數(shù)*/ void delay(unsigned char x) unsigned char i; for (i=0;i<x;i+); void longdelay(unsigned int x) unsigned int i; unsigned int j; for (i=0;i<x;i+) for(j=0;j<1000;j+) ; void Dly_ms(
42、int ms) int ii,jj; if (ms<1) ms=1; for(ii=0;ii<ms;ii+) for(jj=0;jj<2670;jj+); /*/ void battery_check(void) unsigned char i; battery_voltage=0; AD_Init0(); for(i=0;i<16;i+) while(!ATD0STAT0_SCF); battery_voltage=battery_voltage+ATD0DR0L; battery_voltage=battery_voltage/16; battery_voltage
43、1=battery_voltage*300/255; if(battery_voltage1<69) BEER=0; else BEER=1; /*/ AN1 void ENC_check(void) unsigned int i; ENC_sample=0; if(podao_kind=1) ENC_sample_delay+; if(ENC_sample_delay<50) return; else podao_kind=0; ENC_sample_delay=0; AD_Init1(); for(i=0;i<16;i+) while(!ATD0STAT0_SCF); E
44、NC_sample=ENC_sample+ATD0DR1L; ENC_sample=ENC_sample/16; if(ENC_sample>110) flag_podao=1; BEER=0; else if(flag_podao=1) ENC_sample_cnt+; if (ENC_sample_cnt>28) ENC_sample_cnt=0; flag_podao=0; podao_kind=1; BEER=1; /*/ void init_sys_virable(void) unsigned char i; PWMDTY23=3850; a=0;b=0; for(i=0
45、;i<SIZE_Y;i+) diffi=0; BadFrame_control=0; BEER=1; set_para_kind=6; PWME=PWME&0xCC; speed_Ki=1; speed_Kp=7; Speed_zhi=200; Speed_wan=150; Speed_bad=130; Speed_po=150; Threshold_temp=35; ENC_sample_cnt=0; ENC_sample_delay=0; podao_kind=0; time_chuan_xian=0; time_stop_enable=17; /*/ void read_c
46、cd_data(void) for(hang=0;hang<SIZE_X;hang+) PORTE_PE3=1; _asm(nop);_asm(nop); _asm(nop);_asm(nop); _asm(nop);_asm(nop); PORTE_PE3=0; _asm(nop);_asm(nop); _asm(nop);_asm(nop); _asm(nop);_asm(nop); VideoDatasample_row_j-1hang=PORTA; /*/void main(void) unsigned char i=0,test_temp=0; COPCTL=COPCTL&am
47、p;0xf8; /禁止看門狗 /*參數(shù)初始化*/ PLL_Init(); PWM_Init(); PORT_Init(); ADD_Init(); LCD_Init(); init_Control(); init_sys_virable(); /*電壓檢測*/ clear_lcd(); lcd_logo(); Dly_ms(1500); clear_lcd(); lcd_dianyajiance(); battery_check(); lcd_V(); Dly_ms(1500); /*/ clear_lcd(); para_set_menu(); " for(;) para_set_dis(); if(KEY1=0) set_para_kind+; if(set_para_kind=11)set_para_kind=0; while(KEY1=0); longdelay(150); /200 if(KEY2=0) switch(set_para_kind) case 0:Speed_zhi=Speed_zhi+5; break; case 1:Speed_wan=Speed_wan+5; break; case 2:sha_che_i=sha_che_i+1; break; case 3:Speed_b
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年煤礦安全監(jiān)控系統(tǒng)改進與策劃合作協(xié)議
- 2025年周轉(zhuǎn)住房租賃策劃與管理協(xié)議
- 2025年員工離職協(xié)議書策劃標(biāo)準(zhǔn)樣本
- 2025年策劃崗位人員調(diào)動協(xié)議
- 2025年土地出讓安全生產(chǎn)監(jiān)管協(xié)議范本
- 2025年專利權(quán)保密義務(wù)協(xié)議
- 2025年安全生產(chǎn)策劃與實施監(jiān)管協(xié)議
- 事業(yè)單位房屋管理精細(xì)化運營模式
- 跨境物流體系優(yōu)化與成本控制策略
- 深化工業(yè)園區(qū)改革創(chuàng)新未來展望及發(fā)展趨勢
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-18-01-01 車工 人社廳發(fā)2018145號
- 人教版小學(xué)五年級數(shù)學(xué)下冊第三單元測試卷(含答案)
- 小兒急乳蛾的護理查房
- 胸骨后甲狀腺腫課件
- 公司差旅費報銷單
- 如何撰寫高水平的博士論文
- 三班兩倒排班表
- 制冷車間及冷庫日常隱患排查表
- 風(fēng)口風(fēng)閥安裝施工流程及工藝工法
- 商混站崗位職責(zé)匯編
- 2022-2023學(xué)年貴州省畢節(jié)市威寧縣小升初全真模擬數(shù)學(xué)檢測卷含答案
評論
0/150
提交評論