深圳大學(xué)追夢(mèng)隊(duì)技術(shù)報(bào)告_第1頁(yè)
深圳大學(xué)追夢(mèng)隊(duì)技術(shù)報(bào)告_第2頁(yè)
深圳大學(xué)追夢(mèng)隊(duì)技術(shù)報(bào)告_第3頁(yè)
深圳大學(xué)追夢(mèng)隊(duì)技術(shù)報(bào)告_第4頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三屆全國(guó)大學(xué)生“飛思卡爾”

杯智能汽車(chē)競(jìng)賽技術(shù)報(bào)告學(xué)校:深圳大學(xué)隊(duì)伍名稱(chēng):追夢(mèng)隊(duì)

參賽隊(duì)員:楊華良

程傳順

王恩指導(dǎo)教師:邱建郭小勤關(guān)于技術(shù)報(bào)告和研究論文使用授權(quán)的說(shuō)明本人完全了解第三屆全國(guó)大學(xué)生“飛思卡爾”杯智能汽車(chē)競(jìng)賽關(guān)保留、使用技術(shù)報(bào)告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會(huì)和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁(yè)上收錄并公開(kāi)參賽作品的設(shè)計(jì)方案、技術(shù)報(bào)告以及參賽模型車(chē)的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會(huì)出版論文集中。參賽隊(duì)員簽名:帶隊(duì)教師簽名:日期:摘要本智能車(chē)以£思卡爾公司提供的16位微控制器MC9s12DG128B為核心控制器,采用CCD攝像頭來(lái)識(shí)別跑道,車(chē)速檢測(cè)采用歐姆龍旋轉(zhuǎn)編碼器,利用MOS管搭建H橋電路來(lái)控制驅(qū)動(dòng)電機(jī)正反轉(zhuǎn)的快速切換,配合電機(jī)、舵機(jī)、電池等組成的系統(tǒng)電路進(jìn)行信息處理,控制模型車(chē)高速穩(wěn)定地在跑道上行駛。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)設(shè)計(jì)方案可行。關(guān)鍵詞:MC9S12DG128B,CCD攝像頭,MOS管TOC\o"1-5"\h\z\o"CurrentDocument"第1章引言 1\o"CurrentDocument"智能車(chē)對(duì)賽道信息的采集 2\o"CurrentDocument"利用控制器對(duì)采集到的數(shù)據(jù)進(jìn)行分析 3\o"CurrentDocument"對(duì)采集到的圖像進(jìn)行分析,識(shí)別起跑線(xiàn) 3\o"CurrentDocument"智能車(chē)的整體控制策略 3\o"CurrentDocument"智能車(chē)主要執(zhí)行單元 3\o"CurrentDocument"第2章智能車(chē)整體設(shè)計(jì)方案的概述 17\o"CurrentDocument"智能車(chē)系統(tǒng)設(shè)計(jì)的分析 5\o"CurrentDocument"智能車(chē)系統(tǒng)設(shè)計(jì)的結(jié)構(gòu)圖 6\o"CurrentDocument"第3章智能車(chē)機(jī)械部分的設(shè)計(jì) 9\o"CurrentDocument"前輪主銷(xiāo)后傾角調(diào)整 9\o"CurrentDocument"前輪主銷(xiāo)內(nèi)傾角調(diào)整 11\o"CurrentDocument"車(chē)底盤(pán)與地面距離的調(diào)整 12車(chē)前輪部分離地面的調(diào)整 12車(chē)后輪部分離地面的調(diào)整 12\o"CurrentDocument"車(chē)后輪距的調(diào)整 13\o"CurrentDocument"車(chē)模轉(zhuǎn)向機(jī)械結(jié)構(gòu)的設(shè)計(jì) 14\o"CurrentDocument"車(chē)模測(cè)速機(jī)構(gòu)的設(shè)計(jì) 15第4章智能車(chē)硬件設(shè)計(jì)方案 錯(cuò)誤!未定義書(shū)簽。硬件方案設(shè)計(jì)概述 錯(cuò)誤!未定義書(shū)簽。硬件電路的實(shí)現(xiàn) 錯(cuò)誤!未定義書(shū)簽。以S12為核心的單片機(jī)最小系統(tǒng) 17車(chē)的主板電路 19電源穩(wěn)壓電路 19視頻同步分離電路 21電機(jī)驅(qū)動(dòng)電路 22速度傳感器 23\o"CurrentDocument"攝像頭概述 24\o"CurrentDocument"無(wú)線(xiàn)傳輸模塊 25\o"CurrentDocument"第五章智能車(chē)速度控制方案的設(shè)計(jì) 27\o"CurrentDocument"電機(jī)運(yùn)行速度的物理實(shí)現(xiàn)方案 27\o"CurrentDocument"被控對(duì)象結(jié)構(gòu)及參數(shù)的確定 28\o"CurrentDocument"PID控制參數(shù)的設(shè)定 32PID控制算法在單片機(jī)中的實(shí)現(xiàn) 33\o"CurrentDocument"第六章智能車(chē)軟件設(shè)計(jì)方案 34\o"CurrentDocument"圖像的采集和圖像的處理 34圖像采集 34圖像的處理 34黑色軌跡的尋找 34彎道的識(shí)別 36圖像中有效信號(hào)的尋找 37軌跡彎道的計(jì)算 37軌跡彎道值的補(bǔ)償 38\o"CurrentDocument"上位機(jī)調(diào)試平臺(tái)的設(shè)計(jì) 40無(wú)線(xiàn)串口通訊模塊 40利用VISUALBASIC6.0設(shè)計(jì)小車(chē)的控制平臺(tái) 40\o"CurrentDocument"智能車(chē)控制算法的設(shè)計(jì) 43常規(guī)PID控制算法的設(shè)計(jì) 43小車(chē)跟蹤軌跡線(xiàn)控制算法的設(shè)計(jì) 45小車(chē)運(yùn)動(dòng)模型的分析 45控制周期的選擇 47橫向糾偏控制算法的設(shè)計(jì) 48偏差量的標(biāo)定 49PID控制算法系數(shù)整定 51基于圖像的PID控制算法設(shè)計(jì) 56第七章車(chē)模的主要技術(shù)參數(shù) 57\o"CurrentDocument"第八章系統(tǒng)的調(diào)試過(guò)程概述 58\o"CurrentDocument"第九章總結(jié) 59參考文獻(xiàn) 60附件A原程序代碼 61第1章引言隨著人們生活水平的提高和現(xiàn)代科技的飛速發(fā)展,人們對(duì)智能化的要求已越來(lái)越高,而智能化在汽車(chē)相關(guān)產(chǎn)業(yè)上的應(yīng)用最典型的例子就是汽車(chē)電子行業(yè),汽車(chē)的電子化程度則被看作是衡量現(xiàn)代汽車(chē)水平的重要標(biāo)志。中國(guó)教育部為了加強(qiáng)大學(xué)生實(shí)踐、創(chuàng)新能力和團(tuán)隊(duì)精神的培養(yǎng),經(jīng)研究決定,委托教育部高等學(xué)校自動(dòng)化專(zhuān)業(yè)教學(xué)指導(dǎo)分委員會(huì)主辦每年一度的全國(guó)大學(xué)生智能汽車(chē)競(jìng)賽,并成立了由教育部、自動(dòng)化分教委、清華大學(xué)、飛思卡爾半導(dǎo)體公司等單位領(lǐng)導(dǎo)及專(zhuān)家組成了組委會(huì)。全國(guó)大學(xué)生智能汽車(chē)競(jìng)賽由飛思卡爾公司提供統(tǒng)一的標(biāo)準(zhǔn)硬軟件技術(shù)平臺(tái)。各參賽隊(duì)以飛思卡爾16位單片機(jī)MC9s12DG128B為核心控制模塊,以引導(dǎo)改裝后的模型汽車(chē)按照規(guī)定路線(xiàn)行進(jìn),以完成時(shí)間最短者為優(yōu)勝。智能車(chē)(intelligentvehicle)又叫輪式移動(dòng)機(jī)器人,是一個(gè)集環(huán)境感知、規(guī)劃決策、自動(dòng)行駛等功能于一體的綜合系統(tǒng),它集中地運(yùn)用了計(jì)算機(jī)、傳感、信息、通訊、導(dǎo)航、人工智能及自動(dòng)控制等技術(shù),是典型的高新技術(shù)綜合體。本隊(duì)制作的智能車(chē)以16位單片機(jī)MC9S12DG128B為控制系統(tǒng)核心,利用CCD視頻傳感器采集路徑信息,經(jīng)過(guò)系統(tǒng)處理,識(shí)別當(dāng)前路徑情況,做出判斷決策,從而給出相應(yīng)的PWM信號(hào),通過(guò)MOS管建立的H橋電路驅(qū)動(dòng)直流電機(jī)以合適的速度行駛,同時(shí),控制舵機(jī)轉(zhuǎn)出相應(yīng)的角度,使智能車(chē)能夠穩(wěn)定地沿著跑道行駛。在準(zhǔn)備比賽的過(guò)程中,我們小組成員涉獵控制、模式識(shí)別、傳感技術(shù)、汽車(chē)電子、電氣、計(jì)算機(jī)、機(jī)械等多個(gè)學(xué)科,這次磨練對(duì)我們的知識(shí)融合和實(shí)踐動(dòng)手能力的培養(yǎng)有極大的推動(dòng)作用。這份技術(shù)報(bào)告中,我們通過(guò)對(duì)智能車(chē)的整體設(shè)計(jì)方案、系統(tǒng)電路、控制算法、調(diào)試方法以及車(chē)輛參數(shù)進(jìn)行介紹,并詳盡地闡述了我們的思想和創(chuàng)意,具體表現(xiàn)在S12最小系統(tǒng)的設(shè)計(jì),電機(jī)驅(qū)動(dòng)電路的創(chuàng)新設(shè)計(jì),測(cè)速裝置的設(shè)計(jì)與安裝,舵機(jī)系統(tǒng)的固定設(shè)計(jì)以及算法方面的獨(dú)特想法,而對(duì)單片機(jī)具體參數(shù)的調(diào)試也讓我們付出了艱辛的勞動(dòng)。這份報(bào)告凝聚著我們的心血和智慧,是我們共同努力后的成果。

