SYSTEMS FOR WEIGHT OR AEROBIC TRAINING INCLUDING MOTOR, SPOOL, AND HANDLE

Information

  • Patent Application
  • 20240123274
  • Publication Number
    20240123274
  • Date Filed
    October 17, 2023
    6 months ago
  • Date Published
    April 18, 2024
    22 days ago
  • Inventors
    • Coen; Micah (Newark, DE, US)
    • Cohen; Allan (Oakland, NJ, US)
    • Foster-Webster; Areth (Boothbay, ME, US)
    • Breeding; Rodger (Wilmington, DE, US)
  • Original Assignees
    • FITNESS FACTORY LLC (Newark, DE, US)
Abstract
A system for simulated weight or aerobic training includes a spool configured to rotate about an axis, a handle, a cord extending from the handle to the spool and configured to wrap around the spool during operation of the system, a motor connected to the spool and configured to provide a torque to the spool, and a controller configured to operate the motor to regulate the torque provided to the spool.
Description
FIELD

The field of the disclosure relates generally to training systems and, more particularly, to weight or aerobic training systems involving a motor, spool, and handle.


BACKGROUND

Training systems such as weight or aerobic training systems are useful to perform many training routines, workouts, and therapies. For example, training systems are beneficial for people to maintain physical fitness, improve athletic performance, rehabilitate from injuries, improve dexterity or strength, maintain muscle tone, and for many more purposes. However, training systems can be large and bulky, expensive, and difficult to operate. For example, some training systems may include a cable pulley system having a cable on a pulley and a stack of movable weights that are connected to the cable. A person may sit on a bench or stand next to pulley and apply a force to the cable to move the cable and thereby the weights connected to the cable. The pulley system and the stack of movable weights occupy a large amount of space, are heavy, and can be expensive. In addition, the weight selection for a workout may be limited by the number and size of the weights in the stack. In addition, some training systems may require another person (e.g., a spotter or trainer) to help operate.


To reduce costs for individuals, gyms provide training systems in a shared facility for members to utilize. However, sometimes people are unable or too uncomfortable to join gyms and wish to utilize equipment in a residential or private space. However, residential or private spaces may have limited or no dedicated space available for weight training equipment. In addition, people may be unable to afford training equipment that is available in gyms for private use, and the training equipment that is provided for people to privately purchase may have fewer performance features and be less durable than gym equipment. Also, people may not be at their home or at a dedicated training space when the people wish to workout. Moreover, people may not understand how to properly operate training equipment or may not have optimal form when using the training equipment. Improper use of the training equipment may be exacerbated when people utilize the equipment on their own and do not have a coach or other person to provide feedback. The improper use of equipment can lead to poor results, damage to equipment, and/or injury.


SUMMARY

In one aspect, a system for simulated weight or aerobic training includes a spool configured to rotate about an axis, and a handle. The handle includes a grip sized and shaped to be gripped by a user during operation of the system, a sensor assembly attached to the grip and configured to detect information relating to a position and usage of the grip, and a force sensor connected to the grip and configured to measure force applied to the grip. The system also includes a cord extending from the handle to the spool and configured to wrap around the spool during operation of the system, a motor connected to the spool and configured to provide a torque to the spool, and a controller configured to operate the motor to regulate the torque provided to the spool based at least in part on the position of the grip and the force applied to the grip. In addition, the system includes a communication component connected to the controller and configured to provide communication between at least two of the spool, the handle, the motor, or the controller, and a second communication component configured to communicate with a device on a network.


In another aspect, a system includes a base unit, a handle, and a cord. The base unit includes a spool configured to rotate about an axis, a motor connected to the spool and configured to provide a torque to the spool, a controller configured to operate the motor to regulate the torque provided to the spool, and a housing enclosing the motor, the controller, and the spool. The base unit also includes a power source connected to the motor and configured to provide power to the motor during operation of the system. The system further includes a handle comprising a grip sized and shaped to be gripped by a user during operation of the system, and a cord extending from the handle to the base unit and configured to wrap around the spool during operation of the system. The system is portable and is sized to be carried by a single person. The motor forms a direct drive system, and the controller is configured to regulate the torque of the motor to provide a simulated weight resistance.


In yet another aspect, a system includes a base unit, a handle, and a cord extending from the handle to the base unit. The base unit includes a spool configured to rotate about an axis, a motor connected to the spool and configured to provide a torque to the spool, and a controller configured to operate the motor to regulate the torque provided to the spool. The cord is configured to wrap around the spool during operation of the system. The controller includes a first communication component. The base unit also includes a power source connected to the motor and configured to provide power to the motor during operation of the system. The handle includes a grip sized and shaped to be gripped by a user during operation of the system, and a first user interface connected to the grip and configured to at least one of provide feedback to the user during a training routine or receive an input from the user related to operation of the base unit. The handle also includes a second communication component communicatively connected to the controller. The system includes a second user interface adapted to be provided on a portable computing device. At least one of the second user interface and the controller is configured to identify sets in a training routine performed using the system and determine training information based on the sets in the training routine. The first user interface is configured to provide the training information to a user via links to devices or via onboard controls/displays.


This summary is provided only to summarize some example embodiments, so as to provide a basic understanding of some aspects of the subject matter described in this document. Accordingly, it will be appreciated that the features described in this summary are only examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Unless otherwise stated, features described in the context of one example may be combined or used with features described in the context of one or more other examples. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a side view of an example system for simulated weight or aerobic training.



FIG. 2 is a top view of a portion the system including a base unit.



FIG. 3 is a perspective of the base unit of the system, with portions of the base unit made transparent to illustrate inner components of the base unit.



FIG. 4 is a sectional view of a portion of the base unit illustrating a tension device.



FIG. 5 is a partially schematic view of a handle for use with the system.



FIGS. 6A-C are perspective views of the system and a person.



FIG. 7 is schematic diagram of the system, illustrating components including a motor, a spool, and a handle.



FIG. 8 is a schematic diagram illustrating communication between components of the system and between the system and devices.



FIG. 9 is a schematic diagram of another example of a system for simulated weight or aerobic training, and illustrating communication between components of the system.



FIG. 10 is a schematic diagram of the system of FIG. 9, and illustrating communication between the system and devices.



FIG. 11 is a schematic diagram of the system of FIG. 1 illustrating example communication components of the system.



FIG. 12 is a side view of an example pulley system and tension device for use with the system of FIG. 1.



FIG. 13 is a sectional view of a portion of another example pulley system and tension device, the system including a double spool setup.



FIG. 14 is a schematic diagram of a portion of another example pulley system and tension device, the tensioner including a movable bracket.



FIG. 15 is a schematic diagram of a portion of another example pulley system and tension device, the tensioner utilizing continuous friction between pulleys to maintain tension.



FIG. 16 is a schematic diagram of a portion of another example pulley system and tension device, the tensioner including a passive roller.



FIG. 17 is a flow diagram of an example communication routine and suitable for use with training devices.



FIG. 18 is a flow diagram of an example communication protocol using a message broker and suitable for use with training devices.



FIG. 19 is a flow diagram of an example data management routine for training routines.



FIG. 20 is a flow diagram illustrating a control routine for the system of FIG. 1.



FIG. 21 is a flow diagram illustrating data collection to determine training data during use of the system of FIG. 1.



FIG. 22 is a flow diagram illustrating generation of feedback during use of the system of FIG. 1.



FIG. 23 is a flow diagram illustrating synchronization between a pair of the systems of FIG. 1.



FIG. 24 is a flow diagram illustrating interaction between the system of FIG. 1 and a trainer user interface.



FIG. 25 is a flow diagram illustrating a method of operating the system of FIG. 1.



FIG. 26 is a perspective view of a portion of a system including an alternative base unit.



FIG. 27 is a perspective view a training space including different orientations and positions of a training system.



FIG. 28 is a top of the training space of FIG. 27.



FIG. 29 is a flow diagram illustrating interaction between the system of FIG. 1 and a device including a camera.





Corresponding reference characters indicate corresponding parts throughout the several views of the drawings. Although specific features of various embodiments may be shown in some drawings and not in others, this is for convenience only. Any feature of any drawing may be referenced and/or claimed in combination with any feature of any other drawing.


DETAILED DESCRIPTION

Described systems and methods include a training system, such as a simulated weight or aerobic training system, comprising a spool, a handle, and a motor connected to the spool and configured to provide a torque to the spool. A cord extends from the handle to the spool and is configured to wrap around the spool during operation of the weight training system.


An example training system is able to be carried by a single person and requires little to no set up when placed in a new location. For example, the described systems and methods can be used in an individual's home or private space. In addition, the training system may include modular components and cost less to assemble than other systems. Moreover, the training system may be easy to operate and provide real-time feedback to improve the user's form and experience.


