Making and Modifying RLVs

Tacx Training Software

Moderators: nzuraw, mcorn

eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

Hi Folks,

I'm completely new to the virtual ride community. Seems like this is the best forum on the web for this stuff. Sorry if its not wanted here. If so can anyone point me to a better place to discuss this stuff?

I use golden cheetah to 'ride' rlvs. I'm a fan of free and open source. I recently was given a few old tacx dvds and thought I'd give them a go.

The tacx rlv only have a distance/slope map and a distance/frame map, which isn't so satisfying for me.

I created a gpx for a ride by consolidating strava rides which means I can now see my route when I'm done, as if I'd ridden it with strava. I also added a kinetic energy model to golden cheetah so the climbs are now properly difficult.

What is bothering me now is that the tacx video has gaps and the 'tacx distance' doesn't map to reality which cause the videos to fall out of sync.

What I need is something to create rlvs.

I've seen references to "RLV Studio" and "RLV Workbench" but the sites seem to be gone now.

I played with some route editor from cyclops for a whole day but it was hugely frustrating.

Finally I just wrote a small command line program to rewrite existing rlvs distance/video mapping. I give it a set of points that I consider facts: <distance, video time> and it interpolates all the points in the rlv so my facts become true. The benefit of this over a simple linear interpolate is that it retains the relative speed of the recording vehicle between the fact points.

For the tacx gavia ride I was able to bring it into sync with 21 points. I don't know that it needed 21 but I put a mark at all the places where I'd care if it was out of sync. Nothing bursts your bubble like seeing a steep climb but the trainer thinks youre descending.

At this point when I want to try a new ride I must creating a gpx for the route then repair the video sync so it works for me. I'd love it if someone had already done this. Has anyone done this?

Those old crufty tacx videos are fine, its just all the auxiliary data isn't so great.
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

eri wrote: Wed Dec 25, 2019 12:41 am Those old crufty tacx videos are fine, its just all the auxiliary data isn't so great.
Not sure what specific videos you are referring to. There are some very old videos used with early versions of the older Fortius and subsequent TTS1 and TTS2 software that were more basic. Things improved a lot later.

You may find that making videos is a heck of a lot of work.
Michael Corn
Bellingham, Washington, USA
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

mcorn wrote: Wed Dec 25, 2019 3:50 pm
eri wrote: Wed Dec 25, 2019 12:41 am Those old crufty tacx videos are fine, its just all the auxiliary data isn't so great.
Not sure what specific videos you are referring to. There are some very old videos used with early versions of the older Fortius and subsequent TTS1 and TTS2 software that were more basic. Things improved a lot later.

You may find that making videos is a heck of a lot of work.
I started with the rlv from alucard: http://rlv-alucard.de/rlvs.htm

His are great because he recorded the gpx when he made the video so all the data agrees.

The older tacx dvds that I have don't match reality. The dvd I'm using now is Giro Del Mortirolo from tacx.

I'm not talking about making a new video but adapting older tacx video to work as a more 'modern' virtual ride simulation, like when you're done you could upload your ride to strava.

The tacx files for the a consist of an rlv (distance to video frame mapping), a pgmf (distance to slope mapping) and an avi (video).

I'm replacing the pgmf with my own gpx (gps route file) and rejiggering the rlv so the distance->video mapping matches the gpx. Seems to work well at that point and lets me ride the actual gavia pass instead of something a bit too short.
User avatar
wilf
First Bike with trainer wheels
First Bike with trainer wheels
Posts: 69
Joined: Fri Nov 29, 2019 11:59 pm
Location: Hamburg, Germany
USER_FLAG: Germany
Contact:

In addition to the free RLV from Darius (rlv-stormarn.de - no longer online) I prefer the excellent Tacx videos from Phil (bertha-rider) and the third party videos from https://www.cycle-in-motion.de/ de / real-life-videos.html, https://www.bikelabvideo.it/it/ and Jost https://www.reallifevideo.de/aktuell.php. All third party videos addresses make good RLV and can be used in TTS4 - as long as you have the software under control.

Producing my own RLV was too complex for me, even if the software is available, as mcorn wrote.

Have fun
wilf
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

eri wrote: Wed Dec 25, 2019 5:27 pm The dvd I'm using now is Giro Del Mortirolo from tacx.
Not sure if you are using the 2008 version or the 2014 remake, but they are not very representative of the current products from Tacx and Phil.
Michael Corn
Bellingham, Washington, USA
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

Mike if he has a pgmf file for it it must be for the old Fortius Software, so the film in the question of the Mortirolo must be older then 2007. The grades should be in sync with the film if you run it inside Fortius software but there will not be any map data. Obviously, if you ride a film & using your recorded data this will never link up again with the actual film as the original film will have a very different speed then you & thus it will seem massively out of sync.

