1:45 pace


2:15 pace


2:00 pace

Crap-shoot modeling

I published a crap-shoot lactate kinetics model on my training blog.

“Pull” vs “Push” Recovery – some thoughts

I was triggered to look again at my recovery profile calculations by the discussion on Ben Redman’s blog, with a reference to this article on the Rowing in Motion website. Basically, the thinking is that by optimizing the recovery profile and trying to accelerate on the slide as long as possible during the recovery (by “pulling on the footstretcher”) one can gain speed, as opposed to decelerating early and approaching the catch slower (“pushing on the footstretcher”). There seems to be some empirical evidence from Kleshnev (RBN 140) that “Olympic champions” have a more pronounced boat deceleration at the catch and a later point in the recovery where the boat acceleration becomes negative.

I did some simulations at 30spm using a three different (quite extreme) recovery profiles. In the following plots the red curve is the (measurable) boat velocity, the green curve is the crew velocity and the blue curve is the velocity of the center of mass. The stroke force profile is the same in all three simulations.

Recovery 1: Boat, crew and system speed

Recovery 2: Boat, crew and system speed

Recovery 1: Boat, crew and system speed

Recovery 3: Boat, crew and system speed

Recovery 1: Boat, crew and system speed

Recovery 1: Boat, crew and system speed

In all three cases, we achieved the following results (for a single sculler of 80kg rowing in a 14kg boat with a fairly conservative rigging):

Average speed achieved: 4.70 m/s (in rowing terms a 1:46.3 pace)
Average stroke power: 490W

At constant stroke rate and with a similar average speed, there isn’t much variation possible in the recovery style. One simply has to return the handles form the finish position to the catch position in a given amount of time. At constant stroke length, the average handle speed will be a given. So either you “pull” a bit more in the beginning and then cruise, or you pull less in the beginning of the recovery and keep pulling. You can see that there is not much difference in the blue curves for the center of mass. The speed decrease is caused by the drag force on the hull, which is higher at higher boat speed, but as the average recovery speed is a given, the average boat speed is also a given, and even though we are dealing with a non-linear system, the differences are negligible.

The Rowing in Motion article gives this picture (admittedly, in the comments warning that it is “for illustration purposes only”):

It is very tempting to use hand-waving arguments based on feel in discussions on rowing physics.You have to realize though that a quick illustration as the one above can never be accurate. For example, the graph clearly doesn’t show steady state, as the boat speed is 1 m/s higher at the end of the stroke. I am also wondering, if you would calculate a speed profile for the rower that would produce these two curves, if you would arrive at the same stroke length. Are we comparing apples and pears?

You have to keep thinking about underlying principles, about whether or not something is significant, and about whether or not there is an alternative explanation for something that is “found” empirically. In RBN 140, Kleshnev discusses some very interesting observations, but I think more studies will be necessary to figure out exactly if (and how) this contributes to the boat speed of Olympic rowers. We may even have cause and effect in the wrong order. Those Olympians also tend to be the ones able to row longer at higher power and stroke rates. There may also be differences in stroke length and posture benefiting boat speed which cause the features described in the Kleshnev paper.

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.