Wednesday, August 14, 2013

Proposed Pedal Stroke Smoothness Algorithm for Garmin Vector

In anticipation of the release of the Garmin Vector, or perhaps the Rotor Flow, Garmin added a pedalstroke quality field to its Edge-series head units in the recent firmware update. But consistent with the Vector-team's approach to not release anything which they won't stand behind, on the first public release of the Vector power meter, that field remains unpopulated.

It's an interesting question about how important pedal technique actually is. I think most cyclists think if they can pedal in a smoother, more uniform fashion, their cycling will improve. This has been difficult to demonstrate in the laboratory, however. For example, a recent work by Arkesteijn, et al, used force-feedback to encourage riders to pull up more on the upstroke. This worked, improving the uniformity of force application around the pedal stroke, but gross energy efficiency of their cycling failed to improve. On the other hand, it appeared the smoother pedaling increased the ability of the cyclists to resist fatigue, preserving a greater fraction of peak power during extended pedaling. Gross efficiency is easily overestimated: it's the ability to produce near-maximal power which is more important in bike racing.

But there has been interest in the subject for decades. By at least the 1980's (Burke, Cycling Science) there was proposed the concept of a "force efficiency" metric for pedal stroke. The idea was you wanted to push in the direction of pedal motion, and only that direction. The metric is calculated as the average propulsive force divided by the average total force.

But this is silly. If I go from seated to standing, I transfer a force close to M×g from the saddle to the pedals. This will tank my pedal efficiency, but there's no indication it should reduce metabolic efficiency. Standing is a relatively energy-efficient process. And indeed, the literature has continually failed to show a direct correlation between force efficiency and metabolic efficiency.

Another metric has been proposed: the "Dead Center size" (DC). This is computed as follows:

DC = (power @ top of pedal stroke + power @ bottom of pedal stroke) / (2 × average power over pedalstroke).

This is also silly. What's so special about the top and bottom of the pedal stroke? It's possible a pedal stroke could be horribly non-uniform, but the average "dead center" power just happens to match the average power.

An alternative is to, instead of trying to pick the top and bottom of the pedal stroke, to use the minimum power in the pedal stroke. This metric is:

smoothness = minimum power during pedal stroke / average power during pedal stroke.

But this is also silly. Imagine I am pedaling at 90 rpm, which is one pedal stroke per 667 msec. I pedal at constant power for 666 msec, then for 1 msec I apply zero power. Is this a zero uniformity score? Hardly: my pedal stroke is close to perfect, closer to perfect than any human can achieve.

So I propose an alternate metric. It's not new: it's a simple derivative of the one Andrew Coggan has been applying to ride data for more than 10 years.

The idea is to assign a "cost function" to a pedal stroke at a given point in time, then to compare the cost function of an optimal pedal stroke at that power to the cost function of an actual pedal stroke.

For example, Coggan likes to use wattage to the 4th power as a "cost function" in calculating his "normalized power". That seems like it would work perfectly fine. The difference is in normalized power, the data are smoothed with a time constant on order 30 seconds. For calculating a pedal stroke uniformity metric, obviously that sort of smoothing would essentially kill any nonuniformity. So if smoothing is explicitly applied, it would need to be to a much shorter time constant. Typical measurement systems already have smoothing in place, implicit or explicit, so additional smoothing may not be needed.

So given this, a metric which represents the smoothness of power would be the following:

smoothness = fourth power of the average watts / average of the fourth power of watts (warning: I modify this later).

Note a nice feature of this is that if I apply negative watts, there's a positive cost for this. On a typical bicycle this represent eccentric work. Eccentric work is generally considered to be fatiguing, so it makes sense that it be assigned a "cost".

The obvious question if you're Vector is if this sort of metric should be applied to the combined L+R power data, or should be applied to each pedal separately. Obviously even a perfectly uniform pedalstroke from a total power standpoint may have regions where the L leg dominates and regions where the R leg dominates, yielding nonuniformities. From the normalized power perspective, total power is used, because the cardiovascular system is shared by the two legs. But from a pedal uniformity perspective, perhaps the emphasis is on individual muscle loading, which would imply doing the legs separately makes more sense. With this reasoning, you'd have two scores: one for the left foot, one for the right foot. If you wanted a single result, then, you could average the two, weighting by each leg's power production. The weighting is important so if you pedal one-legged you get a meaningful result: the efficiency will be 100% from the pedaling leg.

