EXERCISE EQUIPMENT WITH DYNAMIC ILLUMINATION OF SIMULATED ENVIRONMENT

20250319383 ยท 2025-10-16

Assignee

Inventors

Cpc classification

International classification

Abstract

An exercise apparatus includes a motor, a cable coupled to the motor, an exercise attachment coupled to the cable such that the motor is operable to exert force on the exercise attachment via the cable, a display screen, and a controller. The controller is programmed to control the motor based on simulated progress through a virtual environment, determine a beam direction based on a cranial orientation of the user of the exercise apparatus, generate a graphical visualization of the virtual environment by casting a virtual light beam along the beam direction, and cause the display screen to display the visualization.

Claims

1. An exercise apparatus, comprising: a motor; a cable coupled to the motor; an exercise attachment coupled to the cable, wherein the motor is operable to exert force on the exercise attachment via the cable; a display screen; a controller programmed to: control the motor based on simulated progress through a virtual environment; determine a beam direction based on a cranial orientation of the user of the exercise apparatus; generate a graphical visualization of the virtual environment by casting a virtual light beam along the beam direction; and cause the display screen to display the visualization.

2. The exercise apparatus of claim 1, further comprising a camera, wherein the controller is programmed to determine the cranial orientation of the user based on an image from the camera.

3. The exercise apparatus of claim 2, wherein the controller is programmed to determine the cranial orientation of the user by: automatically detecting relative positions of a plurality of facial features of the user in the image; and determining the cranial orientation of the user based on the relative positions of the plurality of facial features.

4. The exercise apparatus of claim 2, further comprising a headband, wherein the controller is programmed to determine the cranial orientation of the user by detecting an orientation of the headband in the image from the camera.

5. The exercise apparatus of claim 4, wherein the headband comprises at least one icon, wherein the controller is programmed to recognize the at least one icon in the image and determine the orientation of the headband based on image processing of the at least one icon.

6. The exercise apparatus of claim 1, further comprising a wearable inertial measurement unit communicable with the controller, wherein the controller is programmed to determine the cranial orientation of the user based on data from the wearable inertial measurement unit.

7. The exercise apparatus of claim 1, wherein the controller is programmed to generate the graphical visualization by providing a portion of the virtual environment on which the virtual light beam is incident with a first brightness and providing a remainder of the virtual environment with a second brightness.

8. The exercise apparatus of claim 1, wherein the controller is programmed to determine the beam direction as a function of the cranial orientation and a scaling factor such that a first change in the cranial orientation is scaled to a second change in beam direction, the second change greater than the first change.

9. The exercise apparatus of claim 8, wherein the controller is programmed to determine the beam direction by abstaining from changing the beam direction unless a change in the cranial orientation exceeds a threshold amount.

10. The exercise apparatus of claim 1, comprising a rack, wherein the motor is coupled to the rack, and wherein the cable is routed along the rack.

11. The exercise apparatus of claim 1, wherein the exercise attachment is a paddling handle.

12. The exercise apparatus of claim 1, wherein the virtual environment comprises an obstacle, wherein the obstacle is visible in the visualization when located along the beam direction and invisible in visualization when located out of the beam direction.

13. The exercise apparatus of claim 12, wherein the controller is programmed to control the motor based on a virtual interaction with the obstacle.

14. The exercise apparatus of claim 1, wherein the virtual light beam is rectangular, and wherein controller is programmed to determine the cranial orientation of the user and the beam direction in three degrees of freedom.

15. A method of operating an exercise apparatus comprising a motor, a cable coupled to the motor, and an exercise attachment coupled to the cable, the method comprising: detecting a cranial orientation of a user of the exercise apparatus; determining a beam direction for a virtual headlamp based on the cranial orientation of the user; generating and displaying a graphical visualization of a virtual environment by casting a virtual light beam along the beam direction in the virtual environment; and controlling the motor of the exercise apparatus to exert force on the exercise attachment via the cable based on simulated progress of the user through the virtual environment.

16. The method of claim 15, further comprising providing an obstacle in the virtual environment, wherein generating and displaying the graphical visualization of the virtual environment comprises: displaying the obstacle in response to the obstacle being along the beam direction and abstaining; and abstaining from displaying the obstacle in response to the obstacle being away from the beam direction.

17. The method of claim 16, wherein controlling the motor of the exercise apparatus based on simulated progress of the user through the virtual environment comprises determining a virtual interaction with the obstacle.

18. The method of claim 15, wherein determining the cranial orientation of the user comprised detecting, using machine vision, facial features of the user.

19. The method of claim 15, wherein determining the cranial orientation of the user comprises detecting, from camera data, an orientation of a headband.

20. The method of claim 15, wherein determining the cranial orientation of the user comprises measuring, by a wearable inertial measurement unit, cranial movement of the user.

Description

BRIEF DESCRIPTION OF THE FIGURES

[0008] The disclosure will become more fully understood from the following detailed description, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements, in which:

[0009] FIG. 1 is a perspective view of an exercise apparatus (e.g., paddling simulator), according to some embodiments.

[0010] FIG. 2 is a block diagram of electronic components of the paddling simulator, according to some embodiments.

[0011] FIG. 3 is an illustration of operation of the paddling simulator through a rowing stroke, according to some embodiments.

[0012] FIG. 4 is an illustration of operation of the paddling simulator through a kayaking stroke, according to some embodiments.

[0013] FIG. 5 is an illustration of operation of the paddling simulator through a canoeing stroke, according to some embodiments.

[0014] FIG. 6 is a flowchart of a process for operating the paddling simulator, according to some embodiments.

[0015] FIG. 7 is a flowchart of a process of adjusting operation of the paddling simulator based on interaction with virtual water, according to some embodiments.

[0016] FIG. 8 is a flowchart of a process of providing an interactive virtual paddling experience with the paddling simulator, according to some embodiments.

[0017] FIG. 9 is a flowchart of a process including controlling illumination of a virtual environment based on cranial orientation of a user, according to some embodiments.

DETAILED DESCRIPTION

[0018] Referring generally to the figures, an exercise apparatus (e.g., paddling simulator) with motorized force production and methods of operation relating thereto are shown, according to various embodiments. As detailed below, the paddling simulator described herein uses one or more electric motors to provide a variable tension to a cable connected to a bar which a user can hold to perform a paddling exercise. The motors are controllable to dynamically vary the tension in the cable, including in both the power and recovery phases of a paddling stroke, for example to provide dynamic workouts not possible with conventional rowing machines. In some embodiments, the tension in the cable is varied based on whether a simulated (e.g., virtual) paddle is above or below a virtual water level in order to create a more realistic paddling experience. Additionally, the one or more motors can be controlled differently for different types of paddling strokes (rowing, kayaking, canoeing, etc.) thereby providing a variety of types of paddling exercises. The teachings herein can also be adapted for other types of simulated exercise activities via an exercise apparatus, for example via other configurations of the paddling simulator shown.

[0019] The teachings herein also advantageously can provide a virtual environment in which the user can interact via motor control and otherwise. Performance of paddling exercises can occupy a user's hands, such that certain approaches for interacting with a virtual environment (e.g., via handheld controller) are impractical in various scenarios. Accordingly, teachings herein can advantageously control interface features, for example illumination of a virtual environment with a virtual headlamp, by detecting a cranial orientation of the user. The user can then rotate their head (e.g., in one, two, or three degrees of freedom) to move the light beam from a virtual headlamp and/or otherwise interact with a virtual environment, for example in combination with the various motor control and other features described herein, to provide an immersive and engaging user experience.

[0020] These and other advantages of the systems and methods disclosed herein are described in detail below.

