一种关节力估计方法

文档序号:30842983发布日期:2022-07-23 01:13阅读:147来源:国知局
一种关节力估计方法

1.本发明属于关节力估计技术领域,尤其涉及一种关节力估计方法。


背景技术:

2.人口老龄化是现代社会的一个重要人口特征,随着年龄的增长老人难以独自完成由坐到站的起立运动,越来越多的老人需要辅助机器人辅助起立。由于下肢肌肉无力,人们在使用进行机器人辅助起立时容易失去平衡,同时机器人与用户间的交互力过大或过小可能会造成二次伤害。


技术实现要素:

3.本发明就是针对现有技术存在的缺陷,提供一种关节力估计方法。其基于服务机器人,针对现有辅助起立方法的不足,提出一种辅助机器人的起立辅助关节力估计方法,目的是保证老人起立过程的平稳性同时使辅助机器人提供适当的接触力,使辅助机器人的功能性和可靠性得到有效的提升。
4.为实现上述目的,本发明采用如下技术方案,其特征在于,包括:
5.步骤1、采集人体在起立动作时的姿态信息;并通过运动过程中重心的移动轨迹判断稳定性;
6.步骤2、在确定起立过程处于稳定状态后,将人体视为左右对称的简化模型,并根据机器人正向运动学计算该过程中肩关节的移动轨迹,将该移动轨迹作为辅助机器人的参考轨迹;
7.步骤3、在辅助机器人与用户接触时,基于参考轨迹估计辅助机器人肩关节力矩,控制机器人按照该轨迹完成辅助任务。
8.进一步地,所述姿态信息包括踝关节角度记为θa、膝关节角度记为θk、髋关节角度记为θ
x

