语音识别及控制技术在防褥疮多功能医疗床系统中的应用
Application of Speech Recognition and Control Technology in Multi-Functional Medical Bed System for Preventing Bedsores
DOI: 10.12677/MET.2019.82017, PDF, HTML, XML, 下载: 851  浏览: 1,469  科研立项经费支持
作者: 王 园*, 李光泽, 杨 帆, 谢金亮, 田兴丽:天津职业技术师范大学,自动化与电气工程学院,天津
关键词: 防褥疮医疗床语音控制STM32单片机多功能便利Bedsore Prevention Medical Bed Voice Control STM32 MCU Multi-Functional and Convenient
摘要: 预防褥疮发生是临床护理工作的重要内容,根据患者或护理人员的意愿,自动进行床位方式的调整,将减少局部组织长期受压,减轻患者痛苦。基于此,本项目针对防褥疮多功能医疗床的控制需求,研究了语音识别技术。可通过语音控制医疗床的推背翻身、坐姿转换、自由抬落腿等功能。该研究有较高实用性和经济效益。
Abstract: Prevention of bedsore is an important part of clinical nursing. Automatic adjustment of bed mode according to patients’ or nurses’ wishes will reduce long-term local tissue pressure and alleviate patients’ pain. This project studies the speech recognition technology for the control requirements of the multifunctional medical bed for preventing bedsores. The voice can control some functions of the medical bed, such as pushing and turning, sitting position conversion, free lifting and falling leg, etc. The study has high practicality and economic benefits.
文章引用:王园, 李光泽, 杨帆, 谢金亮, 田兴丽. 语音识别及控制技术在防褥疮多功能医疗床系统中的应用[J]. 机械工程与技术, 2019, 8(2): 133-139. https://doi.org/10.12677/MET.2019.82017

1. 引言

语音识别是当今的热门研究之一,基于非特定人的语音识别类医疗康复产品,不仅体现了便利性,更体现了实用性和人性化的特点,具有广阔的应用前景。目前,国内医疗护理床多采用人力的方式进行调整(如抬背),在当前人口老龄化、癌症病例急剧增长、护理人员缺乏等社会背景下,靠人力调整床位的使用方式受到使用限制。长期卧床的病人由于长期一个姿势,导致褥疮情况多有发生,增加了患者的痛苦、治疗和护理困难。如何采用现代人机交互技术提高对瘫痪或功能障碍者的生活质量已成为人们关注的话题。

根据当前医疗护理床存在的功能单一的缺陷,我们研究了一款可实现推背翻身、坐姿转换、自由抬落腿等功能的医疗床,如图1所示。本文基于语音识别和控制技术,通过语音控制该医疗床,实现人机交互 [1] 。

Figure 1. Medical bed simulation chart for bedsore prevention

图1. 防褥疮医疗床模拟图

2. 控制系统的总体设计

基于智能化和实用性的设计理念,本项目设计的医疗床采用模块化设计,可根据功能需要进行模块组合,并整合多自由度运动控制、人机交互、自动控制、智能通信等多学科领域新技术来实现方案。该项目的总框图及总体设计流程图如图2所示。

Figure 2. General block diagram of the project

图2. 项目的总框图

本项目最大的特点和便利之一就是在于人机交互,一般的防褥疮医疗床都是人力操作,而这个是语音识别的非接触式操作,当语音识别匹配成功就会发出一个信号代码,然后通过信号口传给单片机,单片机接收到相应代码就会发出相应指令给电机,电机就可以做出相应部分的上电工作从而使床体翻转、抬降等有利于患者的一系列动作。

2.1. 语音识别设计

语音识别主要目的是通过输入语音,实现对防褥疮医疗床的推背翻身、坐姿转换、自由抬落腿等功能,可分为语音采集、特征学习、识别匹配三个阶段。为了使该医疗床具有普适性,采用隐马尔可夫模型技术,提高语音在混响环境下的识别精度。语音识别系统框图如图3所示:

Figure 3. Speech recognition system block diagram

图3. 语音识别系统框图

