Stryd power on treadmill with incline/runcline workout export

When using Stryd on a treadmill with incline, the power readings are not correct since Stryd only measures power for flat surfaces and cannot detect incline. It is therefore necessary to calculate the correct power, taking incline into account. There are several solutions to this issue. One option is to utilize the Stryd mobile app during a treadmill run. However, this requires a subscription and does not record heart rate data.

Another alternative is to use the Stryd workout app on a Garmin device and manually adjust the incline. While this method allows for structured workouts, manually pressing buttons on both the watch and treadmill to adjust incline during intervals can be cumbersome, especially during workouts with frequent incline changes and high heart rate.

A third and more promising option is to utilize a platform like Runcline. Runcline can calculate accurate power provided that incline is entered into the app and incline adjustments are made on the treadmill (for basic treadmills). It also supports defining a workout with incline settings for each step. However, Runcline uses its own format for workouts, known as a “workout string”. For example, “3x(90”@4:30/km@3% + 4’@80%) + 1km@300w + 2mi@9:00/mi", which means: 3 times (90 sec at 4:30/km with 3% incline and 4 min at 80% CP/FTP with 0% incline) followed by 1km at 300 watts and 2 miles at 9:00/mile. (See RunCline)

Is it possible for Intervals.icu to export workouts in this format? This would streamline the workflow significantly, providing a smoother experience for users. To allow for this, intervals.icu would have to be extended with support for setting incline for each step in a run workout.

I would love to be able to support this. I have a stryd myself but I do not have and do not have access to a treadmill. So, I’ve not been able to get to Breakaway to also support Smart Treadmills.

Do you have a Smart Treadmill?

As you’ve stated, Stryd calc power based on flat surfaces and the power will change based on incline. If I know how this is being calculated, then I possibly can implement this as well. (Note: BreakAway already supports sending SLOPE (incline) based bike workouts to Smart Bike Trainers using Intervals.icu workout builder)

I don’t have a smart treadmill. So I still have to manually pay attention to the workout and adjust the incline on the treadmill. But with app support for calculating the actual power would be tremendous help.

I suspect that Runcline and the Stryd Mobile app perform certain physics calculations. Don’t know how.

So if Breakaway could function as a workout runner for treadmill activities (similar to bike activities), and display target watt/speed and incline, it would greatly assist me in conducting the workout. This feature would save me the hassle of manually adjusting settings on my Garmin. For users with a smart treadmill, having the app automatically adjust the incline would be fantastic (similar to what Runcline offers).

1 Like

I wonder if it’s just plain physics to do the compensation?

I mean say, Stryd Power = 100w on flat, then you apply say 5% incline and thus the “new” power becomes
NewPower = StrydFlatPower * gravity * slope * weight

(I’m using this sort of calculation to convert instant power to instant speed up a slope)

Would you have some reference data which I could look at? To check the math.

Stryd is using secret sauce for graded power. Or at least they won’t share their source model.

Angus at Stryd recommended generating your own curves for power vs incline since they are “proprietary “.

Set the treadmill flat and cycle through the various incline percentages at various speeds.

1 Like

What about this post? The link from Alan

1 Like

figured it would be something like that since Stryd is math and not strain gauge.

So the question remains, What’s RunCline power data as compared to that of Stryd Treadmill mode?

From the Alan Couzen Link:

                weight = $('#weight').val();
                dist = $('#dist').val();
                gain = $('#gain').val();
                hrs = $('#hrs').val();
                minute = $('#min').val();
                sec = $('#sec').val();
                ftp = $('#ftp').val();
                minutes = (hrs*60) + parseInt(minute) + (sec/60);
                pace = minutes/dist;
                speed = (dist/(minutes/60)).toFixed(2);
                VO2R = 210/pace;
                VO2A = (VO2R * weight)/1000;
                HWatts = (75 * VO2A);
                VWatts = ((9.8*weight) * (gain))/(minutes*60);
                Watts = Math.round(HWatts + VWatts);

seems like vWatts = vertical power watts using physics

Here’s what I do for indoor treadmill runs with elevation/Stryd

  1. Use Stryd mobile app to start run / control incline. This is free, no subscription. Any changes in incline is done via the mobile app.

  2. In parallel, use Garmin watch, “Treadmill”, to record run. Power fields are enabled and HR monitor is connected to watch. The power on the watch will be incorrect since it doesn’t take into account elevation.

Once done, both workouts(Stryd / Garmin Connect) are uploaded to PowerCenter (Stryd). I download both FIT files, and combine them with gotoes.org…only select 1 of the distances or you’ll get 2x distance…import the TCX into ICU…

Only thing I adjust in ICU is the total elevation gained since I don’t pay for the Gotoes premium…otherwise you could probably just do it all when you’re combining them. I’ve tried to link activity below.