Im kind of curious to see what he has done, those early RLVs were made with very primitive tools really, it was before strava & accurate GPS data etc, now we use incredibly accurate inclinometer data, our grades are I think by far the most accurate you can have as we even record those grades often at incredibly slow speeds now.
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

BerthaVision wrote: Mon Jan 20, 2020 11:58 am Mike if he has a pgmf file for it it must be for the old Fortius Software, so the film in the question of the Mortirolo must be older then 2007. The grades should be in sync with the film if you run it inside Fortius software but there will not be any map data. Obviously, if you ride a film & using your recorded data this will never link up again with the actual film as the original film will have a very different speed then you & thus it will seem massively out of sync.

Im kind of curious to see what he has done, those early RLVs were made with very primitive tools really, it was before strava & accurate GPS data etc, now we use incredibly accurate inclinometer data, our grades are I think by far the most accurate you can have as we even record those grades often at incredibly slow speeds now.
Sorry I'm rambling here. Hope this makes sense!

Indeed my videos are pretty old. Lots of interesting older cars looking sparkling new. I'm a little worried that if I ever visit these places I'll be disappointed by how things have changed since these videos. :) I'm not a fan of the re-routed at the end of the stelvio climb from Bormio.

I am simply riding gpx files so I have full location data. I figured these old dvds can still have a life if I could resynchronize them and they sort of do now. I'm using golden cheetah for training software so not limited by some tacx software.

All I'm doing is creating a new rlv for the old video. Rlv is the mapping from distance to video frame. I am deriving gradient and distance from the gpx. Sometimes I need to lie about locations to account for gaps in the video.

Even modern gpx data that I can find has pretty terrible artifacts, especially for altitude data. I'm smoothing altitude pretty aggressively now using a b-spline. The free gps data I get from the internet has some pretty nasty stuff, for example some route points reverse course every so often, so I smooth the lat/lon data with a much less aggressive smoothing and that at least lets the rides feel real. I sure wish I could get data from the government highway departments, they probably laser scan today and is accurate to mm. My main criteria is that the rider gets no free climbing, they need to pay with watts to progress, so the slopes need to integrate to the desired climb. With the video sync I can now see where I am while riding.

I was hoping is that there were other people around here who had monkeyed with rlv files and knew how to synthesize them. One of my goals was to be able to perfectly round trip between rlv disk form and my in-memory distance form. I figured out a nasty back to front recurrence relation equation (rounding to float32 in just the right places) to round trip the tacx files perfectly but it isn't usable when I need to remap the entire file to change the ride distance (because my rlvs are for rides that are simply too short.) I have a forward synthesis that is converges on correct after a few hundred meters, but held back because I don't know the starting velocity. Its pretty close but not perfect. The tacx rlv files I have used a simple acceleration averaging.

My friends all think I'm nuts to be doing this. At some point I'll probably buck up and buy some moderns super-accurate rides but is pretty fun for me to try and get these old videos to work.
User avatar
nzuraw
Team Manager
Team Manager
Posts: 232
Joined: Mon Jan 13, 2014 3:18 am
Location: McLaren Vale, South Australia
USER_FLAG: Australia
Contact:

Eri, If you would like your RLVs to be hosted on Lunicus - please let me know.
_______o
_____~\<,_
____(_)/ (_)
Train hard, ride easy
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

nzuraw wrote: Fri Jan 31, 2020 4:03 am Eri, If you would like your RLVs to be hosted on Lunicus - please let me know.
I think he is using old Fortius software Tacx RLVs from before 2007 but is trying to make his own data file for them from modern GPS.

Eri - Grade data taken from mapping programs normally comes from Landsat satellites, any tunnel, ravine or bridge will normally result in the grades being near enough garbage for those points, if your doing the Stelvio from Bormio you could not have picked a worse film, you have all of that in spades! try to find some barometric data from a cyclist it will be massively better.

For calculating the recorded speeds, I cant see how that's possible without a lot of detective work & like you said some maths to smooth it all out. I literally can not remember the original Bormio to Stelvio film, its possible this was not one of ours?

If you want to try the latest Tacx TDA I can give you a month voucher code
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

BerthaVision wrote: Sat Feb 01, 2020 10:37 pm Eri - Grade data taken from mapping programs normally comes from Landsat satellites, any tunnel, ravine or bridge will normally result in the grades being near enough garbage for those points, if your doing the Stelvio from Bormio you could not have picked a worse film, you have all of that in spades! try to find some barometric data from a cyclist it will be massively better.
Yes, I recall some terrible raw GPS rides I tried to use. Some of them were on roads going up the side of a mountain. If the riding path was only slightly off the actual road, you would find yourself either falling into a ravine or going way up the side of a mountain. This produced tremendous swings in grade within only a few feet. It was totally unusable unless you ran it through a heavy smoothing program. The result of such severe smoothing was not particularly accurate, but it at least it made it ride-able.
Michael Corn
Bellingham, Washington, USA
User avatar
nzuraw
Team Manager
Team Manager
Posts: 232
Joined: Mon Jan 13, 2014 3:18 am
Location: McLaren Vale, South Australia
USER_FLAG: Australia
Contact:

