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