Described systems and methods may provide a wider range of exercises or routines because they include a simulated resistance system that can be adjusted through a wider range of weights and/or resistance modes. In addition, the systems include a handle(s) that can be positioned or adjusted relative to the base unit to facilitate different exercises or routines. Moreover, the described systems and methods include sensors that detect positions of components to simplify setup and provide information for real time feedback during operation. For example, a controller is configured to operate the motor to regulate the torque provided to the spool based at least in part on the position of the grip and the force applied to the grip.


For example, an electronic resistance training system may offer a similar and/or an improved experience to cable resistance machines at an average gym. The system may be easily portable. In addition, the system may be powered, possibly with a battery, plug-in, or any other suitable power sources. The system may utilize the motions of a traditional cable machine, but also may have enhanced functionality offered by electronic resistance.


In addition, the described systems and methods may include a communication system that provides communication between at least two of the spool, the handle, the motor, the controller, and/or a device on an external network. The communication system facilitates communication and synchronization between the components. In addition, the system and methods are able to provide feedback on a computing device such as a smart phone or tablet and/or receive commands from the computing device because of the communication system.


In an example, the system may be easily mounted to various stationary objects. The mounts for stationary objects may include, but are not limited to, a rigid/wall mount attachment for home use in a stable location, an adjustable mount for a door frame, an RV/automobile mount, a tree mount, and/or a furniture (e.g., sofa/chair/seat) mount.



FIG. 1 is a side view of an example system 100 for simulated weight or aerobic training. FIG. 2 is a top view of a portion of the system 100. The system 100 includes a base unit 102, a handle 104, and a cord 106 extending between the base unit and the handle. Specifically, the handle 104 is connected to a first end 108 of the cord 106. The second end 110 of the cord 106 opposite to the first end 108 is secured within the base unit 102. The cord 106 is arranged to extend outward from or retract toward the base unit 102 when a user applies or removes a force to the handle 104.



FIGS. 6A, 6B, and 6C are views of the system 100 and a person 101. The system 100 is arranged for the person 101 to perform a training routine using the system. For example, the system 100 is arranged for use in an aerobic training routine or a weight training routine. The system 100 may be used by a single person 101, without assistance from others, in synchronization with another user, and/or with guidance from another person such as a trainer.


Referring to FIGS. 1-5, the system 100 is compact and is arranged to be transported as a single unit. For example, the base unit 102 is generally spherical with mounts and a few design features. Also, the cord 106 is arranged to retract within the base unit 102 such that the handle 104 is positioned on the base unit 102 in a stowed position. In addition, the system 100 is sized for a single person to carry the entire system. For example, the system 100 may weigh less than 100 pounds. Suitably, the system 100 weighs less than 20 pounds. In an example, the base unit 102, the handle 104, and the cord 106 cumulatively weigh 16 lbs. or less. Accordingly, the system 100 is simple to transport and set up in different locations and is convenient to store when not in use. FIG. 26 illustrates an alternative example of the base unit which is also simple to transport and set up.


As seen in FIGS. 1-4, the system 100 includes the base unit 102, the handle 104, the cord 106, and a power source 112 arranged to provide power to the base unit 102 and/or the handle 104. In the example, the power source 112 is a portable power supply, e.g., a battery, incorporated into the base unit 102. The battery may be rechargeable. For example, the battery may be a 25.2V multicell battery providing a 250 watt maximum peak output and a current of 4 amp hours. In some embodiments, the power source 112 includes a power cord that extends from the base unit 102 and connects to an external power supply. The power cord may be used to charge the battery and/or power the system 100 during a training routine.


In the example, the base unit 102 includes a spool 114 configured to rotate about an axis 116. The cord 106 is configured to wind/unwind on the spool 114 when the user applies/removes force to the handle 104. The cord 106 extends from the handle 104 to the spool 114 and is configured to wrap around the spool during operation of the system 100. For example, the cord 106 comprises a flexible, flat strap or a cable. Alternatively, the cord 106 may include a rope, a chain, or any other suitable cord.


As seen in FIGS. 6 and 7, the base unit 102 includes a tension device 109 configured to regulate the tension of the cord 106. During operation of the system 100, there may be potential for slack within the cord 106 to cause erroneous pulling forces and/or binding in the system. Accordingly, the system 100 may be configured to incorporate the tension device 109 to ensure that the cord 106 is tightly wound on the spool 114 of the base unit 102 without slack. For example, the tension device 109 comprises at least one leaf spring 111 positioned to engage the cord 106 when the cord is wrapped around the spool 114. The leaf spring 111 may press on the cord 106 at multiple points and may be simpler than other tensioner configurations. For example, one or more leaf springs 111 may deflect (e.g., bow in and out) as the cord 106 winds or unwinds on the spool 114. In the example, the tension device 109 includes a pair of the leaf springs 111 positioned on opposite sides of the spool and biased or bowed toward the spool 114. The leaf springs 111 are attached to and extend between the housing 122. FIGS. 12-16 illustrate alternative embodiments of the tension device 109.


Referring to FIGS. 1-4, the base unit 102 includes a motor 118 connected to the spool 114 and configured to provide a torque to the spool. For example, the motor 118 applies the torque to provide resistance or assistance to the user when the user applies/removes a force from the handle 104 to unwind/wind the cord 106. The user applies a force to the handle 104 in a direction away from the base unit 102 to unwind or extend the cord. To wind or retract the cord 106, the user applies a force toward the base unit, or removes a force from the handle 104 to allow the motor 118 to cause the cord 106 to wind on the spool 114.


The base unit 102 also includes a controller 120 configured to operate the motor 118 and regulate the torque provided to the spool 114. The controller 120 determines the torque based, for example, on user inputs, information stored on a memory, and/or sensor information received during operation of the system 100. For example, the controller 120 provides the torque in accordance with a preset training routine and provides a desired resistance profile when the user applies a force to the handle 104. In an example, the controller 120 is configured to regulate the torque of the motor to provide a simulated weight resistance of 100 lbs. or less.


As illustrated in FIG. 4, the motor 118 is positioned adjacent to and directly connected to the spool 114 by a motor output shaft 119. As a result, the motor 118 forms a compact direct drive system (e.g., the system 100 does not include a gearbox or transmission between the spool 114 and the motor 118). In other embodiments, the system 100 may include one or more gears or transmission components connecting the motor 118 and the spool 114. The motor 118 may be offset from or oriented differently to the spool 114 in embodiments including gears or transmission components to compensate for the additional space required to accommodate the additional components and lessen the impact on the compact footprint of the system 100.


In the example, the motor 118 is a brushless motor providing at least 200 rotations per minute or more and at least 15 Newton meters torque. The controller 120 includes an O-drive motor controller and is incorporated with the motor 118 in a single assembly. An encoder is mounted on the motor and provides, for example, a Hall effect resolution of the position of the motor. The motor 118 may operate with a duty cycle of 50% or less, for example. In other embodiments, the system 100 may include any suitable motor 118 and controller 120. For example, the motor 118 may be other than an O-drive motor without departing from at least some aspects of the disclosure.


Referring to FIGS. 1-4, the base unit 102 includes a housing 122 enclosing the motor 118, the controller 120, and the spool 114. The housing 122 includes a first end wall 124, a second end wall 126 opposite the first end wall, and a side wall 128 extending between the first and second end walls.


The end walls 124, 126 and the side wall 128 collectively form a shell 129 and define an inner cavity 130 sized to receive the motor 118, the controller 120, and the spool 114. The housing 122 also includes a frame 131 supporting the motor 118, the spool 114, and/or the controller 120 within the inner cavity 130. The end walls 124, 126 and the side wall 128 are mounted on and supported by the frame 131. The inner cavity 130 is oversized and includes space around the spool 114 to receive the cord 106. The housing 122 receives the cord 106 within the inner cavity 130 when the cord is wound on the spool 114.


In the example, the shell 129 is constructed of a plastic material. In some embodiments, the shell 129 is at least partly constructed of metal and/or any other suitable material.


The side wall 128 is curved and has a spherical shape. The first and second end walls 124, 126 are flat. Overall, the housing 122 of the base unit 102 has a spherical shape with flat surfaces for mounting or resting on a structure. The shape of the base unit 102 facilitates easy transport and setup of the system 100.


Optionally, the system 100 includes a support 123 attached to the housing 122 to facilitate standing up, mounting, and/or carrying the base unit 102. For example, the support 123 comprises a U-shaped yoke that extends partly around the side wall 128 between the end walls 124, 126.


