Results 1 to 6 of 6

Thread: Different data with RaceRender and Dashware

  1. #1
    Tuner in Training
    Join Date
    Feb 2022
    Posts
    17

    Different data with RaceRender and Dashware

    So far I used GoPro 5 Black with Dashware. Now I got RaceRender and tried to compare Racerender and Dashware outputs using last year GoPro files. Slight differences in data were expected, but surprisingly there were some strange differences.

    Fist picture is from Dashware output. Second one is from RR output (exactly the same frame with same number). Differences:
    1. Date-Time clock output is different, apparently by 0.5sec. The clock is probably the same, RR just rounds seconds, Dashbord shows full seconds.
    2. LAT/LON sligtly differs everywhere. Closer look shows, that differnce is not in coordinates as such, but RR data stream is ahead by 0.04 sec (2 videof rames), these data appears on Dashware video 2 frames later. May be the same time shift is also with other data, but with lat/long it is clearly visible.
    3. Big difference is in acceleration data, more visible in lateral acceleration. Dashware shows here 1.9G in top of corner. Normal racing kart can reach here around 2.1G. That shows that I can not go there much faster.
    RR shows 2.47G (around 2.5G during whole corner). Here is something wrong, kart must have aerodynamic wings like formula cars to reach such numbers.
    4. Difference in speed by 1kph and also in current lap time are normal. In Dashwaree start/finish line crossing times are set manually, so they may differ from RR times.

    To find out, what is reason of these differences, I checked GPS data from Dashware using csv file. These data exactly match video output. Then I tried RR with GPS data from dashware (picture 3). As expected, coordinates, speed and accelerations changed accordingly. Hovewer Date-Tme clock itself was surprisingly off by abovementioned 0.04 sec (or two frames).

    Now I will try to look, if I can see something in RR_data file. Dashware data look anyway interpolated, because in csv file, data are changeing every 0.05 sec (20 Hz), but AFAIK GoPro cameras refresh GPS data with 18Hz, acceleration data probably more frequently.
    Attached Images Attached Images

  2. #2
    Tuner in Training
    Join Date
    Feb 2022
    Posts
    17
    Extracted DataRender data to csv file. It didn't help much. Tere are only five fields, read with 18Hz frequency: Time,Latitude,Longitude,Altitude (m) and Speed (m/s). Are all other fields really calculated from these five? In this case something seems wrong with acceleration calculations.

  3. #3
    Tuner in Training
    Join Date
    Feb 2022
    Posts
    17
    To check data, I created video file using Telemetry Overlay (trial) program. Gauges were used almost "as is" without big arrangement, main focus was to the acceleration data. On the first picture there is the same video frame as in previous pictures. As we can see, the acceleration numbers are quite close to Dashware results (6% difference) and far apart from RaceRender data (24% difference).

    Alongside the GPS data, GoPro camera video has also stream of 3-axis accelerometer sensor data with frequency 200Hz. These data have heavy noise (see second picture, data taken directly from video file by goprotelemeryextractor.com/free) with amplitude around 8G which is caused probably by different kind of vibration and need strong smoothing before they can be used. Due to high frequency of acceleration data, such smoothing can be done, but even then there may be some fluctuations.

    On the other hand, accelerations can be calculated also from GPS data. Frontal acceleration calculation (in direction of moving) is very easy (from 2D speed), lateral acceleration is more tricky (there have to be used also longitude and latitude). But I do not know, which way is used in RaceRender and other programs - accelerometer sensor data or calculations from GPS.
    Attached Images Attached Images

  4. #4
    Tuner in Training
    Join Date
    Feb 2022
    Posts
    17
    I did a simple math and derived frontal acceleration from speed data (just subtract two consecutive speed values and divide to time interval, then convert to G-value) to compare with screen outputs. I choosed two points: with bigger acceleration and bigger braking.
    Acceleration: Both Dashware and RR speed data gave close results - DW 0.464G, RR 0.484, but acceration outputs on the screen differs: DW gives almost exact 0.46G, RR more than two times smaller 0.19G (pictures 1 and 2).
    Braking: Again, deceleration, calculated from speed data are comparable: DW 0.84G, RR 0.76G, but screen outputs differs: DW 0.73G, 10% difference from calculated, and RR 0.23G, more than three times less than calculated from speed (pictures 3 and 4).

    Here we see, that frontal acceleration values, clculated from DW and RR data are in good agreement. Dashware output on the screen differs within 10%, but RR data differ 2 or 3 times. That shows, that DW and RR both use accelerometer sensor data, but Dashware output is much closer to the results, given from speed data.

    Initially I had intent to do similar calculation with lateral acceleration data too, but quit. The math behind is not too complicated but it is time consuming for calculations by hand. There latitude/logitude data have to be converted to coorinates on the surface (which in program is anyway done for track map). Then three consecutive points are approximated as part of circle and calculated radius of this circle. Then by formula A=v*v/R (where v is linear speed and R calculated radius) we will have lateral acceleration A. But It will take too much time using just calculator.

    CONCLUSION (so far): I do not know, what causes this big difference in accelerations data, but RaceRender acceleration data look to me incorrect and these comparisons and calculations are not only reasons. Therefore until I will know reasons of this difference and have a way to fix this problem, I unfortunately have to use a workaround - use Dashware to extract GPS data from video to scv file and then use these csv data with RaceRender
    Attached Images Attached Images

  5. #5
    Advanced Tuner
    Join Date
    Apr 2018
    Posts
    294
    Quote Originally Posted by Valentin View Post
    I did a simple math and derived frontal acceleration from speed data (just subtract two consecutive speed values and divide to time interval, then convert to G-value) to compare with screen outputs. I choosed two points: with bigger acceleration and bigger braking.
    Acceleration: Both Dashware and RR speed data gave close results - DW 0.464G, RR 0.484, but acceration outputs on the screen differs: DW gives almost exact 0.46G, RR more than two times smaller 0.19G (pictures 1 and 2).
    Braking: Again, deceleration, calculated from speed data are comparable: DW 0.84G, RR 0.76G, but screen outputs differs: DW 0.73G, 10% difference from calculated, and RR 0.23G, more than three times less than calculated from speed (pictures 3 and 4).

    Here we see, that frontal acceleration values, clculated from DW and RR data are in good agreement. Dashware output on the screen differs within 10%, but RR data differ 2 or 3 times. That shows, that DW and RR both use accelerometer sensor data, but Dashware output is much closer to the results, given from speed data.

    Initially I had intent to do similar calculation with lateral acceleration data too, but quit. The math behind is not too complicated but it is time consuming for calculations by hand. There latitude/logitude data have to be converted to coorinates on the surface (which in program is anyway done for track map). Then three consecutive points are approximated as part of circle and calculated radius of this circle. Then by formula A=v*v/R (where v is linear speed and R calculated radius) we will have lateral acceleration A. But It will take too much time using just calculator.

    CONCLUSION (so far): I do not know, what causes this big difference in accelerations data, but RaceRender acceleration data look to me incorrect and these comparisons and calculations are not only reasons. Therefore until I will know reasons of this difference and have a way to fix this problem, I unfortunately have to use a workaround - use Dashware to extract GPS data from video to scv file and then use these csv data with RaceRender
    Sounds like you have a pretty decent case for RaceRender not correctly parsing out the GPS data from GoPro videos. Hopefully Weston@HPTuners will be able to comment.

  6. #6
    Tuner in Training
    Join Date
    Feb 2022
    Posts
    17
    Quote Originally Posted by HoboBob View Post
    Sounds like you have a pretty decent case for RaceRender not correctly parsing out the GPS data from GoPro videos. Hopefully Weston@HPTuners will be able to comment.
    I suspect that the problem is deeper than just parsing of GPS data. GoPro camera GPS data stream (18Hz) has only 6 fields - time, latitude, longitude, altitude, 2D ground speed, and 3D speed. Accelerometer sensor and gyro have separate streams (200Hz and 400Hz) which are independent of GPS and are not part of GPS. Additionally there is a lot of camera internal data about photo sensor, exposure time etc. All other GPS related fields (in brackets in RR fields list) are calculated by RaceRender.

    RR exports to csv only GPS data, which is read from video and these data look correct (compared with goprotelemtryextractor.com data) . All other fields seem to be crypted inside RR_Data.dat file. Therefore I do not see RR acceleration input data and do not know, how (AccX) and (AccY) are calculated.

    DashWare has another approach. It creates one GOPRxxxx.csv file with 20Hz data frequency. That means, that all input data are interpolated (camera writes GPS stream with 18Hz). There are even accelerometer and gyro input fields, but I do not know, how they are calculated from real 200HZ and 400Hz streams. There are also all calculated data like GPS AccelGs and GPS LatGs with acceleration data. Therefore when I use Dashware csv with RaceRender, I just use these already calculated acceleration values.

    Now I have impression, that DashWare uses GPS coordinates and heading data for acceleration calculations. Even field names GPS AccelGs and GPS LatGs give hint, that there are not sensor but GPS data used. Also there are fields GPS_X, GPS_Y with coordinates on the ground in feets (used for track map). Using these data calculations can be done in simpler and more reliable way than I described in previous posts.

    Finally, if Dashware uses for acceleration calculations GPS, and RaceRender uses there sensor data (which are indeppendent of GPS and very noisy) then there is clear reason, why these data differ. And another story is, why they differ so much