光交換技術(shù)綜合報(bào)告
光交換技術(shù)綜合報(bào)告
姓名:羅曉學(xué)號:專業(yè):通信工程
090642031
光交換技術(shù)和ATM交換一樣,都是寬帶交換的重要組成。在長途信息傳輸方面,光纖已經(jīng)占了絕對優(yōu)勢。用戶環(huán)路光纖化也得到很大發(fā)展,尤其是寬帶綜合數(shù)字網(wǎng)中的用戶線路必須要用光纖。光技術(shù)已經(jīng)在信息傳輸中得到廣泛應(yīng)用,并占用舉足輕重的地位。同時(shí),現(xiàn)有的大部分情況是光纖在傳輸部分帶寬幾乎無限200Tb/s,窗口200nm。相反,在交換部分,僅僅只有幾個(gè)Gb/s,這是因?yàn)殡娮拥谋菊魈匦灾萍s了它在交換部分的處理能力和交換速度。所以,許多研究機(jī)構(gòu)致力于研究和開發(fā)光交換/光路由技術(shù),試圖在光子層面上完成網(wǎng)絡(luò)交換工作,消除電子瓶頸的影響。當(dāng)全光交換系統(tǒng)成為現(xiàn)實(shí),就足夠可以滿足飛速增長的帶寬和處理速度需求,減少光電交換的損傷,同時(shí)能減少多達(dá)75%的網(wǎng)絡(luò)成本,具有誘人的市場前景。因此,廣電交換技術(shù)是未來交換技術(shù)的發(fā)展方向。
光交換技術(shù)是指不經(jīng)過任何光、電轉(zhuǎn)換,在光域直接將輸入光信號交換到不同的輸出端。即全光通信網(wǎng)絡(luò)。光交換系統(tǒng)主要由輸入接口、光交換矩陣、輸出接口和控制單元四部分組成。實(shí)現(xiàn)光交換設(shè)備是光交換機(jī),光交換器件是實(shí)現(xiàn)全光網(wǎng)絡(luò)的基礎(chǔ),光交換機(jī)的光交換器件有光開光、光波長轉(zhuǎn)換器和光存儲器。
光開關(guān)在光通信技術(shù)中的作用一是將某一光纖通道中的光信號切斷或開通;其次是將某波長光信號由一個(gè)光纖通道轉(zhuǎn)換到另一通道中去;在是在同一通道中將一種波長的光信號轉(zhuǎn)換成另一種波長的光信號。一般有半導(dǎo)體光開光、耦合波導(dǎo)開關(guān)、硅襯底平面光波導(dǎo)開關(guān)等。波長轉(zhuǎn)換器有直接轉(zhuǎn)換和調(diào)制轉(zhuǎn)換兩種。直接轉(zhuǎn)換將輸入的光信號由光電探測器轉(zhuǎn)變?yōu)殡娦盘,然后再?qū)動(dòng)激光器,使其輸出光信號,即光-電光變換;調(diào)制轉(zhuǎn)換只在外調(diào)制器的控制端上施加適當(dāng)?shù)闹绷髌秒妷,?shí)現(xiàn)間接波長轉(zhuǎn)換。光存儲器有光纖延遲線存儲器和雙穩(wěn)態(tài)光二極管存儲器二種。
光交換技術(shù)可以分成光路交換技術(shù)和分組交換技術(shù)。光路交換又可分成三種類型,即空分(SD)、時(shí)分(TD)和波分/頻分(WD/FD)光交換,以及由這些交換組合而成的結(jié)合型。光分組交換又分為白分組(OPS)、突發(fā)(OBS)、標(biāo)記(OMPLS)三種。
空分光交換技術(shù)就是在空間域上對光信號進(jìn)行交換,其基本原理是將光交換元件組成門陣列開關(guān),并適當(dāng)控制門陣列開關(guān),即可在任一路輸入光纖和任一輸出光纖之間構(gòu)成通路?辗止饨粨Q的功能是使光信號的傳輸通路在空間上發(fā)生改變。它有兩種工作狀態(tài):平行和交叉兩種交換狀態(tài)?辗止饨粨Q按光矩陣開關(guān)所使用的技術(shù)又分成兩類,一是基于波導(dǎo)技術(shù)的波導(dǎo)空分,另一個(gè)是使用自由空間光傳播技術(shù)的自由空分光交換?辗止饨粨Q可以構(gòu)成縱橫式(crossbar)網(wǎng)絡(luò),雙縱橫式(double-crossbar)網(wǎng)絡(luò),Banyan網(wǎng)絡(luò)和擴(kuò)張的Banyan網(wǎng)絡(luò),Benes網(wǎng)絡(luò)和擴(kuò)張的Benes網(wǎng)絡(luò)。時(shí)分光交換是以時(shí)分復(fù)用為基礎(chǔ),把時(shí)間劃分為若干互不重疊的時(shí)隙,由不同的時(shí)隙建立不同的子信道,通過時(shí)隙交換網(wǎng)絡(luò)完成話音的時(shí)隙搬移,從而實(shí)現(xiàn)入線和出線間話音交換的一種交換方式其基本原理與現(xiàn)行的電子程控交換中的時(shí)分交換系統(tǒng)完全相同,因此它能與采用全光時(shí)分多路復(fù)用方法的光傳輸系統(tǒng)匹配。波分光交換(或交叉連接)是以波分復(fù)用原理為基礎(chǔ),采用波長選擇或波長變換的方法實(shí)現(xiàn)交換功能的。波分交換是根據(jù)光信號的波長來進(jìn)行通路選擇的交換方式。其基本原理是通過改變輸入光信號的波長,把某個(gè)波長的光信號變換成另一個(gè)波長的光信號輸出。波分復(fù)用是指把N個(gè)波長互不相同的信道復(fù)用在一起,就可以得到一個(gè)N路的波分復(fù)用信號。
全光分組交換網(wǎng)可分成兩大類:時(shí)隙和非時(shí)隙。在時(shí)隙網(wǎng)絡(luò)中,分組長度是固定的,并在時(shí)隙中傳輸。時(shí)隙的長度應(yīng)大于分組的時(shí)限,以便在分組的前后設(shè)置保護(hù)間隔。在非時(shí)隙網(wǎng)絡(luò)中,分組的大小是可變的,而且在交換之前,不需要排列,異步的,自由地交換每一個(gè)分組。這種網(wǎng)絡(luò)競爭性較大,分組丟失率較高。但是結(jié)構(gòu)簡單,不需要同步,分組的分割和重組不需要在輸入輸出節(jié)點(diǎn)進(jìn)行,更適合于原始IP業(yè)務(wù),而且緩存容量較大的非時(shí)隙型網(wǎng)絡(luò)性能良好。
在光網(wǎng)絡(luò)設(shè)計(jì)中,對網(wǎng)絡(luò)設(shè)計(jì)者來說,非常重要的是減少當(dāng)前網(wǎng)絡(luò)中協(xié)議層的數(shù)目,保留已有功能,并盡量利用現(xiàn)有的光技術(shù)。而光分組交換技術(shù)獨(dú)秀之處在于:大容量、數(shù)據(jù)率和格式的透明性、可配置性等特點(diǎn);支持未來不同類型數(shù)據(jù);能提供端到端的光通道或者無連接的傳輸;帶寬利用效率高,能提供各種服務(wù),滿足客戶的需求。把大量的交換業(yè)務(wù)轉(zhuǎn)移到光域,交換容量與WDM傳輸容量匹配,同時(shí)光分組技術(shù)與OXC、MPLS等新技術(shù)的結(jié)合,實(shí)現(xiàn)網(wǎng)絡(luò)的優(yōu)化與資源的合理利用因而,光分組交換技術(shù)勢必成為下一代全光網(wǎng)網(wǎng)絡(luò)規(guī)劃的“寵兒”。
擴(kuò)展閱讀:軍交1隊(duì)技術(shù)報(bào)告
第一屆“飛思卡爾”杯全國大學(xué)生
智能汽車邀請賽
技術(shù)報(bào)告
學(xué)校:軍事交通學(xué)院隊(duì)伍名稱:軍交參賽隊(duì)員:郭振東李華郭燦
帶隊(duì)教師:徐友春
1隊(duì)
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})
關(guān)于技術(shù)報(bào)告和研究論文使用授權(quán)的說明
本人完全了解第一屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽關(guān)保留、
使用技術(shù)報(bào)告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計(jì)方案、技術(shù)報(bào)告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會出版論文集中。
參賽隊(duì)員簽名:郭振東
李華郭燦
帶隊(duì)教師簽名:徐友春日期:8月5號
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})
第一章:引言...............................................................................................................2
1.1設(shè)計(jì)制作思路.................................................................................................21.2設(shè)計(jì)方案概述.................................................................................................2第二章:硬件部分.....................................................................................................2
2.1車模組裝.........................................................................................................22.2傳感器的設(shè)計(jì)與安裝.....................................................................................2
2.2.1傳感器的選擇及工作原理................................................................22.2.2傳感器的布置方案............................................................................32.2.3傳感器信號探測及處理電路............................................................42.3系統(tǒng)電路板的設(shè)計(jì)、安裝與連接.................................................................42.4驅(qū)動(dòng)電機(jī)和舵機(jī).............................................................................................52.5主要車模參數(shù)................................................................................................6第三章:軟件部分.......................................................................................................7
3.1控制算法.........................................................................................................7
3.1.1理論介紹..............................................................................................73.1.2程序?qū)崿F(xiàn)............................................................................................73.2代碼設(shè)計(jì)......................................................................................................10第四章:結(jié)論.............................................................................................................10
4.1主要性能........................................................................................................14.2改進(jìn)方向.........................................................................................................1參考文獻(xiàn).......................................................................................................................2附錄:程序源代碼.......................................................................................................2
第一章:引言
1.1設(shè)計(jì)制作思路
為了實(shí)現(xiàn)對小車的智能控制,本設(shè)計(jì)以MC9S12DG128為核心,將傳感器得到的路況信息進(jìn)行綜合判別和處理,然后以脈寬調(diào)制(PWM)的方式控制舵機(jī)轉(zhuǎn)向和驅(qū)動(dòng)電機(jī)加速或減速,從而控制小車,使小車能夠快速、準(zhǔn)確地識別特定路線并按適當(dāng)速度行駛。多傳感器并行工作、CPU的綜合數(shù)據(jù)處理為小車實(shí)現(xiàn)自動(dòng)加速、減速、限速、左轉(zhuǎn)、右轉(zhuǎn)提供了充分的保證。先后經(jīng)過了組裝車模、傳感器的選擇與布置、系統(tǒng)電路板的設(shè)計(jì)與安裝、開發(fā)工具BDM的調(diào)試以及控制算法的不斷改進(jìn)等過程,完成對智能車粗略控制到精確控制,并使智能車由低速逐漸向高速過渡。在實(shí)驗(yàn)的基礎(chǔ)上不斷發(fā)現(xiàn)問題,并不斷調(diào)試解決問題,使智能車能夠最大限度地沿著軌道快速、準(zhǔn)確地行駛。
1.2設(shè)計(jì)方案概述
本設(shè)計(jì)方案主要分硬件、軟件和結(jié)論三個(gè)方面進(jìn)行介紹。硬件部分主要闡述了外部傳感器的選擇、安裝、傳感器的探測原理、傳感器的探測電路設(shè)計(jì),系統(tǒng)電路板的電路設(shè)計(jì)及安裝,驅(qū)動(dòng)電機(jī)和舵機(jī)的控制。軟件部分主要介紹了控制算法的理論知識,程序以及代碼的設(shè)計(jì)。結(jié)論部分主要指出了小車的性能以及改進(jìn)的方向,F(xiàn)在對本技術(shù)報(bào)告的主要部分概括介紹如下:
傳感器部分:本智能車的傳感器采用了反射式紅外光電傳感器,雙排布置。在智能車的頭部安裝了兩塊電路板,兩塊電路板的布置形式呈工字形。智能車通電后,光電傳感器的發(fā)光管發(fā)出探測光,如果探測到白色部分,接收管能夠接收到反射光;如果探測到黑色部分則探測光被吸收,接收管就接收不到反射光。根據(jù)此原理,把電信號轉(zhuǎn)換成數(shù)字信號,從而把路面信息反映到控制系統(tǒng),通過CPU的綜合數(shù)據(jù)處理,對智能車的轉(zhuǎn)向和速度進(jìn)行控制。
控制系統(tǒng)部分:我們制作了以MC9S12DG128芯片為核心的系統(tǒng)電路板,它給布置線路帶來了極大的方便,并可以非常方便地安裝在智能車上,使系統(tǒng)得到了簡化。
控制算法部分:采用了目前自動(dòng)控制領(lǐng)域中最常用的控制算法PID控制算法進(jìn)行車輛行駛控制。在本方案的設(shè)計(jì)中采用了PID直接計(jì)算法。在行駛過程中,由于車輛轉(zhuǎn)向造成車輛中心與黑線有一定的偏差量,我們就選擇這一偏差量作為輸入的偏差。本設(shè)計(jì)方案中以前排電路板的中心為車輛中心線所在位置,在車輛行駛過程中,當(dāng)某一傳感器感應(yīng)到黑線位置時(shí),就以該傳感器與電路板中心的距離作為車輛的行駛偏差,以此作為PID控制器的輸入量。為了改善控制算法中輸入量不連續(xù)的問題,我們引入車速作為算法輔助輸入量。
開發(fā)工具我們采用了主辦方提供的BDM調(diào)試器,在本報(bào)告中就不再贅述。
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})
第二章:硬件部分
2.1車模組裝
嚴(yán)格按照說明對車模進(jìn)行組裝。重點(diǎn)是準(zhǔn)確地調(diào)整舵機(jī),使舵機(jī)和前輪處于最佳的工作位置。
2.2傳感器的設(shè)計(jì)與安裝
2.2.1傳感器的選擇及工作原理根據(jù)要求,我們有兩個(gè)選擇。
第一種是采用CCD傳感器,以一定的頻率對路面信息進(jìn)行采集。CPU通過圖象處理判斷小車所處相對的位置。使用CCD進(jìn)行圖象采集和識別的方法,雖然該方案獲得的信息較精確,但是不適用在小體積系統(tǒng)中使用,并且還涉及圖象采集、圖象識別等領(lǐng)域,占用系統(tǒng)資源較多,算法較復(fù)雜。
第二種是采用反射式紅外光電傳感器,以一定的頻率向CPU提供路面標(biāo)志信號。CPU經(jīng)過比較處理,粗略判斷出小車所處的相對位置。該傳感器體積小,價(jià)格便宜,使用方便,而且該方案占用系統(tǒng)資源較少,算法較易實(shí)現(xiàn)。故我們在本設(shè)計(jì)中采用了這種傳感器,鑒于車底盤較低,采用近距離(2cm4cm)有效的傳感器。工作原理如圖2.1所示:
發(fā)射路
面接收探測距離圖2.1傳感器工作原理圖
反射式光電傳感器有發(fā)射管和接收管組成,工作時(shí)由發(fā)射管發(fā)射紅外線,經(jīng)被探測物體面反射,反射的紅外線由接收管接收,接收管把接收的物理信號轉(zhuǎn)換成電信號。被檢測物體表面的顏色和粗糙程度影響反射光的強(qiáng)弱,反射面越不光滑,顏色越暗,反射光就會越弱。我們這里就是要運(yùn)用紅外光電傳感器對顏色敏感的特點(diǎn),當(dāng)檢測物體表面的顏色為黑色時(shí),反射光很弱,接收管接收的光線可以忽略,使接收管處于一種狀態(tài),例如開關(guān)管截止;當(dāng)檢測物體表面的顏色為白色時(shí),反射光較強(qiáng)烈。使接收管處于另一種狀態(tài),例如開關(guān)管導(dǎo)通。這兩種相反的狀態(tài)表現(xiàn)在電路中就是高低電平組成的脈沖信號。這個(gè)脈沖信號就是控制系統(tǒng)的輸入信號,并且設(shè)高電平的輸入信號為1低電平信號輸入為0。通過編寫控制算法,根據(jù)傳感器搜集的路況信息,調(diào)節(jié)PWM的占空比,控制舵機(jī)和驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)小車的智能控制。
第二章:硬件部分
2.2.2傳感器的布置方案
為了減弱外界光線對反射式紅外光電傳感器的影響,且考慮到小車底盤較低,我們把傳感器放置在設(shè)計(jì)的電路板下,垂直探測地面。傳感器的布置方案有單排、雙排、W字形排列等。由于W字形排列的算法比較復(fù)雜,我們只考慮了單排布置和雙排布置的方案。
首先我們選用了單排布置,也就是在車模的頭部安裝一塊電路板,其底部安裝8個(gè)傳感器。通過對傳感器探測到黑色導(dǎo)航線的情況的分析,我們用編碼的形式把傳感器探測到的路面信息表示出來。然后把這些路況信息輸入到控制系統(tǒng)通過編寫的控制算法就可以控制舵機(jī)和驅(qū)動(dòng)電機(jī),實(shí)現(xiàn)智能車的加速、減速、左轉(zhuǎn)、右轉(zhuǎn)了。通過不斷的實(shí)驗(yàn),來進(jìn)一步地調(diào)整各種編碼下,智能車要轉(zhuǎn)的角度的參數(shù)。但是這種控制算法對智能車進(jìn)行控制時(shí),并沒有考慮速度對其轉(zhuǎn)向的影響,只是簡單地在轉(zhuǎn)彎時(shí)減速,在直道時(shí)加速。因此在實(shí)驗(yàn)中發(fā)現(xiàn)智能車在跑道上慢速行駛時(shí)還能比較平穩(wěn)的跑完全程,其速度稍微加大時(shí),智能車在拐彎處即使進(jìn)行了減速,也會由于慣性常會飛出跑道。改進(jìn)的方法有二:一是改進(jìn)算法,采用PID控制算法,它可以解決車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問題,行駛軌跡的跟蹤及預(yù)測問題;二是增大傳感器的預(yù)描距離,進(jìn)入彎道時(shí)提前減速。我們就雙管齊下,增大了傳感器探測電路板伸出智能車的距離。同時(shí)為了獲得PID控制算法比較準(zhǔn)確地輸入量,就在前排的后面又安裝了一塊電路板,并在它的下面安裝了6個(gè)傳感器,采集更多的信息。最終我們采用了雙排布置,即在智能車的頭部安裝了前、后兩塊電路板。其形狀及尺寸如圖2.2(單位:毫米)所示:
圖2.2
兩塊電路板的布置如圖2.3所示:在前排電路板上任意兩個(gè)相鄰的傳感器的中心距離位2.5cm;在后排電路板上,中間兩個(gè)傳感器的中心距離為5.0cm,其余的相鄰兩傳感器間的距離也為2.5cm。前后兩塊電路板傳感器分布所在直線間的
第一屆全國大學(xué)生智能汽車邀請賽技術(shù)報(bào)告
垂直距離為10.8cm。
2.2.3傳感器信號探測及處理電路
圖2.3
傳感器信號探測及處理電路設(shè)計(jì)如圖2.4所示:
圖2.4
D1為紅外光電傳感器的發(fā)射管,D2為其接收管。D1發(fā)射紅外線,D2接收信號,判斷是否有反射信號。如果有則D2輸出高電平,如果沒有則輸出低電平,信號經(jīng)過三極管、集成運(yùn)放器輸出到CPU的PORTA或PORTB。14個(gè)傳感器獲得的信號并行輸入單片機(jī),從而把路面信息反饋到控制系統(tǒng),實(shí)現(xiàn)對智能車的控制。制作電路板后,要把探測電路上的元件一一對應(yīng)地焊接到電路板上。焊接電阻時(shí),要注意防止虛焊;焊接插件時(shí)要注意避免兩個(gè)焊接點(diǎn)連接在一起造成短路;焊接發(fā)光二極管和接收二極管前要用萬用表測量一下極性,防止將二極管反向安裝。
2.3系統(tǒng)電路板的設(shè)計(jì)、安裝與連接
第二章:硬件部分
我們沒有采用主辦方提供了核心S12的電路板,自行設(shè)計(jì)了系統(tǒng)電路板。首先核心S12電路板體積比較大,既不方便在智能車上安裝,也不美觀;其次在核心S12電路板上找到正確的引腳插線,也顯得比較復(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.5
2.4驅(qū)動(dòng)電機(jī)和舵機(jī)
傳感器信息電機(jī)MC9S12DG128加減速M(fèi)C33886PID算法PWM波舵機(jī)轉(zhuǎn)向圖2.6舵機(jī)和電機(jī)工作原理原理圖
第一屆全國大學(xué)生智能汽車邀請賽技術(shù)報(bào)告
驅(qū)動(dòng)電機(jī)和舵機(jī)是智能車整個(gè)系統(tǒng)的執(zhí)行部件。以MC9S12DG128芯片為核心的控制系統(tǒng)由傳感器獲得路面信息,通過PID控制算法來調(diào)節(jié)舵機(jī)和驅(qū)動(dòng)電機(jī)的PWM的占空比,控制智能車的轉(zhuǎn)向和車速。其工作原理圖2.6所示。本次比賽要求不得對驅(qū)動(dòng)電機(jī)和舵機(jī)進(jìn)行改造,本文對其不再贅述。
2.5主要車模參數(shù)
a)車重:1.1kg長:384mm寬:185mm高:77mm
b)電路功耗:所有電容總?cè)萘浚?900uFc)傳感器種類:反射式紅外光電傳感器數(shù)目:14d)伺服電機(jī)個(gè)數(shù):0
e)賽道信息檢測精度:6mm頻率:1000Hz
第三章:軟件部分
3.1控制算法
本智能車輛的控制算法部分主要需解決如下問題:車輛直線行駛的穩(wěn)定性問題,車輛轉(zhuǎn)彎控制問題,車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問題,行駛軌跡的跟蹤及預(yù)測問題等。為了更好的解決設(shè)計(jì)中存在的問題,本方案采用了目前自動(dòng)控制領(lǐng)域中最常用的控制算法PID控制算法進(jìn)行車輛行駛控制。3.1.1理論介紹
PID控制算法包括直接計(jì)算法和增量算法,所謂的增量算法就是相對于標(biāo)準(zhǔn)的相鄰兩次運(yùn)算之差,得到的結(jié)果是增量。也就是說在上一次的控制量的基礎(chǔ)上需要增加(負(fù)值意味著減少)控制量,例如對于智能小車控制算法,就是智能小車相對于上一次轉(zhuǎn)向角度還需要增加或減少的轉(zhuǎn)向角度。在本方案的設(shè)計(jì)中采用了PID直接計(jì)算法。
(一)PID算法中常用概念解釋如下:1、基本偏差e(t)
表示當(dāng)前測量值與設(shè)定目標(biāo)間的差,設(shè)定目標(biāo)是被減數(shù),結(jié)果可以是正或負(fù),正數(shù)表示還沒有達(dá)到,負(fù)數(shù)表示已經(jīng)超過了設(shè)定值。這是面向比例項(xiàng)用的變動(dòng)數(shù)據(jù)。
2、累計(jì)偏差:e(t)e(t)e(t1)e(t2)...e(1)公式1
表示每一次測量到的偏差值的總和,這是代數(shù)和,是面向積分項(xiàng)用的一個(gè)變動(dòng)數(shù)據(jù)。
3、基本偏差的相對偏差e(t)-e(t-1)
表示用本次的基本偏差減去上一次的基本偏差,用于考察當(dāng)前控制對象的趨勢,作為快速反應(yīng)的重要依據(jù),這是面向微分項(xiàng)的一個(gè)變動(dòng)數(shù)據(jù)。4、三個(gè)基本參數(shù):Kp,Ki,Kd
這三個(gè)參數(shù)是做好控制器的關(guān)鍵常數(shù),分別稱為比例常數(shù)、積分常數(shù)和微分常數(shù),不同的控制對象需要選擇不同的數(shù)值,還需要經(jīng)過現(xiàn)場調(diào)試才能獲得較好的效果。
5、標(biāo)準(zhǔn)的直接算法公式
Pout(t)Kp*e(t)Ki*e(t)Kd*(e(t)e(t1))公式2(二)三個(gè)基本參數(shù)Kp,Ki,Kd在實(shí)際控制中的作用:
比例調(diào)節(jié)作用:是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。
積分調(diào)節(jié)作用:是使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。因?yàn)橛姓`差,積分
第一屆全國大學(xué)生智能汽車邀請賽技術(shù)報(bào)告
調(diào)節(jié)就進(jìn)行直至無差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積分作用的強(qiáng)弱取決于積分時(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é)器或PID調(diào)節(jié)器。
微分調(diào)節(jié)作用:微分作用反映系統(tǒng)偏差信號的變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,以被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動(dòng)態(tài)性能。在微分時(shí)間選擇合適情況下,可以減少超調(diào),減少調(diào)節(jié)時(shí)間。微分作用對于噪聲干擾有放大作用,因此過強(qiáng)的加微分調(diào)節(jié),對系統(tǒng)抗干擾不利。此外,微分反應(yīng)的是變化率,而當(dāng)輸入沒有變化時(shí),微分作用輸出為零。微分作用不能單獨(dú)使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PD或PID控制器。(三)智能車輛PID控制算法中參數(shù)的選擇
此次參賽的智能車輛主要是尋跡行駛,控制算法所要做的就是控制車輛沿著預(yù)先設(shè)計(jì)好黑線行駛,保證車輛中心線在黑線上。在行駛過程中,由于車輛轉(zhuǎn)向造成車輛中心與黑線有一定的偏差量,我們就選擇這一偏差量作為輸入的偏差。本設(shè)計(jì)方案中以前排電路板的中心為車輛中心線所在位置,在車輛行駛過程中,當(dāng)某一傳感器感應(yīng)到黑線位置時(shí),就以該傳感器與電路板中心的距離作為車輛的行駛偏差,以此做為PID控制器的輸入量。如圖3.1所示:
通過直接算法公式(公式2)計(jì)算出t時(shí)刻智能車的控制轉(zhuǎn)向角,由此達(dá)到對智能車轉(zhuǎn)向進(jìn)行控制的目的。但是由于輸入量取值是由傳感器的位置決定,而傳感器的數(shù)量又是有限的,所以我們只能獲得有限的精確輸入量,這樣通過控制算法得出的控制轉(zhuǎn)角就不是很理想。為了改善控制算法中輸入量不連續(xù)的問題,我們引入車速作為算法輔助輸入量。通過車速、車輛上一次轉(zhuǎn)角、車輛長度等值之間的數(shù)學(xué)關(guān)系,可以計(jì)算出車輛中心與黑線中心在一次傳感器采樣周期內(nèi)的偏差,以此值與傳感器采樣值之間做比較,從而獲得比較理想的偏差值,為控制算法找到較理想的輸入量。車速、車輛上一次轉(zhuǎn)角、車輛長度等數(shù)值之間
8傳感器車輛中e(t)中心黑線圖3.第三章:軟件部件
的關(guān)系可由圖3.2導(dǎo)出:經(jīng)過△t時(shí)間后車輛轉(zhuǎn)過的角度為
vt180R12公式3(0是車輛上一時(shí)刻的轉(zhuǎn)角。)公式4
R120cos0sin0
由圖上各值的幾何關(guān)系可知:
圖3.2
a1800arctanb902arctan2L1L2L1L2公式5
2公式6
22arccosR22R2L1L2R12R222L1L2222公式7
2L1L2R12R12L1L2cosa公式8
C2R2sin公式9
10LCsinb公式
最后計(jì)算出的L即為經(jīng)過t時(shí)間后車輛中心的橫向位移,將此值與傳感器獲得的車輛中心與黑線的偏差進(jìn)行比較,得到我們需要的輸入量。
通過輸入量與輸出量之間的比較,初步定下PID控制算法中參數(shù)Kp,Ki,
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})第一屆全國大學(xué)生智能汽車邀請賽技術(shù)報(bào)告
Kd的值,然后通過實(shí)驗(yàn)找到合適的三個(gè)控制參數(shù)值。3.1.2程序?qū)崿F(xiàn)
數(shù)值分析和變量之間的聯(lián)系我們通過以上的分析過程已經(jīng)基本了解,要通過程序?qū)⒁陨线^程實(shí)現(xiàn)并達(dá)到預(yù)期的效果,還需要做一些準(zhǔn)備工作。首先是將轉(zhuǎn)向舵機(jī)和驅(qū)動(dòng)電機(jī)的驅(qū)動(dòng)程序設(shè)計(jì)好,然后測出智能車的最大行駛速度和最大轉(zhuǎn)角,量出車輛軸距以及程序設(shè)計(jì)中需要用的一些參數(shù)。完成這些準(zhǔn)備工作之后,畫出程序流程圖,如圖3.3所示:
開始
定義變量和函數(shù)并初始化數(shù)據(jù)
檢測端口值的變化并記錄到變量中
否是傳感器的檢
測值=0?
進(jìn)行數(shù)值編碼調(diào)用PID函數(shù)輸出控制角度和
調(diào)用轉(zhuǎn)向函數(shù)和調(diào)速函數(shù),調(diào)整車速和
轉(zhuǎn)速角否程序是否結(jié)束
程序結(jié)束圖3.3
圖3.3
通過程序流程圖,很快就可以確定下來編程方案,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,對程序中的函數(shù)都進(jìn)行模塊化設(shè)計(jì),保證程序的可讀性和易維護(hù)性,實(shí)現(xiàn)預(yù)期的設(shè)計(jì)目的。
3.2代碼設(shè)計(jì)
通過以上分析,我們在編程時(shí)需要解決以下問題:
第三章:軟件部分
(1)PID控制算法的程序?qū)崿F(xiàn)(2)基本計(jì)算函數(shù)的編程實(shí)現(xiàn)
(3)輸入輸出量與PID算法之間的結(jié)合(4)變量之間數(shù)據(jù)類型的變化
根據(jù)以上的問題提出了下述解決方法:
(1)定義PID計(jì)算的結(jié)構(gòu)體如下:typedefstructPID{
floatSetPoint;//設(shè)定目標(biāo)DesiredValue
floatProportion;//比例常數(shù)ProportionalConstfloatIntegral;//積分常數(shù)IntegralConstfloatDerivative;//微分常數(shù)DerivativeConstfloatLastError;//Error[-1]floatPrevError;//Error[-2]
floatSumError;//SumsofErrors
}PID;
(2)定義基本計(jì)算函數(shù)
floatPIDCalc(PID*pp,floatNextPoint)//PID計(jì)算{
floatdError,Error;
Error=pp->SetPoint-NextPoint;//偏差pp->SumError+=Error;//積分
dError=pp->LastError-pp->PrevError;//當(dāng)前微分pp->PrevError=pp->LastError;pp->LastError=Error;
return(pp->Proportion*Error//比例項(xiàng)+pp->Integral*pp->SumError//積分項(xiàng)+pp->Derivative*dError//微分項(xiàng));}
floatR(floatx)//計(jì)算車輛轉(zhuǎn)彎半徑{float
resu=200.0*(cosf(x*3.1415926/180.0))*(cosf(x*3.1415926/180.0))/(sinf(x*3.1415926/180.0));
returnresu;
第一屆全國大學(xué)生智能汽車邀請賽技術(shù)報(bào)告
}floatangela(floatx)//計(jì)算角度a{
return(180.0+x-51.3);}
floatangelb(floatx,floaty)//計(jì)算角度b{
floatrest=(180.0*y*0.025)/(R(x)*3.1415926);returnrest;}
floatangelc(floatx)//計(jì)算角度c{
float
resul=acosf((Rnext(x)*Rnext(x)+16400.0-R(x)*R(x))/(256.0*Rnext(x)))*180.0/3.1415926;
returnresul;}
floatRnext(floatx)//計(jì)算車輛中心點(diǎn)轉(zhuǎn)彎半徑{
float
resaff=R(x)*R(x)+16400.0-2.0*R(x)*128.0*cosf(angela(x)*3.1415926/180.0);
floatreste=sqrtf(resaff);returnreste;}
floatclength(floatx,floaty)//計(jì)算部分位移{
return(2.0*Rnext(x)*sinf(y*3.1415926/180.0));}
floatslength(floatx,floaty)//計(jì)算最終位移{
return
(clength(x,y)*sinf((90.0+y/2-38.66-angelc(x))*3.1415926/180.0));
}(3)確定輸入輸出量與定義函數(shù)之間的關(guān)系intcoding(unsignedcharsensors)
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})第三章:軟件部分
{inta=0;
floatlength=0.0,rIn=0.0;switch(sensors){
case1:length=12.5;;a=1;break;//speed=50case3:length=25.0;a=1;break;//speed=50;case2:length=37.5;a=1;break;//speed=45;case6:length=50.0;a=1;break;//speed=40;case4:length=62.5;a=1;break;//speed=35;case12:length=75.0;a=1;break;//speed=30;case8:length=87.5;a=1;break;//speed=26;case16:length=12.5;a=-1;break;//speed=50;case48:length=25.0;a=-1;break;//speed=50;case32:length=37.5;a=-1;break;//speed=45;case96:length=50.0;a=-1;break;//speed=40;case64:length=62.5;a=-1;break;//speed=35;case192:length=75.0;a=-1;break;//speed=30;case128:length=87.5;a=-1;break;//speed=26;default:a=0;speed=20;break;}
if(length==templength){
rIn=length-slength((tempangle*0.2),angelb((tempangle*0.2),(float)(0.2*(120-tempangle)*125)));
}else
rIn=length;
tempangle=PIDCalc(&sPID,rIn);//PerformPIDInterationif(tempangle":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})
第四章:結(jié)論
4.1主要性能
總體上,智能車已經(jīng)實(shí)現(xiàn)了加速、減速、轉(zhuǎn)向、剎車的基本功能,能夠沿黑色導(dǎo)航線比較平穩(wěn)、快速地行駛了。
本智能車輛的控制算法部分主要解決如下問題:車輛直線行駛的穩(wěn)定性問題,車輛轉(zhuǎn)彎控制問題,車輛行駛速度與轉(zhuǎn)向角度大小的相關(guān)性問題,行駛軌跡的跟蹤及預(yù)測問題等。PID控制算法就可以解決這些問題。它有諸多優(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í)間過程,而注重調(diào)整前后的狀態(tài)變化。實(shí)際應(yīng)用過程中,當(dāng)時(shí)間足夠小時(shí),由于執(zhí)行機(jī)構(gòu)的響應(yīng)能力遠(yuǎn)遠(yuǎn)低于單片機(jī)的運(yùn)行速度,實(shí)際控制操作效果就如同連續(xù)控制一樣,保證了控制的準(zhǔn)確性。2)控制輸出不要求最優(yōu)。從實(shí)際情況可知,在相同的情況下,同一駕駛員兩次控制的結(jié)果可能不盡相同的,具有一定的隨機(jī)性,但結(jié)果都能完成所要求的任務(wù)。因此,對于本智能車的控制輸出的轉(zhuǎn)向角,不要求它在當(dāng)前位置是最優(yōu)的,而只要求它滿足兩個(gè)條件,即方向正確,轉(zhuǎn)向角度合理。3)控制算法交易實(shí)現(xiàn)。比較其他比較復(fù)雜的算法,如最優(yōu)控制必須考慮時(shí)間的過程,因而需要了解各執(zhí)行機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)特性,以獲得準(zhǔn)確的傳遞函數(shù)。而本文提供的算法只需要車輛當(dāng)前的狀態(tài)信息,即小車的當(dāng)前位置(由傳感器提供)與小車所應(yīng)處的位置(由算法提供),即可得到轉(zhuǎn)向控制角。整個(gè)過程不涉及執(zhí)行機(jī)構(gòu)的動(dòng)態(tài)響應(yīng)函數(shù),從而降低了難度。
4.2改進(jìn)方向
本控制算法還存在一些不足:1)由于傳感器的預(yù)描距離小(10cm左右),隨著車速的提高,要求控制的頻率提高。由于系統(tǒng)硬件的限制很難滿足高速情況下的轉(zhuǎn)向控制的要求。2)作為輔助輸入量的速度并不十分準(zhǔn)確,所取的速度是算法賦予小車的速度,并非小車的真實(shí)速度。不同的路面,不同的轉(zhuǎn)向?qū)π≤嚨乃俣榷紩a(chǎn)生影響,而這些影響是很難量化的。3)算法中參數(shù)的調(diào)整完全依靠實(shí)驗(yàn)人工標(biāo)定,工作量比較大。這些問題都亟待解決。
":null,"page":{"ph":1263.375,"pw":893.25,"v":6,"t":"1","pptlike":null,"cx":0,"cy":0,"cw":893.25,"ch":1263.375}})
參考文獻(xiàn)
01.自動(dòng)控制原理/蔣大名、戴勝華主編。北京:清華大學(xué)出版社、北方交通大學(xué)出版
社,201*.6
02.現(xiàn)代傳感技術(shù)/魏永廣著。東北大學(xué)出版社,201*.4
03.C程序設(shè)計(jì):第2版/譚浩強(qiáng)著。北京:清華大學(xué)出版社,201*.6
04.單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法/邵貝貝著。北京:清華大學(xué)出版社,201*.10
附錄:程序源代碼
#include#include#include"stdio.h"#include"math.h"#definestart_speed5;
#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"typedefstructPID{
floatSetPoint;floatProportion;floatIntegral;
floatDerivative;floatLastError;floatPrevError;
floatSumError;}PID;PIDsPID;inttemp;intangle;
floatspeed;charflag;floattemplength;
floatcoding(unsignedcharsensors);voidinitial_pwm(void);voidinitial_atd(void);
characc_sensorX(void);characc_sensorY(void);voidsteer_pwm(floatangle);
voiddrive_pwm(signedcharspeed);
voidPIDInit(PID*pp);
floatPIDCalc(PID*pps,floatNextPoint);
floatR(floatx);
floatangela(floatx);floatangelb(floatx,floaty);floatangelc(floatx);floatRnext(floatx);
floatclength(floatx,floaty);floatslength(floatx,floaty);floatR(floatx){
return(200*cos(x)*cos(x)/sin(x));}floatangela(floatx){return(180+x-51.34);}
floatangelb(floatx,floaty){return(180*y*0.025/R(x));}floatangelc(floatx){
return(arccos((Rnext(x)*Rnext(x)+16400-R(x)*R(x))/(256*Rnext(x))));}floatRnext(floatx){
return(sqr(R(x)*R(x)+16400-2*R(x)*128*cos(angela(x))));}
floatclength(floatx,floaty){
return(2*Rnext(x)*sin(y));}floatslength(floatx,floaty){
return(clength(x,y)*sin(90+y/2-38.66-angelc(x)));}voidTimerOverflow(void){.
while(TCNT!=0x0000);while(TCNT==0x0000);flag=1;}
voidinitial_pwm(void){PWME=0X82;PWMCTL=0X80;
PWMCLK=0X80;PWMPRCLK=0X24;PWMSCLA=0X40;
PWMSCLB=0X02;PWMPOL=0X82;PWMCAE=0X00;
PWMPER1=0X40;
PWMDTY1=0X10;PWMPER67=0X2710;PWMDTY67=0X2D0;}voidinitial_atd(void)
{ATD0CTL2=0xC0;ATD0CTL3=0x18;ATD0CTL4=0xA7;
ATD0CTL5=0xb1;ATD0DIEN=0x00;}
floatcoding(unsignedcharsensors)
{floata,length;floatrIn,rOut;
switch(sensors){
case1:length=12.5;speed=50;break;case3:length=25;speed=50;break;
case2:length=37.5;speed=45;break;
case6:length=50;speed=40;break;case4:length=62.5;speed=35;break;case12:length=75;speed=30;break;case8:length=87.5;speed=25;break;
case16:length=-12.5;speed=50;break;case48:length=-25;speed=50;break;case32:length=-37.5;speed=45;break;
case96:length=-50;speed=40;break;case64:length=-62.5;speed=35;break;case192:length=-75;speed=30;break;
case128: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=PIDCalc(&sPID,rIn);
templength=length;
returna;}
voidsteer_pwm(intangle){PWMDTY67=720+angle;PWMCNT67=0;}
voiddrive_pwm(signedcharspeed){PWMDTY1=speed;PWMCNT1=0;}
characc_sensorX(void){charx;
x=ATD0DR0L;
returnx;}
characc_sensorY(void){chary;
y=ATD0DR1L;returny;}
floatPIDCalc(PID*pp,floatNextPoint)
{floatdError,Error;
Error=pp->SetPoint-NextPoint;pp->SumError+=Error;dError=pp->LastError-pp->PrevError;pp->PrevError=pp->LastError;
pp->LastError=Error;
return(pp->Proportion*Error+pp->Integral*pp->SumError
+pp->Derivative*dError);}voidPIDInit(PID*pp){memset(pp,0,sizeof(PID));}
voidmain(void)
{unsignedcharsensor1,stop,tt;characc_X,acc_Y;
TSCR1=0x80;/*enabletimerTCNT*/TSCR2=0x01;/*TCNTprescalersetup*/flag=0;
tt=0;
DDRA=0X00;DDRB=0XFF;DDRK=0XFF;DDRE=0X00;
PORTK=0X02;initial_pwm();
sPID.Proportion=0.5;sPID.Integral=0.5;sPID.Derivative=0.0;sPID.SetPoint=0;
for(;;)
{stop=PORTE;stop=stop&0x03;
if(stop==1){PORTK=0;tt=1;}if(stop==2){
PORTK=0X02;
10tt=0;}if(tt==0){sensor1=PORTA;PORTB=sensor1;
sensor1=~sensor1;acc_X=acc_sensorX();acc_Y=acc_sensorY();
if(sensor1==0xff){PORTK=0;}else{PORTK=0X02;}
if(sensor1==17){angle=0;speed=60;}else{
if(sensor1==0){angle=temp;speed=25;}
else{angle=(int)coding(sensor1);
temp=angle;}}TimerOverflow();if(flag==1){steer_pwm(angle);
drive_pwm(speed);flag=0;}}}
12友情提示:本文中關(guān)于《光交換技術(shù)綜合報(bào)告》給出的范例僅供您參考拓展思維使用,光交換技術(shù)綜合報(bào)告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時(shí)刪除。