外骨骼研究之步态相位划分

开篇

读本篇博客之前最好先看一下上篇博客,点击蓝色字链接即可。

从上篇博客我们可以看出,国外对于步态的研究是很重视的,有专门的步态实验室,以及豪华的实验室配置,还有必不可少的严谨的研究态度。我们学校的实验室相对而言“一穷二白”。考虑到“骨感”现实条件,没有可能采用视觉动作捕捉系统、测力板(GRF)、商业化测力鞋F-Scan,不禁慨叹,科研真得是有钱人的智力游戏,还不能差耐心和兴趣。针对慨叹这句话,这里不考虑“灌水行为”以及“开局一张纸,数据全靠挑(懵)”的情况。哈,忍不住调侃一下,总之,我相信,随着2020年我国全面建成小康社会,会越来越好的。

开局一双鞋

在这里插入图片描述在这里插入图片描述其实开局不止一双鞋,还有一台跑步机。这双被我玩坏了的鞋,主要是一个单片机的信号采集系统。8个FSR通过一个8路模拟开关选择一路进入运放后由单片机ADC采样计算压力。PCB上的惯导,可以测量芯片坐标系下的三轴加速度、角速度数据。蓝牙模块用来连接上位机显示数据波形。为了防止FSR受鞋面弹性影响,我在每个FSR采样点下垫了一块圆形碳板,并用AB胶把整个FSR鞋垫固定在了鞋面上。接插件或者线材用胶带或者热熔胶固定。这里还要插一句,几年的嵌入式功底,PCB硬件、软件都可以做,对我科研帮了大忙。

数据全靠采

这里要表扬一下匿名科创的地面站,虽然有一些让人抓狂的bug,但是能够实时显示波形这一点让我很是开心。

角速度

下图是我抠自我做的PPT的截图。
在这里插入图片描述 这里采集的是鞋子俯仰这个轴的角速度,只是单脚的信号,跑步机速度1km/h。由于角速度对震动不敏感,我们可以看到,相对加速度数据而言,角速度波形干净的不像话。很少有图片右上角那样的噪声,而且在“零点”处噪声更小。分析一下便可知道,角速度信息包含了站立相划分的所有信息。这基于两点假设:
1.后跟抬起角度最大时:脚尖离地
2.脚尖仰起角度最大时:脚跟触地
至于验证的话可以用视觉动作捕捉系统、侧力板,或者鞋中的FSR,但由于FSR的滞后特性,我还没试FSR可不可以和角速度联调来验证。角速度是角度的微分,角速度的零点是角度的极值点。接下来分析一下这张图
1.一开始双腿并拢站立静止
2.后跟抬起的角速度方向为正,静止过后脚跟抬起形成第一个凸峰,第一次零点发生在第一个红圈处,这时后跟抬起角度达到最大值。最大值处认为脚尖离地事件发生。
3.接下来的凹峰是摆动相,并在第二个红圈处达到第二个零点,此时角度为脚尖抬起的最大角,认为此时脚跟触地。
4.接下来的一个小尖凸峰是脚放平的过程。
5.接下来的一段直线是脚放平不动的过程。 接下来又到2了,周而复始。

接下来看加快速度会发生什么,下图可以看出,角速度幅值和步行速度是正相关关系。
在这里插入图片描述

加速度

将足部的运动看作上下运动,应该是一个 向上加速—>向上减速—>向下加速—>冲击着地 的过程。这里应该是重力方向的加速度数据,不是IMU的Z轴的数据,所以采用Manhony算法进行解算四元数,求出重力方向在IMU坐标系下的单位向量,和加速度计数据进行点乘,即投影到重力方向。
在这里插入图片描述我们看到加速度数据所包含的信息比角速度少很多,而且波形噪声很大。这是在跑步机上采集的数据,跑步机上有一定程度的减震措施。这种噪声并不是加速度传感器的问题,加速度计测量加速度必然不会滤掉冲击造成的噪声加速度。学过信号处理的应该都知道,冲击时间越短,冲击加速度噪声越严重。

垂直速度

在这里插入图片描述
垂直速度是靠加速度的积分获得的。等式右边是向量点乘,求得重力方向的加速度数值,并减去重力加速度(单位cm/ss),这里的978.8f是通过调节积分后的速度曲线来的,让静态时速度积分基本为零。

在这里插入图片描述
要想求得速度,上电即进行积分是不行的,此时Manhony还没收敛,算出的四元数或者说重力方向是不对的。所以要有一个判断收敛的条件,这里我每次在10个点中去掉一个旧点,增加一个新点,并判断这10个数据的均值和方差,如果小于一定阈值即认为收敛了。然后采用梯形积分,也可以认为是采用上一个加速度值和本时刻的加速度求平均(滤波),在乘以时间,进行累加(积分)。
在这里插入图片描述
这是一张总趋势图,我们可以看到,由于加速度图中冲击加速度大部分是正的,这里速度表现出很快的正向漂移。再来看一下局部速度图
在这里插入图片描述
不考虑漂移,以每一周期的比较平的段作为速度零,脚跟抬起速度为正,但是脚整体下落应该有速度为负的情况,这里一周期中并没有出现速度为负的情况,所以这里的速度应该是不对的,并且是由加速度冲击造成的。这里有一种改进方法,但我猜效果不大,就是在平整段结束时刻,将速度和位移置为零,即所谓的零速更新算法。但可能有点效果,如果把冲击加速度放在一个周期的最后,进入平整段后速度和位移置零,可能消除其影响。下一阶段试一下。

