外骨骼辅助下的步态识别方法、介质和设备

文档序号:26178035发布日期:2021-08-06 18:24阅读:280来源:国知局
外骨骼辅助下的步态识别方法、介质和设备

本发明涉及外骨骼步态识别领域,特别涉及一种外骨骼辅助下的步态识别方法、介质和设备。



背景技术:

外骨骼机器人模仿生物世界昆虫的外骨骼,是一种结合了人类智能的可穿戴设备,作为一种新型的机电设备,通过集成传感、控制、信息融合等技术,在为使用者提供保护的基础上,给使用者提供动力及其他服务。外骨骼技术有广阔的运用场景,在工业领域,外骨骼可以减轻工人负重,减少肌肉疲劳,降低腰肌劳损的风险;在医疗领域,外骨骼帮助行动不便的老人或残障人士恢复行动能力,帮助护理人员轻松抬起病人;在救灾领域,外骨骼可以帮助消防员或其他急救人员提供防护,携带氧气罐和其他呼吸设备;在军事领域,外骨骼可以将人背负的沉重的背包重量传导到地面,并提供充足的动力,减少在崎岖不平的山路上长途跋涉的能量消耗。

无外骨骼辅助条件下,将足底压力传感器放置在脚跟位置,可以在脚跟着地时,通过足底压力传感器信号判断脚跟着地,但由于对足底压力传感器往往需要进行滤波操作,会带来一定的延时。在踝关节外骨骼应用中,考虑到辅助力施加过程中往往带来对足底压力传感器的干扰,往往不使用足底压力传感器进行步态识别,或者通过增加足底压力传感器的数量来改善步态判断的抗干扰能力。



技术实现要素:

本发明的第一目的在于克服现有技术的缺点与不足,提供一种外骨骼辅助下的步态识别方法,该方法可以在使用单个足底压力传感器情况下,且足底压力传感器信号不进行滤波的条件下,提高步态识别的抗干扰能力和实时性,使得步态识别的准确度更高。

本发明的第二个目的在于提供一种存储介质。

本发明的第三目的在于提供一种计算设备。

本发明的第一目的通过下述技术方案实现:一种外骨骼辅助下的步态识别方法,包括步骤:

步骤s1、设置变量并且进行初始化,设置的变量包括步态状态state、步数step、脚底等效压力fsr和当前时间寄存器;

步骤s2、读取步态识别循环开始的当前时间ct,获取当前时间ct下足底压力传感器检测到的脚底等效压力fsr;

步骤s3、判定当前时间ct下的当前步态状态state,根据当前步态状态state,选择接下来判定是脚跟着地还是脚跟离地;其中:

若当前步态状态state表示为:脚跟离地,则接下来根据脚底等效压力fsr,判定是否满足脚跟着地的条件;

若是,则更新变量,包括更新步态状态和步数,然后进入到步骤s4;

若否,则进入步骤s5;

若当前步态状态state表示为:脚跟着地,则接下来根据脚底等效压力fsr,判定是否满足脚跟离地的条件;

若是,则更新变量,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s4、判定步数是否达到阈值f;

若是,则进行步态周期更新,并启动步态周期百分比计算,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s5、判定是否已经开启步态周期百分比计算;

若是,则进行步态周期百分比计算,然后进入步骤s6;

若否,则直接进入步骤s6;

步骤s6、判定步态识别是否继续;

若是,则在达到循环时间间隔t后,返回到步骤s2;

若否,则结束。

优选的,步骤s4中,设置的变量还包括:

阈值:fsrthres,当脚底等效压力fsr超过阈值时,视为脚跟着地;小于阈值时,视为脚跟离地;

第一隔绝时间:timehs2ho,脚跟着地后不进行脚跟离地判定的时间间隔;

第二隔绝时间:timeho2hs,脚跟离地后不进行脚跟着地判定的时间间隔;

第一步态周期时长寄存器变量:time1,上一个周期的步态周期时长;

第二步态周期时长寄存器变量:time2,距当前步态周期往前的第二个步态周期时长;

第三步态周期时长寄存器变量:time3,距当前步态周期往前的第三个步态周期时长;

最小步态周期时长:timemin,步态周期时长最小值;

第一脚跟着地时间寄存器:timelast1,前一次脚跟着地时间;

第二脚跟着地时间寄存器变量:timelast2,距现在往前第二次脚跟着地时间;

第三脚跟着地时间寄存器变量:timelast3,距现在往前第三次脚跟着地时间;

当前脚跟着地时间:timehs;

当前脚跟离地时间:timeho;

上一个平均步态周期时长:timecyclelast;

当前步态周期时长:timecyclenow;

步态周期百分比:timepercent。

更进一步的,步骤s3中,在当前步态状态state为脚跟离地时,脚跟着地的判定条件为:脚底等效压力fsr大于阈值fsrthres,且当前时间ct与最近一次记录的脚跟离地时间timeho’之差大于第二隔绝时间timeho2hs;即当满足以下条件时,判定脚跟着地:

fsr>fsrthres且ct-timeho’>timeho2hs;

步骤s3中,在当前步态状态state为脚跟着地时,脚跟离地的判定条件为:脚底等效压力fsr小于阈值fsrthres,且当前时间ct与最近一次记录的脚跟着地时间timehs’之差大于第一隔绝时间timehs2ho;即当满足以下条件时,判定脚跟离地:

fsr<fsrthres且ct-timehs’>timehs2ho。

更进一步的,步骤s3中,在当前步态状态state为脚跟离地情况下,接下来判定为脚跟着地时,则按照如下方式更新变量:

将当前步态状态state更新为脚跟着地;

将步数step增加1;

将变量timelast2的读数赋值给变量timelast3;

将变量timelast1的读数赋值给变量timelast2;

将最近一次脚跟着地时间timehs’赋值给变量timelast1;

将当前时间ct赋值给当前脚跟着地时间timehs;

步骤s3中,在当前步态状态state为脚跟着地情况下,接下来判定为脚跟离地时,则按照如下方式更新变量:

将当前步态状态state更新为脚跟离地;

将当前时间ct赋值给当前脚跟离地时间timeho。

更进一步的,步骤s4中进行步态周期更新的具体过程如下:

步骤s4.1、存储上一个平均步态周期时长timecyclelast,将最近一次记录的timecyclenow赋值给timecyclelast;

步骤s4.2、计算前3个步态周期时长:time1、time2、time3,如下:

time1=timehs-timelast1;

time2=timelast1-timelast2;

time3=timelast2–timelast3;

步骤4.3、将前3个步态周期时长time1、time2、time3分别与最小时间间隔timemin进行比较,将其中大于timemin的步态周期时长求平均值,得到的平均值作为当前步态周期时长估计值timecyclenow’。

更进一步的,步骤s5中,根据当前步态周期时长估计值timecyclenow’计算步态周期百分比timepercent:

timepercent=min((ct-timehs’)/(timecyclenow’),100%);

其中,timehs’为最近一次脚跟着地的时间。

优选的,步骤s6中,当接收到外骨骼停止运行指令时,或者当监测到足底压力传感器和/或外骨骼出现异常状态时,判定步态识别不再继续。

优选的,步态状态state设置为0或1;其中:

步态状态state为1时代表脚跟着地,步态状态state为0时代表脚跟离地;

或者,步态状态state为1时代表脚跟离地,步态状态state为0时代表脚跟着地;

阈值f设置为3~10。

本发明的第二目的通过以下技术方案实现:一种存储介质,存储有程序,所述程序被处理器执行时,实现本发明第一目的所述的外骨骼辅助下的步态识别方法。

本发明的第三目的通过以下技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的外骨骼辅助下的步态识别方法。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明外骨骼辅助下的步态识别方法,首先设置变量并且进行初始化,然后读取步态识别循环开始的当前时间ct,获取当前时间ct下足底压力传感器检测到的脚底等效压力fsr;根据当前步态状态state,选择接下来判定是脚跟着地还是脚跟离地;在当前步态状态state表示为脚跟离地,则接下来判定是否满足脚跟着地的条件;满足的情况下,则更新步态状态和步数,在步数达到阈值情况下,进行步态周期更新,并且进入步态周期百分比计算的过程,在不满足的情况下,则直接进入到步态周期百分比计算的过程;在当前步态状态state表示为脚跟着地,则接下来判定是否满足脚跟离地的条件;在满足的情况下,更新变量,然后进入步态周期百分比计算的过程,在不满足的情况下,则直接进入到步态周期百分比计算的过程。由上述可知,本发明方法中,在单个足底压力传感器条件下,在当前步态状态为脚跟离地情况下,接下来确定判定出脚跟着地时才进行步态周期识别,能够有效避免误判所产生的干扰,并且信号不需要经过滤波处理,在辅助力干扰足底压力传感器信号的情况下能够实现步态判断,与通过多传感器和滤波处理信号的方法提高抗干扰能力的方法对比,这种方法可以节约成本,并且减少滤波带来的延时,提高经济性和实时性。

(2)本发明外骨骼辅助下的步态识别方法中,在每个步态周期,当判定出脚跟着地的情况后,需要当前步数达到阈值f的情况下,才进行步态周期的识别,本发明上述操作可以使得步态进入稳定的情况下才进行识别,能够进一步提高了步态周期识别的准确性。

(3)本发明外骨骼辅助下的步态识别方法中,在当前步态状态state为脚跟离地时,脚跟着地的判定条件为:脚底等效压力fsr大于阈值fsrthres,且当前时间ct与最近一次记录的脚跟离地时间timeho之差大于第二隔绝时间timeho2hs;在当前步态状态state为脚跟着地时,脚跟离地的判定条件为:脚底等效压力fsr小于阈值fsrthres,且当前时间ct与最近一次记录的脚跟着地时间timehs之差大于第一隔绝时间timehs2ho;上述判定脚跟着地和脚跟离地时,都考虑了对应的隔绝时间,即在达到隔绝时间之前,即使判定出脚底等效压力fsr的大小满足脚跟着地或脚跟离地时,但是均不判定脚跟着地或脚跟离地,因此通过隔绝时间能够有效消除在隔绝时间内产生的误判干扰,基于此,本发明能够更加准确的判定出脚跟着地和脚跟离地情况,能够有效避免因为距离上一次判定时间过短而导致出现误判产生干扰的现象,并且基于此,本发明方法不需要另外对接收到的足底压力传感器的传感信号再进行滤波处理,导致延时的情况发生。

附图说明

图1是本发明方法流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1

本实施例公开了一种外骨骼辅助下的步态识别方法,其中本实施例中场景可以为:以1.25m/s的速度行走,步态周期时长约为1100ms,外骨骼对于脚踝施加踝关节生物力矩的10%的辅助力,辅助力从步态周期10%开始,到步态周期65%结束;如图1中所示,步态识别的具体过程如下:

步骤s1、设置变量并且进行初始化,设置的变量包括:

1)步态状态:state,为0或1;其中:步态状态state为1时代表脚跟着地,步态状态state为0时代表脚跟离地;或者,步态状态state为1时代表脚跟离地,步态状态state为0时代表脚跟着地;本实施例下述采用state的前一种设置方式。

2)步数:step,初始值为0,每次脚跟着地增加1;

3)脚底等效压力:fsr,从足底压力传感器所连接的微处理器读取的值,该值与脚底压力正相关,无压力值时为0,最大为1024;初始值为0;

4)当前时间寄存器:ct,初始值为0,用于记录每次循环开始的时间。

5)阈值:fsrthres,当脚底等效压力fsr超过阈值时,视为脚跟着地;小于阈值时,视为脚跟离地。在本实施例中阈值可以设置为50。

6)第一隔绝时间:timehs2ho,脚跟着地后不进行脚跟离地判定的时间间隔,在本实施例中第一隔绝时间可以设置为120ms;

7)第二隔绝时间:timeho2hs,脚跟离地后不进行脚跟着地判定的时间间隔;在本实施例中,第二隔绝时间可以设置为700ms;

8)第一步态周期时长寄存器变量:time1,上一个周期的步态周期时长;在本实施例中,time1初始值设置为1200ms;

