智能車大賽捷豹隊技術(shù)報告_第1頁
智能車大賽捷豹隊技術(shù)報告_第2頁
智能車大賽捷豹隊技術(shù)報告_第3頁
智能車大賽捷豹隊技術(shù)報告_第4頁
智能車大賽捷豹隊技術(shù)報告_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

構(gòu)設(shè)計、的機械結(jié)構(gòu)、各模塊的工作原理以及控制策略。另外,簡要介紹了基于MC9S12DG128單片機的調(diào)試工具、軟件和針對各模塊的輔助調(diào)試工具。第一章車競賽。該項比賽已列入教育部主辦的五大競賽之一。2007年8月26、27日,交通大學將承辦第二屆智能車大賽。比賽中,“參賽選手須使用大賽統(tǒng)一提供的競模,采用飛思16位控制器MC9S12DG128作為控制單元,自主構(gòu)思控制定,須采用統(tǒng)一提供的車模,須采用限定的飛思16位微控制器MC9S12DG128作為唯一控制處理器,車模改裝完畢后,尺寸過:250mm寬和400mm長,高度無限600mm,跑道表面為白色,中心有連續(xù)黑線作為引導線,黑線寬本文介紹了浙江大學捷豹Ⅱ隊的智能方案,包括系統(tǒng)的相關(guān)參數(shù)和性能、軟硬件MC9S12DG128單片機的調(diào)試工具、軟件和針對各模塊的輔助調(diào)試工具。分,黑線識別傳感器一般有兩種選擇方案:反射式紅外光電管和CCD頭,紅外傳感器另外因為比賽規(guī)定傳感器數(shù)目過16個,這樣就限制了檢測的水平分辨率,導致系統(tǒng)不能精確地分辨黑線的位置。CCD頭的成像是一個平面,因此水平和垂直分辨率都很高,在路徑識別上具有很大的優(yōu)勢,可以提前預測路徑,使用CCD頭的瓶頸在于單黑線,在不超頻的情況下每行能45個點,足以滿足檢測精度的要求,黑線提取采用直道和小S道上直線快速前進,大拐彎上合理地走內(nèi)線。另外,根據(jù)不同賽道選用不同頻率的波能極大減少加的時間,總的來說,控制策略還是比較理想的。本文第二章介紹了智能車的控制系統(tǒng)以及的主要技術(shù)參數(shù);第三章是智能車的電路硬件結(jié)構(gòu),包括電源電路、電機驅(qū)動電路、速度檢測電路和CCD信號分離電路;第四章CCD支架的安裝等;從第五章開始著重介紹智能車軟件的設(shè)計和調(diào)試,包括各個模塊的底層程序、CCD黑線提取算法和轉(zhuǎn)彎控制算法等,其中黑線提取算法采用搜索法,從最近一行向上搜索,從而能夠排除邊第二章能車控制系統(tǒng)設(shè)2.1所示,這個框架非常類似于文獻[2]中所提及的MRAS(model-referenceadaptivesystem),在自適應控制中這是一個非常有效的改善控制2.1控制模型具有很好的指導作用,模型的基礎(chǔ)就是賽道信息。通過CCD頭獲得精確的俯在實際控制過程中,鑒于CCD頭拍攝范圍是一個前寬后窄的梯形,實際的圖像是3環(huán)控制系統(tǒng),速度檢測模塊能夠修正速度誤差,提高智能小車路徑的準確性和實時12V表2.1主要參第三章能車硬件設(shè)我們采用了提供的S12單片機板()作為我們的控制器,在硬件的設(shè)

