□ 潘智煒 □ 劉 禹,2 □ 陸 奕 □ 周錫隆 □ 陳 超 □ 卞家坤
1.江南大學(xué) 君遠學(xué)院 江蘇無錫 214122 2.江南大學(xué) 機械工程學(xué)院 江蘇無錫 214122
近年來,隨著機械、電子、控制等學(xué)科的交叉融合,機器人技術(shù)得到空前發(fā)展。智能家居概念的提出,使清潔機器人逐漸走向大眾家用。目前,家用清潔機器人存在功能單一、成本較高的問題。對于如何豐富家用清潔機器人的功能,有許多設(shè)計。從掃拖功能一體化角度出發(fā),苗玉剛等[1]設(shè)計了一種集掃地邊刷與拖把于一體的清潔機器人。從拓展清潔機器人運動范圍角度出發(fā),馬士偉[2]設(shè)計了一種以六足機構(gòu)為基礎(chǔ)的清潔機器人 。當(dāng)然,以上設(shè)計仍存在機械結(jié)構(gòu)相對復(fù)雜,編程實現(xiàn)較為困難等問題。
針對傳統(tǒng)家用清潔機器人存在的問題,筆者設(shè)計了一種具有底盤快換功能的多功能家用清潔機器人。這一多功能家用清潔機器人分為吸塵風(fēng)機模塊、擦窗底盤模塊、掃地底盤模塊,采用波珠螺絲中的彈簧、鋼珠進行連接部位的定位及固定,通過底盤快換,實現(xiàn)清潔功能的多樣化[3]。
具有底盤快換功能的多功能家用清潔機器人,其機械系統(tǒng)主要包括三部分:吸塵風(fēng)機模塊、擦窗底盤模塊、掃地底盤模塊,機械系統(tǒng)框架如圖1所示。各模塊均有獨立的控制單元,可以完成相應(yīng)的工作,實現(xiàn)相應(yīng)的功能。吸塵風(fēng)機模塊分別與兩個底盤模塊相連接,設(shè)計的關(guān)鍵在于連接快速、準(zhǔn)確、穩(wěn)定。對此,采用波珠螺絲提供的定位及壓緊力,連接時只需要在底盤模塊的型槽中旋轉(zhuǎn)吸塵風(fēng)機模塊,使波珠螺絲的鋼珠進入吸塵風(fēng)機模塊卡槽。

▲圖1 機械系統(tǒng)框架
機械系統(tǒng)各模塊如圖2所示。吸塵風(fēng)機模塊由風(fēng)機上殼、中層卡槽板、大功率無刷直流電機、風(fēng)扇、風(fēng)機下殼槽孔、脈沖寬度調(diào)制電路調(diào)速板及相關(guān)顯示裝置組成。風(fēng)機下殼槽孔用于安裝過濾網(wǎng)。脈沖寬度調(diào)制電路調(diào)速板有三種工作模式:① 低速模式,吸塵風(fēng)機模塊單獨工作,可以實現(xiàn)擦拭桌面細小紙屑;② 中速模式,吸塵風(fēng)機模塊配合掃地底盤模塊,實現(xiàn)地面清掃;③ 高速模式,吸塵風(fēng)機模塊配合擦窗底盤模塊,實現(xiàn)窗面清潔。

▲圖2 機械系統(tǒng)各模塊
擦窗底盤模塊由外殼、履帶輪、直流電機、防撞輪、主控板、傳感器等組成。底盤上的波珠螺絲用于與吸塵風(fēng)機模塊相連接,在連接準(zhǔn)確的前提下可以實現(xiàn)快速更換底盤。履帶輪由直流電機驅(qū)動,采用蝸輪蝸桿傳動,使履帶輪具有自鎖性。防撞輪軸上裝有壓力傳感器,保證機器人擦窗時安全運行。掃地底盤模塊由外殼、直流電機、驅(qū)動輪、萬向輪、邊刷、主控板、傳感器組成,連接和驅(qū)動方式與擦窗底盤模塊相同。邊刷通過兩個小型直流電機驅(qū)動,輔助縱向彈簧機構(gòu),實現(xiàn)上下浮動清掃。設(shè)置超聲傳感器,用于實現(xiàn)避障,并獲取環(huán)境信息。
吸塵風(fēng)機模塊與擦窗底盤模塊、掃地底盤模塊通過波珠螺絲實現(xiàn)定位及連接。連接時,吸塵風(fēng)機模塊裝入底盤模塊型槽,吸塵風(fēng)機模塊沿底盤模塊型槽旋轉(zhuǎn),進而完成模塊間的定位及連接。
以擦窗底盤模塊為例,模塊連接過程如圖3所示,模塊連接完成如圖4所示。吸塵風(fēng)機模塊裝入擦窗底盤模塊型槽時,波珠螺絲的鋼珠為完全頂出狀態(tài),波珠螺絲內(nèi)部彈簧處于原長位置。在吸塵風(fēng)機模塊在旋轉(zhuǎn)過程中,鋼珠沿吸塵風(fēng)機模塊斜槽滑動,逐漸回縮,彈簧受壓,逐漸縮短,直至鋼珠進入滑軌運動。當(dāng)吸塵風(fēng)機模塊按預(yù)定方向旋轉(zhuǎn)90°后,鋼珠由滑軌槽迅速運動至定位球槽,處于完全頂出狀態(tài),彈簧恢復(fù)原長,模塊連接完成。模塊分離時,按照相反方向旋轉(zhuǎn)吸塵風(fēng)機模塊,鋼珠沿斜槽與滑軌滑出,實現(xiàn)快速分離。選用M16波珠螺絲,最大頂出鋼珠距離為3.5 mm。采用剛度系數(shù)較大的硬彈簧,以便提供較大的壓緊力。

