摘要:本文在結合傳統的行為技術和
傳感器技術的基礎上,選取zui有效的行為搭配構建了整個系統,使整個系統的工作效率較傳統的隨機覆蓋有了很大的提高。
前言
吸塵機器人作為服務機器人領域的一個新產品,結合了機器人和吸塵器技術,能在無人看守情況下輕松地完成室內環境的吸塵等清潔工作,越來越受到人們的歡迎。
其結合了機器人和吸塵器的核心技術,能在無人看守情況下輕松地完成實現家庭、賓館、寫字樓等室內環境的全自動清潔。雖然自主吸塵機器人已經形成產品并推向了市場,但其性能還有待進一步提高。
1、基于行為
RodneyBrooks在1986年發表的論文中提到的包容式結構表明了基于行為的編程方法的正式起源。包容式結構:在進化過程中,人類永遠不會喪失比較低級的和原始的大腦工程,而功能則在此基礎上進行添加,因此在每個人的大腦內部都保留有類似于爬行動物的低級意識殘余。與此類似,采用基于行為的方法需要為機器人設計一系列簡單行為(所謂的行為也就是通過感知信息控制執行過程的算法),這些行為相互協調和協作,產生所需求的機器人整體行為。系統的行為并不是*確定的,而是包含了很多隨機的東西。執行過程并不十分穩定,但系統的整體行為是非常穩定的。基于行為的機器人將盡可能地將傳感器信息同執行過程直接連接。具有很強的反射性:只要機器人對相關環境做出了判斷,就立即采取行動。一有信息就立即據此動作。
2、行為設計
行為分為2種類型:伺服行為和彈道式行為。伺服行為采用反饋控制環作為他的控制單元。彈道式行為,自始至終都會按照預先沒定好的模式運行。彈道式行為的整體規劃過程同實現程序代碼密切相關,執行過程中的環境變化或者行為初始化過程中的任何微小錯誤(如噪聲假信號所導致的誤操作),都會給機器人帶來麻煩,導致*失效。伺服行為具有良好的抗噪聲能力,對工作過程中的其他微小故障也具有較強的容錯性。本文的行為采用有限狀態機(FinitestateMachine,FSM)使能夠更方便地理解系統工作過程,從而可以容易地編寫系統實現代碼。
2.1巡航行為
巡航行為是一種zui簡單的預定義行為,該行為具有兩個參數:左輪速度和右輪速度。在每個運動時步內,巡航行為都要求左右兩個驅動輪的速度被設定為值!
2.2沿墻行走行為
機器人借助左右兩個紅外接近覺傳感器能夠執行沿墻行走操作。它與逃離行為非常相似,它也起始于開始狀態start,并且保持該狀態,直到左側或者右側物體接觸到接近覺傳感器,該行為就會進入左側有墻狀態或者右側有墻狀態。然后控制機器人向左或者向右行駛。當執行有墻狀態沿曲線前進時,如果轉向太大以至于相應的接近覺傳感器不再能檢測到物體,那么機器人將進入左墻迷失狀態或者右墻迷失狀態。左墻迷失狀態將會驅動機器人向左前方行駛,右墻迷失狀態狀態將會驅動機器人向右前方行駛。直到某個傳感器觸發,將會返回到左側有墻或者右側有墻狀態。如果墻壁迷失狀態超過設定時間,沿墻行走行為將會*返回到開始狀態。此進程和逃離等行為必須是并行操作。如圖1所示:
2.3歸航行為
歸航行為試圖驅動機器人到達某個光源位置。只要機器人的光電傳感器檢測到某個光源,機器人使自己對準光源,然后再進行前進操作就能完成整個歸航過程。機器人對準光源進行快速調整由某個增益參數決定,而速度參數決定了機器人行駛過程的快速性能。機器人前進的同時旋轉,旋轉角度ω=k(L一R),其中k為增益參數;L,R為紅外接受器接收到的接受信號強度。當機器人電量不足時,機器人未必處于充電的房間,因此檢測不到紅外信標的信號,此時應觸發沿墻行走行為使機器人走到能檢測到信標信號的房間再觸發歸航行為。如圖2所示。
2.4逃離行為
逃離行為時一種彈道式行為,執行三步操作:后退,旋轉和前進。該行為具有三個參數,分別對應三步操作的執行時間長度:t-backup,t-spin,t-forward。逃離行為以有限狀態機的方式實現,每個操作對應行為的一個狀態,因此,行為的命令請求*取決于行為的狀態。當行為進入某個狀態的時候,開始為該狀態進行計時;一旦經過了的時間,該行為就會轉換到下一個狀態。
逃離行為的初始狀態為開始狀態start,此逃離行為不會執行任何操作,直到機器人與某物體發生碰撞后,該狀態轉換為后退狀態back-up,經過t-backup后,后退狀態結束,行為開始進入左轉spin-lift或者右轉spin-right狀態,這兩種狀態都能夠控制機器人向相應的方向進行t-spin秒的原地旋轉操作。當旋轉完成后,此時,機器人將會執行t-forward秒的前進操作,然后返回至開始狀態。如圖3所示。
2.5防堵轉行為
在增益參數為正值的情況下,蔽障行為能夠在右側紅外接近傳感器的感知信號有效的控制機器人向左前方行駛;反之相同。按照這種工作方式,蔽障行為能夠使機器人避開所遇到的障礙物。如果增益參數的值為負值,機器人將會向正對障礙物的方向行駛。增益參數g的幅值大小決定了機器人運行軌跡的曲率半徑大小。
2.6防靜止行為
虛擬靜止檢測傳感器只要通過軟件實現即可。機器人在運動時各傳感器的輸出信息都可能在不停地變化,而一旦停止運動,所有傳感器的輸出信息都將保持不變。
機器人的功能和運行方式決定了機器人的結構。系統結構圖如圖4所示。
2.8差速驅動
差速驅動底盤通過控制2個驅動輪之間的運動差異來控制機器人的整體運動。無論多么復雜的運動都可以分解為平移運動和原地旋轉運動。圖5為差速驅動模型,描述了2個驅動輪的速度同機器人曲率半徑之間的關系,曲率半徑為rL=VLW/(VR一VL)。當兩個驅動輪的旋轉速度*相同時.半徑rL的值將趨于無窮大,此時機器入沿直線行駛的過程可以理解為機器人沿某個半徑為無窮大的圓的旋轉過程;當左輪速度為O時,rL等于0,機器人將會圍繞左輪進行原地旋轉操作,此時vL=v,Vr=wW+v;當左右2個輪子的速度相同而符號相反時,機器人將會圍繞著自己的中心位置進行原地旋轉(rL=w/2)。差速驅動機器人可以圍繞2個驅動輪軸心連線上的任意一點進行旋轉操作(包括機器人本體外的點)。負半徑表示機器人沿弧線方向逆時針行駛;正半徑方向表示沿弧線方向順時針行駛。
3、仲裁器設計
在某個時刻僅有一個行為觸發,系統能夠比較平穩地運行。但當多個行為同時觸發,并且每個行為都需要機器人執行不同的操作時,機器人就需要利用仲裁機制來妥善處理這種關系。這里采用固定優先級仲裁,每個行為都被惟一地賦予一個優先級值,沖突發生時,執行優先級高的行為。行為在發出控制請求后,需要知道自己是否已經得到仲裁器的批準。仲裁器帶有一定的輸出,每個行為都賦予一個惟一標識符(ID:Identifer)。仲裁器輸出仲裁獲勝行為的標識符。每個行為通過將自己的標識符同仲裁器輸出相比較,能夠確定出自己是否已經擁有了對仲裁資源的控制權。
機器人在運行時,環境存在很多不可控因素,機器人的實際運行方式與所期望的有很大差異,有時傳感器*失效,有時在信息檢測過程中經常出現漏報和誤報錯誤(漏報是指當環境中存在某種傳感器應該能夠檢測到的信息時,傳感器卻檢測不到;誤報則是指傳感器所檢測到的信息在環境中是不存在或不正確的)。盡管在重要信息損失或者運動控制命令變質的情況下,性能會受到一定程度的影響,機器人程序也應該能夠盡其可能地做到,而不是**地癱瘓。在子系統發生錯誤或者工作失敗的情況下,系統這種能夠降低水準繼續工作的能力被稱為優雅降級。本文設計的機器人具有完善的優雅降級功能。在碰撞傳感器失效的情況下,防堵轉和防靜止行為將保證機器人繼續完成任務。
4、機器人仿真及分析
對以上提出的基于行為吸塵機器人設計方案進行仿真,機器人采用隨機覆蓋的模式,不知道自己的具體位置,因此不可避免地會再次訪問已訪問過的某個區域。機器人的覆蓋率=(1-e-t/a)其中,f為時間變量;a為一時間常數。表明了機器人在不訪問舊區域的情況下進行確定性覆蓋所花費的時間。通過實驗仿真運行情況來看,本文的設計方案*可以滿足要求。雖然隨機覆蓋方法沒有確定性覆蓋的低重復性,但他卻能避免確定性覆蓋所帶來的價格、復雜性以及系統脆弱性問題。
5、結語
由于機器人的行為不同,不采用價格昂貴的單一類型傳感器去獲取難以達到的精度和可靠性,而是綜合使用多個可靠性相對來說比較差一些的傳感器系統,通過這些系統之間的優勢互補使機器人具有更強的魯棒性。