基于光電傳感器的能自主識別道路的智能車(chē)
引言
本文引用地址:http://dyxdggzs.com/article/165077.htm本文主要設計的是一輛自主識別道路的智能車(chē)。整個(gè)系統采用了16位單片機mc9s12dg128,模型車(chē)本身帶有差速器和后輪驅動(dòng),需要設計完成基于單片機的自動(dòng)控制系統使得模型車(chē)在封閉的跑道上自主循線(xiàn)運行。
車(chē)模與控制器構成一個(gè)自動(dòng)控制系統,如圖1,系統硬件以單片機為核心,配有傳感器、執行機構以及它們的驅動(dòng)電路,而信息處理與控制算法由單片機軟件完成。系統設計要求單片機把路徑的迅速判斷、相應的轉向伺服電機控制以及直流驅動(dòng)電機的控制精密的結合在一起。

智能車(chē)的設計是在保證模型車(chē)可靠運行的前提下,以電路設計簡(jiǎn)潔、車(chē)體靈活性高為原則。設計的兩大重點(diǎn),一是光電傳感器的布局和電路設計,一是循線(xiàn)控制算法的設計。
本文第二節主要介紹了光電傳感器的電路設計和布局,這是信號采集的關(guān)鍵,相當于智能車(chē)的“眼睛”;第三節主要介紹了循線(xiàn)控制算法,這是控制的核心,相當于智能車(chē)的“頭腦”;最后在第四節對智能車(chē)的硬件、軟件設計及實(shí)驗情況進(jìn)行了大體說(shuō)明。
一、光電傳感器
光電傳感器的選擇及電路設計
光電傳感器位于智能車(chē)的最前方,起到預先判斷路徑的作用。其發(fā)射的光對白色和黑色有不同的反射率,因此能得到不同的電壓值,采進(jìn)單片機后通過(guò)一定的算法比較電壓來(lái)判斷黑線(xiàn)的位置,從而控制舵機的轉動(dòng)。這種方法易于實(shí)現,響應速度快,實(shí)時(shí)性好,成本低。
本文選用性?xún)r(jià)比基本適合的反射式紅外傳感器tcrt5000。紅外光電傳感器電路的設計形式多種多樣,由于本文算法中采用的是傳感器陣列經(jīng)驗判斷方法,為了控制簡(jiǎn)便采用數字量輸出傳感器電路,如圖2所示。

光電管采用脈沖調制式發(fā)光,即vo是震蕩電路產(chǎn)生的脈沖電壓,這樣易濾除外界干擾。雖然電路相對復雜,但足以保證模型車(chē)的穩定行駛。
光電傳感器布局的研究
光電管陣列的布局直接影響智能車(chē)的循線(xiàn)效果。一般來(lái)說(shuō),典型的布局有“一”字形布局和“w”形布局兩種。
所謂“一”字形布局,就是把多個(gè)傳感器按照“一”字排開(kāi)。這種傳感器布局方式最常見(jiàn),算法在理論上易于實(shí)現。其不足之處在于:對賽道的曲率幾乎沒(méi)有任何預測功能。因此一般不采用這種布局。
而“w”形布局,是把多個(gè)傳感器按照“w”形排列。“w”形布局由于傳感器分布在兩排,使得智能車(chē)對彎道有一定的預測功能,這種預測功能特別體現在直道進(jìn)入彎道時(shí)刻。后一排傳感器仍在直道時(shí),前一排傳感器已經(jīng)進(jìn)入彎道。而不足之處是增加了控制算法的復雜程度,判斷舵機的旋轉方向時(shí),往往需要上一次的檢測數據。經(jīng)驗判斷的可能性也隨著(zhù)傳感器數量的增加而增加。
光電傳感器布局仿真
經(jīng)多次仿真實(shí)驗,最終確定了傳感器的布局和數量。采用如圖3所示的“w”形布局,一共有13個(gè)傳感器,前排8個(gè),后排5個(gè),前后兩排間距為3.5cm。設置這個(gè)間距,使其對賽道有一定預測功能。具體的布局及仿真效果如圖4所示。

二、循線(xiàn)控制算法
本文采用經(jīng)驗反饋控制,即在普通經(jīng)驗控制的基礎上,加入pid控制的思想,引入比例、積分、微分三個(gè)控制常數,實(shí)施反饋,并采用積分分離的控制方法。
循線(xiàn)控制算法是利用前后兩排傳感器綜合檢測信號來(lái)推理得到模型車(chē)的精確轉向及具體的車(chē)速。方向判斷的方法是:如圖3,首先判斷下排5個(gè)傳感器的情況,假設s3處在黑線(xiàn)位置,再觀(guān)察上排8個(gè)傳感器,此時(shí)s3將上排傳感器分為左右兩邊,由于相鄰兩個(gè)傳感器間距離稍大于黑線(xiàn)寬度,因此任何時(shí)刻只能有2個(gè)傳感器同時(shí)檢測到黑線(xiàn),這樣一來(lái)根據分析上下兩排傳感器信號就可以基本判斷出模型車(chē)的轉向情況。例如,某一時(shí)刻s3和s8檢測到黑線(xiàn),就可大致判斷模型車(chē)應向右拐,并根據兩個(gè)傳感器的連線(xiàn)和豎直方向的夾角可判斷舵機的轉向和大致角度。
但同時(shí)還應注意,當車(chē)模進(jìn)入左側彎道時(shí),也可能出現s3和s8共同檢測到黑線(xiàn)的情況,這種情況下就要檢查上一時(shí)刻的傳感器信號,就是檢測s4||s13的情況,若s4||s13結果為1,則認為車(chē)模應左拐,若s4||s13結果為0則應右拐。一次方向判斷的流程如圖5所示。

在程序中建立兩個(gè)數組,一個(gè)存儲每次檢測到的信號,另一個(gè)存儲實(shí)施控制后的當前信號作為歷史數據。加入這種帶歷史紀錄判斷的思想后,使得控制更為精確。
除了以上判斷法則之外,還有兩種情況需要考慮。即只有一個(gè)傳感器檢測到黑線(xiàn)的情況以及交叉賽道的情況。對于只有一個(gè)傳感器檢測到黑線(xiàn)的情況,同樣需要檢查上一時(shí)刻的傳感器信號,例如,某一時(shí)刻只有s6檢測到黑線(xiàn),若上一時(shí)刻s5檢測到黑線(xiàn),則車(chē)模左轉,若上一時(shí)刻s7檢測到黑線(xiàn),則車(chē)模右轉。
對于交叉賽道的情況,則利用一種“濾波”的思想將其“濾”除掉。遇到交叉賽道時(shí),必然會(huì )出現同一排幾個(gè)傳感器同時(shí)檢測到黑線(xiàn)的情況,此時(shí)就給模型車(chē)一個(gè)命令使其直線(xiàn)前進(jìn),將交叉賽道排除掉。
這就是本系統基于經(jīng)驗邏輯判斷的循線(xiàn)控制算法,在此基礎上通過(guò)不斷實(shí)驗調整各個(gè)參數可達到較好的控制效果。
三、實(shí)驗結果
硬件設計
電機驅動(dòng)電路
電機驅動(dòng)采用mc33886作為驅動(dòng)芯片,其原理如圖6所示。通過(guò)向in1、in2口送出pwm波來(lái)控制電機的正轉和反轉,正轉為智能車(chē)加速,反轉減速。改變pwm波的占空比,可控制電機的轉動(dòng)速率。
伺服電機相關(guān)文章:伺服電機工作原理
pid控制器相關(guān)文章:pid控制器原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評論