攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、編號(hào) 2013180217研究類型應(yīng)用研究 分類號(hào) TP27學(xué)士學(xué)位論文(設(shè)計(jì))Bachelors Thesis論文題目攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)作者姓名學(xué)號(hào)所在院系機(jī)電與控制工程學(xué)院學(xué)科專業(yè)名稱電氣工程及其自動(dòng)化導(dǎo)師及職稱論文答辯時(shí)間學(xué)士學(xué)位論文(設(shè)計(jì))誠(chéng)信承諾書中文題目: 攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)外文題目: The Design and Realization of Camera Intelligent Car speed control algorithm學(xué)生姓名謝波學(xué)生學(xué)號(hào)2009118010217院系專業(yè)機(jī)電與控制工程學(xué)院電氣工程及其自動(dòng)化學(xué)生班級(jí)0902班學(xué)

2、生 承 諾我承諾在學(xué)士學(xué)位論文(設(shè)計(jì))活動(dòng)中遵守學(xué)校有關(guān)規(guī)定,恪守學(xué)術(shù)規(guī)范,本人學(xué)士學(xué)位論文(設(shè)計(jì))內(nèi)容除特別注明和引用外,均為本人觀點(diǎn),不存在剽竊、抄襲他人學(xué)術(shù)成果,偽造、篡改實(shí)驗(yàn)數(shù)據(jù)的情況。如有違規(guī)行為,我愿承擔(dān)一切責(zé)任,接受學(xué)校的處理。 學(xué)生(簽名):年 月 日指導(dǎo)教師承諾我承諾在指導(dǎo)學(xué)生學(xué)士學(xué)位論文(設(shè)計(jì))活動(dòng)中遵守學(xué)校有關(guān)規(guī)定,恪守學(xué)術(shù)道德規(guī)范,經(jīng)過(guò)本人核查,該生學(xué)士學(xué)位論文(設(shè)計(jì))內(nèi)容除特別注明和引用外,均為該生本人觀點(diǎn),不存在剽竊、抄襲他人學(xué)術(shù)成果,偽造、篡改實(shí)驗(yàn)數(shù)據(jù)的現(xiàn)象。 指導(dǎo)教師(簽名): 年 月 日目錄1 緒論12 選題背景22.1 選題的必要性22.2 國(guó)內(nèi)外發(fā)展研究現(xiàn)

3、狀及分析33 基礎(chǔ)理論33.1 PID控制算法介紹33.2 黑線路徑特點(diǎn)63.3 關(guān)于MC9S12XS128的介紹73.4 Codewarrior開發(fā)軟件83.5 串口調(diào)試軟件與無(wú)線傳輸測(cè)試軟件93.6 MATLAB測(cè)試平臺(tái)103.7 舵機(jī)調(diào)試軟件114 硬件電路設(shè)計(jì)114.1 系統(tǒng)整體結(jié)構(gòu)114.2 舵機(jī)電路設(shè)計(jì)124.3 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)135 舵機(jī)控制算法的設(shè)計(jì)155.1 分段PD控制165.2 分區(qū)間查表控制176 電機(jī)控制算法的設(shè)計(jì)186.1 數(shù)字PID控制算法186.2 分段的閉環(huán)P控制算法197 測(cè)試與分析207.1 舵機(jī)調(diào)試207.2 PID參數(shù)整定與電機(jī)調(diào)試207.3 整體穩(wěn)

4、定性調(diào)試228 總結(jié)與展望239 參考文獻(xiàn)25攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)謝波(指導(dǎo)老師,胡長(zhǎng)暉 講師)(湖北師范學(xué)院機(jī)電與控制工程學(xué)院 中國(guó) 黃石 435002)摘 要:本文介紹了以MC9S12XS128單片機(jī)為主控制器的攝像頭智能車的速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)。在系統(tǒng)硬件設(shè)計(jì)部分,主要闡述了舵機(jī)控制和電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)原理,以及測(cè)速模塊的設(shè)計(jì)。在軟件設(shè)計(jì)部分,重點(diǎn)闡述了轉(zhuǎn)向舵機(jī)控制算法,電機(jī)分段的閉環(huán)P控制算法,電機(jī)PID控制算法的原理及其實(shí)現(xiàn)。測(cè)試表明,本智能車行駛在復(fù)雜多變的賽道上,具有較好的穩(wěn)定性和適應(yīng)性。關(guān)鍵詞:MC9S12X128;數(shù)字PID控制算法;分段的閉環(huán)P控制算法中

5、圖分類號(hào):TP27The Design and Realization of Camera Intelligent Car speed control algorithmXie Bo(Tutor,Hu Changhui)(College of Mecharonics and Control Engineering, Hubei Normal University, Huangshi, China, 435002)Abstract: This paper introduces the camera intelligent vehicle speed control algorithm desig

6、n and implementation,in which MC9S12XS128 plays as main controller .In the hardware design part , I mainly describe steer control and the design principle of motor drive circuit.In the software design part,I emphasis on steering gear control algorithm ,Segmented P closed-loop control and motor speed

7、 regulation PID algorithm principle and realization. A series tests show that the car has good stab- -lity and adaptability in a complicated track.Key words: MC9S12X128;digital PID control;Segmented P closed-loop control 湖北師范學(xué)院機(jī)電與控制工程學(xué)院2013屆學(xué)士學(xué)位論文(設(shè)計(jì))攝像頭智能車速度控制算法的設(shè)計(jì)與實(shí)現(xiàn)謝波(指導(dǎo)老師,胡長(zhǎng)暉 講師)(湖北師范學(xué)院機(jī)電與控制工程學(xué)院

8、 中國(guó) 黃石 435002)1 緒論近年來(lái),豐田與微軟結(jié)盟欲打造下一代互聯(lián)汽車平臺(tái),將多款產(chǎn)品整合應(yīng)用于汽車;另外,谷歌開發(fā)的無(wú)人駕駛汽車已在各種路況下成功行駛,并宣稱將進(jìn)入大規(guī)模的測(cè)試階段。在國(guó)內(nèi),我國(guó)自主研制的紅旗HQ3無(wú)人車也成功進(jìn)行了一系列的自主駕駛測(cè)試這表明:汽車智能化已經(jīng)大勢(shì)所趨,越來(lái)越多的車企已經(jīng)把它作為未來(lái)市場(chǎng)競(jìng)爭(zhēng)的一個(gè)著眼點(diǎn)。而消費(fèi)者所期待的汽車智能化除了能給駕車帶來(lái)方便和舒適外,更重要的是能為安全保駕護(hù)航。 智能汽車是一個(gè)集環(huán)境感知、規(guī)劃決策、多等級(jí)輔助駕駛等功能于一體的綜合系統(tǒng),它集中運(yùn)用了計(jì)算機(jī)、現(xiàn)代傳感、信息融合、通訊、人工智能及自動(dòng)控制等技術(shù),是典型的高新技術(shù)綜合體

