Body Worn Sensor Systems and Methods for Monitoring Exercise Activities
The body-worn sensor system addresses the limitations of existing exercise monitoring by using multiple sensors to provide real-time feedback on technique and intensity adjustment, improving exercise performance and compliance.
Patent Information
- Authority / Receiving Office
- US · United States
- Patent Type
- Applications(United States)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2026-03-19
AI Technical Summary
Existing exercise monitoring systems rely on coaches or expensive equipment, are location-specific, and lack effective feedback for improving exercise technique and compliance.
A body-worn sensor system that compares user motion with target motion information to provide feedback on exercise form, technique, and readiness for increased difficulty levels, using sensors on multiple body parts to track coordinated movements.
Enhances exercise performance by providing real-time feedback, ensuring proper technique, and adjusting exercise intensity based on user capability, without the need for trainers or specialized equipment.
Smart Images

Figure US20260077230A1-D00000_ABST
Abstract
Description
[0001] This application claims the benefit of provisional patent application U.S. 63 / 620,865, filed Jan. 14, 2024, the entirety of which is incorporated herein by reference.FIELD
[0002] The described embodiments relate to sensor systems and methods for monitoring a user's performance of exercise activities.BACKGROUND
[0003] The benefits of exercise to a person can vary depending on the person's consistency and technique in performing exercise activities. Existing methods for improving compliance with exercise programs and technique in performing exercise activities frequently require reliance on a coach or trainer, the use of impractical or expensive training equipment, are limited to use in specific locations or with specific exercise equipment, or suffer from a combination of these and other shortcomings. There is a need for an improved exercise monitoring system.SUMMARY
[0004] The embodiments described herein relate generally to body worn exercise sensor systems and methods for using such systems. A body worn exercise system includes a set of body worn sensors. A person using the system, who may also be referred to as a user of the system, wears a plurality of sensors while exercising. Each sensor senses the motion of a part of the user's body, typically including one or more the user's arms, legs and chest. As the user exercises, the motion of each sensor corresponds to motion of the user's body part on which it is worn or mounted.
[0005] In a first aspect, some embodiments provide a system in which motion of a plurality of sensors is compared to target motion information. The target motion information defines a target or desired motion for the sensors. For example, the target motion information may define a target initial position and target end position for each repetition (or “rep”) of an exercise activity Typically, the motion of at least two sensors positioned on corresponding body parts will be compared to target motion information for those sensors.
[0006] The system may provide feedback to the user based on the comparison. The feedback may include feedback provided during performance of the exercise activity including a count of repetitions completed, directions to improve the user's technique or form while performing the exercise, confirmation that the user is performing the exercise well or a combination of these and other types of feedback. In some embodiments, the feedback may include audio, video or haptic feedback. Feedback may also be provided after the completion of an exercise activity or a program of exercise activities (i.e. a workout). For example, the system may determine that the user has performed an exercise activity with sufficient competence individually or in combination with other exercise activities during a workout or over several workouts that the user is ready to perform the exercise activity at an increased level of difficulty, for example, with additional resistance or weight, or with a more challenging motion. Similarly, the system may determine that the user is performing the exercise activity poorly or at too high a level of difficulty and should perform the exercise with lower resistance or weight, or otherwise modify the exercise to reduce the level of difficult.
[0007] Target motion information may define the motion of the body worn sensors during performance of an exercise activity with good form. For some exercise activities, target motion information may define that several body parts move in a coordinated manner. For example, in the performance of a bench press, a user's arms will typically move in a generally parallel motion. As a result, sensors positioned on the user's left and right forearms will move in a corresponding generally parallel motion.
[0008] When a person performs an exercise activity, there will typically be some variability in the motion between one repetition of the exercise activity and another repetition even if the person is performing the exercise with good form. For example, a user may move a body part faster or slower, or in a different motion path during different reps of the exercise activity. Similarly, when a person is performing an exercise activity in which the motion of several of the person's body parts is coordinated, the motion of the several body parts will have typical variability between them in both the timing and the path of motion of the body parts. Target motion information is preferably defined in a manner that allows for such variability when comparing the user's actual motion with the target motion information.
[0009] The user's performance of the exercise activity during some reps, for example, as the user fatigues, may vary such that the difference between the user's actual motion during a rep of the exercise activity differs sufficiently from the target motion information for the exercise activity that the user is no longer performing the exercise activity with good form. Target motion information may be defined to allow a sufficient deviation between the user's actual motion and the desired motion for an exercise activity to be distinguished to determine whether a repetition of an exercise activity has been completed, or to determine if a repetition of an exercise activity has been completed with acceptable form, or to provide feedback based on the comparison to assist the user in performing the exercise activity with better form.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Various embodiments will now be described with reference to the drawings, in which:
[0011] FIG. 1 illustrates an example body worn exercise monitoring system;
[0012] FIG. 2 illustrates a sensor hub and a body worn sensor;
[0013] FIG. 3 illustrates a user wearing a plurality of sensors with a raised arm;
[0014] FIGS. 4a and 4b illustrate a user performing an exercise activity illustrating coordinated motion;
[0015] FIGS. 5a, 5b and 5c illustrate a user performing another exercise activity illustrating coordinated motion;
[0016] FIG. 6 is a flowchart illustrating a method for generating and storing target motion information;
[0017] FIGS. 7a and 7b illustrate a user performing an exercise activity; and
[0018] FIG. 8 is a flowchart illustrating a method for monitoring an exercise activity and providing feedback to a user.DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0019] Various example embodiments are described herein. Numerous specific details are set forth in order to provide a thorough understanding of the example embodiments. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description is not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing the implementation of the various embodiments described herein.
[0020] It should be noted that terms of degree such as “substantially”, “generally”, “about” and “approximately” when used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree should be construed as including a deviation of the modified term if this deviation would not negate the meaning of the term it modifies.
[0021] In addition, as used herein, the wording “and / or” or “or” is intended to represent an inclusive-or. That is, “X and / or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and / or Z” is intended to mean X or Y or Z or any combination thereof.
[0022] The terms “including,”“comprising” and variations thereof mean “including but not limited to,” unless expressly specified otherwise. A listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms “a,”“an” and “the” mean “one or more,” unless expressly specified otherwise.
[0023] As used herein and in the claims, two or more elements are said to be “mounted”, “coupled”, “connected”, “attached”, or “fastened” where the parts are joined or operate together either directly or indirectly (i.e., through one or more intermediate parts), so long as a link occurs. As used herein and in the claims, two or more elements are said to be “directly coupled”, “directly connected”, “directly attached”, or “directly fastened” where the element are connected in physical contact with each other. None of the terms “coupled”, “connected”, “attached”, and “fastened” distinguish the manner in which two or more elements are joined together.
[0024] The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments,”“some embodiments”, “various embodiments” and “one embodiment” and other similar terms mean “one or more (but not all) embodiments of the present invention(s),” unless expressly specified otherwise.
[0025] The embodiments of the systems and methods, and components of the systems and methods, described herein may be implemented in hardware or software, or a combination of both. These embodiments, or portions of some components of the embodiments, may be implemented in computer programs executing on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface. For example and without limitation, the programmable computers may be a server, network appliance, embedded device, computer expansion module, a personal computer, laptop, personal data assistant, cellular telephone, smart-phone device, tablet computer, a wireless device or any other computing device capable of being configured to carry out the methods described herein.
[0026] In some embodiments, the communication interface may be a network communication interface. In embodiments in which elements are combined, the communication interface may be a software communication interface, such as those for inter-process communication (IPC). In still other embodiments, there may be a combination of communication interfaces implemented as hardware, software, and any combination thereof.
[0027] Program code may be applied to input data to perform the functions described herein and to generate output information. The output information is applied to one or more output devices, in known fashion.
[0028] Each program may be implemented in a high-level procedural or object oriented programming and / or scripting language, or both, to communicate with a computer system. The programs may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program may be stored on a storage media or a device (e.g. ROM, magnetic disk, optical disc) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. Embodiments of the system may also be considered to be implemented as a non-transitory computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
[0029] Furthermore, the system, processes and methods of the described embodiments are capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, wireline transmissions, satellite transmissions, internet transmission or downloadings, magnetic and electronic storage media, digital and analog signals, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.
[0030] Reference is made to FIGS. 1 and 2. FIG. 1 illustrates an example body worn exercise monitoring system 100 comprising a sensor hub 102, a plurality of body worn sensors 104, a system server 130, and a user device 132. Each of the sensors 104 is in communication with the sensor hub 102. In this example embodiment, the sensors 104 communicate with the sensor hub 102 through a communication network 116 (illustrated by dashed lines).
[0031] Sensor hub 102 and its components may be provided in hardware or in software or a combination of hardware and software elements. In various embodiments, the sensor hub 102 may be integrated with one or several of the sensors. In various embodiments, some or all of the elements of sensor hub 102 may be integrated with one or several of the sensors. In some embodiments, the sensor hub 102 may be integrated with or operate on the user device 132 or another computing device.
[0032] Sensor hub 102 includes a motion data collection module 106 coupled to a hub communication module 108.
[0033] In this example embodiment, sensors 104 include a chest sensor 104c, arm sensors 104al and 104ar and leg sensors 104ll and 104lr. Each sensor 104 includes a sensor controller 110, coupled to a motion sensing module 112 and a sensor communication module 114.
[0034] When system 100 is in operation, sensors 104 are coupled to sensor hub 102 to allow data communication through a communication network 116 (illustrated by dashed lines). Communication network 116 may include any combination of wireless and wired links, including direct point-to-point connections, network connections, a location area network, a wide area network, personal area network, the Internet, or any other communication system, or any combination of such communication links or systems. The communication network may be implemented using one or more communication protocols. For example, the communication network 116 may be provided with Bluetooth, WiFi or other wireless communication protocols, or a combination of protocols. The communication network may provide for wired communication using IP (internet protocol) or other communication protocols. The communication network may provide for wireless or wired communication using any standard or proprietary protocols, and may be provided with any combination of protocols or standards.
[0035] Sensor hub 102 is in communication with user device 132 through a data communication network 134. In some embodiments, the system hub 102 may be in communication with the user device 132 through a direct connection such as a Bluetooth data connection, or any other communication protocol, standard or connection. Referring also to FIG. 3, in some embodiments the sensor hub 102 may be implemented on the user device 132. For example, the sensor hub 102 may be implemented as part of a user application 136 or as a software program, module or application operable on the user device.
[0036] The user application or app 136 is installed on the user device. The user app 136 will typically be software that is executable on the user device and which provides a user interface and other functionality. A user a may use the user app to access system 100.
[0037] In embodiments where the sensor hub 102 is implemented on the user device 132, the sensor hub 102 may be implemented as part of the user app 136. In such an embodiment, the sensor hub 102 may share components with the user app or the user device. For example, the hub communication module 108 may be implemented using communication elements of the user device, the user app or both.
[0038] In FIG. 1, body worn sensors 104 are illustrated as worn by a user 120. Chest sensor 104c is positioned on the user's chest 122. Left arm sensor 104al is positioned on the user's left arm 124. Right arm sensor 104ar is positioned on the user's right arm 126. Left leg sensor 104ll is positioned on the user's left leg 128. Right leg sensor 104lr is positioned on the user's right leg 130.
[0039] Sensors may be mounted in any manner that retains the sensors in a relatively consistent position on the user's body. For example, sensors may be mounted to a strap that is positioned on the body. Sensors may be mounted to the user using tape, such as removable double sided tape. Sensors may be mounted to clothing worn by the user. For example, sensors may be mounted to clothing using hook and loop fasteners. Sensors may be inserted into pockets or pouches provided in clothing. Sensors may be mounted in any other manner that retains the sensors in a relatively consistent position on the user's body and allows the sensors to move when the user's respective body parts are moved.
[0040] In this example embodiment, communication network 116 may be a wireless communication network that allows the sensor communication module 114 in each sensor 104 to communicate with hub communication module 108. In an embodiment in which the sensor hub is integrated into a user device, the hub communication module 108 may include communication components of the user device. For example, the communication module 108 may include wireless communication components of a user's mobile phone or device.
[0041] Referring to FIG. 3, which illustrates the user 120 with a raised right arm 126. As user 120 engages in an exercise activity, the user will typically move one or more body parts. Sensors 104 move with the respective body parts upon which they are positioned. As a sensor 104 moves, the sensor's motion sensing module 112 senses the motion of the sensor 104 and provides sensor motion data 117 to the sensor controller 110. The sensor motion data 117 corresponds to motion sensed by the sensor 104.
[0042] Hub communication module 108 receives a sensor data signal 118 from each sensor 104. Sensor controller 110 generates sensor data signal 118 corresponding to the motion data sensed by the motion sensing module 112. Sensor controller 110 transmits the sensor data signal 118 using sensor communication module 114 to sensor hub 102.
[0043] The sensor data signal 118 may also include position data indicating the position of a sensor, orientation data corresponding to the orientation of a sensor and other information relating to the position, motion, environment or operation of a sensor. For example, if a sensor includes one or more biometric sensors such as a heart rate sensor, body temperature sensor or blood oxygen sensor, sensor data signal 118 may include biometric data corresponding to the measurements obtained from the sensors. A sensor may include environmental sensors such as ambient temperature or humidity sensors, or operational sensors such as battery charge level sensor. The sensor data signal 118 may include information measured by any such environment or operation sensors.
[0044] In this example embodiment, the motion sensing module 112 senses motion of the corresponding sensor 104. For example, a motion sensing module 112 may include an inertial measurement units (IMU), accelerometers, gyroscopes, magnetometers and other sensors that can sense linear and rotational motion, and the orientation of a sensor. The sensor data signal 118 transmitted by each sensor 104 to the sensor hub 102 will provide corresponding three-dimensional motion information indicating the motion of the sensor 104 and of the corresponding body part upon which the motion sensor is positioned.
[0045] In various embodiments, the motion sensing modules 112 may measure motion in 6 axes (typically 3 linear axes and 3 rotational axis), or in various combinations of linear and rotational axes. In such embodiments, the sensor data signal 118 will correspond to motion sensed in some or all of the axes in which the sensor is configured to sense motion.
[0046] As the user engages in an exercise activity, the user may, depending on the activity, move one or more body parts. In some activities, a user may move multiple body parts in synchronization.
[0047] For example, a user may move both arms up and down simultaneously such that they have a coordinated motion, such as a parallel motion. For example, when a user performs a bicep curl using a barbell, as illustrated in FIGS. 4a and 4b, the user's arms have a generally parallel motion.
[0048] In FIGS. 4a and 4b and some other figures, some portions of system 100 are not illustrated for simplicity and clarity. For example, the communication network 116, the sensor hub 102 and other components are not illustrated.
[0049] FIGS. 4a and 4b illustrate x, y and z axes. The x axis is a horizontal axis and is generally parallel to the front of the user's body (i.e. generally parallel to a line through the user's shoulders). The y axis is a horizontal axis and is perpendicular to the x axis and a parallel to a floor on which the user may stand. The z axis extends vertically from the floor and is perpendicular to the x and y axes.
[0050] In FIG. 4a, user 120 is illustrated holding a barbell 142 in an initial position for a barbell bicep curl, with the user's arms 124, 126 extended, the user's elbows generally straight and the barbell in a lowered position. FIG. 4b illustrates an end position for a barbell bicep curl, with the user's elbows bent and the barbell in a raised position.
[0051] A user will typically perform a rep of an exercise activity by moving from an initial position to an end position and then returning to the initial position. The motion from the initial position to the end position may be referred to as a forward motion for the exercise activity. The motion from the end position to the initial position may be referred to as a return motion for the exercise activity.
[0052] During the performance of a barbell bicep curl, the user raises the barbell 142 from the initial position to the end position by bending the user's elbows. In some cases, the user will attempt to raise the barbell smoothly over a target period of time such as 3 seconds. The raising motion of the barbell is the forward motion of the barbell bicep curl. Once the barbell reaches the raised position, the user may optionally hold the barbell in place for a period of time such as 1 second. The user then returns the barbell from the end position to the initial position over a selected period of time such as 4 seconds by unbending the user's elbows. The lowering motion of the barbell is a return motion of the barbell bicep curl. The user may then optionally hold the barbell in the lowered position for a selected time such as 1 second. The process of raising and lowering the barbell completes 1 rep (or repetition) of a bicep curl. During the bicep curl, the user moves their arms move in a generally parallel motion by bending and unbending them at the same time. In practice, the user's arms will typically have slightly different motions, but which are a generally coordinated parallel motion.
[0053] Typically, during the performance of a bicep curl, a user may attempt to keep their core (ie. chest and torso) relatively still (allowing for acceptable or typical motion of the core during a barbell bicep curl executed with good form). Excessive motion of the chest and torso during a bicep curl may reflect poor technique or the use of too much weight. In this case, the relatively still motion (or effectively, the general lack of motion) of the user's core may be considered part of the motion of a bicep curl when it is done correctly.
[0054] As another example, a user may move body parts in a coordinated manner, but different from one another. Reference is made to FIGS. 5a, 5b and 5c. In these and other figures, the placement of sensor 104 on a user's body is illustrated with solid circles for sensors that are visible in the images (or at least partially visible) and in outline for sensors that may be obscured or hidden in the images. For example, in FIG. 5a, sensor 104ll is positioned on the inside of the user's left ankle and is visible. Sensor 104lr is positioned on the inside of the user's right ankle and is blocked from view by the user's leg 130. Similarly, sensor 104al is blocked from view by the user's head.
[0055] As illustrated in FIG. 5a, when performing a bicycle crunch, a user begins in an initial position lying on their back, with their legs bent at the knee. The user's hands are beside their ears and their elbows are outstretched. As illustrated in FIG. 5b, the user then twists their upper body to bring their left elbow forward and simultaneously extends their left leg towards their head. As illustrated in FIG. 5c, the user then twists their upper body to bring their right elbow forward while extending their right leg and retracting their left leg. The user alternately moves between the positions shown in FIGS. 5b and 5c until a number of reps (or repetitions) is completed. During the performance of a bicycle crunch, the motion of the user's upper body is coordinated with the movement of the user's legs. The movement of the user's arms and legs is coordinated to complete each rep of the bicycle crunch.
[0056] As another example of coordinated motion, while performing some activities, a user may hold one or more body parts relatively still while moving other body parts. For example, while performing a bicep curl, a user may limit motion of user's chest and torso (within a typical range of motion when performing a bicep curl), in order to isolate the exercise effort to the biceps muscles.
[0057] During various exercises, a user may move various body parts in various coordinated manners, such as in parallel, in unison, in mirror action, or may keep some body parts still (including keeping body parts generally or substantially still within a typical range of motion for those body parts) while moving one or more other body parts. In each of these examples, the motion of at least one of the user's body parts is coordinated with the motion of at least one other of the user's body parts.
[0058] System 100 may be used to compare a user's actual motion during an exercise activity with desired motion for multiple body parts. By providing sensors 102 positioned on multiple body parts, system 100 may be used to simultaneously sense motion of those body parts during an activity. Motion of body parts that should be moved in a coordinated manner may be sensed by sensors 104. Each sensor 104 senses its motion (based on the motion of the corresponding body part) and transmits a corresponding sensor data signal to hub 102.
[0059] An exercise routine typically consists of a series of exercises. For each exercise, the user completes one or more sets of one or more repetitions (or reps). For example, an exercise routine may consist of the following exercises to be performed on corresponding exercise machines:TABLE 1Example Exercise RoutineExerciseSetsRepsWeight1Back Extension3845lb2Leg Extension2875lb3Seated Leg Curl31070lb4Machine Leg Press312160lb5Seated Cable Row2875lb6Cable Chest Press31065lb7Machine Lateral Raise31245lb8Machine Bicep Curl2860lb9Machine Tricep Extension31070lb10Ab Crunch Machine31095lb.
[0060] Each of these example exercises is intended to exercise one or more groups of muscles in the body. Each exercise is performed by configuring a corresponding exercise machine and then repeating a back and forth motion to move parts of the user's body, to in turn move a weight, which provides resistance to the user's body movements. For example, configuring an exercise machine may include setting the position of a seat and other components of the exercise machine (such as handles, handle positions, pulleys, cushions, etc.) and setting the weight to be lifted (or otherwise moved). The configuration of an exercise machine for a user's exercise may depend on both the characteristics of the user (such as height and body measurements) and the type of exercise.
[0061] Most muscle groups can be exercised with a variety of exercises. For example, a machine bicep curl is intended to exercise the biceps muscles using a weight machine. The biceps muscles may be exercised using a variety of weight machines, each of which may have different settings to achieve a similar amount exercise. The biceps muscles may also be exercised by performing freeweight exercises such as barbell biceps curls and dumbbell bicep curls. The biceps muscles may also be exercised by performing body weight exercises such as chin ups. For each of these exercises, the exact machine configuration (for machine based exercises), weight (for machine and free weight exercises), number of sets, number of reps per set, and technique (for all exercises) will vary, even though they all target the biceps muscles.
[0062] System 100 is intended to assist a user in performing exercises. The system can track a user's performance while performing an exercise. System 100 tracks the actual movement or motion of sensors 104 while the user performs an exercise activity and compares the actual sensor motion to target motion information for the exercise activity. The system 100 may provide feedback to the user based on the comparison.
[0063] System server 130 includes a data storage module or data store 138 that is used to store information relating to system 100. For example, data store 138 may be used to store information about exercises, including target motion information for exercise activities, and information about users of the system in a plurality of user records. The system server is accessible to the user device 132. The system hub 102 may also be accessible to the system hub 102 in embodiments in which the system hub is implemented separately from the user app.
[0064] Target motion information for an exercise describes a desired motion for a plurality of sensors during the performance of the exercise. The desired motion for an exercise corresponds to the motion of each sensor when the exercise is performed well, for example, with good form and technique such that the benefit of the exercise is realized by the user performing the exercise.
[0065] For example, target motion information for an exercise may describe an initial position and an end position for one or more sensors when the exercise is performed. In some embodiments, the target motion information for an exercise may describe the forward motion path for one or more of the sensors between the initial position and end position, or the return motion path, or both. In some embodiments, the target motion information may describe a target forward motion time period, a target return motion time period, or both.
[0066] Referring to FIGS. 4a and 4b, target motion information for a barbell bicep curl may include:
[0067] Barbell bicep curl
[0068] Left Arm Sensor
[0069] Sensor position: left forearm
[0070] Initial position: Z: zero
[0071] End position: Z: >40 cm (from initial position)
[0072] Motion:
[0073] Forward path: curved path
[0074] Return path: curved path
[0075] Right Arm Sensor
[0076] Sensor position: right forearm
[0077] Initial position: Z: zero position
[0078] End position: Z: >40 cm (from initial position)
[0079] Motion:
[0080] Forward path: curved path
[0081] Return path: curved path
[0082] Chest Sensor
[0083] Sensor position: chest
[0084] Sensor orientation: vertical (corresponding to user in a standing position)
[0085] Motion: <6 cm
[0086] Forward motion time: 3 seconds
[0087] Return motion time: 4 seconds
[0088] In this example target motion information for a barbell bicep curl, left arm and right arm sensor initial positions are set out as “Z: zero”. This indicates that in the Z axis (FIG. 4a), the initial position for a barbell bicep curl is a reference or zero position and that other positions in the reference information for a barbell bicep curl in the Z axis will be set out relative to this zero position. The end positions for the left arm and right arm sensors in the Z axes is set out as “>40 cm”, indicating that the at the end position, the sensors will be at least 40 cm higher than at the initial position.
[0089] For each of the left arm sensor, right arm sensor and chest sensor, a position is set out in the target motion information for the sensor. The motion of a sensor during exercise will depend on the part of the body on which it is positioned. For example, during a barbell bicep curl, the user moves their forearms and the barbell 142 in a curved path 144 during the forward motion and curved path 146 during the return motion. During the forward and return motions, the user's elbows are relatively still, such that a sensor positioned on a user's forearm (for example at the wrist, as illustrated in FIGS. 4a and 4b) will typically move in a curved path centered at the user's wrist as the user moves between the initial and end positions. To facilitate sensing of motion for particular exercises, it may be preferable to position sensors on parts of the body that are intended to move during the exercise or at which the target movement of the exercise can be readily measured. Preferred positions for some sensors may be set out in the target motion information in order to allow that information to be presented to a user to assist the user in placement of the sensors.
[0090] In the target motion information for a barbell bicep curl, the motion of the chest sensor is set out as less than 6 cm. This indicates that when a user performs a barbell bicep curl with good form, the user's chest will be relatively still and will move less than six cm during a rep.
[0091] Reference is made to FIGS. 4a, 4b and 6. In some embodiments, target motion information may be generated while a user performs an activity. FIG. 6 illustrates an example method 600 for generating and storing target motion information for an activity performed by a user. Method 600 may be implemented on an app running on a user device 132. The target motion information generated may be stored in data store 138.
[0092] Method 600 begins at 602 in which a user is provided with information to position sensors worn by the user in an initial position for the activity. For example, the instructions may include:
[0093] the placement of sensors on the user's body,
[0094] the configuration and position of equipment required by the user to perform the activity;
[0095] the position of the user's body in the initial position; or
[0096] a combination of these and other items useful for the user to place the sensors in the initial position for the activity.
[0097] Referring also to FIG. 4a, which illustrates a user holding a barbell in an initial position for a barbell bicep curl activity, instructions for a user to position sensors in an initial position for the barbell bicep curl activity may include:
[0098] Sensor positions: Left Forearm, Right Forearm, Chest;
[0099] Equipment: barbell with no weights installed; and
[0100] User body position: holding barbell with an underhand grip, both arms fully extended and hanging down.
[0101] The instructions to the user may be varied based on the availability of sensors in a particular embodiment. For example, if an embodiment does not include a chest sensor, the user may not receive instructions to wear a chest sensor. In other embodiments, the user app may provide instructions but may subsequently recognize that some sensors are not present.
[0102] The example instructions above instruct a user to hold a barbell with no weights on the barbell. A user's performance of an exercise activity will typically vary as the user performs more reps of the activities and if the user performs the activity with a greater weight or resistance. For example, a user may be able to perform a barbell bicep curl with good technique when the barbell has little or no weight on it, and when performing only a few reps. However, the user may perform a barbell bicep curl with poor technique if the barbell has heavy weights (based on the ability of the user) or if the user has already performed sufficient reps to tire the user's muscles. It may be desirable when generating target motion information for an activity that the user perform the activity in a configuration that allows the user to perform the activity with good technique. In various embodiments, the user app may be configured to instruct the user to perform the activity with a relatively light weight or with no weight on a barbell (potentially taking into account that a barbell has a mass that will provide some resistance even if no additional weights are installed on the barbell).
[0103] When the user has positioned the sensors in the initial position, method 600 proceeds to 604, in which target motion information for the exercise activity is recorded. The user app may determine that the user has positioned the sensors in the initial position in various ways. For example, the user app may receive audio information from a microphone in the user device 132 and wait for the user to provide a verbal or audio confirmation that the user is in the initial position. The user app may wait for the sensors to be relatively still. Alternatively, or in addition, the user app may wait for the sensors to be oriented consistently with the instructions. For example, as illustrated in FIG. 4a, the left arm sensor and right arm sensor may be positioned in a generally vertical orientation. For example, the user app may be configured to wait for the sensors to be oriented less than 20 degrees, or less than 30 degrees (or some other threshold consistent with the initial position for the activity) from vertical. Similarly, in an embodiment in which the user is wearing a chest sensor, the user app may wait for the chest sensor to be in a generally vertical orientation. In some embodiments, the user app may determine that the user and the sensors are in the initial position in other ways. For example, the user may allow a time period to elapse and then assume that the user is in the initial position for the activity; give the user a countdown and assume user is in initial position; tell the user to hold still in the initial position; or wait for the user to provide a motion or physical input. For example, the user app may prompt the user to tap one of the user's feet such that a leg sensor 1041, or nod the user's head such that a head sensor (i.e. a sensor positioned on the user's head), senses a corresponding movement. The user app may use motion data from the corresponding sensor to determine that the user has placed the right and left arm sensors in an end position for a barbell bicep curl. In various embodiments, after receiving an input from the user, the user app may wait for sensors for which target motion information is to be collected to be in a relatively still position.
[0104] Once the user is determined to have positioned the sensors in the initial position, target motion information for the initial position may be recorded by the user app based on motion data provided in the sensor data signal 118. Referring to the example target motion information for a barbell bicep curl, the initial position for a left arm and right arm sensors is set out as Z: zero indicating that the sensor is deemed to be at a zero position in the z axis. In this example, the user app may designate the position of the left arm and right arm sensors to be a zero position for the respective sensors.
[0105] The user app may then provide the user with instructions to perform the forward motion for the exercise activity and move the left and right arm sensors to from the initial position to the end position. Moving the left and right arm sensors to the end position for a barbell bicep curl will require the user to contract the user's biceps muscles, which will have the effect of flexing or bending the user's elbows to lift the barbell. Typically, the barbell will move in a curved path, as illustrated by arrow 144.
[0106] When the left and right arm sensors have reached an end position, target motion information for the end position may be recorded. The user app may determine that the sensor have reached an end position in various ways. For example, the user app may wait for the sensors to be relatively still (i.e. the sensor motion data for sensors 104ar and 104al indicates relatively little motion). Alternatively, or in addition, the user app may wait for the sensors to be positioned consistently with an expect displacement of the sensors between the initial position and an end position. For example, the user app may expect that when a user performs a barbell bicep curl, the user will raise the height of the sensors in the z-dimension by a distance. The distance may be at least a selected distance that is chosen based on the user or the exercise activity or both. For example, the selected distance for a barbell bicep curl may be 40 cm or 50 cm (or another distance) based upon the likely arm dimensions of a user. The selected distance may be selected based on the size of the user, which the user app may obtain from the user or from information available in a user account.
[0107] In some embodiments, the user app may wait for an input from the user before collecting target motion information for the end position. For example, the user app may prompt the user to provide an audible input that the user app can detect using a microphone on the user device 132. For example, the user app may prompt the user to say a word or phrase such as “End position” when the sensors are in the end position. In some embodiments, the user may provide a physical input.
[0108] In this example of a barbell bicep curl, the left and right arm sensor target motion information for the end position for a bicep barbell curl is referenced to the target motion information for the starting position, which is deemed to be a zero position in the z-dimension. The user app receives motion data from the left and right arm sensors as the user completes the forward motion and when the sensors are in the end position for a barbell bicep curl and records the z-dimension displacement of each sensor as the end position. For example, if the user has moved the left arm sensor such that it has been raised by 42 cm in the z-dimension relative to the starting position, the left arm end position is recorded as “Z: 42 cm”. Similarly, the end position of the right arm sensor is recorded in the target motion information for a barbell bicep curl for the user.
[0109] The user app may then instruct the user to perform the return motion and return the left and right arm sensors to the initial position. Moving the left and right arm sensors back to the initial position for a barbell bicep curl will require the user to relax the user's biceps muscles, which will have the effect of extending or unbending the user's elbows, as illustrated by arrow 146. Once the user has positioned the right and left arm sensors in the initial position, an additional set of target motion information for the initial position may be recorded.
[0110] The user app may repeat the process of instructing the user to move sensors between the initial position and the end position for an exercise activity several times, thereby performing multiple repetitions (reps) or the exercise activity. Multiple instances of target motion information for the initial position and the end position may be recorded when the user has positioned the sensors in the corresponding position in various reps of the exercise activity. The multiple instances may be combined to determine record target motion information for the exercise activity. For example, in the example of a barbell biceps curl, the z-dimension elevation of the left and arm sensors during various reps may be averaged to determine the end position of the sensors. In some embodiments, other operations may be used to determine some or all items of target motion information for an exercise activity. For example, the highest value, lowest value, an Nth percentile value (ie. a 10th, 25th or 50th or 60th or 90th percentile value) or a value determined by another calculation or process applied to the instances of target motion information recorded during 604 may be used for the item of target motion information.
[0111] In some embodiments, some values (such as outlier values) may be discarded before determining the target motion information for an exercise activity. For example, if 10 instances of initial position and end position target motion information are recorded during method 600 for an exercise activity, the two lowest and two highest values for each item (or for some items) of target motion information may be discarded before calculating the target motion information based upon the remaining six values.
[0112] This process provides a method for recording target motion information for the initial position and end position for an exercise activity. In some embodiments, it may be desired to record target motion information for the motion of sensors between the initial and end positions.
[0113] For example, the target motion information for a sensor may include a forward motion time period setting out a target time period for the forward motion from the initial position and the end position. The target motion information may include a return motion time period for the return motion of the sensor from the end position to the initial position.
[0114] In various embodiments, the target motion information may include a target forward motion path or a target return motion path or both describing the motion of sensors between the initial and end positions. For example, the preferred motion for the barbell in a barbell bicep curl is a curved path illustrated by arrows 144 and 146. This curved motion is achieved by maintaining the elbows in a generally still or fixed position (allowing for typical movements that a person makes when performing an exercise activity). Preferably the user will move the barbell in a smooth continuous motion in the illustrated curved paths and will complete the forward motion and return motions. The example target motion information for the barbell bicep curl indicates that the target forward motion path is a curved path and that the target return motion path is also a curved path.
[0115] It may also be desirable that the user complete the forward motion and the return motion over a target forward motion time period and a target return motion time period. The example target motion information for the barbell bicep curl indicates that the target forward motion time period is 3 seconds and the target return motion time period is 4 seconds.
[0116] When a person performs a barbell bicep curl with poor form due to excess weight on the barbell, fatigue or another reason, the person may not receive the full benefit of performing the exercise. For example, if a person moves their elbows during a barbell bicep curl such that the barbell moves generally vertically (i.e. in a generally linear motion in the z dimension), they may risk injury and will not benefit from the exercise as much as they would if they performed the exercise with good form.
[0117] The target forward motion path for a sensor corresponds to the motion of the sensor during the forward motion of a rep of an exercise activity with good form. The target forward motion path for a sensor may be recorded in any form that allows the actual forward motion path of a sensor during a forward motion to be compared with the target forward motion path for the sensor to determine if the user has performed the exercise activity with the desired motion. For example, a target forward motion path may be recorded as a series of points or regions through which the sensor passes; as a geometric shape or path such as an arc, or a geometric formula. The target forward motion path may be defined relative to one or more of the x, y or z axes, in polar coordinates, relative to the initial position or the end position or both, or in any other suitable form.
[0118] Similarly, the target return motion path for a sensor corresponds to motion of the sensor during the return motion of a rep of an exercise activity. The target return motion path for a sensor may be recorded in a manner similar to a target forward motion path such that the target return motion path can be compared to an actual motion of the sensor during a return motion.
[0119] For some exercise activities, two or more sensors may move in a coordinated manner. For those exercise activities, the target forward or return time periods (or both) for the sensors may be noted in the target motion information to take place during the same time periods. Similarly, the target forward and return motion paths for the sensors may be noted in the target motion information to take place in a coordinated manner.
[0120] In general, when performing an exercise activity, a weight or other load will be used to provide resistance to the user to allow the user to properly exercise their muscles. Such loads may include free weights, weights in a machine weight stack, resistance bands, body weight, torsion elements, flexible rods or other devices for resisting the user's motion. The resistance may operate to resist a forward motion of an exercise activity or to assist a return motion or both, or vice versa.
[0121] Reference is next made to FIGS. 7a, 7b and 8. FIGS. 7a and 7b illustrate a user 120 performing a barbell bicep curl with weights on the barbell 142. FIG. 8 illustrates a method 800 for monitoring an exercise activity and providing feedback to the user.
[0122] Prior to method 800, target motion information for an exercise activity is recorded in data store 138. During method 800, the user app 136 is coupled to sensors 104 to receive motion data from sensors 104 corresponding to the actual motion of the sensors while the user performs the exercise activity. The user app 136 also has access to the data store 138 to obtain target motion information corresponding to the exercise activity. The user app 136 may also record information corresponding to the actual motion, comparisons between the actual motion and the target motion information and feedback given to the user based on such comparisons.
[0123] Method 800 begins at 802 in which the user 120 is in the initial position for an exercise activity. In FIG. 7a, the user is holding the barbell 142 in the initial position as described above in relation to method 600.
[0124] The user then performs the exercise activity. The user app receives motion data from at least some of the sensors 104 relevant to the exercise activity. For a barbell bicep curl, the user app will receive data corresponding to arm sensors 104al and 104ar, and optionally also from chest sensor 104c. The user app compares the actual motion of the sensors with the target motion information for those sensors.
[0125] The comparison may determine that the user has completed the forward motion by moving the sensors to the end position for a rep of the exercise activity. For example, the comparison may determine that the left and right arm sensors 104a have been raised in the z axis be at least (or by approximately) the z-axis displacement set out in the target motion information for the initial and end position for those sensors. Similarly, the comparison may determine that the user has completed a return motion by determining that the arm sensor 104a have been returned to the initial position set out in the target motion information for the initial and end positions for those sensors. Based on the comparison between the actual motion of the sensors and the target motion for those sensors, the user app may provide feedback to the user. For example, the user app may provide audible, visual, haptic or other feedback when a forward motion is completed or when a return motion is completed or both. The feedback may include, a sound, an audible or visible count of completed reps or a vibration of a sensor or of the user device.
[0126] In some embodiments, the comparison may include the actual motion path of the sensors as they are moved from the initial position to the end position. In the example of a barbell bicep curl, the user app may compare the motion data received from the arm sensors 104al and 104ar and from the chest sensor 104c with the target forward motion path for the sensors in the target motion information. In such embodiments, the feedback provided to the user may include information indicating that the user is performing the exercise activity consistently with the target motion information. For example, the user app may provide audible feedback indicating that a rep has been performed well, provide a visible indicator (such as a green checkmark) on the display screen of the user device or another device (such as a watch), or provide haptic feedback in the form of a short vibration. If a rep has been completed poorly or with an unacceptable deviation from the target motion information for the exercise activity, the user app may provide negative feedback, or may provide feedback that indicates the difference between the actual motion and the target motion information. For example, the user app may tell the user to lift the barbell higher in a more curved motion while performing the forward motion, or to move the barbell more smoothly when performing the return motion.
[0127] In some embodiments, the comparison may include the time taken by the use to complete the forward motion with the target forward motion time period. The user app may provide feedback based on the comparison. For example, the feedback may include instructions to speed up or slow down the motion of the barbell during subsequent reps.
[0128] As the user completes a set of reps, the user app monitors the motion of the sensors and records the completion of reps. The user app may also record the completion of sets of reps and may provide the user with instructions for a rest period between sets. As the user performs the exercise activity, the user app periodically give the user feedback to assist the user.
[0129] In some embodiments, the target motion information may include target forward motion tolerance information or target return motion tolerance information. Tolerance information may define the amount or degree by which the actual motion of sensors during a rep may deviate from the corresponding target motion information without being determined to be an unsuccessful rep. In some embodiments, the tolerance information may include multiple levels of deviation to distinguish between excellent, acceptable and unsuccessful performance of a rep.
[0130] When the user has completed the user's target number of sets and reps, method 800 proceeds to 806, in which the user app provides the user with feedback for the completed exercise activity. For example, the feedback may include a count of the number of reps that were completed with excellent form (ie. where the user performed the rep with very little deviation between the actual motion and the target motion information), acceptable form (where the user performed the rep with deviations within an acceptable range) and unsuccessful reps. (where the user performed the rep with unacceptable deviation from the target motion information). The feedback may also provide recommendations for future attempts to perform the exercise activity. For example, the feedback may include recommendations to increase the weight used for the exercise activity (if, for example, the user's performance of all or most of the reps was excellent) or to decrease the weight (if, for example, a proportion of reps exceeding a threshold were unsuccessful).
[0131] Method 800 then proceeds to 808. If the user has additional exercises to complete in a workout, method 800 returns to 802 for the next exercise activity. If the user has completed all exercise activities in a workout, method 800 proceeds to step 810.
[0132] In step 810, the user app provides the user with feedback for the user's workout including one or more exercise activities. If the user has only completed one exercise activity, the feedback may be similar to that provided in 806 and only one of 806 or 810 may be performed by the user app. The feedback may include a summary of the user's performance of each exercise activity based on comparisons of the actual motion of the sensors during reps of the exercise activities with corresponding target motion information.
[0133] Method 800 then ends.
[0134] During method 800, the user app may record information about the user's performance of each exercise activity in the data store 138. For example, the user app may record the motion information received from the sensors 104, results of the comparisons between the actual motion of the sensors 104 and the corresponding target motion information for some or all of the reps of each exercise activity, a summary of the comparisons for each exercise activity, feedback provided to the user during or after the exercise activity or the workout. This information may be used to modify the user's target motion information or workout plan for future workouts.
[0135] Methods 600 and 800 have been described as being performed by a user app. In various embodiments, other components of system 100 may provide some of the functions of these methods. For example, the collection of target motion information and actual motion data, comparison of actual motion data with target motion information and the generation of feedback may take place at the system server 130. The system server may communicate with the user app to provide data based on the comparisons or the feedback or both. The user app may provide instructions and the feedback to the user during and after the performance of exercise activities.
[0136] In some embodiments, target motion information for an exercise activity may be created or updated while a user performs an exercise. For example, the initial and end positions of the left and right arm sensors in the example target motion information for a barbell bicep curl above indicate that the sensors will move 40 cm in the z dimension. However, the specific displacement of a sensor between an initial and end position for an exercise will depend on the dimensions of a user's body parts, the user's specific performance of the exercise, the equipment that the user is using to perform the exercise (particularly in the case of exercise activities performed using an exercise machine) and other factors. In some embodiments, the user's motion while they perform an exercise may be tracked and the resulting actual motion information may be used to generate or update the target motion information for the exercise activity. In some embodiments, a user may perform the same exercise using different equipment on different occasions. The actual motion of sensors 104 may vary depending on the equipment used. The target motion information for an exercise activity may include different target motion information corresponding to the different machines to allow feedback provided during method 800 to be more accurate. The user may be able to indicate in the user app which equipment the user is using for an exercise activity, or the user app may determine which equipment is used based on the geographic location of the user device when the exercise activity is performed. For example, the user may indicate that the user uses free weights to perform an exercise activity at one location, uses a cable exercise machine for the same (or a corresponding) exercise activity at another location, and uses bodyweight to exercise the same muscle group at a third location.
[0137] The present invention has been described here by way of example only. Various modification and variations may be made to these exemplary embodiments without departing from the spirit and scope of the invention, which is limited only by the appended claims.
Claims
1. -6. (canceled)7. A method of monitoring an exercise program, the method comprising:recording target motion information for an exercise, wherein the target motion information corresponds to desired motion of at least two body worn sensors during a performance of the exercise, and wherein the target motion information includes:first sensor target motion information corresponding to a first body worn sensor of the at least two body worn sensors; andsecond sensor target motion information corresponding to a second body worn sensor of the at least two body worn sensors;receiving sensor motion data corresponding to at least the first body worn sensor and the second body worn sensor, wherein the sensor motion data corresponds to actual motion of the user during performance of the exercise, and wherein the sensor motion data includes:first sensor motion data corresponding to the first body worn sensor;second sensor motion data corresponding to the second body worn sensor;comparing the sensor motion data to the target motion information, wherein comparing includes:comparing the first sensor motion data to the first sensor target motion information; andcomparing the second sensor motion data to the second sensor target motion information;providing feedback based on the comparison.
8. The method of claim 7 wherein providing feedback includes providing haptic feedback during performance of the exercise.
9. The method of claim 7 wherein providing feedback includes providing audio feedback during performance of the exercise.
10. The method of claim 7 wherein the target motion information includes, for each of at least the first sensor and the second sensor:sensor initial position information corresponding to a target initial position for the sensor during performance of the exercise; andend position information corresponding to a target end position for the sensor during performance of the exercise.
11. The method of claim 10 wherein the target motion information further includes, for each of at least the first sensor and the second sensor:sensor forward path information corresponding to motion of the sensor from the target initial position for the sensor to the target end position for the sensor during performance of the exercise; andsensor return path information corresponding to motion of the sensor from the target end position for the sensor to the target initial position for the sensor during performance of the exercise.
12. (canceled)13. A method of monitoring an exercise activity, the method comprising:receiving, at a control module, sensor motion information from each of a plurality of body worn sensors;comparing the user motion information from each of the sensors with target motion information corresponding to each of the body worn sensors,providing feedback based on results of the comparison corresponding to at least two of the body worn sensors.
14. The method of claim 13 wherein the target motion information corresponding to each sensor includes:initial position information corresponding to a target initial position for the sensor; andend position information corresponding to a target end position for the sensor.
15. The method of claim 13 wherein the target motion information corresponding to each of at least some of the sensors includes:target initial position information corresponding to a target initial position for the sensor;target end position information corresponding to a target end position for the sensor; anda target motion information corresponding to a target path of motion for the sensor from the target initial position to the target end position.
16. The method of claim 13 wherein the target motion information corresponding to at least some of the sensors includes, for each such sensor, and for each of one or more activities:target initial position information corresponding to a target initial position for the sensor;target end position information corresponding to a target end position for the sensor;target forward motion path information corresponding to a target forward path of motion for the sensor from the target initial position to the target end position; andtarget return motion path information corresponding to a target return path of motion for the sensor from the target end position to the target initial position.
17. A method of recording target motion information for an activity, the target motion information corresponding to a plurality of sensors, the method comprising:for each sensor:receiving, at a sensor hub, first sensor position data corresponding to an initial position of the sensor during the activity, and recording target initial position information corresponding to the first sensor position data;receiving at the sensor hub, second sensor position data correspond to an end position of the sensor during the activity, and recording target end position information corresponding to the second sensor position data.
18. The method of claim 17, further comprising:for each of at least one of the sensors:receiving, at the sensor hub, first sensor motion data corresponding to movement of the sensor from the initial position of the sensor to the end position of the sensor during the activity, and recording forward motion path information corresponding to the first sensor motion data.
19. The method of claim 17, further comprising:for each of at least one of the sensors:receiving, at the sensor hub, first sensor motion data corresponding to movement of the sensor from the initial position of the sensor to the end position of the sensor during the activity, and recording forward motion path information corresponding to the first sensor motion data;receiving, at the sensor hub, second sensor motion data corresponding to movement of the sensor from the end position of the sensor to the initial position of the sensor during the activity, and recording return motion path information corresponding to the second sensor motion data.
20. The method of claim 17, wherein, for each of at least one of the sensors, the target initial position information includes initial position tolerance information.
21. The method of claim 17, wherein, for each of at least one of the sensors, the target end position information includes end position tolerance information.
22. The method of claim 17, wherein, for each of at least one of the sensors, the target forward motion path information includes target forward motion tolerance information.
23. The method of claim 17, wherein, for each of at least one of the sensors, the target forward motion path information includes target forward motion time information.
24. The method of claim 17, wherein, for each of at least one of the sensors, the target return motion path information includes target return motion tolerance information.
25. The method of claim 17, wherein, for each of at least one of the sensors, the target return motion path information includes target return motion time information.