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