9、1。目前對(duì)智能車輛的研究主要致力于提高汽車的安全性、舒適性,以及提供優(yōu)良的人車交互界面。近年來(lái),智能車輛己經(jīng)成為世界車輛工程領(lǐng)域研究的熱點(diǎn)和汽車工業(yè)增長(zhǎng)的新動(dòng)力,很多發(fā)達(dá)國(guó)家都將其納入到各自重點(diǎn)發(fā)展的智能交通系統(tǒng)當(dāng)中。可以預(yù)見,隨著汽車電子工業(yè)的快速發(fā)展,智能車將占據(jù)越來(lái)越大的汽車市場(chǎng)領(lǐng)域。作為全球最大的汽車電子半導(dǎo)體器件供應(yīng)商,飛思卡爾半導(dǎo)體公司一直致力于汽車電子半導(dǎo)體器件的開發(fā)與推廣。飛思卡爾是嵌入式處理解決方案的全球領(lǐng)導(dǎo)者,提供業(yè)界領(lǐng)先的產(chǎn)品,不斷提升汽車、消費(fèi)電子、工業(yè)和網(wǎng)絡(luò)市場(chǎng)。飛思卡爾在不同的半導(dǎo)體器件市場(chǎng)擁有領(lǐng)先的地位。其推出的8、16、32位微處理器依靠較高性能在全球擁有領(lǐng)先地

10、位,特別是最近推出的32位Kinetis K 系列Cortex-M4微處理器,是基于ARM® Cortex-M結(jié)構(gòu)的低功耗,高性能、可兼容的微控制器,非常適用于中高檔智能汽車電子控制系統(tǒng)。智能車可作為安裝有特定設(shè)備的交通載體,使用在科學(xué)探索、工業(yè)生產(chǎn)等領(lǐng)域。 目前智能車的研究重點(diǎn)主要集中在視頻檢測(cè)及目標(biāo)檢測(cè)、跟蹤、避障等方面。隨著電子技術(shù)和智能控制技術(shù)的發(fā)展,智能車已經(jīng)成為自動(dòng)控制領(lǐng)域的一個(gè)研究熱點(diǎn)。路徑識(shí)別技術(shù)是智能車控制系統(tǒng)中的一個(gè)重要組成部分,路徑識(shí)別又是智能小車路徑跟蹤的信息基礎(chǔ)。本智能車通過(guò)數(shù)字?jǐn)z像頭獲取目標(biāo)道路信息,同時(shí)結(jié)合當(dāng)前的行駛狀態(tài)智能地做出決策,對(duì)其行駛方向與行車

11、速度進(jìn)行調(diào)整,從而實(shí)現(xiàn)準(zhǔn)確快速跟蹤的目的。設(shè)計(jì)不僅要求小車在白色的場(chǎng)地上能自動(dòng)地沿著一條任意給地的黑色引導(dǎo)線行駛,而且在一些小彎道小車可以沿著捷徑直線過(guò)彎,這其中包含兩方面的內(nèi)容,一方面智能小車要準(zhǔn)確無(wú)誤地堆黑色路線進(jìn)行識(shí)別,另一方面是在準(zhǔn)確獲取道路信息的基礎(chǔ)上采用有效的控制策略,使智能小車能夠快速有效地沿著最優(yōu)路徑前進(jìn),并確保其穩(wěn)定性。本文主要針對(duì)具有黑色引導(dǎo)線并帶有彎道、直道、虛線等的特定道路,由OV6620采集賽道圖像數(shù)據(jù),用動(dòng)態(tài)閥值算法對(duì)數(shù)據(jù)進(jìn)行二值化簡(jiǎn)化,通過(guò)路徑識(shí)別算法計(jì)算出所采集圖像特征,并將不同賽道對(duì)應(yīng)不同舵機(jī)轉(zhuǎn)角和電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)了任意路徑識(shí)別與智能跟蹤。2 選題背景2.1 選

12、題的必要性智能車輛是一個(gè)集環(huán)境感知、規(guī)劃決策和多等級(jí)輔助駕駛等功能于一體的綜合系統(tǒng)。它集中運(yùn)用了計(jì)算機(jī)、現(xiàn)代傳感、信息融合、通訊、人工智能及自動(dòng)控制等技術(shù),是典型的高新技術(shù)綜合體。隨著電子技術(shù)和智能控制技術(shù)的發(fā)展,智能車已經(jīng)成為自動(dòng)控制領(lǐng)域的一個(gè)研究熱點(diǎn)。全國(guó)大學(xué)生智能車競(jìng)賽是教育部為了加強(qiáng)大學(xué)生實(shí)踐、創(chuàng)新能力和團(tuán)隊(duì)精神的培養(yǎng)而舉辦的面向全國(guó)大學(xué)生的智能汽車比賽2?!帮w思卡爾”杯全國(guó)大學(xué)生智能車大賽從2006年開始舉辦,是一項(xiàng)知識(shí)、技術(shù)綜合性特別強(qiáng)的競(jìng)賽,對(duì)培養(yǎng)高水平、研究型學(xué)生,具有重要的現(xiàn)實(shí)意義。 “飛思卡爾”杯全國(guó)大學(xué)生智能汽車競(jìng)賽中,參賽的隊(duì)伍分光電組、攝像頭組和電磁組三個(gè)組別。本文正

13、是基于其中的攝像頭組競(jìng)賽而誕生的。路徑識(shí)別技術(shù)是智能車輛控制系統(tǒng)中的一個(gè)重要組成部分,本課題研究的主要內(nèi)容包括黑線提取和賽道路徑識(shí)別,黑線提取嘗試了小范圍提取黑線算法、單向黑線提取算法、中心向兩邊黑線提取算法,最終選擇了小范圍提取黑線算法。賽道路徑識(shí)別通過(guò)比較簡(jiǎn)單斜率、最小二乘法擬合直線、根據(jù)三點(diǎn)求出外接圓半徑倒數(shù)曲率等三種算法,得出智能車輛最優(yōu)的路徑識(shí)別算法。該競(jìng)賽與教育部已舉辦的各類競(jìng)賽屬同一級(jí)別,都是為了提高大學(xué)生的科研能力和創(chuàng)新能力而舉辦的,具有重大的現(xiàn)實(shí)意義。與其他大賽不同的是,這個(gè)大賽的綜合性很強(qiáng),是以迅猛發(fā)展的汽車電子為背景,涵蓋了控制、模式識(shí)別、傳感、電子、電氣、計(jì)算機(jī)和機(jī)械等

14、多個(gè)學(xué)科交叉的科技創(chuàng)意性比賽,這對(duì)進(jìn)一步深化高等工程教育改革,培養(yǎng)本科生獲取知識(shí)、應(yīng)用知識(shí)的能力及創(chuàng)新意識(shí),培養(yǎng)碩士生從事科學(xué)、技術(shù)研究能力,培養(yǎng)學(xué)生知識(shí)、技術(shù)創(chuàng)新能力具有重要意義3。智能化技術(shù)與汽車相結(jié)合產(chǎn)生的智能汽車將在未來(lái)工業(yè)生產(chǎn)和日常生活中扮演重要的角色,而路徑識(shí)別則正是體現(xiàn)智能水平的一個(gè)重要標(biāo)志,基于數(shù)字?jǐn)z像頭的路徑識(shí)別算法的研究具有非常廣闊的應(yīng)用價(jià)值。2.2 國(guó)內(nèi)外發(fā)展研究現(xiàn)狀及分析智能車輛在原車輛系統(tǒng)基礎(chǔ)上主要由計(jì)算機(jī)處理系統(tǒng)、攝像機(jī)和一些傳感器組成。攝像機(jī)用來(lái)獲得道路圖像信息,車速傳感器用來(lái)獲得車速,障礙物傳感器用來(lái)獲得前方、側(cè)方、后方障礙物信息等,然后由計(jì)算機(jī)處理系統(tǒng)來(lái)完成對(duì)