CoP

虽然FSR是很玩具级的压力传感器,其重复性、精度、稳定性、滞后性很差劲。但是其具有柔性,关键是很薄,具有很友好的可穿戴特性,所以还是采用了FSR这种压力测量传感器。一开始不知道怎么处理这8个压力点的压力数据,毕竟有点多,受上一篇文章启发,算一下CoP的y坐标,看能发现什么。

在这里插入图片描述
然后来看CoP的波形图

在这里插入图片描述CoP的最高点,脚尖处压力最大,可以认为脚尖下一时刻离地。
CoP的最低点,脚跟处压力最大,可以认为脚跟此时刻触地。这里的效果不好说,由于FSR本身带来的滞后,以及模拟开关开关速度有限(每过10ms采集一个通道的数据并打开下一通道的开关,在下一10ms时采集)。如果没有滞后,这里脚处于摆动相的时候应该有一段接近0的平整段,就像角速度信号平整段一样。这里的滞后可以把模拟开关去掉,用8个ADC采样来改善,但我觉得效果不大,主要原因在于传感器本身。

鞋子俯仰角

在这里插入图片描述
这里鞋子俯仰角波形并不好,是由于Manhony的算法收敛速度造成的,可以看到几乎没有像角速度一样的中间的平整段。可以采用EKF算法来解决,但是计算量偏大,我用EKF算法时造成呼吸灯,直接由呼吸变为了闪烁,说明超时略大。在这里一个是采用操作系统或者采用计算速度更快的STM32F4单片机。不想改了,先暂且看看效果。

数据处理

先来处理角速度数据,从简单做起,先来区分角速度信号的平整段和非平整段。我一开始想到了均方差和均值,那就来看一下吧。
在这里插入图片描述这里的方差均值的计算和上面判断收敛的时候一模一样。10个数据的buffer,每次采样到一个角速度就去掉一个旧点,增加一个新点,计算10个点的均值和均方差。上图中黄色线时均方差曲线。可以看到均方差还是很灵敏的,在刚出平整段时反应剧烈,进入时同样。但是有一点要指出,在角速度极值点处,均方差为0,所以单靠均方差和阈值比较这一点来判断平整段与否是不够的。

那就先把平均值一起来进行判断试一试。下面是平整段FlatArea的判断函数,如果是则返回true

在这里插入图片描述
下面定义了一个显示变量,通过方波的高低来区分

在这里插入图片描述
下面是最终结果图,此时是慢速步行的区分图
在这里插入图片描述可以看到还是比较好的进行了区分,只是在某些点处区分的不是很好。
然而随着速度的加快,方差给的过于严格,这时区分效果就不好了,由于平整段的角速度没有低速时那么好。
在这里插入图片描述

问题与总结

在这里插入图片描述
角速度信号还是偶尔会出现过零的毛刺。这是需要在下一步解决的。对于步态的划分,目前做到这里。下一步打算解决角速度信号的过零毛刺问题、给均方差、均值的标准一个合理的阈值、角速度和其他信号(CoP)联调。姑且写道这里,有点累……

  • 13
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
外骨骼机器人的步态测试是为了评估其步态生成和控制算法的效果以及机器人在行走时的稳定性和流畅性。以下是步态测试中需要测试的主要方面: 1. 步态生成算法:测试外骨骼机器人的步态生成算法,包括行走、跑步、上下楼梯等不同模式下的步态生成能力。通过评估步态的自然度、节奏和适应性来验证算法的性能。 2. 步态控制系统:测试外骨骼机器人的步态控制系统,确保能够根据使用者的动作意图和环境变化进行实时调整。评估控制系统的稳定性、准确性和响应速度。 3. 平衡和稳定性:测试外骨骼机器人在行走过程中的平衡和稳定性,包括抗摔倒能力、抗扰动能力和姿态调整能力。评估机器人在不同地形和环境条件下的稳定性表现。 4. 步长和步频调整:测试外骨骼机器人在行走时步长和步频的调整能力,以适应不同使用者的身体特征和行走速度。评估机器人对不同步态参数的灵活性和适应性。 5. 负载和能耗:测试外骨骼机器人在不同负载条件下的步态表现和能耗。评估机器人在承载重物或在不同工作强度下的稳定性和能效性能。 6. 步态转换和切换:测试外骨骼机器人在不同步态之间的转换和切换能力,如从行走到跑步或从地面行走到上楼梯。评估机器人在切换步态时的平稳性和连续性。 通过这些测试,可以评估外骨骼机器人的步态性能,发现潜在问题并进行优化,以提高其行走的稳定性、适应性和用户体验。步态测试对于外骨骼机器人的实际应用和人机交互具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值