▲圖3 模塊連接過程▲圖4 模塊連接完成
底盤模塊單獨配置控制板,采用STC8A微處理器,不需要外部晶振電路,處理速度約為傳統(tǒng)8051芯片的12倍。控制板包括電源電路、下載電路、指示燈、按鍵電路、無線通信電路、電機驅(qū)動電路、超聲傳感器等組件。
電源電路采用5.5 V直流電源供電,通過LM2940及LM1117穩(wěn)壓芯片輸出電壓。應(yīng)用MC34063芯片搭建升壓電路,得到12 V電壓用于驅(qū)動直流電機。采用CH340G芯片搭建串口電平轉(zhuǎn)換電路。為增強程序?qū)懭氲膶崟r性,設(shè)計433模塊來實現(xiàn)單片機無線通信功能。采用四個IR2104芯片構(gòu)成H橋電機驅(qū)動電路,第一路脈沖寬度調(diào)制信號接入第一個IR2104芯片的邏輯輸入引腳IN,由高側(cè)柵極輸出引腳HO輸出與邏輯輸入引腳IN相同的波形信號,低側(cè)柵極輸出引腳LO輸出與邏輯輸入引腳IN互補的波形信號,第二路脈沖寬度調(diào)制信號與第一路脈沖寬度調(diào)制信號互補,接入第二個IR2104芯片。四路輸出信號接在直流電機兩端,實現(xiàn)直流電機脈沖寬度調(diào)制調(diào)速[4]。
多功能清潔機器人擦窗時的運行環(huán)境相對簡單,任務(wù)區(qū)域成規(guī)則的矩形,環(huán)境范圍內(nèi)無任何障礙物體。對此,擦窗時的路徑規(guī)劃目標(biāo)可定義為實現(xiàn)任務(wù)區(qū)域的全覆蓋清潔,機器人運行過程中應(yīng)保證花費代價最少,盡量降低程序的復(fù)雜度等。較為常用的清掃路徑為回字形清掃路徑和之字形清掃路徑,如圖5所示[5],默認(rèn)起始點為窗戶左下角。

▲圖5 常用清掃路徑
采用回字形清掃路徑,機器人沿窗戶邊緣逐漸向中心內(nèi)螺旋形運行,最終實現(xiàn)任務(wù)區(qū)域的全覆蓋。編程時,先沿窗戶依次行進三段路徑——長L0、寬W0、長L0,然后循環(huán)行進路徑——寬Wi、長Li、寬Wi+1、長Li+1、寬Wi+2、長Li+2、……直至完成任務(wù)。其中,Wi+1=Wi-D、Li+1=Li-D,D為機器人的直徑。
采用之字形清掃路徑,機器人沿窗戶一邊往復(fù)推進運行,最終實現(xiàn)任務(wù)區(qū)域的全覆蓋。編程時,沿窗戶一邊行進,編碼器記錄行進位移X;右轉(zhuǎn)并行進距離D,再次右轉(zhuǎn)后行進位移X;左轉(zhuǎn)并行進距離D,再次左轉(zhuǎn)后行進位移X;如此循環(huán)往復(fù)前進,直至完成任務(wù)。左右轉(zhuǎn)向控制可由一個標(biāo)志變量實現(xiàn)。
比較兩種路徑,回字形清掃路徑需進行Wi、Li的迭代計算,從減小程序計算量方面考慮,筆者選用之字形清掃路徑。擦窗時機器人需沿長邊往復(fù)推進的轉(zhuǎn)彎次數(shù)小于沿短邊往復(fù)推進的轉(zhuǎn)彎次數(shù),從延長使用壽命方面考慮,選用沿長邊的之字形清掃路徑較佳。完整運行方案為,機器人先按回字形清掃路徑行進一周,記錄、比較得出窗戶的長邊與短邊;隨后機器人沿窗戶長邊按之字形清掃路徑在剩余區(qū)域往復(fù)推進,完成擦窗。
機器人掃地時,場地存在較多的障礙物,比較復(fù)雜。筆者設(shè)計了一種基于單元分解的拓?fù)渎窂揭?guī)劃法,在完成100%覆蓋率的同時盡量降低重復(fù)率。
由于現(xiàn)實環(huán)境復(fù)雜,筆者采用柵格法對環(huán)境進行建模[6]。柵格法將機器人掃地時的環(huán)境空間劃分為大小相等的方格,并給這些方格賦予至少兩個不同的值,以表示環(huán)境信息。以0表示自由柵格,以1表示障礙物柵格。建立20×20等邊長柵格工作區(qū)域,以矩陣的形式將環(huán)境信息數(shù)字離散化,現(xiàn)實環(huán)境中的路徑規(guī)劃便簡化為柵格間的路徑規(guī)劃。機器人掃地時通過沿邊學(xué)習(xí),建立環(huán)境的柵格圖[7]。
由于環(huán)境中存在排布無規(guī)律的障礙物,因此使機器人掃地時在柵格圖中完成相應(yīng)路徑規(guī)劃的效率大打折扣。為進一步降低清掃難度,筆者采用單元分解法。單元分解法是基于環(huán)境地形特征的區(qū)域劃分法,機器人掃地時將在劃分好的各個區(qū)域內(nèi)進行全覆蓋清掃,清掃完當(dāng)前區(qū)域后進入下一區(qū)域進行全覆蓋清掃。常用的單元分解法有梯形分解法、牛耕式分解法、摩爾斯分解法[8],筆者將障礙物簡化為矩形,因此三種分解法在并無差別。建立的柵格化地圖如圖6所示,共有16個矩形區(qū)域,坐標(biāo)原點為柵格圖左上角。

