攝像頭組電子科技大學_第1頁
攝像頭組電子科技大學_第2頁
攝像頭組電子科技大學_第3頁
攝像頭組電子科技大學_第4頁
攝像頭組電子科技大學_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、I摘要本文設計的智能車系統以 MK60DN512ZVLQ10 微器為單元,通過CMOS 攝像頭檢測賽道信息,使用模擬比較器對圖像進行硬件二值化,提取黑色引導線,用于賽道識別;通過編碼器檢測模型車的實時速度,使用PID算法調節驅動電機的轉速和轉向舵機的角度,實現了對模型車運動速度和運動方向的閉環。關鍵字:MK60DN512ZVLQ10,CMOS,PIDIIAbstractIn this paper we will design a smart car system based on MK60DN512ZVLQ10as the micro-controller unit. We use a CMO

2、S image sensor to obtain lane image information. Then convert the original image into the binary image by the analog comparator circuit in order to extract black guide line for track identification. An inferred sensor is used to measure the cars moving speed. We use PID control method to adjust the

3、rotate speed of driving electromotor and direction of steering electromotor, to achieve the closed-loopcontrol for the speed and direction.Keywords: MK60DN512ZVLQ10,CMOS,PIDIII目錄摘要IIAbstractIII目 錄IV引言1第一章 系統總體設計21.1 系統概述21.2 整車布局3第二章 機械系統設計及實現42.1 智能車機械參數調節42.1.1 前輪調整42.1.2 其他部分調整62.2 底盤高度的調整72.3 編碼

4、器的安裝72.4 舵機轉向結構的調整72.5 攝像頭的安裝9第三章 硬件系統設計及實現113.1 MK60DN512ZVLL10 主控模塊123.23.33.43.53.63.7第四章電源管理模塊12攝像頭模塊14電機驅動模塊15測速模塊16陀螺儀模塊16輔助調試模塊16軟件系統設計及實現174.1 賽線提取及優化處理17IV4.1.1 原始圖像的特點174.1.2 賽道邊沿提取184.1.3 推算中心194.1.4 路徑選擇204.2 PID算法介紹214.2.1 位置式PID224.2.2 增量式PID224.2.3 PID 參數整定224.3 轉向舵機的PID4.4 驅動電機的PID算法

5、23算法23第五章 系統開發及調試工具245.1 開發工具245.2 上位機圖像調試245.3 SD 卡模塊245.3.1 SD 卡介紹245.3.2 SPI 總線介紹255.3.3 軟件實現25第六章 模型車的主要技術參數27結 論28參 考 文 獻I附錄 A:電原理圖I附錄 B:程序源代碼IIIV引言隨著科學技術的不斷發展進步,智能的應用越來越廣泛,幾乎滲透到所有領域。智能車技術依托于智能,前景廣闊且發展迅速。目前,掌握著汽車工業的發達已經開發了許多智能車的實驗平臺和商品化的車輛輔助駕駛系統。有研究認為智能汽車作為一種全新的汽車概念和汽車, 在的將來會成為汽車生產和汽車市場的主品。面向大學

6、生的智能汽車競賽最早始于韓國,在國內,能汽車競賽從 2006 年開始已經舉辦了十一屆,得到了各級大學生“恩”杯智及各高校師生的高度評價。大賽為智能車領域培養了大量后備,為大學生提供了一個充分展示想象力和創造力的舞臺,吸引著越來越多來自不同專業的大學生參與其中。大學生“恩”杯智能汽車競賽包括光電組、攝像頭組和電磁組,其中數攝像頭組的智能車速度最快,備受關注。本技術報告主要包括機械系統、硬件系統、軟件系統等,詳盡地闡述了我們的設計方案,具體表現在硬件電路的創新設計以及算法的獨特想法。智能車的制作過程包含著我們的辛勤努力,這份報告凝聚了我們智慧,是我們團隊共同努力的成果。在準備比賽的過程中,我們小組

7、成員涉獵、模式識別、傳感器技術、汽車電子、電氣、計算機、機械等多個學科,幾來的經歷,培養了我們電路設計、軟件編程、系統調試等方面的能力,鍛煉了我們知識融合、實踐動手的能力,對今后的學習工作都有著的實際意義。1第一章系統總體設計1.1 系統概述智能車系統的總體工作模式為:CMOS 圖像傳感器拍攝賽道圖像,輸出 PAL制式信號,經過信號處理模塊進行硬件二值化,二值化圖像信號、奇偶場信號、行同步信號輸入到 MK60N512ZVLQ10 采用 MK60DN512ZVLQ10 的輸入捕捉功能進行脈沖計算獲得速度和路程;轉向舵機采用 PD;驅動電機采用 PID,通過PWM驅動電路調整電機的功率;而車速的目