9.进一步地,步骤1中,所述通过运动过程中重心的移动轨迹判断稳定性的稳定性判断方法为:根据运动中人体重心轨迹是否保持在脚掌的范围内;
10.人体重心的运动轨迹计算方法:
[0011][0012]
式中,i为身体各部位的编号,xi是部位i重心在x坐标系的位置,mi是身体部位i的质量;若x《xd即重心始终在脚掌范围内,则起立过程中人体保持稳定,该起立轨迹可以作为辅助机器人的参考轨迹。
[0013]
进一步地,获得身体数据,包括身体各部位的长度、质量计算公式如下:
[0014][0015][0016][0017]
其中,h为身高,l1为小腿长度,l2为大腿长度,l3为躯干长度,c1为小腿重心到踝关节的距离,c2为大腿重心到膝关节的距离,c3为躯干重心到髋关节的距离,w1为小腿的质量,w2为大腿的质量,w3为躯干的质量。
[0018]
进一步地,起立运动中肩关节的移动轨迹求解方法:首先,通过对稳定性判断的分析选择能帮助用户平稳起立的辅助动作,然后根据姿态传感器记录的该动作姿态信息,包括踝关节角度记为θa,膝关节角度记为θk,髋关节角度记为θ
x
,以及人体简化模型求解辅助起立过程中,以脚踝为原点的坐标系下肩关节的移动轨迹;计算过程如下:
[0019][0020]
其中,x
10
为膝关节在基坐标系下的横坐标,y
10
为基坐标系下的纵坐标,x
20
为髋关节在基坐标系下的横坐标,y
20
为髋关节在基坐标系下的纵坐标,x
30
为膝关节在基坐标系下的横坐标,y
30
为基坐标系下的纵坐标,θa、θk、θ
x
分别踝关节、膝关节、肩关节的角度。
[0021]
更进一步地,步骤3包括:根据线性二次调节器对机器人的相关状态变量及其微分引入状态反馈,完成对服务机器人的肩关节夹角及接触点位置和接触力大小的控制。具体过程如下:
[0022]
机器人与用户交互时的受力分析:
[0023]
[0024][0025]
状态空间表达式:
[0026][0027][0028][0029][0030]
u=[f
x fz]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0031]
u=-kx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0032]
其中,m为机器人重量,g为重力加速度,f为机器人对用户施加的力,r 为用户对机器人施加的力,q为机器人肩关节角度,i为机器人转动惯量,l为人机接触点距肩关节的长度。
[0033]
更进一步地,不使用力传感器而通过仿真实验训练关于接触力的神经网络模型;首先,基于现有的服务机器人,在solidworks中绘制好机器人的实体模型并导入simscape multibody工具箱中获得服务机器人仿真模型,再结合空间接触力模块实现对接触力的仿真,建立服务机器人助立仿真模型,利用该模型完成服务机器人辅助人体起立的仿真实验;仿真过程中通过模拟机器人与人的交互情况,记录辅助机器人受到的接触力法向分量和切向分量以及肩关节角度作为训练数据去训练神经网络;
[0034]
实验内容如下:首先令服务机器人机械臂以相同的动作完成预定的轨迹,然后通过在机械臂上施加不同的接触力来模拟机器人扶人起立的过程,并记录此时机器人肩关节角度和机器人施加的关节力矩;
[0035]
最后以记录的服务机器人辅助起立时接触力与肩关节力矩作为数据训练神经网络模型并得到其近似函数:
[0036]
τ=h(q,f
x
,fz)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0037]
式中:τ为辅助机器人肩关节的力矩,q为肩关节角度,f
x
,fz分别为辅助机器人与用户切向力和法向力;
[0038]
神经网络模型的结构:
[0039]
y=b2+w
l tansig(b1+wix)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0040]
式中:x为输入矢量,y为输出矢量,b1b2为偏差矢量,w
l
wi为权重矩阵,
[0041]
通过仿真获取1000组数据,将70%的数据用于培训,15%用于验证,15%用于测试,将机器人肩关节角度,接触力的切向法向分量作为神经网络输入量,它们的一维时间序列数据形成3
×
1的矩阵,共计1000个这样的矩阵。每个矩阵经过隐藏层输出机器人肩关节的力矩。当达到最大迭代次数、μ超过最大值或梯度低于最小值时,训练停止;
[0042]
神经网络模型根据输入的肩关节角度和接触力信息,估算出服务机器人肩关节的输出力矩,并传输给机器人控制末端执行器完成辅助运动。最后通过随机选取人机间的接触力,对训练出的神经网络预测的机器人肩关节力矩与实际的关节力矩进行对比,以验证神经网络模型的有效性。最终的结果显示该神经网络模型能够根据输入的数据输出我们需求的关节力矩数据,且精确度满足要求。
[0043]
与现有技术相比本发明有益效果。
[0044]
本发明辅助机器人可以准确按照设计的平稳轨迹帮助用户起立,提高了人机接触过程中的安全性。在辅助机器人帮助下起立时,辅助机器人能够根据当前的位置信息和关节角度提供适当的辅助力。
附图说明
[0045]
下面结合附图和具体实施方式对本发明做进一步说明。本发明保护范围不仅局限于以下内容的表述。
[0046]
图1为人体起立过程示意图。
[0047]
图2为本发明传感器安装位置示意图。
[0048]
图3为本发明机器人辅助起立示意图。
[0049]
图4为本发明人体简化模型示意图。
[0050]
图5为本发明神经网络结构示意图。
[0051]
图6为本发明参考轨迹求解示意图。
[0052]
图7为本发明机器人关节力矩求解示意图。
[0053]
图8为本发明角度信息示意图。
[0054]
图9为本发明某实验者重心移动轨迹示意图。
[0055]
图10为本发明人体起立肩关节移动轨迹示意图。
[0056]
图11为本发明辅助机器人末端执行器轨迹跟踪结果示意图。
具体实施方式
[0057]
如图1-11所示,本发明包括:
[0058]
步骤1、采集人体在起立动作时的姿态信息;并通过运动过程中重心的移动轨迹判断稳定性。
[0059]
步骤2、在确定起立过程处于稳定状态后,将人体视为左右对称的简化模型,并根据机器人正向运动学计算该过程中肩关节的移动轨迹,将该移动轨迹作为辅助机器人的参考轨迹。
[0060]
步骤3、在辅助机器人与用户接触时,基于参考轨迹估计辅助机器人肩关节力矩,
控制机器人按照该轨迹完成辅助任务。
[0061]
优选地,所述姿态信息包括踝关节角度记为θa、膝关节角度记为θk、髋关节角度记为θ
x

