董志剛,郭隆建
(山東電子職業(yè)技術(shù)學(xué)院電子工程系,山東濟(jì)南 250014)
探究智能型清潔器的移動(dòng)模式*
董志剛,郭隆建
(山東電子職業(yè)技術(shù)學(xué)院電子工程系,山東濟(jì)南 250014)
智能清潔器的移動(dòng)過(guò)程中,最難處理的就是避開(kāi)限制環(huán)境中的障礙物,并且朝向目標(biāo)物行駛.可設(shè)計(jì)三種移動(dòng)模式來(lái)幫助實(shí)現(xiàn)此過(guò)程,分別是瞬時(shí)避障動(dòng)作、遠(yuǎn)距離避障動(dòng)作及目標(biāo)追蹤動(dòng)作.由于使用控制方式是信號(hào)判斷控制方式,因此會(huì)造成移動(dòng)過(guò)程不順暢,為解決此現(xiàn)象,又須運(yùn)用具有學(xué)習(xí)能力的反轉(zhuǎn)人工神經(jīng)網(wǎng)絡(luò)控制器,使其移動(dòng)更通暢,達(dá)到目的地.
移動(dòng)控制器;避障;人工神經(jīng)網(wǎng)絡(luò);目標(biāo)追蹤
現(xiàn)代信息社會(huì),智能化程度越來(lái)越高,越來(lái)越多的智能化設(shè)備出現(xiàn)在日常的生活和工作中.縱觀歷屆全國(guó)大學(xué)生電子設(shè)計(jì)大賽,涉及到智能小車的題目居多,不過(guò)大多數(shù)智能小車的移動(dòng)過(guò)程中移動(dòng)路線或者是障礙物均為指定,而現(xiàn)實(shí)生活中的智能移動(dòng)機(jī)器運(yùn)行中大多數(shù)會(huì)碰到很多突發(fā)事件,本文就以智能型清潔器為例,探討真實(shí)情境中智能清潔器的移動(dòng)模式.
本研究所使用的移動(dòng)模式主要是回避障礙物行為和目標(biāo)追蹤行為,但由于智能清潔器在移動(dòng)中隨時(shí)都可能會(huì)有不確定的事物突然出現(xiàn),所以本研究將智能清潔器的避障行為分成回避近距離障礙物的瞬時(shí)避障行為,以及回避遠(yuǎn)距離障礙物的遠(yuǎn)距離避障行為[1].本研究所設(shè)計(jì)的三種移動(dòng)情況,分別由兩組移動(dòng)控制器來(lái)判斷傳感器所給的信息,進(jìn)而判斷使用哪種移動(dòng)動(dòng)作情況.移動(dòng)模式的系統(tǒng)方塊圖如圖 1所示,其設(shè)計(jì)如下所述.
圖1 移動(dòng)模式的系統(tǒng)方塊圖
智能清潔器移動(dòng)模式的選擇,是根據(jù)傳感器件感知到的周圍環(huán)境的信息做出判斷的,本研究選用的是超聲波測(cè)距模塊和紅外線測(cè)距模塊.
超聲波測(cè)距模組主要的功能是檢測(cè)遠(yuǎn)距離的障礙物,使清潔器在遠(yuǎn)處時(shí)即能避開(kāi)障礙物而不會(huì)發(fā)生碰撞,移動(dòng)控制器的輸入信號(hào)則是由 7個(gè)超聲波傳感器所檢測(cè)到的障礙物距離,超聲波傳感器在清潔器上的位置配置如圖 2所示.考慮到傳統(tǒng)的超聲波傳感器的檢測(cè)范圍呈現(xiàn)圓弧形,而這種檢測(cè)范圍信號(hào)收集不完整的誤差性會(huì)造成控制器的誤判,因此通過(guò)修改超聲波傳感器檢測(cè)范圍,使其成為方形檢測(cè)范圍,減少誤判的機(jī)會(huì),以增加清潔器的移動(dòng)效率.
圖2 修改前后的超聲波測(cè)距模組測(cè)距范圍
紅外線測(cè)距模塊主要采用反射型紅外線傳感器,穩(wěn)定性高但測(cè)距范圍小,所以主要用來(lái)檢測(cè)近距離障礙物,并且做出瞬間壁障動(dòng)作,其配備情況如圖 3所示,清潔器前方 3個(gè),后邊 1個(gè),以用來(lái)降低行駛過(guò)程中與障礙物的碰撞幾率.
圖3 紅外線傳感器測(cè)距范圍
第一組移動(dòng)控制器主要的功能是以障礙物的遠(yuǎn)近來(lái)判斷清潔器以何種動(dòng)作移動(dòng),其判斷信號(hào)的來(lái)源是紅外線傳感器和超聲波傳感器所檢測(cè)到的信息,而判斷的方法是使用二值法判斷,如表 1所示,“1”表示檢測(cè)到障礙物,“0”表示沒(méi)有檢測(cè)到障礙物.當(dāng)紅外線傳感器有觸發(fā)的時(shí)候,表示清潔器鄰近的周邊有障礙物存在,因此須優(yōu)先使用瞬時(shí)避障行為來(lái)回避障礙物,但若紅外線傳感器沒(méi)有觸發(fā)時(shí),表示清潔器周圍沒(méi)有障礙物,所以由第二組移動(dòng)控制器判斷后,再根據(jù)周圍實(shí)際環(huán)境情況使用遠(yuǎn)距離避障動(dòng)作或目標(biāo)追蹤動(dòng)作移動(dòng).
表1 第一組移動(dòng)控制器判斷執(zhí)行真值表
第二組移動(dòng)控制器主要是根據(jù)超聲波測(cè)距模塊所檢測(cè)到的障礙物的距離,來(lái)判斷進(jìn)行遠(yuǎn)距離避障動(dòng)作或是目標(biāo)追蹤動(dòng)作,判斷方法是使用具有自動(dòng)學(xué)習(xí)過(guò)程的反轉(zhuǎn)人工神經(jīng)網(wǎng)絡(luò)作判斷,神經(jīng)網(wǎng)絡(luò)做移動(dòng)控制器的優(yōu)點(diǎn)在于其具有自動(dòng)學(xué)習(xí)的能力和有效的學(xué)習(xí)算法,使得神經(jīng)網(wǎng)絡(luò)能夠通過(guò)連接權(quán)值的調(diào)整,構(gòu)造客觀世界的內(nèi)在表示,形成具有特色的信息處理方法,信息存儲(chǔ)和處理體現(xiàn)在網(wǎng)絡(luò)的連接中.因此只須給予網(wǎng)絡(luò)不一樣的環(huán)境范例去學(xué)習(xí),即能構(gòu)建一個(gè)穩(wěn)定的移動(dòng)控制器.
第二組移動(dòng)控制器的系統(tǒng)結(jié)構(gòu)如圖 4所示,首先由超聲波測(cè)距模塊檢測(cè)到的反射波信號(hào),經(jīng)由微處理器計(jì)算成周圍障礙物的距離,并將所檢測(cè)到的每個(gè)距離作為人工神經(jīng)網(wǎng)絡(luò)控制器的輸入值,經(jīng)由控制器判斷后,再?zèng)Q定以何種動(dòng)作移動(dòng),而動(dòng)作最終的輸出值為清潔器應(yīng)移動(dòng)的方向.
圖4 第二組移動(dòng)控制器的系統(tǒng)結(jié)構(gòu)圖
學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)研究的一個(gè)重要內(nèi)容,它的適應(yīng)性是通過(guò)學(xué)習(xí)實(shí)現(xiàn)的,是一種根據(jù)環(huán)境的變化,對(duì)權(quán)值進(jìn)行調(diào)整、改善系統(tǒng)的行為[2].因此人工神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)的環(huán)境范例都是以會(huì)讓清潔器陷入局部極小值、擺動(dòng)振蕩的凹型障礙物以及人工勢(shì)場(chǎng)模型存在的目標(biāo)不可到達(dá)問(wèn)題 (GNRON)的環(huán)境為主,而疊代法是人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的方法,其流程如圖 5所示,首先針對(duì)障礙物環(huán)境設(shè)計(jì)初步的學(xué)習(xí)范例,再利用學(xué)習(xí)程序修改調(diào)整神經(jīng)元的加權(quán)值和偏權(quán)值,調(diào)整完成后,運(yùn)用軟件模擬清潔器的移動(dòng)路徑,若清潔器可順利地移動(dòng)至目的地,則完成神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),否則必須采集最先造成清潔器移動(dòng)不暢通的環(huán)境信息,即是以超聲波傳感器所檢測(cè)到的清潔器周圍障礙物的距離為信號(hào),然后將此點(diǎn)的環(huán)境信息增加至學(xué)習(xí)范例后,再學(xué)習(xí),如此重復(fù)疊代直至清潔器能順利地到達(dá)目的為止.
圖5 反轉(zhuǎn)人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)流程圖
移動(dòng)控制器主要的功能是清潔器根據(jù)當(dāng)前環(huán)境的信息,進(jìn)而判斷使用哪種動(dòng)作模式進(jìn)行移動(dòng),其程序執(zhí)行流程如圖 6所示.首先移動(dòng)控制器會(huì)接收來(lái)自傳感器信號(hào) i,若 i=0,表示智能清潔器在位能場(chǎng)內(nèi)未接受到任何信息,因此移動(dòng)控制器不執(zhí)行動(dòng)作;當(dāng) i=1時(shí),表示智能清潔器感知信息,因此先判斷紅外線傳感器 IR1、I R2、IR3及 I R4是否有觸發(fā),若有觸發(fā),表示清潔器附近有障礙物存在,因此進(jìn)行瞬時(shí)壁障動(dòng)作,若無(wú)觸發(fā),則清潔器接收由超聲波測(cè)距模組所檢測(cè)的障礙物距離,并且將距離傳送至人工神經(jīng)網(wǎng)絡(luò)控制器判斷,神經(jīng)網(wǎng)絡(luò)判斷后的結(jié)果以 end表示,若 end=1,執(zhí)行遠(yuǎn)距離壁障動(dòng)作;若 end=2,則執(zhí)行目標(biāo)追蹤動(dòng)作.
圖6 移動(dòng)控制器的程序流程圖
瞬時(shí)壁障動(dòng)作主要是根據(jù)來(lái)自于紅外線傳感器所檢測(cè)的信號(hào),回避近距離和突如其來(lái)的障礙物,因此設(shè)計(jì)上是以較大的動(dòng)作回避障礙物.由于紅外線傳感器所檢測(cè)的信號(hào)“1”表示有障礙物;“0”表示無(wú)障礙物,因此可使用邏輯方法判斷清潔器的行駛方向,進(jìn)而回避近距離的障礙物.這里需要使用布爾代數(shù)進(jìn)行邏輯演算,并且使用卡諾圖簡(jiǎn)化邏輯函數(shù),提高程序執(zhí)行效率.首先設(shè)紅外線感測(cè)器的編號(hào) I R1=A、I R2=B、IR3=C和 IR4=D;行駛方向直行為 F、往右為 R、往左為L(zhǎng)以及后退為B,將四個(gè)紅外線傳感器及輸出的關(guān)系列成真值表,并轉(zhuǎn)化為卡諾圖,如圖 7所示.
圖7 紅外線傳感器與輸出動(dòng)作真值表及卡諾圖
經(jīng)由卡諾圖以及布爾代數(shù)簡(jiǎn)化演算后的邏輯函數(shù)如下所示:
直行:
最后只需將四個(gè)紅外線傳感器的檢測(cè)信號(hào)輸入邏輯函數(shù),經(jīng)由運(yùn)算后,再判斷哪個(gè)函數(shù)最后的輸出值為 1,其即為清潔器所需移動(dòng)的方向,這樣就能快速判斷回避方向,達(dá)到瞬時(shí)壁障的效果.
瞬時(shí)壁障動(dòng)作主要的功能是回避近距離的障礙物,其程序執(zhí)行過(guò)程:首先先接收紅外傳感器的信號(hào),然后將信號(hào)經(jīng)過(guò)四個(gè)邏輯函數(shù)的運(yùn)算,再將邏輯運(yùn)算后 F、R、L、B的值傳送至電動(dòng)機(jī)控制模組的控制器作判斷,進(jìn)而控制電機(jī)運(yùn)動(dòng).
遠(yuǎn)距離壁障動(dòng)作的主要功能是回避遠(yuǎn)距離的障礙物,使清潔器在遠(yuǎn)處時(shí)即能避開(kāi)障礙物而避免發(fā)生碰撞,其輸入信號(hào)是來(lái)自由七個(gè)超聲波傳感器所檢測(cè)到的障礙物距離.由于障礙物的距離會(huì)隨著清潔器的移動(dòng)而改變,無(wú)法以傳統(tǒng)的邏輯方法判斷,因此本研究使用反轉(zhuǎn)人工神經(jīng)網(wǎng)絡(luò)作障礙物回避行為的控制器來(lái)判斷清潔器的行駛方向,其學(xué)習(xí)方式也是使用疊代法作為學(xué)習(xí)方法[3].障礙物回避行為的系統(tǒng)方塊圖如圖 8所示,神經(jīng)網(wǎng)絡(luò)控制器以超聲波測(cè)距模塊所測(cè)量的障礙物距離為輸入信號(hào),經(jīng)過(guò)判斷后,將清潔器所需執(zhí)行的動(dòng)作,以代碼的方式 (直行代碼為 5;往右代碼為 6;往左代碼為 7;后退代碼為 8)傳送至電動(dòng)機(jī)控制模組,執(zhí)行電機(jī)控制,進(jìn)而控制清潔器移動(dòng).其程序執(zhí)行流程,首先是接收由超聲波測(cè)距模塊所測(cè)量的障礙物距離,再將所接收的信號(hào)傳送至神經(jīng)網(wǎng)絡(luò)控制器作判斷,判斷的結(jié)果以 m表示,將m值傳送至電動(dòng)機(jī)控制模組判斷,進(jìn)而控制電機(jī)運(yùn)動(dòng).
圖8 遠(yuǎn)距離壁障動(dòng)作的系統(tǒng)方塊圖
當(dāng)清潔器在環(huán)境中行駛時(shí),為了閃避障礙物而偏離了目標(biāo)物的方向,因此目標(biāo)追蹤動(dòng)作的設(shè)計(jì)目的在于讓清潔器在偏離之后能夠回到原來(lái)的方向上,使其朝向目標(biāo)所在位置前進(jìn),最后到達(dá)目的地.目標(biāo)追蹤動(dòng)作的設(shè)計(jì)如圖 9所示,清潔器當(dāng)前的坐標(biāo)為 O(x1,x1),目標(biāo)坐標(biāo)為 T(x2,x2),清潔器的前進(jìn)方向距離 y軸的角度為γ,是由電子羅盤所測(cè)量得到的角度,而目標(biāo)物距離 y軸的角度為λ,可由式(5)計(jì)算所得:
清潔器所需要旋轉(zhuǎn)的角度φ可由下式所得:
旋轉(zhuǎn)方向的判斷:
圖9 目標(biāo)追蹤動(dòng)作的設(shè)計(jì)示意圖
由上述的計(jì)算可得知,在這一個(gè)狀況下清潔器所需旋轉(zhuǎn)的角度和方向,因此利用此方法只需有清潔器和目標(biāo)物的座標(biāo)以及清潔器行進(jìn)的方位角,即可計(jì)算出清潔器追蹤目標(biāo)物所需旋轉(zhuǎn)的角度和旋轉(zhuǎn)方向.
目標(biāo)追蹤動(dòng)作的功能是當(dāng)清潔器回避障礙物后,能夠再回到朝向目標(biāo)物的方向上,其程序的開(kāi)始是先接收目標(biāo)坐標(biāo)為 T(x2,x2)、清潔器當(dāng)前的坐標(biāo)為 O(x1,x1)以及清潔器所朝向的方位角γ,接著計(jì)算目標(biāo)物距離 y軸的角度為λ,進(jìn)而計(jì)算清潔器所需旋轉(zhuǎn)的角度φ,接著再由目標(biāo)物的坐標(biāo)和清潔器當(dāng)前的坐標(biāo)判斷清潔器所需旋轉(zhuǎn)的方向,并以 m值表示判斷后的結(jié)果:m=5清潔器的動(dòng)作為直行;m=6清潔器的動(dòng)作為右轉(zhuǎn);m=7清潔器的動(dòng)作為左轉(zhuǎn),將 m值傳送至電動(dòng)機(jī)控制模組判斷,進(jìn)而控制電機(jī)運(yùn)動(dòng).
[1]馮建農(nóng),等.自主移動(dòng)機(jī)器人智能導(dǎo)航研究進(jìn)展 [J].機(jī)器人,1997,(6):468-473.
[2]紀(jì)壽文,等.智能化的物流搬運(yùn)機(jī)器人 -AGV[J].中國(guó)物流與采購(gòu),2004,(2):56-57.
[3]吳倚龍,等.移動(dòng)機(jī)器人導(dǎo)航和避障系統(tǒng)硬件的設(shè)計(jì)[J].光學(xué)技術(shù),2005,31(增刊):379-381.
TN911.73
A
1008-4681(2010)02-0038-04
2009-12-10;
2010-01-29
董志剛 (1977-),男,山東臨清人,山東電子職業(yè)技術(shù)學(xué)院電子工程系講師.研究方向:機(jī)電一體化、數(shù)字信號(hào)處理.
(責(zé)任編校:簡(jiǎn)子)