CPC A63B 21/0059 (2015.10) [A63B 21/00181 (2013.01); A63B 21/015 (2013.01); A63B 21/018 (2013.01); A63B 21/16 (2013.01); A63B 21/169 (2015.10); A63B 21/4035 (2015.10); A63B 23/1281 (2013.01); A63B 24/0062 (2013.01); A63B 24/0087 (2013.01); A63B 71/0054 (2013.01); G01L 5/04 (2013.01); G01L 5/107 (2013.01); A63B 2071/0072 (2013.01); A63B 2220/17 (2013.01); A63B 2220/34 (2013.01); A63B 2220/40 (2013.01); A63B 2220/62 (2013.01); A63B 2220/80 (2013.01); A63B 2220/805 (2013.01); A63B 2220/833 (2013.01); B66F 19/00 (2013.01); G01L 1/04 (2013.01); G01L 1/22 (2013.01); H02P 3/00 (2013.01); H02P 2203/00 (2013.01); H02P 2203/03 (2013.01)] | 26 Claims |
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.
|