摘 要: 本文以循跡策略為主要研究對象,以采用雙排傳感器的智能車為例,做出了優(yōu)化的直線、大彎、S彎等不同道路情況的循跡策略。經(jīng)實(shí)驗(yàn)證明,此策略緊密結(jié)合雙排紅外的特點(diǎn),發(fā)揮出了雙排的優(yōu)勢,使智能車實(shí)現(xiàn)了以穩(wěn)定為先,并追求極限速度的要求,適應(yīng)能力強(qiáng),能在各種賽道上均有出色發(fā)揮。
關(guān)鍵詞: 雙排;傳感器;路徑識別;循跡策略
雙排傳感器的優(yōu)勢
目前,大多數(shù)智能車采用單排傳感器的道路檢測方式,這種方式獲得的道路信息少,對智能車的狀態(tài)和道路的狀況都不能很好地區(qū)別,造成控制上的麻煩。為了彌補(bǔ)不足,形成了大前瞻的單排傳感器的道路檢測方式,這種方式檢測的距離更遠(yuǎn),能夠更早地判斷出道路的走向,在一定程度上彌補(bǔ)了檢測精度低的缺點(diǎn),但也無法有效地區(qū)分智能車狀態(tài)與道路狀況。
比賽的車??蛇x用攝像頭或傳感器的方式進(jìn)行道路信息檢測,我們的車模采用的是雙排紅外的循跡方式,采用大前瞻雙排傳感器可以得到更多的賽道信息,更早地采取策略處理,形成更好的行車軌跡。是采用復(fù)雜的攝像頭方案的一種替代方式。
可以在直道中實(shí)現(xiàn)穩(wěn)定控制,加速順暢的能力;在S彎中以小曲線的方式前進(jìn),減少行進(jìn)路線和舵機(jī)調(diào)整次數(shù)。在大彎中實(shí)現(xiàn)提前轉(zhuǎn)彎,切內(nèi)彎的效果。尤其是在轉(zhuǎn)彎方面,通過前后排共同對彎道的預(yù)測,達(dá)到延伸物理識別距離的能力,從而做出提前的動作,減少由于檢測距離近而帶來的負(fù)面影響,達(dá)到上述效果。
傳感器陣列布局
圖1中僅以接受管示意傳感器位置。
圖1 傳感器陣列布局
布局方式說明
·前排傳感器伸出距離較遠(yuǎn),小車中心偏離黑線后,會在前排傳感器上產(chǎn)生較大偏移量。
·后排傳感器伸出距離較近,小車中心偏離黑線后,會在后排傳感器上產(chǎn)生較小偏移量。
·利用前后排傳感器對小車偏移時不同的敏感度對小車進(jìn)行控制。
·為了使前后排體現(xiàn)出更明確的分工和采集到更遠(yuǎn)處的信息,我們把前排傳感器傾斜約45o角,使前排的前瞻距離更大,更能體現(xiàn)出前排的優(yōu)勢和特點(diǎn)。
直道識別方式、控制策略
直道識別方式
(1)采用此種方式布局雙排紅外,對于直道的判別方法可有以下5種物理方式,每種方式應(yīng)用的時機(jī)列在表后。
第一種直道情況(圖2)
圖2 第一種直道情況
在左轉(zhuǎn)大彎后,出彎時最可能出現(xiàn)的前后排傳感器檢測到黑線時的組合情況。適用于左轉(zhuǎn) 90°彎、180°彎。提前得到出彎信息,舵機(jī)向左轉(zhuǎn)動較小角度,并在此時采取加速動作,起到彌補(bǔ)前瞻不足的作用。此情況在賽道的s彎出現(xiàn)時,不滿足直道的第二種識別方式,故不會加速。
第二種直道情況(圖3)
[align=center]
圖3 第二種直道情況[/align]
此情況是對第一種情況的再確認(rèn),左轉(zhuǎn)大彎并經(jīng)過第一種情況后,再經(jīng)歷此種情況,可確認(rèn)無誤前方為直道,繼續(xù)提升小車的加速能力??刂瞥绦蛴蓮澋莱绦蚯袚Q到直線穩(wěn)定程序。
第三種直道情況 (圖4)
[align=center]
圖4 第三種直道情況[/align]
此時采取直線穩(wěn)定控制。由于前兩種情況已經(jīng)明確識別為直道,此種情況只是增加直道識別的成功率。
第四種直道情況(圖5)
[align=center]
圖5第四種直道情況[/align]
與第二種情況類似,對第五種情況的再確認(rèn),右轉(zhuǎn)轉(zhuǎn)大彎并經(jīng)過第五種情況后,再經(jīng)歷此種情況,可確認(rèn)無誤前方為直道,繼續(xù)提升小車的加速能力??刂瞥绦蛴蓮澋莱绦蚯袚Q到直線穩(wěn)定程序。
第五種直道情況(圖6)
[align=center]
圖6第五種直道情況[/align]
在右轉(zhuǎn)大彎后,出彎時最可能出現(xiàn)的前后排傳感器檢測到黑線時的組合情況。適用于右轉(zhuǎn)轉(zhuǎn) 90o彎、180o彎。提前得到出彎信息,舵機(jī)向右轉(zhuǎn)動較小角度,并在此時采取加速動作,起到彌補(bǔ)前瞻不足的作用。在賽道的s彎出現(xiàn)時,不滿足直道的第二種識別方式,故不會加速。
(2)直道識別,程序輔助確認(rèn)
進(jìn)入彎道后,隨著小車的行進(jìn),會發(fā)生振蕩,致使出彎時不一定滿足上述5種情況。為了提高直道的識別成功率,增加第二種直道判別方法。兩者同時起作用,滿足第一種后經(jīng)過最多15ms確認(rèn)是直道。
程序是循環(huán)執(zhí)行,我們的程序執(zhí)行頻率是2KHz。采用定時中斷(15ms)的方式,對前排中間3個傳感器(編號為3、4、5)使用3個計(jì)數(shù)器分別計(jì)數(shù),每次執(zhí)行程序若是其中一個檢測到黑線,相對應(yīng)的計(jì)數(shù)器加1。經(jīng)過計(jì)算,15ms內(nèi)所能計(jì)數(shù)的最大值為31。我們設(shè)定計(jì)數(shù)的最大值,若在15ms內(nèi)達(dá)到所要求的計(jì)數(shù)值,就認(rèn)為是直道,切換直道程序并將計(jì)數(shù)器清零;若15ms內(nèi)沒有達(dá)到所要求的計(jì)數(shù)值,計(jì)數(shù)器清零,重新計(jì)數(shù)。例如小車為2m/s的速度,小車行進(jìn)3cm。我們只要判斷2~2.5cm內(nèi)為直道即可。所以設(shè)最大計(jì)數(shù)值為20~25即認(rèn)為是直道,跳出彎道程序。
當(dāng)然也可以采用更嚴(yán)格的方法來判斷,只需調(diào)整定時中斷的時間和計(jì)數(shù)值即可。此條件在進(jìn)入直道后總能滿足,所以作為第一種直道判別方式的補(bǔ)充,保證直道的穩(wěn)定可靠識別。
直線穩(wěn)定控制策略
小車出彎后,由于舵機(jī)的反應(yīng)不靈敏,智能車會發(fā)生振蕩,隨后才能達(dá)到穩(wěn)定,為了盡早減小振蕩,采用如下方式控制小車出彎后的動作:
在彎道策略中設(shè)置標(biāo)志位,進(jìn)入直線程序后,識別標(biāo)志位,對控制舵機(jī)轉(zhuǎn)向的公式采取修正設(shè)置。公式為:q=K1q1+K2q2;其中q為最終送給舵機(jī)的控制量,q1為前排光電傳感器的返回轉(zhuǎn)角值,q2為后排紅外返回轉(zhuǎn)角值。K1、K2分別為前后排傳感器的加權(quán)比例值。通常情況下K1、K2為1,需要時則改變賦值。
當(dāng)小車從彎道進(jìn)入直道并成功識別出直道后,減小K1的值,由于后排傳感器距離小車的前輪(轉(zhuǎn)向輪)很近,小車中心偏離黑線時,不會在后排傳感器橫向位置產(chǎn)生很大位移(相對于前排傳感器),故小車在直線上舵機(jī)調(diào)整的次數(shù)就會明顯減少,直線的穩(wěn)定性會好。同時,根據(jù)前后排不同傳感器的組合,給出不同的轉(zhuǎn)角策略(在程序中以列表的方式體現(xiàn)),近一步提高直線的穩(wěn)定控制能力。
參考文獻(xiàn):
1.邵貝貝,單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法[M],清華大學(xué),2004
2.卓晴等,學(xué)做智能車,北京航空航天大學(xué)出版社,2007.3