Rowing Performance Analysis

Benedikt, March 7 2024

For a product overview, please visit the product page. In this article I would like to give you some more insights to what's behind our newest product, starting with a general product component overview and an introduction to the (data) science of rowing analysis.

Photo of a rower with the speed data and key stroke parameters overlaid

Product Components

The rowing analysis is split in three components: real-time feedback, offline analysis, training monitoring. To ensure maximum flexibility using the real-time feedback is not mandatory for the offline analysis - rather it is an extension. The training monitoring component builds on top of the offline analysis. Everything has been designed to maximize usability and remove unnecessary user interaction.

Real-Time Feedback

For the real-time feedback, the Naos sensor is used in the online mode. All raw motion data (position and speed from the GNSS at 10 Hz, acceleration and angular velocity from the IMU at 200 Hz) is streamed via the 4G cellular network to our real-time server as soon as the sensor is switched on and has found a first usable GNSS signal. The sensor can be fixed in almost any orientation and on any position on the boat. The only two constraints are to use a position where the sensor cannot easily fall in the water and has a good visibility to the sky.

Whenever the coach has a free minute, she/he opens the real-time interface on the webapp and assigns each sensor to a boat class. She/he has further the possibility to enter a comment, for example to keep track of the boat crew. In the background, this assignment launches a separate tracking process. This process automatically detects the rowing states (idle or rowing) and calibrates the sensor during the first straight rowing bout.

Screenshot of the real-time dashboard

This dashboard automatically updates every second and can be accessed with any number of devices simultaneously and from anywhere. For example, two coaches could each use their tablet to track their boats and someone being curious in the club's office can get the same info while drinking her/his coffee and answering emails. Of course, each person needs a personalized login.

Offline Analysis

We use the term "offline" in the sense of "not-real-time analysis". Everything is still done on our webapp, just no longer live but after a training session or competition has been completed and athletes are back on land.

For doing the offline analysis the data needs first to be imported to the webapp. When the real-time feature was used this data can simply be transferred with a single click. Otherwise, the data has to be uploaded via USB from the measurement file stored locally on the sensor. During this step the data will be assigned to a training session and boat class.

Once the data is on the webapp, relevant segments for in-depth analysis are detected with the smart segmentation feature and the user selects which ones should be stored. Only now all the detailed performance data is computed based on the recorded raw data. No performance information will be available for movement phases / bouts not stored.

The measurement overview page will list all segments stored. Clicking on any segment will open the detailed analysis separated into the following sections:

  1. Prognostic and splits overview (splits every 500m)
  2. Stroke performance parameters
  3. Detailed splits table (splits every 50 or 100m)
  4. Acceleration and speed patterns
  5. Maps

This page can be exported as a PDF on a convenient 3-page summary, for sharing it with the staff or with athletes.

It is further possible to compare stroke performance parameters across different segments. Comparisons from the same training session or over different days are possible, enabling a precise and convenient way to control and understand performance differences and evolution.

Training monitoring

Finally, the third part of our analysis, is the training monitoring and summary part. Here the webapp aggregates all measured strokes together. Summary tables display average stroke performance parameters for all measurements every recorded for a selected crew or a selected boat.

It is even possible to obtain an overall summary of all training sessions where the distance per stroke is shown, split into the different stroke rates. Coloring of the numbers will be according to the relative speed (relative prognostic). At a single glance it is possible to see when what training intensity and stroke rates were used and how the distance per stroke changes over time.

Screenshot of a fictive training summary

Note: for privacy reasons, the data shown above is completely fictional and does not reflect any coherent training schedule or strategy.

The (data) science of rowing analysis

Rowing is a very exact sport. That fact that it is cyclic and, compared to cross-country skiing, happens under very stable and constant conditions, allows for completely new ways of analyses. However, in order to do all of this, we need first to precisely compute speed and position and second to accurately detect strokes.

As for all sports we cover, the data from the inertial sensor (3D acceleration at 3D angular velocity, sampled at 200 Hz) is fused with the GNSS data (3D position and 3D speed, sampled at 10 Hz) and the barometric pressure (elevation, sampled at 10 Hz). A rowing-specific auto-calibration step virtually aligns the sensor with the boat's axes. This step removes any constraint on sensor placement and orientation while ensuring that all data will always be computed with the correct boat alignment (for example the sensor's (virtual) x-axis will always be aligned with the boat's longitudinal axis). In human movement analysis, this is called functional calibration. The interested reader finds more information here: https://doi.org/10.1371/journal.pone.0181446.

We detect the strokes based on the very characteristic boat acceleration pattern. For all boat classes, stroke rates, and speeds, there is a strong but short deceleration around the catch (the moment when the oar is inserted in the water at the beginning of the stroke). Once this deceleration phase is detected, the algorithm moves forwards until the first instant the acceleration becomes positive. This marks the end of the check phase (in rowing terminology) and we defined this to be the stroke start for all of our computation and displays. This is also the time when the boat's speed is minimum. This event is marked by the vertical black lines on the plot below.

Screenshot of the boat acceleration and speed curves

Now that all the ground-work is laid, computing all the other stroke parameters and generating the splits table and stroke pattern plot becomes "trivial".

To show you how precise we compute the boat's position I have generated the figure below. It shows the boat's trajectory (boat class M1X) for a section of a non-buoyed course. The horizontal x-axis (left - right) is the overall forwards axis and the vertical y-axis (top - down) the boat's perpendicular, sideways, axis. The small dots mark the stroke starts as defined above.

Graph showing the boat's trajectory

In an ideal world this line is straight. However, as we are not in an ideal world it is not straight. One can see here that during the first 300 m of the plot the boat moves about 0.75 m towards its right and then back again to "0" during the next 50 m. This is normal, as the boat was in a non-buoyed course. When one looks closer at the graph a very interesting smaller oscillation pattern can be seen: a snake-like pattern inside every stroke. This is a clear indication of a left/right asymmetry: force development does not happen exactly the same way at the left and right oar. As a consequence, the boat's course needs to be constantly corrected, resulting in an efficiency decrease.

While this is hard to see on the above graph, when I apply some tricks to straighten out the trajectory, the sideways deviation becomes clearly visible. It is generally less than ±2 cm but our system is precise enough to measure this.

Graph showing the boat's trajectory straightened out

I hope that this example convinces you of the accuracy and precision of our system and that you were able to gain some insights into our novel rowing performance analysis product.

Contact us if you'd like a demo and ask us more questions: