新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MSP430的智能小車(chē)自動(dòng)糾偏與避撞的實(shí)現(xiàn)

基于MSP430的智能小車(chē)自動(dòng)糾偏與避撞的實(shí)現(xiàn)

作者: 時(shí)間:2012-07-06 來(lái)源:網(wǎng)絡(luò) 收藏

輛是一種機(jī)器人,它可以按照預(yù)先設(shè)定的模式在一個(gè)環(huán)境里自動(dòng)行駛,也可以根據(jù)現(xiàn)場(chǎng)情況自主執(zhí)行特定操作。其設(shè)計(jì)內(nèi)容涉及自動(dòng)控制、計(jì)算機(jī)技術(shù)、傳感與檢測(cè)技術(shù)等多個(gè)學(xué)科。智能小車(chē)在自動(dòng)控制領(lǐng)域具有廣闊的應(yīng)用前景。其中,如何保證車(chē)輛直線行駛,而不是“之”字形行駛、轉(zhuǎn)彎過(guò)程如何保證平行行駛,和超車(chē)是其中3個(gè)需要解決的基本問(wèn)題。文中根據(jù)3個(gè)問(wèn)題分別提出了解決方法,實(shí)際實(shí)驗(yàn)效果良好。

1 現(xiàn)實(shí)應(yīng)用模擬原理

本文模擬現(xiàn)實(shí)應(yīng)用,借助圖1所示跑道(2塊細(xì)木工板拼接而成,離地面高度8 cm,板上邊界線由約2 cm寬的黑膠帶構(gòu)成:虛線由2 cm寬、長(zhǎng)度為10 cm、間隔為10 cm的黑膠帶構(gòu)成)實(shí)現(xiàn)如下功能:甲車(chē)車(chē)頭緊靠起點(diǎn)標(biāo)志線,乙車(chē)車(chē)尾緊靠邊界,甲、乙兩輛小車(chē)同時(shí)起動(dòng),先后通過(guò)起點(diǎn)標(biāo)志線,在行車(chē)道同向而行,在超車(chē)區(qū)超車(chē),并實(shí)現(xiàn)兩車(chē)交替超車(chē)領(lǐng)跑功能。


2 系統(tǒng)結(jié)構(gòu)

系統(tǒng)組成結(jié)構(gòu)如圖2所示。小車(chē)主要由控制中心(F149單片機(jī))、避撞檢測(cè)模塊、轉(zhuǎn)彎線檢測(cè)模塊(兼作彎道糾偏)、直道糾偏檢測(cè)模塊、電機(jī)驅(qū)動(dòng)模塊、簡(jiǎn)易按鍵、nRF905通信接口、電源等組成。



2.1 避撞檢測(cè)模塊

為保證兩車(chē)不相撞,需要使兩車(chē)之間距離保持在一個(gè)合適的范圍,即避撞。系統(tǒng)使用HY-SRF05超聲測(cè)距傳感器,將其安裝在小車(chē)車(chē)頭,可實(shí)時(shí)測(cè)得兩車(chē)縱向距離,從而控制兩車(chē)加速減速來(lái)使距離保持適中。HY-SRF05有優(yōu)秀的性能,感應(yīng)角度:不大于15度;探測(cè)距離:2~450 cm;精度可達(dá)0.2 cm。設(shè)l為測(cè)量距離,t為往返時(shí)間差,超聲波的傳播速度為c,則有t=2l/c,而聲波在空氣中傳輸速率為(m/s)。式中T為環(huán)境溫度;Co為絕對(duì)溫度時(shí)的速度,是常數(shù)。從上述兩式可以推出。



2.2 轉(zhuǎn)彎線檢測(cè)模塊

采用紅外反射收發(fā)對(duì)管來(lái)檢測(cè)黑色標(biāo)志線,放置在小車(chē)車(chē)頭,用于檢測(cè)圖1中的轉(zhuǎn)彎標(biāo)志線和超車(chē)標(biāo)志線,紅外發(fā)射管發(fā)出的紅外線照射到平板上,若紅外接收管不能接收到反射回的光線則表示光線全被吸收,則檢測(cè)出黑色標(biāo)志線,從而輸出高電壓,若能接收到反射回的光線則表示檢測(cè)到非黑色標(biāo)志線,輸出低電壓。

2.3 直道糾偏檢測(cè)模塊

行車(chē)道40 cm,邊界由2 cm黑膠帶圍成,如果不加防護(hù)措施小車(chē)容易滑落。正常如果不加防護(hù)措施,小車(chē)容易脫離跑道。由小車(chē)側(cè)面兩個(gè)E18-D80NK紅外傳感器進(jìn)行直道中的糾偏,將兩個(gè)紅外避障傳感器分別向外傾斜一定角度,安裝在小車(chē)兩側(cè),如圖4所示,調(diào)節(jié)紅外避障傳感器的感應(yīng)距離,使避障距離介于傳感器到跑道與傳感器到地面之間,當(dāng)傳感器探測(cè)到跑道時(shí),輸出低電平,表示小車(chē)在跑道上,當(dāng)探測(cè)到地面時(shí),輸出高電平,說(shuō)明小車(chē)即將脫離跑道,這時(shí)及時(shí)糾偏,確保小車(chē)正常行駛。



