IP Library Granted Patent US 12,076,601
Granted Patent B2
US 12,076,601 · App. 17/902,534 · Granted Sep 3, 2024

Digital strength training

Inventors: Aly E. Orady (San Francisco, CA); Bret G. Stott (Menlo Park, CA)
Assignee: Tonal Systems, Inc.
A63B21/0059A63B21/00181A63B21/015A63B21/018A63B21/16A63B21/169A63B21/4035A63B23/1281A63B24/0062A63B24/0087A63B71/0054G01L5/04G01L5/107A63B2071/0072A63B2220/17A63B2220/34A63B2220/40A63B2220/62A63B2220/80A63B2220/805A63B2220/833B66F19/00G01L1/04G01L1/22H02P3/00H02P2203/00H02P2203/03
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,076,601
App. No.
17/902,534
Granted
Sep 3, 2024
Kind
B2
Abstract

An information related to the position of an actuator coupled to a cable which is coupled to a motor is received. A filter is used to provide an input to a motor controller coupled to the motor, to adjust torque on the motor such that a strength curve is implemented relative to the position of the actuator.

Claims (87)

1. An exercise machine including:

an actuator;

a motor;

a cable coupled between the actuator and the motor, wherein the motor is of a pancake style; and

a motor controller coupled to the motor;

a filter coupled to the motor controller, configured to:

receive an information related to a position of the actuator;

provide an input to the motor controller to adjust torque on the motor such that a strength curve is implemented relative to the position of the actuator, wherein the strength curve comprises a dynamic nonlinear strength curve that changes over time; and

compute motor position based on sensor fusion comprising a high speed sensor to determine motor position at high speed and a low speed sensor to determine motor position at low speed, wherein the computing of the motor position comprises to:

perform one or more of the following:

A) determine an initial position of the motor while the motor is at rest;

determine, using the low speed sensor, a current position of the motor while the motor is moving; and

in response to a determination that a difference between the initial position and the current position is equal to or exceeds a pre-determined threshold:

 switch to a high-speed mode using the high speed sensor; and

 determine, using the high speed sensor, a change in position, comprising to:

 in response to a determination that the change in position is less than the pre-determined threshold, switch back to a low-speed mode using the low speed sensor; and/or

B) determine an initial position of the motor using the high speed sensor;

after the motor moves no more than a predetermined motor angle:

 toggle the low speed sensor to a different low speed sensor; and

 record the current position and the predetermined motor angle; and

calculate a true motor angle based on a comparison of the current position with the current position and the predetermined motor angle.

2. The exercise machine of claim 1 , wherein the actuator is a handle, the filter is a digital filter, and the motor is a three phase motor.

3. The exercise machine of claim 1 , wherein the information related to the position of the cable includes a plurality of points in time to derive velocity of the cable.

4. The exercise machine of claim 1 , wherein the filter is further configured to receive a second information related to a force applied on the cable.

5. The exercise machine of claim 1 , wherein the strength curve is a constant torque filter, at least in part driving the actuator with a constant torque.

6. The exercise machine of claim 1 , wherein the strength curve is a weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack to the actuator.

7. The exercise machine of claim 1 , wherein the strength curve is a weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack with at least ten pounds of accuracy to the actuator.

8. The exercise machine of claim 1 , wherein the strength curve is a momentum free weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack without momentum to the actuator.

9. The exercise machine of claim 1 , wherein the strength curve is a momentum free weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack without momentum to the actuator, wherein the filter is further configured to calculate an actuator momentum of the actuator; and compensate for the actuator momentum.

10. The exercise machine of claim 1 , wherein the strength curve is a momentum free weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack without momentum to the actuator, wherein the filter is further configured to calculate an actuator friction being applied to the actuator; and compensate for the actuator friction being applied.

11. The exercise machine of claim 1 , wherein the strength curve is a momentum free weight stack filter, at least in part mirroring a behavior of a weight machine with a weight stack without momentum to the actuator, wherein the filter is further configured to calculate an actuator friction being applied to the actuator; and compensate for the actuator friction being applied, and wherein the calculation of the actuator friction comprises a percentage of a mirrored weight stack weight.

12. The exercise machine of claim 1 , wherein the strength curve includes an asymmetry, at least in part providing eccentric loading service to the actuator.

13. The exercise machine of claim 1 , wherein the strength curve includes a dynamic spotter protocol, at least in part providing a weight spotter service to the actuator.

14. The exercise machine of claim 1 , wherein the strength curve includes a dynamic repetition protocol, at least in part providing at least one of the following to the actuator: a pyramid service, an escalation service, a ladder service, and a drop service.

15. The exercise machine of claim 1 , wherein the motor is an AC induction motor.

16. The exercise machine of claim 1 , wherein the filter is further configured to compute motor position based on sensor fusion comprising a magnet sensor to determine motor position based on magnetism and an optical sensor to determine motor position based on optics.

