It's easy to find out the exact sync values needed on a computer with the video and data files in other software (eg RaceRender). It'd be great if there was a way to use Harry's to create a better video that's also in sync if the values weren't correct when recording.
Using video sync was suggested as a workaround to get OBD in sync, but this is only workable if you only care about one out:
- Lap time shown on overlay being in sync with lap time shown on phone in recording
- Accelerometer sync
- GPS
- OBD
Add ability to adjust sensor sync when creating overlay
-
- Fewer than 10 Posts
- Posts: 9
- Joined: Sat Jan 10, 2015 12:17 am
Re: Add ability to adjust sensor sync when creating overlay
That's hard to realize as the data fusion and interpolation between the various channels is done in real time. After this has been done, OBD and acceleration values would need to be re-adjusted including some loss of accuracy. I tend to introduce a solution some day that fuses the channels by watching correlations and adjusting delays automatically. This will require considerably effort too but at least would introduce a solution one could be proud of Maybe some Mathematician interested in this topic raises his / her hand.
The video sync is good enough for the majority of users because GPS synchronization on videos is hard to recognize at all (position on track) and acceleration and OBD will hardly be off by more than 0.5 seconds ever.
- Harry
The video sync is good enough for the majority of users because GPS synchronization on videos is hard to recognize at all (position on track) and acceleration and OBD will hardly be off by more than 0.5 seconds ever.
- Harry
-
- Fewer than 10 Posts
- Posts: 9
- Joined: Sat Jan 10, 2015 12:17 am
Re: Add ability to adjust sensor sync when creating overlay
Is that something that might be more practical with the future mac app? I think you mentioned not being able to use hardware acceleration for the encoding, so would that mean you don't have the real-time constraint?
Re: Add ability to adjust sensor sync when creating overlay
Different topic not related. The point I made is about the internal data scheme and the (missing Android) hardware acceleration is about the performance to overlay videos.
Harry
Harry
-
- 20 or more Posts ★★★
- Posts: 836
- Joined: Thu May 03, 2012 5:26 am
- Location: Kingsport, TN USA
Re: Add ability to adjust sensor sync when creating overlay
DIY drones run full sensor fusion for flight control, GPS, 3 axis magnetometer, accelerometer and gyro, in real time on an Arduino board with the sensors other than GPS running at several hundred Hertz. The software is open source. I wouldn't use the magnetometer in the iPhone, though. It has too much hysteresis. The slow step would be writing the data. At a higher level, the Racelogic VBox 3i with an IMU (3 axis accelerometer and gyro) is calibrated by driving in a figure 8 pattern at low speed. But than that IMU is bolted to the car.
I would think that the OBD delay could be measured by comparing GPS speed to OBD wheel speed by accelerating to 30mph or so and then braking to a stop. Once that was known for a given combination of GPS, OBD dongle and phone, it shouldn't change. You could probably do it manually now. Set up a course on a surface street and drive around it at legal speed, look at the speed plot and adjust the OBD delay until the wheel speed and GPS speed plots are synchronized. You would have to drive the course again each time you adjusted the delay, but you shouldn't have to do the process more than once.
I would think that the OBD delay could be measured by comparing GPS speed to OBD wheel speed by accelerating to 30mph or so and then braking to a stop. Once that was known for a given combination of GPS, OBD dongle and phone, it shouldn't change. You could probably do it manually now. Set up a course on a surface street and drive around it at legal speed, look at the speed plot and adjust the OBD delay until the wheel speed and GPS speed plots are synchronized. You would have to drive the course again each time you adjusted the delay, but you shouldn't have to do the process more than once.