Swim training

AU2024405929A1Pending Publication Date: 2026-08-06ZEN8 SPORTS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
AU · AU
Patent Type
Applications
Current Assignee / Owner
ZEN8 SPORTS LTD
Filing Date
2024-12-18
Publication Date
2026-08-06

AI Technical Summary

Technical Problem

Existing dry land swim trainers require users to set up mirrors or cameras to observe their technique for improvement, which is impractical, and training alone is limited, making it monotonous, especially for long sessions.

Method used

A dry land swim trainer equipped with hand paddles, a resistance generation mechanism, and sensors to measure movement characteristics, allowing users to analyze their technique without external aids and providing data for improved training.

Benefits of technology

Enables users to identify and improve their swimming technique independently, providing insights into weaknesses that would not be apparent otherwise, and offering a more engaging and varied training experience through virtual simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention relates to a dry land swim trainer comprising: at least one hand paddle; means for generating a force to resist a movement of the at least one paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the at least one hand paddle. The present invention also relates to an associated computing implemented method, and a system comprising a dry land swim trainer and a computing device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]Swim Training Field of Invention This invention relates to dry-land swim training. More specifically, the invention relates to a dry land swim trainer, an associated computer implemented method, and a system comprising a dry land swim trainer and a computing device. Background Dry land swim training involves training, out of the water, the muscles that are used during in-water swimming. Typically, such dry land swim training might include using weights or resistance to strengthen swimming-specific muscles to improve performance for in-water swimming. Another benefit of dry land swim training is to practise swimming technique because it may be easier to make controlled changes to a stroke technique out of the water than in the water. However, existing dry land swim trainers require the user to set up a mirror or a camera to observe their technique in order to identify areas for improvement, which is impractical. Alternatively, a swimmer may train with a partner to observe their technique and provide feedback, but this limits the ability of the swimmer to train alone. Another drawback of dry land swim trainers is that training in one place can become monotonous, particularly for long training sessions. The present invention seeks to at least partially ameliorate these problems. Summary of the Invention Aspects and embodiments of the present invention are set out in the appended claims. These and other aspects and embodiments of the invention are also described herein. According to at least one aspect described herein, there is provided a dry land swim trainer comprising: at least one hand paddle; means for generating a force to resist a movement of the at least one hand paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the at least one hand paddle. Advantageously, the at least one sensor of the dry land swim trainer can provide data to provide insights into the swimming technique of the user. This enables the user to identify areas for improvement without the need for a mirror or camera and without the assistance of a coach or training partner. In addition, the sensors may enable the user to identify weaknesses in their swimming technique that would not be readily apparent by eye or by feel. As used herein, the term ‘dry land swim trainer’ preferably refers to an apparatus for training swimming technique on dry land, that is, out of the water. As used herein, the term ‘swimming’ and related terms preferably refer also to using a swimming action to paddle a surfboard. The means for generating a force may be a resistance generation apparatus. The term ‘hand paddle’ preferably includes reference to a handle (e.g., a handle of the resistance band, or a handle coupled to the means for generating a force) to be gripped by a user. Preferably, the at least one sensor comprises at least one sensor arranged to measure a force (or measure a characteristic from which it is possible to derive a force) applied by a user to the at least one hand paddle. For example, a strain gauge. The sensor (e.g., strain gauge) may therefore be used to measure, or derive, a force applied by the user to the hand paddle, and therefore the power generated by their stroke. The sensor arranged to measure a force applied by a user to the at least one hand paddle may instead be provided as a sensor to measure a characteristic of a movement of a flywheel, wherein the movement of the flywheel is caused by the force applied by the user to hand paddle. Where the force sensor is a strain gauge, it may be mounted on a flexible bar of the at least one hand paddle. In this case, the strain gauge may measure a flexing of the bar caused by the force applied to the hand paddle. The flex (i.e., the elastic deformation) of the bar may be a proxy for the force applied by the user to the hand paddle. The force sensor may comprise multiple strain gauges (e.g., four strain gauges) arranged in a Wheatstone Bridge configuration on the flexible bar. This allows for more precise force measurements to be taken, particularly as compared to a single strain gauge or even multiple (e.g., four) strain gauges in a different configuration. Preferably, the coupling between the means for generating a force and the hand paddle includes a coupling between the means for generating a force and the flexible bar of the paddle. In other words, the means for generating a force is coupled to the hand paddle via the flexible bar. This provides a compact arrangement, with the strain gauge incorporated into the connection between the paddle and the means for generating a force. Preferably, the coupling between the means for generating a force and the flexible bar includes a hand strap. The hand strap may connect the means for generating a force to the flexible bar. In this way, any force applied by a user to the hand paddle against the flexible bar is transferred to the flexible bar. The at least one sensor arranged to measure a force applied by a user to the at least one hand paddle may be coupled to, or integrated with, the means for generating a force. For example, if the means for generating a force comprises a flywheel or weight and pulley arrangement, the sensor for measuring a force applied by the user to the paddles may be connected to or integrated with the flywheel, rather than with the paddles. Preferably, the at least one sensor comprises a sensor for measuring a speed or acceleration of the hand paddle (e.g., an accelerometer). This may be in addition to the strain gauge described above. The accelerometer may be incorporated into the hand paddle. Preferably, the accelerometer is configured to measure acceleration in at least two directions, preferably in three directions. For example, the accelerometer may measure acceleration, relative to the point of view of a user in three orthogonal directions: a forward- backward direction (“X”), a side-to-side direction (“Y”), and an upwards-downwards (“Z”) direction. Preferably, the at least one sensor comprises a sensor arranged to measure an orientation or angular velocity of the hand paddle (e.g., a gyroscope). This may be in addition to the strain gauge and accelerometer described above. The gyroscope may be incorporated into the hand paddle. The gyroscope may be configured to measure the orientation of the paddle about a ‘roll’ axis along or aligned with the length of the hand paddle and / or to measure the orientation of the paddle about a ‘tilt’ axis along or aligned with the width of the hand paddle and / or to measure the orientation of the paddle about a ‘yaw’ axis running vertically through the hand paddle, perpendicular to other axes. The gyroscope may additionally or alternatively be configured to measure a rate of change of the orientation of the paddle in any of these directions. Preferably, the at least one sensor may comprise a pressure sensor, preferably a piezoelectric or piezoresistive pressure sensor. This may be in addition to or as an alternative to the strain gauge describe above. The pressure sensor may be used to measure a force applied by the user to the hand paddle. Preferably, the at least one sensor is integrated into an interior of the at least one hand paddle. For example, the sensors (such as the strain gauge, accelerometer, and gyroscope) may be integrated into an enclosure within the hand paddle, preferably along with other electronics such as a printed circuit board, and preferably also along with the flexible bar described above. This arrangement in which the sensors are integrated into the paddle provides a compact arrangement. Preferably, the at least one hand paddle comprises a pair of hand paddles, each hand paddle comprising the at least one sensor. In this way, the characteristics of movement of each side of a user’s stroke (i.e., each arm) may be measured independently to identify imbalances in this user’s technique. Preferably, the means for generating a force comprises at least one of: one or more elastic resistance bands; a flywheel; a weight and pulley arrangement, preferably wherein the pulley arrangement is arranged to move the bodyweight of the user. Advantageously, using elastic resistance bands provides a compact apparatus because it need comprise only the elastic resistance bands and the handle paddles incorporating the sensors, and the apparatus can be set anywhere with a suitable mounting point for attaching the resistance bands. Where a flywheel or weight and pulley arrangement are used, the size of the apparatus is necessarily larger and would typically include a stand-alone structure. In the case where the means for generating a force comprises a flywheel or weight and pulley arrangement, the sensor for measuring a force applied by the user to the paddles may be integrated with the means for generating a force, rather than with the paddles. For example, the means for generating a force may comprises a flywheel, in which case the sensor for measuring a force applied by the user to the paddles may be coupled to the means for generating a force (for example, to measure a speed of the flywheel) rather than part of the hand paddles. If the means for generating a force comprises a magnetically resisted flywheel, the sensor for measuring a force may include an electromagnetic sensor coupled to the flywheel. If the means for generating a force comprises a friction resisted flywheel (e.g., an air resisted flywheel), the sensor for measuring a force may include a sensor measuring the friction or resistance associated with the flywheel. Preferably, the dry land swim trainer comprises a bench on which a user can lie to move the at least one hand paddle against the means for generating a force. Preferably, the at least one hand paddle is or comprises a handle, or a hand-grip, to be gripped by a user’s hand (rather than a flat paddle). According to another aspect disclosed herein, there is provided a computer implemented method comprising: receiving, at a computing device, data relating to sensor measurements associated with at least one characteristic of a movement of at least one hand paddle of a dry land swim trainer; calculating, based at least in part on the received data, a movement parameter for a digital avatar being displayed on a display of the computing device; and moving, on the display of the computing device, the digital user avatar according to the calculated movement parameter. Advantageously, the user can visualise on the display their performance and technique. This provides a more engaging experience, particularly as compared to existing dry land swim trainers. The display may also provide feedback and insights to the user derived from the sensor measurements. Preferably, the data relating to sensor measurements comprises data associated with a force or power applied by a user to the at least one hand paddle against a resistive force. The data may be derived from measurements of a strain gauge or other sensor. Preferably, calculating the movement parameter comprises calculating a speed for the digital avatar based, at least in part, of the data associated with a force or power applied by a user to the at least one hand paddle against a resistive force. In this way, when the user applies more force or power to the paddles, the avatar moves more quickly through the simulated environment. Preferably, the movement parameter is calculated based, at least in part, on a technique parameter. In this way, a more realistic experience is provided to the user because any inefficiencies in their technique will affect the movement of the avatar on the display. Preferably, the technique parameter is based, at least in part, on data relating to gyroscope measurements associated with an orientation of the at least one hand paddle of the dry land swim trainer. For example, the technique parameter may be based in part on the ‘tilt’ orientation of the hand paddle during the pull and push phases of the stroke. Preferably, the technique parameter is based, at least in part, on data relating to accelerometer measurements associated with an acceleration of the at least one hand paddle of the dry land swim trainer. For example, the technique parameter may be based in part on the Y-axis acceleration measured by the accelerometer, which is indicative of a non- straight line pull-through action. Preferably, the method comprises initiating a virtual swimming session, and displaying on the display of the computing device the movement of the digital user avatar and a movement of at least one further avatar in the same virtual environment. Preferably, the movement of the at least one further avatar is displayed in relation to the movement of the user avatar. Preferably, the method comprises receiving data from a server relating to the movement of at least one further avatar, the further avatar representing at least one remote users; and displaying on the display of the computing device the movement of the remote user avatar in relation to the movement of the local user avatar. This enables multiplayer competitions with remote users, where the avatars of different users are shown concurrently in the same simulated environment. The speeds and positions of the avatars of the various users are determined by the sensor data of each user’s swim trainer as described herein. Alternatively, or additionally, the at least one further avatar comprises a target avatar. In this case, the computing device may display movement of the target avatar in relation to the movement of the digital user avatar. The target avatar is not representative of a real-world remote user but is instead representative of a target or exemplary swimming speed. In this way, the user can compare the speed of their user avatar (as is representative of their performance on the swim trainer) to the speed of the target avatar (as is representative of the target speed the user may wish to achieve). The target avatar may be representative of a real-world swim performed by the user, for example a previous pool swim or open water swim, such that the speed of the target avatar displayed on the computing device corresponds to the speed of the user in the previous real-world swim. In this way, the user can compare the speed of their user avatar (as is representative of their performance on the swim trainer) to the speed they achieved during their real-world swim. In any case, the target avatar is shown concurrently in the same simulated environment at the user avatar. Preferably, the method comprises identifying, based at least in part on a periodic pattern in the data relating to sensor measurements, at least one of: a swimming stroke type being performed on the swim trainer; a swimming stroke count performed on the swim trainer; and / or a swimming stroke rate being performed on the swim trainer. A stroke type may be determined by compared a measured sensor pattern to exemplary patterns for each stroke type. A stroke count may be determined by counting the periods of the periodic pattern. A stroke rate may be determined based on the stroke count per unit time. According to another aspect described herein, there is provided a system comprising: a dry land swim trainer comprising: at least one hand paddle; and means for generating a force to resist a movement of the paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the hand paddle, and a computing device connected, by a wired or wireless connection, directly or indirectly, to the at least one sensor, wherein the swim trainer is configured to transmit data associated with the at least one measured characteristic to the computing device. Preferably, the computing device is arranged to calculate, based at least in part on the transmitted data, a movement parameter for a digital user avatar being displayed on a display of the computing device. Preferably, the computing device is arranged to move, on the display of the computing device, the digital user avatar according to the calculated movement parameter. Preferably, the dry land swim trainer is a dry land swim trainer as aforementioned, and the computing device comprises memory storing software code which, when executed on a processor, performs the method as aforementioned. According to another aspect described herein, there is provided an apparatus, such as an exercise apparatus, including a dry land exercise apparatus, comprising: at least one hand paddle; means for generating a force to resist a movement of the paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the hand paddle. Preferably, the at least one sensor comprises at least one sensor arranged to measure a force applied by a user to the at least one hand paddle, preferably a strain gauge. Preferably, the at least one sensor arranged to measure a force applied by a user to the at least one hand paddle is a strain gauge mounted on a flexible bar of the at least one hand paddle. Preferably, the coupling between the means for generating a force and the at least one hand paddle includes a coupling between the means for generating a force and the flexible bar of the paddle, preferably wherein the coupling between the means for generating a force and the flexible bar includes a hand strap. Preferably, the at least one sensor arranged to measure a force applied by a user to the at least one hand paddle is coupled to the means for generating a force. Preferably, the at least one sensor comprises an accelerometer, preferably wherein the at least one hand paddle comprises the accelerometer. Preferably, the accelerometer is configured to measure acceleration in at least two directions, preferably in three directions. Preferably, the at least one sensor comprises a gyroscope, preferably wherein the at least one hand paddle comprises the gyroscope. Preferably, the gyroscope is configured to measure orientation about an axis along or aligned with a length of the hand paddle. Preferably, the gyroscope is configured to measure orientation about an axis along or aligned with a width of the hand paddle. Preferably, the at least one sensor comprises a pressure sensor, preferably a piezoelectric or piezoresistive pressure sensor. Preferably, the at least one sensor is integrated into an interior of the at least one hand paddle. Preferably, the at least one hand paddle comprises a pair of hand paddles, each hand paddle comprising the at least one sensor. Preferably, the means for generating a force comprises at least one of: one or more elastic resistance bands; a flywheel; a weight and pulley arrangement, preferably wherein the pulley arrangement is arranged to move the bodyweight of the user. Preferably, the apparatus comprises a bench on which a user can lie to move the at least one hand paddle against the means for generating a force. According to another aspect described herein, there is provided a computer implemented method comprising: receiving, at a computing device, data relating to sensor measurements associated with at least one characteristic of a movement of at least one hand paddle of an apparatus, such as an exercise apparatus; calculating, based at least in part on the received data, a movement parameter for a digital avatar being displayed on a display of the computing device; and moving, on the display of the computing device, the digital user avatar according to the calculated movement parameter. Preferably, the data relating to sensor measurements comprises data associated with a force applied by a user to the at least one hand paddle against a resistive force. Preferably, calculating the movement parameter comprises calculating a speed for the digital avatar based, at least in part, of the data associated with a force applied by a user to the at least one hand paddle. Preferably, the movement parameter is calculated based, at least in part, on a technique parameter. Preferably, the technique parameter is based, at least in part, on data relating to gyroscope measurements associated with an orientation of the at least one hand paddle of the apparatus. Preferably, the technique parameter is based, at least in part, on data relating to accelerometer measurements associated with an acceleration of the at least one hand paddle of the apparatus. Preferably, the method comprises initiating a virtual exercise session, and displaying on the display of the computing device the movement of the digital user avatar and a movement of at least one further avatar in the same virtual environment. Preferably, identifying, based at least in part on a periodic pattern in the data relating to sensor measurements, at least one of: an exercise type; a swimming stroke type being performed on the swim trainer; a swimming stroke count performed on the swim trainer; and / or a swimming stroke rate being performed on the apparatus. According to another aspect described herein, there is provided a system comprising: an apparatus, such as an exercise apparatus, comprising: at least one hand paddle; and means for generating a force to resist a movement of the paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the hand paddle, and a computing device connected, by a wired or wireless connection, directly or indirectly, to the at least one sensor, wherein the apparatus is configured to transmit data associated with the at least one measured characteristic to the computing device. Preferably, the apparatus is an apparatus as aforementioned and the computing device comprises memory storing software code which, when executed on a processor, performs the method as aforementioned. Any apparatus feature as described herein may also be provided as a method feature, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure. Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa. Furthermore, any, some and / or all features in one aspect can be applied to any, some and / or all features in any other aspect, in any appropriate combination. It should also be appreciated that particular combinations of the various features described and defined in any aspects of the invention can be implemented and / or supplied and / or used independently. The invention also provides a computer program or a computer program product for carrying out any of the methods described herein, and / or for embodying any of the apparatus features described herein, and a non-transitory computer readable medium having stored thereon a program for carrying out any of the methods described herein and / or for embodying any of the apparatus features described herein. The invention also provides a signal embodying a computer program or a computer program product for carrying out any of the methods described herein, and / or for embodying any of the apparatus features described herein, a method of transmitting such a signal, and a computer product having an operating system which supports a computer program for carrying out the methods described herein and / or for embodying any of the apparatus features described herein. Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure, such as a suitably programmed processor and associated memory. Furthermore, features implanted in hardware may generally be implemented in software, and vice versa. Any reference to software and hardware features herein should be construed accordingly. The invention extends to methods, system and apparatus substantially as herein described and / or as illustrated with reference to the accompanying figures. One or more aspects will now be described, by way of example only and with reference to the accompanying drawings having like-reference numerals, in which: Figures 1 and 2 are perspective views of a dry land swim trainer according to the present invention; Figures 3a and 3b are perspective views of a hand paddle for the dry land swim trainer shown in Figures 1 and 2; Figure 4 is an exploded view of the hand paddle shown in Figures 3a and 3b; Figure 5 is a graph showing a sensor measurement of a characteristic associated with a movement of the hand paddle varying over time; and Figure 6 is a system architecture diagram. Detailed description Figures 1 and 2 are perspective views of a dry land swim trainer 100 according to the present invention.The swim trainer 100 comprises at least one hand paddle. In this example, the swim trainercomprises two hand paddles 102, one for each of the user’s hands. The swim trainer 100 also comprises a means for generating a force to resist a movement of the paddles. In this example, the means for generating a force (i.e., the resistance generation apparatus) comprises a resistance band 104, or a pair of resistance bands. The resistance band 104 is coupled to the hand paddles 102. The resistance band 104 is also coupled to a mount 106. The mount 106 in this example is a wall mount which secures the resistance band 104 to a wall. In other examples, the mount could secure the resistance band to another static surface or object suitable for resisting the forces applied by a user. The resistance band generates an elastic force to resist extension of the resistance band, thereby resisting movement of the paddles 102 away from the mount 106. The swim trainer 100 comprises a bench 108. In use, a user 110 lies on the bench 108 (for example, face down, as shown in Figures 1 and 2) and takes one hand paddle 102 in each hand. When performing a swimming action, such as a front crawl stroke action as shown in Figure 1, the user extends their arm forward towards the mount 106 to slacken the resistance band 104, before pulling their hand backwards towards their side against the resistive elastic force of the resistance band and completing a full stroke. In this way, the user can train the muscles associated with in-water swimming against the resistance of the resistance band. The swim trainer 100 also comprises a computing device 112. In this example, the computing device is a mobile tablet. The computing device 112 may be placed on the floor in front of the bench, as shown in Figures 1 and 2, so that a user can view a display of the computing device while lying on the bench 108 and using the swim trainer. Figures 3a and 3b are perspective views of a hand paddle for the dry land swim trainer shown in Figures 1 and 2. The hand paddles comprise an upper part 114, which acts as a cover, and a lower part 116, which acts as a base. The cover and base fit together to form a housing with an interior enclosure for the internal electronics of the paddle. A strap 118 couples the hand paddle 102 to the resistance band 104. A portion of the strap 118 in this example passes through the upper part 114 of the housing via strap apertures 120 to connect the strap 118 to the paddle 102. In this example, a portion of the strap 119 is provided between the strap apertures 119, over the exterior surface of the upper part 114 of the hand paddle, to create a hand strap between the two strap apertures 120. In use, a user secures their hand through the gap between the hand strap and the exterior surface of the upper part 114 of the hand paddle. In other examples, the hand strap 119 may be formed separately from the strap 118 coupling the paddle 102 to the resistance band 104 rather than being form as a portion ofthe strap 118. The hand paddle in this example comprises apertures 122 to allow the userto add a second hand or finger strap for additional security. In one example, a loop of material may be fed through the apertures to form a loop through which a user can put their finger so as to attach the paddle to their hand more securely. While not shown in Figures 3a and 3b, the upper surface of the upper part of the hand paddle may include indentations, such as a finger grooves, to accommodate more comfortably a user’s hand against the hand paddle and the encourage the user’s fingers into the correct position for a good swimming technique. The hand paddle 102 comprises various electronics within the enclosure between the upper and lower parts of the housing, as described in more detail with reference to Figure 4 below. The exterior of the hand paddle 102 in this example includes: a charging socket 124 to allow charging of an electric battery within the hand paddle to power the electronics; a light emitting diode (LED) indicator light 126 to indicate a power status (e.g., on or off) or a charge status (e.g., currently charging, or requires charging) of the hand paddle; and a button or switch 128 by which a user can operate control the electronics and / or associated software. The button or switch 128 may be a power button / switch to power the paddle on or off. Figure 4 is an exploded view of the hand paddle shown in Figures 3a and 3b. As can be seen in Figure 4, the hand paddle 102 comprises at least one sensor configured to measure at least one characteristic associated with the movement of the hand paddle. In this example the at least one sensor is integrated into the interior of the paddle 102. Specifically, the at least one sensor is located within the enclosure 130 between the upper part 114 and the lower part 116 of the housing of the hand paddle 102. The upper part 114 and the lower part 116 of the housing a fixed together via fixing points 131 in the lower part upper part 114 of the housing. The fixing points 131 may be formed as apertures with brass inserts to receive a screw therethrough, inserted from the underneath of the lower part 116 of the housing, to be screwed into threaded blind holes (not shown) on the interior of the upper part 114 of the housing. Various other electronics are housed within the enclosure 130 between the upper part 114 and lower part 116 of the housing, including a printed circuit board 132. A rechargeable battery is also provided in the enclosure 130 to power the electronics. The printed circuit board is secured to the lower part 116 of the housing via four fixing points 133 which couple to four corresponding fixing points of the printed circuit board. In other examples, different numbers of fixing points may be used to secure the printed circuit board and other components to the housing, and to secure together the upper and lower parts of the housing. A flexible bar 134 is also contained within the enclosure 130. The flexible bar is secured to the lower part 116 of the housing via a pair of fixing points 135 which couple to a pair of corresponding fixing points on the flexible bar 134. The flexible bar is arranged to deform elastically, in that it is not permanently deformed by the forces typically applied to it by a user. In this example, the at least one sensor comprises a sensor to measure a force applied by a user to the hand paddles 102. In this example, the sensor is a strain gauge 136. In this example, the strain gauge is mounted on the flexible bar 134. More specifically, there are two strain gauges 136 mounted on an upper surface of the flexible bar. There may also be one or more further strain gauges (not shown) mounted on the opposing underside surface of the flexible bar 134. In particular, the force sensor may comprise multiple strain gauges (e.g., four strain gauges) arranged in a Wheatstone Bridge configuration on the flexible bar. This allows for more precise force measurements to be taken, particularly as compared to a single strain gauge or even multiple (e.g., four) strain gauges in a different configuration. The strain gauges 136 are connected (e.g., electrically) to the printed circuit board 132. The flexible bar comprises slots 138 running transverse to the length of the flexible bar. Two pairs of parallel slots 138 are provided, one pair located near each end of the flexible bar. The strap 118, which passes through the strap apertures 120 into the enclosure 130 of the housing, is arranged to loop through the slots of the flexible bar. In this way, the strap 118 couples the flexible bar to the resistance band 104, given that the strap 118 is coupled at its other end to the resistance band 104. In other words, the means for generating a force (i.e., the resistance band) is coupled to the hand paddle via a coupling to the flexible bar of the paddle. Therefore, an elastic resistive force generated by the resistance band 104 against movement of the paddle 102 will cause the flexible bar to flex. The strain gauges, which are of a known construction, will detect the change in the dimensions of the flexible bar by way of fluctuation in the electrical resistance through the strain gauge. The strain gauge can measure the magnitude of the strain on the flexible bar 134, from which a force measurement can be derived (that is, the applied by the user to the handle paddle 102 against the resistance band 104. While the strain gauges 136 are shown being mounted inboard of the fixing points for securing the bar 134 to the housing, for increases sensitivity the gauges could be mounted outboard of the fixing points (i.e., between the fixing points and the slots 138). In this example, the at least one sensor also comprises an accelerometer which in this example is mounted on and wired into the printed circuit board 132. The accelerometer in this example is configured to measure acceleration in three directions. For example, the accelerometer may measure acceleration, relative to the point of view of a user 110 using the trainer 100, in three orthogonal directions: a forward-backward direction (“X”), a side-to- side direction (“Y”), and an upwards-downwards (“Z”) direction. The advantage of including an accelerometer in addition to a strain gauge is to calculate a power metric for the user without requiring knowledge of the strength of the resistance band. If a strain gauge is used alone, it would not be possible to distinguish between a strain caused by a high resistance band being pulled at a low speed and the same strain being generated by a low resistance band being pulled at a high speed. Including the accelerometer and the strain gauge resolves this problem, enabling the calculation of a power metric regardless of the resistance of the resistance band. This enables the user to switch between resistance bands of varying strengths (according to their strength level). In this example, the at least one sensor also comprises a gyroscope which in this example is mounted on and wired into the printed circuit board 132. The gyroscope in this example is configured to measure the orientation of the paddle about an axis along or aligned with the length of the hand paddle (i.e., axis “L” in Figure 3b) and / or to measure the orientation of the paddle about an axis along or aligned with the width of the hand paddle (i.e., axis “W” in Figure 3b). In other examples, the gyroscope may be also configured to measure the orientation of the paddle about an axis (not shown) running vertically through the hand paddle, perpendicular to both the “L” and “W” axes, which is indicative of a yaw of the paddle. The gyroscope may additionally or alternatively be configured to measure a rate of change of the orientation of the paddle in any of these directions. In this way, the gyroscope can be used to measure the tilt of the users hand towards the ground during the ‘catch’ phase of a front-crawl stroke (a good technique involves orienting the hand vertically towards the ground during the catch) and to measure any roll of the user’s hand (about the “L” axis) during the ‘pull’ and ‘push’ phases of the stroke (a good technique minimises roll of the hand during the stroke). In the example described above, both of the paddles 102 contain the same electronics, including the same set of sensors (strain gauge, accelerometer, and gyroscope) so that the characteristics of movement of each paddle can be independently measured by their respective sensors. While the foregoing description includes reference to a strain gauge, accelerometer and gyroscope, other sensors may be used in other examples. For example, a pressure sensor may be used to measure the force applied by the user against the resistance band, such as a piezoelectric or piezoresistive pressure sensor. Similarly, while the foregoing description includes reference to resistance bands providing the means for generating a force to resist a movement of the paddles 102, in other examples the means for generating a force may additionally or alternatively comprise a flywheel (such as an air-resisted or water-resisted flywheel) or a weight and pulley arrangement, for example an arrangement in which the user moves their own body weight against gravity via the pulleys. In the case where the means for generating a force comprises a flywheel or weight and pulley arrangement, the sensor for measuring a force applied by the user to the paddles may be integrated with the means for generating a force, rather than with the paddles. For example, the means for generating a force may comprises a resisted flywheel. In this case, the sensor for measuring a force applied by the user to the paddles may be coupled to the flywheel to measure a characteristic of the movement of the flywheel (e.g., a speed of rotation of the flywheel) from which a force measurement can be derived. Figure 5 is a graph showing an exemplary sensor measurement of a characteristic associated with a movement of the hand paddle varying over time. In this example, the sensor measurement is strain as measured by the strain gauge 136 of the hand paddle 102 which is associated with the force applied by a user to the hand paddle 102 to move the hand paddle against the elastic resistive force of the resistance band 104. The y-axis of the graph shows the strain as measured by the strain gauge as a function of time on the x-axis of the graph. Units are not shown. It can be seen from the graph that the strain varies with time in a substantially periodic way, with four distinct peaks being visible in the graph. These peaks are representative of individual strokes performed by the user. Of the four peaks, three have a substantially square-wave shape, with a steep rise and fall and a flat line in between. However, one of the four peaks (the second peak) has a substantially triangular shape, with a shallower rise and fall (including a particularly shallow fall) and no flat line in between. The profile of the strain over the course of a stroke can provide insights to a user. For example, based on the strain profile a user can see whether the ‘pull’ phase of their stroke is stronger than the ‘push’ phase of their stroke, which might indicate that they should focus training for the ‘pull’ phase, or vice versa. Similar graphs can be plotted using data from the accelerometer or gyroscope. For example, the three components of acceleration measured by the accelerometer (i.e., acceleration in the X, Y and Z axes) can be independently plotted against time on a graph. From this plot, periodic patterns in the acceleration components can be identified as representative of a stroke action. For example, in the X axis (i.e., the forward-backward axis from the point of view of the user) the acceleration will show a periodic pattern with a positive peak (when the user begins to reach forward in the ‘extension’ phase of a stroke) and a negative peak (when the user begins to pull backwards after the ‘catch’ phase of the stroke). The negative peak would typically have a lower magnitude than the positive peak, because the reach forward in the extension phase will be unresisted, whereas the pull backwards will be resisted by the elastic force of the resistance band resulting in a reduced acceleration of the paddle. Measurements from the gyroscope, which are associated with a ‘roll’ of the paddle about an axis along or aligned with the length of the hand paddle (i.e., axis “L” in Figure 3b) and / or a ‘tilt’ of the paddle about an axis along or aligned with the width of the hand paddle (i.e., axis “W” in Figure 3b), may also be plotted against time. A good technique would show that, during the extension phase of the stroke, the user’s hand is oriented horizontal, while in catch phase of the stroke the user’s hand should be tilted forward to be pointed directly downwards towards the ground during the subsequent pull and push phases. A good technique would also show that, from the catch phase through the pull and push phases, the user’s hand does not roll about the “W” axis. The orientation of the user’s hand during a stroke can be analysed throughout the course of a stroke using this gyroscopic data. Moreover, the various sensor data can be combined to provide insights into the timing of each component of the stroke relative to another. For example, the timing of the ‘catch’ is important for an efficient swimming technique. A good technique would show the catch (i.e., when the user tilts their hand forward towards the ground) happening just before the user pulls their hand backwards in the pull phase. Similarly, a good technique would show the users hand remaining oriented downwards throughout the entire duration of the pull and push phases of the stroke. Overlaying the strain gauge and gyroscope data can show the timing of the ‘catch’ relative to the pull, to identify where a swimmer may be changing the orientation of their hand too late at the beginning of the pull (i.e., pulling backwards before the hand is in the downwards orientation) or changing the orientation of the hand too early at the end of the stroke (i.e., returning their hand to the horizontal position before the push phase is complete). These insights enable a user to make small and controlled adjustments to their stroke technique based on insights derived from the sensor data, thereby enabling the user to improve their technique and resultant swimming performance. Figure 6 is a system architecture diagram to demonstrate another aspect of the swim trainer 100, which enables the user to visualise their swimming technique through a virtual avatar on the computing device 112, and to use the swim trainer 100 to join virtual swimming sessions. For example, the user may join virtual swimming sessions, such as competitions, with remote users of other swim trainers, or they may join virtual swimming sessions with avatars generated by the computing device 112 (i.e., non-playable characters). The system includes the hand paddle 102 and the computing device 112 described above. While this diagram shows only one hand paddle 102, in other examples the system includes two hand paddles operating in the same way. The hand paddle 102 comprises the printed circuit board 132 and at least one sensor connected (e.g., electrically) to the printed circuit board. In this example, the sensors comprise the strain gauge 136, accelerometer 140, and gyroscope 142. The hand paddle 102 is connected to the computing device 112 in this example by a short-range wireless connection 144, specifically a Bluetooth® connection. In other examples, different wireless connections may be used such as an ANT+ (Adaptive Network Topology) connection. In other examples, the connection may be a wired connection. The computing device 112 in this example is a mobile tablet or mobile phone device. In other examples the computing device may be a laptop or other electronic device or electronic system comprising a processor, memory, and a display. In use, the sensors are configured to measure at least one characteristic associated with the movement of the hand paddle, such as a strain (associated with force applied by the user to the hand paddle against the resistance bands), an acceleration (associated with the acceleration of the paddle under the force applied by the user), and / or an orientation (associated with the orientation of the users hand) as described above. The hand paddle 102 comprises a Bluetooth® transceiver connected (e.g., electrically) to the printed circuit board 132 to receive data relating to the sensor measurements from the sensors, and to transmit data associated with those sensor measurements to the computing device 112 by a Bluetooth® connection with a corresponding transceiver of the computing device. For example, the data associated with the sensor measurements may be the raw sensor measurements themselves, or a scaled version of the sensor measurements. In other examples, the data may be an encoded form of the sensor measurements. In yet other examples the data may be converted into another metric or set of metrics and data comprising the metric(s) may be transmitted to the mobile device 112. Preferably, data transmitted from the hand paddle 102 to the computing device 112 comprises ten fields of information as follows: Field Data type Description Accelerometer X: This data field represents the measurement of the accelerometer sensor in the X direction (i.e., the forward-backward 1 int16_t direction from the point of view of the user). This value may be scaled, for example such that the value 16383 = 2G (where G is gravitational acceleration). Accelerometer Y: This data field represents the measurement of the accelerometer sensor in the Y direction (i.e., the side-to-side direction 2 int16_t from the point of view of the user). This value may be scaled, for example such that the value 16383 = 2G (where G is gravitational acceleration). Accelerometer Z: This data field represents the measurement of the accelerometer sensor in the Z direction (i.e., the up-down direction 3 int16_t from the point of view of the user). This value may be scaled, for example such that the value 16383 = 2G (where G is gravitational acceleration). Gyroscope X: This data field represents the measurement of the gyroscope sensor in a ‘roll’ direction (i.e., representing a roll of the user’s hand about the length axis “L” along the paddle). This value 4 int16_t may be scaled, for example such that the value 32763 = 245 degrees (where the gyroscope measures an orientation), or 245 degrees per second (where the gyroscope measures a rate of change of orientation). Gyroscope Y: This data field represents the measurement of the gyroscope sensor in a ‘tilt’ direction (i.e., representing a tilt of the user’s 5 int16_t hand about the width axis “W” across the paddle). This value may be scaled, for example such that the value 32763 = 245 degrees (where the gyroscope measures an orientation), or 245 degrees per second (where the gyroscope measures a rate of change of orientation). Gyroscope Z: This data field represents the measurement of the gyroscope sensor in a ‘yaw’ direction (i.e., representing a yaw of the user’s hand about an axis, orthogonal to the “L” and “W” axes, running int16_t vertically through the paddle). This value may be scaled, for example such that the value 32763 = 245 degrees (where the gyroscope measures an orientation), or 245 degrees per second (where the gyroscope measures a rate of change of orientation). Force: This data field represents the force applied by the user to the paddle against the resistive force of the means for generating a force (e.g., the elastic force generated by the resistance bands). This data field may be the raw measurement from the strain gauge(s). Alternatively, given that the strain gauge measures a deformation of uint32_t the bar 134, this data field may represent a force metric derived from the measurement of the strain gauge, such as a calibrated force derived from the strain gauge measurement as scaled by a calibration constant or calibration function which maps a deformation of the bar 134 to a force applied to the paddle. Button / Switch A: This data field represents the position of a button / switch on the paddle, such as a button / switch similar to the button / switch 128 shown in Figures 3a, 3b and 4. This data field may bool take the value “0” when the button is depressed or the switch is in a first position and “1” when the button is not depressed or the switch is in a second position, or vice versa. Button / Switch B: This data field represents the position of another button / switch on the paddle, such as another button / switch similar to the button / switch 128 shown in Figures 3a, 3b and 4. This data field bool may take the value “0” when the button is depressed or the switch is in a first position and “1” when the button is not depressed or the switch is in a second position, or vice versa. Timestamp: This data field represents a time (e.g., in milliseconds) since power up of the device, which enables temporal ordering of each set of data received at the computing device. Preferably, the entire set uint32_t of 10 fields of data set out in this table is transmitted every 10 milliseconds, meaning that this timestamp increases by 10 milliseconds with the transmission of each data set. The ‘data type’ column in the table above represents the format in which each data field is transmitted. The ‘int16_t’ data type is a 2 byte signed integer, ‘the uint32_t’ is a 4 byte unsigned integer, and the ‘bool’ data type is a Boolean value (i.e., “0” or “1”). In addition to data transmitted from the paddle 102 to the computing device 112, data may also be transmitted from the computing device 112 to the paddle 102. In particular, it may be necessary periodically to update firmware stored on the hand paddle 102 (e.g., in memory connected to the printed circuit board 132 of the hand paddle). The computing device 112 may accordingly be configured to transmit firmware updates to the hand paddle 102 via the Bluetooth® connection 144 as required from time to time. The computing device 112 comprises a non-transitory computer readable medium, such as a non-volatile memory, storing computer code which, when executed on a processor of a computing device, performs a method to process the data received from the hand paddle 102 via the Bluetooth® connection 144 to enable a user to visualise their technique via an avatar displayed on the computing device and to enable the user to take part in virtual swimming sessions (with remote users, or with computer generated avatars). The method involves receiving, at the computing device 112, data relating to measurements from the at least one sensor (e.g., the strain gauge 136, the accelerometer 140, and the gyroscope 142). The data is received in this example via the Bluetooth® connection 144 between the paddle 102 and the computing device 112. The data is associated with at least one characteristic of a movement of the hand paddle 112 of a dry land swim trainer 100. The data may be raw measurements from the sensor, or data derived from or converted from the raw sensor data. For example, the data may be scaled or it may be comprise a metric or set of metrics calculated from the raw sensor measurements. The data may take the form of the exemplary 10-field data set described in the table above. The method then involves calculating, based at least in part on the received data, a movement parameter for a digital avatar being displayed on a display of the computing device 112. The digital avatar in this example is a swimmer character shown in a simulated water environment (such as in a simulated swimming pool or open water environment displayed on the computing device). In this example, the character is part of a swimming game running on the computing device 112. The movement parameter may be, for example, a speed of the avatar moving on the display and / or a direction of movement of the avatar moving on the display and / or a swimming stroke performed by the avatar moving on the display. The method then involves moving, on the display of the computing device 112, the digital avatar according to the calculated movement parameter. In one example, strain gauge data is received at the computing device 112 from the strain gauge 136 of the hand paddle 102 via the Bluetooth® connection 144. Based on this strain data, the force that the user has applied to the paddle 102 against the resistance of the resistance band can be derived (for example, based on a calibration as described above). Based at least in part on the derived force, a movement parameter for a digital avatar is calculated. In this example, the movement parameter is a forward speed of the avatar. On the display of the computing device 112, the digital avatar is then moved according to the calculated movement parameter. The movement parameter may be calculated by a linear mapping of the strain data received from the sensors (or force data derived from the strain data) to a forward speed of the avatar. For example, the computing device may store a mapping of strain / force to avatar speed. In this example, if the user applies a particular force to the paddle, the avatar will be moved as a speed proportional to that force. Alternatively, the movement parameter may be calculated by mapping the strain / force data to a forward speed of the avatar using a calibration function rather than a simple linear mapping. The calibration function maps a given strain / force measurement from the strain gauge to a speed of the avatar and may be representative of the real speed achieved by a swimmer when they apply that force during in-water swimming. The calibration function may be derived from real-world experimental data correlating the force applied by a real swimmer in water to the real speed achieved by the swimmer. This calibration function may also be used, for example, to replicate the effects of water resistance by causing an increase in the force applied to the paddle to result in a larger increase in the speed of the avatar when the avatar is moving at a low speed than when the avatar is moving at a high speed. In either case, the movement parameter may be scaled based on a technique parameter. The technique parameter may be based on a difference between the user’s actual stroke technique, as measured by the sensors, and a model stroke technique. For example, if, based on the measurements of the gyroscope, it can be seen the user’s hand is not angled vertically downwards towards the ground during the pull and push phases of the stroke (as would be ideal), or if the user’s hand is rolling during the stroke, the speed of the avatar generated by a given strain gauge or force measurement may be scaled down to take account of the poor technique of the swimmer in order to improve the realism of the avatar emulation. Similarly, the speed of the avatar generated by a given strain / force measurement may be scaled up if the technique is closer to the model technique. The technique parameter may comprise multiple components representing multiple different aspects of the swimming technique (such as the user’s hand angle at the catch phase and the straightness of the user’s pull). The technique parameter may be calculated by summing each of the components. The magnitude of each component of the technique parameter may be determined based on the extent to which the respective aspect of user’s technique would be expected to affect the swimmer’s speed in the real world. Alternatively, rather than scaling the movement parameter by the technique parameter, the movement of the avatar may not be affected by the technique, but instead the technique parameter may be output to the user (e.g., displayed on the screen of the computing device 112) in the form of a technique score. The data received by the computing device 112 from the hand paddle 102 may be used to identify imbalances in the user’s swimming technique. For example, the computing device 112 may compare the strain gauge data for the left-hand paddle and the right-hand paddle to identify an imbalance in the force applied by the user to each paddle. This is useful to enable the user to correct such imbalances which would otherwise cause inefficiencies in their technique. The technique parameter described above may therefore be provided independently for each paddle, to show a user where the user’s technique differs from one arm to the other. In a similar way, the computing device may compare the accelerometer data to identify where the action of their arm may be inefficient during a stroke. For example, a good technique would involve the user pulling (from the ‘catch’) backwards towards the side of their body and continuing to push backward alongside their body in a substantially straight line. The computing device may be configured to identify, from Y-axis accelerometer data, the extent to which a user is pulling or pushing inwards or outwards rather than in a straight line alongside their body. The computing device may also be configured to animate the avatar on the display of the computing device to emulate the action of the user of the swim trainer. For example, the animation of the avatar’s arm strokes may be synchronised with the user’s arm strokes, so that – for example – as a user reaches out and pulls back with their right arm, the avatar also reaches out and pulls back with their right arm at the same time. The computing device may also be configured to analyse the data received from the hand paddle to identify the type of stroke performed by a user (i.e., front crawl, breaststroke, butterfly, and so on). This may be achieved by matching the pattern of the sensor data over time (e.g., the accelerometer data over time) to exemplary patterns stored in memory of the computing device that are characteristic of a given stroke. The computing device may also be configured to animate the avatar on the display of the computing device to emulate the user’s stroke, as detected by the computing device. The computing device may also be configured to count the number of strokes performed by a user by identifying periodic patterns in the data received from the sensors (e.g., periodic patterns in the strain gauge data, as exemplified in Figure 5), and counting the number of periods. A stroke rate (e.g., the number of strokes per minute) can be derived similarly based on the number of strokes per unit of time. The above method has a number of advantages. First, it enables a user to receive valuable insights into their swimming technique to allow them to make corrections to their technique. Second, it enables a user to understand weaknesses in their technique without requiring a mirror or a camera to be set up, and without requiring the assistance of a trainer or partner. Third, the sensors may pick up weaknesses in the swimmer’s technique that would not be readily apparent by eye or by feel alone. Another advantage of the present invention is to enable the user to take part in virtual swimming competitions with users of other similar swim trainers located remotely from the user 110 of the swim trainer 100 described above. This provides a more engaging training experience for the user. To achieve this, the computing device 112 in this example has an onward connection 146 (directly or indirectly) to further computing devices and / or other software modules. In this example, the connection 146 is an internet connection, and the other computing devices or software modules (148, 150, 152, 154) are remote from the computing device 112. Specifically, the computing device 112 is connected via the internet connection 146 to a streaming server 148. The streaming server 148 enables a multiplayer functionality, in which a user 110 of the swim trainer 100 can interact with and compete against other users of other swim trainers over the internet. The streaming server 148 is an intermediate server between the computing device 112 of the swim trainer 100, and the computing devices of other swim trainers being used by other users. During a multiplayer game, multiple different avatars representing multiple different remote users are shown on the display of the computing device 112 in a simulated environment, such as a swimming pool. The streaming server receives via the internet connection information from the computing device 112 about the position and speed of the avatar representing the user 110 of the swim trainer 100 (as calculated based on the sensor data, as described above) and receives corresponding information about the position and speed of the avatars representing the other users in the multiplayer game. The information received by the streaming server is transmitted to the computing device 112 such that the computing device can display the positions and speeds of the other users’ avatars in relation to the avatar for the user 110 of the swim trainer 100 to facilitate a multiplayer competition. The streaming server 148 is connected, for example via an internet connection, to a games engine 150. The games engine 150 is a 3-dimensional computer graphics game engine which stores the game software (such as the software generating the game environment and the avatars). The two-way connection between the streaming server 148 and the games engine 150 enables the streaming server to deliver updates to the game engine 150 as may be required from time to time. The games engine may also store calibration information and calibration functions to convert sensor data from the sensors 136, 140, 142 into movement parameters for the avatar in the game as described above. In use, the streaming server 148 may regularly contact the games engine 150 to call calibration information from the games engine in order to calculate movement parameters for the avatar based on sensor data received from the computing device 112. Alternatively, the calibration information and calibration functions may be stored on the computing device 112 (e.g., downloaded from the games engine 150) so that sensor data can be converted into movement parameters for the avatar locally on the computing device 112. In this case, the streaming server 148 may not regularly contact the games engine 150 to call calibration information during gameplay. Data storage 152 is provided with a connection (e.g., an internet connection) to the streaming server 148. The data storage 152 provides long term storage to store information about workouts performed on the swim trainer 100. For example, the data storage 152 may store a record of each workout performed by the user 110 on the swim trainer 100 including a record of the sensor data collected throughout the workout. The data storage 152 may also store aggregated data from all of a users’ workouts (such as the total virtual distance swam across all workouts). The streaming server 148 may call this information from the data storage 152 and transmit it to the computing device 112 in order to display to a user information about their previous workouts. The data storage 152 in this example is also connected (e.g., via an internet connection and suitable application programming interfaces (APIs)) to third-party applications such as StravaTMor TrainingPeaksTM. This allows the user to view their swim trainer through the third-party applications. Similarly, the data storage 152 may import from the third-party applications data about real-world workouts (e.g., in water swims) undertaken by the user. This information may be used to update the calibrations in the game engine 150 so that the calibrations are personalised for each user. This information may also be used to generate an avatar replicating a user’s real-word swim (as stored in, or recorded via, the third-party application 154), so that a user of the swim trainer 100 can compare their in-game performance to their real-world performance. It is noted that while various computing devices are described above as performing different functions, the distribution of functions between the computing devices is for example only. The computing device 112 alone may perform all of the functions described above, or the computing device 112 together with any combination of further computing devices may perform the functions described above. It will be understood that the invention has been described above purely by way of example, and modifications of detail can be made within the scope of the invention. Each feature disclosed in the description, and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.

Claims

Claims 1. A dry land swim trainer comprising: at least one hand paddle; means for generating a force to resist a movement of the at least one hand paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the at least one hand paddle.

2. A dry land swim trainer according to Claim 1, wherein the at least one sensor comprises at least one sensor arranged to measure a force applied by a user to the at least one hand paddle, preferably a strain gauge arranged to measure a force applied by a user to the at least one hand paddle.

3. A dry land swim trainer according to Claim 2, wherein the at least one sensor arranged to measure a force applied by a user to the at least one hand paddle comprises a strain gauge mounted on a flexible bar of the at least one hand paddle.

4. A dry land swim trainer according to Claim 3, wherein the coupling between the means for generating a force and the at least one hand paddle includes a coupling between the means for generating a force and the flexible bar of the hand paddle, preferably wherein the coupling between the means for generating a force and the flexible bar includes a hand strap.

5. A dry land swim trainer according to Claim 2, wherein the at least one sensor arranged to measure a force applied by a user to the at least one hand paddle is integrated with the means for generating a force.

6. A dry land swim trainer according to any preceding claim, wherein the at least one sensor comprises an accelerometer, preferably wherein the at least one hand paddle comprises the accelerometer.

7. A dry land swim trainer according to Claim 6, wherein the accelerometer is configured to measure acceleration in at least two directions, preferably in three directions, of the at least one hand paddle.

8. A dry land swim trainer according to any preceding claim, wherein the at least one sensor comprises a gyroscope, preferably wherein the at least one hand paddle comprises the gyroscope.

9. A dry land swim trainer according to Claim 8, wherein the gyroscope is configured to measure orientation at least one hand paddle about an axis along or aligned with a length of the at least one hand paddle.

10. A dry land swim trainer according to Claim 8 or 9, wherein the gyroscope is configured to measure orientation of the at least one hand paddle about an axis along or aligned with a width of the at least one hand paddle.

11. A dry land swim trainer according to any preceding claim, wherein the at least one sensor comprises a pressure sensor, preferably a piezoelectric or piezoresistive pressure sensor, arranged to measure a force applied by a user to the at least one hand paddle.

12. A dry land swim trainer according to any preceding claim, wherein the at least one sensor is integrated into an interior of the at least one hand paddle.

13. A dry land swim trainer according to any preceding claim, wherein the at least one hand paddle comprises a pair of hand paddles, each hand paddle comprising the at least one sensor.

14. A dry land swim trainer according to any preceding claim, wherein the means for generating a force comprises at least one of: one or more elastic resistance bands; a flywheel; and / or a weight and pulley arrangement, preferably wherein the pulley arrangement is arranged to move the bodyweight of the user.

15. A dry land swim trainer according to any preceding claim, comprising a bench on which a user can lie to move the at least one hand paddle against the means for generating a force.

16. A computer implemented method comprising: receiving, at a computing device, data relating to sensor measurements associated with at least one characteristic of a movement of at least one hand paddle of a dry land swim trainer;calculating, based at least in part on the received data, a movement parameter for a digital user avatar being displayed on a display of the computing device; and moving, on the display of the computing device, the digital user avatar according to the calculated movement parameter.

17. A computer implemented method according to Claim 16, wherein the data relating to sensor measurements comprises data associated with a force applied by a user to the at least one hand paddle against a resistive force.

18. A computer implemented method according to Claim 17, wherein calculating the movement parameter comprises calculating a speed for the digital user avatar based, at least in part, of the data associated with a force applied by a user to the at least one hand paddle.

19. A computer implemented method according to any of Claims 16 to 18, wherein the movement parameter is calculated based, at least in part, on a technique parameter.

20. A computer implemented method according to Claim 19, wherein the technique parameter is based, at least in part, on data relating to gyroscope measurements associated with an orientation of the at least one hand paddle of the dry land swim trainer.

21. A computer implemented method according to Claim 19 or 20, wherein the technique parameter is based, at least in part, on data relating to accelerometer measurements associated with an acceleration of the at least one hand paddle of the dry land swim trainer.

22. A computer implemented method according to any of Claims 16 to 21, comprising initiating a virtual swimming session, and displaying on the display of the computing device the movement of the digital user avatar and a movement of at least one further avatar in the same virtual environment, preferably wherein the further avatar comprises: an avatar representative of another user’s performance on another swim trainer; and / or an avatar representative of a pre-set or target swimming speed.

23. A computer implemented method according to any of Claims 16 to 22, comprising identifying, based at least in part on a periodic pattern in the data relating to sensormeasurements, at least one of: a swimming stroke type being performed on the swim trainer; a swimming stroke count performed on the swim trainer; and / or a swimming stroke rate being performed on the swim trainer.

24. A system comprising: a dry land swim trainer comprising: at least one hand paddle; means for generating a force to resist a movement of the at least one hand paddle, the means for generating a force coupled to the at least one hand paddle; and at least one sensor configured to measure at least one characteristic associated with the movement of the at least one hand paddle, and a computing device connected, by a wired or wireless connection, directly or indirectly, to the at least one sensor, wherein the swim trainer is configured to transmit data associated with the at least one measured characteristic to the computing device.

25. A system according to Claim 24, wherein the dry land swim trainer is a dry land swim trainer according to any of Claims 1 to 15, and the computing device comprises memory storing software code which, when executed on a processor, performs the method of any of Claims 16 to 23.