3.15V6VCCD工作電壓12V3177805穩(wěn)壓在直流使用了LM2940低壓穩(wěn)壓來獲得較為穩(wěn)定的電壓,實際的測量結(jié)果是只要電池電壓不7V6VLM1117-ADJ的標準電路。CCD12V穩(wěn)壓電路采用MC34063標準電路。3.1LM29403.2LM11173.3MC34063我們使用了MC33886作為直流電機的驅(qū)動,并采用了推薦的標準電路??紤]到在賽1I/O33886的信號線,實際的電路33886并聯(lián)使用。3.4MC3388624個脈沖,精度可達到3.5A/D轉(zhuǎn)換通道進入數(shù)字控制器。3.6RC濾CCD同步分離電同步分離電路主要采用同步分離LM1881,電路原理圖如圖3.7所示。將視頻信號通過一個電容接至LM1881的2腳,即可得到控制單片機進行A/D的控制信號:行同步HSVSODD/EVEN。圖3.7同步分離原理第四章能車機械結(jié)構(gòu)設(shè)4.1所示:4.14.24.2所示,主銷后傾角可以產(chǎn)生一輪的自動回正能力就越強。但是主銷后傾角太大,將會引起前正過猛,導致轉(zhuǎn)向沉0o的4.34.4紅圈標示的螺桿調(diào)整。調(diào)大主銷內(nèi)傾角的好處是,當前4.3β4.40o。4.518:76,電機齒輪和后輪齒輪嚙合不能太緊也不能太松。4~6V以內(nèi),解決舵機滯后問題可將舵機安裝高度提高,這樣就4.2所示:4.6CCDCCD支架我們采用過很多方案,比如在華東賽區(qū)比賽中我們選用的是輕質(zhì)金屬加工的雙4.7CCD4.8速度檢測是智能車一個非常重要的環(huán)節(jié),華東賽區(qū)我們選用的是編,結(jié)果發(fā)現(xiàn)大材小用,編精度太高,實際運用中只需要1cm精度就可以了,而且編價格昂貴,只需不需制作,不符合大賽的,所以我們編碼盤如圖4.3所示。編碼盤一圈四個18:4.9在高速前進過程中,若遇到急轉(zhuǎn)彎,很可能出現(xiàn)前輪側(cè)滑問題,以至于沖出賽道,嚴重影響了比賽成績。側(cè)滑現(xiàn)象如圖4.2所示,前輪軸向與后輪軸向交點N,就是在低速時轉(zhuǎn)彎的圓心,但是在高速時,事情并不是我們那樣,由于沒有足夠的重力壓在滑嚴重的話,很可能沖出跑道,所以側(cè)滑現(xiàn)象是不斷提速的一個瓶頸,解決好這個問題,的性能將會很好地改善。4.10要解決這一問題,一方面是在轉(zhuǎn)彎時快速,由于電機的滯后性,效果不是很佳,尚不辦法是將整個車體的重心往前移、往下壓,所以在安裝時電池安裝在的前部 第五章能車軟件設(shè)5.1在系統(tǒng)運行過程中,中斷源有:CCD行中斷、CCD場中斷、速度中斷、定時中斷、電機過照這個原則,CCD行中斷、場中斷的優(yōu)先級應該最高,其次是速度中斷、定時中斷,最后5.1、時器在個模塊同時用,有必將全控制寄存獨立設(shè),否則易出錯。全局始化包定時器分頻和動, 預分頻,鐘源,B分頻,個位通道是連接成6位通道具體程如下:定時器在定時處理某些事務(wù)時是不可或缺的,在S12處理器中,利用定時器的輸出比較功64分頻,故每ms計數(shù)為,根據(jù)這個數(shù)據(jù)相應修改PERIOD就可實現(xiàn)定時中斷。 5.2φθ的關(guān)系曲線由于舵機的控制信號是一個周期為5ms-20ms高電平時間為1-2ms的,為了精確控制,需將1-2ms這個區(qū)間分成120等分,而周期是占空比的5到10倍,故整個周期需分成600到1200等分,8為 計數(shù)器最多只能到255,精度要求,故需要將兩路8為 成一路16為 ,即每轉(zhuǎn)過一度,計數(shù)器電機的初始化包括,使能端電平,出錯處理。屬性主要是頻率,由于電機的最高頻率為10kHz,我們選擇10k。 23由通道2和通道3成一個16位的 選擇ClockSB。由于預分 現(xiàn)低電平。故只需對FS的下降沿進行監(jiān)測,若發(fā)現(xiàn)有下降沿產(chǎn)生,則表示電機出錯了,應該立刻關(guān)閉電機并做出警報。我們的采用了兩片33886并聯(lián),其FS端分別到PJ0、PJ1PJ01PJ_ISR中斷服務(wù)250cm/s0.5560%, ,時加速度5.3上特觸發(fā)器的整形,出來的波形就更完美了,這為速度的準確計算奠定了基礎(chǔ)。的時間間隔T,就可求得速度為:車速的一般介于100cm/s400cm/s,故T介于8ms到2ms,定時器時鐘頻率由總線頻64分頻得到。此時一個脈沖對應的時間計數(shù)為:由于定時16位的,在不考慮溢出次數(shù)時,Count只能取065535,即T不能0.8cm超過174ms,此時可檢測到的最低速度為:。此外Count205%T=0.05ms,對應最高速度為5.5頭軟件設(shè)5.5.1頭采樣思頭采用的是行掃描方式,經(jīng)測試,頭的第18行到300行為有效信號,即每282S1240行就足夠判斷前方道路信息,因此我們只對其中的某些行采樣。又由于頭的視覺關(guān)系,前方的分辨率比后方的頭初始化后,AD超頻(ATD1CTL4=0x80),并以連續(xù)轉(zhuǎn)化模CPU18行消隱行之后,根據(jù)前面推導的計算出當前行是否屬于有效行。如果不是則CCD行計數(shù)器增一然后返回,否則準備圖像。首先是通過延時和比較AD結(jié)果是否大于某個值(如30AD3145AD4563)來消除行消隱,接下來便是有效數(shù)據(jù)了。數(shù)據(jù)時由于轉(zhuǎn)化速度很快,故不能通過查詢AD轉(zhuǎn)化完成標志來判AD是否轉(zhuǎn)化完成。事實上,查詢指令時間(9個指令周期)AD轉(zhuǎn)化時間(低于1個指令周期,具體多少軟件無法測試出來)。正確的做法應該是通過空操作延時來AD值,延時指令數(shù)具體由主頻和你一行的點數(shù)決定,如主頻24M,一行45個點時,延時指令數(shù)為13。一行完畢之后,行計數(shù)器和CCD行計數(shù)器都增一。如果行計數(shù)器已達到設(shè)定行數(shù)(如46)時,則意味著一幅圖像已完畢,此時要做的工作是關(guān)行中斷,對行計數(shù)器,CCD行計數(shù)器進行,為下一幅圖像做準備。5.5.2頭框基本思路是行中斷服務(wù)程序開啟行中斷,在行中斷中對每行作計數(shù),當達到預定的點擊查看:5.5.3CCD信號的及分1)信號包括廠消隱、行消隱和有效信號,我們需要的是其中的有效信號,的電壓值位于0-2V,但區(qū)別消隱和有效信號的閥值具體是多少是無法通過示波器確通過串口發(fā)到PC機,利用 S12AD3031到50之間,白色信號則最高可達63。知道了廠消隱信號和有效信號的閥值為30后,我while(ATD1DR0L<30);,消隱信號過去之后,便可開始了。2)行列數(shù)的確s12技術(shù)文檔S12ATD10B8CV2.PDF可查得,當BusClock=24MHz時,ATDClock最大可達12MHz,此時PRS=0。單次轉(zhuǎn)換時間=AD的時鐘周期14=(1/12MHz) 14=1.17us,此時一行能的點數(shù)約為57.5us/1.17us=67。由于我們的CCD最前方的可視范圍是75cm,為了不黑線,每行至少要的列數(shù)為:75cm/2.5cm=30。也即是說一行的點數(shù)不能低于30,否則,可能將黑線遺漏。但考慮到S12的處理能力有限,67個點處理起來比較吃力,的行數(shù)過多的話,甚至可能影其它模塊的處理。為了平衡兩者的,我們的點數(shù)為最低點數(shù)的1.5倍,即45個點。到此雖然解決了前面的,但新的問題又出現(xiàn)了:如何才能恰好45個點呢?如果將AD分頻系數(shù)增一,則的點數(shù)將會減半,這當然是我們不愿看到的。最好的辦法是圖像過程中通過指令延時來AD結(jié)果。只要調(diào)整調(diào)整指令個數(shù),就可實現(xiàn)任意個點(67以內(nèi))而不遺漏有效數(shù)據(jù)。觀察C語言轉(zhuǎn)換為匯編語言后的指令周期CodeWarriorC源程序文件,選擇【Disassemblelst文件窗口,里面有C語言生成的匯編程序,及相應的機C程序中的“NOP”空操作指令的個數(shù)即可實現(xiàn)你所需的延時。LST文件可知延時指令個數(shù)為:3+3+1+1*14(NOP指令)+1+2+3=27,故每采集兩個點之間時間間隔是27/24=1.125us,同時也可估算出一行有效信號的時間為1.125*47=53us,對應的指令數(shù)為27*47=1269,若要60個點,則延時的指令數(shù)為圖5.6到的數(shù)據(jù)(*號與*號之間表示一行3)CCD拍出來的圖像是什么樣子的,這意味著CCD的拍攝范圍及圖像的清晰程度等。雖然網(wǎng)上有圖像復原軟件,但CCDCCD調(diào)試,我們特意根據(jù)我們的CCD編寫了一個圖像復原的軟件和相應的圖像數(shù)據(jù)發(fā)送測試程序(燒到S12的)。有了圖2.5秒,因而圖像刷2.5秒。此外,該圖像復原軟件還有一個特別的功能,就是可將原始圖像(長方圖像復原軟件有兩大作用:a)CCD處于最清晰模式下工作;b)CCDCCD拍攝的區(qū)域符合你的要為了觀察頭采樣的效果,S12采樣到的圖像數(shù)據(jù)通過串口線發(fā)送到PC機0.8m5.7智能車通過圖像采樣模塊(即由頭、S12和LM1881等相關(guān)電路組成的系統(tǒng))獲一幅圖像黑線最大時間(全部有效時)為1.7ms,而一幅圖像需20ms,除了1/6時間用來數(shù)據(jù)之外,還剩16ms的時間,足以用來提取黑線及控制舵機和電機了。本算法慮到穩(wěn)定性,底部第一個黑點的搜索以相鄰3行作為對象,并從第二列開始,到倒數(shù)AD值,則第一個黑線的中7個點的范圍內(nèi)進行搜索,找出其中的最小值,并一該點作為新的黑線中心,然后重復搜索下去,直到發(fā)現(xiàn)所得最小值大于某個值(50,這黑線將要結(jié)束)path數(shù)組中,至此圖像有效信息已全部提取出來了,5.8所示:5.8原先沒有采用三行每列相加,搜索示意圖5.9所示,那么如果圖像出現(xiàn)小問題,連續(xù)5.10。5.95.10范圍較寬(75cm),最后方拍攝的范圍則較窄(37cm),2倍的現(xiàn)行比例調(diào)整后,path0..ROW]真實體現(xiàn)出了道路的變化及趨勢,為接下來對賽道類型的判斷及轉(zhuǎn)0.8m圓弧,調(diào)整前后對比效果如下圖:5.115.12第六章控制策6.1.1方向偏差計算置在path[]數(shù)組中,那么我們計算方向偏差的計算式就為delta=k1*(path[head]-path[tail]),其中k1為像素與長度單位的轉(zhuǎn)換系數(shù)。該是我們在調(diào)試之初無意之中想出來的,原本只是為了測試一下舵機和CCD的協(xié)調(diào)性,沒想到該卻具有了很強的適應性,包括適用直線、彎道和S彎道等,因此一直沿用至今。delta6.16.1.2位置偏差計算6.2轉(zhuǎn)彎半徑計算5.10所示,由直角三角形的6.3得到R后,便可求得該點的曲率。經(jīng)驗表明,直接用斜率Curve幾乎一致,而對于k6.4從上表可知,直線部分或小S彎部分,斜率k0.2,進入轉(zhuǎn)彎時,k0.21.0,處于轉(zhuǎn)彎時,k大小在1.02.0之間。由于計算k時,考慮的是整幅圖像,故斜率k直接反映了當前轉(zhuǎn)彎的整體緊急程度,在轉(zhuǎn)向控制中可作為控制的輸入量,angleP控制時,具體關(guān)系可如下定義:考慮到斜率kdelta僅僅反映了道路的趨勢,卻忽略了車與黑線的當前偏差offset,我們重新對角度控制進行矯正,加上最近一行tail的位置偏差offset,那么就k1,k2為待定參數(shù),k1k2越大,則對當CCD的拍攝范圍及的行列數(shù),我們?nèi)1=20,k2=2/3。這樣實現(xiàn)了直線不抖,轉(zhuǎn)彎走內(nèi)線,S彎經(jīng)過直線,delta=0或非常小,那么offset將發(fā)揮作用,控制貼著黑線行駛,如6.5經(jīng)過彎道,delta和offsetk1k2的大小,這兩個參數(shù)只能通過不斷的調(diào)試獲得,前面已經(jīng)提到了,k1決定轉(zhuǎn)彎大小,k2抑制或促進轉(zhuǎn)彎,為的是將盡量拉回黑線。所以說,調(diào)解兩者大小可以很好的控制跑內(nèi)線的程度。6.6如果慢速行駛,舵機會略微轉(zhuǎn)動,幅度不大;但是如果較快的行駛,由于舵機的滯后性,就會直接沖過S彎道。6.7S速度上,k越小,則說明前方的賽道越直,應將車控制在一個較高的速度上。K越大,則PIDBang-Bang控制方法,也就是速度小于預定的值時,以最大能力加速上去。當速度大于預定的某個值時,則以最大能力下來。實踐證明,該控制算法的響應速度快,超調(diào)量小。33度。假設(shè)車模的前后輪之間的距離L,則車模的轉(zhuǎn)彎半徑與轉(zhuǎn)角之間的關(guān)系可近似為: 車模,L=0.21m。由最大轉(zhuǎn)角,得最小轉(zhuǎn)彎半徑0.5m,在輪胎不打滑的情故 (斜面材料為賽道的KT板),調(diào)整斜面的傾角使得車剛好能側(cè)滑下來,測出此時傾 =0.7,即可得,畫成坐標圖如下圖。采用最小二乘法對其做曲線擬合可得v的有理近似表達式為:6.8常的,因為我們忽略了長直線到急轉(zhuǎn)彎的情形。有前面的電機特性分析可知,電機剎車時最大加速度為-4ms2CCD確認有急轉(zhuǎn)彎時急轉(zhuǎn)彎與車的距離為S,則直線上的最大速度Vmax應滿足第一定律:線上過次速度,除非使用算法,增大提前量,否則遇到急轉(zhuǎn)彎時可能打滑而失比賽風云變幻,許多事情常常。人們往往根據(jù)比賽可能出現(xiàn)的情況準備多種方828=256種選擇。但這樣容易搞混,最好還是當?shù)谄哒履苘嚨恼{(diào)試過常有兩種,一種是在車上安裝LEDLCD液晶顯示屏進行實時顯示。這種方法的優(yōu)點是可以現(xiàn)場實時觀察參數(shù)的值,但其缺點也很明顯:只適合顯示變化較慢(2Hz)的的參RAMPC機進行觀察。這種方法的最大優(yōu)點是能觀察高速變化的參數(shù),此外可利用計算機軟件(如)對接收S12windows操作系統(tǒng)的計算機,我特率9600、8位、無校驗,1個停止位,不使用硬件流控制。超級中斷通常自動串常在接收前做如下設(shè)定:點擊【發(fā)送】和【捕獲文字】將跳出如下框:7.1PC串口連接的(除非捧著筆記本跟在車后面或使用無線通信模塊實現(xiàn)發(fā)送),當試運行時間到后,車會自動停下來,為了不讓數(shù)據(jù)在S12連PC前發(fā)送,我們采用輸入一個字符來確認的形式啟動發(fā)送。接下來是接收,具體操作借助數(shù)學工具軟件來輔助分析。 Data…】,按提示操作即可在Workspace窗口生成一個以文件名命名的變量,雙擊該矩陣plot命調(diào)整以具體觀察局部曲線,添加”datacursor”,以觀察任意點的坐標值。此外,可借助自帶的擬合工具對曲線進行擬合并求出經(jīng)驗表達式。4cm記錄一組數(shù)據(jù)。車跑完一圈后自動停下來,等待計算機接Workspaceangle_speed矩陣變量。雙擊將可打開觀察個元素的值。圖 工作7.3CommandWindowplot(angle_speed(:,1))和plot(angle_speed(:,2))可將角度與路程的關(guān)系,速度與路程的關(guān)系分別畫出來。在圖形窗口中,可點擊【datacursor】,然后ALT的同時單擊鼠標左鍵,即可將鼠標所在點的坐標顯示出來,如下圖所示。此圖P系數(shù)減小。此外在S彎波動很大,對速度影響很大。上面是一感性的析,此可以通數(shù)作量分析。行men(nl_s:2))可到平均度為:63對應為4635*4/s=854m/。對直線段的角求平值可檢舵機的點是否確例如從我的圖中知第8到屬于直線分,執(zhí)行me(anls(328:041)對其取平值得040即舵機點僅右偏04度屬于可略范圍若較大則根移的兩去整 的基準,從而保證的中線的位是準確。另外據(jù)速度路的關(guān)系圖可算出點的加度的7.47.3算1)算法實現(xiàn)的條 4個至少有一其中分子表示數(shù)據(jù)X,Y之間的協(xié)方差,分母為X,Y匹配的點之間間隔是T100(4米)。車在行進過程中,不斷檢測起點,第一次檢測到起點時,將index保存到變量start1,當?shù)诙蝘ndex保存到變量start2。令T=start2-start1T的初始值。由于車走兩圈的軌跡是不可能完全以致的,故T是個變化的量,應不斷地調(diào)整。調(diào)m,n兩點間線性相關(guān)系數(shù),可令X=angle[m-99:m]、Y=angle[n-99:n],根據(jù)前面的相關(guān)系數(shù)可得兩組數(shù)據(jù)之間的線性相關(guān)系數(shù)。計算當前點index與上一圈之間的匹配Tperiod=T-2:T+2,X=angle[index-99:index]period,令Y=angle[index-period-99:index-period]YX的線性相關(guān)系數(shù),比較這些periodm,n兩點的匹配周期,因為他們的線性相關(guān)系數(shù)是最高的。將此匹配周期保存到變量T作為調(diào)整下一次匹配周期的基準。至此,indexindex-Tindex-T后面的點我們可以進行7.57.6我們賽道一圈約35米,每4cm為一個點,故約有900個點,智能車檢測兩個起點的距離7.7在S型賽道處(點600到點750),相關(guān)系數(shù)相對較低,

溫馨提示

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

最新文檔

評論

0/150

提交評論