2.4 通信接口

超車(chē)時(shí),為了確定兩車(chē)的位置、及時(shí)調(diào)節(jié)兩車(chē)的速度、減少超車(chē)時(shí)間,需要使用nRF905在兩車(chē)間進(jìn)行無(wú)線通信。nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,使用SPI接口與微控制器通信。

2.5 電機(jī)驅(qū)動(dòng)模塊

采用L298N驅(qū)動(dòng)直流電機(jī),利用它內(nèi)部的橋式電路來(lái)驅(qū)動(dòng)電機(jī),這種方法的優(yōu)點(diǎn)是利用PWM波來(lái)控制電機(jī)速度,其余端口可以控制電機(jī)的正反轉(zhuǎn)。

3 軟件設(shè)計(jì)

小車(chē)行駛模式分為:自主模式、跟隨模式。自主模式即前面的車(chē)依照事先設(shè)定的速度行駛,并自動(dòng)糾偏。跟隨模式即后車(chē)緊跟在前車(chē)后面,保持一定距離,并自動(dòng)糾偏。自主模式和跟隨模式能自動(dòng)切換。

3.1 直道糾偏算法

小車(chē)行駛過(guò)程中,直道糾偏采用兩次糾偏的方式。如果僅采用一次糾偏,如圖5左所示,雖然可以把小車(chē)的前進(jìn)方向糾正,但小車(chē)整體處在跑道邊緣,偏離跑道中心,在下次出現(xiàn)偏離時(shí)很容易出現(xiàn)來(lái)不及糾正而小車(chē)已經(jīng)掉落跑道的情況。根據(jù)否定之否定規(guī)律,采用兩次糾偏,在糾正行車(chē)方向同時(shí),調(diào)整小車(chē)位置趨向跑道中心。該算法如下:

直道糾偏的同時(shí)開(kāi)啟TimerA計(jì)時(shí);小車(chē)離開(kāi)跑道邊緣時(shí)關(guān)閉TimerA,保存計(jì)時(shí)值:nTurnHold。

繼續(xù)轉(zhuǎn)彎,時(shí)長(zhǎng)為2*nTurnHold(繼續(xù)保持2*nTurnHold轉(zhuǎn)彎是為了將小車(chē)調(diào)整向跑道中間);反向轉(zhuǎn)彎,時(shí)長(zhǎng)為nTurnHold(反向轉(zhuǎn)彎是為了糾正小車(chē)方向);恢復(fù)原來(lái)的行駛模式。具體流程圖如圖6所示,先判斷接近的是左或右邊線,做好左右轉(zhuǎn)標(biāo)記,然后以直道兩次糾偏算法進(jìn)行計(jì)算,最后根據(jù)左右轉(zhuǎn)標(biāo)記進(jìn)行反方向糾偏。


3.2 彎道糾偏算法

采用小車(chē)兩邊轉(zhuǎn)速不同、輔以延時(shí)的方法來(lái)實(shí)現(xiàn)轉(zhuǎn)彎,因此延時(shí)時(shí)間是關(guān)鍵。然而,通常在過(guò)轉(zhuǎn)彎標(biāo)志線時(shí),車(chē)身與線不垂直且角度也不固定,如圖7所示。這將造成無(wú)法確定一個(gè)固定的延時(shí)值。為此,采用彎道糾偏的方法,確保小車(chē)過(guò)彎后姿態(tài)可控,該方法流程圖如圖8所示。其中,每輛車(chē)配有兩塊對(duì)稱(chēng)分布于車(chē)頭兩邊的轉(zhuǎn)彎線檢測(cè)模塊,當(dāng)其中有一塊檢測(cè)到轉(zhuǎn)彎線時(shí),先判斷是左還是右,如果是左邊先檢測(cè)到線則符號(hào)為“+”,否則為“-”,然后立刻打開(kāi)的計(jì)時(shí)器TimerA,計(jì)算兩塊傳感器檢測(cè)到轉(zhuǎn)彎線的時(shí)間差。根據(jù)符號(hào)是“+”或“-”,將上面得到的時(shí)間差以一定比例加/減到固定延時(shí)時(shí)間上,這個(gè)比例無(wú)準(zhǔn)確計(jì)算方法,實(shí)際數(shù)值主要根據(jù)跑道的摩擦力,小車(chē)速度等客觀條件確定,進(jìn)而得到最終的時(shí)間參數(shù)(即轉(zhuǎn)彎時(shí)長(zhǎng)nVeerTime),轉(zhuǎn)彎函數(shù)調(diào)用此參數(shù)。這樣一種“負(fù)反饋式修正”的方法,能使小車(chē)在轉(zhuǎn)彎后基本平行于跑道,且去向跑道中間。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