15、所獲圖像、信息的預(yù)處理、增強(qiáng)與分析識(shí)別工作,并對(duì)車輛的行駛狀況做出控制。清華大學(xué)汽車研究所是國(guó)內(nèi)最早成立的主要從事智能汽車及智能交通研究單位之一,在汽車導(dǎo)航,主動(dòng)避撞,車載微機(jī)等方面進(jìn)行了廣泛而深入的研究。上海市“智能汽車車內(nèi)自主導(dǎo)航系統(tǒng)的一種樣車,2000年7月19日通過(guò)市科委鑒定,它標(biāo)志著上海智能交通系統(tǒng)進(jìn)入實(shí)質(zhì)性實(shí)施階段。國(guó)防科大成功試驗(yàn)了第四代無(wú)人駕駛汽車,它的最高時(shí)速達(dá)到75.6公里,創(chuàng)國(guó)內(nèi)最高紀(jì)錄。西北工業(yè)大學(xué)空管所,吉林交通大學(xué),重慶大學(xué)等都在展開相關(guān)研究。這一新興學(xué)科吸引著越來(lái)越多的研究機(jī)構(gòu),學(xué)者加入到智能車相關(guān)技術(shù)開發(fā)中。國(guó)內(nèi)也有很多大學(xué)生智能車競(jìng)賽,將智能車的研究更加普及,

16、帶動(dòng)了國(guó)內(nèi)高校自動(dòng)化,電子等相關(guān)專業(yè)的教學(xué)改革和發(fā)展。智能車有著十分廣泛的應(yīng)用前景,許多國(guó)家都在積極進(jìn)行智能車輛的研究,最典型的運(yùn)用就是在智能運(yùn)輸系統(tǒng)ITS上的應(yīng)用。智能車輛在物流、軍事等眾多領(lǐng)域都有很廣的應(yīng)用前景。3 基礎(chǔ)理論3.1 PID控制算法介紹PID算法控制是過(guò)程控制中應(yīng)用最廣泛的一種控制規(guī)律。實(shí)際運(yùn)行經(jīng)驗(yàn)及理論分析充分證明這種控制規(guī)律用于多數(shù)被控對(duì)象能夠獲得較滿意的控制成果4。比例(P)控制:比例控制是一種最簡(jiǎn)單的控制方式。其控制器的輸出與輸入誤差信號(hào)成比例關(guān)系。Kp偏大時(shí),振蕩次數(shù)加多,調(diào)節(jié)時(shí)間加長(zhǎng),系統(tǒng)趨于不穩(wěn)定,Kp太小時(shí),又會(huì)使系統(tǒng)動(dòng)作緩慢。當(dāng)僅有比例控制時(shí)系統(tǒng)輸出存在穩(wěn)態(tài)

17、誤差。積分(I)控制:在積分控制中,控制器的輸出與輸入誤差信號(hào)的積分成正比關(guān)系。對(duì)一個(gè)自動(dòng)控制系統(tǒng),如果在進(jìn)入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個(gè)控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡(jiǎn)稱有差系統(tǒng)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項(xiàng)”。積分項(xiàng)對(duì)誤差取決于時(shí)間的積分,隨著時(shí)間的增加,積分項(xiàng)會(huì)增大。這樣,即便誤差很小,積分項(xiàng)也會(huì)隨著時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于零。積分作用使系統(tǒng)的穩(wěn)定性下降,Ti?。ǚe分作用強(qiáng))會(huì)使系統(tǒng)不穩(wěn)定,但能消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。 微分(D)控制:在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系。在控制器中僅

18、引入“比例”項(xiàng)往往是不夠的,比例項(xiàng)的作用僅是放大誤差的幅值,而目前需要增加的是“微分項(xiàng)”,它能預(yù)測(cè)誤差變化的趨勢(shì),這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào)。只有Td合適,才能使超調(diào)量較小,減短調(diào)節(jié)時(shí)間。一般來(lái)說(shuō),微分過(guò)程減小了超調(diào)和降低了震蕩。在另一方面,大部分的實(shí)際控制系統(tǒng)里使用了非常小的微分增益,因?yàn)槲⒎猪憫?yīng)對(duì)過(guò)程變量信號(hào)的噪聲非常敏感。如果反饋回來(lái)的過(guò)程變量代表的噪聲,微分參數(shù)就會(huì)引起系統(tǒng)的不穩(wěn)定。通常依據(jù)控制器輸出與執(zhí)行機(jī)構(gòu)的對(duì)應(yīng)關(guān)系,將基本數(shù)字PID算法分為位置式PID和增量式PID兩種。(1)位置式PID控制算法基本

19、PID控制器的理想算式為 (3.1)式中:u(t)控制器(也稱調(diào)節(jié)器)的輸出;e(t)控制器的輸入(常常是設(shè)定值與被控量之差,即e(t)=r(t)-c(t));Kp控制器的比例放大系數(shù);Ti 控制器的積分時(shí)間;Td控制器的微分時(shí)間。設(shè)u(k)為第k次采樣時(shí)刻控制器的輸出值,可得離散的PID算式 (3.2)其中為積分系數(shù),為微分系數(shù)。由于計(jì)算機(jī)的輸出u(k)直接控制執(zhí)行機(jī)構(gòu)(如閥門),u(k)的值與執(zhí)行機(jī)構(gòu)的位置(如閥門開度)一一對(duì)應(yīng),所以通常稱式公式(3.2)為位置式PID控制算法。位置式PID控制算法的缺點(diǎn):當(dāng)前采樣時(shí)刻的輸出與過(guò)去的各個(gè)狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)e(k)進(jìn)行累加,運(yùn)算量大;而且控

20、制器的輸出u(k)對(duì)應(yīng)的是執(zhí)行機(jī)構(gòu)的實(shí)際位置,如果計(jì)算機(jī)出現(xiàn)故障,u(k)的大幅度變化會(huì)引起執(zhí)行機(jī)構(gòu)位置的大幅度變化。(2)增量式PID控制算法增量式PID是指數(shù)字控制器的輸出只是控制量的增量u(k)。采用增量式算法時(shí),計(jì)算機(jī)輸出的控制量u(k)對(duì)應(yīng)的是本次執(zhí)行機(jī)構(gòu)位置的增量,而不是對(duì)應(yīng)執(zhí)行機(jī)構(gòu)的實(shí)際位置,因此要求執(zhí)行機(jī)構(gòu)必須具有對(duì)控制量增量的累積功能,才能完成對(duì)被控對(duì)象的控制操作。執(zhí)行機(jī)構(gòu)的累積功能可以采用硬件的方法實(shí)現(xiàn);也可以采用軟件來(lái)實(shí)現(xiàn),如利用算式 程序化來(lái)完成。由公式(3.2)可得增量式PID控制算式 (3.3) 一般計(jì)算機(jī)控制系統(tǒng)的采樣周期T在選定后就不再改變,所以,一旦確定了Kp

21、、Ti、Td,只要使用前后3次測(cè)量的偏差值即可由公式(3.3)求出控制增量。增量式算法優(yōu)點(diǎn):算式中不需要累加,控制增量u(k)的確定僅與最近3次的采樣值有關(guān),容易通過(guò)加權(quán)處理獲得比較好的控制效果;計(jì)算機(jī)每次只輸出控制增量,即對(duì)應(yīng)執(zhí)行機(jī)構(gòu)位置的變化量,故機(jī)器發(fā)生故障時(shí)影響范圍小、不會(huì)嚴(yán)重影響生產(chǎn)過(guò)程。PID參數(shù)的整定就是合理的選擇PID的各個(gè)參數(shù)。其參數(shù)的整定是綜合系統(tǒng)的穩(wěn)定性、響應(yīng)速度、超調(diào)量和穩(wěn)態(tài)精度等各個(gè)方面考慮。綜合自己調(diào)試的經(jīng)驗(yàn)和工業(yè)調(diào)試的經(jīng)驗(yàn),基本上PID參數(shù)整定滿足以下幾個(gè)規(guī)則:(1) 當(dāng)e較大時(shí),為使系統(tǒng)具有較好的跟蹤性能,應(yīng)取較大的Kp 與較小的Kd,同時(shí)為避免系統(tǒng)響應(yīng)出現(xiàn)較大