8、標值由默認值、運行安全方案和基于圖像處理的優化策略進行綜合。根據智能車系統的基本要求,我們設計了系統結構圖,如圖 1.1 所示。在滿足比賽要求的情況下,力求系統簡單高效,因而在設計過程中盡量簡化硬件結構, 減少因硬件而出現的問題。電源模塊舵 機攝像頭圖 1.1 系統結構圖2藍牙模塊陀螺儀模塊MK60DN512ZVLQ10測速模塊電機驅動模塊電池電機第一章 系統總體設計1.2 整車布局(1)車模底盤降低,主板低放,以降低重心。(2)舵機臥式放置,方便。(3) 用輕便堅固的碳纖桿作為攝像頭桿的材料。(4) 攝像頭安于電池的前方,有利于重心分布和盲區與前瞻的匹配。圖 1.2 整車布局圖3第二章機械系

9、統設計及實現根據的相關規定,今年攝像頭組比模更換為 B。不同的車模,必然會有不同的調整方式。在比賽備戰之初,我們就對該車模進行了詳細的系統分析。B精度不是很高,因此在規則范圍內盡量改造車模,提高車模整體精度是很必要的。本章將主要介紹智能汽車車模的機械結構及調整方案。2.1 智能車機械參數調節為保證智能小車直線行駛穩定,轉向輕便靈活并盡可能的減少輪胎磨損, 需要對小車的四輪參數進行調整。四輪內容主要有:主銷后傾角,主銷內傾角,前輪外傾角,前輪前束,外側車輪二十度時,內外轉向輪轉角差,后輪外傾角,后輪前束。其中,前輪的參數對小車性能有著的影響,這四個參數反映了前輪、主銷和前軸三者之間在車架上的位置

10、關系。本節將對這四個參數做詳細闡述2.1.1 前輪調整小車在調試過程中,轉向輪參數是很重要的因素,它通常不易被察覺,但是卻有著較大的危害。如果取得不恰當,那么將造成轉向不靈活,效率低以及轉向輪側滑等問題,使得小車性能下降,輪胎的磨損。轉向輪參數包括:主銷內傾角、主銷后傾角、轉向輪外傾角及轉向輪前束。這其中最重要的就是轉向輪外傾角和轉向輪前束。主銷內傾是指主銷裝在前軸略如圖 2.1.1。內傾角度越大前輪自動磨損增大;反之,角度越小前輪自動傾斜的角度,它的作用是使前輪自動,的作用就越強烈,但轉向的作用就越弱。費力,輪胎主銷后傾(Caster)是指主銷裝在前軸,上端略傾斜的角度,如圖 2.1.1。它

11、使車輛轉彎時產生的離心力所形成的力矩方向與車輪偏轉方向相反,迫使車輪偏轉后自動恢復到原來的中間位置上。由此主銷后傾角越大,車速越高,前輪穩定性也愈好。主銷內傾和主銷后傾都有使汽車轉向自動,保持直線行駛的功能。不4第二章 機械系統設計及實現同之處是主銷內傾的與車速無關,主銷后傾的與車速有關,因此高速傾的作用大,低速時內傾的作用大。圖 2.1.1 主銷后傾角車輪外傾角(Camber)是指從前放看前軸時,輪胎的面不是垂直的,而是上面傾斜一個角度,如圖 2.1.2。設置轉向輪的外傾角是為了平衡和協調因為車重造成的前輪內傾傾向,使輪胎和路面呈垂直接觸的最佳狀態。圖 2.1.2 主銷內傾角和車輪外傾角轉向

12、輪前束(Toe out)是指同一軸兩端車輪輪輞內側輪廓線的水平直徑的端點為等腰梯形的頂點,底邊為車輪軸線。等腰梯形兩底邊長度之差為前束。如圖 2.1.3所示,當梯形前低邊小于后底邊時,前(A<B),反之為負。車輪的水平直徑與縱向平面之間的夾角為前。正的前在車輪中心產生的側向力,而5第十一屆大學生智能汽車邀請賽技術報告正的外傾角在車輪中心產生的側向力,因此前的作用是與外傾角協調,保持車輪做純滾動和直線行駛,從而減少輪胎磨損,提高汽車的穩定性。前束4圖 2.1.32.1.2 其他部分調整其他部分調整主要涉及到小車底盤高度、小車重心位置、后輪距、減震器、齒輪咬合、差速器等。具體調整如下:1、底

13、盤高度調整:底盤高度可以影響重心。適當降低底盤高度可以使小車重心降低,有利于過彎穩定。實際調整可以通過調整前輪高度、后輪軸高度調節塊等方式來調節。2、重心位置:重心位置同樣影響小車性能。重心過前,增加轉向阻力,引起轉向遲滯。另外,如果小車速度很快的情況下,上下坡道的時候會造成前輪首先著地,很可能造成小車意外事故。重心過后,則會使小車前輪抓地不足,造成過彎非常不穩定。實際調整以重心在電池處為準,保持各部分重量均衡。3、后輪距調整:后輪距可以通過換裝后輪寬度調整塊來調整。合適的后輪寬度會是小車直線性能和彎道性能更優,利于小車穩定。4、減震器彈簧強度調整:坡道時候,減震器影響顯得尤為突出。小車平面行