The housing 122 completely encloses the spool 114 and the motor 118 to prevent a user from contacting and being injured by moving parts of the spool and the motor during operation. In addition, the housing 122 protects the internal components of the system 100 from damage when the system is moved, stored, or used. The housing 122 defines an outlet 125 for the cord 106 to extend out of the inner cavity 130 of the housing. The cord 106 extends from the spool 114, through the outlet 125, and to the handle 104. The cord 106 is movable within the outlet 125 and relative to the housing 122 when the cord is wound/unwound on the spool 114. For example, the outlet 125 may comprise a gimbal and be pivotable relative to the housing 122 to provide different exit/entry angles for the cord 106.


In the example, the power source 112 is mounted to the housing 122 and is connected to the motor 118. The power source 112 is configured to provide power to the motor 118 during operation of the system 100. For example, the power source 112 is connected to the motor 118 by wires 132 that may extend through the first end wall 124, the second end wall 126, and/or the side wall 128 and/or be positioned at least partly within the inner cavity 130 of the housing 122. The power source 112 may be at least partially received within the inner cavity 130 of the housing 122. In addition or alternatively, the power source 112 is removably or permanently attached to the housing 122.



FIG. 5 is a partially schematic view of an example of the handle 104. The handle 104 is attached to the first end 108 of the cord 106. The handle 104 includes a grip 134 sized and shaped to be gripped by a user during operation of the system 100. For example, the grip 134 is a cylinder and includes an outer surface that is textured to provide a grip for the user. The grip 134 includes a deformable or flexible material such as foam, rubber, fabric, and/or a similar material to provide a comfortable grip for the user. In addition or alternatively, the grip 134 may include a rigid material such as plastic or metal to provide a defined shape of the grip and increase durability of the grip. The grip 134 may be attached to the first end 108 of the cord 106 by one or more straps or rods extending from one or both of the ends of the grip 134. In some embodiments, the handle 104 may include a removable clip attached to the grip 134 such that the grip may be easily swapped for an alternative grip (e.g., grip 135 shown in FIGS. 27 and 28).


The handle 104 includes a sensor assembly 136 attached to the grip 134 and configured to detect information relating to a position and usage of the grip. For example, the sensor assembly 136 may comprise one or more inertial measuring unit(s) (IMU) configured to detect motion of the grip 134 in one or more directions. Alternatively, the sensor assembly 136 may include any suitable position sensor. The sensor assembly 136 may be mounted to the grip 134 and/or incorporated within the grip. For example, the sensor assembly 136 may be included in a rigid core of the grip 134 and covered by a deformable layer that contacts a user's hand. Accordingly, the sensor assembly 136 is configured to accurately detect information related to the position of the grip 134 and is protected from damage.


Also or alternatively, the handle 104 includes a force sensor 138 connected to the grip 134 and configured to measure force applied to the grip. For example, the force sensor 138 extends between the grip 134 and the first end 108 of the cord 106. The force sensor 138 may comprise thin film force resistors or strain measure measurement devices. The handle 104 may include other sensors without departing from at least some aspects of the disclosure.



FIG. 7 is a schematic diagram of the system 100. The system 100 has an off mode in which the motor 118 is off and does not receive power from the power source 112, a standby mode in which the controller 120 operates the motor based on a first torque setting, and an active mode in which the controller operates the motor based on a second torque setting. For example, the first torque setting is a minimum torque designed to only provide a de minimis resistance when the user picks up the handle 104. The second torque setting is a torque that is selected to provide a desired resistance for the user during a training routine. The second toque setting may change in accordance with a training routine and/or inputs from the user. In the example, the controller 120 switches between the modes based at least in part on information received from at least one of the sensor assembly 136 or the force sensor 138 on the handle 104. For example, the controller 120 determines that the user has picked up the handle 104 to begin a workout based on the sensed information and the controller switches from the off mode or the standby mode to the active mode. The controller 120 switches from the active mode to the standby mode and/or the off mode when the controller 120 determines that the handle 104 has been released and/or when a predetermined time has based since the last detected action with the handle 104.


Referring to FIGS. 8-11, the handle 104 includes a handle communication component 140 connected to the sensor assembly 136 and/or the force sensor 138. The handle communication component 140 is configured to send information from the sensor(s) to the controller 120. The controller 120 is configured to operate the motor 118 based at least in part on the information from the sensor(s). For example, the controller 120 is configured to operate the motor 118 to regulate the torque provided to the spool 114 based at least in part on the position of the grip 134 and/or the force applied to the grip.


In some embodiments, the handle 104 includes a user interface that is configured to receive inputs from and/or provide feedback to the user. For example, the handle 104 includes a haptic feedback system with a vibration unit that is configured to generate vibrations in the grip 134 based on operation of the system. The user interface is configured to provide feedback to the user during a training routine. The handle 104 may include a processor and a power source (e.g., a battery) for operation of the user interface. An example power supply 105 is shown in FIG. 11. In some embodiments, the handle 104 includes one or more buttons that enable the user to power on/off the system and/or adjust one or more operating parameters.


A primary communication component 142 is connected to the controller 120 and configured to provide communication between the controller 120 and at least one of the spool 114, the handle 104, and/or the motor 118. For example, the primary communication component 142 provides communication between the controller 120 and the handle 104 via the handle communication component 140. The primary communication component 142 may be configured to operate on a short range communication protocol such as Bluetooth.


A peripheral communication component 144 is connected to the controller 120 and configured to communicate with a device on an external network. For example, the peripheral communication component 144 is configured to communicate on a wireless network and send information to and receive information from a device (e.g., a personal computing device, a cellular telephone, a virtual reality device, headphones, a tablet, and a smart device). The peripheral communication component 144 enables the controller 120 to link with the device on the network to provide paired operation of the controller and the device.


In addition, the peripheral communication component 144 enables the controller 120 to share information with a device. For example, a user interface is adapted to be provided on a computing device and is configured to display training data from operation of the system 100 and receive a user input relating to a setting of the system 100. The computing device sends information relating to the user inputs to the controller 120, via the peripheral communication component 144. The peripheral communication component 144 may be configured to operate on a wireless communication network such as WiFi. In some embodiments, the primary communication component 142 and the peripheral communication component 144 are integrated into a single unit.


Also, the primary communication component 142 and/or the peripheral communication component 144 enables the system 100 to pair and synchronize with another system 100 including another spool 114, handle 104, cord 106, motor 118, and controller 120. The controllers 120 communicate, via the primary communication component 142 and/or the peripheral communication component 144, and are synchronized with each other to operate simultaneously and provide a dual training experience for the user or multiple users.


Referring back to FIG. 7, the system 100 includes a position sensor 146 attached to the housing 122 and configured to detect a position of the housing of the base unit 102. For example, the position sensor 146 includes an inertial measuring unit (IMU) configured to detect information relating to the position of the base unit 102.


In the example, at least the base unit 102 includes a user interface 148. The user interface 148 may include an input device (e.g., buttons, dials, a touchscreen, etc.) and an output device (e.g., a screen, speakers, lights, etc.). The user interface 148 facilitates the user selecting a mode of the system, setting a resistance level, selecting a training routine, and/or adjusting any other operating parameter. The user interface 148 communicates with the controller 120, for example, to send user selections for the controller to adjust operation of the motor 118 in accordance with user selections and to receive information from the controller to provide feedback to the user in real time.


The system 100 includes a memory 150. The controller 120 is configured to record training information to and/or retrieve information from the memory 150 during a training routine. For example, the training information includes at least one of a number of sets performed, a force provide on the grip, or a position of the grip. Accordingly, the system 100 is able to track a person's training and provide updates or suggestions to the user based on the recorded information. The feedback may be provided in real time during a training routine, before a training routine, and/or after a training routine.


At least one of the user interface 148 and the controller 120 is configured to determine information based on the sensed information during use. For example, the controller 120 is configured to identify sets in a training routine performed using the system 100 and determine training information based on the sets in the training routine. The controller 120 detects the sets by identifying patterns in information detected by the sensor assembly 136 and/or the force sensor 138. For example, the controller 120 determines when the user is pulling and releasing on the handle 104 and correlates that to an exercise routine. The controller 120 records information related to the sets in the memory 150. Suitably, the controller 120 reduces the amount of data that is recorded and improves performance of the system 100 because the controller 120 only records information during the identified sets and does not record information between sets.