22、的超調(diào),應(yīng)對(duì)積分作用加以限制,通常取Ki=0。 (2) 當(dāng)e處于中等大小時(shí),為使系統(tǒng)響應(yīng)具有較小的超調(diào),Kp應(yīng)取得小些。在這種情況下,Kd的取值對(duì)系統(tǒng)響應(yīng)的影響較大,Ki的取值要適當(dāng)。 (3) 當(dāng)e較小時(shí),為使系統(tǒng)具有較好的穩(wěn)定性能,Kp與Ki均應(yīng)取得大些,同時(shí)為避免系統(tǒng)在設(shè)定值附近出現(xiàn)振蕩,Kd值的選擇根據(jù)|e(k)|值較大時(shí),Kd取較小值,通常Kd為中等大小。3.2 黑線路徑特點(diǎn)道路面用專用白色基板制作,跑道所占面積在5m×7m左右,道路寬度不小于50cm, 跑道表面為白色,中心有黑線作為引導(dǎo)線,黑線寬25mm±56。引導(dǎo)黑線為連續(xù)黑線;跑到最小曲率半徑不小于50,可以

23、交叉為90°;在跑到中有一個(gè)長(zhǎng)度為10cm黑色起始線。如圖3.1所示;圖3.1 起跑線,賽道寬度本次跑道由不同難度的彎道組成,主要分為半徑為65cm角度為120°大S道,半徑為80cm角度為270°大彎道、角度為150°彎道,半徑為245cm角度為90°的弧道,半徑為100cm角度為180°的弧道。如圖3.2所示。圖3.2 跑道示意圖3.3 關(guān)于MC9S12XS128的介紹MC9S12XS128 微控制單元作為MC9S12 系列的16位單片機(jī),由標(biāo)準(zhǔn)片上外圍設(shè)備組成,包括16位中央處理器、128KB的Flash 存儲(chǔ)器、8KB的RAM

24、、2KB的EEPROM、兩個(gè)異步串行通信接口、兩個(gè)串行外圍接口、一組8通道的輸入捕捉或輸出捕捉的增強(qiáng)型捕捉定時(shí)器、兩組8 通道10 路模數(shù)轉(zhuǎn)換器、一組8通道脈寬調(diào)制模塊、一個(gè)字節(jié)數(shù)據(jù)鏈路控制器、29路獨(dú)立的數(shù)字I/O接口、20路帶中斷和喚醒功能的數(shù)字I/O 接口、5個(gè)增強(qiáng)型CAN總線接口。同時(shí),單片機(jī)內(nèi)的鎖相環(huán)電路可使能耗和性能適應(yīng)具體操作的需要。MC9S12XS128片內(nèi)資源表如圖3.3所示。圖3.3 MC9S12XS128片內(nèi)資源在整個(gè)系統(tǒng)設(shè)計(jì)中,用到了6個(gè)單片機(jī)基本功能模塊:時(shí)鐘模塊、PWM 輸出模塊、ECT 模塊、中斷模塊、串口通信模塊以及普通IO 模塊。根據(jù)系統(tǒng)實(shí)際需求,對(duì)各個(gè)模塊進(jìn)

25、行了初始化配置,通過(guò)對(duì)相應(yīng)數(shù)據(jù)寄存器或狀態(tài)寄存器的讀寫,實(shí)現(xiàn)相應(yīng)的功能。3.4 Codewarrior開發(fā)軟件軟件開發(fā)工具采用Metrowerks 公司開發(fā)的軟件集成開發(fā)環(huán)境Codewarrior for HCS12,其包括集成環(huán)境IDE、處理器專家?guī)?、全芯片仿真、可視化參?shù)顯示工具、項(xiàng)目工程管理器、C 交叉編譯器、匯編器、鏈接器以及調(diào)試器,可以完成從源代碼編輯、編譯到調(diào)試的全部工作7。開發(fā)語(yǔ)言采用HCS12C 語(yǔ)言,語(yǔ)法與標(biāo)準(zhǔn)C 語(yǔ)言基本相同,支持多種數(shù)據(jù)類型,中斷服務(wù)程序用中斷函數(shù)形式來(lái)實(shí)現(xiàn),并提供了內(nèi)嵌匯編的功能。另外,CodeWarrior 編譯器提供了幾種從C 源代碼產(chǎn)生實(shí)際匯編代碼

26、的優(yōu)化方法,這些代碼被編程到微控制器中。Codewarrior 的功能非常強(qiáng)大,可用于絕大部分單片機(jī)、嵌入式系統(tǒng)的開發(fā)。用戶可在新建工程時(shí)將芯片的類庫(kù)添加到集成環(huán)境開發(fā)環(huán)境中,工程文件一旦生成就是一個(gè)最小系統(tǒng),用戶無(wú)需再進(jìn)行繁瑣的初始化操作,就能直接在工程中添加所需的程序代碼。圖3.4是Codewarrior的開發(fā)界面:圖3.4 Codewarrior開發(fā)界面利用BDM 和Codewarrior IDE 的調(diào)試界面,可以進(jìn)行一系列的調(diào)試工作,如黑白線的數(shù)字量,路徑采集狀態(tài),各個(gè)寄存器值,程序調(diào)試的變量值,能夠很好的觀察整幅的圖像信息,圖像中黑線的位置,黑線斷開的位置,小車舵機(jī)和電機(jī)的當(dāng)前值等,

27、給調(diào)試提供了極大的方便。3.5 串口調(diào)試軟件與無(wú)線傳輸測(cè)試軟件串口調(diào)試助手,支持常用的300-115200bps波特率,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符(包括中文),可以任意設(shè)定自動(dòng)發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件。目前較為常用的串口有9針串口(DB9)和25針串口(DB25),通信距離較近時(shí)(<12m),可以用電纜線直接連接標(biāo)準(zhǔn)RS232端口(RS422,RS485較遠(yuǎn)),若距離較遠(yuǎn),需附加調(diào)制解調(diào)(MODEM)。最為簡(jiǎn)單且常用的是三線制接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連。為了更好形象地反應(yīng)采集圖像的數(shù)據(jù)

28、,在串口發(fā)送中每發(fā)送完一行就添加一個(gè)回車符,這樣得到的數(shù)據(jù)是每行的數(shù)據(jù)而不是連成一塊的,圖3.5是串口得到的數(shù)據(jù)圖,圖中非常好地反應(yīng)了道路的信息:圖3.5 串口調(diào)試助手平臺(tái)由于小車是動(dòng)態(tài)運(yùn)行的,為了實(shí)現(xiàn)動(dòng)態(tài)測(cè)試,采用了以NRF24L01為核心的無(wú)線通信模塊,來(lái)實(shí)現(xiàn)單片機(jī)和PC 之間的無(wú)線通信,將智能車形式的動(dòng)態(tài)信息傳輸?shù)絇C中進(jìn)行處理,從而可以分析調(diào)整智能車的形式狀態(tài),是智能車能以最優(yōu)的速度在復(fù)雜多變的賽道上穩(wěn)定快速的形式。MC9S12XS128將智能車運(yùn)行數(shù)據(jù)通過(guò)SPI接口傳輸給NRF24L01無(wú)線發(fā)送模塊,NRF24L01無(wú)線接收模塊接收到數(shù)據(jù)后,將數(shù)據(jù)通過(guò)SPI接口傳輸給以8為單片機(jī)為主

