METHODS AND SYSTEMS FOR CONTROLLING RESISTANCE TRAINING MACHINE
Provided herein are Methods and Systems For Controlling Resistance Training Machine that provides varying force and velocity levels for isokinetic and isotonic exercises, respectively, for a user.
1 . A Methods For Controlling Resistance Training Machine, comprising the steps:
a. controlling a resistance training machine to measure and communicate form feedback and balance feedback during some or all exercises performed on the machine by a drive system module, wherein the resistance training machine comprises a platform or base with load cells, a motor and a sensor operably coupled to cables, cables operably coupled to a pulley system, a controller operatively coupled to the sensors, load cells, motors, and human machine interface (HMI);
b. providing resistance supplied by the motors to perform an isokinetic exercise or an isotonic exercise by receiving position data as a function of time from the motor, and the main module receive current, torque, and/or force data as a function of time from the motor, the main module receives force data, weight data, force distribution data and/or weight distribution from the load cells; and
c. operably coupling a main module with a plurality of modules including a BLE communication module, a Training program module, the drive system module, a sensor and switch monitor module, an actuator control module, a Phidge Bridge communication module, a Logging Module, and an MQTT client.
2 . The method of claim 1 , further comprising the plurality of modules communicating with the Logging Module to logs all the events from all modules to terminal and file, logging and providing training history on request; and the MQTT client is operable and communicable with the main module to get information from wireless buttons.
3 . The method of claim 2 , further comprising:
a. Operating the main module with the BLE communication module, the MQTT client, and controlling the BLE communication module, MQTT client via wireless interface;
b. Operating the main module with the Training program module and the Phidge Bridge communication module operates with the Training program module;
c. Operating the main module that communicates with a cloud server; and
d. Operating the main module with the drive system module and a sensor and switch monitor module.
4 . The method of claim 3 , further comprising reading out a plurality of settings by the main module; storing a calibration data on the system startup; distributing the sensors data to the main module and the BLE communication module by the main module; managing the haptic or button presses received from a plurality of BLE enabled buttons by the main module; setting a color and glowing mode from the main module; managing the information received from Phidge Bridge communication module by the main module; calling methods from main module upon request by the main module; operating a plurality of states including an Initialize state, a Calibration state, a Workout state, a Stop state, an Idle state, a Pull in Slack state, a tracking motor current state, and a hall sensor check state.
5 . The method of claim 4 , wherein the initialize state is configured to ramp up to or ramp down from a given velocity, such as during an initial or ending phase of an isokinetic exercise; or the motor may be configured to ramp up to or ramp down from a given force, torque, or current, such as during an initial or ending phase of an isotonic exercise; configuring the motor to implement independent S-curve smoothing or configuring the motor to operate at constant accelerations, operate within minimum and/or maximum velocities, operate within minimum and/or maximum accelerations, and kinematic controls to improve a perceived smoothness and overall safety for the user.
6 . The method of claim 5 , wherein the Calibration state is calibrating one or more exercises, wherein each exercise having a relative beginning position and a relative end position; selecting the relative beginning position by extending or retracting one or both cables to a first position, without resistance, and allows for the holding the first position for 2-5 seconds by the main module; selecting the relative end position by extending or retracting one or both cables to a second position, without resistance, by the main module; and allowing for the holding the second position for 2-5 seconds.
7 . The method of claim 6 , wherein the workout state selects an exercise from among the one or more calibrated exercises; allowing the user to select to perform the exercise using the left cable only, the right cable only, or using both the left and right cables; selecting a number of repetitions for the exercise; selecting an exercise mode, such as an isokinetic mode or an isotonic mode if an isokinetic mode is selected, then selecting a constant velocity to be outputted by the machine; if an isotonic mode is selected, then selecting a constant force to be outputted by the machine.
8 . The method of claim 7 , wherein the Stop state is the main module activates the sensor and switch module to stop the cables and the motors.
9 . The method of claim 8 , wherein the Pull in Slack state operates the main module to retract the cables when no longer in use; operating the motor to retract the cable to the docking position at a minimum force or minimum velocity if/when certain conditions are met.
10 . A computer program product for a Resistance Training Machine, the computer program product comprising computer-readable instruction means stored on a non-transitory computer-readable medium that are executable by a computer having a processor for causing the processor to perform operations of:
a. controlling a resistance training machine to measure and communicate form feedback and balance feedback during some or all exercises performed on the machine, wherein the resistance training machine comprises a platform or base with load cells, a motor and a sensor operably coupled to cables, cables operably coupled to a pulley system, a controller operatively coupled to the sensors, load cells, motors, and human machine interface (HMI);
b. providing resistance supplied by the motors to perform an isokinetic exercise or an isotonic exercise by receiving position data as a function of time from the motor, and the main module receive current, torque, and/or force data as a function of time from the motor, the main module receives force data, weight data, force distribution data and/or weight distribution from the load cells; and
c. operably coupling a main module with a plurality of modules including an UI module, a BLE communication module, a Training program module, a drive system module, a sensor and switch monitor module, a statistics module, a LED string control module, a Phidge Bridge communication module, an audio control module, a Logging Module, and a An MQTT client.
11 . The computer program product of claim 10 , further comprising the plurality of modules communicating with the Logging Module to logs all the events from all modules to terminal and file, logging and providing training history on request; and the MQTT client is operable and communicable with the main module to get information from the wireless buttons.
12 . A computer program product for a Resistance Training Machine, the computer program product comprising computer-readable instruction means stored on a non-transitory computer-readable medium that are executable by a computer having a processor for causing the processor to perform operations of:
a. Operating a main module with an UI module, a BLE communication module, a MQTT client, and an audio control module, and controlling the UI module, BLE communication module, MQTT client, and the audio control module via wireless interface;
b. Operating the main module with a Training program module and a Phidge Bridge communication module operates with the Training program module;
c. Operating the main module a Cloud communication module that communicates with a cloud server; and
d. Operating the main module with a drive system module, a sensor and switch monitor module, a statistics module, a LED string control module.
13 . The computer program product of claim 12 , further comprising reading out a plurality of settings by the main module; storing a calibration data on the system startup; distributing the sensors data to the UI module 120 and the BLE communication module by the main module; managing the haptic or button presses received from a plurality of BLE enabled buttons by the main module; setting a color and glowing mode from the LED string control module by the main module; managing the information received from Phidge Bridge communication module by the main module; calling methods from Audio control module upon request by the main module; operating a plurality of states including an Initialize state, a Calibration state, a Workout state, a Stop state, an Idle state, a Pull in Slack state, a tracking motor current state, and a hall sensor check state.
14 . The computer program product of claim 13 , wherein the initialize state is configured to ramp up to or ramp down from a given velocity, such as during an initial or ending phase of an isokinetic exercise; or the motor may be configured to ramp up to or ramp down from a given force, torque, or current, such as during an initial or ending phase of an isotonic exercise; configuring the motor to implement independent S-curve smoothing or configuring the motor to operate at constant accelerations, operate within minimum and/or maximum velocities, operate within minimum and/or maximum accelerations, and kinematic controls to improve a perceived smoothness and overall safety for the user.
15 . The computer program product of claim 13 , wherein the Calibration state is calibrating one or more exercises, wherein each exercise having a relative beginning position and a relative end position; selecting the relative beginning position by extending or retracting one or both cables to a first position, without resistance, and allows for the holding the first position for 2-5 seconds by the main module; selecting the relative end position by extending or retracting one or both cables to a second position, without resistance, by the main module; and allowing for the holding the second position for 2-5 seconds.
16 . The computer program product of claim 15 , wherein the workout state selects an exercise from among the one or more calibrated exercises; allowing the user to select to perform the exercise using the left cable only, the right cable only, or using both the left and right cables; selecting a number of repetitions for the exercise; selecting an exercise mode, such as an isokinetic mode or an isotonic mode if an isokinetic mode is selected, then selecting a constant velocity to be outputted by the machine; if an isotonic mode is selected, then selecting a constant force to be outputted by the machine.
17 . The computer program product of claim 16 , wherein the Stop state is the main module activates the sensor and switch module to stop the cables and the motors.
18 . The computer program product of claim 17 , wherein the Pull in Slack state operates the main module to retract the cables when no longer in use; operating the motor to retract the cable to the docking position at a minimum force or minimum velocity if/when certain conditions are met.