In addition, the controller 120 is configured to determine performance data and provide critiques or suggestions by comparing the recorded data to stored data for sample training routines. The controller 120 identifies differences between the recorded data and the sample data and then compares the differences to stored lookup tables to diagnose issues and provide suggestions. For example, the controller 120 may identify that the user is providing an inconsistent or non-continuous force on the handle 104 during a set and the controller may suggest that the user attempts to provide a more consistent force. Also, for example, the controller 120 may identify that the user is holding the handle 104 incorrectly or in a less than optimal orientation based on position data received from the handle 104 and the controller may suggest that the user hold the handle in a manner prescribed for the training routine. The system 100 may identify issues and provide feedback in real time during a training routine and/or after completion of a training routine. The feedback is more accurate and simpler for the controller 120 to process because the system 100 identifies sets in the training routine. Also, the feedback may be more timely provided to the user and easier for the user to understand and implement because the system 100 correlates the information to sets. For example, the system 100 may provide suggestions based on a first set of a training routine and the user may implement the suggestions in a second set. The system 100 may evaluate the second set to provide any additional corrections.



FIG. 8 is a schematic diagram illustrating communication between components of the system 100 and between the system and external devices. For example, the controller 120 and the handle 104 communicate wirelessly using a WiFi connection provided by a server (e.g., MQTT protocol server 149). The controller 120 communicates with an external device (e.g., a laptop 151) via a universal serial bus (USB) interface or similar interface or wireless protocol.



FIG. 9 is a schematic diagram of a system 200 for simulated weight or aerobic training. The system 200 includes the controller 120, the motor 118, the spool 114, the cord 106, and the handle 104, similar to the system 100 shown in FIG. 1. In addition, the system 200 includes a gearbox 202 positioned between and operatively connecting the motor 118 and the spool 114.


The system 200 utilizes a wireless communication between components of the system. For example, the controller 120 and the handle 104 communicate with each other using Bluetooth communication protocol.


Referring to FIG. 10, the system 200 communicates with external devices (e.g., cloud device 204 and device 206) using wireless connections such as WiFi or Bluetooth communication protocols. In the example, the controller 120 is configured to communicate with the one or more cloud devices 204 for storing and/or retrieving information. Accordingly, the system 200 is able to offload at least some memory responsibilities to reduce the onboard storage requirements of the system.



FIG. 11 is a schematic diagram of the system 100 illustrating example communication components of the system. For example, the communication components 140, 142, 144 each are connected to a processor or microcontroller 152 and are configured to operate on Bluetooth, WiFi, and any other suitable communication system. The communications components 140, 142, 144 are connected to and receive power from one or more power supplies. For example, the communication components 142, 144 are connected to the power source 112 within the housing 122 of the base unit 102. The communication component 140 is connected to the power supply 105 attached to the handle 104.


The handle 104 includes the power supply 105, the communication component 140, the sensors 136, 138, a microprocessor 154, a display 156, a user interface 158, and a housing 160. The housing 160 may at least partly form the grip 134 of the system 100. For example, the housing 160 may form a central core of the grip and be at least partly covered by another layer.



FIG. 12 is a side view of an example pulley system 300 and a tension device 302 for use with the system 100 (shown in FIG. 1). The pulley system 300 includes the spool 114 and the cord 106 that winds/unwinds on the spool. The tension device 302 is positioned adjacent to the spool 114 and includes a positionable arm 304 and a pair of rollers 306 connected to a free end of the positionable arm. The rollers 306 receive the cord 106 between them as the cord comes off of the spool 114. The positionable arm 304 pivots or rotates about the rotation axis of the spool 114 such that the rollers 306 follow the outer diameter of the cord 106 as the cord winds/unwinds on the spool 114. Accordingly, the tension device 302 maintains tension in the cord 106.


To facilitate controlling movement of the cord 106 and preventing slack, at least one of the rollers 306 may be a friction pulley. In addition or alternatively, at least one of the rollers 306 may be operatively connected to a motor, either the motor 118 or a separate stepper motor.



FIG. 13 is a sectional view of a portion of an example system 400 and a tension device 402. The tension device 402 includes a variable friction device 404 that provides a preset resistance to rotation due to friction. The tension device 402 is arranged to reduce slack in the system and maintain a tight wind on the spool. For example, the tension device 402 may comprise two or more pieces that contact the spool and provide resistance.



FIG. 14 is a schematic diagram of a portion of an example pulley system 500 and a tension device 502. The tension device 502 includes a bracket 504, and a pair of clamp arms 506 mounted to the housing 122. The bracket 504 is adjacent the outlet in the housing 122 and guides the cord 106 into the housing and reduces slack in the cord. At least one of the clamp arms 506 is movable to release the bracket 504 and facilitate access to the cord 106. For example, one of the clamp arms 506 includes a hinge 508 and is pivotable relative to the housing 122. In some embodiments, the tension device 502 includes a lock to secure the clamp arms 506 and the bracket 504 on the housing 122. In alternative embodiments, the tension device 502 may include less or more clamp arms 506 and/or brackets 504.


In addition, the system 500 may include features such as indicators (e.g., color coding, images, and/or words) to indicate a correct orientation of the bracket 504 and/or the clamp arms 506. For example, the bracket 504 may be shaped and/or include a positive engagement feature to ensure the bracket 504 is installed correctly. Further, the system 500 may include a sensor to detect if the clamp arm 506 is installed correctly.



FIG. 15 is a schematic diagram of a portion of an example pulley system 600 and a tension device 602. The tension device 602 includes pulleys 604 positioned next to the motor 118. The cord 106 extends between the pulleys 604. The pulleys 604 are configured to provide a continuous friction force to the cord 106 to maintain tension in the cord.



FIG. 16 is a schematic diagram of a portion of an example pulley system 700 and a tension device 702. The tension device 702 includes at least one friction piece 704 mounted on a movable arm 706. In the example, the tension device 702 includes a pair of the friction pieces 704. For example, the friction pieces 704 are biased toward and rest against an outer diameter of the wound cord 106 on the spool 114. The movable arms 706 facilitate the friction pieces 704 moving with the outer diameter of the cord 106 and maintaining contact with the cord as the cord is wound or unwound on the spool 114.



FIG. 17 is a flow diagram of an example communication routine for the system 100. The system 100 communicates with any suitable user device using the Internet or any suitable communication protocol. For example, the system 100 sends messages 800 directly to a user device 802 and/or to an Internet hub 804. The user device 802 may send messages 800 to the Internet hub 804, utilize application programming interfaces (APIs) 805 to generate user interfaces, and/or send messages to the system 100.


The messages 800 are recorded to a message datastore 806 when the messages are received at the Internet hub 804. The message datastore 806 sends the messages 800 to a computer cluster 808. The computer cluster 808 sends the messages to APIs 805 for interpretation and to facilitate generating user interfaces. The APIs relay the messages 800 and generate user interfaces to facilitate the system 100 and the user device 802 interpreting the messages 800. In addition, the computer cluster 808 may record the messages 800 to a database 810.



FIG. 18 is a flow diagram of an example communication system 901 using a message broker 900. The communication system 901 may be at least partly incorporated into the system 100 (shown in FIG. 100) and utilize components of the system such as the communication components. In alternative embodiments, the communication system 901 includes components external to the system 100 that facilitate communication of the system 100.


As shown in FIG. 18, the system may utilize an asynchronous messaging structure with asynchronous data streams. The asynchronous data may allow for the messaging to have a priority structure, as some of the messages may be time-sensitive, and other messages may not be time-sensitive. In addition or alternatively, the system may utilize a synchronized messaging structure. Synchronized messaging may have a secondary advantage in that the messaging structure may be lighter and/or have fewer messages.


In the example, the message broker 900 acts as a central hub and sends and receives messages from an exercise classifier 902, a main control loop 904, plugins 906, a motor controller input/output (IO) 908, a handle IO 910, and a network IO 912.


The message broker 900 exchanges classifier messages 914 with the exercise classifier 902. The exercise classifier 902 is configured to identify or determine characteristics of training routines based on the information received from the message broker 900. For example, the classifier messages 914 include information such as type of training routine, suggested resistance, characteristics of training sets, and duration.


The message broker 900 exchanges control messages 916 with the main control loop 904. The control messages 916 relate to operating parameters such as duty cycle, torque requirements, and power supply requirements.


The message broker 900 exchanges plugin messages 918 with the plugins 906. The plugins 906 may be software programs added to the system 100 and/or external devices attached to the system.


The message broker 900 exchanges motor messages 920 with the motor controller IO 908. The motor messages 920 may be based on the control messages 916 received from the main control loop 904 and relate to operating parameters of the motor.


The message broker 900 exchanges handle messages 922 with the handle IO 910. For example, the handle messages 922 include information regarding the haptic feedback provided on the handle and inputs received from a user via the handle.


The message broker 900 exchanges network messages 924 with the network IO 912. The network messages 924 may relate to connecting one or more devices or components to a network.