We use to host an online GPS Smoother applet, but had to hard code the applet to work. Rather than embed it. Brenda created it and good it is! I've used it a lot. More since the 3D Route Builder stopped working due to changes in the Google Maps API.

It is still available on Brenda's website:

https://www.potter.ca/Biking/smoother/gpxsmoother.html
_______o
_____~\<,_
____(_)/ (_)
Train hard, ride easy
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

nzuraw wrote: Mon Feb 03, 2020 10:00 am We use to host an online GPS Smoother applet, but had to hard code the applet to work. Rather than embed it. Brenda created it and good it is! I've used it a lot. More since the 3D Route Builder stopped working due to changes in the Google Maps API.

It is still available on Brenda's website:

https://www.potter.ca/Biking/smoother/gpxsmoother.html
Yes, I have used it. It is a very nice tool. I used 3D Router Builder from Hybrid Geotools, which I think is no longer available. I like Brenda's tool and the best part is it is FREE.

Unless someone needs absolute slope change accuracy, these tools are great.
Michael Corn
Bellingham, Washington, USA
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

BerthaVision wrote: Sat Feb 01, 2020 10:37 pm
nzuraw wrote: Fri Jan 31, 2020 4:03 am Eri, If you would like your RLVs to be hosted on Lunicus - please let me know.
I think he is using old Fortius software Tacx RLVs from before 2007 but is trying to make his own data file for them from modern GPS.

Eri - Grade data taken from mapping programs normally comes from Landsat satellites, any tunnel, ravine or bridge will normally result in the grades being near enough garbage for those points, if your doing the Stelvio from Bormio you could not have picked a worse film, you have all of that in spades! try to find some barometric data from a cyclist it will be massively better.

For calculating the recorded speeds, I cant see how that's possible without a lot of detective work & like you said some maths to smooth it all out. I literally can not remember the original Bormio to Stelvio film, its possible this was not one of ours?

If you want to try the latest Tacx TDA I can give you a month voucher code
Hosting on Lunicus: Thanks! I think I might eventually have some pairs of rlv and gpx that people can use with these old videos. I have some files that are getting pretty good now but they're pretty rough around the video gaps.

I'd like to also share the c++ source for my cmd line rlv rewriter. It lets me rewrite the entire file around a few new synchronization points.

I can't tell if my adjusted files are getting good enough or if my standards are just dropping.

I sort of wish I'd seen that Brenda smoothing before I made my own. Nice web app.

It is pretty fun to discover the issues in this area of ride simulation. I'm wondering what horrible mistakes I've made compared to a current premium product like tacx.

I went and implemented route smoothing for golden cheetah and yesterday the source change was just merged into master. Golden cheetah is free and can round-trip any gpx, you might want to give it a play. Right now there's no public binary that includes the new smoothing so you'd need to build it yourself. It wouldn't make a reasonable web app, the high degree b-spline filtering takes a few seconds of compute with c++, hate to see how that would work with js.

Noise is such a funny thing because fundamentally 'good enough' is in the eye of the beholder. I really had a nice time coming to terms with what was possible. I settled on a two phase outlier filtering after playing with a bunch of other techniques. I really wanted to use a kalman but I found the noise models were just too difficult to parameterize for the different rides. The approach I used seems intuitive and you can play with the parameters until the slopes are around where you expect them to be. I won't accept a slope cap because I want to model the complete climb - no free vert! :) Plus it would look weird if I were to upload a truncated ride to strava.

I had three issues that motivated smoothing:
- my cubic splines that are used for route interpolation had a bug when computing tangent vectors which lead to even noisier altitude (I fixed this last.)
- my smart tv was interfering with my Bluetooth so my rides were "exorbitantly noisy." Was great motivation. Rides are not nearly as exciting now that I've disabled the tvs wifi connection.
- janky altitude data from the internet

Link of description of the smoothing is here:

https://github.com/GoldenCheetah/Golden ... ssues/3320

I use an initial pass just for altitude since I found it needs the stronger filtering, then a second pass on the 3d spline to clean up small issues.

Each pass builds an initial b-spline to find outliers, then a second b-spline without the outliers, user gets to pick the spline degrees and the variance to control what is an outlier.

The stelvio video I'm using came from a dvd box that says Giro de Mortirolo 2008. The stelvio ride in particular is a nice compliment to the CH_Umbrail ride that was shared by AluCard.

