技术文章和通讯

利用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.图,显示具有损伤的右前蹄为马蹄的功率分布。每一行代表一个箭步。左:阻塞,指示发送到RF比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金宝搏产品使用

了解更多

    查看相关功能的文章

    查看相关行业的文章