As part of a project I’m working on now I’m trying to figure out the best way to get synchronized IMU data. I’m looking here and don’t quite understand the statement:
To be clear, the idea here isn’t to take an IMU measurement exactly at the same time as we take a picture but rather to correctly time stamp our images so as to provide accurate data to our VIO algorithm.
I guess I’m trying to understand why that’s the case and why it’s easier to match timestamps rather than just include the data.
In connection with this, it looks like internally, sensor_data_combined is being published at 250 hz. Is there a way to increase that (and are there any negative ramifications)?
The idea I believe is that the VIO algorithm will run with a slight delay, so you only add data to the VIO once you have both the IMU sample and the corresponding image. Then you can send the data back to the FCU, and the delayed time horizon there will be able to fuse it back to when the picture timestamp was from.
I think you’ll find that it will be difficult to stream data across serial much higher than 250hz.
My simple answer is that timestamps should help you to get “synchronized” data while by doing things as fast as possible with little delay might achieve the same thing but it’s harder to debug because you might not be sure about the delays that you actually achieve.
This is not trivial as far as I know. There has been work around this but it has not been completed as far as I know.