I'm sort of torn about using that modern tacx stuff. It looks really nice and I might get addicted. That is a crazy nice web site and the features look terrific. Part of my training fun with golden cheetah is being able to add features when I want something - and it is free, free, free. That tacx stuff is a far more compelling piece of software compared to peloton - is frustrating that peloton is so popular! :)

My trainer is an original kickr… can tacx software drive it?

Cheers!
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

Sadly the Tacx apps are only for Tacx trainers, they have gone all proprietary again like the olden days. But linking grade data to video frames has I would say massively improved over the last decade. We are now able to display near enough spot on the correct grade all the time if the filming bike is not being hit by a lot of Gforces...the effect is that with a high-quality HD film you can see & feel the grades change...if there is even the faintest change visible you should feel it, this is what the simulation is about..a big screen with some believable looking tarmac & those little thoughts that go "ohh there is an easy bit I can see".

PS I would not risk hosting any Tacx filmed rides, these are under copyright. Its the slippery slope & I know Tacx will defend that even if its some film from 2005...& I can't remember the 2008 film but remember the DVD..there should be GPS data with those? Im kind of curious to know what the data looks like for that film now also haha...one day I should dig up the fossilized hard drive & look in horror
User avatar
Malfukt
Team Manager
Team Manager
Posts: 239
Joined: Thu Mar 21, 2019 11:33 am
USER_FLAG: Great Britain

BerthaVision wrote: Tue Feb 04, 2020 10:25 am PS I would not risk hosting any Tacx filmed rides, these are under copyright. Its the slippery slope & I know Tacx will defend that even if its some film from 2005...
Was wondering when this would be brought to everyones attention..
Malcolm Armstrong.
United Kingdom
User avatar
ATENEA
Balance Bike
Balance Bike
Posts: 22
Joined: Sun Jan 19, 2020 5:41 pm
Location: In the mountains @ 5,000' when not by the sea in Mallorca or France
USER_FLAG: Spain

I prefer "copyright" rather than "copywrite"

That is what laws are for: to protect your rights (after defining them).

Laws do not aim to protect your writes; only your writings (provided you apply for copyright) :P :P :P
Tacx Genius (non-smart), Tacx Bushido, Tacx Neo 2T
Garmin Edge 1000, Garmin Fenix 6S Pro
Windows 10
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

ATENEA wrote: Tue Feb 04, 2020 12:17 pm I prefer "copyright" rather than "copywrite"

That is what laws are for: to protect your rights (after defining them).

Laws do not aim to protect your writes; only your writings (provided you apply for copyright) :P :P :P
Yes well whatever they are called I would not risk it ;-) , its Garmin they are practically run by lawyers...
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

BerthaVision wrote: Tue Feb 04, 2020 10:18 am I would not risk hosting any Tacx filmed rides, these are under copyright. Its the slippery slope & I know Tacx will defend that even if its some film from 2005
I had not understood that any of the discussion was about hosting the actual video files, which would be covered by copyright. I understood that it would only be RLV video control files that Eri had created on his own. (Of course, if he copied the Tacx control files in order to create his own files, that could be an issue. But if he created them from scratch, then they would be his own product.)
Michael Corn
Bellingham, Washington, USA
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

I'm starting to think you modern enthusiasts would find the behavior of these old files is terrible. Lot of water under the bridge in the past 12 years. I just enjoy the sunny mountain skies more than staring at a bar graph.

I didn't mean anyone should host the video files. Even though they are old I think Tacx did a great job making them and sharing them would be totally inappropriate. I re-jiggered the tacx rlv to better fit the avi to my own gpx route. The new rlv is absolutely useless without the multi-gig avi but indeed the one I am using now was derived from the tacx rlv. I didn't think this adaptation was much of an infringement. I guess I could build from scratch but would require a lot more sync points. Oh. What I could totally do is share the cmdline program and the sync points I use to remap the rlv… no infringement there!

Dvd location data - oh... I didn't see any but... oh... there *is* a tts file... looks like noise to me, some sort of compression or something. Hmm..

Golden cheetah only parses the pgmf. Dang. Tts seem large enough it must have location. Well, I guess that is something for the task list - to teach golden cheetah to read tts. Onwards and upwards!
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

Eric, the TTS file is the control file for TTS4 software, The pgmf files would have been for the older Fortius software which did not have any ability to display a map...its was 2006 when dev stopped on that I think! the files are encrypted for use only inside TTS software as you know already probably.
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

I didn't know that intent was for these files to only work within tacx software. Not exactly respectful to tacx customers.

I found some java to unpack tts, ported to c++ and now have tts files playing in golden cheetah. The video sync with location is very good. In my files the gps data itself isn't so great. I guess it goes along with the bell-bottom jeans the tourists on the sidewalks are wearing. Maybe the data improves in the newer dvds? The altitude data is pretty noisy so is unpleasant to try and use it to derive slope. The slope recorded in the tts is an artist's rendition of the altitude changes and is much more pleasant to use than what is indicated by the altitudes. I gotta test and see if the artists's slope adds up to the right amount of climbing, in the places where its bad it doesn't at all match even a linear approximation.

