蘆 婧,裴永興
(1.太原工業(yè)學(xué)院,山西 太原 030008;2.山西省和順縣氣象局,山西 晉中 030600)
近年來,隨著科學(xué)技術(shù)的進步和社會的發(fā)展,特別是受生活節(jié)奏加快和工作壓力增大的影響,人們希望從繁瑣的日常清潔事務(wù)中解脫出來,于是服務(wù)型智能清潔機器人[1,2]進入人們的日常生活。但是市面上的清潔機器人存在避障不合理、自主定位不明確、路徑規(guī)劃不智能等[3]問題。本設(shè)計以地面清潔為主要任務(wù),設(shè)計了一套以STC89C52為核心的可對家庭地面進行多功能清潔的智能小車,該小車可實現(xiàn)避障、掃地和拖地的功能。
小車整體機械結(jié)構(gòu)及傳感器分布如圖1所示。小車機械結(jié)構(gòu)分為車模底板、掃地模塊、拖地模塊。掃地模塊和拖地模塊由木板作為底板,以3D打印件作為支撐,與積灰盒、水箱連接而成。掃地模塊由雙向聚攏的雙邊刷、積灰盒組成。拖地模塊由蠕動泵、抹布、水箱、獨立電源組成。小車行進由兩個固定的電機驅(qū)動和一個萬向輪實現(xiàn)。
圖1 智能清潔小車整體機械結(jié)構(gòu)及傳感器分布圖
為充分考慮清潔小車尺寸與障礙物的檢測范圍,在小車中間安放三個超聲波測距模塊,兩側(cè)為兩個紅外模塊,超聲波模塊主要測量前方的障礙物距離,紅外模塊主要避免兩側(cè)發(fā)生碰撞。本設(shè)計還增加滾動刷,將聚集的灰塵能夠帶進積灰盒中,保證清掃的干凈度。
以下是本設(shè)計實現(xiàn)的主要功能:
1) 避障。通過在小車周圍安放不同種類的多個傳感器,判斷周圍復(fù)雜環(huán)境,準(zhǔn)確避開障礙物,并能按照一定路線行駛。
2) 掃地。通過控制雙向聚攏的雙邊刷,將地面的顆粒碎屑收集在盒子中。
3) 拖地。抹布和底板中間接有軟管,目的是潤濕抹布,且保證出水均勻。
4) 工作模式切換。通過按鍵控制蠕動泵的出水量,實現(xiàn)干拖、濕拖功能的切換,以適應(yīng)不同地面材質(zhì)的要求。
本設(shè)計系統(tǒng)的硬件電路框圖如圖2所示,系統(tǒng)硬件電路由單片機最小系統(tǒng)電路、電源電路、按鍵電路、傳感器電路以及電機驅(qū)動電路等組成。
圖2 系統(tǒng)硬件電路框圖
其中單片機最小系統(tǒng)包括STC89C52主控芯片、晶振電路、復(fù)位電路、IO接口。另外,本設(shè)計電路的電壓等級有12V、6V、5V、3.3V,方便多種外接傳感器的需要,滿足系統(tǒng)的功能要求。
下面詳細(xì)介紹其傳感器電路及電機驅(qū)動電路。
傳感器電路包括超聲波測距模塊和紅外模塊,其中超聲波模塊負(fù)責(zé)遠(yuǎn)距離測距,紅外模塊負(fù)責(zé)近距離判斷。
本設(shè)計采用的超聲波測距模塊型號為HC-SR04。采用該模塊的第二個引腳來觸發(fā)測距,當(dāng)有信號返回時,會通過該模塊的第三個引腳輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間,其中最后輸出的高電平信號所占周期信號的百分比與傳播的距離成比例。
本設(shè)計采用的紅外測距模塊型號為GP2Y0E03。該模塊適合近距離探測障礙物,由發(fā)射管發(fā)射信號遇到障礙物后,反射回來被接收管處理,經(jīng)過比較器電路處理后,輸出端IO口輸出一個低電平信號。該模塊使用方便、工作穩(wěn)定、成本較低,不宜測量遠(yuǎn)距離的物體,因此本設(shè)計中將該模塊用作障礙物大致方位判斷,避免小車與障礙物發(fā)生碰撞。
驅(qū)動模塊采用L298N驅(qū)動芯片,該模塊用于改變電機轉(zhuǎn)速實現(xiàn)差速轉(zhuǎn)向。L298N具有ENA、ENB兩個使能控制端,編程中通常使能這兩個端口,與單片機的相應(yīng)IO口相連,可驅(qū)動控制所連電機的轉(zhuǎn)速。此外,該模塊還用于調(diào)節(jié)與電機相連的雙向聚攏雙邊刷的轉(zhuǎn)速,若雙邊刷轉(zhuǎn)速過快,導(dǎo)致地面的顆粒碎屑被打飛,不能回收進積灰盒中;若雙邊刷轉(zhuǎn)速過慢,導(dǎo)致不能很好地聚攏顆粒碎屑,完成地面的清掃工作。
系統(tǒng)總體程序流程如圖3所示,單片機先完成IO口配置初始化,其次完成定時器和中斷的初始化后才進入主函數(shù),再通過程序中函數(shù)的調(diào)用執(zhí)行完主程序。主函數(shù)的執(zhí)行包括傳感器測試函數(shù)、障礙物處理函數(shù)、電機和蠕動泵的控制函數(shù)。
圖3 系統(tǒng)整體程序流程
本設(shè)計采用的電機調(diào)速方式為兩輪電機驅(qū)動差速轉(zhuǎn)向[4]。差速調(diào)節(jié)依據(jù)的模型是阿克曼原理[5],即小車在行駛過程中,保證小車的輪胎與地面之間純滾動沒有滑移的現(xiàn)象(如圖4所示)。
圖4 阿克曼數(shù)學(xué)模型
左右電機速度的表達公式為:
(1)
式中L為車長,α為夾角;
(2)
式中:v為勻速運行時速度,b為調(diào)差系數(shù)。
調(diào)節(jié)b可以改變差速的大小,差速增大可以減小轉(zhuǎn)彎時路程,但是差速不易過大,容易造成甩尾。
路跡規(guī)劃模型的建立首先需要對房間進行沿邊掃描,沿邊順時針掃描獲得房間的大致輪廓信息,判斷出物體的位置,然后根據(jù)信息建立柵格地圖,確定柵格大小,根據(jù)算法進行具體的路跡規(guī)劃。
本設(shè)計采用的路跡規(guī)劃方法為隨機覆蓋法[6],即按照簡單的邏輯以多邊形軌跡行走,遇到障礙物執(zhí)行避障函數(shù)。該算法簡單,投入成本低,可以實現(xiàn)簡單的清掃任務(wù)。
采用螺絲或膠槍完成清潔小車機械部分的組裝與固定,在此結(jié)構(gòu)框架基礎(chǔ)上,焊接并安裝硬件電路模塊,系統(tǒng)實物圖如圖5所示。
圖5 系統(tǒng)實物圖
本設(shè)計采用的調(diào)試工具是山外多功能調(diào)試助手,上位機與單片機的數(shù)據(jù)傳輸主要通過EU-CH340G串口調(diào)試模塊。根據(jù)超聲波模塊安裝位置,采集超聲波的距離數(shù)值,并將數(shù)據(jù)發(fā)送到電腦上位機,設(shè)定距離預(yù)設(shè)值。紅外模塊需要根據(jù)實際障礙物的遠(yuǎn)近,用螺絲刀調(diào)節(jié)旋鈕,完成設(shè)置。經(jīng)測試,本設(shè)計硬件與軟件均達到了預(yù)期的效果。
本設(shè)計開發(fā)了一個可對家庭地面進行多功能清掃任務(wù)的智能小車。該系統(tǒng)以STC89C52為控制器,選用超聲波測距模塊和紅外模塊為主要器件,通過差速調(diào)節(jié)實現(xiàn)電機調(diào)速,進而控制小車的行進方向。并通過算法調(diào)節(jié)雙邊刷和主動刷轉(zhuǎn)速,實現(xiàn)聚攏碎屑顆粒和收集進入積灰盒中。另外利用按鍵控制水泵的出水量,以滿足不同地面的清掃需求。本設(shè)計可實現(xiàn)避障、掃地和拖地為一體的多功能清掃任務(wù),有利于解放家庭勞動力,提高工作效率。