[0021] Referring now to FIG. 1, an exercise apparatus 100 is shown, according to some embodiments. The exercise apparatus 100 is referred to in some embodiments as a paddling simulator 100, and can also be used to provided various other strength training and/or cardiovascular training exercises in various embodiments (including simulated games, workouts, etc. other than paddling). The exercise apparatus 100 is shown as including a base platform 102, a first stanchion 104 extending vertically from the base platform 102 proximate a first end of the base platform 102, a second stanchion 106 extending vertically from the base platform 102 proximate the first end of the base platform 102, a display console 108 coupled to the base platform 102 and positioned between the first stanchion 104 and the second stanchion 106, and a bench 110 positioned on the base platform 102. The exercise apparatus 100 also includes a first motor 112 positioned on the base platform 102 at the first stanchion 104 and a second motor 114 positioned on the base platform 102 at the second stanchion 106. The exercise apparatus 100 includes a bar 116, a first cable 118 extending from the first motor 112 to the bar 116, and a second cable 120 extending from the second motor 114 to the bar 116. The exercise apparatus 100 also includes a first pulley 122 coupled to the first stanchion 104 and arranged to redirect the first cable 118 between the first motor 112 and the bar 116 and a second pulley 124 coupled to the second stanchion 106 and arranged to redirect the second cable 120 between the second motor 114 and the bar 116.

[0022] As shown in FIG. 1, the base platform 102 is substantially planar is configured to stably rest on a floor or other ground surface to provide a stable foundation for the paddling simulator 100. The base platform 102 can define an exercise surface on which a user can perform one or more exercise and/or on which the bench 110 can be positioned. In some embodiments, the base platform 102 is configured to be at least partially foldable into an out-of-use configuration in which the base platform 102 is folded up and away from the floor or ground under the base platform 102 (thereby reducing the space occupied by the paddling simulator 100 when not in use).

[0023] The first stanchion 104 and the second stanchion 106 extend upwards from the base platform 102 and are spaced apart from one another near an end of the base platform 102. The first stanchion 104 and the second stanchion 106 are shown as being substantially symmetric across a center line of the base platform 102. As shown in FIG. 1, the first stanchion 104 and the second stanchion 106 are substantially the same height. The first stanchion 104 and the second stanchion 106 may be approximately six feet tall, for example with a height in a range between five feet and seven feet, as in the example of FIG. 1. In other embodiments, the first stanchion 104 and the second stanchion 106 may be shorter, for example with a height in a range between two feet and four feet.

[0024] The first pulley 122 is coupled to the first stanchion 104 and is configured to be selectively repositioned along the first stanchion 104. For example, the first pulley 122 may include a projection that rides along a groove or slot of the first stanchion 104 (or vice-versa) and can be selectively held in place at various heights using a pin configured to engage apertures of the first stanchion 104. The first pulley 122 can include a handle to facilitate repositioning of the pulley 122. The second pulley 124 is coupled to the second stanchion 106 and is configured to be selectively repositioned along the second stanchion 106. For example, the second pulley 124 may include a projection that rides along a groove or slot of the second stanchion 106 (or vice-versa) and can be selective held in place at various heights using a pin configured to engage apertures of the second stanchion 106. The second pulley 124 can include a handle to facilitate repositioning of the pulley 122. Accordingly, the first pulley 122 and the second pulley 124 can be repositioned (e.g., manually by a user) to various heights along the first stanchion 104 and the second stanchion 106, i.e., at various heights above the base platform 102. In some embodiments, actuators (e.g., linear actuators) are included in the first stanchion 104 and the second stanchion 106 to automatically move the first pulley 122 and the second pulley 124.

[0025] The first motor 112 is shown as being positioned on the base platform 102 at a bottom end of the first stanchion 104. The first motor 112 is operationally coupled to the first cable 118 such that the first motor 112 can generate tension in the first cable 118. In some examples, the first motor 112 can include an electric motor coupled to a spool such that the electric motor operates to generate a torque that rotates the spool. In such examples, the spool is coupled to the first cable 118 such that the first cable 118 can be repeatedly wound and unwound from the spool of the first motor 112 by operation of the first motor 112.

[0026] The first motor 112 is configured to controllably generate a force that acts both acts to retract the first cable 118 towards the first motor 112 and to resists the first cable 118 from being pulled out (unspooling, releasing) from the first motor 112. Thus, as detailed below, the first motor 112 can provide a controllable tension in the first cable 118 during both a power phase and a recovery phase of a paddling stroke performed using the bar 116. The first motor 112 can also be configured to detect a transition from the power phase to the recovery phase (and from the recovery phase to the power phase), and, in some scenarios, change the tension in the first cable 118 in response to the transition. In such examples, the first motor 112 is thereby configured to provide a first tension in the first cable 118 during a power phase of a paddling stroke and a second tension in the first cable 118 during a recovery phase of the paddling stroke. In some embodiments, the first motor 112 includes a permanent magnet direct current motor.

[0027] The second motor 114 is shown as being positioned on the base platform 102 at a bottom end of the second stanchion 106. The second motor 114 is operationally coupled to the second cable 120 such that the second motor 114 can generate tension in the second cable 120. Other than acting on the second cable 120 rather than the first cable 118, the second motor 114 is configured substantially the same as the first motor 112 in the examples shown.

[0028] The bar 116 (rod, shaft, etc.) is coupled to the first cable 118 and the second cable 120. As shown in FIG. 1, the first cable 118 is coupled to the bar 116 proximate a first end of the bar 116 and the second cable 120 is coupled to a second end of the bar 116, such that the bar 116 substantially extends from the first cable 118 to the second cable 120. The bar 116 is rigid, and may include surface texturing or a surface material configured to facilitate grip of the bar 116 by a user. As shown in FIG. 1, the bar 116 is a substantially straight rod or shaft with a circular cross section. In other embodiments, the bar 116 is another shape (e.g., curved, winged, flat, etc.). In some embodiments, the bar 116 is shaped as a paddle or oar, for example with a paddle blade positioned at one or both ends thereof and/or with an ergonomic grip at one or both ends (e.g., as found on canoe paddles).

[0029] The bar 116 is coupled to the first cable 118 and the second cable 120 such that the tension in the first cable 118 and the second cable 120 is transferred to the bar 116 to create a force on the bar 116. In some embodiments, the first cable 118 and the second cable 120 are selectively coupled to the bar 116, for example using carabineers or other releasable connection mechanism. In such embodiments, the first cable 118 or the second cable 120 can be detached from the bar 116, for example to transition to a different paddling mode (e.g., to switch from a rowing or kayaking mode to a canoeing or paddle-boarding mode).

[0030] In some embodiments, the bar 116 includes one or more inertial measurement units (inertial sensors, accelerometers, gyroscopes, etc.) configured sense movement of the bar 116. The one or more inertial measurement units can be configured to sense translation and/or rotation of the bar 116 and generate data indicative of a current pose of the bar 116 (e.g., based on detected movement and a known starting position, for example). The inertial measurement units can be communicable with a controller (e.g., wirelessly) for the first motor 112 and the second motor 114 as shown in FIG. 2 and described in detail with reference thereto.

[0031] The bench 110 is configured for use with multiple types of paddling exercises. As shown in FIG. 1, the bench 110 includes a deck 130 and seat 132 positioned on the deck 130. In the arrangement shown, the seat 132 is slidable along the deck 130, for example along a rail or slot defined by the deck 130. In such an arrangement, the bench 110 is arranged for use in a rowing exercise or other type of paddling in which a user repeatedly bends and straightens their legs during the paddling (rowing) stroke. As shown in FIG. 1, the bench 110 also includes a foothold 134 configured to support a user's feet, for example such that the user can push against the foothold 134 to help the user exert a force on the bar 116 during a paddling stroke. In some embodiments, the foothold 134 includes straps or baskets configured to retain the user's feet at the foothold 134. In some embodiments, the deck 130 slopes downwards towards the foothold 134.