The tts is loaded to golden cheetah internal erg file format for trainer playback. All the filtering passes operate on ride files so right now there's no way to smooth that tts altitude data. I'm maybe going to need to disable my tangent vectors for these rides, which makes me sad. Maybe come up with some practical way to smooth the tts data. Maybe "Import to ride file"?

Anyway, I expect it'll be checked in in a few days, is fun to have this new format, but it isn't as great as I was hoping. With todays internet mapping data I think folks can make their own gpx and rlv that are better.
Attachments
stelvioFirstTTS.JPG
stelvioFirstTTS.JPG (254.26 KiB) Viewed 39939 times
User avatar
Alex Masalovich
Doper
Doper
Posts: 89
Joined: Mon Apr 15, 2019 5:22 pm
Location: Saint Petersburg
USER_FLAG: Russia
Contact:

eri wrote: Wed Feb 05, 2020 5:12 pm I didn't know that intent was for these files to only work within tacx software. Not exactly respectful to tacx customers.

I found some java to unpack tts, ported to c++ and now have tts files playing in golden cheetah.
Image
Bravo, bravo! But be careful, now advocates of Garmin’s commercial interests will give you a long lecture.
Тренируйтесь много, отдыхайте ещё больше!
User avatar
nzuraw
Team Manager
Team Manager
Posts: 232
Joined: Mon Jan 13, 2014 3:18 am
Location: McLaren Vale, South Australia
USER_FLAG: Australia
Contact:

I am sure this goes without saying, but Lunicus will only host free / fan made (with their consent) RLVs that do not contravene any copyright laws, Garmins or any 3rd Party RLV companies (no matter their size).
_______o
_____~\<,_
____(_)/ (_)
Train hard, ride easy
kostya416
Balance Bike
Balance Bike
Posts: 11
Joined: Tue Jan 28, 2020 11:19 am
USER_FLAG: Canada

nzuraw wrote: Wed Feb 05, 2020 10:02 pm I am sure this goes without saying, but Lunicus will only host free / fan made (with their consent) RLVs that do not contravene any copyright laws, Garmins or any 3rd Party RLV companies (no matter their size).
You will host the actual videos? That might be financially taxing unless you intend to charge for downloads. From my own experience (as the owner of Veloreality) I 've found that people are using our servers as a backup. I have a list of people that download the same video like 10 times. For now I sort of tolerate it but at some point we will simply limit how many times one can download same video.
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

Alex Masalovich wrote: Wed Feb 05, 2020 5:52 pm
eri wrote: Wed Feb 05, 2020 5:12 pm I didn't know that intent was for these files to only work within tacx software. Not exactly respectful to tacx customers.

I found some java to unpack tts, ported to c++ and now have tts files playing in golden cheetah.
Image
Bravo, bravo! But be careful, now advocates of Garmin’s commercial interests will give you a long lecture.
I guess I will have to give a lecture lol.. I’m not Garmin & they are rich enough to not motivate me to want to fight for their commercial interests... but I guess we would all still be stuck counting the wife’s shoe boxes in the garage when on the trainer if various people had not made the effort to make a few dollars solving that problem. We don’t live in a world anymore where it really matters. For example on the Tacx site now for as little as €7 you get instant access to what would cost maybe 10,000x more to actually produce in time, gear costs. it’s a bit of a race to the bottom where there is no money in it anyway anymore unless you can hit a mass market.

I’m more curious about Eric’s discoveries of the data we used back then. He is right that I would never just use the height data, grades need to match what you actually see. The data has massively improved since those times, we use an inclinometer for most of the ride simulations now filming from a EBike at an ever reducing speed (getting slower fatter & the bike is not what it was). But this also gives us incredible accuracy to record even the slightest undulations that would be hidden if filming at speed or with a GPS/barometric recorder. I dont think Tacx has ever used accuracy in their marketing & Im fairly sure 99% of the customers have no idea or even care...its more a case of the personal goal being to make the simulation as accurate as possible.

Going back in time to 2007 we would have had rough height via the GPS, not even sure if we had barometric data then or how we filtered it. For sure there would have been a lot of 'art' involved ;-) a lot of filtering & then a case of does the grade match what your looking at & manually changing it to something more fitting ... I dont even have these rides anymore (at least close at hand I do have an old box of rusty hard drives).
User avatar
ms6073
12" Bike
12" Bike
Posts: 132
Joined: Thu Apr 04, 2019 11:41 pm
Location: Houston, Texas USA
USER_FLAG: United States of America

