Tag Archives: rowing physics

Stroke Profile Continued

I have been trying to find some artificial stroke profiles that come close to simulate my measured acceleration on a 30 spm stroke (measured with Rowing in Motion). Then I did 4 quite coarse variations to that stroke profile and ran a simulation for 25 to 35 spm using those profiles. Here are the stroke profiles I used:

The stroke profiles used in the simulation

The stroke profiles used in the simulation

Simulating the power-velocity graphs for these strokes gives the following result:

Average Boat Speed vs Average Power Consumption

Average Boat Speed vs Average Power Consumption

So T3 is better than T2, T4 and T5 which are roughly equal, and all are better than T1. Again, we have to remember that these values depend on the catch angle and I need to rerun the simulation for a different catch angle, which I took at 63 degrees for this simulation.

Here is what CrewNerd check would give:

Crewnerd Check numbers

Crewnerd Check numbers

The actual check values in CrewNerd would be different, but I am using the equivalent formula, just scaled, that CrewNerd is using. Lower check is better, so we have roughly two situations:

  1. At lower stroke rates, T3, T4 and T5 are “best”, T2 is in the middle and “T1” is the worst
  2. At higher stroke rates T3 is the best, followed by T2, T4, T5 and T1

In conclusion, for this setting, CrewNerd Check factor would give the right feedback. If you would be able to reduce check at constant speed, you are probably moving to a more economic stroke profile.

The RIM Check metric has a similar name but is calculated differently:

RIM check vs average boat speed

RIM check vs average boat speed

So here, roughly, T2 is the best, followed by T3, then T1 and finally T4 and T5. Something weird is going on with T1. Looking at the stroke velocity plot at 30spm, it is clear:

Speed vs time for one stroke with T1 profile

Speed vs time for one stroke with T1 profile

I guess the simulation is not entirely realistic here around the catch (between 0 and 0.15 seconds in the graph). Such a profile is not realistic in a real boat.

Finally, I will look at RIM “stroke efficiency”:

RIM Stroke Efficiency vs Speed

RIM Stroke Efficiency vs Speed

Here, a higher value is better. So we have T1>T5>T4=T2>T3. This looks like the exact opposite of what we should get. This parameter depends a lot on the value of the minimum velocity.¬†For the stroke profiles I have chosen that minimum velocity is determined really by the force around and immediately after the catch. By “checking” the boat (meaning pushing hard on the footstretcher around the catch) we are making this a low value, which helps the parameter, which is a double integral of boat acceleration, so quite sensitive to calibration accuracies in the RIM app.

So it seems it will be better to look at RIM Check or CrewNerd check for live technique feedback in the boat.

Next, I am going to rerun the simulations looking at catch angle.


Updated the model

Triggered by the interesting discussions (https://forum.rowinginmotion.com/) and the availability of measured data, I have recently spent some time on updating my model.

It was never my intention to make a super detailed model that would be able to reproduce each and every speed and acceleration peak and valley from a measurement on a real rower. Instead, I wanted to make it just realistic enough to be able to play with the parameters and see how they effect rowing efficiency, in order to trigger some discussions about rowing technique and rowing style.

Here is the algorithm flow of my original model (see https://sanderroosendaal.wordpress.com/2010/07/13/calculating-a-single-stroke/):

The original algorithm to calculate one stroke

The original algorithm to calculate one stroke

The flaw was that the boat speed made a jump from finish to catch because in my model,

  1. the rower center of mass velocity at the finish was zero
  2. the rower center of mass velocity at the catch was dictated by the handle speed to generate the correct handle force

What happens in reality of course is that one places the blade a fraction of a second after one reverses the body CM velocity. There were two ways to improve this. First, I added some “generic” recovery profiles which would be able to simulate that fraction of a second as part of the recovery phase of the stroke.

Nothing wrong with that approach, except that it was difficult to calculate a recovery profile which generated the right “catch CM speed”, with the right stroke length and everything. I still have provisions for this in my software, so once I have some time I can start using this route.

For now, I have patched the algorithm on the “stroke” side. I added a “catch” phase at the beginning of it. Here is the revised algorithm:

Revised Algorithm

What I do is the following. During the catch phase I make 2 calculations:

  1. Accelerate rower Center of Mass without placing the blade, and calculate subsequent boat, crew velocities, oar angle, and some other parameters
  2. Calculate what the rower Center of Mass would be if he/she placed the blade at this moment in time

The blade is “placed” at the moment that these two velocities are equal (or, to be precise, at the moment that the velocity before placing the blade starts to exceed the velocity if the blade had been placed).

In rowing terms this moment of placing the blade would generate a beautiful V-shaped splash. Too early, you have a front splash and are stopping the boat. Too late and you are missing water and have a back splash.


The picture shows a typical stroke. So now I have continuous velocity profiles. I still have jumps in acceleration, where in a real system also the acceleration change would be smooth, but for the moment I consider it not necessary to make my model that realistic.

Of course I was interested to know if this improvement would invalidate any of my previous published results, so I reran all simulations of previous blog posts (and some more). I am happy to report that everything still holds.