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