基于STM32的家庭服務(wù)機(jī)器人系統(tǒng)設(shè)計
摘要:為解決當(dāng)前大部分家庭服務(wù)機(jī)器人不具備行走功能或只具有簡單的避障能力等問題,本文設(shè)計一種基于STM32的家庭服務(wù)機(jī)器人系統(tǒng)。整個系統(tǒng)由輪式機(jī)器人、XBee協(xié)調(diào)器、RFID智慧地板和上位機(jī)組成。輪式機(jī)器人由主板、傳感器模塊、射頻模塊、舵機(jī)模塊、電源模塊和機(jī)器人金屬主體組成,傳感器模塊包括電子羅盤、紅外傳感器和RFID讀卡器。主板以ARM Cortex-M3內(nèi)核微處理器STM32F103VCT6為核心進(jìn)行開發(fā),采集傳感器模塊數(shù)據(jù)信息,實現(xiàn)機(jī)器人與XBee協(xié)調(diào)器之間的通信連接。該系統(tǒng)在模擬智能家居的環(huán)境下通過自主決策穩(wěn)定和高效地完成設(shè)定任務(wù),能夠滿足家庭服務(wù)機(jī)器人的應(yīng)用要求。
本文引用地址:http://2s4d.com/article/279227.htm引言
隨著人工智能和傳感器技術(shù)的發(fā)展,機(jī)器人已從工廠的結(jié)構(gòu)化環(huán)境進(jìn)入人們的日常生活環(huán)境,機(jī)器人不僅能自主完成工作,還能與人共同協(xié)作完成任務(wù)或在人的指導(dǎo)下完成任務(wù)[1]。家庭服務(wù)機(jī)器人是智能家居系統(tǒng)[2]的一個重要組成部分,在生活中的作用越來越重要。當(dāng)前,大部分的家庭服務(wù)機(jī)器人不具備行走功能或只具有簡單的避障能力,機(jī)器人的研究很多依賴于仿真實現(xiàn),但是現(xiàn)實情況和仿真結(jié)果可能大相徑庭。也有一些研究將問題復(fù)雜化,反而走了更多的彎路。
針對當(dāng)前家庭服務(wù)機(jī)器人的不足和現(xiàn)代智能服務(wù)機(jī)器人的要求,本文提出一種基于STM32的家庭服務(wù)機(jī)器人系統(tǒng)的設(shè)計方案。該方案模擬智能家居環(huán)境,簡化了定位方式,有效地利用了ZigBee技術(shù)低成本、低功耗的特點[3],設(shè)計出一個合適大小的輪式機(jī)器人進(jìn)行試驗,試驗結(jié)果表明機(jī)器人能夠?qū)崿F(xiàn)預(yù)期目標(biāo)并體現(xiàn)出較強(qiáng)的自主決策能力。
1 系統(tǒng)整體設(shè)計方案
整個家庭服務(wù)機(jī)器人系統(tǒng)主要由四部分組成,包括鋪滿RFID智慧地板的模擬智能家居環(huán)境、移動的輪式機(jī)器人、XBee協(xié)調(diào)器以及上位機(jī)。
智能家居環(huán)境設(shè)計長為3.25米,寬為2米,鋪滿RFID智能地板,分隔成廚房和客廳兩個房間,中間的房門寬0.3米。廚房有水槽、擱板、智能冰箱等電器,客廳有餐桌、餐椅等。RFID智能地板的排列信息給機(jī)器人提供準(zhǔn)確定位。輪式機(jī)器人負(fù)責(zé)往返廚房與客廳之間給服務(wù)對象運(yùn)送物品,是整個系統(tǒng)的核心部分。XBee協(xié)調(diào)器是基于ZigBee技術(shù)的無線傳輸模塊,負(fù)責(zé)數(shù)據(jù)快速穩(wěn)定地傳遞。上位機(jī)主要負(fù)責(zé)數(shù)據(jù)的接收、處理和控制指令的下達(dá)等。
2 系統(tǒng)工作原理和流程
系統(tǒng)的主要工作流程是:上位機(jī)輸入任務(wù)命令,該命令通過XBee協(xié)調(diào)器發(fā)送給輪式機(jī)器人。機(jī)器人收到任務(wù)命令后從休眠模式啟動,讀取智能地板RFID定位信息,將該實時位置信息上傳到上位機(jī),以顯示機(jī)器人運(yùn)動軌跡。機(jī)器人通過傳感器模塊檢測自身姿態(tài)和周圍障礙物情況,自主決策移動至目標(biāo)位置抓取物品,運(yùn)送到最終目標(biāo)位置給服務(wù)對象使用。其中,輪式機(jī)器人是整個系統(tǒng)設(shè)計的重點。
2.1 XBee協(xié)調(diào)器工作流程
XBee協(xié)調(diào)器是最先啟動的XBee網(wǎng)絡(luò)節(jié)點,主要完成XBee網(wǎng)絡(luò)的組網(wǎng)功能和數(shù)據(jù)的收發(fā)功能,其中組網(wǎng)功能包括XBee網(wǎng)絡(luò)的建立和子節(jié)點的入網(wǎng)。
首先,在XBee協(xié)調(diào)器上電復(fù)位后對包括硬件和軟件的各個模塊進(jìn)行初始化。然后,開始掃描信道、進(jìn)行能量檢測、選擇信道以及選擇合適的PAN ID。成功之后就廣播網(wǎng)絡(luò)ID、信道,XBee網(wǎng)絡(luò)就建立了。之后,XBee協(xié)調(diào)器進(jìn)入監(jiān)聽狀態(tài),等待子節(jié)點發(fā)送入網(wǎng)請求信號,收到入網(wǎng)請求后協(xié)調(diào)器允許子節(jié)點入網(wǎng)并分配網(wǎng)絡(luò)短地址給子節(jié)點,這就實現(xiàn)了節(jié)點的入網(wǎng)功能。最后,XBee協(xié)調(diào)器將上位機(jī)數(shù)據(jù)發(fā)送給子節(jié)點射頻模塊,啟動輪式機(jī)器人,在收到來自子節(jié)點的數(shù)據(jù)請求后,將接收數(shù)據(jù)并通過串口線傳輸給上位機(jī),這就是數(shù)據(jù)的收發(fā)功能。
2.2 輪式機(jī)器人工作流程
輪式機(jī)器人是任務(wù)的執(zhí)行設(shè)備,往返于廚房和客廳兩個房間之間,準(zhǔn)確和高效地執(zhí)行用戶對象發(fā)送的各種命令任務(wù),并發(fā)送機(jī)器人坐標(biāo)數(shù)據(jù)給XBee協(xié)調(diào)器進(jìn)行以下工作。
首先,輪式機(jī)器人上的XBee模塊需要初始化和發(fā)送入網(wǎng)請求,實現(xiàn)節(jié)點入網(wǎng)。然后,XBee模塊接收XBee協(xié)調(diào)器傳輸?shù)娜蝿?wù)命令數(shù)據(jù),主板對各傳感器模塊初始化。RFID讀卡器讀取智能地板坐標(biāo)數(shù)據(jù),發(fā)送給XBee協(xié)調(diào)器。電子羅盤獲取機(jī)器人當(dāng)前的姿態(tài)信息。紅外傳感器檢測機(jī)器人所處環(huán)境的障礙物距離,主板控制啟動由左右兩個連續(xù)旋轉(zhuǎn)舵機(jī)組成的移動輪。機(jī)器人通過自主決策規(guī)劃路徑,移動至目標(biāo)位置,啟動機(jī)械臂抓取物品,其中機(jī)械臂由多個角度舵機(jī)組成。在機(jī)械臂保持抓取物品的狀態(tài)下,再次規(guī)劃路徑移動至最終地點,機(jī)械臂準(zhǔn)確將物品放在目標(biāo)位置。完成任務(wù)后機(jī)器人回到起始位置,進(jìn)入休眠模式。
3 關(guān)鍵環(huán)節(jié)設(shè)計
3.1 機(jī)器人硬件結(jié)構(gòu)設(shè)計
輪式機(jī)器人采用模塊化的設(shè)計原則,使機(jī)器人的設(shè)計為模塊化方式,并采用分層控制,有利于綜合性能的發(fā)揮[4] 。將機(jī)器人系統(tǒng)分為五個部分:主板、傳感器模塊、無線射頻模塊、舵機(jī)模塊和電源模塊。輪式機(jī)器人的結(jié)構(gòu)框圖如圖1所示。
3.1.1 主板
主板是針對該輪式機(jī)器人設(shè)計,采用ARM Cortex-M3內(nèi)核的STM32F103VCT6處理器,主板資源包括SDRAM、NAND Flash,UART接口、GPIO接口、SPI接口和JTAG接口。輔助的資源有USB接口、定時器等。
主板的設(shè)計專門為射頻模塊、傳感器模塊和機(jī)械臂模塊提供了接口,簡化了電路結(jié)構(gòu),使控制器集成度更高,運(yùn)行更加穩(wěn)定和高效,從而節(jié)約硬件成本。
評論