CN104823181A - 投篮追踪系统 - Google Patents

投篮追踪系统 Download PDF

Info

Publication number
CN104823181A
CN104823181A CN201480002672.4A CN201480002672A CN104823181A CN 104823181 A CN104823181 A CN 104823181A CN 201480002672 A CN201480002672 A CN 201480002672A CN 104823181 A CN104823181 A CN 104823181A
Authority
CN
China
Prior art keywords
shooting
data
sportsman
net
tracker
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480002672.4A
Other languages
English (en)
Other versions
CN104823181B (zh
Inventor
B.C.扬尼
D.D.罗斯
C.A.卡勒
D.A.丹克尼克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Didi sports company
Original Assignee
Shooting Tracking Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shooting Tracking Co filed Critical Shooting Tracking Co
Publication of CN104823181A publication Critical patent/CN104823181A/zh
Application granted granted Critical
Publication of CN104823181B publication Critical patent/CN104823181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0669Score-keepers or score display devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/003Repetitive work cycles; Sequence of movements
    • G09B19/0038Sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/0071Training appliances or apparatus for special sports for basketball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2208/00Characteristics or parameters related to the user or player
    • A63B2208/02Characteristics or parameters related to the user or player posture
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2208/00Characteristics or parameters related to the user or player
    • A63B2208/02Characteristics or parameters related to the user or player posture
    • A63B2208/0204Standing on the feet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/17Counting, e.g. counting periodical movements, revolutions or cycles, or including further data processing to determine distances or speed
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/833Sensors arranged on the exercise apparatus or sports implement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/836Sensors arranged on the body of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing

Abstract

一种投篮追踪系统包括手腕追踪器、篮网追踪器和投篮追踪移动应用。手腕追踪器佩戴在篮球员的手腕或手臂上并且篮网追踪器附接到篮筐的篮网。手腕追踪器和篮网追踪器分别自动检测投篮尝试和投中投篮事件,并且向投篮追踪移动应用异步地传送消息以报告这些事件。在诸如智能电话或平板计算机之类的移动设备上运行的投篮追踪移动应用包括程序指令,其在被无线移动设备的CPU执行时使无线移动设备自动接收和处理由手腕追踪器和篮网追踪器发送的异步事件数据,并且自动制表、存储和/或显示篮球员的投篮统计(诸如所进行的总投篮、投中的总投篮、投篮百分比、投篮位置等)。

Description

投篮追踪系统
技术领域
本发明总地涉及用于追踪和制表投篮统计的自动化系统和方法,并且更具体地涉及自动化投篮追踪系统,其利用运动传感器、无线传送器和无线移动计算机系统来检测、记录和显示球员的投篮统计,包括球员投篮尝试、投中或未中投篮以及在篮球场上的投篮位置的历史。
背景技术
存在与用于计数、记录和追踪篮球员的投篮统计(例如,投篮尝试、投篮投中、投篮未中、投篮百分比、投篮位置等)的常规产品和方法相关联的大量问题。首先,在投篮训练或比赛期间手动地追踪和对这样的统计记分是及其繁琐的。通常,这要么要求另一人在投篮者投篮时对该信息制表,要么要求投篮者在投篮时大体恒定地与追踪设备(例如,智能手机、智能表或等同物)交互。这两种方案都太麻烦并且一般干扰和减少投篮训练的进程和益处。因此,存在对于这样的投篮追踪产品和系统的需要,该投篮追踪产品和系统非引人注目地收集和处理投篮数据而不干扰投篮者的锻炼例程,并且还提供用于使投篮者在随后审阅数据、评估他或她随时间的进展、以及与其他感兴趣方共享投篮统计和进展信息的便利且高效的方式。
发明内容
本发明通过提供包括无线手腕追踪器、无线篮网追踪器和投篮追踪移动应用的投篮追踪系统来解决该需要。投篮追踪移动应用被配置成在诸如智能电话、智能表、手持式电子个人信息管理系统、平板计算机、或个人计算机或膝上型计算机之类的无线移动设备上执行。戴在篮球员的手腕或手臂上的无线手腕追踪器包括计算机处理单元(CPU)、计算机可执行程序指令的集合、包括例如加速度计、陀螺仪和/或气压传感器的一个或多个传感器、存储在手腕追踪器的存储器中的一个或多个“球员投篮数据简档”(也被称为“尝试投篮简档”),以及无线电传送器。球员投篮数据简档表示当投篮者在典型的投篮训练、锻炼、比赛或其它赛事期间对篮筐投篮时,投篮者的手腕或手臂的典型运动。手腕追踪器程序指令可与传感器、球员投篮数据简档和CPU一起操作以通过比较和匹配投篮者的手腕或手臂的实际运动(如传感器做检测的)与如存储在手腕追踪器的存储器中的一个或多个球员投篮数据简档中所反映的投篮尝试期间的典型篮球员的手腕或手臂的运动来自动检测尝试进行的投篮。
无线篮网追踪器也包括CPU、计算机可执行程序指令的另一集合、诸如另一加速度计之类的一个或多个附加的传感器、存储在篮网追踪器的存储器中的一个或多个“投中投篮简档”、以及无线电传送器。投中投篮简档表示在典型的投篮训练、锻炼、比赛或其它赛事期间投中投篮时,附接到篮筐边缘的篮网的典型扰动。篮网追踪器中的程序指令可与CPU、投中投篮简档和加速度计一起操作以自动检测穿过篮筐边缘和篮网的篮球。更具体地,无线篮网追踪器通过比较篮网的实际扰动与如存储在篮网追踪器的存储器中的一个或多个投中投篮简档中所反映的投中投篮时篮网的典型扰动来确定是否已经投中投篮。
在一些实施例中,篮网追踪器的存储器存储区域还包含一个或多个“边缘反弹简档”,其表示投篮击中篮筐边缘和/或篮板但是未穿过篮网(即,作为“篮外空心球”的未中投篮)时篮网的典型扰动。在这些实施例中,篮网追踪器中的程序指令还可与CPU、边缘反弹简档和加速度计一起操作以通过比较篮网的实际扰动与如边缘反弹简档中所反映的典型接近投篮时篮网的典型扰动来检测击中但反弹离开篮筐边缘和/或篮板的未中投篮(即接近或非常接近的未中投篮)。
尽管各个篮球员在投篮期间意图通过基本上相同的运动一致地移动其手腕和手臂,但是一个篮球员的投篮方式(即投篮运动序列)可能基本上不同于另一篮球员的投篮方式。出于此原因,本发明的投篮追踪系统的优选实施例可以包括训练和调整模式,由此用户可以训练和调整系统,由此创建更准确地反映用户在尝试投篮期间的典型手腕和手臂运动的球员投篮数据简档。类似地,因为一些篮筐的篮网和边缘比其它的更紧致(或更松散),所以本发明的优选实施例还可以准许用户调整投中投篮和边缘反弹算法和/或创建并存储更准确地对应于投篮投中或反弹离开边缘或篮板时特定篮筐上的篮网和/或边缘的典型扰动的投中投篮简档和边缘反弹简档。
为此目的,手腕追踪器的实施例包括:运动传感器;接收由运动传感器生成的运动数据的微处理器;计算机存储器;传送器;以及在微处理器上执行的运动处理应用。微处理器分析运动数据并且然后将运动数据的合格部分存储在计算机存储器中。特别地,运动数据的合格部分是这样的数据:其已经由运动处理器在持续长于预定最小时间段(例如,其已经在经验上被预定为是篮球员进行投篮所必要的)的连续时间段之上生成并且已经在球员的手臂处于潜在投篮位置(例如,如由球员的手臂相对于水平的倾斜角所确定的)中时生成。微处理器然后比较运动数据的合格部分与之前已经存储在计算机存储器中(例如通过球员在之前已经训练或调整设备)的球员投篮数据简档,其中每一个球员投篮数据简档具有表示在球员尝试针对各种不同类型投篮中的一个进行投篮时球员的投篮手臂如何运动的数据。基于该比较,微处理器确定球员是否已经做出不同类型投篮中的任一个的投篮尝试,并且如果是,则手腕追踪器将尝试投篮事件消息发送给无线移动设备。
在优选实施例中,运动传感器测量和输出沿着三个相互正交的轴的加速度值Ax,Ay和Az,并且其还以四元数值输出关于运动传感器在空间中的角度方位的信息。微处理器使用该四元数值来分别确定加速度值Ax,Ay和Ax的重力分量Gx,Gy和Gz,并且特别地可以将Gx,Gy和Gz值与球员投篮数据简档中的对应值比较以标识投篮尝试是否投中,这是因为加速度的重力分量最强烈地指示在球员投篮时,球员的手臂位置,以及因而指示运动。适当地,微处理器使用过滤器或伪过滤器来平滑进入的运动传感器数据,诸如通过利用多个时间点运动平均过程处理该数据,例如计算一时间点、紧前面的时间点和紧后面的时间点处的给定参数的平均值的过程。
此外,为了创建球员投篮数据简档,球员做出一系列给定类型的训练投篮,同时手腕追踪器在记录数据。对于每一个训练投篮,微处理器分析由传感器生成的运动数据并且然后将其合格部分存储在计算机存储器中。微处理器分析所存储的数据以在其内标识指示已经进行投篮以及投篮所发生的时间点的运动数据。例如,可以使用最大加速度变化率的点来标识投篮所发生的时间点,其中最大加速度变化率被定义为加速度值Ax,Ay和Az的平方和的平方根。微处理器然后在计算机存储器中存储投篮数据的窗口值,该投篮数据是已经从已存储的数据的合格部分提取的、但是从以做出投篮的时间点为中心的预定持续时间(例如0.6s)的较小时间窗口得到的数据。微处理器然后在逐时间增量和逐参数的基础上一起平均来自该序列内的所有训练投篮的投篮数据,并且然后存储由此平均的数据值以得到用于给定投篮类型的投篮的球员的球员投篮数据简档。该过程可以针对多种类型的投篮进行重复,例如跳投、勾手投篮、带球上篮等,以构建用于球员的个人投篮数据简档的“库”。
手腕和篮网追踪器确定诸如尝试投篮事件、投中投篮事件和边缘反弹事件之类的事件,并且使用其内部无线电传送器来将这些事件异步地传送到运行于无线移动设备上的投篮追踪移动应用。投篮追踪移动应用包括程序指令,其在被无线移动设备的CPU执行时使无线移动设备在从手腕和篮网追踪器接收数据时自动接收和处理异步事件数据,并且自动确定投篮者的投篮统计(例如,发生的总投篮、投中的总投篮、未中的总投篮、投篮百分比、总投篮时间、投篮位置、投篮历史、投篮记录、总分、投篮进展、技术水平等)。这些投篮统计可以通过投篮追踪移动应用保存到无线移动设备的存储器。投篮追踪移动应用中的程序指令还可以被配置成使无线移动设备上的CPU持续更新存储器中的投篮统计并且在投篮发生、投中或未中时将更新的统计实时地持续显示在移动设备的屏幕上。优选地,投篮追踪移动应用还被配置成从定位在篮筐或篮球场上或附近的一个或多个投篮位置追踪器接收投篮尝试和信号强度数据,并且自动确定在投篮者尝试投篮期间投篮者在篮球场上(或相对于篮筐)的位置。
在一些实施例中,投篮追踪移动应用中的编程指令还被配置成自动检测到诸如因特网的广域网的连接当前是否可用,并且将追踪的投篮统计自动上传到连接于广域网的一个或多个远程在线投篮追踪服务器。投篮追踪移动应用中的编程指令还可以被配置成从在线投篮追踪服务器接收其他篮球员的投篮统计,和/或管理和分发投篮统计信息以便准许多个投篮者(其可以或者可以不同时处于同一篮球场上)挑战和在投篮技能赛事中彼此交锋,诸如像虚拟游戏“H-O-R-S-E”。利用本发明的实施例,球员可以与其他球员,以及诸如专业或学校球队之类的组织共享他们的投篮统计数据和投篮锻炼。在优选实施例中,教练可以访问远程在线服务器并且提交请求以查看特定球员的投篮数据和/或将球员添加到他或她自己的球队花名册。
投篮追踪移动应用还可以被配置成将投篮统计发送到“智能记分板”以用于显示给篮球赛旁观者中的观众,由此消除对于篮球赛中的非常昂贵的常规电子记分板以及操作电子记分板的人类记分员的需要(和/减少对其的依赖)。此外,投篮追踪移动应用和/或远程在线投篮追踪服务器可以被配置成将投篮统计实时地传送到授权远程移动设备,使得球迷、朋友、父母以及其他亲属和支持者可以从远程位置观看和监视球员的进展和/或比赛时的投篮统计。
附图说明
图1示出图示了用于被配置成依照本发明的示例性实施例操作的投篮追踪系统的总网络架构的高级框图,其中网络包括智能电话、一个或多个手腕追踪器、一个或多个篮网追踪器、一个或多个投篮位置追踪器、一个或多个平板或个人计算机、智能记分板、以及远程投篮追踪服务器。
图2包含作为举例图示了在本发明的示例性实施例中的无线移动设备(例如智能电话)、篮网追踪组件和手腕追踪器组件之间建立的典型数据通信信道的图。
图3包含描绘了可以在本发明的一个示例性实施例中使用的手腕追踪设备的主要物理组件中的一些的框图。
图4A,4B和4C分别示出在本发明的示例性实施例中使用以存储表示投篮者的手腕的加速度随时间的幅度的值的幅度环形缓冲器、在本发明的示例性实施例中使用以存储表示投篮者的手腕沿着竖直(Z)轴的加速度随时间的幅度的值的Z轴环形缓冲器、以及在本发明的示例性实施例中使用以存储表示投篮者的手腕随时间的高度的值的压力值环形缓冲器。
图5A示出作为举例图示了典型投篮尝试期间的典型手腕位置和竖直(Z轴)加速度值的示意图。
图5B包含用于投篮尝试简档的图表,该图表和简档图示了由手腕追踪器中的传感器在典型投篮尝试期间检测到的气压、(所有轴)加速度的幅度和(仅Z轴)加速度的幅度之间的关系。
图6示出图示了依照本发明的一个实施例的由手腕追踪器中的CPU施行的步骤的高级流程图,施行该步骤以便确定篮球员的手腕随时间的实际加速度模式与预定投篮尝试简档是否匹配,由此指示投篮尝试事件消息应当被传送到智能电话。
图7A和7B分别示出用于艰难的运球和接到传球的加速度简档,该简档可以在本发明的一些实施例中使用以过滤掉与运球和接到传球相关联的手腕运动以便减少由手腕追踪器中用来确定投篮尝试事件是否已经发生的投篮尝试算法记录的误报数目。
图8包含描绘了可以在本发明的一个示例性实施例中使用的篮网追踪设备的主要物理组件中的一些的框图。
图9包含图示了在本发明的示例性实施例中用来存储表示如由篮网追踪器中的加速度传感器检测到的篮网的加速度随时间的幅度的值的幅度环形缓冲器的结构和内容的示意图。
图10A和10B分别示出由穿过篮网而没有触碰边缘的篮球(即“空心投篮”)引起的典型篮网扰动的图表,以及由反弹离开篮筐的边缘而没有穿过篮网的篮球(即未中投篮)引起的篮网扰动的图表。
图11A示出指示在时间T1与T2之间做出投篮时篮网的典型加速度模式(加速度的幅度对比时间)的加速度简档的图表的示例。
图11B示出如在时间T3与T4之间做出投篮时由本发明的篮网追踪器中的传感器检测到的篮网的实际加速度模式的图表的示例。图11B还示出如在时间T1与T2之间篮球反弹离开边缘而没有穿过篮网时由本发明的篮网追踪器中的加速度传感器检测到的篮网的实际加速模式的图表的示例。
图12示出图示了由依照本发明的一个实施例配置的篮网追踪器的中央处理单元(CPU)执行以确定在篮网处已经发生投中投篮事件还是边缘反弹事件的示例性计算机实现的算法的流程图。
图13示出图示了在图12中图示的算法的示例性计算机实现的子例程的流程图,该子例程包含被配置成确定篮网的实际扰动是否匹配如存储于篮网追踪器的存储器中的投中投篮简档中所反映的投中投篮时篮网的典型扰动的程序指令。
图14示出图示了由智能电话或其它无线移动设备的CPU依照本发明的示例性实施例施行以处理到来的投篮尝试事件、投中投篮事件和边缘反弹事件的步骤的高级流程图。
图15包含图示了在本发明的一些实施例中使用的蓝牙低能(BLE)分组的结构和内容的示意图。
图16示出图示了智能电话或其它无线移动设备的处理器依照本发明的示例性实施例施行以使本地存储器中所存储的投篮统计数据与远程在线服务器中所存储的投篮统计数据同步的步骤的高级流程图。
图17A-17C作为举例图示了运行投篮追踪移动应用的智能电话上所显示的屏幕和数据中的一些,所述投篮追踪移动应用被配置成在各个锻炼或练习过程期间依照本发明的一些实施例操作。
图18A和18B作为举例图示了运行投篮追踪移动应用的智能电话上所显示的屏幕和数据中的一些,所述投篮追踪移动应用被配置成依照本发明的一些实施例与球员之间的正面交锋技能挑战有关地操作。
图19-21包含作为举例图示了依照本发明的某些实施例的智能电话和篮球场上的多个投篮位置设备的物理布置,以及包含BLE消息的信号在所述设备之间的传播,以便准许系统确定投篮尝试发生在篮球场上的何处的图。
图22示出图示了由智能电话或其它无线移动设备的处理器依照本发明的示例性实施例施行以确定投篮尝试事件发生时手腕追踪器的位置的步骤的高级流程图。
图23和24包含作为举例图示了依照本发明的可替换示例性实施例的智能电话和篮球场上的单个投篮位置设备的配置以及包含BLE消息的信号在所述设备之间的传播,以便准许系统确定投篮尝试发生在篮球场上的何处的图。
图25示出图示了依照本发明的第二实施例的由手腕追踪器中的CPU施行以便确定手腕追踪器是处于训练模式还是正常或投篮模式的步骤的高级流程图,在训练模式中,用于不同类型投篮的球员投篮数据简档被开发并存储在手腕追踪器内,在正常或投篮模式中,投篮尝试事件被手腕追踪器识别和标识。
图26示出图示了依照本发明的第二实施例的由手腕追踪器中的CPU响应于到来的BLE消息而施行的步骤的高级流程图。
图27示出图示了依照本发明的第二实施例的由在通用计算设备上执行的应用结合训练模式中的手腕追踪器的操作而施行的步骤的流程图。
图28A-28F是图示了依照本发明的第二实施例的由手腕追踪器CPU在训练模式期间执行以构建球员投篮数据(PSD)简档的过程步骤的流程图,球员投篮数据简档是在正常或投篮模式中的手腕追踪器的操作期间到来的数据与其进行比较的“模板”。
图29A-29C是图示了依照本发明的第二实施例的由手腕追踪器CPU在正常或投篮模式期间执行以通过比较到来的传感器数据与存储在球员投篮数据简档中的数据来标识投篮尝试事件的过程步骤的流程图。
具体实施方式
在该公开中,每个参考标号的最后两位数字标识给定组件、元件或算法步骤,并且每个参考标号的前面一个或两个数字对应于在其中描绘元件或步骤的图的编号。因而,如果在多个图中示出给定元件,则严格说来,元件将在若干图中的每一个中具有不同的参考标号;然而,最后两位数字将跨同时讨论的所有相关图是相同的以便解释本发明的实施例的特定概念或方面。例如,在图1和2中将相同的通用计算设备分别图示为元件号115和215。如果在该公开中同时阐述多个图,则将只在文本中使用最小编号的图中所使用的参考数据。此外,在该公开内的不同点处讨论的不同图中图示的不同元件将可能具有其中最后两位数字相同的参考标号;然而,实际上,在本公开中的不同点处讨论的元件应当防止最后两位参考标号数字的这种公用性引起混淆。最后,该公开中的一些流程图占据多个图表。参见在图28A-28F和图29A-29C中描绘的流程图。在这样的情形中,“流程连接器”被用来连接图并且指示系统如何从一个图表上的流程图行进到另一图表的流程图。特别地,圆形内的流程连接器标签(例如FC1)指示“进入”流,而五角形对象内的流程连接器标签指示“出去”流。
系统概述
如图1和2中所示,在最基本的实现方式中,根据本发明的投篮追踪系统的实施例包括:手腕佩戴或手臂佩戴的手腕追踪器105;篮网追踪器110;以及执行投篮追踪程序或应用(app)120的计算设备115。在另外的实施例中,投篮追踪系统还可以包括一个或多个投篮位置追踪器125,其可以被用来标识从其处投篮的篮球场130上的位置,或者至少从其处投篮的距篮网235的距离。如以下将更全面解释的,手腕追踪器105已经如下所述那样“训练”或校准,以区分实际尝试的篮网235上的投篮(例如跳跃投篮、带球上篮、罚球、勾手投篮等)与打球时一般呈现出的其它动作(例如运球、传球、接到传球、盖帽等)。另一方面,篮网追踪器110附接到篮筐的篮网并且被配置成标识在篮网235已经投中的投篮尝试(投中投篮),以及区分篮筐上的投中投篮(即篮球已经完全穿过框和附接的网)与篮筐上的不投中投篮。
电池供电的手腕追踪器105佩戴在投篮者的手腕上或其附近,并且篮网追踪器110附接到篮网110的背部。手腕追踪器105可以被插入投篮者的手腕上所佩戴的腕带上的口袋中或者基本上覆盖投篮者的手腕、肘部和上臂的较大衣物(被称为投篮套袖)的口袋中。优选地,手腕追踪器、腕带和/或投篮套袖被配置成使得手腕追踪器将定位在前臂外侧以避免在投篮、传球或运球期间对手部的任何干扰。在一个实施例中,手腕追踪器是盘形的并且诶可以以任何角度方位对准。在其它实施例中,手腕追踪器是锥状的并且在一端是钝的使得其仅可以单个方位插入到腕带或投篮套袖的口袋中。
投篮追踪应用120对已经发生的实际投篮(在给定实施例中包括投篮位置追踪时,包括每一次投篮从其发生的位置或距离)制表并且使所发生的投篮与篮网追踪器110所确定的对应投中/失败信息相关。以此方式,投篮追踪系统允许球员或他/她的教练保持追踪球员从给定位置或距(多个)篮网追踪器110的给定距离处进行了多少个投篮以及球员从该位置或距离的准确度。这样的信息继而可以被用来评估有多少球员练习是从给定位置或距离投篮的,或者标识球员的强势和弱势,例如以用于在实际比赛期间为球员指定策略。
如图1和2中进一步图示的,在本发明的优选实施例中,并且如在下文将更详细解释的,计算设备115可以是具有无线能力的便携式设备,例如智能电话、平板计算机、膝上型计算机等,其被配置成使用蓝牙和/或WiFi协议无线地发送和接收数据。类似地,手腕追踪器105、篮网追踪器110以及(在被包括的情况下)(多个)投篮位置追踪器125优选地被配置成与计算设备115(在图2中被指定为215)无线地通信,并且在要求的情况下,经由一个或多个相同的协议与彼此无线地通信(如以下所阐述的)。
当手腕追踪器105确定球员已经在篮筐处进行实际投篮时,手腕追踪器105向计算设备115发送消息,从而将这一事实告知计算设备并且在该消息中包括与投篮相关联的时间戳。类似地,当篮网追踪器110确定篮筐上已经发生投篮时,其向计算设备115发送消息,从而将投篮事件告知计算设备,连同时间戳以及关于投篮是投中还是失败的信息。追踪器设备105,110和计算设备115之间的这样的无线通信促进对球员的活动和投中率的实时追踪,并且其最大化与使用根据本发明的投篮追踪系统相关联的益处和乐趣。然而,在可替换的实施例中,手腕追踪器105和篮网追踪器110可以被配置成存储和累积它们每次导出的投篮和投中/失败数据,并且所存储的数据可以在某一时间段之后经由直接连接(例如经由以太网或USB线缆)下载到计算设备115。
如图1中另外指示的,并且如在下文结合随后各图另外阐述的,投篮追踪系统(特别地投篮追踪应用120)可以被配置成容纳由统一篮球场130上的多个球员在给定时间使用的多个手腕追踪器105。这使得例如球员可能在投篮赛事中彼此竞争,其中利用投篮追踪系统进行所有制表和计算。此外,其准许教练在实际比赛中保持追踪多个球员之中谁发挥得最好以及谁发挥得不好。为了做出这样的多手腕追踪器部署工作,每一个手腕追踪器105可选地在其检测到实际投篮发生之后所发送的每一个消息中包括球员标识数据,并且投篮追踪应用120保持追踪其在逐球员的基础上接收到的数据。
可替换地或附加地,投篮追踪系统可以被配置成容纳在给定时间处在同一篮球场130(或者甚至不同场)(例如实际体育馆中)附近的不同篮筐上使用的多个篮网追踪器110。这使得例如整个球队可能在体育馆内的不同位置练习投篮。为了做出这样的多篮网追踪器部署工作,每一个篮网追踪器110可选地在其检测到已经在给定篮网上发生投篮之后发送到应用120的每一个消息中包括篮网标识数据,并且投篮追踪应用120保持追踪其在逐篮网的基础上接收到的数据。
手腕追踪器
如图3中所示,手腕追踪器305包含:加速度计310;运行自定义代码的主要CPU 315;用于发射事件消息和接收配置命令的无线电组件325;存储在闪速存储器中的一个或多个投篮尝试简档;以及用于供电的电池(未示出)。在手腕追踪器305的优选实施例中,加速度计310是基于芯片的惯性测量单元,诸如从San Jose,California的InvenSense可用获得的MPU-6050运动追踪设备,其还包括陀螺仪感测元件335。该设备测量并输出相对于传感器本身的三个相互正交的方向上的以G为单位的加速度X,Y和Z(1G具有1000的输出值以便消除承载小数点的需要),并且其测量传感器相对于地球的旋转方位并以四元数值的方式将该信息输出。(用四个值来表述四元数据——Q1,Q2,Q3和Q4,并且其标识球形表面上的点的位置以及相对于地球的旋转/角度方位,例如具有在给点的原点的三个相互正交的轴的集合。在四元数据中,角度方位信息被用在以下所解释的投篮标识算法中)。可选地,手腕追踪器还可以包括高度敏感的气压传感器340以用于在球员执行手臂运动时感测与球员的手臂或手腕的位置(即高度)中的改变相关联的压力扰动,以及一个或多个状态发光二极管(LED,未示出)。
一旦唤起,CPU 315就执行来自闪速存储器的两个分离部分的程序代码。在闪速存储器的一个部分345中,程序代码包含限定蓝牙低能协议实现(被称为“堆栈”)的指令,其在追踪器的存储器与执行于无线移动设备(例如智能电话)上的投篮追踪移动应用之间移动消息。闪速存储器的另一部分350包含自定义代码,其分析从传感器实时到达的数据,并且在做出与存储在闪速存储器中的之前创建的球员投篮数据简档的合格匹配之后将“投篮尝试事件已经发生”的消息传送到无线智能电话或其它计算设备。这被称为“投篮尝试算法”,在用于一个实施例的图6(以下阐述)中以及用于另一实施例的图29A-29C(以下进一步阐述)中示出并图示其示例性实施例。
当手腕追踪器305检测到投篮尝试事件时,手腕追踪器305将指示“已经检测到投篮尝试”的BLE消息(以下更详细解释)发送到投篮追踪移动应用。该消息还包括合格投篮尝试事件相对于无线智能电话中的时钟的时间戳,以及可选地指示手腕追踪器算法已经将其与检测到的投篮尝试事件相关联的“置信度水平”的值。
在不活动一段时间之后或者在来自智能电话的命令后,手腕追踪器使其断电以保存电池电力。附加的电路和制造商供应的算法估计手腕追踪器的剩余电池容量并且响应于与运行在智能电话上的投篮追踪移动应用所建立的射频通信之上的标准协议查询而提供该信息。这允许智能电话应用在手腕追踪器达到某一任意阈值(比方说剩余80%电池电力)时采取动作,并且要么通过无线移动设备上的显示屏或网络仪表盘警告用户,要么经由邮政邮件将替换电池自动递送到用户。
手腕追踪器中的投篮尝试算法实现一系列步骤,其被配置成将在预定时间段之上接收到的传感器数据与指示投篮者尝试的投篮的预定阈值进行比较。对于依赖于数学功能来操作的许多设备的情形,根据本发明的投篮尝试算法中的数据阈值和时间段是可调节的,由此准许调节算法的结果以计及投篮者之间在方式上的不同以及不同投篮者分类之间在方式上的不同。例如,已经观察到,非常年轻的篮球员往往在投篮之前以非常低的开始位置(诸如其面部或胸部或甚至尾部的前面)持有球;他们一般在投篮期间使用两个手来向篮筐推动球;并且他们往往跳跃到空气中,如果他们完全跳跃,则仅在手腕和手臂投篮运动已经开始之后。因此,由较年轻球员在投篮尝试之前、期间和之后展现出的手腕和手臂运动可能明显不同于由较老的、较强壮的篮球员所展现出的手腕和手臂运动,较老的、较强壮的篮球员在“跳跃投篮”期间将更可能在他或她的头部之上持有球;更可能利用一个手向篮筐推动球(并且仅使用另一个手平衡球);并且更可能在开始投篮所要求的手腕和手臂运动之前跳跃到空气中。因此,为了考虑到投篮运动和方式中的这样的不同,本发明的实施例可以被配置成准许用户选择最适用于球员类别的阈值和时间段。
如以上所暗指的,投篮尝试算法将在简短时间窗口之上累积的运动数据与已经在之前生成和存储的各个投篮尝试简档(例如,跳跃投篮、带球上篮、罚球、勾手投篮等)进行比较。相应地,设备及其算法利用缓冲器来存储和处理数据。例如,图4A,4B和4C分别示出可以在本发明的一个示例性实施例中使用以存储表示投篮者的手腕的加速度随时间的幅度的值的幅度环形缓冲器405;在本发明的一个示例性实施例中使用以存储表示投篮者的手腕沿着Z轴的加速度随时间的幅度的值的Z轴环形缓冲器410;以及被用来存储表示投篮者的手腕随时间的高度的值的气压值环形缓冲器415。(在该特定实施例中,Z轴的方位为沿着投篮者的前臂,并且在球员的手臂直向下指向时具有正1g的值(即+1000单位作为传感器的输出),并且在球员的手臂直向上指向时具有-1g的值(即-1000单位)。
手腕追踪器中的感测算法的操作依赖于投篮尝试的预定阈值和典型模式,如在投篮尝试简档中所反映的。投篮尝试简档可以例如通过将传感器附接到投篮者的手腕,并且然后观察并绘制与投篮尝试的多样性相关联的运动来创建。该过程产生丰富的数据,从其中可以透彻地理解投篮尝试期间与手腕相关联的典型加速度并且可以开发简档。在该连接中,图5A示出作为举例图示了在典型投篮尝试期间观察到的典型手腕位置和Z轴加速度值(即,在该实施例中沿着前臂)的示意图。图5B包含用于投篮尝试简档的图表,其中图表同时图示了总加速度(即,沿着每一个X,Y和Z轴的加速度的平方和的平方根)的随时间变化的幅度M;仅沿着Z轴的加速度的幅度Z;以及由手腕追踪器中的传感器在典型投篮尝试期间检测到的气压P。
图6示出图示了依照本发明的一个实施例的由手腕追踪器中的CPU施行以便确定篮球员的手腕随时间的实际加速度模式与预定的投篮尝试简档匹配的步骤的高级流程图600,由此指示投篮尝试事件消息可以传送到智能电话。在手腕追踪器的“实况”操作期间,即在已经针对篮筐出的各种类型投篮(勾手投篮、跳跃投篮、带球上篮等)创建投篮尝试简档并将其存储在设备中的存储器中之后,以每秒一百周期的速率执行算法。
如图6中所示,在算法的每一次迭代中,在步骤S605处从手腕追踪器读取沿着X,Y和Z轴的加速度,如气压。然后在步骤610处计算加速度的总幅度M,如X,Y和Z轴加速度中的每一个的平方和的平方根:
        
在利用环形缓冲器的该实施例中,然后在步骤615处将总加速度的幅度M、沿着Z轴的加速度的幅度、以及气压P存储在相应环形缓冲器405,410和415的下一连续位置中。
在决策步骤620处,作为预测或“守门”测试,算法评估沿着Z轴的加速度是否小于指示球员的手臂抬起以进行篮网出的实际投篮的预定阈值,并且其在某一时间点处这样做,例如半秒前(即,T-50,其中T以百分之一秒增量)。例如,如图5A中所示,当球员的手臂提起并且位于由相对于水平大概44.4°倾斜的虚线510和515限定的上扇区505中时,手腕传感器520将感受到朝地球指向的1g重力加速度,并且其将在球员的手臂在头顶正上方时测量并输出沿着Z轴指向的重力加速度的分量,其范围从-700到最小值-1000。(在这方面,应当回忆起,加速度计输出被缩放使得值为1g的感测到的加速度是以1000为单位的输出,正是指朝向球员的指尖并且负是指朝向球员的身体,并且应当指出-700等于虚线510和515相对于水平的倾斜角44.4°的正弦乘以-1000)。
因而,基于实际投篮将在球员的投篮手臂位于上扇区505内的某一处的情况下发生这一断言假定,算法首先在步骤620处检查以查明沿着传感器的Z轴的加速度的值Z是否小于或等于预定阈值,例如-700,并且其对于算法做出该检测的时间点之前的预定时间段(例如半秒)的时间点如此做。如果Z轴加速度的初始阈值未超出预定阈值(即Z大于-700),则算法沿着分支625返回以开始另一处理迭代。另一方面,如果Z轴加速度的初始阈值确实超出预定阈值(即Z小于或等于-700),则算法沿着分支630行进到决策步骤635。
在决策步骤635处,算法评估总加速度的幅度M是否超出预定阈值,其例如为4g,如图5B中被标识为“冲量阈值”。(在该上下文中,术语“冲量”是指加速度的突然、相对大的值;相比来说其是将术语“冲量”的使用严格为参照力乘以时间的积)。附加地,算法将对应于在经验上确定的“投篮窗口”的之前的时间窗口(例如半秒)之上的每一个时间点的总加速度幅度M的值进行制表(即求和),并且其(算法)评估该制表值∑是否超出领域预定阈值。(该检查帮助“过滤掉”简短、非保留的运动,诸如虚假跳跃,其可能在表面上看起来像是在篮网出的实际投篮但是却不是)。另外,算法仍然在至少预定时间段内检查气压P是否超出预定阈值。如果任何参数没有超出其对应阈值,则其被视为篮网出的实际投篮尚未发生,并且算法沿着分支640返回以开始另一处理迭代。另一方面,如果所有三个参数都超出其相关联的阈值,则数据分组在步骤645处被发送到智能电话或其它计算设备以指示已经发生投篮尝试事件。关于数据分组的内容的附加细节结合图15的讨论在下文提供。
在本发明的一些实施例中,还将必要或期望的是,标识在打球时与手腕的其它频繁运动相关联的运动的模式,并且过滤掉这些模式以便避免被标识为投篮尝试的那些模式。为此目的,图7A和7B分别示出用于艰难运球和接到传球的加速度简档,该简档可以在本发明的一些实施例中被用来过滤掉与运球和接到传球相关联的手腕运动以便减少通过手腕追踪器中所使用的投篮尝试标识算法所标识的误报数目。因而,“运球拒绝”代码可以被添加到手腕追踪算法,该代码具有查找明显局部最小,例如1g以下的程序指令(参见图7A中的A事件),其领先运球的高幅度*次数(图7A中的B事件)。(这样的简档将对应于球员的手部/手腕抬起(低-g)以及然后在她或他运球时快速详细推动)。该方案是方便的,因为运球在定义上总是上下的。然而,应当指出的是,这样的过滤代码是可选功能,其可以或可以不是必要或有用的,这取决于环境。
类似地,拒绝作为投篮尝试的接到传球模式的编程指令也可以被添加到由手腕追踪器中的CPU执行的代码。这些指令可以被配置成例如依赖于以下事实:当篮球撞击球员的手部时,加速度幅度值的斜率相对陡峭(参见图7B中的事件A),并且相比坍塌的加速度而言更显然的是球员可能仅使用他或她自己的肌腱系统而做出。
另外,无线移动设备上的投篮追踪移动应用仍可以甚至被配置成询问用户,并且给予对询问的答复而调节由投篮尝试算法使用的阈值和时间段以更好地符合特定球员或特定种类球员所典型的手腕和手臂运动。在一些实施例中,手腕追踪器中的投篮尝试算法所使用的投篮尝试简档还可以通过操作位于手腕追踪器本身上的一个或多个开关来选择或调整。
篮网追踪器
如以上所指出的,投篮追踪应用对已经发生的实际投篮制表并且使已发生的投篮以篮网追踪器所确定的对应投中/失败信息相关。因而,篮网追踪器与手腕追踪器“并排”操作以提供本发明的投篮追踪系统的最优益处。换言之,手腕追踪器可能由其自身简单地用来保持追踪所发生的投篮数目(包括不同类型的投篮),并且如果为系统提供位置追踪,则保持追踪投篮距离或投篮位置;然而,是篮网追踪器确定给定投篮是实际投中还是仅仅是尝试,并且知晓此将帮助球员或她/他的教练评估在哪里有序进行更多练习。
篮网追踪器被设计成附接到一个或多个篮网并且唯一地检测篮网在篮球穿过篮网时的运动并且拒绝由于球撞击它们或由于篮网及其周围环境的其它交互所致的篮网或边缘的其它运动。篮网追踪器设备中的算法实时处理由加速度计检测到的运动数据以检测在预定时间段之上运动模式是否与投中投篮(即“投中投篮简档”)的预定运动模式匹配。
被应用到篮网追踪器中的运动传感器(其在该情形中为三轴加速度计)所产生的数据的算法是动态可调整的使得可以对篮网和边缘的不同频率响应和物理变化做出调节并且仍在做出投篮时以高保真度确定而不会生成不可接受的高数目误判(篮球实际尚未穿过篮网时不正确的投中投篮事件)。此外,感测篮网追踪器的算法的操作取决于边缘反弹和投中投篮时篮网的运动的预定阈值和典型图案,如存储在篮网追踪器中的边缘反弹和投中投篮简档中所反映的。边缘反弹和投中投篮简档可以例如通过将传感器附接到篮网并且然后观察和绘制与边缘反弹和投中投篮的多样性相关联的运动来创建。该活动产生丰富的数据,从其可以透彻地理解篮网的典型加速度并且可以创建简档。
一般而言,篮网追踪器硬件基本上可以与手腕追踪器硬件相同,除篮网追踪器硬件典型地不包括用于感测高度的改变的气压传感器之外。另一方面,篮网追踪器采用不同算法来检测投中投篮和边缘反弹。在优选实施例中,篮网追踪器可以通过加速度计所检测到的篮网的扰动来激活(唤起)。然而,篮网追踪器还可以通过手动操作的“开-关”开关来激活。与投篮尝试算法类似,篮网追踪器中的投中投篮算法使用可调整的预定时间段、阈值和简档(被称为“投中投篮”和“边缘反弹”简档)来确定投中投篮事件和边缘反弹事件已经在何时发生。(投中投篮事件和边缘反弹事件可以笼统地被称为“篮网事件”)。
如图8中所示,篮网追踪器805包括具有实时操作系统的嵌入式CPU 810,它们二者被配置成实时地获取和处理由加速度计传感器产生的数据。类似于手腕追踪器,篮网追踪器805包含:主要CPU 810,其运行自定义代码815;加速度计820;用于发射事件消息和接收配置命令的无线电组件825;存储在闪速存储器中的一个或多个投中投篮和边缘反弹简档;以及用于供电的电池(未示出)。在篮网追踪器805的优选实施例中,加速度计820可以是与手腕追踪器中所使用的相同的基于芯片的惯性测量单元,即从例如Coppell,Texas的STMicroelectronics可获得的LIS331HH运动追踪设备。如以上所指出的,设备测量并输出相对于传感器自身的三个相互正交方向上以g为单位的加速度X,Y和Z(1g具有1000的输出值)。(相比于手腕追踪器,来自设备的旋转方位信息不结合篮网追踪器使用)。
一旦被唤起,CPU 810执行来自闪速存储器的两个分离部分的程序代码。在闪速存储器的一个部分835中,程序代码包含限定在篮网追踪器的存储器与执行于无线移动设备上的投篮追踪移动应用之间移动消息的蓝牙低能协议实现的指令。闪速存储器的另一部分840包含自定义代码,其分析从篮网追踪器传感器实时到达的数据,并且在做出与存储于闪速存储器中的之前创建的投中投篮事件简档或边缘反弹事件简档的合格匹配后,向计算设备传送消息,其指示已经识别篮网事件并且指示篮网事件是投中投篮事件还是边缘反弹事件。这被称为“投中投篮算法”,其示例性实施例在以下阐述的图10和11中图示。
当篮网追踪器805检测到篮网事件时,篮网追踪器向篮网追踪移动应用发送BLE消息,其在适当的情况下指示“已经识别投中投篮事件”或“已经识别边缘反弹事件”。该消息还包括合格篮网事件相对于无线智能电话中的时钟的时间戳,以及可选地,该消息可以包括指示篮网追踪算法已经将其与检测到的篮网事件相关联的“置信度水平”的值。
在不活动一段时间之后或在来自智能电话的命令后,篮网追踪器可以使其自身断电以保存电池电力。如手腕追踪器的情形那样,附加的电路和制造商供应的算法可以估计篮网追踪器的剩余电力容量并且响应于与运行于智能电话上的投篮追踪移动应用建立的射频通信之上的标准协议询问而提供该信息。这允许智能电话应用在篮网追踪器达到某一任意阈值(比方说80%剩余电池电力)时采取动作,并且要么通过无线移动设备上的显示屏或网页仪表盘警告用户,要么经由邮政邮件使替换电池自动递送到用户。
与投篮尝试算法类似,投中投篮算法将在简短时间窗口之上累积的运动数据与已经在之前生成和存储的各个篮网事件简档(例如,投中场地得分、投中带球上篮、边缘反弹)相比较。相应地,篮网追踪器及其算法利用缓冲器来存储和处理数据。例如,图9包含图示了在本发明的示例性实施例中使用以存储表示如篮网追踪器中的加速度计传感器随时间所测量的篮网的加速度的幅度的值的幅度环形缓冲器的结构和内容的示意图。
篮网追踪器中的投中投篮算法实现一系列步骤,其被布置成将在预定时间段之上所接收的传感器数据与指示篮网事件的预定阈值相比较。如关于依赖于数学功能来操作的许多设备的情形那样,根据本发明的投中投篮算法中的数据阈值和时间段是可调整的,由此准许调整算法的结果以计及例如特定篮网、边缘、篮板等的不同,如以上所述。
图10A示出由穿过篮网而不触碰边缘的篮球(即“空心投篮”)引起的典型扰动相关联的加速度的图表的示例。另一方面,图10B示出由反弹离开篮筐的边缘而没有穿过篮网的篮球(即未中投篮)引起的篮网扰动的图表的示例。两个简档之间的不同非常明显,其中空心投篮产生更明显或离散的事件,这是由于在球穿过篮网时使篮网快速地扰动,并且然后篮网的串线内的内部摩擦、篮网的串线与安装环的篮圈之间的摩擦、和/或抵抗相对轻质量的篮网作用的空气阻力使篮网背部相当快速地停息。另一方面,由球跳跃离开篮圈和/或篮板引起的振动引起篮网相对更长持续时间的运动,这是因为篮网是由塌陷的振动/振荡或者明显更具刚性的篮圈/篮板驱动的,如图10B中清楚可见的。
类似地,图11A示出指示了在时间T1与T2之间投中投篮时篮网的典型加速度模式(加速度的幅度对比时间)的加速度简档的图表的示例。图11A的投中投篮简档可以存储在篮网追踪设备的存储器中以用于由篮网追踪算法使用。在优选实施例中,用于冲量阈值的默认设置为4G;默认时间段(T1-T2)为100ms;以及用于投中投篮阈值的默认求和(基本上为时间T1与T2之间的加速度简档曲线之下的面积)为2,000G-ms。(如关于手腕追踪器的情形那样,与篮网追踪器有关的术语“冲量”是指加速度的突然、相对大的值;相比而言将术语“冲量”的使用严格为是指力乘以时间的积)。然而所有这些设置是可调整的。
另一方面,图11B示出用于如由本发明的篮网追踪器中的传感器在时间T3与T4之间投中投篮时所检测到的篮网的实际加速度模式的图表的示例。在该情形中,对应于诸如球员在他们挑战球、边缘突破等时敲击篮网之类的之前事件的时间T1与T2之间的篮网的运动将通过4G冲量阈值从考虑当中排除。
适当地,篮网追踪器中的算法以每秒一百周期的速率实现。一般而言,在每一次迭代期间,算法查找某一之前时间点处的加速度幅度阈值,例如之前0.1s时间内。如果幅度阈值满足,则算法然后通过预定时间窗口对幅度信息正向积分,实际上是计算如以上所暗指的加速度简档曲线之下的面积,并且如果该求和超出第二投中投篮阈值,则算法得出已经发生投中投篮事件的结论。
因而,如图12和13中所示,在算法的每一次迭代期间,在步骤1205处从篮网追踪器传感器读取沿着X,Y和Z的篮网追踪器加速度计的加速度,并且然后在步骤1210处计算加速度的总幅度M以作为X,Y和Z轴加速度中的每一个的平方和的平方根:
        
在利用环形缓冲器的该实施例中,然后将总加速度的幅度M存储在幅度环形缓冲器(MRB)900的幅度的下一连续位置中(图9),如步骤1215处所指示的。
接下来,在步骤1220处,算法实现篮网追踪器模式匹配算法,其在图13中更详细地示出。如图13中所示,通过例如执行程序指令以从存储器检索预定值,或者可替换地通过将数值指派给适当变量(例如,“设置impulse_threshold=4.0”)的执行程序指令,建立冲量阈值(例如,如以上所指出的4g)和投中投篮整数阈值(例如,如以上所指出的2,000g-ms)(步骤1325)。然后,在决策步骤1330处,算法评估存储在对应于预定数目的时间间隔(例如,10个时间间隔,即如流程图中所指示的“现在-10”)的环形缓冲器位置中的幅度M是否满足或超出预建立的冲量阈值。如果不是如此,则算法在步骤1350处沿着分支1335继续以返回没有做出匹配的值(匹配=“否”),从而指示当前篮网加速度模式与投中投篮的模式不匹配,并且然后退出模式匹配算法并返回到图12中所图示的算法的主要流。
另一方面,如果幅度M满足或超出冲量阈值,则在步骤1340处,算法对每一个之前的预定数目时间点(例如,如以上所指出的10)的加速度幅度值以及当前时间点的加速度幅度M求和。如果该求和值不满足投中投篮阈值(例如,如以上所指出的2000g-ms),则子例程沿着分支1345继续以将没有投中投篮的值(匹配=“否”)返回到子例程的主要部分,再次指示当前篮网加速度模式在步骤1350处与投中投篮的模式不匹配。另一方面,如果求和值满足或超出投中投篮阈值,则子例程沿着分支1355继续以在步骤1360处将投中投篮值(匹配=“是”)返回到子例程的主要部分。
在步骤1270处,检查匹配值。如果投篮没有投中,则算法等待一个时间段(例如,10微秒,或者以每秒100周期运行时的百分之一秒);使时间值增量;并且然后返回到算法的开头,如步骤1275处所示。另一方面,如果实际上投篮投中,则在等待一个事件段之前,算法将在步骤1280处使投篮投中事件代码传送到计算设备(例如智能电话);使时间值增量;并且返回到算法的开头,如步骤1275处所示。
为了最小化该算法的处理时间(这也可以针对手腕追踪器完成,如果期望的话),从加速度计读取的三个分量被缩放转换成一个漂浮点有符号的整数并且然后在该数据格式中平方以利用核中的硬件乘法器。采取最终漂浮点平方根以获得幅度,尽管其将来潜在要被手工编码为迭代整数平方根。
// Sets G-level (24 fullscale range)/(2^16bits)
// (about 1/2731) then *1000 to save multiplies
#define SCALE ((12.0f*2.0f*1000.0f)/65536.0f)
xaccel = (int16_t)(SCALE*vals[0]);
yaccel = (int16_t)(SCALE*vals[1]);
zaccel = (int16_t)(SCALE*vals[2]);
Mag[dest_idx] = (uint16_t)
   sqrt(xaccel*xaccel + yaccel*yaccel + zaccel*zaccel);
因为时间戳被嵌入在BLE消息中,所以不必实时处理该数据。通过分析之前缓冲的数据,不需要保持运行状态(或其一小部分)。尽管这可能看起来引起信令系统中的延迟,但是针对处理窗口宽度向后调整嵌入式时间戳。这显著地简化代码复杂性。
投篮追踪移动应用
如以上所指出的,投篮追踪应用对已经进行的实际投篮(在给定实施例中包括投篮位置追踪时,包括每一次投篮已经从其发生的位置或距离,如以下更全面地阐述的)制表,并且使所进行的投篮与篮网追踪器所确定的对应投中/失败信息相关。投篮追踪应用被配置成在计算机系统上运行,计算机系统可以是计算机设备,诸如智能电话、智能手表、平板、或平板计算机系统、或者适用于在篮球场上或其附近使用的任何其它计算机设备。尽管手持式无线设备出于便利性是优选的,但是计算机系统还可以包括有线或无线台式计算机系统,其被配置成从篮球场上所使用的手腕追踪器和篮网追踪器(以及潜在的投篮位置传感器)接收传送。篮球场可以位于竞技场、体育馆、车道、后院、或者其中可以与嵌入在篮网追踪器、手腕追踪器和投篮潜在位置追踪器设备中的射频(RF)传送器结合使用的有线或无线计算机的任何其它地方。尽管BLE传送协议是当前优选的无线传送协议,但是本领域技术人员将理解和领会到的是,取决于特定环境,可以使用许多其它适当的无线通信协议中的任一个,诸如WI-FI或蓝牙4.0,而不脱离本发明的范围。也可以使用诸如以太网、USB和微型USB之类的有线通信信道来在设备之间传送投篮数据以用于离线、非实时处理。
一般而言,当移动应用从手腕追踪器接收到指示投篮尝试事件的信号时,移动应用将把该事件存储在存储器中并且等待可配置量的时间以用于来自篮网追踪器的指示篮网事件(投中投篮或边缘反弹)已经发生的传送。因而,移动应用将使用从手腕追踪器接收到的投篮尝试事件数据来记录投篮尝试在时间T1处发生这一事实,并且其将还使用从篮网追踪器接收到的篮网事件数据以记录投篮在时间T2处是投中还是未中,其中时间T2可以高达时间T1之后的2或4秒。应用可以计算篮球飞行的实际时间,推断投篮尝试的距离,并且如果必要的话,基于从放置在篮球场上的投篮追踪位置设备(以下解释)接收到的RSS信息来核实所推断的距离。周期性地,应用将经由数据通信网络(诸如因特网)之上的连接将投篮统计数据发送到远程投篮追踪服务器。如果到网络的数据通信信道当前不可用,则应用被配置成存储该数据直到这样的连接变得可用的时候为止。
投篮追踪应用处理到来的投篮尝试事件、投中投篮事件和边缘反弹事件的操作流在图14中图示。当投篮追踪移动应用启动时,其将开始迭代地监听来自手腕追踪器、篮网追踪器、或者投篮位置追踪器的广播事件,如由步骤1405、决策步骤1410和返回分支1415所图示的。当接收到广播消息时(来自决策步骤1410的是分支1420),移动应用将在步骤1425处通过运行适当的连接协议而注册已经发现的设备,并且然后其将在步骤1430处使所发现的所有设备上的时钟同步。在完成注册并建立连接之后,移动应用可以从设备接收数据。然后,应用将开始监听来自这些设备的投篮事件数据(即投篮尝试事件和篮网事件)。移动应用还可以将命令和数据发送给手腕追踪器和篮网追踪器设备。这样的命令和数据可以例如包括使设备的时钟与开始时间零同步的命令。
利用参照图14的更多细节,应用将在步骤1435处提示球员发起追踪会话,并且其将询问球员以标识她或他想要干什么,即练习一个或多个不同类型的投篮、在投篮比赛中相互比拼、或者进行实际比赛。一旦球员录入该信息,其就在步骤1440处被存储在存储器中。
应用算法然后进入由决策步骤1445指示的“监听”模式,其中它等待从手腕追踪器和篮网追踪器接收到来的消息。特别地,在决策步骤1445处,算法就是否已经接收到投篮事件或篮网事件BLE消息做出询问。如果没有接收到这样的事件消息,则算法沿着分支1450循环回到再次针对到来的事件消息的“监听”。
另一方面,如果已经由计算设备接收到事件消息,则算法继续以标识事件消息的属性。首先,在决策步骤1455处,算法就到来的事件消息是否为投篮尝试事件消息做出询问。如果到来的事件消息为投篮尝试事件消息,则算法将增加其在步骤1460处所尝试的投篮记分,并且其将在步骤1465处更新和显示移动计算设备上的更新追踪统计。附加地,在优选实施例中,投篮尝试事件消息包括关于已经发生的特定类型投篮的标识符,并且更新统计以反映实际已经尝试的特定类型投篮。
另一方面,如果到来的事件消息不是投篮尝试消息,则在决策步骤1470处,算法继续以就其是否为投篮投中事件消息做出询问。如果到来的时间消息在决策步骤1470处被确定为投篮投中事件,则算法在步骤1475处增加其投篮计数。附加地,在步骤1480处,算法检查以查看应用在之前的预定时间段(例如5s)内是否已经接收到任何投篮尝试BLE消息。如果不是,则在必要地原本将尝试投篮以便在步骤1470中已经识别投中投篮事件,但是投篮尝试事件BLE消息未被手腕追踪器生成/发送或者未被移动计算设备接收或识别的假设之下,投篮尝试计数器(步骤1460)将增量。再次,在该情形中,算法将在步骤1465处更新和显示移动计算设备上的更新追踪统计。另一方面,如果已经在之前的预定时间段内接收到投篮尝试BLE消息,则将不需要在步骤1460处使投篮尝试计数器递增,因为在步骤1455处识别投篮尝试事件之后已经如此做,并且相应地在步骤1465处统计将更新和显示。
如果在步骤1470处确定到来的事件消息不指示投篮投中事件,则算法然后在步骤1485处询问到来的事件消息是否为边缘反弹事件消息。如果到来的事件消息实际上是边缘反弹消息,则算法在步骤1480处检查以查看应用在之前的预定时间段内是否已经接收到任何投篮尝试BLE消息。如果不是,则在必要地原本将尝试投篮以便在步骤1485中已经识别边缘反弹事件,但是投篮尝试事件BLE消息未被手腕追踪器生成/发送或者未被移动计算设备接收或识别的假设之下,投篮尝试计数器(步骤1460)将增量。再次,在该情形中,算法将在步骤1465处更新和显示移动计算设备上的更新追踪统计。另一方面,如果在之前的预定时间段内已经接收到投篮尝试BLE消息,则将不需要在步骤1460处使投篮尝试计数器递增,因为将在步骤1455处识别投篮尝试事件之后已经如此做,并且统计将相应地在步骤1465处更新和显示。然而,如果在步骤1485处确定到来的事件消息不是边缘反弹事件消息,则算法循环返回到其监听模式(1445)。
最终,在更新和再显示统计(步骤1465)之后,算法在步骤1490处就锻炼例程是否已经完成做出询问。这可以基于逝去的总时间;已经发生的投篮数目(包括所发生的特定数目的不同类型投篮);投中投篮数目(包括所发生的特定数目或不同类型投篮);或某种其它标准。如果锻炼未完成,则处理返回到监听模式,即决策步骤1445。否则,应用在步骤1495处显示最终锻炼总结并且在步骤1435处返回,即其中应用等待发起球员输入。
BLE消息结构和内容
如从移动应用的总流动的紧前面的讨论清楚的,根据本发明的系统采用诸如蓝牙无线协议之类的无线信令协议的所有优势。特别地,如以上所指出的,蓝牙低能(BLE)消息协议是优选的。典型地,BLE消息内容将包括事件类型、事件的置信度水平和时间戳。然而,也就是说,由手腕追踪器发射的BLE消息将具有源和事件代码(以下描述),其不同于由篮网追踪设备发射的BLE消息中的源和事件代码,使得智能电话可以确定消息的源以及已经发生的事件类型。此外,传送介质和消息所固有的是用于所接收的传送的信号强度或功率水平,其可以被接收设备用来产生接收信号强度(RSS)指示。
更具体地,本发明的实施例使用分组化数据传送方案。图15示出本发明的一些实施例中所使用的示例性分组。如图15中所示,通过本发明的实施例中的传送和接收设备传送和接收的分组1505包括四个字段,包括前序码1510、源标识符1515、有效负荷1520和循环冗余码检查(CRC)值1525。前序码字段1510包含由传送设备发送以帮助接收设备使其自己的时钟与传送设备的时钟同步的比特流XXX。源地址字段1515包含数据YYYY,其唯一标识数据的源。在该情形中,源地址字段包含MAC标识符,其类似于用于以太网通信的MAC标识符。有效负载字段1520通常包括有效负载数据的字节长度,以及实际有效负载数据本身。在该情形中,有效负载1520包括指示例如事件是投篮尝试、投中投篮事件还是边缘反弹事件的事件标识符,以及时间戳。对于本发明的实施例而言,将在下文更详细地讨论有效负载数据1520。CRC字段1525包含由传送器和接收器中的传送控制算法创建和使用以分别核实源和有效负载字段1515和1520中的值的完整性。如果接收器中的传送控制算法确定CRC字段1525中的多项式值WWW不正确,则其丢弃BLE分组1505并且向传送器发送请求以在另一分组中再发送该信息。
对于有效负载1520,在本发明的实施例中,有效负载字段是四字节长的并且包括三个分量:ID代码1530;置信度水平1535;以及时间戳1540。有效负载字段的第一字节包含ID代码1530,其指示事件ID类型,诸如投篮尝试、边缘反弹或投中投篮。在图15中,示例性ID代码是指“2”(图15中的记号“02H”指示使用十六进制格式存储在计算机系统中的值“2”),其是用于投篮尝试的事件ID类型代码。因而,取决于本发明的特定情景和实施例所期望的特定特征,有效负载字段中的潜在事件ID类型代码的列表可以包括例如:
● 01H 用于环形缓冲器数据
● 02H 用于投篮尝试事件 (来自手腕追踪器)
● 03H 用于投中投篮事件 (来自篮网追踪器)
● 04H 用于边缘反弹事件 (来自篮网追踪器)
● 05H 用于投篮尝试事件的RSS信息(来自投篮位置追踪器)
● 0xFF 用于篮网追踪器或手腕追踪器的传感器故障。
对于有效负载字段的第一字节的高达256个可用值,本领域技术人员将认识和领会到的是,存在多种解释的空间,并且除投篮尝试、边缘反弹和投中投篮之外的其它类型事件也可以被添加到系统并且利用不同ID代码表示,而不脱离本发明的范围。例如,具有值83H(或某一其它值)的事件ID代码可能向智能电话应用指示篮网追踪器已经经历需要校正的不寻常事件或问题,诸如两个篮球变得卡在篮网中或篮网由于投中投篮而变得缠绕或边缘倾斜或由于尝试截断投篮而与球员的手部接触。
有效负载字段的第二字节包含用于检测到的事件的置信度值1535(例如数字“80”)。利用每一个分组传送置信度值准许接收设备例如检测系统的物理设定何时可能存在与特定环境或特定投篮者有关的某些问题。例如,如果投篮追踪移动应用开始接收包含低置信度值(例如50%以下)的大量分组,则这将是可能通过以下措施明显改进系统的准确度的强烈指示:1)通过调节、调整和/或再校准传感器、阈值、简档或其某种组合;或2)通过将传感器移动到篮球场上的新位置以更好地适应特定环境、特定投篮者在投篮时的运动、或者篮筐上的特定篮网或边缘的刚度。例如,尽管大多数篮网是由棉物或尼龙制成的,但是一些篮网(特别地公共球场上的篮网)是由链状金属制成的。当在由链状金属而不是尼龙或棉物制成的篮网上进行投篮时,篮网中的链条的运动可能明显不同于棉物或尼龙的运动,并且这样的不同可以通过调节和/或再校准阈值和/或选择要由篮网追踪器设备中的算法时用的不同简档来考虑到。
有效负载字段中的最后两个字节包含时间戳1540(例如4000毫秒),其指示检测到事件时相对于同步时间点的时间。时间戳是10毫秒的无符号数值,因为合格检测到的事件的时间点的缘故。在智能电话上运行的投篮追踪移动应用被配置成使所有篮网追踪器和手腕追踪器设备的时钟一旦被连接就与零同步。该时间戳然后可以由投篮追踪移动应用使用以推断投篮者投了篮外空心球、篮网与投篮位置之间的距离、以及投篮之后球的飞行时间等等,其帮助系统核实和细化用来追踪和记录投篮统计的投篮数据。
一般而言,BLE消息将以手腕追踪器然后篮网追踪器的顺序到达。然而,情况可能不总是如此。因而,投篮者(佩戴手腕追踪器)与球场(具有附接的篮网追踪器)之间的距离可以从手腕追踪器时间戳与篮网追踪器时间戳之间的不同来推断。在投篮者使用投篮追踪移动应用对系统校准之后,应用可以被配置成例如将投中投篮分类为近距离、中等距离和长距离的。
本领域技术人员将显而易见的是,在不脱离本发明的范围的情况下,可以使用除BLE之外的各种各样可替换的通信协议来将投篮尝试事件数据、投中投篮事件数据、以及边缘反弹事件数据从手腕和篮网追踪器传送到无线移动设备,包括例如比方说NFC、Wi-Fi或全尺寸蓝牙2.1。然而,在某些情况下,BLE提供以下优势:
1)其针对单个3V电池上的低电力和长操作是最优化的。
2)12字节的传送分组被视为是大的。
3)调整稍微不同,从而得到比旧版本的蓝牙更长的距离。
4)不要求通过某些智能电话和手持式设备的制造商的认证。
5)不要求通过用户的主动配对,其准许数个设备彼此配对。
此外,BLE被设计成发送源自预定义服务(由16位UUID标识)或厂商特定(VS)服务(12位UUID)的短消息中的状态改变。本发明的实施例使用3779FFF0-xxxx-7908-F351-44BF632D5D36作为VS UUID,其中对于投篮者的手腕上的传感器而言xxxx=A1A6,并且A1A7用于篮网上的传感器。消息本身还可以包含用于冗余码的事件特定代码。
依照BLE协议,手腕追踪器作为“SLEV”并且篮网追踪器作为“NET”为自身做广告。由于事件模型是SLEV → NET,所以系统可以清晰地支持多个手腕追踪器。固件版本被编码在设备信息服务(0x180A)的制造商名称串(0x2A29)中。在优选实施例中支持电池服务(0x180F),其作为百分比返回所估计的电池的剩余容量。剩余电池容量的百分比通过运行经由Nordic半导体在SDK中供应的CR-2032元胞的放电模型所测量的电压来导出。
VS服务的单独特性支持指示消息(与到智能电话的受保证递送异步)和写入命令。前者是在检测到投篮/实现或者下载加速度计缓冲器以用于分析时发射的。写入命令可以由智能电话发布给手腕和篮网追踪器以便指派事件同步时间,使LED闪烁以用于不明确的分辨率,或者配置由感测算法使用的行为、简档和阈值。
基于云的操作
在优选实施例中,移动应用还被配置成使数据与远程服务器同步。图16示出图示了依照本发明的示例性实施例的由智能电话或其它无线移动设备的CPU施行以使存储在本地存储器中的投篮统计数据与存储在远程在线服务器135(图1)中的投篮统计数据同步的步骤的高级流程图。因而,在步骤1605处,CPU确定诸如WiFi或蜂窝网络之类的数据传送信道是否可用,并且如果是,则确定是否存在因特网连接性。如果是,则CPU将在步骤1610中施行与存储在远程服务器上的数据的实时同步,并且然后在同步算法重复之前等待5毫秒(步骤1615);否则,CPU简单地在再次检查数据传送能力和因特网访问之前等待5毫秒。
通过使用户简档信息、用户锻炼和已经在手腕和篮网追踪器以及移动设备上发生的所有数据与远程服务器同步,变得可能与其它设备共享该数据。这使得球员能够以他或她的便利性而单独训练,并且球员的教练能够以他或她(即教练)的便利性而下载和审阅球员的表现。可替换地,彼此远离的球员可以经由远程投篮追踪服务器应用的数据共享能力而在投篮赛事中挑战彼此。这是投篮事件服务器应用140的附加目的。
典型地,如图1中所示,位于云137中的远程投篮追踪服务器135经由诸如蜂窝网络或WiFi/因特网之类的数据通信路径E连接到智能电话115。移动应用120还可以被配置成通过通信路径F与分离的平板计算机155共享投篮事件数据,使得平板计算机155的用户可以例如监控特定球员的投篮统计。平板计算机155的用户可以是例如坐在看台上的教练或父母,而智能电话115可以由站在篮球场的一端或附近的助理教练或训练师用手持握。
当投篮挑战正进展时,准许挑战的参与者在挑战进行的那么长时间内查看每一个其他人的数据的部分(与挑战进展相关联的部分)。显著地,参与挑战的投篮者不必同时登录到服务器上。尽管系统在球员处于同一球场的典型情况下保持追踪投篮挑战时是有用的,但是例如预期到的是,参与者甚至可以位于不同城市和时区。服务器将接收和存储与每一个投篮者相关联的信息以便使得能够实现赛事,即便投篮者不是同时投篮。
另外,基于云的操作和投篮事件服务器应用还仍然使得由手腕追踪器使用的算法、简档和阈值能够远程地调整,使得它们可以被适配于球员的特定投篮方式并且由此避免产生不可接受的高数目的误判(投篮者没有尝试投篮时的不正确投篮尝试事件)。
用于智能电话设备的用户接口
在智能电话上运行的投篮追踪应用被配置成将各种信息阵列呈现给球员,并且图17A-17C,18A和18B作为举例图示了在运行投篮追踪移动应用的智能电话上显示的一些屏幕和数据,该投篮追踪移动应用被配置成依照本发明的一些实施例操作。图17A图示了用于显示图表化投篮位置、运行针对球员的总分和统计的示例性用户接口显示屏。图17B图示了用于追踪锻炼期间所发生的投篮(例如罚球)的示例性用户接口显示屏。图17C图示了用于追踪球员的每周投篮总分统计,以及每周进展的示例性用户接口显示屏。图18A和18B分别图示了用于控制和管理球员之间的比赛投篮挑战的示例性用户接口显示屏。
投篮位置追踪
如图1中所示,该系统的优选实施例还包括至少一个投篮位置追踪器。投篮位置追踪器的目的是记录地理学上的远距离位置处的手腕事件的信号强度并且将该信号强度信息发送给智能电话。然而,基于投篮位置追踪器、智能电话以及可选地一个或多个附加的投篮位置追踪器的几何布置,智能电话可以计算手腕追踪器发射指示投篮尝试事件已经发生的BLE消息时手腕追踪器在篮球场上最可能的位置。典型地,投篮位置追踪器设备是在一端中在“混杂模式”中操作的启用蓝牙的设备,这意味着它们查找并且仅接收由手腕追踪设备发射的特定类型的事件消息(即投篮尝试事件消息)。当接收到来自手腕设备的投篮尝试事件消息时,投篮位置追踪器设备将投篮尝试事件信息封装到新的BLE消息中并且添加其自己的RSS信息,由此创建包含来自手腕追踪器的投篮尝试事件信息和来自投篮位置追踪器的RSS信息二者的投篮尝试位置消息。投篮位置追踪器然后将投篮尝试位置消息发送给智能电话,其使用投篮尝试位置信息和三角测量例程来计算投篮尝试所发生的篮球场上的位置。
图19示出篮球场的鸟瞰图,在其上存在两个篮网N1和N2以及四个投篮者S1-S4。投篮者S1在篮网N1处投篮,而投篮者S2,S3和S4在篮网N2处投篮。所有投篮者S1-S4佩戴有手腕追踪器(在图19中未示出)。两个篮网追踪设备(篮网追踪器)分别被附接到两个篮网N1和N2中的每一个。球场上还存在两个投篮位置追踪器SLT1和SLT2。装备有投篮追踪移动应用的智能电话SP1位于附接到篮网N1的篮板下方的篮球场的一端处。智能电话SP2被配置成接收(a)由投篮者S1-S4所佩戴的所有手腕传感器传送的BLE投篮尝试事件消息,(b)由篮网N1和N2传送的BLE投中投篮事件消息,以及(c)由投篮位置追踪器SLT1和SLT2创建和传送的BLE投篮位置消息。投篮位置追踪器SLT1和SLT2理想地位于半球场线附近的球场的相对侧以用于最高保真度。附加的投篮位置追踪器(在图19中未示出)也可以被添加到系统并且放置在篮球场上或附近的其它位置以便增加系统中的投篮位置计算的总精度和保真度。
如图20中所示,当投篮者S1尝试通过篮网N1投篮时,投篮尝试被投篮者S1的手腕追踪器(未示出)检测到,该追踪器发射包含被编码成指示已经发生投篮尝试的BLE消息的信号2005。投篮尝试消息被智能电话SP1、投篮位置追踪器SLT1和投篮位置追踪器SLT2接收和处理。当智能电话SP1上的投篮追踪移动应用接收到投篮尝试事件时,智能电话SP1使投篮尝试计数器递增。如果在接收到投篮尝试事件消息之后,智能电话SP1在预定时间段(例如四秒)内还没有从篮网N1接收到投中投篮事件消息,则投篮追踪移动应用将还记录投篮者S1的投篮尝试所导致的未中投篮并且相应地更新投篮者S1的投篮统计。
当投篮位置追踪器SLT1和SLT2接收到投篮尝试事件消息时,它们将各自将投篮尝试事件信息再封装到新的BLE消息中,将RSS信息添加到新消息,并且各自将新消息发送到智能电话SP1,其中它们将被智能电话SP1使用以确定在发生投篮尝试的时候投篮者S1的位置。参见图21。智能电话SP1和投篮位置追踪器SLT1和SLT2在篮球场上的物理几何放置准许智能电话SP1上的投篮追踪移动应用使用手腕追踪器和投篮位置追踪器SLT1和SLT2所提供的数据来计算投篮尝试分别相对于智能电话SP1、投篮位置追踪器SLT1和投篮位置追踪器SLT2的位置的距离概率带2110,2120和2130。投篮追踪移动应用然后分别基于智能电话SP1、投篮位置追踪器SLT1和投篮位置追踪器SLT2的这三个距离概率带2110,2120和2130的交叉来确定投篮尝试期间手腕追踪器的位置。在该情形中,所有三个距离概率带2110,2120和2130在篮球场上的区域2140处交叉,这意味着投篮者S1和手腕追踪器(未示出)在尝试投篮时必须已经位于区域2140内。
被用来确定投篮尝试期间投篮者S1的位置的示例性算法在图22中示出并且结合其所描绘的流程图来描述。如图22中所示,第一步骤(步骤2205)是初始化智能电话以标识智能电话和位置追踪器在篮球场上的位置。可替换地,智能电话和位置追踪器可以被移动到篮球场上的默认位置。在下一步骤中,运行于智能电话上的应用接收从手腕传感器的传送的手腕分组,手腕分组包括时间戳,指示所接收的信号强度的值以及对应于投篮尝试的事件代码。参见步骤2210。手腕分组被存储在智能电话上的存储器中。步骤2215。接下来,智能电话接收由SLT1传送的SLT1分组,SLT1分组包括指示SLT1何时接收到手腕分组的到达事件数据。参见步骤2220。智能电话还在步骤2225中接收从SLT2传送的SLT2分组,SLT2分组包括指示SLT2何时接收到手腕分组的到达事件数据。在智能电话上运行的应用接下来调解手腕分组上、SLT1分组和SLT2分组的时间戳以标识对应于同一投篮尝试事件的分组。参见步骤2225。基于针对手腕传感器、SLT1和SLT2所接收到的信号强度和已知的传送速度,应用计算手腕分组、SLT1分组和SLT2分组中的每一个的距离概率带(步骤2235),并且计算这三个距离概率带的交叉。最终,在步骤2245中,应用记录这三个带的交叉以作为投篮尝试的起始。
图23和24示出设备的不同物理布置以确定在投篮尝试期间手腕追踪设备在篮球场上的位置。代替使用智能电话和两个投篮位置追踪器,在图23和24中示出的布置使用智能电话SP2和单个投篮位置追踪器SLT4来收集计算投篮尝试期间手腕追踪器的位置所需要的信息。尽管不像图19-21中所示出和描述的那样精确,但是图23和24中的投篮位置追踪器SLT4和智能电话SP2的布置也可以提供充足的投篮事件位置数据以通过采用以下事实的优势来标识手腕追踪器的位置:两个距离概率带的交叉的两个区域中的一个将可能位于篮球场的边界之外。参加图24。在该示例中,本发明的实施例假定投篮者S5在投篮尝试期间必须已经位于区域2440中,因为由两个概率带2410和2420的交叉所限定的另一区域(即区域2430)整个位于篮球场的边界之外。因而,区域2430可以作为合法投篮尝试的可能位置而被摒弃。因为该布置不要求第二投篮位置追踪器,所以设定起来较不昂贵并且因此对于家庭、后院或车道篮球场,以及初中和高中篮球队而言可能更可行。然而,在图19-21中示出和描述的要求两个或更多投篮位置追踪器的布置对于由较大的更好资助的组织而言可能更可行,比如大学和专业篮球队。
另外的实施例
在图25,26,27,28A-28F和29A-29C中图示了根据本发明的投篮追踪系统的另一实施例的操作算法。在该实施例中,标识投篮尝试事件(通过手腕追踪器)相比基于满足或超出预定义的、单数值阈值而言更广泛地基于将手臂和手腕运动随时间的给定序列与预建立的球员简档匹配,尽管某些阈值仍被用作在数据上施行另外的分支之前的预合格或“网关”值,如以下更全面解释的。此外,在给定与本发明的之前所述实施例相比利用根据本发明的该实施例的追踪系统处理的数据量增加的情况下,使用动态大小的标准阵列缓冲器而不是简单的环形缓冲器。附加地,本发明的该实施例不利用气压传感器来标识手腕追踪器的位置。
一般而言,在图25中示出用于手腕追踪器的操作流程图,并且图25中所示的算法以每秒100周期的速率执行。在步骤2505处,手腕追踪器CPU首先读取存储在手腕追踪器的缓冲器中的命令值以确定球员是否在训练设备(即建立用于他或她的各种投篮类型的简档),或者球员是否在“实况”操作模式中使用系统以实际标识和保持追踪各种投篮尝试事件。命令值可以通过球员按压按钮或移动手腕追踪器上的开关来设置,或者其可以经由在智能电话/计算设备上实现的输入以及从智能电话发送到手腕追踪器的对应BLE消息来设置。在步骤2510处,CPU检查命令的值。如果值指示球员在训练设备,则手腕追踪器进入简档训练模式(步骤2515)并且执行以下所述的投篮训练算法;如果值指示球员在“正常”操作模式中使用系统,则手腕追踪器进入操作模式(2520)以执行以下甚至进一步描述的投篮尝试标识算法。
如图26中所示,当手腕追踪器接收到BLE消息2605时,其处理该消息(步骤2610)以标识其内容。CPU然后检查(步骤2615)以查看BLE消息是否为进入简档训练模式的命令,并且如果是,则CPU存储训练命令指示符(2620)并相应地继续以执行简档训练算法。
否则,如果到来的BLE消息不是进入简档训练模式的命令,则CPU检查(步骤2625)以查看BLE消息是否为简档训练投篮实际已经发生的指示符。(如以下进一步所指示的,简档训练投篮已经发生的BLE消息可以通过某一人按压应用上的“投篮发生”按钮或者通过由篮网追踪器标识投篮投中或边缘反弹事件而被发送。(还可能的是,球员按压自己的手腕追踪器上的按钮以指示投篮已经发生,并且BLE消息在该事件中不需要被手腕追踪器发送或接收/处理)。如果BLE消息是训练投篮发生指示符,则CPU存储训练投篮发生值(步骤2630)并且相应地继续以处理已经累积在手腕追踪器中的数据。
如果到来的BLE不是进入简档训练模式的命令或简档训练投篮实际已经发生的指示符,则命令简单地被CPU存储(步骤2635)。在这方面,应当指出的是,命令在所有三个情形中存储(步骤2620,2630和2635),因为多种不同类型的消息可以被手腕追踪器“拾取”,并且与任何给定消息相关联的信息需要被存储使得其可用于随后可能使用的不管什么目的。
当手腕追踪器处于简档训练模式中时,其CPU根据图27和28A-28F中所示的流程图处理消息和数据,其中图27中所示的流程图比图28A-28F中所示的流程图更高级,并且其中在图27中所示的步骤表示由手腕追踪器和(在更大程度上)在智能电话/移动计算设备上执行的投篮追踪应用二者采取的动作。另一方面,在图28A-28F中示出的算法将在手腕追踪器上与图27中所示出的算法共同执行。
如图27中所示,响应于由应用发送的BLE消息2701,手腕追踪器CPU首先在步骤2702处检索之前已经存储在手腕追踪器上的球员投篮数据(PSD)设置。PSD设置包括以下信息,诸如球员的姓名、球员的总简档中的不同类型投篮的名称等。
接下来,在步骤2703处,球员使用应用来标识她或他想要训练手腕追踪器标识的特定类型投篮,并且应用将对应BLE消息2704发送给手腕追踪器设备。BLE消息2704被手腕追踪器接收(布置2705),并且手腕追踪器准备好开始针对手腕追踪器将被训练识别的特定类型投篮的五次投篮训练序列或循环(分别由点2706a和2706b指示训练循环的开始点和结束点)。(被用来训练手腕追踪器标识给定类型的投篮的特定投篮数目可以多于或少于五次,尽管使用更多投篮开发的简档相比使用较少投篮开发的简档往往可能更精确和真实地表示)。
接下来,应用将BLE消息2707发送给手腕追踪器,该消息告诉手腕追踪器开始将加速度和角度方位数据记录到其缓冲器(步骤2708)以用于即将发生的训练投篮。附加地,应用将BLE消息2709发送给网篮追踪器,该消息告诉网篮追踪器开始“观看”(步骤2710)网篮事件(即投篮投中事件或边缘反弹事件),其可以被用作投篮发生指示符。应用然后使智能电话或其它移动计算设备为球员提供倒数计时以及然后投篮命令(2711),在该点球员进行投篮。随后,如果篮网追踪器标识篮网事件,则其将BLE消息2712发送给应用,该消息告诉应用投篮已经发生;可替换地,球员或其他人可以按压智能电话上的按钮(步骤2713),从而指示投篮已经发生。任一事件将足以指示投篮已经发生(2714),并且应用将对应BLE消息2715发送给手腕追踪器,该消息告诉手腕追踪器投篮已经发生使得手腕追踪器可以停止记录数据(步骤2716)。
如基于其自己执行训练投篮循环2706a/2706b而确定的,应用然后在步骤2717处检查特定类型的五次训练投篮是否已经发生。如果否,则处理返回到训练投篮循环2706a/2706b的开头以用于使球员进行另一投篮并且使手腕追踪器记录更多数据。另一方面,如果五次投篮被应用评估为已经发生,则训练投篮循环终止。
在该点处,算法在步骤2718处实现检查以确保已经实际检测到五次投篮,并且手腕追踪器缓冲器已经针对五次分离的投篮填充。如果在步骤2719处确定五次投篮尚未完全被手腕追踪器实际感测/检测到并且数据缓冲器相应地尚未被填充,则基于训练会话不投中而摒弃已经累积的任何数据,并且算法返回到步骤2705以进行另一五次投篮训练循环。另一方面,如果已经检测到用于特定类型投篮的五次训练投篮并且已经完全记录用于这五次投篮的数据,则训练阶段被视为是完整的并且处理停止。
另一方面,图28A-28F详细图示了任何具体地针对球员可能进行的各种类型投篮中的每一个构建简档数据,在已经针对特定类型投篮发生的一组训练投篮中评估五次投篮中的每一个。其大程度上基于使用球员的手臂/手腕的加速度的三个时间点运动平均来构造“平滑化”简档,并且从平均值标识实际值的每一个时间点处的导数的平均值,使得可以在随后确定球员运动的实际序列如何紧密地匹配简档(要与标识实际投篮结合地使用)。
此外,应当指出的是,在图28A-28F和29A-29C中示出的算法中,并且相比于上述实施例,手腕追踪器加速度计的X轴的方位沿着球员的前臂并且在指向球员的指尖的方向上为正。加速度计的Y轴垂直于X轴并且相对于加速度计横向延伸,使得由X和Y轴限定的XY平面与加速度计的平面重合。最终,Z轴垂直于XY平面/加速度计平面延伸,即进入并穿出球员的手臂的平面。
作为初始步骤2801,算法检查以确保手腕追踪器CPU将数据记录到各个缓冲器位置中。如果不是如此,则CPU的数据记录功能被初始化(步骤2802)为“将其唤醒”;“全局”缓冲器被清空(步骤2803);并且投篮组缓冲器被清空(步骤2804)。(术语“全局”在本文中用来指示如此指定的数据应用到或已经从所有五次测试投篮计算,这与单独的投篮相反)。换言之,相对于全局缓冲器,沿着X,Y和Z轴所感测到的运动平均加速度值GAx,GAy和GAz分别被设置为零,如沿着X,Y和Z轴的这些所感测到的加速度值的运动平均重力分量GGx,GGy和GGz。此外,运动平均四元值GQ1,GQ2,GQ3和GQ4都被设置为零,如所感测到的X,Y和Z轴加速度的平均导数值;所感测到的加速度值的X,Y和Z轴重力分量的平均导数值;以及四元数据的平均导数值。对于投篮组缓冲器(术语“组”在此处被用来指特定类型的训练投篮的组),沿着X,Y和Z轴实际(即非运动平均)感测到的加速度值Ax,Ay和Az分别被设定为零,如沿着X,Y和Z轴的那些感测到的加速度值的实际重力分量Gx,Gy和Gz。实际四元值Q1,Q2,Q3和Q4也都被设置为零。此外,在篮网事件BLE消息(2712,图27)被发送时并且在某人按压智能电话上的按钮(布置21713,图27)以指示训练投篮已经发生时设置为真(值=1)的训练投篮标识符(TSI)旗标将被初始化为假(值=0)。
接下来,CPU在步骤2805处读取被手腕追踪器加速度计输出的所感测到的X,Y和Z轴加速度值Ax',Ay'和Az',并且其读取(步骤2806)并在对应缓冲器位置中存储(步骤2807)用于特定时刻的四元值Q1,Q2,Q3和Q4。如以上所解释的,四元数据标识手腕追踪器加速度计相对于地球的X,Y和Z轴的旋转/角度方位;使用该信息,算法能够计算沿着三个轴中的每一个所测量或感测到的加速度的重力分量Gx,Gy和Gz(步骤2808),并且这些值在步骤2809处被存储在对应缓冲器位置中。然后,算法计算(步骤2810)和在对应缓冲器位置中存储(2811)沿着三个轴中的每一个的球员的手腕的实际加速度,即Ax,Ay和Az,这是通过从沿着三个轴中的每一个所感测或测量的加速度中减去沿着三个轴中的每一个的加速度的重力分量而实现的。换言之,算法如下计算实际加速度:
Ax = Ax' - Gx
Ay = Ay' - Gy
Az = Az' - Gz。
附加地,在步骤2812处,算法计算球员的前臂(即传感器的X轴的倾斜角)相对于水平的倾斜角Thetax,并且算法计算加速度计的X-Y平面相比于水平的倾斜角Thetaxy,并且这些值也被存储在对应缓冲器位置中(步骤2813)。更具体地,这些值如下计算:
        
(Gx在以上第一等式中直接被除以1000,如以上所指出的,这是因为在所公开的实施例中使用的特定加速度计输出使用缩放的加速度值,其中1g=1000)。
随后,在步骤2814处,算法检查以查看Thetax和Thetaxy各自在特定时刻是否大于10°,其与球员的手臂抬起到水平以上的投篮位置中相一致。如果它们大于10°,则算法将记录旗标设置为真(步骤2815),该旗标指示数据被记录,并且数据(即,沿着三个角速度计轴中的每一个的实际加速度值、沿着三个轴的重力分量、四元值以及TSI的当前值)在步骤2816处被记录到适当的缓冲器位置。算法然后循环回到开头并在之后百分之一秒再次执行,并且只要球员的手臂抬起到潜在投篮位置中,数据就将累积在缓冲器中。另一方面,如果球员的手臂放下来并且Thetax和Thetaxy中的任一个下降至小于10°,则算法将通过流程图连接器FC1的方式继续到图28的步骤2817。
图28B的步骤2817可以在球员曾经将她或他的手臂抬起到潜在投篮位置中之前或球员已经投中投篮并将他或她的手臂放下来之后到达。因此,在步骤2817中,算法检查以查看缓冲器计数(即,次数数据的数目已经被写入到缓冲器,其中每一个连续缓冲器计数对应于在之前的缓冲器计数后面的百分之一秒的时间点)是否大于100,其对应于已经被写入到缓冲器的数据的二分之一值。如果缓冲器计数小于100,则步骤2817会在球员将他或她的手臂抬得足够高以到达投篮位置之前达到,或者球员仅在不足够长以使投篮实际发生的简短时间段内(例如,如“虚假投篮动作”中那样)将他或她的手臂抬到潜在投篮角度之后达到。(已经在经验上确定的是,球员投篮要求至少1秒,其对应于算法以每秒100个周期执行时的100个缓冲器计数)。在该情形中,投篮组缓冲器被清空(步骤2818),记录旗标被设置为假(步骤2819),并且算法循环回到开头并在之后的百分之一秒再次执行。因而,因为并不是被写入到缓冲器的所有加速度计数据都实际被保存以用于随后处理,所以实际被写入和保存的数据可以被称为加速度计生成的数据的“合格部分”。
另一方面,如果缓冲器计数在步骤2817处超出100(即多于二分之一的数据已经被记录),则算法在数据的时间扩展内评估其已经在何处收集,其需要开始分析数据以找到测试投篮已经实际发生的点(由总加速度的“加速度时间导数”或幅度的最大值指示)。因此,算法首先查找投篮指示符TSI已经存在的时间点(值1),或者如果初始不存在投篮指示符,则球员的手臂以“竖起”运动抬起以开始投篮的时间点。这是要确保随后的数据分析考虑到数据的适当部分。相应地,稍微不同地取决于TSI旗标何时/如何被设置为1,算法拾取其开始点(即,缓冲器计数或序列性的时间增量序号或索引)以用于其搜索。
更具体地,一旦缓冲器计数值已经超出100(并且在球员的手臂或加速度计平面角度已经变回小于10°之后),算法在步骤2820处确定是否发生投篮的同时发生之时(TSI值1),如球员或其他人按压智能电话/计算设备上或手腕追踪器上的按钮以指示此的情形(即步骤2713,图27)那样。如果在步骤2820中确定TSI尚未被设置(TSI不等于1),则算法接下来通过流程表连接器FC3的方式继续到图28C的步骤2821,其中它等待预定时间段,例如两秒,并且然后在步骤2822处再次检查以确定是否存在发生训练投篮的指示(TS值1),如已经检测到篮网事件并且已经发送篮网事件BLE消息的情形(即步骤2712,图27)中那样。如果在步骤2822处确定训练投篮指示符已经被设置(TSI值为1),则算法继续到图28C的步骤2829(在下文更详细讨论)。否则,算法通过流程图连接器FC4返回到图28B的步骤2818,其中投篮组缓冲器被清空(步骤2818),记录旗标被设置为假(步骤2819),并且处理结束,因为算法完成。算法将再次(在图28A的步骤2801处开始)在之后的百分之一秒执行。
在图28B上继续,如果在步骤2820处确定训练投篮指示符被设置(TSI值1),则假定将相当容易地找到其中投篮在一秒时间窗口内发生的实际缓冲器或索引值(即特定序列性的时间增量序号)。因此,算法执行分别由图28中的2824A和2824B的开始和结束点限定的索引标识循环(第一投篮定位分支)。当该循环开始时(在2824A处),在其处检验数据以得到最大加速度导数的索引(时间增量)初始被设置为0,即已经被存储在手腕追踪器缓冲器中的数据的窗口值的最开始。算法然后检查在该时间点处是否存在训练投篮指示符(步骤2825),即用于特定时间点的TSI是否等于1。如果训练投篮指示符不等于1,则算法确定其是否为缓冲器的结尾,即其是否已经达到数据在缓冲器中存在的最后可能的索引(步骤2826)。如果在步骤2826处确定答案为“否”(即,存在数据在缓冲器中存在的更多索引序号/时间点),则算法将索引值增量一并且再次检查(步骤2825)用于该下一增量时间点的训练投篮索引值是否为1。
一旦算法找到TSI值为1(即步骤2825处的答案为“是”)的其第一增量时间点(即索引序号),算法就将在步骤2827处开始查找最大加速度导数的索引值设置为该索引值(即其中TSI首先变为1)(“startindex=index”),并且推出循环的索引增量部分。算法然后在步骤2828处将开始查找最大加速度导数的时间点“重置”为早前的一秒(“startindex=index-100”),推出投篮定位分支(1)(步骤2824B),并且然后通过流程图连接器FC2的方式继续到图28D的步骤2835。图28D的细节将在下文讨论。
再次返回到图28C,当系统在步骤2821和2822中确定TSI变为1已经稍微延迟,则算法接下来查找在Z方向上测量的加速度的重力分量(Gz)最小的时间点并且将最大加速度导数搜索开始点设置为三秒之前。更特别地,算法定位球被“竖起”到头顶并且准备好投篮的时间点,并且然后将搜索开始点设置为在时间上的三秒之前。(在这方面,应当回忆起,在加速度计平行于地面的情况下,Gz将在球员的手臂完美地保持为水平的时候具有最大值1000;其(Gz)将在球员的前臂直向上指向时降低为0;并且将在球员的手臂运动通过竖直并朝向球员的头部的时候变为负,最小可能值为-1000,其中手掌方位向上)。
因而,在步骤2829处,Gz的最小值被初始化为其最大可能值(minGz=1000),并且执行分别具有开始点和结束点2830B和2830B的索引标识循环。当该循环开始时,检查最大加速度导数的数据的索引(时间增量序号)在步骤2830A处初始被设置为0,即已经被存储在手腕追踪器缓冲器中的数据的窗口值的最开始。算法然后在步骤2831处检查用于特定时间点的沿着Z轴的加速度的重力分量Gz是否小于之前设置的最小Gz的值。如果不是,则算法在步骤2832处检查以查看其是否已经达到数据在缓冲器中存在的最后可能的索引序号。如果答案为“否”(即存在数据在缓冲器中存在的多个索引序号/时间点),则算法通过一增量索引值并且再次检查(步骤2831)以查看用于给定时间点的接下来的Gz的值是否小于之前设置的最小Gz的值。另一方面,如果用于给定时间点的Gz的值在步骤2831处被确定为小于之前设置的最小Gz的值,则在步骤2832处Gz的最小值被重置为等于Gz以用于该时间增量(minGz=Gz)并且索引开始索引在步骤2833处被设置为索引值以用于该特定时间增量(startindex=index)。步骤2830A到2830B之间的步骤在下文被称为第二投篮定位分支。
算法然后在步骤2832处再次检查以查看其是否已经达到数据在缓冲器中存在的最后可能的索引序号。如果答案为“否”(即仍存在数据在缓冲器中存在的更多索引序号/时间点),则算法通过一增量索引值并且再次检查(步骤2831)以查看接下来的Gz值是否小于之前设置的最小Gz的值。以此方式,算法能够定位Gz的实际最小值所发生的时间点,假定对应于球员在投篮之前“竖起”球。然而,如果步骤2831中的答案为“是”,则算法退出循环的索引增量部分;在步骤2834处将开始查找最大加速度导数的时间点“重置”为三秒之前(startindex=index-300);退出投篮定位循环(步骤2830B);并且处理通过流程图连接器FC2的方式在图28D的步骤2835处继续。图28D的细节在下文立即讨论。
在图28D的步骤2835处开始,算法继续寻找对于在投篮的五次投篮组内处理的特定投篮发生最大加速度变化率的时间点(和对应索引值),并且其然后设置在其之上处理数据的0.6s窗口,其以最大加速度变化率的该时间点为中心。算法查找该特定窗口,其以最大加速度变化率的点为中心,因为最大加速度变化率的点经是球员的手臂投出球或者球刚刚离开球员的手的时间点。
因而,在图28D的步骤2835处,加速度变化率有关的值通过设置等于0的加速度变化率值(加速度变化率=0)并且通过设置等于0的最大加速度变化率值(最大加速度变化率=0)来初始化。算法然后开始寻找最大加速度变化率循环,其以通过图28D中的步骤(第一投篮定位分支)或图28C中的步骤(第二投篮定位分支)标识的搜索开始索引值开始,如以上所解释的。以图28D的开始点和结束点2836A和2836B为界的最大加速度变化率寻找循环寻找最大加速度变化率的点。特别地,在步骤2837处,算法针对给定时间点如下计算加速度变化率:
        
其中Ax,Ay和Az是针对给定索引值i(即特定时间点)沿着X,Y和Z轴的加速度值,其中以i等于之前即刻确定的开始索引值开始。
在步骤2838处,算法检查以查看针对给定时间点的加速度变化率值是否大于之前设置的最大加速度变化率值。如果不是,则算法在步骤2839处检查以查看其是否已经到达数据存在于缓冲器中的最后可能的索引序号。如果答案为“否”(即,存在数据存在于缓冲器中的更多索引序号/时间点),则算法通过一增量索引值并且再次检查(步骤2838)以查看加速度变化率的下一值是否大于之前设置的最大加速度变化率的值。
另一方面,如果针对给定时间点的加速度变化率的值在步骤2838处被确定为大于之前设置的最大加速度变化率的值,则最大加速度变化率值在步骤2840处被重置成等于针对该时间增量的加速度变化率值,并且最大加速度变化率值所出现的索引在步骤2841处被重置成等于然后当前的索引值(最大加速度变化率索引=索引)。附加地,在步骤2842处,算法将开始索引值重置为之前0.3s的时间点,其中开始索引值之前被确定以便标识算法在何处应当开始搜索最大加速度变化率值,如以上所解释的。(用于这样做的基础在于以下事实:以最大加速度变化率所发生的时刻为中心的0.6s时间窗口提供在随后对比其比较到来的“实况”数据的充足数据“窗口”以标识投篮尝试事件)。
算法然后再次在步骤2839处检查以查看其是否已经达到数据存在于缓冲器中的最后可能的索引序号。如果答案为“否”(即,仍存在数据存在于缓冲器中的更多索引序号/时间点),则算法通过一增量索引值并且再次检查(步骤2838)以查看加速度变化率的下一值是否大于之前设置的最大加速度变化率的值。(以此方式,算法能够定位实际最大加速度变化率值所发生的时间点)。然而,如果答案为“是”,则算法退出循环的索引增量部分,并且其退出最大加速度变化率寻找循环(结束点2836B)。在其之上处理数据以构建投篮简档的0.6s窗口的开始现在将已经被设置。
接下来,算法通过流程图连接器FC5的方式继续到图28E的步骤2843,其中算法通过以此方式将60索引计数(即0.6s)加到已经被设置(实际上是重置)的开始索引值来设置在其之上处理数据的0.6s窗口的结束。换言之,在步骤2843处,算法是指结束索引=开始索引+60。如以上所指出的,投篮简档是基于球员的手臂/手腕的加速度的三个时间点运动平均而构建的。对于被追踪的每一个参数(沿着X,Y和Z轴中的每一个的加速度;其重力分量;以及四元数据),通过对给定时间增量的参数值与紧前面和紧后面的时间增量的参数值进行平均来计算三个时间点运动平均。附加地,因为随后分析将数据从给定训练投篮组中的五次投篮中的每一个序列地“折叠”成之前计算(或对于第一投篮,之前设为零)的运动平均,所以变得重要的是结合数据缓冲器中的值来保持追踪组序号(表示所进行的训练投篮的序列内的投篮序号(例如1-5))以及标识0.6s窗口中的哪个特定时间点被考虑的序列号(从0-59的范围)。
因而,在总过程流中的该点处并且使用另一循环,算法在沿着0.6s窗口的跨度的每一个时间点处针对三个加速度值中的每一个;针对三个重力分量值中的每一个;以及针对四个四元值中的每一个计算三个点运动平均,该窗口以如上所确定的具有开始索引值的时间点开始。然而,在计算运动平均之前,原始值被拷贝到用于投篮的临时或保持缓冲器中,这是由于原本的数据将随着平均过程的进行而被写入并且否则将丢失,平均过程依赖于来自之前的时间增量的数据来计算给定时间增量处的平均。
临时缓冲器是二维阵列,这意味着其追踪组序号(即,五次投篮训练序列中的投篮序号)以及索引值二者,因为临时值将在随后被用来计算如下所解释的偏差,并且必要的是在如此做的时候根据其对应投篮序号来保持追踪或“分组”参数值。另一方面,因为一旦运动平均缓冲器已经被填充,运动平均值就被“折叠成”全局运动平均值,如以下所解释的,并且因为它们不被“携带”到过程的进一步中,因此仅必要的是将实际参数值存储于一维阵列中而不是二维阵列中。
此外,为了避免调用未定义或不存在的值,每一个临时缓冲器和运动平均缓冲器的初始值在执行循环之前就被填充,其中可以被称为预测、“待发”步骤。因而,在图28E的步骤2846'处,临时投篮缓冲器的初始值按照如下填充(其中T指示“临时”):
TAx[group][0] = Ax[startindex]
TAy[group][0] = Ay[startindex]
TAz[group][0] = Az[startindex]
TGx[group][0] = Gx[startindex]
TGy[group][0] = Gy[startindex]
TGz[group][0] = Gz[startindex]
TQl[group][0] = Ql[startindex]
TQ2[group][0] = Q2[startindex]
TQ3[group][0] = Q3[startindex]
TQ4[group][0] = Q4[startindex]。
附加地,在步骤2847'处,用于三个点运动平均缓冲器的初始值按照如下填充:
Ax[startindex] = (TAx[group][startindex-1] + Ax[startindex] + Ax[startindex +1]) / 3
Ay[startindex] = (TAy[group][startindex-1] + Ay[startindex] + Ay[startindex +1]) / 3
Az[startindex] = (TAz[group][startindex-1] + Az[startindex] + Az[startindex +1]) / 3
Gx[startindex] = (TGx[group][startindex-1] + Gx[startindex] + Gx[startindex +1]) / 3
Gy[startindex] = (TGy[group][startindex-1] + Gy[startindex] + Gy[startindex +1]) / 3
Gz[startindex] = (TGz[group][startindex-1] + Gz[startindex] + Gz[startindex +1]) / 3
Q1[startindex] = (TQ1[group][startindex-1] + Q1[startindex] + Q1[startindex +1]) / 3
Q2[startindex] = (TQ2[group][startindex-1] + Q2[startindex] + Q2[startindex +1]) / 3
Q3[startindex] = (TQ3[group][startindex-1] + Q3[startindex] + Q3[startindex +1]) / 3
Q4[startindex] = (TQ4[group][startindex-1] + Q4[startindex] + Q4[startindex +1]) / 3。
一旦临时缓冲器和三个点运动平均缓冲器的初始值已经在“待发”步骤中如此填充,算法就执行循环(开始点2845a,其中开始索引值等于(开始索引+1))以分别按照如下填充和计算/填充临时值缓冲器和运动平均缓冲器中的其余值:
TAx[group][index-startindex] = Ax[index]
TAy[group][index-startindex] = Ay[index]
TAz[group][index-startindex] = Az[index]
TGx[group][index-startindex] = Gx[index]
TGy[group][index-startindex] = Gy[index]
TGz[group][index-startindex] = Gz[index]
TQl[group][index-startindex] = Ql[index]
TQ2[group][index-startindex] = Q2[index]
TQ3[group][index-startindex] = Q3[index]
TQ4[group][index-startindex] = Q4[index],
(步骤2846),以及
Ax[index] = (TAx[group][index-startindex-1] + Ax[index] + Ax[index+1]) / 3 Ay[index] = (TAy[group][index-startindex-1] + Ay[index] + Ay[index+1]) / 3 Az[index] = TAz[group][index-startindex-1]   +  Az[index]    +   Az[index+1])  /  3
Gx[index] = (TGx[group][index-startindex-1] + Gx[index] + Gx[index+1]) / 3 Gy[index] = (TGy[group][index-startindex-1] + Gy[index] + Gy[index+1]) / 3 Gz[index] = (TGz[group][index-startindex-1] + Gz[index] + Gz[index+1]) / 3 Q1[index] = (TQ1[group][index-startindex-1] + Q1[index] + Q1[index+1]) / 3 Q2[index] = (TQ2[group][index-startindex-1] + Q2[index] + Q2[index+1]) / 3 Q3[index] = (TQ3[group][index-startindex-1] + Q3[index] + Q3[index+1]) / 3 Q4[index] =    (TQ4[group][index-startindex-1]   +  Q4[index]   +   Q4[index+1])  /  3
(步骤2847),其中“index”是所考虑的时间增量的实际序列号,其从CPU开始记录数据的时间点开始;并且“index-startindex”的不同值(从0-59的范围)指示在考虑0.6s窗口时值将定位于的地方。这有效地用作低通过滤器并且对0.6s简档窗口内的数据进行平滑。
在运动平均缓冲器值已经被计算并用来替代缓冲器中的“重置”参数数据之后,算法针对0.6s窗口中的每一个时间点计算参数的全局运动平均值,该全局值表示窗口中的每一个特定时间点处的每一个参数的所有五次训练投篮之上的平均。附加地,代替于针对所有五次训练投篮相加窗口内的给定时间点处的特定参数值以及然后除以五,算法以第一训练投篮的三个点运动平均数据开始,计算全局运动平均(其将等于来自第一次计算全局运动平均值的第一训练投篮的运动平均值),并且然后在算法继续处理来自所有五次训练投篮的数据时将运动平均数据从下一训练投篮“折叠到”全局运动平均。换言之,算法采取之前计算的全局值;通过与之前的组序号(其得到在之前计算中实际值的求和将在给点如何)相乘对其进行“去平均”;在下一(即当前被处理的)值中相加;并且然后除以当前组序号以得到“经更新的”全局平均值,其中当前参数值被“折叠成”全局平均。
因而,算法进入分别具有开始点和结束点2848a和2848b的循环,其中随着算法连续地处理来自组内的五次训练投篮中的每一个的数据计算/更新全局运动平均。此外,因为全局运动平均阵列将像对比其将比较到来的“实况”数据的0.6s宽模板那样在随后被使用,并且该模板将沿着到来的“实况”数据随着时间不断“运动”,有用的是提供全局运动平均值,其中索引范围从0-59以在0.6s窗口内序列地指示每一个值所位于的地方(对比于以索引来“标记”每一个值,该索引表示在加速度计已经记录的数据整体内值所位于的地方)。因此,全局运动平均值按照如下来计算:
GAx[index] = (GAx[index] * (group-1) + Ax[index + startindex]) / group
GAy[index] = (GAy[index] * (group-1) + Ay[index + startindex]) / group
GAz[index] = (GAz[index] * (group-1) + Az[index + startindex]) / group
GGx[index] = (GGx[index] * (group-1) + Gx[index + startindex]) / group
GGy[index] = (GGy[index] * (group-1) + Gy[index + startindex]) / group
GGz[index] = (GGz[index] * (group-1) + Gz[index + startindex]) / group
GQ1[index] = (GQ1[index] * (group-1) + Q1[index + startindex]) / group
GQ2index] = (GQ2[index] * (group-1) + Q2[index + startindex]) / group
GQ3[index] = (GQ3[index] * (group-1) + Q3[index + startindex]) / group
GQ4[index] = (GQ4[index] * (group-1) + Q4[index + startindex]) / group。
类似地,在步骤2849处通过将每一个训练投篮的索引位置值(范围从0-59)“折叠成”之前计算的平均最大加速度变化率索引值来计算其中跨所有五次训练投篮发生最大加速度变化率值的0.6s窗口内的平均位置,即:
avgMaxJerkIndex= (avgMaxJerkIndex * (group) + maxJerk ) / (group+1)。
然后在步骤2850处使组序号(即所处理的训练投篮的序号)增量,并且诶算法通过流程图连接器FC6的方式继续到图28F的步骤2851,其中它确定是否已经处理所有五次训练投篮,即在图28E的步骤2850处增量时组的值是否已经达到5。如果算法尚未处理所有五次训练投篮,则如上所述的数据处理步骤针对下一训练投篮重复。
另一方面,如果在图28F的步骤2851中确定算法已经完成所有五次训练投篮的数据的处理,则其继续以创建平均偏差值的阵列,其反映每一次训练投篮内的运动随着投篮如何一致,由此提供每一个数据点的置信度(例如误差棒)“窗口”,其将被用来评估在搜索实际投篮时来自“实况”运动事件的数据样本与基于训练投篮简档如何紧密匹配。此外,因为阵列仅应用于0.6s窗口内的60个数据点,则阵列的索引值从0-59。为了生成该阵列,算法执行嵌套循环对,其中1)外循环分别具有开始点和结束点2852a和2852b,并且从投篮组序号1到投篮组序号4;以及2)内循环分别具有开始点和结束点2853a和2853b,并且从索引值0到索引值59。因而,如上所解释的“折叠成”序列数据,算法计算基于加速度计的参数中的每一个的偏差值并且填充偏差缓冲器阵列,其中使用全局平均值和具体测量的值(即如以上所阐明的临时缓冲器阵列中所保持的信息)之间的不同的绝对值,参照如下(步骤2854):
DevAx[index] = (DevAx[index] * (group-1) + |GAx[index] - TAx[group-1][index]|) / group
DevAy[index] = (DevAy[index] * (group-1) + |GAy[index] - TAy[group-1][index]|) / group
DevAz[index] = (DevAz[index] * (group-1) + |GAz[index] - TAz[group-1][index]|) / group
DevGx[index] = (DevGx[index] * (group-1) + |GGx[index] - TGx[group-1][index]|) / group
DevGy[index] = (DevGy[index] * (group-1) + |GGy[index] - TGy[group-1][index]|) / group
DevGz[index] = (DevGz[index] * (group-1) + |GGz[index] - TGz[group-1][index]|) / group
DevQ1[index] = (DevQ1[index] * (group-1) + |GQ1[index] – TQ1[group-1][index]|) / group
DevQ2[index] = (DevQ2[index] * (group-1) + |GQ2[index] – TQ2[group-1][index]|) / group
DevQ3[index] = (DevQ3[index] * (group-1) + |GQ3[index] – TQ3[group-1][index]|) / group
DevQ4[index] = (DevQ4[index] * (group-1) + |GQ4[index] – TQ4[group-1][index]|) / group。
最终,算法使用如上所述那样确定的全局运动平均值和偏差值来针对给定类型的投篮构建球员投篮数据(PSD)阵列,以及avgMaxJerkIndex。因而,通过使用“新”索引值来标识数据所涉及的特定类型投篮,算法在步骤2855处按照如下来填充PSD阵列:
PSD_Ax[new] = GAx
PSD_Ay[new] = GAy
PSD_Az[new] = GAz
PSD_Gx[new] = GGx
PSD_Gy[new] = GGy
PSD_Gz[new] = GGz
PSD_Q1[new] = GQ1
PSD_Q2[new] = GQ2
PSD_Q3[new] = GQ3
PSD_Q4[new] = GQ4
PSD_DevAx[new] = DevAx
PSD_DevAy[new] = DevAy
PSD_DevAz[new] = DevAz
PSD_DevGx[new] = DevGx
PSD_DevGy[new] = DevGy
PSD_DevGz[new] = DevGz
PSD_MaxJerkIndew[new] = avgMaxJerkIndex。
算法然后在步骤2856处清空临时五次投篮阵列缓冲器(使得它们针对要被训练的其它类型投篮而被初始化为值0)并且在步骤2857处将训练旗标设置为假(值=0)以指示手腕追踪器不处于投篮训练模式。在该点处,算法通过流程图连接器FC7的方式返回到图28B的步骤2819。
当针对球员可以做出的所有各种类型投篮完成训练时,手腕追踪器能够根据图29A-29C中所示的算法来标识投篮尝试事件。一般而言,被称为“个人投篮算法”的该算法将在手腕追踪器处于其中将或可能发生实际投篮的“实况”或“投篮”模式的整个时间循环,例如在投篮练习或实际比赛期间。附加地,算法“切断”指示已经发生投篮的同一指标在训练手腕追踪器时的使用,即球员的手臂已经在多于一秒内抬起到水平以上大于10°,如加速度计的X-Y平面。
因而,如图29A中所示,投篮算法的执行中的初始步骤,具有如上所定义的值的全局运动阵列缓冲器,并且包含X,Y和Z加速度值的投篮组阵列缓冲器;X,Y和Z重力分量;以及如由手腕追踪器加速度计输出的Q1,Q2,Q3和Q4四元值在步骤2901和2902处被清空(即值被设置为0)。附加地,还将训练投篮指示符旗标设置为0。
随后,如由手腕追踪器加速度计输出的X,Y和Z轴中的每一个的加速度值在步骤2903处被读取,如步骤2904处的四元值Q1,Q2,Q3和Q4,其中四元值被写入到阵列(步骤2905)。所测量的X,Y和Z加速度值的重力分量Gx,Gy和Gz在步骤2906处从四元数据计算,并且这些值也被写入到阵列(步骤2907)。然后通过在步骤2908处减去对应重力分量来计算球员的手臂的实际X,Y和Z加速度的值,并且实际加速度值Ax,Ay和Az被写入到阵列(步骤2910)。
接下来,球员的前臂相对于水平的倾斜角ThetaX以及加速度计的X-Y平面关于水平所做出的倾斜角ThetaXY以如上所述的相同方式在步骤2911处计算,并且这些值也被存储在对应缓冲器位置中(步骤2912)。
随后,在步骤2913处,投篮算法检查以查看ThetaX和ThetaXY二者是否大于10°。如果ThetaX和ThetaXY二者大于10°,则算法在步骤2914处设置为真(值=1),投篮开始旗标指示投篮推定地发生,并且基于加速度计的数据(即,沿着三个加速度计轴中的每一个的实际加速度值,沿着三个轴的重力分量以及四元值)在步骤2915处被记录到适当的投篮组阵列缓冲器位置。算法然后终止并且在百分之一秒之后再次执行。只要球员的手臂抬起到潜在的投篮位置中,数据就将累积到缓冲器中。另一方面,如果球员的手臂放下来并且ThetaX和ThetaXY中的任一者降至小于10°,则算法将继续到随后的分析步骤。
特别地,在图29A的步骤2916处,该步骤在球员已经将他或她的手臂抬起到潜在的投篮位置之前或球员已经将他或她的手臂从投篮可能发生的位置放下来之后达到,在算法的该点处不知道投篮是否已经实际发生,算法检查以查看缓冲器计数(即,被写入到缓冲器的数据的次数)是否大于100,其对应于已经被写入到缓冲器的数据的二分之一值。如果缓冲器计数小于100,则将会在球员将他或她的手臂抬得足够高(即大于10°)以到达投篮位置中,或者球员仅将他或她的手臂抬到潜在的投篮角度并持续不足以使实际投篮发生的简短时间之前到达步骤2916。在该情形中,投篮组缓冲器被清空(步骤2917),投篮开始旗标被设置为假(步骤2918),并且算法循环回到开头并在百分之一秒之后再次执行。因而,因为并不是被写入到缓冲器的所有加速度数据都被实际保存以用于随后处理,所以实际上被写入和保存的数据可以被称为加速度计所生成的数据的“合格部分”。
另一方面,如果在图29A的步骤2916处确定缓冲器计数超出100(即大于数据的二分之一已经被记录),则算法通过流程图连接器FC8的方式行进到图29B的步骤2919A,其中算法继续分析已经累积的数据以确定投篮是否已经实际发生。为此目的,算法首先计算各种参数的数据的三个点运动平均以将其平滑处理掉,很像低通过滤器那样,一般以与之前相同的方式。然而,代替于如之前关于图28A-28F所描述的那样将数据“拷贝”到临时缓冲器以避免运动平均计算所需要的之前的时间增量的数据值的“丢失”,以及然后利用运动平均值覆写实际数据值,投篮算法简单地将运动平均值代替地写入到分离的运动平均缓冲器。附加地,为了避免调用不存在的数据值,计算每一个参数的运动平均,其中以索引1开始(以避免在缓冲器开始记录之前的时间调用不存在的值)并且以等于比阵列的大小小1(例如,size(Ax) -1,(以避免在缓冲器已经停止记录之后的时间调用不存在的值))的索引结束。
因而,投篮算法经由具有步骤2919a处的开始点和步骤2919b处的结束点的循环来计算运动平均,如下:
MAx[index] = (Ax[index-1] + Ax[index] + Ax[index+1])/ 3
MAy[index] = (Ay[index-1] + Ay[index] + Ay[index+1])/ 3
MAz[index] = (Az[index-1] + Az[index] + Az[index+1])/ 3
MGx[index] = (Gx[index-1] + Gx[index] + Gx[index+1])/ 3
MGy[index] = (Gy[index-1] + Gy[index] + Gy[index+1])/ 3
MGz[index] = (Gz[index-1] + Gz[index] + Gz[index+1])/ 3
MQ1[index] = (Q1[index-1] + Q1[index] + Q1[index+1])/ 3
MQ2[index] = (Q2[index-1] + Q2[index] + Q2[index+1])/ 3
MQ3[index] = (Q3[index-1] + Q3[index] + Q3[index+1])/ 3
MQ4[index] = (Q4[index-1] + Q4[index] + Q4[index+1])/ 3。
一旦已经针对加速度、重力分量和四元分量填充运动平均缓冲器,算法就能够开始通过将可能已经发生并且手腕追踪器已经针对其训练的每一个可能类型的投篮的对应PSD数据与运动平均缓冲器内的Gx,Gy和Gz相比较来查找投篮尝试事件。(即需要比较加速度的重力分量,因为它们是实际揭露手臂/手腕位置并允许标识投篮尝试的参数;但是可能有用的是维持用于所有十个运动平均参数的数据)。为了加快该过程,算法首先进行预先或“合格”检查以针对“实况”运动平均数据内的给定时间窗口查看每一个参数Gx,Gy和Gz的前十个值是否与对应PSD阵列内的前十个值相匹配;如果它们匹配,则记录值的运动平均阵列内的开始点(即时间敞口值的第一索引),使得数据的该部分随后可以针对投篮尝试匹配更全面地核查。
因而,算法执行一系列循环,其中最外部的循环2920“界定”由步骤2921/2922和步骤2923/2924限定的两对嵌套循环。最外部的循环2920对应于可以采用并且已经针对其训练手腕追踪器的各种类型的投篮,并且因此其循环通过以开始点2920a处的PSD组索引值0开始的所有PSD集合。
一旦算法开始考虑运动平均缓冲器内的数据对应于给定类型的投篮的可能性,算法就借助于第一对嵌套循环2921/2922执行十个点预检查。因而,以初始运动平均缓冲器索引1在2921A处开始,算法执行内循环2922。以PSD缓冲器中的参数的前十个集合(即三个参数Gx,Gy和Gz的集合)在2922A处开始,内循环2922将PSD缓冲器中的数据与运动平均缓冲器中的数据的十增量窗口比较(步骤2925),并且该比较是随着内循环步骤通过PSD缓冲器中的数据的前十次增量值而在时间增量接着对应时间增量的基础上完成的。在步骤2925处做出比较时,算法对PSD缓冲器中的给定时间增量的所有三个参数值(例如具有给定PSD索引)与运动平均缓冲器中的对应时间增量的所有三个参数值的匹配次数进行计数以处于已经针对PSD缓冲器内的对应时间增量位置处的特定参数所计算的平均偏差的两倍内。换言之,算法检查以查看对应参数的PSD值与参数在“实况”运动平均缓冲器中的对应值之间的不同的绝对值小于对应平均偏差值的两倍。(将仅十个参数集合匹配到平均偏差的两倍内(其可以在期望的时候被修订)提供了在做出“实况”数据与PSD投篮简档数据之间的匹配的给初始预筛选的相当大的自由度)。
如果PSD缓冲器内的前十个时间增量位置中的每一个处的参数集合(即加速度值的所有三个重力分量)与运动平均缓冲器内的对应参数集合匹配(即具有预指定的偏差内的所有参数值的数据集合的数目等于10,如在决策步骤2926处所指示的),则用于已经被预筛选的十个增量宽的运动平均窗口的开始索引值在步骤2927处被记录为要针对投篮尝试事件更全面的核查的可能开始索引位置,并且开始运动平均缓冲器索引以一增量。否则,如果预筛选匹配的数目不等于十,则开始运动平均缓冲器索引在开始运动平均缓冲器索引增量之前不被记录。算法然后循环回到循环2921的开始并且再次进行该预筛选比较,其中运动平均缓冲器数据的十个增量宽的预筛选窗口“偏移到”作为之后的一个时间增量的时间点,并且过程将重复直到运动平均窗口的“领头”索引值比运动平均缓冲器的大小小十为止。
一旦算法以此方式完成标识可能的投篮尝试事件的开始索引位置,它就通过流程图连接器FC9的方式继续到图29C的步骤2923A处,其中它更仔细地核查可能的投篮尝试开始索引位置中的每一个处的数据。为了完成此,算法执行第二对嵌套循环2923/2924。(如果没有与所有十个增量处的PSD数据匹配的十个增量子窗口,则将没有要核查的给定类型的潜在投篮;在该情形中,算法简单地绕过该嵌套对循环并且继续到下一投篮类型值)。
因而,对于每一个可能的开始索引值(其在具有开始点2923a的图29C的外循环2924的水平处循环通过),算法将PSD缓冲器的全部0.6s宽的“模板”中的Gx,Gy和Gz值与运动平均缓冲器内的数据的0.6s宽窗口内的时间相关对应(图逐增量的基础)值进行比较。在做出内循环2924(开始点2924A;结束点2924B;并且从等于特定标识的潜在开始索引值到60个增量之后的位置循环通过运动平均缓冲器)内的该比较时,算法对Gx,Gy和Gz值与对应PSD值之间的不同小于对应平均偏差值的两倍进行计数,如在步骤2928处所指示的,并且算法在步骤2929处记录Gx,Gy和Gz中的每一个的这样的匹配的数目。
一旦已经记录Gx,Gy和Gz中的每一个的匹配数目,算法就将置信度值计算为小数,其指示0.6s PSD模板与运动平均缓冲器内的给定增量位置处的运动平均缓冲器数据多好地匹配。特别地,在步骤2930处,算法将置信度值计算为(CountGx + CountGy + CountGz) / (3 * size(PSD)),其中size(PSD)等于PSD“模板”窗口内的增量数目,在该实施例中为60。
此外,在步骤2931-2934处,算法通过考虑以“实况”数据的0.6s窗口内的最大加速度变化率的出现为中心的时间窗口中的手腕追踪器方位的偏差来评估PSD数据与“实况”数据多紧密地匹配。因而,在步骤2931处,标识最大加速度变化率出现的时间增量的索引值。(该最大值索引标识的细节未在图中示出,但是子例程基本上与如图28中所示以及如上所述的那个相同)。然后,在步骤2932处,计算以“实况数据”窗口内的最大加速度变化率的点(即MaxJerk Index +/- 10)为中心的二十一个增量窗口内的Gx,Gy和Gz中的每一个的值与以PSD窗口内的最大加速度变化率的点为中心的二十一个增量窗口内的Gx,Gy和Gz的对应值之间的不同,并且针对Gx,Gy和Gz中的每一个对该不同的绝对值小于预定数量(例如120或0.12g)的次数进行制表。随后,在步骤2934处,基于加速度变化率的置信度值jerkConfidence被计算为(CountGx + CountGy + CountGz) / (3 * size(jerkwindow)),其中CountGx,CountGy和CountGz在该点现在是重力分量值匹配以最大加速度变化率位置为中心的次数,并且jerkwindow是以最大加速度变化率的点为中心的窗口的增量的大小(即在该情形中为21)。
在步骤2935处,算法基于跨整个0.6s窗口的匹配以及跨以最大加速度变化率的点为中心的21个增量窗口的匹配来对置信度值进行平均,并且其将该平均置信度值设置为用于已经与“覆盖”“实况”运动平均缓冲器数据的0.6s PSD窗口(其以在嵌套对的外循环2923的开始处设置的给定潜在开始索引值开始)定位的匹配的可能性的置信度值。然后,在步骤2936处,算法检查以查看与特定潜在开始索引值相关联的置信度值是否高于已经针对已考虑的之前潜在开始索引值确定的任何置信度值,或者是否高于已经被确定为在评估是否已经发生不同类型投篮时的最大置信度值的任何置信度值。如果是,则与所考虑的特定潜在开始索引值相关联的置信度值被设置为用于已经做出的匹配(与任何类型投篮)的可能性的新的最大值,并且优选地记录(未具体图示)针对潜在匹配所考虑的投篮类型(即PSD标识符)。
该分析然后针对可以做出的各种类型投篮中的每一个进行重复,例如通过将相关联的PSD数据与已经存储在运动平均缓冲器中的“实况”数据进行比较。随后,在步骤2937处,算法检查以查看用于已经找到匹配的最大置信度水平(在步骤2936处确定)是否超出预定阈值。在该示例性情形中,已经在经验上确定为适合的并且可以由球员在他或她希望的时候调节的阈值被设置为0.75。如果这样,包括已经发生的投篮类型的指示投篮已经发生的BLE消息(即投篮尝试BLE消息)在步骤2938处被发送,并且应用相应地如上所述那样处理该消息。然后各种缓冲器在步骤2939处都被清空,并且算法然后通过流程图连接器FC10返回到图29A的步骤2918。否则,如果在步骤2937处确定最大置信度水平不超出预定阈值,则缓冲器简单地被清空,其中没有发送BLE消息,并且算法重复。
上述优选实施例意图说明本发明的原理,而不是限制其范围。本领域技术人员在阅读本公开内容或实践所要求保护的发明时可以实现这些优选实施例的各种其它实施例、改型和等同方案。这样的改变、改型和等同方案意图落入本发明和所附权利要求的范围内。

