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