利用MATLAB处理大型遥测数据集用于生物力学性能分析

迈克尔·戴维斯(Michael Davies), EquuSys出版社

马很贵重,但也很脆弱;在任何时候,六分之一的顶级马术运动员在某些方面都是瘸腿的。因为马是“逃跑”的动物,一匹跛马会竭尽全力隐藏自己的伤害。野马进化出这种特性是为了防止受伤的动物从兽群中被挑出来作为容易的猎物。这种行为可能会给驯养的马和他们的骑手带来灾难性的后果:因为马非常擅长掩盖损伤,即使是拥有几十年经验的专家也很难识别细微的跛行,而诊断损伤的确切原因则更加困难。

图1所示。前蹄装有EquuSense传感器的马。

在EquuSys,我们使用MATLAB®开发一种易于使用、无创的系统,使马专业人员能够识别和诊断即使是训练有素的眼睛也无法检测到的跛足。

EquuSense技术是几个不同学科的结合,包括遥测、生物力学和兽医医学。尽管面临着复杂的、多学科的挑战,但一个缺乏MATLAB经验的小型开发团队能够迅速地从最初的想法转移到生产系统。

EquuSense系统(图1)提供了马手持小跑、平地骑或跳跃的实时定量数据。它的18个无线传感器节点测量位置、速度、加速度、方向和旋转,相对于马或全球参考系,精确度可达几毫米或几度。EquuSense软件处理这些遥测数据,以图表、3-D图和动画的形式提供马生物力学的客观数据。

常见跛行诊断方法

目前,专业人员主要依靠肉眼观察马的运动,并使用触诊和阻断跛肢来诊断跛行。

大多数诊断跛足的定量方法,包括高速摄像机、跑步机和压力垫,都收效有限。为人类运动员设计了一种典型的视频动作捕捉系统。它不能以马的速度和大小来衡量;它的捕获量通常仅限于分析全速运行时的一到两个步骤。另一方面,跑步机会扭曲马的步态,要安装大约75个视频标记来进行分析可能需要几个小时。压力垫根本不能产生准确的结果。

开发算法

为了提供马的生物力学方面有意义的信息,我们必须翻译和聚合从马身上的局部传感器获得的原始数据,以产生一个六自由度的马的运动表示。EquuSense节点使用加速度计和陀螺仪来测量加速度和角旋转。磁力计测量相对于地球磁场的方向。我们的第一个目标是将加速度和角旋转数据从局部坐标系转换为全局坐标系。

由于多个传感器节点的测量速度高达每秒1000次,因此很明显,每个会话将生成千兆字节的数据。使用MATLAB,我们将数百万行数据从逗号分隔的值文件转换成矩阵,然后我们可以过滤、处理并转换成有意义的信息。

我们使用Aerospace Toolbox™通过将方向余弦矩阵转换为欧拉角.因为我们的传感器提供的加速度单位是米每秒的平方,所以我们需要对加速度随时间积分来得到传感器的速度。然后我们用这个测量来确定每个传感器的位置。

在开发的早期探索阶段,我们在MATLAB中的脚本和交互模式之间切换,以检查变量并快速尝试新的想法。我们可以使用MATLAB绘图功能可视化数据,而无需编写自己的定制例程。通过使用数组、矩阵和向量化函数,我们可以非常有效地处理大型数据集。如果我们使用C或c++而不是MATLAB,这些任务将花费更长的时间。

我们的一位惯性导航专家用c++编写了一个广泛的信号处理库,我们最初从MATLAB调用它。最后,我们在MATLAB中重新编写了整个库,因为我们发现用于信号处理、操纵矩阵和执行参考框架计算的MATLAB脚本比一组等价的c++例程更容易理解和更透明。

测试第一代原型机

作为概念验证,我们在一位兽医的帮助下测试了第一代EquuSense系统,他使用了一种叫做阻塞.通常用于确定受伤的位置,阻塞包括麻醉跛腿的一个区域,然后检查马的步态。如果马开始正常行走,可以假定损伤在麻醉区域。

在我们第一代原型系统的测试中,一名兽医麻醉了一匹受伤的马的腿,使马不再明显跛行。即使以兽医的专业眼光来看,这匹马似乎也很健康。然而,我们的分析生成的MATLAB图显示,马向右前腿(RF)传递的动力更少,而向左后腿(LR)传递的动力更多——马向后倾斜,以减少对受伤腿的压力(图2)。

图2。右前蹄受伤的马的蹄的力量分布图。每条线代表一个步幅。左:闭塞前传输功率分布,表示射频传输功率小于LR传输功率。右图:阻断后的传输功率分布,表明马仍然倾向于LR,表明在对动物步态的目视检查中无法检测到的跛行。点击图像查看放大视图。

数据表明,马对LR的压力要比RF大得多。图2中右侧的图显示了麻醉后的蹄的数据。虽然从视觉上看,伤口不再明显,但情节清楚地显示,这只动物倾向于右前腿。

该测试表明,传输功率(我们从原始传感器数据计算出来的度量)为跛行相关的步态不对称提供了可靠的指示。

我们从这次测试中学到了另一个重要的教训:没有我们的帮助,EquuSense接口让兽医无法解释传输功率的图。显然,我们必须同时改善这个系统的各个方面。随着我们转向更先进的传感器和更复杂的信号处理算法,我们还需要开发一个界面,让用户更直观地看到马是如何移动的。

第二代增强

EquuSense的第二代原型机和随后的试验提供了更多关于马运动的数据,包括更精确的加速度和角旋转测量。它还包括一个增强的用户界面,我们使用它进行开发MATLAB GUI演绎的工具。

当兽医和马专业人员分析一匹马时,使用这个软件从试验数据中定义会话。一个会话包括特定步态(小跑、慢跑等)或马运动中的特定插曲的所有数据。会议之后使用MATLAB算法进行处理,我们从开发的初始探索阶段就不断改进MATLAB算法。该算法识别步态,计算三维蹄轨迹(图3)和每个蹄的方向的欧拉角。

图3。蹄飞行路径三维图。点击图像查看放大视图。

用户可以对数据进行注释,以标记特定的事件,例如从蹄着地到蹄起飞的阶段性转换,然后在感兴趣的数据集中复制该事件。

我们在第二代EquuSense上取得了另一个关键突破:我们开发了MATLAB算法来创建蹄的飞行路径的动画表示,如图3所示。当我们向一些早期用户展示这个动画和事件的视频回放时,他们报告说,这个功能帮助他们可视化数据的重要方面,并直观地理解它。

进入生产和超越

生产EquuSense系统已经用于临床研究,我们将继续改进该系统。我们已经开始使用Instrument Control Toolbox™将数据直接从传感器传输到MATLAB,我们计划使用MATLAB Compiler™创建一个独立版本的EquuSense软件。我们还在探索这项技术的其他应用,包括对人类运动员的生物力学研究。

2009年出版- 91643v00


下载188bet金宝搏产品使用

了解更多

    查看相关功能的文章

    查看相关行业的文章