Claims (51)

1.一种投篮追踪系统,包括:
自动检测用户对篮圈的投篮尝试的无线手腕追踪器;
自动检测穿过篮筐的边缘和篮网的篮球的无线篮网追踪器;
包括微处理器和存储器存储区域的个人计算机系统;以及
个人计算机系统的存储器存储区域中的投篮追踪应用,投篮追踪应用具有程序指令,该程序指令在被微处理器执行时使微处理器自动接收来自无线手腕追踪器和无线篮网追踪器的事件数据并且基于所接收的事件数据自动确定用户的投篮统计。
2.权利要求1的投篮追踪系统,其中无线手腕追踪器通过比较和匹配用户的手腕或手臂的实际运动与如存储在无线手腕追踪器中的一个或多个球员投篮数据简档中所反映的投篮尝试期间的典型球员运动来检测用户的投篮尝试。
3.权利要求1的投篮追踪系统,其中无线篮网追踪器通过比较篮网的实际扰动与如存储在无线篮网追踪器中的存储器中的一个或多个投中投篮简档中所反映的投中投篮时篮网的典型扰动来检测穿过篮筐的边缘和篮网的篮球。
4.权利要求1的投篮追踪系统,还包括:
驻留在无线手腕追踪器上的训练和调整模块,训练和调整模块具有程序指令,该程序指令在被无线手腕追踪器执行时将使无线手腕追踪器创建对应于投篮尝试期间用户的典型手腕和手臂运动的球员投篮数据简档。
5.权利要求1的投篮追踪系统,其中投篮追踪应用还包括程序指令,该程序指令在被微处理器执行时将使微处理器接收其他用户的投篮统计并且管理和分发投篮统计以便允许多个用户在赛事中彼此挑战和交锋。
6.权利要求1的投篮追踪系统,其中个人计算机系统包括手持式无线电话、平板计算机系统、膝上型计算机系统、手持式个人信息管理系统、个人音乐播放器和台式计算机系统中的至少一个。
7.一种无线手腕追踪器设备,包括:
微处理器;
用于存储一个或多个球员投篮数据简档的存储器存储区域,每一个球员投篮数据简档表示用户的手臂或手腕在投篮时的典型运动;
检测用户的手腕或手臂在尝试投篮期间的实际运动的一个或多个传感器;
无线电传送器;以及
存储器存储区域中的投篮尝试检测程序,投篮尝试检测程序具有程序指令,该程序指令在被微处理器执行时使微处理器分析由一个或多个传感器生成的数据并且确定实际运动与所述一个或多个球员投篮数据简档中的至少一个所表示的典型运动之间是否存在合格匹配;
其中当投篮尝试检测程序确定存在合格匹配时,程序指令还被配置成使微处理器经由无线传送器将消息传送到个人计算机系统,该消息指示已经发生投篮尝试事件。
8.一种无线篮网追踪器设备,包括:
微处理器;
用于存储一个或多个投中投篮简档的存储器存储区域,每一个投中投篮简档表示篮网在投中投篮时的典型扰动;
检测篮网在篮球穿过篮网时的实际扰动的一个或多个传感器;
无线电传送器;以及
存储器存储区域中的投中投篮检测程序,投中投篮检测程序具有程序指令,该程序指令在被微处理器执行时使微处理器分析由一个或多个传感器生成的数据并且确定篮网的实际扰动与所述投中投篮简档中的至少一个所表示的投篮投中时篮网的典型扰动之间是否存在合格匹配;
其中当投中投篮检测程序确定存在合格匹配时,程序指令还被配置成使微处理器经由无线电传送器将消息传送给个人计算机系统,该消息指示已经发生投中投篮事件。
9.权利要求8的无线篮网追踪器,其中存储器存储区域存储一个或多个边缘反弹简档,其表示篮网在投篮击中篮筐的边缘或篮板但是没有穿过篮网时的典型扰动。
10.权利要求9的无线篮网追踪器,其中投中投篮模块还包括程序指令,该程序指令在被微处理器执行时使微处理器通过比较篮网的实际扰动与一个或多个边缘反弹简档所表示的篮网的典型扰动来检测击中并反弹离开篮筐的边缘或篮板的未中投篮。
11.一种被配置成向在分离的计算设备上执行的协同操作投篮追踪应用标识和报告球员所进行的投篮尝试的佩戴在手臂上的追踪设备,该追踪设备包括:
运动传感器;
接收由运动传感器生成的运动数据的微处理器;
计算机存储器;
传送器;以及
在微处理器上执行的运动处理应用;
其中运动处理应用使微处理器实现以下步骤:
  分析并且然后在计算机存储器中存储由运动传感器生成的运动数据的合格部分;
  将运动数据的合格部分与之前已经存储在计算机存储器中的一个或多个球员投篮数据简档进行比较,其中每一个球员投篮数据简档包括表示针对多个不同类型的投篮中的每一个球员做出投篮尝试时球员的投篮手臂如何运动的数据;
  从比较步骤确定球员是否已经做出所述不同类型投篮中的任一个的投篮尝试;以及
  如果球员已经做出投篮尝试,则使传送器传送投篮尝试事件消息。