The downside of the individual-leg approach: suppose I'm pedaling seated with a given force-versus-angle relationship. When a given pedal is on the upstroke, I'm applying close to zero force, and the power associated with that side is close to zero. Now I stand, and continue pedaling in a similar fashion, except I've added roughly half my body weight to each pedal, downward. Now during the upstroke of each foot there is a considerable downward force, so that foot is doing negative power. This is exactly canceled by an increase in power of the foot on the downstroke. It is obvious that each single-leg smoothness value will thus fall considerably. Yet my assertion was that the smoothness shouldn't be destroyed by going from a seated to a standing position, since the simple act of supporting weight on legs isn't metabolically expensive. However, if total power is used, that need not be affected by whether the rider is standing or sitting. So perhaps using total power is better after all.

But I'm not sure. The reason is there's a fundamental difference between supporting body weight with your bones and pushing body weight from a seated position with your muscles. So until we start riding with EMG probes attached to our legs, crude compromises need to be made. But if it was me, I'd try both approaches, and see which seems to work better.

Power to the 4th power is just one cost function. I could imagine others. For example, suppose I asserted that for small powers, the uniformity was less important. After all, if a leg is alternating between 0 and 20% FTP that variability may be less important than if it is alternating between 0 and 200% FTP. So I could make my "cost function" a function of FTP. Consistent with my assertion negative powers should incur a significant cost, a cost function meeting these needs would be:

cost function = cosh(K P / FTP).
for some K.

But I don't like this, since it's always a question what "FTP" or K should be. Keep it simple. So I'll stick with P4.

I wrote a little Perl script to test this. I assumed that power varied sinusoidally about a mean value, the variation with an amplitude varying between 0% and 200% of the mean. With the amplitude greater than the mean, there were portions of negative power during the pedal stroke. An amplitude of at least the mean power is realistic for total power, since power delivered with one foot at the top and the other at the bottom of the pedal stroke is generally much less than the peak power when the feet are at 3 and 9 o'clock.

Based on initial results, pedal uniformity metrics were very low. Depressing. So consistent with the DC metric, I did a reverse transform to convert the numerator and denominator to units power. This is what Coggan does, anyway, with the variability index, which is the reciprical of my smoothness metric.


smoothness = abs(average power) / (average of 4th power of power)1/4..

For the sinusoidal variation, the result can be calculared analytically

smoothness = 1 / ( 1 + 3 a2 + (3/8) a4 )1/4

which for a = 1 (pedal stroke force varies between 0 and twice the average) yields 69%, as shown in the following plot:


Here's some old data from the Metrigear days (courtesy Cozy Beehive) showing pedal force versus angle:

Great stuff. Anyway, you see the force varies similar to a=1. So 69% would be a fairly good number.

Of course Vector is best-positioned of all the power meters current sold to deliver this sort of metric to Edge head unit (Polar Look not using ANT+), since it measures the force "at the source", as they say.

Some References:

  1. M. Arkesteijn, J. Hopker, S. A. Jobson, L. Passfield; The Effect of Turbo Trainer Cycling on Pedalling Technique and Cycling Efficiency; Int J Sports Med, 2012: link
  2. Leirdal S, Ettema G. Pedaling technique and energy cost in cycling. Med Sci Sports Exerc. 2011 Apr;43(4):701-5. doi: 10.1249/MSS.0b013e3181f6b7ea. PubMed PMID: 20798659: link
  3. Theurel J, Crepin M, Foissac M, Temprado JJ. Effects of different pedalling techniques on muscle fatigue and mechanical efficiency during prolonged cycling. Scand J Med Sci Sports. 2012 Dec;22(6):714-21. doi:10.1111/j.1600-0838.2011.01313.x. Epub 2011 Apr 21. PubMed PMID: 21507064: link
  4. European Journal of Applied Physiology December 2011, Volume 111, Issue 12, pp 2885-2893, The relationship between cadence, pedalling technique and gross efficiency in cycling; Stig Leirdal, Gertjan Ettema: link

1 comment:

Matt Redmond said...

Insightful, and well sourced. Thanks for this writeup!