14、駛時,無垂直方向速度,遇到坡道時候,小車會瞬間在垂直方向上出現一個速度,此時減震器在耦合小車前部和小車后部時候會出現一個緩沖區,增加坡道穩定性。下坡時候則是垂直方向上的速度瞬間減小為 0,減震器的作用亦如上坡。實際調整中,我們通過加裝彈簧調節塊來調整。5、齒輪咬合調整:調整齒輪咬合,以不松動,無卡滯,松緊合適為準。另外還要保證齒輪間咬合有足夠的接觸面積。6、差速器調整:合適的差速器調整能夠提高小車入彎速度,提高彎道性能。差速器調整可以通過右后輪輪軸上面的螺絲。注意調整過松,會嚴重影響直道加速性能;調整過緊則會使差速器處于無效狀態,影響小車在過彎時的速度,并可6第二章 機械系統設計及實現能會照成

15、甩尾。2.2 底盤高度的調整在保證順利通過坡道的前提下,底盤盡量降低,從整體上降低模型車的重心,可使模型車轉彎時更加穩定、高速。2.3 編碼器的安裝選用編碼器進行速度的測量。根據編碼器的形狀,我們了一個支架,速度傳感器用螺釘通過支架固定在后輪支架上,這樣固定好之后,就有了較高的穩定性。然后調節編碼器齒輪,使其與差速齒輪緊密咬合,增大測速的精確性,但是咬合過緊也增大了摩擦,減小了對電機做功的利用率,影響小車的快速行駛,因此減小摩擦同時增強齒輪間的咬合是我們主要考慮的因素。如圖 2.3 所示。圖 2.3 編碼器安裝2.4 舵機轉向結構的調整車模轉向由前輪舵機經過連桿將轉動轉變為平行四邊形雙搖桿結構

16、的轉動,最后由平行四邊形雙搖桿機構帶動前輪的左右擺動實現轉向。經過分析和測試,發現此轉向機構結構相對復雜,效率底下。轉向機構原理圖 2.4.1。7第十一屆大學生智能汽車邀請賽技術報告圖 2.4.1 轉向機構原理圖圖 2.4.1 取車體為參考系,各固定鉸相對車體靜止。舵機連桿輸出推動平行四邊形雙搖桿機構轉動進而帶動前輪轉動。 角為角, 角為傳動角,他們共同決定了舵機效率的高低, 角反映了舵機的轉角。由于對稱性,故只討論 在 0-90 度的情況,在舵機處于中心位置時角為 0 度,角為 90 度, 角為 90 度,此時舵機效率最高。隨著 角的減小,傳動角減小,而角則增大,根據上式可以看出,效率將迅速

17、減小。當角到達 0 度, 即平行四邊形雙搖桿機構搖桿 1 與連接桿 1 在同一直線上時,此時左輪轉動桿轉角達到最大值;而當連架桿 2 和右輪轉動桿的夾角等于 180 度時, 角將不能在減小,此時到達舵機的左極限,同理如果 增大也會存在上述兩個極限點。由于上述兩個極限點并不是同時到達,甚至還會造成一小段時間內左右輪轉向不同的問題。對于 C 車來說,轉向角度越大越好,但是從對平行四邊形雙搖桿機構的分析來看,隨著 角的減小, 角將增大,當到達極限位置時, 角也到達極限,也就是右輪的右極限。而對于現有的安裝是比較大的,因此這也就限定了理論上的轉角。而車模本身的限制不僅僅是理論上的,由于各個部件并不是很

18、合適,造成了轉向機構的機械限位,因此在不影響車模強度的情況下, 修改和更換掉一些部件,將這些機械限位去掉。為了最大限度的增大轉向范圍,設計了一種簡單且效率較高的方案長連桿方案,如圖 2.4.2。8第二章 機械系統設計及實現圖 2.4.2 長連桿方案原理圖長連桿方案的優點是:一、可以根據需要選擇舵機輸出桿的長度,從而獲得所需要的靈敏度,但是舵機輸出桿的長度也不能太長,因為這會對舵機的輸出力矩有較高的要求, 太長會燒壞舵機。二、效率較高,舵機的單邊(例如取左邊)效率,對于長連桿方案來說,左輪角在增大的同時,右輪角在減小,而且角是在 0-45 度之間,同時的變動也比較小(45 度-135 度),因此

19、長連桿的效率變動較小且效率較高。三、轉角大,由于長連桿方案中舵機輸出桿的轉動在同一個平面內,當其到達極限位置時,轉角比平行四邊形方案要大。四、轉向更靈敏,因為放大倍數較平行四邊形方案要大。2.5 攝像頭的安裝CMOS 攝像頭的安裝位置和重量,我們自行為了降低整車重心,需要嚴格設計了輕巧的鋁合金夾持組件并采用了碳管作為安裝 CMOS 的主桅,這樣可以獲得最大的質量比,整套裝置具有很高的精度和,使攝像頭便于拆卸和維修,具有賽場快速保障能力。攝像頭的安裝如圖 2.5 所示。9第十一屆大學生智能汽車邀請賽技術報告圖 2.5攝像頭安裝10第三章硬件系統設計及實現共包括八大模塊:MK60DN512ZVLL

