VideoIMUCapture-Android icon indicating copy to clipboard operation
VideoIMUCapture-Android copied to clipboard

Timestamp abnormal.

Open Blasy77777 opened this issue 1 year ago • 10 comments

Some problems were encountered in the data conversion, and the timestamp of the converted data was abnormal. 93aceda9d3cae8be9281f5c54db59007

Blasy77777 avatar Mar 02 '23 05:03 Blasy77777

Hi, I take it you figured out the issue. Please let me know if there is a bug in the code.

DavidGillsjo avatar Mar 02 '23 06:03 DavidGillsjo

@DavidGillsjo Thank you very much for this excellent project. He has provided me with great help in my work. Yes, I have encountered some problems. During this process, I saw the issues templates you submitted, so I closed it in a hurry. I'm so sorry. Let me tell you about the problems I encountered. I used the latest code to collect the camera and IMU data of my mobile phone. After using the data conversion data2kalibr script in docker, I found that the timestamp of my camera and the timestamp of IMU data were abnormal. Like I mentioned before. I found that the commit before you update issue templates is normal. Sorry I know very little about Android development and haven't been able to find the problem yet.

Blasy77777 avatar Mar 02 '23 14:03 Blasy77777

OK, so you mean that if you run the code from commit 0a4d0911bba425bb7f01744c0f41f42c517c8437 it all works? I have not personally yet tested the latest pull request so the bug might be related to that.

Could you describe the issue? From the image I take it that there is some offset between the images and IMU?

DavidGillsjo avatar Mar 02 '23 15:03 DavidGillsjo

57bc0511cd5e003f914ccbcf23a01162d0c0a48a This is also possible. Yes, as you said, there is some offset between the image time stamp and the IMU time stamp, but the data should be fine, because I have calibrated with each of their individual data, and from the results of the calibration, they are No problem.

Blasy77777 avatar Mar 02 '23 15:03 Blasy77777

OK, glad to know it works anyways. I'll test it for myself in a couple of weeks, currently too busy with work.

DavidGillsjo avatar Mar 03 '23 08:03 DavidGillsjo

Hi, I met the same problem too. The timeoffset is too large (around 7.33 seconds for my oneplus 9). I guess there are some initialization issues of the videoimucapture apk. Do u guys have any idea about this bug? image

bzdfzfer avatar Jun 10 '23 15:06 bzdfzfer

Even though the temporal offset exists, I calibrate the extrinsic parameters successfully with kalibr, and I think the result is pretty good. The image and imu streams are synchronized actually, but maybe the timestamps are wrongly assigned.

bzdfzfer avatar Jun 10 '23 15:06 bzdfzfer

If the camera device reports UNKNOWN, and the sensors are using REALTIME (which I believe is the case), then the difference can be very large since one doesn't increment while the device is asleep. While the camera is running, the difference is unlikely to grow (since the device will not go to sleep), so you can in principle measure both times at start and use that difference to correct the timestamps to the same timebase. – Eddy Talvala May 23, 2017 at 21:36

I find this discussion on stackoverflow may be helpful for this bug.

bzdfzfer avatar Jun 11 '23 00:06 bzdfzfer

Hi @bzdfzfer, If you checkout commit 0a4d0911bba425bb7f01744c0f41f42c517c8437 and capture data using that version, does it work properly? @Taol777 indicated that it might be related to a code change after this point, though I'm not sure how it could be, I haven't investigated it.

The timestamp source for the camera is stored in the protobuf file, see this line for definition. It is not stored for the IMU but that could of course be added.

DavidGillsjo avatar Jun 12 '23 06:06 DavidGillsjo

I tried the release app of v.0.10.apk, and it worked pretty well (but there are still 20ms delay hhh, it's ok for the test).

bzdfzfer avatar Jun 23 '23 04:06 bzdfzfer