雙排傳感器循跡策略研究
(2)直道識(shí)別,程序輔助確認(rèn)
本文引用地址:http://2s4d.com/article/95471.htm進(jìn)入彎道后,隨著小車(chē)的行進(jìn),會(huì)發(fā)生振蕩,致使出彎時(shí)不一定滿足上述5種情況。為了提高直道的識(shí)別成功率,增加第二種直道判別方法。兩者同時(shí)起作用,滿足第一種后經(jīng)過(guò)最多15ms確認(rèn)是直道。
程序是循環(huán)執(zhí)行,我們的程序執(zhí)行頻率是2KHz。采用定時(shí)中斷(15ms)的方式,對(duì)前排中間3個(gè)傳感器(編號(hào)為3、4、5)使用3個(gè)計(jì)數(shù)器分別計(jì)數(shù),每次執(zhí)行程序若是其中一個(gè)檢測(cè)到黑線,相對(duì)應(yīng)的計(jì)數(shù)器加1。經(jīng)過(guò)計(jì)算,15ms內(nèi)所能計(jì)數(shù)的最大值為31。我們?cè)O(shè)定計(jì)數(shù)的最大值,若在15ms內(nèi)達(dá)到所要求的計(jì)數(shù)值,就認(rèn)為是直道,切換直道程序并將計(jì)數(shù)器清零;若15ms內(nèi)沒(méi)有達(dá)到所要求的計(jì)數(shù)值,計(jì)數(shù)器清零,重新計(jì)數(shù)。例如小車(chē)為2m/s的速度,小車(chē)行進(jìn)3cm。我們只要判斷2~2.5cm內(nèi)為直道即可。所以設(shè)最大計(jì)數(shù)值為20~25即認(rèn)為是直道,跳出彎道程序。
當(dāng)然也可以采用更嚴(yán)格的方法來(lái)判斷,只需調(diào)整定時(shí)中斷的時(shí)間和計(jì)數(shù)值即可。此條件在進(jìn)入直道后總能滿足,所以作為第一種直道判別方式的補(bǔ)充,保證直道的穩(wěn)定可靠識(shí)別。
直線穩(wěn)定控制策略
小車(chē)出彎后,由于舵機(jī)的反應(yīng)不靈敏,智能車(chē)會(huì)發(fā)生振蕩,隨后才能達(dá)到穩(wěn)定,為了盡早減小振蕩,采用如下方式控制小車(chē)出彎后的動(dòng)作:
在彎道策略中設(shè)置標(biāo)志位,進(jìn)入直線程序后,識(shí)別標(biāo)志位,對(duì)控制舵機(jī)轉(zhuǎn)向的公式采取修正設(shè)置。公式為:q=K1q1+K2q2;其中q為最終送給舵機(jī)的控制量,q1為前排光電傳感器的返回轉(zhuǎn)角值,q2為后排紅外返回轉(zhuǎn)角值。K1、K2分別為前后排傳感器的加權(quán)比例值。通常情況下K1、K2為1,需要時(shí)則改變賦值。
當(dāng)小車(chē)從彎道進(jìn)入直道并成功識(shí)別出直道后,減小K1的值,由于后排傳感器距離小車(chē)的前輪(轉(zhuǎn)向輪)很近,小車(chē)中心偏離黑線時(shí),不會(huì)在后排傳感器橫向位置產(chǎn)生很大位移(相對(duì)于前排傳感器),故小車(chē)在直線上舵機(jī)調(diào)整的次數(shù)就會(huì)明顯減少,直線的穩(wěn)定性會(huì)好。同時(shí),根據(jù)前后排不同傳感器的組合,給出不同的轉(zhuǎn)角策略(在程序中以列表的方式體現(xiàn)),近一步提高直線的穩(wěn)定控制能力。(本文剩余部分詳見(jiàn)EEPW網(wǎng)站)
參考文獻(xiàn):
1.邵貝貝,單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M],清華大學(xué),2004
2.卓晴等,學(xué)做智能車(chē),北京航空航天大學(xué)出版社,2007.3
評(píng)論