一種新型智能清潔機器人測控系統(tǒng)的設計與實現(xiàn)
0 引 言
移動機構(gòu)是清潔機器人的主體,決定了清潔機器人的運動空間,一般采用輪式結(jié)構(gòu)。傳感器系統(tǒng)一般采用超聲波傳感器、紅外光電傳感器、接觸傳感器等構(gòu)成多傳感器系統(tǒng)。隨著近年來控制技術(shù)、傳感技術(shù)以及移動機器人技術(shù)等技術(shù)的迅速發(fā)展,智能清潔機器人控制系統(tǒng)的研究和開發(fā)已具備了堅實的基礎和良好的發(fā)展前景。吸塵系統(tǒng)在原理上與傳統(tǒng)立式吸塵器相同,主要是在結(jié)構(gòu)設計上更多考慮結(jié)構(gòu)尺寸、集成度以及一些輔助機構(gòu)的合理布置和利用,以此來提高能源利用率和工作效率。本文主要研究智能清潔機器人測控系統(tǒng)的設計與實現(xiàn),最終目標是通過軟硬件的合理設計,使智能清潔機器人能夠自動避開障礙物,實現(xiàn)一般家居環(huán)境下的自主清潔工作。
1 測控系統(tǒng)組成及功能
智能清潔機器人測控系統(tǒng)主要包括控制器核心系統(tǒng)、傳感器系統(tǒng)和驅(qū)動系統(tǒng)等。其原理如圖1所示?;谇鍧崣C器人自身體積盡可能小的原則,本設計將控制器核心系統(tǒng)、傳感器系統(tǒng)、行走驅(qū)動及相關(guān)電路集成在一塊電路板上。為防止干擾,通過光電隔離器件將各模塊在電氣上隔離開來。利用超聲波傳感器、紅外反射式傳感器和接觸傳感器組成多傳感器系統(tǒng),檢測信號經(jīng)調(diào)理電路處理后送控制器;采用8位單片機SST89E554RC作為控制器,控制器對傳感器信號加以判斷,根據(jù)判斷結(jié)果,選定相應的控制策略,并控制語音系統(tǒng)發(fā)出相應的報警信號;在相應的控制策略下,通過專用驅(qū)動器驅(qū)動直流電機,帶動驅(qū)動輪,兩輪獨立驅(qū)動,實現(xiàn)避障功能;同時,控制器控制小型雙風機真空吸塵系統(tǒng)對經(jīng)過的地面進行必要的清掃。
圖1 系統(tǒng)原理
該新型智能清潔機器人實驗平臺如圖2所示,該平臺為圓形結(jié)構(gòu),兩輪獨立驅(qū)動,具備完整的吸塵系統(tǒng)和電源系統(tǒng)等功能模塊。最終將在該平臺上對本文所介紹的測控系統(tǒng)的性能進行實驗驗證。
圖2 智能清潔機器人實驗平臺
2 測控系統(tǒng)硬件設計
2.1 CPU控制模塊
CPU采用美國SST公司制造的8位單片機SST89E554RC。器件使用與8051完全相同的指令集,并與標準的8051器件管腳對管腳兼容。片內(nèi)擁有1 kB字節(jié)RAM空間,3個16位定時計數(shù)器,4個8位I/O端口,擁有可編程計數(shù)陣列(PCA),可提供5路256級PWM調(diào)速,可通過全雙工增強型串口實現(xiàn)人機通訊。
依據(jù)SST89E554RC單片機的引腳特性,在實際設計中,各電機驅(qū)動信號由單片機P1口輸出,左右驅(qū)動電機占用P1.1~P1.6共6個端口(其中 P1.3和P1.6作為PWM調(diào)速信號輸出端口使用),吸塵風機和起塵電機分別占用P1.0和P1.7口;紅外反射式傳感器和接觸傳感器檢測信號分別送給 P2口的P2.0~P2.7共8個端口;超聲波接收器信號經(jīng)調(diào)理后送人外部中斷INT1(P3.3口);2個觸摸式選擇屏的觸摸信號經(jīng)處理后分別送給 P3.4口和P3.5口。
2.2 驅(qū)動模塊
直流電機所需的驅(qū)動電壓、驅(qū)動電流均比較大,因此采用雙H橋高電壓大電流驅(qū)動芯片L298N作為電機驅(qū)動芯片。L298N是推挽式功率放大專用集成電路器件,直流驅(qū)動電流總和可達4A,其內(nèi)部具有2個完全相同的PWM功率放大回路,擁有PWM調(diào)速功能。在控制電路中,考慮到單片機會受到驅(qū)動部分的干擾,因此采用了光電藕合器TLP521,把控制部分和驅(qū)動部分在電氣上隔離開來。采用8個1N5822高速大電流肖特基二極管組成續(xù)流保護電路,消除電機在起停、制動及換向時產(chǎn)生的反電勢。系統(tǒng)工作時,單片機P1口輸出的控制信號經(jīng)過驅(qū)動器芯片74HC245和光電擁合器之后輸入電機驅(qū)動芯片L298N,控制電機動作。當需要調(diào)速時,只需改變PWM波(本設計中由單片機P1.3和P1.6端口產(chǎn)生)的占空比即可,理論上可以實現(xiàn)256級調(diào)速。
2.3 障礙物檢測模塊
2.3.1 超聲波檢瀏部分
超聲波是一種一定頻率范圍的聲波,頻率為40kHz的超聲波信號在空氣中的傳播效率最佳。本文選用中心頻率40kHz,測距范圍在5m以內(nèi)的普通超聲波傳感器。傳感器發(fā)射探頭和接收探頭安裝在機器人正前方,系統(tǒng)工作時,通過匯編程序由P3.7口產(chǎn)生精確的40kHz發(fā)射脈沖,每隔25ms發(fā)射一組脈沖,每組的脈沖個數(shù)取6~10個,以保證發(fā)射波具備良好的傳播性和反射性。發(fā)射波遇到障礙物反射回來,被接收器接收,轉(zhuǎn)變成電信號脈沖,對該信號進行放大、濾波、比較和整形等處理后送入單片機外部中斷口INT1,觸發(fā)單片機外部中斷,進入中斷處理程序,獲取從發(fā)射波發(fā)出到收到反射波時的時間間隔即測距時間,由此即可根據(jù)超聲波測距原理計算出障礙物的距離。主程序中設定機器人行走過程中距離障礙物的最小距離,當被測距離小于最小距離時,控制器向驅(qū)動系統(tǒng)發(fā)出避障指令,避開障礙物。本設計中利用軟件延時去除串擾帶來的誤操作,即在發(fā)射波發(fā)出一段時間后,再打開外部中斷,避免發(fā)射波不經(jīng)反射就直接被接收器接收而引起假中斷。
2.3.2 紅外反射式傳感器檢測模塊
該模塊用于主動探測機器人周邊障礙物和地面落差。選用JY043W型紅外反射式傳感器,該型傳感器調(diào)理電路簡單,安裝調(diào)試方便,每一路的檢測距離可以達到 7cm,滿足本文設計的需要。該部分由6路檢測單元組成,其中在機器人左前方和右前方各安裝2路,配合超聲波傳感器實現(xiàn)周邊障礙物的檢測。另2路分別安裝在機器人前端左下方和右下方,探頭距離地面4cm,用于檢測地面是否有臺階等落差,防止機器人跌落。紅外反射式傳感器具體工作過程為,發(fā)現(xiàn)障礙物時,發(fā)射管發(fā)出紅外信號遇到障礙物反射回來,接收管接收到反射信號后導通,則信號處理電路的輸出端變?yōu)榈碗娖?,該低電平直接送入控制器P2的一個端口,當控制器檢測到這個端口的低電平變化時則表明該方位發(fā)現(xiàn)障礙物。
2.3.3 接觸傳感器檢剛模塊
接觸傳感器具有檢測范圍大、信號無需調(diào)理、占用控制器資源少等一系列優(yōu)點。本文選擇小型接觸開關(guān)作為接觸傳感器,安裝在機器人前端的緩沖器上,作用在于通過輕微的碰撞接觸,檢測那些未能被超聲波傳感器和紅外反射式傳感器檢測到桿狀或微小障礙物,如座椅腿等。
3 測控系統(tǒng)軟件設計
3.1 傳感器信息處理
當各路傳感器檢測到障礙物時,控制器必須獲得障礙物的準確信息后,才能發(fā)出正確的避障指令。為了獲得有效信息,程序代碼中為每一路檢測信息都設定一個標志位,主程序不斷檢測各個標志位的值的有效性,以此作為障礙物方位信息。對于不同的傳感器,其信息判斷標志位有效值也可能不同。在本文所提到的3種傳感器中,超聲波傳感器的信號處理程序最為復雜,其流程如圖3所示。
圖3 超聲波傳感器信號處理程序流程
3.2 驅(qū)動控制
驅(qū)動控制模塊是智能清潔機器人自主行為的執(zhí)行機構(gòu)。根據(jù)傳感器信息判斷當前環(huán)境狀態(tài),對不同的障礙物信息,控制器將調(diào)用不同的避障策略,策略與驅(qū)動控制的動作組合指令相對應,通過左右驅(qū)動電機動作的有效協(xié)作,實現(xiàn)機器人前進、后退、轉(zhuǎn)彎等自主動作。單部電機的控制信號與電機動作之間的關(guān)系如表1所示,其中 P1.1和P1.2為電機方向控制信號端口,P1.3為PWM波調(diào)速端口,需要減速時只需要降低PWM波的占空比即可,理論上可以實現(xiàn)256級調(diào)速。
表1 控制信號與電機動作關(guān)系
3.3 避障算法描述
根據(jù)模糊控制思想并結(jié)合實際行走試驗設計避障算法。以傳感器系統(tǒng)9路傳感器的檢測距離和障礙物所在的方位為模糊控制輸入量,以驅(qū)動輪的前進、旋轉(zhuǎn)和后退動作為模糊控制輸出量。超聲波傳感器檢測最小距離設定為15cm,距離遠;紅外傳感器檢測距離為7cm,距離適中;接觸傳感器是在發(fā)生碰撞后才能檢測到障礙物,因此檢測距離最近。據(jù)此設距離信號(記作:D)的模糊語言集合為:
D={近,中,遠}
設定其相應的語言變量,記作:
ND=近,MD=中,LD=遠
以各路傳感器在機器人上的安裝位置作為障礙物所在方位(記作:A)。超聲波傳感器安裝在正前方,在其左右兩邊依次是接觸傳感器、下方紅外傳感器和周邊紅外傳感器。則設方位信號的模糊語言集合為:
A={最左,較左,左,左下,中,右下,右,較右,最右}
設定其相應的語言變量,記作:
BL=最左,ML=較左,L=左,LD=左下,M=中,R=右,RD=右下,MR=較右,BR=最右
設機器人驅(qū)動輪的動作集合為:
{右轉(zhuǎn),稍微右轉(zhuǎn),后退,減速,前進,稍微左轉(zhuǎn),左轉(zhuǎn)}
設定其相應的語言變量,記作:
TR=右轉(zhuǎn),TRL=稍微右轉(zhuǎn),GB=后退,SD=減速,GA=前進,TLL=稍微左轉(zhuǎn),TL=左轉(zhuǎn)
對于清潔機器人來說,在避障的同時,還要能夠?qū)η鍧崊^(qū)域進行遍歷。在保證避障和遍歷的前提下,為了減少控制器的計算量并避免程序復雜化,本文采用逐一查詢方式獲得模糊控制量之一障礙物方位,根據(jù)障礙物方位即可獲得另一輸入量即機器人與障礙物間的距離。容易理解,采用逐一查詢方法意味著控制器獲得的障礙物信息來自于最先被傳感器系統(tǒng)檢測到的障礙物,而且控制器將根據(jù)最先獲得的障礙物信息來調(diào)用相應的避障策略。因此,當有2個或2個以上方位有障礙物時,執(zhí)行避障策略時機器人有可能與障礙物發(fā)生碰撞。試驗發(fā)現(xiàn),只有當左邊的最左、較左方位和右邊的最右、較右方位都有一個或2個發(fā)現(xiàn)障礙物時,才有可能導致機器人與障礙物發(fā)生碰撞。為了避免這種情況發(fā)生,將機器人左右兩邊都發(fā)現(xiàn)障礙物的情況也作為一個障礙物方位變量,不論機器人左右2邊是同時發(fā)現(xiàn)一個還是2個障礙物,都僅設其模糊語言為左右,設定相應的語言變量為LR。根據(jù)有利于避碰的原則,將障礙物方位信息的查詢順序確定為:
LD,RD,LR,M,BL,BR,ML,MR,L,R(左下,右下,左右,中,最左,最右,較左,較右,左,右)
從機器人有效避障并保證盡量少的重復先前行走軌跡的角度出發(fā),當確定了障礙物的方位和機器人離障礙物的距離后,我們希望模糊控制的輸出量不僅僅是機器人動作集合中某一種動作,而是集合里某幾種動作的合理組合。因此,針對不同方位的障礙物信息,對機器人左右驅(qū)動輪動作集合的7種動作 (TR,TRL,GB,SD,GA,TLL,TL)進行合理組合,即得到相應的合成輸出量,記作Fi(i=1,2,3…)。根據(jù)前述方法,最終可歸納出 10種控制規(guī)則,即避障策略,如表2所示。
表2 控制規(guī)則表
按照障礙物方位信息的查詢順序,其形式是:
if(Ai and D)then Fi
i=1,2,3…10
按照此種方法,在不影響機器人有效避障和相關(guān)功能的情況下,有效避障的控制規(guī)則大大減少,使避障算法簡單化。
4 實驗結(jié)果
在智能清潔機器人實驗平臺上對整個測控系統(tǒng)進行測試。實驗在一間約10m2的房間中進行,在房間中隨機擺放幾件日常物品作為障礙物,將通過智能清潔機器人的行走實驗,對本文所述的智能清潔機器人測控系統(tǒng)的軟硬件性能進行驗證。實驗中,智能清潔機器人始終保持直線行走,遇到障礙物時,根據(jù)障礙物信息選擇合適的避障策略避開障礙物,然后繼續(xù)保持直線行走,直到遇到下一個障礙物。實驗結(jié)果表明,該測控系統(tǒng)工作可靠,避障算法有效可行,智能清潔機器人能夠自動回避障礙物,可以在無人情況下自主工作,能夠?qū)崿F(xiàn)家居環(huán)境下的智能化清掃。
5 結(jié)束語
在智能清潔機器人測控系統(tǒng)的進一步研究中,設計信息量更加豐富的檢測系統(tǒng),探討非結(jié)構(gòu)化環(huán)境下機器人的導航和自主定位技術(shù),尋找更加有效的路徑規(guī)劃和避障算法,將是研究的方向和重點。