12.权利要求11的追踪设备,其中由运动传感器生成的运动数据包括沿着三个相互正交的轴的运动传感器的加速度值Ax,Ay和Az以及运动传感器的旋转方位。
13.权利要求12的追踪设备,其中运动处理应用使微处理器针对运动数据的合格部分分别确定加速度值Ax,Ay和Az的重力加速度分量Gx,Gy和Gz。
14.权利要求13的追踪设备,其中运动传感器以四元值的方式输出运动传感器的旋转方位,并且微处理器使用四元值来分别确定加速度值Ax,Ay和Az的重力加速度分量Gx,Gy和Gz。
15.权利要求11的追踪设备,其中存储在计算机存储器中的运动数据的合格部分是已经通过多个时间点运动平均过程平滑的运动数据。
16.权利要求11的追踪设备,其中球员投篮数据简档每一个包括预定PSD时间窗口之上的数据,其表示在球员做出特定球员投篮数据简档所对应的类型的投篮尝试时球员的投篮手臂如何运动。
17.权利要求16的追踪设备,其中每一个球员投篮数据简档的预定PSD时间窗口以预定时间窗口内的最大加速度变化率的点为中心,其中加速度变化率等于沿着三个相互正交的轴的运动传感器的Ax,Ay和Az加速度值的平方和的平方根。
18.权利要求16的追踪设备,其中运动数据的合格部分包括已经由运动传感器在持续长于预定最小时间长度的连续时间段之上生成的运动数据。
19.权利要求18的追踪设备,其中运动数据的合格部分包括已经由运动传感器在球员的手臂以球员的手臂相对于水平的最小倾斜角处于潜在投篮位置时生成的运动数据。
20.权利要求18的追踪设备,
其中运动数据的合格部分的预定最小时间长度大于预定PSD时间窗口的长度;并且
其中将球员投篮数据简档中的所选一个内的数据与运动数据的合格部分的多个子部分内的数据相比较,其中每一个子部分在等于预定PSD时间窗口的时间长度内延伸,并且其中每一个子部分在运动数据的合格部分内的不同开始时间点处开始。
21.权利要求20的追踪设备,
其中球员投篮数据简档包括运动传感器的加速度值Ax,Ay和Az的相应重力加速度分量Gx,Gy和Gz;
其中运动数据的合格部分包括运动传感器的加速度值Ax,Ay和Az的相应重力加速度分量Gx,Gy和Gz;并且
其中对于运动数据的合格部分的多个子部分中的每一个,将球员投篮数据简档中的所选一个内的数据与特定子部分内的数据相比较包括:1)将球员投篮数据简档中的所选一个内的Gx,Gy和Gz值与特定子部分内的Gx,Gy和Gz的对应值相比较;以及2)对球员投篮数据简档中所选一个内的Gx,Gy和Gz值中的每一个与特定子部分内的Gx,Gy和Gz的对应值匹配的次数处于预定阈值内进行制表。
22.权利要求21的追踪设备,其中在将球员投篮数据简档中的所选一个内的数据与多个子部分内的数据进行比较之前,通过首先将球员投篮数据简档中的所选一个内的数据的子部分与合格部分内的数据的多个时间增量连续子部分进行比较来标识运动数据的合格部分内的不同开始时间点。
23.权利要求21的追踪设备,其中运动处理应用使微处理器基于球员投篮数据简档中的所选一个内的Gx,Gy和Gz值与特定子部分内的Gx,Gy和Gz的对应值匹配的经制表的次数来计算已经做出的投篮尝试匹配的置信度。
24.权利要求23的追踪设备,其中运动处理应用使微处理器将运动数据的合格部分与所有球员投篮数据简档相比较;基于每一个球员投篮数据简档的数据比较来计算已经做出的投篮尝试匹配的置信度;标识用于跨所有球员投篮数据简档的比较的最大置信度;以及基于最大置信度是否超出预定阈值而确定是否已经发生投篮尝试事件。
25.权利要求23的追踪设备,其中基于球员投篮数据简档中的所选一个的整体内的Gx,Gy和Gz值与运动数据的合格部分的特定子部分的整体内的对应Gx,Gy和Gz值匹配的次数来计算置信度。
26.权利要求23的追踪设备,其中基于球员投篮数据简档中的所选一个的最大加速度变化率子窗口内的Gx,Gy和Gz值与运动数据的合格部分的特定子部分的子窗口内的对应Gx,Gy和Gz值匹配的次数来计算置信度,球员投篮数据简档中的所选一个的最大加速度变化率子窗口以球员投篮数据简档中的所选一个内的最大加速度变化率的时间为中心并具有小于预定PSD时间窗口的最大加速度变化率子窗口时间长度,运动数据的合格部分的特定子部分的子窗口以运动数据的合格部分的特定子部分内的最大加速度变化率的时间为中心并具有与最大加速度变化率子窗口时间长度相同的时间长度。
27.权利要求23的追踪设备,其中
基于球员投篮数据简档中的所选一个的整体内的Gx,Gy和Gz值与运动数据的合格部分的特定子部分的整体内的对应Gx,Gy和Gz值匹配的次数来计算第一置信度;
基于球员投篮数据简档中的所选一个的最大加速度变化率子窗口内的Gx,Gy和Gz值与运动数据的合格部分的特定子部分的子窗口内的对应Gx,Gy和Gz值匹配的次数来计算第二置信度,球员投篮数据简档中的所选一个的最大加速度变化率子窗口以球员投篮数据简档中的所选一个内的最大加速度变化率的时间为中心并具有小于预定PSD时间窗口的最大加速度变化率子窗口时间长度,运动数据的合格部分的特定子部分的子窗口以运动数据的合格部分的特定子部分内的最大加速度变化率的时间为中心并具有与最大加速度变化率子窗口时间长度相同的时间长度;并且
总置信度被计算为第一和第二置信度的平均。
28.权利要求11的追踪设备,其中传送器被配置成使用蓝牙无线协议传送数据。
29.权利要求28的追踪设备,其中传送器被配置成使用BLE协议来传送数据。
30.权利要求11的追踪设备,其中传送器是WiFi传送器。
31.权利要求11的追踪设备,其中投篮尝试消息包括标识球员的数据。
32.权利要求11的追踪设备,其中投篮尝试消息包括标识球员已经做出的投篮尝试的类型的数据。
33.一种被配置成通过比较球员的投篮手臂的运动与一个或多个预建立的球员投篮数据简档来标识球员所进行的投篮尝试的佩戴在手臂上的追踪设备,该追踪设备包括:
运动传感器;
接收由运动传感器生成的运动数据的微处理器;
计算机存储器;以及
在微处理器上执行以建立并在计算机存储器中存储一个或多个球员投篮数据简档的运动处理应用;
其中运动处理应用使微处理器实现以下步骤:
  对于给定投篮类型的一系列训练投篮中的每一个,
    分析并且然后在计算机存储器中存储由运动传感器生成的运动数据的合格部分;
    在运动数据的合格部分内标识指示已经进行投篮和投篮发生的时间点的运动数据;以及
    在计算机存储器中存储投篮发生数据的窗口值,投篮发生数据从预定持续时间的时间窗口内的运动数据的合格部分中的数据来确定并且以投篮发生的时间点为中心;以及
  在逐时间增量和逐参数的基础上,对来自该系列内的所有测试投篮的投篮发生数据一起进行平均,并且然后在计算机存储器中存储经平均的数据值以得到用于给定投篮类型的投篮的球员的球员投篮数据简档。
34.权利要求33的追踪设备,其中由运动传感器生成的运动数据包括沿着三个相互正交的轴的运动传感器的加速度值Ax,Ay和Az以及运动传感器的旋转方位。
35.权利要求34的追踪设备,其中运动处理应用使微处理器确定并且针对运动数据的合格部分在计算机存储器中分别存储加速度值Ax,Ay和Az的重力加速度分量Gx,Gy和Gz。
36.权利要求35的追踪设备,其中运动传感器以四元值的方式输出运动传感器的旋转方位,并且微处理器使用该四元值来分别确定加速度值Ax,Ay和Az的重力加速度分量Gx,Gy和Gz。
37.权利要求33的追踪设备,其中存储在计算机存储器中的运动数据的合格部分是已经通过多个时间点运动平均过程平滑的运动数据。
38.权利要求34的追踪设备,其中球员投篮数据简档包括在预定PSD时间窗口之上的数据,其表示当球员做出特定球员投篮数据简档所对应的类型的投篮尝试时球员的投篮手臂如何运动。
39.权利要求38的追踪设备,其中预定PSD时间窗口以预定时间窗口内的最大加速度变化率的点为中心,其中加速度变化率等于沿着三个相互正交的轴的运动传感器的Ax,Ay和Az加速度值的平方和的平方根。
40.权利要求38的追踪设备,其中运动数据的合格部分包括已经由运动传感器在持续长于预定最小时间长度的连续时间段内生成的运动数据。
41.权利要求40的追踪设备,其中运动数据的合格部分包括已经由运动传感器在球员的手臂以球员手臂相对于水平的最小倾斜角处于潜在投篮位置中时生成的运动数据。
42.权利要求38的追踪设备,其中球员投篮数据简档包括沿着三个相互正交的轴的加速度值Ax,Ay和Az的相应加速度分量Gx,Gy和Gz。
43.权利要求42的追踪设备,其中球员投篮数据简档还包括Ax,Ay和Az加速度值。
44.权利要求42的追踪设备,其中运动传感器以四元值的方式输出运动传感器的旋转方位并且球员投篮数据简档还包括四元值。
45.一种用于使用佩戴在手臂上的追踪设备来检测球员所进行的投篮尝试的计算机实现的方法,佩戴在手臂上的追踪设备具有运动传感器、微处理器和计算机存储器,该计算机实现的方法包括:
在微处理器上接收由运动传感器生成的运动数据;
分析并在计算机存储器中存储运动数据的合格部分;
将运动数据的合格部分与之前已经存储在计算机存储器中的一个或多个球员投篮数据简档进行比较,其中一个或多个球员投篮数据简档中的每一个包括表示球员进行针对多个不同类型的投篮中的一个的投篮尝试时球员的投篮手臂如何运动的数据;
从比较步骤确定球员是否已经做出所述不同类型的投篮中的任一个的投篮尝试。
46.权利要求45的计算机实现的方法,其中追踪设备包括传送器,并且该方法还包括使传送器在确定步骤中确定已经做出投篮尝试时传送投篮尝试事件消息.
46.一种用于使用佩戴在手臂上的追踪设备来检测由球员进行的投篮尝试的计算机实现的方法,佩戴在手臂上的追踪设备具有微处理器、运动传感器、计算机存储器和到远程计算机系统的接口,该方法包括以下步骤:
利用运动传感器生成表示球员的手臂的运动的运动数据;
对于给定投篮类型的一系列训练投篮中的每一个,使微处理器
  (i)分析并在计算机存储器中存储由运动传感器生成的运动数据的合格部分,
  (ii)在运动数据的合格部分内标识指示已经进行投篮并且投篮所发生的时间点的运动数据,以及
  (iii)在计算机存储器中存储投篮发生数据的窗口值,投篮发生数据从预定持续时间的时间窗口内的运动数据的合格部分中的数据来确定并且以投篮所发生的时间点为中心;
在逐时间增量和逐参数的基础上,对来自该系列内的所有测试投篮的投篮发生数据一起进行平均;
针对给定投篮类型的投篮,生成球员的球员投篮数据简档,球员投篮数据简档包括经平均的数据值;以及
在计算机存储器中存储经平均的数据值.
47.权利要求46的方法,还包括:
将运动数据的合格部分与存储在计算机存储器中的球员投篮数据简档相比较;
从比较步骤确定球员是否已经做出给定投篮类型的投篮尝试.
48.权利要求47的方法,还包括经由接口向远程计算机系统传送消息,该消息指示已经发生给定投篮类型的投篮尝试.
49.权利要求48的方法,其中到远程计算机系统的接口包括无线无线电传送器.
50.权利要求48的方法,其中到远程计算机系统的接口包括直接连接。
CN201480002672.4A 2013-06-12 2014-06-10 投篮追踪系统 Active CN104823181B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361834018P 2013-06-12 2013-06-12
US61/834018 2013-06-12
US201361837896P 2013-06-21 2013-06-21
US61/837896 2013-06-21
US201461926706P 2014-01-13 2014-01-13
US61/926706 2014-01-13
PCT/US2014/041799 WO2014201058A1 (en) 2013-06-12 2014-06-10 Basketball shot-tracking system

Publications (2)

Publication Number Publication Date
CN104823181A true CN104823181A (zh) 2015-08-05
CN104823181B CN104823181B (zh) 2018-06-22

Family

ID=52019894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480002672.4A Active CN104823181B (zh) 2013-06-12 2014-06-10 投篮追踪系统

Country Status (6)

Country Link
US (3) US9129153B2 (zh)
EP (1) EP2901307A4 (zh)
CN (1) CN104823181B (zh)
AU (1) AU2014278262B2 (zh)
CA (3) CA2931744C (zh)
WO (1) WO2014201058A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107028298A (zh) * 2016-10-12 2017-08-11 广东乐源数字技术有限公司 一种手环晃动判断的方法
CN107042012A (zh) * 2017-06-07 2017-08-15 简极科技有限公司 一种智能篮球投篮轨迹监测方法
CN107096204A (zh) * 2016-02-23 2017-08-29 深圳未网科技有限公司 运动数据统计方法及装置
CN107115659A (zh) * 2017-06-07 2017-09-01 简极科技有限公司 一种智能篮球上篮轨迹监测方法
CN107115660A (zh) * 2017-06-07 2017-09-01 简极科技有限公司 一种智能篮球运球轨迹监测方法
CN108697933A (zh) * 2015-11-10 2018-10-23 投篮追踪公司 用于体育比赛的定位和事件跟踪系统
CN110448876A (zh) * 2018-04-28 2019-11-15 北京深蓝长盛科技有限公司 投篮检测方法、装置、设备、系统和存储介质
CN112529745A (zh) * 2020-12-01 2021-03-19 山东体育学院 一种篮球教学综合管理系统及其使用方法
CN113727761A (zh) * 2019-02-01 2021-11-30 沛勒尔维珍公司 用于监测运动中球员表现和事件的系统和方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909474B2 (en) * 2005-07-22 2021-02-02 Proximity Grid, Inc. Triggering an automatic creation of an event stamp
US10118078B2 (en) 2011-11-02 2018-11-06 Toca Football, Inc. System, apparatus and method for ball throwing machine and intelligent goal
US9724584B1 (en) 2012-11-15 2017-08-08 Airborne Athletics, Inc. Sports training machine
US20150217179A1 (en) * 2014-02-02 2015-08-06 Mikael Olsson Digital scoreboard
US9147150B2 (en) * 2014-02-12 2015-09-29 Philippe Marc Francois Morisse Synthetic grass implant with RFID tag for ground-marking in grassed areas
US10238941B2 (en) * 2014-10-07 2019-03-26 ShotTracker, Inc. Basketball net which detects shots that have been made successfully
US10118081B2 (en) * 2015-01-23 2018-11-06 Michael Hunter HUEBSCH System for providing game-related information
US9984154B2 (en) 2015-05-01 2018-05-29 Morpho Detection, Llc Systems and methods for analyzing time series data based on event transitions
US10232225B1 (en) 2015-06-01 2019-03-19 Mitchell O Enterprises LLC Systems and methods for obtaining sports-related data
US10716971B1 (en) 2015-06-01 2020-07-21 Mitchell O Enterprises LLC Game implements and system for tracking or locating same
US10043551B2 (en) * 2015-06-25 2018-08-07 Intel Corporation Techniques to save or delete a video clip
US11497964B1 (en) * 2015-09-17 2022-11-15 Canary Medical Switzerland Ag Devices, systems and methods for using and monitoring sports equipment and sports activities
US9454993B1 (en) 2015-10-09 2016-09-27 Sports Logic Group, LLC System capable of integrating user-entered game event data with corresponding video data
US9330726B1 (en) 2015-10-09 2016-05-03 Sports Logic Group, LLC System capable of integrating user-entered game event data with corresponding video data
US20170319934A1 (en) * 2016-05-05 2017-11-09 Wesley Horne Motion sensing basketball training device
WO2018039341A1 (en) * 2016-08-23 2018-03-01 Pillar Vision, Inc. Systems and methods for tracking basketball player performance
US11577139B1 (en) * 2016-09-30 2023-02-14 Airborne Athletics, Inc. Basketball training system
US10596436B1 (en) 2016-11-08 2020-03-24 Airborne Athletics, Inc. Basketball training system
US10646139B2 (en) * 2016-12-05 2020-05-12 Intel Corporation Body movement tracking
EP3568589B1 (en) 2017-02-22 2024-04-24 Siemens Gamesa Renewable Energy A/S Method for load reduction on wind turbine blade pitch bearings
US10489656B2 (en) 2017-09-21 2019-11-26 NEX Team Inc. Methods and systems for ball game analytics with a mobile device
US10653957B2 (en) 2017-12-06 2020-05-19 Universal City Studios Llc Interactive video game system
US11660521B2 (en) 2018-01-21 2023-05-30 Stats Llc Method and system for interactive, interpretable, and improved match and player performance predictions in team sports
EP3740841A4 (en) 2018-01-21 2021-10-20 Stats Llc SYSTEM AND METHOD FOR MOVEMENT PREDICTION OF MULTIPLE FINE GRANULARITY ADVERSARY AGENTS
ES2952374T3 (es) 2018-03-27 2023-10-31 Ddsports Inc Unidad de carga inalámbrica y método para dispositivos de juego con baterías recargables
US11140328B2 (en) 2019-01-22 2021-10-05 Tempus Ex Machina, Inc. Systems and methods for partitioning a video feed to segment live player activity
US11172248B2 (en) 2019-01-22 2021-11-09 Tempus Ex Machina, Inc. Systems and methods for customizing and compositing a video feed at a client device
CN113544697A (zh) 2019-03-01 2021-10-22 斯塔特斯公司 用数据和身体姿态分析运动表现以对表现进行个性化预测
EP3966749A4 (en) * 2019-05-08 2023-06-21 Stats Llc SYSTEM AND PROCEDURES FOR CONTENT AND STYLE PREDICTION IN SPORTS
US11400355B1 (en) 2019-06-07 2022-08-02 Shoot-A-Way, Inc. Basketball launching device with a camera for detecting made shots
US11577146B1 (en) 2019-06-07 2023-02-14 Shoot-A-Way, Inc. Basketball launching device with off of the dribble statistic tracking
CN113993599B (zh) 2019-06-17 2023-05-23 迪帝运动公司 具有封装在减震载体中的电子装置的运动球
US11779824B2 (en) * 2019-07-29 2023-10-10 Brian SPONT Basketball training apparatus for improving basketball shot making and a method thereof
US11157742B2 (en) 2019-09-04 2021-10-26 NEX Team Inc. Methods and systems for multiplayer tagging for ball game analytics generation with a mobile computing device
US20210069573A1 (en) * 2019-09-11 2021-03-11 KarmaJack LLC Systems and methods for analyzing and displaying basketball offensive set data
US11207582B2 (en) 2019-11-15 2021-12-28 Toca Football, Inc. System and method for a user adaptive training and gaming platform
US20210170229A1 (en) * 2019-12-06 2021-06-10 Acronis International Gmbh Systems and methods for providing strategic game recommendations in a sports contest using artificial intelligence
US11935298B2 (en) 2020-06-05 2024-03-19 Stats Llc System and method for predicting formation in sports
US20210394020A1 (en) * 2020-06-17 2021-12-23 FitForm Technologies Inc. Tracking three-dimensional motion during an activity
US11224783B1 (en) 2020-07-07 2022-01-18 DrillZBall LLC Smart sports equipment and integrated platform
US20220032149A1 (en) * 2020-07-28 2022-02-03 Brian SPONT Basketball training apparatus for improving basketball shot making and a method thereof
US11710316B2 (en) 2020-08-13 2023-07-25 Toca Football, Inc. System and method for object tracking and metric generation
US11514590B2 (en) 2020-08-13 2022-11-29 Toca Football, Inc. System and method for object tracking
EP4200040A4 (en) 2020-08-19 2024-02-14 Huupe Inc INTERACTIVE BASKETBALL SYSTEM
US11484768B2 (en) * 2020-09-14 2022-11-01 Dung Chau Event management system, time management system, and method of use
CN116324668A (zh) 2020-10-01 2023-06-23 斯塔特斯公司 从非职业跟踪数据预测nba天赋和质量
CN113181613B (zh) * 2021-01-25 2022-04-26 河南质量工程职业学院 一种体育教学用运球投篮训练系统
US20220280849A1 (en) * 2021-03-04 2022-09-08 OpenGym LLC Sports Training System and Method
USD1026007S1 (en) * 2021-10-20 2024-05-07 Airborne Athletics Inc. Display screen or portion thereof with graphical user interface
US11712610B1 (en) 2023-01-11 2023-08-01 Shoot-A-Way, Inc. Ultrasonic shots-made detector for basketball launching device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223799A1 (en) * 2004-03-31 2005-10-13 Brian Murphy System and method for motion capture and analysis
US20090191988A1 (en) * 2008-01-24 2009-07-30 Klein William M Real-time wireless sensor scoring
CN101667059A (zh) * 2008-09-03 2010-03-10 黑龙江大学 基于手势识别的无线智能裁判系统
WO2011094250A2 (en) * 2010-01-26 2011-08-04 Rahim Mir S Sports training system
CN202169074U (zh) * 2011-05-26 2012-03-21 惠东县华鑫实业有限公司 一种无线篮球装置
WO2012161768A1 (en) * 2011-02-17 2012-11-29 Nike International Ltd. Tracking of user performance metrics during a workout session
US20120322587A1 (en) * 2010-09-01 2012-12-20 Jason Duke Hoop tracker

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5871406A (en) * 1997-09-23 1999-02-16 Worrell; W. Robert Golf swing timing process
JP2996650B1 (ja) 1998-08-26 2000-01-11 セノー株式会社 バスケット台
US6389368B1 (en) * 1999-10-01 2002-05-14 Randal R. Hampton Basketball goal sensor for detecting shots attempted and made
US6280352B1 (en) * 2000-08-23 2001-08-28 Athletics Project Inc. Apparatus and method for performing timed basketball drills
US20020107092A1 (en) * 2001-02-06 2002-08-08 Karen Gottlieb-Myers System for, and method of, indicating to a child the accuracy of shooting a basketball to make a basket
US6418179B1 (en) * 2001-05-21 2002-07-09 Frank Shieh Score counter by sensing route of basketball shots
US6582329B1 (en) * 2001-06-19 2003-06-24 Edwin Cabrera Hoop for indicating when a basketball passes therethrough
US6758769B2 (en) * 2002-03-25 2004-07-06 Webb T. Nelson Electronic sound effect assembly for use on a sport's goal net
US7771293B1 (en) * 2005-11-22 2010-08-10 Kayode Teddy Vann Basketball shooting training aid and method for its use
WO2007084850A2 (en) 2006-01-13 2007-07-26 Klein William M Performance monitoring in a shooting sport using sensor synchronization
US20090111616A1 (en) * 2007-10-30 2009-04-30 Russell Corporation System for detecting and tracking statistics of a game
US8465382B2 (en) * 2008-06-02 2013-06-18 Rashan Christopher Moye Electronic basketball shooting coach
US20110054782A1 (en) * 2009-08-27 2011-03-03 Kaahui Keaka K A Method and apparatus of measuring and analyzing user movement
US9381420B2 (en) * 2011-02-17 2016-07-05 Nike, Inc. Workout user experience
KR20130121957A (ko) 2011-03-09 2013-11-06 주식회사 안다미로 농구 게임기와 이를 이용한 네트워크 농구 게임기 및 농구방법
US9233287B2 (en) 2012-01-04 2016-01-12 Massachusetts Institute Of Technology Force-sensing net
US9623311B2 (en) * 2012-11-09 2017-04-18 Wilson Sporting Goods Co. Basketball sensing apparatus
US8968100B2 (en) * 2013-02-14 2015-03-03 Sstatzz Oy Sports training apparatus and method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223799A1 (en) * 2004-03-31 2005-10-13 Brian Murphy System and method for motion capture and analysis
US20090191988A1 (en) * 2008-01-24 2009-07-30 Klein William M Real-time wireless sensor scoring
CN101667059A (zh) * 2008-09-03 2010-03-10 黑龙江大学 基于手势识别的无线智能裁判系统
WO2011094250A2 (en) * 2010-01-26 2011-08-04 Rahim Mir S Sports training system
WO2011094250A3 (en) * 2010-01-26 2011-11-10 Rahim Mir S Sports training system
US20120322587A1 (en) * 2010-09-01 2012-12-20 Jason Duke Hoop tracker
WO2012161768A1 (en) * 2011-02-17 2012-11-29 Nike International Ltd. Tracking of user performance metrics during a workout session
CN202169074U (zh) * 2011-05-26 2012-03-21 惠东县华鑫实业有限公司 一种无线篮球装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108697933A (zh) * 2015-11-10 2018-10-23 投篮追踪公司 用于体育比赛的定位和事件跟踪系统
CN108697933B (zh) * 2015-11-10 2021-07-09 迪迪体育公司 用于体育比赛的定位和事件跟踪系统
CN107096204A (zh) * 2016-02-23 2017-08-29 深圳未网科技有限公司 运动数据统计方法及装置
CN107096204B (zh) * 2016-02-23 2019-02-01 深圳未网科技有限公司 运动数据统计方法及装置
CN107028298A (zh) * 2016-10-12 2017-08-11 广东乐源数字技术有限公司 一种手环晃动判断的方法
CN107115659A (zh) * 2017-06-07 2017-09-01 简极科技有限公司 一种智能篮球上篮轨迹监测方法
CN107115660A (zh) * 2017-06-07 2017-09-01 简极科技有限公司 一种智能篮球运球轨迹监测方法
CN107115659B (zh) * 2017-06-07 2019-03-05 简极科技有限公司 一种智能篮球上篮轨迹监测方法
CN107042012A (zh) * 2017-06-07 2017-08-15 简极科技有限公司 一种智能篮球投篮轨迹监测方法
CN110448876A (zh) * 2018-04-28 2019-11-15 北京深蓝长盛科技有限公司 投篮检测方法、装置、设备、系统和存储介质
CN113727761A (zh) * 2019-02-01 2021-11-30 沛勒尔维珍公司 用于监测运动中球员表现和事件的系统和方法
CN112529745A (zh) * 2020-12-01 2021-03-19 山东体育学院 一种篮球教学综合管理系统及其使用方法
CN112529745B (zh) * 2020-12-01 2022-11-29 山东体育学院 一种篮球教学综合管理系统及其使用方法