29、控制器數(shù)據(jù)接收端,8位單片機(jī)將數(shù)據(jù)通過(guò)串口將數(shù)據(jù)傳輸給PC機(jī),在PC機(jī)中,使用串口助手將數(shù)據(jù)以十六進(jìn)制保存在文本文檔中。利用Matlab可以將接到的數(shù)據(jù)繪制曲線。MATLAB繪制文本文件數(shù)據(jù)為曲線指令如下:a=textread('c:a.txt','%s')'%以字符形式打開文件 alpha=hex2dec(a)' %16進(jìn)制轉(zhuǎn)化為10進(jìn)制數(shù),存入alpha矩陣 plot(alpha) ; %繪制alpha矩陣數(shù)據(jù)的曲線圖 3.6 MATLAB測(cè)試平臺(tái) MATLAB是矩陣實(shí)驗(yàn)室的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、

30、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是由美國(guó)MathWorks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和Mathematica、Maple、MathCAD

31、并稱為四大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解算問題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。MATLAB開發(fā)環(huán)境如圖3.6所示。圖3.6 MATLAB開發(fā)界面3.7 舵機(jī)調(diào)試軟件在控制系

32、統(tǒng)中,舵機(jī)控制效果是智能車性能的重要影響因素。所以舵機(jī)調(diào)試工具相當(dāng)重要,因而好的舵機(jī)調(diào)試軟件會(huì)給后續(xù)的調(diào)試工作帶來(lái)很大的便利。舵機(jī)調(diào)試軟件如圖3.7所示。圖3.7 舵機(jī)調(diào)試軟件4 硬件電路設(shè)計(jì)4.1 系統(tǒng)整體結(jié)構(gòu)智能車分為五大模塊:攝像頭圖像采集模塊,電源模塊,舵機(jī)轉(zhuǎn)向模塊,電機(jī)驅(qū)動(dòng)模塊,單片機(jī)最小系統(tǒng)。如圖4.1所示。圖4.1 系統(tǒng)硬件模塊4.2 舵機(jī)電路設(shè)計(jì)大賽指定使用型號(hào)為S3010的舵機(jī)9。該舵機(jī)有三根接線端,分別為:電源線、地線及控制線。舵機(jī)所需的工作電壓為6V,該型號(hào)舵機(jī)的轉(zhuǎn)角是由控制信號(hào)端的高電平脈沖寬度決定的,舵機(jī)的轉(zhuǎn)角與控制信號(hào)的脈寬對(duì)應(yīng)關(guān)系如下圖4.2所示。在接口電路中,舵

33、機(jī)的轉(zhuǎn)角控制端口(白線)與單片機(jī)的PM1通道相連。單片機(jī)通過(guò)這一端口,將位置脈沖發(fā)送給舵機(jī),實(shí)現(xiàn)對(duì)舵機(jī)轉(zhuǎn)角的控制。舵機(jī)與單片機(jī)的接口如圖4.3所示。為了便于單片機(jī)控制,在對(duì)MC9SXS128單片機(jī)的PWM初始化時(shí),設(shè)定PWM的周期為20ms。初始狀態(tài)時(shí),設(shè)定PWM的高電平時(shí)間為1.5ms,使舵機(jī)的偏轉(zhuǎn)角度為0° 。舵機(jī)內(nèi)部有一個(gè)產(chǎn)生周期20ms、寬度1.5ms的基準(zhǔn)信號(hào)的基準(zhǔn)電路,有一個(gè)比較器將外加信號(hào)與基準(zhǔn)信號(hào)相比較,判斷出方向和大小,從而產(chǎn)生電機(jī)的轉(zhuǎn)動(dòng)信號(hào)。由此可見,舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,轉(zhuǎn)動(dòng)范圍不能超過(guò)±90°。 圖4.2 舵機(jī)轉(zhuǎn)角與脈寬函數(shù)圖像 圖4

34、.3 舵機(jī)接口電路圖4.4列出一個(gè)典型的20ms周期性脈沖的正脈沖寬度與微型伺服馬達(dá)的輸出臂位置的關(guān)系。圖4.4 舵機(jī)轉(zhuǎn)角控制圖4.3 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)智能小車前進(jìn)的動(dòng)力是通過(guò)直流電機(jī)來(lái)驅(qū)動(dòng)的,直流電動(dòng)機(jī)是最早出現(xiàn)的電動(dòng)機(jī),也是最早能實(shí)現(xiàn)調(diào)速的電動(dòng)機(jī)。由于智能車攝像頭組采用的單個(gè)電機(jī)控制后輪來(lái)驅(qū)動(dòng)的,采用H橋電路可以很方便地組成單片機(jī)控制的小功率直流伺服系統(tǒng),一個(gè)H橋電路由4個(gè)IRF540組成的11。如圖4.5所示:IRF540是一個(gè)大電流(30A)、較高耐壓(100V)、低導(dǎo)通電阻(0.077)的N溝道場(chǎng)效應(yīng)管。IR2104驅(qū)動(dòng)芯片上的P3、P5、E6、E7是由單片機(jī)產(chǎn)生的PWM波控制,當(dāng)P

35、WM輸出的P3是高電平、E6是低電平時(shí),圖中IR2104芯片的工作情況:U5的7管腳(HO)輸出7.2V的高電平驅(qū)動(dòng)電壓,5管腳(LO)輸出0V低電平驅(qū)動(dòng)電壓;U6的7管腳(HO)輸出0V的低電平驅(qū)動(dòng)電壓,5管腳(LO)輸出7.2V高電平驅(qū)動(dòng)電壓。則圖中的4個(gè)IRF540工作情況:Q1、Q4關(guān)斷,Q2、Q3導(dǎo)通,電機(jī)正轉(zhuǎn)。當(dāng)PWM輸出的P5是高電平、E7是低電平時(shí),電機(jī)反轉(zhuǎn)。由于電機(jī)反轉(zhuǎn)制動(dòng)時(shí),瞬間沖擊電流很大,驅(qū)動(dòng)芯片發(fā)熱比較厲害,經(jīng)過(guò)多次試驗(yàn)后,決定不采用反轉(zhuǎn)制動(dòng),通過(guò)減小PWM的占空比來(lái)進(jìn)行制動(dòng),制動(dòng)效果基本能滿足要求。驅(qū)動(dòng)電機(jī)的是采用單片機(jī)輸出不同占空比的PWM波,根據(jù)直道、彎道不同跑

36、道信息改變占空比大小達(dá)到控制電機(jī)速度的目的。圖4.5 電機(jī)驅(qū)動(dòng)模塊圖4.4 小車測(cè)速模塊的設(shè)計(jì)要想小車在賽道上平穩(wěn)的行駛,我們必須要精確的控制車速,特別是在賽道的轉(zhuǎn)角處,防止車速過(guò)快而沖出跑道??芍刂菩酒斎?PWM 波的占空比,即可控制直流電機(jī)兩端的電壓差,從而控制智能小車的速度12。電機(jī)在開環(huán)控制下,電池電壓、電機(jī)自身的傳動(dòng)摩擦力、前向輪轉(zhuǎn)角和賽道摩擦力等因素,都會(huì)造成智能小車運(yùn)行不穩(wěn)定。通過(guò)在小車后輪上加裝速度傳感器來(lái)檢測(cè)小車在賽道上的行駛速度,對(duì)小車速度形成閉環(huán)控制,消除上面各種因素對(duì)小車速度的影響,使得小車行駛更加穩(wěn)定。本系統(tǒng)車速檢測(cè)單元采用日本OMRON公司的E6A2-CW3C型

