<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è) > 嵌入式系統 > 設計應用 > 一種機器人的尋跡算法

一種機器人的尋跡算法

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

1 引言

近年來(lái),的發(fā)展遍及機械、電子、冶金、交通、宇航、國防等領(lǐng)域,的智能水平不斷提高。在自主式智能導航系統中,要實(shí)現自動(dòng)導引功能就必須要感知導引線(xiàn),即常說(shuō)的“尋跡”,這相當于給機器人一個(gè)視覺(jué)功能。

筆者所設計的機器人是一個(gè)自動(dòng)導引小車(chē)(AGV),包括兩大部分:一是行進(jìn)方向的檢測處理;二是步進(jìn)電機的驅動(dòng)。

在該系統里,采用與地面顏色有較大差別的線(xiàn)條作引導,使用傳感器感知導引線(xiàn),用單片機AT89C52掃描光電傳感器組,對采集到的信號進(jìn)行分析處理并做出邏輯判斷后,得到行進(jìn)方向,然后根據一定的步數去驅動(dòng)步進(jìn)電機,實(shí)現機器人的循跡行進(jìn)。

小車(chē)的驅動(dòng)采用步進(jìn)電機,因為步進(jìn)電機具有快速起停能力,且轉換精度高,正反轉控制靈活。

2 硬件電路

采用AT89C52單片機作為控制核心對光電傳感器送來(lái)的各種信號進(jìn)行分析處理,以控制機器人的方向和驅動(dòng)及數據顯示等,如圖1所示。

為了檢測黑色導引線(xiàn),筆者采用了8個(gè)光電傳感器組成的矩陣組。如圖2所示,相對于小車(chē)底盤(pán)的中心,我們布置了內外兩層各4個(gè)傳感器。每層4個(gè)傳感器對應著(zhù)中心的4個(gè)方向:前、后、左前、右前??刹捎脪呙璺绞椒謨纱蔚玫礁餍袛祿?。

圖1 硬件框圖

圖2 光電傳感器矩陣組

導引線(xiàn)檢測的具體電路如圖3所示。此處采用的是TCRT1000反射式紅外光電傳感器。以第1行第1列的光電傳感器為例,其工作原理是這樣的:P1 .0輸出低電平時(shí),三極管A1015導通,光電傳感器工作,TCRT1000的發(fā)射端發(fā)出不可見(jiàn)的紅外光。當反射物由非黑色導引線(xiàn)變?yōu)楹谏珜б€(xiàn)時(shí),光電三極管的基極接受不到反射光,從而光敏三極管由導通變?yōu)榻刂?,使得集電極電壓由低電平變?yōu)楦唠娖?,?jīng)過(guò)74LS14反相器反相整形,輸出值由邏輯1變?yōu)檫壿?后,送入單片機中進(jìn)行進(jìn)一步處理。

值得指出的是在此處PNP三極管A1015的使用。此處如果選用NPN三極管,則在開(kāi)機或復位時(shí)P1口各位輸出高電平會(huì )誤掃描傳感器矩陣,而選用PNP三極管就可以避免這種情況,能很好的控制光電傳感器的工作,并可以增加驅動(dòng)能力。

圖3 光電傳感器尋跡電路圖

3 尋跡

單片機控制尋跡的原理是這樣的:第一步,通過(guò)矩陣式掃描,即給光電傳感器矩陣分別輸入兩個(gè)“1”信號的行值,將輸出的4個(gè)列值信號分別存入兩個(gè)地址(如30H、31H)的低4位,低4位從高到低分別對應著(zhù)4個(gè)方向:前、后、左前、右前。然后用“F0”與這八位做“或”邏輯運算,即屏蔽掉高四位后作為本次的信號值;第二步,將本次的信號值與上一次掃描處理后的信號值進(jìn)行邏輯處理,得出一個(gè)新方向,作為機器人行進(jìn)的方向。

在這個(gè)程序里,邏輯處理內外層得到新方向是尋跡的關(guān)鍵。筆者在其中按先后步驟使用了3種

前后比較,內外層切換,優(yōu)先級規則。

(1) 前后比較規則

此規則是這個(gè)算法的核心規則。它的目的是盡可能的用新探測到的黑點(diǎn)作為新方向。新方向F通過(guò)

(1)

來(lái)求得。(其中 為本次的信號值, 為前次的信號值)邏輯處理前“0”表示黑線(xiàn)軌跡,邏輯處理后“1”表示軌跡行進(jìn)方向。舉例如下:以?xún)葘訛槔?,設當前測得的值為

且前一次測得的值為

經(jīng)過(guò)上述(1)邏輯處理后,假設結果為

則正前方是行進(jìn)的新方向。

(2) 內外層切換規則

