涂福濤 劉首利 曹小兵 周廣宏
(無錫職業(yè)技術(shù)學(xué)院控制技術(shù)學(xué)院,江蘇 無錫 214121)
近年來,隨著人工智能技術(shù)的飛速發(fā)展,智能服務(wù)型機(jī)器人越來越多地出現(xiàn)在人們的生活中,大大提高了人們的生活質(zhì)量[1],其中樓梯清潔機(jī)器人便是當(dāng)前清潔型機(jī)器人領(lǐng)域研究的熱點(diǎn)之一。王會(huì)等[2]提出了一種利用驅(qū)動(dòng)軸的轉(zhuǎn)動(dòng)進(jìn)而使撐桿撐起機(jī)器人,實(shí)現(xiàn)機(jī)器人上下樓梯的攀爬功能,其驅(qū)動(dòng)軸末端的撐桿與樓梯的接觸面較小,容易造成打滑的現(xiàn)象,穩(wěn)定性較差。樊紅衛(wèi)等[3]提出的一種箱體式樓梯清潔機(jī)器人,其樓梯清潔機(jī)構(gòu)雖有效提高了機(jī)器人對不同樓梯高度的適應(yīng)性,但存在清潔機(jī)構(gòu)功能單一,未設(shè)有存儲(chǔ)垃圾的盒子,清潔效果不佳的問題。為此,本文設(shè)計(jì)了一種模塊化設(shè)計(jì)方案,并對各功能模塊進(jìn)行組合優(yōu)化設(shè)計(jì),具體包括三個(gè)機(jī)構(gòu)模塊:清掃模塊、驅(qū)動(dòng)模塊和潔地模塊。清掃模塊主要負(fù)責(zé)對樓梯臺(tái)面垃圾的清掃與收集,驅(qū)動(dòng)模塊主要實(shí)現(xiàn)機(jī)器人的移動(dòng)與攀爬樓梯功能,潔地模塊主要實(shí)現(xiàn)對樓梯臺(tái)面的清潔功能。本樓梯清潔機(jī)器人采用了Arduino 平臺(tái)的ATmega328 控制芯片,該系統(tǒng)便捷靈活,方便上手,滿足樓梯清潔的各功能需求。結(jié)合各傳感器模塊對環(huán)境信息的檢測,能夠有效解決當(dāng)前清潔型機(jī)器人難以適用于樓梯清潔的問題,并降低了人力資源成本。
本文設(shè)計(jì)的樓梯清潔機(jī)器人主要由清掃模塊、驅(qū)動(dòng)模塊和潔地模塊三大功能模塊組成。主要包括:掃刷、直流電機(jī)、Arduino 控制板、步進(jìn)電機(jī)控制板、麥克納姆輪、電源、絲桿、超聲波傳感器、觸須傳感器、灰度傳感器、步進(jìn)電機(jī)、舵機(jī)、潔地抹布等裝置,其三維模型如圖1 所示。
圖1 智能樓梯清潔機(jī)器人三維模型圖
本文設(shè)計(jì)的樓梯清潔機(jī)器人采用多種傳感器以提高機(jī)器人的智能化程度。在清掃模塊的前端裝有超聲波傳感器,用于檢測機(jī)器人本體與樓梯之間的距離,以保證機(jī)器人在合適的距離停止后實(shí)現(xiàn)攀升或橫向清掃;兩側(cè)裝有觸須傳感器,防止機(jī)器人本體與樓梯扶手、墻壁等發(fā)生擦碰,做到智能避障。在驅(qū)動(dòng)模塊的兩側(cè)裝有灰度傳感器,用于樓梯邊沿檢測,防止機(jī)器人在工作過程中從樓梯邊沿墜落。在清掃模塊與潔地模塊底部各裝有一對全向輪,當(dāng)機(jī)構(gòu)做橫向運(yùn)動(dòng)作為從動(dòng)輪,而前進(jìn)時(shí)則作為主動(dòng)輪為整體機(jī)構(gòu)提供向前的驅(qū)動(dòng)力。在驅(qū)動(dòng)模塊的底部采用了四個(gè)麥克納姆輪,通過對速度與旋轉(zhuǎn)方向的控制在狹窄的樓梯空間內(nèi)實(shí)現(xiàn)了全方位的靈活移動(dòng)。驅(qū)動(dòng)模塊通過直線導(dǎo)軌將清掃模塊與潔地模塊連接,利用步進(jìn)電機(jī)驅(qū)動(dòng)絲桿轉(zhuǎn)動(dòng),實(shí)現(xiàn)各部分模塊的配合升降,從而達(dá)到了對樓梯的有序攀升。清掃模塊負(fù)責(zé)對地面的清掃,主要由一對掃刷與儲(chǔ)塵盒來實(shí)現(xiàn);潔地模塊主要實(shí)現(xiàn)清掃后的潔地功能,主要包括舵機(jī)與抹布,當(dāng)需要清潔地面時(shí)通過舵機(jī)使抹布與地面貼合,清潔完畢后收回。機(jī)器人系統(tǒng)架構(gòu)如圖2 所示。
圖2 機(jī)器人系統(tǒng)架構(gòu)圖
本文設(shè)計(jì)的智能樓梯清潔機(jī)器人的主控板主要功能是收集各傳感器的實(shí)時(shí)數(shù)據(jù),通過運(yùn)算、指令輸出來控制各功能模塊。在選擇主控板時(shí)主要考慮了Arduino 和STM32F103VET 單片機(jī),結(jié)合成本和開發(fā)上手簡易程度考慮,選用基于Arduino 開源電子開發(fā)平臺(tái)的Basra 主控板。該主控板上的微控制器可在Arduino、Eclipse、Visual Studio 等IDE 中通過C/C++語言來編寫并編譯成二進(jìn)制文件[4],燒錄進(jìn)微控制器。Basra 可作為機(jī)器人的控制核心,用于控制舵機(jī)、直流電機(jī)、傳感器、輸出模塊和通訊模塊等。
Basra 是開源主控板且非常適合制作簡易作品,但對于新手電子技術(shù)愛好者在主控板上添加電路較為困難。因此本文利用Bigfish 綜合擴(kuò)展板與Basra 主控板連接來解決這個(gè)問題,Bigfish 擴(kuò)展板連接的電路可靠穩(wěn)定,并擴(kuò)展了伺服電機(jī)接口、8×8LED 點(diǎn)陣、直流電機(jī)驅(qū)動(dòng)和一個(gè)通用擴(kuò)展接口,故滿足了使用需求。Basra 主控板和Bigfish 擴(kuò)展板如圖3所示。
圖3 Basra 主控板和Bigfish 擴(kuò)展板實(shí)物圖
2.2.1 攀爬機(jī)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的樓梯清潔機(jī)器人攀爬功能主要由步進(jìn)電機(jī)來實(shí)現(xiàn)。從控制精度、系統(tǒng)穩(wěn)定性和經(jīng)濟(jì)性等方面綜合考量,本文選用滾珠絲杠和直線圓柱導(dǎo)軌作為直線運(yùn)動(dòng)單元,通過單片機(jī)控制42 步進(jìn)電機(jī)驅(qū)動(dòng)滾珠絲杠,利用反作用力的原理,使機(jī)器人的各功能模塊配合升降,從而達(dá)到了攀爬階梯的功能。
2.2.2 行走機(jī)構(gòu)設(shè)計(jì)
在樓梯等狹窄空間內(nèi),智能機(jī)器人的運(yùn)動(dòng)靈活性顯得尤為重要。因此本文設(shè)計(jì)的機(jī)器人共用到了8 個(gè)無刷直流電機(jī)分別驅(qū)動(dòng)4 個(gè)全向輪與4 個(gè)麥克納姆輪。機(jī)器人在做橫向清掃時(shí)需要有較大的力矩;前進(jìn)后退時(shí)所需力矩相對較小。結(jié)合成本考慮,選用直徑為100mm 的麥克納姆輪作為橫向清掃時(shí)的移動(dòng)輪;選用直徑為80mm 的全向輪作為前后行走的移動(dòng)輪。在橫向運(yùn)動(dòng)時(shí),機(jī)器人底盤的全向輪作為從動(dòng)輪,前進(jìn)時(shí)則作為主動(dòng)輪為整體機(jī)構(gòu)提供向前的驅(qū)動(dòng)力。
2.2.3 清潔機(jī)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的樓梯清潔機(jī)器人的清掃功能主要由清掃模塊與潔地模塊組成。清掃模塊負(fù)責(zé)對地面的清掃,由一對掃刷與儲(chǔ)塵盒來實(shí)現(xiàn),掃刷由轉(zhuǎn)速為69r/min 的4.5V 普通直流電機(jī)驅(qū)動(dòng),通過單片機(jī)控制將灰塵掃入儲(chǔ)塵盒內(nèi)。潔地模塊主要實(shí)現(xiàn)清掃后的潔地功能,主要包括圓周舵機(jī)與抹布。當(dāng)需要清潔地面時(shí),通過單片機(jī)控制舵機(jī),使抹布與地面貼合并利用振動(dòng)馬達(dá)的高頻振動(dòng),實(shí)現(xiàn)了對地面的有效清潔。
本文設(shè)計(jì)的智能潔梯機(jī)器人進(jìn)行清掃作業(yè)需要用到觸須傳感器、超聲波傳感器和光電傳感器。
本系統(tǒng)的清掃模塊的兩側(cè)裝有觸須傳感器。與視覺傳感器相比,觸須傳感器價(jià)格低廉且外觀形如自然界昆蟲的“觸須”。觸須傳感器在一定距離和范圍內(nèi)充當(dāng)了觸覺感官,用來彌補(bǔ)視覺系統(tǒng)的缺陷。當(dāng)觸須與障礙物接觸發(fā)生彎折時(shí)觸發(fā)高電平,機(jī)構(gòu)退回,以此來防止本機(jī)構(gòu)與樓梯扶手、墻壁等發(fā)生擦碰而導(dǎo)致不必的損失。
為了有效地檢測機(jī)器人與樓梯之間的距離并提高攀爬樓梯的穩(wěn)定性,在本系統(tǒng)的清掃模塊與驅(qū)動(dòng)模塊的前端各裝有一個(gè)超聲波模塊,其型號(hào)為HC-SR04。他的原理是根據(jù)超聲波在介質(zhì)中傳播的速度,通過計(jì)算發(fā)射聲波與回收聲波的時(shí)間間隔來獲取障礙物的距離,表達(dá)式為
S=(1/2T)×340(1)
式中S 為傳感器與障礙物的距離,T 為回響高電平的持續(xù)時(shí)長,這里介質(zhì)為空氣,溫度條件取15℃。超聲波傳感器將與障礙物的實(shí)時(shí)距離傳輸至單片機(jī),通過單片機(jī)的控制使機(jī)器人智能作出樓梯判斷,從而實(shí)現(xiàn)機(jī)構(gòu)在樓梯上的穩(wěn)定攀爬。
由于樓梯臺(tái)階較高,尤其機(jī)器人在運(yùn)動(dòng)到樓梯邊沿時(shí)存在一定的墜落風(fēng)險(xiǎn)。為了有效的降低這種風(fēng)險(xiǎn),在本系統(tǒng)的驅(qū)動(dòng)模塊兩側(cè)裝有光電傳感器。光電傳感器可以有效地檢測到不同的灰階,通過這一原理將它用于對樓梯邊沿的檢測。當(dāng)光電傳感器檢測到機(jī)器人駛出樓梯邊沿時(shí)觸發(fā),機(jī)器人自動(dòng)回退,從而降低了從樓梯邊沿墜落的風(fēng)險(xiǎn)。
軟件設(shè)計(jì)主要是設(shè)計(jì)控制系統(tǒng)的程序,其任務(wù)是在硬件設(shè)計(jì)的基礎(chǔ)上設(shè)計(jì)相應(yīng)的所需功能,并完成各功能模塊的特定任務(wù)。本控制系統(tǒng)主程序流程如圖4 所示。其工作原理主要是:初始化后,機(jī)器人開始運(yùn)動(dòng),超聲波傳感器開始檢測機(jī)器人與樓梯之間的距離并傳輸至主控板,并綜合判斷做出合適的攀爬動(dòng)作,隨后開始清掃任務(wù)。同時(shí)觸須傳感器與光電傳感器也在實(shí)時(shí)檢測,當(dāng)檢測到存在撞到墻壁或墜樓的風(fēng)險(xiǎn)時(shí),機(jī)器人自動(dòng)回避。
圖4 控制系統(tǒng)主程序流程圖
根據(jù)以上方案設(shè)計(jì),開發(fā)制作了該智能樓梯清潔機(jī)器人原理樣機(jī),其樣機(jī)實(shí)物圖如圖5 所示。
圖5 智能樓梯清潔機(jī)器人實(shí)物圖
機(jī)器人外觀整體材料采用鎂鋁合金,該合金密度低且具有很好的強(qiáng)度和剛性,滿足了本機(jī)器人的制作需求。其主要參數(shù)指標(biāo)如表1 所示。
表1 原理樣機(jī)參數(shù)
對本智能樓梯清潔機(jī)器人進(jìn)行了行駛軌跡偏離、攀爬階梯成功率、傳感器檢測、功能模塊是否正常運(yùn)行進(jìn)行了20 次測試,其試驗(yàn)測試數(shù)據(jù)如表2 所示。根據(jù)試驗(yàn)測試結(jié)果表面,本智能樓梯清潔機(jī)器人攀爬階梯功能正常、各傳感器檢測正常、清掃與潔地模塊工作正常,但行駛軌跡存在1 次偏離現(xiàn)象。經(jīng)過分析,行駛軌跡受電機(jī)轉(zhuǎn)速、車輪與地面的摩擦力和光電傳感器的影響。為此筆者更換使用帶有編碼器直流電機(jī),利用PID 控制算法使各電機(jī)轉(zhuǎn)速趨于一致;并將光電傳感器更換為帶LED 燈光的光電傳感器,以此來有效減少外部光源干擾,提高傳感器的工作穩(wěn)定性。重新試驗(yàn)測試后,驗(yàn)證項(xiàng)目成功率均為100%。
表2 試驗(yàn)測試數(shù)據(jù)
因此本智能樓梯清潔機(jī)器人實(shí)際使用效果良好,能夠滿足日常使用需求。根據(jù)《民用建筑設(shè)計(jì)通則》[5](GB 50352-2005)中的樓梯參數(shù)要求,此機(jī)器人可適應(yīng)絕大多數(shù)的樓梯高度與寬度,適應(yīng)性強(qiáng),穩(wěn)定性良好。
本文設(shè)計(jì)了智能樓梯清潔機(jī)器人,將機(jī)器人本體設(shè)計(jì)為清掃機(jī)構(gòu)、驅(qū)動(dòng)機(jī)構(gòu)和潔地機(jī)構(gòu)三個(gè)既獨(dú)立又關(guān)聯(lián)的部分,且清掃機(jī)構(gòu)與潔地機(jī)構(gòu)呈L 字型,能夠在攀爬樓梯的過程中始終保持系統(tǒng)重心在中間,從而保證了機(jī)器人在攀爬樓梯的穩(wěn)定性。該機(jī)器人的樓梯攀爬功能通過利用步進(jìn)電機(jī)驅(qū)動(dòng)滾珠絲杠的正反轉(zhuǎn)實(shí)現(xiàn)了對樓梯的有序攀升,底部裝有麥克納姆輪和全向輪,能夠在樓梯這種狹窄的空間內(nèi)實(shí)現(xiàn)靈活運(yùn)動(dòng)。在機(jī)器人的四周裝上傳感器來實(shí)現(xiàn)機(jī)器人對周圍環(huán)境的檢測,從而進(jìn)行相應(yīng)動(dòng)作和提高了安全性。文中所提出的軟硬件設(shè)計(jì)思路與方法對于同類階梯清潔系統(tǒng)的設(shè)計(jì)具有一定的參考意義。