FIG. 19 is a flow diagram of an example data management system 926 for training routines performed using the system 100 (shown in FIG. 1). The data management system 926 initiates when a user performs an action using the system 100. During operation of the system 100, the exercise classifier 902, the motor controller IO 908, the handle IO 910, and the network IO 912 collect and exchange information with the message broker 900 as described in relation to FIG. 18.


The message broker 900 handles incoming messages 928 and outgoing messages 930. The incoming messages 928 are received at message ingestion 932 and the incoming states 934 are read. Internal states 936 are updated and recorded to an internal state database 938. External states 940 are set to a desired state and provided to a shadow device states database 942. Then, a new outgoing message 944 is generated.



FIG. 20 is a flow diagram illustrating a control routine 1000 for the system 100 (shown in FIG. 1). As shown in FIG. 20, the system 100 may monitor available data streams and aggregate them into higher-level user activity information. Modes within this state machine may constantly change as a function of chosen training routines, nuance ramping or motion functions, and/or overall system parameters. In addition, the system may monitor for and record error conditions and anomalous behaviors.


For example, the controller 120 uses the control routine 1000 to determine operating parameters of the motor 118 (shown in FIG. 7). The control routine 1000 includes determining operating parameters including motor torque 1002, motor direction 1004, motor speed 1006, motor error state 1008, motor current draw 1010, user selected exercise type 1012, and force sensor information 1014. The control routine 1000 determines parameters for motion smoothness 1016 based on the motor direction 1004, the motor speed 1006, and the force sensor information 1014. The control routine 1000 determines an active/inactive status 1018 based on the motor torque 1002, the motor direction 1004, the motor speed 1006, the motor error state 1008, and the motor current draw 1010.


Also, the control routine 1000 determines a phase (eccentric/concentric/isometric) 1020 based on the active/inactive status 1018, the motor torque 1002, the motor direction 1004, the motor speed 1006, the motor current draw 1010, and the user selected exercise type 1012. The control routine 1000 determines a user effort level 1022 based on the phase (eccentric/concentric/isometric) 1020, the motor torque 1002, the motor speed 1006, the motor current draw 1010, and the user selected exercise type 1012. The controller 120 then operates the spool and any other components in accordance with the determined parameters. The parameters are continuously updated using the control routine 1000 during operation of the system 100.



FIG. 21 is a flow diagram illustrating data collection to determine training data during use of the system 100 of FIG. 1. As shown in FIG. 21, the system 100 may process information collected during a training routine to provide training statistics. In one example, the system 100 collects information such as workload performed during a training routine and calculates a caloric burn during and after the training routine. With resistance training provided by the system, the body may burn additional calories above normal as the body recovers. The system software may be configured to gather data including, but not limited to, time, intensity, user profile information, and/or any other suitable data to not only calculate the calories burned from the workout but also estimate calories burned after the training routine. For example, the system 100 may calculate and track post-workout caloric burn until the body returns to the body's normal metabolic rate.


For example, the system 100 collects information during operation of the system and determines real-time workout data 2002 based on the collected information. The system 100 collects the data using one or more sensors of the system, an external device such as a camera on a mobile computing device, and/or user inputs. Based on the real-time workout data 2002, the system 100 determines post workout information such as a post workout burn calculation 2004. The determined information may be provided to a user application 2006 for display or interpretation on a user device.



FIG. 22 is a flow diagram illustrating generation of feedback during use of the system 100. The controller 120 determines the feedback based on information collected during operation of the system (e.g., user inputs, sensed information, motor operating parameters, etc.) and/or information stored on a memory. In addition, the controller 120 may receive user preferences 2008 from the user application 2006. The controller 120 determines feedback and provides the feedback to components. For example, the controller sends motor feedback 2010 to the motor 118 and the motor feedback is used at least in part to control the motor. The controller 120 provides user feedback 2012 to the handle 104 and the user application 2006. The user feedback 2012 may be provided to the user, for example, via a user interface on the handle 104 and/or the user application 2006.


As shown in FIG. 22, the user feedback may be bi-directional. For example, feedback can be provided via a smartphone, an application, and/or through the handle 104 (or device) via one or more feedback methods (e.g., lights, haptic, audio, etc.).


In some embodiments, the software may be configured to use a camera on a device. The system 100 may be paired with the device and automatically control the recording, pausing, stopping, and/or any other suitable video editing functions. At the end of the training routine, the system 100 may compile a video of the entire training routine and/or select portions of the training routine or sets. Suitably, the system 100 generates a video or video clips which include only the sets from the training routine. In the example, a user interface facilitates a person viewing, navigating, and/or editing the videos. For example, a person may select video including specific exercises, sets, repetitions, time periods, and/or other type of marker. The system 100 may mark specific segments of the video for review (e.g., for bad form, incomplete reps, or other notable workout information).


Accordingly, as shown in FIG. 29, the system may utilize an external camera, such as a camera on a mobile computing device, and, for example, record, edit, and analyze a recorded training session. The system has the ability to use the camera on the device and access videos on the device of the training routine performed using the system. The system may record, edit, and/or mark or flag notable information for review. For example, the system will compile a video of only sets of the training routine and cut unrelated segments of video when the training routine is completed. In addition, the system facilitates navigation of the information such that a person can select relevant information such as specific exercise, sets, repetitions, or any other type of marker. The system can automatically identify and mark specific segments of the video such as bad form, incomplete repetitions, or other notable information. As a result, a trainer, therapist, and/or other professional may efficiently review a training session. The recording and analysis may be performed on the external device without a designated application simply by using the device. For example, the device directly sends signals to the external device to record, edit, and/or analyze a training session performed using the device.



FIG. 23 is a flow diagram illustrating synchronization between a pair of the systems 100A and 100B. The systems 100A, 100B communicate, for example, using the network 2014. The systems 100A and 100B are synchronized such that actions on the systems are shared between the systems and operating parameters may be adjusted to facilitate a synchronized training routine. For example, the systems 100A and 100B may be used by a single user operating the systems with separate limbs simultaneously. Alternatively, the systems 100A and 100B are used by separate users and the data is shared between the systems to facilitate a synchronized training routine and/or a competition between the users. For example, the work of a user on one device can be used to directly affect the resistance provided to the user on the other end (e.g., a tug-of-war game). In the example, the controller 120A of the first system 100A records an action performed using the first system and the action messages 2016 are sent to the controller 120B of the second system 100B via the network 2014.



FIG. 24 is a flow diagram illustrating interaction between the system 100 and a trainer user interface 2018. The controller 120 is configured to facilitate use of the trainer user interface 2018 with the system 100 and/or operating the system via the trainer user interface. For example, the controller 120 sends user feedback 2012 to the trainer user interface 2018. The user feedback 2012 enables a person, e.g., a personal trainer, physical therapist, or other professional, to monitor training data, track progress of the user, and identify weaknesses or strengths for current or future training sessions. In some embodiments, the user themselves may utilize the trainer user interface 2018 to receive and/or input information. The user feedback 2012 may include suggestions for the trainer generated by the controller 120 based on the information collected during the training session. In addition or alternatively, the user feedback 2012 may include set markers for the trainer to check for any issues.


The trainer user interface 2018 facilitates a person inputting information and/or selecting operating parameters for the system 100. For example, the trainer user interface 2018 sends workout variables or prescriptions 2020 such as exercise, sets, repetitions, rest periods, etc. to the controller 120. The controller 120 may adjust operating parameters of the system 100 based on the workout variables or prescriptions 2020.



FIG. 25 is a flow diagram illustrating a method 3000 of operating the system 100 (shown in FIG. 1). The method 3000 operates on five levels or sub-systems. For example, the levels include a user level 3002, an application level 3004, a system level 3006, a software level 3008, and an air interface level 3010.


For example, referring to FIGS. 1-7 and 25, the method 3000 may commence when (1) the user 3002 initiates 3012 a training routine via a user interface on the base unit 102, (2) the user initiates 3014 a training routine via the application 3004 on a remote device, (3) the user initiates 3016 a training routine via the user interface on the handle 104, and/or (4) the user initiates 3018 a training routine by applying a force to the handle. The user 3002 then performs 3020 a training routine using the system 100. The training routine ends 3022, for example, when the user sets down the handle or makes an end selection using one of the user interfaces.


The application 3004 activates if the user 3002 initiates 3014 the routine on the remote device. The system 100 activates 3024 an alternative mode of controls if the application 3004 is used on the remote device. The application 3004 receives and records 3026 parameters from the system 100. The application 3004 displays 3028 the relevant parameters. The parameters may be received from the controller 120 and/or sensors of the system 100.