20、10 主控模塊、傳感器模塊、電源模塊、電機驅動模塊、速度檢測模塊、陀螺儀模塊和輔助調試模塊。各模塊的作用:MK60DN512ZVLL10 主控模塊:智能車系統以 MK60DN512ZVLL10 為,將攝像頭、編碼器等傳感器的信號,根據算法做出決策,驅動直流電機和舵機完成對智能汽車的并實現了單片機硬件的最優化設計和單片機的合理化使用。攝像頭模塊:可以通過一定的前瞻性,提前感知前方的賽道信息,為智能汽車做出決策提供必要的依據和充足的反應時間。電源管理模塊:為整個系統提供合適而又穩定的電源。電機驅動模塊:驅動直流電機和伺服電機完成智能汽車的加和轉向。速度檢測模塊:檢測反饋智能汽車輪的轉速,用于速度的

21、閉環。陀螺儀模塊:用于坡道檢測,輔助智能車過坡。燈塔檢測模塊:檢測燈塔發出的方波信號,完成智能車的發車與停車。輔助調試模塊:主要用于智能汽車系統的功能調試、狀態11第十一屆大學生智能汽車邀請賽技術報告3.1 MK60DN512ZVLQ10 主控模塊MK60N512ZVLQ10 是 K60 系列 MCU。Kinetis 系列微器是 Cortex-M4系列的內核。K60 內存空間可擴展,從 32 KB 閃存/ 8 KB RAM 到 1 MB閃存/ 128 KB RAM,可選的 16 KB緩存用于優化總線帶寬和閃存執行性能。3.2 電源管理模塊中電源穩壓電路分別需要有+5V,+3.3V,+6V,+1

22、2V 供電。+3.3V給單片機,攝像頭,陀螺儀供電;+5V 為編碼器模塊,藍牙模塊供電;+6V 給舵機供電;+12V 給電機驅動電路中HIP4082 供電。12第三章 硬件系統設計及實現由于整個系統中+5V 電路功耗較小,為了降低電源紋波,我們考慮使用線性穩壓電路。另外,后輪驅動電機工作時,電池電壓壓降較大,為提高系統工作穩定性,必須使用低壓降電源穩壓,我們選用了 TPS76850。TPS76850 是微功耗低壓差線性電源需要極少的,具有完善的保護電路,包括,過壓,電壓反接保護。使用這個只元件就能高效穩壓電路。圖 3.2.1 TPS76850 原理圖TPS76833是超低噪,高電源電壓抑制比,

23、高速射頻,線性調節的低壓穩壓芯片。13第十一屆大學生智能汽車邀請賽技術報告圖 3.2.2 TPS76833 原理圖舵機用 LT1764-ADJ 進行供電,通過調整,使用 6V 的電壓給舵機供電。較高的電壓可以提高舵機的響應速度,但過高電壓容易導致舵機工作不穩定。舵機電源的穩壓電路原理圖如圖 3.2.3 所示。圖 3.2.3LT1764 原理圖3.3 攝像頭模塊攝像頭簡介攝像頭分黑白和彩色兩種,為達到尋線目的,只需提取畫面的灰度信息,而不必提取其彩色信息,所以我們所使用的 CMOS 攝像頭輸出的信號為黑白信號。我們所選用的攝像頭為 OV7725,1/3 英寸數字式 CMOS 圖像傳感器 OV77

24、25,總有效像素單元為 664(水平方向)×492(垂直方向)像素;內置 10 位雙通道 A/D 轉換器,輸出 8 位圖像數據;具有自動增益和自動白平衡,能進行、對比度、飽和度、校正等多種調節功能;其時序產生電路可產生行同步、場同步、混合同步等多種同步信號和像素時鐘等多種時序信號;5V 電源供電,工作時功耗<120mW,待機時功耗<10W。可應用于數碼相機、電腦攝像頭、可視、第三代網絡攝像機、智能型安全系統、汽車、玩具,以及工業、醫療等多種用途。OV7620 是 1/3”CMOS 彩色黑白圖像傳感器。它支持連續和隔行兩種掃描方式,VGA 與 QVGA 兩種圖像格式;最高像

25、素為 664×492,幀速率為 30fps;數據格式包括 YUV、YCrCb、RGB 三種,能夠滿足一般圖像系統的要求。我們采用集成攝像頭模塊,其優良的性能能很好地滿足要求,如圖 3.3.114第三章硬件系統設計及實現圖 3.3.13.4 電機驅動模塊電機驅動板為一個由分立元件制作的直流電可逆雙極型橋式驅動器,其功率元件由四支 N 溝道功率 MOSFET 管組成,額定工作電流可以輕易達到 100A以上,大大提高了電的工作轉矩和轉速。該驅動器主要由以下部分組成: PWM電路、電源電路、上橋臂功率 MOSFET 管號輸入接口、邏輯換向電路、死區柵極驅動電壓泵升電路、功率 MOSFET 管

