




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第八屆“飛思卡爾”杯全國大學生智能汽車競賽技術報告本文設計的智能車系統(tǒng)以MK60N512ZVLQ10微控制器為核心控制單元,通過CMOS攝像頭檢測賽道信息,提取賽道兩邊黑色引導線,用于賽道識別;通過歐姆龍編碼器檢測智能車的實時速度,使用PID控制算法調(diào)節(jié)驅(qū)動電機的轉(zhuǎn)速和轉(zhuǎn)向舵機的角度,實現(xiàn)了對智能車運動速度和運動方向的閉環(huán)控制。文章將從機械結(jié)構設計,硬件電路設計,軟件算法設計以及調(diào)試經(jīng)驗等四個方面全面介紹智能車的制作及調(diào)試過程。關鍵字:MK60N512ZVLQ10,OV7620,PID,飛思卡爾智能車目錄TOC\o"1-1"\h\z\t"標題2,3,無間隔,2"摘要 軟件系統(tǒng)主要包括以下幾個部分:賽道圖像采集部分,圖像數(shù)據(jù)處理部分,舵機、電機的控制部分,顯示調(diào)試部分。整體流程圖如圖5.1所示:圖5.1整體流程圖攝像頭組的一大難點就是圖像的幾個中斷時序問題,只要控制好他們的先后順序就能把圖像采集得很好。該智能車使用的是OV7620CMOS攝像頭,它可以直接輸出行場同步信號,正常輸出圖像大小為240x640。但對于小車來說太大了,要想識別出賽道的有用信息只需要少量的像素信號就行。因此采用隔行采集和pclk分頻的方法把圖像進行縮減。圖像采集時可以采用固定隔行采集的方法,這種方法雖然可以很好的采到真實的圖像,但是到了后面的圖像處理時就沒有采用在特定行采集的方法好了??紤]到攝像頭焦距的問題我們最終采用固定行采集方法。這種固定行采集方法可以將圖像進行簡單的縱向矯正。像素信號可以采用簡單的延時方法采集,這種方法采回來的圖像質(zhì)量很差。一是圖像的中心不好調(diào)整;二是很容易采到雜信號。因此,我們用軟件模擬pclk的5分頻信號,將原來的每行640個像素點減少到了128個點,再通過K60的DMA進行圖像數(shù)據(jù)的采集。這種方法雖然也不是最準確的采集方法但是比起第一種方法還是有所進步的。這樣就可以每掃描一場得到完整的簡單的賽道信息了,由于我們使用的是軟件分頻,二值化和濾波,需要對圖像處理占用一部分時間,為了避免采集與處理的沖突,所以選擇了隔場掃描,每采集一場,然后處理圖像并控制。之后再從新的一場開始采集,同時通過特定行行數(shù)組對圖像矯正,能夠保證圖像的質(zhì)量和真實的賽道情況,圖5.2為攝像頭采集到的賽道信息: 直入十字 斜入十字 虛線小s 直道圖5.2賽道信息采集到的圖像信息處理成完整的圖像,就該提取賽道有用信息了。首先就是圖像的二值化,這其中的難點是閾值的選取,只有閾值取得好才能很好的準確的簡化圖像信息。這其中就有動態(tài)閾值和靜態(tài)閾值兩種軟件二值化的方法。靜態(tài)閾值方法對于環(huán)境的適應能力比較差,環(huán)境變化就有可能不能準確的二值化圖像。動態(tài)閾值方法雖然可以立刻適應新環(huán)境,但是它也有自己的弊端,最主要的是運行時間長,其次是它不一定能很好的找到一幅圖像的閾值,最明顯的地方是在虛線小S處,光線稍暗點就會把黑色虛線二值化沒了??紤]兩種方法的優(yōu)缺點,最終采用靜態(tài)閾值方法。只要在比賽時的試車階段把環(huán)境的閾值調(diào)整好就可以了。得到二值化的圖像后就是中心線的提取了。如何提取中心線是圖像處理的關鍵,只有正確的提取中心線才能準確的控制小車。由于賽道兩邊的引導線是連續(xù)的,只有在十字和虛線小S處會出現(xiàn)短線的情況,但是這都可以通過圖像底層的黑線補出來。因此我們采用先找圖像底部引導線再通過此引導線向上逐行的尋找賽道兩邊的黑線方法來提取賽道邊線,進而提取到中心線。關于中心線提取的具體思路如下:=1\*ROMANI從圖像底層三行采用從中心依次向兩邊擴散搜索,找到黑點記錄值;=2\*ROMANII如果兩邊都找到,直接求平均值得到中心點坐標;如果只找到一邊就用圖像邊緣與這一邊確定中心值;如果兩邊都沒找到,圖像中心即中心值。記錄連續(xù)采到有效點的坐標值。如果采到有效的連續(xù)的三行黑色邊線,則采用這三個邊線的坐標來作為接下來提取黑線的引導線。否則繼續(xù)尋找,直到找到可靠的引導線。=3\*ROMANIII以上行引導線提取到的中線點坐標向兩邊尋找黑點,找到后與上行的引導線做對比,如果相差不大則說明這個點采集正確。否則放棄這個點,用上一行引導線的坐標代替它。這樣就會把十字和虛線小S的斷線給補上。=4\*ROMANIV以這種方法提取下去就能把整幅圖像的中線提取出來,考慮到急彎的時候會出現(xiàn)賽道長度的縮減,我們進行了賽道寬度的限制,當左右邊線的差值小于某個值時就會停止中心線的提取。這樣就會防止誤采的可能。對于斜入十字我們也做了簡單的防止串道的限制算法,就是在斜入十字時賽道的寬度會突然變寬,這是不可能的,所以當采集行比引導行的賽道寬度寬時就放棄本行數(shù)據(jù),繼續(xù)采取上行的數(shù)據(jù)代替。這樣就不會在斜入十字是出現(xiàn)串道的情況。通過大量的實際實驗證明我們這種方法既簡單又可靠,在華北賽區(qū)的比賽中未出現(xiàn)串道的情況,圖5.3為采用這種方法提取的中心線示意圖。 直入十字 斜入十字 虛線小s 直道圖5.3賽道中心線提取示意圖PID(ProportionalIntegralDerivative)控制是最早發(fā)展起來的控制策略之一,由于其算法簡單、魯棒性和可靠性高,被廣泛應用于工業(yè)過程控制,尤其適用于可建立精確數(shù)學模型的確定性控制系統(tǒng)。圖5.4為模擬PID控制系統(tǒng)原理框圖。圖5.4PID原理框圖PID是一種線性控制器,它根據(jù)給定值rin(k)與實際輸出值yout(k)的差值e(t)構成控制方案,圖5.5為利用運放實現(xiàn)模擬PID的一個例子:圖5.5虛短虛斷原則關于各調(diào)節(jié)器的作用說明:?比例調(diào)節(jié)器P1、起調(diào)節(jié)作用,與輸出量和給定量的差成正比,有差就有調(diào)節(jié)作用,所以他的調(diào)節(jié)結(jié)果總是有差存在,這種調(diào)節(jié)不可消除差,所以叫這種調(diào)節(jié)為有靜差調(diào)節(jié);2、但這種調(diào)節(jié)作用快,能很快減小誤差,是最常用的一種調(diào)節(jié)器。3、積分I調(diào)節(jié)慢,所以PI是最常用的一種搭配。?積分調(diào)節(jié)器I1、是給定量與輸出量的差對時間的積分,在電路里就是用給定量與輸出量的差給電容充電,只要時間足夠長,電容器的電壓總會到達給定量,使輸出量與給定量的差為零;2、積分調(diào)節(jié)器是一種無靜差調(diào)節(jié)器,意思是說可調(diào)節(jié)到給定值,做到精確、準確輸出;?微分控制調(diào)節(jié)器D1、,這種控制總是以輸出量與給定量的差的變化率成正比,差變化越劇烈,調(diào)節(jié)作用越大,差變化越平穩(wěn),調(diào)節(jié)作用越弱;2、這種微分調(diào)節(jié)作用,使得輸出量平穩(wěn)而很少波動;3、這種微分調(diào)節(jié)作用,對輸出量的變化、波動產(chǎn)生強烈的阻尼、抑制的作用,就像摩擦力的作用;增量式PID的算式為:如果換成智能車里的方向控制就變?yōu)椋篜wm_offset=PWMMiddle+PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*last_error);如果換換成智能車里的速度控制就變?yōu)椋篜wmtemp+=PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*last_error);在圖像信息中確定中心值后,就可以得到當前中心線的朝向,舵機通過PD控制就可以得到很好的控制效果。通過合理調(diào)節(jié)P參數(shù),就可以使小車在賽道上穩(wěn)定行駛,在彎道增大P項可以使小車切內(nèi)道,但是在直道上會震蕩,于是我們采用動態(tài)P來實現(xiàn)舵機基本轉(zhuǎn)向,直道的P系數(shù)小,彎道的系數(shù)大,然后再加入D項可以使轉(zhuǎn)彎提前,出彎時轉(zhuǎn)彎減小,調(diào)節(jié)PD系數(shù)可以將小車的行車線調(diào)整到一個較為理想的狀態(tài)。后期還結(jié)合中心值加權,對路徑做了一定的優(yōu)化。舵機控制的基本公式如下:Pwm_offset=PWMMiddle+P*(error)+D*(error-last_error)其中:error是圖像與賽道偏差,last_error為上一次的偏差,那么D項對應的就是賽道變化率。對于速度控制,我們采用了增量式PID控制算法,基本思想是直道加速,彎道減速。經(jīng)過反復調(diào)試,將每場圖像得到的黑線位置與速度PID參考速度值構成二次曲線關系。在實際測試中,我們發(fā)現(xiàn)小車直道和彎道相互過渡時加減速比較靈敏,與舵機轉(zhuǎn)向控制配合得較好?;綪ID公式如下:pwmtemp+=PID_P*(error-last_error)+PID_I*(error)+PID_D*(error+pre_error-2*last_error);基本速度公式如下:Speed=Highspeed-error*error/(Highspeed-lowspeed)通過不斷實踐,發(fā)現(xiàn)直入彎時,需要及時減速,所以我們根據(jù)中心值偏差以及有效行,判斷基本賽道類型,不同的類型需要不同的高速和低速。結(jié)果表明這樣控制效果更好。第六章系統(tǒng)開發(fā)及調(diào)試工具程序及硬件的調(diào)整必定離不開調(diào)試工具的幫助,合理的使用調(diào)試工具可以提高整個智能車制作的效率和質(zhì)量。再因比賽規(guī)定賽場上是不能下載程序的,所以人機交互調(diào)試界面的易用性和可靠性就決定了小車對賽場賽道和光線的適應能力。IAREmbeddedWorkbenchforARM是IARSystems公司為ARM微處理器開發(fā)的一個集成開發(fā)環(huán)境。比較其他的ARM開發(fā)環(huán)境,IAREWARM具有入門容易、使用方便和代碼緊湊等特點。相對于KeilforARM、CodeWarrior而言,IARforARM的編程界面是最簡單的,編譯效率高,在嵌入式系統(tǒng)的調(diào)試方面提供了可供調(diào)試的插件,方面用戶調(diào)試程序。圖6.1為IAR編程與調(diào)試界面。圖6.1IAR編程與調(diào)試界面J-LINK仿真器是SEGGER公司為支持仿真ARM內(nèi)核芯片推出的JTAG仿真器,可與IAR編譯環(huán)境無縫連接,操作方便且下載速度快,是學習開發(fā)ARM最好最實用的開發(fā)工具,故使用此款仿真器開發(fā)K60,圖6.2為J-LINK外觀。圖6.2J-LINK外觀當后期調(diào)試需要小車在賽道上邊行駛邊發(fā)送賽道信息到上位機時,USB轉(zhuǎn)串口線是無法滿足要求的,經(jīng)過考慮我們選擇了藍牙模塊無線串口通訊。兩塊藍牙模塊一塊當從機,一塊當主機,配合USB-TLL模塊可以方便的將接收到的數(shù)據(jù)顯示在電腦上,圖6.3為藍牙模塊和USB轉(zhuǎn)TTL模塊實物圖。圖6.3藍牙模塊及USB轉(zhuǎn)TTL模塊 我們采用全功能上位機對攝像頭采集到的圖像進行顯示與分析。該軟件可以實時顯示串口接收到的圖像,也可將二維數(shù)組轉(zhuǎn)圖像,支持圖像保存,動態(tài)設置協(xié)議頭,可以顯示圖像的行列值,灰度值,支持添加算法插件等高級功能。使后期圖像的深入分析與復雜控制算法的編寫成為可能,圖6.4為全功能上位機界面。圖6.4全功能上位機打開界面我們選用OLED顯示屏顯示參數(shù),選用3X6X2.5MM貼片式微動按鍵調(diào)節(jié)參數(shù)。進一步縮小電路板面積,使車身整體更加精妙合理的設計成為可能。圖6.5OLED與LCD5110比較表7.1模型車的主要技術參數(shù)說明項目參數(shù)路經(jīng)檢測方法攝像頭組車模長、寬、高(mm)長:300寬:220高:350電容總量1400微法傳感器種類及個數(shù)CMOS攝像頭1個,測速編碼器1個,紅外對管5個除了車模原有的驅(qū)動電機、舵機之外伺服電機個數(shù)無額外伺服電機賽道信息檢測精度1cm賽道信息檢測頻率30HZ車??傊亓?Kg第八章總結(jié)我們小組成員都是非自動化專業(yè),在小車制作過程中,對此產(chǎn)生了濃厚的興趣,從對智能車一無所知開始,通過查找資料補充知識,經(jīng)過一系列的設計電路,組裝機械,編寫程序,分析算法,最后終于能夠讓我們的車模跑的達到了預期的要求,并積累很多寶貴的經(jīng)驗。本智能車系統(tǒng)使用數(shù)字攝像頭,直接輸出期望的數(shù)據(jù)格式,減輕了硬件電路的負擔。適當?shù)氖褂昧速N片式芯片,既保證散熱又有效的縮減了電路面積。使用了32位單片機,比16位單片機執(zhí)行速度快。中心線提取是根據(jù)邊線連續(xù)性的特點提取的,這樣大大提高其準確性,省去了對賽道識別的算法。由于OV7620本身場周期16.6毫秒的限制再加上我們使用的提取修正圖像數(shù)組的固有缺點。導致必需使用隔場采集,使程序運行周期延長到了30毫秒左右。相比電磁組和光電組8毫秒左右的運行周期慢很多,且程序內(nèi)各函數(shù)執(zhí)行循序安排不甚合理導致內(nèi)耗很大,嚴重影響了車速的提升。硬件設計不甚完善導致小車有些頭重腳輕。采用的K60最小系統(tǒng)板體積偏大且沒有集成SD模塊,故日常調(diào)整參數(shù)時沒有使用上預期的SD卡來讀取小車運行的實際參數(shù),智能憑借經(jīng)驗來調(diào)節(jié),大大降低了參數(shù)調(diào)整的精度和準確性,也使調(diào)車的隊員十分辛苦。使用靈敏度更高,場周期只有8毫秒的OV7725,采用硬件二值化并將電路制作在攝像頭背面。充分利用DMA采集優(yōu)勢,將算法放在行中斷,達到預期的一場采集并處理使程序運行周期達到8毫秒。采用線程更高,體積更小的光電編碼器并完善硬件設計徹底解決車體頭重腳輕的問題。采用體積更小,模塊集成度更高的K60最小系統(tǒng)板,充分發(fā)揮32為單片機的強大功能。經(jīng)過幾個月的制作和調(diào)試智能車,每個隊員都收獲很大。通過這次比賽,不僅發(fā)揮了隊員的創(chuàng)新合作精神,而且也學習到其他參賽隊的控制思想和優(yōu)秀作品。能參加這項比賽,對于本隊每個人來說,定會成為人生當中銘記的經(jīng)典,每個組員要感謝在這過程中一直鼓勵、支持、幫助我們的指導教師,感謝學校和大賽組委會為我們提供的展示平臺,感謝在這過程中所有幫助過我們的人們。[1]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001.[2]閻石.數(shù)字電子技術基礎[M].北京:高等教育出版社,2000.[3]邵貝貝.單片機嵌入式應用的在線開發(fā)方法[M].北京.清華大學出版社.2004[4]譚浩強著.C程序設計.北京:清華大學出版社,2003.[5]邱關源.電路.高等教育出版社,1999.[6]第七屆北京科技大學CCD技術報告.[7]第七屆常熟理工學院-閃電六隊-技術報告. 第八屆全國大學生智能汽車競賽技術報告附錄voidhang(){unsignedcharj,*p;if(PORTA_ISFR&(0X00000001<<10)){PORTA_ISFR|=0X00000001<<10;m++;if(m==XZ_Hang[Line_C]){p=&Image_Data[Line_C][0];for(j=0;j<COLUMN;j=j+2,p=p+2){*p=(unsignedchar)LPLD_GPIO_Get(PTB);asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");*(p+1)=(unsignedchar)LPLD_GPIO_Get(PTB);asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");//asm("nop");}Line_C++;}//enable_irq(87);if(Line_C==ROW){SF=1;K=0;//DisableInterrupts;disable_irq(87);disable_irq(88);return;}}}voidchang(){if(PORTB_ISFR&0X00000001<<11){PORTB_ISFR|=0X00000001<<11;PORTA_ISFR|=0X00000001<<10;disable_irq(88);Line_C=0;//LPLD_UART_PutChar(UART1,0xff);//LPLD_UART_PutChar(UART1,0xff);enable_irq(87);K=1;}}voidPIDctr(intyus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設定明確的工作優(yōu)先級計劃
- 財務分析在企業(yè)評估中的應用計劃
- 教學創(chuàng)新與成果分享機制計劃
- 防止職業(yè)倦怠的小技巧計劃
- 醫(yī)學影像科醫(yī)生工作計劃
- 建立員工反饋與建議機制計劃
- 2025年電動晾衣機項目合作計劃書
- 景區(qū)承包合同
- 珠寶定制服務特殊條款協(xié)議
- 農(nóng)產(chǎn)品電商項目開發(fā)合作框架協(xié)議
- 春節(jié)申遺成功的意義
- 子女放棄繼承房產(chǎn)協(xié)議書
- 施工方案與技術措施合理性、科學性與可行性
- 部編版小學語文二年級下冊電子課文《小馬過河》
- 《醫(yī)療機構工作人員廉潔從業(yè)九項準則》專題解讀
- 愛車講堂 課件
- 成立商會的可行性報告5則范文
- 小學體育課件《立定跳遠課件》課件
- 市場監(jiān)督管理局反電信網(wǎng)絡詐騙工作總結(jié)
- 2018中國技能?賽全國選拔賽“3D數(shù)字游戲藝術”項?技能樣題
- 2024-2030年中國免疫細胞存儲行業(yè)發(fā)展模式及投資戰(zhàn)略分析報告
評論
0/150
提交評論