1.基于冗余传感器的人体关节位置及角度解算方法,其特征在于,包括如下步骤:S1:在待测关节O2的两端肢体上分别设置两个惯性传感器,同时设置好红外动作捕捉所需的反光marker点,开始读取惯性传感器的姿态角信息;
S2:人体保持直立静止5秒,待测关节O2以及待测关节O2上部临近关节O1均无转动,采集各个传感器的初始四元数q(init),根据分别计算得到每个传感器的偏差值qbias,完成静态校准,取静态校准过程中偏差值的均值 进行下一步计算,式中,qO1(init)为O1关节的初始四元数, 为四元数乘法,q*_bias为*传感器的偏差值;
S3:人体运动过程中,分别采集四个传感器的实时输出的四元数qs*,并通过计算得到各个传感器输出的关节点的四元数;
S4:利用S3步骤求得的各节点的四元数与红外捕捉设备所获取的关节点的标准四元数qsta进行多元线性拟合,求出拟合参数,进而将参数代入拟合方程,得到基于冗余信息输出的四元数qo1、qo2;
S5:根据S4步骤得到的qo1、qo2,计算得到待测关节O2的位置为:O1O2=(0,0,0,‑Len O1O2)
则根据qo1可求得O2的位置为:
PO2=(Xo2,Yo2,Zo2)
‑1
式中,Len O1O2为肢体O1O2的长度,qO1 表示O1四元数的逆,Xo2,Yo2,Zo2分别表示O2关节在X轴、Y轴、Z轴上的数值, 为关节O2的位置的三维坐标的四元数化表示;
S6:根据S4步骤得到的qo2,计算得到待测关节O2下部临近关节O3的位置为O2O3=(0,0,0,‑(Len O1O2+Len O2O3))则根据qo2可求得O3的位置为:
PO3=(Xo3,Yo3,Zo3),
‑1
式中,Len O2O3为肢体O2O3的长度,qO2 表示O2四元数的逆,Xo3,Yo3,Zo3分别表示O3关节在X轴、Y轴、Z轴上的数值, 为关节O3的位置的三维坐标的四元数化表示;
S7:由S4步骤计算得出qo1和qo2,计算得到待测关节O2的角度四元数形式为:则O1O2延长线与O2O3之间的夹角:
α=arctan2(2(q0q3+q1q2),1‑2((q2)2+(q3)2))式中,q0为实数部分,q1,q2,q3为带着不同虚部的虚数部分,即肢体O1O2与肢体O2O3之间的关节角为:180°‑α。
2.根据权利要求1所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述S1步骤中,在设置红外动作捕捉所需的反光marker点时,在所述肢体O1O2与肢体O2O3上分别设置三个不共线的点。
3.根据权利要求2所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述S2步骤中, qO1(init)为O1关节的初始四元数,qO2(init)为O2关节的初始四元数。
4.根据权利要求1所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述S3步骤具体为:令待测关节O2上端肢体即肢体O1O2上设置的传感器分别表示为S1传感器、S2传感器,待测关节O2下端肢体即肢体O2O3上设置的传感器分别表示为S3传感器、S4传感器,在人体运动过程中,分别采集S1传感器、S2传感器、S3传感器、S4传感器的实时输出四元数qs1、qs2、qs3、qs4、计算得到O1关节的四元数为:O2关节的四元数为:
式中: 为S1传感器、S2传感器、S3传感器、S4传感器的偏差值的均值。
5.根据权利要求4所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述S4步骤利用S3步骤计算得到qs1o1、qs2o1与红外设备获取的O1的标准四元数qsta_o1进行多元线性拟合,拟合方程为:即:
a*qs11+b*qs21+c1=qsta_o11,……,a*qs14+b*qs24+c4=qsta_o14即求 的最小值,取部分数据求出拟合参数a,b,c,其余部分验证参数的正确与否,进而将参数代入拟合方程,得到基于冗余信息输出的四元数qo1,式中,a1,a2表示多元函数的自变量,ysta表示红外动作捕捉设备得到的标准参数也即精确的关节四元数,yi是根据惯性动作捕捉设备得到的参数也即存在误差的关节四元数,i表示共有i组数据。
6.根据权利要求4所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述S4步骤利用S3步骤计算得到qs3o2、qs4o2与红外设备获取的O2的标准四元数qsta_o2进行多元线性拟合,拟合方程为:即:
d*qs11+e*qs21+f1=qsta_o21,……,d*qs14+e*qs24+f4=qsta_o24即求 的最小值,取部分数据求出拟合参数d,e,f,其余部分验证参数的正确与否,进而将参数代入拟合方程,得到基于冗余信息输出的四元数qo2,式中,a1,a2表示多元函数的自变量,ysta表示红外动作捕捉设备得到的标准参数也即精确的关节四元数,yi是根据惯性动作捕捉设备得到的参数也即存在误差的关节四元数,i表示共有i组数据。
7.根据权利要求1‑6任一权利要求所述的基于冗余传感器的人体关节位置及角度解算方法,其特征在于,所述* *
q=(qv,qw) =(‑qv,qw)
式中,q表示普遍性的一般四元数,qv为四元数虚部,qw为四元数实部。