Riding with Wahoo KICKR isn't right...


(Scott Chapman) #1

I’ve ridden a few times with my Wahoo KICKR (which I’ve also used with other training software) and the experience it a little mixed.

It does a good job of controlling the resistance; when it gets harder when you climb, and easier on descents.

However speed is not accurate. I can keep my cadence the same on a climb for example and I can see my speed drop as resistance goes up. Both of those seem like the right behavior, HOWEVER my cadence didn’t change, and the speed that the KICKR is transmitting didn’t change (confirmed with garmin).

The simulation should be more realistic. It should be picking up speed from the KICKR and adjusting the resistance load of the trainer based on terrain, weight, and speed.

Anyone else experiencing this with their KICKR trainer?

Love the beta, keep up the great work guys!


(Tony Hocking ZHR) #2

Yes - interested to hear other opinions - I have the Kickr but nothing else to compare it to. When doing the 40km test I noted that in a couple of places the Kickr backed off the resistance on the downhills so even if I was trying to push I’d only get 100 or so Watts, which gave a strange effect. I also noted that on the Sharp corner on the downhill after Deliverance, pretty much everybody “hits the brakes” to make the corner. I for one still try to go as hard as I can as I have bno fear of road rash there, but my speed drops from 50kmh or so down to 40kmh, and the AI riders pretty much always overtake.

I guess there is a software overlay here that says you can’t rail it round the corners, so you have to slow down, and that modifies behaviour in the game irrespective of what’s coming off the Kickr. I’m guessing that’s what you’re seeing with the speed mismatches between Garmin (Kickr pure feed?) and the Zwift Sim speed.

I’ve noted that there is also a mismatch between the average power reported at the end of the ride in Zwift, and what Strava takes as a weighted power, usually 15/20% higher. Naturally I believe Strava to be correct…


(Noel Nunkovich *USMES*) #3

I don’t have a KICKR so I can’t be sure, but from what it sounds like I think you are misinterpreting what’s happening. Zwift doesn’t use speed from bike (or trainer) sensors. Your speed in-game, thus the speed reported both in the UI and in the final FIT file, is a function of your power output, your weight (currently 75 kg for all riders, but that will change eventually) and Zwift’s internal physics engine. In other words, Zwift uses your weight and power, crunches that together with it’s virtual gravity, wind conditions, road gradient, and whatever else to determine your speed in-game.


(Noel Nunkovich *USMES*) #4

@Tony - Note that “Weighted Power” in Strava is the same as “Normalized Power” everywhere else. That power is always higher because weighted/normalized power removes any 0 power numbers that are normally averaged in.


(Scott Chapman) #5

@noel with a smart trainer like KICKR you can vary everythingFor an accurate simulation they should be measuring speed against the riders weight and the terrain to determine what the wattage should be. thy can then set that to be the load for the trainer.

like I said other apps get it right, when you get to a hill you need to down shift. on zwift i stay in same gear same cadence and it reflects slower speed…

…not right…


(Noel Nunkovich *USMES*) #6

@Scott - That makes sense to me. You stay in the same gear, same cadence, thus same power output. Zwift’s physics engine is determining your in-game speed based on power, weight, in-game wind, and in-game climbing gradient. Presumably in-game air friction and who knows what else as well. If your power output stays constant and you start climbing a hill, your in-game speed should drop. If your power output stays constant and you start descending a hill, your speed should climb.

The difference here, I think, is that other apps work it from the reverse direction in a way. TrainerRoad, for instance, will set your your trainer to the target power desired at at any point in the workout. But TrainerRoad’s target power is just that: a target power. I don’t believe Zwift has the concept of a target power any more than the road does. You, the rider, determine your target power based on what you’re trying to do. Ride at a constant power output, and your speed will stay the same on the flats, drop on climbs, and rise on descents, for example. Want to keep the speed up on a climb? You have to generate more power. Think of Zwift the same way. Zwift at this point really is an emulation of riding in the real world, not a training package to help you hit a target power for a target duration. It will have that functionality eventually but right now it doesn’t.

What I’m not sure about is the resistance control. Maybe one of the other guys with KICKRs can chime in here and shed some light on the situation.


(Scott Chapman) #7

@noel - thanks for the response. I think you basically have the idea… But speed reflected by the trainer is VERY accurate. It knows about the revolution of the tire…

I’m just saying this is different that other simulators (BKOOL for example) and different than how my TACX trainer behaved when riding real-world videos.

THose behaved the same way; you get to a climb, the software would determine what resistance should be reflected in the trainer giving the input you were giving it (speed and power). THus if you wanted to maintain the same speed you would need to work harder.

In zwift, I get to a climb and it just reflects a slower speed. On my TACX when I got to a climb it would get really hard and I would need to down shift to find a gear that I could spin at the power I wanted to maintain for the climb. Just like you would do in the real world. How hard it would get would depend (as you suggest) on grade, rider weight, wind, tire pressure, clothing, shaved legs, etc… But the feedback to the trainer should be “how hard does it need to be to be doing this pace on this particular part of the road”.

TrainerRoad (and the Wahoo ergo mode) are just lab trainers where they are focusing on things like target speed, HR, power, whatever so those aren;t great examples.

Other real world riding simulators I think are better comparison.


(Noel Nunkovich *USMES*) #8