▲圖6 柵格化地圖
在獨立矩形區(qū)域內(nèi)無障礙柵格,采用之字形清掃路徑對每個區(qū)域進行清掃。規(guī)定機器人掃地時占據(jù)一個柵格,運動方向為上移、下移、左移、右移。每個區(qū)域內(nèi),起始點為橫縱坐標(biāo)最小的柵格[9],運動軌跡與擦窗時相同,均沿矩形區(qū)域長邊起往復(fù)行進。目標(biāo)點由短邊確定。短邊為奇數(shù)柵格,目標(biāo)點在起始異側(cè)。短邊為偶數(shù)柵格,目標(biāo)點在起始點同側(cè)。在清掃完當(dāng)前區(qū)域后,機器人前往下一區(qū)域。
將每個矩形區(qū)域看作一個節(jié)點,記作Pn。根據(jù)每個區(qū)域的距離關(guān)系,可以構(gòu)建所有節(jié)點拓?fù)渚W(wǎng)絡(luò),機器人掃地時對環(huán)境的全覆蓋路徑規(guī)劃問題可用圖論算法求得。最短路徑由常規(guī)算法確定[10],筆者采用主次兩個代價函數(shù),當(dāng)主代價函數(shù)相同時,比較次代價函數(shù),取代價函數(shù)最小的節(jié)點。記g(n)為已移動實際代價函數(shù),h(n)為曼哈頓距離函數(shù),f(n)為移動綜合代價函數(shù),d(n)為方向代價函數(shù),(xn、yn)為節(jié)點Pn的坐標(biāo),(x0、y0)、(xg、yg)分別為起始點與目標(biāo)點的坐標(biāo)。主、次代價函數(shù)分別為:
f(n)=g(n)+h(n)
(1)
d(n)=
(2)
由代價函數(shù)可得到節(jié)點拓?fù)渚W(wǎng)絡(luò)的鄰接矩陣。清掃路徑規(guī)劃的目標(biāo)為求得一條從區(qū)域1終點柵格出發(fā),遍歷所有區(qū)域后返回區(qū)域1起始柵格的最短路徑,可等效為典型的旅行商問題。筆者采用改良圈算法進行求解,取隨機初始圈,然后不斷修改初始圈,得到具有較小權(quán)的另一個哈密頓圈,直至無法再改進,求出最小值,得到最短路徑。最短路徑長度為114個柵格,具體為P1→P2→P3→P4→P5→P13→P16→P11→P12→P10→P9→P8→P15→P14→P7→P6→P1。最終規(guī)劃得到的機器人掃地時具體清掃路徑如圖7所示,實線為區(qū)域間清掃路徑,虛線為區(qū)域內(nèi)清掃路徑。

▲圖7 具體清掃路徑
筆者針對傳統(tǒng)家用清潔機器人功能單一、效率低下的問題,通過模塊化思想設(shè)計了一種具有底盤快換功能的多功能家用清潔機器人。采用底盤快換的方式實現(xiàn)一機三用,硬件電路采用STC8A微處理器,擦窗時路徑采用沿長邊之字形清掃路徑確定,掃地時在沿邊學(xué)習(xí)的基礎(chǔ)上結(jié)合常規(guī)算法及改良圈算法得到清掃路徑,在兼顧功能多樣化的同時,保證清掃區(qū)域全覆蓋、低重復(fù)。