圖1.1車(chē)模的整體圖片智能車(chē)對(duì)賽道信息的采集今年比賽是分兩組進(jìn)行的,即攝像頭組和光電管組,所以對(duì)賽道的信息采集主要有兩種方式。它們分別是:(1)用攝像頭完成對(duì)道路的拍攝后把圖像信息傳入處理系統(tǒng)。(2)用光電傳感器把不同位置的道路情況轉(zhuǎn)化為數(shù)字量或模擬量傳入處理系統(tǒng)。采集信息的快慢及準(zhǔn)確程度直接決定了后續(xù)工作能否順利進(jìn)行,這是智能車(chē)設(shè)計(jì)種非常重要的一步工作。所以道路信息采集工作的核心是找到一種相對(duì)高分辨率、高速度的數(shù)據(jù)采集方法為分析工作及時(shí)提供準(zhǔn)確的數(shù)據(jù)。利用控制器對(duì)采集到的數(shù)據(jù)進(jìn)行分析CCD采集到的數(shù)據(jù)通過(guò)PAD口輸入到單片機(jī)中后,將根據(jù)采集的方法不同來(lái)對(duì)其進(jìn)行運(yùn)算,以得到小車(chē)與賽道的相對(duì)位置關(guān)系及相對(duì)運(yùn)動(dòng)關(guān)系,如果考慮道路信息的歷史記錄或利用攝像機(jī)的話(huà)也可以得到道路彎直,曲率等更進(jìn)一步的信息。分析是上層控制算法的基礎(chǔ),根據(jù)攝像頭安裝位置,獲得的圖像質(zhì)量是不一樣的。分析的目的是從綜合考慮了上述因素安裝的攝像頭拍攝圖像中獲取盡可能多的有用信息。對(duì)采集到的圖像進(jìn)行分析,識(shí)別起跑線(xiàn)小車(chē)順利沿跑道跑完兩圈,然后在起跑線(xiàn)三米以?xún)?nèi)的范圍停車(chē),這是今年比賽新加入的規(guī)則。要達(dá)到自動(dòng)停車(chē)的功能,對(duì)智能車(chē)攝像頭的安裝高度,俯仰角,對(duì)焦距和清晰度有很高的要求,同時(shí)對(duì)程序的算法也是一種挑戰(zhàn)。車(chē)在行駛的過(guò)程中可能會(huì)把各種干擾信號(hào)當(dāng)成起跑線(xiàn),造成在沒(méi)有跑完賽道的情況下停車(chē),很大程度上加大了比賽的冒險(xiǎn)性,同時(shí)比賽的難度也得到了提升。智能車(chē)的整體控制策略根據(jù)采回的數(shù)據(jù)和微控器對(duì)數(shù)據(jù)的進(jìn)行處理,我們可以利用已知信息來(lái)完成對(duì)智能車(chē)控制指令的輸出。但如何能夠達(dá)到“智能地”讓車(chē)模完成對(duì)賽道的判斷將成為難點(diǎn)。我們的主要目標(biāo)是:根據(jù)道路趨勢(shì)來(lái)制定策略,在不違規(guī)的前提下縮短行駛距離,消除車(chē)體產(chǎn)生的振蕩現(xiàn)象,盡量減輕車(chē)身的重心,加快調(diào)節(jié)的響應(yīng)速度等。智能車(chē)主要執(zhí)行單元智能車(chē)的執(zhí)行機(jī)構(gòu)主要涉及一些硬件電路問(wèn)題和一些機(jī)械傳動(dòng)問(wèn)題。它保證控制系統(tǒng)發(fā)出的指令被正確可靠執(zhí)行。實(shí)踐證明:執(zhí)行部件對(duì)發(fā)熱,對(duì)大電流的較強(qiáng)的承受能力和各連接部位之間的良好的潤(rùn)滑應(yīng)該是這部分所要考慮的主要問(wèn)題。例如電機(jī)的發(fā)熱,驅(qū)動(dòng)的電路電流的大小,傳動(dòng)機(jī)構(gòu)的潤(rùn)滑性等。五個(gè)步驟中的難點(diǎn)主要集中在于第二步與第四步——數(shù)據(jù)的分析與控制策略的制定,實(shí)際上小車(chē)的適應(yīng)性和極限速度很大程度上是由它們決定的。除此之外,必要的顯示機(jī)構(gòu)對(duì)車(chē)模的調(diào)試會(huì)產(chǎn)生積極的作用。如,可以通過(guò)LED或LCD表示車(chē)模決策的情況及對(duì)道路識(shí)別的結(jié)果。甚至可以通過(guò)存儲(chǔ)介質(zhì)或利用無(wú)線(xiàn)通信的方式把車(chē)模運(yùn)行情況全部記錄下來(lái)。這樣在調(diào)試階段可以更為充分地掌握策略制定和執(zhí)行的細(xì)節(jié)。第2章智能車(chē)整體設(shè)計(jì)方案概述智能車(chē)系統(tǒng)設(shè)計(jì)的分析今年比賽和以往兩年最大的差別是光電管組和攝像頭組分開(kāi)來(lái)進(jìn)行比賽,這樣在比賽中就不存在攝像頭和光電管對(duì)路徑識(shí)別的優(yōu)缺點(diǎn)所帶來(lái)的誤差,提高了比賽的公平性。智能車(chē)競(jìng)賽要求設(shè)計(jì)一輛以組委會(huì)提供車(chē)模為主體的可以自主尋線(xiàn)的模型車(chē),比賽最后成績(jī)按單圈最快時(shí)間來(lái)計(jì)算。我們分析了以往兩屆決賽各個(gè)隊(duì)伍的優(yōu)缺點(diǎn),分析了兩種傳感器的特點(diǎn)和應(yīng)用范圍,并展望了智能車(chē)發(fā)展方向,比較了光電傳感器和CCD圖像傳感器的優(yōu)缺點(diǎn)。紅外傳感器相對(duì)簡(jiǎn)單,程序處理也不是很復(fù)雜,但是前瞻距離很小,安裝排位相對(duì)麻煩;CCD圖像傳感器前瞻距離大,采樣信息量大,便于分析前方路徑信息,安裝相對(duì)簡(jiǎn)單,但是其程序處理相對(duì)比較復(fù)雜,時(shí)序控制要求很?chē)?yán)格,對(duì)單片機(jī)速度的要求較高。在這種競(jìng)速的比賽中,因?yàn)橹悄苘?chē)系統(tǒng)在動(dòng)作決策方面會(huì)有一定的延時(shí),因此要想讓車(chē)跑的更快,車(chē)的前瞻性是個(gè)很重要的因素。而且,對(duì)前方路徑分析的越清楚,那么動(dòng)作決策的靈活性就越大,你可以根據(jù)前面的數(shù)據(jù)做出適當(dāng)?shù)乃俣群徒嵌鹊目刂撇呗??;谝陨系目紤]和以及以后的技術(shù)發(fā)展方向,我們決定采取以CCD圖像傳感器為基礎(chǔ)的尋線(xiàn)系統(tǒng)。使用面陣CCD進(jìn)行賽道參數(shù)檢測(cè)的方案,充分利用S12單片機(jī)內(nèi)部硬件資源AD模塊,直接采集CCD輸出的模擬信號(hào),可以獲得滿(mǎn)足參數(shù)檢測(cè)需要的圖像,計(jì)算出賽道參數(shù),進(jìn)而完成路面信息檢測(cè)。利用電位器測(cè)得舵機(jī)轉(zhuǎn)向,編碼器檢測(cè)車(chē)速,為S12單片機(jī)控制提供有效的小車(chē)狀態(tài)量,轉(zhuǎn)向和車(chē)速;控制策略采用了兩種控制方法:基于路徑偏差、車(chē)模姿態(tài)的比例微分加上預(yù)瞄控制;根據(jù)設(shè)計(jì)要求,系統(tǒng)可總體分為電源管理部分、控制執(zhí)行部分、信號(hào)檢測(cè)部分和通訊及調(diào)試部分。其中控制部分包括:控制器模塊、驅(qū)動(dòng)電路

模塊、舵機(jī)轉(zhuǎn)向模塊。信號(hào)檢測(cè)部分包括:道路信息檢測(cè)模塊、方向角檢測(cè)模塊、速度檢測(cè)模塊。智能車(chē)系統(tǒng)設(shè)計(jì)的結(jié)構(gòu)圖按照預(yù)先的設(shè)計(jì),我們?cè)O(shè)計(jì)了整個(gè)系統(tǒng)的結(jié)構(gòu)圖。系統(tǒng)力求簡(jiǎn)單高效,

在滿(mǎn)足比賽要求的情況下,使硬件結(jié)構(gòu)最簡(jiǎn)單,減少因硬件而出現(xiàn)問(wèn)題。圖2.1智能車(chē)系統(tǒng)的結(jié)構(gòu)圖圖2.2智能車(chē)系統(tǒng)的電源模塊結(jié)構(gòu)圖第3章智能車(chē)機(jī)械部分的設(shè)計(jì)為了使車(chē)能夠更穩(wěn)定的高速運(yùn)行,在比賽備戰(zhàn)之初,我們就對(duì)這個(gè)車(chē)進(jìn)行了系統(tǒng)的分析。今年的車(chē)模精度不是很高,因此盡量在規(guī)則允許范圍內(nèi)改造車(chē)模,提高車(chē)模整體精度是很必要的。另外,我們?cè)趯?shí)際調(diào)試中發(fā)現(xiàn),前輪的束角和主銷(xiāo)傾角對(duì)車(chē)的高速運(yùn)行下的穩(wěn)定性影響很大。高速運(yùn)行下舵機(jī)的轉(zhuǎn)動(dòng)速度對(duì)車(chē)轉(zhuǎn)向的靈活程度也起到了根本性的作用。所以,在整車(chē)的機(jī)械結(jié)構(gòu)方面我們進(jìn)行了三方面改進(jìn):轉(zhuǎn)向機(jī)構(gòu)改進(jìn)、前輪束角調(diào)整、底盤(pán)高度調(diào)整前輪主銷(xiāo)后傾角調(diào)整主銷(xiāo)后傾角定義:上球頭或支柱頂端與下球頭的連線(xiàn)向前或后傾斜的角度,向前傾稱(chēng)為負(fù)主銷(xiāo)后傾角,向后傾斜稱(chēng)為正主銷(xiāo)后傾角。其功能影響轉(zhuǎn)向穩(wěn)定性及轉(zhuǎn)向后車(chē)輪自動(dòng)回正能本組將圖3.1中的黃色小墊片由原來(lái)的前2后2改成圖3.2中的前1后3,可使小車(chē)主銷(xiāo)后傾角為2°?3°。增加了小車(chē)的回正力矩和直線(xiàn)高速行駛的穩(wěn)定性。圖3.1前輪主銷(xiāo)后傾角調(diào)整前圖3.2前輪主銷(xiāo)后傾角調(diào)整后前輪主銷(xiāo)內(nèi)傾角調(diào)整主銷(xiāo)內(nèi)傾角定義:當(dāng)汽車(chē)水平停放時(shí),在汽車(chē)的橫向垂面內(nèi),主銷(xiāo)軸線(xiàn)與地面垂線(xiàn)的夾角為主銷(xiāo)內(nèi)傾角。汽車(chē)直線(xiàn)行駛時(shí),車(chē)輪軸線(xiàn)與主銷(xiāo)的交角恰為這個(gè)最大值。車(chē)輪軸線(xiàn)與主銷(xiāo)夾角在轉(zhuǎn)向過(guò)程中是不變的,當(dāng)車(chē)輪轉(zhuǎn)過(guò)一個(gè)角度,車(chē)輪軸線(xiàn)就離開(kāi)水平面往下傾斜,致使車(chē)身上抬,勢(shì)能增加。這樣汽車(chē)本身的重力就有使轉(zhuǎn)向輪回復(fù)到原來(lái)中間位置的效果。所以主銷(xiāo)內(nèi)傾角的作用是使車(chē)輪自動(dòng)回正。本組將主銷(xiāo)內(nèi)傾角調(diào)節(jié)為6°左右。減小了賽道面作用于前輪的阻力矩,使舵機(jī)轉(zhuǎn)向更加輕便,同時(shí)車(chē)輪自動(dòng)回正的速度加快。圖3.3調(diào)整上圖的桿長(zhǎng)度可以調(diào)整內(nèi)傾角車(chē)底盤(pán)與地面距離的調(diào)整車(chē)前輪部分離地面的調(diào)整模型車(chē)提供的墊片有1mm和2mm兩種規(guī)格,本組考慮到比賽賽道會(huì)有坡度,不能將底盤(pán)前面降得過(guò)低,否則可能導(dǎo)致底盤(pán)與賽道產(chǎn)生碰撞。所以只使用了2mm規(guī)格的墊片將前半部分離地間隙減小。圖3.4改裝后的照片車(chē)后輪部分離地面的調(diào)整本組采用了車(chē)模提供的卡圈使底盤(pán)后半部離地間隙減小。本組將車(chē)模原配的卡圈A換成卡圈B安裝于C處,使車(chē)模后半部分離地間隙減小。經(jīng)測(cè)試,車(chē)模在底盤(pán)離地間隙調(diào)整后,小車(chē)速度較高過(guò)彎時(shí)穩(wěn)定性增強(qiáng),側(cè)滑減小。

圖3.5改換墊片的照片車(chē)后輪距的調(diào)整本組將車(chē)模原配的調(diào)節(jié)件D換成車(chē)模提供的調(diào)節(jié)件E,使后輪距在原來(lái)基礎(chǔ)上增加了4mm,進(jìn)一步減小了側(cè)滑。圖3.6改換后輪距的圖片車(chē)模轉(zhuǎn)向舵機(jī)機(jī)械結(jié)構(gòu)的設(shè)計(jì)轉(zhuǎn)向系統(tǒng)在車(chē)輛運(yùn)行過(guò)程中有著非常重要的作用,合適的前橋調(diào)整參數(shù)可以保證在車(chē)輛直線(xiàn)行駛過(guò)程中不會(huì)跑偏,即保證車(chē)輛行駛的方向穩(wěn)定性;而在車(chē)輛轉(zhuǎn)向后,合適的前橋可以使得車(chē)輛自行回到直線(xiàn)行駛狀態(tài),即具有好的回正性?;谶@個(gè)原因,前橋參數(shù)調(diào)整及轉(zhuǎn)向系統(tǒng)優(yōu)化設(shè)計(jì)必然會(huì)成為智能車(chē)設(shè)計(jì)中機(jī)械結(jié)構(gòu)部分的重點(diǎn),在實(shí)際操作中,我們通過(guò)理論預(yù)測(cè)進(jìn)行方案的可行性分析,然后做出實(shí)際結(jié)構(gòu)以驗(yàn)證理論數(shù)據(jù)。另外,在模型車(chē)制作過(guò)程中,除了遇到“如何得到良好的方向穩(wěn)定性”的問(wèn)題外,還要考慮如何盡快實(shí)現(xiàn)轉(zhuǎn)向。而由于功率是速度與力矩乘積的函數(shù),追求速度,必然會(huì)使力矩減小,因此設(shè)計(jì)時(shí)就要考慮到舵機(jī)的動(dòng)力與來(lái)自地面的摩擦阻力間的關(guān)系,避免因舵機(jī)力量太小使得車(chē)輛無(wú)法轉(zhuǎn)向的情況發(fā)生。經(jīng)過(guò)最后的參數(shù)比較,為了解決以上問(wèn)題,我們希望通過(guò)設(shè)計(jì)一些可調(diào)整的機(jī)構(gòu),加上實(shí)際測(cè)算,最后得出一套可以穩(wěn)定、高效工作的參數(shù)及機(jī)構(gòu)。

圖3.7改裝后的轉(zhuǎn)向機(jī)構(gòu)測(cè)速機(jī)構(gòu)的設(shè)計(jì)這個(gè)部分的安裝也是機(jī)構(gòu)改裝的一大特點(diǎn),如果編碼器的齒輪和電機(jī)后面的齒輪間隙不適合的話(huà),會(huì)給車(chē)的整體性能帶來(lái)很大的影響。圖3.8編碼器的安裝圖片第4章智能車(chē)硬件設(shè)計(jì)方案硬件方案設(shè)計(jì)概述從最初進(jìn)行硬件電路設(shè)計(jì)時(shí)我們就制定了系統(tǒng)的設(shè)計(jì)目標(biāo):可靠、高效、簡(jiǎn)潔,在整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程中嚴(yán)格按照規(guī)范進(jìn)行??煽啃允窍到y(tǒng)設(shè)計(jì)的第一要求,我們對(duì)電路設(shè)計(jì)的所有環(huán)節(jié)都進(jìn)行了電磁兼容性設(shè)計(jì),做好各部分的接地、屏蔽、濾波等工作,將高速數(shù)字電路與模擬電路分開(kāi),使本系統(tǒng)工作的可靠性達(dá)到了設(shè)計(jì)要求。使用了由分立元件制作的直流電動(dòng)機(jī)可逆雙極型橋式驅(qū)動(dòng)器,該驅(qū)動(dòng)器的額定工作電流可以輕易達(dá)到10A以上,大大提高了電動(dòng)機(jī)的工作轉(zhuǎn)矩和轉(zhuǎn)速。簡(jiǎn)潔是指在滿(mǎn)足了可靠、高效的要求后,為了盡量減輕整車(chē)重量,降低車(chē)體重心位置,應(yīng)使電路設(shè)計(jì)盡量簡(jiǎn)潔,盡量減少元器件使用數(shù)量,縮小電路板面積,使電路部分重量輕,易于安裝。我們?cè)趯?duì)電路進(jìn)行詳細(xì)、徹底的分析后,對(duì)電路進(jìn)行了大量簡(jiǎn)化,并合理設(shè)計(jì)元件排列和電路走線(xiàn),使本系統(tǒng)硬件電路部分的重量、面積都達(dá)到了設(shè)計(jì)要求。硬件電路的實(shí)現(xiàn)整個(gè)智能車(chē)控制系統(tǒng)是由三部分組成的:S12為核心的最小系統(tǒng)板、主板、電機(jī)驅(qū)動(dòng)電路板。最小系統(tǒng)板可以插在主板上組成信號(hào)采集、處理和電機(jī)控制單元。為了減小電機(jī)驅(qū)動(dòng)電路帶來(lái)的電磁干擾,我們把控制單元部分和電機(jī)驅(qū)動(dòng)部分分開(kāi)來(lái),做成了兩塊電路板。4.2.1以S12為核心的單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)板使用MC9s12DG128單片機(jī),112引腳封裝,為減少電路板空間,板上僅將本系統(tǒng)所用到的引腳引出,包括兩路AD轉(zhuǎn)換接口,三路PWM接口,一路計(jì)數(shù)器接口,一路外部中斷接口,16路普通10接口。其他部分還包括電源濾波電路、時(shí)鐘電路、復(fù)位電路、串行通訊接口、BDM接口為提高系統(tǒng)工作穩(wěn)定性。單片機(jī)最小系統(tǒng)板電路原理圖如圖4.1。圖4.1 S12最小系統(tǒng)原理圖單片機(jī)引腳規(guī)劃如下:PAO:速度控制撥碼開(kāi)關(guān)接口;PB0~PB4:調(diào)試LED指示燈;PADO,PAD8:CCD模擬信號(hào)的接口;PTO:編碼器測(cè)速模塊的接口;PJ6,PJ7:LM1881分離信號(hào)的接口;PE1:奇偶場(chǎng)信號(hào)的接口;PS2,PS3:無(wú)線(xiàn)模塊的接口;PP1,PP3.PP5:電機(jī)與舵機(jī)驅(qū)動(dòng)的脈沖信號(hào)輸出;4.2.2車(chē)的主板電路主板上裝有組成本系統(tǒng)的主要電路,它包括如下部件:電源穩(wěn)壓電路、視頻同步分離電路、攝像頭接口、舵機(jī)接口、電機(jī)驅(qū)動(dòng)器接口、編碼器接口、無(wú)線(xiàn)模塊接口、電源接口、單片機(jī)最小系統(tǒng)板插座、開(kāi)關(guān)、指示燈、撥碼開(kāi)關(guān)等。電源穩(wěn)壓電路本系統(tǒng)中電源穩(wěn)壓電路包括三路穩(wěn)壓電路,一路5伏的穩(wěn)壓電路為整個(gè)智能模型車(chē)自動(dòng)控制系統(tǒng)中除后輪驅(qū)動(dòng)電機(jī)和轉(zhuǎn)向舵機(jī)外的所有設(shè)備供電。由于整個(gè)系統(tǒng)中+5V電路功耗較小,為了降低電源紋波,我們決定使用串聯(lián)型穩(wěn)壓電路,另外,后輪驅(qū)動(dòng)電機(jī)工作時(shí),電池電壓壓降較大,為提高系統(tǒng)工作穩(wěn)定性,必須使用低壓降電源穩(wěn)壓芯片,常用的低壓降串聯(lián)穩(wěn)壓芯片主要有LM2940和AS1117,LM2940壓降雖然比AS1117更低,但是電源紋波較大,所以我們最終選擇AS1117設(shè)計(jì)電源穩(wěn)壓電路。電源穩(wěn)壓電路原理圖如圖4.2O其中6伏的穩(wěn)壓電路為舵機(jī)工作供電,3伏的穩(wěn)壓電路為AD采樣提供參考電壓。圖4.25伏電壓的穩(wěn)壓電路圖AS1U7圖4.36伏電壓的穩(wěn)壓電路原理圖AS1U7圖4.36伏電壓的穩(wěn)壓電路原理圖圖4.43伏電壓的穩(wěn)壓電路原理圖視頻同步分離電路我們的智能模型車(chē)自動(dòng)控制系統(tǒng)中使用黑白全電視信號(hào)格式CCD攝像頭采集賽道信息。攝像頭視頻信號(hào)中除了包含圖像信號(hào)之外,還包括了行同步信號(hào)、行消隱信號(hào)、場(chǎng)同步信號(hào)、場(chǎng)消隱信號(hào)以及槽脈沖信號(hào)、前均衡脈沖、后均衡脈沖等。因此,若要對(duì)視頻信號(hào)進(jìn)行采集,就必須通過(guò)視頻同步分離電路準(zhǔn)確地把握各種信號(hào)間的邏輯關(guān)系。我們使用了LM1881芯片對(duì)黑白全電視信號(hào)進(jìn)行視頻同步分離,得到行同步、場(chǎng)同步信號(hào),具體原理不再贅述。視頻同步分離電路原理圖4.5圖4.5視頻同步分離電路

除以上三部分外,主板上還具有攝像頭、舵機(jī)、電機(jī)驅(qū)動(dòng)器、編碼器、無(wú)線(xiàn)通訊模塊、電源、單片機(jī)最小系統(tǒng)板等設(shè)備的接口,并準(zhǔn)備了若干指示燈、開(kāi)關(guān)等用于系統(tǒng)調(diào)試。主板完整電路原理圖如圖4.6.?三一之二二一二f?三一之二二一二f至4a:d7a;士3r三一二K止之二-elhe二一」

3iILj=3:fFd73;=3ra:圖4.6車(chē)的主板電路總原理圖電機(jī)驅(qū)動(dòng)電路電機(jī)驅(qū)動(dòng)板為一個(gè)由分立元件制作的直流電動(dòng)機(jī)可逆雙極型橋式驅(qū)動(dòng)器,其功率元件由四支N溝道功率MOSFET管組成,額定工作電流可以輕易

達(dá)到10A以上,大大提高了電動(dòng)機(jī)的工作轉(zhuǎn)矩和轉(zhuǎn)速。該驅(qū)動(dòng)器主要由以下部分組成:PWM信號(hào)輸入接口、邏輯換向電路、電源電路、上橋壁功率MOSFET管柵極驅(qū)動(dòng)電壓泵升電路、功率MOSFET管柵極驅(qū)動(dòng)電路、橋式功率驅(qū)動(dòng)電路、緩沖保護(hù)電路等。電機(jī)驅(qū)動(dòng)板電路原理圖如圖4.7所示圖4.7電機(jī)驅(qū)動(dòng)電路原理圖速度傳感器為了提高速度測(cè)量的精度和減少機(jī)械安裝的工作量,我們選擇歐姆龍旋轉(zhuǎn)式速度傳感器,這是一種高度集成的傳感器,使用起來(lái)非常方便,減少了智能車(chē)開(kāi)發(fā)的過(guò)程時(shí)間。安裝如圖4.8所示。