The system 100 powers on and initiates 3030 a startup sequence if the user initiates a training routine. In the startup sequence, the system 100 activates 3032 the handle 104, activates 3034 the drive controller (e.g., an O-drive), activates 3036 the primary processor, activates 3038 async protocols, and checks 3040 for user mode input. If a user performs 3020 the training routine, the system 100 begins 3042 motor actuation. For example, the system 100 may initially be in a standby mode where a nominal or minimal amount of resistance is applied to the cord 106. The system 100 may apply a prescribed resistance to the cord 106 when the motor is actuated. The system reports 3044 parameters such as forces and motor speeds when the motor is actuated, when the training routine commences, during the training routine, and/or when the training routine ends. The controller 120 operates the motor 118 to release forces 3046 on the cord 106 and enable the cord to recoil after the training routine ends.


In the software level 3008, the system 100 sets 3048 logging and alerting functions when the async protocols are started. The system 100 begins 3050 an asynchronous communication stream and captures 3052 any user inputs for parameters such as mode and force. Then, the system 100 loads 3054 a proportional integral derivative (PID) loop control for user forces, loads 3056 PID loop control for control of motor 118, loads 3058 a stabilization algorithm for motor control, and loads 3060 a stabilization algorithm for sensors of the system. In addition, the system 100 monitors 3062 forces and position data for repetition initiation at the software level when the user performs a training routine. The system 100 finds 3064 a stable repetition start point and uses 3066 a motion table as a logic control for each repetition. The system monitors 3068 repetitions and data continuously during the training routine. The system 100 recognizes 3070 an end of the training routine at the software level when the user ends the training routine.


At the air interface level 3010, the system 100 monitors 3072 asynchronous messaging. For example, the system 100 monitors 3072 messaging based on software level 3008 actions including setting 3048 logging and alerting functions, beginning 3050 an asynchronous communication stream, capturing 3052 any user inputs for parameters, loading 3054 a proportional integral derivative (PID) loop control for user forces, loading 3056 PID loop control for control of motor 118, loading 3058 a stabilization algorithm for motor control, loading 3060 a stabilization algorithm for sensors of the system, monitoring 3062 forces and position data, finding 3064 a stable repetition start point, using 3066 a motion table as a logic control for each repetition, and/or monitoring 3068 repetitions and data continuously during the training routine. In addition, the system 100 monitors messaging based on, for example, reports 3044 of forces and motor speeds.


Accordingly, the system 100 operates to provide a seamless and interactive training routine for the user. The system 100 facilitates monitoring and reporting of various data for the user using one more user interfaces to improve the training experience. In addition, the system 100 enables the user to customize and adjust the training session to optimize results for the user based, for example, on real-time feedback provided during the training routine.



FIG. 26 is a perspective view of a portion of a system 4000 including a base unit 4002. The system 4000 is similar to the system 100 shown in FIG. 1, except the base unit 4002 has a different shape and form factor than the base unit 102 of the system 100. For example, the base unit 4002 has a flat bottom 4004 and an elongated curved shell 4006 attached to the bottom. In addition, the base unit 4002 has a double pulley system 4008 providing resistance to and maintaining tension in the cord 106.


Also, the base unit 4002 includes a motor 4010 that is offset from the double pulley system 4008. For example, the motor 4010 is orientated to provide rotation about an axis 4012 that is perpendicular to the rotation axes 4014 of the double pulley system 4008. The base unit 4002 may include a transmission system such as gears and/or shafts that extend between and operatively connect the motor 4010 and the double pulley system 4008.


As seen in FIGS. 27 and 28, the system 4000 or the system 100 may positioned or mounted in various orientations for different training routines. For example, the system 4000 may be positioned on the floor. In addition, the system 4000 may be mounted on a bench, a pole, or other exercise apparatus. Also, the system 4000 may be mounted to a wall and/or a doorframe. For example, suitable mounts for stationary objects may include, but are not limited to, a rigid/wall mount attachment for home use in a stable location, an adjustable mount for door frame, an RV/automobile mount, a tree mount, and/or a furniture (e.g., sofa/chair/seat) mount.


Example Training Routines

The described systems can be used for a variety of training exercises. For example, Tables 1-3 include training routines that can be performed using the described systems. The controller may retrieve and/or record parameters of the training routines on a memory. At least some of the parameters may be selected or input by a person.


Each training routine includes movements (e.g., squats, bench press, bent rows, lunges, incline bench, Lat pulldowns, etc.) and a suggested number of repetitions for the movement. Tables 1-3 also include, for example, time per repetition (in seconds), distance moved by the handle (in feet), number of sets, weight ranges, calculated load*feet, total time that the cord is under tension, a horsepower estimate, a kilowatt estimate, and a kilowatt-hour estimate.















TABLE 1







Bench


Incline
Lat


Exercise
Squats
Press
Bent Rows
Lunges
Bench
Pulldowns





















Reps
15
15
15
15
15
15


Time per rep
2.310
2.430
1.823
1.960
2.330
2.300


(seconds)








Distance
2
1.3
2.0
1.7
1.3
1.6


moved by








the handle








(ft)








Sets
3
3
3
3
3
3


Weight
10
20
20
10
10
50


(low)








Weight
135
185
150
60
135
150


(high)








Load*feet
900
1170
1800
765
585
3600


Total Time
103.95
109.35
82.035
88.2
104.85
103.5


under








Tension








(seconds)








HP
0.018
0.036
0.036
0.018
0.018
0.091


Estimate








Kilowatt
0.014
0.027
0.027
0.014
0.014
0.068


Estimate








KWH
0.00039
0.00082
0.00062
0.00033
0.00039
0.00195


Estimate






















TABLE 2






Bench
Incline

Lat
Overhead
Lateral


Exercise
Press
Press
Bent Rows
Pulldown
Press
Raises





















Reps
10
10
10
10
10
10


Time per rep
2.430
2.330
1.823
2.300
2.170
2.430


(seconds)








Distance
1.3
1.3
2.0
1.6
1.8
3.3


moved by








the handle








(ft)








Sets
3
3
3
3
3
3


Weight
185
135
150
150
60
25


(low)








Weight
185
135
150
150
60
25


(high)








Load*feet
7215
5265
9000
7200
3240
2475


Total Time
72.9
69.9
54.69
69
65.1
72.9


under








Tension








(seconds)








HP
0.336
0.245
0.273
0.273
0.109
0.045


Estimate








Kilowatt
0.251
0.183
0.203
0.203
0.081
0.034


Estimate








KWH
0.00507
0.00355
0.00309
0.00389
0.00147
0.00069


Estimate






















TABLE 3








Dumb-
Over-

Triceps



Bench
Incline
bell
head
Lateral
Push-


Exercise
Press
Press
Flies
Press
Raises
downs





















Reps
 8
 8
 8
 8
 8
 8


Time
 2.430
 2.330
 2.790
 2.170
 2.430
 2.520


per rep








(seconds)








Distance
 1.3
 1.3
 2.3
 1.8
 3.3
 1.7


moved by








the handle








(ft)








Sets
 3
 3
 3
 3
 3
 3


Weight
 50
 40
15
15
10
20


(low)








Weight
225
185
50
80
35
45


(high)









The controller can use the parameters in Tables 1-3 to control operation of the system and provide resistance to the cord for the designated movement and/or to provide the required simulated weight training.


Table 4 includes parameters recorded by the controller during operation of the system. For example, Table 4 includes movements (e.g., bent over row, squat, lunge, lat (latissimus dorsi) pulldown, overhead press, bench press, incline press, triceps pushdown, lateral raise, and dumbbell fly) that are performed using the system and parameters (e.g., start/stop position, peak position, distance between start/stop and peak in inches, distance between start/stop and peak in feet, and average time per repetition) that are determined and recorded by the controller.














TABLE 4






Start/
Peak/


Time/



Stop
Bottom
Distance
Distance
Rep (3



(in)
(in)
(in)
(ft)
rep avg.)




















Bent Over
5.5
29
23.5
2.0
1.823


Rows







Squats
59
34.5
−24.5
−2.0
2.310


Lunges
26.5
6
−20.5
−1.7
1.960


Lat
17
36
19.0
1.6
2.300


Pulldown







Overhead
46
67
21.0
1.8
2.170


Press







Bench
27
43
16.0
1.3
2.430


Press







Incline
29
44
15.0
1.3
2.330


Press







Triceps
28
48
20.0
1.7
2.520


Pushdown







Lateral
23
62
39.0
3.3
2.430


Raises







Dumbbell
28
56
28.0
2.3
2.790


Flies









System