BerthaVision wrote: Thu Feb 06, 2020 7:28 amBut this also gives us incredible accuracy to record even the slightest undulations that would be hidden if filming at speed or with a GPS/barometric recorder.
This is something I have really come to appreciate since the 'demise' of TTS 4. During our Tuesday evening trainer rides, I was using Rouvy and riding the Lake Rosseau Part2#2 AR route which has a nice video that apparently was filmed by someone riding a motorcycle. Unfortunately the terrain profile was not as precisely aligned with the video as I would like and while this was not that much of a problem with rolling hills, at the top of a prolonged climbs, it got to be somewhat annoying. Seeing the terrain start to head down hill all the while the resistance continues to simulate the gradient for another few moments is something I never saw in the your RLV's from Tacx.
User avatar
mcorn
Directeurs Sportifs
Directeurs Sportifs
Posts: 903
Joined: Thu Mar 21, 2019 12:56 pm
Location: Bellingham, Washington, USA
USER_FLAG: United States of America

ms6073 wrote: Thu Feb 06, 2020 4:30 pm
BerthaVision wrote: Thu Feb 06, 2020 7:28 amBut this also gives us incredible accuracy to record even the slightest undulations that would be hidden if filming at speed or with a GPS/barometric recorder.
This is something I have really come to appreciate since the 'demise' of TTS 4. During our Tuesday evening trainer rides, I was using Rouvy and riding the Lake Rosseau Part2#2 AR route which has a nice video that apparently was filmed by someone riding a motorcycle. Unfortunately the terrain profile was not as precisely aligned with the video as I would like and while this was not that much of a problem with rolling hills, at the top of a prolonged climbs, it got to be somewhat annoying. Seeing the terrain start to head down hill all the while the resistance continues to simulate the gradient for another few moments is something I never saw in the your RLV's from Tacx.
I think this is a similar effect to what I described here:

viewtopic.php?p=1443#p1443

With certain types of terrain, even minor errors in correlating the actual road with GPS data produce huge errors for cyclists.
Michael Corn
Bellingham, Washington, USA
User avatar
BerthaVision
12" Bike
12" Bike
Posts: 129
Joined: Wed Apr 17, 2019 10:52 am
Location: Gent, Belgium
USER_FLAG: Belgium

ms6073 wrote: Thu Feb 06, 2020 4:30 pm
This is something I have really come to appreciate since the 'demise' of TTS 4. During our Tuesday evening trainer rides, I was using Rouvy and riding the Lake Rosseau Part2#2 AR route which has a nice video that apparently was filmed by someone riding a motorcycle. Unfortunately the terrain profile was not as precisely aligned with the video as I would like and while this was not that much of a problem with rolling hills, at the top of a prolonged climbs, it got to be somewhat annoying. Seeing the terrain start to head down hill all the while the resistance continues to simulate the gradient for another few moments is something I never saw in the your RLV's from Tacx.
Thats interesting to know that they are a bit lazy with the data alignment even with the supposed flagship AR rides, that gives me some hope. I made a new demo for TDA today it should really highlight in spades just how good the grade data is...not sure about the video choice though, its all I had over from last years filming :) ..message me if you or anyone wants try it out, you need a Tacx trainer though (sadly for me less so for Tacx)
Image
User avatar
Malfukt
Team Manager
Team Manager
Posts: 239
Joined: Thu Mar 21, 2019 11:33 am
USER_FLAG: Great Britain

Gascony - Lavardens Cycle Tour just done that tonight so did Dave.. very nice it is too the way it goes into a KOM almost from the getgo :D
Malcolm Armstrong.
United Kingdom
eri
Balance Bike
Balance Bike
Posts: 20
Joined: Mon Dec 23, 2019 5:20 pm
USER_FLAG: United States of America

Hi all and especially bertha!

It is really great to meet someone that was involved when these were made. I bet it is pretty satisfying to make this stuff. I can just imagine the feeling of having just recorded one of these beautiful rides. Having a dream that you're making money while filming competently. I thought about making the movies but can't imagine there's any money to be made from the handful of lunatics that care.

I am having fun playing because this type of code intersects with so much interesting coding and math.

I personally like the idea of video, location and slope all matching perfectly. Not attainable but is a fun goal. I bet your new data files would get very close because precision is the issue.

At least it reminds me of a joke:

Q: How to find where you are using a compass, a map and a knife?
A: Use the compasee to triangulate 3 points, use knife to slice the map along each bearing... the triangle of paper that falls out of the map is your location!

So... I've been trying all sorts of tricks to try to get the altitude data from the tts rides to behave. Some rides I can use the location data as is and the ride is almost peachy but others cause so much pain. Stelvio is in between, it shows what I call 'step motion' where the ride is flat, then steep up, then flat. It looks like its a common nature of the gps data and pretty annoying. My own stelvio gpx route had the same artifact which is why I wrote that smoother.

