The present disclosure relates generally to exercise equipment, in particular fitness machines such as rowing machines that provide simulated paddling exercises.
As used herein, “paddling” refers to any type of paddling, including but not limited to use of an oar or paddle for rowing, crew, canoeing, kayaking, standup paddle-boarding, etc. Actual paddling is performed by a user on in a boat (canoe, kayak, paddleboard, etc.) on water using a paddle (oar, etc.). In conventional paddling technique, a user pushes the paddle through the water during a power phase (propulsion phase, etc.) of a paddling stroke in order to propel the boat forward and lifts the paddle out of the water and returns the paddle to a starting point for the power phase during a recovery phase (return phase, etc.) of the paddling stroke. The force required to move the paddle through the paddling stroke depends on whether an end of a paddle (e.g., a paddle blade) is underwater, such that the water resists the movement of the paddle (as is typical in the power phase), or above water, such that the paddle can move relatively easily through the air (as is typical in the recovery phase). A boat can be steered based on various interactions of the paddle with the water.
Conventional rowing machines have various limitations. To provide paddling exercises on dry land (e.g., in a gym), conventional rowing machines use fans moving through air or fluid to resist unspooling of a cable during the power phase of a paddling stroke. In some rowing machines, the resistance during the propulsion phase can be changed by changing the surface area of the fan, which typically requires the user to pause an exercise to adjust the equipment. Conventional rowing machines also include one or more springs that retract the cable during the recovery phase of the paddling stroke. The spring force during the recovery phase is typically fixed (i.e., not changeable after manufacturing of the rowing machine). Conventional rowing machines operate substantially the same regardless of whether or not the user's actions during the power phase would correspond to a paddle blade passing through water.
Exercise equipment including an improved paddling simulator that provides a more realistic paddling experience and/or provides dynamic and/or interactive paddling workouts is therefore desirable.
One implementation of the present disclosure is a paddling simulator. The paddling simulator includes a bar, a cable attached to the bar, a motor operationally coupled to the cable such that the motor can apply a force to the cable, and a controller configured to control the motor to generate a first tension in the cable during a propulsion phase of a paddling stroke and a second tension in the cable during a recovery phase of the paddling stroke.
Another implementation of the present disclosure is a method of operating a paddling simulator. The method includes generating a first tension in a cable with an electric motor during a propulsion phase of a paddling stroke performed with a bar coupled to the cable, generating a second tension in the cable with an electric motor during a recovery phase of the paddling stroke, tracking a pose of the bar coupled to the cable using a sensor, and dynamically adjusting the first tension based on the pose of the bar.
This summary is illustrative only and is not intended to be in any way limiting.
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:
Referring generally to the figures, a 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.
These and other advantages of the systems and methods disclosed herein are described in detail below.
Referring now to
As shown in
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
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.
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.
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.
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.
The bar 116 (rod, shaft, etc.) is coupled to the first cable 118 and the second cable 120. As shown in
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).
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 positon, 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
The bench 110 is configured for use with multiple types of paddling exercises. As shown in
In some embodiments, the bench 110 is configured to transition from the slidable arrangement of
The display console 108 is configured to display information relating to operation of the paddling simulator 100 to a user. As shown in
Referring now to
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.
In other embodiments, the one or more bar position sensors 202 include optical tracking detectors, for example cameras. 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.
The controller 200 is configured to receive data from the one or more bar position sensors 202, the first motor 112, and the second motor 114 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).
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
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 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. In such embodiments, the controller 200 can generate a visualization of movement of a virtual boat and/or a virtual paddle in the virtual environment based on data from the first motor 112, the second motor 114, 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 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
Referring now to
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.
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.
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.
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.
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.
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.
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
Referring now to
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.
A user can initiate the exercise by moving either the left or right end of the bar 116 downwards. In the example of
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.
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
As illustrated in
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.
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
Following the right power phase 408, the kayaking exercise of
Referring now to
As shown in
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.
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
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
From the recovery phase 506, the illustration 500 of
Referring now to
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
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.
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.
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
Referring now to
At step 702, data indicative of an actual pose of the bar is obtained, for example by the controller 200 of
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.
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.
Referring now to
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.
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.).
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.
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.
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.
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).
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.
When configured according to the various possibilities, combinations, alternatives, etc. described above, a paddling simulator 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.
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.
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.
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.
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.
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.
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.