劉仲鵬 王雙鳳

摘要:隨著人們對疫情防控的高度重視,科技“抗疫”逐漸成為發展趨勢。為了滿足疫情下對溫度快速測量及防疫知識宣講的需求,文章基于OneNET平臺,從人體溫度采集、人臉追蹤、語音交互等硬件設計進行了分析和研究,設計了智能溫檢及防疫宣傳機器人。實驗證明,該機器人能夠應用到人流量大的公共場所溫度檢測及防疫知識宣講工作中,可以實時準確采集人體體溫,隨時隨地進行防疫知識宣傳,有效減少宣講時人與人之間的接觸。
關鍵詞:人體測溫;防疫宣傳;語音交互;人臉追蹤
中圖分類號:中圖分類號 ?文獻標志碼:文獻標志碼
0 引言
本文將 OneNET 云平臺與下位機結合,連接信息采集傳感器及語音傳感器,實現遠程測溫及防疫知識宣講等功能。
1 系統原理及方法
1.1 系統設計架構
整套系統由云平臺上位機及下位機結合而成。下位機包含主控模塊、感知模塊、語音交互模塊、驅動模塊、監控模塊和無線通信模塊。本系統采用Arduino Mage2560作為主控模塊,實現控制舵機、藍牙、人體紅外等傳感器能夠正常運行。感知模塊選擇人體紅外感知傳感器、紅外測溫傳感器 和小幻熊AI視覺模塊[1],主要負責對周圍人體感知及測量人體體溫。語音交互模塊選擇語音識別模塊、MP3模塊,主要負責播放防疫資料音頻。本系統采用當前較為先進的ROS系統作為機器人的底盤驅動系統[2],適合于運輸空間有限、運行通道窄的環境,主要負責機器人的移動、精確定位和高精度軌跡控制。監控模塊由樹莓派3外接ts832S圖傳模塊構成,采用VNC遠程屏幕傳遞技術,主要負責對周圍環境的實時監控。無線通信模塊采用WiFi無線技術。該技術具有傳輸速度快、可靠性高、實現成本低、覆蓋范圍廣以及組網方便的優點,非常適合低速率傳輸的無線傳感器網絡。
本系統工作原理為處理器驅動外設采集數據,利用藍牙傳輸體溫數據。智能溫檢及防疫宣傳機器人實現了代替人工宣講的目的,有效減少了宣講時人與人之間的接觸,同時精準測量體溫大大減少了人力,實現更有效的疫情防控。
1.2 系統功能簡介
本系統由云平臺和硬件結合而成,通過電腦建立當前地形的二維地圖,根據指令自動導航;通過語音識別編碼設有的指令,播放每個指令對應的防疫資料音頻,能夠通過控制屏幕的角度,實現用戶的臉部追蹤,進而實現機器人代替人工宣講的目的,同時采用紅外測溫傳感器測量人的體溫[3],通過藍牙模塊將體溫數據上傳到顯示屏及OneNET云平臺。
具體實現的功能如下:(1)體溫監測,異常報警。GY-906紅外溫度傳感器對用戶進行測溫,如果體溫超過規定值37.3℃,屏幕會彈出警告頁面并通過藍牙模塊將用戶的體溫數據上傳到屏幕上。(2)人臉識別,屏隨人轉。智能溫檢及防疫宣傳機器人可以通過人臉識別模塊檢測用戶的位置,從而調整舵機來控制屏幕的角度,使屏幕能夠直觀地呈現在用戶面前。(3)語音交互,實時交流。用戶可以說出指令,機器人通過語音識別指令,播放其對應的防疫資料音頻,實現通過語音對話播放關于防疫的視頻資料,用戶也可點擊屏幕上面的防疫指令按鈕進行播放。(4)自主運動,自動避障。智能溫檢及防疫宣傳機器人能夠進行自動避障,準確有效地規避障礙物。(5)雷達建圖,自主導航。智能溫檢及防疫宣傳機器人能夠實時掃描周圍環境并將數據上傳至電腦。
1.3 系統創新特點
本設計具有自動避障、實時監測體溫、遠程控制、后端數據庫存儲、語音交互和人臉追蹤等功能。
(1)本設計裝備的底盤具有可二維平面無死角自由漂移的高精度移動功能,可通過單獨控制輪子的速度和轉向,實現車的直行、橫行、斜行、原地旋轉等運動。
(2)本設計能夠隨時隨地檢測周邊用戶的體溫。如果體溫異常,屏幕會彈出警告提醒,能夠在疫情的大背景下實現體溫檢測,最大程度地保障了用戶的身體健康。
(3)本設計可以進行遠距離傳輸實現對體溫數據的檢測并上傳到OneNET云平臺,也可以遠距離實現對溫度數據的提取。
(4)本設計具有后端數據庫存儲技術,高度安全。
(5)本設計可建立地圖和自主導航,適用于各種生活應用場景,能夠實現用戶的臉部追蹤,從而控制屏幕的角度,增強和用戶的互動性。
2 系統硬件設計
2.1 系統整體設計
系統下位機使用Arduino Mage2560開發板進行信息處理。紅外測溫模塊將檢測到的溫度數據傳給Arduino Mage2560開發板。開發板將數據上傳至App,同時會判斷體溫是否過高。如果體溫高于規定值37.3℃,屏幕會進行報警提示。另外,搭配語音識別模塊檢測用戶指令,根據用戶發出的不同指令控制MP3語音播放模塊和顯示屏播放不同的防疫宣傳音頻。此設計為方便用戶操作,還提供了人臉追蹤功能,開發板通過小幻熊AI視覺模塊監測人臉信息,控制舵機轉動,從而使得屏幕始終面向用戶,更好地向用戶宣傳防疫知識。系統使用小車底盤驅動,通過ROS建圖使小車在指定區域范圍自動移動,進行防疫宣傳與溫檢。
上位機使用OneNET云平臺進行數據的顯示與系統的控制。通過ESP8266 WiFi模塊將系統連接至OneNET云平臺,隨時隨地控制系統移動并獲取溫檢數據,減少人員接觸,降低傳播風險。系統整體設計如圖1所示。
2.2 各模塊硬件設計
2.2.1 信息采集模塊設計
系統所使用的核心模塊主要包括:紅外測溫模塊(GY-906-BCC)、MP3語音播放模塊(DY-SV5W)、語音識別模塊(LD3320)、小幻熊AI視覺模塊、ESP8266 WiFi模塊。紅外測溫模塊用于測量被檢人員的體溫,將數據實時上傳到App;小幻熊AI視覺模塊和人臉識別模塊用于實時監測、收集人臉信息??刂瓢鍘佣鏅C模塊來調整屏幕角度,使屏幕始終面向用戶。語音識別模塊監測用戶的語音指令,從而配合MP3語音播放模塊播放不同的防疫宣傳音頻。
體溫數據的顯示以及系統的部分移動控制在OneNET云平臺上進行,因而信息傳輸很重要。若要做到連接穩定并且能夠經受大數據量的考驗,連接系統下位機與上位機的WiFi模塊的選擇非常重要,要選擇一款功耗低、性能穩定的WiFi模塊,以滿足系統信息傳輸的需求。
2.2.2 語音交互與防疫音視頻播放模塊設計
語音交互模塊包括語音識別模塊與MP3語音播放模塊,語音識別模塊可以接收人們的語音指令,同時采用口令模式,使用特定的口令控制可以避免在嘈雜的環境中誤操作的情況發生。MP3語音播放模塊內置SD卡,用來存儲所需的音頻,在接收到特定的指令后進行防疫相關音頻的播放。以下是語音交互過程代碼具體實現。
void ProcessInt(void)
{
u8 nAsrResCount=0;
ucRegVal = WE.LD_ReadReg(0x2B);
WE.LD_WriteReg(0x29,0) ;
WE.LD_WriteReg(0x02,0) ;
if((ucRegVal & 0x10)&&WE.LD_ReadReg(0xb2)==0x21&&WE.LD_ReadReg(0xbf)==0x35)
{
nAsrResCount = WE.LD_ReadReg(0xba);
if(nAsrResCount>0 && nAsrResCount<=4)
{
nAsrStatus=LD_ASR_FOUNDOK;
}
else
{
nAsrStatus=LD_ASR_FOUNDZERO;
}
}
else
{
nAsrStatus=LD_ASR_FOUNDZERO;
}
WE.LD_WriteReg(0x2b,0);
WE.LD_WriteReg(0x1C,0);
WE.LD_WriteReg(0x29,0);
WE.LD_WriteReg(0x02,0);
WE.LD_WriteReg(0x2B,0);
WE.LD_WriteReg(0xBA,0);
WE.LD_WriteReg(0xBC,0);
WE.LD_WriteReg(0x08,1);
WE.LD_WriteReg(0x08,0);
}
2.2.3 驅動模塊設計
智能溫檢及防疫宣傳機器人的底盤驅動系統搭建了一個類似的小型服務器用作電腦和機器人之間的數據傳送中轉站,在Ubuntu16 系統上設立腳本程序,可遠程登錄機器人身體上的路由器,通過機器人底盤上的激光雷達掃描記憶當前周圍環境。當周圍的二維平面地圖建立完成后可以通過電腦進行節點搭建。智能溫檢及防疫宣傳機器人能夠自動規劃導航路線,實現自主導航到達目標地址。
2.2.4 信息傳輸模塊設計
信息傳輸模塊選用具有超低功耗并且價格低的ESP8266 WiFi模塊。它是一款具有超低功耗的UART-WiFi 透傳模塊,擁有業內極具競爭力的封裝尺寸和超低能耗技術,性能穩定,通過ESP8266 WiFi模塊將體溫數據上傳至OneNET云平臺,實現文件數據的匯總顯示,可通過云平臺實現遠程的控制,減少人員非必要接觸。
3 系統軟件設計
3.1 系統軟件開發環境
本系統設計采用開源電子原型平臺的軟件開發環境,需要安裝Arduino IDE開源編譯的工具,使用該工具編譯并燒錄代碼到Aduino Mage2560開發板。
3.2 設備云App設計
為方便溫檢人員隨時隨地進行數據監測以及系統控制,該系統提供了設備云App,可安裝在手機上,使得溫檢人員對系統的使用更加方便快捷,如若發現體溫異常,也可第一時間接到消息并做出相應處理。
該應用內部界面會同步PC端的界面,只需登錄賬戶,便可進行與PC端相同的操作,獲取實時的溫檢數據。
3.3 上位機云端的設計
本裝置利用OneNET云平臺作為上位機,用來統計、分析體溫數據信息。云平臺可視化界面能夠清晰地看到人們的體溫信息、接入測溫設備的數量等信息。本系統還可以進行系統的移動控制,如果不需要系統按規劃地圖運行,可以使用云平臺遠程控制系統。
(1)體溫顯示界面。OneNET云平臺會根據上傳的數據實時顯示體溫數據[4],生成統計圖,方便溫檢人員觀看及數據分析,同時如果發生體溫異常,也可及時發現、及時處理。
(2)接入設備信息顯示界面。顯示接入設備的ID、用戶ID以及實時接入的設備數量等信息,溫檢人員可以通過設備ID選擇不同的設備對不同地點的防疫安全情況進行監測。
(3)在云平臺和手機端都可以通過調用Loop()函數實現按鍵控制城市防疫宣傳及測溫助手機器人完成操控。以下是Loop()函數的具體實現。
while (client.available())//available()表示是否可以獲取到數據
{
char val = client.read();
if(val=='a')
{
digitalWrite(D1, HIGH);
digitalWrite(D2, HIGH);
Serial.println("\n 前進");
}
if(val=='b')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='c')
{
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
Serial.println("\n 后退");
}
if(val=='d')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='e')
{
Serial.println("\n 左轉");
digitalWrite(D2, HIGH);
}
if(val=='f')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='h')
{
digitalWrite(D1, HIGH);
Serial.println("\n 右轉");
}
if(val=='g')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='j')
{
digitalWrite(D3, HIGH);
Serial.println("\n 后退右轉");
}
if(val=='k')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='l')
{
digitalWrite(D4, HIGH);
}
if(val=='m')
{
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
Serial.println("\n 停");
}
if(val=='o')
{
digitalWrite(D5, HIGH);
delay(500);
digitalWrite(D5, LOW);
}
if(val=='p')
{
digitalWrite(D8, HIGH);
delay(500);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D8, LOW);
}
if(val=='r')
{
digitalWrite(D6, HIGH);
delay(500);
digitalWrite(D6, LOW);
}
if(val=='s')
{
digitalWrite(D8, HIGH);
delay(500);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
digitalWrite(D8, LOW);
}
if(val=='t')
{
digitalWrite(D7, HIGH);
}
if(val=='u')
{
digitalWrite(D7, LOW);
}
if(val=='v')
{
digitalWrite(D8, HIGH);
delay(500);
digitalWrite(D8, LOW);
}
if(val=='w')
{
digitalWrite(D8, HIGH);
delay(500);
digitalWrite(D8, LOW);
digitalWrite(D5, LOW);
digitalWrite(D6, LOW);
}
uint8_t c = client.read();
Serial.write(c);
}
if (Serial.available())
{
delay(50);
size_t counti = Serial.available();
uint8_t sbuf[counti];
Serial.readBytes(sbuf, counti);
delay(50);
client.write(sbuf, counti);
}
4 結語
本系統基于OneNET平臺,結合傳感技術、無線通信技術,設計了智能溫檢及防疫宣傳機器人,具有實時監測體溫、語音交互、人臉追蹤、自動避障和遠程控制等功能,但技術仍有不完善之處。本系統可應用于不同的生活場景,如校園社區、商場、街道市場、高鐵站、火車站等公共場所。
參考文獻
[1]邱來奇.基于ROS的移動機器人設計及路徑規劃研究[D].阜新:遼寧工程技術大學,2020.
[2]曹潤強.紅外測溫儀的設計[J].攀枝花學院學報,2006(6):87-89.
[3]錢浩.VNC圖像傳輸關鍵技術的研究[D].重慶:重慶郵電大學,2017.
[4]柳剛,黃竹鄰,周昊,等.非接觸式紅外測溫儀的研制[J].光電子科技與信息,2005(5):69-72.
(編輯 王永超)
Design of intelligent temperature inspection and epidemic prevention propaganda robot
Liu Zhongpeng, Wang? Shuangfeng
(Baoding College, Baoding 071000, China)
Abstract:? Based on OneNET platform, combined with sensor technology and wireless communication technology, this paper analyzes and studies the hardware design of human temperature collection, face tracking, voice interaction and cloud platform design, and designs an intelligent temperature detection and epidemic prevention propaganda robot. The robot has been designed and verified by hardware, and the test results are good. It can be applied to temperature detection and epidemic prevention knowledge propaganda in public places with dense human flow, and can collect human body temperature in real time and accurately. Propaganda of epidemic prevention knowledge can be carried out anytime and anywhere, so as to effectively reduce the contact between people during propaganda.
Key words: human body temperature measurement; epidemic prevention publicity; voice interaction; face tracking