The really bad ride: I spent a few hours tonight debugging IT_Lombardy08... the unusually bad thing with that ride is that the lon/lat/alt data has truncated precision (float?) which means there are sections where 100 meters at a time show the same location and altitude before route drops steeply. It was actually fun because it found weird bugs in my slope and solver code. You know its not good when your travel distance becomes nan. The specific issue there was with how the solvers were checking for equality with zero... now I detect by comparing the relative size of the exponents.

For Lombardy I tried to clean it with an interpolation pass to rewrite duplicate values using the bracketing locations... sort of looked like it might work.

After that interpolation the result better but still it is terrible because the original altitude data really is just bad. Maybe you remember the Lombardy ride? It starts off with this roller-coaster descent for 500m down to the highway. It is a crazy steep descent, looks like more than -20. Below I pasted the location and altitude data for the first 500m. Can see that the altitude is going crazy steep down, then steep up hill, then more super steep down. And that variation is in the midst of what the video shows to be ludicrous descent.

Meanwhile, the gradient info in the tts is showing a sober -3.5.

Currently I'm figuring I just cant derive slope from altitude changes in tts and will need to fall back on that recorded gradient. If I do *that* it means the slope will be *wrong* which means the actual climbing pain on the trainer will be wrong and dishonest. I think I will be spiteful and compute a new 'honest but not real' altitude using the recorded gradient. If I don't do that the VAM will be wrong.

Another option I have is to chew on those altitude outliers with my smoother until the gradients become sane, but cases like this make me think it can't work.

I understand the reason the data can be noisy but it still doesn't make me happy. :)

Eric

Here is the first 500m of Lombardy:

+ [1] {latitude=45.916770935058594 longitude=9.1547174453735352 elevation=256.00000000000000 ...} NS_TTSReader::Point
+ [2] {latitude=45.916450500488281 longitude=9.1547355651855469 elevation=291.98190307617188 ...} NS_TTSReader::Point
+ [3] {latitude=45.916450500488281 longitude=9.1547355651855469 elevation=291.98190307617188 ...} NS_TTSReader::Point
+ [4] {latitude=45.916080474853516 longitude=9.1547660827636719 elevation=287.75799560546875 ...} NS_TTSReader::Point
+ [5] {latitude=45.915939331054688 longitude=9.1547107696533203 elevation=284.05178833007813 ...} NS_TTSReader::Point
+ [6] {latitude=45.915939331054688 longitude=9.1547107696533203 elevation=284.05178833007813 ...} NS_TTSReader::Point
+ [7] {latitude=45.915939331054688 longitude=9.1547107696533203 elevation=284.05178833007813 ...} NS_TTSReader::Point
+ [8] {latitude=45.915489196777344 longitude=9.1544380187988281 elevation=269.95129394531250 ...} NS_TTSReader::Point
+ [9] {latitude=45.915290832519531 longitude=9.1544551849365234 elevation=268.59298706054688 ...} NS_TTSReader::Point
+ [10] {latitude=45.915290832519531 longitude=9.1544551849365234 elevation=268.59298706054688 ...} NS_TTSReader::Point
+ [11] {latitude=45.915290832519531 longitude=9.1544551849365234 elevation=268.59298706054688 ...} NS_TTSReader::Point
+ [12] {latitude=45.914749145507813 longitude=9.1548070907592773 elevation=275.53659057617188 ...} NS_TTSReader::Point
+ [13] {latitude=45.914539337158203 longitude=9.1547727584838867 elevation=271.78869628906250 ...} NS_TTSReader::Point
+ [14] {latitude=45.914539337158203 longitude=9.1547727584838867 elevation=271.78869628906250 ...} NS_TTSReader::Point
+ [15] {latitude=45.914241790771484 longitude=9.1545352935791016 elevation=258.87368774414063 ...} NS_TTSReader::Point
+ [16] {latitude=45.914241790771484 longitude=9.1545352935791016 elevation=258.87368774414063 ...} NS_TTSReader::Point
+ [17] {latitude=45.914241790771484 longitude=9.1545352935791016 elevation=258.87368774414063 ...} NS_TTSReader::Point
376 meters
+ [18] {latitude=45.913799285888672 longitude=9.1543569564819336 elevation=246.04460144042969 ...} NS_TTSReader::Point
+ [19] {latitude=45.913471221923828 longitude=9.1543922424316406 elevation=242.62690734863281 ...} NS_TTSReader::Point
+ [20] {latitude=45.913471221923828 longitude=9.1543922424316406 elevation=242.62690734863281 ...} NS_TTSReader::Point
+ [21] {latitude=45.913471221923828 longitude=9.1543922424316406 elevation=242.62690734863281 ...} NS_TTSReader::Point
+ [22] {latitude=45.913471221923828 longitude=9.1543922424316406 elevation=242.62690734863281 ...} NS_TTSReader::Point
+ [23] {latitude=45.913471221923828 longitude=9.1543922424316406 elevation=242.62690734863281 ...} NS_TTSReader::Point
+ [24] {latitude=45.912509918212891 longitude=9.1550731658935547 elevation=260.47030639648438 ...} NS_TTSReader::Point
+ [25] {latitude=45.912361145019531 longitude=9.1551494598388672 elevation=261.18011474609375 ...} NS_TTSReader::Point
+ [26] {latitude=45.912361145019531 longitude=9.1551494598388672 elevation=261.18011474609375 ...} NS_TTSReader::Point
512 meters
+ [27] {latitude=45.912361145019531 longitude=9.1551494598388672 elevation=261.18011474609375 ...} NS_TTSReader::Point