Any one, some, or each suitable subsystem of any suitable fitness management system, as shown by the examples, may include a processor component, a memory component, a communications component, a sensor component, an input/output (“I/O”) component, a power supply component, and/or a bus that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components of subsystem. An I/O component may include at least one input component (e.g., a button, mouse, keyboard, microphone, etc.) to receive information from a user of subsystem and/or at least one output component (e.g., an audio speaker, visual display, haptic component, smell output component, etc.) to provide information to a user of subsystem, such as a touch screen that may receive input information through a user's touch on a touch sensitive portion of a display screen and that may also provide visual information to a user via that same display screen. A memory may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof. A communication component may be provided to allow one subsystem to communicate with a communications component of one or more other subsystems or servers using any suitable communications protocol (e.g., via any suitable communications network). A communication component can be operative to create or connect to a communications network for enabling such communication. A communication component can provide wireless communications using any suitable short-range or long-range communications protocol, such as Wi-Fi (e.g., an 802.11 protocol), Bluetooth, radio frequency systems (e.g., 1200 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, protocols used by wireless and cellular telephones and personal e-mail devices, or any other protocol supporting wireless communications. A communication component can also be operative to connect or otherwise couple to a wired communications network or directly to another data source wirelessly or via one or more wired connections or couplings or a combination thereof (e.g., any suitable connector(s)). Such communication may be over the internet or any suitable public and/or private network or combination of networks. The systems may include any suitable sensor that may be configured to sense any suitable data from an external environment of a subsystem or from within or internal to the subsystem (e.g., light data via a light sensor, audio data via an audio sensor (e.g., microphone(s) and/or any suitable audio data sensors), location-based data via a location-based sensor system (e.g., a global positioning system (“GPS”)), and/or the like, including, but not limited to, a microphone, camera, scanner (e.g., a barcode scanner or any other suitable scanner that may obtain product or location or other identifying information from a code, such as a linear barcode, a matrix barcode (e.g., a quick response (“QR”) code), or the like), web beacons, proximity sensor, light detector, temperature sensor, motion sensor, biometric sensor (e.g., a fingerprint reader or other feature (e.g., facial) recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to the subsystem or otherwise to the fitness management system for authenticating a user), gas/smell sensor, line-in connector for data and/or power, and combinations thereof, etc.). A power supply can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of a subsystem. A subsystem may also be provided with a housing that may at least partially enclose one or more of the components of subsystem for protection from debris and other degrading forces external to the subsystem. Each component of a subsystem may be included in the same housing (e.g., as a single unitary device, such as a laptop computer or portable media device) and/or different components may be provided in different housings (e.g., a keyboard input component may be provided in a first housing that may be communicatively coupled to a processor component and a display output component that may be provided in a second housing, and/or multiple servers may be communicatively coupled to provide for a particular subsystem). In some embodiments, a subsystem may include other components not combined or included in those shown or several instances of one or some or each of the components shown.


A processor may be used to run one or more applications, such as an application that may be provided as at least a part of one or more data structures that may be accessible from a memory and/or from any other suitable source (e.g., via an active internet connection). Such an application data structure may include, but is not limited to, one or more operating system applications, firmware applications, software applications, communication applications, internet browsing applications (e.g., for interacting with a website provided by a fitness management service (“FMS”) subsystem for enabling subsystems to interact with an online service or platform of the FMS subsystem (e.g., a FMSP)), FMS applications (e.g., a web application or a native application or a hybrid application that may be at least partially produced and/or managed by the FMS subsystem for enabling subsystems to interact with an online service or platform of the FMS subsystem (e.g., FMSP)), any suitable combination thereof, or any other suitable applications. For example, a processor may load an application data structure as a user interface program to determine how instructions or data received via an input component of I/O component or via a communication component or via a sensor component or via any other component of the subsystem may manipulate the way in which information may be stored and/or provided to a user via an output component of an I/O component and/or to any other subsystem via a communication component. As one example, an application data structure may provide a user (e.g., customer, producer, enabler, or otherwise) with the ability to interact with a fitness management service or FMSP, where such an application may be a third party application that may be running on a subsystem (e.g., an application associated with the FMS subsystem that may be loaded on a subsystem from the FMS subsystem or via an application market) and/or that may be accessed via an internet application or web browser running on the subsystem (e.g., a processor) that may be pointed to a uniform resource locator (“URL”) whose target or web resource may be managed by the FMS subsystem or any other remote subsystem. One, some, or each subsystem may be or may include a portable media device (e.g., a smartphone), a laptop computer, a tablet computer, a desktop computer, an appliance, a wearable electronic device (e.g., a smart watch), a virtual and/or augmented reality device, a workout machine, at least one web or network server (e.g., for providing an online resource, such as a website or native online application, for presentation on one or more other subsystems) with an interface for an administrator of such a server, any other suitable electronic device(s), and/or the like.


In an example, a main or base unit is the workhorse of the system. The base unit may include one, some, or all of the following major pieces: (1) motor and structural housing; (2) electronics package, which may include a communications suite, messaging controller, and/or logic control for the overall system; (3) sensors of any suitable type(s) that may be used to gather data, where this information may include, but is not limited to, position, speed, and force; (4) battery/power supply; (5) durable shell; (6) spool and at least one cord; and (7) direct control human interface.


The handle may serve as a physical handle and a human device interface (“HID”). The handle may contain sensor(s), input device(s), and/or output device(s) that may allow the handle to sense and/or transmit user actions to a main unit and/or to communicate with the user via output device(s). The handle may include connectivity (e.g., Bluetooth or a similar connection) to the main unit and an application. The handle may be built with haptic feedback and/or vibration functionality. The handle may have visual and/or auditory feedback. The handle may contain various input devices (e.g., buttons, vibration sensors, 6-axis sensors, grip sensors, etc.).


In the example, the software is responsible for controlling the system during the training routine, for integration of collected data, and/or for control of the main unit. The software may be configured to include a level of adaptability and account for a variety of motion and exercise types. For example, the system may perform a calibration in which the user performs a training routine under minimal load for one to two repetitions to allow the software to get a sense of the motion type and speed requirements. The software may be configured to be based on an application and connected possibly by Bluetooth. The software may allow for basic control of the system, such as both in the planning of sets, and the execution of the set.


The software may be configured to include any suitable visuals and trainers (e.g., human and/or avatar) which may accompany each exercise. Some interfaces can be very simple, which may just show metrics, such as force, rep speed, number of reps, and/or the like. The visual for force could be a number or line graph showing current vs. expected force.


Parameters of a training routine such as intensity may be based on a variety of factors and/or selected by trainers. For example, concentric and/or eccentric phases of the unit may be independently controlled and/or tuned.


Modes of the system may include but are not limited to, constant speed with the application providing visual/auditory feedback based on force, adaptive speed based on force feedback (e.g., mimic of real weights), variable force based on position—force can ramp up, down, or have varying patterns, variable motion control—isometric or near isometric, variable force curves, TRX mode—fixed position with user selectable length, virtual spotter (e.g., recognition of slowed movement/reduced force, or lack of mobility), eccentric dominated motion, concentric dominated motion, transition states, integrated games like points or objectives, and/or the ability to communicate with other devices to allow interactive group exercise.


In some embodiments, there may be communication protocols to be established from the device(s) to the internet. As such, there may be several application programming interfaces (“APIs”) that may be operating to support the communication both on the user side and directly for the device. As shown in FIGS. 17-19, a computer cluster may act as a central source for the aggregation of the data. This compute cluster may be multi-directional as the data may be intended to flow in many simultaneous directions.


The systems and methods described herein are configured to facilitate, for example, (a) individuals training in remote or non-dedicated training spaces; (b) providing real-time feedback during a training session; (c) reducing cost of systems for simulated weight and aerobic training; (d) improved compatibility and communication between training systems and components or personal devices; and (e) increasing efficiency and effectiveness of training systems and the workouts performed using the training systems.


Described herein are computer systems such as a controller and a personal computing device. As described herein, all such computer systems may include a processor and a memory.


Further, any processor in a computer device referred to herein may also refer to one or more processors wherein the processor may be in one computing device or a plurality of computing devices acting in parallel. Additionally, any memory in a computer device referred to herein may also refer to one or more memories wherein the memories may be in one computing device or a plurality of computing devices acting in parallel.


As used herein, a processor may include any programmable system including systems using micro-controllers, reduced instruction set circuits (RISC), application specific integrated circuits (ASICs), logic circuits, and any other circuit or processor capable of executing the functions described herein. The above examples are example only, and are thus not intended to limit in any way the definition and/or meaning of the term “processor.”