[0032] In some embodiments, the bench 110 is configured to transition from the slidable arrangement of FIG. 1 to a static arrangement in which the seat 132 is locked in a static position relative to the deck 130. In such an arrangement, the bench is arranged for use in a kayaking or canoeing exercise or other paddling exercise which does not typically involve gross movement of the user's lower body. In some embodiments, the seat 132 includes a pin, clamp, latch, etc. that can be engaged to the deck 130 to prevent motion of the seat 132 relative to the deck 130 and disengaged to allow motion of the seat 132 relative to the deck 130. In other embodiments, the deck 130 includes a pin, clamp, latch, etc. that can be engaged to the seat 132 to prevent motion of the seat 132 relative to the deck 130 and disengaged to allow motion of the seat 132 relative to the deck 130.

[0033] The display console 108 is configured to display information relating to operation of the paddling simulator 100 to a user. As shown in FIG. 1, the display console 108 includes a screen 140 (e.g., LED screen) positioned to be within the line-of-sight of a user seated on the bench 110. In some embodiments, the screen 140 is a touchscreen configured to accept user input. In other embodiments, one or more additional buttons, keys, toggles, etc. are included on the display console 108 to receive user input. In some embodiments, the display console 108 includes one or more speakers configured to emit sounds relating to operation of the paddling simulator 100. As shown in FIG. 1, the display console 108 also includes a camera 142. In some embodiments, the paddling simulator alternatively or additionally includes a virtual reality or augmented reality headset configured to be worn by a user and to display information relating to operation of the paddling simulator 100 to the user. In some embodiments, the display console 108 houses a controller for the paddling simulator 100, for example a controller as shown in FIG. 2 and described with reference thereto below.

[0034] FIG. 1 also shows the exercise apparatus 100 as including a headband 144. The headband 144 is shown as being worn on a head of the user, and can facilitate determination of a cranial orientation of the user. In some embodiments, the headband 144 includes at least one icon, such as a distinctive shape, array of shapes, pattern, high-contrast design, etc. which can be easily distinguished from a surrounding environment in image data from the camera 142 and thereby recognized using a machine vision, image recognition, etc. approach for determining an orientation of the headband 144 (and thereby determine a cranial orientation of a user wearing the headband). In some embodiments, the headband 144 includes an inertial measurement unit, for example an inertial measurement unit configured to measurement of the headband (thereby measuring changes in the cranial orientation of the user). In such embodiments, the headband 144 can be wirelessly communicable with at least one electronic component of the paddling simulator, for example a controller 200 as shown in FIG. 2 and described with reference thereto below.

[0035] Referring now to FIG. 2, a block diagram of electronic components of the paddling simulator 100 is shown, according to some embodiments. As shown in FIG. 2, the paddling simulator 100 includes a controller 200 communicably coupled to the first motor 112, the second motor 114, the display screen 140, one or more bar position sensors (bar tracking sensors) 202, a camera 142, and a headband 144. The controller 200, the first motor 112, the second motor 114, the display screen 140, the one or more bar position sensors 202, the camera 142, and/or the headband 144 may be conductively connected (e.g., wired connections therebetween) or wirelessly connected (e.g., Bluetooth, WiFi, etc.).

[0036] The one or more bar position sensors 202 are configured to generate data indicative of a pose (e.g., position and orientation) of the bar 116. In some embodiments, the one or more bar position sensors 202 include one or more inertial measurement units configured to generate data indicative of acceleration and movement of the bar 116. In such embodiments, the bar position sensors 202 can be positioned inside the bar 116 and wirelessly communicable with the controller 200 (e.g., via WiFi).

