发明内容
本申请实施例提供了一种上肢康复训练外骨骼控制方法及***,以至少通过本发明解决了使用高斯混合模型学习医师经验过程中,无法对医师的力进行学习、对力与运动轨迹再现时仍需病人参与等问题。
本发明提供了一种上肢康复训练外骨骼控制方法,包括:
机器人柔顺步骤:导纳控制器根据医师以及患者施加在机器人的非线性力输出机器人需位移数据后,位置控制器根据所述机器人需位移数据以及机器人控制力矩,使所述机器人跟随所述医师与患者进行相应的运动,并通过编码器获得运动轨迹;
权重获取步骤:所述机器人使用所述运动轨迹对高斯混合模型进行训练后,通过计算获得所述运动轨迹的高斯分布的第一权重与第二权重;
力复现步骤:将所述非线性力简化为线性弹簧力后,将所述线性弹簧力转换成线性弹簧力矩阵,通过所述第一权重、所述第二权重以及所述线性弹簧力矩阵计算获得所述医师施加在所述机器人的第五非线性力的第三刚度后,根据所述第三刚度计算复现所述第五非线性力。
上述的上肢康复训练外骨骼控制方法中,所述机器人柔顺步骤包括:
当所述医师辅助所述患者完成预设任务时,所述医师与所述患者对机器人末端的执行器施加第一非线性力,所述执行器的力传感器对所述第一非线性力进行测量,获得第二非线性力;
所述导纳控制器根据所述第二非线性力与位置控制率输出第一机器人需位移数据后,将所述第一机器人需位移数据输入到所述位置控制器,所述位置控制器根据所述机器人控制力矩,使所述机器人跟随所述医师与所述患者进行相应的第一运动;
当所述患者单独完成所述预设任务时,所述患者对所述机器人末端的所述执行器施加第三非线性力,所述执行器的所述力传感器对所述第三非线性力进行测量,获得第四非线性力;
所述导纳控制器根据所述第四非线性力与所述位置控制率输出第二机器人需位移数据后,将所述第二机器人需位移数据输入到所述位置控制器,所述位置控制器根据所述机器人控制力矩,使所述机器人跟随所述患者进行相应的第二运动。
上述的上肢康复训练外骨骼控制方法中,所述机器人柔顺步骤还包括:
所述机器人根据所述第一运动,通过所述编码器获得第一运动轨迹,并通过轨迹规划部分存储所述第一运动轨迹;
所述机器人根据所述第二运动,通过所述编码器获得第二运动轨迹,并通过轨迹规划部分存储所述第二运动轨迹。
上述的上肢康复训练外骨骼控制方法中,所述权重获取步骤包括:
所述机器人使用所述第一运动轨迹与所述第二运动轨迹对所述高斯混合模型进行训练,获得所述第一运动轨迹的第一高斯分布与所述第二运动轨迹的第二高斯分布。
上述的上肢康复训练外骨骼控制方法中,所述权重获取步骤还包括:
根据所述第一高斯分布与所述第二高斯分布,使用最大期望算法计算获得第一高斯分布参数与第二高斯分布参数;
根据所述第一高斯分布参数与所述第二高斯分布参数,通过E-step的方法计算获得第一高斯分布参数的所述第一权重与所述第二高斯分布参数的所述第二权重。
上述的上肢康复训练外骨骼控制方法中,所述力复现步骤包括:
将所述第一非线性力与所述第三非线性力简化为一组所述线性弹簧力后,将所述线性弹簧力转换成所述线性弹簧力矩阵。
上述的上肢康复训练外骨骼控制方法中,所述力复现步骤还包括:
通过所述第一权重、所述第二权重以及所述线性弹簧力矩阵计算获得刚度系数。
上述的上肢康复训练外骨骼控制方法中,所述力复现步骤还包括:
使用所述刚度系数计算获得所述第一非线性力的第一刚度与所述第三非线性力的第二刚度;
对所述第一刚度与所述第二刚度进行减法运算后,获得所述医师施加在所述机器人的所述第五非线性力的所述第三刚度。
上述的上肢康复训练外骨骼控制方法中,所述力复现步骤还包括:
根据机器人离目标点的距离与所述第三刚度计算复现所述第五非线性力。
本发明还提供上肢康复训练外骨骼控制***,其中,适用于上述所述的上肢康复训练外骨骼控制方法,所述上肢康复训练外骨骼控制***包括:
机器人柔顺单元:导纳控制器根据医师以及患者施加在机器人的非线性力输出机器人需位移数据后,位置控制器根据所述机器人需位移数据以及机器人控制力矩,使所述机器人跟随所述医师与患者进行相应的运动,并通过编码器获得运动轨迹;
权重获取单元:所述机器人使用所述运动轨迹对高斯混合模型进行训练后,通过计算获得所述运动轨迹的高斯分布的第一权重与第二权重;
力复现单元:将所述非线性力简化为线性弹簧力后,将所述线性弹簧力转换成线性弹簧力矩阵后,通过所述第一权重、所述第二权重以及所述线性弹簧力矩阵计算获得所述医师施加在所述机器人的第五非线性力的第三刚度后,根据所述第三刚度计算复现所述第五非线性力。
相比于相关技术,本发明提出的一种上肢康复训练外骨骼控制方法及***,提出了基于示范学习的康复机器人动力学的一种上肢康复训练外骨骼控制方法及***,利用两种不同情况的示范动作,学习医师对于病人拖动的作用,在复现阶段当病人在没有医师的作用时,机械臂提供医师的辅助力,协助病人完成独自完不成的日常任务,起到用康复机器人代替医师的作用。一组示范是医师辅助病人完成一组日常的活动,另一组示范是病人单独尝试完成同一组日常活动,两种示范活动之间的差别在于是否有医师的辅助行为。通过这两种示范活动得到医师的辅助力并进行复现,能够让机械臂对病人提供医师的辅助力来帮助完成日常任务。其中,对于算法的实现包括以下三个部分:一、能让康复机器人顺从两种示范活动的导纳控制器;二、对任务轨迹进行编码的算法,即通过训练得到各高斯基的权重;三、将病人、医师、环境的力简化为弹簧力,对编码后的任务轨迹分别学习两种示范活动的刚度系数,在已知目标位置和当前位置的前提下利用权重复现医师示教力的算法。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
与本发明相似的现有技术与本发明有众多不同之处,例如:一、本发明是使用高斯混合模型对医师的力和运动轨迹进行学习而不只是运动轨迹;二、以往的示教只是机械臂单独对运动轨迹在目标位置上的复现,而使用我们提出的算法对医师运动轨迹进行再现时,仍需要有病人参与,病人发力并引导任务完成,起到让病人锻炼和康复的作用;三、本发明还能够对力复现,患者在目标位置上的运动轨迹复现时,机械臂提功复现的力辅助病人完成完整运动轨迹的复现。
以往的拖动示教只能学习单一的运动轨迹,且施加示教行为的只有一人。本发明提出的一种上肢康复训练外骨骼控制方法及***施加示教行为的分别有医师和患者,并且可以分离医师和患者的力,可以对医师的力进行复现。同时,康复机器人对患者施加与医师等同的力,让患者在复现阶段仍能感受如同医师还在辅助的感觉,起到用康复机器人取代医师的作用。
下面结合具体实施例对本发明进行说明。
实施例一
本实施例提供了上肢康复训练外骨骼控制方法。请参照图1至图3,图1是根据本申请实施例的上肢康复训练外骨骼控制方法流程图;图2是根据本申请实施例的上肢康复训练外骨骼控制方法及***流程框架图;图3是根据本申请实施例的导纳控制流程框架图,如图1至图3所示,上肢康复训练外骨骼控制方法包括如下步骤:
机器人柔顺步骤S1:导纳控制器根据医师以及患者施加在机器人的非线性力输出机器人需位移数据后,位置控制器根据机器人需位移数据以及机器人控制力矩,使机器人跟随所述医师与患者进行相应的运动,并通过编码器获得运动轨迹;
权重获取步骤S2:机器人使用运动轨迹对高斯混合模型进行训练后,通过计算获得运动轨迹的高斯分布的第一权重与第二权重;
力复现步骤S3:将非线性力简化为线性弹簧力后,将线性弹簧力转换成线性弹簧力矩阵,通过第一权重、第二权重以及线性弹簧力矩阵计算获得医师施加在机器人的第五非线性力的第三刚度后,根据第三刚度计算复现第五非线性力。
在实施例中,机器人柔顺步骤S1包括:
当医师辅助患者完成预设任务时,医师与患者对机器人末端的执行器施加第一非线性力,执行器的力传感器对第一非线性力进行测量,获得第二非线性力;
导纳控制器根据第二非线性力与位置控制率输出第一机器人需位移数据后,将第一机器人需位移数据输入到位置控制器,位置控制器根据机器人控制力矩,使机器人跟随医师与患者进行相应的第一运动;
当患者单独完成预设任务时,患者对机器人末端的执行器施加第三非线性力,执行器的力传感器对第三非线性力进行测量,获得第四非线性力;
导纳控制器根据第四非线性力与位置控制率输出第二机器人需位移数据后,将第二机器人需位移数据输入到位置控制器,位置控制器根据机器人控制力矩,使机器人跟随患者进行相应的第二运动;
机器人根据第一运动,通过编码器获得第一运动轨迹,并通过轨迹规划部分存储第一运动轨迹;
机器人根据第二运动,通过编码器获得第二运动轨迹,并通过轨迹规划部分存储第二运动轨迹。
具体实施中,当采用导纳控制方案来实现机器人的柔顺性时,由于导纳控制器根据与感测力的预定义关系产生所需位移。在实现中,采用传递函数的形式表示为如下:
其中fS是施加在传感器上的力,是机械臂所需位移,Λ、Ψ、Γ分别是惯量、阻尼和刚度系数。实现机器人柔顺性时,当医师辅助患者完成预设任务时,医师与患者对机器人末端的执行器施加非线性力,执行器的力传感器对非线性力进行测量。导纳控制器根据测量后的非线性力与位置控制率输出机器人根据患者运动需要移动的数据后,将机器人需要移动的数据输入到位置控制器中,位置控制器使用机器人需要移动的数据,根据机器人控制力矩使机器人跟着患者一起运动,在运动过程中机器人通过编码器获得患者在医师辅助下运动的运动轨迹,并通过轨迹规划部分存储运动轨迹;当患者没有医师的辅助下独自完成预设任务时,患者对机器人末端的执行器施加非线性力,执行器的力传感器对非线性力进行测量后,导纳控制器根据测量后的非线性力与位置控制率输出机器人根据患者单独完成预设任务时运动需要移动的数据后,将机器人需要移动的数据输入到位置控制器中,位置控制器使用机器人需要移动的数据,根据机器人控制力矩使机器人跟着患者一起运动,在运动过程中机器人通过编码器获得患者独自运动时的运动轨迹,并通过轨迹规划部分存储运动轨迹。
其中,控制率是
导纳控制器将控制率计算中计算出来的位移x添加到机器人的当前位置,即可实现机械臂的一个柔顺性。当患者和治疗师在机器人末端执行器上施加力时,传感器测得的力可以表示为
fS=fE+fP+fT
fE是任务环境呈现的力,fP是患者施加的力,fT是治疗师对机器人末端执行器施加的治疗力。
在实施例中,权重获取步骤S2包括:
机器人使用第一运动轨迹与第二运动轨迹对高斯混合模型进行训练,获得第一运动轨迹的第一高斯分布与第二运动轨迹的第二高斯分布;
根据第一高斯分布与第二高斯分布,使用最大期望算法计算获得第一高斯分布参数与第二高斯分布参数;根据第一高斯分布参数与第二高斯分布参数,通过E-step的方法计算获得第一高斯分布参数的的第一权重与第二高斯分布参数的第二权重。
在具体实施中,本发明采用示教的方式来概括和学习完成任务所需的空间运动,上述的示教通常涉及两个独立的阶段:一个是演示阶段,因为任何示教轨迹都符合高斯混合模型,因此在演示阶段,机器人记录示教轨迹,并利用轨迹对高斯混合模型进行训练,以得到模型各参数即对示教轨迹进行统计编码,得到各个高斯基的权重,也就是进行第三阶段时,各高斯基的弹簧力的权重;另一个是再现阶段,***使用生成的模型执行回归,以提供早期演示行为的再现。
实施过程中,首先,机器人使用医师辅助患者完成预设任务时的运动轨迹与患者单独完成预设任务时的运动轨迹即演示示教轨迹,对高斯混合模型进行训练,高斯混合模型提供完成任务所需运动的概率表示后,获得两种情景下的运动轨迹的高斯分布,其中,高斯混合模型是用于聚类数据的概率密度函数,构造为高斯分量密度的加权和。这表示为
可以将高斯混合模型理解为在不同的高斯分布的基上出现的概率之和。其中Nk是高斯混合模型中的高斯分布即基的数目,p(k)是先验概率,也是各高斯分布的权重,也可以理解为在该高斯分布出现的概率即在此基上的投影,p(ξ|k)是条件概率分布,即在此高斯分布中的概率分布。ξ=xR=[x,y,z]T,是机械臂末端位置在世界坐标系中的表达。参数p(k)及p(ξ|k)通过每个高斯分布的参数{πk,μk,∑k},代表先验概率、期望和协方差。
其次,根据高斯分布使用最大期望算法计算获得每个高斯分布的参数{πk,μk,∑k}。
最后,根据高斯分布参数通过E-step的方法计算求解后验概率,获得高斯分布参数的权重。
在实施例中,力复现步骤S3包括:
将第一非线性力与第三非线性力简化为一组线性弹簧力后,将线性弹簧力转换成线性弹簧力矩阵;
通过第一权重、第二权重以及线性弹簧力矩阵计算获得刚度系数;
使用刚度系数计算获得第一非线性力的第一刚度与第三非线性力的第二刚度;
对第一刚度与第二刚度进行减法运算后,获得医师施加在机器人的第五非线性力的第三刚度;
根据机器人离目标点的距离与第三刚度计算复现第五非线性力。
具体实施中,在执行任务期间,施加在机器人末端执行器上的非线***互作用力简化为一组线性弹簧力,并在示教轨迹的末端点处线性化转换成弹簧力矩阵。通过这种简化方法,在已知机械臂目前位置和目标位置的情况下,学习弹簧力的刚度,即可复现交互力。首先,施加在机器人末端执行器上的非线***互作用力简化为一组线性弹簧力,并在示教轨迹的末端点处线性化转换成弹簧力矩阵,其中,将传感器测得的力
fS=fE+fP+fT
重写成如下:
fS=fE+fP+fT
=(KE+KP+KT)(xf-xR)
=(KE′+KT)(xf-xR)
其中xf是任务目标点的大致位置(取示教轨迹的末端点的平均值),KE、KP、KT分别代表任务过程中环境(如执行关门任务时,与门的交互)、病人以及医师的刚度。KE′是KE、KP的和。
其次,通过弹簧力矩阵与运动轨迹权重计算获得刚度系数(Ki)后,根据刚度系数(Ki)计算医师辅助和没有医师辅助时的刚度。其中,建立末端点与各高斯基函数的虚拟弹簧,则
化成矩阵形式,可得Ki=[(XTWiX)-1XTWiFS],其中X=[(xf-xR1,…,(xf-xRN)]T,Wi=diag([ωi,1,ωi,2,…,ωi,N]),FS=[fS1,fS2,…,fSN]T,我们认为在各个轴上力与位置相互间都不是耦合的,因此每个刚度系数Ki=[Kix,Kiy,Kiz]T,在实际再现中,检索到的刚度常数可以是受多个高斯分量影响的刚度常数的加权。由于演示阶段有两种,即有医师辅助和没有医师辅助,将两种情况的刚度定义为KA、KNA,医师的刚度即可通过下式结算:
KT=KA-KNA
通过这种方式计算出有治疗师辅助时的刚度KA和没有治疗师辅助时的刚度KNA。
最后,利用治疗师辅助时的刚度KA和没有治疗师辅助时的刚度KNA计算获得治疗师的施加机器人执行器末端的力的刚度KT后,通过下面公式计算复现,在复现阶段机器人施加的治疗师的力。
式中,KTi表示治疗师与每个高斯分量相关的刚度。xR是机器人的位置,ωi用于计算每个高斯分量的权重。根据机器人与目标点的距离分别乘所有高斯基下的刚度,再利用加权给出所施加的力F。
实施例二
请参照图2,图2是根据本申请实施例的上肢康复训练外骨骼控制方法及***流程框架图。图2所示提供培训学习***的演示(虚线),在再现过程中(划线点),患者和任务环境对机器人的力传感器施加力。导纳控制器根据测得的力改变机器人末端执行器的位置。在这个场景中,治疗师行为的再现是一个作用力,由机器人和学习模型的位置反馈决定。
通过演示再现治疗师所学行为的过程为如下:
第一个阶段:患者穿戴上肢康复机器人后,康复机器人处于导纳状态,机器人跟随患者运动,医师辅助患者完成日常任务(例如开门)。任务完成后开始第二阶段。这个阶段机器人记录医师协助下机器人的位移xRA和fSA。
第二阶段:患者穿戴上肢康复机器人,康复机器人仍处于导纳状态跟随患者运动,病人独自尝试完成同一任务,由于没有医师的辅助,任务失败并开始第三阶段。这个阶段记录机器人不记录医师协助下机器人的位移xRNA和fSNA。
第三阶段:上肢康复机器人对任务进行学习,利用高斯混合模型计算出各个高斯模型的权重,利用公式Ki=[(XTWiX)-1XTWiFS]计算出有医师辅助时的刚度KA和没有医师辅助时的刚度KNA后,利用KT=KA-KNA公式计算出治疗师的刚度KT,利用 公式复现医师的辅助力。在患者再次尝试独自完成同一预设任务时,机器人通过复现的医师的辅助力帮助患者完成同一预设任务,实现患者在医师缺席的情况下独自练习康复任务。
实施例三请参照图4,图4为本发明的上肢康复训练外骨骼控制***的结构示意图。如图4所示,发明的上肢康复训练外骨骼控制***,适用于上述的上肢康复训练外骨骼控制方法,上肢康复训练外骨骼控制***包括:
机器人柔顺单元51:导纳控制器根据医师以及患者施加在机器人的非线性力输出机器人需位移数据后,位置控制器根据所述机器人需位移数据以及机器人控制力矩,使所述机器人跟随所述医师与患者进行相应的运动,并通过编码器获得运动轨迹;
权重获取单元52:所述机器人使用所述运动轨迹对高斯混合模型进行训练后,通过计算获得所述运动轨迹的高斯分布的第一权重与第二权重;
力复现单元53:将所述非线性力简化为线性弹簧力后,将所述线性弹簧力转换成线性弹簧力矩阵后,通过所述第一权重、所述第二权重以及所述线性弹簧力矩阵计算获得所述医师施加在所述机器人的第五非线性力的第三刚度后,根据所述第三刚度计算复现所述第五非线性力。
综上所述,本发明利用高斯混合模型学习医师力的控制,将医师、环境、患者在示教过程中施加在机器人末端执行器上的交互作用力简化为一组弹簧力,并在任务结束点处线性化后,通过学习刚度来复现医师的辅助力。并且当患者进入与不同高斯分量相关的空间坐标时,使用不同的刚度常数,实现在不同阶段不同的辅助力。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求的保护范围为准。