基于MSP430的智能小車自動(dòng)糾偏與避撞的實(shí)現(xiàn)
轉(zhuǎn)彎時(shí)長(zhǎng):nVeerTime;左、右傳感器探測(cè)到轉(zhuǎn)彎時(shí)間差:nDiffValue;轉(zhuǎn)彎固定延時(shí)值:nStaticTime;比例系數(shù):fRatio。
nVeerTime=nStaticTime+nDiffValue*fRatio
超車時(shí)需要多次轉(zhuǎn)彎,因而超車標(biāo)志區(qū)設(shè)置多條黑線,可以多次調(diào)整,將保證小車進(jìn)入超車區(qū)后的姿態(tài)最理想。
3.3 超車糾偏算法
到達(dá)圖1中超車區(qū)后,先經(jīng)超車標(biāo)志區(qū)多條線采用類似彎道糾偏方法調(diào)整好小車姿態(tài)。然后,根據(jù)超聲測(cè)距的結(jié)果判斷本車是前車還是后車。若是后車,轉(zhuǎn)彎進(jìn)入超車道,加速超車后返回行車道,發(fā)送無(wú)線信號(hào)告知另一車超車已完成,最終恢復(fù)自主模式行駛。若是前車,則減速慢行,等待后車的超車結(jié)束信號(hào),最終恢復(fù)跟隨模式行駛。超車時(shí)后車進(jìn)入超車區(qū)行駛,前車則在原跑道行駛,只要保證兩車速度差足夠大,就可以保證后車順利超過(guò)前車。
具體流程圖如圖9所示,其中關(guān)鍵是兩車配合的時(shí)間問(wèn)題,通過(guò)無(wú)線模塊可以使兩車進(jìn)行同步。小車在直道、轉(zhuǎn)彎、超車過(guò)程中,自動(dòng)糾偏將一直運(yùn)行,并實(shí)現(xiàn)自主模式和跟隨模式自動(dòng)切換。
3.4 避撞算法
在直線行駛中,為了防止后車撞上前車,需要使用避撞檢測(cè)模塊來(lái)保持車距。本文采用HY-SRF05超聲測(cè)距傳感器測(cè)量?jī)绍囬g距離,并預(yù)設(shè)安全值25 cm。車距大于安全值時(shí),后車可加速行駛;車距小于安全值時(shí),則減速。如此,可使得后車跟隨前車,實(shí)現(xiàn)跟隨行駛,但在轉(zhuǎn)彎及超車時(shí),全部自主行駛,不再跟隨前車,當(dāng)轉(zhuǎn)彎,超車等特例操作結(jié)束后,再恢復(fù)自主行駛/跟隨行駛。避撞算法流程圖如圖10所示。
4 結(jié)束語(yǔ)
文中針對(duì)具有引導(dǎo)線環(huán)境下的路徑跟蹤這一熱點(diǎn)問(wèn)題,采用多傳感器,通過(guò)單片機(jī)控制,實(shí)現(xiàn)智能小車的路徑跟蹤和自動(dòng)糾偏的功能,在此基礎(chǔ)上還實(shí)現(xiàn)了車輛的超車功能。在實(shí)際測(cè)試中,運(yùn)行一圈大約需要14.85±1.52 s,小車運(yùn)行穩(wěn)定,在測(cè)試的25圈中未出現(xiàn)掉落的情況。表明效果較好,并易于實(shí)現(xiàn)。
評(píng)論