简单的IMU测量关节⾓度的⽅法(单⾃由度)
柔和的反义词
这⾥写⾃定义⽬录标题
IMU可以⽤来求解⼈体关节⾓度,最近想⽤来简单测试⼀下⾓度,由于膝关节运动特殊性(可以认为只有⼀个⾃由度),其测量⽐较简单,⽤⼀个IMU就可以了。
PS:此⽅法只适⽤于单⾃由度关节的测量,并且毫⽆精度可⾔,需要谨慎适⽤
基本思路就是根据IMU测得的欧拉⾓解算旋转矩阵;可以任意选择基准,我为了⽅便⽤起始时刻作为基准,计算每⼀个时刻旋转矩阵和起始时刻变换矩阵之间的旋转变换,再反算等效转⾓和等效转轴就可以了。
代码如下:
作文我的妈妈300个字%计算初始旋转矩阵
R0=eul2rotm([K(1,3) K(1,2) K(1,1)]/180*pi );
真实灵异
for i=1:length(K)
中午饭
R=eul2rotm([K(i,3) K(i,2) K(i,1)]/180*pi);%计算每⼀时刻的旋转矩阵
T=R0'*R;%计算当前时刻相对于初始时刻的旋转变换
%由旋转变换得到相应的等效转轴和等效转⾓
V(i,1:3)=rotationMatrixToVector(T)/norm(rotationMatrixToVector(T));
V(i,4)=norm(rotationMatrixToVector(T));
end
金沙遗址门票
这⾥⽤了两个Matlab⾃带的函数,分别是eul2rotm 和 rotationMatrixToVector,功能是由欧拉⾓(默认是ZYX,输⼊向量的顺序也是ZYX,单位是弧度)⽣成旋转矩阵和由旋转矩阵得到相应的等效转轴(函数返回的向量的⽅向是转轴⽅向,模是转⾓⼤⼩)
PS:这⾥弄了很久还以为函数错了,结果是单位有错,MATLAB⾥⾯单位都是默认的弧度
《周公解梦》
结果 :转轴和转⾓的变化。
气血不足的症状有哪些解算过程⾮常简单也⼗分粗糙,但是对于简单测量⾓度、不追求精度情况下,这种⽅法还是可以的。
朝发白帝彩云间
其实是把IMU的转轴与⼈体关节转轴重合情况下,这种⽅法精度会提⾼⼀些。