用于实时数据量化、获取、分析和反馈的系统和方法与流程

文档序号:18744775发布日期:2019-09-21 02:12阅读:572来源:国知局
用于实时数据量化、获取、分析和反馈的系统和方法与流程

本申请是2016年12月29日提交的美国专利申请No.15/394,779的部分继续申请并要求其优先权,其全部内容通过引用并入本文。

技术领域

本公开一般涉及数据获取和分析,并且更具体地涉及用于实时数据量化、获取、分析和反馈的方法和系统。



背景技术:

现有数据获取设备包括随时间跟踪有限数据并向用户显示状态指示符的能力。例如,腕戴式健身追踪器记录并显示用户在一天过程中所进行的步伐。其它设备基于移动的频率和幅度来跟踪用户执行的一般活动量。当达到目标度量时,这些设备可以向用户提供通知。例如,设备可以在设备记录目标步数或累积活动分数时通知用户。



技术实现要素:

公开的实施例可以包括方法、系统和计算机可读介质,以提供来自实时高尔夫球杆传感器数据和身体佩戴传感器数据的近瞬时用户反馈。公开的实施例可以包括加载模板高尔夫挥杆简档,该模板高尔夫挥杆简档描述运动或方位随时间的多维表示;当用户使用高尔夫装备执行运动时,诸如利用高尔夫球杆或高尔夫推杆的高尔夫挥杆或高尔夫推杆时,接收来自安装在高尔夫球杆上的运动传感器的实时传感器数据;基于实时传感器数据计算测试高尔夫挥杆简档,该测试高尔夫挥杆简档描述由用户执行的高尔夫挥杆的多维表示;将该模板高尔夫挥杆简档与该测试高尔夫挥杆简档进行比较,以确定该测试高尔夫挥杆简档的偏离量,该偏离量指示该测试高尔夫挥杆从该模板高尔夫挥杆简档偏离多少;并提供图形用户界面,该图形用户界面显示该测试高尔夫挥杆简档的多维渲染并允许用户操纵该测试高尔夫挥杆简档的多维渲染的视角,其中该图形用户界面进一步关于该测试高尔夫挥杆简档的多维渲染显示该偏离量,以及显示由用户执行的高尔夫挥杆或推杆的关键度量。

在进一步的实施例中,运动传感器可以在高尔夫球杆的握把的基部处或下方安装在高尔夫球杆的杆身上。实施例可以进一步包括将测试高尔夫挥杆简档与多个附加测试高尔夫挥杆简档一起存储,计算测试高尔夫挥杆简档的度量,诸如给定阶段(session)的平均测试高尔夫挥杆简档,确定随时间的平均测试高尔夫挥杆简档之间的差异,根据诸如使用的球杆、天气和位置的任何和所有相关元数据来维度化该信息,并向用户提供挥杆的图形演示以及该差异。另外,公开的实施例可以进一步包括响应于比较,基于偏离量通过安装在高尔夫球杆上的运动传感器向用户提供实时反馈。而且,公开的实施例还可包括接收GPS数据,基于GPS数据识别地理位置,以及根据地理位置对测试挥杆简档编索引。在其它公开的实施例中,地理位置可以包括与地理位置对应的高尔夫球场和洞号。在这样的实施例中,可以根据所识别的高尔夫球场和洞号或者先前建议的任何其它捕获的元数据来对测试挥杆简档编索引。

公开的实施例可以包括基于实时运动分析来提供用户反馈的方法、系统和计算机可读介质。公开的实施例可以包括加载模板运动简档或模板运动模式,模板运动简档或模板运动模式描述多维路径并且包括沿多维路径的偏离容限;接收用户执行的运动的实时传感器数据;基于实时传感器数据计算测试运动简档,该测试运动简档描述用户执行的运动的多维路径;并且响应于确定测试运动简档的多维路径超过模板运动简档的偏离容限,生成信号以向用户提供反馈。

在公开的实施例中,可以从一个或多个惯性运动捕获传感器接收实时传感器数据,并且该一个或多个惯性运动捕获传感器可以捕获随时间的三轴加速度数据、三轴方位、角速度和重力信息数据。在公开的实施例中,可以从被比较和/或平均的多个共位的惯性运动捕获传感器接收实时传感器数据,接收实时传感器数据和生成信号以向用户提供反馈之间的时间小于40毫秒,并且实时传感器数据可具有每秒至少10个样本的分辨率。

公开的实施例可以包括方法、系统和计算机可读介质,以向单独的用户提供传感器佩戴者的实时运动分析,并允许用户向佩戴者提供实时反馈。例如,公开的实施例可以包括加载模板运动简档,该模板运动简档描述多维路径并且包括沿多维路径的偏离容限;无线地接收传感器的佩戴者执行的运动的实时传感器数据;基于实时传感器数据计算测试运动简档,该测试运动简档描述由传感器的佩戴者执行的运动的三维路径;响应于确定测试运动简档的三维路径超过模板运动简档的偏离容限:在图形用户界面中向用户提供视觉指示、提供听觉指示或触觉指示,并向用户呈现图形用户界面中的选择区域,以向传感器的佩戴者提供反馈;并响应于接收在图形用户界面的选择区域处的用户选择,生成信号以向用户提供反馈。

在公开的实施例中,提供给用户的反馈可以对应于由用户选择的选择区域的部分。此外,图形用户界面中的选择区域可以包括:第一选择区域,用于向佩戴者提供触觉反馈;以及第二选择区域,用于向佩戴者提供视觉反馈。选择区域还可以包括:第三选择区域,用于向用户提供音频反馈。而且,在该处理的持续时间内,佩戴者和用户可以相离至少20码。另外,佩戴者和用户可以相离200码。佩戴者和用户可以相离零到200码以上。此外,佩戴者和用户可以相离远于一英里,只要在用户和佩戴者之间存在清晰的视线和/或线连接了用户和佩戴者。

公开的实施例可以包括方法、系统和计算机可读介质,以基于随时间积聚的用户的运动的运动传感器数据向用户提供更新的运动简档。公开的实施例可以包括从用户终端接收由用户执行的初始运动的多个运动传感器数据集;加载目标运动简档,该目标运动简档描述三维路径;计算与所接收的多个运动传感器数据集对应的多个测试运动简档,该测试运动简档描述由用户执行的运动的三维路径;将多个测试运动简档与目标运动简档进行比较,以确定与目标运动简档随时间的偏离和平均偏离;响应于确定随时间的偏离以大于预定阈值速率的速率减小或者平均偏离小于预定偏离阈值,生成更新的运动简档和对于用户的用于执行与更新的运动简档对应的更新的运动的指令。

在公开的实施例中,更新的运动简档可以对应于被修改以在更大的运动范围上扩展的初始运动。此外,对于用户的用于执行更新的动作的指令包括执行更新的动作的模型的图像和视频之一。

公开的实施例可以包括方法、系统和计算机可读介质,以促进对用户进度的第三方监视。公开的实施例可以包括从传感器用户终端接收由传感器用户执行的初始运动的多个传感器数据集,其中,传感器用户终端可以包括移动设备、在计算设备上运行的网络浏览器、或者由用户或多个用户穿戴和/或操作的一个或多个传感器;加载模板简档,该模板简档描述多维路径;计算与所接收的多个传感器数据集对应的多个测试简档,该测试简档描述由传感器用户或多个用户执行的多维路径;将多个测试简档与模板简档进行比较,以确定与模板简档随时间的偏离和平均偏离;使用图形用户界面向第三方提供与模板简档相关的多个测试简档的视觉指示、与模板简档随时间的偏离以及平均偏离,该图形用户界面包括用于第三方的选择区域以提供反馈给传感器用户或多个用户;并且响应于接收来自在图形用户界面的选择区域处的第三方的用户选择,生成信号以向传感器用户或多个用户提供自动反馈。

在公开的实施例中,向传感器用户的反馈可以包括以下中的至少一个:描述运动的更新的模板简档和用于传感器用户执行与该更新的模板简档对应的运动的指令、安排与第三方或第三方的成员的预约的邀请、运动的某一属性或某些属性的符合、不符合或阈值的通知、或对传感器用户的呼叫请求。而且,提供步骤可以根据来自第三方的请求或响应于确定平均偏离超过预定阈值而执行。此外,图形用户界面可基于测试运动简档或预定义设置突出显示特定传感器用户,包括使用颜色或强度来反映运动信息的所选属性。

公开的实施例可以包括用于提供实时反馈的系统。该系统可以包括一个或多个传感器设备以及计算设备,该计算设备可以是便携式的。该一个或多个传感器设备可以包括:处理器,被配置为执行指令;存储器,配置为存储指令;一个或多个惯性测量单元,被配置为捕获用户执行的运动的实时运动数据;附加传感器,被配置为感知周围环境并发送传感器数据;发送器,被配置为发送实时运动数据;接收器,被配置为接收反馈;以及一个或多个用户反馈机构,被配置为将所接收的反馈传达给用户。该计算设备可以包括:接收器,被配置为接收运动数据;存储器,被配置为存储包括偏离容限的目标运动简档;和处理器。该处理器可以被配置为:基于实时传感器数据计算测试简档,该测试简档描述用户执行的运动的多维路径;并且响应于确定测试运动简档的多维路径超过模板简档的偏离容限,生成信号以向用户提供反馈。该计算设备还可包括:发送器,被配置为将反馈发送到一个或多个传感器设备。传感器设备可以包括反馈机制(例如,LED、触觉反馈、音频反馈、嗅觉反馈)。

在其它实施例中,提供了虚拟地生成用于定制运动的目标简档的界面。例如,软件程序可以允许用户通过在人体的计算机模型上选择传感器的位置来创建运动数据的控制集。用户可以与计算机人体模型交互以进行期望的运动以创建用于定制运动的“目标”运动简档。用户界面可以提供随时间的数据的显示并接收用户指令以绘制带(开始和结束时间),用于每个图表以创建阈值数据(y轴)和识别模式(动作序列)。

其它实施例可以允许用户在佩戴一个或多个传感器设备的同时与用户界面交互以记录理想的模板运动;界面可以提供记录的理想模板运动的图形表示;并且界面可以接收修改记录的理想运动的图形表示的用户输入。记录的理想模板运动的图形表示可以包括传感器数据随时间的二轴图。修改图形表示的用户输入可以包括用户向图形用户界面提供输入以执行以下中的一个或多个:平滑记录的理想模板运动的所选部分,以及缩放记录的理想模板运动二轴图的所选部分的时间和/或幅度。

其它实施例可包括专用传感器。例如,传感器设备可采用鞋内底(insole)的形式。鞋内底传感器设备变体可包括在其它应用中未发现的传感器,诸如用于测量不同位置处的跑步技术或步行技术的多个压力传感器。鞋内底传感器设备还可以包括反馈机构或者与单独的反馈机构(例如,佩戴在腰部上的反馈设备)组合。此外,公开的实施例可包括连接到不同装备或机器的传感器,不同装备或机器诸如高尔夫球杆、高尔夫推杆、钓鱼竿、桨、网球拍、(多个)帽子、(多个)头盔、防护垫、(多个)手套、(多个)鞋、(多个)鞋内底、(多个)衣物和/或球棒。这样的传感器可以与符合公开的传感器设备的功能的公开的系统交互。

要理解,前面的一般描述和下面的详细描述二者仅是示例性和说明性的,并不是对要求保护的发明的限制。

附图说明

包含在本公开中并构成本公开的一部分的附图例示示例性实施例,并且与说明书一起用于解释公开的原理。

图1例示根据本公开的一些实施例的示例性实时数据获取、分析和反馈系统。

图2是根据本公开的一些实施例的传感器设备的功能框图。

图3A和3B例示根据本公开的一些实施例的传感器设备的视图。

图4A、4B、4C和4D例示根据本公开的一些实施例的具有传感器设备的不同装备。

图5是根据本公开的一些实施例的鞋类传感器设备的框图。

图6是例示根据本公开的一些实施例的实时数据获取和反馈处理的流程图。

图7A和7B例示根据本公开的一些实施例的实时数据获取和反馈图形用户界面。

图8是例示根据本公开的一些实施例的实时数据获取和反馈处理的流程图。

图9是例示根据本公开的一些实施例的实时数据获取和反馈处理的流程图。

图10是例示根据本公开的一些实施例的数据积聚和更新处理的流程图。

图11是例示根据本公开的一些实施例的运动简档生成处理的流程图。

图12A和12B例示根据本公开的一些实施例的实时数据获取和反馈图形用户界面。

图13例示根据本公开的实施例的示例性传感器放置和身体移动。

图14是例示根据本公开的一些实施例的传感器放置校准处理的流程图。

具体实施方式

参考附图描述示例性实施例。在附图中,参考标号的最左边的(多个)数字标识其中首次出现该参考标号的图。在任何方便的地方,在整个附图中使用相同的参考标号来表示相同或相似的部分。虽然本文描述公开的原理的示例和特征,但是在不脱离公开的实施例的精神和范围的情况下,修改、适应和其它实现方式是可能的。旨在将以下详细描述视为仅是示例性的,其真实范围和精神由接下来的权利要求指示。

公开的实施例一般涉及实时获取数据、分析数据以及向用户提供实时反馈的系统和方法。公开的实施例可以跟踪、量化和评估用户和/或装备或机器的身体运动。例如,在移动或锻炼时,公开的系统和方法可以处理量化用户的跑步步幅的临床(clinically)相关特征的传感器数据,以及通过将其与同时从另一用户接收到的数据、来自该用户或其它用户的先前数据集、和/或用于期望的跑步步幅的模型(也称为“模板”)数据集进行比较来评估该数据。在该示例中,用户可以接收移动或动作不符合模板数据集的反馈中间步幅(mid-stride)或中间重复(mid-repetition)。对于单个运动或锻炼阶段或对于整个阶段执行的离散运动,公开的系统可以提供运动的量化测量,诸如测试和模板数据集之间的归一化“分数”或百分比偏离。此外,随着时间,公开的系统可以基于来自先前测量和长期目标的进展自动适配模板,以确保来自用户的运动或多个运动的捕获数据匹配期望的标准,例如,诸如方位、速度和/或运动范围。随着时间,公开的系统可以允许由用户或第三方(例如,医疗保健专业人员)对进展的基于云的查看,突出显示可以受益于专门治疗的有问题的结果,这可以包括对锻炼或指导性运动的修改、全部的不同运动指令、方案的各种组合、药物和/或手术治疗。

现有系统和方法可能随时间仅跟踪单个度量。公开的实施例可以提供考虑和关联与活动相关的不同变量的改进功能。公开的实施例可以通过关联随时间的不同跟踪数据并且识别数据中的相关趋势或模式来提供改进的解决方案,该相关趋势或模式在没有多维相关的情况下可能不是明显的。