[0037] In other embodiments, the one or more bar position sensors 202 include optical tracking detectors, for example camera 142 (the one or more bar position sensors 202 may be the same as, additional to, different than, etc. the camera 142 in various embodiments). In some such embodiments, a camera collects visual images which are processed (e.g., using an image recognition program) to recognize the bar 116 and determine a pose of the bar 116. In other embodiments, fiducial markers, for example reflective markers, are positioned on the bar 116 (e.g., at ends of the bar 116) and an optical tracking detector (e.g., a stereoscopic camera pair) is arranged to collect data indicative of the pose of the bar 116 by optically tracking the position of the markers (e.g., by collecting infrared light emitted by the optical tracking detector and reflected by the reflective markers. Other types of tracking are possible in various embodiments.

[0038] The camera 142 is configured to collect image data (e.g., video) of an area where a user will be positioned when using the exercise apparatus 100, for example by virtue being pointed at and having visibility to an area over the base platform 102. The camera 142 can thereby collect images of a user's head which can be indicative of a cranial orientation of the user. The camera 142 can provide image data to the controller 200. The controller 200 can use a machine vision algorithm, image recognition process, etc. to determine a cranial orientation of the user based on in the image data, for example by recognizing and determining relative positions of facial features (e.g., eyes, nose, chin, etc.) of the user and determining a cranial orientation of the user based on the relative positions of the user's facial features. In some embodiments, the camera 142 is a visual-spectrum camera collecting visual image data. In some embodiments, the camera 142 is stereoscopic camera pair. In some embodiments, the camera 142 is provided with an emitter of structured light (e.g., outside of a visible spectrum), such that the camera 142 can detect reflections of the structured light to facilitate tracking of the user's cranial orientation.

[0039] The headband 144 is shown in FIG. 2 as including an inertial measurement unit (IMU) 204, power source 206, and communications circuitry 208. The IMU 204 is configured to measurement movement of the headband 144, for providing 9-axis measurement by including magnetometer, an accelerometer, and a rate gyro. The headband 144 can thereby be configured as a wearable IMU configured to measure movement of the headband 144, for example movement corresponding to cranial orientation (rotation) and position (translation) of a user wearing the headband 144. The power source 206 (e.g., replaceable battery, rechargeable battery and charge port, power cord, other power electronics, etc.) is configured to provide electrical power to the IMU 204 and the communications circuitry 208. The communications circuitry 208 is configured to communicatively connect to the controller 200 to provide measurements from the IMU 204 to the controller 200, for example via wired or wireless communications (e.g., WiFi, Bluetooth, etc.). The communications circuitry 208 can include an antenna, transceiver, receiver, port, etc. in various embodiments.

[0040] The controller 200 is configured to receive data from the one or more bar position sensors 202, the first motor 112, the second motor 114, the camera 142, and/or the headband 144 and control the first motor 112, the second motor 114, and the display screen 140. The controller 200 may include one or more processors and one or more non-transitory computer-readable media storing program instructions executable to perform the operations attributed thereto herein. The controller 200 can be a single device (e.g., fully contained in a single position on the paddling simulator 100) or may include multiple distributed computing components (e.g., spatially distributed in various positions on the paddling simulator 100).

[0041] The controller 200 is configured to determine tensions to generate in the first cable 118 and the second cable 120 (or motor torques corresponding thereto) at various phases of paddling strokes to enable various workouts as discuss elsewhere herein. The controller 200 is also configured to control the first motor 112 and the second motor 114 to achieve the target tensions. The controller 200 is also configured to generate and adjust a graphical user interface for display via the display screen 140. Various processes executable by the controller 200 in various scenarios and embodiments are described below with reference to FIGS. 3-9.

[0042] To control the first motor 112 to provide a target tension in the first cable 118, in some embodiments the controller 200 implements a control loop in which the first motor 112 provides a measurement of a torque generated by the first motor 112 and the controller 200 adjusts a control input for the first motor 112 to drive the measured torque toward a setpoint associated with the target tension. The controller 200 may provide a proportional-integral or proportional-integral-derivative feedback controller, for example. The target tension in the first cable 118 can thus be generated in a highly accurate manner. Such an approach also allows the controller 200 to adapt nearly continuously to changes in the force applied to the bar 116 by a user, for example such that the user does not experience perceptible lag times as the tension in the first cable 118 is updated. The controller 200 can apply a separate, similar control loop for the second motor 114, such that the controller 200 independently controls the first motor 112 and the second motor 114 (and thus independently controls the tensions in the first cable 118 and the second cable 120) in a coordinate manner. The controller 200 may also achieve target forces for the first motor 112 and the second motor 114 by applying voltages, currents, and/or powers to the first motor 112 and the second motor 114 expected to (e.g., based on factory design conditions) to achieve such target forces.

[0043] The controller 200 can also control the display screen 140, for example by generating one or more visualizations for display via a graphical user interface. In some embodiments, the controller 200 generates a virtual environment, for example including a virtual water level (e.g., a virtual volume of water defined relative to a reference point and/or a virtual environment in which a portion is illuminated by a virtual light beam (e.g., from virtual headlamp, virtual flashlight, etc.). In such embodiments, the controller 200 can generate a visualization of movement of a virtual boat and/or a virtual paddle (or other user character, avatar, vehicle, etc.) in the virtual environment based on data from the first motor 112, the second motor 114, camera 142, headband 144, and/or the bar tracking sensor(s) 202. The virtual environment may include one or more obstacles and can enable gamification of a paddling workout (or other workout) for a user of the paddling simulator 100. The first motor 112 and the second motor 114 can also be controlled by the controller 200 as a function of a virtual paddle's pose in the virtual environment. Additional details of related features are described in detail below with reference to FIGS. 6-9.

[0044] Referring now to FIG. 3, an illustration 300 of operation of the paddling simulator 100 through a rowing stroke is shown, according to an exemplary embodiment. The illustration 300 shows a cycle through a first phase 302, a second phase 304, a third phase 306, and a fourth phase 308 of the rowing stroke. The paddling simulator 100 is configured to provide an exercise for a user as the user repeatedly cycles through the phases shown in FIG. 3. As shown in FIG. 3, the paddling simulator 100 is configured as shown in FIG. 1.

[0045] In the first phase 302, the user is in the catch phase of a rowing stroke. An exercise can be initiated from the first phase 302. At the first phase 302, the controller 200 can operate to control the first motor 112 and the second motor 114 to start providing a first tension in the first cable 118 and the second cable 120. The first cable 118 and the second cable 120 are largely retracted by the first motor 112 and the second motor 114 at the first phase 302, for example so that the bar 116 can be held proximate the pulleys 122, 124 without slack in the cables 118, 120.

[0046] In the second phase 304, the user is in the power (propulsion) phase of a rowing stroke. The user extends the user's legs and pulls on the bar 116 with the user's hands to move through the second phase 304. During the second phase 304, the controller 200 causes the first motor 112 and the second motor 114 to generate torque to resist the user's force on the bar, e.g., to resist the unspooling of the first cable 118 and the second cable 120. The first motor 112 and the second motor 114 thus provide a controllable amounts of tension in the first cable 118 and the second cable 120, which can be dynamically controlled and independently varied depending, for example, on a workout plan for the user.

[0047] For example, in some scenarios equal tension is generated in both cables 118, 120, thus providing an even/balanced force to the user. In other scenarios an uneven tension is generated (i.e., a higher or lower tension in the first cable 118 compared to the second cable 120) to cause asymmetric loading of the user which can cause activation of additional muscles for the user. The controller 200 can vary the tension in the first cable 118 and the second cable 120 according to user settings, in order to follow a pre-defined workout routine, in order to cause the user to achieve a target speed or acceleration of the bar 116, etc., during the second phase 304.

[0048] At the third phase 306, the user is at the finish phase of the rowing stroke, where an oar blade would exit the water in an actual rowing scenario. At the third phase 306, the user stops pulling the bar 116 away from the pulleys 122, 124 and exerts zero or low force on the bar 116 in the direction away from the pulleys 122, 124. The first motor 112 and the second motor 114 are configured to detect the change in movement of the cable associated with occurrence of the third phase 306, and to provide an indication of the occurrence of the third phase 306 to the controller 200. In response, the controller 200 can control the first motor 112 and the second motor 114 to transition from generating tensions suitable for the second phase 304 (power phase) to generating tensions suitable for the fourth phase 308 (recovery phase) of the rowing stroke.

[0049] At the fourth phase 308 (the recovery phase), the user moves the bar 116 back toward the pulleys 122, 124. The first motor 112 and the second motor 114 operate to retract the first cable 118 and the second cable 120 while providing a non-zero tension in the first cable 118 and the second cable 120. The first cable 118 and the second cable 120 are thereby retracted with approximately the same speed that the user moves the bar 116 toward the pulleys 122, 124.

[0050] Advantageously, the tension provided during the fourth phase 308 is dynamically adjustable by operation of the motors 112, 114. For example, in some embodiments a relatively low tension is provided to gently retracted the first cable 118 and the second cable 120 while allowing a user to easily move back to the first phase 302. In other scenarios, a higher tension is provided to forcefully pull the bar 116 toward the pulleys 122, 124, such that a user is compelled to resist the movement of the bar 116 via an eccentric exercise. An eccentric exercise can thus be dynamically added or removed from the paddling stroke of illustration 300 as desired, for example according to user inputs (e.g., voice commands), predefined workout plans, interactions with a virtual environment, etc. As for the second phase 304, the tensions provided in the third phase can be equal (symmetric) or unequal (asymmetric) to provide various workouts to the user.

[0051] Following the fourth phase 308, the rowing stroke of illustration 300 returns to the first phase 302 (the catch phase), at which the user stops the movement of the bar 116 toward the pulleys 122, 124 and starts motion of the bar 116 away from the pulley 122, 124. The first motor 112 and the second motor 114 are configured to detect occurrence of the first phase 302 and provide an indication of occurrence of the first phase 302 to the controller 200. The controller 200 can then transition operation of the first motor 112 and the second motor 114 from providing the tension used in the fourth phase 308 (recovery phase) to the tension used in the third phase 306, thus restarting the cycle through the phases of the rowing stroke shown in the illustration 300 of FIG. 3. FIG. 3 thereby illustrates that the paddling simulator 100 can operate to provide a rowing-type paddling workout.

[0052] Referring now to FIG. 4, an illustration 400 of the paddling simulator 100 providing a kayaking-type paddling workout is shown, according to some embodiments. The illustration 400 shows a first neutral phase 402, a left power phase 404, a second neutral phase 406, and a right power phase 408 which combine to provide a simulated kayaking workout to a user. The paddling simulator 100 is configured as described above in the example of FIG. 5, with the seat 132 fixed in position relative to the deck 130 of the bench 110.

[0053] The first neutral phase 402 provides a starting place for a kayaking stroke. As shown for the first neutral phase 402, the bar 116 may be held substantially sideways (horizontal, parallel to the base platform 102. The first motor 112 and the second motor 114 can be controlled to allow the user to move the bar 116 into the pose shown for the first neutral phase 402 with little or no resistance. In the first neutral phase 402, paddle blades would be out of the water, and the controller 200 can determine that virtual paddle blades are above a virtual water level in the first neutral phase 402 based on a tracked pose of the bar 116. In some embodiments, the first motor 112 and the second motor 114 provide a minimal tension (e.g., sufficient to prevent slack in the cables 118, 120) in the first neutral phase 402 and until such time as the tracked pose of the bar 116 indicates that a virtual paddle blade would be under a virtual water level.

[0054] A user can initiate the exercise by moving either the left or right end of the bar 116 downwards. In the example of FIG. 3, the illustration 400 shows the user moving first into a left power phase 404 of the kayaking stroke. In the left power phase 404, the left end of the bar 116 is brought downwards, as would be done to place the left blade of a kayaking paddle in the water, and then the left end of the bar 116 is drawn backwards, i.e., away from the second pulley 124 causing the second cable 120 to release from the second motor 114. Meanwhile, the right end of the bar 116 may be brought closer to the first pulley 122, with the first motor 112 operating to retract any slack created in the first cable 118 by such a movement.

[0055] The controller 200 can control the second motor 114 to provide a tension that resists movement of the bar 116 (in particular, resists movement of a point on the bar 116 to which the second cable 120 is attached) through the left power phase, thereby simulating the resistance of a paddle blade at a left end of the bar 116 through water. In some embodiments, the second motor 114 is configured to detect when the user applies a force corresponding to the left power phase 404 to the bar 116 and second cable 120 (e.g., based on a corresponding movement of the second cable 120), and to initiate force production for the left power phase 404 in response to detecting such a force or movement.

[0056] In some embodiments, the controller 200 is configured to control the second motor 114 during the second power phase using data from the one or more bar tracking sensors 202 (e.g., inertial sensors). In such embodiments, the controller 200 can define a virtual water level in a virtual coordinate system and determine, based on the data from the one or more bar tracking sensors 202, a pose of a virtual paddle relative to the virtual water level corresponding to an actual, tracked position of the bar 116. The controller 220 can then determine whether a blade (e.g., left or right blade in the kayaking example of FIG. 4) of the virtual paddle is above or below the virtual water level. If, in the example of the left power phase 404, the left virtual paddle blade is determined to be below the virtual water level, the controller 200 controls the second motor 114 to apply a substantial tension in the second cable 120 that resists movement of the virtual paddle blade through the virtual water, i.e., provides a force on the bar 116 that the user must overcome to complete the left power phase 404 of the paddling stroke. If, however, the left virtual paddle blade is determined to be above the virtual water, the controller 200 controls the second motor 114 to apply a minimal or negligible tension, such that the user can freely move the bar 116 through the air (and move the virtual paddle through space above the virtual water level). The controller 200 can thereby control the second motor 114 to only apply a desired tension for a power phase of a paddling stroke when the has oriented the bar 116 such that a virtual paddle blade is below a virtual water level.

[0057] As illustrated in FIG. 4, following the left power phase 404, the kayaking exercise can proceed to a second neutral phase 406. In the second neutral phase 406, the bar 116 is returned to a horizontal position (e.g., with both ends above a virtual water level). To provide for the transition from the left power phase 404 to the second neutral phase 406, the controller 200 can control the second motor 114 to reduce the tension in the second cable 120, for example in response to a determination that the virtual paddle has been lifted out of the virtual water or in response to detecting that a user stopped providing a backwards force on the bar 116 (and thus a torque on the second motor 114). Thus, in the second neutral phase 406, a minimal (e.g., negligible) tension may be provided in the first cable 118 and the second cable 120, for example only sufficient to retract any tension in the first cable 118 and the second cable 120 without exerting a substantial force on the bar 116 or the user. The user is thereby allowed to freely manipulate the bar 116 (i.e., resisted by substantially only the weight of the bar 116) through the second neutral phase 406 to transition from the left power phase 404 to a right power phase 408.

[0058] In the right power phase 408, the user tilts the bar 116 clockwise, moving the right end of the bar 116 downwards as if to place a right paddle blade of a kayak paddle into water. In response to initiation of the right power phase 408, the controller 200 can control the first motor 112 to increase the tension in the first cable 118 to provide resistance to backwards movement of the right end of the bar 116 (i.e., the point at which the first cable 118 attaches to the bar 116). The first motor 112 thereby acts to resist movement of bar 116 away from the first pulley 122. The user must exert a force to overcome such resistance, thereby participating in a kayaking workout/exercise.

[0059] To provide the right power phase 408, the controller 200 can control the first motor 112 as discussed above for the second motor 114 in the left power phase 404. For example, in some embodiments, the first motor 112 can detect when the user has started to pull the bar 116 away from the first pulley 122 (e.g., based on a change in torque exerted on the first motor 112 via the first cable 118), and the controller 200 can control the first motor 112 to increase the tension in the first cable 118 in response to the detection. As another example, as described above, the controller 200 can use data from the one or more bar tracking sensors 202 to update, in real-time (i.e., at a sufficiently high frequency as to appear continuous to a user), a virtual pose of a virtual paddle relative to a virtual water level that corresponds to an actual pose of the bar 116 in real space. In such examples, the controller 200 can control the first motor 112 to increase the tension in the first cable 118 in response to determining that a right virtual paddle blade of the virtual paddle is below the virtual water level, while controlling the first motor 112 to provide a minimal/negligible tension in the first cable 118 otherwise. The paddling simulator 100 can thereby provide the user with a simulated kayaking experience which realistically responds to a pose of the bar 116

[0060] Following the right power phase 408, the kayaking exercise of FIG. 4 returns to the first neutral phase 402. The illustration 400 of FIG. 4 shows that the user can repeatedly cycle through the phases of the kayaking paddling stroke to conduct a kayaking workout. Although FIG. 4 shows a certain order of phases, it should be understood that a user may complete consecutive left power phases 404 without necessarily completing a right power phase 408 in between (and vice versa), and the controller 200 is adapted to dynamically respond to the movement of the bar 116 to allow for any such scenarios. Such flexibility may be especially advantageous for enabling simulations in which the user is able to steer a virtual boat, as described below with reference to FIG. 8.

[0061] Referring now to FIG. 5, an illustration 500 of a canoeing exercise performed with the paddling simulator 100 is shown according to an example embodiment. Canoeing is performed with a canoe paddle having a blade on one end and a handle on the other, such that only on end of the blade is placed in the water. To provide similar dynamics, the illustration 500 shows that the first cable 118 has been detached from the bar 116, while the second cable 120 remains attached to the bar 116. It should be understood that a similar arrangement could be achieved by keeping the first cable 118 attached to the bar 116 while the second cable 120 is detached from the bar 116, with references in the following description to the second motor 114 replaced with the first motor 112. In other embodiments, the canoeing exercise is performed with both the first cable 118 and the second cable 120 attached to the same end of the bar 116, and both the first motor 112 and the second motor 114 are controlled in a coordinated manner to provide suitable force profiles. In some embodiments, the bar 116 includes a canoe-style grip at an end so that the bar 116 can be held like a standard canoe paddle.

[0062] As shown in FIG. 5, the canoeing exercise is performed by moving the bar 116 through a catch phase 502, a power phase 504, and a recovery phase 506. At the catch phase 502, the bar 116 is pointed partially downwards, with the second cable 120 attached at the downwards-pointing end of the bar 116 (shown as the left end of the bar). The catch phase 502 corresponds to the point at which the blade of a canoe paddle would enter the water, alongside and slightly in front of the user. The paddling exercise can thus be initiated from the catch phase 502.

[0063] In some embodiments, the controller 200 detects occurrence of the catch phase 502 based on a change in velocity of the second cable 120 (or a velocity portion of the second motor 114 connected to the second cable 120) caused by the user's force on the bar 116 and second cable 120. In other embodiments, the controller 200 uses data from the bar tracking sensors 202 to determine a position of a virtual paddle relative to a virtual water level and determine when a blade of the virtual paddle moves below the virtual water level (i.e., into the virtual water). In such embodiments, the controller 200 detects occurrence of the catch phase 502 at the time when the blade of the virtual paddle moves below the virtual water level.

[0064] In response to detecting occurrence of the catch phase 502, the controller 200 controls the second motor 114 to increase the tension in the second cable 120 to provide an amount of resistance for the power phase 504. In the power phase 504, the user drives the end of the bar connected to the away from the second pulley 124, along the user's side as if paddling a canoe. The tension in the second cable 120 resists such a motion, thereby providing difficulty to the canoe paddling workout for the user. The amount of tension provided in the power phase 504 can vary dynamically as described with reference to the FIG. 3, for example based on a pre-set workout plan, user settings, a speed of movement of the bar 116, etc.

[0065] To end the power phase 504, the user lifts up a lower end of the bar, for example by rotating the bar clockwise to move from the power phase 504 to the recovery phase 506 as illustrated in FIG. 5. The controller 200 can detect the transition from the power phase 504 to the recovery phase 506 and change (e.g., reduce) the tension in the second cable 120 in response to the detection. In some embodiments, the controller 200 detects the transition by determining that the user stopped pulling the second cable 120 away from the second pulley 124 (e.g., using data from the second motor 114 as described above). In other embodiments, the controller 200 detects the transition by using data from the one or more bar tracking sensors 202 to determine that movement of the bar 116 corresponds to lifting of a virtual paddle to a position above a virtual water line. In such embodiments, feedback can be provided to the user (e.g., audible alert, etc.) if tracked movement of the bar 116 corresponds to forward movement of the virtual paddle below the virtual water line, i.e., movement of the bar 116 toward the second pulley 124 with the virtual paddle still below the virtual water line, such that a user is informed if the recovery phase 506 has not been successfully entered. Realistic paddling behavior can thereby be encouraged from the user by the paddling simulator 100, while the paddling simulator 100 generates suitable forces on the bar 116.

[0066] From the recovery phase 506, the illustration 500 of FIG. 5 shows that the canoeing exercise can return to the catch phase 502 described above. The canoeing exercise can include cycling through the catch phase 502, power phase 504, and recovery phase 506 repeatedly for the duration of a workout. In some embodiments, the user is free to switch from paddling on the left and right sides of the user's body, for example by switching hand positions during the recovery phase 506. In some cases, the bench 110 is moveable relative to the second pulley 124 to arrange the user to enable canoe paddling with the bar 116 along the left and right sides of the user's body without interference between the second cable 120 and the user's body (legs, torso, etc.). FIG. 5 thus illustrates that the paddling simulator can provide a dynamic, realistic canoe paddling experience to a user.

[0067] Referring now to FIG. 6, a flowchart of a process 600 of operating the paddling simulator 100 is shown, according to some embodiments. The process 600 can be executed by the paddling simulator 100, for example by the electronic components of the paddling simulator 100 shown in FIG. 2. The process 600 can also be executed by other paddling simulators, exercise equipment, etc. in various embodiments.

[0068] At step 602, a first tension is generated in a cable with an electric motor during a power phase of a paddling stroke. The paddling stroke is performed by a bar (rod, paddle, etc.) coupled to the cable, such that the cable is positioned between the bar, rod, paddle, etc. and the electric motor. For example, the cable may be the first cable 118 or the second cable 120 of FIG. 1 and the electric motor can be the first motor 112 or the second motor 114 of FIG. 1. The first tension is generated by generating a torque with the electric motor which is mechanically communicated to the cable and which opposes a force applied by a user during the power phase of the paddling stroke.

[0069] At step 604, a second tension is generated in the cable with the electric motor during a recovery phase of the paddling stroke. The second tension is different than the first tension, such that process 600 includes changing the tension in the cable from the first tension to the second tension in response to a transition from the power phase to the recovery phase of the paddling stroke. For example, the electric motor may be controlled to a different target torque using a feedback controller during step 604 as compared to step 602.

[0070] At step 606, a pose of the bar (rod, paddle, etc.) coupled to the cable is tracked using data from one or more sensors. The sensors can include sensors embedded in the bar, for example an inertial measurement unit. The sensors can also include sensors spaced apart from the bar and configure to identify a position of the bar relative to the sensors (e.g., a stereoscopic camera pair). In some embodiments, the sensors include a set of sensors configured to track amount of the cable played out from a pulley and an angle at which the cable leaves the pulley, which can be used together to determine a position of a point at which the cable is coupled to the bar. Various tracking approaches are possible at step 606 to track the pose of the bar.

[0071] At step 608, the first tension and/or the second tension are dynamically adjusted based on the pose of the bar. In one example, the first tension is adjusted based on whether a relationship between the tracked pose of the bar and a virtual water level, for example as shown in FIG. 7 and described in detail thereto. In another example, the first tension and/or the second tension is/are adjusted based on a speed of movement of the bar. As another example, the first tension may be adjusted dynamically based on the pose of the bar such that the first tension is higher at a beginning of the power phase than at the end of the power phase, or vice versa. Similarly, in some examples the second tension is adjusted dynamically to be higher at a beginning of the recovery phase as compared to the end of the recovery phase, or vice versa. As yet another example, step 608 can enable use of the bar as an input device by a user, by adjusting the first tension and/or the second tension in response to a particular movement of the bar by the user (e.g., raising or rotating the bar in a certain direction to increase tension, lower or rotating the bar in a certain direction to decrease tension, etc.). Dynamic paddling workouts can thereby be execution of process 600.

[0072] Referring now to FIG. 7, a process 700 for varying resistance to simulated paddling during a paddling workout is shown, according to some embodiments. The process 700 can be executed by the paddling simulator 100 in some embodiments, for example by the components shown in FIG. 2. The process 700 can also be executed by various other paddling simulators or exercise equipment, according to various embodiments.

[0073] At step 702, data indicative of an actual pose of the bar is obtained, for example by the controller 200 of FIG. 2. The data can be collected by sensors as described elsewhere herein, for example as in step 606 of FIG. 6. Step 702 can be repeated in real-time to obtain data indicative of movement of the bar.

[0074] At step 704, a virtual pose of a virtual paddle blade is defined relative to a virtual water level using the data indicative of the actual pose of the bar. Step 704 can include defining or calibrating a coordinate system in which the virtual water level is defined, and then mapping the actual pose of the bar into the coordinate system using the data from step 702. The mapping of the actual pose of the bar can be represented by a virtual paddle having one or more (e.g., two) paddle blades. The virtual paddle may have different dimensions than the actual bar. In some embodiments, a user is instructed to hold the bar in a particular pose or move the bar in a particular pattern in order to calibrate the relationship between the data from step 702 and the virtual coordinate system and virtual water level. Then, the virtual pose of the virtual paddle (and virtual paddle blade) can be updated in real-time as data indicating movement of the bar is collected.

[0075] At step 706, a motor (e.g., first motor 112 or second motor 114) is controlled to adjust tension in the cable (e.g., first cable 118 or second cable 120) based on a relationship between the virtual pose of the virtual paddle blade and the virtual water level. In some embodiments, the tension is increased if the virtual paddle blade is below the virtual water level and decreased as the virtual paddle blade is above the virtual water level. The paddling simulator thus resists movement of the bar corresponding to movement of the virtual paddle blade through virtual water, while provide less or no resistance to movement of the virtual paddle blade through virtual air. The relationship and control may be implemented in a binary manner, where the virtual paddle blade is characterized as either above or below the virtual water level and two tensions are selected between based on the binary characterization, or based on an at least partially continuous function, where the tension is adjusted as a function of an amount of the virtual paddle blade which is below the water level (e.g., increasing proportionally to the percentage of the virtual paddle blade determined to be below the water level). Step 706 can thus include adjusting the tension in the cable to exert a force on a user that mimics an on-water paddling experience.

[0076] Referring now to FIG. 8, a process 800 for providing an interactive virtual paddling experience with the paddling simulator is shown, according to some embodiments. The process 800 can be executed by the paddling simulator 100, for example, or by another embodiment of exercise equipment. Process 800 can be executed concurrently with process 600 and/or process 700.

[0077] At step 802, a virtual environment is generated, for example by the controller 200. The virtual environment includes a virtual waterway, a virtual boat on the virtual waterway, and one or more virtual obstacles. The virtual environment defines a space through which a user of the paddling simulator 100 can interactively paddle the virtual boat using the bar 116, which is represented in the virtual environment as a virtual paddle.

[0078] The virtual environment can be two-dimensional or three-dimensional. The virtual environment can include graphical visualizations of the virtual waterway, the virtual boat, and the virtual obstacles which are displayed on a screen (e.g., display screen 140) as part of step 802. Generating the virtual environment at step 802 can include defining an initial spatial relationship between the virtual boat, the virtual waterway, and the virtual obstacles. Step 802 can also include defining environmental conditions or traits of the virtual objects, for example a current in the virtual waterway, wind, etc. The virtual obstacles can be static in the virtual environment (e.g., rocks, trees, barricades, etc.), moving (e.g., enemies, alligators, floating obstacles moving along the virtual waterway, etc.), or otherwise transient or dynamic. The virtual environment can include various other features that provide for gamification of a paddling workout experience (e.g., simulated race competitors, goals, targets, collectible items, reward visualizations, etc.).

[0079] At step 804, a steering effect of a virtual paddle on the virtual boat is determined based on a tracked pose of the bar 116. As described above, the bar 116 of the paddling simulator 100 can be tracked to obtain data indicative of an actual pose of the bar 116 in real, physical space, which can then be used in step 804 to define a pose of a virtual paddle in the virtual environment. Once the pose of the virtual paddle in the virtual environment is defined, an interaction between the virtual paddle and the virtual waterway and/or the virtual boat can be analyzed to determine a steering effect of the virtual paddle on the virtual boat. For example, if the virtual paddle is moved to paddle along a left side of the virtual boat, a steering effect may be determined that steers the virtual boat to the right. Advanced steering techniques used in real-world paddling on water can be similarly modelled and implemented in step 804. In some embodiments, the steering effect may be determined using a physics-based model of paddling, fluid dynamics, etc. In other embodiments, a simplified rules-based model is used which defines explicit relationships between paddle positions and steering effects.

[0080] At step 806, an accelerating effect of the virtual paddle on motion of the virtual boat is determined using stroke data from one or more motors (e.g., the first motor 112 and the second motor 114). The stroke data can include the power exerted through each paddle stroke, a length of each paddle stroke, a duration of each paddle stroke, a speed of each paddle stroke, a frequency of paddle strokes, etc. Such data is indicative of the translation of a boat that such paddling cause in a real-world, on-water scenario, and is therefore usable to calculate an effect of the user's paddling with the bar 116 on the translation of the virtual boat along the virtual waterway. The translation effect can be considered as relating to linear acceleration, whereas the steering effect of step 804 relates to turning in other directions (e.g., left and right). Step 806 can include executing a physics-based function that uses inputs of current virtual boat speed and total power of a stroke and outputs a subsequent virtual boat speed resulting from the stroke. The function can account for resistance to movement of the virtual boat through the virtual water, a virtual current in the virtual water, wind and/or air resistance, etc., including such that the virtual boat may slow to a stop when a user stops paddling. In some embodiments, step 806 can also include determining a braking effect that particular placements of the virtual paddle may have on movement of the virtual boat.

[0081] At step 808, the virtual boat is virtually moved along the virtual waterway based on the steering effect and the accelerating effect. The combination of the steering effect (e.g., left, right) and the accelerating effect (e.g., forward, backward) results in multi-dimensional movement of the virtual boat in the virtual environment and relative to the virtual obstacles. Step 808 can include displaying the determined movement, for example via display screen 140 or via a virtual reality headset. In such embodiments, the user can view the position of the virtual boat in the virtual environment and paddle and steering using the bar 116 of the paddling simulator 100 to achieve a desired or intended movement of the virtual boat in the virtual environment. Various games, races, challenges, etc. can be provided in process 800 to motivate the user in paddling and steering the virtual boat and thereby complete fun, exciting, effective workouts that may build general fitness and potentially improve the user's abilities in real-world, on-water paddling.

[0082] At step 810, an interaction of the virtual boat or the virtual paddle with the one or more virtual obstacles is determined based on the tracked pose of the bar and/or the movement of the virtual boat. For example, the various objects in the virtual environment can be defined as geometries (volumes, surfaces, lines, points, etc.) in a three-dimensional coordinate system, such that overlap or intersection of two objects can be easily determined to identify an interaction. In one example, the virtual obstacle is a virtual alligator which moves around on the virtual waterway and threatens to destroy the virtual boat. In one scenario, the virtual alligator moves to the same position as the virtual paddle, resulting in an interaction between the virtual alligator and the virtual paddle. In some cases, the interaction could include the virtual alligator destroying the virtual paddle and causing the user to lose a game, return to a checkpoint, etc., In other cases, the interaction could include the user hitting the alligator with the virtual paddle, thereby destroying or discouraging the alligator and moving towards success in a game. Various other interactions are possible between the virtual boat or paddle and virtual obstacles (e.g., crashing the boat into a rock).

[0083] Step 812 includes providing feedback to the user in response to the interaction. In some embodiments, the feedback is visual or audible. In other embodiments, the feedback is provided by controlling the motor of the paddling simulator to vary a tension in the cable in response to the interaction. To continue the alligator example from above, an interaction could include the alligator biting and pulling the paddle away from the boat, which can be communicated as haptic feedback to the user by increasing the force on the bar 116 by the first motor 112 and/or second motor 114. In some such examples, the user must exert extra power/energy on the bar 116 to wrestle the virtual paddle back from the alligator (thus increasing the intensity of the workout and providing variation in the paddling workout). As another example, a collision of the virtual boat with an obstacle may be considered as damaging the boat, which can be communicated as feedback to the user by increasing the tension in the first cable 118 and the second cable 120 during power phases of a paddling stroke to represent increased difficulty in paddling a damaged boat. Various such examples are possible.

[0084] Referring now to FIG. 9, a flowchart of a process for coordinated control of motors of an exercise apparatus and illumination of a virtual environment is shown, according to some embodiments. The virtual environment in process 900 can be a low-light environment, for example an underground environment, an indoors environment, an outdoor environment at nighttime, etc. selectively illuminated according to the teachings of process 900. Process 900 can be executed by the exercise apparatus 100, for example by the controller 200 using data from the headband 144 and/or camera 142, and via control of the display screen 140 and the first motor 112 and/or second motor 114. The process 900 can be implemented via programming instructions stored on one or more non-transitory computer-readable media and executed by one or more processors to perform the operations attributed thereto in FIG. 9.

[0085] At step 902, at least one motor of an exercise apparatus is controlled based on virtual user progress through a virtual environment. Step 902 can include controlling the first motor 112 and/or the second motor 114 by the controller 200, for example according to the teachings of FIGS. 3-8. Step 902 can include determining a target force to be generated by the at least one motor based on virtual user progress through the virtual environment based on, for example, an obstacle in the virtual environment, a water current in the virtual environment, a slope (hill, grade, etc.) in the virtual environment, a virtual paddle position, a speed of the user through the virtual environment, etc., according to various embodiments. A voltage across the at least one motor can then be controlled in accordance with the target force in step 902.

[0086] At step 904, virtual user progress through the virtual environment is updated based on user exercise performance. The virtual environment in process 900 can be a low-light environment, for example an underground environment, an indoors environment, an outdoor environment at nighttime, etc. Step 904 can include simulating virtual movement of the user through the virtual environment responsive to user force exerted on the exercise apparatus (e.g., via a bar, paddle, handle, exercise attachment, etc. coupled to at least one cable coupled to the at least one motor). Step 904 can include moving the user along a virtual waterway or along some other course or virtual world in various embodiments, for example based on the power, pace, work, etc. achieved by the user in performing an exercise (e.g., a paddling exercise as described herein). Step 902 and 904 can be executed simultaneously in a coordinated manner to update virtual user progress through the virtual environment based on user exercise performance resisted by force from the at least one motor while the at least one motor is controlled based on the virtual user progress through the virtual environment.

[0087] At step 906, a cranial orientation of the user is tracked. Step 906 can include determining, in substantially real-time (e.g., fast enough as to appear instantaneous to the typical user), the orientation of the user's head (cranial orientation) in one, two, or three degrees of freedom based on data from one or more sensors (e.g., represented in spherical coordinates, represented using quaternions, etc.). In some embodiments, step 906 includes obtaining images of a user's face and/or of the headband 144 from the camera 142. In such embodiments, step 906 can include executing a machine vision algorithm (e.g., machine-learnt model, neural network, etc.) and/or other image recognition or processing technique for detecting an orientation of the user's face and/or of the headband 144. Such embodiments can include detecting an orientation of an icon positioned on the headband 144 and/or orientation of the user's face (e.g., via detection of relative positions of facial features of the user), and using such data to determine a cranial orientation of the user. Step 906 can include handling distortions in image data (e.g., in perspective view of the icon or facial features) caused by cranial translation of the user (e.g., towards and away from the camera 142, up and down relative to the camera 142, left-and-right relative to the camera 142) in order to isolate cranial orientation of the user (e.g., rotation of the user's head relative to the camera 142, display console 108, or other portion of the exercise apparatus 100).

[0088] In some embodiments, step 906 includes measuring, by a wearable inertial measurement unit (e.g., IMU 204 of headband 144) changes in cranial orientation of a user. The wearable IMU can measure its own rotation relative to a starting orientation and can provide such data to the controller 200 via wireless communications, for example. In some scenarios, step 906 can include a calibration routine to determine a starting orientation from which changes in orientation will be tracked in step 906, for example by prompting a user to start facing a particular point on the display console 108 and tracking changes in cranial orientation from the starting position using one or more image-processing or inertial measurement approaches according to the teachings herein.

[0089] At step 908, a beam direction for a virtual headlamp (or flashlight, night vision, binoculars, other field of view, etc.) in a virtual environment is determined based on the tracked cranial orientation from step 910. Step 908 can include changing the beam direction (e.g., an orientation of the beam direction relative to a starting orientation) based on a change in the cranial orientation of the user. The user can thereby control the beam direction by rotating the user's head such that the user's cranial rotation is used in step 908 as an input to a visualization of the virtual environment.

[0090] In some embodiments, step 908 includes changing the beam direction according in a one-to-one relationship with a tracked change in user cranial orientation, such that the beam direction rotates by the same amount as the user cranial orientation. In some embodiments, step 908 includes applying a scaling factor or function, for example such that the beam direction rotates by an amount greater than or less than a tracked change in the user cranial orientation (e.g., by double, by triple, by half, by a user-selectable scaling facture, by an amount determined by an exponential function such that the beam direction changes faster for larger changes in user cranial orientation). In some embodiments, the beam direction is kept constant until a change in user cranial orientation exceeds a threshold amount or rate (e.g., changes by more than a threshold degree in a predetermined amount of time), to avoid unintentional changes in beam direction, flickering of beam direction, etc. The beam direction (or other direction defining a field of view or other interaction with a virtual environment) can thereby be updated in step 908. The beam direction can be updated in one, two, or three rotational degrees of freedom, in various embodiments.

[0091] At step 910, a graphical visualization of the virtual environment is generated based on the beam direction, for example by casting virtual light along the beam direction. The virtual light can be cast from a static origin point (e.g., virtually located at a viewpoint of the user into the virtual environment) and/or a dynamic origin point (e.g., updated based on a tracked user cranial translation/change in position of the user's head). Casting virtual light along the beam direction can include providing the beam as multi-dimensional (e.g., cone-shaped beam, cylindrical beam, rectangular beam, etc.), for example so as to define a region of the virtual environment illuminated by the virtual beam. A portion of the virtual environment on which the virtual light beam is incident can be provided with a first brightness, while a remainder of the virtual environment is provided with a second brightness, in some embodiments with the first brightness being greater than the second brightness such that the portion on which the virtual light beam is incident appears as having been illuminated by the virtual light beam with a remainder in darkness (nighttime, indoors, underground, etc.). Various approaches for generating realistic light interactions, reflections, shadows, etc. in computer visualization can be implemented in step 910, according to various embodiments.

[0092] Step 910 can also include causing a display screen (e.g., screen 140) to display the generated visualization of the virtual environment. The generated visualization is thereby presented to the user for viewing while the user continues to perform the exercise activity while experiencing forces generated by at least one motor. Process 900 can be executed repeatedly, with steps executed substantially in parallel, etc. such that on-screen visualization in updated based on user progress through a virtual environment based on exercise interactions with at least one motor and based on cranial orientation of the user controlling virtual beam direction and/or other field of view control, while the at least one motor is controlled to provide force to a user based on progress through the virtual environment and/or other interactions with the virtual environment (e.g., based on virtual interaction with an obstacle only visible if illuminated if the user's cranial direction is such that the virtual beam is incident on the obstacle).

[0093] Process 900 thereby enables a user to control the direction of a virtual light beam- and thus the partial illumination of a dark virtual environmentby changing the orientation of the user's head, i.e., by rotating their head left, right, up, down (and, in some embodiments, about an additional degree of freedom). Process 900 can also be adapted to provide for other updates to field-of-view visualizations, for example such that a full screen visualization is panned, left, right, up, down, etc. based on tracked user cranial orientation, user selection of on-screen features (e.g., control of a pointer for menu selections), aiming of a virtual sports action (e.g., golf shot, ball toss, firearm shot, archery shot, steering through a course and around obstacles, etc.), or the other interaction with the virtual environment. Advantageously, such control does not require use of the user's hands, which may be occupied performing an exercise activity (paddling, etc.) using the exercise apparatus 100, and can thereby be provided in combination with and simultaneously with any of the other teachings herein relating to providing exercise activities including paddling simulation. Various immersive, integrated exercise activities and virtual games can be provided according to the teachings herein.

[0094] When configured according to the various possibilities, combinations, alternatives, etc. described above, a paddling simulator or other exercise apparatus can be provided that includes enhancements and experiences not found in other exercise devices and which may increase the effectiveness, reality, and/or fun of paddling-related exercises. The paddling simulator and various related process described herein thus provide advantages over conventional rowing machines and other exercise equipment.

[0095] Although the examples above refer to paddling, it should be understood that the examples herein could be extend to other types of exercises, for example a swimming simulator in which the first cable 118 and the second cable 120 are strapped directly to a user's hands and tensions generated therein to provide swimming-like forces to the user's hands.

[0096] The term coupled and variations thereof, as used herein, means the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent or fixed) or moveable (e.g., removable or releasable). Such joining may be achieved with the two members coupled directly to each other, with the two members coupled to each other using a separate intervening member and any additional intermediate members coupled with one another, or with the two members coupled to each other using an intervening member that is integrally formed as a single unitary body with one of the two members. If coupled or variations thereof are modified by an additional term (e.g., directly coupled), the generic definition of coupled provided above is modified by the plain language meaning of the additional term (e.g., directly coupled means the joining of two members without any separate intervening member), resulting in a narrower definition than the generic definition of coupled provided above. Such coupling may be mechanical, electrical, or fluidic.

[0097] References herein to the positions of elements (e.g., top, bottom, above, below) are merely used to describe the orientation of various elements in the FIGURES. It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.

[0098] The hardware and data processing components used to implement the various processes, operations, illustrative logics, logical blocks, modules and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some embodiments, particular processes and methods may be performed by circuitry that is specific to a given function. The memory (e.g., memory, memory unit, storage device) may include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present disclosure. The memory may be or include volatile memory or non-volatile memory, and may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. According to an exemplary embodiment, the memory is communicably connected to the processor via a processing circuit and includes computer code for executing (e.g., by the processing circuit or the processor) the one or more processes described herein.

[0099] The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

[0100] Although the figures and description may illustrate a specific order of method steps, the order of such steps may differ from what is depicted and described, unless specified differently above. Also, two or more steps may be performed concurrently or with partial concurrence, unless specified differently above. Such variation may depend, for example, on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations of the described methods could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps, and decision steps.