【導讀】隨著人工智能和傳感器技術的發(fā)展,機器人已從工廠的結構化環(huán)境進入人們的日常生活環(huán)境,機器人不僅能自主完成工作,還能與人共同協作完成任務或在人的指導下完成任務。家庭服務機器人是智能家居系統(tǒng)的一個重要組成部分,在生活中的作用越來越重要。當前,大部分的家庭服務機器人不具備行走功能或只具有簡單的避障能力,機器人的研究很多依賴于仿真實現,但是現實情況和仿真結果可能大相徑庭。也有一些研究將問題復雜化,反而走了更多的彎路。
針對當前家庭服務機器人的不足和現代智能服務機器人的要求,本文提出一種基于STM32的家庭服務機器人系統(tǒng)的設計方案。該方案模擬智能家居環(huán)境,簡化了定位方式,有效地利用了ZigBee技術低成本、低功耗的特點,設計出一個合適大小的輪式機器人進行試驗,試驗結果表明機器人能夠實現預期目標并體現出較強的自主決策能力。
1 系統(tǒng)整體設計方案
整個家庭服務機器人系統(tǒng)主要由四部分組成,包括鋪滿RFID智慧地板的模擬智能家居環(huán)境、移動的輪式機器人、XBee協調器以及上位機。
智能家居環(huán)境設計長為3.25米,寬為2米,鋪滿RFID智能地板,分隔成廚房和客廳兩個房間,中間的房門寬0.3米。廚房有水槽、擱板、智能冰箱等電器,客廳有餐桌、餐椅等。RFID智能地板的排列信息給機器人提供準確定位。輪式機器人負責往返廚房與客廳之間給服務對象運送物品,是整個系統(tǒng)的核心部分。XBee協調器是基于ZigBee技術的無線傳輸模塊,負責數據快速穩(wěn)定地傳遞。上位機主要負責數據的接收、處理和控制指令的下達等。
2 系統(tǒng)工作原理和流程
系統(tǒng)的主要工作流程是:上位機輸入任務命令,該命令通過XBee協調器發(fā)送給輪式機器人。機器人收到任務命令后從休眠模式啟動,讀取智能地板RFID定位信息,將該實時位置信息上傳到上位機,以顯示機器人運動軌跡。機器人通過傳感器模塊檢測自身姿態(tài)和周圍障礙物情況,自主決策移動至目標位置抓取物品,運送到最終目標位置給服務對象使用。其中,輪式機器人是整個系統(tǒng)設計的重點。
2.1 XBee協調器工作流程
XBee協調器是最先啟動的XBee網絡節(jié)點,主要完成XBee網絡的組網功能和數據的收發(fā)功能,其中組網功能包括XBee網絡的建立和子節(jié)點的入網。
首先,在XBee協調器上電復位后對包括硬件和軟件的各個模塊進行初始化。然后,開始掃描信道、進行能量檢測、選擇信道以及選擇合適的PAN ID。成功之后就廣播網絡ID、信道,XBee網絡就建立了。之后,XBee協調器進入監(jiān)聽狀態(tài),等待子節(jié)點發(fā)送入網請求信號,收到入網請求后協調器允許子節(jié)點入網并分配網絡短地址給子節(jié)點,這就實現了節(jié)點的入網功能。最后,XBee協調器將上位機數據發(fā)送給子節(jié)點射頻模塊,啟動輪式機器人,在收到來自子節(jié)點的數據請求后,將接收數據并通過串口線傳輸給上位機,這就是數據的收發(fā)功能。
2.2 輪式機器人工作流程
輪式機器人是任務的執(zhí)行設備,往返于廚房和客廳兩個房間之間,準確和高效地執(zhí)行用戶對象發(fā)送的各種命令任務,并發(fā)送機器人坐標數據給XBee協調器進行以下工作。
首先,輪式機器人上的XBee模塊需要初始化和發(fā)送入網請求,實現節(jié)點入網。然后,XBee模塊接收XBee協調器傳輸的任務命令數據,主板對各傳感器模塊初始化。RFID讀卡器讀取智能地板坐標數據,發(fā)送給XBee協調器。電子羅盤獲取機器人當前的姿態(tài)信息。紅外傳感器檢測機器人所處環(huán)境的障礙物距離,主板控制啟動由左右兩個連續(xù)旋轉舵機組成的移動輪。機器人通過自主決策規(guī)劃路徑,移動至目標位置,啟動機械臂抓取物品,其中機械臂由多個角度舵機組成。在機械臂保持抓取物品的狀態(tài)下,再次規(guī)劃路徑移動至最終地點,機械臂準確將物品放在目標位置。完成任務后機器人回到起始位置,進入休眠模式。
3 關鍵環(huán)節(jié)設計
3.1 機器人硬件結構設計
輪式機器人采用模塊化的設計原則,使機器人的設計為模塊化方式,并采用分層控制,有利于綜合性能的發(fā)揮。將機器人系統(tǒng)分為五個部分:主板、傳感器模塊、無線射頻模塊、舵機模塊和電源模塊。輪式機器人的結構框圖如圖1所示。
3.1.1 主板
主板是針對該輪式機器人設計,采用ARM Cortex-M3內核的STM32F103VCT6處理器,主板資源包括SDRAM、NAND Flash,UART接口、GPIO接口、SPI接口和JTAG接口。輔助的資源有USB接口、定時器等。
主板的設計專門為射頻模塊、傳感器模塊和機械臂模塊提供了接口,簡化了電路結構,使控制器集成度更高,運行更加穩(wěn)定和高效,從而節(jié)約硬件成本。
3.1.2 傳感器模塊
傳感器模塊由傳感器和相應的信號調理電路組成。輪式機器人使用的傳感器包括紅外傳感器、電子羅盤和RFID讀卡器。根據輪式機器人移動過程中檢測障礙物距離的精度要求,紅外傳感器采用的型號為Sharp GP2D12,分別安裝在機器人前方、左前方、右前方、左側和右側五個位置。電子羅盤采用GY-80九軸模塊中的HMC5883L三軸電子羅盤,可以在復雜環(huán)境下測得準確方位值,抗磁電干擾能力較強。RFID讀卡器采用Parallax公司的低頻段28140讀卡器,可讀取125kHz標簽。
3.1.3 射頻模塊
射頻模塊是設備之間通信的主要模塊,負責整個網絡的數據傳輸工作。射頻模塊采用基于ZigBee技術的XBee無線傳輸模塊,該模塊覆蓋面積大且易于配置,是機器人通訊組網的不錯選擇。
XBee協調器由XBee無線模塊和XBee USB適配板組成。XBee USB適配板是專門為XBee無線模塊配套設計,通過使用該模塊,可以在PC機使用配套的X-CTU軟件對XBee無線模塊進行配置及串口通訊監(jiān)控。XBee協調器通過USB線與上位機連接通信。
3.1.4 舵機模塊
舵機模塊分為機械臂舵機和移動輪舵機,機械臂由角度舵機和金屬桿件組成。五個角度舵機構成五自由度機械臂,尺寸大小與搭建智能家居環(huán)境匹配,為保證機械臂動作精度,采用HS-322HD角度舵機。移動輪舵機使用Parallax連續(xù)旋轉舵機。
3.1.5 電源模塊
根據各個組成部分工作的場合和特點的不同,采用不同的供電模式,輪式機器人采用電池供電的模式,而XBee協調器則要一直保持工作狀態(tài),所以采用上位機USB供電的模式。電源模塊與主板相連,而主板留有接口給傳感器模塊、射頻模塊和舵機模塊,通過接口給傳感器模塊、射頻模塊和舵機模塊進行供電。由于RFID讀卡器對電流要求較高,因此主板和RFID讀卡器分開使用雙電源供電。
3.2 機器人軟件設計
3.2.1驅動控制設計
驅動控制設計包括各個模塊的初始化、模塊之間的通信和上位機軟件設計。該文采用與STM32F103VCT6配套的MDK-ARM作為開發(fā)環(huán)境,完成各個模塊初始化和通信,上位機軟件采用VC++開發(fā)。具體的各個模塊軟件實現的功能及工作流程在系統(tǒng)的工作原理和流程中已經介紹,這里不再敘述。
3.2.2 路徑規(guī)劃
路徑規(guī)劃主要可分為全局路徑規(guī)劃和局部路徑規(guī)劃,前者是指在環(huán)境信息完全已知的情況下,機器人規(guī)劃一條從初始位置到目標位置的無碰撞最優(yōu)路徑;后者由于環(huán)境信息是未知的,需考慮局部的特定情況來進行路徑調整。
機器人移動過程中利用電子羅盤進行姿態(tài)調整,即調整前進方向,努力尋找一條最快捷的路徑到達目標位置。機器人姿態(tài)調整主要取決于當前位置和前一位置與目標位置的距離,包括橫向距離和縱向距離。若當前位置與目標位置的橫向距離和縱向距離分別小于或者等于前一位置與目標位置的橫向距離和縱向距離,表明機器人與目標位置的距離在逐漸縮小,機器人在朝目標位置前進,否則就說明機器人沒有按預期的軌跡前進,需要再次進行姿態(tài)調整。姿態(tài)調整示意圖如圖2所示。
局部路徑規(guī)劃包括避障處理、振蕩位置分析、房門位置搜索和過房門策略分析。在機器人移動過程中,需要不斷探測周圍環(huán)境,從而更好地決定下一步動作。五個紅外傳感器數據使機器人時刻掌握周圍環(huán)境,避障處理要求機器人合理避開障礙物,向目標位置移動。
振蕩位置指的是機器人不能順利通過某一位置,而在這一點附近反復來回走動。如果起始位置和目標位置分別在兩個房間,在全局路徑規(guī)劃思想的指導下,機器人會在兩間房的公用墻邊不斷徘徊。振蕩位置分析示意圖如圖3所示。
當機器人到達振蕩位置時,需要調整路徑規(guī)劃策略,此時放棄全局路徑規(guī)劃策略,選擇直接以公用墻為基準墻搜索房門。沿墻走算法的基本規(guī)則是:當機器人不斷靠近墻面時需要調整兩輪速差使機器人朝偏離墻面的方向前進;當機器人不斷遠離墻面時,則需要調整兩輪速差,使機器人朝靠近墻面的方向前進。綜合調整的結果是機器人的前進軌跡是以基準線為軸的類正弦曲線,沿墻走軌跡如圖4所示。
過房門是機器人完成任務必不可少的一個環(huán)節(jié),怎樣確保機器人順利穿過房門是任務成功的關鍵。機器人準備過房門時并不是正對房門,可能向左側或者右側不同程度的傾斜。根據傾斜程度的劃分,機器人檢測相對應的紅外傳感器距離值,不斷調整機器人姿態(tài),使機器人正對房門并順利通過。
4 結束語
本文設計的家庭服務機器人系統(tǒng),為智能家居環(huán)境服務對象的需求任務提出了詳細可行的解決方案。整個系統(tǒng)應用了基于XBee模塊的主流無線通信技術,以保證數據的傳輸速率。此外,對輪式機器人的模塊化設計具有結構簡單和性能穩(wěn)定等特點,大大提高了家庭服務機器人的可靠性,并且降低了系統(tǒng)的硬件成本。自主決策過程中的路徑規(guī)劃,使得機器人能夠快速沿著最合適的路線移動。總之,該設計系統(tǒng)對家庭服務機器人相關問題的解決提供了可借鑒的方法。
推薦閱讀: