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