圖4.9編碼器的圖片攝像頭概述本智能車(chē)尋線(xiàn)采用CCD圖像傳感器方式,它是普通單板攝像頭。普通CCD圖像傳感器通過(guò)行掃描方式,將圖像信息轉(zhuǎn)換為一維的視頻模擬信號(hào)輸出。信號(hào)一行有效的圖像信只有64微秒的傳輸時(shí)間,所以要對(duì)圖像進(jìn)行高精度的采樣就必須要用到高速的ADCo微控制器MC9S12DG128上的ADC并不能稱(chēng)為高速,通過(guò)寄存器設(shè)置ADC可以在兩種工作方式下工作,-是單次采樣,二是連續(xù)采樣。ADC工作方式的選擇可以通過(guò)寄存器ATDCTL5上的SCAN位來(lái)實(shí)現(xiàn),當(dāng)SCAN位置1時(shí),ADC工作在連續(xù)采樣模式下。為了采樣到更多的信號(hào),ADC要工作在連續(xù)采樣模式下。通過(guò)實(shí)驗(yàn)證明,微控制器MC9S12DG128上的ADC在總線(xiàn)頻率為50MHz的情況下,(在外部晶振為16MHz情況下,設(shè)置微控制器的鎖相環(huán),總線(xiàn)頻率可以達(dá)到50MHz)一行最多大約可以采樣70個(gè)點(diǎn),但是如果用C語(yǔ)言的數(shù)組來(lái)傳遞采樣數(shù)據(jù)的話(huà),因?yàn)閿?shù)組尋址也是要消耗一點(diǎn)時(shí)間的,所以一行最多能采樣大約45個(gè)點(diǎn),其中去掉行消隱信號(hào),正真有用的圖像信號(hào)就只有38個(gè)點(diǎn)。在說(shuō)明微控制器怎樣采集圖像之前要先介紹整個(gè)采集圖像的硬件系統(tǒng)。在整個(gè)視頻信號(hào)里面要采樣的是圖像信號(hào),所以要利用同步信號(hào)來(lái)控制ADC的采樣時(shí)刻才能準(zhǔn)確的對(duì)圖像信號(hào)進(jìn)行采樣。在硬件系統(tǒng)中利用芯片LM1881來(lái)獲得視頻信號(hào)中的行同步信號(hào)和場(chǎng)同步信號(hào),行同步信號(hào)接到微控制器的外部中斷口,場(chǎng)同步信號(hào)接到GPI0口o視頻信號(hào)接到ADC的通道。一行有用的圖像信號(hào),微控制器MC9S12DG128上的ADC最多只能采樣38個(gè)點(diǎn),但是這樣,行信號(hào)上的分辨率就會(huì)比較低,在進(jìn)行高精度控制的時(shí)候,這點(diǎn)就顯得不夠。所以采用以下的辦法來(lái)解決,就是把CCD圖像傳感器轉(zhuǎn)過(guò)90度來(lái)安裝,那么原來(lái)一場(chǎng)312行信號(hào)就變成了312“列”信號(hào)。也就是路面實(shí)際的橫坐標(biāo)就由312個(gè)點(diǎn)來(lái)表示。這樣就可以大大提高橫坐標(biāo)的分辨率,為控制算法的設(shè)計(jì)建立一個(gè)良好的物理平臺(tái)。無(wú)線(xiàn)傳輸模塊在研究小車(chē)控制算法的時(shí)候,有很多量是要知道。比如說(shuō):要知道CCD圖像傳感器采集到的圖像是否正確;采集到的圖像到底是什么樣子;小車(chē)在運(yùn)行過(guò)程中,偏差量是多少;控制算法輸出的控制量又是多少;控制結(jié)果符不符合要求,等等。這些數(shù)據(jù)對(duì)用于分析小車(chē)性能和設(shè)計(jì)控制算法都是很必要和很有好處。所以在小車(chē)運(yùn)行的時(shí)候,使用一塊無(wú)線(xiàn)串口通訊模塊來(lái)獲得得到這些數(shù)據(jù)。通過(guò)無(wú)線(xiàn)串口通訊模塊,微控制器使用串口就可以與PC機(jī)通訊,這樣微控制器就可以把數(shù)據(jù)實(shí)時(shí)地傳送到PC機(jī)上。圖4.10無(wú)線(xiàn)模塊的圖片第5章智能車(chē)速度控制方案的設(shè)計(jì)速度控制器的設(shè)計(jì)概述通過(guò)查閱叢多的文獻(xiàn)資料,我們對(duì)多種常用速度控制器的設(shè)計(jì)方法進(jìn)行比較,我們最終選用閉環(huán)的PID控制算法來(lái)控制小車(chē)的運(yùn)行速度。電機(jī)運(yùn)行速度的物理實(shí)現(xiàn)方案智能車(chē)的速度控制是利用單片機(jī)發(fā)出的PWM脈寬信號(hào)控制電機(jī)驅(qū)動(dòng)芯片驅(qū)動(dòng)電機(jī)來(lái)達(dá)到模型賽車(chē)車(chē)速控制的。小車(chē)的加減速性能十分重要。當(dāng)PWM占空比為0時(shí),小車(chē)能獲得最大的加速度。當(dāng)小車(chē)須要減速時(shí),可撤消加在電機(jī)兩端的電壓,或者用能耗制動(dòng),或者用反接制動(dòng)。三種方法的減速性能如圖5.1所示。易見(jiàn)反接制動(dòng)的效果比其余兩種方法要好。且在H橋電路中易于實(shí)現(xiàn),因此在本系統(tǒng)中采用加反壓的方法來(lái)實(shí)現(xiàn)減速。

圖5.1三種方法實(shí)現(xiàn)停車(chē)制動(dòng)的比較圖被控對(duì)象結(jié)構(gòu)及參數(shù)的確定對(duì)被控對(duì)象的結(jié)構(gòu)及參數(shù)的獲得是通過(guò)試驗(yàn)的方法先建立簡(jiǎn)化數(shù)學(xué)模型,然后在有效數(shù)據(jù)基礎(chǔ)上用系統(tǒng)辨識(shí)的方法來(lái)求得。在系統(tǒng)的結(jié)構(gòu)上,設(shè)電機(jī)輸出力矩為T(mén),忽略電機(jī)自身的轉(zhuǎn)動(dòng)慣量,設(shè)除加速阻力外其余阻力與角速度成正比,則

電動(dòng)機(jī)產(chǎn)生的力矩?、伺c電動(dòng)機(jī)的電樞電流2)成比例,即TQ)=KTi(ty另設(shè)電動(dòng)機(jī)電樞的反電動(dòng)勢(shì)匕⑺與旋轉(zhuǎn)速度。⑴,有下列關(guān)系另設(shè)電動(dòng)機(jī)電樞的反電動(dòng)勢(shì)匕⑺與旋轉(zhuǎn)速度。⑴,有下列關(guān)系由基爾霍夫電壓定律得di叱+??)+%?)?at對(duì)上式進(jìn)行拉氏變化,并設(shè)。(0)=0,得3+Q)Q(s)=T(s)T(s)=KtIQs)匕(s)=K.Q(s) -匕(s)=(小+#"(£)+《(£)?消去T(s),/(s),匕(s)得到從輸入電壓匕(s)到轉(zhuǎn)角速度。(s)的傳遞函數(shù)為%)_如_k%)_如_kt匕(s)UV+(RJ+DDs+RD+KXt

■因此,該系統(tǒng)的結(jié)構(gòu)為:系統(tǒng)辨識(shí)實(shí)驗(yàn)設(shè)計(jì)需要完成:確定輸入信號(hào)、采樣周期、辨識(shí)時(shí)間和辨識(shí)模式。采樣周期要滿(mǎn)意滿(mǎn)足采樣定理,即采樣頻率不能低于信號(hào)截止頻率的2倍,此外,還要考慮辨識(shí)的算法,控制計(jì)算速度和檢測(cè)元件的響應(yīng)速度等。工程中常用的采樣公式為T(mén)0=T95/(5?15)TO表示采樣周期,T95表示過(guò)程階躍響應(yīng)達(dá)到穩(wěn)態(tài)值95%所需要的調(diào)節(jié)時(shí)間。這里采樣時(shí)間取0.05s,能滿(mǎn)意以上要求。在系統(tǒng)實(shí)際運(yùn)行過(guò)程中,單片機(jī)輸出PWM波形,控制驅(qū)動(dòng)電路的電壓輸出。單片機(jī)使用??個(gè)8位的寄存器(調(diào)節(jié)范圍為0~255,設(shè)其值為u)對(duì)PWM的占空比進(jìn)行控制,電池電壓約為7V,加在電機(jī)兩端的電壓約為‘-x7v。255電機(jī)驅(qū)動(dòng)電路的輸入輸出關(guān)系是一個(gè)比例的關(guān)系。因此,這里把驅(qū)動(dòng)電路和電機(jī)組成的系統(tǒng)看成被控對(duì)象。這樣,被控對(duì)象的輸入是PWM波形,輸出是電機(jī)的轉(zhuǎn)速。圖5.1鋸齒波響應(yīng)曲線(xiàn)為了確定參數(shù)匕,k2,k3,原做了被控對(duì)象鋸齒波開(kāi)環(huán)響應(yīng)實(shí)驗(yàn)。其輸入為不同占空比的PWM波形,輸出是電機(jī)轉(zhuǎn)速。為了表述的方便,PWM占空比用控制單片機(jī)PWM輸出的寄存器的值來(lái)表示,其調(diào)節(jié)范圍從0到255,當(dāng)為0時(shí),電機(jī)得到的輸入電壓為0V,當(dāng)為255時(shí),電機(jī)得到的輸入電壓約為電池電壓;電機(jī)的轉(zhuǎn)速用每50ms得到的編碼器傳來(lái)的脈沖個(gè)數(shù)來(lái)表示。以下的實(shí)驗(yàn)的PWM占空比和電機(jī)轉(zhuǎn)速也用這種方式表述。圖3-4是顯示的數(shù)據(jù)是實(shí)際系統(tǒng)辨識(shí)中所用的數(shù)據(jù),下方顯示的是輸入信號(hào),上方顯示的是電機(jī)的轉(zhuǎn)速。采用以上數(shù)據(jù),用Matlab系統(tǒng)辨識(shí)工具箱ident辨識(shí)系統(tǒng)。這里,因?yàn)榈玫搅讼到y(tǒng)的傳遞函數(shù)結(jié)構(gòu),因此使用ident的參數(shù)模型辨識(shí)工具辨識(shí)。得到的常數(shù)值占,k2,卜,卻分別為:k、=0.331