9)第二步态周期时长寄存器变量:time2,距当前步态周期往前的第二个步态周期时长;在本实施例中,time2初始值设置为1200ms;

10)第三步态周期时长寄存器变量:time3,距当前步态周期往前的第三个步态周期时长;在本实施例中,time3初始值设置为1200ms;

11)最小步态周期时长:timemin,步态周期时长最小值;本实施例中,timemin可以设置为1000ms;

12)第一脚跟着地时间寄存器:timelast1,前一次脚跟着地时间;

13)第二脚跟着地时间寄存器变量:timelast2,距现在往前第二次脚跟着地时间;

14)第三脚跟着地时间寄存器变量:timelast3,距现在往前第三次脚跟着地时间;

15)脚跟着地时间:timehs;

16)当前脚跟离地时间:timeho;

17)上一个平均步态周期时长:timecyclelast;

18)当前步态周期时长:timecyclenow;

19)步态周期百分比:timepercent,表示从距最近的一次脚跟着地后经历的时间占整个步态周期的百分比。

步骤s2、读取步态识别循环开始的当前时间ct,获取当前时间ct下足底压力传感器检测到的脚底等效压力fsr;

步骤s3、判定当前时间ct下的当前步态状态state,根据当前步态状态state,选择接下来判定是脚跟着地还是脚跟离地;其中:

若当前步态状态state表示为:脚跟离地,即state=0,则接下来根据脚底等效压力fsr,判定是否满足脚跟着地的条件,具体的,脚跟着地的判定条件为:脚底等效压力fsr大于阈值fsrthres,且当前时间ct与最近一次记录的脚跟离地时间timeho’之差大于第二隔绝时间timeho2hs;即当满足以下条件时,判定脚跟着地:

fsr>fsrthres且ct-timeho’>timeho2hs;

若是,则更新变量,包括更新步态状态和步数,然后进入到步骤s4;本实施例中,上述更新变量包括:

1)将当前步态状态state更新为脚跟着地,即更新为state=1;

2)将步数step增加1;

3)将变量timelast2的读数赋值给变量timelast3;

4)将变量timelast1的读数赋值给变量timelast2;

5)将最近的一次脚跟着地时间timehs’赋值给变量timelast1;

6)将当前时间ct赋值给当前脚跟着地时间timehs。

若否,则进入步骤s5;

若当前步态状态state表示为:脚跟着地,即state=1,则接下来根据脚底等效压力fsr,判定是否满足脚跟离地的条件;具体的,脚跟离地的判定条件为:脚底等效压力fsr小于阈值fsrthres,且当前时间ct与最近一次记录的脚跟着地时间timehs’之差大于第一隔绝时间timehs2ho;即当满足以下条件时,判定脚跟离地:

fsr<fsrthres且ct-timehs’>timehs2ho。

若是,则更新变量,然后进入步骤s5;本实施例中,上述更新变量包括:

将当前步态状态state更新为脚跟离地,即更新为state=0。

将当前时间ct赋值给当前脚跟离地时间timeho。

若否,则直接进入步骤s5。在本实施例中,t为5ms。

步骤s4、判定步数是否达到阈值f;

若是,则进行步态周期更新,并启动步态周期百分比计算,然后进入步骤s5;

若否,则直接进入步骤s5;

在本实施例中,阈值f可以设置为3~10,例如选取5。步态周期更新的过程具体如下:

步骤s4.1、存储上一个平均步态周期时长timecyclelast,将最近一次记录的timecyclenow赋值给timecyclelast;

步骤s4.2、计算前3个步态周期时长:time1、time2、time3,如下:

time1=timehs-timelast1;

time2=timelast1-timelast2;

time3=timelast2–timelast3;

步骤4.3、将前3个步态周期时长time1、time2、time3分别与最小时间间隔timemin进行比较,将其中大于timemin的步态周期时长求平均值,得到的平均值作为当前步态周期时长估计值timecyclenow’;

步骤s5、判定是否已经开启步态周期百分比计算;

若是,则进行步态周期百分比计算,然后进入步骤s6;