37、旋轉(zhuǎn)編碼器作為車速檢測(cè)元件,質(zhì)量為35克。考慮到碼盤重量會(huì)影響車體重心位置,我們將其通過(guò)一塊輕質(zhì)硬板固定在車尾部,讓重心更加靠近后輪,增加輪胎與地面的摩擦力。為了不影響加速性能,編碼器的傳動(dòng)齒輪較小,基本上和電機(jī)的齒輪相同,齒輪之間夾角小于120度。這樣安裝齒輪咬合很好,即避免由于齒輪咬合太緊以致加重負(fù)載,同時(shí)也避免了因過(guò)松而出現(xiàn)的在轉(zhuǎn)動(dòng)中齒輪撞擊的現(xiàn)象,減少電機(jī)的摩擦損耗和噪音。它由512V的直流供電,可以使用LM2940穩(wěn)壓后的+5V直接對(duì)其供電。運(yùn)用旋轉(zhuǎn)編碼器的輸出特性,采用其中一相,即可測(cè)出智能小車的行駛速度。通過(guò)把旋轉(zhuǎn)編碼器的脈沖輸出端口接入到 MCU 的增強(qiáng)型捕捉定時(shí)器模塊。它是一

38、個(gè) 16 位定時(shí)計(jì)數(shù)器,可以對(duì)輸入脈沖進(jìn)行累加計(jì)數(shù)。通過(guò)后軸上齒輪盤的旋轉(zhuǎn)帶動(dòng)旋轉(zhuǎn)編碼器旋轉(zhuǎn),在一定時(shí)間內(nèi)測(cè)出旋轉(zhuǎn)編碼器輸出的脈沖個(gè)數(shù),即可算出智能小車的車速。在求偏差量時(shí),實(shí)際上用的是每20ms電機(jī)轉(zhuǎn)過(guò)的齒輪數(shù)和實(shí)際期望電機(jī)轉(zhuǎn)過(guò)的齒輪數(shù),通過(guò)二者的差值,再乘以相應(yīng)的系數(shù),即Kp、Ki、Kd的協(xié)調(diào)控制,計(jì)算出相應(yīng)的PWM占空比。經(jīng)過(guò)分析,決定將PID的采樣周期定為20ms,即當(dāng)進(jìn)行一次場(chǎng)采集進(jìn)行一次PID調(diào)節(jié),這樣就不需要另外使用外部中斷,也不用去考慮中斷優(yōu)先級(jí)的問題,而且經(jīng)過(guò)最終的檢驗(yàn),這樣能夠滿足對(duì)速度控制的需要。啟動(dòng)后,電機(jī)通過(guò)齒輪帶動(dòng)編碼器旋轉(zhuǎn),編碼器每轉(zhuǎn)動(dòng)一周會(huì)輸出200個(gè)脈沖,編碼

39、器輸出的脈沖送給單片機(jī)具有輸入捕捉功能的端口PT7,單片機(jī)的PT7口每采集到一個(gè)上升沿,對(duì)應(yīng)的脈沖累加器(PAC)加一,利用攝像頭場(chǎng)信號(hào)中斷每隔20ms產(chǎn)生一次中斷,讀取20ms內(nèi)PAC所捕捉到的脈沖個(gè)數(shù),從而反應(yīng)當(dāng)前速度。為了減少單片機(jī)的運(yùn)算量,直接用每20ms內(nèi)所測(cè)到的脈沖個(gè)數(shù)反映電機(jī)的轉(zhuǎn)速。小車的速度與脈沖之間的關(guān)系,假設(shè)N為一個(gè)采樣周期T內(nèi)采集到脈沖數(shù)量,L為小車后輪周長(zhǎng),S為小車前進(jìn)的距離,K編碼器與電機(jī)的齒輪比,V為小車的速度。則: (4.1)又由速度 ,即有 (4.2)經(jīng)測(cè)量得,L=165mm,采樣周期T=20ms,齒輪比K=0.32,從而,小車的速度為 (4.3)5 舵機(jī)控制算

40、法的設(shè)計(jì)在整個(gè)智能車的運(yùn)行中,要使車能平穩(wěn)的行駛,并且行駛過(guò)程中獲得良好的速度,首先對(duì)舵機(jī)的控制尤為關(guān)鍵,本文對(duì)舵機(jī)的控制主要嘗試采用了兩種方法:分段PD控制,分區(qū)間查表控制。如圖5.1所示,當(dāng)占空比的高電平時(shí)間設(shè)置為1.5ms時(shí),舵機(jī)為不偏轉(zhuǎn),其對(duì)應(yīng)寄存器取值為1500,當(dāng)改變這個(gè)數(shù)值時(shí),舵機(jī)將回左偏或者右偏,理論上控制量與舵機(jī)的PWM寄存器的值應(yīng)該表現(xiàn)為一階線性關(guān)系,但是實(shí)際的系統(tǒng)中控制量和PWM寄存器的值可以看成是以(0,1500)為中心對(duì)稱的二次函數(shù)。 圖5.1 舵機(jī)PWM輸出曲線其表達(dá)式如下: (5.1)其中abs(control)為control的絕對(duì)值變量,控制作用的方向由有變量

41、direction來(lái)決定當(dāng)control的值大于0時(shí),direction取1,反之,當(dāng)control的值小于0時(shí),direction取-1。.a和b取值在前期調(diào)節(jié)時(shí),分別取值2和0.3,但隨著小車速度的提高提高,這樣的取值已經(jīng)不能滿足小車的動(dòng)態(tài)要求,所以其參數(shù)本身應(yīng)該隨著速度的變化而變化,整體斜率應(yīng)該隨著速度的增大而增大。當(dāng)速度加快時(shí),對(duì)程序執(zhí)行的實(shí)時(shí)要求提高,而程序執(zhí)行一遍的時(shí)間大概為40ms以2m/s的速度計(jì)算的話,大概在程序的下一次調(diào)節(jié)之前,小車會(huì)行駛8cm,此時(shí)的賽道環(huán)境必然發(fā)生一定的而變化,所以加大舵機(jī)的轉(zhuǎn)角,是必然的選擇。我們對(duì)舵機(jī)的控制主要嘗試采用了分段PD控制,分區(qū)間查表控制兩

42、種方法。5.1 分段PD控制舵機(jī)PD控制,即根據(jù)劃分的賽道類型,不同賽道類型整定出一套適合其的PD參數(shù)。由于舵機(jī)對(duì)實(shí)時(shí)性要求比較高,而積分環(huán)節(jié)則會(huì)降低系統(tǒng)的實(shí)時(shí)性,綜合考慮之后,我們最后采用了PD控制舵機(jī)偏轉(zhuǎn),只要參數(shù)調(diào)節(jié)合理,可以把誤差控制在合理范圍內(nèi)。在舵機(jī)的PD算法中,control變量即可看成是偏差輸入。最終的期望則是control接近0.,其基本公式為 (5.2)其中由前面對(duì)舵機(jī)的特性分析可知,控制量與舵機(jī)寄存器值的二次函數(shù)關(guān)系,可以視為變系數(shù)的P控制,而PD控制只需加上Kd部分即可,即公式為: (5.3) 其中control和control_1分別表示本次和上一次的控制量,加入D控

