WO2010025294A1 - Position determination systems and methods for use in sporting and recreational activities - Google Patents

Position determination systems and methods for use in sporting and recreational activities Download PDF

Info

Publication number
WO2010025294A1
WO2010025294A1 PCT/US2009/055246 US2009055246W WO2010025294A1 WO 2010025294 A1 WO2010025294 A1 WO 2010025294A1 US 2009055246 W US2009055246 W US 2009055246W WO 2010025294 A1 WO2010025294 A1 WO 2010025294A1
Authority
WO
WIPO (PCT)
Prior art keywords
maneuver
data
positional
monitor
computer
Prior art date
Application number
PCT/US2009/055246
Other languages
French (fr)
Inventor
Johannes Van Niekerk
Daniel Meyers
Original Assignee
Kent Sporting Goods Co., Inc.
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 Kent Sporting Goods Co., Inc. filed Critical Kent Sporting Goods Co., Inc.
Publication of WO2010025294A1 publication Critical patent/WO2010025294A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • G01S19/19Sporting applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • G01S5/0027Transmission from mobile station to base station of actual mobile position, i.e. position determined on mobile

Definitions

  • the inventive subject matter is generally directed to a positioning device that records the position of an object or person in at least one dimension. It is particularly directed to a device for determining the position and state of an object or person in three dimensions during a sports or recreational activity and provides useful information about an activity.
  • kitse surfing Many sports or recreational activities involve difficult physical maneuvers involving equipment. For example, in the sport of kite surfing, the kite pulls the participant in the air, allowing for acrobatic maneuvers. Likewise, the ocean windsurfer will use the wind to drive the board up the face of a wave to jump off the wave. There is a need across various sport and recreational activities for a mechanism for tracking positions during a maneuver.
  • the device should measure the relative position, velocity, and acceleration of the individual or object to which it is associated. By tracking such data, many forms of information can be provided to enhance the experience and feed various informational systems, such as scoring and training systems.
  • U.S. Patent 7,162,392 which is hereby incorporated by reference in its entirety for all purposes, illustrates GPS technology integrated into a helmet.
  • Other systems use Inertial Measurement Units (IMU) in conjunction with surface radar as shown in U.S. Patent 6,512,976, which is hereby incorporated by reference in its entirety for all purposes.
  • IMU Inertial Measurement Unit
  • Other systems use beacon systems as shown in U.S. Patent 7,301,648, which is hereby incorporated by reference in its entirety for all purposes.
  • Such a device is not limited to sporting events for human participants. It is well known that there are competitive events for all types of animals, for example, the "Frisbee dog" performs a number of acrobatic maneuvers while participating in this relatively simple game of catch.
  • the device may also have non-sporting or commercial applications. For example there is a need in the field of time and motion analysis to record the position of an individual without using video cameras.
  • the device should be attachable to multiples types of sporting equipment and/or on the person.
  • the device should have sufficient position resolution requiring that the position of the person engaged in the position be sampled at a sufficiently high enough rate.
  • the inventive subject matter provides systems for graphical representation and data analysis of position and state of one or more individuals or objects in an activity or set of activities to allow for improved evaluation of moves or performances during an activity or activities. Such systems would allow for improved training, coaching, judging, scoring, education, entertainment systems in the context of such activities. The systems could also lead to improved safety or design in the context of an activity. For example, by analysis of a number of competitors a race course, there interactions at various points could be analyzed to reduce the risk of crashes.
  • Figure 1 is a system overview of the position monitoring system.
  • Figure 2 is a system block diagram of a representative position monitoring system.
  • Figure 3 is a block diagram of a representative position monitoring subsystem.
  • Figure 4 is a detailed block diagram of a representative position monitoring subsystem.
  • Figure 5 is a systems diagram of the position monitoring control system.
  • Figure 6 is a block diagram of the position visualization system.
  • Figure 7 shows a computer display of visualization information from a position monitor.
  • Figure 8 shows an example of a graphical plot of a wakeboard maneuver on a graphical user interface (GUI).
  • GUI graphical user interface
  • Figs. 1-8 Representative embodiments according to the inventive subject matter are shown in Figs. 1-8, wherein the same or generally similar features share common reference numerals.
  • sporting and recreational activities wakeboard, skate boarding, surfing, skiing, kayak, Whitewater raft, kite board, motorcycle, snowmobile, ice skater, gymnast, dancer
  • Any such sport, recreational, hobby or arts activities will be referred to hereinafter as merely “sport” or “sports,” unless context indicates otherwise.
  • the information may allow, for example, evaluation of a participant's performance; comparison of participant performances; to educate participants; to determine if predetermined actions have been completed; to archive performances. There are many activities where such information would be beneficial.
  • Examples include, water sports and snow sports such as wakeboarding, kite surfing, surfing, skate boarding, snow boarding, and skiing.
  • the position sensor systems and methods may also be used in other activities, including motor sports on land, water and in air. For example, it could be used by aerobatic pilots. It could be used on motocross stunt riders. It may also be used on people directly, for example, dancers, gymnasts, and divers.
  • Automatic or manual scoring or judging or other evaluation can based on any combination of change in X, Y, or Z position, rotation in two or more axes, and any sequence or magnitude of changes in position and/or rotation, or based on time over which position changes, rotational changes, or magnitude changes have occurred. It could be based on changes in velocity.
  • a "positional maneuver,” as used herein, means any such positional state or sequence, magnitude, and/or timing of positional states. A given maneuver may be automatically compared with known reference values for determining completion of a maneuver.
  • Figure 1 depicts a representative overall system diagram 10 of an embodiment of inventive subject matter.
  • a position maneuver is tracked for a participant 25 using a position monitor 30 mounted at some point on or proximate to the participant 25 or the participant's equipment 250.
  • the position monitor 30 records information about the relative state of the position of the person or equipment.
  • Configuration space is the space of possible states a physical system may attain.
  • the inventive subject matter particularly contemplates states based on position, rotation, or acceleration in three dimensions as well as the evolution of these parameters over time.
  • state information about X position and Y position may represent a two-dimensional configuration space, just as X position and X rotation represents a different two-dimensional configuration space.
  • This state information minimally describes 2 parameters but may describe as many as 18 linear kinematic parameters (position, velocity and acceleration on three axes), 18 rotational kinematic parameters (heading, rotation, and acceleration of rotation on three axes), and other parameters such as wind speed, temperature, and participant's heart rate.
  • Selected parameters of configuration space are recorded in the position monitor 30 overtime.
  • Position monitor communicates information 40 to a position interpretation system 50.
  • Position interpretation system 50 includes, for example, processing software and a display for reading information transmitted 40.
  • the display presents the information for perceptible rendering (e.g., visually or audibly).
  • the hardware includes a transmitter for transmitting data to a remote location, such as a receiver on a tow vehicle 200, e.g., a boat.
  • a position monitor comprises one or more sensors 310, which output data on determining a position and a processor for determining position from the data. Sensors that may allow for this include, for example, accelerometers, gyros, GPS devices, barometric sensors, and magnetic sensors.
  • Figure 2 depicts a functional block diagram 300 of the position monitor 30. Sensors 310 provide data 315 that may be used to determine location of position monitor 30 at a given point in time. The data 315 are transmitted to a processing subsystem that implements an algorithm for state determination 320. The data 315 consist of analog or digital signals. The signal may be sampled on a periodic basis and in the case of analog signals are converted to digital values. This data 315 are processed by an algorithm that provides state determination 320.
  • State determination consists of reading one or more of the previous states, reading the current position data 315, and calculating a new estimated state.
  • This estimated state 325 is input to the state output 330.
  • the state output 330 transforms the estimated state 325 into parameters that can be processed and recorded by the state capture 340. For example, if the estimate state 325 is a vector of X, Y, Z coordinates of the position monitor 30 and the angular acceleration of the position monitor, the state capture 340 algorithm would transform these coordinates into position, velocity, and acceleration in the same coordinate frame.
  • the state capture 340 also may serve to record, smooth, and reject any outlier data points.
  • the maneuver classification module may be used to analyze a set of normalized data 345 for maneuver classification 350.
  • FIG. 3 shows another possible embodiment of a position monitor 400.
  • the position monitor 400 has a plurality of analog sensor inputs 410 and digital sensor inputs 415 that may be used to determine location of position monitor 400 at a given point in time.
  • At least one analog sensor 410 outputs an analog signal.
  • Other sensors may be analog sensors 410 and/or digital sensors 415.
  • the analog sensors in 410 connect to an input filter 420.
  • the input filter 420 conditions the signals before sampling by an AfD converter 430.
  • the output from the A/D converter 430 and from any digital sensor 415 connects to a recursive filter 440, for example, a Kalman filter.
  • the filter 440 reads the raw data input and estimates the state of the position monitor 400.
  • the output from the Kalman filter 440 is then used to determine the position of the object or individual to which it is attached.
  • the position and sensor information 450 is processed by an interface 460 for perceptibly rendering information from the system.
  • the interface may be a
  • Figure 4 shows a detailed view of one possible way to implement the position monitor 400.
  • analog sensors 410 consist of gyros 412 that are aligned along each of the three-axis (X, Y, and Z), accelerometers 414 that are aligned along the three axes, a GPS sensor 415, and magnetic sensors 416.
  • Other embodiments may use digital gyros, digital accelerometers, and/or digital magnetic sensors.
  • Other embodiments may use other types of sensors including a 1-axis gyro, a 2-axis gyro, a 2-axis accelerometer, a Z-axis accelerometer, a 1-axis magnetometer, a 2-axis magnetometer, and/or GPS.
  • the output from each of the analog sensors 412, 414, and 416 are connected to analog input filters 420, which may include anti-aliasing filters.
  • the output from the filters is multiplexed into a 12-bit Analog to Digital Converter 430, which is incorporated into Digital Signal Processor (DSP) 470, for example, a Texas Instruments model TMS320F28332.
  • DSP Digital Signal Processor
  • the Analog to Digital Converter 430 is sampled at suitable rate, for example, a rate of 600 Cycles per second.
  • This A/D data is input into a recursive filter 440, for example, a Kalman filter.
  • Digital data from GPS sensor 415 is also input into filter 440.
  • Some embodiments may include additional digital sensors input into filter 440.
  • the recursive filter operates to allow determination location of position monitor 400.
  • the filter output data and sensor data may be processed by data processor 450 then stored for later retrieval and/or transmitted to a receiver for real time processing or display.
  • FIG. 5 shows an implementation of a recursive filter in the nature of a Kalman Filter State Estimation system 600.
  • the input to the Kalman Filter State is the Kalman Filter State
  • Estimation 600 are data from GPS searcher 612 magnetometer 615 and the IMU Gyro and Accelerometer 620 readings and/or virtual or assumed data 610 based on assumptions specific to an application. For example, in a wakeboarding application Z (height) may be assumed to be zero.
  • the GPS 612 and magnetometer 612 are used to estimate a heading 625.
  • the IMU Gyro and Accelerometer 620 readings are used to estimate pitch and roll from gravity 635.
  • Pitch, roll, heading, and assumed data 610 are used to perform a measurement update 640 and update the state 630 within the IMU.
  • Sensor errors 645 are derived and used to calibrate future output from the IMU Gyro and Accelerometer 620 readings.
  • the hardware includes a transmitter for transmitting data to a remote location, such as a receiver on a tow vehicle, e.g., a boat.
  • a remote location such as a receiver on a tow vehicle, e.g., a boat.
  • a remote location such as a receiver on a tow vehicle, e.g., a boat.
  • a position monitor that is worn by the user.
  • the position monitor may be disposed, for example, on a 50mm x 50mm PCB with an SD card slot interface, an RP interface, an internal DSP, and enclosed in a waterproof case.
  • the hardware on the boat may have an RF interface and a display.
  • Figure 6 shows an alternate configuration of the display hardware that consists of data recorded onto a storage medium, such as an SD Card, for personal computer (“PC")
  • Real time data may be sent to a variety of sources including a remote computer system, for example, by a TV broadcast, remote
  • Figure 7 is a "screen capture" of outputs from the sensor hardware and displayed by the ("PC") software.
  • This figure shows one possible embodiment of a display of a time series of three-dimensional positional and rotational information.
  • This embodiment shows the information as a series of discrete line segments 810, each representing data at a single instant of time.
  • Positional space is represented by the location of the line.
  • Rotational space is represented by the orientation of the line.
  • This interface allows a particular time slice to be selected for further detail.
  • the selected time slice is indicated by an icon 820.
  • the orientation at that time is indicated by three axial orientation displays 830, showing pitch, roll, and heading in both analog and digital representations.
  • Acceleration is indicated by three acceleration displays 840 showing both analog and digital representation of acceleration data for each of the X, Y, and Z axes at the selected time slice.
  • Rotation speed is indicated by three spin rate displays 850 showing analog and digital degrees per second.
  • the speed or magnitude of the linear velocity at the selected time slice is indicated by the speed display 860 showing both analog and digital displays.
  • GPS data displays 870 show latitude and longitude data for the selected time slice.
  • a height bar 880 displays height at the current time using a height indicator 885, here a thermometer style display.
  • a time display bar 890 represents the progress of time horizontally and the jump height vertically and allows time slices in the past or future to be selected.
  • the current time slice is shown using an icon 895, here a black dot and vertical bar.
  • the height of the curve is the apex of a jump 896.
  • Motion controls 897 allow the time series to be animated as a movie.
  • a position event is the measurement of a series of positional changes over time. For example, a wakeboarder may attempt to perform a 360-degree rotation and based on the data from the position monitor, the system may classify the trick as completed or not, or indicate varying degrees of completion. Example tricks pertinent to wakeboarding may be found, for instance, at http://www.wakeboarder.com/tricks/tricklist.phtml.
  • a scored, judged, or otherwise positional event can be triggered based on a change in a reference point. For example a change in the Z-axis, would be considered a "hop".
  • a position event could be determined according to rotational movement while airborne, for example rotation about the Z-axis. Judging may be based on a numerical score or other rating of the positional maneuver (e.g., "good,” “bad,” “completed,” or “incomplete”).
  • the participant may "frame" a particular position event by using an initiator and/or switch. For example, the use may manually activate a switch or a pressure sensor may be used to sense a change in pressure, thereby activating automatically a switching circuit.
  • other methods such as a quick tap on the device itself or an inductive sensor sensing proximity of, for example, a hand, are also contemplated.
  • the applications include all those mentioned in the Background section and elsewhere herein, e.g., wakeboarding and water skiing. Numerous performance criteria may be monitored, measured and recorded, from simple jump-height measurement to using 3D real time or recordings of a performance over some or all of course over which the performance occurred.
  • the inventive subject matter is directed to a device that uses a relatively inexpensive Inertial Measurement Unit (IMU).
  • the IMU runs a recursive filter, such as a Kalman filter.
  • the display device may be a small, inexpensive LCD readout.
  • the sensor hardware also records the processed data to a storage device so that the consumer can replay the data in 3D on a PC.
  • the recursive filter algorithm may consist of 2 stages, a state prediction based on a system model and a measurement update based on sensor observations.
  • a Kalman filter does both of these at a suitable rate, for example, 600Hz.
  • the Kalman filter continuously integrates the inertial sensors to estimate the device position and uses the measurements to remove drift of the estimated states.
  • the filter algorithm tracks one or more and any combination of, or derivative of, the following 16 states provided by sensor inputs 410: o 4 quaternions that represent rotation of the device in 3 axes (X 5 Y 5 Z).
  • the inventive subject matter is directed to a position monitor that is based on a single sensor or combination of sensors that provide data on a positional state of an associated individual or object relative to one or more of an X 5 Y and/or Z axis.
  • Positional devices may include GPS devices, accelerometers, gyroscopes, magnetometers, barometric sensors, optical sensors, acoustical sensors, and/or radar sensors.
  • electro and/or mechanical sensors may be associated with a tow rope for wakeboarder to determine angle of a tow rope of a known length to determine height position.
  • the inventive subject matter operates by initializing the position monitor to a known state using assumptions about the particular position event to properly initialize the estimates for recursive filtering.
  • a second assumption is that the minimum height of the board from the water is always zero. This still allows us to measure jumps since high frequency actions such as a jump will still be integrated. This assumption allows us to determine the baseline for jumps and bias values of the accelerometers.
  • GPS unit can be on- board or optionally at another known location where the distance to the participant is known.
  • a remote GPS system could be on a scoring system located on the beach, a known distance from a group of surfers who are using the position monitoring system.
  • the inventive subject matter updates the internal filter or Kalman filter at a high rate relative to the position of the participant. This rapid updating provides for reduction in error in measurements and ability to eliminate data outliers due to noise.
  • the inventive subject matter relies on an on-board digital signal processor that allows for the low cost of production.
  • Other implementations of the inventive subject matter consist of a position monitor with an integrated LCD display device. This LCD display device would allow visual monitoring of the position event, in addition to other parameters that are of personal importance to the participant. For example, in the sport of surfing, the inventive subject matter could be attached to a surfboard. The participant could perform an "off the lip” and immediately see his score on the LCD display.
  • Other implementations of the inventive subject matter include local wireless and/or infrared communication links between the position monitors. For example, the participants can engage in "heats" (a "heat” is a given event in a set of multiple events) and by moving the position monitors close to each other automatically exchange information that allows for the ranking of the individual in that heat.
  • Potential applications for the position monitor in water sport applications include the following:
  • the database and a processor for making comparisons may be on-board and coupled to the position monitor, or they may be remotely located and in communication via a data link (e.g., RF, USB, etc.) or network channel (e.g., LAN, Internet, etc.).
  • a performed trick path or other positional maneuver can be compared against a data in a data base of classified reference profiles. For example, the position, rotation, and velocities can be compared at each point in the trick over the time of the trick.
  • a deviation magnitude (error) of the performed trick to the classified trick can be calculated. If the trick exists in the database, it will be the one with the smallest deviation to the performed trick.
  • Other factors such as angles rotated about certain axes can be used to classify tricks broadly into groups to narrow the comparison search field. For example, if you have not completed a certain amount of rotation, many tricks can be excluded from the list of possibilities. For illustrative purposes, this is a description of a very simplified approach. A practical solution will weigh different errors by different amounts. For example, the trick height can vary much from trick to trick of the same type so this deviation will not be heavily penalized in the algorithm.
  • Example code for measuring spinning of an object during a jump and spin trick and example pseudocode for a general matching algorithm, are as follows: Spin Measurement
  • Prerequisites A database of maneuvers from which an unknown maneuver may be classified. For each maneuver the database contains the position and attitude of the maneuver trajectory and attitude for all points in time during the maneuver. Terminology: The maneuver to be classified will be referred to as the unknown maneuver, the maneuvers that are already classified and stored in the database are referred to as database or classified maneuvers.
  • Narrow search range using multiple broad classification parameters for example how many degrees the sensor rotated about an axis during the unknown maneuver.
  • the parameters al to a6 are weights so that certain errors may be given more influence than others. These may be determined experimentally.
  • the error includes not only error in x,y,z position but also in attitude (pitch_angle,roll_angle,yaw_angle). Since most maneuvers are judged to be a certain sequence of rotations, the weights on the attitude errors will likely be higher than the weight on the x,y,z position errors. (Imagine a wakeboarding 360, the x,y,z position of this trajectory might match a normal (no rotation) jump very closely. Only in matching the angles over time can this maneuver be identified, the x,y,z position gives very little information).
  • the system may include an association of a rating, such as scoring points, for a stored profile. On recognition of a profile, the systems would calculate or determine the appropriate score or other rating. For a plurality of profiles recognized, the system would produce a total score. It could also rank participants by rating or score.
  • a rating such as scoring points
  • scoring points could be based on number of factors, such as number of tricks performed, degree of difficulty of a trick, and style of the executed trick.
  • the system can include an algorithm implemented in software for determining style.
  • one style factor is the magnitude of the trick or maneuver.
  • One 360- degree maneuver could be ranked as having higher style points if it occurs at a higher height than a predetermined or the height relative to another performer.
  • the smoothness of a data curve for a trick could also be a style factor. The smoothness is compared to a benchmark trick or other positional maneuver profile, for example. If the curve is too steep or too shallow relative to the curves of the benchmark, style points are adjusted accordingly.
  • a rating or other performance attribute may include, for example, hardness of landing or impact; the smoothness of acceleration or deceleration in terms of spin rates; g-force measurements; jump trajectories and pathways; and position of execution in a profile.
  • erratic data may indicate lack of style and execution. Scoring may also factor in the number of tricks performed, their sequence, and variation from a baseline, e.g., if height goes above 10cm. Curve fitting may be used against pre-recorded trajectories for scoring.
  • Comparison can be of a single maneuver or sequence of the same or different maneuvers, and quantification of an attribute, e.g., how long it took to accumulate one minute of air.
  • the system may also be configured to provide a threshold alert, e.g., a buzzer or lights, indicating a successful maneuver or quantification has been achieved.
  • the system tracks and stores non-positional parameters of performance and uses those to recommend parameters for future performance.
  • the system could track boat speed over which successful jumps or tricks have been performed.
  • Other parameters could include wind speed, temperature, type of tow vehicle, biometric data (e.g., heart rate, height, weight, age, gender) time of day, and equipment parameters (e.g., dimensions of wakeboard, length of towline, make/model, etc).
  • biometric data e.g., heart rate, height, weight, age, gender
  • equipment parameters e.g., dimensions of wakeboard, length of towline, make/model, etc.
  • the boat speed at which the best jumps or tricks have occurred is associated with a trick profile as the "optimum speed.”
  • the driver of the boat could select from a database of tricks and the stored optimum speed or other performance parameter would be indicated.
  • the system would allow determination of the optimum kind of equipment for a particular rider to perform a particular trick, e.g., wakeboard size or other characteristics. It could also allow ratings of equipment for their performance. For example, the system could indicate that one model of wakeboard statistically outperforms another. Equipment ratings could be presented on a website connected with sales of equipment, enabling more informed purchase decisions.
  • the system may also provide for acquiring data from a plurality of users over a data network, such as the Internet, to create a database of tricks over which optimal parameters, such as boat speed are determined.
  • the position monitor system may also share data among users via conventional data base systems and via an online website so that users may compare data on their positional maneuvers, performance history, and the performance parameters over which they occurred. It may also be used to rate or rank users according to their skills and experience, based on data compiled from users' position monitors. Known network and communications interfaces and devices may be readily included in the position monitor systems for such purposes.
  • Data from the positional sensor may be graphically presented via plotting and animation techniques that are well known.
  • OpenGL available from Silicon Graphics, of Sunnyvale, CA, provides suitable plotting and rendering software for handling data input from the positional sensor.
  • the graphical data may be mapped to actual video footage of a maneuver or trick using automated or manual synchronization of the data points to the video images.
  • one software engine that may be suitable is OpenCV, an open source computer vision library available from Intel Corporation, Santa Clara, CA, USA, http://www.intel.com/technology/computing/opencv/.
  • Fig. 8 shows an example of a graphical plot of a wakeboard maneuver on a graphical user interface (GUI), providing a visualization of a ride.
  • the plot shows the path of travel of the wakeboard 910 while being towed behind a boat.
  • the GUI shows additional information 920 such as height, time, launch angle, jump rotation, acceleration, spin rate, board angles in pitch roll and yaw amongst others to help the user analyze the path.
  • a second board path 930 with which the user may compare his performance.
  • the second board path is, for example, from the recorded data of another rider, allowing for a comparison of performances.
  • the position monitor was disposed in the center of the general plane of the top surface of the wakeboard.
  • the interface also includes an optional profile picture 940, maneuver completion gauge 950, and a G-force meter 960.
  • the inventive subject matter uses multiple position monitors simultaneously to track multiple objects and graphically represent them.
  • each of a number of acrobatic dancers in a choir could wear one or more position monitors.
  • the data collected from each would allow for a graphical representation or visualization of their performances.
  • the information would allow for detailed study of how each dancer relates to one another over the course of a move, routine, or performance.
  • the study of the data could be used, for example, to improve timing and synchronization of moves, spatial relationships, etc.
  • the position monitor could be used as a judging or scoring system.
  • two position monitors could be worn by a pair of participants in a synchronized swimming, diving, skating or like competition to ascertain synchronicities.
  • a given individual could wear multiple devices to show precise movements at joints and appendages active in a move under evaluation.
  • a position monitor may be programmed to allow a user to select from a variety of predetermined equipment types and provide corresponding data, information, and GUIs for particular equipment and/or activities.
  • one selectable equipment type might be a mountain bike.
  • the GUI for mountain biking could display pertinent information, such as angle of a climb, average speed, maximum speed, while a GUI for surfing might display wave height ridden, swell interval, board length, water temperature, etc.
  • the position monitor system could also include other, non-positional sensors.
  • the sensors may be a biometric sensor for heart rate data or an ergometric sensor for power output.

Abstract

A positioning device that records the information about the position and/or rotation of an object or person in at least two dimensions of configuration space. It is particularly directed to a device for determining the position and state of an object or person in three dimensions during a sports or recreational activity, and provides useful information about an activity.

Description

POSITION DETERMINATION SYSTEMS AND METHODS FOR USE IN SPORTING
AND RECREATIONAL ACTIVITIES
Inventors: Johannes van Niekerk and Daniel W. Meyers
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to and the benefit of U.S. Provisional Patent Application Number 61/092,333, filed August 27, 2008 by Johannes van Niekerk and Daniel W. Meyers entitled POSITION DETERMINATION SYSTEMS AND METHODS FOR USE IN SPORTING AND RECREATIONAL ACTIVITIES, which is hereby incorporated by reference as if listed in its entirety herein for all purposes.
BACKGROUND
The inventive subject matter is generally directed to a positioning device that records the position of an object or person in at least one dimension. It is particularly directed to a device for determining the position and state of an object or person in three dimensions during a sports or recreational activity and provides useful information about an activity.
Many sports or recreational activities involve difficult physical maneuvers involving equipment. For example, in the sport of kite surfing, the kite pulls the participant in the air, allowing for acrobatic maneuvers. Likewise, the ocean windsurfer will use the wind to drive the board up the face of a wave to jump off the wave. There is a need across various sport and recreational activities for a mechanism for tracking positions during a maneuver. The device should measure the relative position, velocity, and acceleration of the individual or object to which it is associated. By tracking such data, many forms of information can be provided to enhance the experience and feed various informational systems, such as scoring and training systems.
There are many known position and state measurement devices based on GPS technologies. The known devices have drawbacks that render them inadequate for providing certain kinds of useful information for recreational and sporting activities. For example, US Patent No. 6,415,223, which is hereby incorporated by reference in its entirety for all purposes, uses GPS and accelerometer data in conjunction with Kalman filtering to provide navigational information. However, the patent's method of factoring in the Z position is problematic because of the large errors that occur in GPS data used. The Z position errors may be on the order of meters. A useful positioning device for certain sports and recreational activities should be accurate within a meter. Further, GPS signals are subject to inherent delay in satellite transmission and decoding of signals. Furthermore, GPS technology can be costly. Other prior art systems utilize GPS technology to measure the position of an individual. For example, U.S. Patent 7,162,392, which is hereby incorporated by reference in its entirety for all purposes, illustrates GPS technology integrated into a helmet. Other systems use Inertial Measurement Units (IMU) in conjunction with surface radar as shown in U.S. Patent 6,512,976, which is hereby incorporated by reference in its entirety for all purposes. Other systems use beacon systems as shown in U.S. Patent 7,301,648, which is hereby incorporated by reference in its entirety for all purposes.
Accordingly, there is a need for faster and more accurate position sensors, preferably, but not necessarily, systems that can provide positioning data independent of GPS data. There is also a need for such devices that also process data rapidly and resolve the Z-axis positioning within a meter. Other ways of tracking a participant's position consist of using a video camera and looking for "markers" on the individual by processing each video frame. (See Learning Patterns of Position using Real-Time Tracking, Chris Stauffer and W. Eric L. Grimson, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8, August 2000). The cost of this type of tracking system is prohibitive since it involves a camera, a camera person, and software to analyze the recording images. Furthermore, due to the volume of the data recorded, it may be difficult to process in real-time on conventional computer systems.
In many recreational and sporting events, there is also a need to evaluate a performance, such as a jump or acrobatic maneuver. Unfortunately, these evaluations are subjective determinations made by viewers of live or recorded events. Human error can lead to poor evaluation of the participant and as a consequence lead to an incorrect scoring. Parameters that are typically of interest include the relative orientation of the sporting equipment during the position, the velocity, and the acceleration of the sporting equipment. Accordingly, there is a need for improved systems and methods for evaluating an action or performance. For example, in wakeboarding: How high was a jump? What was the hang time? Was a 720° rotation performed? At what speed did all the positions occur? A classification and evaluation system would aid the participant in self evaluation and improvement of the position during practice. Likewise, there is also a need to integrate the activities of several participants to a monitoring system so that their individual performances can be classified and compared. For example, in the sport of surfing, a "virtual judge" can monitor a "heat" of a group of surfers.
Such a device is not limited to sporting events for human participants. It is well known that there are competitive events for all types of animals, for example, the "Frisbee dog" performs a number of acrobatic maneuvers while participating in this relatively simple game of catch.
The device may also have non-sporting or commercial applications. For example there is a need in the field of time and motion analysis to record the position of an individual without using video cameras.
A requirement for any device is low cost, low weight, and durability. The device should be attachable to multiples types of sporting equipment and/or on the person. The device should have sufficient position resolution requiring that the position of the person engaged in the position be sampled at a sufficiently high enough rate.
There is also a need for a position monitor that can provide state information. There is also a need for a position monitor architecture that may be deployed on low- cost, high-speed embedded processor.
There is also a need for improved systems for graphical representation and data analysis of position and state of one or more individuals or objects in an activity or set of activities to allow for improved evaluation of moves or performances during an activity or activities. Such systems would allow for improved training, coaching, judging, scoring, education, and entertainment systems in the context of such activities. The systems could also lead to improved safety or design in the context of an activity. For example, by analysis of a number of competitors a race course, their interactions at various points could be analyzed to reduce the risk of crashes.
The foregoing problems and needs, as well as various others, are addressed by inventive subject matter described herein.
SUMMARY Therefore, what is needed is a position monitor that can provide state information of the participant in real time, can record this information, can make a determination of the type of position, can transmit this information to a computer system for processing and display, and optionally can integrate the results from multiple position monitors. In some embodiments, the inventive subject matter provides systems for graphical representation and data analysis of position and state of one or more individuals or objects in an activity or set of activities to allow for improved evaluation of moves or performances during an activity or activities. Such systems would allow for improved training, coaching, judging, scoring, education, entertainment systems in the context of such activities. The systems could also lead to improved safety or design in the context of an activity. For example, by analysis of a number of competitors a race course, there interactions at various points could be analyzed to reduce the risk of crashes.
These and other embodiments are described in more detail in the following detailed descriptions and the figures.
The foregoing is not intended to be an exhaustive list of embodiments and features of the inventive subject matter. Persons skilled in the art are capable of appreciating other embodiments and features from the following detailed description in conjunction with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The following figures show embodiments according to the inventive subject matter, unless noted as showing prior art.
Figure 1 is a system overview of the position monitoring system.
Figure 2 is a system block diagram of a representative position monitoring system. Figure 3 is a block diagram of a representative position monitoring subsystem. Figure 4 is a detailed block diagram of a representative position monitoring subsystem.
Figure 5 is a systems diagram of the position monitoring control system.
Figure 6 is a block diagram of the position visualization system.
Figure 7 shows a computer display of visualization information from a position monitor.
Figure 8 shows an example of a graphical plot of a wakeboard maneuver on a graphical user interface (GUI).
DETAILED DESCRIPTION
Representative embodiments according to the inventive subject matter are shown in Figs. 1-8, wherein the same or generally similar features share common reference numerals. In sporting and recreational activities (wakeboard, skate boarding, surfing, skiing, kayak, Whitewater raft, kite board, motorcycle, snowmobile, ice skater, gymnast, dancer), there is a need for improved systems and methods for outputting useful position information for participants. Any such sport, recreational, hobby or arts activities will be referred to hereinafter as merely "sport" or "sports," unless context indicates otherwise. The information may allow, for example, evaluation of a participant's performance; comparison of participant performances; to educate participants; to determine if predetermined actions have been completed; to archive performances. There are many activities where such information would be beneficial. Examples, include, water sports and snow sports such as wakeboarding, kite surfing, surfing, skate boarding, snow boarding, and skiing. The position sensor systems and methods may also be used in other activities, including motor sports on land, water and in air. For example, it could be used by aerobatic pilots. It could be used on motocross stunt riders. It may also be used on people directly, for example, dancers, gymnasts, and divers.
Automatic or manual scoring or judging or other evaluation can based on any combination of change in X, Y, or Z position, rotation in two or more axes, and any sequence or magnitude of changes in position and/or rotation, or based on time over which position changes, rotational changes, or magnitude changes have occurred. It could be based on changes in velocity. A "positional maneuver," as used herein, means any such positional state or sequence, magnitude, and/or timing of positional states. A given maneuver may be automatically compared with known reference values for determining completion of a maneuver. Some embodiments contemplate evaluation of maneuver data for both X, Y, Z position and X, Y, Z rotation of an object in motion.
Figure 1 depicts a representative overall system diagram 10 of an embodiment of inventive subject matter. A position maneuver is tracked for a participant 25 using a position monitor 30 mounted at some point on or proximate to the participant 25 or the participant's equipment 250. The position monitor 30 records information about the relative state of the position of the person or equipment.
Configuration space is the space of possible states a physical system may attain. The inventive subject matter particularly contemplates states based on position, rotation, or acceleration in three dimensions as well as the evolution of these parameters over time. For example, state information about X position and Y position may represent a two-dimensional configuration space, just as X position and X rotation represents a different two-dimensional configuration space. This state information minimally describes 2 parameters but may describe as many as 18 linear kinematic parameters (position, velocity and acceleration on three axes), 18 rotational kinematic parameters (heading, rotation, and acceleration of rotation on three axes), and other parameters such as wind speed, temperature, and participant's heart rate. Selected parameters of configuration space are recorded in the position monitor 30 overtime. Additional parameters that are relatively static may also be tracked such as the type of tow vehicle, biometric data (e.g., height, weight, age, gender), time of day, and equipment parameters (e.g., dimensions of wakeboard, length of towline, make/model, etc). The position monitor communicates information 40 to a position interpretation system 50. Position interpretation system 50, includes, for example, processing software and a display for reading information transmitted 40. The display presents the information for perceptible rendering (e.g., visually or audibly). The hardware includes a transmitter for transmitting data to a remote location, such as a receiver on a tow vehicle 200, e.g., a boat.
A position monitor comprises one or more sensors 310, which output data on determining a position and a processor for determining position from the data. Sensors that may allow for this include, for example, accelerometers, gyros, GPS devices, barometric sensors, and magnetic sensors. Figure 2 depicts a functional block diagram 300 of the position monitor 30. Sensors 310 provide data 315 that may be used to determine location of position monitor 30 at a given point in time. The data 315 are transmitted to a processing subsystem that implements an algorithm for state determination 320. The data 315 consist of analog or digital signals. The signal may be sampled on a periodic basis and in the case of analog signals are converted to digital values. This data 315 are processed by an algorithm that provides state determination 320. State determination consists of reading one or more of the previous states, reading the current position data 315, and calculating a new estimated state. This estimated state 325 is input to the state output 330. The state output 330 transforms the estimated state 325 into parameters that can be processed and recorded by the state capture 340. For example, if the estimate state 325 is a vector of X, Y, Z coordinates of the position monitor 30 and the angular acceleration of the position monitor, the state capture 340 algorithm would transform these coordinates into position, velocity, and acceleration in the same coordinate frame. The state capture 340 also may serve to record, smooth, and reject any outlier data points. The maneuver classification module may be used to analyze a set of normalized data 345 for maneuver classification 350. Figure 3 shows another possible embodiment of a position monitor 400. In this embodiment, the position monitor 400 has a plurality of analog sensor inputs 410 and digital sensor inputs 415 that may be used to determine location of position monitor 400 at a given point in time. At least one analog sensor 410 outputs an analog signal. Other sensors may be analog sensors 410 and/or digital sensors 415. The analog sensors in 410 connect to an input filter 420. The input filter 420 conditions the signals before sampling by an AfD converter 430. The output from the A/D converter 430 and from any digital sensor 415 connects to a recursive filter 440, for example, a Kalman filter. The filter 440 reads the raw data input and estimates the state of the position monitor 400. The output from the Kalman filter 440 is then used to determine the position of the object or individual to which it is attached. The position and sensor information 450 is processed by an interface 460 for perceptibly rendering information from the system. For example, the interface may be a display device.
Figure 4 shows a detailed view of one possible way to implement the position monitor 400. In this embodiment, analog sensors 410 consist of gyros 412 that are aligned along each of the three-axis (X, Y, and Z), accelerometers 414 that are aligned along the three axes, a GPS sensor 415, and magnetic sensors 416. Other embodiments may use digital gyros, digital accelerometers, and/or digital magnetic sensors. Other embodiments may use other types of sensors including a 1-axis gyro, a 2-axis gyro, a 2-axis accelerometer, a Z-axis accelerometer, a 1-axis magnetometer, a 2-axis magnetometer, and/or GPS.
The output from each of the analog sensors 412, 414, and 416 are connected to analog input filters 420, which may include anti-aliasing filters. The output from the filters is multiplexed into a 12-bit Analog to Digital Converter 430, which is incorporated into Digital Signal Processor (DSP) 470, for example, a Texas Instruments model TMS320F28332. The Analog to Digital Converter 430 is sampled at suitable rate, for example, a rate of 600 Cycles per second. This A/D data is input into a recursive filter 440, for example, a Kalman filter. Digital data from GPS sensor 415 is also input into filter 440. Some embodiments may include additional digital sensors input into filter 440. The recursive filter operates to allow determination location of position monitor 400. In this embodiment the filter output data and sensor data may be processed by data processor 450 then stored for later retrieval and/or transmitted to a receiver for real time processing or display. For example, RF transceiver 460 may used to transmit the data.
Figure 5 shows an implementation of a recursive filter in the nature of a Kalman Filter State Estimation system 600. The input to the Kalman Filter State
Estimation 600 are data from GPS searcher 612 magnetometer 615 and the IMU Gyro and Accelerometer 620 readings and/or virtual or assumed data 610 based on assumptions specific to an application. For example, in a wakeboarding application Z (height) may be assumed to be zero. The GPS 612 and magnetometer 612 are used to estimate a heading 625. The IMU Gyro and Accelerometer 620 readings are used to estimate pitch and roll from gravity 635. Pitch, roll, heading, and assumed data 610 are used to perform a measurement update 640 and update the state 630 within the IMU. Sensor errors 645 are derived and used to calibrate future output from the IMU Gyro and Accelerometer 620 readings. The hardware includes a transmitter for transmitting data to a remote location, such as a receiver on a tow vehicle, e.g., a boat. As an example, one suitable configuration consists of a position monitor that is worn by the user. The position monitor may be disposed, for example, on a 50mm x 50mm PCB with an SD card slot interface, an RP interface, an internal DSP, and enclosed in a waterproof case. The hardware on the boat may have an RF interface and a display. Figure 6 shows an alternate configuration of the display hardware that consists of data recorded onto a storage medium, such as an SD Card, for personal computer ("PC") Software visualization and device-based software visualization and playback. Real time data may be sent to a variety of sources including a remote computer system, for example, by a TV broadcast, remote displays, for example, on a boat, and real time feedback to the user, for example by audio signals.
Figure 7 is a "screen capture" of outputs from the sensor hardware and displayed by the ("PC") software. This figure shows one possible embodiment of a display of a time series of three-dimensional positional and rotational information. This embodiment shows the information as a series of discrete line segments 810, each representing data at a single instant of time. Positional space is represented by the location of the line. Rotational space is represented by the orientation of the line. This interface allows a particular time slice to be selected for further detail. The selected time slice is indicated by an icon 820. The orientation at that time is indicated by three axial orientation displays 830, showing pitch, roll, and heading in both analog and digital representations. Acceleration is indicated by three acceleration displays 840 showing both analog and digital representation of acceleration data for each of the X, Y, and Z axes at the selected time slice. Rotation speed is indicated by three spin rate displays 850 showing analog and digital degrees per second. The speed or magnitude of the linear velocity at the selected time slice is indicated by the speed display 860 showing both analog and digital displays. GPS data displays 870 show latitude and longitude data for the selected time slice. A height bar 880 displays height at the current time using a height indicator 885, here a thermometer style display. A time display bar 890 represents the progress of time horizontally and the jump height vertically and allows time slices in the past or future to be selected. The current time slice is shown using an icon 895, here a black dot and vertical bar. The height of the curve is the apex of a jump 896. Motion controls 897 allow the time series to be animated as a movie.
One implementation of the position monitoring system relates to the scoring of position event. A position event is the measurement of a series of positional changes over time. For example, a wakeboarder may attempt to perform a 360-degree rotation and based on the data from the position monitor, the system may classify the trick as completed or not, or indicate varying degrees of completion. Example tricks pertinent to wakeboarding may be found, for instance, at http://www.wakeboarder.com/tricks/tricklist.phtml. A scored, judged, or otherwise positional event can be triggered based on a change in a reference point. For example a change in the Z-axis, would be considered a "hop". As indicated previously, a position event could be determined according to rotational movement while airborne, for example rotation about the Z-axis. Judging may be based on a numerical score or other rating of the positional maneuver (e.g., "good," "bad," "completed," or "incomplete"). During operation, the participant may "frame" a particular position event by using an initiator and/or switch. For example, the use may manually activate a switch or a pressure sensor may be used to sense a change in pressure, thereby activating automatically a switching circuit. Alternatively, other methods such as a quick tap on the device itself or an inductive sensor sensing proximity of, for example, a hand, are also contemplated.
The applications include all those mentioned in the Background section and elsewhere herein, e.g., wakeboarding and water skiing. Numerous performance criteria may be monitored, measured and recorded, from simple jump-height measurement to using 3D real time or recordings of a performance over some or all of course over which the performance occurred.
In one possible embodiment, the inventive subject matter is directed to a device that uses a relatively inexpensive Inertial Measurement Unit (IMU). In certain embodiments, the IMU runs a recursive filter, such as a Kalman filter. The display device may be a small, inexpensive LCD readout. The sensor hardware also records the processed data to a storage device so that the consumer can replay the data in 3D on a PC.
The recursive filter algorithm may consist of 2 stages, a state prediction based on a system model and a measurement update based on sensor observations. In one possible embodiment of the inventive subject matter, a Kalman filter does both of these at a suitable rate, for example, 600Hz. The Kalman filter continuously integrates the inertial sensors to estimate the device position and uses the measurements to remove drift of the estimated states.
The filter algorithm tracks one or more and any combination of, or derivative of, the following 16 states provided by sensor inputs 410: o 4 quaternions that represent rotation of the device in 3 axes (X5Y5Z).
o three positions (X5Y5Z) o 3 velocities (X5Y5Z)
o 3 gyroscope sensor bias values
o 3 accelerometer sensor bias values
The accelerometer and gyro bias values are tracked if low cost sensors are used because the low cost sensors typically would not have zero output at zero input of their respective measurement signals. These biases are then subtracted to make the other system state updates more accurate. In further implementations, the inventive subject matter is directed to a position monitor that is based on a single sensor or combination of sensors that provide data on a positional state of an associated individual or object relative to one or more of an X5 Y and/or Z axis. Positional devices may include GPS devices, accelerometers, gyroscopes, magnetometers, barometric sensors, optical sensors, acoustical sensors, and/or radar sensors. Another possibility is the use of electro and/or mechanical sensors. For example, an angular potentiometer or encoder may be associated with a tow rope for wakeboarder to determine angle of a tow rope of a known length to determine height position.
In some embodiments, the inventive subject matter operates by initializing the position monitor to a known state using assumptions about the particular position event to properly initialize the estimates for recursive filtering. First, an assumption is made that the board is traveling in the direction of its magnetic heading with a positive pitch angle to update the X, Y measurements. A second assumption is that the minimum height of the board from the water is always zero. This still allows us to measure jumps since high frequency actions such as a jump will still be integrated. This assumption allows us to determine the baseline for jumps and bias values of the accelerometers. These two assumptions eliminate the requirement for a GPS (Global Positioning
System) sensor.
However, the integration of a GPS system will provide further system accuracy. Use of the GPS will replace the X, Y assumption with real sensor data but the height assumption will continue to be used in addition to the GPS data. The GPS unit can be on- board or optionally at another known location where the distance to the participant is known. For example a remote GPS system could be on a scoring system located on the beach, a known distance from a group of surfers who are using the position monitoring system.
In some embodiments, the inventive subject matter updates the internal filter or Kalman filter at a high rate relative to the position of the participant. This rapid updating provides for reduction in error in measurements and ability to eliminate data outliers due to noise.
In some embodiments, the inventive subject matter relies on an on-board digital signal processor that allows for the low cost of production. Other implementations of the inventive subject matter consist of a position monitor with an integrated LCD display device. This LCD display device would allow visual monitoring of the position event, in addition to other parameters that are of personal importance to the participant. For example, in the sport of surfing, the inventive subject matter could be attached to a surfboard. The participant could perform an "off the lip" and immediately see his score on the LCD display. Other implementations of the inventive subject matter include local wireless and/or infrared communication links between the position monitors. For example, the participants can engage in "heats" (a "heat" is a given event in a set of multiple events) and by moving the position monitors close to each other automatically exchange information that allows for the ranking of the individual in that heat.
Potential applications for the position monitor in water sport applications include the following:
• Wakeboard, water ski, kneeboard manufacturing (position monitor to analyze performance under controlled conditions) • Boat manufacturing (position monitor to analyze quality of pull, given constant inputs from one boat setting to the next)
• Athlete Training (anyone serious about training will benefit from information that is accurate about what is happening with their ride)
• Bragging Rights/Fun (recreational riders will want to compare their performance against their friends in the boat ... "who went higher, who threw more G's, who actually pulled a full 540?" etc.)
• Competitive Judging (for use in industry events to judge various aspects of performance - height, spin rates, g-forces, etc.).
The following discussion illustrates how to determine if a trick or other particular positional maneuver has been performed, and how to match tricks and other positional maneuvers with reference profiles of positional maneuvers stored in a database. The database and a processor for making comparisons may be on-board and coupled to the position monitor, or they may be remotely located and in communication via a data link (e.g., RF, USB, etc.) or network channel (e.g., LAN, Internet, etc.). A performed trick path or other positional maneuver can be compared against a data in a data base of classified reference profiles. For example, the position, rotation, and velocities can be compared at each point in the trick over the time of the trick. For each classified trick, a deviation magnitude (error) of the performed trick to the classified trick can be calculated. If the trick exists in the database, it will be the one with the smallest deviation to the performed trick. Other factors such as angles rotated about certain axes can be used to classify tricks broadly into groups to narrow the comparison search field. For example, if you have not completed a certain amount of rotation, many tricks can be excluded from the list of possibilities. For illustrative purposes, this is a description of a very simplified approach. A practical solution will weigh different errors by different amounts. For example, the trick height can vary much from trick to trick of the same type so this deviation will not be heavily penalized in the algorithm. Angles rotated about an axis will be far more rigidly evaluated; an inverted trick cannot have been completed if a rotation about an axis is not recorded. Example code for measuring spinning of an object during a jump and spin trick, and example pseudocode for a general matching algorithm, are as follows: Spin Measurement
if( (airborne == FALSE) && (dataln.z > JUMP_THRESHOLD) ) // START OF JUMP DETECTION
{ airborne = TRUE; jumpStartTime = TIME; initialHeading = heading; jumprot = 0;
if(airborne == TRUE) // WHILE IN THE AIR
{ jumprot += Wrap_error((heading)-(initialHeading)); // Total rotation about yaw axis initialHeading = heading; hangTime = TIME-jumpStartTime;
} if( dataln.z < LAND_THRESHOLD ) // JUMP END
{ airborne = FALSE;
} float Wrap_error( float error )
{ float out error; if (error > 180) out error = error -360; else if( error < -180) out error = error +360; else out_error = error; return out error;
Pseudo code for maneuver matching algorithm
Prerequisites: A database of maneuvers from which an unknown maneuver may be classified. For each maneuver the database contains the position and attitude of the maneuver trajectory and attitude for all points in time during the maneuver. Terminology: The maneuver to be classified will be referred to as the unknown maneuver, the maneuvers that are already classified and stored in the database are referred to as database or classified maneuvers.
Narrow search range using multiple broad classification parameters, for example how many degrees the sensor rotated about an axis during the unknown maneuver.
if unknown maneuver has a total axis spin angle of 720 degrees or more then classify from maneuvers in database with 720 or more else if unknown maneuver has total axis spin angle of 360 or more then classify from maneuvers in database with 360 to 720 else then classify from 0 to 360 end
Note: Above is just one example for a spin trick to keep it simple and easy to follow. The matching algorithm would check for many other parameters, such as time taken to complete unknown maneuver, height at apex of unknown maneuver, etc. Normalize the unknown maneuver to a standard database maneuver size and initial yaw angle direction. For example all of the classified maneuvers have been scaled to have a duration of 1 second and an initial position of x = 0, y = 0, z = 0, yaw angle = 0 or all points in unknown maneuver trajectory scale x,y,z position by ratio of unknown maneuver duration to database maneuver duration end Calculate the difference of the completed maneuver to each of the classified maneuvers in the selected database. This is typically done with a least squares error algorithm performed temporally for each point in the maneuver. The parameters al to a6 are weights so that certain errors may be given more influence than others. These may be determined experimentally. The error includes not only error in x,y,z position but also in attitude (pitch_angle,roll_angle,yaw_angle). Since most maneuvers are judged to be a certain sequence of rotations, the weights on the attitude errors will likely be higher than the weight on the x,y,z position errors. (Imagine a wakeboarding 360, the x,y,z position of this trajectory might match a normal (no rotation) jump very closely. Only in matching the angles over time can this maneuver be identified, the x,y,z position gives very little information). for each maneuver in database for each point over time in database maneuver trajectory find temporally matching point in normalized unknown maneuver calculate error between unknown and database points as follows: point_error = al *sqrt(( x_database - x_μnknown)A2) + a2 *sqrt(( y_database -y_unknown)A2) + a3 *sqrt(( z database - z_unknown)A2) + a4 *sqrt(( pitch_database - pitch_unknown)A2) + a5 *sqrt(( roll database - roll _unknown)A2) + a6 *sqrt((yaw_database -yaw_unknown)A2) cumulative _error = cumulative _err or + point _error end end
Now we have an error magnitude between the unknown maneuver and each classified maneuver in this database. The database maneuver with the smallest error can then be considered as a match if it meets certain criteria. These criteria might be a maximum threshold for allowable error. for each maneuver in database if this error less than smallest error then this maneuver is most likely fit smallest error = this error likely maneuver = this maneuver end end if smallest error < ERROR THRESHOLD then we have a match, return this likely database maneuver identifier as an identifier for the unknown maneuver end
The system may include an association of a rating, such as scoring points, for a stored profile. On recognition of a profile, the systems would calculate or determine the appropriate score or other rating. For a plurality of profiles recognized, the system would produce a total score. It could also rank participants by rating or score.
In rating a positional maneuver, there are a number of components that may be considered. For example, scoring points could be based on number of factors, such as number of tricks performed, degree of difficulty of a trick, and style of the executed trick.
The system can include an algorithm implemented in software for determining style. For example, one style factor is the magnitude of the trick or maneuver. One 360- degree maneuver could be ranked as having higher style points if it occurs at a higher height than a predetermined or the height relative to another performer. The smoothness of a data curve for a trick could also be a style factor. The smoothness is compared to a benchmark trick or other positional maneuver profile, for example. If the curve is too steep or too shallow relative to the curves of the benchmark, style points are adjusted accordingly. Other parameters that may be used to determine a rating or other performance attribute may include, for example, hardness of landing or impact; the smoothness of acceleration or deceleration in terms of spin rates; g-force measurements; jump trajectories and pathways; and position of execution in a profile. Similarly, erratic data may indicate lack of style and execution. Scoring may also factor in the number of tricks performed, their sequence, and variation from a baseline, e.g., if height goes above 10cm. Curve fitting may be used against pre-recorded trajectories for scoring.
Comparison can be of a single maneuver or sequence of the same or different maneuvers, and quantification of an attribute, e.g., how long it took to accumulate one minute of air. The system may also be configured to provide a threshold alert, e.g., a buzzer or lights, indicating a successful maneuver or quantification has been achieved.
In other embodiments, the system tracks and stores non-positional parameters of performance and uses those to recommend parameters for future performance. For example, in wakeboarding the system could track boat speed over which successful jumps or tricks have been performed. Other parameters could include wind speed, temperature, type of tow vehicle, biometric data (e.g., heart rate, height, weight, age, gender) time of day, and equipment parameters (e.g., dimensions of wakeboard, length of towline, make/model, etc). The boat speed at which the best jumps or tricks have occurred is associated with a trick profile as the "optimum speed." In a future event, the driver of the boat could select from a database of tricks and the stored optimum speed or other performance parameter would be indicated.
If biometric and equipment parameters are tracked, the system would allow determination of the optimum kind of equipment for a particular rider to perform a particular trick, e.g., wakeboard size or other characteristics. It could also allow ratings of equipment for their performance. For example, the system could indicate that one model of wakeboard statistically outperforms another. Equipment ratings could be presented on a website connected with sales of equipment, enabling more informed purchase decisions. The system may also provide for acquiring data from a plurality of users over a data network, such as the Internet, to create a database of tricks over which optimal parameters, such as boat speed are determined. The position monitor system may also share data among users via conventional data base systems and via an online website so that users may compare data on their positional maneuvers, performance history, and the performance parameters over which they occurred. It may also be used to rate or rank users according to their skills and experience, based on data compiled from users' position monitors. Known network and communications interfaces and devices may be readily included in the position monitor systems for such purposes.
Data from the positional sensor may be graphically presented via plotting and animation techniques that are well known. For example, OpenGL available from Silicon Graphics, of Sunnyvale, CA, provides suitable plotting and rendering software for handling data input from the positional sensor. Further, the graphical data may be mapped to actual video footage of a maneuver or trick using automated or manual synchronization of the data points to the video images. For example, one software engine that may be suitable is OpenCV, an open source computer vision library available from Intel Corporation, Santa Clara, CA, USA, http://www.intel.com/technology/computing/opencv/.
Fig. 8 shows an example of a graphical plot of a wakeboard maneuver on a graphical user interface (GUI), providing a visualization of a ride. The plot shows the path of travel of the wakeboard 910 while being towed behind a boat. The GUI shows additional information 920 such as height, time, launch angle, jump rotation, acceleration, spin rate, board angles in pitch roll and yaw amongst others to help the user analyze the path. Also shown is a second board path 930 with which the user may compare his performance. The second board path is, for example, from the recorded data of another rider, allowing for a comparison of performances. In this example, the position monitor was disposed in the center of the general plane of the top surface of the wakeboard. The interface also includes an optional profile picture 940, maneuver completion gauge 950, and a G-force meter 960.
In some embodiments, the inventive subject matter uses multiple position monitors simultaneously to track multiple objects and graphically represent them. There are many applications for this in any endeavor, including team sports, dance, motorsports, racing, etc. For example, each of a number of acrobatic dancers in a troupe could wear one or more position monitors. The data collected from each would allow for a graphical representation or visualization of their performances. The information would allow for detailed study of how each dancer relates to one another over the course of a move, routine, or performance. The study of the data could be used, for example, to improve timing and synchronization of moves, spatial relationships, etc. In other applications, the position monitor could be used as a judging or scoring system. For example, two position monitors could be worn by a pair of participants in a synchronized swimming, diving, skating or like competition to ascertain synchronicities. A given individual could wear multiple devices to show precise movements at joints and appendages active in a move under evaluation.
In some embodiments, a position monitor may be programmed to allow a user to select from a variety of predetermined equipment types and provide corresponding data, information, and GUIs for particular equipment and/or activities. For example, one selectable equipment type might be a mountain bike. The GUI for mountain biking could display pertinent information, such as angle of a climb, average speed, maximum speed, while a GUI for surfing might display wave height ridden, swell interval, board length, water temperature, etc. Depending on the activity, the position monitor system could also include other, non-positional sensors. In the case of bicycling, for example, the sensors may be a biometric sensor for heart rate data or an ergometric sensor for power output.
Persons skilled in the art will recognize that many modifications and variations are possible in the details, materials, and arrangements of the parts and actions which have been described and illustrated in order to explain the nature of the inventive subject matter, and that such modifications and variations do not depart from the spirit and scope of the teachings and claims contained therein.
All patent and non-patent literature that may be cited herein is hereby incorporated by reference in its entirety for all purposes.

Claims

CURRENTLY CLAIMED INVENTIONS:
1. A computer implemented method of estimating a positional state of an object used in a sport, comprising: sampling data from a set of one or more sensor inputs on a computer and inputting into a recursive function for estimating an X, Y, and Z positional and rotational state of the object using the data on a computer; providing a position-specific reference value for each of an X, Y, and Z positional state on the computer based on the sport; inputting the reference values into the recursive function to refine the estimate of positional state and rotational state and to compute bias errors of the sensors; and outputting the positional and rotational state of the object.
2. The method of claim 1 wherein the recursive function comprises a Kalman filtering function.
3. The method of claim 1 wherein the position specific reference value for the Z (height) position has a steady-state value of about zero.
4. The method of claim and of claims 1-3 wherein the X and Y reference values are determined based on the pitch angle and heading of the object used in the sport.
5. The method of any of claims 1 -4 wherein the data output is further processed so that it is visually presentable via a rendering device, such as a computer or TV display or printer.
6. A computer implemented method for evaluating a performance of action performed over an X, Y, and/or Z axis, comprising: reading data collected or derived from a position sensor associated with an individual or object active in a sports maneuver on a computer; and outputting a comparison of the data to predetermined criteria for evaluating the completion of a positional maneuver on a computer.
7. The method of claim 6 wherein the maneuver comprises and is evaluated for both X, Y, Z position and X, Y, Z rotation.
8. The method of claim method of claim 6 wherein the maneuver comprises and is evaluated for timing and/or magnitude of execution relative to the Z axis.
9. The method of claim 6 wherein the maneuver is evaluated for completion of 90 degree rotational increments relative to a change of heading, roll, and/or flip.
10. A position monitor, comprising a one or more position sensors and processor configured for: sampling data from a set of one or more sensor inputs and inputting into a recursive function for estimating an X, Y, Z positional and rotational state of an object used in a sport; and providing a position-specific reference value for each of an X, Y, and Z positional state based on the sport, and inputting the reference values into the recursive function to refine the estimate of positional state and rotational state and to compute bias errors of the sensors; and outputting the position-specific reference values.
11. A computer-implemented method for measuring completion of a maneuver comprising: recording data in at least two dimensions of a configuration space for an individual or object used in a sports activity on a computer; comparing the data to predetermined criteria for evaluating the completion of a maneuver related to the activity on the computer; and determining a degree of completion of the maneuver on the computer; and outputting the degree of completion from the computer.
12. The method, monitor, or system of any one of claims 1-11 wherein the data is processed for perceptible rendering through an output device such as a computer or TV display or printer, and the rendering communicates to a user a degree of completion of the maneuver.
13. The method, monitor or system of any of claims 1-11 wherein there is configuration for an output of a graphical representation or visualization of the performance of the maneuver.
14. The method, monitor or system of claim 13 wherein there is configuration for comparison of multiple maneuvers that were performed in the same or different time frames.
15. The method, monitor, or system of any of claims 1-14 wherein there is a configuration for using the data to score, judge, or train against one or more stored references.
16. The method, monitor, or system of claim 15 wherein there is configuration for using maneuver data and identifying a corresponding maneuver (if any) in a stored set of reference profiles, each representing a predetermined maneuver, comparing a degree to which the maneuver data represents matches the stored reference profile, and outputting data indicating a degree of match.
17. The method, monitor, or system of claim 16 wherein the data indicating a degree of match comprises a numerical score or other rating of the maneuver.
18. The method, monitor, or system of claim 16 wherein the data indicating a degree of match comprises a visual or graphical representation of the maneuver performed against a visual or graphical representation of the reference profile.
19. The method, monitor, or system of claim 16 wherein the rating is based on number of tricks or other moves, degree of difficulty, and/or overall style.
20 The method, monitor, or system of claim 16 wherein the comparing uses evaluation of data smoothness, curves and position of execution in a reference profile.
21. A method of scoring an event wherein positional maneuvers of a plurality of participants are evaluated, comprising: associating a position monitor with each of a plurality of participants; acquiring data from positional maneuvers performed by each participant; using positional maneuver data and identifying a corresponding positional maneuver (if any) in a stored set of reference profiles, each representing a predetermined positional maneuver, comparing a degree to which the positional maneuver data represents matches the stored reference profile, and outputting data indicating a degree of match.
22. The method, monitor, or system of any of claims 22 further comprising one or more additional position monitors attached to a given object so as to acquire and process positional data on different parts of the object, enabling graphical or visual representation and/or ratings of a positional maneuver according to each part of the object in the positional maneuver.
23. The method, monitor, or system of any of claims 1-13 wherein there is a configuration for exchanging data with a remote computer system, the computer system compiling information from a plurality of users of position monitors, and providing for one or more of (1) storing profiles of positional maneuvers completed and optionally associated non-positional performance parameters; (2) sharing information among users related to their positional maneuver; optimization of non-positional performance parameters; (3) equipment ratings, recommendations or offerings based on processing of compiled data.
24. The method, monitor, or system of any of claims 1-13 wherein there is a configuration for a plurality of graphical user interfaces, each rendering data for a specific sport or other activity.
PCT/US2009/055246 2008-08-27 2009-08-27 Position determination systems and methods for use in sporting and recreational activities WO2010025294A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9233308P 2008-08-27 2008-08-27
US61/092,333 2008-08-27

Publications (1)

Publication Number Publication Date
WO2010025294A1 true WO2010025294A1 (en) 2010-03-04

Family

ID=41721936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/055246 WO2010025294A1 (en) 2008-08-27 2009-08-27 Position determination systems and methods for use in sporting and recreational activities

Country Status (1)

Country Link
WO (1) WO2010025294A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112239A1 (en) * 2015-12-22 2017-06-29 Intel Corporation Sensor network for trick classification
EP3201569A4 (en) * 2014-10-01 2018-06-20 Intel Corporation Methods and systems for vertical trajectory determination

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080002165A1 (en) * 2004-11-12 2008-01-03 Fujifilm Corporation Method And Apparatus For Producing Printed-Circuit-Board
US7346194B2 (en) * 2002-10-10 2008-03-18 Mitsunori Miki Method and apparatus of measuring rotational and flight characteristics of sphere

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346194B2 (en) * 2002-10-10 2008-03-18 Mitsunori Miki Method and apparatus of measuring rotational and flight characteristics of sphere
US20080002165A1 (en) * 2004-11-12 2008-01-03 Fujifilm Corporation Method And Apparatus For Producing Printed-Circuit-Board

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3201569A4 (en) * 2014-10-01 2018-06-20 Intel Corporation Methods and systems for vertical trajectory determination
US10222213B2 (en) 2014-10-01 2019-03-05 Intel Corporation Methods and systems for vertical trajectory determination
US10240929B2 (en) 2014-10-01 2019-03-26 Intel Corporation Methods and systems for vertical trajectory determination and automatic jump detection
WO2017112239A1 (en) * 2015-12-22 2017-06-29 Intel Corporation Sensor network for trick classification
US9977953B2 (en) 2015-12-22 2018-05-22 Intel Corporation Sensor network for trick classification

Similar Documents

Publication Publication Date Title
US11341864B2 (en) Wireless metric calculating and feedback apparatus, system, and method
JP6740196B2 (en) Robotic training system and method
CN105749548B (en) Information processing apparatus, information processing method, and program
US8027785B2 (en) Homing display system and method
CN103752006B (en) GPS features and function in sports watch system
US20140278218A1 (en) Capturing and Analyzing Boardsport Maneuver Data
CN106030247A (en) Device for measuring a cycling cadence
AU2015258753B2 (en) Monitoring surfing
US20110164044A1 (en) Preparation method for the virtual reality of high fidelity sports and fitness equipment and interactive system and method based on the virtual reality
KR20110030430A (en) System for simulating events in a real environment
US20150097700A1 (en) Team performance monitoring
US20170352226A1 (en) Information processing device, information processing method, and program
US20160045785A1 (en) Action sports tracking system and method
CN105144246A (en) Systems and methods for synchronized display of athletic maneuvers
US20160223578A1 (en) Systems and methods for tracking motion, performance, and other data for an individual such as a winter sports athlete
Groh et al. Classification and visualization of skateboard tricks using wearable sensors
US20180050769A1 (en) Motor Control System Based upon Movements Inherent to Self-Propulsion
Holleczek et al. Recognizing turns and other snowboarding activities with a gyroscope
Tjønnås et al. Assessment of basic motions and technique identification in classical cross-country skiing
WO2010025294A1 (en) Position determination systems and methods for use in sporting and recreational activities
US20230202638A1 (en) Motor Control System Based upon Movements Inherent to Self-Propulsion
Lee Feature extraction and classification of skiing/snowboarding jumps with an integrated head-mounted sensor
CA2620278A1 (en) Exercise incentive

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09810609

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09810609

Country of ref document: EP

Kind code of ref document: A1