语音识别包括硬件和软件两部分:

硬件部分采用ICRoute公司设计生产的语音识别传感器专用芯片LD3320进行语音识别 [2] 。通过ICRoute公司特有的快速稳定的优化算法,LD3320提供了真正的单芯片语音识别解决方案,芯片上集成了高精度的A/D和D/A接口,不再需要外接辅助的Flash和RAM,即可实现语音识别/声控/人机对话功能。并且使用者可以根据自己的实际需要对关键词列表进行动态编辑,可以支持用户自由编辑50条关键词语,完成非特定人语音识别,识别准确率达95%。

软件部分为语音采集后,采用第1步学习训练阶段,如上图3所示,训练模块所用的语音信号通常采集于无干扰的实验室环境,将语音按照特征提取,形成语音库;第2步为测试识别阶段,待识别的语音来自于干扰的环境,录入的语音信号首先经过预处理,通过采样、反混叠滤波、语音效果增强等功能去杂音。然后进行特征提取,从语音信号波形中提取一组或几组能够描述语音信号特征的参数,按照一定的准则求取待测语音特征参数,与语音库中相应模板进行失真测度,最匹配的就是识别结果。最后就是将匹配结果输给控制系统。

语音程序流程图如图4所示。将语音库的语音训练程序和识别程序分别做成模块,定义为不同的函数,可在主程序中调用。

其中,预处理部分,通过抗混叠滤波将信号频谱上的杂音区段与目标语音信号区分,获得目标信号。采用端点检测,旨在确定语音信号的起始位置,避免非语音时段噪声混入。采用手动截取语音方式,用户按住特定按键完成语音信号的采集。

特征提取采用隐马尔可夫模型对语音的时序进行建模,分为三个模型,分别为评估模型、解码模型和学习模型。

语音匹配即将当前语音的特征向量与语音库中的模板进行匹配得出结果。为了实现对非特定人语音指令的识别,系统采用非特定人的孤立词识别系统。非特定人的语音识别是指语音模型由不同年龄、不同性别、不同口音的人进行训练,形成语音库。当匹配时不需要重新训练就可以识别说话人的语音。通过预加重和加窗,短点检测,特征提取等方法,将识别信息与语音库的模式进行训练和匹配。

Figure 4. Program flow chart ((a) is the speech training process, (b) is the speech recognition process, and (c) is the main program)

图4. 程序流程图((a) 为语音训练流程,(b) 为语音识别流程,(c) 为主程序)

2.2. 控制设计

根据医疗床所需要的模拟推背翻身、坐姿转换、自由抬落腿等功能,需要单片机进行控制。智能医疗床面向丧失行动能力的人群,所以需要一个能够执行先进的电机控制功能的通用微控制器,它必须有精确的控制,抗干扰能力,稳定性,还要保证足够的安全性。电机控制系统要求微控制器必须具备卓越的实时响应性(中断延时短)、优异的控制性能。与传统的单片机控制方案相比,STM32F103芯片控制系统具有经济性好,处理速度快,实时性好,集成度高和抗干扰性强等优点,能较好地实现交流伺服电机的精确位置定位及匀速运转控制。在安全方面只要“紧急停止”引脚被拉低,所有的I/O引脚都被置于用户可配置的安全状态,这个功能设计采用组合逻辑模块,当主时钟(晶体)失效时,内部切换到后备振荡器之前,可确保保护电路仍然能够正常工作。基于以上特性所以选用STM32F103芯片,STM32F103系列属于中低端的32位ARM微控制器,具有低功耗睡眠、停机和待机模式,利用VBAT为RTC和后备寄存器供电。它适用于:电力电子系统方面的应用、电机驱动、应用控制、医疗、编程控制器(PLC)、变频器等领域 [3] 。

基于DSP芯片来将语音信号处理转换为数字信号,STM32F103芯片控制系统来处理这些信号,分别控制不同功能的电机工作。使用端口GPIOA来连接电机,所以给GPIOA编程就可以控制电机。使用系统时钟SysTick来周期性的给电机发送脉冲,通过开关按键或语音输入信号控制脉冲。如图5所示为内部控制转换流程图。

