ERG mode on Zwift =/= ERG mode on TR?

Hi all,

Does anyone know if Zwift’s ERG mode is “different” than TR’s ERG mode? I’m running a 2018 Wahoo Kickr with Favero Assioma pedals.

I just recently started riding in Zwift again and noticed more knee pain in ERG mode, I’ve never experienced that on TR. On top of that it feels much more like I’m pedaling through mud when I’m in Zwift versus TR.

Any advice appreciated, thank you!

seems the same to me, not sure how it would be any different?

1 Like

Yeah I don’t know if it’s just an issue with perception.

same gearing that you use on TR?

1 Like

Yep, same gearing. I do notice more dropouts from Zwift than with TR.

And you are using Power Match in both apps?

1 Like

There is an option which controls the trainer difficulty of the ERG mode in zwift with regards to simulating steep climbs.

That is not true. “Trainer Difficulty” has absolutely no impact on ERG mode in Zwift. It only impacts simulation mode.


I wasn’t aware Zwift has a power match feature. I do have the Kickr as the “controllable” while my Favero Assiomas as power, ERG mode is turned on.

1 Like

Yup, they don’t call it out, but pairing as you do, Z is using the pedals for power and adjusting the trainer, essentially like TR PowerMatch.

1 Like

Under same controllable trainer, matching same power meter, same gear and same target power???

If all of above are same, the only difference is resistance adjustment algorithm between Zwift and TR. The way how to get back to target power… guess…

1 Like

I’ve read comments from shared users that say they can tell the difference between how each app handles ERG. I can’t remember to many specifics, but some report like one over the other from a simple “feel” aspect.

I do think the effective implementation may well differ and lead to experience that also differs.

On my first FTP test on TR (coming from Zwift) I thought there was something wrong with ERG mode as wel.
I was focussing to much on the measured power.
Wanting the line to stay perfectly smooth and the indicator always green with the ball in the middle.
That ended up in a battle with me vs. ERG mode with a very fluctuating cadence/power as a result.
That made it so much harder.
Than after searching a bit I read to just let ERG mode do its thing (in TR) and focus on the cadence.

The power line is still not smooth but seeing other peoples training graphs I think thats pretty normal and Zwift smooths out the data somehow.

i find Zwift a lot slower to react than trainerroad when i do a group workout. Most of my Zwift riding is while doing a trainnerroad workout

They are different. Lets say the target wattage is x.
Erg mode is the computer telling the trainer to set resistance to x. The power meter also reports power to the computer, lets call that y. In an ideal world x=y. But that hardly ever happens, yes some is do to measuring at a different point in the drive train. In an ideal world pedals will always measure more power then the trainer as there are losses in power between the pedals and the trainer. But there is also variations in how the power meters and trainers pick up power. Power matching tries to get y to equal x by telling the trainer to set the power to z in the hopes that the power meter will read the watts it supposed to be aiming for.
TR currently seems to assume y (power read from power meter) and z (power trainer is set to) are different by a constant value. For example if the offset is 10 watts then when x=100 it will tell the trainer to hit 110 watts (z) and when x=200 then z=210. They assume the relationship is linear. But going by posts here of a fix they are making to tr it seems like they realized it is not linear and will be changed is some upcoming version.

All that is assuming steady cadence and power. If only it was that easy. At the start of an interval x goes from say 100 to 200. What happens to y? Well its definitely not a sudden jump cause people can’t do that. But it also not going to reach the target wattage and then be good. Maybe it overshoots. This means your interval could become harder then intended as you put out more watts. Or undershoots and makes it easier. Some of this is do to how erg mode works on the trainer but some also is from power match. If you overshoot maybe the computer will set z lower then your target which means you could undershoot which then the computer will set z higher then target leading to an overshoot (though hopefully not as bad as before) and could go for a bit. This could make erg mode seem much harder

That would be surprising. The erg mode control loop resides in the trainer, not the app. The app sets the mode, and sends a power demand; the trainer adjusts the load to get its power to the target.

The exception to this is if you are using a power meter as the source of the power: in this case, the app will add/substract a bias to its power demand, and in this condition there is a second control loop in the app that runs over the (inner) loop in the trainer.

1 Like

Generally correct. There are many methods than can be used to minimize the hunting on power demand changes (such as feeding a proportional signal in the controller, for control systems aficionados), but in general you will see the outer loop (the power-matching one) being a lot slower than the inner loop (the one in the trainer), to avoid the former causing an instability in the latter.

The power matching loop being slower doesn’t fully avoid instability as it has no insight into the feedback loop on the trainer. The power matching loop has to sample from both but the sampling could be at a bad moment leading to bad results

The idea is to have a lower gain. In first-order systems terms, that means a longer time constant - “slower”. This said, it must be interesting to do that bit - you are dealing with a whole array of trainers, all with different erg mode dynamics, and you need to accommodate them all. Unless you start doing detailed testing on each and adjust the gains for each, you need to go worst-case.

So you’re assuming the trainer is being sent a corrected target power number constantly and the calculations to judge what that offset should be for a particular user happens at a much longer time scale?

Though really it would need to look at the cadence and trainer target wattage and see what wattage the power meter gives as the offset wouldn’t just be from what wattage the trainer is set to but also what cadence you are doing. And really a third variable too as change in cadence would impact the offset too. (Though guessing you’d ignore a large change in cadence as erg mode on the trainer would be adjusting and just average a small change)