循線控制算法 - 基于光電傳感器的能自主識(shí)別道路的智能車

2012年08月07日 11:33 來源:互聯(lián)網(wǎng) 作者:互聯(lián)網(wǎng) 我要評(píng)論(0)

  二、循線控制算法

  本文采用經(jīng)驗(yàn)反饋控制,即在普通經(jīng)驗(yàn)控制的基礎(chǔ)上,加入pid控制的思想,引入比例、積分、微分三個(gè)控制常數(shù),實(shí)施反饋,并采用積分分離的控制方法。

  循線控制算法是利用前后兩排傳感器綜合檢測(cè)信號(hào)來推理得到模型車的精確轉(zhuǎn)向及具體的車速。方向判斷的方法是:如圖3,首先判斷下排5個(gè)傳感器的情況,假設(shè)s3處在黑線位置,再觀察上排8個(gè)傳感器,此時(shí)s3將上排傳感器分為左右兩邊,由于相鄰兩個(gè)傳感器間距離稍大于黑線寬度,因此任何時(shí)刻只能有2個(gè)傳感器同時(shí)檢測(cè)到黑線,這樣一來根據(jù)分析上下兩排傳感器信號(hào)就可以基本判斷出模型車的轉(zhuǎn)向情況。例如,某一時(shí)刻s3和s8檢測(cè)到黑線,就可大致判斷模型車應(yīng)向右拐,并根據(jù)兩個(gè)傳感器的連線和豎直方向的夾角可判斷舵機(jī)的轉(zhuǎn)向和大致角度。

  但同時(shí)還應(yīng)注意,當(dāng)車模進(jìn)入左側(cè)彎道時(shí),也可能出現(xiàn)s3和s8共同檢測(cè)到黑線的情況,這種情況下就要檢查上一時(shí)刻的傳感器信號(hào),就是檢測(cè)s4||s13的情況,若s4||s13結(jié)果為1,則認(rèn)為車模應(yīng)左拐,若s4||s13結(jié)果為0則應(yīng)右拐。一次方向判斷的流程如圖5所示。

  

  在程序中建立兩個(gè)數(shù)組,一個(gè)存儲(chǔ)每次檢測(cè)到的信號(hào),另一個(gè)存儲(chǔ)實(shí)施控制后的當(dāng)前信號(hào)作為歷史數(shù)據(jù)。加入這種帶歷史紀(jì)錄判斷的思想后,使得控制更為精確。

  除了以上判斷法則之外,還有兩種情況需要考慮。即只有一個(gè)傳感器檢測(cè)到黑線的情況以及交叉賽道的情況。對(duì)于只有一個(gè)傳感器檢測(cè)到黑線的情況,同樣需要檢查上一時(shí)刻的傳感器信號(hào),例如,某一時(shí)刻只有s6檢測(cè)到黑線,若上一時(shí)刻s5檢測(cè)到黑線,則車模左轉(zhuǎn),若上一時(shí)刻s7檢測(cè)到黑線,則車模右轉(zhuǎn)。

  對(duì)于交叉賽道的情況,則利用一種“濾波”的思想將其“濾”除掉。遇到交叉賽道時(shí),必然會(huì)出現(xiàn)同一排幾個(gè)傳感器同時(shí)檢測(cè)到黑線的情況,此時(shí)就給模型車一個(gè)命令使其直線前進(jìn),將交叉賽道排除掉。

  這就是本系統(tǒng)基于經(jīng)驗(yàn)邏輯判斷的循線控制算法,在此基礎(chǔ)上通過不斷實(shí)驗(yàn)調(diào)整各個(gè)參數(shù)可達(dá)到較好的控制效果。


上一頁12345下一頁