基于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í)現機器人與XBee協(xié)調器之間的通信連接。該系統在模擬智能家居的環(huán)境下通過(guò)自主決策穩定和高效地完成設定任務(wù),能夠滿(mǎn)足家庭服務(wù)機器人的應用要求。
本文引用地址:http://dyxdggzs.com/article/279227.htm引言
隨著(zhù)人工智能和傳感器技術(shù)的發(fā)展,機器人已從工廠(chǎng)的結構化環(huán)境進(jìn)入人們的日常生活環(huán)境,機器人不僅能自主完成工作,還能與人共同協(xié)作完成任務(wù)或在人的指導下完成任務(wù)[1]。家庭服務(wù)機器人是智能家居系統[2]的一個(gè)重要組成部分,在生活中的作用越來(lái)越重要。當前,大部分的家庭服務(wù)機器人不具備行走功能或只具有簡(jiǎn)單的避障能力,機器人的研究很多依賴(lài)于仿真實(shí)現,但是現實(shí)情況和仿真結果可能大相徑庭。也有一些研究將問(wèn)題復雜化,反而走了更多的彎路。
針對當前家庭服務(wù)機器人的不足和現代智能服務(wù)機器人的要求,本文提出一種基于STM32的家庭服務(wù)機器人系統的設計方案。該方案模擬智能家居環(huán)境,簡(jiǎn)化了定位方式,有效地利用了ZigBee技術(shù)低成本、低功耗的特點(diǎn)[3],設計出一個(gè)合適大小的輪式機器人進(jìn)行試驗,試驗結果表明機器人能夠實(shí)現預期目標并體現出較強的自主決策能力。
1 系統整體設計方案
整個(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)傳輸模塊,負責數據快速穩定地傳遞。上位機主要負責數據的接收、處理和控制指令的下達等。
2 系統工作原理和流程
系統的主要工作流程是:上位機輸入任務(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),主要完成XBee網(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)入休眠模式。
3 關(guān)鍵環(huán)節設計
3.1 機器人硬件結構設計
輪式機器人采用模塊化的設計原則,使機器人的設計為模塊化方式,并采用分層控制,有利于綜合性能的發(fā)揮[4] 。將機器人系統分為五個(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)化了電路結構,使控制器集成度更高,運行更加穩定和高效,從而節約硬件成本。
評論