智能温检及防疫宣传机器人设计

2023-06-26 12:27刘仲鹏王双凤
无线互联科技 2023年8期

刘仲鹏 王双凤

摘要:随着人们对疫情防控的高度重视,科技“抗疫”逐渐成为发展趋势。为了满足疫情下对温度快速测量及防疫知识宣讲的需求,文章基于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视觉模块和人脸识别模块用于实时监测、收集人脸信息。控制板带动舵机模块来调整屏幕角度,使屏幕始终面向用户。语音识别模块监测用户的语音指令,从而配合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