




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一屆“飛思”杯大學(xué)生智能汽車邀請(qǐng)賽技術(shù)學(xué)校:軍事交通學(xué)院隊(duì)伍名稱:軍交 1 隊(duì)參賽隊(duì)員:帶隊(duì)教師:關(guān)于技術(shù)和研究使用的說(shuō)明本人完全了解第一屆“飛思”杯大學(xué)生智能汽車邀請(qǐng)賽關(guān)保留、使用技術(shù) 委會(huì)和飛思案、技術(shù)委會(huì)和研究的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組半導(dǎo)體公司可以在相關(guān)主頁(yè)上收錄并公開(kāi)參賽作品的設(shè)計(jì)方以及參賽模型車的集中。、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組參賽隊(duì)員簽名:帶隊(duì)教師簽名:日期: 8 月 5 號(hào) 第一章:引言1設(shè)計(jì)制作思路1設(shè)計(jì)方案概述2第二章: 硬件部分2車模組裝2傳感器的設(shè)計(jì)與安裝2傳感器的選擇及工作原理2傳感器的布置方案2傳感器信號(hào)探測(cè)及處理電路4系統(tǒng)電路板的設(shè)
2、計(jì)、安裝與連接4驅(qū)動(dòng)電機(jī)和舵機(jī)5主要車模參數(shù)6第三章:部分7控制算法7理論介紹7程序?qū)崿F(xiàn)7代碼設(shè)計(jì)10第四章:結(jié)論10主要性能1改進(jìn)方向1參考文獻(xiàn)2附錄:程序源代碼2第一章:引言1.1 設(shè)計(jì)制作思路為了實(shí)現(xiàn)對(duì)小車的智能控制,本設(shè)計(jì)以 MC9S12DG128 為,將傳感器得到的路況信息進(jìn)行綜合判別和處理,然后以脈寬調(diào)制()的方式控制舵機(jī)轉(zhuǎn)向和驅(qū)動(dòng)電機(jī)加速或,從而控制小車,使小車能夠快速、準(zhǔn)確地識(shí)別特定路線并按適當(dāng)速度行駛。多傳感器并行工作、CPU 的綜合數(shù)據(jù)處理為小車實(shí)現(xiàn)自動(dòng)加速、限速、左轉(zhuǎn)、右轉(zhuǎn)提供了充分的保證。先后經(jīng)過(guò)了組裝車模、傳感器的選擇與布置、系統(tǒng)電路板的設(shè)計(jì)與安裝、開(kāi)發(fā)工具 BDM
3、的調(diào)試以及控制算法的不斷改進(jìn)等過(guò)程,完成對(duì)智能車粗略控制到精確控制,并使智能車由低速逐漸向高速過(guò)渡。在實(shí)驗(yàn)的基礎(chǔ)上不斷發(fā)現(xiàn)問(wèn)題,并不斷調(diào)試解決問(wèn)題,使智能車能夠最大限度地沿著軌道快速、準(zhǔn)確地行駛。1.2 設(shè)計(jì)方案概述本設(shè)計(jì)方案主要分硬件、結(jié)論三個(gè)方面進(jìn)行介紹。硬件部分主要闡述了外部傳感器的選擇、安裝、傳感器的探測(cè)原理、傳感器的探測(cè)電路設(shè)計(jì),系統(tǒng)電路板的電路設(shè)計(jì)及安裝,驅(qū)動(dòng)電機(jī)和舵機(jī)的控制。 控制算法的理論知識(shí),程序以及代碼的設(shè)計(jì)。結(jié)論部分主要部分主要介紹了了小車的性能以及改進(jìn)的方向?,F(xiàn)在對(duì)本技術(shù)的主要部分概括介紹如下:傳感器部分:本智能車的傳感器采用了反射式紅外光電傳感器,雙排布置。在智能車的
4、頭部安裝了兩塊電路板,兩塊電路板的布置形式呈工字形。智能車通電后,光電傳感器的發(fā)光管發(fā)出探測(cè)光,如果探測(cè)到白色部分,接收管能夠接收到反射光;如果探測(cè)到黑色部分則探測(cè)光被吸收,接收管就接收不到反射光。根據(jù)此原理,把電信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),從而把路面信息反映到控制系統(tǒng),通過(guò)CPU 的綜合數(shù)據(jù)處理,對(duì)智能車的轉(zhuǎn)向和速度進(jìn)行控制??刂葡到y(tǒng)部分:制作了以MC9S12DG128為的系統(tǒng)電路板,它給布置線路帶來(lái)了極大的方便,并可以非常方便地安裝在智能車上,使系統(tǒng)得到了簡(jiǎn)化??刂扑惴ú糠郑翰捎昧四壳白詣?dòng)控制領(lǐng)域中最常用的控制算法控制算法進(jìn)行車輛行駛控制。在本方案的設(shè)計(jì)中采用了直接計(jì)算法。在行駛過(guò)程中,由于車輛轉(zhuǎn)
5、向造成車輛中心與黑線有一定的偏差量,就選擇這一偏差量作為輸入的偏差。本設(shè)計(jì)方案中以前排電路板的中心為車輛中心線所在位置,在車輛行駛過(guò)程中,當(dāng)某一傳感器感應(yīng)到黑線位置時(shí),就以該傳感器與電路板中心的距離作為車輛的行駛偏差,以此作為控制器的輸入量。為了改善控制算法中輸入量不連續(xù),引入車速作為算法輔助輸入量。開(kāi)發(fā)工具采用了主辦方提供的BDM 調(diào)試器,在中就不再贅述。第二章: 硬件部分車模組裝嚴(yán)格按照說(shuō)明對(duì)車模進(jìn)行組裝。重點(diǎn)是準(zhǔn)確地調(diào)整舵機(jī),使舵機(jī)和前輪處于最佳的工作位置。傳感器的設(shè)計(jì)與安裝2.2.1傳感器的選擇及工作原理根據(jù)要求,有兩個(gè)選擇。第一種是采用CCD傳感器,以一定的頻率對(duì)路面信息進(jìn)行。CPU
6、通過(guò)圖象處理判斷小車所處相對(duì)的位置。使用CCD進(jìn)行圖象和識(shí)別的方法,雖然該方案獲得的信息較精確,但是不適用在小體積系統(tǒng)中使用,并且還涉及圖象、圖象識(shí)別等領(lǐng)域,占用系統(tǒng)資源較多,算法較復(fù)雜。第二種是采用反射式紅外光電傳感器,以一定的頻率向CPU提供路面標(biāo)志信號(hào)。CPU經(jīng)過(guò)比較處理,粗略判斷出小車所處的相對(duì)位置。該傳感器體積小,價(jià)格便宜,使用方便,而且該方案占用系統(tǒng)資源較少,算法較易實(shí)現(xiàn)。故在本設(shè)計(jì)中采用了這種傳感器,鑒于車底盤較低,采用近距離(2cm4cm)有效的傳感器。工作原理如圖2.1所示:路面探測(cè)距離圖 2.1 傳感器工作原理圖反射式光電傳感器有發(fā)射管和接收管組成,工作時(shí)由發(fā)射管發(fā)射紅外線
7、,經(jīng)被探測(cè)物體面反射,反射的紅外線由接收管接收,接收管把接收的物理信號(hào)轉(zhuǎn)換成電信號(hào)。被檢測(cè)物體表面的顏色和粗糙程度影響反射光的強(qiáng)弱,反射面越不光滑,顏色越暗,反射光就會(huì)越弱。這里就是要運(yùn)用紅外光電傳感器對(duì)顏色敏感的特點(diǎn),當(dāng)檢測(cè)物體表面的顏色為黑色時(shí),反射光很弱,接收管接收的光線可以忽略,使接收管處于一種狀態(tài),例如開(kāi)關(guān)管截止;當(dāng)檢測(cè)物體表面的顏色為白色時(shí),反射光較強(qiáng)烈。使接收管處于另一種狀態(tài),例如開(kāi)關(guān)管導(dǎo)通。這兩種相反的狀態(tài)表現(xiàn)在電路中就是高低電平組成的脈沖信號(hào)。這個(gè)脈沖信號(hào)就是控制系統(tǒng)的輸入信號(hào),并且設(shè)的輸入信號(hào)為 1 低電平信號(hào)輸入為 0。通過(guò)編寫控制算法,根據(jù)傳感器搜集的路況信息,調(diào)節(jié)機(jī)和
8、驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)小車的智能控制。的占空比,控制舵接收發(fā)射2.2.2 傳感器的布置方案為了減弱外界光線對(duì)反射式紅外光電傳感器的影響,且考慮到小車底盤較低,把傳感器放置在設(shè)計(jì)的電路板下,垂直探測(cè)地面。傳感器的布置方案有單排、雙排、W 字形排列等。由于 W 字形排列的算法比較復(fù)雜,了單排布置和雙排布置的方案。只考慮首先選用了單排布置,也就是在車模的頭部安裝一塊電路板,其底部安裝 8 個(gè)傳感器。通過(guò)對(duì)傳感器探測(cè)到黑色導(dǎo)航線的情況的分析,用編碼的形式把傳感器探測(cè)到的路面信息表示出來(lái)。然后把這些路況信息輸入到控制系統(tǒng)通過(guò)編寫的控制算法就可以控制舵機(jī)和驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)智能車的加速、減速、左轉(zhuǎn)、右轉(zhuǎn)了。通過(guò)不斷的
9、實(shí)驗(yàn),來(lái)進(jìn)一步地調(diào)整各種編碼下,智能車要轉(zhuǎn)的角度的參數(shù)。但是這種控制算法對(duì)智能車進(jìn)行控制時(shí),并沒(méi)有考慮速度對(duì)其轉(zhuǎn)向的影響,只是簡(jiǎn)單地在轉(zhuǎn)彎時(shí),在直道時(shí)加速。因此在實(shí)驗(yàn)中發(fā)現(xiàn)智能車在跑道上慢速行駛時(shí)還能比較平穩(wěn)的跑完全程,其速度稍微加大時(shí),智能車在拐彎處即使進(jìn)行了,也會(huì)由于慣性常會(huì)飛出跑道。改進(jìn)的方法有二:一是改進(jìn)算法,采用控制算法,它可以解決車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問(wèn)題,行駛軌跡的及問(wèn)題;二是增大傳感器的預(yù)描距離,進(jìn)入彎道時(shí)提前。就雙管齊下,增大了傳感器探測(cè)電路板伸出智能車的距離。同時(shí)為了獲得控制算法比較準(zhǔn)確地輸入量,就排的后面又安裝的信息。最終了一塊電路板,并在它的下面安裝了 6
10、個(gè)傳感器,采用了雙排布置,即在智能車的頭部安裝了前、后兩塊電路板。其形狀及尺寸如圖 2.2(:毫米)所示:圖 2.2兩塊電路板的布置如圖 2.3 所示:排電路板上任意兩個(gè)相鄰的傳感器的中心距離位 2.5cm;在后排電路板上,中間兩個(gè)傳感器的中心距離為 5.0cm,其余的相鄰兩傳感器間的距離也為 2.5cm。前后兩塊電路板傳感器分布所在直線間的垂直距離為 10.8cm。圖 2.32.2.3 傳感器信號(hào)探測(cè)及處理電路傳感器信號(hào)探測(cè)及處理電路設(shè)計(jì)如圖 2.4 所示:圖 2.4D1 為紅外光電傳感器的發(fā)射管,D2 為其接收管。D1 發(fā)射紅外線,D2 接收信號(hào),判斷是否有反射信號(hào)。如果有則 D2 輸出,
11、如果沒(méi)有則輸出低電平,信號(hào)經(jīng)過(guò)三極管、集成運(yùn)放器輸出到 CPU 的PORTA 或PORTB。14 個(gè)傳感器獲得的信號(hào)并行輸入單片機(jī),從而把路面信息反饋到控制系統(tǒng),實(shí)現(xiàn)對(duì)智能車的控制。制作電路板后,要把探測(cè)電的元件一一對(duì)應(yīng)地焊接到電路板上。焊接電阻時(shí),要注意防止虛焊;焊接插件時(shí)要注意避免兩個(gè)焊接點(diǎn)連接在一起造成短路;焊接發(fā)光二極管和接收二極管前要用萬(wàn)用表測(cè)量一下極性,防止將二極管反向安裝。2.3 系統(tǒng)電路板的設(shè)計(jì)、安裝與連接沒(méi)有采用主辦方提供了S12 的電路板,自行設(shè)計(jì)了系統(tǒng)電路板。首先在S12 電路板體積比較大,既不方便在智能車上安裝,也不美觀;其次S12 電路板上找到正確的引腳插線,也顯得比
12、較復(fù)雜。設(shè)計(jì)的系統(tǒng)電路板就解決了這方面,可以把它很方便地固定在智能車的底盤上,并制作了轉(zhuǎn)用的插槽(如圖 2.2 所示)。制作了以MC9S12DG128為,并附以復(fù)位電路、晶體振蕩器及時(shí)鐘電路、+5V 的電源、驅(qū)動(dòng)電機(jī)的供電插座、單片機(jī)引腳插槽以及其他一些常規(guī)電子元件組成的系統(tǒng)控制電路。系統(tǒng)控制電路原理圖如圖 2.5 所示:圖 2.52.4 驅(qū)動(dòng)電機(jī)和舵機(jī)圖 2.6 舵機(jī)和電機(jī)工作原理原理圖轉(zhuǎn)向舵機(jī)MC33886加電機(jī)算法波MC9S12DG128傳感器信息驅(qū)動(dòng)電機(jī)和舵機(jī)是智能車整個(gè)系統(tǒng)的執(zhí)行的控制系統(tǒng)由傳感器獲得路面信息,通過(guò)。以 MC9S12DG128為控制算法來(lái)調(diào)節(jié)舵機(jī)和驅(qū)動(dòng)的占空比,控制智
13、能車的轉(zhuǎn)向和車速。其工作原理圖 2.6 所示。本電機(jī)的次比賽要求不得對(duì)驅(qū)動(dòng)電機(jī)和舵機(jī)進(jìn)行改造,本文對(duì)其不再贅述。2.5 主要車模參數(shù)車重:1.1kg電路功耗:長(zhǎng):384mm寬:185mm 高:77mm所有電容總?cè)萘浚?900uF傳感器種類:反射式紅外光電傳感器 數(shù)目:14伺服電機(jī)個(gè)數(shù):0e)賽道信息檢測(cè)精度:6mm頻率:1000Hz第三章:部分3.1 控制算法本智能車輛的控制算法部分主要需解決如下問(wèn)題:車輛直線行駛的穩(wěn)定性問(wèn)題,車輛轉(zhuǎn)彎控制問(wèn)題,車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問(wèn)題,行駛軌跡的及問(wèn)題等。為了更好的解決設(shè)計(jì)中存在,本方案采用了目前自動(dòng)控制領(lǐng)域中最常用的控制算法3.1.1 理論介
14、紹控制算法進(jìn)行車輛行駛控制??刂扑惴òㄖ苯佑?jì)算法和增量算法,所謂的增量算法就是相對(duì)于標(biāo)準(zhǔn)的相鄰兩次運(yùn)算之差,得到的結(jié)果是增量。也就是說(shuō)在上一次的控制量的基礎(chǔ)上需要增加(負(fù)值意味著減少)控制量,例如對(duì)于智能小車控制算法,就是智能小車相對(duì)于上一次轉(zhuǎn)向角度還需要增加或減少的轉(zhuǎn)向角度。在本方案的設(shè)計(jì)中采用了 直接計(jì)算法。(一)算法中常用概念解釋如下:1、基本偏差 e(t)表示當(dāng)前測(cè)量值與設(shè)定目標(biāo)間的差,設(shè)定目標(biāo)是被減數(shù),結(jié)果可以是正或負(fù),正數(shù)表示還沒(méi)有達(dá)到,負(fù)數(shù)表示已經(jīng)超過(guò)了設(shè)定值。這是面向比例數(shù)據(jù)。2、累計(jì)偏差 :的變動(dòng)調(diào)節(jié)就進(jìn)行直至無(wú)差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積分作用的強(qiáng)弱取決于積分
15、時(shí)間常數(shù) Ti,Ti 越小,積分作用就越強(qiáng)。反之 Ti 越大則積分作用越弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動(dòng)態(tài)相應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成 PI 調(diào)節(jié)器或調(diào)節(jié)器。微分調(diào)節(jié)作用:微分作用反映系統(tǒng)偏差信號(hào)的變化率,具有預(yù)見(jiàn)性,能預(yù)見(jiàn)偏差變化的趨勢(shì),因此能產(chǎn)生超前的控制作用,在偏差還沒(méi)有形成之前,以被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動(dòng)態(tài)性能。在微分時(shí)間選擇合適情況下,可以減少超調(diào),減少調(diào)節(jié)時(shí)間。微分作用對(duì)于噪聲干擾有放大作用,因此過(guò)強(qiáng)的加微分調(diào)節(jié),對(duì)系統(tǒng)不利。此外,微分反應(yīng)的是變化率,而當(dāng)輸入沒(méi)有變化時(shí),微分作用輸出為零。微分作用不能單獨(dú)使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,
16、組成 PD 或控制器。(三)智能車輛控制算法中參數(shù)的選擇此次參賽的智能車輛主要是尋跡行駛,控制算法所要做的就是控制車輛沿著預(yù)先設(shè)計(jì)好黑線行駛,保證車輛中心線在黑線上。在行駛過(guò)程中,由于車輛轉(zhuǎn)向造成車輛中心與黑線有一定的偏差量,就選擇這一偏差量作為輸入的偏差。本設(shè)計(jì)方案中以前排電路板的中心為車輛中心線所在位置,在車輛行駛過(guò)程中,當(dāng)某一傳感器感應(yīng)到黑線位置時(shí),就以該傳感器與電路板中心的距離作為車輛的行駛偏差,以此做為控制器的輸入量。如圖 3.1 所示:e(t傳感器圖 3.1通過(guò)直接算法公式(公式 2)計(jì)算出t 時(shí)刻智能車的控制轉(zhuǎn)向角,由此達(dá)到對(duì)智能車轉(zhuǎn)向進(jìn)行控制的目的。但是由于輸入量取值是由傳感器
17、的位置決定,而傳感器的數(shù)量又是有限的,所以只能獲得有限的精確輸入量,這樣通過(guò)控制算法得出的控制轉(zhuǎn)角就不是很理想。為了改善控制算法中輸入量不連續(xù),引入車速作為算法輔助輸入量。通過(guò)車速、車輛上一次轉(zhuǎn)角、車輛長(zhǎng)度等值之間的數(shù)學(xué)關(guān)系,可以計(jì)算出車輛中心與黑線中心在一次傳感器采樣周期內(nèi)的偏差,以此值與傳感器采樣值之間做比較,從而獲得比較理想的偏差值,為控制算法找到較理想的輸入量。車速、車輛上一次轉(zhuǎn)角、車輛長(zhǎng)度等數(shù)值之間中心黑線車 輛 中的關(guān)系可由圖 3.2 導(dǎo)出:經(jīng)過(guò)t 時(shí)間后車輛轉(zhuǎn)過(guò)的角度為Kd 的值,然后通過(guò)實(shí)驗(yàn)找到合適的三個(gè)控制參數(shù)值。3.1.2 程序?qū)崿F(xiàn)數(shù)值分析和變量之間的們通過(guò)以上的分析過(guò)程已
18、經(jīng)基本了解,要通過(guò)程序?qū)⒁陨线^(guò)程實(shí)現(xiàn)并達(dá)到預(yù)期的效果,還需要做一些準(zhǔn)備工作。首先是將轉(zhuǎn)向舵機(jī)和驅(qū)動(dòng)電機(jī)的驅(qū)動(dòng)程序設(shè)計(jì)好,然后測(cè)出智能車的最大行駛速度和最大轉(zhuǎn)角,量出車輛軸距以及程序設(shè)計(jì)中需要用的一些參數(shù)。完成這些準(zhǔn)備工作之后,畫出程序流程圖,如圖 3.3 所示:開(kāi)始否是傳感器的檢測(cè)值=0?否程序是否結(jié)束圖 3.3程序結(jié)束圖 3.3通過(guò)程序流程圖,很快就可以確定下來(lái)編程方案,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,對(duì)程序中的函數(shù)都進(jìn)行模塊化設(shè)計(jì),保證程序的可讀性和易現(xiàn)預(yù)期的設(shè)計(jì)目的。3.2 代碼設(shè)計(jì)性,實(shí)通過(guò)以上分析,在編程時(shí)需要解決以下問(wèn)題:調(diào)用轉(zhuǎn)向函數(shù)和調(diào)速函數(shù),調(diào)整車速和進(jìn)行數(shù)值編碼調(diào)用函數(shù)輸出控制角度
19、和檢測(cè)端口值的變化并到變量中定義變量和函數(shù)并初始化數(shù)據(jù)(1)控制算法的程序?qū)崿F(xiàn)(2)基本計(jì)算函數(shù)的編程實(shí)現(xiàn)(3)輸入輸出量與算法之間的結(jié)合(4)變量之間數(shù)據(jù)類型的變化根據(jù)以上提出了下述解決方法:(1) 定義計(jì)算的結(jié)構(gòu)體如下:typedef structfloat float float float float float floatSetPo;/設(shè)定目標(biāo) Desired Value比例常數(shù) Proportional Const積分常數(shù)egral Const 微分常數(shù) Derivative Const Error-1Error-2Proportion; egral; Derivative; La
20、stError; PrevError;SumError;SumsofErrors;(2)定義基本計(jì)算函數(shù)floatCalc(floatdError,Error;*pp, floatNextPo)/計(jì)算Error = pp-SetPo-NextPo;/偏差積分當(dāng)前微分pp-SumError += Error; dError = pp-LastError- pp-PrevError;pp-PrevError = pp-LastError; pp-LastError = Error;return+);(pp-ProportionErrorpp-SumErrordError/比例項(xiàng)積分項(xiàng)微分項(xiàng)pp-e
21、gral *pp-Derivativefloat R(floatfloatx)/計(jì)算車輛轉(zhuǎn)彎半徑resu=200.0*(cosf(x*3.1415926/180.0)*(cosf(x*3.1415926/180.0)/(sinf (x*3.1415926/180.0);returnresu;float angela(float x)/計(jì)算角度 areturn (180.0+x-51.3);float angelb(float x,float y)/計(jì)算角度 bfloat rest=(180.0*y*0.025)/(R(x)*3.1415926); return rest;float angel
22、c(float x)/計(jì)算角度 cfloat resul=acosf(Rnext(x)*Rnext(x) 180.0/3.1415926;return resul;.0-R(x)*R(x)/(256.0*Rnext(x)*float Rnext(float x)float/計(jì)算車輛中心點(diǎn)轉(zhuǎn)彎半徑resaff=R(x)*R(x).0);.0-2.0*R(x)*128.0*cosela(x)*3.1415926/180float reste= sqrtf(resaff); return reste;float clength(float x,float y) /計(jì)算部分位移return (2.0*
23、Rnext(x)*sinf(y*3.1415926/180.0);float slength(float x,float y)/計(jì)算最終位移return(clength(x,y)*sinf(90.0+y/2-38.66-angelc(x)*3.1415926/180.0);(3)確定輸入輸出量與定義函數(shù)之間的關(guān)系coding ( unsigned charsensors)a=0;floength=0.0,rIn=0.0; switch (sensors)case case case case case case case case case case case case case case1:
24、3:2:6:4:length=12.5;a=1;break;/speed = 50length=25.0;a=1;break;/speed =50;length=37.5;a=1;break;/ speed = 45;length=50.0;a=1;break;/speed length=62.5;a=1;break;/speed=40;35;30;26;= 50;12:length=75.0;a=1;break;/speed 8: length=87.5;a=1;break;/speed16: length=12.5;a=-1;break;/speed48:length=25.0;a=-1;
25、break;/speed = 50;32:96:64:length=37.5;a=-1;break;/speed length=50.0;a=-1;break;/speed length=62.5;a=-1;break;/speed=45;40;35;30;192:length=75.0;a=-1;break;/speed128: length=87.5;a=-1;break;/speed = 26;default:a = 0; speed = 20;break;if(length=templength)rIn=length-slength(tempangle*0.2),angelb(temp
26、angle*0.2),(float)(0.2*(120-tempangle)*125);else rIn=length;tempangle =Calc ( &s,rIn );/Performerationif(tempangle0)tempangle=-1*tempangle; templength=length;a=a*()tempangle;speed=(signed char)(0.2*(120-tempangle)+26; return a;(4)變量之間數(shù)據(jù)類型的變化有以上程序可以知道各個(gè)變量之間有著數(shù)據(jù)類型變化,因而考慮在計(jì)算具體數(shù)值時(shí)采用浮點(diǎn)型數(shù)據(jù),而最后輸出量采用整型或無(wú)符號(hào)字
27、符型輸出,便于計(jì)算和對(duì)單片機(jī)端口的寫入。第四章:結(jié)論4.1 主要性能總體上,智能車已經(jīng)實(shí)現(xiàn)了加速、黑色導(dǎo)航線比較平穩(wěn)、快速地行駛了。、轉(zhuǎn)向、剎車的基本功能,能夠沿本智能車輛的控制算法部分主要解決如下問(wèn)題:車輛直線行駛的穩(wěn)定性問(wèn)題,車輛轉(zhuǎn)彎控制問(wèn)題,車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問(wèn)題,行駛軌跡的及問(wèn)題等。控制算法就可以解決這些問(wèn)題。它有諸多優(yōu)點(diǎn):1)采用狀態(tài)控制。在每個(gè)很小的一段時(shí)間內(nèi),認(rèn)為車輛狀態(tài)不變,因而在這段時(shí)間內(nèi)可將車輛作靜態(tài)處理。轉(zhuǎn)向目的就是減小小車所在的中心線與車輛行駛的黑色導(dǎo)航線的靜態(tài)誤差。狀態(tài)控制不考慮時(shí)間過(guò)程,而注重調(diào)整前后的狀態(tài)變化。實(shí)際應(yīng)用過(guò)程中,當(dāng)時(shí)間足夠小時(shí),由于執(zhí)
28、行機(jī)構(gòu)的響應(yīng)能力遠(yuǎn)遠(yuǎn)低于單片機(jī)的運(yùn)行速度,實(shí)際控制操作效果就如同連續(xù)控制一樣,保證了控制的準(zhǔn)確性。2)控制輸出不要求最優(yōu)。從實(shí)際情況可知,在相同的情況下,同一駕駛員兩次控制的結(jié)果可能不盡相同的,具有一定的隨機(jī)性,但結(jié)果都能完成所要求的任務(wù)。因此,對(duì)于本智能車的控制輸出的轉(zhuǎn)向角,不要求它在當(dāng)前位置是最優(yōu)的,而只要求它滿足兩個(gè)條件,即方向正確,轉(zhuǎn)向角度合理。3)控制算法交易實(shí)現(xiàn)。比較其他比較復(fù)雜的算法,如最優(yōu)控制必須考慮時(shí)間的過(guò)程,因而需要了解各執(zhí)行機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)特性,以獲得準(zhǔn)確的傳遞函數(shù)。而本文提供的算法只需要車輛當(dāng)前的狀態(tài)信息,即小車的當(dāng)前位置(由傳感器提供)與小車所應(yīng)處的位置(由算法提供),
29、即 到轉(zhuǎn)向控制角。整個(gè)過(guò)程不涉及執(zhí)行機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)函數(shù),從而降低了難度。4.2 改進(jìn)方向本控制算法還存在一些:1)由于傳感器的預(yù)描距離?。?0cm 左右),隨著車速的提高,要求控制的頻率提高。由于系統(tǒng)硬件的限制很難滿足高速情況下的轉(zhuǎn)向控制的要求。2)作為輔助輸入量的速度并不十分準(zhǔn)確,所取的速度是算法賦予小車的速度,并非小車的真實(shí)速度。不同的路面,不同的轉(zhuǎn)小車的速度都會(huì)產(chǎn)生影響,而這些影響是很難量化的。3)算法中參數(shù)的調(diào)整完全依靠實(shí)驗(yàn)人工標(biāo)定,工作量比較大。這些問(wèn)題都亟待解決。參考文獻(xiàn)01. 自動(dòng)控制原理/蔣大名、社,2003.6華主編。:、北方交通大學(xué)現(xiàn)代傳感技術(shù)/C 程序設(shè)計(jì):第 2 版/,
30、2001.4著。東學(xué),2001.6著。開(kāi)發(fā)方法/:著。04. 單片機(jī)應(yīng)用的:,2004.10附錄:程序源代碼#include #include #include stdio.h#include math.h#define start_speed 5;#pragma LINK_INFO DERIVATIVE mc9s12dg128btypedef structfloatSetPo;floatProportion;floategral;floatDerivative;floatLastError;floatPrevError;floatSumError;s;temp;angle;float spe
31、ed;char flag;float templength;float coding( unsigned char sensors);void initial_(void);void initial_atd(void) ;char acc_sensorX (void);char acc_sensorY (void);void steer_(float angle);void drive_(signed char speed);voidInit (*pp);floatCalc(*pps, float NextPo);float R(float x);float angela(float x);f
32、loat angelb(float x,float y);float angelc(float x);float Rnext(float x);float clength(float x,float y);float slength(float x,float y);floatR(float x) return (200*cos(x)*cos(x)/sin(x);float angela(float x)return (180+x-51.34);float angelb(float x,float y)return (180*y*0.025/R(x);float angelc(float x)
33、return (arccos(Rnext(x)*Rnext(x)-R(x)*R(x)/(256*Rnext(x);float Rnext(float x) return (sqr(R(x)*R(x)-2*R(x)*128*cos(angela(x);float clength(float x,float y)return (2*Rnext(x)*sin(y); float slength(float x,float y)return (clength(x,y)*sin(90+y/2-38.66-angelc(x); void TimerOverflow(void) .while (TCNT !
34、= 0 x0000);while (TCNT = 0 x0000);flag = 1;void initial_(void)E = 0X82;CTL = 0X80;CLK = 0X80;PRCLK = 0X24;SCLA = 0X40;SCLB = 0X02;POL = 0X82;CAE = 0X00;PER1 = 0X40;DTY1 = 0X10;PER67 = 0X2710;DTY67 = 0X2D0;void initial_atd(void)ATD0CTL2 = 0 xC0;ATD0CTL3 = 0 x18;ATD0CTL4 = 0 xA7;ATD0CTL5 = 0 xb1;ATD0D
35、IEN = 0 x00;float coding ( unsigned charsensors)float a,length;float rIn,rOut;switch (sensors)case 1: length=12.5;speed = 50;break;case 3: length=25;speed = 50;break;case 2: length=37.5; speed = 45;break;case 6: length=50;speed = 40;break;case 4: length=62.5;speed = 35;break;case 12:length=75;speed
36、= 30;break;case 8: length=87.5;speed = 25;break;case 16: length=-12.5;speed = 50;break;case 48:length=-25;speed = 50;break;case 32: length=-37.5;speed = 45;break;case 96: length=-50;speed = 40;break;case 64: length=-62.5;speed = 35;break;case 192:length=-75;speed = 30;break;case 128: length=-87.5;speed = 25;break;default:a = 0; speed = 20;break;if(length=templength) rIn=length-slength(temp*0.2,angelb(temp*0.2,speed);rIn=length;a =Calc ( &s,rIn );templength=length;retur
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 香港科技大學(xué)(廣州)《耳鼻咽喉頭頸外科》2023-2024學(xué)年第一學(xué)期期末試卷
- 佳木斯職業(yè)學(xué)院《文獻(xiàn)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 燕京理工學(xué)院《web技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年陜西省恒口高級(jí)中學(xué)高三下學(xué)期綜合模擬考試物理試題含解析
- 永城職業(yè)學(xué)院《安全工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江省杭州十四中2025年高三測(cè)試(四)物理試題含解析
- 江西服裝學(xué)院《先進(jìn)功能材料雙語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波幼兒師范高等??茖W(xué)?!稜I(yíng)養(yǎng)與食品衛(wèi)生學(xué)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆體育職業(yè)技術(shù)學(xué)院《影視攝影與剪輯技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 供應(yīng)商設(shè)備預(yù)驗(yàn)收人員分工
- 化學(xué)品(氬氣+二氧化碳混合氣)安全技術(shù)使用說(shuō)明書
- 產(chǎn)品質(zhì)量檢驗(yàn)報(bào)告樣本(范本模板)
- 煤層氣開(kāi)發(fā)-第2章-煤層氣地質(zhì)
- 武術(shù)公益推廣方案
- 黑龍江商業(yè)職業(yè)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
- 小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)《鴿巢問(wèn)題》作業(yè)設(shè)計(jì)
- 2024年安徽水利水電職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試題庫(kù)含答案解析
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)第六單元分層作業(yè)設(shè)計(jì)
- 電路分析課程思政報(bào)告
- 千分尺課件(公開(kāi)課用)
- 綠色飯店培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論