飛思卡爾智能車攝像頭組技術報告_第1頁
飛思卡爾智能車攝像頭組技術報告_第2頁
飛思卡爾智能車攝像頭組技術報告_第3頁
飛思卡爾智能車攝像頭組技術報告_第4頁
飛思卡爾智能車攝像頭組技術報告_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第七屆“飛思卡爾”杯全國大學生智能汽車競賽技術報告(校徽)學校:*隊伍名稱:*參賽隊員:*帶隊老師:*關于技術報告和研究論文使用授權的說明本人完全了解第七屆“飛思卡爾”杯全國大學生智能汽車邀請賽關保留、使用技術報告和研究論文的規定,即:參賽作品著作權歸參賽者本人,比賽組委會和飛思卡爾半導體公司可以在相關主頁上收錄并公開參賽作品的設計方案、技術報告以及參賽模型車的視頻、圖像資料,并將相關內容編纂收錄在組委會出版論文集中。參賽隊員簽名:帶隊教師簽名:日期:摘要本文以第七屆全國大學生智能車競賽為背景,介紹了智能賽車控制系統的軟硬件結構和開發流程。該比賽采用組委會規定的標準車模,以Freescale半

2、導體公司生產的16位單片機MC9S12X12的核心控制器,在CodeWarriorIDE開發環境中進行軟件開發,要求賽車在未知道路上完成快速尋線。整個系統涉及車模機械結構調整、傳感器電路設計及信號處理、控制算法和策略優化等多個方面。為了提高智能賽車的行駛速度和可靠性,對比了不同方案(如攝像頭與光電管檢測方案)的優缺點,并結合Labview仿真平臺進行了大量底層和上層測試,最終確定了現有的系統結構和各項控制參數。它采用攝像頭對賽道進行檢測,通過邊緣提取獲得黑線位置,用PID方式對舵機進行反饋控制。通過速度傳感器獲取當前速度,采用增量式數字PID控制實現速度閉環,根據預判信息和記憶信息對速度進行合

3、理分配。同時采用撥碼開關和LCD顯示屏實現人機交互系統。測試結果表明,在該控制系統下,自尋跡機器人小車具有良好的位置跟蹤和快速切換速度性能。關鍵詞:智能車,跟蹤尋跡,攝像頭,傳感器,PID,最優曲率ABSTRACTInthebackgroundofthe7ndNationalIntelligentCarContestforCollegeStudents,thisarticleintroducesthesofthardwarestructuresandthedevelopmentflowofthevehiclecontrolsystem.Thiscontestadoptingthestandar

4、dmodelcarprescribedbythecontestorganizationcommittee,usingthe16-bitMCUMC9S12X128producedbyFreescaleSemiconductorCompanyasthecorecontroller,developingundertheCodeWarriorIDE,requiresthecartrackthelinefastontheroad.Thewholesystemincludestheaspectsofthemechanismstructureadjustment,thesensorcircuitdesign

5、andsignalprocess,controlalgorithmandstrategyoptimizationetc.Inordertoincreasethespeedandthereliabilityofthecar,theadvantageanddisadvantageofthedifferentschemes(suchasthecameraandphotoelectriccellscheme)arecompared,andagreatnumberofthebottomlayerandtheupperlayertestsarecarriedoncombinedwiththeLabview

6、simulationplatform.Atlast,thecurrentsystemstructureandeachcontrolparametersaredetermined.Itcapturestheroadinformationthroughacamera,thenabstractstheblacklinepositionbyedge-detectionmethod.Afterthat,PDfeedbackcontrolisusedonthesteering.Thesystemobtainsthecurrentspeedusingaspeedsensor,sothatitcanreali

7、zethefeedbackcontrolofthespeedbytheincreaseddigitalPIDalgorithmcontrolmethod.Atthesametime,theuseofanLCDdisplaystrailsinformationandkeyboardisusedtoachievetheman-machineinteraction.Accordingtothepre-judgeinformandthememorizedinform,itallocatesthespeedproperly.Thetestresultsshowedthattheself-tracingr

8、obotcarhadgoodpositiontrackingandfastspeedswitchingperformance.Keywords:intelligentvehicle,linetrack,camera,sensor,PID,optimalcurvature第一章:引言11.1 背景介紹11.2 發展現狀11.3 章節安排2第二章:系統整體框架33.1.3 系統框架33 硬件系統33 軟件系統43.2.3 方案簡介4第三章:機械設計61.1.0 汽車行駛的數學模型61.2.0 整體布局與調整71 車模分析71 車模布局思想81.3.0 機械結構調整91 前后輪定位91 其他機械模塊

9、調整91 攝像頭的安裝91 舵機的安裝101 編碼器的安裝10第四章:硬件電路設計126.1 硬件設計方案126.2 傳感器的選擇126.2.1 攝像頭126.2.2 編碼器126.3 電路設計方案136.3.1 單片機最小系統板136.3.2 穩壓模塊電路146.3.3 驅動模塊電路14第五章:軟件系統設計16軟件各功能模塊設計16時鐘模塊16PWM輸出模塊16ECT模塊17外部中斷17視頻采集與圖像處理17攝像頭工作原理17圖像處理18路徑識別思想21舵機轉向和速度調節23PID控制算法介紹23舵機轉向控制24速度控制25細節控制25第六章:開發環境、調試工具28軟件開發平臺Codewar