k2—0.826%3=1.818k4=1因此,被控對(duì)象的傳遞函數(shù)為G(s)=0.331G(s)=0..82652+1,8185+T5.4PID控制參數(shù)的設(shè)定在PID控制器中,參數(shù)kp,ki,kd的整定是十分重要的,其好壞直接影響調(diào)節(jié)品質(zhì)。Matlab的sisotool工具箱提供了連續(xù)系統(tǒng)PID控制算法參數(shù)整定的功能。其介面如圖3-7所示。選用其中的Ziegler-Nichols整定算法整定。確定的參數(shù)為kp=27.55ki=10.47kd=3.40。圖5.2圖5.2在MATLABSISOTOOL工具箱進(jìn)行PID參數(shù)整定5.5G(s)0.3315.5G(s)0.331圖5.3智能車(chē)速度控制的實(shí)現(xiàn)流程圖第6章智能車(chē)軟件設(shè)計(jì)方案圖像的采集和圖像的處理智能車(chē)的運(yùn)動(dòng)主要是跟蹤黑色軌跡線(xiàn)來(lái)行駛,所以要使車(chē)跑動(dòng)的狀態(tài)處于最佳和行駛的速度最快,首先要處理的問(wèn)題就是圖像的采集和處理。圖像的采集我們車(chē)的硬件系統(tǒng)中沒(méi)有采用外部加AD方案,所以單片機(jī)采樣的速度得不到最好的提升。經(jīng)過(guò)多我們的討論和論證,我們決定采用單片機(jī)中兩路AD進(jìn)行交替使用工作,使我們的單片機(jī)的采樣速度得到了提高。部分代碼如下:ATD0CTL5=128;ATD1CTL5=128;for(CurPoinl=0;CurPoint<X;CurPoint++){ccd_data_temp[CurLine][CurPoint]=ATDODROL;ATD0CTL5=128;CurPoint++;ccd_data_temp[CurLine][CurPoint]=ATDlDROL;ATD1CTL5=128h圖像的處理1.2.1黑色軌跡的尋找在一幅50X60象素的圖片中尋找黑色軌跡。下面的一組數(shù)據(jù)就是ADC采樣視頻信號(hào)所得到的數(shù)據(jù):圖6.1是CCD圖像傳感器采集到的圖像。圖6.1CCD所拍的賽道圖像下面的數(shù)據(jù)是ADC采樣圖6.2的第十五行圖像的值:可以看出,黑色是有一個(gè)閥門(mén)值,只要采樣數(shù)據(jù)小于該閥門(mén)值就可以認(rèn)為黑色。一般來(lái)說(shuō),在沒(méi)有很大干擾的情況下,黑色的閥門(mén)值為40左右。有了黑色閥門(mén)值要尋找黑色軌跡線(xiàn)就比較簡(jiǎn)單。由于黑色軌跡線(xiàn)是以白色作為底色,環(huán)境干擾不大。所以選擇圖像處理中比較簡(jiǎn)單的辦法——邊沿檢測(cè)算法。ADC采樣得到的采樣值是用數(shù)組保存,那么數(shù)組的下標(biāo)就表示該數(shù)在圖像中的坐標(biāo)。首先從圖像的左邊開(kāi)始尋找黑色軌跡線(xiàn),在遇到小于黑色閥門(mén)值時(shí)就認(rèn)為找到黑色軌跡線(xiàn)的左邊沿,記下此數(shù)的下標(biāo);然后再繼續(xù)尋找,把最后一個(gè)小于黑色閥門(mén)值的數(shù)的位置認(rèn)為是黑色軌跡線(xiàn)的右邊沿,記下此數(shù)的下標(biāo);然后把這兩個(gè)下標(biāo)求和取中間值,就認(rèn)為這個(gè)代表了這一行黑色軌跡線(xiàn)的中心位置。其他行類(lèi)推。彎道的識(shí)別我們采用的PID控制算法的系數(shù)是要根據(jù)動(dòng)態(tài)軌道的具體情況來(lái)作出相應(yīng)調(diào)整,為了使車(chē)能夠很好的過(guò)彎,所以必須通過(guò)圖像處理來(lái)獲得軌道的實(shí)時(shí)情況。.1圖像中有效信號(hào)的尋找按照上面的辦法,黑色軌跡線(xiàn)被處理成一根細(xì)線(xiàn),每一行只用一個(gè)點(diǎn)來(lái)表示軌跡線(xiàn)的中心位置。但是在一場(chǎng)圖像中,并不是所有的行都會(huì)有黑色軌跡線(xiàn)的信號(hào)。如圖6.3;可以看出,圖像中前兒行是沒(méi)有黑色信號(hào),它們?cè)谟?jì)算軌跡彎道的時(shí)候沒(méi)有使用價(jià)值,是屬于“無(wú)效的信號(hào)”,所以在計(jì)算軌跡彎道的之前需要尋找出圖像的有效信號(hào)。一般這樣認(rèn)為,圖像中最下面的一行是離小車(chē)最近,從這一行開(kāi)始向上尋找黑色軌跡線(xiàn),只要找到一行中沒(méi)有軌跡線(xiàn)就認(rèn)為前面的信號(hào)都是無(wú)效信號(hào)。這樣就可以把圖圖像分割成兩部分,有效部分和無(wú)效部分。

圖6.3賽道彎道的情況圖.2軌跡彎道的計(jì)算在找出圖像中有效部分之后,就可以利用有效圖像來(lái)計(jì)算軌跡線(xiàn)的彎道。用下面的辦法來(lái)計(jì)算:首先,把有效部分的圖像平均分割成四部分,如圖6.4;然后每一部分的首尾行的黑色軌跡線(xiàn)中心點(diǎn)的坐標(biāo)相減,如:(X1-X2);再?gòu)纳系较掳严噜弮刹糠炙玫降牟钪翟傧鄿p,如:(X1-X2)-(X2-X3);最后把所得的差值求和,把這個(gè)和值稱(chēng)之為彎道值。公式如下:彎道值=[。17(2)-。27(3)]+[。37(4)-尊47(5)]。它是一個(gè)與彎道大小有關(guān)的值,彎道曲率越大,彎道值就越大。圖6.4軌跡彎道的計(jì)算

6.1.3軌跡彎道值的補(bǔ)償由于CCD圖像傳感器安裝位置的關(guān)系,它的視野是一個(gè)梯形,遠(yuǎn)處寬近處窄。也就是說(shuō)CCD圖像傳感器看遠(yuǎn)處時(shí),兩個(gè)象素之間對(duì)應(yīng)的實(shí)際距離要比近處的大。這種效果會(huì)造成CCD圖像傳感器采集到的圖像發(fā)生變形。圖6.6是CCD圖像傳感器采集矩形圖像圖6.5時(shí)的圖像。圖6.7是CCD圖像傳感器采集直線(xiàn)時(shí)的實(shí)際效果。很明顯,它發(fā)生彎曲變形:圖6.5實(shí)際形狀圖6.6CCD傳感器采集的圖像圖6.7CCD傳感器采集的圖像這種效果使得微控制器在計(jì)算引導(dǎo)軌跡的彎道時(shí)出現(xiàn)很大誤差,所以在計(jì)算彎道值之后還要對(duì)彎道值進(jìn)行補(bǔ)償。本文討論的補(bǔ)償方法是為了減少微控制器在計(jì)算軌跡線(xiàn)彎道時(shí)產(chǎn)生的誤差。所以只是用估算的辦法來(lái)解決。首先要了解清楚造成誤差的大小與什么有關(guān),用圖6.8,圖6.9和圖6.10來(lái)說(shuō)明。(這三張圖像是用CCD圖像傳感器采集直線(xiàn)時(shí)的圖像)。圖6.8與圖6.9比較,圖6.8的直線(xiàn)偏離中心位置比圖6.9的?。▓D6.8偏離中心位置的值為20,圖6.9偏離中心位置的值為29),根據(jù)上面介紹的計(jì)算彎道的方法計(jì)算到的值為:圖6.9的為5,圖6.9的為7;圖6.9與圖6.10比較,圖6.9中的直線(xiàn)有效圖像部分比圖6.10的大(圖6.9圖像有效部分的值為30,圖6.10圖像有效部分的值為20),根據(jù)上面介紹的計(jì)算彎道的方法計(jì)算到的值為:圖6.9的為7,圖6.10的為6;根據(jù)數(shù)據(jù)知道:彎道誤差與有效圖像的大小有關(guān)而且與軌跡線(xiàn)離中心位置的大小有關(guān)。根據(jù)測(cè)得的數(shù)據(jù)計(jì)算可得下面的補(bǔ)償公式:補(bǔ)償值=有效圖像大小/7+偏離中心線(xiàn)位置大小/12。補(bǔ)償后,計(jì)算的值為:圖6.8的值為1;圖6.9的值為0,圖6.10的值為0。圖6.10采集的宜線(xiàn)圖像6.2上位機(jī)調(diào)試平臺(tái)的設(shè)計(jì)無(wú)線(xiàn)串口通訊模塊在研究小車(chē)控制算法的時(shí)候,有很多量是要知道。比如說(shuō):要知道CCD圖像傳感器采集到的圖像是否正確;采集到的圖像到底是什么樣子;小車(chē)在運(yùn)行過(guò)程中,偏差量是多少;控制算法輸出的控制量又是多少;控制結(jié)果符不符合要求,等等。這些數(shù)據(jù)對(duì)用于分析小車(chē)性能和設(shè)計(jì)控制算法都是很必要和很有好處。所以在小車(chē)運(yùn)行的時(shí)候,使用一塊無(wú)線(xiàn)串口通訊模塊來(lái)獲得得到這些數(shù)據(jù)。通過(guò)無(wú)線(xiàn)串口通訊模塊,微控制器使用串口就可以與PC機(jī)通訊,這樣微控制器就可以把數(shù)據(jù)實(shí)時(shí)地傳送到PC機(jī)上。利用VISUALBASIC6.0設(shè)計(jì)小車(chē)的控制平臺(tái)有了無(wú)線(xiàn)串口通訊模塊,智能車(chē)就有了與PC通訊的物理?xiàng)l件。但是還是要有軟件支持才能正常使用。在PC機(jī)上的編程,選擇在界面設(shè)計(jì)方面有很大優(yōu)勢(shì)的VISUALBASIC6.0來(lái)設(shè)計(jì)智能車(chē)控制平臺(tái)。打開(kāi)VISUALBASIC6.0界面,首先要添加一個(gè)串口控件,這樣就可以使用PC機(jī)上的串口。