Here is with duplicates filled in by a spherical interpolator:

+ [1] {latitude=45.916770935058594 longitude=9.1547174453735352 elevation=292.73790307617185 ...} NS_TTSReader::Point
+ [2] {latitude=45.916539498506737 longitude=9.1547337485433449 elevation=291.06866034856188 ...} NS_TTSReader::Point
+ [3] {latitude=45.916309240552238 longitude=9.1547499685536469 elevation=289.40791839410178 ...} NS_TTSReader::Point
+ [4] {latitude=45.916080474853516 longitude=9.1547660827636719 elevation=287.75799560546875 ...} NS_TTSReader::Point
+ [5] {latitude=45.915932969314149 longitude=9.1546842393541912 elevation=283.31572293127346 ...} NS_TTSReader::Point
+ [6] {latitude=45.915785255566185 longitude=9.1546022808890051 elevation=278.86718176318232 ...} NS_TTSReader::Point
+ [7] {latitude=45.915637194845772 longitude=9.1545201303780956 elevation=274.40819310526479 ...} NS_TTSReader::Point
+ [8] {latitude=45.915489196777344 longitude=9.1544380187988281 elevation=269.95129394531250 ...} NS_TTSReader::Point
+ [9] {latitude=45.915304423167804 longitude=9.1545301695089272 elevation=271.34582940316301 ...} NS_TTSReader::Point
+ [10] {latitude=45.915119649476203 longitude=9.1546223196094960 elevation=272.74036486101357 ...} NS_TTSReader::Point
+ [11] {latitude=45.914934358611639 longitude=9.1547147269807230 elevation=274.13880293674987 ...} NS_TTSReader::Point
+ [12] {latitude=45.914749145507813 longitude=9.1548070907592773 elevation=275.53659057617188 ...} NS_TTSReader::Point
+ [13] {latitude=45.914575380189611 longitude=9.1547140005476173 elevation=269.82960024657257 ...} NS_TTSReader::Point
+ [14] {latitude=45.914405880985015 longitude=9.1546231963954785 elevation=264.26272488257246 ...} NS_TTSReader::Point
+ [15] {latitude=45.914249785257446 longitude=9.1545546832553129 elevation=259.57458194841320 ...} NS_TTSReader::Point
+ [16] {latitude=45.914096655303617 longitude=9.1544874722372231 elevation=254.97551373000303 ...} NS_TTSReader::Point
+ [17] {latitude=45.913945866742743 longitude=9.1544212892709567 elevation=250.44676765560519 ...} NS_TTSReader::Point
376 meters
+ [18] {latitude=45.913799285888672 longitude=9.1543569564819336 elevation=246.04460144042969 ...} NS_TTSReader::Point
+ [19] {latitude=45.913564397887875 longitude=9.1544874346454073 elevation=248.67260931186976 ...} NS_TTSReader::Point
+ [20] {latitude=45.913343107115189 longitude=9.1546103585859058 elevation=251.14848505908344 ...} NS_TTSReader::Point
+ [21] {latitude=45.913127415127803 longitude=9.1547301714656513 elevation=253.56171816690980 ...} NS_TTSReader::Point
+ [22] {latitude=45.912916522088906 longitude=9.1548473176515497 elevation=255.92125758383273 ...} NS_TTSReader::Point
+ [23] {latitude=45.912709094927543 longitude=9.1549625376899275 elevation=258.24201822399203 ...} NS_TTSReader::Point
+ [24] {latitude=45.912509918212891 longitude=9.1550731658935547 elevation=260.47030639648438 ...} NS_TTSReader::Point
+ [25] {latitude=45.912408901104676 longitude=9.1551100575587405 elevation=260.44515086726716 ...} NS_TTSReader::Point
+ [26] {latitude=45.912311608802590 longitude=9.1551455887856488 elevation=260.42092290181165 ...} NS_TTSReader::Point
512 meters
+ [27] {latitude=45.912215955408477 longitude=9.1551805213566855 elevation=260.39710306441123 ...} NS_TTSReader::Point
Post Reply