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