岳潔
搜救機(jī)器人競(jìng)賽是中小學(xué)機(jī)器人競(jìng)賽中較常見的賽項(xiàng),在搜救型機(jī)器人競(jìng)賽中,機(jī)器人要順利完成搜救任務(wù),循跡行走是要解決的關(guān)鍵問題。本文以“虛擬搜救機(jī)器人”為實(shí)驗(yàn)平臺(tái),分析了尋線循跡行走的常用算法與策略,發(fā)現(xiàn)其適用場(chǎng)合及不足,提出了用尋跡卡傳感器算法與策略,優(yōu)化了的尋跡卡機(jī)器人速度和尋線策略。
隨著智能技術(shù)的發(fā)展,教育機(jī)器人逐步走進(jìn)中小學(xué)課堂,自20世紀(jì)90年代中期開始以來,機(jī)器人競(jìng)賽規(guī)模不斷擴(kuò)大,比賽項(xiàng)目不斷完備,影響力也逐步提高,現(xiàn)在已經(jīng)成為一個(gè)普及科技教育、促進(jìn)科技進(jìn)步的全球性賽事。
循跡機(jī)器人是一種被廣泛研究的機(jī)器人,它是在給定的區(qū)域內(nèi)沿著給定的軌跡完成對(duì)各個(gè)目標(biāo)點(diǎn)的訪問,其主要指標(biāo)是速度和順利完成訪問得分點(diǎn)的能力。目前,機(jī)器人尋跡一般都通過視覺傳感器和光電傳感器獲取道路信息。朱益斌等在《自主式尋跡機(jī)器人小車的設(shè)計(jì)》提出了利用紅外傳感器進(jìn)行尋跡,用光電編碼器和PID算法對(duì)走直線進(jìn)行控制,以鏈表結(jié)構(gòu)作為電子地圖。制作的機(jī)器人能很好的進(jìn)行尋跡和訪問目標(biāo)點(diǎn),運(yùn)行過程穩(wěn)定,抗干擾能力較強(qiáng),反應(yīng)速度快,對(duì)進(jìn)一步研究自動(dòng)行走機(jī)器人技術(shù)有借鑒作用?!兑环N競(jìng)賽機(jī)器人小車的設(shè)計(jì)與實(shí)現(xiàn)》一文中給出了實(shí)現(xiàn)機(jī)器人識(shí)別不同顏色區(qū)域的方法,根據(jù)傳感器的狀態(tài)實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)方向的控制,并利用 PWM 的方式控制小車的運(yùn)動(dòng)速度,調(diào)試及競(jìng)賽過程機(jī)器人小車能夠很好地進(jìn)行接力,運(yùn)行過程穩(wěn)定、抗干擾能力強(qiáng)、反應(yīng)速度快。
機(jī)器人尋線最常用的方法是用灰度光電傳感器探測(cè)場(chǎng)地環(huán)境,識(shí)別引導(dǎo)線?;叶葌鞲衅魇悄M傳感器,利用光敏電阻檢測(cè)反射光的強(qiáng)度,不同顏色的檢測(cè)面對(duì)光的反射程度不同,光敏電阻檢測(cè)光線的強(qiáng)度并將其轉(zhuǎn)換為機(jī)器人可以識(shí)別的信號(hào),不同顏色的檢測(cè)面返回的光值也不同。虛擬機(jī)器人搜救系統(tǒng)平臺(tái)中的機(jī)器人灰度傳感器,適合黑(白)線軌跡的跟蹤:模塊以數(shù)字輸出,返回值為0~255的灰度值,探測(cè)到黑線時(shí)輸出0,探測(cè)到白線輸出為255。機(jī)器人正是通過灰度傳感器模塊探測(cè)到的信號(hào)來判斷形勢(shì)情況,并進(jìn)行調(diào)整控制。競(jìng)賽機(jī)器人在設(shè)計(jì)時(shí)一般采用在機(jī)器人前端安裝兩個(gè)灰度傳感器,作為機(jī)器人的視覺識(shí)別系統(tǒng)。
當(dāng)軌跡線是鈍角轉(zhuǎn)彎時(shí),為了增強(qiáng)機(jī)器人尋跡的穩(wěn)定性,可以選用智能尋跡卡傳感器。智能尋跡卡傳感器相當(dāng)于8個(gè)灰度傳感器,安裝方便,行走靈活。
2.1 無分支算法設(shè)計(jì)
通過尋跡卡的七個(gè)灰度傳感器檢測(cè),獲取當(dāng)前傳感器的返回值,判斷機(jī)器人所在的位置,并調(diào)整機(jī)器人的運(yùn)行軌跡方向,使機(jī)器人始終沿著軌道行走。機(jī)器人的初始位置在軌跡線的中間,4號(hào)傳感器壓線,這時(shí)機(jī)器人默認(rèn)直線前進(jìn);前進(jìn)一小段距離后,由于摩擦力、車身抖動(dòng)或軌跡線發(fā)生改變等原因,機(jī)器人會(huì)偏離軌跡線,這時(shí)機(jī)器人需要根據(jù)從灰度傳感器獲取的信息作出判斷,適實(shí)的調(diào)整機(jī)器人行走方向。尋跡卡傳感器的狀態(tài)及機(jī)器人的行走策略見表(略)。
在初始狀態(tài)下,黑線應(yīng)位于傳感器的中間,此時(shí)傳感器4檢測(cè)到黑線,七個(gè)傳感器的狀態(tài)分別為0、0、0、1、0、0、0,表示為二進(jìn)制數(shù)是0001000,此時(shí)機(jī)器人前進(jìn)。
當(dāng)機(jī)器人從中間逐漸往右偏離軌道黑線時(shí),即黑線在機(jī)器人左邊,對(duì)應(yīng)的狀態(tài)有0011000、0010000、0110000、0100000、1000000,此時(shí)機(jī)器人由傳感器的信息判斷偏離軌道的程度,并作出不同幅度的左轉(zhuǎn)。越靠左邊的傳感器檢測(cè)到黑線信息,說明機(jī)器人向軌跡線右邊偏離的程度越大,機(jī)器人向左轉(zhuǎn)的幅度就需要越大。
當(dāng)機(jī)器人從中間逐漸往左偏離軌道黑線時(shí),黑線在機(jī)器人右邊,對(duì)應(yīng)的狀態(tài)有0001100、0000100、0000110、0000010、0000001,此時(shí)機(jī)器人由傳感器的信息判斷偏離軌道的程度,并作出不同幅度的右轉(zhuǎn)。越靠右邊的傳感器檢測(cè)到黑線信息,說明機(jī)器人向軌跡線左邊偏離的程度越大,機(jī)器人向右轉(zhuǎn)的幅度就需要越大。
還有一種狀態(tài)就是七個(gè)傳感器都檢測(cè)到黑線,此時(shí)說明機(jī)器人行駛到丁字路口或十字路口,需根據(jù)場(chǎng)地的情況判斷直行或者停止。若以到達(dá)終點(diǎn),則機(jī)器人停止;若是分支路口,機(jī)器人需要直行。
最后一種狀態(tài)是七個(gè)傳感器都檢測(cè)不到黑線,此時(shí)說明機(jī)器人可能完全脫離了軌跡黑線,這時(shí)需要根據(jù)機(jī)器人上一次獲取傳感器的信號(hào)來判斷自身所處位置,進(jìn)行挽救。若上一次是1號(hào)傳感器檢測(cè)到黑線,則說明前進(jìn)方向的左邊有轉(zhuǎn)彎,機(jī)器人需大幅度的左轉(zhuǎn)直至到軌跡線上;反之,則是7號(hào)傳感器檢測(cè)到黑線,需大幅度右轉(zhuǎn)直至到軌跡線上。
2.2 分支路口策略設(shè)計(jì)
虛擬機(jī)器人競(jìng)賽的場(chǎng)地,在比賽開始時(shí)公布,因此,可以通過計(jì)數(shù)方式來完成有分支軌道的行走。如果1號(hào)傳感器和7號(hào)傳感器都能檢測(cè)到黑線,說明遇到了十字路口或丁字路口。此時(shí)可以用計(jì)數(shù)的方法數(shù)線,讓機(jī)器人記住走過的路口,并作出行為判斷,在需要停止的路口停下,在前進(jìn)的路口前進(jìn)。如機(jī)器人場(chǎng)地有5個(gè)十字路口,前4個(gè)路口都需要直行經(jīng)過,最后一個(gè)路口需要停止,則每經(jīng)過一個(gè)分支路口,計(jì)數(shù)變量就累加一次,直到計(jì)數(shù)變量累加到5后,機(jī)器人停止。
2.3 折線轉(zhuǎn)彎行走策略
以上傳感器的狀態(tài),便于機(jī)器人在行走過程中的方向矯正,避免機(jī)器人在直線或曲線等平滑軌道的行走中始終保持在軌道線上。在實(shí)際行駛過程中,軌跡往往是比較復(fù)雜的,由于軌道設(shè)計(jì)了很多銳角、直角、鈍角的折線轉(zhuǎn)彎,為使機(jī)器人能在全速前進(jìn)的過程中走的更穩(wěn)定、避免脫離軌道,可以利用尋跡卡的優(yōu)勢(shì),根據(jù)中間傳感器和邊緣傳感器的信息融合來判斷軌道轉(zhuǎn)彎角度的大小。
實(shí)驗(yàn)表明,灰度傳感器在遇到折線轉(zhuǎn)彎時(shí),不能完成轉(zhuǎn)彎的任務(wù),大多數(shù)情況是沿著直線直接沖出軌道,循跡失敗;在較大曲率曲線中,也不能順利轉(zhuǎn)角到位,導(dǎo)致機(jī)器人原地打轉(zhuǎn)錯(cuò)誤檢測(cè)到黑線反方向運(yùn)行,或直接沖出軌跡線,循跡失敗。尋跡卡機(jī)器人在遇到折線拐彎時(shí),由于邊緣傳感器檢測(cè)到黑線,機(jī)器人大角度拐彎,能夠快速的拐回軌跡線,中間傳感器的再次檢測(cè),能夠保證機(jī)器人不會(huì)因?yàn)樗俣忍燹D(zhuǎn)彎時(shí)沖過軌跡線,出現(xiàn)脫離軌跡線而迷路的狀態(tài);機(jī)器人在遇到較大曲率曲線時(shí),由于幾個(gè)傳感器輪流檢測(cè)到黑線,可以及時(shí)調(diào)整機(jī)器人兩輪速度差,機(jī)器人呈持續(xù)轉(zhuǎn)彎狀態(tài),直至機(jī)器人中間傳感器檢測(cè)到黑線,機(jī)器人回到直行狀態(tài)。整個(gè)運(yùn)行過程,機(jī)器人尋跡穩(wěn)定,完成全部巡線任務(wù),每次行走時(shí)間接近平均用時(shí)。
4 實(shí)驗(yàn)結(jié)論
通過以上幾個(gè)實(shí)驗(yàn)的數(shù)據(jù)可以看出,在機(jī)器人循跡行走過程中,灰度傳感器機(jī)器人在直線和曲率較小的曲線軌道中,循線穩(wěn)定速度快,但在折線軌道中卻完全無法循線,沒有成功的實(shí)驗(yàn)。尋跡卡在所有場(chǎng)地的循線過程中都比較穩(wěn)定,未發(fā)生失敗的情況。盡管在較小曲率的曲線軌道循跡中,灰度傳感器表現(xiàn)出了速度上的優(yōu)勢(shì),但這個(gè)優(yōu)勢(shì)非常微小,不超過0.7秒;尋跡卡機(jī)器人的穩(wěn)定性的優(yōu)勢(shì)表現(xiàn)的非常明顯。因此,在循跡任務(wù)中,選用尋跡卡機(jī)器人,會(huì)有較好的尋跡效果。
本文分析了機(jī)器人循跡行走的關(guān)鍵問題,介紹了機(jī)器人循跡行走常用算法與策略,并在不同場(chǎng)地條件下進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)其適用場(chǎng)合及不足。提出了尋跡卡傳感器機(jī)器人的算法與策略,優(yōu)化了尋跡卡機(jī)器人速度和尋線策略。通過實(shí)驗(yàn)對(duì)比,得出機(jī)器人循跡行走用尋跡卡傳感器效果更好,行走穩(wěn)定,速度快,能順利高效的完成行走任務(wù)。本文研究的虛擬機(jī)器人循跡行走的算法和策略可以推廣運(yùn)用至實(shí)體機(jī)器人。
(作者單位:江蘇省南京市雙塘小學(xué))