10、riorIDE28輔助調試方法28Labview調試28人機交互界面29無線模塊29第七章:結論31參考文獻32鳴謝32第一章:引言背景介紹智能汽車就是一種無人駕駛汽車,也可以稱之為輪式移動機器人,主要依靠車內以計算機系統為主的智能駕駛儀來實現無人駕駛。它一般是利用車載傳感器來感知車輛周圍環境,并根據感知所獲得的道路、車輛位置和障礙物信息,控制車輛的轉向和速度,從而使車輛能夠安全、可靠地在道路上行駛。無人駕駛汽車從根本上改變了傳統的“人一車一路”閉環控制方式,將不可控的駕駛員從該閉環系統中請出去,從而大大提高了交通系統的效率和安全性。現代無人駕駛汽車以汽車工業為基礎,以高科技為依托,遵循由低到

11、高、由少到多、由單方面到多方面、螺旋上升的規律發展。其橫向發展離不開各種用途的實際需要,而其縱向發展的生命力在于持續不斷的技術創新。全國大學生飛思卡爾智能汽車競賽是受教育部高等教育司委托,由教育部高等自動化專業教學指導分委員會主辦的全國大學生智能汽車競賽。該競賽以智能汽車為研究對象的創意性科技競賽,是面向全國大學生的一種具有探索性工程實踐活動,是教育部倡導的大學生科技競賽之一。該競賽以“立足培養,重在參與,鼓勵探索,追求卓越”為指導思想,旨在促進高等學校素質教育,培養大學生的綜合知識運用能力、基本工程實踐能力和創新意識,激發大學生從事科學研究與探索的興趣和潛能,倡導理論聯系實際、求真務實的學風

12、和團隊協作的人文精神,為優秀人才的脫穎而出創造條件。大賽按照傳感器類別的不同分為三個組別:光電組、攝像頭組、電磁組。各組自己設計、選擇規則允許內的傳感器件,結合賽會指定的微控制器件,進行車輛運行中賽道信息的識別、動力控制、轉向控制等具體內容。在賽會規則的允許范圍內,最快完成比賽的將取得最好成績。本報告將從硬件到軟件一一的為大家呈現本智能車的設計方案和制作過程。發展現狀智能汽車,是一種集環境感知、規劃決策、自動行駛等功能于一體的綜合系統,集中地應用到自動控制、模式識別、傳感器技術、汽車電子、電氣、計算機、機械等多個學科,是典型的高新技術綜合體,具有重要的軍用及民用價值。在20世紀80年代,美國就

13、提出自主地面車輛(ALV)計劃,這是一輛8輪車,能在校園的環境中自主駕駛,但車速不高。1995年,一輛由美國卡耐基梅隆大學研制的無人駕駛汽車Navlab-V,完成了橫穿美國東西部的無人駕駛試驗。2005年,美國國防部“大挑戰”比賽上,最終由美國斯坦福大學工程師們改裝的一輛大眾途銳多功能車經過7個半小時的長途跋涉完成了全程障礙賽,第一個到達了終點。在無人駕駛技術研究方面位于世界前列的德國漢堡Ibeo公司,最近推出了其研制的無人駕駛汽車。我國國防科技大學從20世紀80年代開始進行無人駕駛汽車技術研究。2000年6月,國防科技大學研制的第4代無人駕駛汽車試驗成功,最高時速達76km,創下國內最高紀錄

14、。以上轉述只是冰山一角,智能車的技術正在不斷發展中。目前,智能車領域的研究已經能夠在具有一定標記的道路上為司機提供輔助駕駛系統甚至實現無人駕駛。這些智能車的設計通常依靠特定道路標記完成識別,通過推理判斷模仿人工駕駛進行操作。通常,智能車接受輔助定位系統提供的信息完成路徑規劃,如由GPS?提供的地圖,交通擁堵狀況,道路條件等信息章節安排本文內容的安排如下所示:第一章引言本章主要介紹了Freescale車模競賽的基本情況,智能車的發展狀況。第二章系統整體框架本章對系統硬件模塊方案和軟件控制方法進行了選擇與論證。第三章機械設計本章對機械結構的安裝與改進,各個模塊的安裝技巧作了詳細的介紹。第四章硬件電

15、路設計本章主要介紹了自行設計的基于飛思卡爾單片機的最小系統板的設計,電源模塊、驅動模塊、攝像頭模塊和速度傳感器模塊的設計與實現。第五章軟件系統設計本章軟件系統各模塊的設計思路作了詳細的介紹。特別介紹了圖像處理中的各種技巧、PID控制策略的應用和起跑線識別算法的設計等問題第六章開發工具及其調試本章對開發工具與調試方法作了簡單介紹。結論對整個參賽過程中的經驗與教訓作了總結。第二章:系統整體框架系統框架智能汽車系統分為兩個部分:硬件系統與軟件系統。硬件系統包括了電路系統和機械系統;而軟件系統則可以分為底層代碼和實現算法,后者主要包括用于實現路徑識別的算法、電機轉速閉環、舵機角度控制和導引策略等。具體