ComponentsControlsIDesigners|InsertableObjects|tttttt££££££ooooootttttt££££££oooooossszsXoooooorrrrrrcccccc?1-X*x-X*1-1MMMMMM□□口口口口A(yíng)ctiveXPluginADODataControl6.0(OLEDB)Ac?ntControl2.0CalendarControl8.0ChartControl60(OLEDB)3MicrosoftCommControl6.0MicrozoftCommonDialogControl6.0CSMicrosoftDataBoundGridControl5.0EZiMicrosoftDataBoundListControls6.CI'Microso£tDat&GridCon.trol8.06P5)I□MicrosoftDataListControls60(OLEDE3MicrosoftCommControl6.0r~SelectedRemsOnly-:-)VideoSoftvsFlex3ControlsLocation:C:\WINDOWS\system32\VSFLEX3.OCX確定|取消|應(yīng)用2) |圖6.11添加串口通訊控件要完成這個(gè)程序設(shè)計(jì),還要用到幾個(gè)控件,如下:PictureBox控件就,用來(lái)裝載CCD圖像傳感器采集到的圖像,在PictureBox控件里面,可以用PictureBox.line函數(shù)來(lái)把CCD圖像傳感器采集到的圖像畫(huà)出來(lái)。CommandButton控件」,用來(lái)觸發(fā)一些事件,改變程序的流程。Label控件A,用來(lái)顯示一些文字或者數(shù)據(jù)。Timer控件0,用來(lái)定時(shí)檢測(cè)串口,這樣可以讓程序在一些突發(fā)事件中跳出。圖6.12就是整個(gè)完整的界面圖:功能介紹:本控制平臺(tái)是配合小車(chē)上的程序一起使用的,可以命令小車(chē)采集圖像,啟動(dòng)小車(chē),讓它自動(dòng)運(yùn)行,可以停止運(yùn)行中的小車(chē)。也可以手動(dòng)控制小車(chē)。可以顯示小車(chē)發(fā)送過(guò)來(lái)的車(chē)速以及車(chē)的轉(zhuǎn)角。程序流程圖如圖6.13(只寫(xiě)主要部分):圖6.12小車(chē)調(diào)試過(guò)程中控制的平臺(tái)圖6.13小車(chē)控制平臺(tái)的程序流程圖6.3智能車(chē)控制算法的設(shè)計(jì)常規(guī)PI控制算法設(shè)計(jì)首先分析一下,用什么控制算法才可以令小車(chē)穩(wěn)定在某個(gè)速度下。在負(fù)載不變的情況下,小車(chē)要穩(wěn)定在某個(gè)速度下就要求輸出給電機(jī)的控制量恒定在某個(gè)值,誤差的比例控制算法是不能滿(mǎn)足這個(gè)要求的。因?yàn)?旦誤差量為零的時(shí)候,比例控制算法輸出的控制量就為零。而且這個(gè)控制量根據(jù)不同的負(fù)載是不一樣,所以我們不能根據(jù)不同的速度來(lái)標(biāo)定輸出量,并且小車(chē)要從靜止開(kāi)始運(yùn)動(dòng)然后穩(wěn)定在某個(gè)速度下是要經(jīng)過(guò)加速。要獲得好的加速性能就必須使得小車(chē)在最大控制量情況下就行加速。綜上所述,控制算法里面是要到積分,不管是輸出量的積分還是誤差量的積分。為了加速小車(chē)的響應(yīng),還要加上比例控制。所以選擇PI控制算法。下面就是根據(jù)PI控制算法所得到的數(shù)據(jù),其中積分量是誤差量的積分,實(shí)驗(yàn)方法同上。給定的速度值是20,分別測(cè)到有負(fù)載和無(wú)負(fù)載數(shù)據(jù)。用曲線(xiàn)來(lái)表示:圖6T4主要程序如下:speed_error_value[0]=motor_speed-motor_specd_register[0];〃誤差量speed_control_value+=speed_error_value[0];//積分speed_control=speed_control_value+speed_error_value[0]+SPEED_CENTER;改變給定的速度值,重做實(shí)驗(yàn)。給定的速度值是60。用曲線(xiàn)來(lái)表示:圖6-15圖6-14給定速度為20圖6T5給定速度值為60從上面測(cè)得的數(shù)據(jù)可以得出兩個(gè)結(jié)論:第一,在相同的控制算法下,不同負(fù)載情況,控制效果很明顯的不一樣。負(fù)載小的沒(méi)有出現(xiàn)過(guò)多超調(diào)與振蕩,然而,負(fù)載大的出現(xiàn)很大的超調(diào)量與振蕩??刂菩Ч浅2?。小車(chē)跟蹤軌跡線(xiàn)控制算法的設(shè)計(jì)我們?cè)谡{(diào)試之中發(fā)現(xiàn),在控制小車(chē)運(yùn)動(dòng)時(shí),最主要是控制好小車(chē)上的舵機(jī),小車(chē)才能夠平穩(wěn)跟蹤軌跡線(xiàn)。在舵機(jī)的控制上面,我們采用的是PD算法來(lái)進(jìn)行控制。.1小車(chē)運(yùn)動(dòng)模型的分析物體在空間的運(yùn)動(dòng)可以分為六個(gè)自由度。但由于小車(chē)只是在平面上運(yùn)動(dòng)(忽略路面不平產(chǎn)生的上下運(yùn)動(dòng)),所以小車(chē)只有三個(gè)自由度,就是沿X軸方向平動(dòng),沿Y軸方向平動(dòng)和繞Z轉(zhuǎn)動(dòng)。如圖6.16:圖6.16小車(chē)空間模型在這三種運(yùn)動(dòng)中,繞Z轉(zhuǎn)動(dòng)運(yùn)動(dòng)可以看成是沿X軸方向平動(dòng)和沿Y軸方向平動(dòng)的合成,所以小車(chē)系統(tǒng)只有兩種運(yùn)動(dòng),就是沿X軸方向平動(dòng)和沿Y軸方向平動(dòng)。沿X軸方向的平動(dòng)是由直流電機(jī)驅(qū)動(dòng)產(chǎn)生,前一節(jié)已經(jīng)詳細(xì)地討論小車(chē)的速度控制問(wèn)題?,F(xiàn)在要解決的就是小車(chē)沿Y軸方向的平動(dòng)問(wèn)題,也就是小車(chē)的橫向控制??刂菩≤?chē)的橫向運(yùn)動(dòng)是靠控制舵機(jī)來(lái)實(shí)現(xiàn)。下面討論的內(nèi)容是排除了小車(chē)車(chē)輪與地面發(fā)生滑動(dòng)的情況。因?yàn)楫?dāng)小車(chē)速度大,舵機(jī)存在偏角,路面與車(chē)之間的摩擦力不足以提供小車(chē)做圓周運(yùn)動(dòng)時(shí)所需要的向心力時(shí),小車(chē)就會(huì)發(fā)生滑動(dòng),為了安全過(guò)彎,小車(chē)速度不能過(guò)大,所以暫不討論這種情況。舵機(jī)轉(zhuǎn)動(dòng)時(shí)就會(huì)使得車(chē)輪與小車(chē)產(chǎn)生一個(gè)角度,這時(shí)當(dāng)電機(jī)驅(qū)動(dòng)小車(chē)沿X軸方向運(yùn)動(dòng)時(shí),只要舵機(jī)的偏角不變,小車(chē)運(yùn)動(dòng)的軌跡就不是直線(xiàn),而是一個(gè)圓。軌跡圓的半徑取決于舵機(jī)偏角的大小。那么當(dāng)舵機(jī)從一個(gè)偏角擺到另一個(gè)偏角時(shí),小車(chē)的運(yùn)動(dòng)軌跡就不再是圓而是近似漸開(kāi)線(xiàn),小車(chē)速度越大,就越明顯。這種情況很容易發(fā)生在小車(chē)從直道進(jìn)入彎道的時(shí)候,當(dāng)小車(chē)提前檢測(cè)到彎道時(shí),微控制器就給舵機(jī)轉(zhuǎn)彎命令,這時(shí)小車(chē)運(yùn)動(dòng)的軌跡就是漸開(kāi)線(xiàn)。如圖6.17

星包圖6.17星包圖6.17小車(chē)的漸開(kāi)線(xiàn)軌跡所以結(jié)論就是在小車(chē)運(yùn)動(dòng)過(guò)程中,它的軌跡只有三種:第一,舵機(jī)擺正,小車(chē)軌跡是直線(xiàn)。第二,舵機(jī)恒定在某個(gè)偏角,小車(chē)的軌跡是圓。第三,舵機(jī)從一個(gè)偏角變?yōu)榱硪粋€(gè)偏角的過(guò)程中,小車(chē)的運(yùn)動(dòng)軌跡是近似漸開(kāi)線(xiàn)。小車(chē)的實(shí)際軌跡就是這三種軌跡的組合??刂浦芷诘倪x擇在控制系統(tǒng)中,控制周期T對(duì)系統(tǒng)的控制也是重要,既不是越小越好也不是越大越好。有可能的話(huà),一般取系統(tǒng)中最大時(shí)間常數(shù)的十分之一就足夠。在智能車(chē)系統(tǒng)中,時(shí)間常數(shù)最大的就是舵機(jī)。但是在智能車(chē)系統(tǒng)中,還有一個(gè)環(huán)節(jié)限制了控制周期的選擇,那就是CCD圖像傳感器。在前面的檢測(cè)系統(tǒng)中已經(jīng)介紹過(guò),小車(chē)系統(tǒng)是用CCD圖像傳感器來(lái)檢測(cè)黑色軌跡線(xiàn),而CCD圖像傳感器輸出的信號(hào)是符合PALL制黑白電視信號(hào)。該信號(hào)最重要的信息就是20毫秒傳送一場(chǎng)圖像信號(hào),40亳秒傳送一幀圖像信號(hào)。為了按照一場(chǎng)圖像信號(hào)信息來(lái)控制小車(chē)以及不破壞一場(chǎng)圖像的完整性,選擇的控制周期T必須是20毫秒或者是20毫秒的整數(shù)倍??刂浦芷诓豢梢赃^(guò)大,所以選擇了20毫秒作為小車(chē)的控制周期。但是這里有個(gè)矛盾,就是假如在20毫秒中,微控制器都是用來(lái)處理采樣CCD圖像傳感器輸出的視頻信號(hào),那微控制器就是沒(méi)有空余時(shí)間去處理圖像信號(hào)以及對(duì)小車(chē)進(jìn)行控制。隔行采樣可以解決這個(gè)問(wèn)題。在312行的視頻信號(hào)中,只采樣60行。也就是在20毫秒中只用五分之一的時(shí)間來(lái)采樣視頻信號(hào),五分之四的時(shí)間留給圖像處理以及控制算法。橫向糾偏控制算法的設(shè)計(jì)根據(jù)前面的分析可知,小車(chē)在舵機(jī)的作用下,運(yùn)動(dòng)軌跡是三種基本軌跡的合成。根據(jù)平面跑道要么是直線(xiàn)要么就是圓弧的特點(diǎn),小車(chē)只需要兩種運(yùn)動(dòng),-是直線(xiàn)運(yùn)動(dòng),二是圓周運(yùn)動(dòng)。這兩種運(yùn)動(dòng)要求舵機(jī)要么擺直,要么恒定在某個(gè)偏角。但是由于舵機(jī)動(dòng)態(tài)過(guò)程的時(shí)間參數(shù)比較大,所以小車(chē)的螺旋線(xiàn)軌跡運(yùn)動(dòng)就不能忽略,特別是速度快時(shí),更不能忽略。所以需要中間動(dòng)態(tài)調(diào)整過(guò)程。舵機(jī)作用是調(diào)整小車(chē)的狀態(tài),以便跟蹤黑色軌跡線(xiàn)。在這里,整個(gè)系統(tǒng)也是進(jìn)行閉環(huán)控制。假如說(shuō)給定輸入就是軌跡線(xiàn)在小車(chē)的中間(根據(jù)控制策略的不一樣,也可以把軌跡線(xiàn)在小車(chē)的一邊作為給定輸入),反映到CCD圖像傳感器就是黑色軌跡線(xiàn)是在圖像的中間。在實(shí)際的檢測(cè)中,如果黑色不是在圖像的中間,就是與給定輸入存在偏差,那么就可以根據(jù)這個(gè)偏差來(lái)調(diào)整小車(chē)。閉環(huán)控制的框架如圖6.18:圖6.18小車(chē)橫向的閉環(huán)控制與控制電機(jī)時(shí)有點(diǎn)不一樣的就是,這個(gè)閉環(huán)系統(tǒng)的執(zhí)行機(jī)構(gòu)舵機(jī)本身也是一個(gè)閉環(huán)控制系統(tǒng),它輸出的偏角與控制信號(hào)是一個(gè)線(xiàn)性關(guān)系(在3.3轉(zhuǎn)彎系統(tǒng)中有說(shuō)明)。那么就是說(shuō)舵機(jī)要產(chǎn)生一個(gè)偏角,那么微捽制器只需要給舵機(jī)一個(gè)相應(yīng)的控制信號(hào)。因?yàn)樵谟布蠜](méi)有做到舵機(jī)與微控制器之間的閉環(huán),所以舵機(jī)從一個(gè)偏角到另一個(gè)偏角之間的動(dòng)態(tài)性能就沒(méi)有辦法改變。所以過(guò)渡過(guò)程是需要控制算法來(lái)調(diào)整。很明顯,這個(gè)系統(tǒng)也是根據(jù)偏差來(lái)控制小車(chē)狀態(tài),所以也可以利用PID控制算法來(lái)控制小車(chē)。至于PID控制算法各個(gè)環(huán)節(jié)的作用在6.4.3變速PID控制算法的設(shè)計(jì)中給出了解釋?zhuān)谶@里不再重復(fù)說(shuō)明。為了使得在偏差為零時(shí),舵機(jī)的偏角為零,所以用舵機(jī)偏角為零時(shí)需要的控制信號(hào)作為基準(zhǔn),在PID控制算法不起作用時(shí),這個(gè)基準(zhǔn)還是存在,讓小車(chē)直走。由以上的分析可知,在直線(xiàn)跑道上調(diào)整小車(chē)的狀態(tài)只需要PD控制控制算法,因?yàn)槠顬榱銜r(shí)(也就是調(diào)整到與給定輸入一樣時(shí)),PD控制不起作用(因?yàn)镻D控制是有差控制),那么小車(chē)直走。但是在彎道上,因?yàn)閺澋朗且粋€(gè)圓弧,那么舵機(jī)應(yīng)該保持一個(gè)偏角過(guò)彎,就算偏差為零時(shí),也應(yīng)該保持在一個(gè)偏角上。要達(dá)到這個(gè)功能,那么就要積分的功能。要不然小車(chē)過(guò)彎的軌跡就會(huì)是類(lèi)似Z型。如圖6.19:但是在這里的積分使用的是偏差變化量的積分,而不是用偏差的積分。因?yàn)橹灰钭兓繛榱?,那么就是說(shuō)小車(chē)運(yùn)動(dòng)的圓軌跡的半徑就與跑道的圓半徑一樣,不需要在進(jìn)行調(diào)整。至于是否還存在偏差,那是PD控制算法調(diào)整的對(duì)象??偨Y(jié)以上分析,控制舵機(jī)的控制算法選擇偏差的比例微分和偏差變化量的積分控制。偏差量的標(biāo)定在PID控制算法里面,偏差是一個(gè)非常重要的量。因?yàn)檎麄€(gè)控制算法都是基于偏差進(jìn)行。所以如果得不到偏差或者偏差不準(zhǔn)確,那么就沒(méi)辦法控制小車(chē)。所以要在圖像中對(duì)偏差進(jìn)行標(biāo)定。對(duì)舵機(jī)的控制是橫向控制,所以要尋找小車(chē)與跑道橫向的偏差。在黑色軌跡的尋找中分析了黑色軌跡線(xiàn)是如何尋找,黑色軌跡線(xiàn)被提取成一條細(xì)線(xiàn)。一場(chǎng)圖像的分辨率是50X60,由于CCD圖像傳感器是倒轉(zhuǎn)90度安裝,那么分辨率變成60X50,意思是路面橫向被分割成60個(gè)點(diǎn),這60個(gè)點(diǎn)是按照從右到左,號(hào)碼從0到59編碼的,也就是最右為0,最左為59。根據(jù)舵機(jī)轉(zhuǎn)角與控制信號(hào)關(guān)系:小車(chē)向右轉(zhuǎn)時(shí),控制信號(hào)變??;小車(chē)向左轉(zhuǎn)時(shí),控制信號(hào)變大。那么在右邊的偏差就可以用負(fù)數(shù)來(lái)表示,在左邊的偏差就可以用正數(shù)來(lái)表示。用圖像中實(shí)際黑線(xiàn)位置減去理想輸入就可以得到偏差量。假如理想輸入為30,那么偏差可以用圖7-6來(lái)表示:oooo o 0 0 0 0/1' ? I ' \2928 2726 0 _2?_28_29-30圖6.20偏差的標(biāo)定要取得偏差量還要解決一個(gè)問(wèn)題。在整個(gè)圖像里,有30行的信息量。每一行圖像都可以表示路面的橫向信息,所以在每一行里都可以尋找偏差量。為了確定適合的一行作為尋找偏差量的行,首先要了解每一行之間的差別。CCD圖像傳感器由于安裝位置的問(wèn)題,它的視野是一個(gè)梯形,遠(yuǎn)寬近窄。所以每一行最大的區(qū)別就是,兩個(gè)象素點(diǎn)之間表示的實(shí)際距離是不一樣,遠(yuǎn)大近小。還有另外一個(gè)區(qū)別就是前面行的信息是表示遠(yuǎn)處的路面,也就是可以遠(yuǎn)距離檢測(cè)。為了補(bǔ)償舵機(jī)大的時(shí)間常數(shù),應(yīng)該選擇遠(yuǎn)距離檢測(cè),也就是選擇前面的行來(lái)作為提取偏差量。為了保證每次提取偏差量都是在同一個(gè)基準(zhǔn)下進(jìn)行,所以在可能的情況下,都應(yīng)該是保持在同…行上提取信息量。之所以說(shuō)是有可能的情況。那是因?yàn)榍懊娴男杏锌赡苁菣z測(cè)不到黑色軌跡線(xiàn),例如在檢測(cè)彎道的時(shí)候。那么這時(shí)候就要放棄這個(gè)基準(zhǔn),向后尋找有檢測(cè)到黑色軌跡線(xiàn)的行,讓它作為臨時(shí)的基準(zhǔn)行。那么在下一場(chǎng)的圖像中再會(huì)以前面行作為基準(zhǔn),如果前面行還是檢測(cè)不到,那么又重新選擇臨時(shí)的基準(zhǔn)行。PID控制算法系數(shù)的整定在PID控制里面,有兩個(gè)很重要的因素影響到PID控制算法的控制效果。第八就是在上面提到的偏差量。第二,就是PID控制算法的系數(shù)。不同系統(tǒng)對(duì)PID控制算法系數(shù)的要求是不一-樣,甚至同一個(gè)系統(tǒng)的不同情況對(duì)這個(gè)系數(shù)的要求也不一樣。所以PID控制算法系數(shù)的整定就顯得非常的重要。PID控制算法系數(shù)的整定不能盲目進(jìn)行。通常有以下兩種辦法:一是理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過(guò)理論計(jì)算確定控制器參數(shù)。這種方法所得到的計(jì)算數(shù)據(jù)未必可以直接用,還必須通過(guò)工程實(shí)際進(jìn)行調(diào)整和修改。二是工程整定方法,它主要依賴(lài)工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行,且方法簡(jiǎn)單、易于掌握,在工程實(shí)際中被廣泛采用。無(wú)論采用哪?種方法所得到的控制器參數(shù),都需要在實(shí)際運(yùn)行中進(jìn)行最后調(diào)整與完善。由于小車(chē)系統(tǒng)精確的數(shù)學(xué)模型很難得到,又由于小車(chē)的實(shí)驗(yàn)方法很容易進(jìn)行,所以本次的PID控制算法是采用了工程整定法。從前面的分析可以知道,在小車(chē)做漸開(kāi)線(xiàn)運(yùn)動(dòng)時(shí),控制算法的調(diào)節(jié)作用就顯得很重要。在系統(tǒng)存在偏差或者偏差有變化時(shí)小車(chē)就會(huì)做漸開(kāi)線(xiàn)運(yùn)動(dòng)??刂扑惴ǖ暮脡暮艽蟪潭壬鲜求w現(xiàn)在系統(tǒng)的動(dòng)態(tài)調(diào)整過(guò)程。所以用一些典型的輸入信號(hào)來(lái)檢驗(yàn)控制算法的好壞以及系數(shù)對(duì)系統(tǒng)的影響就很必要。本次研究選擇了階躍信號(hào)。設(shè)計(jì)了如圖的跑道作為階躍信號(hào)的輸入。產(chǎn)生階躍信號(hào)的地方有13cm。實(shí)際圖像如圖6.21,CCD圖像傳感器采集的圖片如圖6.22

