Sunday 7 February 2021

Real life speeds versus virtual cycling speeds


Comparison of RGT Cycling virtual speeds versus real life cycling speeds
I like the RGT Cycling virtual cycling app.  Unlike Zwift, it has a neat feature that allows you to create 'magic roads', which are virtual roads created from real road GPX data.  Anybody can upload GPX data to create a magic road.

This allows you to ride real roads inside RGT Cycling, so either local roads that you've ridden already, or famous roads that you'd like to ride (created by other people).

In this time of COVID-19 restrictions, it means that virtual races can be organised on real racing circuits, which is pretty cool.  Somebody else has already uploaded my local Odd Down Cycle Racing Circuit to the website.  Virtual races are being organised by PDQ Cycle Coaching, the guys that organised the real life races I did back in 2019.

Odd Down Cycle Circuit
The Odd Down Cycle Circuit is located near Bath, in the South West of England.  It's a 1-mile circuit, with very mild elevation changes and a couple of hairpins that can be taken at speeds below about 20-25 mph.

RGT Cycling also prides itself on providing a realistic virtual cycling simulation, which is something I like.  They strive to get the modelling accurate and the app includes features like braking and speed limits around tight corners, which is something that's different to Zwift, for example.

I thought it would be interesting to compare my real life cycling speeds around the Odd Down Circuit with the virtual speeds achieved in RGT Cycling.

Real life speeds

PDQ Cycle Coaching Odd Down 4th Cat Race 2019
I extracted speeds from three races I did in Spring/Summer of 2019.  I only extracted speed from the warm up laps, not the races themselves, so that the speed would not be subject to drafting.  The average power during these warm ups varied from about 150W to 260W.  I usually do a ramp-type warm up, with the power held constant for 2-3 minutes at a time before increasing it. Therefore, most of the warm-up laps were done at roughly constant power.

The data from three separate warm ups (three different days) allowed some checking of the influence of external weather conditions, which would affect average speeds.  Lap speeds were obtained from Strava for the one-lap segment that has been created in Strava.  Results are shown below with blue symbols.

Comparison of RGT Cycling virtual speeds versus real life cycling speeds

I also wanted to check my CdA because any speed discrepancies with RGT could be due to different CdA assumptions by RGT.  I estimated my CdA by loading my warm up GPX data into Golden Cheetah and using the Aerolab Chung method virtual elevation plots to determine CdA.  My CdA could be estimated for two of the three warm ups, and was 0.360 and 0.375 m^2 for those two warm ups.  I had to make some assumptions/guesses about the rolling resistance coefficient (CRR=0.004), the drivetrain efficiency (97%), my total weight (80kg) and the air density (1.2 kg/m3).  It's worth noting that my warm up laps were done on the hoods, with fairly straight arms, whereas my RGT avatar drops into a more aerodynamic horizontal forearm position when speeds are above about 25 kph (15 mph), which is most of the lap. 

RGT Virtual Speeds

RGT Cycling Odd Down
I rode the Odd Down Circuit in RGT Cycling on Saturday 6th Feb 2021, selecting no bots, so that my riding would be solo, with no drafting.  The speeds were measured in the same way, using a Strava segment, and are shown with the red symbols on the plot above.  The RGT ride was also loaded into Golden Cheetah, making similar assumptions about CRR=0.004, drivetrain efficiency (97%), weight (80 kg) and air density (1.2 kg/m3).  This gave a CdA value of 0.285, which is quite a lot smaller that my real life CdA of 0.360-0.375.  Incidentally, I saw a tweet from Robert Chung a while ago, saying that he had found that Zwift also assumes a rather optimistic CdA of 0.28.

Differences and possible reasons

The general agreement in the plot above seems to be not too bad on the face of it, but it's not great either.  The RGT speeds are approximately 1-2 mph higher, and this I think comes primarily from the lower CdA assumed by RGT.  The difference of CdA, 0.285 in RGT versus 0.370 in real life, is quite significant.  That difference would result in a speed difference of 1mph at 250W, or about 30W at a fixed speed.

Of course, RGT is not trying to simulate me personally, and it has no idea how aerodynamic my bike and body combination is, or was during those warm ups.  It's worth bearing in mind that my warm up laps were done on the hoods with fairly straight arms, so that position will be less aerodynamic than what RGT is assuming.  I also wasn't wearing a skinsuit, and hadn't shaved my legs, both of which the RGT avatar has.  These are differences that Specialized have shown in their videos have a significant effect on aerodynamic efficiency.

It's also worth noting that I used the same power meter for all rides, including indoor RGT ride, so there should not be a bias coming from using different power meters.  It is possible that my left crank only power meter is slightly over-estimating my power, and there is some evidence of this based on recent testing.  An over-estimated power would result in RGT speeds that are higher than real life, and could also partially account for the different apparent CdA values. 

Overall though, I think the differences are primarily coming from the different riding position that RGT is assuming (horizontal forearms), relative to the position I adopted during my real life warm ups (almost straight arms, more upright torso).  Wind tunnel test performed by Aerocoach in 2019 showed that dropping the elbows into a horizontal forearm position ('breakaway hoods') significantly reduced Xavier Disley's CdA from 0.3506 m^2 to 0.2718 m^2.  This reduction of around 0.08 m^2 is very similar to the CdA differences extracted from my RGT ride and my real life rides, for similar changes in position.  Therefore, I conclude that the RGT cycling simulation is accurate, once you factor in the cycling positions that are assumed and adopted by the RGT avatar.

Besides this quantitative comparison of speeds, there is a qualitative element too, particularly around the cornering.  I found the RGT simulation of corners to be fairly realistic.  In real races, I usually have to brake for the hairpins due to the concertina effects when riding in the bunch.  During warm ups or solo breakaways, though, I often don't need to brake.  I remember holding about 280W during one solo breakaway and not needing to brake, although that was very close to the limit.  In RGT, the same thing happened, with just a momentary 1-2 seconds of braking before the bottom hairpin during the laps at 270W.  Qualitatively, this seemed to agree with real life, although it's difficult to be too conclusive.


All in all, I'd say that the RGT simulation is a realistic simulation of real life riding around my local Odd Down Cycle Circuit.  Where differences exist, I think there are some plausible explanations for what might be causing those discrepancies.