@Scott - I guess the problem from Zwift’s standpoint comes in from the multi-user side. If they were to use wheel speed from your KICKR, or from my Garmin SC-10, it would throw a pretty big potential wrench into the online competition thing. It would probably work fine if every user had a smart trainer but when they are trying to blend the users with dumb trainers, smart trainers, and rollers all together and allow semi-equal footing in terms of competition I can easily see where it would be problematic. As a for-instance, if you were sprinting with another rider and you were on your KICKR while he was on a pair of big Kreitler rollers there’d be a massive speed disparity. He could easily crank out 35 or 36 mph based on wheel speed with a set of 4.5" diameter rollers and no resistance. He’d win every sprint, every KOM and not even have to put much effort into it. I’m guessing that’s why Zwift elected to ignore speed inputs and develop the speed based on their own engine. Much easier to level the playing field across multiple types of trainers that way. There’s still plenty of room for fudging, or there will be at any rate, but all they can do is all they can do I guess.

From the standpoint of how that effects the control algorithms for smart trainers like yours, I’m not really certain. I can see where it would be difficult in ways the usual “real world simulation” software packages wouldn’t have to deal with because they mostly don’t have to worry about the competition aspect, so can develop power control settings exactly as you describe. It’s definitely an interesting question, at least for a software, bike, and data geek like me!


(Tony Hocking ZHR) #9

@Noel - I think I understand some of the subtleties, but clearly not all. The fundamental is that Zwift has to have a power reading from somewhere to work - so the guy on the rollers would have to have a power crank or hub etc - in the scenario you depict with very low resistanceon rollers he’d be putting out 150W say, and so Zwift would leave him far behind - which is why I understand your point that wheel speed is not a variable Zwift can use.

The sensation from the feedback of the algorithm in Zwift to the kickr however is that the Software seems to say “hmmm that’s the wattage you are carrying, so here is speed that maps onto that” rather than “hmmm, that’s the speed you’re carrying, here is the matching wattage for if you want to keep it up.” (apologies for anthropomorphism).

The road/air/friction in the real world tends to have the second conversation with your bike rather than the first I think?

The reason it feels strange is that I don’t find myself grabbing for low ratio gears when the road goes up, and I have to push hard and shift down quickly in order to see the acceleration I think I would see at the start of descents…

Would be interested in hearing more on how the trade-offs play-out across different trainers…


(Scott Chapman) #10

@tony - spot on.

I think for dumb trainers (ones without the ability to control the load) would have to adjust speed appropriately. Seems like a very reasonable way to work with them.

For trainers that can’t report power, often times there is a known “power profile” for the trainer which is, in fact, speed based. Again, it seems reasonable in this case (since you can’t control load) to also adjust speed appropriately.

But in the case of smart trainers, and there are more and more out there these days, it would make sense to leverage their capabilities to provide a realistic simulation.

Still, really enjoying Zwift, and looking forward to improvements going forward!

(anyone from zwift following this that can comment on what they intended and what we can expect in the future with respect to smart trainers?)

And thanks everyone!


(Mark Hudson) #11

Done two rides with the kickr and zwift. The first ride resistance varied with grade causing me to shift. Second time resistance stayed the same and I had to either increase rpm or shift to higher gear to increase power. I don’t think I did anything different. How do you set it to the first way?


(Scott Chapman) #12

In my opinion a better simulation (and would give better game play) would be to measure speed and calculate what the wattage should be (given physics) and adjust load to quite. Measuring wattage produced by the KICKR to make sure it measure what the physics says the wattage should be.


(Christian Wiedmann [X] 50) #13

@Mark - your second ride experience is a bug as far as I can tell. The computer can lose the connection with the Kickr and stop varying the resistance. Restarting Zwift seems to fix this.

@Scott - This is effectively what Zwift is doing, as far as I can tell. By using the Kickr’s simulation mode, in theory the resistance should match what’s required if all the parameters are set correctly. Zwift updates things like gradient and wind speed as they change. If Zwift were then to take the speed from the Kickr, you’d get exactly what you’re asking for.
The problem is if other people are riding dumb trainers, then the model that Zwift uses would have to generate the same numbers as what the Kickr generates to give fair competition. I think this is where the difficulty comes in. At least right now the competition is fair as long as the power measurement is accurate (which might be debated too).


(Scott Chapman) #14

@Christian-other simulators also work well with even with dumb trainers. Basically dumb trains have measurable profiles; you know how much power they require to maintain a specific speed. To they could be doing what I assume other software (bkool and perform studio come to mind).

Ziff is great, I love the concept. But the cycling mechanics being used creates an odd cycling experience IMHO


(Scott Chapman) #15

@mark try pressing A to get the connection page. You should be able to reconnect Kickr that way without restarting


(Christian Wiedmann [X] 50) #16

@Scott - yep - and as far as I can tell, they do plan to implement the power curves (see their announcement on ZPower). The thing is if Wahoo users are using Wahoo’s model and dumb trainer users are using Zwift’s model, you could get discrepancies.

As an example, I use another program (veloreality) that does simulated rides. It actually does use the Kickr’s speed except for downhill. When you get to more than -1% grade, it switches to using the power measurement in its own model - the same as Zwift is doing. Because the models are not exactly identical, my speed always changes under the same cadence when the model switch happens. My speed will drop from 27 mph to 25 mph at the same power output, for example.

Of course this might be moot since the dumb trainer power curves are notoriously inaccurate. My impression is they’re good enough to compare against themselves, but judging by reports of people who’ve compared against power meters the calculated power can be greatly different than the real numbers (like 30% or more).

I actually agree with you that it would feel much better to have the trainer speed be used in the simulation. I just am trying to rationalize why they would not want to do that. Hopefully they’ll give the option of doing it in the future.