張 俊,周 暉,王 超,徐榮華,孫小磊,朱松盛
(南京醫(yī)科大學 生物醫(yī)學工程系,江蘇 南京 210029)
智能車輛[1-3]是一種機器人,它可以按照預先設定的模式在一個環(huán)境里自動行駛,也可以根據(jù)現(xiàn)場情況自主執(zhí)行特定操作。其設計內(nèi)容涉及自動控制、計算機技術、傳感與檢測技術等多個學科。智能小車在自動控制領域具有廣闊的應用前景。其中,如何保證車輛直線行駛,而不是“之”字形行駛、轉(zhuǎn)彎過程如何保證平行行駛,和超車是其中3個需要解決的基本問題。文中根據(jù)3個問題分別提出了解決方法,實際實驗效果良好。
本文模擬現(xiàn)實應用,借助圖1所示跑道(2塊細木工板拼接而成,離地面高度8 cm,板上邊界線由約2 cm寬的黑膠帶構成;虛線由 2 cm寬、長度為 10 cm、間隔為10 cm的黑膠帶構成)實現(xiàn)如下功能:甲車車頭緊靠起點標志線,乙車車尾緊靠邊界,甲、乙兩輛小車同時起動,先后通過起點標志線,在行車道同向而行,在超車區(qū)超車,并實現(xiàn)兩車交替超車領跑功能。
系統(tǒng)組成結構如圖2所示。小車主要由控制中心(MSP430F149單片機[4])、避撞檢測模塊、轉(zhuǎn)彎線檢測模塊(兼作彎道糾偏)、直道糾偏檢測模塊、電機驅(qū)動模塊、簡易按鍵、nRF905[5]通信接口、電源等組成。
圖1 行駛路線圖Fig.1 Road map
圖2 系統(tǒng)結構Fig.2 System structure
圖3 避撞檢測模塊Fig.3 Avoid bump detection module
采用紅外反射收發(fā)對管來檢測黑色標志線,放置在小車車頭,用于檢測圖1中的轉(zhuǎn)彎標志線和超車標志線,紅外發(fā)射管發(fā)出的紅外線照射到平板上,若紅外接收管不能接收到反射回的光線則表示光線全被吸收,則檢測出黑色標志線,從而輸出高電壓,若能接收到反射回的光線則表示檢測到非黑色標志線,輸出低電壓。
行車道40 cm,邊界由2 cm黑膠帶圍成,如果不加防護措施小車容易滑落。正常如果不加防護措施,小車容易脫離跑道。由小車側面兩個E18-D80NK紅外傳感器[6]進行直道中的糾偏,將兩個紅外避障傳感器分別向外傾斜一定角度,安裝在小車兩側,如圖 4所示,調(diào)節(jié)紅外避障傳感器的感應距離,使避障距離介于傳感器到跑道與傳感器到地面之間,當傳感器探測到跑道時,輸出低電平,表示小車在跑道上,當探測到地面時,輸出高電平,說明小車即將脫離跑道,這時及時糾偏,確保小車正常行駛。
超車時,為了確定兩車的位置、及時調(diào)節(jié)兩車的速度、減少超車時間,需要使用nRF905在兩車間進行無線通信。nRF905是挪威 Nordic VLSI公司推出的單片射頻收發(fā)器,使用SPI接口與微控制器通信。
采用L298N驅(qū)動直流電機,利用它內(nèi)部的橋式電路來驅(qū)動電機,這種方法的優(yōu)點是利用PWM波來控制電機速度,其余端口可以控制電機的正反轉(zhuǎn)。
圖4 小車整體圖Fig.4 Car appearance
小車行駛模式分為:自主模式、跟隨模式。自主模式即前面的車依照事先設定的速度行駛,并自動糾偏。跟隨模式即后車緊跟在前車后面,保持一定距離,并自動糾偏。自主模式和跟隨模式能自動切換。
小車行駛過程中,直道糾偏采用兩次糾偏的方式。如果僅采用一次糾偏,如圖5左所示,雖然可以把小車的前進方向糾正,但小車整體處在跑道邊緣,偏離跑道中心,在下次出現(xiàn)偏離時很容易出現(xiàn)來不及糾正而小車已經(jīng)掉落跑道的情況。根據(jù)否定之否定規(guī)律,采用兩次糾偏,在糾正行車方向同時,調(diào)整小車位置趨向跑道中心。該算法如下:
圖5 兩種直道糾偏算法比較Fig.5 Two straight correction algorithm
直道糾偏的同時開啟TimerA計時;小車離開跑道邊緣時關閉TimerA,保存計時值:nTurnHold。
繼續(xù)轉(zhuǎn)彎,時長為2*nTurnHold(繼續(xù)保持 2*nTurnHold轉(zhuǎn)彎是為了將小車調(diào)整向跑道中間);反向轉(zhuǎn)彎,時長為nTurnHold(反向轉(zhuǎn)彎是為了糾正小車方向);恢復原來的行駛模式。具體流程圖如圖 6所示,先判斷接近的是左或右邊線,做好左右轉(zhuǎn)標記,然后以直道兩次糾偏算法進行計算,最后根據(jù)左右轉(zhuǎn)標記進行反方向糾偏。
圖6 直道糾偏流程Fig.6 Correction flow chart in straight
采用小車兩邊轉(zhuǎn)速不同、輔以延時的方法來實現(xiàn)轉(zhuǎn)彎,因此延時時間是關鍵。然而,通常在過轉(zhuǎn)彎標志線時,車身與線不垂直且角度也不固定,如圖7所示。這將造成無法確定一個固定的延時值。為此,采用彎道糾偏的方法,確保小車過彎后姿態(tài)可控,該方法流程圖如圖8所示。其中,每輛車配有兩塊對稱分布于車頭兩邊的轉(zhuǎn)彎線檢測模塊,當其中有一塊檢測到轉(zhuǎn)彎線時,先判斷是左還是右,如果是左邊先檢測到線則符號為“+”,否則為“-”,然后立刻打開 MSP430的計時器TimerA,計算兩塊傳感器檢測到轉(zhuǎn)彎線的時間差。根據(jù)符號是“+”或“-”,將上面得到的時間差以一定比例加/減到固定延時時間上,這個比例無準確計算方法,實際數(shù)值主要根據(jù)跑道的摩擦力,小車速度等客觀條件確定,進而得到最終的時間參數(shù)(即轉(zhuǎn)彎時長nVeerTime),轉(zhuǎn)彎函數(shù)調(diào)用此參數(shù)。這樣一種“負反饋式修正”的方法,能使小車在轉(zhuǎn)彎后基本平行于跑道,且趨向跑道中間。
圖7 過彎模擬圖Fig.7 Turn corner simulation
轉(zhuǎn)彎時長:nVeerTime;左、右傳感器探測到轉(zhuǎn)彎時間差:nDiffValue;轉(zhuǎn)彎固定延時值:nStaticTime;比例系數(shù):fRatio。
nVeerTime=nStaticTime+nDiffValue*fRatio
超車時需要多次轉(zhuǎn)彎,因而超車標志區(qū)設置多條黑線,可以多次調(diào)整,將保證小車進入超車區(qū)后的姿態(tài)最理想。
圖8 彎道糾偏流程Fig.8 Correction flow chart in corner
到達圖1中超車區(qū)后,先經(jīng)超車標志區(qū)多條線采用類似彎道糾偏方法調(diào)整好小車姿態(tài)。然后,根據(jù)超聲測距的結果判斷本車是前車還是后車。若是后車,轉(zhuǎn)彎進入超車道,加速超車后返回行車道,發(fā)送無線信號告知另一車超車已完成,最終恢復自主模式行駛。若是前車,則減速慢行,等待后車的超車結束信號,最終恢復跟隨模式行駛。超車時后車進入超車區(qū)行駛,前車則在原跑道行駛,只要保證兩車速度差足夠大,就可以保證后車順利超過前車。
具體流程圖如圖 9所示,其中關鍵是兩車配合的時間問題,通過無線模塊可以使兩車進行同步。小車在直道、轉(zhuǎn)彎、超車過程中,自動糾偏將一直運行,并實現(xiàn)自主模式和跟隨模式自動切換。
圖9 超車流程Fig.9 Overtaking flow chart
在直線行駛中,為了防止后車撞上前車,需要使用避撞檢測模塊來保持車距。本文采用HY-SRF05超聲測距傳感器測量兩車間距離,并預設安全值25 cm。車距大于安全值時,后車可加速行駛;車距小于安全值時,則減速。如此,可使得后車跟隨前車,實現(xiàn)跟隨行駛,但在轉(zhuǎn)彎及超車時,全部自主行駛,不再跟隨前車,當轉(zhuǎn)彎,超車等特例操作結束后,再恢復自主行駛/跟隨行駛。避撞算法流程圖如圖10所示。
圖10 避撞流程Fig.10 Avoid bump flow chart
文中針對具有引導線環(huán)境下的路徑跟蹤這一熱點問題,采用多傳感器,通過單片機控制,實現(xiàn)智能小車的路徑跟蹤和自動糾偏的功能,在此基礎上還實現(xiàn)了車輛的超車功能。在實際測試中,運行一圈大約需要14.85±1.52 s,小車運行穩(wěn)定,在測試的25圈中未出現(xiàn)掉落的情況。表明效果較好,并易于實現(xiàn)。
[1]Zhang W.Cooperatively Controlled Collision Avoidance[C]//ITSC’97 IEEE Conference on Intelligent Transportation System,1997:824-829.
[2]王洪升,田蔚風,金志華.一種面向智能交通的移動機器人控制系統(tǒng)[J].自動化技術與應用,2004,23(1):45-48.
WANG Hong-sheng,TIAN Wei-feng,JIN Zhi-hua.The control system of a mobile robot for ITS[J].Techniques of Automation 8 Applications,2004,23(1):45-48.
[3]Simon A,Becker J C.Vehicle Guidance for an Autonomous Vehicle[C]//Proceedings of 1999 IEEE/IEEJ/JSAI International Conference on Intelligent Transportation Systems,1999:429-434.
[4]Texas Instruments INC.MSP430x1xx Family User’s Guide(Rev.F)[S].2006:202-224.
[5]Nordicsemi INC.nRF905 Single Chip 433/868/915MHz Radio Transceiver[S].2004:12-26.
[6]趙繼文,何玉彬.傳感器與應用電路設計[M].北京:科學出版社,2002:89-124.
[7]Thomas L F.Digital Fundamentals[M].UK:Prentice Hall, 2005:45-99.