现有系统还缺乏提供实时反馈的能力。公开的实施例可以通过向用户提供获取的数据不匹配期望的特性的自动的、立即的和临床相关的指示以及接收手动反馈并实时地将其提供给用户来提供改进的解决方案。例如,公开的实施例可以基于模式匹配算法向用户提供实时反馈。当接收到的传感器数据与预定规则匹配时,传感器或相关联设备可以向用户提供指示(例如,视觉上,听觉上和/或有形地)。在其它示例中,将实时数据提供给第三方(例如,教练、训练者、医生、医疗保健专业人员),以向第三方提供输入反馈的选项,系统然后实时地向用户发送该选项。例如,自动和/或手动的相关实时反馈可以允许用户适配中间活动,以允许用户更有效地练习物理移动。

此外,现有系统不能跟踪随时间的变化。公开的实施例可以提供突出显示不同数据简档之间随时间的临床相关趋势的改进。此外,公开的实施例可以跟踪临床相关进展,诸如运动范围或与模板简档的偏离。例如,系统和方法可以确定用户的步行步幅的偏离已经在特定幅度或持续时间偏离(例如,用户步行中的跛行),这可能呈现显著的健康风险或长期问题。尽管这样的示例对于用户可能是显然的,但是示例性的公开的系统还可以揭示用户的健康的潜在改变,例如,诸如血糖水平、血压、心率、氧化水平和水合的改变。实施例可以将用户身体的这样的临床相关潜在特征与其它活动关联以记录有问题活动的趋势。系统和方法可以警告用户和/或医疗保健提供者。此外,保险提供者可以使用公开的系统和方法来提供适合于个人的适应性保险选项,诸如通过适当的药物,饮食和锻炼降低一个人的心率以维持较低血压、或者在否则将会妨碍康复的一些生理方面完全失能之前提倡外科手术干预。

公开的实施例可以通过适配目标、诸如达到期望的结果和/或基于当前结果来改进现有系统。例如,用户的进展可以基于环境因素和用户的独特生理学而增加或减少。当用户表现超过计划的或预期的进展时,公开的实施例可以将模板适配为更积极(例如,更高的运动范围、更快、更强、更长的距离、更多的重复、对模板的更严格的容限)。然而,如果用户的进展停滞或下降,则公开的实施例可以允许对用户的模板的更放松的适配。

公开的实施例可以提供这些改进中的一个或多个。在实施例中可以存在另外的改进,但是这里没有明确列出。此外,实施例不需要满足这些概述的益处中的一个或多个以必然提供优于当前技术的进步。在整个本公开中讨论了另外的改进。

公开的实施例可以包括生成、利用和/或操纵数据简档。在一些实施例中,数据简档可以是随时间的多维数据流或多个时间同步的数据流的文件包(portfolio)。数据简档可以关联两个或更多个时间相关的(time-dependent)数据集,诸如从各种传感器接收到的数据。例如,数据简档可以表示随时间的三个轴的加速度。在另一个示例中,数据简档可以包括累积的移动幅度(例如,活动测量度量)和随时间的记录的血糖水平、或者心率、血压、肌肉运作(operation)和随时间的活动测量度量。在另外的示例中,来自肌电图(EMG)传感器、温度传感器、高度传感器、光强度传感器、压力传感器、力传感器和电传感器的数据可以与健康信息关联,比如血糖水平、心率、血压、氧饱和度、体温、呼吸频率和/或步态。与公开的实施例一致,可以使用本说明书中讨论的传感器和数据类型生成其它类型的数据流。预期与海拔、光强度、温度、湿度或其它外部因素相关的性能或健康的关联。

公开的实施例可以包括生成、利用和/或操纵运动简档。运动简档可以是描述物体、人和/或肢体随时间的运动的数据简档。运动简档可以包括运动的按时间的多维记录。例如,运动简档可以包括随时间的三维加速度数据、三轴方位数据、三轴角速度数据和/或三轴重力信息。在一些实施例中,加速度和/或方位数据可以包括小于三维的数据,诸如单轴或双轴加速度和/或方位数据。运动简档可以组合相同运动的独特信号,诸如关联线性加速度和角加速度。

基于运动简档,公开的实施例可以包括渲染空间中的对应运动的图形表示。在三维运动简档的示例中,公开的实施例可以包括渲染示出对象的路径的三轴空间中的线。在另一实施例中,渲染的显示可以包括动画,该动画示出(例如,基于方位数据)方位的图标并且以与运动简档的加速度数据相称的速率沿着路径移动。这样的数据也可以与同步的捕获的视频数据并排渲染或重叠在该同步的捕获的视频数据之上而渲染。

公开的实施例可以包括比较两个或更多个运动简档,或者更一般地,比较数据简档。在一些实施例中,系统和方法可以确定两个简档之间的差异的幅度。这样的差异可以指示两个数据集多紧密地匹配,诸如高尔夫球杆的两次挥杆。可以使用不同的计算来量化差异。在一个示例中,公开的实施例可以对固定时间段的总差异求和(例如,对差异积分)。一些实施例可以以每单位时间基础归一化积分的量。附加地或替代地,公开的实施例可以包括通过确定在预定义的一组时间点(例如,一个或多个时间上的数据点)处两个简档相差超过阈值量(例如,预定阈值或自动调整阈值)来比较两个简档。

公开的实施例可以包括利用事件模型来识别匹配特定标准的数据简档、运动简档或其任何者的部分。这些标准可以包括简单阈值或复杂的曲线匹配算法。在复杂曲线拟合的示例中,事件模型可以由对于简档的特定变量的指定轮廓(contour)来定义,使得y轴位移(例如,普通最小平方差)或正交距离(例如,总最小平方差)低于阈值量。该量可以基于应用的类型或测试简档数据的大小而被归一化。

公开的实施例可以单独地或组合地使用这些概念中的一个或多个,如下面关于附图讨论的。

图1例示根据本公开的一些实施例的示例性实时数据量化、获取、分析和反馈系统100。系统100可以包括一个或多个传感器设备(110,110B,110N)、计算设备120、(多个)受控设备150、网络140和服务器130。

系统100可以包括一个或多个传感器设备以聚集传感器数据。传感器设备110、110B和110N表示向系统100提供数据的一个或多个传感器设备。所示的每个传感器设备可以包括相同的传感器能力或不同的能力。例如,传感器110可以包括惯性测量单元,而传感器设备110B提供压力数据(例如,来自球杆或球拍的握把,或来自鞋内底)。在不同的示例中,所示的整个传感器可以仅包括惯性测量单元,但是可以位于不同的人身上,或者位于单个人的不同点上(例如,手腕、膝盖或脚踝)。传感器可以向系统100提供各种感测的数据,如下面进一步讨论的。

系统100可以包括计算设备120。在一些实施例中,计算设备120可以是通用计算机、平板设备、智能电话或智能手表。计算设备120可以包括处理器、存储器(例如,RAM、闪存和/或硬盘)、各种有线和无线接口(例如,蓝牙、IEEE 802.11、以太网、USB、USB-C和/或专有端口,诸如Apple Lightning)、输入设备(例如触摸屏、键盘、鼠标)和显示器。计算设备120可以操作本地或远程存储的可编程指令以执行公开的处理。

计算设备120可以与一个或多个传感器设备交互。计算设备120可以从传感器设备110、传感器设备110B和/或传感器设备110N接收传感器数据。例如,传感器设备110可以实时发送从传感器感知的数据。传感器数据可以是高分辨率数据,并且传感器设备110和计算设备120之间的连接可以是高带宽连接,诸如蓝牙“经典”无线连接。虽然这样的高带宽无线技术可以使用比替代物(例如,蓝牙“低能量”)更多的功率,可以由系统100使用的增加的数据分辨率可能需要更高带宽的无线接口。

系统100可以包括基于接收到的指令执行功能的(多个)受控设备150。例如,(多个)受控设备150可以包括输出设备,诸如远程显示器、扬声器和触觉引擎,其向传感器设备110的用户提供反馈。这些类型的受控设备可以基于传感器数据向用户提供状态指示符,诸如通过显示绿灯、播放积极音调或经由穿戴的触觉引擎轻拍用户来通知用户传感器设备正在提供满足期望的数据简档。

在另一示例中,(多个)受控设备150可以包括影响用户的锻炼环境的设备。例如,(多个)受控设备可以包括风扇、空调系统或锻炼装备。在该示例中,响应于确定传感器设备110指示用户的体温超过健康阈值水平,计算设备120可以发送指令以增加风扇速度和/或激活空调。

在另一些示例中,(多个)受控设备150可以包括医疗设备,诸如胰岛素泵、起搏器、心脏除颤器、胃刺激器、脑深部神经刺激器和/或耳蜗植入物。在一个示例中,计算设备120可以基于来自传感器设备110的指示更高活动水平的数据(例如,与用于加强活动的事件模型匹配的数据简档)将控制信号发送到胰岛素泵以改变胰岛素剂量。在另一示例中,计算设备120可以将控制信号发送到药物泵以提供药物来防止或大大减轻帕金森氏症的震颤。

系统100可以包括网络140。在一些实施例中,网络140可以是有线和/或无线网络。例如,网络140可以是LAN、WAN、WLAN或因特网。系统100可以使用网络140来连接各种设备。例如,计算设备120可以使用网络连接到服务器130、(多个)受控设备150和/或传感器设备110。替代地,如所绘的,计算设备120可以直接与传感器设备110和/或(多个)受控设备150接口。例如,计算设备120可以形成其自己的无线接入点以连接到其它设备。

系统100可以包括服务器130以提供联网的存储和分析。服务器130可以是联网的计算机。服务器130可以包括中央处理单元,诸如至少一个数据处理器,该中央处理单元执行用于执行用户或系统生成的请求的程序组件。处理器可以包括专用处理单元或通用微处理器。

服务器130可以促进基于网络(例如,“云”)的存储和数据交互。例如,计算设备120可以将数据简档和基本的原始数据发送到服务器130用于存储。在一个实施例中,服务器130可以分析随时间的数据简档并基于改变提供反馈。服务器130可以基于数据的分析来发送通知(例如,发送电子邮件、上传数据、修改网站、更新数据库)。

在一些实施例中,服务器130可以用作门户以允许用户与存档的数据简档和原始数据交互。例如,服务器130可以提供图形用户界面,该图形用户界面呈现通过特定类别、日期或类型而组织的数据简档。

图2是根据本公开的一些实施例的传感器设备200的功能框图。与公开的实施例一致,传感器设备200可以是传感器设备110的示例。传感器设备200可以包括处理器210、贮存器215、输入输出220、IMU230(惯性测量单元)、(多个)传感器240、无线收发器250和/或电源360。

在一些实施例中,处理器210可以是通用处理器、可编程微控制器、可编程处理器(例如,现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD))、或专用集成电路(ASIC)。

在一些实施例中,贮存器215可以包括内部贮存器316和/或外部贮存器317。内部贮存器316可以包括例如板上存储器,诸如闪存或RAM。外部贮存器可以包括例如可移除存储器介质,诸如紧凑型闪存卡、安全数字卡、记忆棒、光盘等。在一些实施例中,贮存器215可以包括存储指令的非暂时性计算机可读介质,所述指令在由处理(例如,处理器210)执行时使处理器执行公开的功能和处理。

输入输出220可以包括输出320和输入330。在一些实施例中,输出320可以包括灯322(例如,一个或多个LED、LCD显示器、激光器、投影仪)、(多个)扬声器324(例如,压电扬声器、蜂鸣器、警报器、扩音器)和触觉引擎326(例如,振动器、触觉反馈机构)。灯322可以包括在传感器设备200的各种表面和不同角度上的灯。

输入330可以允许用户激活传感器设备200并与传感器设备200交互。在一些实施例中,输入330可以包括物理输入机构(例如,按钮、开关、电容接口)或接收输入的方式(例如,红外接收器、光学接收器、USB或串口)。物理输入机构例如可以允许用户打开和关闭传感器设备200、与计算设备同步和/或改变模式。

作为输出320和输入330的布置的类型的示例,图3A和3B例示根据本公开的一些实施例的传感器设备300(例如,示例性传感器设备110和/或传感器设备200)的视图。在一些实施例中,传感器设备300可以包括灯的组合,诸如LED阵列。例如,如所示,传感器设备300包括具有灯322(例如,LED)的栅格的有倾角的面。该栅格可以被编程为显示低分辨率图案或提供更大强度的光作为单个单元。在另一面上,传感器设备300可以包括与输入设备组合的灯(例如,与传感器设备300的相对面上的输入330组合的(多个)灯322)。例如,输入330可以是用户可以按压以与传感器设备300交互的物理按钮。可以使用各种下压模式(例如,长按、双按、三按、快按)来指示不同的输入代码。例如,用户可以长按该按钮以启动与计算设备120的配对。在另一个示例中,用户可以轻敲与用户希望与收集的特定数据集相关联的标签对应的代码。例如,用户可以在执行运动之前和/或之后三敲输入330以指示系统100应该将对应的运动简档标记为“理想”或模板运动,或者特定感兴趣运动用于进一步分析(例如,加书签)。虽然输入330被示为单个按钮,但是附加按钮(未示出)可以与输入330相邻或者在传感器设备300的不同面上放置。除了物理按钮之外,传感器设备300还可以包括接收器40以例如接收红外或光学输入。

回到图2,在一些实施例中,传感器设备200可以包括IMU 230以捕捉多维的加速度和方位数据。IMU 230可以包括磁力计332、陀螺仪334和/或加速计336。在某些实施例中,处理器210可以以每秒100个样本的速率对IMU加速度和方位数据进行采样。在一些实施例中多个IMU设备可以被“堆叠”然后被时间切片以允许N因子采样率增加,使得两个这样的设备可以每秒生成200个样本或甚至更多。

在一些实施例中,传感器设备可以包括IMU 230的多个实例,作为用于过滤离群测量的冗余手段。例如,处理器210可以从两个或更多个IMU接收三轴加速度数据。处理器210可以对加速度数据进行平均以提高准确度,或者当存在三个或更多IMU时,处理器210可以不利用最高和最低的读数,对剩余读数进行平均以降低测量不准确性。

传感器设备200还可以包括各种传感器240。在一些实施例中,传感器可以作为(多个)内部传感器342嵌入传感器设备200中。例如,温度传感器、光强度传感器、湿度传感器、高度传感器和/或麦克风可以容纳在传感器设备200内并且可以直接与处理器210接口。在一些实施例中,传感器可以通过端口或物理接口作为(多个)外部传感器344与传感器设备200接口。例如,通过USB或串行连接,传感器设备200可以从板外传感器接收数据,板外传感器诸如生物电势遥测测量设备(例如,心电图(ECG)、脑电图(EEG)、肌电图(EMG)数据)、光学输入设备(例如,相机、测距仪)和/或智能电话传感器(例如,智能电话GPS、海拔、时间、天气、声音、光)。在一些实施例中,(多个)外部传感器344可以用于验证来自(多个)内部传感器342的数据。

传感器设备200可以包括无线收发器250。收发器250可以促进与计算设备120、网络140和/或(多个)受控设备150的通信。在一些实施例中,收发器250可以包括蓝牙收发器352和/或Wi-Fi收发器354。在一个示例中,蓝牙收发器352可以是蓝牙“经典”收发器,而不是蓝牙“低能量”收发器,以便提供增加的带宽来实时发送高分辨率传感器数据(例如,到计算设备120)。在另一示例中,Wi-Fi收发器354可以是IEEE 802.11a/b/g/n/x收发器。可以使用与公开的的系统和处理的带宽要求一致的附加有线和/或无线标准。

传感器设备200可以包括电源360以向诸如处理器210和贮存器215以及其它元件的部件提供电力。在一些实施例中,电源360可以包括直流电源源,诸如电池。例如,电源360可以包括锂离子聚合物(LiPo)电池、镍氢(NiMH)电池和/或镍镉电池。当电源360包括电池时,电源360还可以包括再充电电路,诸如电端口、可移除电池和/或感应充电电路。

图4A、4B、4C和4D例示根据本公开的一些实施例的具有传感器设备的不同设备。

转到图4A,系统400A包括具有传感器设备410A的高尔夫球杆420A。高尔夫球杆420A可以是传统的高尔夫球杆,诸如推杆、发球杆或劈杆。高尔夫球杆420A可包括头部424A和握把426A。

传感器设备410A(例如,传感器110)可以附接到高尔夫球杆420A。在一些实施例中,支架415A可以用于将传感器设备410A固定到高尔夫球杆420A。虽然示出了高尔夫推杆,但是附加的球杆头、诸如发球杆、球道木杆、混合球杆、铁杆和劈杆可以用作高尔夫球杆420A。如所示,传感器设备410A可以在握把426A的基部处连接到高尔夫球杆420A。传感器设备410A的该定位可以有利地提供挥杆运动的更准确的惯性数据。出于本讨论的目的,“挥杆”可以指用发球杆开球、在球道上挥动九号铁杆和/或用推杆推动的运动。另外,放置在握把426A的基部可以允许用户在没有传感器设备410A干扰其视线的情况下挥杆高尔夫球杆420A。然而,在其它实施例中,传感器设备410A可以安装在高尔夫球杆420A上的其它位置。在其它实施例中,多个传感器设备可以安装在高尔夫球杆420A的不同位置处,诸如靠近头部424A、沿着杆身和/或在握把426A上的各个位置处。

在一个实施例中,握把426A可以通过使用压力传感器来捕捉压力数据。例如,握把426A可包括一个或多个嵌入的,附接的或以其它方式添加的压力传感器。压力传感器可以记录在使用球杆期间用户的抓握的压力。这样的数据在练习的同时向用户提供相关的实时反馈中是有用的。例如,握把传感器还可以包括反馈机构(例如,触觉引擎、灯或扬声器),该反馈机构在他或她过紧地握住球杆时(这可能对一个人的挥杆产生负面影响)通知用户。该通知可以在压力传感器感测到球杆正被过度紧握的确切时刻发生,例如,在挥杆之前和/或在高尔夫挥杆期间。替代地,反馈机构可以被编程为在完成高尔夫挥杆之后自动地或响应于用户对反馈和/或传感器数据的请求而通知用户:用户的抓握太紧。

为了向系统100提供数据,这样的压力传感器可以形成独立的传感器设备(例如,传感器设备110的版本)。例如,抓握传感器可以通过无线连接(例如,蓝牙连接)独立地向计算设备120发送数据。类似地,独立的抓握传感器设备可以参与传感器网状网络以通过系统100发送数据。替代地,(多个)抓握传感器可以与传感器设备410A接口(例如,作为一个或多个外部传感器344)以向系统100提供抓握压力数据。例如,抓握传感器可以经由传感器110中的外部传感器接口将数据发送到处理器210用于处理。。

转到图4B,系统400B可以包括具有传感器设备410B的球拍420B。球拍420B可以是具有头部422B和握把426B的传统球拍。

类似于系统400A,在系统400B中,传感器设备410B(例如,传感器设备110)可以附接到球拍420B。在一些实施例中,支架415B可以用于将传感器设备410B固定到球拍420B。如所示,传感器设备410B可以在握把426B和头部422B之间连接到球拍420B。当用户操作球拍420B时,传感器设备410B的该定位可以有利地将传感器设备410B从他或她的视线“隐藏”。在其它实施例中,传感器设备410B可以安装在球拍420B上的不同位置,诸如在头部422B的顶部、沿着轴和/或在握把426A上。

此外,如上面关于图4的握把426A所解释的那样,握把426B可以包括一个或多个传感器以测量用户的抓握。例如,一个或多个传感器可以测量来自握持球拍420B的用户的在握把426B上的压力,比如生成用户的抓握的压力图。这可以有利地允许系统100确定用户正如何握持球拍420B,包括例如确定头部422B的面相对于用户的一只或两只手手的相对角度。这可以允许系统100评估抓握角度(例如,关于握把的轴的旋转的角度)和压力如何影响例如发球速度、落点和回旋。

在图4C中,系统400C可以包括钓竿420C和传感器设备410C。钓竿420C可以是传统的钓鱼竿(例如,用于飞钓或深海钓鱼。如所示,钓竿可以包括轮428C和手柄426C。虽然没有明确示出,钓竿420C可以包括附加的诱饵和沿着接头的附加导引。

与系统400A类似,在系统400C中,传感器设备410C(例如,传感器设备110)可以附接到钓竿420C。在一些实施例中,支架415C可以用于将传感器设备410C固定到钓竿420C。如所示,传感器设备410C可以连接到钓鱼杆420C,在那里手柄426C与接头接合。传感器设备410C的该定位可以有利地将传感器设备410B放置在垂钓者通常操纵钓竿420C的区域之外。例如,所描绘的传感器设备放置允许用户自由地操作轮428C并且不干扰线。在其它实施例中,传感器设备410C可以安装在钓竿420C上的不同位置,诸如沿着杆或接头,或者集成到轮428C或手柄426C中。

此外,如上面关于图4A的握把426A和图4B的握把426B所解释的那样,手柄426C可以包括一个或多个传感器以测量用户的抓握。例如,一个或多个传感器可以测量来自握持手柄426C的用户的在手柄426C上的压力。这可以有利地允许系统100确定用户多稳固地握持钓竿420C用于评估抓握和压力如何影响抛钓技术。

另外,尽管未在图4C中示出,钓竿420C可以具有附加的嵌入或安装的传感器,以测量轮428C的动作和/或钓线中的张力。此外,传感器设备可以嵌入钩中或在钓线的末端飞行(fly)。基于该附加数据,系统100可以生成将抛钓运动(例如,来自传感器设备410C的IMU数据)与轮动作、线张力和飞行移动关联的数据简档。这些组合的按时间的变量可用于向用户提供实时反馈以改进抛钓运动。例如,系统100可以激活灯或振动以向用户指示抛钓运动过于激进或振荡太快。可以使用与公开的实施例一致的传感器和结果数据的附加组合以提供附加的用户反馈和分析。

转到图4D,系统400D可以包括桨420D和传感器设备410D。如所示,桨420D可以是具有带(band)的游泳桨(swimming paddle),以安装到游泳者的手上。然而,桨420D也可以是用于划船的船桨,诸如独木舟、站立式桨板或船员划船。

在系统400D中,传感器设备410D(例如,传感器设备110)可以附接到桨420D。在一些实施例,支架415D可以用于将传感器设备410D固定到桨420D。替代地,传感器设备410D可以集成到桨420D中。

另外,虽然未示出,但是可以使用附加的传感器单元。例如,附加的传感器可以测量水或用户的手或者针对桨420D的面的压力。这样的传感器数据可以用于生成桨420D的面的压力图。基于传感器数据,系统100可以在冲程期间提供关于桨420D的方位的反馈。例如,在船员划船的情况下,当桨的面不保持垂直于划船的方向时,桨可能较低效。计算的压力图可以揭示水未被有效地拉动(或推动)的点,并且系统100可以提供用户反馈以调整方位以在水中提供最大的拉动(或推动)力。

虽然未在图4A至4D中示出,但是传感器设备110可以附接到其它装备,诸如衣服(例如,腰带、手镯、衬衫、鞋)、步行辅助设备(例如,手杖、助行器、踏板车、拐杖)、假肢体(例如,手、手臂、腿部假体)、工具(例如,锤子、刮刀、手术刀)和/或健身装备(例如,药球、跳绳、头盔、松紧带)。

图5是根据本公开的一些实施例的鞋类传感器设备系统500的框图。如所示,传感器设备510(例如,传感器设备110)可以嵌入鞋内底中或配合在鞋类的鞋内底下方的平坦的柔性片中。

在一些实施例中,各种压力传感器可以与传感器设备510接口。如所示,脚趾传感器设备520和脚跟传感器设备530可以连接到传感器设备510(例如,作为(多个)外部传感器344)。如所示,四个压力传感器可以位于系统500的每个角处以确定二维的压力。基于多维压力数据,系统100可以生成压力图,并且实时地向用户提供反馈以改进步幅、步态、内旋和步调。例如,输出320的各个部分可以用于向用户指示在人们跑步或走路的同时步调应当增加或缩短步幅长度。

图6是例示根据本公开的一些实施例的实时数据获取和反馈处理的流程图。可以关于由计算设备120执行的动作来描述以下讨论中的步骤。然而,一个或多个替代设备可以替代地执行公开的的功能。例如,在一个实施例中,传感器设备110可以在本地执行某些数据聚集、计算和/或反馈功能(例如,步骤610、步骤615、步骤620、步骤625和/或步骤630)。另外,虽然以特定顺序示出处理600的步骤,但是可以重新排序或省略各个步骤。

处理600可以与步骤605组合,其中系统100将传感器设备110的一个或多个实例与计算设备120配对。在一些实施例中,传感器设备110可以基于来自用户的输入(例如,使用输入330,诸如按下按钮)来启动到计算设备120的连接。例如,传感器设备110可以利用蓝牙配对过程或经由Wi-Fi连接连接到计算设备120。在一些实施例中,计算设备可以搜索或查找正试图连接或可用于连接的传感器设备。

在一些实施例中,步骤610可以包括校准过程。传感器设备110可以在与计算设备120配对之前校准传感器,诸如IMU 230。例如,传感器设备10可以向用户提供指示(例如,灯322的闪光)以向用户指示旋转传感器设备110,使得IMU 230可以对准其轴并调整缩放因子以增加位置和方位计算的准确性。在其它实施例中,校准可以在配对期间或之后发生,诸如当系统100确定来自IMU 230的数据缺乏必要的精度时。

在步骤610中,处理600可以加载模板挥杆简档。本公开中使用的术语“挥杆简档”可以指各种高尔夫运动,包括例如挥动发球杆、近穴击球和/或用推杆推动。术语“推杆简档”和“挥杆简档”可以互换使用。计算设备120可以检索数据简档(例如,运动简档)以用作用于比较目的的模板或模式。数据简档可以包括与高尔夫挥杆相对应的多维加速度和/或方位数据。在一个实施例中,可以从本地或网络贮存器调用模板挥杆简档。例如,计算设备120可以从服务器130或其他云贮存器请求特定模板挥杆简档。

在一个实施例中,加载模板挥杆简档(步骤610)可以包括记录对于实际挥杆的一个或多个运动简档。例如,用户可以在练习阶段开始时提供担当模板的初始运动,并且可能想要练习重复该初始模板运动。为了记录初始模板运动,系统100可以接收在挥杆运动期间记录的来自传感器设备200的传感器数据。例如,IMU 230可以记录在特定的挥杆运动期间的沿三个轴或更少的轴的加速度和/或方位数据。传感器设备110可以将IMU数据发送到计算设备120,计算设备120转而将用于该挥杆运动的IMU数据存储为运动简档。例如,“理想的”模板挥杆可以记录在临床设置中,诸如在有训练员时,并且稍后当用户在没有训练员在附近的情况下练习时可以被调用。

在一个实施例中,步骤610可以包括记录运动、生成模板、将模板存储在联网服务器(例如,服务器130)中、和/或请求存储的模板用于联网贮存。在另一些实施例中,步骤610可以包括接收从软件应用生成的运动简档,而不是从现场运动记录的运动简档。例如,在步骤610中,计算设备120可以接收由处理1100生成的运动简档,处理1100在本说明书中稍后描述并且在图11中绘出。可以使用附加组合或中间的处理,使得计算设备120接收数据简档或运动简档以用于与处理600的其余步骤一致地使用。

在步骤615中,处理600可以接收实时传感器数据。计算设备120可以从传感器设备110接收实时数据。在一些实施例中,计算设备120可以通过诸如蓝牙或Wi-Fi的无线传输技术,例如使用蓝牙收发器352和/或Wi-Fi收发器354,实时接收传感器数据。计算设备120可以从(多个)内部传感器341和/或(多个)外部传感器344中的一个或多个接收包含实时数据样本的数据分组。例如,计算设备120可以从传感器设备110的捕捉,以小于5毫秒的延迟,在1-5毫秒的间隔上接收对于给定传感器的包含1-10个数据样本的一个或多个分组。样本可以作为时间-值对存储在阵列中,诸如与列表中的时间戳值配对的传感器样本值。在一些实施例中,计算设备120可以继续接收传感器数据分组,只要传感器设备110捕捉相关数据(例如,如下面关于图8的步骤810、步骤820和/或步骤830所讨论的)。

在步骤620中,处理600可以计算测试挥杆简档。计算设备120可以将所接收的传感器数据聚集成传感器读数的组合的按时间的排列。在一些实施例中,计算设备120可以创建组织对于给定运动的传感器数据的新数据结构。该数据结构可以将原始传感器数据的缩略形式与标准化元数据存储在数据对象中。例如,计算设备120可以接收具有变化的保真度(例如,不同的采样率和/或数据精度)的原始传感器数据。计算设备120可以组织数据,使得得到的数据结构类别具有一致的采样率和/或具有一致分辨率的采样数据(例如,具有相同数量的有效数字的值)。例如,计算设备120可以对具有大于标准化采样率的采样率或具有对于给定类别或类型的挥杆简档(例如,一种类型的运动简档)数据结构的采样率范围的传感器数据进行下采样。对于具有低于给定类别的挥杆简档的最小采样率的采样率的接收传感器数据,计算设备120可以插入附加数据点以实现期望的采样率(例如,使用曲线拟合或回归分析)。

在一些实施例中,挥杆简档(例如,数据简档或运动简档)可以包括标准化元数据。例如,挥杆简档类别可以包括用于标准化数据分析变量的字段,诸如传感器数据的平均值和中值、以及标准偏差、高值、低值、局部最小值和最大值以及拐点。贯穿本公开讨论的附加数据分析可以存储为挥杆简档的一部分。

在一些实施例中,计算可以包括将测试挥杆简档与参考简档、比如模板挥杆简档(例如,来自步骤610)进行比较。计算设备120可以比较两个简档以确定两个简档在哪里偏离以及两个简档偏离多少。在一个实施例中,计算设备120可以生成指示随时间的差异的简档。可以与本公开中讨论的数据简档和运动简档比较一致地进行附加的比较。

在步骤625中,处理600可以基于在步骤620中进行的计算来提供反馈。反馈可以包括指向用户和/或第三方的视觉、触觉和/或听觉信号。反馈可以基于计算的测试挥杆简档、其相关联的元数据或基于其的比较。来自步骤620的计算可以充当反馈的触发器。例如,当测试挥杆简档偏离超过预定量时,系统100可以生成反馈。在另一个示例中,系统100可以在测试运动简档匹配某些标准、诸如平均值或标准偏差值时生成反馈。这样的值可以是用户定义的或预定义的(例如,来自步骤610中的加载模板简档)。例如,可以在从接收来自传感器的数据起5到20毫秒之间向用户提供反馈。

在一些实施例中,计算设备120可以向用户提供反馈。例如,计算设备可以生成显示传感器数据的分析的图形用户界面。图形用户界面可以描绘挥杆运动的不同视图,诸如图7A和7B中的用户界面700A和用户界面700B中描绘的那些。

图7A和7B例示根据本公开的一些实施例的实时数据获取和反馈图形用户界面。图7A描绘图形用户界面700A,其可以包括描绘实时相关反馈以及先前从传感器设备110接收的传感器数据的表示或抽象的区域。在一些实施例中,界面700A可以包括一个或多个维度视图,其包括处理的传感器数据的功能空间图,诸如俯视图区域710A、侧视图区域720A和后视图区域730A。多个视图中的每一个可以显示在各个轴上绘制的高尔夫运动(例如,高尔夫推杆、高尔夫挥杆)的立面(elevation)(例如,侧面、顶部、后面)。在一些实施例中,所描绘的路径可以被注释或着色以传达关于推杆简档数据的附加数据。例如,线路径可以被颜色编码以标注运动加速度(例如,绿色用于加速,红色用于减速)或模板推杆简档的偏离(例如,红色在阴影中增加以对应于偏离量)。其它颜色编码可以用于传达不同的推杆或挥杆变量。

如所示,界面700A还包括元数据显示区域705A。该区域可以显示推杆简档的时间戳和各种标签,诸如运动简档的标识号和/或标题。虽然未示出,但是区域705A还可以包括位置数据,诸如GPS坐标、地理区域和/或洞号以及对相应的高尔夫球场。

除了实时数据之外,界面700A还可以包括先前数据的记录。区域740A可以包括先前简档的列表,其中选择区域730A指示用于完全显示的所选推杆简档。

转到图7B,示出计算设备(例如,计算设备120)的用户界面的较小版本。利用较小的空间,用户界面可以一次示出元数据显示区域705B和顶视图区域710B。然而,用户可以与用户界面交互以经由菜单检索附加数据(例如,界面700A的区域)。例如,用户可以滚动通过推杆简档的不同正视图,并选择所描绘的“返回”箭头以返回到过去记录的推杆简档的列表。

回到图6,在一些实施例中,步骤625可以包括向用户提供反馈的传感器设备110。计算设备120可以基于计算(例如,从步骤620)将一个或多个信号发送到传感器设备110以触发输出320。例如,计算设备120可以(例如,使用无线收发器250)发送指令以激活(多个)灯322、(多个)扬声器324和/或触觉引擎326。在一个示例中,当计算设备120确定测试挥杆简档与模板挥杆简档匹配时,其可以发送信号以显示绿灯。然而,当测试挥杆简档偏离超过指定量时,指令可以激活传感器设备110的红灯。在另一个示例中,当测试挥杆简档满足某些标准时,计算设备120可以向传感器设备110发送指令以使触觉引擎326执行特定振动,和/或使(多个)扬声器324播放人群欢呼的声音。基于环境条件可以使用用于反馈机制的其它触发和组合。例如,当系统100确定外部非常明亮时,不是激活(多个)灯322或者除了激活(多个)灯322之外,传感器设备110可以激活触觉引擎326。

在其它实施例中,传感器设备110可以在没有来自计算设备120的指令的情况下本地执行计算并启动反馈。例如,处理器210可以执行计算设备120的上述功能并且本地启动所讨论的反馈机制之一。

在步骤630中,处理600可以确定是否已经接收到附加数据。例如,系统100可以基于对应于新的或正在进行的传感器简档的附加数据重复步骤615、步骤620和步骤625中的一个或多个。

图8是例示根据本公开的一些实施例的实时数据获取和反馈处理800的流程图。以下对处理800的讨论参考由传感器设备110执行的功能。然而,在一些实施例中,某些功能可以由一个或多个替代设备执行。

在步骤810中,处理800可以在捕捉数据。在一些实施例中,传感器设备110可以识别特定传感器以从其采样数据。例如,处理器210可以识别IMU 230用于数据捕捉。

在步骤820中,处理800可以从一个或多个传感器获取数据。在一些实施例中,传感器设备110可以开始记录和处理来自一个或多个传感器825(例如,IMU 230、(多个)传感器240)的传感器数据。例如,传感器设备110可以通过预定间隔将传感器读数记录在临时贮存器中。

在步骤830中,处理800可以将阈值过滤器应用于所获取的数据。在一些实施例中,传感器设备110可以评估数据是否满足用于处理的某些资格。某些类型的数据可能代表噪声或其它无用的数据。例如,传感器设备110可以评估运动数据是否对应于高尔夫挥杆,而不是球杆的错误的非挥杆移动(例如,带着球杆行走、将球杆放置在高尔夫球袋中、设置为挥杆)。传感器设备110可以过滤掉被确定为不对应于高尔夫挥杆的移动。在一些实施例中,过滤器可以计算偏离量并滤掉有太多噪声的数据以表示简单的挥杆运动。例如,一系列快速随机移动可以表示球杆在高尔夫球袋中四处弹跳,因此可以被传感器设备110丢弃。相比之下,挥杆通常可以包括在相对标准的时间范围内发生的两个连续移动(例如,后挥杆和前挥杆)。在其它实施例中,步骤830可以表示简单过滤器,其中在指定幅度以下的读数被滤掉。例如,传感器设备110可以识别具有低于阈值量的加速度值的微小移动并丢弃它们。在其它实施例中,传感器设备110可以在没有接收到令人满意的数据时断电或进入“休眠”模式以节省电力。

在步骤840中,处理800可以确定是否需要保存所获取的数据的备份副本。在一些实施例中,传感器设备110可以确定是否存在足够的贮存器和/或偏好是否指示传感器数据应该在本地存档。

在步骤850中,处理800可以将所获取的传感器数据发送到本地贮存器。例如,当传感器设备110确定偏好指示数据被本地存储并检测外部贮存器设备时(例如,步骤840,“是”),传感器设备可以将传感器数据保存到本地贮存器860(例如,内部贮存316和/或外部贮存317)。

在步骤870中,处理800可以将所获取的传感器数据发送到(多个)设备。在一些实施例中,传感器设备110可以将传感器数据发送到计算设备120。例如,当累积的传感器数据达到预定阈值时,诸如所使用的本地贮存器的量860的百分比或者预定的持续时间,传感器设备110可以格式化并发送获取的传感器数据到计算设备120用于进一步处理(例如,处理600和/或处理900)。

图9是例示根据本公开的一些实施例的实时数据获取和反馈处理900的流程图。下面关于计算设备120讨论公开的功能。然而,附加设备可以全部或部分地执行公开的功能。例如,传感器设备110可以在本地执行某些反馈计算,而不是从计算设备120接收指令这样做。

在步骤905中,处理900可以加载用户的简档。计算设备120可以从联网或本地贮存器调用用户数据。例如,计算设备120可以发送对于与用户相关联的过去数据的包括用户标识符的请求。基于该请求,计算设备120可以接收过去的用户数据(例如,数据简档)、用户偏好和/或治疗计划。治疗计划可以包括数据简档,诸如对于特定治疗或疗法移动的运动简档。

在步骤910中,处理900可以接收实时传感器数据。计算设备120可以从一个或多个传感器接收实时数据。在一些实施例中,计算设备120可以通过诸如蓝牙或Wi-Fi的无线传输技术(例如,使用蓝牙收发器352和/或Wi-Fi收发器354)实时接收传感器数据。计算设备120可以从内部传感器341和/或外部传感器344中的一个或多个接收包含实时数据样本的数据分组。例如,计算设备120可以从传感器设备110的捕捉以小于5毫秒的延迟在1-5毫秒的间隔上接收对于给定传感器的包含1-10个数据样本的一个或多个分组。样本可以作为时间-值对存储在阵列中,诸如与列表中的时间戳值配对的传感器样本值。在一些实施例中,计算设备120可以继续接收传感器数据分组,只要传感器设备110捕捉相关数据(例如,如关于图8的步骤810、步骤820和/或步骤830所讨论的)。

在一些实施例中,计算设备120可以同时接收多个运动数据流。同时的流可以来自共同定位的或位于用户或对象上的不同点处的传感器。在共同定位的传感器的示例中,系统100可以接收传感器数据并将其交织以增加数据的分辨率。例如,传感器数据流可以具有相同的采样间隔,但是系统100可以控制采样时间以基于流的数量来偏移每个流以增加分辨率。计算设备120可以将采样率除以流的数量以计算偏移量。计算设备120可以向每个传感器设备110提供指令以开始以偏移量的倍数进行采样,使得没有两个传感器设备在完全相同的时间采样。计算设备120可以通过基于其相关联的时间戳交织离散数据点来组合样本流。

在来自不同位置的多个运动流的示例中,传感器可以位于用户肢体的不同部分处,诸如在用户手腕和二头肌处,例如以考虑在用户肘部的任一侧的手臂方位的变化。这样的示例性传感器布置可以用于测量用户肘部的运动范围并且用作测角器。虽然使用肘部作为示例,但是可以类似地监视附加的关节,诸如头部相对于用户颈部的躯干的方位,或者测量膝盖、背部和/或臀部的运动范围。可以测量附加关节的运动范围,而这里没有明确指出。这样的布置可以有利地提供比典型地用测角器测量的更准确的运动数据范围,因为传感器设备考虑了三轴中的相对方位,而不是限于单个维度中的角度。

在其它实施例中,系统和方法可以仅使用单个传感器设备来获得测角测量。例如,单个传感器设备110可以提供随时间的三轴方位数据。用户可以将传感器设备110可拆卸地固定到感兴趣关节的肢体,并且传感器设备110可以发送指示肢体随时间的方位的方位数据。在该示例中,为了确定测角器数据和/或运动测量范围的目的,公开的实施例可以假设与传感器体相对的身体部分保持静止。例如,单个传感器设备110的方位变化可以用于通过确定随时间的特定轴或轴组合的起始数据的幅度来计算运动范围。基于来自多个轴的方位数据,计算设备120可以计算定义运动发生的三维平面的等式(例如,ax+by+cz=0)。然后,在该平面内,计算设备120可以确定方位通过的度数。因此,即使用户的运动可能不完美地发生,使得它仅沿着单个轴发生,诸如当用户在稍微弯腰的同时执行手臂抬起时,计算设备120可以在用户执行给定动作时计算在对于身体的方位归一化的坐标系上的运动范围。

计算设备120可以基于从各种传感器接收的实时数据来创建数据简档。例如,计算设备20可以将实时数据组织成标准化的采样率和测量值的有效数字的数量。必要时,计算设备120可以将测量单位转换为对于相同类型的所有数据简档是一致的(例如,以使用度量单位)。

在创建数据简档时,计算设备120可以操纵从传感器设备接收的原始数据。例如,计算设备120可以丢弃高于和/或低于预定义的最大值和/或最小值的数据值。计算设备120还可以将曲线或多项式函数拟合到数据,或执行动态时间规整。当接收到多个传感器数据流时,计算设备120可以对来自多个流的数据进行三角测量,以提高准确性并减少所得到的数据简档中的噪声。

在一些实施例中,计算设备120可以在步骤910中同时关联来自多个传感器设备的实时数据。例如,计算设备120可以接收来自连接的胰岛素泵(例如,(多个)外部传感器344之一)的实时血糖水平数据、实时心率数据(例如,来自ECG传感器)、实时肌肉电活动(例如,来自EMG传感器)和运动数据(例如,来自IMU 230)。计算设备120可以将心率数据和血糖水平数据与加速度数据(例如,指示重复的速度、步幅长度、步态)进行比较。可以接收和关联附加类型的实时数据,诸如在本公开的其它部分中讨论的那些。

处理900可以在步骤915中确定是否发送自动反馈。计算设备120可以将计算的数据简档与各种标准进行比较。例如,计算设备120可以确定诸如平均值、标准偏差、斜率和拐点的数据简档的特征是否匹配标准,诸如从用户简档加载的标准(例如,步骤905)。在一些实施例中,步骤915可以包括将数据简档与模板进行比较以确定数据从期望的模板数据简档偏离多少。例如,计算设备120可以基于诸如平均偏离量、求和的总偏离或最大偏离的偏离量将计算的数据简档与模板数据简档进行比较。基于该比较,计算设备120可以确定应该提供自动反馈以及提供什么类型的反馈。

公开的实施例可以提供反复指导反馈。计算设备120可以将测试数据简档与多个模板简档进行比较,以确定哪个模板简档最紧密地匹配测试简档。比较可以基于测试曲线和模板曲线之间的最小平方差。在其它示例中,可以比较曲线的傅里叶变换。此外,可以通过确定测试数据(例如,测试运动简档)和模板数据(例如,模板运动简档)之间的随时间的偏离量来执行比较,以确定测试运动曲线的偏离量,其指示测试运动如何从模板运动简档偏离。如在整个本公开中所描述的,可以使用数据简档的附加比较。每个模板简档可以与不同类型的反馈(如果有的话)相关联,并且基于哪个模板最匹配(例如,具有最低偏离量、最高关联性、最低最小平方差),计算设备120可以确定有必要提供反馈,在一个示例中,包括提供哪种类型的反馈(例如,听觉、触觉、视觉)或对于特定受控设备的控制的特定类型,其中控制设备和受控设备中的一个或两者基于最紧密地匹配测试数据简档的模板数据简档而被选择。这样的反馈可以包括测试数据简档最紧密地匹配的简档的指示和基于偏离量的运动的定量“分数”。

在步骤920中,处理900可以发送反馈生成信号。基于接收到满足某些资格的实时数据(例如,步骤915,“是”),计算设备可以使用输出320中的一个或多个来发送信号以生成反馈,诸如在传感器设备110处的反馈。例如,响于确定特定传感器的平均值落在某个范围内,计算设备120可以发送信号以激活传感器设备110的触觉引擎326。

在一些实施例中,每个标准或资格可以与特定类型的反馈配对。这样的配对可以存储在(例如,在步骤905中检索的)用户简档中。例如,当传感器数据落入在某个范围内时,可以提供预定类型的反馈。在不同模板被映射到不同类型的反馈的实施例中,计算设备120可以将对应的反馈指令发送到传感器设备110。在一个示例中,物理治疗或练习锻炼可以具有模板运动简档以及表示可能不正确的移动的运动简档,诸如延伸超出目标运动范围的或当移动执行得过快时的运动简档。用户可以在执行锻炼运动时佩戴传感器设备110中的一个或多个。当用户的锻炼运动得到与长期(chronic)不正确运动简档相比更紧密地匹配模板运动简档的运动简档时,计算设备120可以发送信号以激活传感器设备110处的绿灯。替代地,当计算设备120确定接收到的传感器数据得到更紧密地匹配长期不正确运动简档的运动简档时,计算设备可以发送指令以振动并激活在传感器设备110处的红灯。

在另一个实施例中,用户可以接收以多个其它用户分组的反馈。例如,锻炼类别可以具有多个参与者,每个参与者配备有传感器设备110中的一个或多个。例如,普拉提类别中的每个参与者可以佩戴传感器设备110。该类别可以被分成两组或两个“团队”。传感器设备可以聚集与每个用户施加的形式或压力相关联的数据,并且组合使用图形用户界面(例如,连接到计算设备120的显示器)显示给所有参与者的“团队读数”或“团队分数”的读数(例如,总和或平均值)。例如,传感器设备110可以基于方位数据(例如,运动简档)发送指示用户的特定肢体的方位的数据,可以将用户的形式或技术与理想技术(例如,测试运动简档)进行比较。可以将偏离量归一化或以其它方式转换为个体的定量“分数”。可以对在整个班级的课程中和/或在多个班级中的特定锻炼、运动或姿势计算分数。

在步骤925中,处理900可以向图形用户界面提供实时传感器数据。在一个实施例中,当未触发自动反馈标准时(例如,步骤915,“否”),计算设备120可以向图形用户界面提供实时传感器数据。例如,当计算设备120是平板计算机时,计算设备可以在用户界面的触摸屏上显示数据简档。在一些实施例中,用户界面可以与选择区域一起显示分析以向用户提供反馈。例如,教练、训练员或治疗师可以握持平板机,该平板机显示用户行走的实时分析,诸如步态、节奏和步幅长度。平板机上的用户界面可以示出一个或多个维度的加速度计数据以及各个度量分数。在一个实施例中,当度量落在预定范围内时,度量分数可以以粗体、斜体、下划线或以某些颜色显示。

处理900可以在步骤930中确定是否已经接收到手动反馈。在一个实施例中,计算设备20的用户界面可以提供用于选择用户反馈的区域。例如,第三方(例如,治疗师、训练员、教练)可以手动选择反馈的类型以及何时发送反馈。第三方可能正在监视实时数据简档和相关联的度量,并决定何时开始反馈。例如,训练员可以确定在训练开始时灯可以是有效反馈,并且稍后当用户变得疲劳时切换到触觉反馈。

虽然手动反馈(例如,步骤925)被示出作为对自动反馈的替代(例如,步骤920),但是在一些实施例中可以组合使用这两者。例如,可以同时发送手动和自动反馈。在另一示例中,自动反馈(例如,步骤925)可以取代或取消自动反馈。例如,第三方用户可以在操作用户界面时去激活某些自动反馈触发器。

在一个实施例中,系统100可以监视手动反馈,包括手动反馈的类型和定时,以建议用于提供反馈的自动规则。例如,系统100可以捕捉在每个手动反馈请求处发生的数据简档和相关联的度量。系统100可以识别反馈的定时和类型的趋势。例如,系统100可以确定第三方在运动或锻炼的中途从使用灯进行反馈切换到触觉反馈。在另一个示例中,系统100可以识别出当特定度量下降到阈值以下或者匹配特定模式(诸如跑步速度下降到每分钟一定步数以下)时发起反馈。在其它示例中,系统100可以识别由手动反馈施加的可变阈值。例如,系统100可以分析手动反馈以确定第三方在跑步的前五分钟使用低于每分钟170步的阈值步调(cadence),而对于跑步的接下来的十分钟,低于每分钟185步的步调提示反馈。在其它示例中,多维数据简档中的不同类型的数据的组合可以关联用于反馈,诸如步态和步调度量被用于组合地提示反馈。

在另一个实施例中,单个第三方可以向多个用户提供手动反馈。例如,多个用户可以配备有传感器设备(例如,传感器设备110),诸如队友(例如,在田径或越野团队中)。第三方(例如,团队的教练)可以操作计算设备120以向各个用户、选定的用户组(例如,所有男性、具有特定身高和/或体重的所有运动员、或专长于特定事件例如障碍的所有运动员)或所有用户(例如整个团队)提供手动反馈。在一些实施例中,计算设备120可以提供向第三方呈现所有用户的信息的图形用户界面。可以在单个用户界面中利用用户标识符显示(多个)所选择类型的度量。

例如,田径团队的每个成员上的传感器设备(例如,传感器设备110)可以利用用户标识符向由田径教练操作的平板计算机(例如,计算设备120)发送实时心率数据、氧气水平、鞋内底压力数据和/或三轴加速度计数据。计算设备120可以使用加速度计数据和鞋内底压力数据来计算在训练阶段期间每个团队成员的临床评估跑步数据,诸如步态、步调和脚着地(foot landing)(例如,足跟着地或中足着地)数据。计算设备120可以实时地显示用户标识符与相关联的数据简档度量(例如,步调、步态、脚着地评估)和个人健康数据。计算设备120可以计算和呈现与通过本公开提供的其它示例一致的附加度量的图形表示。

计算设备120可以提供图形用户界面,该图形用户界面允许第三方(例如,教练)观察相关数据并突出显示感兴趣的数据。例如,当度量超过团队范围和/或个性化阈值时,可以使用图形指示(例如,颜色突出显示或粗体字体)来实时地向第三方突出显示特定度量和对应的用户。计算设备120的图形用户界面可以重新排序用户的数据的列表以在用户数据的列表的顶部示出突出显示的数据。在另外的示例中,计算设备可以计算对于用户的子集的数据。例如,计算设备120可以接收将一系列个人标识符定义为属于一组的输入。然后,计算设备120可以计算并显示该组的临床相关数据。

然后,用户界面可以从第三方(例如,使用触摸屏的教练)接收输入以选择向其提供反馈的用户或用户组。计算设备120可以接收对一个或多个用户标识符、组标识符或所有用户的选择以及发送到所选用户的每个传感器设备110的反馈的类型。例如,计算设备120可以接收将指令发送到长跑者佩戴的传感器设备以响应于确定他们的步调低于期望阈值而生成特定振动模式的指令。另外的实施例可以允许第三方选择用户子集以提供附加数据,诸如特定所选度量(例如,步调)随时间的实况图。

在另一个示例中,足球运动员的头盔可以配备有传感器设备110。每个传感器设备110可以将加速计数据和EMG数据发送到计算设备120,计算设备120可以由第三方操作,诸如助理教练、训练员或者医疗专业人员。计算设备120可以计算临床相关的加速度度量以在图形用户界面上显示。在每场比赛结束时,计算设备120可以突出显示可能主张(warrant)详细脑震荡分析的个人。例如,计算设备120可以包括被用于标识高冲击事件的加速度阈值。计算设备120还可以生成加速度数据、冲击事件和电肌肉活动(例如,来自EMG传感器)的按时间的相关性,以使用图形用户界面向第三方标记特定用户标识符。例如,具有与无EMG活动(例如,“跛行”)关联的过度加速度幅度的高冲击事件可以用于突出显示可能已遭受过度创伤的个人。计算设备120可以生成或向所识别的用户的传感器设备110发送指令以生成声音或激活板上灯,使得受影响的个人可以由队友、训练人员或其它医疗专业人员容易地识别。

处理900可以在步骤935中发送反馈生成信号。例如,计算设备120可以向对应的传感器设备110发送指令以开始在步骤930中指定的反馈。

处理900可以在步骤940中确定监视是否应该继续。在一个实施例中,处理900可以继续,同时传感器继续提供实时数据。当运动或锻炼完成,并且传感器设备110去激活时(例如,步骤940,“否”),处理900可以结束。

在一些实施例中,处理900可以将特定设备与传感器数据相关联。例如,处理900可用于评估不同的鞋、服装、球和其它运动工具或设施。来自执行给定活动的用户的相关联的传感器数据可以用于定量地评价设备。例如,用户可以多次在跑道上跑圈,并且每次用户可以用不同的一双跑鞋跑步。公开的实施例可以接收传感器数据,诸如加速度数据、鞋底压力数据和其它数据,以计算对于不同的每双鞋的度量。通过比较在用不同的鞋跑步时获得的数据简档,计算设备120可以确定用于评价每双鞋的定量分数。例如,分数可以表示对于每只鞋的测试运动简档与最有效的跑步技术的模板运动简档比较的差异、圈的速度(例如,基于先前跑步的圈数而调整)和个人健康数据(例如,脉搏率、肌电图肌肉传感器数据、氧气水平)的归一化的聚集。与本公开一致地,可以使用附加变量来评估设施。

图10是例示根据本公开的一些实施例的数据聚集和更新处理1000的流程图。处理1000可以描述提供对用户活动计划(例如,锻炼计划、康复计划、训练计划、健身计划和/或医疗计划)的自动调整的方式。例如,基于治疗或训练计划,诸如有氧锻炼、伸展、力量锻炼和/或关节运动,用户可能具有规定的运动或一组运动(可能被称为“锻炼”)。通过对锻炼添加变化(例如,增加的运动范围、增加的重复、更高的频率和/或随时间的所有新的锻炼),锻炼的计划可以推进以实现期望的目标。然而,系统100可以监视锻炼或规定的运动(例如,使用传感器设备110)来评估用户进度。例如,计算设备120可以将在用户执行锻炼和/或运动时记录的数据简档上传到服务器130。处理1000描述了提供对用户活动计划的手动调整(例如,由医疗专业人员、教练)和/或自动调整的一系列步骤。例如,处理1000可以修改规定的锻炼和/或运动,添加新的锻炼和/或运动,或更改重复。下面描述的步骤主要关于服务器130进行讨论。然而,在其它实施例中,功能可以由其它设备执行,诸如计算设备120。

在步骤1005中,处理1000可以加载用户计划。例如,服务器130可以接收用户简档,包括例如用户的锻炼计划、康复计划、训练计划、健身计划和/或医疗计划。该计划可以包括生物信息,包括用户的病史。可以对这样的医疗细节进行编码,使得服务器30可以容易地识别可能影响用户的锻炼表现的某些状况,诸如肌肉拉伤或骨折的严重程度和类型、关节置换或椎间盘突出。

处理1000可以在步骤1010中接收聚集的传感器数据。服务器130可以接收在用户执行活动时获得的数据简档。例如,计算设备120可以以规律的间隔(例如,每小时、每天)或当阶段完成时(例如,在达预定的时间段未接收到附加数据之后,在确定对于给定的一天的计划中的所有规定的锻炼和/或运动已经完成时)上传计算的数据简档。服务器130可以通过与现有医疗记录数据库软件接口,自动将接收到的数据添加到例如电子病历中的用户的临床记录。

在步骤1015中,处理1000可以确定是否对于用户计划启用了自动监视。在一些实施例中,服务器130可以自动监视由计算设备120上传的数据。例如,用户、他们的教练或他们的治疗医疗专业人员可以使服务器130能够自动跟踪进度并提供反馈。

当启用自动查看时(例如,步骤1015,“是”),处理1000可以在步骤1020中确定聚集的传感器数据是否超过阈值或匹配特定模式。例如,服务器130可以确定上传的数据简档是否指示用户是否正在获得期望的结果。例如,服务器130可以确定用户的步调降到对于当前锻炼进展的期望阈值以下。在另一个示例中,服务器130可以确定传感器数据指示传感器设备具有增加超出目标范围的运动范围,诸如用户能够在肩部手术之后将手臂抬起提升高于初始期望。在另外的示例中,服务器130可以确定传感器数据与模式匹配,并且该模式可以被确定为指示足够的置信度或缺乏置信度。

尽管未在图14中示出,处理1400可以包括在二级校准之后的附加校准步骤,提供附加的细化水平。在一些实施例中,处理1400可以包括三级和/或四级校准。作为初始事项,处理1400可以基于可用的处理能力、复杂性和应用需求来执行这些附加的第三和第四校准步骤。例如,系统100可以确定启用高精度,比如基于特定活动或测量类型。基于该确定,系统100可以基于活动和/或测量的需求执行第三、第四和随后的“n级”校准。例如,服务器130可以接收活动和/或测量类型标识符并查找或以其它方式得到所需的校准的迭代次数。

在一些实施例中,处理1400可以是递归处理。在这样的实施例中,系统100可以接收或确定精度水平,诸如容限(例如,+/-0.01cm)。系统100可以以更高的精度水平重复校准处理,诸如先前描述的二级校准,直到位置和方位被确定为在定义的容限水平内。在其它实施例中,系统100可以接收活动类型并确定活动与精度水平相关联(例如,不是固定数量的校准步骤),识别容限水平(例如,对于位置的0.1cm,对于方位的0.1度),并以更精确的测量重复校准处理。在其它实施例中,系统100可以基于所接收的容限来接收或确定多个校准水平。例如,服务器130可以确定满足容限所需的有效数字的数量,并计算满足容限所需的小数位的数量。在另一个示例中,服务器130可以确定所需的小数位的数量,将该小数位的数量记录为(1/10)N,并通过取小数位的记录的自然对数除以0.1的自然对数来求解“N”。在一个特定示例中,精度可以是达小数点后万分之一(to ten thousandth decimal point),并且服务器130可以确定其对应于.0001并且通过执行计算ln(0.0001)/ln(0.1)=4来计算迭代次数为迭代校准的4级。可以使用其它方法来确定与该方法一致的校准迭代次数。

在一些实施例中,可以使用对于二级校准描述的相同处理来执行三级、四级和/或“n级”校准。然而,可以以更高的精度执行这些附加校准步骤。例如,在二级校准将传感器设备位置和方位确定为最接近的0.1个单位(例如,cm、英寸、度、弧度)的情况下,三级校准可以验证0.1单位测量并用0.01单位的精度计算位置和方位。在该示例之后,如果系统100确定需要执行四级校准,则四级校准可以以0.001单位的精度计算位置和方位。对于初级和二级校准所讨论的置信度阈值和/或模式匹配也可以应用于三级、四级和/或“n级”校准。

在步骤1025中,处理1000可以计算对用户计划的更新。当记录的数据简档低于预期时(例如,步骤1020,“是”),服务器130可以识别对计划和/或替代的锻炼、活动、运动和/或移动的更保守的校正(graduation)。在减慢的步调的示例中,服务器130可以修改用户计划以包括附加的短的、高节奏的冲刺。在手臂抬高加速的运动范围进展的示例中,服务器130可以以更高的速率增加对于用户计划中的锻炼的目标运动范围和/或添加更加高级的用户锻炼或运动任务。

在步骤1030中,处理1000可以确定是否应该发生手动检查。在一些实施例中,无论是否发生自动改变(例如,步骤1025),服务器130可以确定第三方应该查看用户的历史。例如,当结果提出特定标志时,可能需要通知训练者或医疗专业人员和/或批准任何计划修改。在手臂抬高加速的运动范围进展的示例中,服务器130可以确定在实施更积极的锻炼计划之前用户的病史中的特定项目可能需要考虑和/或规定的运动对于用户不太高级。在某些实施例中,诸如与医疗、法规或保险计划有关的那些可能要求授权的医疗专业人员监视和/或批准改变。

当服务器130确定出于任何上述原因需要手动检查时(例如,步骤1030,“是”),处理1000可以在步骤1035中在图形用户界面中提供传感器数据。例如,服务器130可以向第三方(例如,教练、医生、训练者、治疗师)发送电子消息以提供用户简档,包括任何病史、治疗计划(例如,规定的锻炼、康复锻炼、健身运动、其它医疗计划动作)、用户进度(例如,数据简档)和/或对治疗计划的建议修改。第三方可以通过应用和/或网站门户访问相同的信息。服务器130可以通过电子邮件、文本消息、自动电话呼叫或网站门户中的通知、应用程序或在移动设备的正常操作通知内向第三方通知这样的更新。用户界面可以允许第三方探索和查看数据简档和基本原始数据。

在步骤1040中,处理1000可以接收更新。在一个实施例中,服务器130可以经由用户界面从第三方接收对计划的更新。例如,第三方可以批准或修改对计划的建议的自动改变。在替代示例中,第三方可以否定所提议的改变和/或包括对用户的消息(例如,文本、视频、音频)。

在步骤1045中,处理1000可以发送更新。在一个实施例中,服务器130可以在没有手动查看(例如,步骤1030,“否”)和/或手动更新(例如,步骤1040)的情况下发送自动更新。服务器130可以将修改的计划发送到计算设备120。修改的计划可以包括指令,诸如关于如何执行新的运动活动的视频、对任何更改的说明、和/或来自第三方的消息。例如,医生可以包括指示用户正在不正确地执行某个运动活动的标注,以及用模板运动覆盖在数据简档中捕捉的用户运动的渲染的指导视频。

图11例示根据本公开的一些实施例的运动简档生成处理的流程图。在一些实施例中,可以通过在某个位置佩戴传感器的同时记录执行“理想”模板运动的人来生成模板运动简档。然而,在其它实施例中,可能希望电子地生成用于特定运动的运动简档,诸如当人不可实现执行“理想”运动时。处理1100描述允许用户(例如,传感器佩戴者)和/或第三方(例如,医生、训练员、教练、治疗师)电子地创建运动简档而无需理想地记录执行模板运动的人。

在步骤1110中,处理1100可以生成对于在对象上的传感器放置的用户界面。系统100(例如,计算设备120)可以渲染二维或三维的人体。系统100可以将位置存储为三维的坐标。在一个实施例中,系统100可以基于测量输入来定制人体的渲染,例如,使得渲染更紧密地匹配用户的身体。在替代实施例中,系统100可以接收用户身体的三维扫描并处理扫描数据以生成渲染。

在步骤1120中,处理1100可以接收指定在对象上的传感器放置和方位的输入。用户界面可以允许用户输入在执行运动时人体上将要佩戴传感器的位置的指示。在一些实施例中,用户界面将允许用户指定在期望位置处用户设备的方位。

在步骤1130中,处理1100可以接收指定对象的运动的输入。在一个实施例中,用户界面可以渲染人体的关节及其各自的移动。例如,用户界面可以根据关节是枢纽关节、球窝关节还是枢轴关节来限制人体的部分的移动。用户界面可以允许用户选择和移动人体的渲染。例如,用户界面可以接收选择和拖动身体的某个部分的输入。在另一示例中,用户界面可以选择开始和结束位置,计算设备120插入中间位置。在又一个示例中,用户界面可以允许用户选择特定关节,输入关节的轴和移动程度。在创建该移动之后,系统可以允许用户选择另一个关节(或相同的关节)并输入其它轴和移动程度。在该示例中,用户界面可以允许用户将多个段串连在一起以形成单个运动,用户界面可以在时间线中显示该运动。

处理1100可以在步骤1140中生成运动简档。计算设备120可以基于用户在界面处描述的运动来计算传感器设备的移动。在一个实施例中,计算设备120可以基于传感器设备110位于渲染的人体的哪里以及渲染的身体的移动来确定传感器设备110所采用的路径。基于该移动,计算设备120可以随时间插入三维的传感器设备的方位和加速度,得到用户在用户界面中描述的运动的运动简档。

图12A和12B例示根据本公开的一些实施例的实时数据获取和反馈图形用户界面。界面1200A和界面1200B可以在计算设备120(例如,计算机、平板机、智能电话)上示出。

界面1200A例示用于选择在渲染的身体1260A上的传感器位置的示例性用户界面(例如,步骤1120)。如所示,对话区域1210A允许用户将传感器设备110的渲染从对话框中的其位置1240A移动到渲染的身体1260A上的位置1245A。在所描绘的示例中,光标1270A可用于拖动传感器设备渲染,在位置1275A处释放光标。在一个实施例中,用户界面1200A允许用户添加附加传感器(例如,使用选择区域1220A)。当添加了所有期望的传感器时,用户界面允许用户在选择区域1230A中确认步骤1120完成。

界面1200B例示用于指定所渲染的身体的移动的示例性用户界面(例如,步骤1130)。如所示,用户可以在渲染的身体1260B上选择关节(例如,图标1240B)用于移动。光标1270B可以将身体的渲染的部分移动到移动的期望结束位置(或中间位置)。替代地,对话框1280B可以允许用户指定移动的关节位置的特定角度。在一个实施例中,界面1200B可以用传感器开始位置1275B描绘渲染身体的起始位置1250B,并且用传感器结束位置1265B覆盖渲染的身体的结束位置1255B。如所示,肘部也在开始和结束位置之间伸直。因此,所描绘的运动可以具有肘部伸直的中间运动,诸如在开始肩部移动之前或在肩部移动期间。如所示,对话区域1210B允许用户添加这样的附加移动。选择区域1220B允许用户选择附加移动,诸如在附加关节上,而选择区域1230B确认期望移动的完成,触发计算运动简档(例如,步骤1140)。

本公开还涉及用于传感器的校准处理。例如,用户可以将传感器设备110附接到他或她的身体的不同的位置处,比如腕部、踝部、脚部和/或二头肌。结果,计算设备120可能没有用于解释从传感器设备110接收的数据的参考框架。公开的的校准过程可以识别一个或多个传感器(例如,传感器设备110中的一个或多个)位于用户身体上的何处。这可以允许系统00更好地分析各个用户的运动学数据,包括对用户身体的各个肌肉骨骼部分的维度和移动建模。

现有系统已尝试解决该问题,但未能形成解决方案。有些系统完全没有校准功能。在一个示例中,系统可能根本不执行校准,而是假设传感器设备(诸如,智能手表或健身传感器)总是放置在预定位置(诸如,在用户的手腕上)。然而,当用户将传感器附接或佩戴在其它位置处时(例如,将其佩戴在脚踝处,将其附于腰部),该预定的静态布置妨碍系统适当地利用传感器数据。因此,这些传感器可能不适应合被用于不同的测量,更少考虑不同用户体形和尺寸的差异。

其它系统还试图通过将传感器永久地附接到衣服(例如,衬衫、裤子)上的固定位置来避免校准的需要或使校准的需要有待讨论。例如,一些系统可以在沿着袖子和躯干的各个点处将传感器永久地附接到衬衫。这些系统可能仅依赖于传感器在衣服上的永久位置以用于校准目的。然而,由于没有两个人拥有完全相同的身体,这些服装将以不同的方式合身于用户。此外,其提供了不太强健的解决方案,因为这些类型的系统依赖于用户选择适当尺寸的衣服并穿上它,使得传感器保持正确地位于假定的预定位置。此外,衣物可能随着时间而收缩并在锻炼期间到处移动,这可能使得将传感器位置联系于衣服(而不是实际的用户的身体)上的位置是有问题的。将传感器永久地附接到衣服上也可能使用户无法选择偏好的衣服来使用。例如,传感器设备可被用于不同的活动,诸如跑步、高尔夫、游泳和肌肉骨骼康复。这些活动中的每一个可能具有不同的优选服装。将传感器永久地附接到衣服的系统可能迫使用户将不期望的衣服用于特定活动,因为它是包含传感器的唯一衣服,或迫使用户购买多件不同的配备有传感器的衣服。

公开的实施例可以通过使传感器执行校准操作来解决这些问题以及其它问题。实施例可以利用对于用户身体的每个部分确定的独特运动学“指纹”。该“指纹”可以基于以下中的一个或多个或从以下中的一个或多个得到:连接身体核心的特定身体部分的一种或多种类型的关节、特定身体部分与身体的质心的距离、和/或特定身体部分的相对肌肉与重量比。

在分析身体的关节时,公开的实施例可以考虑将特定身体部分连接到身体核心的关节的数量和类型。例如,手通过球窝关节(例如肩部)、枢纽关节(例如,肘部)和滑动或“髁状”关节(例如,腕部)连接到身体的躯干。因此,手通过三个关节连接到身体的质心或“核心”,其中一对-如肩部和腕部-是在考虑所有维度时具有更高运动范围的关节。由于关节的数量和类型,手具有相对于在方位的非常高的自由度。结果,特别是在考虑所有三个轴时,系统100可以从具有大的范围或变化的传感器设备110接收三轴加速度和方位数据、以及加速和方位的附加的独特组合。

公开的校准操作可以包括至少两种宽泛类型的校准,诸如初级校准和二级校准。例如,一些实施例可涉及执行“初级校准”。初级校准可以包括识别身体部分、传感器所位于的用户身体上的区域。例如,初级校准可以确定运动传感器可以位于两个关节之间的特定区域。

公开的实施例可以识别身体部分(也称为“身体区域”),其中一个或多个传感器设备(例如,传感器设备110)位于用户的身体上。取决于特定应用的需要,这些部分或区域可以更普遍或更具体。在一些实施例中,身体部分可以是两个关节之间的区域,诸如前臂(例如,在腕关节和肘关节之间)、二头肌(例如,在肩关节和肘关节之间)或手(例如,腕关节以外的肢体)。可以对其他肢体限定类似的身体部分,诸如腿(例如,大腿区域、小腿区域、足部区域)和/或躯干(例如,下腹部、上腹部、胸部、颈部、头部)。子区域可以被限定在给定部分内,诸如手内的手指的部分、背部/躯干内的各个椎骨和/或前臂内的桡骨或尺骨。这样的示例仅提供可能的部分/区域和子区域的例示,并且不是必然将特定实施例限制为区域、部分和/或子区域的给定规模。

一些实施例可涉及执行“二级校准”。公开的系统和方法可以识别身体部分内的位置或定位。系统100可以确定传感器设备位于特定区域中并进一步分析数据(同时地或随后确定身体区域)以确定传感器设备位于该区域内的何处。例如,公开的实施例可以确定运动传感器位于前臂向下多远以及其位于前臂的哪个表面上(例如,顶部、腋下、桡骨侧、尺骨侧)。在另一示例中,在手区域内,公开的实施例可以使用二级校准来识别手内的位置(例如,手掌、手背、拇指、手指、指尖)。在一般意义上,具有身体部分的定位可以是与一个人的肌肉骨骼系统的一部分对应的身体表面上的特定位置。

公开的实施例可以利用身体的“核心”作为在进行计算时的参考点。系统100可利用从运动传感器接收的三个轴中的方位和位移数据来计算三轴角速度数据,其可对于每个身体部分或身体部分内的定位是唯一的。在一些实施例中,这些计算可以使用身体的核心作为参考定位。例如,系统100可以使用身体的质心或重心作为参考点。在其它示例中,系统100可以简单地使用身体的躯干定位的粗略估计用于这样的计算。

图13例示根据本公开的实施例的示例性传感器放置和身体移动。对于关于校准过程的进一步讨论的参考点,图13例示五个不同的潜在身体位置(例如,身体位置1300A、身体位置1300B、身体位置1300C、身体位置1300D、身体位置1300E)。在每个例示的身体位置内,可以示出示例性传感器放置定位。例如,公开的实施例可以利用大腿传感器1310、小腿传感器1320和/或足部传感器1330。这些传感器中的每一个可以对应于不同的身体区域(例如,分别为大腿区域、小腿区域和足部区域)。

如图13所示,公开的实施例可以从这些不同定位的传感器接收数据。然而,由于人体的独特生理构造,每个位置的传感器将具有位移和方向的独特组合,特别是考虑到所有三维轴。例如,如所示,足部区域在垂直距离(例如,y轴)、横向距离(例如,x轴)和深度(例如,z轴)上可具有最大位移。某些实施例可以利用特定身体区域的相应方位和位移的样本比率。作为这些独特比率的一个示例,下表包括可以在公开的实施例中使用的一些样本比率。其它实施例可以使用对于这些或另外的身体区域的附加信息或替代比率。

一些实施例可以使用身体部分的方位和位移特征来计算越三个维度的角速度范围。一些实施例可以将角速度视为伪矢量,诸如具有幅度(例如,角速度)和方向(例如,旋转轴,诸如基于右手规则的旋转轴)的伪矢量。例如,公开的实施例可以基于记录的位移数据确定传感器设备的速度。并且,系统100可以将三轴速度信息与方位数据组合以得到角速度(例如,作为矢量、作为矢量的分量部分)。例如,系统100可以基于速度和位移信息的叉积运算来确定角速度,比如:

其它实施例可以利用其它计算来确定有效变量,包括角速度。虽然接收的初始数据可能未被归一化到特定单位标度,但是某些实施例可以利用数据的相对幅度或变化,包括使用矢量分量和幅度的比率来确定身体区域或身体区域内的定位或位置。

图14是例示根据本公开的一些实施例的传感器放置校准处理的流程图。

在一些实施例中,处理1400可以以在步骤1410中识别采样处理的类型而开始。系统100可以确定校准处理的特定使用或者由校准处理产生的数据的使用。例如,计算设备120可以诸如通过接收选择多个活动类型之一的用户输入,确定多个活动类型选项中的一个。计算设备120可以呈现显示选项并接收对选项的用户选择的图形用户界面。在其它实施例中,用户可以替代地或另外地使用语音识别接口或远程控制(例如,传感器设备110上的输入机构、(多个)受控设备150上的输入机构)来提供选择。

不同的使用类型可以基于所需的精度的量和/或使用类型的确定性而变化。示例使用类型可以包括临床或诊断测量、运动表现测量、长期护理或治疗测量、和/或消费者或健身测量。在这些示例中,系统100可以确定临床诊断测量和运动表现测量可能要求校准过程的更高的精确度和确定性,诸如以为专业运动员提供关于技术的具体反馈或精确地测量运动范围以用于诊断目的。

其它示例性使用类型、诸如一般消费者使用和健身使用可能仅需要粗略估计。这些类型可能不需要二级校准或校准的高确定性程度。长期护理可以用于持续的、进行中的传感器使用,诸如伴随辅助生活设施的居民的。这种使用可能需要在预定的时间段(例如,每12小时,每24小时)之后的自动重新校准以考虑用户上的传感器移动(例如,在用户睡觉时传感器位置到处移动)。在其它示例中,锻炼类型可用于确定采样处理的类型。例如,诸如运动范围的角测量(例如,测角器测量)可以仅用初级校准来执行(例如,确定传感器身体区域),并且可能不需要或不受益于二级校准。结果,当系统100确定锻炼类型仅使用运动范围测量(例如,伸展、瑜伽)时,系统100可以不执行二级校准。这些示例不应限制确定的类型的采样处理的应用或使用。系统100可以定义另外类型的采样处理,并且可以基于类型以及每个校准的对应置信度阈值来确定应该执行初级校准和二级校准中的哪个。

在步骤1415中,处理1400可以向用户提供指令。系统100可以向用户提供关于执行什么动作以完成校准处理的指引。例如,计算设备120可以使用图形用户界面提供视觉指令和/或提供向用户给出逐步的指令的听觉指令,比如保护传感器设备并保证在佩戴传感器设备的同时执行的运动以快速且准确地校准设备。在一个示例中,计算设备120可以描绘执行运动的动画化身以向用户示出要执行什么运动。

在步骤1420中,处理1400可以接收传感器数据。系统100可以在计算设备120处从一个或多个传感器设备(例如,传感器设备110)接收数据。例如,传感器设备110可以发送包含三轴加速度和方位测量的测量值的数据(例如,来自IMU 230)。在一些实施例中,传感器设备110可以发送高度计数据(例如,测量垂直位移)。计算设备120可以存储该数据,诸如存储在原始的、未校准的数据简档中。

在步骤1425中,处理1400可以执行初级校准。系统100可以识别对象传感器设备110位于其内的身体部分。在一些实施例中,计算机设备120可以将运动数据组织成原始运动简档用于进一步分析。例如,计算设备120可以生成将三轴加速度序列和三轴方位数据的时间相关序列组织成数据简档的原始数据简档。在一些实施例中,系统100可以使用这些原始数据简档来生成三轴速度、三轴位移和/或三轴角速度的计算的数据简档。例如,计算设备120可以对原始数据简档执行按时间的积分或求导运算(例如,以从加速度数据得到位移)。在另一个示例中,计算设备120可以对简档执行矩阵运算以诸如使用先前在本说明书中讨论的计算来计算角速度的计算的数据简档。在其它实施例中,计算设备120可以将传感器设备数据的状态矩阵与用户的“核心”进行比较。

在一些实施例中,系统100可以使用来自一个或多个传感器设备110的数据。这样的数据的示例可以包括温度、湿度、压力(例如,大气压力)、光强度(例如,视觉强度、流明测量)、绝对方位(例如,度数测量、弧度测量)、角速度(例如,以弧度每秒测量的)、线性加速度(例如,去除重力加速度、以g为单位测量的、以米每平方秒测量的)和重力加速度(例如,以g为单位测量的、以米每平方秒测量的)中的一个或多个。该数据可以被格式化为与在整个本公开中的其描述一致的数据流。

当两种或更多种类型的数据输入可用时,某些实施例可以在使用一个数据输入源时运作。例如,一些实施例可以使用绝对方位(例如,磁北)或相对方位之一而运作。然而,在其它实施例中,绝对方位和相对方位两者可以一起使用以提高其测量的可靠性和/或精度。例如,绝对方位测量可用于将相对方位归一化到特定轴(例如,“真北”)。在另一个示例中,相对方位数据可用于确定漂移或人造磁场是否影响来自磁力计的绝对方位测量。

在一些实施例中,系统100可以在使用数据之前、比如在计算中修改数据。计算设备120可以重新格式化和/或处理从传感器设备110接收的数据流。例如,计算设备120可以诸如通过去除离群数据来平滑和/或清理数据。在另一个示例中,计算设备120可以执行算法,诸如简单的移动平均或算法的其它组合,以平滑和清理从传感器设备110接收的数据,使得计算产生更有用和有意义的输出。在其它示例中,计算设备120可以同步不同类型的数据流。

附加数据修改可以包括计算设备120基于数据流得到附加数据流。例如,计算设备120可以基于大气压力数据计算高度并生成高度数据流。

在一些实施例中,系统100可以对原始数据简档和/或计算的数据简档执行统计计算。例如,计算设备120可以计算数据简档离(例如,原始数据简档、计算的数据简档)中的按时间的数据的每个维度的方差、平均值、平均幅度和/或标准偏。在另一示例中,计算设备120可以计算原始数据简档的按时间的数据的维两个维度、诸如x轴和y轴加速度数据之间的协方差。

系统100可以将统计计算与每个潜在身体区域的预期统计计算相匹配。在一些实施例中,计算设备120可以计算每个身体区域的原始数据和模板数据之间的差异(例如,最小平方差、其它统计偏差测量)。例如,计算设备120可以计算x轴、y轴和z轴平均值、方差和/或标准偏离与每个潜在身体区域的相应模板值之间的差异。系统100可以将具有最紧密匹配(例如,最低最小平方差)的区域识别为传感器设备所位于的区域。在该示例中,系统100可以利用每个区域对应于独特运动范围的确定,其可以反映在计算设备120所使用的加速度和方位数据的范围内作为初级校准处理的一部分。

在另一个示例中,系统100可以评估和利用每个身体区域的特性(quality)的独特指纹。计算设备120可以分析加速度数据和方位数据的比率。因为每个区域具有与身体核心的独特关节连接以及与身体核心的独特距离,所以在比较每个维度分量时每个区域具有将具有独特的角速度数据的比率。例如,给出足够的样本,放置在人的大腿上的传感器(例如,大腿传感器1310)可以记录比放置在用户的足部上的传感器(例如,足部传感器1330)更大幅度的加速度和方位。基于该数据,计算设备120可以计算出该传感器也具有更大的位移量。此外,一些实施例可以确定位移数据的各个x、y和z分量产生独特比率。例如,如身体位置1300D和1300E所示,身体可以在膝盖处弯曲并且足部可以围绕垂直轴线摆动。利用该运动,大腿传感器1310可记录最小加速度,而足部传感器1330可记录增加的加速度。因此,计算设备120可以确定足部区域的横向(例如,y轴和z轴平面)与垂直位移(例如,x轴,高度)的比率可以比大腿区域的更大。结果,当该比率低于第一阈值时,计算设备120可以识别出传感器设备位于大腿区域中,当其超过第二较高阈值时,可以识别出该传感器设备位于足部区域中,并且当该比率落在第一和第二阈值之间时,可以识别出该传感器设备位于小腿区域中。

公开的实施例可以利用高度数据(也称为“海拔数据”)。在一些实施例中,传感器设备110可以将垂直位移数据发送到计算设备120。因为下肢(例如,足部、小腿、大腿)的归一化比率可以类似于上肢(例如,二头肌、前臂、手)的归一化比率,计算设备120可以利用垂直位移的变化(例如,来自传感器设备110上的高度计)来确定缩窄在上肢或下肢之间的识别。例如,基于平均运动范围,放置在手上的传感器可以提供与放置在用户足部上或用户腿上任何其它位置的传感器相比更大的范围和幅度的高度数据。

在步骤1430中,处理1400可以确定初级校准是否已经以足够高的置信水平完成。在一些实施例中,计算设备120可以确定是否已经捕捉了足够的数据以确定是否可以以足够的置信度完成初级校准。例如,系统100可以对初始原始数据中的样本数量计数或者确定取得样本期间的时间量。系统100可以识别对于每个阈值的存储的阈值,诸如预定采样时间段或预定的样本数量。

在一些实施例中,系统00可评估采样数据中的变化以确定其是否超过置信度阈值。在一些情况下,如果数据冗长但重复(例如,相同的模式有多次、数据中有停滞信号),系统100可以确定原始数据不足以以足够的置信度执行校准,即使数据超过预定数量的样本。例如,计算设备120可以确定数据包括离群样本(“离群值”)。例如,在方位数据的给定维度(例如,关于x轴的方位)或对于该问题的任何其它数据流内,计算设备120可以确定所有数据样本对于预定时间段(例如,过去的五秒)已经在相同范围内,诸如对于方位的最小值或最大值在该时间段内不改变。当这发生时,计算设备120可以确定数据足够一致以超过置信度阈值。

然而,当出现离群值时,系统100可采取措施来增加数据置信度,诸如重置置信度计算、丢弃所有先前数据并重新开始、和/或选择性地丢弃数据。在一些实施例中,计算设备120可以重置计算并且开始使用所有预先存在的和新的数据再次开始置信度计算。在另一个实施例中,系统100可以删除所有先前数据并从头开始重新开始采样和置信度测量。例如,传感器设备110可以在校准期间在用户的身体上滑动并重定方位。在传感器在用户身体上重新定位之后的所有数据可能在先前数据之外。在这样的实例中,计算设备120可以通过确定数据范围、最大值和最小值在某个时间点之后一致地偏移来确定得到的数据与重新定位前的数据完全不一致。例如,计算设备120可以测量最大值和最小值随时间的变化,并将该变化与实际的最大值和最小值进行比较。当值的导数改变一次但值在该点之后改变时,计算设备120可以识别出导数尖峰前的数据不再适用(例如,由于传感器在用户身体上改变位置)。当这发生时,计算设备120可以丢弃在该导数尖峰之前的数据并且基于在该导数尖峰之后的数据重复置信度计算,或者使用在尖峰之后的数据的滑动时间窗口。

在另一个实施例中,系统100可以选择性地丢弃在其余数据之外的数据。传感器错误可能导致异群数据的离散出现。例如,可以在校准处理期间暂时移过强磁体,导致绝对方位数据(例如,来自磁力计)以从先前数据显著偏离。计算设备120可以使用磁力计数据的导数来识别尖峰。然而,因为人造磁场仅瞬间影响传感器读数,所以在尖峰之外的数据仍对系统100有用。计算设备120可通过比较随时间的数据简档的最大和最小范围值连同那些值的导数一起来识别“尖峰”或偏离时段。当偏离后时段数据符合偏离前时段数据时,计算设备120可以仅丢弃偏离时段数据并保留偏离前和偏离后时段数据。例如,计算设备120可以从数据流中删除偏离时段数据,并在单个时间相关数据流中连接偏离前和偏离后时段数据。

在一些实施例中,步骤1430中的确定可以至少部分地基于采样处理的类型(例如,来自步骤1410)。计算设备120可以基于采样处理的类型确定置信度度量和相关联的阈值。例如,对于消费者健身应用,计算设备120可以确定置信度度量将是用于校准处理的样本的数量(例如,在步骤1420中接收的样本的数量),并且阈值将是预定的样本数量,比如30,000个样本,或者替代地或另外地,置信度度量是接收样本的时间,并且阈值将是预定的时间段,比如10秒或15秒。在另一个示例中,诸如可以从更高精确度获益的临床测试,计算设备120可以确定置信度度量将是采样的数据的变化(例如,跨所有类型的数据维度的统计方差、给定数据类型的轴之间的统计协方差、不同多维数据类型的幅度之间的统计协方差、传感器数据的标准偏差)并且阈值将是预定的归一化的变化量或偏差量。在其它实施例中,附加的统计计算可以与对应的阈值量一起使用。

在一些实施例中,可以在执行初级校准之前、期间或之后执行步骤1430。例如,虽然图14例示步骤1430在校准之后执行,但是某些实施例可以在初级校准计算之前或期间执行置信度阈值测试。在一些实施例中,系统100可以分析初始传感器数据以确定数据是否足以从初级校准操作做出任何有意义的确定。系统100例如通过确定数据内的样本数量或者通过计算初始数据的统计特性,诸如方差、协方差、标准偏差和/或数据的互相关性,可以在执行初级校准操作之前评估从传感器设备110接收的各种样本。在一个示例中,系统100可以确定样本数量的统计特性(例如,计数)并且确定所接收的数据包括太少的样本(例如,样本的数量低于预定阈值)而不能产生具有足够置信度的初级校准结果。在另一个示例中,数据可能非常重复。在该示例中,系统100可以计算包括数据的方差的统计特性,并且确定它太低而不能产生具有足够置信度的初级校准结果。

在一些实施例中,置信度阈值可以基于传感器的使用类型。系统100可以确定传感器数据的标识的使用可以从更高或更低的置信度确定中受益。例如,出于临床和诊断目的,系统100可以确定需要更高程度的置信度。结果,在两个之前的置信度确定示例中,阈值(例如,样本数量、统计方差、其它统计计算)可以被是预定的和/或是基于传感器的特定使用类型。例如,在更放松的设置(例如,一般消费者使用)中,系统100可以使用需要更少样本的较低阈值,这可以得到对消费者用户的更快校准。在其中误校准可能具有更显著结果的其它应用(例如,临床使用,诊断测试)中,系统100可以增加阈值,这可以得到更准确但也更长的校准过程。

在一些实施例中,当系统100确定初级校准确定缺乏足够的置信度时(例如,步骤1430,“否”),处理1400可以返回到步骤1420以接收附加数据。在一个示例中,计算设备120可以提供用户反馈(例如,使用图形用户界面、听觉反馈)以指示正在捕捉附加数据。在一些实施例中,系统100可以提供用户指令(例如,如关于步骤1415所讨论的)以确保附加数据将满足置信度阈值。

当系统100确定以足够的置信度进行初级校准确定时(例如,步骤1430,“是”),处理1400可以进行到步骤1435。在步骤1435中,处理1400可以确定系统100是否应该完成二级校准。在一些实施例中,系统100可以基于采样处理的类型(例如,在步骤1410中标识的类型)来评估是否需要二级校准。例如,计算设备120可以存储指示在确定类型时应该绕过二级校准的标记。在一些示例中,在步骤1435中,计算设备120可以查询处理类型的本地或远程表以作为查询确定是否应该使用该类型来执行二级校准。

当系统100确定需要执行二级校准时(例如,步骤1435,“是”),处理1400可以进行到步骤1440。在步骤1440中,处理1400可以执行二级校准。系统100可以标识在传感器设备所位于的所标识的身体区域内的特定定位。在一些实施例中,计算系统120可以基于每个轴的数据范围以及诸如统计平均值、方差,标准偏差、最大值和最小值的附加统计数据,将三轴加速度和方位数据与该特定区域的建模数据进行比较。每个身体区域可以具有与该特定身体区域相关联的特定模型数据。例如,在前臂区域内,模型数据可以具有沿着前臂的预定点的跨三个轴的样本加速度和方位范围。计算设备120可以在这些点之间插入数据以确定在建模的前臂内的任何潜在点处的数据。

在一些实施例中,系统100可以通过创建将传感器设备110可能位于的肢体连接到用户的核心的节点的图来执行二级校准。计算设备120可以参考“上游”关节计算骨骼系统中所有父节点的定位,诸如每个传感器设备的绝对位置和绝对方位。并且,在传感器设备110位于装备(例如推杆)上的情况下,节点可以包括该装备通过其连接到用户的部件(例如,在推杆的情况下,用户的手)。“装备”的其它示例可以包括例如假肢、矫正器和其它物理辅助设备或康复装备。该图可以允许计算设备120隔离特定肢体的移动。例如,在创建每个肢体之间的连接(例如,表示用户身体上的关节)的树之后,计算设备可以建模或独立地测量“上游”肢体移动。基于这些测量,计算设备可以得出肢体树中的每个节点之间的每个连接多长。例如,系统100可以计算给定上游肢体的角动量(例如,使用放置在该肢体上的传感器,从紧接着的下游肢体的传感器数据得到它)。一旦计算设备120完成连接树和连接之间的距离,它就能够通过减去上游肢体(例如,父节点)的相关数据的矢量来得到“下游”肢体的独立移动。例如,为了计算手腕处的前臂的运动范围,计算设备120可以从由在前臂上的传感器测量的移动(例如,位置和方位改变)中减去计算的树中的诸如二头肌(也称为“上臂”)和上躯干的父节点的方位矢量。结果,计算设备120可以在由于肩关节的旋转引起的手腕方位的改变与由于肘下方的桡骨和尺骨的联接引起的手腕方位的改变之间区分。目前,医疗或物理治疗从业者利用特定的移动来隔离这些关节。然而,当执行被设计为隔离关节的移动时,诸如通过抖动(jerk)或稍微改变意图的移动,用户可能“欺骗”。通过分析在这些锻炼期间上游节点的移动,计算设备120可以以更高的准确度产生给定关节的测量。

虽然已经关于人体骨骼系统讨论了测量,但是很多时候传感器可能不一定直接安装在骨骼上,而是安装在覆盖肌肉骨骼系统的皮肤上。例如,传感器(例如,传感器设备110)可以安装在覆盖用户的小腿肌肉的皮肤上。因为可移动且柔韧的组织诸如肌肉可能位于传感器和用户的骨骼之间,所以即使用户的骨骼可能没有移动,传感器也可能移动。例如,即使骨骼不移动,皮肤和其它组织也可能振动或摇晃。然而,公开的实施例可以确定移动是由于骨骼移动还是组织移动。因为当用户的骨骼移动时,将皮肤(例如,传感器安装在那里)和骨骼分离的组织的量与传感器的移动相比通常相对较小,所以系统100可以基于可以归因于组织移动而不是骨骼移动的附加传感器移动来检测在传感器数据内的谐波模式。例如,当跑步时,小腿肌肉可以振动或相对于胫骨有节奏地偏移。系统100可以识别用户皮肤上的传感器设备的这些振荡。在识别谐波振荡模式之后,系统100可以创建将其从分析的传感器数据中移除的调整的数据流。调整的数据流可以包括表示对应的骨骼系统移动的运动简档,即使传感器的实际移动可能未安装在骨骼“上”,因此可能由于传感器安装到柔性组织而具有一些噪声。

另外的实施例可以利用所识别的谐波用于进一步分析。例如,基于传感器设备和骨骼之间的组织的量和类型,上述谐波可能在频率和幅度上变化。例如,较不发达的肌肉或较高脂肪的区域可能以较大的幅度振荡。因此,系统100可以存储随时间的谐波的细节,诸如频率和幅度,以测量肌肉张力的变化。并且,一些实施例可以接收体脂百分比测量(例如,来自传感器设备110上的附加传感器)并且将它们与谐波特性关联,以便产生在谐波和体脂肪之间的相关性,以便基于使用传感器设备110期间捕捉的谐波来计算估计的体脂百分比。

在一些实施例中,计算设备120可以确定建模数据的两个最接近的点(例如,使用最小平方差、另一个统计差计算)。计算设备120可以在两个样本点之间插入数据以确定传感器测试匹配的确切点以确定精确定位。

在步骤1445中,处理1400可以确定二级校准是否已经以足够高的置信度水平完成。如关于来自步骤1430的置信度确定所描述的,计算设备120可以确定用于二级校准的度量和阈值。例如,步骤1445中的确定可以至少部分地基于采样处理的类型(例如,来自步骤1410)。在一个示例中,诸如在可以从更高精确程度获益的临床测试中,计算设备120可以确定置信度度量将是采样的数据中的变化(例如,跨所有类型的数据维度的统计方差、给定数据类型的轴之间的统计协方差、不同多维数据类型的幅度之间的统计协方差、传感器数据的标准偏差),并且阈值将是预定的归一化的变化量或偏离量。在其它实施例中,附加的统计计算或数据量可以与对应的阈值量一起使用,诸如上面针对步骤1430所讨论的那些示例。

关于顺序,如对于步骤1430所描述的,可以在执行二级校准之前、同时和/或之后执行置信度确定。并且,对于1430描述的另外的实施例和示例也适用于步骤1445。

当系统100确定没有以足够的置信度确定二级校准确定时(例如,步骤1445,“否”),处理1400可以进行到步骤1450。在步骤1450中,处理1400可以接收传感器数据。如关于步骤1420所讨论的,系统100可以在计算设备120处从一个或多个传感器设备(例如,传感器设备110)接收数据。例如,传感器设备110可以发送包含三轴加速度和方位测量的测量值的数据(例如,来自IMU 230)。在一些实施例中,传感器设备110可以发送高度计数据(例如,测量垂直位移)。计算设备可以存储该数据,诸如存储在原始的未校准的数据简档中。系统100可以将附加数据与先前数据组合以形成单个原始数据简档。在补充初始的原始数据之后,处理1400可以继续以执行二级校准(例如,步骤1440)。

当系统100确定已经以足够的置信度确定了二级校准确定时(例如,步骤1445,“是”),或者当系统100确定不需要二级校准时(例如,步骤1435,“否”),处理1400可以进行到步骤1455。在步骤1455中,处理1400可以归一化传感器数据。基于初级校准,并且当执行二级校准时,计算设备120可将数据归一化到与校准的身体区域和/或身体区域内的特定定位对应的轴。例如,计算设备120可以生成与校准平面对应的单位矢量,并将该单位矢量应用于三轴原始数据简档(例如,加速度、方位)。计算设备120可以通过将原始数据简档的值乘以单一校准矢量上的相应轴向分量来缩放原始数据简档,以生成校准的运动简档。

尽管图14中未示出,处理1400可以包括在二级校准之后的附加校准步骤,提供附加的细化水平。在一些实施例中,处理1400可以包括三级和/或四级校准。作为初始事项,处理1400可以基于可用的处理能力、复杂性和应用需求来执行这些附加的第三和第四校准步骤。例如,系统100可以诸如基于特定活动或测量类型确定启用高精度。基于该确定,系统100可以基于活动和/或测量的需求执行第三、第四和随后的“n级”校准。例如,服务器130可以接收活动和/或测量类型标识符,并查找或以其它方式得到所需的校准的迭代数量。

在一些实施例中,处理1400可以是递归处理。在这样的实施例中,系统100可以接收或确定精度水平,诸如容限(例如,+/-0.01cm)。系统100可以以更高的精度水平重复校准处理,诸如先前描述的二级校准,直到确定定位和方位在定义的容限水平内为止。在其它实施例中,系统100可以接收活动类型并确定活动与精度水平相关联(例如,而不是固定数量的校准步骤),标识容限水平(例如,对于定位的0.1cm,对于方位的0.1度),并以更精确的测量重复校准处理。在其它实施例中,系统100可以基于所接收的容限来接收或确定多个校准水平。例如,服务器130可以确定满足容限所需的有效数字的数量,并计数满足容限所需的小数位的数量。在另一示例中,服务器130可以确定所需的小数位的数量,将该小数位的数量记录为(1/10)N,并通过将该小数位的该记录的自然对数除以0.1的自然对数来求解“N”。在一个特定示例中,精度可以是达小数点后万分之一,并且服务器130可以确定其对应于0.0001并且通过执行计算ln(0.0001)/ln(0.1)=4而计算迭代的数量为四级迭代校准。其它方法可用于确定与此方法一致的校准迭代的数量。

在一些实施例中,可以使用对于二级校准描述的相同处理来执行三级、四级和/或“n级”校准。然而,可以以更高的精度执行这些附加校准步骤。例如,在二级校准将传感器设备位置和方位确定为最接近的0.1个单位(例如,cm、英寸、度、弧度)的情况下,三级校准可以验证0.1单位测量并用0.01单位的精度计算位置和方位。在该示例之后,如果系统100确定需要执行四级校准,则四级校准可以以0.001单位的精度计算位置和方位。对于初级和二级校准所讨论的置信度阈值和/或模式匹配也可以应用于三级、四级和/或“n级”校准。

在步骤1460中,处理1400可以分析传感器数据。在一些实施例中,系统100可以执行处理600、处理900和/或处理1000以使用校准的运动简档根据那些处理的先前描述来分析数据并提供用户反馈。在步骤1465中,处理1400可以确定是否需要附加的采样。例如,对于某些类型的处理,系统100可足以分析预先存在的校准的运动简档。然而,一些其它示例用途可能需要进行中的监视,诸如重复锻炼或长期监视,这将在下面更详细地讨论。为了分析来自这些连续的和/或进行中的处理的数据,在步骤1470中,处理1400可以接收附加的传感器数据。可以如对于步骤1420和/或步骤1450所描述的那样接收该附加数据。并且,因为可以在处理1400中的该步骤确定归一化矢量,所以可以立即对附加接收的数据归一化以创建校准的运动简档用于由系统100的进一步分析。

虽然公开的实施例已经描述了关于校准单个传感器设备的处理1400的步骤、初级校准和二级校准,但是公开的实施例可以用于校准放置在不同定位(例如,在不同的身体区域或在相同的身体区域中)的多个传感器设备。例如,系统100可以为每个传感器设备顺序地或同时地执行处理1400。在同时校准的示例中,从每个传感器接收的数据也可以用作用于校准其它传感器的比较点(例如,在步骤1425和/或步骤1440中执行的计算中)。在顺序校准的示例中,先前校准可以用作后续校准的参考点(例如,在步骤1425和/或步骤1440中执行的计算中)。

公开的校准处理可用于长期传感器应用(例如,持续佩戴的传感器、每日佩戴的传感器、长时间段佩戴的传感器)和短期传感器应用(例如,用于短期评估使用的传感器、在较短的锻炼阶段期间使用的传感器)。示例性短期应用可以包括在整形外科专家或物理治疗师处的测试,诸如运动测试(例如,测角仪测量)或对韧带或软组织损伤的评估的范围。其它短期应用可能与锻炼有关,诸如在步行或跑步时的步态分析,确定在特定锻炼中偏好哪条腿或手臂)。在这些短期应用中,公开的实施例可以在开始锻炼之前执行校准。例如,计算设备120可以接收对锻炼类型的用户选择(例如,步骤1410)并且基于对用户选择的分析执行初级校准以及在需要时执行二级校准。如果传感器指示数据中的不一致,诸如来自传感器设备的位置从其原始位置的漂移或移动(例如,旋转腕戴式传感器),则计算设备可以在通知或没有通知用户的情况下,在需要时执行初级和二级校准。

在长期应用中,用户可以在一天中的全部或大部分时间连续佩戴一个或多个传感器设备。这样的应用可能关注于评估功效和随时间的改变,诸如长期病理学评估。例如,持续的进行中的监视可以允许系统100评估一个人的姿势或步行是否正在从物理治疗锻炼而改进。并且,公开的实施例可以确定是否应该完全调整、改变和重写这样的锻炼以影响患者的改进。其它应用可能包括长期护理,诸如老年护理。在那些应用中,连续监视可以允许系统100向看护者提供关于用户的运动范围减退、是否正在有效地使用某些设备(例如,助行器、手杖)、以及如何以及何时发生事故(例如,滑倒、跌倒)的综合数据。在老年护理的示例中,年长用户可能会面临因轻微跌倒连而易受损伤并组合衰退的记忆力的独特挑战。不是试图将关于发生的事情的不完整情节拼凑在一起并避免来自他人的不断监督,公开的实施例可以记录长期护理设施的居民的运动学移动,以便与监视相反,工作人员可以更有效地利用时间进行治疗和预防性护理。在这些长期应用中,系统100可以以预定间隔(例如,每12小时、每24小时)和/或当系统100确定数据中的足够漂移或偏移总计需要重新校准时执行公开的校准处理。

虽然已经讨论了长期和短期示例性应用,但是附加应用可以与公开的校准处理一起使用。此外,实施例可以组合长期和短期校准需求两者。例如,长期护理机构的居民可以每周参加一次物理治疗。在治疗阶段期间,不同的校准需求可以应用(例如,基于采样处理确定的,比如在步骤1410中),并且除了作为进行中的监视的一部分而每天执行一次或两次的基于间隔的校准之外,还可以发生附加校准步骤。

已经关于人类骨骼系统讨论了本公开的某些实施例。然而,公开的校准、运动学数据捕捉和分析技术可以应用于具有预期或已知基线关节结构的任何系统。在一些实施例中,公开的方法可以应用于安装或附接到机器“骨架”或结构(例如,机器人设备、计算机数控(CNC)机床、机器人辅助手术)、动物(例如,马)、部分人类骨骼(例如,截肢者)和/或具有假肢(例如,假体、矫正器)的人类骨骼的传感器设备(例如,传感器设备110)。对于这些结构系统中的每一个,可以使用每个部分的可能或预期移动的基线图和/或其中的关节类型以使用先前讨论的系统和方法来评估它们的移动。

意图本公开和示例仅被视为示例性的,公开的实施例的真实范围和精神由以下权利要求指示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1