如果光電傳感器組前后兩次所檢測的值完全一樣,則在邏輯處理后會(huì )出現全零,這時(shí)保持原方向行進(jìn)。如果碰到曲線(xiàn)拐彎或者曲線(xiàn)斷續,則有可能出現多個(gè) “1”即多個(gè)方向,這時(shí)可采用“內外層切換規則”,也就是說(shuō)從內層切換到外層,啟用外層掃描值重復上述前后比較規則來(lái)進(jìn)行判斷。啟用外層信號進(jìn)行二次判斷能很好的處理曲線(xiàn)拐彎及曲線(xiàn)斷續等內層處理不好的情況。但用外層信號判斷,因為其傳感器布置的間隙距離比內層大,其控制精度不如用內層信號判斷高。

(3) 糾錯規則

在運行中,傳感器有可能受到干擾而發(fā)出錯誤信號導致機器人走錯或迷失方向,這個(gè)時(shí)候糾錯規則能讓機器人后退起到糾錯作用。所謂糾錯規則就是在走錯后出現了內外層左前、前、右前均沒(méi)有探測到引導線(xiàn),而后向探測到了導引線(xiàn)的情況下,讓機器人后退,一直退到前面三個(gè)方向傳感器里有傳感器探測到導引線(xiàn)為止。此時(shí)再用(1)式求得新的行進(jìn)方向,從而實(shí)現糾錯功能。

其中前后比較法的邏輯處理及隨后的判斷程序具體如下:(30H放本次信號值,32H放前次信號值)

DATADEAL:MOV A, 30H

XRL A, 32H

ANL A, 32H ;按(1)式求新向

MOV 36H, A ;保存

MOV R3, #8

MOV R4, #0

COUNT: JB ACC.0, ADDN

COUNT1: RR A

DJNZ R3, COUNT

CJNE R4, #1H, JUDGE ;R4里所含不是1個(gè)“1”時(shí),

;轉“JUDGE”再判斷

AJMP MOTORRUN ;R4里只有一個(gè)“1”時(shí),以此

;“1”所代表的方向作為新方向

ADDN: INC R4

AJMP COUNT1

JUDGE: JC KEEPMOVE ;少于一個(gè)“1”,保持原方向

AJMP OUTCHECK ;多于一個(gè)“1”,則取用外層

……

MOTORRUN:…… ;電機驅動(dòng)子程序

KEEPMOVE:…… ;保持原運動(dòng)狀態(tài)子程序

OUTCHECK:…… ;取用外層信號值判斷子程序

4 執行

導引機器人的驅動(dòng)方式采用一驅動(dòng)輪一轉向輪方式:將后輪作為驅動(dòng)輪,前輪作為轉向輪,通過(guò)切換轉向輪向左或向右的方式改變機器人的方向。這種方式與汽車(chē)的控制方式一樣,直線(xiàn)行進(jìn)性能好,可以高速移動(dòng)。從1個(gè)步進(jìn)脈沖對應的行進(jìn)路程,可以預算出應給步進(jìn)電機發(fā)出的脈沖數。預定的行進(jìn)路程以小于內層傳感器間隙距離的1/2為宜,這樣可以保證機器人位置測量的連續性和方向識別的準確性。單片機AT89C52根據其邏輯處理出來(lái)的方向,調用步進(jìn)電機的驅動(dòng)程序即可實(shí)現機器人循跡連續運動(dòng)的功能。

5 結束語(yǔ)

筆者在做好硬件部分的基礎上,根據上述思路編制了程序進(jìn)行了實(shí)驗。實(shí)驗中筆者采用了與底色有較大差異的黑色膠帶作導引線(xiàn),膠帶寬1.8cm,其中導引線(xiàn)總長(cháng)6000mm,斷續部分的間斷距離不大于10mm,步進(jìn)電機執行一次驅動(dòng)預定的行進(jìn)路程為4mm。在沒(méi)有強烈日光干擾的情況下,筆者所設計的尋跡系統能自動(dòng)識別黑色導引線(xiàn)并選擇正確的方向運動(dòng)。測試結果:系統總能在60S內連續正確地走完全程,而且機器人(中心)所走的軌跡基本上在黑線(xiàn)上??梢?jiàn),即使是比較復雜的曲線(xiàn),筆者設計的導引機器人也能準確地實(shí)現尋跡功能。

本文作者的創(chuàng )新點(diǎn)是:針對基于光電傳感器組尋跡的自動(dòng)導引機器人,設計了一種新的傳感器陣列的布置方式。根據此布置方式,提出了三個(gè)處理規則結合而成的軌跡識別算法。

參考文獻

1. 何立民.MCS—51系列單片機應用系統設計.北京:北京航空航天大學(xué)出版社,2003年

2. 廖華麗,周祥,董豐,王延旗.基于模糊控制的AGV.哈爾濱工業(yè)大學(xué)學(xué)報 2005(7)

3. 胡銀彪,馮建超.拖靶高度控制系統的設計.微計算機信息 2002(11)



關(guān)鍵詞: 機器人 尋跡算法 規則

評論


相關(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>