本实施例中根据当前步态周期时长估计值timecyclenow’计算步态周期百分比timepercent:

timepercent=min((ct-timehs’)/(timecyclenow’),100%);

其中,timehs’为最近一次脚跟着地的时间。若根据timecyclenow’计算出的timepercent的值大于100%,则取100%。

若否,则直接进入步骤s6;

步骤s6、判定步态识别是否继续;

若是,则在达到循环时间间隔t后,返回到步骤s2;

若否,则结束。

本实施例中,当接收到外骨骼停止运行指令时,或者当监测到足底压力传感器和/或外骨骼出现异常状态时,判定步态识别不再继续。外骨骼异常包括电机故障,主控制器控制算法错误等。

本领域技术人员可以理解,实现本实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。应当注意,尽管在附图中以特定顺序描述了本实施例1的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序,有些步骤也可以同时执行。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

实施例2

本实施例公开了一种存储介质,存储有程序,所述程序被处理器执行时,实现实施例1所述的一种外骨骼辅助下的步态识别方法,包括步骤:

步骤s1、设置变量并且进行初始化,设置的变量包括步态状态state、步数step、脚底等效压力fsr和当前时间寄存器;

步骤s2、读取步态识别循环开始的当前时间ct,获取当前时间ct下足底压力传感器检测到的脚底等效压力fsr;

步骤s3、判定当前时间ct下的当前步态状态state,根据当前步态状态state,选择接下来判定是脚跟着地还是脚跟离地;其中:

若当前步态状态state表示为:脚跟离地,则接下来根据脚底等效压力fsr,判定是否满足脚跟着地的条件;

若是,则更新变量,包括更新步态状态和步数,然后进入到步骤s4;

若否,则进入步骤s5;

若当前步态状态state表示为:脚跟着地,则接下来根据脚底等效压力fsr,判定是否满足脚跟离地的条件;

若是,则更新变量,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s4、判定步数是否达到阈值f;

若是,则进行步态周期更新,并启动步态周期百分比计算,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s5、判定是否已经开启步态周期百分比计算;

若是,则进行步态周期百分比计算,然后进入步骤s6;

若否,则直接进入步骤s6;

步骤s6、判定步态识别是否继续;

若是,则在达到循环时间间隔t后,返回到步骤s2;

若否,则结束。

上述各步骤的具体实现过程参见实施例1,此处不再赘述。

在本实施例中,存储介质可以是磁盘、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、u盘、移动硬盘等介质。

实施例3

本实施例公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现实施例1所述的一种外骨骼辅助下的步态识别方法,包括步骤:

步骤s1、设置变量并且进行初始化,设置的变量包括步态状态state、步数step、脚底等效压力fsr和当前时间寄存器;

步骤s2、读取步态识别循环开始的当前时间ct,获取当前时间ct下足底压力传感器检测到的脚底等效压力fsr;

步骤s3、判定当前时间ct下的当前步态状态state,根据当前步态状态state,选择接下来判定是脚跟着地还是脚跟离地;其中:

若当前步态状态state表示为:脚跟离地,则接下来根据脚底等效压力fsr,判定是否满足脚跟着地的条件;

若是,则更新变量,包括更新步态状态和步数,然后进入到步骤s4;

若否,则进入步骤s5;

若当前步态状态state表示为:脚跟着地,则接下来根据脚底等效压力fsr,判定是否满足脚跟离地的条件;

若是,则更新变量,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s4、判定步数是否达到阈值f;

若是,则进行步态周期更新,并启动步态周期百分比计算,然后进入步骤s5;

若否,则直接进入步骤s5;

步骤s5、判定是否已经开启步态周期百分比计算;

若是,则进行步态周期百分比计算,然后进入步骤s6;

若否,则直接进入步骤s6;

步骤s6、判定步态识别是否继续;

若是,则在达到循环时间间隔t后,返回到步骤s2;

若否,则结束。

上述各步骤的具体实现过程参见实施例1,此处不再赘述。

本实施例中,计算设备可以是台式电脑、笔记本电脑、智能手机、pda手持终端、平板电脑等终端设备。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1