43、制之后可以加快舵機(jī)的控制作用,起到超前調(diào)節(jié)的效果。對(duì)于Kp和Kd的大小可根據(jù)control變量的大小動(dòng)態(tài)的調(diào)節(jié),而kp的調(diào)節(jié)歸結(jié)到底也就是前面舵機(jī)參數(shù)a,b的調(diào)節(jié),根據(jù)實(shí)際的測(cè)試效果,調(diào)試應(yīng)該遵循以下原則: (1)對(duì)于直道和小S,給一個(gè)很小的P分量,D分量甚至可不要,以確保小車在這一類賽道能夠減小轉(zhuǎn)向量,盡量直沖。 (2)對(duì)于彎道,相對(duì)于直道和小S,增大P分量,同時(shí)加大D分量,以實(shí)現(xiàn)過(guò)彎時(shí)的快速、靈活、準(zhǔn)確。通過(guò)與上面的分段PD控制相結(jié)合,轉(zhuǎn)向參考行和相應(yīng)的速度有關(guān),速度越快,轉(zhuǎn)向參考行就應(yīng)越遠(yuǎn),使轉(zhuǎn)向提前。但是我們沒有讓轉(zhuǎn)向參考行選的很遠(yuǎn),因?yàn)樘h(yuǎn)的話在急彎的情況時(shí)小車會(huì)走內(nèi)線比較厲害,容易

44、切出界。5.2 分區(qū)間查表控制分區(qū)間查表控制,即根據(jù)劃分的賽道類型,在不同類型的賽道上,通過(guò)不同的斜率值,賦予舵機(jī)相對(duì)應(yīng)的PWM值,使小車能順利的通過(guò)整個(gè)賽道。 if(add>=0) pwmsteer=duojiadd1; if(add<0) pwmsteer=duojiadd1+9; 其中add是賽道的斜率值,add1是劃分不同類型的賽道值,duoji是在不同賽道上小車能順利行駛的所需的舵機(jī)PWM。由于duoji中的數(shù)值是通過(guò)軟件調(diào)試與實(shí)際運(yùn)行所得出的,雖然在不同賽道上單獨(dú)運(yùn)行時(shí)效果不錯(cuò),但是整個(gè)賽道上運(yùn)行時(shí),由于賽道識(shí)別的誤差,add的值不準(zhǔn)確,使得小車未能按照先前預(yù)定的軌道行

45、駛,但是在add1的值劃分較細(xì)的情況下,小車可控性較分段PD控制好,沖出賽道的情況較少,在反復(fù)調(diào)試的過(guò)程中,分區(qū)間查表控制效果較好。6 電機(jī)控制算法的設(shè)計(jì)驅(qū)動(dòng)電機(jī)控制算法是攝像頭智能車系統(tǒng)的核心,它直接關(guān)系到智能車的快慢及穩(wěn)定性。針對(duì)本文所研究的智能車來(lái)說(shuō),車體速度是大慣性的被控對(duì)象。算法輸出的控制量只能對(duì)電機(jī)輸出力進(jìn)行控制13。而有一定負(fù)載時(shí)電機(jī)的輸出力無(wú)論對(duì)車輪的轉(zhuǎn)速還是車體的形式速度都是不成正比的,車在剛開始啟動(dòng)的時(shí)候速度是零,而電機(jī)的輸出可能很大;車在勻速行駛的時(shí)候速度很快,而電機(jī)的輸出可能并不是很大,而且電池電量、車體重量都會(huì)對(duì)車速造成影響,只有用閉環(huán)才能對(duì)車速進(jìn)行良好的控制。在車輪

46、對(duì)地面不打滑的情況下車體的速度和后輪的轉(zhuǎn)動(dòng)速度是成正比的,因此我們可以直接用光電碼盤對(duì)后輪的轉(zhuǎn)速進(jìn)行控制。6.1數(shù)字PID控制算法目前經(jīng)常使用的控制算法主要有PID、模糊控制和Bang-Bang算法等。各種控制算法都有優(yōu)缺點(diǎn),由于智能車是復(fù)雜非線性時(shí)變的系統(tǒng),為了達(dá)到智能車平穩(wěn)運(yùn)行目的和快速控制智能車的功能,本文主要采用PID控制算法對(duì)智能車速度進(jìn)行控制。 在計(jì)算機(jī)控制系統(tǒng)中,數(shù)字PID控制算法通常又分為位置式PID和增量式PID。增量型算法與位置型算法相比,具有以下優(yōu)點(diǎn):增量型算法不需要做累加,增量的確定僅與最近幾次偏差采樣值有關(guān),計(jì)算精度對(duì)控制量的計(jì)算影響較小,而位置型算法要用到過(guò)去偏差的

47、累加值,容易產(chǎn)生大的累加誤差;增量型算法得出的是控制量的增量,而位置型算法的輸出是控制量的全量輸出,誤動(dòng)作影響大;采用增量型算法,易于實(shí)現(xiàn)手動(dòng)到自動(dòng)的無(wú)沖擊切換14。增量式PID的算式為u(k)=kp*(ek-ek-1)+ki*ek+kd*(ek-2*ek-1+ek-2); (6.1)在增量式PID處理的過(guò)程中,有一個(gè)步驟需要注意,即在算完u(k)后,需要把它賦值給電機(jī)控制對(duì)應(yīng)的PWM通道信號(hào),這時(shí)要判斷該u(k)的值,如果它小于0,則把PWM信號(hào)賦值為0,如果它大于PWM信號(hào)的最大值,即大于PWM整個(gè)周期所對(duì)應(yīng)的數(shù)值時(shí),要把PWM信號(hào)賦值為該最大值。然后,再存儲(chǔ)本次u(k),和上次u(k)。

48、在本次設(shè)計(jì)中,具體情況如下應(yīng)用:ei = Exp_data-buffi; (6.2)Uk = (int)(kp*e2-ki*e1+kd*e0); (6.3)pwm_duty+=IncPIDCalc1(Get_pulse,dianji3i03); (6.4)由上述式子中,Exp_data表示標(biāo)準(zhǔn)速度(期望速度),buffi表示當(dāng)前速度,通過(guò)計(jì)算它們的差值error,再利用增量PID控制算法計(jì)算出pwm_duty,再對(duì)pwm_duty進(jìn)行處理,最后PID程序處理的結(jié)果是給出一個(gè)PWM信號(hào),而這個(gè)信號(hào)就是驅(qū)動(dòng)電機(jī)的,當(dāng)error大,即標(biāo)準(zhǔn)速度和即時(shí)速度相差的比較多時(shí),pwm_duty的絕對(duì)值相對(duì)比較

49、大,則給電機(jī)的PWM信號(hào)相對(duì)較大,這樣電機(jī)轉(zhuǎn)速相對(duì)較快;反之,電機(jī)轉(zhuǎn)速則相對(duì)較慢。由此可以看出,PID算法主要的功能是,在閉環(huán)系統(tǒng)中,利用即時(shí)速度的反饋,使得即時(shí)速度逼近標(biāo)準(zhǔn)速度的時(shí)間盡量變短,這樣小車就可以根據(jù)路徑識(shí)別得出的速度標(biāo)準(zhǔn)值,及時(shí)調(diào)整自己的速度,以適應(yīng)各種路況。例如,小車正在直道上行進(jìn),而且直道的時(shí)速應(yīng)該是各種賽道中最快的,當(dāng)系統(tǒng)的路徑識(shí)別算法察覺到前方出現(xiàn)弧度大的彎道后,系統(tǒng)會(huì)根據(jù)事先調(diào)試的結(jié)果,給出大弧度彎道的速度標(biāo)準(zhǔn)值,然后PID算法根據(jù)速度標(biāo)準(zhǔn)值Exp_data和即時(shí)速度反饋值buffi對(duì)電機(jī)的輸入信號(hào)PWM進(jìn)行及時(shí)調(diào)整,反映到實(shí)際中,就是小車及時(shí)減速并順利通過(guò)彎道。6.2

