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