<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

1 現實(shí)應用模擬原理

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


2 系統結構

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



2.1 避撞檢測模塊

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



2.2 轉彎線(xiàn)檢測模塊

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

2.3 直道糾偏檢測模塊

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



2.4 通信接口

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

2.5 電機驅動(dòng)模塊

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

3 軟件設計

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

3.1 直道糾偏算法

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

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

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


3.2 彎道糾偏算法

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


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>