技术文章和通讯

发展运动分析算法对医疗、体育、职业安全的应用程序

埃德加炭的dorsaVi


精英运动员想尽快回到比赛后受伤。因此,他们常常说服自己和医生,他们是适合玩之前他们已经完全恢复。先进的技术,如光学跟踪系统捕获的运动,并迫使盘子,这测量地面反作用力,使运动员和教练确定何时运动员可以安全地返回完整的活动。这些技术提供了度量和见解,不可能获得通过观察运动员,但他们有几个缺点。除了是昂贵的,他们通常取决于受过专门训练的技术人员和冗长的安装程序。进一步,因为它们往往需要运动员执行在受限的环境中,比如在跑步机上跑步,他们很难评估自然运动。

dorsaVi,我和我的同事们已经开发出可穿戴、无线运动分析设备,精确测量和跟踪运动,而运动员自由地移动在任何环境中(图1)。

ViMove传感器运行测试。
图1所示。ViMove传感器运行测试。

ViPerform包含惯性测量单元(IMU)和磁力计,以及肌电图测量传感器肌肉活动。传感器数据传输到记录和反馈装置(RFD),可戴在胳膊或携带在口袋里。RFD发送数据到个人电脑,它是由dorsaVi软件包处理和显示。

dorsaVi技术的核心是专有的算法过滤和分析原始传感器数据,提供信息,可以用来评价膝关节控制,背部的运动,腿部活动,臀部和核心控制和运行性能。通过开发和测试算法在MATLAB®和MATLAB编码器™开发可移植的C代码,我们减少近一半的开发时间比以前的方法,涉及手工编写c#。

为客观分析开发的算法

客观分析是通过复杂的算法过程原始传感器数据和当前的结果以一种有意义的形式。例如,一个算法可以识别大负面的加速度计的输出峰值发生在当一个运动员每一步都是跑步。从这些峰值的时间和程度,该算法可以计算跑步的节奏和每一步的地面反作用力,分别。这种分析可以检测到一个不对称的节奏或不平等的地面反作用力为每个腿,揭示运动员的一个不能或不愿通过两条腿施加相等的力。同样,分析膝盖偏差、弯曲和旋转运动员下蹲或啤酒花可以指导康复ACL和其他膝盖受伤。即使是健康的运动员,也可以受益于这种分析,利用反馈算法来改进他们的技术或优化关键动作的效率。

当我们实现了我们的算法直接在c#中,我们不得不开发自己的低级信号处理和绘图功能。通过切换到MATLAB,我们加快发展通过使用内置函数对数据可视化和离散傅里叶变换。今天,我们使用信号处理工具箱™和小波工具箱™进一步简化开发。例如,我们使用信号处理工具箱来设计并应用巴特沃斯和其他无限脉冲响应(IIR)过滤器传感器数据。我们确定波峰和波谷的传感器信号计算连续小波变换(CWT)系数的信号用小波工具箱。识别这些模式在确定步态信号是至关重要的事件,比如脚跟罢工和脚趾,我们运行分析。

验证和测试算法

在MATLAB开发一个算法后,我们通过比较验证其结果与结果由一个独立的测量装置,如光学运动跟踪系统或一个力板。举例来说,我们比较的时机步态事件检测算法的时机地面部队反应峰值力产生的盘子。在这个阶段,我们检查情节和MATLAB中创建图表来确定,然后正确的潜在缺陷算法(图2)。

DorsaVi_fig_2_w.jpg
图2。MATLAB绘图显示运行测试的结果。

一旦我们满足,算法执行一组有限的测试场景,我们在MATLAB运行超过1000测试使用记录数据来自世界各地的运动员。我们继续调整和优化算法,直到符合我们要求的精度和性能。

从我们的MATLAB算法生成c++代码

DorsaVi软件,它是主界面查看传感器数据和评价运动员的表现,是主要在c#写的。当我们第一次开始使用MATLAB信号处理算法,开发我们的工作流仍然依赖于c++和c#程序员实现算法的生产版本,被纳入dorsaVi软件. .这种方法是低效的,因为它涉及到重复的工作。可能需要额外的月重组和重新测试算法在MATLAB已经开发和测试。

来消除这种低效率和缩短项目交付时间,我们决定使用MATLAB编码器生成c++代码从MATLAB验证算法。我们准备为代码生成算法初始化所有的变量和寻找机会来优化循环。我们确认准备代码生成算法通过生成一个墨西哥人函数,它包装了编译后的代码,然后调用墨西哥人函数代替原来的MATLAB算法。从我们的算法生成c++代码后,我们编译算法成为一个DLL。c#程序员这个DLL加载到dorsaVi软件。

将MATLAB算法转化为产品代码之前拿起一个月。用MATLAB编码器现在需要一到两天。作为最后一步,我们执行全系统测试算法的dorsaVi软件。到目前为止,我们还没有发现任何缺陷期间推出的代码生成。广泛的测试我们在MATLAB支持c#程序员花时间为dorsaVi软件开发新功能而不是重新编码算法在c#中然后重新测试。

重用算法和响应客户请求

我们有重用几个算法最初开发ViPerform ViMove和ViSafe产品,专为精英体育,临床应用,分别和职业健康应用程序。下载188bet金宝搏我的团队目前正在新的算法来分析数据从传感器放置在不同的身体部位,以及算法的开发和增强现有客户的要求。

用MATLAB和MATLAB编码器,我们可以快速响应客户请求。在最近的版本中,我们更新了两个算法模块,创建了两个新的,和交付的所有四个的信心是不可能使用我们的旧的工作流。

2014 - 92251 v00出版

查看相关文章的能力

为相关行业观点文章