陳朝大,呂志勝
(1.廣東技術師范學院天河學院,廣東廣州510540;2.廣州航海學院,廣東廣州510725)
智能清潔機器人又稱掃地機器人、自動打掃機、機器人吸塵器等,是智能家用電器的一種,能憑借一定的人工智能,自動在房間內完成地板清理工作,將地面雜物吸納進入自身的垃圾收納盒,從而完成地面清理的功能。
智能清潔機器人的機身為無線機器,以圓盤型為主,使用充電電池運作,以遙控器或是機器上的操作面板進行操作。智能清潔機器人前端有設置感應器,可偵測障礙物,如碰到墻壁或其他障礙物,可控制萬向輪進行轉彎,有規(guī)劃清掃地區(qū)。
智能清潔機器人通過紅外光電開關進行避障,利用被檢測物體對紅外光束的遮光或反射,由同步回路選通而檢測物體的有無,對所有能反射光線的物體均能檢測。當有光線反射回來時,輸出低電平。當沒有光線反射回來時,輸出高電平。如果檢測到的物體不能將投光器發(fā)出的光束反射回來,那么就會造成檢測錯誤。智能清潔機器人使用絕對定位模式,需要電子羅盤、GPS、路標導航、地圖模型匹配等定位方式,算法復雜,成本高[1]。
基于此,有必要針對上述問題,設計一種可提高避障檢測準確性的智能清潔機器人控制系統(tǒng)及智能清潔機器人。
智能清潔機器人由控制器、自動避障模塊、驅動模塊、清潔模塊和語音模塊組成,結構原理框圖如圖1所示。
圖1 智能清潔機器人原理框圖
智能清潔機機器人包括機體、萬向輪、驅動輪、毛刷、吸塵器以及智能清潔機控制系統(tǒng),萬向輪、驅動輪、毛刷、吸塵器及智能清潔機控制系統(tǒng)固定設置于機體,智能清潔機控制系統(tǒng)的驅動裝置與萬向輪、驅動輪、毛刷和吸塵器電連接。
智能清潔機器人控制系統(tǒng),包括超聲波傳感裝置、舵機、控制裝置和驅動裝置,超聲波傳感裝置與舵機固定連接,控制裝置與超聲波傳感裝置、舵機和驅動裝置電連接,驅動裝置用于驅動智能清潔機的萬向輪轉向;超聲波傳感裝置包括檢測控制器、電平轉換器、超聲波發(fā)送器、超聲波接收器和放大電路,檢測控制器連接控制裝置,并通過電平轉換器與超聲波發(fā)送器連接,及通過放大電路與超聲波接收器連接。
利用超聲波感應進行避障,發(fā)送超聲波遇到障礙物反射回來被接收并進行判斷,可及時準確地檢測到存在的障礙物,提高了智能清潔機的避障檢測準確性[2]。
區(qū)別于以往的自動避障系統(tǒng),硬件設計上的最突出特點在于使用了超聲波與舵機結合的結構,能更有效地實現對室內未知環(huán)境的探測。
超聲波是一種頻率高于20 kHz的聲波,它方向性好、穿透能力強,易于獲得較集中的聲能,在水中傳播距離遠,可用于測距、測速、清洗、焊接、碎石等。超聲技術是通過超聲波的產生、傳播以及接收的物理過程完成的。超聲波測距即利用檢測超聲獲取信息,模塊利用電壓和超聲波之間的互相轉換,當超聲波傳感器向外發(fā)射超聲波時,傳感器將電壓轉換為超聲波由超聲波發(fā)射端頭將其射出去,當超聲波反射回來時由超聲波接收端頭接收,傳感器將聲波信號轉化為電信號回送到輸出口。
舵機又稱伺服電機,是一種具有閉環(huán)控制系統(tǒng)的電機結構,是一種位置伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。舵機的轉動角度是由脈沖寬度調制信號的占空比來控制的 (脈沖寬度調制信號即PWM信號)??刂贫鏅C轉動脈沖信號,信號周期為20 ms,脈沖寬度在0.5~2.5 ms之間,舵機轉角在0~180°之間,輸入的PWM信號脈沖寬度0.5~2.5 ms之間分別對應了該舵機的0~180°。
利用超聲波對障礙物進行判斷,相較于紅外的高聚性,超生波可對其前方不大于60°的區(qū)域進行判斷,且超聲波可較精確判斷障礙物的距離,也可根據需要對障礙物距離靈活設定輸出。但超生波的判斷范圍依然無法滿足智能清潔機器人對障礙物判斷的需要,所以文中設計將超生波模塊與舵機結合在一起,利用舵機旋轉角度的精確可控制性,使超生波模塊在舵機的帶動下對多個角度分別進行判斷。只利用一路超聲波傳感器就能對多個方位的障礙物信息進行探測,既節(jié)省了硬件資源,又避免了采用多路探測器時帶來的信號干擾。自動避障系統(tǒng)如圖2所示。
圖2 自動避障系統(tǒng)
將超聲波測距模塊安裝在舵機上,通過控制器控制舵機定向轉動到所需角度,再通過控制器控制超聲波測距模塊進行障礙物掃描,根據需要舵機分別旋轉多個角度,超聲波進行多次判斷,向控制器返回探測信號,控制器接收信號根據程序設定對信號進行判斷,輸出判斷結果。
路徑規(guī)劃是指機器人能夠根據傳感器所提供的環(huán)境信息,規(guī)劃出一條由初始點到目標點的無碰撞路徑。清潔機器人的路徑規(guī)劃與一般機器人的路徑規(guī)劃不同,根據任務要求,清潔機器人需要以最小的重復率遍歷環(huán)境中的所有非障礙物區(qū)域,即全區(qū)域覆蓋路徑規(guī)劃。
清潔機器人在室內移動過程中,實際上是在沿墻模式、折線式、多邊形式、繞柱模式、自由模式和螺旋式等幾種行走模式中隨機切換,并通過大量路徑的累積效應達到遍歷清潔整個室內地面的目的。
文獻[3]采用來回直線式 (矩形波)行走,利用線面表示地圖,該算法必須有一個明確的起點,而且條寬一般要采取機器人本身的寬度,但是室內空間的物體形狀不一定都是矩形的,并且大小不一,這樣給機器人矩形波路線規(guī)劃造成很大的誤差。
文獻[4]采用隨機行走加圓形外螺旋的算法,需要建立柵格地圖,轉角更多,算法比較復雜。因為清潔機器人旋轉半徑r的設置是逐漸增大的,所以室內空間的邊角位置存在很大的死區(qū),清潔面積難以做到全面覆蓋。
針對以上問題,文中采用了多路徑融合的控制算法,清潔路徑規(guī)劃算法如圖3所示。
圖3 清潔路徑規(guī)劃算法
清潔機器人在行走地過程中,首先,采用沿邊貼墻清掃模式,確保每一個角落都能掃到,不留死角,能夠較好地感知室內空間的大小,從而推斷出總體清掃時間。然后,采用矩形軌道清掃模式,因為室內空間的物體大部分為矩形或者由矩形構成的多邊形,來回直線清掃模式能有效地對室內空間進行清掃,算法簡單。最后,采用螺旋軌道清掃模式,采用兩輪差速的方法實現清潔機器人外螺旋式旋轉,整個過程中左輪旋轉速度始終不變。左輪正轉,轉速n保持不變,右輪也正轉,轉速由0不斷增加。清潔機器人每行走半圈,右輪轉速相應增加,機器人的旋轉半徑也就相應增加,以此達到全覆蓋的目的。
沿邊貼墻清掃模式能夠推斷時間,得出定時時間后,啟動定時器,并對室內空間繼續(xù)進行清掃。如果定時時間未到,按沿邊→矩形→螺旋清潔路徑循環(huán)清掃,如果定時時間到,認為室內空間已經清掃干凈,清潔機器人停止工作。
文獻[4]采用一對普通的紅外線發(fā)射管和接收管組成紅外避障電路,但是忽略了紅外傳感器對使用環(huán)境有相當高的要求。當遇上淺色或深色的家居物品,它無法反射回來,會造成機器與家居物品發(fā)生碰撞。時間一久,家居物品的底部會被它撞得斑斑點點。
文獻[5]采用超聲測距系統(tǒng),超聲波傳感器分別放于清潔機器人的前端和左右兩端,用于這3個方向的避障。三路超聲波測距必須要嚴格做好時序先后,否則發(fā)射信號對回波信號造成影響,而且掃描覆蓋范圍也要盡量避免重疊,硬件設計和軟件編程都帶來麻煩。
針對以上問題,文中采用了超聲波與舵機結合的避障結構,如圖2所示。清潔機器人只在車體正前方安裝一個超聲波傳感器,利用伺服電機實現多角度測量,現對正前、左方、右方3個方向進行測量。對正前方測距,若探測到前方無障外物,機器人繼續(xù)前進,并進行打掃;若探測到前方有障外物,則啟動避障算法。避障算法如下:
設y代表當前清潔機器人的狀態(tài),a為超聲波對左方測量的結果,a=1代表左方有障外物,a=0代表左方無障外物;b為超聲波對右方測量的結果,b =1代表右方有障外物,b=0代表右方無障外物。機器人遇障后執(zhí)行的避障算法如公式 (1)所示。
由公式 (1)得,只要a=0,即左方無障外物時,無論右方是否有障外物,清潔機器人將執(zhí)行狀態(tài)S1,即沿左越過障外模式。當a=1且b=0時,清潔機器人將執(zhí)行狀態(tài)S2,即沿右越過障外模式。當a= b=1時,清潔機器人將執(zhí)行狀態(tài)S3,即后退模式。
自動避障控制系統(tǒng)的軟件流程如圖4所示。
圖4 自動避障控制系統(tǒng)的軟件流程
因為超聲波可以對正前方不大于60°的區(qū)域進行判斷,當清潔機器人探測到正前方距離2 cm有障外物時候,實施以下算法:
控制伺服電機轉動,使超聲波傳感器左轉60°,探測正前方是否有障外物,如果沒有,清潔機器人控制萬向輪左轉60°,沿左越障繼續(xù)前進。
如果有障外物,控制伺服電機轉動,使超聲波傳感器右轉120°進行測量,探測正前方是否有障外物,如果沒有,清潔機器人控制萬向輪右轉120°,沿右越障繼續(xù)前進。
如果左右均有障外物,則認為清潔機器人進入死區(qū),啟動后退模式。
若距離小于預設值,則控制器輸出轉向信號至驅動裝置,使驅動裝置控制萬向輪轉向。本實施例中預設值為2 cm,若障礙物與智能清潔機器人的距離小于2 cm,控制器輸出轉向信號至驅動裝置,使驅動裝置控制萬向輪左轉60°,然后控制智能清潔機器人繼續(xù)前進。預設值的具體數值、萬向輪的轉彎方向及轉向角度并不是唯一的,可根據實際情況進行調整。控制器還控制語音提示器輸出智能清潔機器人的工作狀態(tài)信息。
超聲波傳感器是用來測量環(huán)境中的障礙物的距離,超聲波測距模塊選用HC-SR04超聲波測距模塊,測距范圍為2~400 cm,共有4個管腳。超聲波實際測試數據如表1所示。
表1 超聲波實際測試數據
從表1中可以看出,在所需要的超聲波傳感器的80 cm范圍內,最大的誤差為1.05 cm,能夠滿足設計要求。
產生誤差的原因主要包括兩個方面:(1)利用超聲波測距與溫度有關,當溫度發(fā)生變化時傳播速度會發(fā)生變化,因此會出現一定的誤差,可采取溫度補償算法彌補。(2)在計算傳感器與障礙物之間的距離時,假定超聲波遇到障礙物垂直反射回來,實際上超聲波遇到障礙物反射回來是有一定角度的,因此測得的值會出現一定的誤差。
全區(qū)域覆蓋算法主要分為兩類:隨機式覆蓋算法和規(guī)劃式覆蓋算法。全區(qū)域覆蓋算法一般都依據某種性能評價函數來控制機器人的運動,使性能評價函數達到最優(yōu)化的標準,例如清掃時間、覆蓋率、重復率、效率等,通過這些參數來評價清掃效果是否達到最優(yōu)。由于機器人本身存在定位誤差,為了保證全區(qū)域覆蓋的覆蓋率高,相鄰的兩個區(qū)域之間必定會有一定程度的重復。重復率越低,覆蓋率越高,清掃機器人的清掃效果越好。文中將從清掃時間、清掃覆蓋率、清掃重復率這三方面來評價算法的優(yōu)劣[6]。表2為清掃評價參數實驗表。
表2 清掃評價參數實驗表
從表2中可以看出,隨著清掃面積的增大,清掃時間增長,清掃覆蓋率略有下降,清掃重復率略有上升。清潔機器人在室內基本能夠實現全區(qū)域覆蓋,在遇到障礙物的情況下能夠躲避障礙物,并且能夠覆蓋障礙物后方的區(qū)域。
文中創(chuàng)新性設計的伺服電機配合超聲波的傳感檢測結構,既能克服紅外光電精度不足,又能克服多超聲波編程繁瑣的缺點。采用多路徑規(guī)劃的隨機算法,能克服絕對定位算法復雜的缺點。所設計的清潔機器人,不需要定位,不需要昂貴傳感器,只需要超聲波傳感器,成本低,運算速度快,在室內家居一般清潔的前提下,覆蓋率基本可以達到95%,達到預期的設計要求。
[1]趙秀芬,閆曉金,齊建玲.基于DSP的直流電機運動控制系統(tǒng)設計與仿真[J].機床與液壓,2010,38(14):106 -108.
[2]杭啟樂,司賓強,朱紀洪,等.基于DSP和CPLD的四相容錯電機控制系統(tǒng)硬件設計[J].計算機測量與控制,2012,20(9):2413-2415.
[3]張琪,羅福源,肖灑,等.基于超聲雷達的室內清潔機器人自主行走控制方法研究[J].機械與電子,2013(10): 51-55.
[4]單正婭,黃大榮.基于圓形外螺旋算法的清掃機器人研發(fā)[J].制造業(yè)自動化,2012(7):106-109.
[5]姚興田,馬永林,張磊,等.升降伸縮式樓道清潔機器人結構及控制系統(tǒng)設計[J].機械設計與制造,2014(4): 262-264.
[6]呂常智,姚志科.基于無線通信的移動機器人遠程控制系統(tǒng)[J].煤礦機械,2012,33(3):239-241.