You might like this paper. (It’s available at greysite repositories)
https://www.researchgate.net/publication/341654077_Running_power_meters_and_theoretical_models_based_on_laws_of_physics_Effects_of_environments_and_running_conditions

Skiba’s equation for slope was the basis of comparison in the paper. See page 5 for the equation for Ci. Stryd has an >0.9 Rsquare in regressions against Skiba’s value. Leads me to believe Stryd is using Minetti (2002) in realtime.

And here’s what Skiba is using, Minetti 2002:

2 Likes

I asked the author of Runcline and this is his answer:

What I did is I used the Stryd app to see how the power was increased when I was changing the incline while running on my treadmill at a constant speed. I used Excel to create a regression curve to fit the points. As simple as that. Steyd does not use gravity nor speed. Just incline. I don’t know their equation exactly. For me, I traced curves at different speed and incline and that’s what RunCline uses.

1 Like

Great! this is what @GarageLab alluded to in his post as well.
Too bad I don’t have a treadmill to do any of these else i can get BreakAway to do the same and output incline compensated power.

@Mark_Benyak thanks for linking our activity, too bad I (no one else) can access it as it’s not public. (that’s how intervals.icu link works. only your followers can access it. it’s something like strava followers only)

If you have a Garmin watch why don’t you just use the IQ connect stryd app? You can set the incline on the watch app and have the power values take into account the incline setting.

Hi @Mark_Benyak, could I trouble you for the FIT files from the Garmin and the Stryd Mobile app? I would like to see how it matches up / how to get the “incline” power.

I’ve made good progress on getting Stryd supported in my BreakAway App. the typical stryd data like Leg Spring Stiffness / Temperature / Form Power / Vert Osc is now written to the FIT file and It is also accepted when uploaded to Both Garmin Connect and Stryd Powercenter and seems to show properly.

I can’t get AirPower data, either it’s not being reported by the Pod or it’s being calculated after within the App and I’ve no idea how to get this. (but since I’m focusing on indoor Treadmill runs, Air Power Data is moot anyways = 0w)

Next is to try to work out how to get Incline Power. Since Stryd is not publishing their equation and @Knut_Petter_Svendsen’s question to runcline author just states that he uses regression, the NUmbers from RunCline and Stryd App would differ. Not sure how much would the difference be. (how much different would matter?)

@app4g I’m willing to assist in conducting the experiment using Stryd on my treadmill to reverse-engineer Runcline’s approach for power calculation in his RunCline software - or I could use the Stryd mobile app in treadmill mode. We can choose whichever you think is best for obtaining the most accurate numbers.

I wonder if relying solely on regression analysis with a constant speed and varying incline might not capture the entire complexity of the relationship between incline and power output during running. Perhaps we could improve the method by incorporating different running speeds into the experiment?

We could start with a range of speeds from a comfortable jogging pace to a moderate running pace, and inclines from 0% (flat) to the maximum incline achievable on the treadmill.

We could increment speeds by 1 km/h and inclines by 1% for each data point. This approach would provide us with a range of data to analyze the relationship between incline and power output more accurately. What do you think?

Maybe something like this?

Speed (km/h) Incline (%) Power Adjusted for Incline
8 0
8 1
8 2
… …
10 0
10 1
10 2
… …
12 0
12 1
12 2
… …

You don’t even need to adjust the treadmill incline while running, since the app does the adjustment. Simply adjust the incline in the app and let the power change and cycle through the inclines of interest.

….Id actually prefer to NOT adjust the treadmill incline and only adjust speed so we can see changes from the app incline only and not any other changes due to running speed, etc.

1 Like

@app4g I plan to conduct a thorough experiment using the Stryd device and the Stryd mobile app in treadmill mode, following the suggested approach of testing various speeds and inclines. However, for amusement, I decided to explore Runcline’s “virtualpod” feature and generated a table for speeds ranging from 1 to 22 and inclines from 0 to 10. Analyzing this data with ChatGPT, we determined that a quadratic model was considered the best fit for the dataset due to its improved performance compared to the linear model. The coefficients of the quadratic model were determined as follows:

Adjusted Power = 0.635 * Speed^2 + 1.45 * Speed + 20.2 * Incline - 19.4

This choice was made after observing that the quadratic model provided a better fit to the data, resulting in a lower mean absolute deviation of 5.2 watts and a mean relative deviation of 2.3% when compared to the actual power values. Additionally, specific data points with the largest deviations were analyzed, highlighting areas where the model may have limitations due to non-linear relationships or measurement inaccuracies. Despite these limitations, the quadratic model demonstrated reliable predictions for the majority of cases within the dataset. I can provide you with the full table of measured data, or you can simply use the formula as a starting point for development until we have conducted a proper experiment.

Would you consider sharing the data for everything after you collect it? A second opinion for ChatGPT?

Have you plotted the equations of Minetti (2002) to have a baseline of curves to compare to?

@GarageLab sure: stryd_regression

3 Likes

Thanks!