Also Published As

Publication number Publication date
US9254432B2 (en) 2016-02-09
CA2888773A1 (en) 2014-12-18
US20150258416A1 (en) 2015-09-17
US20150251075A1 (en) 2015-09-10
US9186568B2 (en) 2015-11-17
CA2931625C (en) 2017-07-18
CA2931625A1 (en) 2014-12-18
US20140371885A1 (en) 2014-12-18
CA2888773C (en) 2016-12-06
WO2014201058A1 (en) 2014-12-18
EP2901307A4 (en) 2016-04-27
CN104823181B (zh) 2018-06-22
AU2014278262A1 (en) 2016-02-04
EP2901307A1 (en) 2015-08-05
CA2931744A1 (en) 2014-12-18
CA2931744C (en) 2017-03-28
US9129153B2 (en) 2015-09-08
AU2014278262B2 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
CN104823181A (zh) 投篮追踪系统
CN108028902B (zh) 集成传感器和视频运动分析方法
US10607349B2 (en) Multi-sensor event system
EP3532174B1 (en) Integrated system for boxing and martial arts-based group competitive training and method of use the same
JP6454444B2 (ja) インテリジェントグランドシステム及びデータ取得方法
AU2016293613B2 (en) Multi-sensor event detection and tagging system
CN106464848B (zh) 运动事件辨识和视频同步系统及方法
US8905855B2 (en) System and method for utilizing motion capture data
US8903521B2 (en) Motion capture element
CN107211109B (zh) 视频和运动事件集成系统
US20090312152A1 (en) Exercise Monitoring System and Method
US20150057966A1 (en) Jump Sensor Device
CN109364471A (zh) 一种vr系统
WO2017011811A1 (en) Event analysis and tagging system
CN209221474U (zh) 一种vr系统
TW201722525A (zh) 結合揮棒練習及跑步練習之模擬裝置及其模擬方法

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Kansas, USA

Patentee after: Didi sports company

Address before: Kansas, USA

Patentee before: SHOTTRACKER, Inc.