圖6.21實(shí)際路線(xiàn)圖6.22CCD傳感器采集的圖像下面測(cè)得的幾組數(shù)據(jù)就是小車(chē)在上面設(shè)計(jì)的跑道中運(yùn)行時(shí)測(cè)得。他們表明了不同控制算法對(duì)階躍信號(hào)的調(diào)節(jié)能力以及PID控制算法系數(shù)的改變對(duì)調(diào)節(jié)能力的影響。同時(shí)也表明了不同的速度下對(duì)PID控制算法系數(shù)要求的不一樣。數(shù)據(jù)如下:算法-:比例控制,在速度為40和60的情況下進(jìn)行。比例系數(shù)為2以及8orudderregistertemp=error[enable_row]*Kp+STEERCENTER;數(shù)據(jù)為圖6.23:

圖6.23算法一的數(shù)據(jù)其中:當(dāng)速度為60,比例系數(shù)為8時(shí),控制系統(tǒng)發(fā)散。小結(jié):當(dāng)系統(tǒng)只是比例控制時(shí),系統(tǒng)的階躍響應(yīng)就有很多的超調(diào)和振蕩很厲害。而且當(dāng)速度加大時(shí),過(guò)大比例系數(shù)還會(huì)引起系統(tǒng)發(fā)散,所以速度高時(shí),比例系數(shù)要減少??梢缘贸鰡问潜壤刂疲到y(tǒng)的調(diào)節(jié)能力是很差的。為了減少超調(diào)量和振蕩,應(yīng)該加上微分控制。算法二:以下兩組數(shù)據(jù)都是比例微分控制測(cè)得。第…組:Kp保持不變?yōu)?,速度分別為40和60,Kd分別為2和8。數(shù)據(jù)為圖6.24:第二組:Kp保持不變?yōu)?,速度分別為40和60,Kd分別為2和8。數(shù)據(jù)為圖6.25:其中:速度為60;Kp=8:Kd=2;控制系統(tǒng)發(fā)散。

圖6.24第一組數(shù)據(jù)圖6.24第二組數(shù)據(jù)小結(jié):從上面的兩組數(shù)據(jù)可以得出兩個(gè)結(jié)論:第一,微分是可以減少系統(tǒng)的超調(diào)量以及振蕩的。例如數(shù)據(jù):速度60,Kp=2,Kd=2和速度60,Kp=2,Kd=8;另一個(gè)數(shù)據(jù):速度60,Kp=8,Kd=2;因?yàn)槲⒎直容^小,系統(tǒng)發(fā)散。數(shù)據(jù)“速度60,Kp=8,Kd=8”即相反。第二,數(shù)據(jù):速度40,Kp=2,Kd=2和數(shù)據(jù):速度60,Kp=2,Kd=8比較可得:速度越大,就要求的越強(qiáng)微分作用才能使得系統(tǒng)穩(wěn)定。從前面的討論可以知道,小車(chē)要穩(wěn)定過(guò)彎就必須要有積分項(xiàng),而且是偏差變化量的積分。一般來(lái)說(shuō),積分可以加強(qiáng)調(diào)節(jié)作用,加大超調(diào)量以及加長(zhǎng)調(diào)節(jié)時(shí)間,但是在這里的積分用的是偏差量的積分,所以它還包含有一些微分的作用。下面用一組數(shù)據(jù)來(lái)說(shuō)明這個(gè)問(wèn)題。PID控制,速度為60,Kp=2;Kd=8;Ki=2;數(shù)據(jù)為圖6.25圖6.25有積分項(xiàng)控制算法效果圖該數(shù)據(jù)與數(shù)據(jù):速度為60,Kp=2;Kd=8比較可知。加了偏差量的積分以后,超調(diào)量變小,振蕩減小。根據(jù)控制系統(tǒng)PID控制算法的階躍響應(yīng),可得到以下的結(jié)論:在小車(chē)在直的軌跡上行走時(shí),PD控制算法的調(diào)節(jié)就可以滿(mǎn)足要求。并且系統(tǒng)對(duì)系數(shù)大小的要求與速度是有關(guān)系,速度越大,比例系數(shù)要求比較小,要不然就會(huì)產(chǎn)生過(guò)大的振蕩,那么為了減少振蕩,微分系數(shù)就要求比較大??偨Y(jié)一句話(huà)就是小車(chē)在直的軌跡上運(yùn)動(dòng)時(shí),比例系數(shù)要求比較小,微分作用要求適中。由前面的分析還知道小車(chē)在彎道的軌跡上行走時(shí),為了能夠平滑過(guò)彎,必須要加上積分環(huán)節(jié)。而且在從直道進(jìn)入彎道的時(shí)候,對(duì)比例作用和微分作用的要求都比直道的時(shí)候要大。所以PID控制算法系數(shù)的整定要根據(jù)不同的速度和軌跡是直道還是彎道情況來(lái)確定?;趫D像的PID控制算法設(shè)計(jì)根據(jù)前面的分析知道,要控制好小車(chē),就必須知道小車(chē)當(dāng)前運(yùn)行在什么樣的軌跡上。此時(shí)要利用整幅圖像進(jìn)行分析才能知道這些信息。在彎道的識(shí)別一節(jié)中已經(jīng)說(shuō)明彎道軌跡的識(shí)別方法。在那一節(jié)里提到了一個(gè)叫彎道值的量,它在小車(chē)從直道進(jìn)入彎道時(shí)起到很到的作用,特別是在高速的時(shí)候,就顯得更重要。那是因?yàn)樵谠谛≤?chē)從直道駛?cè)霃澋罆r(shí),由于舵機(jī)的時(shí)間常數(shù)過(guò)大,在PID控制算法下給出的控制量可能達(dá)不到要求,所以必須根據(jù)彎道值的大小來(lái)補(bǔ)償舵機(jī)。綜合以上的論述,給出在速度給定值為56時(shí)(小車(chē)速度大約為2.5米每秒)PID算法系數(shù)的最終整定結(jié)果,如下:比例系數(shù)取5,積分系數(shù)取1,微分系數(shù)取26,彎道值系數(shù)取1.