17. The exercise machine of claim 1 , wherein the the exercise machine is of low relative depth for at least one of the following: wall mounting and floor mounting.

18. The exercise machine of claim 1 , wherein the motor controller is coupled to a user input device, wherein the user input device includes at least one of the following: a touch screen, buttons, and dials.

19. The exercise machine of claim 1 , wherein the motor controller is coupled to a user feedback device, wherein the user feedback device includes at least one of the following: a screen, lights, a haptic feedback, an audible sound generator, and a speaker.

20. The exercise machine of claim 1 , wherein the strength curve is a filter effectuating two or more of strength curves.

21. The exercise machine of claim 1 , wherein the exercise machine makes user adjustments based on a performance of a user.

22. The exercise machine of claim 1 , wherein the filter compensates for at least one of the following: friction, positive velocity, negative velocity, momentum, inertia, and kinetic energy.

23. A method, comprising:

receiving an information related to a position of an actuator coupled to a cable which is coupled to a motor, wherein the motor is of a pancake style; and

using a filter to provide an input to a motor controller coupled to the motor, to adjust torque on the motor such that a strength curve is implemented relative to the position of the actuator, wherein the strength curve comprises a dynamic nonlinear strength curve that changes over time; and

computing motor position based on sensor fusion comprising a high speed sensor to determine motor position at high speed and a low speed sensor to determine motor position at low speed, wherein the computing of the motor position comprises:

performing one or more of the following:

A) determining an initial position of the motor while the motor is at rest;

determining, using the low speed sensor, a current position of the motor while the motor is moving; and

in response to a determination that a difference between the initial position and the current position is equal to or exceeds a pre-determined threshold:

switching to a high-speed mode using the high speed sensor; and

determining, using the high speed sensor, a change in position, comprising:

 in response to a determination that the change in position is less than the pre-determined threshold, switching back to a low-speed mode using the low speed sensor; and/or

B) determining an initial position of the motor using the high speed sensor;

after the motor moves no more than a predetermined motor angle:

toggling the low speed sensor to a different low speed sensor; and

recording the current position and the predetermined motor angle; and

calculating a true motor angle based on a comparison of the current position with the current position and the predetermined motor angle.

24. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

receiving an information related to a position of an actuator coupled to a cable which is coupled to a motor, wherein the motor is of a pancake style;

using a filter to provide to a motor controller coupled to the motor, to adjust torque on the motor such that a strength curve is implemented relative to the position of the actuator, wherein the strength curve comprises a dynamic nonlinear strength curve that changes over time; and

computing motor position based on sensor fusion comprising a high speed sensor to determine motor position at high speed and a low speed sensor to determine motor position at low speed, wherein the computing of the motor position comprises:

performing one or more of the following:

A) determining an initial position of the motor while the motor is at rest;

determining, using the low speed sensor, a current position of the motor while the motor is moving; and

in response to a determination that a difference between the initial position and the current position is equal to or exceeds a pre-determined threshold:

switching to a high-speed mode using the high speed sensor; and

determining, using the high speed sensor, a change in position, comprising:

 in response to a determination that the change in position is less than the pre-determined threshold, switching back to a low-speed mode using the low speed sensor; and/or

B) determining an initial position of the motor using the high speed sensor;

after the motor moves no more than a predetermined motor angle:

toggling the low speed sensor to a different low speed sensor; and

recording the current position and the predetermined motor angle; and

calculating a true motor angle based on a comparison of the current position with the current position and the predetermined motor angle.

25. The exercise machine of claim 1 , wherein the computing of the motor position comprises to:

determine an initial position of the motor while the motor is at rest;

determine, using the low speed sensor, a current position of the motor while the motor is moving; and

in response to a determination that a difference between the initial position and the current position is equal to or exceeds a pre-determined threshold:

switch to a high-speed mode using the high speed sensor; and

determine, using the high speed sensor, a change in position, comprising to:

in response to a determination that the change in position is less than the pre-determined threshold, switch back to a low-speed mode using the low speed sensor.

26. The exercise machine of claim 1 , wherein the computing of the motor position comprises to:

determine an initial position of the motor using the high speed sensor;

after the motor moves no more than a predetermined motor angle:

toggle the low speed sensor to a different low speed sensor; and

record the current position and the predetermined motor angle; and

calculate a true motor angle based on a comparison of the current position with the current position and the predetermined motor angle.

Assignments (2)
SECURITY INTEREST Recorded Mar 31, 2026
From: TONAL SYSTEMS, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 075306/0212 →
SECURITY INTEREST Recorded Oct 24, 2025
From: TONAL SYSTEMS, INC.
To: CUSTOMERS BANK
Reel/Frame 073255/0161 →
Continuity (4)
Continuation 16737684 · Jan 8, 2020
Continuation 15655682 · Jul 20, 2017
Provisional Application 62366573 · Jul 25, 2016
Related Publication 20230089946A1 · Mar 23, 2023