已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一屆“飛思卡爾”杯全國大學生智能汽車邀請賽技術(shù)報告附件B智能移動小車的開發(fā)與研制學校四川大學隊伍名稱四川大學1隊參賽隊員楊承凱、鐘鵬、陳果帶隊教師楊剛關(guān)于技術(shù)報告和研究論文使用授權(quán)的說明本人完全了解第一屆“飛思卡爾”杯全國大學生智能汽車邀請賽關(guān)保留、使用技術(shù)報告和研究論文的規(guī)定,即參賽作品著作權(quán)歸參賽者本人,比賽組委會和飛思卡爾半導體公司可以在相關(guān)主頁上收錄并公開參賽作品的設計方案、技術(shù)報告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會出版論文集中。參賽隊員簽名楊承凱鐘鵬陳果帶隊教師簽名楊剛?cè)掌?00685目錄第一章前言1第二章模型車設計制作的主要思路以及實現(xiàn)的技術(shù)方案概要說明221檢測機構(gòu)2211普通紅外對管2212帶調(diào)制紅外傳感器2213CCD圖像傳感器322控制算法3第三章模型車機械部分安裝及改造、傳感器的設計安裝、系統(tǒng)電路板的固定及連接等431機械改動及電路板安裝432線陣CCD圖像傳感器的設計433速度檢測傳感器7第四章電路設計說明8第五章HS12控制軟件主要理論、算法說明及代碼設計介紹等1051模糊控制器的基本結(jié)構(gòu)10511模糊集合的隸屬函數(shù)11512論域11513模糊推理11第六章開發(fā)工具、制作、安裝、調(diào)試過程說明19第七章模型車的主要技術(shù)參數(shù)說明20結(jié)論21參考文獻22附錄A源代碼I附錄B智能移動小車的開發(fā)與研制I第一章前言本智能車采用了紅外光電開關(guān)作為速度檢測單元,線陣CCD圖像傳感器作為引導線檢測單元,模糊控制作為主要控制算法。紅外光電開關(guān)發(fā)出的紅外線受安裝在驅(qū)動電機轉(zhuǎn)軸上的扇頁片切割,通過其兩次跳變信號的時間間隔即可計算出車輪轉(zhuǎn)速;CCD的驅(qū)動信號由外部獨立數(shù)字電路產(chǎn)生,輸出信號由放大比較電路處理后將空間上引導線的位置映射為時間上相應時刻的脈沖信號,MCU只需要向CCD發(fā)出幀同步信號然后檢測輸出脈沖發(fā)生的時間便可以判斷出引導線的位置,軟件消耗極?。荒:刂破饕訡CD視覺中心偏離引導線的誤差和誤差變化率作為輸入量,以舵機轉(zhuǎn)向角作為輸出量,輸入隸屬函數(shù)采用三角形法,輸出隸屬函數(shù)采用脈沖法,由人的駕駛經(jīng)驗和智能車實際運行情況得到模糊規(guī)則,采用MAXMIN推理法則得到輸出語言,通過重心法計算出轉(zhuǎn)向角。報告的第一部分介紹模型車設計制作的主要思路以及實現(xiàn)的技術(shù)方案;第二部分介紹模型車的機械改裝、電路板固定和傳感器的設計;第三部分介紹模型車主控板的電路設計說明;第四部分介紹模糊控制的主要理論、算法說明和代碼設計介紹;第五部分介紹開發(fā)工具、制作、安裝、調(diào)試過程說明;第六部分介紹模型車的主要技術(shù)參數(shù);第七部分是對設計的總結(jié)。第二章模型車設計制作的主要思路以及實現(xiàn)的技術(shù)方案概要說明智能車是一個集光、機、電于一體的綜合性系統(tǒng),主要包括執(zhí)行機構(gòu)、檢測機構(gòu)和控制器,系統(tǒng)結(jié)構(gòu)如圖21。執(zhí)行機構(gòu)由大賽統(tǒng)一規(guī)定,本設計未做任何改裝,現(xiàn)主要考慮的是檢測機構(gòu)和控制算法。圖2121檢測機構(gòu)檢測白色背景上黑線的方法很多,主要分為普通紅外對管,帶調(diào)制紅外傳感器,CCD圖像檢測等。211普通紅外對管普通紅外對管使用簡單、反應快、信號穩(wěn)定、靈敏度好,在智能車前方安裝一排這種對管可以較好的檢測到地面上的引導線,但其檢測距離近,一般有效距離為5MM20MM,不能探測到前方賽道信息,在小車高速時通過這種方式檢測到賽道變化再做出反應一般來不及,很容易沖出賽道,本設計中沒有采用此方案。212帶調(diào)制紅外傳感器普通紅外對管經(jīng)過調(diào)制(調(diào)制頻率一般為40K)后可以探測到更遠的距離,但要求反射面垂直,智能車檢測賽道時射線是傾斜反射的,探測距離大打折扣,不過仍然能達到30CM左右,本設計曾采用過此方案,實測中發(fā)現(xiàn)調(diào)制后不同對管之間容易產(chǎn)生干擾,若采用時分方式總體采樣率又太低,故放棄了此方案。213CCD圖像傳感器CCD圖像傳感器分為線陣和面陣兩種,由于智能小車只需要檢測黑線的位置,可以不需要面信息,選用了線陣CCD比較合適。CCD圖像傳感器優(yōu)點在于可以穩(wěn)定的檢測到較遠距離的賽道信息(一般在30CM以上),并且檢測分辨率高,幀采樣頻率也較高(100HZ以上),不過使用復雜,一般需要占用較多的MCU處理時間,并且需要穩(wěn)定的環(huán)境光??紤]到比賽場地在室內(nèi),光線比較均勻,受環(huán)境光影響的這一缺點可以忽略。再考慮到本設計中實際上只需要區(qū)分出黑白兩種顏色,完全可以直接通過外部放大、比較電路將CCD信號做二值化處理后再由MCU檢測電平信息,而不必對其做A/D轉(zhuǎn)換;同時CCD驅(qū)動信號也可以通過外部電路產(chǎn)生,MCU只需要給出幀同步信號,這樣便大大降低了對MCU的消耗。本設計最終采用了這種方案。22控制算法智能車需要根據(jù)實際檢測到的賽道信息對轉(zhuǎn)向角做出自動調(diào)整,傳統(tǒng)上一般使用PID算法作為控制算法,但本設計由于系統(tǒng)模型復雜,智能車的動力學模型與很多因素相關(guān),如智能車重量、電機特性、機械系統(tǒng)傳遞效率、車輪彈性系數(shù)、輪與地之間摩擦系數(shù)、最大靜摩擦力等等,所以決定采用模糊控制算法,因為其不依賴與精確的數(shù)學模型。本設計中以CCD圖像傳感器視覺中心相對與引導線的位置誤差和誤差變化率作為輸入量,根據(jù)人的駕駛經(jīng)驗得到轉(zhuǎn)向角輸出,試驗中取得了良好的效果。另外,智能車不僅需要轉(zhuǎn)向控制,還需要速度控制,否則在高速轉(zhuǎn)彎時將沖出賽道。不過本設計中并沒有采用精確的速度控制,因為智能車本身對行駛速度不需要一個精確的定量,本文使用的方法是在轉(zhuǎn)彎時采用了“點剎”控制,其他情況下以全速行駛,實踐中完全滿足預定需求,智能車在行駛時不會沖出跑道。第三章模型車機械部分安裝及改造、傳感器的設計安裝、系統(tǒng)電路板的固定及連接等31機械改動及電路板安裝模型車在按照廠家圖紙完成車輪、舵機、連桿的正常裝配后,需要解決主控電路板和CCD電路的安裝。利用車身后架已有的兩個支撐柱,再在車身中部打兩個孔安上廠家原配的兩根支撐柱完成對主控板的支撐;轉(zhuǎn)速傳感器由連在電機主軸上的扇頁和光電開關(guān)構(gòu)成,扇頁直接插進電機主軸用膠固牢,光電開關(guān)也用膠粘在電機的梁架上;CCD傳感器的安裝稍微復雜點,先在車頭部底架上打三個孔安裝上結(jié)構(gòu)銅柱,再把一個前端仰起的鋁板安在結(jié)構(gòu)銅柱上,最后再把CCD電路板安裝在鋁板前端仰起的部分;所有部分通過排線相連,安裝完成后實物圖如圖31。圖3132線陣CCD圖像傳感器的設計CCD電路由線陣CCD圖像傳感器芯片PD3575D、輸出信號放大比較電路構(gòu)成,由于圖像傳感器芯片對光線要求較高,所以本設計在其下面放置一個強光白色LED來調(diào)節(jié)照明。CCD的驅(qū)動信號主要由外部電路產(chǎn)生,MCU控制幀同步信號,CCD輸出信號先經(jīng)過放大然后通過比較器提取出賽道上的黑線信息,MCU通過測定黑線對應的脈沖在幀信號里的出現(xiàn)時刻來判斷黑線的位置。PD3575D是NEC公司生產(chǎn)的一種高靈敏度、低暗電流、1024像元的內(nèi)置采樣保持電路和放大電路的線陣CCD圖像傳感器。它內(nèi)部包含一列1024像元的光敏二極管和兩列525位CCD電荷轉(zhuǎn)移寄存器。該器件可工作在5V驅(qū)動脈沖和12V電源條件下。在使用PD3575D設計線陣CCD圖像傳感器的過程中有兩個難點。一是驅(qū)動信號的產(chǎn)生,二是輸出信號的處理。PD3575D的驅(qū)動需要四路脈沖,分別為轉(zhuǎn)移柵時鐘IO、復位時鐘RO、采樣保持時鐘SHO和傳輸門時鐘TG,它們的時序圖如下圖32在明確了CCD的驅(qū)動時序后,下面關(guān)心的便是如何產(chǎn)生這四路驅(qū)動信號。有兩種方案由單片機程序產(chǎn)生四路時鐘驅(qū)動信號,這種辦法簡單易行。但1實際上是不適用于智能小車系統(tǒng)的。因為驅(qū)動信號的頻率相當高(8M),如果用單片機產(chǎn)生這個信號,那幾乎將占用所有的單片機時間,導致無法對信號做出處理和響應其他操作。由外圍電路直接產(chǎn)生CCD驅(qū)動時鐘,這種辦法比較2復雜,要用計數(shù)器和觸發(fā)器專門設計一個時序電路(因為大賽規(guī)定另外不能用可編程器件),單片機只需要產(chǎn)生一個幀同步信號(傳輸門信號TG)與外圍時續(xù)電路保持同步即可。這種方式雖然在操作上比較復雜,但給單片機留出了大量的空閑時間,以便能夠?qū)ζ渌畔⒆鎏幚恚m合于實際,本設計就是采用的這種方式。圖33CCD驅(qū)動信號電路CCD輸出的是模擬信號,將圖象采集進單片機,一般要對CCD信號做A/D轉(zhuǎn)換,完成這些需要一個高速的A/D轉(zhuǎn)換器和信號處理器件,這對單片機的性能要求顯然是比較高的。考慮到本設計中實際上只需要區(qū)分黑色和白色,CCD對于這兩者輸出的信號差異較大,將CCD信號放大后直接使用一個比較器對信號進行二值化處理即可,由單片機檢測二值信號的跳變時間,便可以計算出黑線的位置,這樣便進一步縮短了單片機在CCD上消耗的時間。圖34CCD輸出信號處理電路圖35UPD3575D33速度檢測傳感器速度檢測傳感器由連在電機主軸上的扇頁和光電開關(guān)構(gòu)成,電機旋轉(zhuǎn)時帶動扇頁旋轉(zhuǎn)遮擋光電開關(guān)產(chǎn)生脈沖。圖36扇頁和光電開關(guān)第四章電路設計說明主控電路板比較簡單,主要由微控器MC9S12DB128、電機驅(qū)動芯片、光電開關(guān)接口、舵機接口、CCD信號接口、串口構(gòu)成。微控器MC9S12DB128的周邊小電路包括電源、晶振、復位電路和BDM調(diào)試接口,電機驅(qū)動芯片采用組委會提供的MC33996,電機和舵機的控制信號均是PWM波,所以電機控制芯片接PWM2,舵機接PWM1;光電開關(guān)接IC0,CPU通過測定光電開關(guān)兩個相同跳變沿之間的時間來測定電機的轉(zhuǎn)速;CCD接口由CPU的驅(qū)動信號和CCD返回的檢測信號構(gòu)成;串口電路就是標準MAX232接口電路。另外為了調(diào)試方便,我們引入了無線開關(guān)來啟動和停止模型車。圖41單片機最小系統(tǒng)電路圖42直流電機驅(qū)動電路圖43舵機控制電路圖44紅外光電檢測電路第五章HS12控制軟件主要理論、算法說明及代碼設計介紹等本設計控制算法主要是模糊控制。模糊控制不需要被控對象的精確數(shù)學模型,而是基于專家知識和操作者的經(jīng)驗建立模糊控制模型,通過模糊邏輯推理完成控制決策過程,最后實現(xiàn)對被控對象的調(diào)節(jié)控制。調(diào)節(jié)經(jīng)驗即為模糊控制的模糊控制規(guī)則。模糊控制規(guī)則是模糊控制的數(shù)學模型,模糊控制規(guī)則的優(yōu)劣直接關(guān)系到模糊控制性能的好壞。與PID控制相比,模糊控制有如下的優(yōu)點1模糊控制不依賴于被控對象的精確數(shù)學模型,僅依賴專家知識和操作者的經(jīng)驗。2模糊控制具有較強的知識表達能力,可以將專家知識和操作者經(jīng)驗以規(guī)則的形式加以描述和提煉。3模糊控制具有較強的推理功能,經(jīng)過模糊推理可以實現(xiàn)類似與人的決策過程。51模糊控制器的基本結(jié)構(gòu)圖51為基本模糊控制系統(tǒng),其中T為采樣周期;R為設定值;Y為被控過程的輸出;E,EC和U分別為偏差、偏差變化率、控制增量的精確量;A、B和C分別為E,EC和U的模糊量;、和分別為E,EC和EQCUU的量化因子和比例因子。(51)UQ模糊化清晰化模糊推理被控過程輸入輸出隸屬函數(shù)模糊控制規(guī)則RKTEKTEKTTEECQCQECABCUUKTQUT圖51模糊控制器基本結(jié)構(gòu)511模糊集合的隸屬函數(shù)在人類的思維中,有許多模糊的概念,如大、小、冷、熱等,都沒有明確的內(nèi)涵和外延。只能用模糊集合來描述;有的概念具有清晰的內(nèi)涵和外延,如男人和女人。我們把前者叫做模糊集合,后者叫做普通集合(或經(jīng)典集合)。如果把模糊集合的特征函數(shù)稱為隸屬函數(shù)。記作,則表示元素屬XAXA于模糊集合A的程度。隸屬函數(shù)是模糊數(shù)學中最基本的概念,我們用隸屬函數(shù)來給出模糊集合在論域U上的模糊集合A,由隸屬函數(shù)來表征,區(qū)間內(nèi)連續(xù)取值。的大小反映了元素對于模糊集合A的隸屬程XAXAX度。512論域所謂論域,即隸屬函數(shù)輸入量的的變化范圍,一般分為離散論域和連續(xù)論域。離散論域即是說輸入量的變化的離散的,不連續(xù)的,比如我們常說的年齡,通常是按整數(shù)來表示的,從0歲到120歲,那么它就是一個離散論域;連續(xù)論域即是說輸入量的變化是連續(xù)的,如溫度,從30到80。513模糊推理模糊邏輯主要研究模糊推理,模糊推理實際上是從模糊前提出發(fā)按照模糊規(guī)則進行推理,而后得出結(jié)論(也是模糊的)。模糊規(guī)則是模糊推理的依據(jù),這些模糊規(guī)則是人們實際工作中的經(jīng)驗用語言的表達,因此也稱為語言規(guī)則,基本上采用如下三種形式16。“如A則B型”。此種形式可以寫成“IFATHENB”的條件語句,例如1“如果土壤干燥則灑水”。“如A則B否則C”型。此種形式可以寫成“IFATHENBELSEC”,例2如“如果土壤干燥則灑水,否則就不灑水”。“如A且B則C”型。此種形式可以寫成“IFAANDBTHENC”,例如3“如果土壤干且氣溫高,則灑水”。以上幾種模糊規(guī)則中,第三種用得最多,尤其是在模糊控制中更是如此。因為在控制過程中,不但要考慮實測值與設定值之間所形成的誤差,而且還要考慮這個誤差的變化率,一般用A表示誤差,B表示誤差變化率,C表示控制量。514輸出清晰化模糊推理的結(jié)果依然是模糊量,這種結(jié)論不能用來控制,因為系統(tǒng)依然不知道控制量到底是多少。因此,必須進行反模糊化,將模糊控制量變?yōu)榫_控制量。反模糊的輸入是前一步模糊規(guī)則的輸出,即輸出變量各語言值的隸屬度,反模糊化的輸出是系統(tǒng)輸出變量的精確輸出值。其過程就是根據(jù)輸出變量的隸屬函數(shù),從輸出變量各語言值的隸屬度求出精確的輸出值的過程。也就是說,反模糊化的過程是在輸出變量隸屬度函數(shù)的圖形中,已知Y值求X值的過程。這一過程需要用戶提供的數(shù)據(jù)是輸出變量的隸屬函數(shù)。反模糊化有多種方法,最常用的是最大隸屬度法和重心法。最大隸屬度法1最大隸屬度法用于要求不高的系統(tǒng),它是選取輸出語言值中隸屬度最大者作為最終語言值。該語言值變化范圍的中心值就作為實際輸出的精確值。重心法2在要求較高的系統(tǒng),反模糊一般采用重心法(COG),即求所有模糊輸出量的重心,計算公式如下(52)NIIIFSCOG1這里,代表的就是輸出變量的隸屬度,代表輸出變量的語言值。IFIS52控制器設計本系統(tǒng)中,利用模糊控制器來控制智能移動小車的運動軌跡,首先需要得到控制器的輸入量。上文中我們得出,在不打滑時,移動智能小車的運動軌跡與車速無關(guān),只與前后輪距離和小車轉(zhuǎn)向角度有關(guān)。根據(jù)這一結(jié)論,要使移動智能小車能夠正確的尋跡,需要調(diào)整的只是轉(zhuǎn)向角(前后輪距離是已知量),所以,傳感器檢測的重點也是轉(zhuǎn)向角誤差,考慮到當轉(zhuǎn)向角誤差相同時,不同的誤差變化率可以反映出不同的軌道半徑,因此,本設計中還檢測了轉(zhuǎn)向角誤差變化率。通過CCD圖象傳感器來檢測白色地面上的黑線,根據(jù)返回的信號便可以得出駕駛角誤差和誤差變化率,如圖48引導線傳感器檢測區(qū)域T1T2E圖52引導線檢測原理圖檢測出T1,T2間的誤差E,然后根據(jù)上一次誤差計算誤差變化率EC,由此得到控制器的誤差輸入量。當誤差量E很小,且誤差不變時,就可判定為智能小車正沿著引導線行駛,則機器人小車沿直線行進;若誤差變化率比較大時,表明智能小車正在偏離引導線,此時,就需要對航向角做出相應的調(diào)整。前文已經(jīng)給出移動智能小車的運動學模型和傳感器的輸入特征,需要指出的是,通過CCD傳感器得到的檢測信號是其視覺中心與引導線中心的位置差,設計中控制的目標是讓視覺中心與引導線中心重合?;谶@個模型的模糊控制如下。521模糊集與隸屬函數(shù)將CCD圖象傳感器視覺中心的誤差和誤差變化率作為控制器的輸入,以下用和表示,輸出為駕駛角,用表示,模糊語言值分別選為ECLB,LM,LS,CE,RS,RM,RBPB,PM,PS,ZO,NS,NM,NBLB,LM,LS,CE,RS,RM,RB隸屬度函數(shù)采用三角形,函數(shù)表達式如下式18。其他,0/誤差變化率論域ENUMDFERRORNB,NM,NS,ZO,PS,PM,PB/駕駛角輸出論域ENUMOREADLB,DLM,DLS,DCE,DRS,DRM,DRB/隸屬函數(shù)參數(shù)結(jié)構(gòu)STRUCTTRIANGLE_INTAINTBINTCTRIANGLE/ERROR隸屬結(jié)構(gòu)TYPEDEFSTRUCTFUNCERROR_ENUMERRORKEYTRIANGLEFUNCFUNCERROR/DFERROR隸屬結(jié)構(gòu)TYPEDEFSTRUCTFUNCDFERROR_ENUMDFERRORKEYTRIANGLEFUNCFUNCDFERROR/OREA隸屬結(jié)構(gòu)TYPEDEFSTRUCTFUNCOREA_ENUMOREAKEYCHARFUNCFUNCOREA/ERROR變量結(jié)構(gòu)TYPEDEFSTRUCTVARIERROR_ENUMERRORKEYFLOATDATFLOATSUBVARIERROR/DFERROR變量結(jié)構(gòu)TYPEDEFSTRUCTVARIDFERROR_ENUMDFERRORKEYFLOATDATFLOATSUBVARIDFERROR/OREA變量結(jié)構(gòu)TYPEDEFSTRUCTVARIOREA_ENUMOREAKEYFLOATDATFLOATSUBVARIOREA模糊控制程序流程如下讀取CCD視覺誤差CCD_ERRORDATI0BUFF_ERRORLEN0CCD_ERRORDAT處于FUNC_ERRORIFUNCA與FUNC_ERRORIFUNCC之間計算隸屬度SUBCCD_ERRORKEYFUNC_ERRORIKEYCCD_ERRORSUBSUBBUFF_ERRORARR_ERRORBUFF_ERRORLENCCD_ERRORBUFF_ERRORLENIIINCLUDE“DATATYPEH“INCLUDE/DEFINEBAUDRATE9600/DEFINEBUSCLOCK24000000VOIDUART_INIVOIDVOIDUART_SENDCHARUNSIGNEDCHARBVOIDUART_SENDSTRCHARPPRAGMACODE_SEG_NEAR_SEGNON_BANKEDVOIDINTERRUPTISR_RECUARTVOIDPRAGMACODE_SEGDEFAULTENDIFINCLUDE“DATATYPEH“INCLUDE“MOTORCONTROLH“INCLUDE“TIMERH“INCLUDE“PWMH“DEFINEMAXACC100DEFINEKVOT1DEFINEKP6DEFINEKI10DEFINEMAXDIVU5INT32CURREVINT32CURACCINT32PREERRACCINT32VISUALVOT/FREV/FACCVOIDSETREVINT32REFREVINT32REFACCINT32ERRREVINT32ERRACCINT32ERRVOTINT32OUTVOTCURREVFREV/CURACCFACCERRREVREFREVCURREVREFACCERRREV1000IFREFACCMAXACCREFACCMAXACCERRACCREFACCCURACCERRVOT80ERRACC78PREERRACCERRVOT/100VISUALVOTERRVOTOUTVOTVISUALVOT/KVOT/IFOUTVOT0ELSEOUTVOTOUTVOT/IFOUTVOT255OUTVOT255IFOUTVOTMAXDIVUDIVUMAXDIVUIFDIVU255SUMU255IFSUMU180A180IFAVOIDPWM_INIVOIDVOIDSTEERINGGEARANGLEUNSIGNEDCHARAVOIDMOTOSPEEDUNSIGNEDCHARSENDIF/COPYRIGHTC四川大學文件信息文件名TIMERC創(chuàng)建人陳果最后修改日期2006年4月15日描述TIMER主文件歷史版本信息創(chuàng)建人陳果版本10日期2006年4月15日描述原始版本當前版本修訂修改人日期描述/INCLUDE“TIMERH“DEFINETGPORTK_BIT0DEFINEPULSE_ENPORTK_BIT1DEFINE_8USASM“NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP“DEFINE_1USASM“NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP“DEFINEMAXPULSEWIDTH1200DEFINEMINPULSEWIDTH100UINT32NOFCOUNTER0UINT32NREVPERIOD0/UINT16CNT/CHARSTR20VOIDTIMER_INIVOIDMCCTL0XC6MCCNT30000/TSCR2_PR3TSCR2_TOI0TSCR1_TFFCA1TCTL4_EDG0A1TCTL4_EDG0B0TCTL4_EDG1A0TCTL4_EDG1B1TCTL4_EDG2A1TCTL4_EDG2B0TIE0X03TSCR1_TEN1/DDRK0X03TG1PULSE_EN0/ENABLEINTERRUPTSVOIDGETREVVOIDSTATICINT32ARRPREREV8/STATICFP32FPREREVSTATICUINT8NREVCOUNTER0/FP32NREVTEMP/NREVTEMPNREVPERIOD00750000/NREVPERIODARRPREREVNREVCOUNTERNREVPERIODNREVCOUNTERIFNREVCOUNTER8NREVCOUNTER0FREVARRPREREV0ARRPREREV1ARRPREREV2ARRPREREV3ARRPREREV4ARRPREREV5ARRPREREV6ARRPREREV7/8FREV/100/FACCFREVFPREREV/FPREREVFREVPRAGMACODE_SEG_NEAR_SEGNON_BANKEDVOIDINTERRUPTISR_TIMERVOID/STATICUINT16COUNTER0UINT16TEMP/TIE0X01/MCFLG_MCZF1TEMPMCCNTPULSE_EN0TG0_8USTG1_1USPULSE_EN1/GLINEINFOLLINEINFOLLINEINFONCOUNTER0CTRFLAG1NOFCOUNTERVOIDINTERRUPTISR_IC0VOIDSTATICUINT32NPREOFCOUNTER0STATICUINT16NPRETC00UINT32NPERIODUINT16NTEMPNTEMPTC0NTEMPMCCNTNPERIODNOFCOUNTERNPREOFCOUNTER0X7530NPRETC0NTEMPIFNPERIODMINPULSEWIDTHVOIDGETREVVOIDPRAGMACODE_SEG_NEAR_SEGNON_BANKEDVOIDINTERRUPTISR_TIMERVOIDVOIDINTERRUPTISR_IC0VOIDVOIDINTERRUPTISR_IC1VOIDVOIDINTERRUPTISR_IC2VOIDPRAGMACODE_SEGDEFAULTENDIF/COPYRIGHTC四川大學文件信息文件名UARTC創(chuàng)建人陳果最后修改日期2006年4月16日描述UATRT主文件,只提供發(fā)送功能用于程序調(diào)試歷史版本信息創(chuàng)建人陳果版本10日期2006年4月15日描述原始版本當前版本修訂修改人日期描述/INCLUDE“UARTH“VOIDUART_INIVOIDSCI0BD13/設置波特率寄存器SCI0CR2_TE1/使能發(fā)送SCI0CR2_RE1/使能接收/SCI0CR2_RIE1/接收中斷使能ENABLEINTERRUPTSVOIDUART_SENDCHARUNSIGNEDCHARBWHILESCI0SR1_TDRE0SCI0DRLBVOIDUART_SENDSTRCHARPWHILEP0UART_SENDCHARPPRAGMACODE_SEG_NEAR_SEGNON_BANKEDVOIDINTERRUPTISR_RECUARTVOIDUINT8NTEMPSCI0SR1_RDRF0NTEMPSCI0DRLPORTBNTEMPPRAGMACODE_SEGDEFAULTINCLUDE/COMMONDEFINESANDMACROS/INCLUDE/DERIVATIVEINFORMATION/INCLUDE“DATATYPEH“INCLUDE“TIMERH“INCLUDE“UARTH“INCLUDE“PWMH“INCLUDE“MOTORCONTROLH“INCLUDE“FUZZYH“INCLUDE“E2PROMH“INCLUDE/INCLUDE“RTSXGATECXGATE“PRAGMALINK_INFODERIVATIVE“MC9S12DG128B“/EXTERNUINT32NOFCOUNTEREXTERNINT32NREVPERIOD/FLOATNREV/EXTERNUINT16CNTUINT8BRAKE0VOIDMAINVOID/STARTYOURCODEHERE/CHARSTR40/UINT8IINT16TEMPUINT16REV0/UINT8BRAKE0TIMER_INIUART_INIPWM_INIE2PROM_INI/PORTB0X00WHILEPORTA_BIT00/MOTOSPEED160WHILE1IFPORTA_BIT11MOTOSPEED0BRAKE1/WRITEE2PROMREV,0ELSEIFPORTA_BIT01BRAKE0ELSEIFCTRFLAG1/WAITFOREVERIFCPFLAG1FREV0/FACC0ELSECPFLAG0/IFBRAKE0/MOTOSPEED250/SPRINTFSTR,“LULD“,FREV,FACC/UART_SENDSTR“/FORI0IINCLUDE“DATATYPEH“INCLUDEVOIDE2PROM_INIVOIDVOIDWRITEE2PROMUINT16DATA,UINT16ADDRUINT16READE2PROMUINT16ADDRENDIF/FUZZYCINCLUDE“DATATYPEH“INCLUDEINCLUDEINCLUDE“UARTH“INCLUDE“E2PROMH“INCLUDE“PWMH“/MICRODEFINESDEFINEKEX0007936DEFINEKECX300/DEFINEKECX200/DEFINECEX13234DEFINECEX1236/MICRODEFINES/DEFINEKEX8/DEFINEKECX0001/DEFINECEX300/ENUMERRORLB,LM,LS,CE,RS,RM,RBENUMDFERRORNB,NM,NS,ZO,PS,PM,PBENUMOREADLB,DLM,DLS,DCE,DRS,DRM,DRBTYPEDEFSTRUCTINT8AINT8BINT8CTRIANGLETYPEDEFSTRUCTFUNCERROR_ENUMERRORKEYTRIANGLEFUNCFUNCERRORTYPEDEFSTRUCTFUNCDFERROR_ENUMDFERRORKEYTRIANGLEFUNCFUNCDFERRORTYPEDEFSTRUCTFUNCOREA_ENUMOREAKEYCHARFUNCFUNCOREATYPEDEFSTRUCTVARIERROR_ENUMERRORKEYFP32DATFP32SUBVARIERRORTYPEDEFSTRUCTVARIDFERROR_ENUMDFERRORKEYFP32DATFP32SUBVARIDFERRORTYPEDEFSTRUCTVARIOREA_ENUMOREAKEYFP32SUBVARIOREAFP32EX000000001FP32PRE_EX00000001FP32ECX00000001/ECXKEXPRE_EXFUNCERRORFUNC_ERROR7LB,100,9,6,LM,9,6,5,LS,6,5,3,CE,5,0,5,RS,3,5,6,RM,5,6,9,RB,6,9,100FUNCDFERRORFUNC_DFERROR7NB,100,9,6,NM,9,6,3,NS,6,3,1,ZO,2,0,2,PS,1,3,6,PM,3,6,9,PB,6,9,100FUNCOREAFUNC_OREA7DLB,25,DLM,15,DLS,10,DCE,0,DRS,10,DRM,15,DRB,25ENUMOREARULE77DRB,DRB,DRM,DRM,DRS,DCE,DCE,DRB,DRB,DRM,DRM,DRS,DCE,DCE,DRB,DRB,DRM,DRS,DCE,DLM,DLM,DRB,DRB,DRS,DCE,DLS,DLB,DLB,DRM,DRM,DCE,DLS,DLM,DLB,DLB,DCE,DCE,DLS,DLM,DLM,DLB,DLB,DCE,DCE,DLS,DLM,DLM,DLB,DLB/ENUMOREARULE77DRB,DRB,DRM,DRM,DRS,DCE,DCE,DRB,DRB,DRM,DRM,DRS,DCE,DCE,DRB,DRB,DRM,DRM,DCE,DLM,DLM,DRB,DRB,DRS,DCE,DLS,DLB,DLB,DRM,DRM,DCE,DLM,DLM,DLB,DLB,DCE,DCE,DLS,DLM,DLM,DLB,DLB,DCE,DCE,DLS,DLM,DLM,DLB,DLB/NWERULES/ENUMOREARULE77DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRB,DRM,DRS,DRS,DRS,DRB,DRB,DRS,DCE,DLS,DLB,DLB,DLS,DLS,DLS,DLM,DLB,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB/ENUMOREARULE77DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRS,DCE,DLS,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB/ENUMOREARULE77DLM,DLB,DLB,DLB,DLB,DLB,DLB,DLM,DLB,DLB,DLB,DLB,DLB,DLB,DLS,DLS,DLS,DLM,DLB,DLB,DLB,DRB,DRB,DRS,DCE,DLS,DLB,DLB,DRB,DRB,DRB,DRM,DRS,DRS,DRS,DRB,DRB,DRB,DRB,DRB,DRB,DRM,DRB,DRB,DRB,DRB,DRB,DRB,DRM/VARIERRORCCD_ERROR1,0,0VARIDFERRORCCD_DFERROR1,0,0STRUCTUINT8LENVARIERRORARR_ERROR2BUFF_ERRORSTRUCTUINT8LENVARIDFERRORARR_DFERROR2BUFF_DFERRORSTRUCTUINT8LENVARIOREAARR_OREA4BUFF_OREAFLOATRESULT_OREA/MAINFP32RESULTWHILE1CCD_ERRORDAT1CCD_DFERRORDAT1RESULTFUZZYCONTROL/UINT16ECOUNTER0UINT16IECXFP32FUZZYCONTROLUINT8I,J,NINT16TEMPCHARSTR30FP32FTEMP,TEMPSPEEDFP32SUBFP32RESULT_OREA,SUMENUMOREAKEYIFGLINEINFONCOUNTER0LOSING0EXFP32GLINEINFOARRLINE0CEX/TEMPEXPRE_EXECXEXPRE_EXCCD_ERRORDATEXCCD_DFERRORDATECXPRE_EXEXBUFF_ERRORLEN0FORI0IFUNC_ERRORIFUNCAELSECCD_DFERRORSUBCCD_DFERRORDATFUNC_DFERRORIFUNCC/FUNC_DFERRORIFUNCBFUNC_DFERRORIFUNCCBUFF_DFERRORARR_DFERRORBUFF_DFERRORLENCCD_DFERRORBUFF_DFERRORLENI0J0N0BUFF_OREALEN0FORI0IBUFF_DFERRORARR_DFERRORJSUBBUFF_ERRORARR_ERRORISUBBUFF_DFERRORARR_DFERRORJSUBKEYRULEBUFF_DFERRORARR_DFERRORJKEYBUFF_ERRORARR_ERRORIKEYFORN0NSUBBUFF_OREAARR_OREANSUBSUBBREAKELSECONTINUERESULT_OREA0SUM0FORN0N200KHZVOIDWRITEE2PROMUINT16DATA,UINT16ADDRUINT16PPUINT160X0800ADDRADDRWHILEESTAT_CBEIF0/WAITUNTILBUFFERISEMPTYPDATAECMD0X20ESTAT_CBEIF1WHILEESTAT_CCIF0UINT16READE2PROMUINT16ADDRUINT16PPUINT160X0800ADDRADDRRETURNP/FUZZYH/DEFINEUINT8UNSIGNEDCHARDEFINEINT8CHARDEFINEUINT16UNSIGNEDINTDEFINEINT16INTDEFINEUINT32UNSIGNEDLONGDEFINEINT32LONGDEFINEFP32FLOAT/FUNCTIONDECLAREFP32FUZZYCONTROLVOID附錄B智能移動小車的開發(fā)與研制摘要本文設計并制作了一輛用于尋跡的輪式智能移動小車,提出了智能移動小車自動尋跡的一種解決辦法,以FREESCALE16位單片機MC9S12DB128B作為唯一控制部件,采用PI控制實現(xiàn)了速度控制,模糊控制實現(xiàn)了航向控制;利用了紅外光電傳感器檢測輪速,CCD圖像傳感器檢測引導線,加速度傳感器檢測側(cè)向加速度。實際控制結(jié)果表明,所使用方法的控制性能是相當出色的。關(guān)鍵詞移動機器人;自動尋跡;模糊控制。ABSTRACTANINTELLIGENTVEHICLEUSINGMC9S12DB128BASTHEONLYCONTROLUNITFORPATHFOLLOWINGISDESIGNEDANDMADEINTHISPAPER,ANDTHENTRAJECTORYCONTROLMETHODISPRESENTEDANDDISCUSSEDTOSOLVETHEPROBLEM,PIDCONTROLERISUSEDFORSPEEDCONTROL,WHILEFUZZYCONTROLLERISUSEDFORTRAJECTORYCONTROLANDINFRAREDSENSOR,CCDIMAGESENSORANDACCELERATIONAREUSEDRESPECTIVELYTODETECTTHEWHEELREV,THETARGETTRAJECTORYANDTHESIDEACCELERATIONTHEEXPERIMENTRESULTSHOWTHEADVANTAGEOFTHEPRESENTEDMETHORDKEYWORDSWHEELMOBILEROBOTAUTONOMOUSPATHFOLLOWINGFUZZYCONTROL1引言軌跡控制在機器人領(lǐng)域是一個很重要的研究方向1,它有很多實際用途比如工業(yè)機器人在工作場所里按預定路線運送物料,焊接機器人的焊縫跟蹤,自主移動機器人的道路跟隨等2。智能車軌跡控制中,主要有兩個量需要控制,速度與航向角。本文中智能小車的驅(qū)動部件是直流電機,所以速度控制及是對直流電機的轉(zhuǎn)速進行控制。傳統(tǒng)中直流電機的轉(zhuǎn)速控制多采用轉(zhuǎn)速、電流雙閉環(huán)PI控制系統(tǒng),但本設計中由于車體小,不便使用電流互感器來檢測電流,采用了轉(zhuǎn)速P、加速度PI雙閉環(huán)控制的辦法,取得優(yōu)良的性能。傳統(tǒng)的機器人航向角控制常采用的是PID控制器3。將機器人的航向角誤差和誤差變化率作為控制器的輸入,控制器的輸出作為機器人的駕駛角。而在實際的系統(tǒng)中,機器人的航向角還與其速度、轉(zhuǎn)動慣量、重心位置、前后輪側(cè)偏系數(shù)由于輪不是嚴格垂直于地而造成,兩個驅(qū)動輪直徑和摩擦力的差別、實際道路情況等諸多變化因素有關(guān),這就使P1D控制器的參數(shù)的全局整定極為困難,在小角度轉(zhuǎn)彎實驗中整定的系數(shù)在大角度轉(zhuǎn)彎實驗中就變得不適用,反之亦然。本文針對這個問題,采用了模糊控制,實驗結(jié)果表明了所用方法的有效性。2智能移動小車運動學模型在移動智能小車運動系統(tǒng)中,我們能夠控制的只有小車的速度與轉(zhuǎn)向角度,為了得到在一定速度和轉(zhuǎn)向角度下小車的運動規(guī)律,須建立其運動學方程,得出小車的姿位與速度,轉(zhuǎn)向角度之間的關(guān)系14。VORLXY圖21智能車運動學模型圖21中,建立了直角坐標系,以X,Y代表小車位置,代表小車與X軸的夾角,代表轉(zhuǎn)向角(前輪與車身的夾角),V代表小車的行使速度,代表前輪轉(zhuǎn)向速度。根據(jù)本設計的特點,令移動智能小車的狀態(tài)為(X,Y,),輸入激勵為(V,),在不打滑時,容易得到(2LVYXTANSICO1)由此得,運動軌跡方程為(2TLVLTLYVXANACOSNIT2)設小車的轉(zhuǎn)彎半徑為R,則(2TAN2LYX3)由此我們可以看出,在小車不打滑的情況下,轉(zhuǎn)彎半徑僅僅與車身前后輪軸距有關(guān),與車速無關(guān)。3控制器設計31控制器設計控制系統(tǒng)是智能移動小車的核心部分,它決定著控制性能的優(yōu)劣,本設計的總體控制結(jié)構(gòu)如圖31所示,其中,尋跡控制采用了模糊控制算法,速度控制采用了PI算法。整個控制任務由一片F(xiàn)REESCALE公司生產(chǎn)的16為單片機MC9S12DB128B實現(xiàn)。圖31控制結(jié)構(gòu)圖32調(diào)速控制系統(tǒng)321控制器設計調(diào)速控制系統(tǒng)的任務是根據(jù)傳感器返回的實際信息,將車輪速度控制在上層系統(tǒng)給定的數(shù)值,直流電機的傳遞函數(shù)為12STKSUNMLED能移動小車要求小車能夠快速的啟動和制動,傳統(tǒng)中直流電機的控制采取轉(zhuǎn)速、電流雙閉環(huán)控制器,不過采用這種設計需要配備直流電流互感器,但是直流電流互感器相對智能移動小車系統(tǒng)體積大,質(zhì)量重,不適合與本設計應用。分析整個系統(tǒng),其特點在于在移動智能小車的啟動制動過程中,需要保持恒定的加速度(所允許的最大加速度)。根據(jù)這一特點,本設計直接使用了加速度反饋,在直流電機轉(zhuǎn)速閉環(huán)控制系統(tǒng)中,引入了加速度環(huán),建立了直流電機轉(zhuǎn)速比例調(diào)節(jié)器、加速度PI調(diào)節(jié)器模型,因為有加速度環(huán)節(jié)在,速度環(huán)節(jié)是不存在穩(wěn)態(tài)誤差的。仿真與實驗證明這種方法是非常有效的。直流電機控制模型如圖32圖32調(diào)速系統(tǒng)結(jié)構(gòu)圖在MATLAB下仿真,得到階躍輸入為5000R/MIN的速度,加速度響應曲線如圖33,圖34圖33轉(zhuǎn)速啟動曲線圖34加速度啟動曲線可以看出,調(diào)節(jié)器效果是相當理想的。322軟件實現(xiàn)在連續(xù)控制模型中,PI控制器的傳遞函數(shù)為(31)1STKSEUDIP相應的數(shù)字增量型PI差分方程為(32)10KEQKU其中(33)10TKQDIP(34)211TKQDPT為采樣周期,本設計中,取T1MS,根據(jù)圖32,加速度調(diào)節(jié)器,根據(jù)上式,容易得到AAR的差分方程為0SAR(35)105KEKEKUAA(36)IAAI0為加速度調(diào)節(jié)器的誤差輸入,為加速度調(diào)節(jié)器的輸出。KEKUA速度調(diào)節(jié)器為比例調(diào)節(jié)器,易得差分方程為10KEUSS為轉(zhuǎn)速調(diào)節(jié)器的誤差輸入,為轉(zhuǎn)速調(diào)節(jié)器的輸出11。KEKS調(diào)速控制系統(tǒng)的程序是在定時器0的中斷服務中執(zhí)行的,定時周期為10MS,根據(jù)以上設計,可得程序流程如圖35捕捉中斷服務程序返回讀取記數(shù)脈沖計算速度和加速度讀取參考速度計算速度誤差根據(jù)得到10KEUSS參考加速度10000KUS10000KS計算加速度誤差根據(jù)1005KEKUAAA誤差電壓輸出計算PWM占空比將PWM參數(shù)寫入PWM控制器的參數(shù)寄存器記數(shù)脈沖清零更新寄存器1KEA根據(jù)KIAAU0計算電壓輸出72KUA72KAYNYN開始圖35調(diào)速系統(tǒng)流程圖33尋跡控制系統(tǒng)331模糊控制模糊控制不需要被控對象的精確數(shù)學模型,而是基于專家知識和操作者的經(jīng)驗建立模糊控制模型,通過模糊邏輯推理完成控制決策過程,最后實現(xiàn)對被控對象的調(diào)節(jié)控制。調(diào)節(jié)經(jīng)驗即為模糊控制的模糊控制規(guī)則。332模糊控制器的基本結(jié)構(gòu)圖36為基本模糊控制系統(tǒng),其中T為采樣周期;R為設定值;Y為被控過程的輸出;E,EC和U分別為偏差、偏差變化率、控制增量的精確量;A、B和C分別為E,EC和U的模糊量;、和分別為E,EC和U的量EQCU化因子和比例因子。模糊化清晰化模糊推理被控過程輸入輸出隸屬函數(shù)模糊控制規(guī)則RKTEKTEKTTEECQCQECABCUUKTQUT圖36模糊控制器基本結(jié)構(gòu)333控制器設計通
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《JBT 12994.3-2017快速薄板沖壓及拉伸液壓機 第3部分:精度》專題研究報告
- 欠薪接訪制度
- 村鎮(zhèn)建設統(tǒng)計報表制度
- 浙江省磐安縣二中2026年高考壓軸考試生物試題含解析
- 瓊山中學2025-2026學年高三第一次(5月)聯(lián)考生物試題理試題含解析
- 遼寧省葫蘆島協(xié)作體2026年高三下第七次周練化學試題含解析
- 黑龍江省綏化市望奎縣第二中學2026年高三下學期期末考試生物試題含解析
- 甘肅省張掖市山丹縣一中2026年校高三第三次模擬生物試題含解析
- 2025-2026學年第一學期五年級語文社會調(diào)查
- 2025-2026學年第一學期四年級語文競賽(八)
- 2025英大證券考試題目及答案
- 食材配送的增值服務
- 鐵路大票管理辦法
- 風信子教學課件
- 口腔門診急救管理制度
- 二級造價師《計量與計價》(公路交通)題庫(483題)
- 撤銷限高和失信申請書
- DB32∕T 1286-2008 褐飛虱生物型鑒定操作規(guī)程 苗鑒法
- 2025年羽毛球館場地租賃
- 人孔手孔標準JB577-1979-常壓人孔
- 校園文印店經(jīng)營方案
評論
0/150
提交評論