第7章車(chē)模的主要技術(shù)參數(shù)項(xiàng)目參數(shù)路徑檢測(cè)方法(賽題組)攝像頭車(chē)模幾何尺寸(長(zhǎng)、寬、高)(毫米)30*16.3*35車(chē)模軸距/輪距(毫米)6.5/16.5車(chē)模平均電流(勻速行駛)(毫安)電路電容總量(微法)1858.615傳感器種類(lèi)及個(gè)數(shù)CDD攝像頭 一個(gè)速度傳感器一個(gè)新增加伺服電機(jī)個(gè)數(shù)0賽道信息檢測(cè)空間精度(毫米)3.2/15.2賽道信息檢測(cè)頻率(次/秒)50HZ主要集成電路種類(lèi)/數(shù)量S12,驅(qū)動(dòng)/2車(chē)模重量(帶有電池)(千克)1.2

第8章系統(tǒng)的調(diào)試過(guò)程我們的調(diào)試的過(guò)程主要是利用無(wú)線(xiàn)模塊的傳輸方法,把小車(chē)在運(yùn)行過(guò)程中的各種變化量傳回到上位機(jī),然后在根據(jù)數(shù)據(jù)作出相應(yīng)的數(shù)據(jù)調(diào)整,直到把車(chē)調(diào)到一個(gè)很好的運(yùn)行狀態(tài)。?Forml93flJ'O55U>55?Forml93flJ'O55U>552n825qrJ?55c.5cl.54口.91111222222?z1。力力EXIT?Sp..d++⑤)Speed--457&)傳速度|圖8.1調(diào)試的.匚具頁(yè)面第9章總結(jié)本次設(shè)計(jì)主要是在對(duì)小車(chē)硬件系統(tǒng)、作了充分了解的情況下進(jìn)行軟件設(shè)計(jì)。尋跡智能小車(chē)軟件系統(tǒng)的設(shè)計(jì)經(jīng)對(duì)CCD圖像傳感器的視頻信號(hào)采樣的程序編寫(xiě),小車(chē)速度控制的軟件控制系統(tǒng)的設(shè)計(jì),小車(chē)轉(zhuǎn)向控制的軟件設(shè)計(jì),再通過(guò)實(shí)驗(yàn)結(jié)果的反饋進(jìn)行改進(jìn),實(shí)現(xiàn)了智能小車(chē)的勻速尋跡行駛。完成的工作和存在仍需改進(jìn)的問(wèn)題如下:1)對(duì)現(xiàn)有的小車(chē)硬件系統(tǒng)作了充分了解,只有在充分了解小車(chē)硬件系統(tǒng)的情況下才有可能對(duì)其編程進(jìn)行使用。并且進(jìn)一步了解小車(chē)硬件系統(tǒng)設(shè)計(jì)的優(yōu)越和不足。2)熟悉微控制器的集成開(kāi)發(fā)環(huán)境CodeWarrior?充分利用所提供的專(zhuān)家助手ProcessorExpert的功能,其直觀(guān)參數(shù)設(shè)置界面和功能函數(shù)代碼的自動(dòng)生成能減少編程人員工作量,提高工作效率。但同時(shí)也要求編程人員在使用的同時(shí),通過(guò)閱讀技術(shù)文檔,對(duì)相關(guān)模塊的性能和寄存器情況有足夠了解,對(duì)出現(xiàn)的問(wèn)題能及時(shí)解決。比如,在解決ADC高速采樣視頻信號(hào)時(shí),就要了解到與ADC相關(guān)的寄存器,了解它們的用法和功能。3)對(duì)圖像信號(hào)的處理,只有在得到準(zhǔn)確的軌跡信息的情況下才有可能控制好小車(chē)。在調(diào)試的過(guò)程中需要知道某個(gè)量對(duì)控制效果的影響以及分析所出現(xiàn)的問(wèn)題。所以使用無(wú)線(xiàn)串口通訊模塊把需要的量傳送到PC機(jī)上進(jìn)行分析,從而設(shè)計(jì)了PC機(jī)上的小車(chē)控制平臺(tái)。4)通過(guò)實(shí)驗(yàn)的方法測(cè)定小車(chē)的運(yùn)動(dòng)模型,利用最大控制量的變速PID控制算法解決時(shí)間常數(shù)過(guò)大引起的積分過(guò)飽和問(wèn)題。實(shí)現(xiàn)小車(chē)快速加速,但又幾乎無(wú)超調(diào)和振蕩。5)用小車(chē)系統(tǒng)的階躍響應(yīng)實(shí)驗(yàn)來(lái)整定PID控制算法系數(shù),利用圖像處理解決直道和彎道對(duì)PID控制算法系數(shù)要求不一樣的選擇,實(shí)現(xiàn)小車(chē)在直道上平穩(wěn)行駛和平穩(wěn)過(guò)彎,平均速度為2.5米每秒(此速度是在如圖7-15所示的軌跡上運(yùn)行測(cè)得)。6)由于舵機(jī)的大慣性關(guān)系,沒(méi)辦法做到快速過(guò)S型跑道。所以應(yīng)該修改小車(chē)的轉(zhuǎn)彎的硬件系統(tǒng),讓小車(chē)轉(zhuǎn)彎更靈敏。為了可以以更快的速度行走,應(yīng)該討論更好的控制算法,如模糊控制等。學(xué)習(xí)運(yùn)用MC9SDG128單片機(jī)的模糊指令來(lái)實(shí)現(xiàn)模糊控制。第三屆全國(guó)大學(xué)生智能汽車(chē)競(jìng)賽技術(shù)報(bào)告參考文獻(xiàn)[1]邵貝貝.嵌入式實(shí)時(shí)操作系統(tǒng)[LC/OS-II(第2版)[M].北京.清華大學(xué)出版社.2004[2]邵貝貝.單片機(jī)嵌入式應(yīng)用的在線(xiàn)開(kāi)發(fā)方法[M].北京.清華大學(xué)出版社.2004[3]王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京.北京航空航天大學(xué)出版社.20024]臧杰,閻巖.汽車(chē)構(gòu)造[M].北京.機(jī)械工業(yè)出版社.2005[6]童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京.高等教育出版社.2000[9]沈長(zhǎng)生.常用電子元器件使用一讀通[M].北京.人民郵電出版社.2004[10]宗光華.機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐[M].北京.北京航空航天大學(xué)出版社.2004[11]張偉等.ProtelDXP高級(jí)應(yīng)用[M].北京.人民郵電出版社.2002[12]張文春.汽車(chē)?yán)碚揫M].北京.機(jī)械工業(yè)出版社.2005附件A源程序代碼include“Cpu.h”#include,'Events.huincludenDl.hninclude"E2.h”include“FSl.h"include”FS2.h”include”MOTOR_PWMA.h"include"MOTOR_PWMB.huinclude'RUDDER_PWM.hninclude,'ENCODER_PULS.h,,#include"ASl.h"include”ADA.h”include“ADB.h”include"EInt_CS.h”include"EInt_VS.h”#includenBit_OE.hMincludenBitl.hMinclude”P(pán)E_Types.h"includenPE_Error.hMinclude"PE_Const.h"include"IO_M叩.h”#include"utils.h"#defineSTOPO'#defineSTARTT#defineSENDJMG2#defineSEND_VALUE3#defineSEND_CONTROL_VALUE4#defineSPEED_UP5#defineSPEED.DOWN'6'#defineKP_UP7'#defineKP_DOWN8#defineKD_UP9#defineKD_DOWN'a,#defineSENDTEMP't'#defineSEND_SPEED7#defineNORMALHdefineY 60defineX 50defineValid_Row40defineOverSceneLine_Num65defineOverLine_Num3defineBlackThreshold100defineCarMid30defineNoBlack100#definePicMiddle40byteccd_data[Y][X];byteccd_data_temp[Y][X];intCurLine;intCurPoint;intOverSceneLine;intOverLine;intscene_state;intSceneFinishFlag;intsend_busy;bytestatus;bytesend_flag;intLineMidfX];intMid_min,Mid_max;intPositionError[X];intError_ed,LineMid_20_ed,LineMid_15_ed;intFarthestRow,FarthestRow2;intmax_row,min_row;boolIt_is_sS=0;intsS_now,sS_ed;boolstraight=1;boolLostLine;boolrun_flag=0;intCurve;intTheta,Theta_ed;intkp=O,kd=0;intp=0;charvalue;wordwl,w2,w;bytestatus;#definemotor_kp1463#definemotor_ki721#definemotor_kd42longmotor_ka=motor_kp+motor_ki+motor_kd;longmotor_kb=motor_kp+2*motor_kd;longmotor_kc=motor_kd;interror,errorm1,errorm2,errorm3;unsignedintvelact,velcom;longduty=0;longdutyml=0;longdutym2=0;longdutym3=0;voidmeasure_velact(void)(velact=ENCODER_PULS_GetCounterValue();ENCODER_PULS_ResetCounter();)voidcalc_error(){error=velcom-velact;}voidcalc_pid(){duty=motor_ka*error-motor_kb*errorm1+motor_kc*errorm2+dutyml;duty=(duty+dutym14-dutym2+dutym3)/4;if(duty>65535)duty=65535;elseif(duty<-65535)duty=-65535;errorm2=errorm1;errormI=error;dutym3=dutym2;dutym2=dutyml;dutyml=duty;}voiddrive_plant(){if(duty>=0){MOTOR_PWMB_SetRatiol6(0);MOTOR_PWMA_SetRatiol6((word)duty);}else{MOTOR_PWMA_SetRatio16(0);MOTOR_PWMB_SetRatio16((word)(-duty));)}voidcontrol_velocity(){calc_error();calc_pid();drive_plant();)〃/〃〃〃〃〃〃〃〃〃/〃/〃〃/〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃voidde)ay(longtime){inti=0;for(i=0;i<time;i++);}voidccd_enable(void) 〃使采樣與信號(hào)同步{boolscene_begin_flag;INTCR.IRQEN=0;ATD0CTL4=128;ATD1CTL4=128;CurLine=0;CurPoint=0;OverSceneLine=0;OverLine=0;scene_state=O;SceneFinishFlag=O;send_flag=0;scene_begin_flag=Bit_OE_GetVai();while(scene_begin_flag==Bit_OE_GetVai());while(scene_begin__flag!=Bit_OE_GetVal());scene_state=Bil_OE_GetVal();INTCRJRQEN=1;)voidccd_sample(void)(inti;OverSceneLine++;if(OverSceneLinevOverSceneLine_Num)relum;〃去掉場(chǎng)消隱if(OverLine<OverLine_Num){OverLine++;return;}if(CurLine<Y){for(i=0;i<40;i++); 〃去掉行消隱ATD0CTL5=128;ATD1CTL5=128;for(CurPoint=0;CurPoint<X;CurPoint++){ccd_data_temp[CurLine][CurPoint]=ATDODROL;ATD0CTL5=128;CurPoint++;ccd_data_temp[CurLine][CurPoint]=ATDlDROL;ATD1CTL5=128;)CurLine++;OverLine=0;}else{if(scene_state==Bit_OE_GetVal()){return;}scene_state=Bit_OE_GetVal();

溫馨提示

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

評(píng)論

0/150

提交評(píng)論