The present disclosure generally relates to exercise equipment and, more specifically, to resistance training machines employing electric motors to provide custom workouts.
Resistance training is a form of exercise undergone to build muscular strength and endurance by working against a weight or applied force. While some resistance training routines can be accomplished without external equipment, i.e. bodyweight exercises, many others require the use of specialized equipment, such as but not limited to free weights, weight machines, cable machines, resistance bands, and the like.
Traditional resistance training equipment is often specialized and, while each piece of equipment may offer distinct advantages, each may also suffer from drawbacks and inefficiencies. For example, free weights and weight machines are commonly employed for isotonic exercises, i.e. exercises requiring muscle activation against a constant force across a given range of motion. However, adjusting the weight or force for such exercises can be inconvenient, often requiring a user to add or remove plates, install clips, swap out dumbbells, etc. Furthermore, initiating an exercise with free weights and weight machines can create undue strain on a user's body, since the force applied by such equipment acts as a step function-jumping from zero to the full resistance. Perhaps more importantly, traditional resistance training equipment is usually designed for specific exercises or specific exercise modes only, requiring an individual to own a plurality of equipment in order to access a variety of well-rounded exercises.
More recently, ‘smart’ exercise machines have been developed that claim to offer a number of different exercises in a single machine. These machines commonly operate by providing resistive forces through electronic motors, which may be adjusted to the user's strength level. However, the exercise machines disclosed by the prior art have consistently failed to provide a range of exercise modes, or can provide some modes but fail in others. Moreover, such machines tend to be limited in the amount of force they produce; they are usually unwieldy and difficult to install or transport; and many fail to provide adequate safety measures for the user. Finally, neither traditional resistance training equipment nor newer exercise machines offer feedback regarding both user form and user balance during workouts.
Accordingly, there remains a need in the art for a resistance training machine that is capable of implementing a large number of exercise modes, including at least isotonic and isokinetic exercises; that is capable of supplying high levels of resistive force; and that may provide feedback on user form and user balance throughout each exercise.
According to a first aspect of the present disclosure, a resistance training machine is disclosed. The resistance training machine may comprise a base situated substantially parallel to the floor; a power supply; a left motor and a right motor, each including an integrated motor encoder and an integrated motor controller; a left pulley system configured to operatively convert torque from the left motor to a constant force or a constant velocity; a right pulley system configured to operatively convert torque from the right motor to a constant force or a constant velocity; a left cable operatively coupled to the left motor and running through the left pulley system; a right cable operatively coupled to the right motor and running through the right pulley system; a machine controller configured to control the left motor and the right motor and to receive position and torque feedback therefrom; and an HMI in bi-directional communication with the machine controller. The resistance training machine can provide isotonic exercises in the constant force, isokinetic exercises in the constant velocity, and can communicate user form feedback and user balance feedback.
According to a second aspect of the present disclosure, a method of providing custom workouts using a resistance training machine is disclosed. The method comprises: calibrating one or more exercises, each exercise including a relative beginning position and a relative end position; the user selecting an exercise from among the one or more calibrated exercises; the user selecting an isokinetic exercise mode or an isotonic exercise mode; the user moving a cable to a beginning position without resistance; a motor ramping up the cable to a constant velocity or a constant force, depending on the exercise mode; the user performing one or more repetitions of the exercise; and the motor ramping down the cable from the constant velocity or the constant force, depending on the exercise mode.
According to a third aspect of the present disclosure, a method of providing feedback on user form and user balance during an exercise on a resistance training machine is disclosed. The method comprises: a user performing an isokinetic exercise or an isotonic exercise using resistance supplied by a motor; a machine controller receiving position data from the motor throughout the exercise; the machine controller receiving torque data from the motor throughout the exercise; the machine controller receiving force data from one or more load cells located in a base of the resistance training machine; the machine controller generating user form feedback; the machine controller generating user balance feedback; and displaying the user form feedback and user balance feedback through an HMI.
These and other aspects and features of the present disclosure will be more readily understood after reading the following description in conjunction with the accompanying drawings.
Referring now to the drawings and with specific reference to
Turning now to
The power supply 235 may receive electrical power from an external supply and may provide electrical power to some or all of the other electronic components of the machine 100, where wattage ratings may be determined by specific applicational requirements. In some embodiments, such as the one shown in
As seen in
Returning to
Returning now to
Turning now to
With continued reference to
The cable 140 may be fixed to the drum pulley 280 at a first end and configured to wind and unwind from the drum pulley 280 as it is retracted and extended, respectively. More specifically, the cable 140 may begin at the drum pulley 280, extend through the one or more cable pulleys 290, and exit vertically through the pulley housing 205. In some embodiments, the pulley housing 205 may be located on an outer perimeter of the base 102, wherein a left pulley housing 205A and a right pulley housing 205B may be appropriately mirrored across the base 102. In other embodiments, however, the pulley housing 205 and the termination of the cable 140 may be located in other sections of the base 102, may be symmetrical across a different plane of the base 102, or may not be symmetrical at all.
In an embodiment shown in
As discussed above, the cable 140 may terminate in the knob 200, which acts as a stop defining a maximum retraction of the cable 140. For example, the pulley housing 205 may include a limiter bracket 206 having an aperture with dimensions smaller than a diameter of the knob 200. Consequently, when the cable 140 is in the docking position, the knob 200 may rest against the limiter bracket 206 of the pulley housing 205. In some embodiments, the cable 140 may terminate in a carabiner, D-ring, snap-hook, or comparable attachment device for the incorporation of various accessories, which will be discussed further below. And in the same or other embodiments, said attachment device may be in addition to or may altogether replace the knob 200.
With continued reference to
In addition to the foregoing, the motor 255 may be configured with a number of specific control features. According to an embodiment, the motor 255 may be capable of independently implementing closed-loop PID feedback; and/or may be capable of independently operating at a constant current, operating at a constant position, operating at a constant velocity, and/or implementing a specific motion profile. In the same or other embodiments, the machine controller 250 may operatively supply instructions to the motor 255 with respect to the above parameters through a CAN bus, PWM signal, or similar protocol common to the art.
For example, the machine controller 250 may command the motor 255 to operate at a specific velocity, e.g. in order to provide an isokinetic exercise to a user exercising with the machine 100. Upon receiving such a command, the motor 255 may be capable of independently maintaining the commanded velocity through internal control mechanisms without the need for additional signals from the machine controller 250 or from external encoders (not shown). The above notwithstanding, in some embodiments, the motor 255 may also receive external feedback from the machine controller 250 and/or from external encoders to supplement its internal control mechanisms.
In another embodiment, the machine controller 250 may command the motor 255 to operate at a specific current or torque, e.g. in order to provide an isotonic exercise to the exercising user. Likewise, the motor 255 may be capable of independently maintaining the necessary current or torque through internal control mechanisms without the need for external data, feedback, or commands. It may be appreciated that, with regard to isotonic exercises in particular, the machine controller 100 may be configured to convert a desired force level in the cable 140 to a current or torque level of the motor 255. In such circumstances, the machine controller 250 may be configured to consider any number of system factors, such as but not limited to force multipliers in the pulley system 201, transfer functions in the motor 255, and the like.
According to some embodiments, the motor 255 may be configured to implement a specific motion profile received from the machine controller 100, which may or may not be ‘streamed’ in real time. For example, the motor 255 may be configured to ramp up to or ramp down from a given velocity, e.g. during an initial or ending phase of an isokinetic exercise; or the motor 255 may be configured to ramp up to or ramp down from a given force, torque, or current, e.g. during an initial or ending phase of an isotonic exercise. In the same or other embodiments, the motor 255 may be configured to implement independent S-curve smoothing; and/or may be configured to operate at constant accelerations, operate within minimum and/or maximum velocities, operate within minimum and/or maximum accelerations, and yet other kinematic controls, which further improve a perceived smoothness and overall safety for the user.
Furthermore, in some embodiments, one or both of the left motor 255 and the right motor 255 may be capable of implementing a ‘follow mode’ protocol, wherein a ‘follower’ motor may be controlled by and execute an identical motion profile to a ‘lead’ motor, e.g. during symmetrical exercises.
Turning now to
In some embodiments, each motor 255 may further include an integrated planetary gearbox, such as but not limited to the Versa Planetary Gearbox, which may feature any number of modular and interchangeable gear stages. Without limitation, the motor 255 may further include any number of coupling components required to integrate its shaft with the pulley system 201. As shown in the exploded view in
Returning to
As previously discussed, the machine controller 250 may be in bi-directional communication with each of the motors 255. More specifically, it may command an operation of each motor 255 through a CAN bus, PWM signals, or comparable communication protocol, and may receive feedback from each motor 255 via the same or additional communication channels. For example, the machine controller 250 may command each motor 255 to operate at a specific velocity, specific torque or current level, or specific motion profile, depending on the exercise being provided for the user. In some embodiments, after supplying the initial command to the motor 255, the machine controller 250 may not be required to participate in the motor's 255 independent control processes. For example, the machine controller 250 may supply the initial command for a concentric motion of an exercise, defer to the motor's independent closed-loop control, and then, upon completion of the concentric motion, supply the command for the eccentric motion of the same exercise. And in other embodiments, the entire repetition or even the entire set of repetitions may be independently controlled by each motor 255. However, it may be appreciated that the control scheme between the machine controller 250 and each motor 255 may differ depending on the exercise being performed, wherein each exercise may be left-side only, right-side only, symmetric, functionally symmetric, etc. For example, where a symmetric exercise is provided, the machine controller 250 may provide commands to the ‘lead’ motor 255 only, which may be then be replicated by the ‘follower’ without direct input from the machine controller 250.
In addition to controlling an operation of the motors 255, the machine controller 250 may also receive feedback therefrom, including at least a position feedback and a current, torque, and/or force feedback. In an embodiment, the position feedback may be supplied by the integrated motor encoder, and the current, torque, and/or force feedback may be supplied by the integrated motor controller. In some embodiments, each motor 255 may only supply a position feedback and a current feedback, wherein the latter may be converted into the relevant parameter, e.g. force, by the machine controller 255, after accounting for force multipliers in the pulley system 201, transfer functions in the motor 255, and the like. In the same or other embodiments, additional metrics may be monitored by the machine controller 250, such as not limited to the temperature levels, voltage levels, power consumption, and efficiency of each motor 255.
Furthermore, the machine controller 250 may implement algorithms and/or software processes which perform an analysis on the data received from the motors 255 to provide user form feedback and user balance feedback on some or all exercises performed on the resistance training machine 100. Such analysis may consider, without limitation, the type of exercise being performed, the mode of the exercise (e.g. isokinetic or isotonic), the specified velocity or force levels outputted by the motors 255, the number of repetitions, the motion profile executed by the motor 255, and yet other factors; and may further depend on a sampling frequency of the motor 255 and/or the machine controller 250. For example, during an isokinetic and isometric exercise, the machine controller 250 may utilize the position feedback from the motors 255 to determine a kinematic motion of the user throughout his or her range of motion. Likewise, during an isotonic and isometric exercise, the machine controller 25 may utilize the current feedback from the motors 255 to determine a force applied by the user throughout his or her entire range of motion. In the above examples, it may be determined that the user's physical motion or force output is sufficiently balanced between the left and right sides of the body, or alternatively, that an unbalanced distribution has occurred. Such analysis by the machine controller 250 may then be communicated to the user through the HMI 110 and/or, in some circumstances, may lead to the activation of certain safety protocols. No limitation is intended herein for the type and number of user form and user balance metrics which may be derived by the machine controller 250, nor for the algorithms and mechanisms by which feedback is extracted from the motors 255 and the subsequent analysis performed.
With continued reference to
In the above or other embodiments, the force feedback from the load cells 299 may be consolidated with feedback from the motors 255 to provide more complex insights into user form and user balance. For example, net force data from the load cells 299 may be measured against a net force outputted by the motors 255. The comparison therein may be used to calculate a distribution of vertical (Z-axis) and horizontal (X-axis, Y-axis) force vectors, thereby arriving at a simulated pulling angle of one or both cables 140. It should be understood, however, that each of the above analyses are exemplary only, and that no limitation is intended herein for the methods or algorithms by which data from the motors 255 and the load cells 299 are measured and analyzed to drive insights for the user.
Returning now to
In some embodiments, the machine controller 250 may further implement software to generate a graphic user interface (GUI) displayed by HMI 110. The GUI may be configured to receive a user's selection of exercise type, exercise mode, exercise velocity, exercise force, exercise repetitions etc. Furthermore, the GUI may display feedback regarding the user's form and balance, and/or the GUI may alert the user when unsafe practice are detected. For example, during an ongoing exercise, a visual representation on the HMI 10 may display a simulated user form, a relative position of the cable, a force distribution between the left and right sides of the user's body, a weight distribution across the base 102, a simulated user stance, and yet other possibilities. Indeed, no limitation is intended herein for the means by which the HMI 110 may receive selections from the user, nor for the means by which feedback on user balance and form may be displayed on the HMI 110.
While the above has described a number of electronic components comprising the resistance training machine 100, several hardware features will now be discussed in greater detail.
More specifically, the resistance training machine 100 may comprise a number of hardware features which improve its ease of use and its customizability. In the embodiment shown in
Returning now to
With continued reference to
Turning now to
In some embodiments, the machine and, more specifically, the machine controller, may be programmed to include a Calibration Mode incorporating the above steps, where said steps may be facilitated through the display and input mechanism of the HMI. In the same or other embodiments, recalibration of an exercise may be performed at any time by entering the Calibration Mode.
With continued reference to
It may be understood, however, that different exercises may require only one or both cables, or may even be performed with functional symmetry, i.e. alternating left and right cables; that different exercises may require a specific number or range of repetitions; that different exercises may be performed in a specific exercise mode only; that different exercises may require a specific number or range of velocity and force; and/or that different exercises may be preprogrammed into the machine. Indeed, no limitation is intended herein for the specific combination of exercise type, handedness, symmetry, repetitions, exercise mode, and/or range of exertions that may be provided by the machine. Furthermore, it should be understood that some or all of the above steps may be obviated, may be performed in a different order, and/or may be performed concurrently, without departing from the scope of the present disclosure. In some embodiments, the machine and, more specifically, the machine controller may be programmed to include a Ready Workout Mode incorporating the above selection steps, where said steps may be facilitated through the display and input mechanism of the HMI.
With continued reference to
Next, the motor may ramp up the cable to a constant velocity (block 691), e.g. for an isokinetic exercise, or ramp up the cable to a constant force (block 692), e.g. for an isotonic exercise. The user may then perform a repetition of the exercise (6100) at the constant velocity or force. Near the end position of the motion, the motor may ramp down the cable from the constant velocity to zero or a minimum velocity (block 6111), e.g. for the isokinetic exercise; or ramp down the cable from the constant force to zero or a minimum force (block 6112), e.g. for an isotonic exercise. Finally, blocks 691-6111 may be repeated for a selected number of repetitions, and the workout completed. In various embodiments, specific ramp up and ramp down times may be selected by the user, set by the manufacturer, and/or changed according to the associated exercise; and may be set to between 0.5 and 3 seconds, and more preferably, between 1 and 2 seconds. Furthermore, additional smoothing, such as S-curve smoothing, may be applied to the motion profile of the cable during either ramp up or ramp down procedures.
In some embodiments, the machine may feature a Pull-in Slack mode that is designed to retract the cables when no longer in use. Accordingly, the method 600 may include the motor retracting the cable to the docking position at a minimum force or minimum velocity if/when certain conditions are met. According to an embodiment, the Pull-In Slack mode may be activated if/when the cable is not in the docking position and no resistance has been detected by the machine controller for between 5 and 15 seconds and, more preferably, between 8 and 12 seconds. In the same or other embodiments, the Pull-in Slack Mode may be deactivated (and the retraction ceased) if, during retraction, a resistance is detected in the cables. It may be understood that Pull-in Slack mode may also be activated in other circumstances, and may be activated for a single cable at a time or both cables concurrently.
In some embodiments, the machine may further feature any number of safety protocols designed to protect the user and/or the machine when dangerous activity is detected or when certain limits are exceeded. In such embodiments, the machine may enter a Non-workout Mode, wherein no resistance is exerted by one or both motors. In the same or other embodiments, the Non-workout Mode may be followed by the Pull-in Slack Mode in order to reset the machine. For example, the machine may enter the Non-workout Mode if, in the course of an exercise: a force exceeding between 300 and 700 pounds or, more preferably, 500 pounds is exerted on either motor; a repetition exceeds between 6 and 14 seconds or, more preferably, 10 seconds; or either or both knobs are within between 0.5 and 2 inches or, more preferably 1 inch of the docking position. In such circumstances, the motor may cease providing resistance, followed by a brief pause, and then begin retraction through the Pull-in Slack mode. As discussed above, the machine may further utilize the load cells to enable additional safety protocols, in combination with or independent of the above conditions. For example, the Non-workout Mode may be activated if the cable is not in the docking position and one or more load cells detect an unsafe user balance, or if the user is standing to close to an edge of the base.
Furthermore, in some or all of the above embodiments, a corresponding status or alert may be communicated to the user through the HMI, informing the user of the type, cause, and/or remedy to an encountered problem. It should be understood that the above conditions and protocols are exemplary only, that other conditions or sets of conditions may be programmed to activate the Non-workout Mode, that periods of time other than the above may be necessary or sufficient to activate the Non-workout Mode, and that other procedures may be activated by the machine as part of various safety protocols without departing from the scope of the present disclosure.
Turning now to
Next, in block 750, the machine may generate feedback pertaining to the user's form from some or all of the above data received by the motors and the load cells; and, in block 760, the machine may generate feedback pertaining to the user's balance from some or all of the above. As previously discussed, no limitation is intended herein for the algorithms or strategies by which insights may be extracted from the underlying data. Finally, the machine may display the user form and user balance feedback through the HMI through any number of means known in the art, such as but not limited to a GUI, graphs, charts, tables, simulations, audio cues, and the like (block 7100). In some embodiments, the machine controller may specifically generate a visual representation of the user's form and balance (block 790), such as but not limited to a 3D model, a color-coded display of active muscle groups, a distribution of left-side and right-side forces, and many other possibilities, which may improve a comprehension and/or enjoyment for the user.
In some embodiments, the above feedback information may also be used to activate safety protocols. As seen in block 780, if unsafe user activity is detected, the machine may enter a Non-workout Mode, wherein the motors may cease to apply resistance. In the same or other embodiments, appropriate alerts, such as visual or audio cues, may further be communicated to the user through the HMI 10. However, it should be understood that other safety triggers and other resulting actions are also possible and envisioned.
Referring now to the drawings and with specific reference to
Turning now to
As shown in
The power supply may receive electrical power from an external supply and may provide electrical power to some or all of the other electronic components of the machine 100, where wattage ratings may be determined by specific application requirements. In some embodiments, such as the one shown in
As seen in
Returning now to
As shown in
The right gear system may be operably coupled a right linear actuator, which switches the right gear system to from smaller gear to a higher gear in the isokinetic mode and switches the from a smaller gear to a lower gear in the isotonic mode or calibration mode. The higher gear forces the right motor system achieve a higher force and slower speed on the right cable, while the lower gear forces the right motor system achieve a lower resistive force on the cable allowing for a higher speed of the right cable.
In one embodiment, the constant force mode or isotonic mode is when the handle moves at a constant force regardless of how fast or slow the user moves the handles during their workout. The max force at the handle is about 500 lbs/handle and the max velocity at the handle is about 3 ft/0.5 seconds. In another embodiment, the constant velocity mode or the isokinetic mode is when the handle moves at a constant velocity regardless of how much force the user puts on the handles during the workout. The max force in the isokinetic mode is about 1000 lbs/handle and the max velocity at the handle is about 10 inch/1.0 seconds. The pull in/slack mode is for calibration and is how the handle function when the user is not in a workout and the tension on the handle is under constant light tension. The calibration mode has a max force of about 20 lbs/handle and a max velocity of about 3 ft/0.5 seconds.
In one embodiment, the gear ratio of the lower gear to the higher gear is 1:16, 1:15, 1:14, 1:13, 1:12, 1:11, 1:10, 1:9, 1:8, 1:7, 1:6, 1:5, 1:4, 1;3, 1:2, or 1:1. The right motor system 255B may feature any number of modular and interchangeable gear stages when adding additional motors to the right motor system and the left motor system, such as one gear, two gears, three gears, and the like. Without limitation, the motor systems 255 may further include any number of coupling components required to integrate additional motors and their shaft to the gears with the pulley system 201. The first right motor 1360B and the second right motor 1370B achieve a resistive force of at least about 100 lbs to about 500 lbs. The right motor system 255B and a left motor system 255A work in parallel and are controlled by the machine controller 250.
As shown in
As shown in
The motor encoder may be an AC servo drive with 16-bit high resolution feedback and motor monitor functions. The motor encoder may include a 4-wire high speed serial encoder bus, with 8-bit security code, a graphical interface, Adaptive Tuning Technology, Single/Three-Phase 110˜240 VAC±10% 50/60 Hz input, standard Position, Velocity, Torque servo modes; Serial [UART,SPI], Pulse/Sign, CW/CCW, A/B Quadrature, and Analog Command; A/B/Z Quadrature incremental encoder output; Motor Current, Absolute Position, Position Error Monitor Outputs; RS232/Modbus RS485/CAN Communication; and Integrated Point to Point S-curve motion, linear & circular coordinated motion.
As shown in
The second operating system 3200 includes a device maintenance database 3210, a console manager 3220, an Ethernet data/stream process 3230, a core manager 3540, a motor drive manager 3250, a sensor manager 3260, and a wireless button manager 3270. The device maintenance database 3210 sends and receives data from the core manager 3540. The core manager 3540 sends and receives data from the console manager 3220, the motor drive manager 3250, the sensor manager 3260, and the wireless button manager 3270. The Ethernet data stream process 3230 sends and receives data from the event handler 3120 and the workout manager 3130 from the first operating system 3100. The wireless button manager 3270 sends and receives data from the wireless workout button 3280.
The second operating system 3200 sends commands to the first operating system 3100, which are topics for any particular module. The first operating system 3100 populates events that are processed by the second operating system 3200. The second operating system 3200 processes streams, which are topics continuously populated data stream from the first operating system 3100. The first operating system 3100 and the second operating system 3200 process responses for commands or acknowledgements of data, such as errors or critical events. The first operating system 3100 and the second operating system 3200 provide a Calibration of the resistance training machine, which is the procedure of setting min and max values relative to home position for movement and determines the positions between which the movement takes place. The first operating system 3100 and the second operating system 3200 process Movement Data, which is the process of motor rotation in and out to pull in and release cables between defined positions during calibration or loaded from the database. The second operating system 3200 process data relating to Accessories attached resistance training machine, which are devices which are connected to second operating system 3200 using wireless or Bluetooth, to provide UI control movements and calibration of the motor.
The modes that the motor system may implement include a Nemesis Mode, a Standard Mode, an Exocentric Mode, an Isokinetic Mode, an Isotonic Mode, a Concentric mode, an Eccentric Mode. The Nemesis Mode is the movement mode in which the user is able to do an Isokinetic movement in both directions. The Standard Mode is the movement mode in which the user is able to do an Isotonic movement in both directions. The Excentric Mode is the movement mode in which the user is able to do an Isokinetic movement in the eccentric direction. The Isokinetic mode is Constant velocity movement, where the motor is more powerful than the user. The Isotonic Mode is Constant force movement, where the motor is less powerful than the user. The Concentric mode is the upward portion of a movement. The Eccentric mode is the downward portion of a movement. The modes may be set, calibrated, and executed by motor protocols.
The motor protocol is used for both the left and right motor system and the motor protocol is for receiving data from the second operating system about moving status and moving direction for the motor system. The motor protocol is updated on every change in motor movement or change in motor direction. The motor protocol includes a homed protocol, a command protocol, a response protocol, and an error protocol. The homed protocol contains information about the homing status of a motor and updates on change in the home status. The command protocol is used to send commands to the second operating system. The motor command may include: get relative position to home position and get actual position relative to actual home position. The response protocol contains the response data from second operating system and response for each command received by the second operating system. The error protocol is used by the first operating system for receiving error data from motors, for example SDK error, parameters set error, a number of error from list, including motor unexpected stop.
The movement protocol includes a calibration procedure used to establish the movement thresholds to be used during a workout, from where to where the motors will move. The resulting Minimum and Maximum values will be stored by the first operating system and must be passed to the second operating system using a command movement/setMovementData/along with the rest of the movement parameters.
The first operating system sends the communication/movement/calibration/launch Calibration/. The first operating system receives the communication/movement/calibration/calibration Status/. The first operating system sends the/movement/calibration/get Calibration/. The first operating system receives the communication/movement/calibration/actual Calibration/{1 min, 1 max . . . }.
The first operating system will receive several/stream/messages from the second operating system during motor movements approximately every 250 ms. The first operating system will receive from the second operating system all/motor/events, plus/accessories/event/. The first operating system may receive the motor protocol for the right and left motor, the stream, or the accessories events.
The get calibration protocol is used for sending a command to the second operating system and receiving actual calibration data. The second operating system may also request actual calibration from the device.
The actual calibration protocol is used for sending actual calibration from the second operating system to the first operating system, and when EM receive command from API.
The actual calibration protocol may send the minimum point in meters relative to home position for left motor, may send the maximum point in meters relative to home position for left motor, may send the minimum point in meters relative to home position for right motor, and may send the maximum point in meters relative to home position for right motor.
If the machine isn't calibrated, then an invalid calibration value is sent to the second operating system.
The set calibration protocol is used to send calibration values from the first operating system to the second operating system. These values set the calibration minimum and maximum for the motors for the subsequent movement. This set calibration protocol should be used for every movement, or the calibration will be in an invalid state. After setting calibration, the second operating system should use the get calibration protocol to get calibration and check for set values.
The launch calibration protocol is used to send command to the second operating system to launch or stop calibration procedure. The status of calibration can be received in the calibration status protocol.
The calibration status protocol is used to receive info from the second operating system about the calibration status. For example, after sending command launch Calibration protocol. The calibration status protocol may include not calibrated, maximum calibration in progress, maximum calibration completed, minimum calibration in progress, minimum calibration completed, and calibration completed
The calibration error protocol is used to receive info from second operating system about calibration error status. For example, after sending command launch calibration protocol.
The set Movement Data protocol is used to set typical movement values. The set movement protocol includes the number of repetitions for movement based on the type of the accessory to process events from the isokinetic, isotonic, eccentric, and mixed modes.
The set movement protocol includes the minimum calibration value for movement in meters for the left side only for isokinetic and mixed modes; the maximum calibration value for movement in meters for the left side only for isokinetic and mixed modes; the minimum calibration value for movement in meters for the right side only for isokinetic and mixed modes; the maximum calibration value for movement in meters for the ride side only for isokinetic and mixed modes; the position for start of movement only for isokinetic and mixed, optionally the top from max point or the bottom for minimum point; which motor is used in movement, optionally left motor system, right motor system, or both motor systems, where calibration uses this value as calibration target; the time for the upward movement; the time for the downward movement only for isokinetic and mixed modes; the force in pounds for the upward movement only for the isotonic mode; the force in pounds for the downward movement only for the isotonic mode.
The movement command protocol is used to send movement commands to the second operating system. To check the status of the movement command protocol, the movement status protocol is used for the response. The movement command protocol includes a start movement, an end movement, a pause movement, and a resume movement.
The movement status protocol is used to receive event status of movement, it also can be a response to the movement command protocol. The movement status protocol is a response and an event, since the movement status can change by both the first and the second operating system (via Bluetooth buttons) interaction. The movement status protocol includes a movement started, a movement paused, a movement resumed, and a movement finished.
The movement error protocol is used by the first operating system to receive an event about movement error. The movement error protocol includes an invalid movement command, a can't start workout due to calibration is not set, an invalid state transition, a hall sensor triggered, and an unable to set movement data.
The movement error acknowledgment is used for send acknowledge about receiving error from the first operating system to the second operating system.
The sensor status protocol is used to receive events about hall sensor status change. The sensor status protocol includes a status of left hall sensor, a status of right hall sensor, a status of motor safety circuit and whether it is enabled or the safety is triggered.
Max Acceleration, Max Speed, and Gear Number are important data parameters for generating the S-Curve in the motor protocol. The motor drive also applies a smoothing filter to the acceleration profile to generate best S-Curve performance.
The S-Curve profile is calculated as the following,
Gear Ratio=4,096/GEAR NUMBER
Maximum Motor Speed[rpm]=[(MaxSpd+3)*(MaxSpd+3)/16]*12.21*Gear Ratio
Maximum Motor Acceleration[rpm/s]=MaxAcl*635.78*Gear Ratio
Motor Movement Position=Command Position*Gear Ratio*4
S-Curve: Acceleration Time=0.104 s; Distance During Acceleration=1.72 rev; Constant Speed Travel Time=0.154 s; Total S-Curve Time=0.362 s.
More specifically, the resistance training machine 100 may comprise a number of hardware features which improve its ease of use and its customizability. In the embodiment shown in
Returning now to
While the preceding text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of protection is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the scope of protection.
The present application claims priority to PCT application serial no. PCT/US2022/047441, filed Oct. 21, 2022, which claims priority to U.S. provisional application Ser. No. 63/270,408, filed Oct. 21, 2021 and U.S. Provisional application Ser. No. 63/346,800, filed May 27, 2022, each herein incorporated by reference in their entireties.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/047441 | 10/21/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63270408 | Oct 2021 | US | |
63346800 | May 2022 | US |