首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

联合血氧信号与虚拟现实交互的上肢康复训练方法及装置 

申请/专利权人:佛山科学技术学院

申请日:2024-04-29

公开(公告)日:2024-06-25

公开(公告)号:CN118079329B

主分类号:A63B23/12

分类号:A63B23/12;A63B24/00;A63B71/06;G16H20/30

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2024.06.14#实质审查的生效;2024.05.28#公开

摘要:本发明涉及联合血氧信号与虚拟现实交互的上肢康复训练方法及装置,包括,获取固定设置于上肢推举器前端的激光测距传感器的第一数据,并基于第一数据计算用户手臂伸展的范围;获取关键位置的Kinect体感器的坐标作为第二数据,并基于第二数据计算用户手臂弯曲的角度;根据计算得到的用户手臂伸展的范围以及角度判断是否超过对应设定的区间,若是则进行第一交互对用户进行提醒,若否则进行第二交互对用户进行提醒;到达预设时长对用户进行训练结束相关提醒;获取用户的血氧数据,并将血氧数据于交互界面进行可视化展示,本发明保证了训练动作以及康复的有效性,同时用户又避免了花费额外时间去适应训练的动作,而且大大降低了训练的成本。

主权项:1.联合血氧信号与虚拟现实交互的上肢康复训练方法,其特征在于,包括以下:获取固定设置于上肢推举器前端的激光测距传感器的第一数据,并基于所述第一数据计算用户手臂伸展的范围;以肩部、肘部、手部的骨骼点作为关键点,获取对应位置的Kinect体感器的坐标作为第二数据,并基于所述第二数据计算用户手臂弯曲的角度;根据计算得到的用户手臂伸展的范围以及角度判断是否超过对应设定的区间,若是则进行第一交互对用户进行提醒,若否则进行第二交互对用户进行提醒;通过第三交互的方式对用户的推举行为进行时长统计,当时长统计值达到预设时长时,对用户进行训练结束相关提醒;获取用户的血氧数据,基于所述血氧数据对用户进行血氧状态评估,并根据评估结果更新设定的区间,同时将所述血氧数据于交互界面进行可视化展示;具体的,获取固定设置于上肢推举器前端的激光测距传感器的第一数据,并基于所述第一数据计算用户手臂伸展的范围,包括,定义三个变量,其中sensor.distance表示激光测距传感器当前测得的距离,initial_distance表示初始距离,push_data表示手臂伸展距离,且initial_distance-sensor.distance=push_data;获取推举器在未被用户推动时的第一sensor.distance,将此时第一sensor.distance的值赋予initial_distance并保持initial_distance不变;读取sensor.distance的实时值,则可以计算得到push_data的实时值,即为用户手臂伸展的范围;具体的,获取对应位置的Kinect体感器的坐标作为第二数据,并基于所述第二数据计算用户手臂弯曲的角度,包括,假定计算的对象为用户的左手手臂,右手同理,定义A(x1,y1,z1)点表示ElbowLef即左肘,B(x2,y2,z2)点表示ShoulderLeft即左肩,C(x3,y3,z3)点表示HandLeft即左手,以A点为角度计算的中心点,则有如下计算式关系,向量AB=B-A=x2-x1,y2-y1,z2-z1=X1,Y1,Z1,向量AC=x3-x1,y3-y1,z3-z1=X2,Y2,Z2,然后计算两个向量的点积V=AB*AC=X1*X2+Y1*Y2+Z1*Z2,然后分别计算两个向量的模:|AB|=,|AC|=,然后计算AB,AC之间的夹角COSɑ=V|AB|*|AC|,最后使用反余弦公式计算出角度ɑ=arccosCOSɑ,此时角度ɑ以弧度为单位,故需要转换为角度:θ=ɑ*180π,则θ即为用户手臂弯曲的角度;具体的,根据计算得到的用户手臂伸展的范围以及角度判断是否超过对应设定的区间,若是则进行第一交互对用户进行提醒,若否则进行第二交互对用户进行提醒,包括,定义变量set_range表示为设置为推动的范围,当push_dataset_range,或用户手臂伸展的角度超出设定的区间时,则进行第一交互即控制虚拟人物于右侧道奔跑,当push_data≤set_range,且用户手臂伸展的角度没有超出设定的区间时,则进行第二交互即控制虚拟人物于左侧道奔跑;具体的,控制虚拟人物奔跑的方法包括,读取虚拟人物于交互界面中的坐标点,定义为position(x,y,z),其中,x坐标表示为人物左右移动的方向,y坐标表示为上下移动的方向,z坐标表示前后方向,且将y设置为0,通过调用时间函数Time.deltaTime,此函数表示秒时间函数,只需将positon.z+=1*speed_z*Time.deltaTime即可实现通过调整speed_z参数让人物以相应的速度奔跑,其中speed_z为人为设定的档位参数;所述方法还包括,在用户进行康复训练时开始计时,当累计时长达到门限时长时,用户手臂伸展的范围以及角度均未发生变化,则判断用户在规定时间内没有做出往上推的动作,对用户进行第五交互,告知用户进行训练;所述方法还包括,当一次康复训练结束后,还会进行相关数据保存,具体如下,定义data是用户推动范围变化的数据,set_distance是设置的伸展范围,Theta_left是用户左手手臂弯曲角度的数据,Theta_right表示右手手臂弯曲角度的数据,mark表示标志值,即当用户手臂推动范围超过设置的范围,就做一个标志即累加一次,首先将以上参数的数据转换为字符串类型数据,然后创建一个字符串类型的数据列表csvData:ListstringcsvData=newListstring;接着设计了一个计时函数,WaitForSeconds0.1f每0.1秒将data,set_distance,Theta_left,Theta_right,mark参数数据放入csvData类别,当训练结束后,触发OnApplicationQuit函数,自动将csvData列表的数据转换为CSV格式文件,保存在制定文件夹中;所述方法还包括,定义如下变量,其中change_Variable表示推动范围的实时变化,targetValue表示目标推动范围,startTime表示开始计时时间变量,endTime表示结束计时时间变量,cul_Time表示完成一次推举花费时间;通过计算:cul_Time=endTime-startTime;当change_Variable0时,开始计时startTime=Time.time;当change_VariabletargetValue时,停止计时endTime=Time.time;定义一个float型的列表timeDataList用于存储每次推举到目标位置的花费时间cul_Time;当一次训练结束后,将timeDataList保存下来,以计算用户平均花费的时间,判断用户平均完成一次推举动作花费的时间处于哪一个预设花费区间,进而根据预设花费区间与康复情况的映射关系得到用户本次训练的康复情况;具体的,获取用户的血氧数据,基于所述血氧数据对用户进行血氧状态评估,并根据评估结果更新设定的区间,同时将所述血氧数据于交互界面进行可视化展示,包括,将检测肌肉血氧的设备绑定在用户的肌肉表面,通过蓝牙无线传输,将肌肉的血氧信号传入Python平台,然后通过TCP协议将肌肉的血氧传入到康复游戏当中,同时将血氧数据以数字的形式和图形的形式可视化;预设采样周期T,假定起始采样时刻为t,随机对(t,t+T)即一个周期时段内进行采样得到多个实时血氧值;定义时刻为横坐标轴、实时血氧值为纵轴,(t,0)为坐标原点,则构建的二维坐标系中于横坐标轴(t,t+T)间存在多个采样点;通过曲线拟合算法对多个采样点进行拟合得到第一曲线;对于下一周期即(t+T,t+2T),将第一曲线平移T个横坐标值至区间(t+T,t+2T)内得到平移后的第一曲线记为第二曲线;通过相同的采样方式得到(t+T,t+2T)周期时段内的多个实时血氧值,进而得到对应的采样点;计算(t+T,t+2T)周期时段内每个采样点到第二曲线的最短距离得到多个对应采样点的最短距离;统计多个最短距离中超过距离阈值的采样点的个数;判断超过距离阈值的采样点的个数是否大于个数阈值,若是则判断存在血氧波动事件,并将设定的区间的最大值以及最小值调整为原值的95%。

全文数据:

权利要求:

百度查询: 佛山科学技术学院 联合血氧信号与虚拟现实交互的上肢康复训练方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。