As used herein, the term “database” may refer to either a body of data, a relational database management system (RDBMS), or to both. As used herein, a database may include any collection of data including hierarchical databases, relational databases, flat file databases, object-relational databases, object oriented databases, and any other structured collection of records or data that is stored in a computer system. The above examples are example only, and thus are not intended to limit in any way the definition and/or meaning of the term database. Examples of RDBMS's include, but are not limited to including, Oracle® Database, MySQL, IBM® DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, any database may be used that enables the systems and methods described herein. (Oracle is a registered trademark of Oracle Corporation, Redwood Shores, California; IBM is a registered trademark of International Business Machines Corporation, Armonk, New York; Microsoft is a registered trademark of Microsoft Corporation, Redmond, Washington; and Sybase is a registered trademark of Sybase, Dublin, California.)


In one example, a computer program is provided, and the program is embodied on a computer readable medium. In an example, the system is executed on a single computer system, without requiring a connection to a sever computer. In a further embodiment, the system is being run in a Windows® environment (Windows is a registered trademark of Microsoft Corporation, Redmond, Washington). In yet another embodiment, the system is run on a mainframe environment and a UNIX® server environment (UNIX is a registered trademark of X/Open Company Limited located in Reading, Berkshire, United Kingdom). In certain embodiments, the system is run on a Linux® server environment (Linux is the registered trademark of Linus Torvalds in the U.S. and other countries). The application is flexible and designed to run in various different environments without compromising any major functionality. In some embodiments, the system includes multiple components distributed among a plurality of computing devices. One or more components may be in the form of computer-executable instructions embodied in a computer-readable medium.


As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to “example embodiment” or “one embodiment” of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features.


As used herein, the terms “software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a processor, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are example only, and are thus not limiting as to the types of memory usable for storage of a computer program.


The systems and processes are not limited to the specific embodiments described herein. In addition, components of each system and each process can be practiced independent and separate from other components and processes described herein. Each component and process also can be used in combination with other assembly packages and processes.


When introducing elements of the present invention or the preferred embodiment(s) thereof, the articles “a”, “an”, “the” and “said” are intended to mean that there are one or more of the elements. The terms “comprising”, “including” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.


As various changes could be made in the above constructions without departing from the scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense. Although specific features of various embodiments of the invention may be shown in some drawings and not in others, this is for convenience only. In accordance with the principles of the invention, any feature of a drawing may be referenced and/or claimed in combination with any feature of any other drawing.


This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.

Claims
  • 1. A system for simulated weight or aerobic training, the system comprising: a spool configured to rotate about an axis;a handle comprising: a grip sized and shaped to be gripped by a user during operation of the system;a sensor assembly attached to the grip and configured to detect information relating to a position and usage of the grip; anda force sensor connected to the grip and configured to measure force applied to the grip;a cord extending from the handle to the spool and configured to wrap around the spool during operation of the system;a motor connected to the spool and configured to provide a torque to the spool;a controller configured to operate the motor to regulate the torque provided to the spool based at least in part on the position of the grip and the force applied to the grip;a first communication component connected to the controller and configured to provide communication between at least two of the spool, the handle, the motor, or the controller; anda second communication component configured to communicate with a device on a network.
  • 2. A system in accordance with claim 1, wherein the handle further comprises a communication component connected to the grip of the handle and configured to send information from the sensor assembly and the force sensor to the controller, wherein the controller is configured to operate the motor based at least in part on the information from the sensor assembly and the force sensor.
  • 3. A system in accordance with claim 1, further comprising a housing including: a frame supporting the motor and the spool; anda shell mounted on the frame, wherein the housing encloses the spool, the motor, and the controller.
  • 4. A system in accordance with claim 3, further comprising a position sensor attached to the housing and configured to detect a position of the housing.
  • 5. A system in accordance with claim 1, wherein the sensor assembly comprises an inertial measuring unit (IMU) configured to detect information relating to the position of the grip.
  • 6. A system in accordance with claim 1, wherein the system has an off mode in which the motor is off, a standby mode in which the controller operates the motor based on a first torque setting, and a training mode in which the controller operates the motor based on a second torque setting, and wherein the controller switches between the modes based at least in part on information received from at least one of the sensor assembly or the force sensor.
  • 7. A system in accordance with claim 1, further comprising a user interface attached to the grip and configured to provide feedback to the user during a training routine.
  • 8. A system in accordance with claim 1, further comprising a memory, wherein the controller is configured to record training information to the memory during a training routine, the training information including at least one of a number of sets performed, a force provide on the grip, or a position of the grip.
  • 9. A system in accordance with claim 1, further comprising a user interface adapted to be provided on a portable computing device, wherein the user interface is configured to display training data from operation of the system and receive a user input relating to a setting of the system.
  • 10. A system in accordance with claim 1, further comprising a tension device configured to regulate the tension of the cord.
  • 11. A system in accordance with claim 10, wherein the tension device comprises a leaf spring positioned to engage the cord when the cord is wrapped around the spool.
  • 12. A system in accordance with claim 1, further comprising another spool, handle, cord, motor, and controller, wherein the controllers communicate with each other via the first communication component or the second communication component and are synchronized with each other to operate simultaneously and provide a dual weight training experience for the user.
  • 13. A system in accordance with claim 1, wherein the second communication component enables the controller to link with the device on the network to provide paired operation of the controller and the device.
  • 14. A system in accordance with claim 13, wherein the device comprises a cellular telephone, virtual reality device, headphones, a tablet, or a smart device.
  • 15. A system in accordance with claim 1, wherein the second communication device enables the controller to control a device including a camera, wherein the controller is configured to use the sensor to perform at least one of recording, analyzing, or marking a video.
  • 16. A system comprising: a base unit comprising: a spool configured to rotate about an axis;a motor connected to the spool and configured to provide a torque to the spool;a controller configured to operate the motor to regulate the torque provided to the spool;a housing enclosing the motor, the controller, and the spool; anda power source connected to the motor and configured to provide power to the motor during operation of the system;a handle comprising a grip sized and shaped to be gripped by a user during operation of the system; anda cord extending from the handle to the base unit and configured to wrap around the spool during operation of the system,wherein the system is portable and is sized to be carried by a single person, andwherein the motor forms a direct drive system, and the controller is configured to regulate the torque of the motor to provide a simulated weight resistance.
  • 17. A system in accordance with claim 16, wherein the motor includes a shaft operatively connected to the spool to form a direct drive system.
  • 18. A system in accordance with claim 16, wherein the housing of the base unit includes: a frame supporting the motor and the spool; anda shell mounted on the frame.
  • 19. A system in accordance with claim 16, wherein the power source is a rechargeable battery that is removably attached to the housing.
  • 20. A system in accordance with claim 16, wherein the housing completely encloses the spool and the motor to prevent a user from contacting moving parts of the spool and the motor during operation, and wherein the housing defines an outlet for the cord to extend outward from the housing and between the spool and the handle.
  • 21. A system in accordance with claim 16, wherein the base unit, the handle, and the cord cumulatively weigh 16 lbs. or less.
  • 22. A system in accordance with claim 16, wherein the controller is configured to regulate the torque of the motor to provide a simulated weight resistance of 100 lbs. or less.
  • 23. A system comprising: a base unit comprising: a spool configured to rotate about an axis;a motor connected to the spool and configured to provide a torque to the spool;a controller configured to operate the motor to regulate the torque provided to the spool, the controller including a first communication component; anda power source connected to the motor and configured to provide power to the motor during operation of the system;a handle comprising: a grip sized and shaped to be gripped by a user during operation of the system;a first user interface connected to the grip and configured to at least one of provide feedback to the user during a training routine or receive an input from the user related to operation of the base unit; anda second communication component communicatively connected to the controller;a cord extending from the handle to the base unit and configured to wrap around the spool during operation of the system; anda second user interface adapted to be provided on a portable computing device, wherein at least one of the second user interface and the controller is configured to identify sets in a training routine performed using the system and determine training information based on the sets in the training routine, and wherein the first user interface is configured to provide the training information to a user.
  • 24. A system in accordance with claim 23, wherein the handle includes a sensor attached to the grip and configured to detect information relating to a position of the grip relative to the base unit or to a force applied to the grip or cord, wherein the second communication component is connected to the sensor and configured to send the information from the sensor to the controller, wherein the controller is configured to operate the motor based at least in part on the information from the sensor.
  • 25. A system in accordance with claim 24, wherein the controller is configured to identify the sets in the training routine based on the information received from the sensor, and to send information related to the sets of the training routine to the first user interface.
  • 26. A system in accordance with claim 23, wherein the base unit includes a third user interface configured to receive a selection from the user, wherein the controller is configured to determine at least one of a mode and a desired resistance based on the user's selection.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application Ser. No. 63/417,217, filed on Oct. 18, 2022, the contents of which is incorporated by reference in its entirety.

Provisional Applications (1)
Number Date Country
63417217 Oct 2022 US