Posts

Showing posts with the label GoldenCheetah

testing the total climbing algorithm

Image
On Sunday I did the following ride. I'd like to say this sort of thing is typical but sadly it was the longest ride I'd done in at least 5 weeks. New job and a tendency toward Sunday rain around here has kept me from getting in any long ones lately: I imported my Edge 500 data into GoldenCheetah , exported CSV, and ran it through my algorithm. As a test, I varied the climbing threshold from 1 meter to 100 meters. Here's the the result: Clearly, there's no "correct" answer, no unique value of total climbing. We generally agree if I make 100 different cycling computers and each measure distance, they should agree within, for example, 0.1% if perfectly calibrated. Sure, there's issues of whether they measure the distance traversed by the handlebars or by the tire-road contact patch if the bike banks into corners. But these are minor differences. However, with "total climbing", assuming you don't want to measure every vibration...

CP model parameters from maximal power curve: introduction

Image
The critical power model is a very simple approach to estimating the amount of power one can produce in a given activity for different durations. For example in my experience it is most often applied to cycling. What I describe here I implemented in GoldenCheetah , an open source power data management program written in C++. The model's assumption is there are two components to power: an anaerobic work component: The body has a certain amount of anaerbic fuel which it can use to produce power. Spending that fuel in a short time results in more average power, spending it over more time results in less average power. For steady anaerobic power, the product of the power and the duration it can be sustained equals the anaeronic work capacity (AWC) for the given individual at the given time. aerobic power: In addition to anaerobic power, there is a certain amount of "aerobic" power which can be sustained indefinitely. Obviously this model breaks down at both short an...

hacking

Image
I'm a bit better than I was yesterday, but still generally out of commission. I drowned my personal sorrows in my sorry physical state by hacking GoldenCheetah , a great project for managing power meter data. GoldenCheetah has been around for several years, but thanks to a recent infusion of excellent contributions from Ned Harding, it's finally become for me a useful tool. I decided to dive in and try to implement a critical power model extraction technique I've been thinking about. The critical power model says a rider can produce a given level of "aerobic" power (the "critical power", or CP) forever, but additionally has a fixed budged of "anaerobic work" capacity (AWC) which can be spent as extra power. The shorter the total effort during which the anaerobic work is spent, the higher the average power during that period. For such a simple model, it seems to work fairly well. Power-based training isn't typically based on the critica...

Powertap raw data format change

Image
Powertap's gone ANT+ Sport. So when I sent Saris my previous head unit for replacement when it magically stopped functioning, they send me one with ANT+ Sport enabled firmware. All good: the firmware is still compatible with old hubs. But when I cranked up my venerable GoldenCheetah ptdl and ptunpk command line utilities to download and decode the data, they spit it back out. Saris had changed the "raw" file format. I reported this to the GoldenCheetah user's list . Curiously, my report was the same day Ned Harding reported the same problem (this time in the context of a Windows version of the code. Windows is a virus my system doesn't have: I run Ubuntu 8.10. One month until 9.04 ! Hold you're breath. There's always issues with "upgrades".). The same day, Ned was able to reverse engineer the new binary format, and posted a patch. Wow. I consider myself a coding hack, but when guys who really know what they're doing show their ...