南京航空航天大學金城學院 傅忠云 劉子豪 姚翼榮
掃地機器人在家庭及服務類公共場所的不斷普及應用,降低了人類的工作強度,提高了工作效率,成為了近年來的研究熱點問題之一。從技術角度分析,掃地機器人是移動類機器人的基礎應用,包含了障礙躲避,速度控制,原地轉向及路徑規(guī)劃等多項技術,因此掃地機器人的研究與設計具有十分重要的意義。
路徑規(guī)劃算法是掃地機器人應用技術中的核心,也是決定掃地機器人售價的關鍵因素,路徑規(guī)劃算法的優(yōu)劣直接決定了工作效率的高低,但是路徑規(guī)劃的優(yōu)劣和傳感器數(shù)量以及位置有直接關系,對于成本的依賴相當高,本設計提出了一種低成本,相對簡單可靠的路徑規(guī)劃方案。
硬件方面主要是針對實地環(huán)境、機械結構及電路設計的合理性進行討論和設計,簡要介紹本系統(tǒng)的整體硬件設計框架,各硬件模塊的選型及系統(tǒng)總體硬件原理圖等,給出了一個相對可行的低成本硬件設計方案。
掃地機器人的整體框架如圖1.1所示,系統(tǒng)主要包括驅動模塊,檢測模塊,掃地模塊和主控模塊。掃地機器人的設計需要考慮的硬件主要包括機械設計需求和電路設計需求,機械設計主要考慮的問題在于如何保持機器人的平衡以及驅動行走的方式,盡可能的做到原地轉彎,而電路的設計主要包括信號的傳輸以及驅動電流電壓等能否符合設計要求,在保證符合要求的情況下選擇低成本器件完成設計。
圖1.1 掃地機器人整體框架圖
本設計采用性價比相對較高STM32F-103C8T6為系統(tǒng)中央處理單元,由該芯片構成的最小系統(tǒng)板外擴一個8M的晶振,有20個擴展口,同時配有LM1117-3.3V可以對電源電壓進行降壓處理,保證其穩(wěn)定運行,外擴USB下載系統(tǒng)方便調試下載和電源輸出,非常適合本設計的設計需求。
圖1.2 系統(tǒng)整體硬件原理圖
驅動模塊為掃地機器人設計需考慮的首要問題,其設計主要考慮問題在于電路電流電壓能否滿足要求,以及直角轉彎等設計要求。
為提高掃地機器人的原地轉彎效果,本設計以左右驅動輪的相反驅動方向實現(xiàn)轉彎,以達到最小體積轉彎,并且轉彎角度任意,轉彎半徑極低,方便靈巧,適合室內(nèi)等狹窄地方使用。有了驅動方面的基本設計后,由于電機驅動所需的電流比較大,普通的信號不能很好的驅動電機甚至會造成電路發(fā)生故障,還需要對于驅動電路進行設計。本設計采用較為新式的驅動芯片TB6612FNG,與L298N相比,此模塊具有體積小、效率高、性價比高及易控制等特點。
由于本設計資金有限,對于掃地系統(tǒng)無法深入研究探討,在此僅提供一種相對建議的設計方案,但是掃地效果相對有限。在本設計中掃地系統(tǒng)由一個微型吸塵器和兩個毛刷組成,吸塵器是由得力18880配合繼電器改裝而來,掃地機器人的毛刷使用直流電機進行驅動。
掃地機器人的傳感器系統(tǒng)的好壞直接決定掃地機器人的成本和效果,一套優(yōu)秀的傳感器系統(tǒng)可以準確地進行機器人的運行狀態(tài)和所處環(huán)境等信息監(jiān)測。
1.5.1 紅外傳感器模塊
通過檢測模塊可以實現(xiàn)對外部信息和內(nèi)部信息的獲取,其中獲取外部信息主要采用紅外傳感器。本設計采用6個相同的紅外傳感器模塊以獲取相關外部環(huán)境信息,實現(xiàn)避障功能。
1.5.2 MPU6050模塊
本系統(tǒng)選用了3軸加速度慣性傳感器模塊MPU6050,利用此模塊可以獲取機器人的轉動角度,運行速度等相關運行狀態(tài)信息。
根據(jù)系統(tǒng)功能需求,系統(tǒng)整體方案及各功能模塊硬件選型,繪制出了本設計的整體硬件原理圖,如圖1.2所示。
進行系統(tǒng)整合后所搭建的硬件實物圖如圖1.3所示。
圖1.3 整機硬件實物圖
根據(jù)系統(tǒng)功能需求分析可知,系統(tǒng)軟件設計主要包含利用MPU6050傳感器獲取轉動角度、路徑規(guī)劃算法及電機驅動控制方案等。
由于系統(tǒng)對于角度的精度要求不高,故使用MPU6050內(nèi)部的硬件數(shù)字運動處理器(DMP)實現(xiàn)機器人轉動角度的直接獲取,且本系統(tǒng)只需要獲取其中一個軸向的角度值即可。MPU6050角度值的獲取和配置軟件流程圖如圖2.1所示。
圖2.1 MPU6050角度獲取軟件流程圖
路徑規(guī)劃是機器人移動的核心技術,應用場景廣闊,方法繁多,其核心思路是根據(jù)所給地圖,利用計算機算法規(guī)劃機器人移動路徑。路徑規(guī)劃的算法主要包括傳統(tǒng)算法,圖形學算法和智能仿生學算法,而在掃地機器人的路徑規(guī)劃算法中常用的是隨機路徑算法和柵格法。
隨機路徑算法具有設備成本低,易實現(xiàn)的特點,其核心思路在于每次遇到障礙物后,由計算機隨機生成一個轉彎角度,以保證每次轉彎位置不同。該算法對于簡單地形規(guī)劃則相對穩(wěn)定,但是該路徑規(guī)劃方案效率較低,且無法完成復雜地形的路徑規(guī)劃。
在路徑規(guī)劃的算法中常采用的是柵格法,即將地圖劃分為柵格,對每一個柵格進行遍歷以達到全覆蓋的路勁規(guī)劃。柵格的大小決定其路徑規(guī)劃的復雜程度和效果的好壞。在本設計中由于資金有限,無法準確獲取地圖信息構建地圖模型,對此本設計提出了一種簡單路徑規(guī)劃——蛇形路徑規(guī)劃方案,對該方案進行了初步探討和簡單實現(xiàn),并給出實現(xiàn)結果。如圖2.2本設計蛇形路徑規(guī)劃細分為五個狀態(tài)并將每個狀態(tài)細分為多種狀態(tài)處理。
圖2.2 路徑規(guī)劃狀態(tài)圖
如圖2.3所示a),b),c),d)分別為狀態(tài)一、二、三、四所實現(xiàn)的情況示意圖。
圖2.3 路徑規(guī)劃示意圖
將四個狀態(tài)進行合成,可獲得路徑規(guī)劃最終效果,如圖2.4所示,此類規(guī)劃效果對于規(guī)則障礙物,環(huán)境空間效果較好,掃地效率較高。
圖2.4 路徑規(guī)劃最終效果圖
如圖2.5是第一個狀態(tài)所對應的流程圖,一直按照此套方案進行執(zhí)行,直到滿足跳轉條件到狀態(tài)二,狀態(tài)二及后面其他狀態(tài)與狀態(tài)一相似,在此不再贅述。
圖2.5 狀態(tài)一流程圖
由于條件所致無法生成地圖模型,僅以此完成路徑規(guī)劃,此類路徑規(guī)劃為一折中方案,雖然無法完成復雜地形的路徑規(guī)劃,但對于簡單規(guī)則地形規(guī)劃則相對穩(wěn)定,這種路徑規(guī)劃方案具有成本低,易實現(xiàn)的特點。
系統(tǒng)中的車輪由直流調速電機,通過PWM控制方式進行速度及轉向的調控,由于STM32F103C8T6芯片擁有2個高級定時器,可以單獨發(fā)射PWM波,調用其內(nèi)部函數(shù)即可使用,但考慮到STM32F100XX系列只擁有一個高級定時器,但是考慮到通用性,本設計采用最基本的PWM發(fā)射方式,即采用通用定時器發(fā)射PWM。
對于設計好的掃地機器人系統(tǒng)進行了整機調試,首先進行了原地轉向和直線行走測試,通過不斷調整參數(shù)進行兩個車輪的差速控制,并利用MPU6050的航向角對直線行走偏離進行矯正,經(jīng)過反復調試,最終實現(xiàn)了掃地機器人原地轉向和直線行走功能。最后進行了蛇形路徑規(guī)劃的系統(tǒng)調試,經(jīng)多次調試,本系統(tǒng)對較規(guī)整環(huán)境的清掃效果較好,基本滿足設計要求。
本文針對掃地機器人的硬件選型、軟件設計及提出的蛇形路徑規(guī)劃算法等做了較為詳細的論述,完成了系統(tǒng)預期功能,基本可以在室內(nèi)完成自動清掃工作。但是本設計由于采用傳感器數(shù)量和質量的限制,所設計的路徑規(guī)劃功能也存在一定的局限性,對于不規(guī)則場景及邊角位置的清掃效果不是很理想,還需進行更多的實地場景測試,不斷積累經(jīng)驗,完善算法。