传染病房巡视护理机器人系统设计与实现
2022-12-11陈康裕吴燕玲宋全军李皓
陈康裕,吴燕玲*,宋全军,李皓
(1.安徽大学 电气工程与自动化学院,合肥 230601;2.中国科学院合肥物质科学研究院 智能机械研究所,合肥 230031)
0 引言
近年来,中东呼吸综合征、埃博拉病毒等重大传染性疾病在世界各地不断爆发,目前全球新型冠状病毒感染肺炎疫情依然形势严峻。面对大规模传染性疾病,传统的人工巡视护理需要医护人员长期与病人接触,承担着极高的感染风险[1,2]。另一方面,常规护理工作劳动强度密集,工作任务繁重,临床上容易发生因巡视不及时或漏巡视护理等工作失误,会造成不可预估的严重医疗后果。
机器人化、非接触式的护理作业是疫情防控的有效手段,为此研发一种用于传染病房巡视护理的轨道式悬挂机器人,用于代替医护人员完成部分巡视护理工作,减轻人员劳动强度,降低交叉感染风险。
1 机器人整体结构设计
1.1 机器人本体结构设计
传染病房巡视护理机器人主要有轨道、PC端后台、STM32H750XB开发板、电机驱动模块、控制摄像头、测温模块、超声波避障传感器等传感器模块。机器人本体结构如图1所示。
1.2 机器人机械结构设计
巡视护理机器人采用悬挂式轨道,充分利用病房顶部空间,减少对地面有限空间的占用。为了避免外界环境中的杂物对机器人行走机构的干扰,选用中空结构的U形悬挂式轨道。考虑到病房走廊与各个病房之间的弯道较多,且转弯半径小,提出了一种独立滑轮车并联机构,并联机构包括主动滑轮车和从动滑轮车,每个滑轮车通过底部的轴承可以绕车体360°旋转,可以适应变化的轨道。
主动滑轮车采用同步带传动以降低噪声,每个滑轮车都设计了自适应顶紧导向机构,包括与轨道内腔顶部接触的两个上顶轮、与轨道两侧壁接触的四个左右顶轮以及与轨道最底部间隙两侧壁接触的前后顶轮,上顶轮和左右顶轮在扭簧作用下一直与轨道滚动接触,保证了机器人行走的稳定性。通过设置的独立滑轮车并联机构、自适应顶紧导向机构,使得行走机构能通过的导轨转弯半径小,且转弯的时候保证巡视机器人运行平稳,过弯稳定。设计的机器人在满足50kg的载重下,最小转弯半径为0.5米,远超市面已有产品。机器人机械结构设计如图2所示。
图2 机器人机械结构设计图
2 机器人控制系统设计
2.1 机器人运动流程设计
机器人会按既定路线自动巡检并在每张病床前停留,经人脸识别核对病人信息无误,开始测量该病人的体征状态等信息,通过WIFI上传至后端平台记录分析。工作流程如图3所示。
图3 传染病房巡视护理机器人工作流程
2.2 机器人定点停靠算法设计
步进电机的功能是把电脉冲信号转换为固定的角位移,角位移量与接收到的电脉冲数成正比,转速与单位时间内接收到的电脉冲数成正比[4]。实际应用中步进电机启动和停止时,由于惯性会导致电机失步或过冲,所以在启动和停止时必须有加减速控制算法。
本设计利用SigMoid函数得到S曲线,其值域是0~1,其定义公式为:
式(1)中,a为函数倾斜参数。
当a取1,x取[-5,5],的对应曲线如图4所示。
图4 SigMoid函数
将S曲线离散化,得到公式:
式(2)中,vi为各点对应的线速度,vp为目标线速度,xi为各点对应的x值。
步进电机是开环的,所以采用了两个定时器C和P,定时器P作用是发出脉冲至与门Y输入端Yp,定时器C以定时器P的脉冲数作为时钟源技术,并输出控制与门输入端YC,设计思路如图5所示[5]。
图5 定时器设计
线速度与转速的转换公式为:
式(3)中,v为线速度,n为转速,d为轮子的直径。
听得心烦,陈颐磊也让人架起大喇叭,让几个留过洋,会日语的军官对着喇叭对喊:小鬼子,你们听着,爷爷八十六军在这里。你们睁大狗眼看看,八十六军阵地前面,你们丢了多少尸体,他们,就是你们的末日。想进攻就放手来吧,86军八十六军老少爷们奉陪到底……
步进电机转速公式为:
根据定时器输出PWM的频率公式:
式(5)中,SYSclk为72MHz,PSC为71,ARR取值为0~65535。
假设线位移是S,则算出所需脉冲数为:
进而得到加速各阶段的脉冲数值,将各阶段的脉冲输出至电机控制模块,进而平稳地控制机器人行走。并在指定位置加绝对路标,每次经过路标时,对里程写入绝对脉冲数以减少误差。
3 机器人功能设计
机器人主要功能包括巡视护理、人脸识别、体温检测、生命体征监测仪的数据识别、记录和分析、阈值报警和PC端后台的监测与控制。
3.1 机器人人脸识别
建立一个包含4个卷积层的神经网络,下载了近万张公开数据集的人脸图片用于训练人脸识别模型。为提升人脸识别的准确率,需要采集病人的一千张面部照片,但出于实际考虑,拍摄一千张照片工作量太大。所以病人入院后会采集面部视频20s,用程序将20s视频分解成一帧一帧的图片,摄像头帧率为60fps,理论上可以分解成1200张照片,对这些图片做预处理模型。
传染病房巡视护理机器人会自动地走到每个病床前,采集一段病人面部的视频,系统会把图片灰化,以降低计算复杂度,利用分类器识别出哪个区域为人脸,并截取面部图片输入已经训练好的神经网络,神经网络加载已经训练好的权重文件来识别待测人脸。
3.2 机器人体征检测
首先利用灰度变换将彩色图像变换为灰度图像,用中值滤波去除噪声。因为生命体征监测仪屏幕往往是规整的矩形,长宽比相对固定,色调纹理相对固定,通过图像二值化,边缘检测和基于色调的颜色微调等办法检测出原图中的生命体征监测仪屏幕的位置。把检测到的屏幕裁剪出,为数字的识别做准备。
在字符分割时,利用统计水平和竖直方向灰度值的投影法,将字符区域和字符间隔区分出来。在字符归一化阶段,对字符图片设置统一的尺寸,采用双线性插值的算法,为防止字符变形在缩放时采用按比例缩放填充背景的方式,制作出统一的模板字符。
用pytorch框架来写神经网络,加载已经训练好的权重,最后对已分割的数字字符做归一化处理,再调用该神经网络进行识别。生命体征监测仪的识别效果如图6所示,识别结果包含病人的心电、指氧饱和度、血压和呼吸频率等。
图6 识别效果图
采用非接触式红外线点阵式体温检测模块,最大测温距离有60cm,非接触式地测量病人额头温度,避免交叉感染。
根据新型冠状病毒肺炎诊疗方案(试行第八版)的临床特点,制定了如下正常体征的参数表格如表1[6]。如果上述体征结果不在该范围内,会二次检测,若还是异常会登记数据并报警。
表1 新型冠状病毒肺炎病人正常体征参数表
3.3 机器人后台设计
采用C++和QT技术开发PC端后台,C++用于实现底层逻辑,QT开发界面样式。后台可以控制机器人运动、照片拍摄、体温等体征检测、查看病人数据库历史信息等功能。采用TCP协议与机器人进行数据交互,病人面部照片、人脸识别结果、体温等体征状态、传染病房的温湿度和机器人的位置等信息均并通过无线上传至后端平台。
4 结语
通过平台的软硬件设计、搭建、编程和调试等,设计一种基于单片机的悬挂式轨道传染病房巡视护理机器人,具有自主巡视、病房环境监测、人脸识别、患者体征自动化采集、PC端后台记录分析病人体征等功能,系统样机实物图如图7(a)所示,PC端后台界面如图7(b)所示。经过实验室验证,该机器人能良好可靠地完成巡视护理工作。
图7 系统样机及后台界面