26、柵極驅動電路、橋式功率驅動電路、緩沖保護電路等。圖 3.4 電機驅動模塊原理圖15第十一屆大學生智能汽車邀請賽技術報告3.5 測速模塊本小車使用廣州科創電子的 mini 型編碼器進行小車的測速,并由 TPS76850 為其提供 5V 工作電壓。處理器通過編碼器脈沖數來實現小車速度的檢測,通過編碼器旋轉方向腳的高低電平來檢測電機的正反轉。3.6 陀螺儀模塊采用 L3G4200D 角速度傳感器和 MMA8451度傳感器融合檢測坡道。圖 3.6.1 陀螺儀模塊原理圖3.7 輔助調試模塊為了方便調試,本藍牙模塊,有效進行運行參數之間的傳送,除此之外,還設置了鍵盤、oled 液晶顯示屏,以方便參數的修改

27、,便捷的智能車的調試。16第四章軟件系統設計及實現高效的軟件程序是智能車高速平穩自動尋線的基礎。我們設計的智能車系統采用CMOS 攝像頭進行賽道識別,圖像及校正處理就成了整個軟件的內容。在智能車的轉向和速度方面,我們使用了魯棒性很好的經典 PID算法,配合使用理論計算和實際參數補償的辦法,使智能車能夠穩定快速尋線。4.1 賽線提取及優化處理4.1.1 原始圖像的特點在單片機圖像信號后需要對其進行處理以提取主要的賽道信息,由于賽道賽道由于畸變及干擾等,圖像效果會下降,因此軟件必須進行一些必要的處理,以便正確識別賽,及特殊賽道類型,比如十字交叉,小 S 等。在圖像信號處理中我們提取的賽道信息主要包

28、括:賽道兩側邊沿點位置、賽道中心位置,賽道類型判別。攝像頭第一行對應最遠處,大約 180cm,圖像的最底部一行對應最近處,大約 5cm。遠處的圖像小,近處的圖像大,黑線為梯形狀。單片機通過比較器電路將每一行的黑白跳變點(跳變點按從右到左的順序)記錄下來,保存到兩個二維數組里(分別表示上升沿、下降沿)。通過遍歷上升沿和下降沿可以完成賽道邊沿的提取。攝像頭到幾種典型賽道圖像如圖 4.1圖 4.4 所示。圖 4.1 普通彎道17第十一屆大學生智能汽車邀請賽技術報告圖 4.2 十字交叉圖像4.1.2 賽道邊沿提取邊沿提取算法的基本思想如下:(1)直接逐行掃描原始圖像,根據設定的閾值提取黑白跳變點;(2

29、)賽道寬度有一個范圍,在確定的賽道寬度范圍內提取有效賽道邊沿,這樣可以濾除不在寬度范圍內的干擾;(3)利用賽道的連續性,根據沿點;白塊的位置和邊沿的位置來確定本行的邊(4)求邊沿點時,因為近處的圖像穩定,遠處圖像不穩定,所以采用由近及遠的辦法;(5)進出十字的時候,通過校正計算出邊沿角度可較好的濾除十字并補線;(6)直角一邊丟線,另一邊為直道,根據這個特征提取邊界(7)黑提示線依據賽道連續性進行補線,得出邊界邊沿提取算法的程序流程如圖 4.4 所示。18第四章 軟件系統設計及實現開始否是否搜索到是否是否搜索完是圖 4.4 算法流程圖處理后得到的黑線中心如圖 4.54.7 圖所示。4.1.3 推

30、算中心通過之前提取的賽道邊沿數據推算中心:若只有單邊有邊沿點數據,則通過校正對單邊數據按法線平移賽道寬度一半的距離;當能找到與一邊能匹配上的另一邊沿點時則直接求其中心作為中心點。判到直角直接給最大偏差。判到黑提示線根據兩邊補線求出中心線。計算出的中心點效果如下:19求所有有效行兩側賽道邊沿點上升沿和下降沿根據前一個邊沿的數據搜索下一行滿足條件的邊沿搜索最底部的三個有效行第十一屆大學生智能汽車邀請賽技術報告圖 4.11 彎道處理后圖像圖 4.12 十字處理后圖像4.1.4 路徑選擇對于競速賽,小車能否以一個合理的路徑跑完全程,能否合理地加,是提高小車速度的關鍵因素。在優化路徑方面,在兩個方面采取