16、層次結構如圖2.1所示。本文分層次展開硬件系統與軟件系統。件能不系統圖2.1智能汽車系統結構圖硬件系統根據需求分析,經過仔細研究,決定采用模塊化設計。智能汽車的硬件系統由核心控制模塊(MCU傳感器模塊、電源管理模塊、存儲器模塊、電機驅動模塊、舵機驅動模塊、人機接口模塊、無線通訊模塊和放電器模塊組成,如圖2.2所示。圖2.2智能汽車控制系統總體設計框圖2.2.2軟件系統系統的軟件流程圖如圖2.3:圖2.3系統流程圖方案簡介智能汽車系統的工作原理是預瞄理論和閉環控制理論的典型體現。其示意圖如圖2.4所示圖2.4智能車系統工作原理示意圖在本屆比賽中,組委會提供了多種單片機可供選擇,分為16位和32位

17、兩種類型。我們選擇了總線頻率較高的16位MC9s12XS128為主控芯片,并且自己制作了最小系統板。圖像采集單元,考慮到動態性、功耗性以及復雜性,我們經過對比最終選擇了CMOS勺OV7620乍為圖像采集傳感器。將圖像采集來后,為了減小干擾,首先我們對整幅進行了二值化,然后利用跟蹤邊緣算法對黑線進行提取,為了使提取的黑線更加準確我們對提取的黑線進行了中值濾波和限幅濾波。最終使黑線的變化更加平穩。提取出黑線后,我們采用了PD策略對舵機進行控制,增量式PID對電機進行控制;并結合最優曲率算法和中心偏移量識別賽道類型,讓小S直接沖過去,大S盡量內切,最大難度的發卡彎沿線通過。然后,小車的速度根據前方的

18、路況自動調整。在硬件方面,我們為了使電路更加簡化,自己制作了最小系統板,使得單片機,電源,電機驅動等模塊集中到了一塊最小系統板上,合理分布,最大限度的優化小車硬件與機械結構。第三章:機械設計任何的控制算法和軟件程序都是需要一定的機械結構來執行和實現的,因此在設計整個軟件架構和算法之前一定要對整個車模的機械結構有一個感性的認識,然后建立相應的數學模型。從而再針對具體的設計方案來調整賽車的機械結構。本章的將主要介紹賽車車模的機械特點和調整方案。汽車行駛的數學模型汽車是現代社會的主要交通工具,在對汽車研究過程中,形成了一大批研究成果。我們在查閱了一大堆資料的前提下,形成了自己對汽車原理的首先建立汽車

19、行駛的數學模型(見圖3.1)圖3.1汽車行駛數學模型圖中:AP,BN為連接桿與主銷之間的桿長L桿AB,CD為前輪軸長L前,后輪軸長L后KL為前軸與后軸的軸距L軸距根據汽車理論,假設輪胎不打滑,并忽略輪胎所受的重力作用產生的形變以及左右兩側輪胎由于受力不均產生的形變,即可得到理想的汽車轉向模型:如圖3.1所示,即左右兩輪的軸線與后輪的主軸,三點交于車身中心所處道路位置的曲率中心。不失一般性,這里只討論右轉的情形。對于圖3.1,設左輪轉向為“,右輪角分別為6r,對于以上模型,顯然有如下關系.工=/PAQ=/POC,%=/MAN=/NOD于是得到在理想狀態下,汽車的過彎時的轉角方程:公式(1)(L軸

20、距L,cosgj(L軸距L:cos%)tan丸tanR同樣也可以得到右轉時公式(2)采用第七屆“飛思卡爾”智能車大賽組委會提供的韓國Matiz系列1:10模型車的參數對公式(1),公式(2)進行仿真。得到車模行駛時理論轉彎半徑與車輪轉角的關系(見圖3.2)和右輪也左輪的轉角關系(見圖3.3)3.2彎半徑與車輪轉角關系圖3.3右、左輪的轉角關系在模型車結構參數一定的情況,小車左右兩輪的轉角存在一定的函數關系,當向右過彎時,右輪轉向比左輪轉向大,同理向左轉彎時,左輪轉向較右輪轉向大,同時,隨著道路曲率半徑的越大,車輪所需的轉角越小。在實際調試過程中,要以理論為基礎,配合以上理論計算公式,尋找小車的

21、輪速參數。整體布局與調整在整個智能車系統中,優良的系統構架是一個優秀車模不可或缺的重要基礎,而車模的整體布局又是參與此類競速比賽的車模的基礎中的基礎。車模的整理布局在很多方面決定了車模潛力的挖掘和技術水平的發揮,甚至在某些情況下影響著軟件設計和控制算法。下面將分模塊予以分析。車模分析在此屆比賽中,攝像頭組使用的車模是由廣東東莞市博思電子數碼科技有限公司提供的G768車模平臺(圖3.4),配置FUTABA3010型號伺服器(圖3.5)和RN260電機(圖3.6)。圖3.4模型車車體圖3.5伺服器圖3.6電機該車模結構合理,重心位置控制較好,重心較低,前后輪距合理。特別是傳動系統性能優良,相比較與

22、上屆的B型車模,該車模的動態傳動系統要好很多。并且車模的本身結構也有利于參賽選手根據自身情況進行適當的改裝,滿足自身控制的需求。但是該車模也有一個缺陷,及其配置的驅動電機帶載能力比較差,電機本身在帶載情況下的加速性能比較差,這就給調速帶來了很大的麻煩,這些將在調試中具體探討。車模布局思想為了使車模在競賽中發揮出最好的水平,我們最車模的布局有以下幾個想法:第一車模的整體布局應該盡量簡潔。這對于車模的整體質量影響很大,以至于影響速度的發揮。而且,在很多方面關系著車模的整理穩定性。因此,盡可能的去除車模上的冗余結構很有必要。第二車模的整體布局應該做到穩定。車模的穩定不只是機械結構上的穩定,同樣也對電

23、路的穩定性有這很大的要求。車模的電路設計方面應該努力屏蔽噪聲干擾對整個電路帶來的影響。第三車模的整體布局應該做到高效。此次智能車競賽必竟是競速比賽,毫秒之間可以決定勝負。因此,車模能否做到高效是關系速度的一個重要指標。從以上角度出發,最終我們設計出自己的車模模型,實物如圖3.7所示。圖3.7實體車型機械結構調整前后輪定位在調試中我們發現,模型車過彎時,轉向舵機的負載會因為車輪轉向角度增大而增大。為了盡可能降低轉向舵機負載,我們對前輪定位進行了調整。前輪定位的作用是保障汽車直線行駛的穩定性和轉向輕便。前輪定位參數主要包括:主銷后傾角(圖3.8)、主銷內傾角(圖3.9)、前輪外傾角和前輪前束。我們

24、將前輪外傾角和前輪前束分別設為0度、0mm主銷稍微內傾和后傾。后輪采用窄輪距,可有效避免切彎過度時有一個后輪跑出去圖3.8主銷后傾角圖3.9主銷內傾角其他機械模塊調整除了以上部分的調整外,還對主懸架彈簧松緊、底盤高度和齒輪傳動機構進行了適當調整。通過增加避震彈簧的剛性、降低底盤高度、調整齒輪間隙,改善了賽車的行駛表現。攝像頭的安裝攝像頭安裝主要考慮的問題有:固定攝像頭的材料,攝像頭的安裝位置和攝像頭的安裝高度。為了降低整車重心,需要嚴格控制CMO暇像頭的安裝位置和重量,我們自行設計了輕巧的鋁合金夾持組件并采用了碳纖維管作為安裝CMOS勺主桅,這樣可以獲得最大的剛度質量比,整套裝置具有很高的定位

25、精度和剛度,使攝像頭便于拆卸和維修,3.10/3.11所示。具有賽場快速保障能力。攝像頭的安裝如圖圖3.7底座-單桿安裝圖圖3.8單桿-攝像頭安裝圖舵機的安裝圖3.12舵機安裝效果圖舵機轉向是整個車模系統中延遲最大的一個環節,為了減小此時間常數,通過改變舵機的安裝位置,加長力臂可以提高舵機的響應速度。鑒于往屆經驗以及本屆車模舵機性能,我們進行多套方案的試驗,諸如將舵機豎直、水平以及其它不同方向的擺放方法。考慮到舵機響應時間、穩定性以及虛位的諸多因素,我們最終選擇倒臥式安裝舵機,延長舵機臂桿至33mm并自行設計了舵機安裝支架,達到了很好的效果。具體安裝見圖3.12o編碼器的安裝對光電編碼器的安裝

26、,可以將光柵盤安裝在電機軸上,通過先計算電機轉速再來計算模型車后驅動軸得知車速。但是,這種方法太麻煩,并且在電機軸上裝光柵盤會影響電機的性能。所以,我們將光柵盤安裝在模型車后驅動軸上,根據光電編碼器的輸出脈沖計算不同時刻模型車的后輪轉速。光電編碼器的固定如圖3-10所示(歐姆龍500p)。此處要注意的是,裝在光電編碼器上的齒輪個數不要太多,太多了就會降低檢測精度。我們用的齒輪是17齒。配齒輪時還要注意模數這個參數,模數不匹配齒輪就會裝不上,此處齒輪模數為0.5。裝齒輪時注意不要過緊也不要過松。圖3.10光電編碼器第四章:硬件電路設計4.1硬件設計方案從最初進行硬件電路設計時我們就既定了系統的設

27、計目標:可靠、高效、簡潔,在整個系統設計過程中嚴格按照規范進行。可靠性是系統設計的第一要求,我們對電路設計的所有環節都進行了電磁兼容性設計,做好各部分的接地、屏蔽、濾波等工作,將高速數字電路與模擬電路分開,使本系統工作的可靠性達到了設計要求。高效是指本系統的性能要足夠強勁。我們主要是從以下兩個方面實現的:(1)采用運算放大器設計的比較器實現了圖像二值化的高速轉換,大大提高了圖像采集的分辨率;(2)使用了由分立元件BTS796C®作的直流電動機橋式驅動器,該驅動器的額定工作電流可以輕易達到100A以上,大大提高了電動機的工作轉矩和轉速。簡潔是指在滿足了可靠、高效的要求后,為了盡量減輕整

28、車重量,降低模型車的重心位置,應使電路設計盡量簡潔,盡量減少元器件使用數量,縮小電路板面積,使電路部分重量輕,易于安裝。我們在對電路進行了詳細分析后,對電路進行了簡化,合理設計元件排列、電路走線,使本系統硬件電路部分輕量化指標都達到了設計要求。傳感器的選擇攝像頭目前市面上常見的攝像頭主要有CCtJ口CMO兩種:CCtM像頭具有對比度高、動態特性好的優點,但需要工作在12V電壓下,對于整個系統來說過于耗電,且圖像穩定性不高;CMOS8像頭體積小,耗電量小,圖像穩定性較高。因此,經過實驗論證之后我們決定采用CMOS!像頭。對于CMOS8像頭分為數字和模擬兩種。在往屆比賽中,我們看到有不少參賽隊采用

29、涉資攝像頭,本著嚴謹的態度,我們選用了OV7620a行實驗,對數字攝像頭的可行性進行了論證。經過實驗,得到結論:數字攝像頭OV7620可以直接輸出8路數字圖像信號,使主板硬件電路的簡化成為可能,且能夠達到60幀/S的幀速率,能夠滿足要求。編碼器考慮到智能車的實際速度控制對速度反饋信號波形要求不是太高,因此在滿足比賽要求的基礎上,我們使用了自制的光電編碼器來測速,從而盡量簡化電路。我們實驗室使用線切割在直徑為30mm的圓盤周圍加工出100個細縫,使用紅外光電對射管作為采集碼盤脈沖可鑒向的傳感器。速度傳感器實物圖如圖4.1所示雖然自制的光電編碼器結構簡單,價格便宜,但是容易受到外部光線和灰塵的干擾

30、,影響測速的精度。因此,我們改用了高性能的歐姆龍EE6A2-CWZ3如圖4.2所示。碼盤內部經發光二極管等電子元件組成的檢測裝置檢測輸出脈沖信號,通過計算每秒光電編碼器輸出脈沖的個數就能反映當前驅動電機的轉速。圖4.1光電碼盤圖4.2歐姆龍編碼器電路設計方案智能車控制系統電路由三部分組成:MC9s12XS12的核心的最小系統板、主板、ZLG7290鍵盤。最小系統板可以插在主板上,組成了信號采集、信號處理、電機控制、舵機控制單元。為了減小電機驅動電路帶來的電磁干擾,我們把控制單元部分和電機驅動部分分開來,排布在主板的兩端。主板上集成了本系統的主要電路,它包括如下部件:電源穩壓電路、最小系統板插座

31、、攝像頭接口、舵機接口、電機驅動模塊、編碼器模塊、鍵盤接口、LCD電路、撥碼開關、指示燈等。單片機最小系統板單片機最小系統部分使用MC9S12XS128單片機,112引腳封裝,為減少電路板空間,板上僅將本系統所用到的引腳引出,包括PWM接口,計數器接口,外部中斷接口,若干普通IO接口。其他部分還包括電源濾波電路、時鐘電路、復位電路、串行通訊接口、BDM接口和SPI接口。單片機最小系統板電路原理圖如圖4.3。圖4.3單片機最小系統板電路原理圖穩壓模塊電路賽會指定的鍥鎘可充電電池的額定電壓為7.2V,實際調試中,我們發現其電壓實際值有時會達到8V甚至于8V以上。因此需要有性能優越的抗干擾穩壓芯片。

32、由于電路中的不同電路模塊所需要的工作電壓和電流容量各不相同,因此電源模塊應該包括多個穩壓電路,將充電電池電壓轉換成各個模塊所需要的電壓。并且單片機的電源好壞直接關系到單片機能否正常工作以至于整個系統的控制穩定。我們在測試了許多類型的穩壓芯片之后覺得采用了性能優異的LM2596圖)。它是一款微功耗低壓差線性電源芯片使用這個芯片。該芯片穩定工作時所需要的外圍器件很少,使用方便。2596的工作壓降很低,靜態電流也很小,散熱少,很適合這種情況下的使用。圖4.4LM2596驅動電路4.3.3驅動模塊電路電機的驅動方案有MOS管,MC33886BTS7960三種主要的方案。MOS管的搭建效率較高,驅動電流

33、很大,但是針對現有的雙電機情況,用MOS管搭建兩個電機的驅動較為復雜。MC33886芯片的內阻較大,發熱明顯,芯片較大引腳較多。我們最終采用了功能較為完善,性能穩定的BTS7960芯片。原理圖如圖4.5。為保證PWM信號的穩定,我們使用了74LS244加強信號的穩定,原理圖如圖4.6。圖4.674LS244電路電機的驅動采用兩片BTS7960并聯,一路PWM控制。基于上文提到的整體第五章:軟件系統設計高效穩定的軟件程序是智能車平穩快速尋線的基礎。本智能車采用CMOS攝像頭作為尋線傳感器,圖像采集處理就成了整個軟件的核心內容。在智能車的轉向和速度控制方面,我們使用了魯棒性很好的經典PID控制算法

34、,配合使用理論計算和實際參數補償的辦法,使在尋線中的智能車達到了穩定快速的效果。軟件系統部分主要包括:系統初始化、圖像采集、圖像處理、賽道判斷、舵機打角、電機控制以及速度反饋處理等。系統流程圖如圖5.1所示。圖5.1系統流程圖軟件各功能模塊設計時鐘模塊時鐘基本脈沖是CPU工作的基礎。MC9s12XS128控制器的系統時鐘信號,由時鐘振蕩電路或專用時序脈沖信號提供。MCU內部的所有時鐘信號都來源于EXTAL引腳,也為MUCf其他外接芯片之間的通信提供了可靠的同步時鐘信號。X12的總線時鐘是整個MCLM統的定時基準和工作同步脈沖,其頻率固定為晶體頻率的1/2。對于X12,可以利用寄存器SYNRRE

35、FDVfE改變晶振頻率fOSCCLK可以選用8MH減16MH力卜部晶體振蕩器作外時鐘。對SYNR和REFDV進行設置,可以得到48MHzfi勺總線頻率。PWM輸出模塊MC9s12XS128成了8路8位獨立PWMB道,通過相應設置可變成4個16位PWM1道,每個通道都有專用的計數器,PW瞬出極性和對齊方式可選擇,8個通道分成兩組,共有4個時鐘源控制。PWM0PWM1PWM4PWM的一組,使用時鐘源ClockA和ClockSA;PWM2PWM3PWM6PWM溝成另一組,使用時鐘源ClockB和ClockSBoClockA和ClockB均是由總線時鐘經過分頻后得到,分頻范圍1128,通過寄存器PWM

36、PRCLK設置,ClockSA和ClockSB是分別通過ClockA和ClockB進一步分頻后得到的,分頻范圍為1512,分別通過寄存器PWMSC0APWMSC場設置,計算公式為:ClockSA=ClockA/(2*PWMSCQAClockSB=ClockB/(2*PWMSCQB通過寄存器PWME控制PWM0PWM的啟動或關閉。為了提高精度,我們將PWM0口PWM1PWM2口PWM3PWM6PWM7聯,構成16位的PWMB道,級聯時,2個通道的常數寄存器和計數器均連接成16位的寄存器,3個16位通道的輸出分別使用通道7、3、1的輸出引腳,時鐘源分別由通道7、3、1的時鐘選擇控制位決定。級聯時,

37、通道7、3、1的引腳變成PWM輸出引腳,通道6、2、0的時鐘選擇沒有意義。但是通過PE模式設置就相當方便了,不用再去寫代碼控制寄存器,直接在窗口里面設置就可以了。ECT模塊X12得ECT具有8個輸入(IC)捕捉/輸出(OC)比較通道,可以通過設置TIOS寄存器選擇輸入或輸出比較功能。ECT既可以作為一個時基定時產生中斷,也可以用來產生控制信號。在PE模式里一樣很方便,將所用到的P7口添加進來并做相應的設置就可以了。通過ECT真塊,我們實現了對脈沖進行計數,檢測智能車的速度,對速度進行閉環控制。外部中斷對于攝像頭圖像的采集我們需要用到兩個中斷,所以我們需要添加兩個中斷到PE模式中來,對其捕捉脈沖

38、的方式選擇、使能、端口的選擇進行設置,設置好后編譯后便可直接使用。視頻采集與圖像處理攝像頭工作原理攝像頭的主要工作原理是:按一定的分辨率,以隔行掃描的方式采集圖像上的點,當掃描到某點時,就通過圖像傳感芯片將該點處圖像的灰度轉換成與灰度成一一對應關系的電壓值,然后將此電壓值通過視頻信號端輸出。具體而言(參見圖5.2),攝像頭連續地掃描圖像上的一行,則輸出就是一段連續的電壓視頻信號,該電壓信號的高低起伏正反映了該行圖像的灰度變化情況。當掃描完一行,視頻信號端就輸出低于最低視頻信號電壓的電平(如0.3V),并保持一段時間。這樣相當于,緊接著每行圖像對應的電壓信號之后會有一個電壓“凹槽”此“凹槽”叫做

39、行同步脈沖,它是掃描換行的標志。然后,跳過一行后(因為攝像頭是隔行掃描的方式),開始掃描新的一行,如此下去,直到掃描完該場的視頻信號,接著就會出現一段場消隱區。此區中有若干個復合消隱脈沖(簡稱消隱脈沖),在這些消隱脈沖中,有個脈沖,它遠寬于(即持續時間長于)其他的消隱脈沖,該消隱脈沖又稱為場同步脈沖,它是掃描換場的標志。場同步脈沖標志著新的一場的到來,不過,場消隱區恰好跨在上一場的結尾部分和下一場的開始部分,得等場消隱區過去,下一場的視頻信號才真正到來。攝像頭每秒掃描25幅圖像,每幅又分奇、偶兩場,先奇場后偶場,故每秒掃描50場圖像。奇場時只掃描圖像中的奇數行,偶場時則只掃描偶數行。采集時序圖

40、如圖5.3所示。行消隱區行掃描時IHh卜IrTTnmwmmmmT場濟喳反行同城M沖品臺消髓麻沖場同步1*沖行同步M沖圖5.2視頻信號場溝骷區WWVinnnnuuiJuumnnnrWTp圖5.4原圖像采集盡管通過圖像處理可以獲得更多的道路信息,但會增大S12控制器的數據存儲和處理負擔。S12芯片的處理能力不足以支持像PC那樣的運算能力,受片內AD的轉換能力和片內ROM勺限制,最終我們初始化成40*90的分辨率,即采集40行90列的數據,定義的數組大小image4090。采集原圖像信息如圖5.4所示。5.2.2圖像處理前面提到了攝像頭圖像信息的特點,接下來將結合比賽賽道的圖像特點來提出相應的黑線提

41、取算法-邊沿檢測算法。由于比賽賽道是在白色底板上鋪設黑色引導線,因此干擾比較小,黑線提取較為容易。很自然的就想到了圖像處理算法中較為簡單的邊界提取算法。由于黑色賽道和白色底板之間的色差較大,直接反映在圖像數據中就是大于一個黑白色閥值。通過實驗可以基本上確定該閥值的大小,根據現場光線的變化影響會有略微的變化。但是該閥值基本上介于65-110之間。因為可以通過判斷相鄰數據點的差是否大于該閥值,作為邊沿提取算法的依據和主要參數。其中,為了減小環境的干擾,采用了中值濾波和限幅濾波。該算法的主要過程為:1、從最左端的第一個有效數據點(30)開始依次向右進行閥值判斷:由于實際中黑白賽道邊沿可能會有模糊偏差

42、,導致閥值并不是簡單的介于相鄰的兩個點之間,很可能要相隔兩個點(參考圖5.5)。因此:2、第line為原點,判斷和line+3的差是否大于閥值,如果是則將line+3記為i,從i開始判斷在接下來的從i+3到該行最末一個點之間的差值是否大于閥值,如果大于則將line+i/2+2的坐標賦值給黑線中心位置(參考圖5.6)。3、本系統,采集方案采用從近到遠處理,跟蹤尋跡。跟蹤邊緣檢測算法尋找出目標指引線的上邊緣,用上邊緣的位置代表目標指引線的位置。因為目標指引線是連續的,所以相鄰兩列的上邊緣點比較接近。跟蹤邊緣檢測正是利用了這一特性,其主要思路是:當已尋找出某列的上邊緣,若在該位置附近尋找下一列的上邊

43、緣,則只用花較少的步驟就可以找到(如圖5.7)這種方法的特點就是始終跟蹤在每列上邊緣的附近,去尋找下一列的上邊緣,所以就稱這種方法為“跟蹤”邊緣檢測算法。圖5.5Labview分析圖像圖5.6黑線提取算法跟蹤慢尋上邊廢模塊入口讀列置=上列位直-孫變昌該列位宜=匕列位置一步變量那尋般圍閾值中值謔波模塊參考圖15圖5.7跟蹤邊緣算法利用該算法所得到的黑線提取效果不僅可靠,而且實時性好;在失去黑線目標以后能夠記住是從左側或者右側超出視野,從而控制舵機轉向讓賽車回到正常賽道。具體黑線提取效果可參考圖5.8。圖5.8原圖像與黑線提取效果圖結合賽道的特點針對性的利用邊沿檢測算法來提取黑線;實驗表明,只要閥

44、值取得合適,該算法不僅可靠,而且實時性較好。如果更進一步可以設置閥值根據現場情況的變化而變化。在黑色引導線已經能夠可靠提取的基礎上,我們可以利用它來進行相應的彎、直道判斷,以及速度和轉向舵機控制算法的研究。路徑識別思想影響賽車速度成績的一個非常重要因素就是對彎道和直道的提前識別判斷,從而實現安全過彎、快速通過直道,提高比賽成績。根據前面提到的最終以10行黑線信息作為彎、直道的判斷算法依據,采用最優曲率算法進行賽道判斷,下面簡單介紹一下該算法。賽道類型如圖5.9所示。在黑線邊沿檢測提取算法的基礎上,我們可以根據10行的數據中每行黑線位置與10行平均位置(參考公式3)之相對位移,然后求10行相對位

45、移之和(公式4)。最后根據該值的大小并且結合實際賽道實驗數據,來確定彎道和直道之間的閥值大小,而且,隨著彎道系數的增大,該位移之和也會相應增大。表1普通180度彎序列123456CURVE9241318235Cwne=ROWUAXZXrowex-QROWMAXROWfAX公式(3)公式(4)根據該彎直道判斷算法,可以得到一組由直道入彎、然后出彎的Curve參數曲線。(參考圖5.10和表1、2)圖5.10賽道類型180°與S彎觀察表1和表2可以得到在彎道中curve數值一般都大于10,偶爾在切線表位置處出現小于10的情況,但是作為彎道的判斷已經足夠了,而且隨著曲率半徑的減小curve值

46、也會相應的增大。因此可以根據curve的值來設置幾個閥值,判斷賽車前方的路況信息,決定賽車是否減速。同時舵機控制與速度控制算法可以采用以curve為特征量進行控制。舵機轉向和速度調節PID控制算法介紹在工程實際中,應用最為廣泛的調節器控制規律為比例、積分、微分控制,簡稱PID控制,又稱PID調節。PID控制器問世至今已有近70年歷史,它以其結構簡單、穩定性好、工作可靠、調整方便而成為工業控制的主要技術之一。當被控對象的結構和參數不能完全掌握,或得不到精確的數學模型時,控制理論的其它技術難以采用時,系統控制器的結構和參數必須依靠經驗和現場調試來確定,這時應用PID控制技術最為方便。即當我們不完全

47、了解一個系統和被控對象,或不能通過有效的測量手段來獲得系統參數時,最適合用PID控制技術。PID控制,實際中也有PI和PD控制。PID控制器是一種線性控制器,它根據給定值與實際輸出值構成控制偏差。將偏差的比例(P)、積分(I)和微分(D)通過線性組合構成控制量,對被控對象進行控制,故稱PID控制器,原理框圖如圖5.11所示。圖5.11PID控制器原理框圖在計算機控制系統中,使用的是數字PID控制器,控制規律為:r(k)c(k)雙幻二K/儀比)+g儀力+為色(幻一4A-。乙j=01式中:k采樣序號,k=0,1,2c(k)第k次實際輸出值;e(k)第k次偏差:KP-比例系數;TD-微分時間常數:r

48、(k)第k次給定值;u(k)一第k次輸出控制量1蛻k")第k-l次偏差:TI積分時間常數:T采樣周期。簡單說來,PID控制器各校正環節的作用如下:比例環節:及時成比例地反映控制系統的偏差信號,偏差一旦產生,控制器立即產生控制作用,以減少偏差。積分環節:主要用于消除靜差,提高系統的無差度。積分作用的強弱取決于積分時間常數,越大,積分作用越弱,反之則越強。微分環節:能反映偏差信號的變化趨勢(變化速率),并能在該偏差信號變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減小調節時間。數字PID控制算法通常分為位置式PID控制算法和增量式PID控制算法。位置式PID控

49、制算法:用矩形數值積分代替上式中的積分項,對導數項用后向差分逼近,得到數字PID控制器的基本算式(位置算式)如公式4:1r且gZ與丁+公式(4)其中T是采樣時間,kp,Ti,Td為三個待調參數,在實際代碼實現算法時,處理成形式如公式5:PreU=Kp*error+Ki*Integral+Kd*derror公式(5)增量式PID控制算法:對位置式加以變換可以得到PID算法的另一種實現形式(增量式),如公式6:A%一%一%儲代+/%+率眄£1+CH'公式(6)我們在實現代碼時,處理成形式如公式7所示:PreU+=(Kp*d_error+Ki*error+Kd*dd_error)公

50、式(7)運用PID控制而關鍵是調整三個比例系數,即參數整定。PID整定的方法有兩大類:一是理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定控制器參數。由于智能車整個系統是機電高耦合的分布參數系統,并且要考慮賽道具體環境,要建立精確的智能車運動控制數學模型有一定難度,而且我們對車身機械結構經常進行不斷修正,模型參數變化較頻繁,可操作性不強;二是工程整定方法,它主要依賴工程經驗,直接在控制系統的試驗中進行,而且方法簡單。所以實際調車過程中,采用了第二種方法。舵機轉向控制轉向舵機的控制采用了模糊的PD控制,根據黑線位置和有效黑線條數動態改變PID參數,得到了較好的控制效果,經過反復測試,

51、選擇的PID調節策略是:1、將積分項系數置零,經過測試發現,相比穩定性和精確性,舵機在這種動態隨動系統對動態響應性能要求更高。更重要的是,在Ki置零的情況下,我們通過合理調節Kp參數,發現車能在直線高速行駛時仍能保持車身非常穩定,沒有震蕩,基本沒有必要使用Ki參數;2、微分項系數Kd則使用定值,原因是舵機在一般賽道中都需要較好的動態響應能力;具體在單片機實現程序代碼如下:PWM=(int)(PWM_MID+k.p*(*p)+k.d*(*(p+)-(*p);增量式PD控制其中:PW爆當前舵機轉角控制值;PWM_MI罡舵機轉正值;*p和*(p+)分別為當前和上次黑線中心偏移量;k.p、k.d為PI

52、D控制系數。速度控制通過光電編碼器獲取的當前速度值來調整電機的PWM占空比,可以實現對于速度的閉環控制。這樣做改變了通過直接設置PWM占空比調整電機轉速的開環控制方法,通過對速度的閉環控制,去掉電源電壓和車身重量對車速的影響,采取了最可靠的方法,保證賽車各段速度較為穩定。電機控制主要要求提高電機的響應速度和調速準確性,故選用PID參數時選取較大的P參數,而積分參數I對車速控制有慣性,影響反應速度,而積分參數I過大會使速度波動增加,影響車輛的穩定運行,所以選擇了非常小的積分參數。經過多次試驗,小車最終采用位置式PID控制,效果比較理想,小車在賽道上調速平穩,響應較快。在直道上車速平穩,入彎、出彎

53、時加減速響應較快,比較好的完成速度的控制。具體的在單片機上實現代碼跟據公式7得如下代碼:pwm=(int)(pre_pwm+k.p*(*p-*(p+1)+k.d*(*p+*(p+2)-(*(p+1)*2)+k.i*(*p);其中:pwm為當前速度控制量;pre_pwm為當前量;*p、*(p+1)、*(p+2)分別為當前、上次和上上次黑線中心偏移量;k.p、k.d、k.i為PID控制系數。其中反饋速度的獲取上,采用周期性讀取脈沖累加器的值,具體流程如圖5.12所示:RTI周期性中斷侯取脈沖系加器的值并計算M速度脈沖取加器清車山模塊圖5.12速度獲取流程圖5.4.4細節控制控制策略1彎急走外道,彎

54、緩走內道:采用雙邊沿算法,采集到圖像中每一行的邊沿位置,并利用數組accord_Left口,accord_Right口中存取兩個邊沿。進而利用雙邊沿,實現彎急走外道,彎緩走外道。這樣走法的好處是:在彎急時,由于車轉角比較大,車在大多數情況下會貼著內道走,車走的路徑的半徑比較小,一則轉彎的阻力非常大,二則程序中彎道減速非常大,這兩者的綜合結果是,車轉彎時車速非常慢,采用走外道的方法可以減弱這種狀況帶來的影響。在彎緩時,由于這時車速比較快,車的轉角也不是非常大,車的轉彎阻力也不大,轉向等狀況比較好,可以走內道減少行車路徑的長度節約時間。控制策略2D形彎加速策略:在實際調車過程中,發現由于采用大角度

55、的轉彎減速策略,賽車在過D形彎時,D形彎后半圓,車的速度非常的慢,而一旦減速后再加起速來又需要一段時問。這樣就使賽車過D形彎時,用時非常多。考慮到D形彎時一旦進彎車的轉角比較穩定,在看到直道前可以提前適當加速,從而減少過彎時間。根據D形彎的具體特點一一長直道入彎,再到長直道,判斷長直道的方法是:以當前采集到得信息為參考點,如果往前第十幅圖像采集到的是彎道,在前5幅圖像時是彎道,當前圖像又是彎道,則認為是進入D形彎。適當選擇圖像就可以準確判斷D形彎,在實際調車過程中證明,這種判斷非常準確。D形彎如圖5.13所示:圖5.13D形彎控制策略3一一超前轉向判斷方法:由于攝像頭看的比較遠,攝像頭看到圖像,單片機計算出轉角及轉速,舵機及電機驅動電路作出反應,中間有一段延時。如果攝像頭往前看的距離和車作出反應的時間相匹配,則車沿線跑,若晚于后者,則會造成車轉彎的滯后;若早于后者,則造成車的轉彎的超前。我們可以將攝像頭看的圖像位置放在車轉角超前的位置,單片機算出的轉角和速度不直接給舵機和驅動板,而是暫時的存放在一個數組中,我們根據實際超前情況從數組中選擇適當的轉角和速度給與舵機和驅動板。可以根據超前算出的這些值來判斷車將要走的路徑是何種賽道情

溫馨提示

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

評論

0/150

提交評論