采用光電傳感器的智能車控制研究
引言
本文是根據(jù)第三屆全國大學(xué)生“飛思卡爾”杯智能汽車大賽要求設(shè)計自主識別道路的智能車。整個系統(tǒng)采用了組委會提供的16位單片機mc9s12dg128為核心,模型車本身帶有差速器和后輪驅(qū)動,需要設(shè)計完成基于單片機的自動控制系統(tǒng)使得模型車在封閉的跑道上自主循線運行。
車模與控制器構(gòu)成一個自動控制系統(tǒng),如圖1,系統(tǒng)硬件以單片機為核心,配有傳感器、執(zhí)行機構(gòu)以及它們的驅(qū)動電路,而信息處理與控制算法由單片機軟件完成[1]。系統(tǒng)設(shè)計要求單片機把路徑的迅速判斷、相應(yīng)的轉(zhuǎn)向伺服電機控制以及直流驅(qū)動電機的控制精密的結(jié)合在一起。
智能車的設(shè)計是在保證模型車可靠運行的前提下,以電路設(shè)計簡潔、車體靈活性高為原則。設(shè)計的兩大重點,一是光電傳感器的布局和電路設(shè)計,一是循線控制算法的設(shè)計。
本文第二節(jié)主要介紹了光電傳感器的電路設(shè)計和布局,這是信號采集的關(guān)鍵,相當(dāng)于智能車的“眼睛”;第三節(jié)主要介紹了循線控制算法,這是控制的核心,相當(dāng)于智能車的“頭腦”;最后在第四節(jié)對智能車的硬件、軟件設(shè)計及實驗情況進行了大體說明。
光電傳感器
光電傳感器的選擇及電路設(shè)計
光電傳感器位于智能車的最前方,起到預(yù)先判斷路徑的作用。其發(fā)射的光對白色和黑色有不同的反射率,因此能得到不同的電壓值,采進單片機后通過一定的算法比較電壓來判斷黑線的位置,從而控制舵機的轉(zhuǎn)動[2]。這種方法易于實現(xiàn),響應(yīng)速度快,實時性好,成本低。
本文選用性價比基本適合的反射式紅外傳感器tcrt5000。紅外光電傳感器電路的設(shè)計形式多種多樣,由于本文算法中采用的是傳感器陣列經(jīng)驗判斷方法,為了控制簡便采用數(shù)字量輸出傳感器電路,如圖2所示。
光電管采用脈沖調(diào)制式發(fā)光,即vo是震蕩電路產(chǎn)生的脈沖電壓,這樣易濾除外界干擾。雖然電路相對復(fù)雜,但足以保證模型車的穩(wěn)定行駛[3]。
光電傳感器布局的研究
光電管陣列的布局直接影響智能車的循線效果。一般來說,典型的布局有“一”字形布局和“w”形布局兩種。
所謂“一”字形布局,就是把多個傳感器按照“一”字排開。這種傳感器布局方式最常見,算法在理論上易于實現(xiàn)。其不足之處在于:對賽道的曲率幾乎沒有任何預(yù)測功能。因此一般不采用這種布局。
而“w”形布局,是把多個傳感器按照“w”形排列?!皐”形布局由于傳感器分布在兩排,使得智能車對彎道有一定的預(yù)測功能,這種預(yù)測功能特別體現(xiàn)在直道進入彎道時刻。后一排傳感器仍在直道時,前一排傳感器已經(jīng)進入彎道。而不足之處是增加了控制算法的復(fù)雜程度,判斷舵機的旋轉(zhuǎn)方向時,往往需要上一次的檢測數(shù)據(jù)。經(jīng)驗判斷的可能性也隨著傳感器數(shù)量的增加而增加。
光電傳感器布局仿真
經(jīng)多次仿真實驗,最終確定了傳感器的布局和數(shù)量。采用如圖3所示的“w”形布局,一共有13個傳感器,前排8個,后排5個,前后兩排間距為3.5cm。設(shè)置這個間距,使其對賽道有一定預(yù)測功能。具體的布局及仿真效果如圖4所示。
循線控制算法
本文采用經(jīng)驗反饋控制,即在普通經(jīng)驗控制的基礎(chǔ)上,加入pid控制的思想,引入比例、積分、微分三個控制常數(shù),實施反饋,并采用積分分離的控制方法。
循線控制算法是利用前后兩排傳感器綜合檢測信號來推理得到模型車的精確轉(zhuǎn)向及具體的車速。方向判斷的方法是:如圖3,首先判斷下排5個傳感器的情況,假設(shè)s3處在黑線位置,再觀察上排8個傳感器,此時s3將上排傳感器分為左右兩邊,由于相鄰兩個傳感器間距離稍大于黑線寬度,因此任何時刻只能有2個傳感器同時檢測到黑線,這樣一來根據(jù)分析上下兩排傳感器信號就可以基本判斷出模型車的轉(zhuǎn)向情況。例如,某一時刻s3和s8檢測到黑線,就可大致判斷模型車應(yīng)向右拐,并根據(jù)兩個傳感器的連線和豎直方向的夾角可判斷舵機的轉(zhuǎn)向和大致角度。
但同時還應(yīng)注意,當(dāng)車模進入左側(cè)彎道時,也可能出現(xiàn)s3和s8共同檢測到黑線的情況,這種情況下就要檢查上一時刻的傳感器信號,就是檢測s4||s13的情況,若s4||s13結(jié)果為1,則認為車模應(yīng)左拐,若s4||s13結(jié)果為0則應(yīng)右拐。一次方向判斷的流程如圖5所示。
評論