31、措施:1)增加視場的長度和寬度如果攝像頭的視場太過狹窄,則近處容易出現行,且有些賽道沒法覆蓋完整,會對圖像的處理提出更高的要求。若視場太短,前瞻很可能不足,對攝像頭的進一步會產生限制。因此,盡量增大視場的長度和寬度就很有必要了。我們通過合理地調整攝像頭的高度和角度,使攝像頭的視場的長度比較合 理,經過試驗,使得攝像頭視場最近為距車 5cm 左右,最遠達到了 180cm 左右。為增加攝像頭視場的廣度,我們采用了廣角鏡頭,經過測試,發現可以完整地覆蓋賽道,對于直角等的也十分有利。2)優化算法對整場有效行的中心求平均值的算法,在低速情況下可以有效地優化賽20第四章 軟件系統設計及實現車路徑,但在速度

32、提高到一定程度之后由于過彎時的側滑,路徑不是很好。而由于圖像分布不均,近處的行占據絕大部分,在小車速度比較高時適應性比較差。為了解決這個問題,我們對于參與減小了車體前部 50cm 范圍內的圖像參與圖像的權重。計算的圖像行數及權重進行了處理,的行數和權重,同時增大視場前部4.2 PID算法介紹PID為這種是工業過程中歷史最悠久,生命力最強的方式。這主要是因方式具有直觀、實現簡單和魯棒性能好等一系列的優點。PID主要有三部分組成,比例、微分。比例是一種最簡單的方式。其器的輸出與輸入誤差信號成比例關系。偏差一旦產生,調節器立即產生作用使被控量朝著減小偏差的方向變化,作用的強弱取決于 KP。當僅有比例