电机采用直流无刷电机,设置一个电机总控制程序,通过语音信号“停”和“复位”或相应按键,来控制所有电机停止工作和恢复初始位置。

Figure 5. Internal control conversion flow chart

图5. 内部控制转换流程图

3. 语音识别的软硬件实现

3.1. 语音识别电路

LD3320采用并行方式直接与STM32F103相接,均采用1千欧电阻上拉,A0用于判断是数据段还是地址段;控制信号RDB、WRB、CSB,复位信号RSTB以及中断返回信号INTB与STM32F103直接相连,采用10千欧电阻上拉,辅助系统稳定工作;MBS (引脚12)作为麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风 [4] 。原理图如图6

Figure 6. Schematic diagram of speech recognition unit

图6. 语音识别单元原理图

3.2. 编程实现

参考LD332X开发手册 [4] ,本文采用中断方式,其工作步骤有:

(一) 初始化:语音识别初始化程序如下

voidLD_Init_ASR()

{

nLD_Mode=LD_MODE_ASR_RUN;

LD_Init_Common();

LD_WriteReg(0Xbd,0x00);

LD_WriteReg(0x17,0x48);

delay(10 );

LD_WriteReg(0x3C,0x80);

LD_WriteReg(0x3E,0x07);

LD_WriteReg(0x38,Oxff);

LD_WriteReg(0x3A,0x07);

LD_WriteReg(0x40,0x00);

LD_WriteReg(0x42,0x08);

LD_WriteReg(0x44,0x00);

LD_WriteReg(0x46,0x08);

delay(1);

}

(二) 写入识别列表。每个识别条目对应一个特定编号(1个字节),编号可以相同,可以不连续但一定小于256 (00H~FFH)。此芯片最多支持50条。每个识别条目都是普通汉语拼音小写形式,每两个音之间用一个空格隔开。表1是本文用到的几个简单实例。

Table 1. Identify list instances

表1. 识别列表实例

(三) 语音识别。麦克风音量可设定值OOH~7FH,建议设置值为40H~6FH,值越大代表MIC音量越大,识别启动越敏感,但可能带来更多误识别;值越小代表MIC音量越小,需要近距离说话才能启动识别功能,好处是对远处的干扰语音没有反应。该项目中设定值为43H。

(四) 响应中断。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。而中断程序要根据寄存器的值分析结果。读取BA寄存器的值,可以知道有几个候选答案,而C5寄存器里的答案是得分最高、最可能正确的答案。

4. 语音控制系统在护理床中的功能测试

由于应用的环境不一样,在医院人员嘈杂的情况下麦克风设定值为43H (在实验室嘈杂的环境下进行反复测试)得出的结果如下表2

Table 2. Functional test

表2. 功能测试

由此得出,模拟医院得出测试成功概率为89.87%,可见效率还算可观。

如果是在家里护理患者,相对安静一些就可以设定更高的麦克风设定值,灵敏度更高,误操作概率也大大降低,准确率大大提高。

5. 结束语

本文主要是通过语音识别和控制系统达到对医疗床的功能的控制,具有实用性、智能性、人性化等特点,不仅可减轻患者痛苦,也使护理员照顾不再困难,提高了患者和家属的幸福指数。

基金项目

本项目由大学生创新创业训练计划项目(编号:201810066068)资金支持。

参考文献

[1] 王学龙. 可语音识别的多功能自动化电动护理床控制系统研制[J]. 自动化应用, 2018(6): 17-18.
[2] 蔡亚芹. 语音识别技术在智能家居系统中的应用[J]. 河南科技, 2014, 7(6): 68.
[3] STM32F103x8/B增强型系列中容量产品数据手册[EB/OL].
http://www.st.com/stonline/products/literature/ds/13587.pdf, 2015-08.
[4] LD332X语音识别芯ICRoute [EB/OL].
http://www.icroute.com/web_cn/DownLoad.html, 2010-03-10.