[0062]
优选地,步骤1中,所述通过运动过程中重心的移动轨迹判断稳定性的稳定性判断方法为:根据运动中人体重心轨迹是否保持在脚掌的范围内;
[0063]
人体重心的运动轨迹计算方法:
[0064][0065]
式中,i为身体各部位的编号,xi是部位i重心在基坐标系x轴的位置,mi是身体部位i的质量;若x《xd即重心始终在脚掌范围内,则起立过程中人体保持稳定,该起立轨迹可以作为辅助机器人的参考轨迹。
[0066]
优选地,获得身体数据,包括身体各部位的长度、质量计算公式如下:
[0067][0068][0069][0070]
其中,h为身高,l1为小腿长度,l2为大腿长度,l3为躯干长度,c1为小腿重心到踝关节的距离,c2为大腿重心到膝关节的距离,c3为躯干重心到髋关节的距离,w1为小腿的质量,w2为大腿的质量,w3为躯干的质量。
[0071]
优选地,起立运动中肩关节的移动轨迹求解方法:通过姿态传感器记录起立的姿态信息,包括踝关节角度记为θa,膝关节角度记为θk;髋关节角度记为θ
x
,根据关节角度信息以及人体的简化模型计算在以脚踝为原点的坐标系中肩关节的移动轨迹。
[0072]
[0073]
其中,x
10
为膝关节在基坐标系下的横坐标,y
10
为基坐标系下的纵坐标,x
20
为髋关节在基坐标系下的横坐标,y
20
为髋关节在基坐标系下的纵坐标,x
30
为膝关节在基坐标系下的横坐标,y
30
为基坐标系下的纵坐标,θa、θk、θ
x
分别踝关节、膝关节、肩关节的角度。
[0074]
更优选地,步骤3包括:根据线性二次调节器对机器人的相关状态变量及其微分引入状态反馈,得到状态反馈控制矩阵k,基于机器人和用户接触位置控制接触力,具体过程如下:
[0075]
机器人与用户交互时的受力分析:
[0076][0077][0078]
其中,m为机器人重量,g为重力加速度,f为机器人对用户施加的力,r 为用户对机器人施加的力,q为机器人肩关节角度,i为机器人转动惯量,l为人机接触点距肩关节的长度。
[0079]
状态空间表达式:
[0080][0081][0082][0083][0084]
u=[f
x fz]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0085]
u=-kx
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0086]
更优选地,所述起立运动辅助机器人肩关节力矩估算方法包括:
[0087]
基于现有的服务机器人,在solidworks中绘制好机器人的实体模型,接下来利用该模型进行服务机器人辅助人体起立的仿真实验。实验内容如下:首先令服务机器人机械臂以相同的动作完成预定的轨迹,然后通过在机械臂上施加不同的接触力来模拟机器人扶人起立的过程,并记录此时机器人肩关节角度和施加的力矩。
[0088]
最后以记录的服务机器人辅助起立时接触力与肩关节力矩作为数据训练神经网络模型并得到其近似函数:
[0089]
τ=h(q,f
x
,fz)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0090]
式中:τ为辅助机器人肩关节的力矩,q为肩关节角度,f
x
,fz分别为辅助机器人与用户切向力和法向力;
[0091]
神经网络模型的结构:
[0092]
y=b2+w
l tansig(b1+wix)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0093]
式中:x为输入矢量,y为输出矢量,b1b2为偏差矢量,w
l
wi为权重矩阵,
[0094]
通过仿真获取1000组数据,将70%的数据用于培训,15%用于验证,15%用于测试,当达到最大迭代次数、μ超过最大值或梯度低于最小值时,训练停止;
[0095]
神经网络模型根据输入的肩关节角度和接触力信息,估算出辅助机器人肩关节力矩,并传输给机器人控制末端执行器完成辅助运动。
[0096]
下面结合附图对本发明做进一步详细说明:
[0097]
本发明使用了服务机器人作为实验平台、姿态传感器用于采集数据。姿态传感器用弹性绷带将姿态传感器固定在小腿、大腿和躯干上,分别采集踝关节、膝关节和肩关节的角度。根据多次实验可知,人在起立过程中脚的位置保持不变,因此,以脚后跟作为坐标原点建立坐标系。
[0098]
设计起立实验,为了能够得到用户身体保持稳定不失衡的轨迹,我们招募了10名无骨骼、肌肉、神经病史的健康受试者。受试者的平均年龄为24岁,平均身高为170cm,平均体重为60kg,所有受试者实验环境相同,实验在室内进行,每组实验耗时5s。每名受试者都被要求在同样搀扶人员帮助下完成10组起立实验,且每天只进行一组实验。
[0099]
接下来根据运动中重心的移动轨迹判断用户起立过程的稳定性。首先根据实验者的身高h和体重w,计算出人体各部位的近似长度和质量。然后基于姿态传感器采集的角度信息结合身体各部位数据计算重心的移动轨迹。
[0100]
身体各部位的长度、质量计算方法如下:
[0101][0102][0103][0104]
其中,h为身高,l1为小腿长度,l2为大腿长度,l3为躯干长度,c1为小腿重心到踝关节的距离,c2为大腿重心到膝关节的距离,c3为躯干重心到髋关节的距离,w1为小腿的质量,
w2为大腿的质量,w3为躯干的质量。
[0105]
通过计算出的重心轨迹在起立过程中是否保持在脚掌范围内判断起立动作的稳定性。若稳定,则根据关节角度信息以及人体简化模型计算肩关节的移动轨迹。
[0106]
基于参考轨迹,在辅助机器人与用户接触时,估计辅助机器人肩关节力矩,进而控制辅助机器人按照期望轨迹完成辅助起立任务。首先利用线性二次调节器对机器人的相关状态变量及其微分引入状态反馈,得到状态反馈控制矩阵k,基于机器人和用户接触位置控制接触力,具体过程如下:
[0107]
机器人与用户交互时的受力分析:
[0108][0109][0110]
状态空间表达式:
[0111][0112][0113][0114][0115]
u=[f
x fz]
t
[0116]
u=-kx
[0117]
然后根据接触力通过神经网络模型估算机器人肩关节的力矩。为了训练神经网络,使用simscape multibody建立机器人辅助用户起立时的简化模型,并根据简化模型的仿真结果训练神经网络模型,获得h的近似函数:
[0118]
τ=h(q,f
x
,fz)
[0119]
式中:τ为辅助机器人肩关节的力矩,q为肩关节角度,f
x
,fz分别为辅助机器人与用户切向力和法向力。
[0120]
神经网络模型的结构:
[0121]
y=b2+w
l tansig(b1+wix)
[0122]
式中:x为输入矢量,y为输出矢量,b1b2为偏差矢量,w
l
wi为权重矩阵,
[0123]
通过仿真获取1000组数据,将70%的数据用于培训,15%用于验证,15%用于测试,当达到最大迭代次数、μ超过最大值或梯度低于最小值时,训练停止。
[0124]
神经网络模型根据输入的肩关节角度和接触力信息,估算出辅助机器人肩关节力矩,并传输给机器人控制末端执行器完成辅助运动。
[0125]
为了验证方法的有效性,我们根据起立实验获得的参考轨迹进行了仿真。受试者a和b的其中一组实验数据如图7所示,其中受试者b重心的移动轨迹如图8所示,在1.5s时人体离开椅面,此时重心在0-17cm的范围内波动,没有超出脚掌的范围,则此起立动作是稳定的。因此基于该过程计算出肩关节的移动轨迹如图9所示。
[0126]
考虑辅助机器人和用户的相对位置,将肩关节的轨迹换算成机器人末端执行器的参考轨迹,并通过仿真,对参考轨迹进行跟踪,结果如图10所示。由此可以看出该方法能够基于给定的轨迹为机器人提供适当的关节力矩,完成辅助起立任务。
[0127]
可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1