基于行為的智能吸塵機(jī)器人設(shè)計
自主吸塵機(jī)器人(AutonomollsCleaningRobot,ACR)又稱為清潔機(jī)器人或智能吸塵器,是移動式智能機(jī)器人進(jìn)人家庭的一個典型應(yīng)用。
其結(jié)合了機(jī)器人和吸塵器的核心技術(shù),能在無人看守情況下輕松地完成實現(xiàn)家庭、賓館、寫字樓等室內(nèi)環(huán)境的全自動清潔。集機(jī)械學(xué)、電子技術(shù)、傳感器技術(shù)、計算機(jī)技術(shù)、控制技術(shù)、機(jī)器人技術(shù)、人工智能等諸多學(xué)科為一體。吸塵機(jī)器人作為智能移動機(jī)器人實用化發(fā)展的先行者,其研究始于20世紀(jì)80年代,他是目前家用電器領(lǐng)域最具挑戰(zhàn)性的熱門研發(fā)課題。目前國內(nèi)外在吸塵機(jī)器人研究開發(fā)方面已取得一定的成果,并有成品上市。雖然自主吸塵機(jī)器人已經(jīng)形成產(chǎn)品并推向了市場,但其性能還有待進(jìn)一步提高。
l 基于行為
Rodney Brooks在1986年發(fā)表的論文中提到的包容式結(jié)構(gòu)表明了基于行為的編程方法的正式起源。包容式結(jié)構(gòu):在進(jìn)化過程中,人類永遠(yuǎn)不會喪失比較低級的和原始的大腦工程,而高級功能則在此基礎(chǔ)上進(jìn)行添加,因此在每個人的大腦內(nèi)部都保留有類似于爬行動物的低級意識殘余。與此類似,采用基于行為的方法需要為機(jī)器人設(shè)計一系列簡單行為(所謂的行為也就是通過感知信息控制執(zhí)行過程的算法),這些行為相互協(xié)調(diào)和協(xié)作,產(chǎn)生所需求的機(jī)器人整體行為。系統(tǒng)的行為并不是完全確定的,而是包含了很多隨機(jī)的東西。執(zhí)行過程并不十分穩(wěn)定,但系統(tǒng)的整體行為是非常穩(wěn)定的?;谛袨榈臋C(jī)器人將盡可能地將傳感器信息同執(zhí)行過程直接連接。具有很強的反射性:只要機(jī)器人對相關(guān)環(huán)境做出了判斷,就立即采取行動。一有信息就立即據(jù)此動作。
2行為設(shè)計
行為分為2種類型:伺服行為和彈道式行為。伺服行為采用反饋控制環(huán)作為他的控制單元。彈道式行為,自始至終都會按照預(yù)先沒定好的模式運行。彈道式行為的整體規(guī)劃過程同實現(xiàn)程序代碼密切相關(guān),執(zhí)行過程中的環(huán)境變化或者行為初始化過程中的任何微小錯誤(如噪聲假信號所導(dǎo)致的誤操作),都會給機(jī)器人帶來麻煩,導(dǎo)致徹底失效。伺服行為具有良好的抗噪聲能力,對工作過程中的其他微小故障也具有較強的容錯性。 本文的行為采用有限狀態(tài)機(jī)(Finite state Machine,F(xiàn)SM)使能夠更方便地理解系統(tǒng)工作過程,從而可以容易地編寫系統(tǒng)實現(xiàn)代碼。
2.1 巡航行為
巡航行為是最基本也是機(jī)器人最常使用的行為。該行為使2個驅(qū)動電動機(jī)輸出相同的轉(zhuǎn)速,機(jī)器人近似直線的向前方運動,直到其他行為觸發(fā),當(dāng)其他行為運行結(jié)束時,將又回復(fù)到巡航行為。
2.2 沿墻行走行為
沿墻行走行為能夠幫助機(jī)器人在障礙物之間搜索路徑。特別是對于多個房間的環(huán)境來說,在門的附近進(jìn)行一小段沿墻行走行為將使機(jī)器人更有機(jī)會進(jìn)入其他的房間,所以機(jī)器人在遇到障礙物時,隔一段時間需要進(jìn)行一小段沿墻行走行為。如圖1所示:
2.3 歸航行為
歸航行為與泊位傳感器相結(jié)合,使機(jī)器人在電量不足時能夠回到充電處進(jìn)行充電,以保證任務(wù)能夠完成。實現(xiàn)機(jī)器人歸航行為的左右2個紅外信標(biāo)接收器的性能不可能完全一致,當(dāng)機(jī)器人通過比較傳感器輸出確定出自己直接面/對光源時,其實際朝向卻偏向光源的一測,機(jī)器人沿著某個螺旋線向著信標(biāo)的位置前進(jìn)。機(jī)器人前進(jìn)的同時旋轉(zhuǎn),旋轉(zhuǎn)角度ω=k(L一R),其中k為增益參數(shù);L,R為紅外接受器接收到的接受信號強度。當(dāng)機(jī)器人電量不足時,機(jī)器人未必處于充電的房間,因此檢測不到紅外信標(biāo)的信號,此時應(yīng)觸發(fā)沿墻行走行為使機(jī)器人走到能檢測到信標(biāo)信號的房間再觸發(fā)歸航行為。如圖2所示。
2.4 逃離行為
逃離行為能保護(hù)機(jī)器人避免發(fā)生危險,保證任務(wù)得以順利完成。機(jī)器人的旋轉(zhuǎn)角度是用來平衡系統(tǒng)環(huán)境適應(yīng)能力的一個重要參數(shù)。如果該值較大,那么機(jī)器人將能非常干凈利索地離開墻或者其他比較大的障礙物;但機(jī)器人卻因此而喪失了尋找狹小通路的能力,嚴(yán)重限制了他在錯綜復(fù)雜的環(huán)境中進(jìn)行自主導(dǎo)航的能力;如果角度比較小,機(jī)器人將會比較容易地在凌亂的環(huán)境中穿行,然而在執(zhí)行避開墻壁的操作時則需反復(fù)多次才能成功,因此應(yīng)選擇隨機(jī)旋轉(zhuǎn)角度。如圖3所示。
2.5 防堵轉(zhuǎn)行為
永磁直流電動機(jī)的輸出轉(zhuǎn)矩同電流成正比。當(dāng)電動機(jī)兩端施加電壓而電動機(jī)沒有旋轉(zhuǎn)時,轉(zhuǎn)矩和電流達(dá)到最大值。如果機(jī)器人同某個障礙物發(fā)生碰撞,并且驅(qū)動輪同地面之間具有很大的摩檫力,那么驅(qū)動電動機(jī)將會處于停轉(zhuǎn)狀態(tài)。因此,如果電動機(jī)具有最大電流,并且電流已經(jīng)持續(xù)了相對比較長的時間,那么表明機(jī)器人已經(jīng)同環(huán)境中的某個物體發(fā)生了碰撞。堵轉(zhuǎn)檢測傳感器只有當(dāng)電動機(jī)在高電流狀態(tài)(高于某個閾值)下持續(xù)了一段時間才能斷定已發(fā)生碰撞的判斷(電機(jī)啟動會產(chǎn)生瞬間電流峰值)。
2.6防靜止行為
虛擬靜止檢測傳感器只要通過軟件實現(xiàn)即可。機(jī)器人在運動時各傳感器的輸出信息都可能在不停地變化,而一旦停止運動,所有傳感器的輸出信息都將保持不變。
2.7 系統(tǒng)結(jié)構(gòu)
機(jī)器人的功能和運行方式?jīng)Q定了機(jī)器人的結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)圖如圖4所示。
2.8 差速驅(qū)動
差速驅(qū)動底盤通過控制2個驅(qū)動輪之間的運動差異來控制機(jī)器人的整體運動。無論多么復(fù)雜的運動都可以分解為平移運動和原地旋轉(zhuǎn)運動。圖5為差速驅(qū)動模型,描述了2個驅(qū)動輪的速度同機(jī)器人曲率半徑之間的關(guān)系,曲率半徑為rL=VLW/(VR一VL)。當(dāng)兩個驅(qū)動輪的旋轉(zhuǎn)速度完全相同時.半徑rL的值將趨于無窮大,此時機(jī)器入沿直線行駛的過程可以理解為機(jī)器人沿某個半徑為無窮大的圓的旋轉(zhuǎn)過程;當(dāng)左輪速度為O時,rL等于0,機(jī)器人將會圍繞左輪進(jìn)行原地旋轉(zhuǎn)操作,此時vL=v,Vr=wW+v;當(dāng)左右2個輪子的速度相同而符號相反時,機(jī)器人將會圍繞著自己的中心位置進(jìn)行原地旋轉(zhuǎn)(rL=w/2)。差速驅(qū)動機(jī)器人可以圍繞2個驅(qū)動輪軸心連線上的任意一點進(jìn)行旋轉(zhuǎn)操作(包括機(jī)器人本體外的點)。負(fù)半徑表示機(jī)器人沿弧線方向逆時針行駛;正半徑方向表示沿弧線方向順時針行駛。
3仲裁器設(shè)計
在某個時刻僅有一個行為觸發(fā),系統(tǒng)能夠比較平穩(wěn)地運行。但當(dāng)多個行為同時觸發(fā),并且每個行為都需要機(jī)器人執(zhí)行不同的操作時,機(jī)器人就需要利用仲裁機(jī)制來妥善處理這種關(guān)系。這里采用固定優(yōu)先級仲裁,每個行為都被惟一地賦予一個優(yōu)先級值,沖突發(fā)生時,執(zhí)行優(yōu)先級高的行為。行為在發(fā)出控制請求后,需要知道自己是否已經(jīng)得到仲裁器的批準(zhǔn)。仲裁器帶有一定的輸出,每個行為都賦予一個惟一標(biāo)識符(ID:Identifer)。仲裁器輸出仲裁獲勝行為的標(biāo)識符。每個行為通過將自己的標(biāo)識符同仲裁器輸出相比較,能夠確定出自己是否已經(jīng)擁有了對仲裁資源的控制權(quán)。
機(jī)器人在運行時,環(huán)境存在很多不可控因素,機(jī)器人的實際運行方式與所期望的有很大差異,有時傳感器徹底失效,有時在信息檢測過程中經(jīng)常出現(xiàn)漏報和誤報錯誤(漏報是指當(dāng)環(huán)境中存在某種傳感器應(yīng)該能夠檢測到的信息時,傳感器卻檢測不到;誤報則是指傳感器所檢測到的信息在環(huán)境中是不存在或不正確的)。盡管在重要信息損失或者運動控制命令變質(zhì)的情況下,性能會受到一定程度的影響,機(jī)器人程序也應(yīng)該能夠盡其可能地做到最好,而不是完全徹底地癱瘓。在子系統(tǒng)發(fā)生錯誤或者工作失敗的情況下,系統(tǒng)這種能夠降低水準(zhǔn)繼續(xù)工作的能力被稱為優(yōu)雅降級。本文設(shè)計的機(jī)器人具有完善的優(yōu)雅降級功能(見圖6)。在碰撞傳感器失效的情況下,防堵轉(zhuǎn)和防靜止行為將保證機(jī)器人繼續(xù)完成任務(wù)。
4機(jī)器人仿真及分析
對以上提出的基于行為吸塵機(jī)器人設(shè)計方案進(jìn)行仿真,圖7為機(jī)器人在模擬房間中清潔任務(wù)的仿真界面。機(jī)器人采用隨機(jī)覆蓋的模式,不知道自己的具體位置,因此不可避免地會再次訪問已訪問過的某個區(qū)域。隨著機(jī)器人的運行,覆蓋區(qū)域的增長速度呈遞減趨勢,區(qū)域覆蓋率則可以近似表達(dá)為:覆蓋率=(1-e-t/a)其中,f為時間變量;a為一時間常數(shù)。表明了機(jī)器人在不訪問舊區(qū)域的情況下進(jìn)行確定性覆蓋所花費的時間。通過實驗仿真運行情況來看,本文的設(shè)計方案完全可以滿足要求。雖然隨機(jī)覆蓋方法沒有確定性覆蓋的低重復(fù)性,但他卻能避免確定性覆蓋所帶來的價格、復(fù)雜性以及系統(tǒng)脆弱性問題。
5 結(jié) 語
基于行為的機(jī)器人設(shè)計方法不采用價格昂貴的單一類型傳感器去獲取難以達(dá)到的精度和可靠性,而是綜合使用多個可靠性相對來說比較差一些的傳感器系統(tǒng),通過這些系統(tǒng)之間的優(yōu)勢互補使機(jī)器人具有更強的魯棒性。