33、error)。輸出存在穩態誤差(Steady-state為了消除穩態誤差,引入。項對誤差取決于時間的,隨著時間的增加, 大,它推動為了項會增大。這樣,即便誤差很小,項也會隨著時間的增加而加器的輸出增大使穩態誤差進一步減小,直到等于零。誤差變化的趨勢,引入微分的器,這樣就能夠提前使抑制誤差的作用等于零,甚至為負值,從而避免了被控量的嚴重超調。PID框圖如圖 4.2.1 所示。:圖 4.2.1 PID框圖對應的誤差傳遞函數為:21第十一屆大學生智能汽車邀請賽技術報告U (s ) = K( 1+ 1+ TpdE(s)式中,Kp 為比例增益;Ti 為T(公式一)i時間常數;Td 為微分時間常數;U(s

34、)為量;E(s) 為被控量與設定值R(s)的偏差。時域表:éde(t) ù 1Titòu(t) = Kp êe(t) +e(t)dt + Tdúdtëû0(公式二)。將上式離散化,得在單片機中,我們僅能對數字信號處理,即數字PID錯誤!未找到源。 (公式二)4.2.1 位置式 PID直接利用上述離散化公式計算,框圖如右圖所示。由于項(Pi)是將所有值偏差相加,在一段時間后會很浪費單片機。對其稍加改進,得到增量型PID 算法。4.2.2 增量式 PID根據式二得第 k-1 個采樣周期的量為錯誤!未找到源。 (公式三)式二減式三

35、得錯誤!未找到源。 (公式四)由此,第 k 個采樣時刻實際量為錯誤!未找到源。,為方便書寫,寫為錯誤!未找到源。 (公式五)q = -K (1+ 2Td )Td Tq = K1p2pT其中,錯誤!未找到源。,。量。由上可知,利用三個歷史數據,遞推使用,即可完成 PID4.2.3 PID 參數整定運用 PID的關鍵是調整 KP、KI、KD 三個參數,即參數整定。PID 參數的整定方法有兩大類:一是理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定器參數;二是工程整定方法,它主要依賴工程經驗,直接在系統的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。由于智能車系統是機電高耦合

36、的分布式系統,并且要考慮賽道的具體環境,要建立精確的智能車運動數學模型有一定難度,而且我們對車身機械結構經常進行修正,模型參數變化較為頻繁,理論計算整定法可操作性不強,最終我們采用22第四章 軟件系統設計及實現了工程整定方法。此外,我們先后實驗了幾種動態改變 PID 參數的方法。4.3 轉向舵機的PID算法舵機采用位置式 PID算法,將每場圖像所選行的偏差平均值作為自變量,構建一次函數,經過一段時間的調試發現,只用 PD 兩個參數便可以達到較穩定效果,分析后發現確實可以將 I 項置零,因為對于舵機,需要的是快速的反應,迅速的較準確的打角,即便存在一些靜態誤差也沒有大的問題,通過調整 PD 兩個

37、參數,小車在直道也 震蕩。經過試驗,我們沒有采用動態 PD 算法,而是均使用定值,采用最保守的策略,確保穩定性。另外因為 D 項會影響車子打角的預判性,和偏差的變化率 在一起,在P 項的調整達到一定的程度后,D 項的調整也會影響車子的穩定性和路徑,需要細細調試。這樣的算法可以適應大部分賽道,但大小 S 彎并不能最小抖動的通過,為了應對這兩種賽道,加入了偏差法,單獨處理,基本可以保證直線通過,最大程度減少耗時。平均算4.4 驅動電機的PID算法速度 PID 采用增量式算法,事實上,對于速度PID 算法,嘗試了位置式和增量式兩種,在 C 車上的表現并沒有很大的差別,還嘗試了 PID 和 bang-

38、bang結合的方法,bang-bang的優點就是最大程度加快系統的調節速度,PID進行精細調節,因為調試時間較短,調節死區和參數的選擇沒有達到最佳,最終選用了增量式 PID 算法,無論選用哪一種,都需要特殊處理,均不能簡單的采用經典的 PID,需要加入限幅和分離處理,最終用的增量式 PID 還用到了前饋處理,為了提高電機的反應速度。23第五章系統開發及調試工具5.1 開發工具程序開放在 IAR Embedded Workbench IDE 下進行, Embedded Workbench for ARM 是IAR Systems 公司為ARM 微處理器開發的一個集成開發環境(下面簡稱 IAR E

39、WARM)。比較其他的 ARM 開發環境,IAR EWARM 具有入門容易、使用方便和代碼緊湊等特點。EWARM 中包含一個全軟件的模擬程序(simulator)。用戶不需要任何硬件支持就可以模擬各種 ARM 內核、外部設備甚至中斷的軟件運行環境。從中可以了解和評估 IAR EWARM 的功能和使用方法。5.2 上位機圖像調試實際調試過程中為了獲得的底層數據、信號信息,有必要開發、使用一些輔助的調試工具和方法。我們使用了 VS 軟件編程語言編寫了上位機工具,進行各種模塊的調試。通過上位機,我們可以實時到傳感數據、偏差數據、脈沖數據、PWM 占空比數據等各種小車數據,也可以實現實時的參數調節,提

40、高了工作的效率。5.3 SD 卡模塊5.3.1 SD 卡介紹SD 卡( Secure Digital Memory Card )是一種基于半導體快閃存的新一代記憶設備。由松下、東芝及美國 SanDisk 公司于 1999 年 8 月共同開發研制,其大小猶如一張郵票,重量只有 2 克,卻擁有高記憶容量、快速數據傳輸率、極大的移動靈活性以及很好的安全性。SD 卡的數據管理可以類似于硬盤的磁盤管理系統,以 FAT 格式來數據。SD 卡的接口支持 SD 模式和 SPI 模式,主機系統可以選擇其中任一模式。SPI 模式簡單通用的 SPI 通道接口,這種模式相對于 SD 模式的不足之處是降低了速度。由于飛

41、思接口,所以我們使用了 SD 卡的 SPI 模式。系列單片機擁有 SPI24第五章 系統開發及調試工具5.3.2 SPI 總線介紹SPI (Serial Peripheral Interface , 串行設備接口總線) 總線技術是MOTOROLA 公司推出的一種同步串行總線接口, 它是目前單片機應用系統中最常用的幾種串行擴展接口之一。SPI 總線主要通過三根線進行數據傳輸: 同步時鐘線SCK,主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI,另外還有一條低電平有效的從機片選線 CS。SPI 系統的片選信號以及同步時鐘脈沖由主機提供。SPI 總線模式的數據是以字節為進行傳輸的,

42、每字節為 8位,每個命令或者數據塊都以字節對(8 個時鐘的整數倍)。主機與 SD 卡的各種通信主機, 主機在對 SD 卡進行任何操作前都必須先要拉低 SD 卡的片選信號CS (card select) ,然后由主機向SD 卡命令, SD 卡對主機的任何命令都要進行響應, 不同令會有不同的響應格式(1 個字節或 2 個字節響應)。SD 卡除了對命令響應外, 在執行寫操作時, 還要對主機的每個數據塊進行響應(向主機一個特殊的數據響應標志)。5.3.3 軟件實現首先需要將 SPI 模塊設置為主機模式,并設置相關的寄存器使 SPI 模塊有高速和低速之分。SD 卡的軟件設計主要包括兩部分內容:SD 卡的

43、上電初始化過對 SD 卡的讀寫操作。對 SD 卡初始化程序流程如圖 5.11 所示。25第十一屆大學生智能汽車邀請賽技術報告上電74時鐘延時NSD卡應答信號應答信號為0x01YN應答信號為0x00Y初始化圖 5.11SD 卡初始化步驟SD 卡上電后,主機必須先向 SD 卡74 個時鐘周期,以完成 SD 卡上電過程。SD 卡上電后會自動進入 SD 總線模式,并在 SD 總線模式下向 SD 卡復位命令(CMD0),若此時片選信號 CS 處于低電平態,則 SD 卡進入 SPI 總線模式,否則 SD 卡工作在 SD 總線模式。SD 卡進入 SPI 工作模式會發出應答信號, 若主機讀到的應答信號為 01

44、,即表明 SD 卡已進入 SPI 模式,此時主機即可不斷地向 SD 卡命令字(CMD1) 并SD 卡的應答信號,直到應答信號為 00,以表明 SD 卡已完成初始化過程,準備好接受下一命令。SD 卡的各寄存器,并進行讀寫等操作,每次讀寫數據此后,系統便可都是按照扇區操作的,每次操作 512 字節。26發命令字CMD1CMD0(同時CS=0)第六章模型車的主要技術參數27基本參數長28cm寬18cm高34cm車重1199g功耗空載8W帶載大于 10W電容總容量1700uF傳感器編碼器1 個CMOS 攝像頭1 個陀螺儀0 個除了車模原有的驅動電機、舵機之外伺服電機個數0賽道信息檢測視野范圍(近瞻/遠

45、瞻)5/170cm精度(近/遠)2/12.5mm頻率100Hz結 論自報名參加“飛思”杯智能汽車競賽以來,我們小組成員從查找資料、設計機構、組裝車模、編寫程序一步一步的進行,最后終于完成了最初目標,定下了現在這個設計方案。在此份技術報告中,我們主要介紹了準備比賽時的基本思路,包括機械、電路以及最重要的統的改進辦法,前輪算法的創新思想。在機械結構方面,我們分析了舵機轉向系和主銷傾角的調整以及在其他細節方面的優化。在電路方面,我們以模塊形式分類,在最小系統、主板、電機驅動等模塊分別設計,經過不斷實驗,最后決定了我們最終的電路圖。在程序方面,我們使用 C 語言編程,利用比賽推薦的開發工具調試程序,經

46、過小組成員不斷討論、改進,終于設計出一套比較通用穩定的程序。在這套算法中,我們結合路況調整車速,做到直道、彎道,保證在最短時間內跑完全程。在這幾的備戰過程中,場地和經費方面都得到了學校和學院的大力支持,在此特別感謝一直支持和關注智能車比賽的學校和學院以及各位指導老師、指導學長,同時也感謝比賽能組織這樣一項有意義的比賽。現在,面對即將到來的大賽,在歷時近十的充分準備以及西部賽的考驗之后,我們在比賽中取得優異成績。也許我們的知識還不夠豐富,考慮問題也不夠全面,但是這份技術報告作為我們小組辛勤汗水的結晶,凝聚著我們小組每個人的心血和智慧,隨著它的誕生,這份經驗將永伴我們一生,成為我們最珍貴的回憶。2

47、8參 考 文 獻(1)(2)(3)(4)(5)(6)(7)田書林等電子測量技術北械工業2012.Mark I. Montrose電磁兼容的印制電路板設計北械工業. 2012.余志生汽車理論北械工業2012.,華成英模擬電子技術基礎 M 北京: 高等教育,2001.閻石數字電子技術基礎 M 北京: 高等教育,2000.著C 程序設計北京:,2003Park K.H ,Bien Z,Hwang D.H. A study on the robustness of a PID - type iterative learningcontroller against initial state error

48、 J. Int. J. Syst. Sci. 1999, 30(1) ,102135.(8) 夏克儉數據結構及算法 M 北京:國防工業, 2001.系統J 交流伺服系統,2005,4:(9) 李太福基于203215參數自整定的模糊PID 伺服(10),平,張青霞PID 調節器參數自尋優在運動伺服中的應用J洛陽報,2000,21(1):5760.附錄A:電原理圖I第十一屆大學生智能汽車邀請賽技術報告主控板原理圖電源模塊原理圖電機驅動原理圖II陀螺儀模塊原理圖附錄B:程序源代碼void pid_motor()/電機 PID 算法 增量式static int motor_err_last=0,mot

49、or_out=0; int motor_err=0,goal_speed=0;if(stop=1)/motor_out=0; goal_speed=0;elsegoal_speed=motor_speed; motor_err=goal_speed-actual_speed;III第十一屆大學生智能汽車邀請賽技術報告motor_out+=(int)(motor_P*10.0*(motor_err-motor_err_last)+motor_I*10.0*motor_err);if(motor_out>950)/限幅motor_out=950;if(motor_out<-950)mo

50、tor_out=-950;if(motor_out>=0)motor_pwm1=motor_out; motor_pwm2=0;elsemotor_pwm1=0; motor_pwm2=0-motor_out;motor_err_last=motor_err;/更新信息void pid_servos() /舵機 PD 算法static int servos_pwm_last=0; static int near_err=0;float RP=servos_P0,RD=servos_D0,LP=servos_P1,LD=servos_D1;/三輸出疊加/位置式IV/if(leftinfle

51、ctpoint!=0|rightinflectpoint!=0)RD/=3; LD/=3;if(XSP>15)/near_track_mode=5RP*=ZK; LP*=ZK; RD*=WK; LD*=WK;far_err=(float)(IMG_COLS/2-far.col); if(far_err>0)far_out=LP*far_err+LD*(far_err-far_err_last); elsefar_out=RP*far_err+RD*(far_err-far_err_last);near_err=IMG_COLS/2-near.col;near_out=WK*near_err;/ servos_pwm=(int)(far_out+near_out*near.angle);/far_err=(float)(IMG_COLS/2-far.col); if(far_err>0)far_out=LP*far_err+LD*(far_err-far_err_last); elsefar_out=RP*far_err+RD

溫馨提示

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

最新文檔

評論

0/150

提交評論