50、分段的閉環(huán)P控制算法 考慮到系統(tǒng)開發(fā)與調(diào)試的效率問題,以及采用的尋線算法的控制要求,速度控制使用了分段的閉環(huán)P控制。在具體用編程實(shí)現(xiàn)時(shí),借鑒了模糊控制中的規(guī)則庫(kù)匹配的思想,不過(guò)并沒有設(shè)計(jì)模糊控制器,只是通過(guò)細(xì)致的分段匹配規(guī)則的制定,將各種實(shí)驗(yàn)所測(cè)得的經(jīng)驗(yàn)數(shù)據(jù)應(yīng)用于改善控制效果中。這種方式有利于系統(tǒng)調(diào)試,同時(shí)可為彎道處的出界處理控制提供安全保障。 分段P控制的難點(diǎn)在于各種規(guī)則的建立,這需要在實(shí)際調(diào)試過(guò)程中不斷修正參數(shù),完成規(guī)則庫(kù)的建立。由于使用的轉(zhuǎn)向舵機(jī)的為模擬舵機(jī),響應(yīng)周期較長(zhǎng),精確的規(guī)則庫(kù)建立可以減小振蕩給小車帶來(lái)的風(fēng)險(xiǎn)性。同時(shí),P控制可提高小車的加速與減速性能,從而獲得較好的控制效果。 程

51、序設(shè)計(jì)如下:pwm_duty=dianji1i00+P*(dianji2i00-Get_pulse); (6.5)其中Get_pulse是采集的脈沖數(shù),dianji1i00是期望速度下開環(huán)所對(duì)應(yīng)的脈沖數(shù),dianji2i00是期望速度下閉環(huán)所對(duì)應(yīng)的脈沖數(shù),可以根據(jù)測(cè)得的圖像得知,兩者之間存在一定的關(guān)系:dianji1i00= dianji2i00*2+20; (6.6)當(dāng)前的轉(zhuǎn)角,速度以及虛線特殊路徑等條件,形成了程序中的各種速度控制規(guī)則,按照此規(guī)則制定關(guān)于P的控制規(guī)則表,控制規(guī)則越精細(xì),控制效果越好。雖然這種算法在小車低速運(yùn)行時(shí)可以達(dá)到滿意的效果,但是提速效果較差,在給定較高速度的情況下,小

52、車極其容易沖出跑道,不以穩(wěn)定。除此之外,由于不同賽道給定的速度不一樣,整個(gè)賽道跑完后,小車的速度曲線不是平滑的,對(duì)電機(jī)損害較大,因此不建議采用這種算法。7 測(cè)試與分析我們?cè)谫惖郎蠈?duì)智能車性能進(jìn)行的整體測(cè)試,該賽道由大彎道、小彎道、十字交叉到,多個(gè)120度圓弧組成的S彎。智能車整體調(diào)整包括:舵機(jī)調(diào)試、電機(jī)調(diào)試以及穩(wěn)定性調(diào)試。7.1 舵機(jī)調(diào)試首先在舵機(jī)調(diào)試助手里不斷的修改舵機(jī)的控制量,確定舵機(jī)左轉(zhuǎn)和右轉(zhuǎn)極限的PWM 值,記下該值為程序里設(shè)定左轉(zhuǎn)和右轉(zhuǎn)的極限值和不同PWM值對(duì)應(yīng)舵機(jī)偏轉(zhuǎn)的角度。然后用小段跑道來(lái)測(cè)試舵機(jī)的轉(zhuǎn)向,用不同的賽道來(lái)測(cè)試小車斜率值與舵機(jī)PWM的對(duì)應(yīng)關(guān)系,直道時(shí)候要保證小車車基本

53、沿直線走并且有回正的趨勢(shì);小“S”道時(shí)候,模型車給出的轉(zhuǎn)角應(yīng)該足夠的小,甚至保持直線行駛;大“S”時(shí)候轉(zhuǎn)角應(yīng)該近似為圓弧弦的角度,最好在兩個(gè)輪胎都不出黑線的情況下切內(nèi)彎,而在急彎道時(shí)候舵機(jī)轉(zhuǎn)角要轉(zhuǎn)最大。經(jīng)過(guò)不斷調(diào)試,劃取不同斜率范圍值對(duì)應(yīng)舵機(jī)PWM值。7.2 PID參數(shù)整定與電機(jī)調(diào)試首先找準(zhǔn)小車的設(shè)定速度,設(shè)定速度主要由道路與直道的偏差來(lái)決定,道路越接近直道,設(shè)定速度越高,反之越低。行駛中的最低速度是這樣確定的:令車模以較低的速度勻速行使,在保證無(wú)犯規(guī)行為出現(xiàn)的前提下,逐漸提高勻速行使的速度,直到車模出現(xiàn)犯規(guī)行為,此速度再減去一個(gè)安全量,即為所需的最低速度。簡(jiǎn)單的說(shuō),變速行使的最低速度等于勻速

54、行使的最高速度。車模行駛中的最高速度是這樣確定的:在確定最低速度以后,加入變速策略,不斷提高最高速度的設(shè)定值,直到模型車出現(xiàn)犯規(guī)行為,此速度再減去一個(gè)安全量,即為所需的最高速度。按照這個(gè)方法將小車在整個(gè)賽道的速度設(shè)定為一個(gè)速度,不斷的調(diào)試,使小車能夠快速的穩(wěn)定在設(shè)定速度。調(diào)試過(guò)程中利用無(wú)線傳輸將小車當(dāng)前速度發(fā)送到PC機(jī),并通過(guò)串口助手和Matlab將傳送回來(lái)的速度數(shù)據(jù)繪制成曲線。 當(dāng)小車有了設(shè)定速度后,此時(shí)要對(duì)小車的PID參數(shù)進(jìn)行整定。首先把Ki Kd的值設(shè)定為0,把Kp的值設(shè)定為適當(dāng)?shù)闹?,此值可以讓小車擁有一個(gè)1.3左右的期望速度。給好Kp值后,先空載,如果速度受控 ,就把車放在跑道上,如果超調(diào),車子就會(huì)以大概8的速度飛奔,如果出現(xiàn)這種情況,就把Kp的值調(diào)小些,直到找到臨界值,記下那個(gè)臨界值,這個(gè)過(guò)程要做好防撞。Kp調(diào)好后,在臨界值的基礎(chǔ)上增加百分之30到40,然后調(diào)Ki,用同樣的方法找準(zhǔn)Ki,然后在Ki臨界值的基礎(chǔ)上增加百分之60到80, 對(duì)于Kd只需要微調(diào),慢慢往上加,直至找到臨界震蕩點(diǎn)。經(jīng)過(guò)反復(fù)測(cè)量實(shí)驗(yàn)決定采用Kp =1.45,Ki=1.23,Kd=0.11這組數(shù)據(jù),最后的調(diào)試效果如圖7.1所示。根據(jù)路徑識(shí)別的情況,如果當(dāng)前路徑為直道,則需要加速;若是

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論