蘭州石化職業(yè)技術(shù)學(xué)院電子電氣工程學(xué)院 任 聰 洪梓榕
本文設(shè)計(jì)了一款基于STM32的智能迎賓機(jī)器人控制系統(tǒng)。該系統(tǒng)使用STM32芯片作為主控芯片,通過語音模塊、周邊環(huán)境檢測模塊、人臉識別模塊的配合,實(shí)現(xiàn)了自主迎賓、路徑自主規(guī)劃、面部及語言識別、人機(jī)對話、智能跟隨等功能。實(shí)際測試分析結(jié)果表明,系統(tǒng)達(dá)到了預(yù)期設(shè)計(jì)的目標(biāo),具有低成本、低功耗、高性能的特點(diǎn)。
目前,迎賓機(jī)器人的控制系統(tǒng)存在功能單一、調(diào)試不便、后期維護(hù)困難等問題,本文針對以上問題利用模塊化編程思想,設(shè)計(jì)了一種基于物聯(lián)網(wǎng)技術(shù)的迎賓機(jī)器人系統(tǒng),通過將嵌入式系統(tǒng)、傳感器應(yīng)用與物聯(lián)網(wǎng)技術(shù)進(jìn)行有機(jī)結(jié)合,為迎賓機(jī)器人的控制系統(tǒng)的設(shè)計(jì)提供了一種新思路。
智能迎賓系統(tǒng)利用多種傳感設(shè)備實(shí)現(xiàn)周圍游客目的地信息的獲取,利用STM32單片機(jī)將采集的信息進(jìn)行分析,通過WIFI、ZigBee等模塊將信息傳輸至驅(qū)動(dòng)機(jī)構(gòu),通過機(jī)器人將游客到達(dá)相應(yīng)的地點(diǎn)。
圖1 系統(tǒng)總體框架
根據(jù)本系統(tǒng)具有實(shí)時(shí)性強(qiáng)、外設(shè)多、需具備網(wǎng)絡(luò)通信功能等特點(diǎn),選擇了STM32F103ZET6芯片作為核心處理器,其工作電壓范圍為2.0-3.6伏。它集成了豐富的片內(nèi)資源,包括256K至512K字節(jié)的閃存程序存儲器,高達(dá)64K字節(jié)的SRAM,3個(gè)12位us級的模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換范圍為0至3.6伏,多達(dá)112個(gè)快速I/O口、11個(gè)定時(shí)器、13個(gè)通信接口等,有效的簡化了外圍電路的設(shè)計(jì)以及硬件設(shè)計(jì)的成本。
系統(tǒng)采用的是科大訊飛AIUI評估板,將游客提出的問題與云端指令庫進(jìn)行對比,隨后將云端指令庫中的信息發(fā)送至開發(fā)板,開發(fā)板進(jìn)行指令與語音的轉(zhuǎn)換,實(shí)現(xiàn)游客與機(jī)器人之間的對話。AIUI評估板如圖2所示。
圖2 AIUI評估板
檢測模塊由人體感應(yīng)模塊、紅外測距傳感器、超聲波傳感器組成。HC-SR501人體感應(yīng)模塊的信號是數(shù)字信號,信號輸出端口可以直接連接到STM32單片機(jī)。GP2D12紅外測距傳感器的信號是模擬信號,可通過STM32單片機(jī)的A/D轉(zhuǎn)換模塊處理后觸發(fā)機(jī)器人相應(yīng)操作。
HC-SR501人體感應(yīng)模塊,是基于紅外線技術(shù)的自動(dòng)控制模塊,通過熱釋電效應(yīng)探測紅外輻射,因人體溫度與環(huán)境溫度有所差別,當(dāng)人體進(jìn)入檢測區(qū)時(shí),傳感器有輸出;若人體進(jìn)入檢測區(qū)不動(dòng),則溫度沒有變化,傳感器沒有輸出;所以這種傳感器可以用來檢測人體活動(dòng)的傳感。人體傳感模塊通過單片機(jī)的I/O口與其連接,傳感器模塊默認(rèn)輸出低電平。當(dāng)人體進(jìn)入傳感器的感應(yīng)區(qū)域時(shí),傳感器的輸出端將會輸出高電平,否則輸出端將輸出低電平。當(dāng)單片機(jī)接收到從低電平到高電平的脈沖變化時(shí),就會觸發(fā)相應(yīng)的程序,使機(jī)器人進(jìn)行相應(yīng)的動(dòng)作。
GP2D12紅外測距傳感器,集成紅外線發(fā)射管與PSD(Position Sensing Device位置敏感檢測裝置),利用光的反射性質(zhì),采用三角測量原理,通過紅外發(fā)射管發(fā)出紅外光束,當(dāng)紅外光束遇到障礙物后會被反射回來,落到PSD上,因此在空間中構(gòu)成了一個(gè)等腰三角形,我們通過借助PSD所獲得的相應(yīng)數(shù)據(jù)可以測得三角形的底,因?yàn)榈妊切蔚膬蓚€(gè)底角是固定的,所以可通過發(fā)射管發(fā)出的光束與來PSD所接收到的光束的位置來確定此時(shí)的三角形的底邊,之后我們通過三角形的底邊以及底角的大小來推算出高,也就是我們所要的距離。由于傳感器模塊輸出信號微弱,所以需設(shè)計(jì)放大電路,通過放大電路對傳感器輸出信號進(jìn)行放大,之后將信號發(fā)送至STM32單片機(jī)的A/D轉(zhuǎn)換模塊,進(jìn)行模擬量與數(shù)數(shù)字量之間的轉(zhuǎn)換后得到距離,隨后觸發(fā)相應(yīng)程序使得機(jī)器人與游客、障礙物保持安全距離、避免出現(xiàn)故障時(shí)誤傷到游客。三角測量原理如圖3所示。
圖3 三角測量原理
OpenMV是一款體積小、功耗低、成本低、能夠輕松完成機(jī)器視覺及圖像采集處理的傳感器。并且能夠運(yùn)用高級語言Python所編寫的視覺識別算法對其相應(yīng)的操作,使其能夠?qū)?fù)雜的圖像進(jìn)行處理并輸出我們所需的數(shù)據(jù)。
本系統(tǒng)利用OpenMV,通過LBP特征提取算法,進(jìn)行人臉檢測及人臉追蹤。將OpenMV提取到的人臉信息進(jìn)行解析,發(fā)送至主控板,通過主控板控制相應(yīng)的器件,實(shí)現(xiàn)面向游客講解景區(qū)內(nèi)容。OpenMV攝像頭如圖4所示,人臉識別部分代碼如圖5所示。
圖4 OpenMV攝像頭
圖5 人臉識別部分代碼
基于程序模塊化的設(shè)計(jì)理念,本系統(tǒng)設(shè)計(jì)了主程序、各功能子程序以及HMI程序。主程序流程如圖6所示,HMI程序流程如圖7所示。
圖6 主程序流程
圖7 HMI程序流程
各功能子程序主要包括初始化子程序、數(shù)據(jù)采集子程序、WIFI無線通信子程序等。系統(tǒng)上電后,先對整個(gè)系統(tǒng)程序進(jìn)行初始化,首先將單片機(jī)的I/O口的工作模式,串口的波特率等參數(shù),以及NVIC和EXTI控制器的工作狀態(tài)進(jìn)行相應(yīng)的設(shè)置,隨后對系統(tǒng)所用到的各種傳感器(如:紅外測距傳感器、人體感應(yīng)傳感器、超聲波傳感器等),液晶(LCD)顯示屏以及WIFI通信模塊等外部連接設(shè)備進(jìn)行初始化操作,使其整個(gè)系統(tǒng)進(jìn)入待機(jī)狀態(tài)。
本系統(tǒng)所用到的有些傳感器采集的是模擬信號,模擬信號是采用以下方式來處理的,首先是通過STM32單片機(jī)上的12位模數(shù)(A/D)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換;之后將轉(zhuǎn)換完成后的數(shù)字量依據(jù)本系統(tǒng)所采用自主設(shè)定的通信協(xié)議,按照相應(yīng)的數(shù)據(jù)格式完成與STM32單片機(jī)之間的信息傳遞。
信息的處理及數(shù)據(jù)的獲取是在相應(yīng)的功能子程序里的函數(shù)里進(jìn)行,之后在主程序里進(jìn)行調(diào)用,這樣不僅可以實(shí)現(xiàn)數(shù)據(jù)在一定的周期里不斷被更新還便于后期程序的調(diào)試。
為了驗(yàn)證系統(tǒng)各部分功能是否正常,對系統(tǒng)進(jìn)行了整體測試。在機(jī)器人初始化完成后,若對機(jī)器人說出“叮咚叮咚”則是喚醒機(jī)器人,之后可以對機(jī)器人進(jìn)行相關(guān)問題的詢問以及相關(guān)指令的傳達(dá),機(jī)器人則會根據(jù)所獲取的信息進(jìn)行處理并進(jìn)行相應(yīng)操作。同時(shí)也可通過LCD顯示屏進(jìn)行機(jī)器人的相應(yīng)操作。
在機(jī)器人運(yùn)行過程中,當(dāng)感知到障礙物時(shí)且紅外測距傳感器的數(shù)值變化范圍大于程序閾值時(shí),機(jī)器人會根據(jù)實(shí)時(shí)情況對障礙物進(jìn)行規(guī)避,防止發(fā)生一些不必要的失誤。OpenMV測試程序如圖8所示,語音模塊手機(jī)端測試程序如圖9所示。
圖8 OpenMV測試程序
圖9 語音模塊手機(jī)端測試程序
本系統(tǒng)通過STM32單片機(jī)與物聯(lián)網(wǎng)技術(shù)、WIFI通信技術(shù)的有機(jī)結(jié)合實(shí)現(xiàn)了一種迎賓機(jī)器人的控制系統(tǒng)。該系統(tǒng)可以實(shí)現(xiàn)路線自主規(guī)劃、面部及語言識別、人機(jī)對話、智能追隨等功能??梢允箼C(jī)器人能夠獨(dú)立完成知識查詢、路線規(guī)劃、場景介紹、引導(dǎo)游覽等迎賓互動(dòng)任務(wù)。本系統(tǒng)通過對于不同場景的不同情況進(jìn)行功能測試分析,最終結(jié)果表明,本系統(tǒng)實(shí)現(xiàn)了成本低、性能高、穩(wěn)定性好的迎賓機(jī)器人控制系統(tǒng)。