Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

D435i IMU time synchronized with depth image #1022

Closed
studennis911988 opened this issue Dec 13, 2019 · 8 comments
Closed

D435i IMU time synchronized with depth image #1022

studennis911988 opened this issue Dec 13, 2019 · 8 comments

Comments

@studennis911988
Copy link

  1. software version
  • librealsense : 2.29.0
  • realsense-ros : 2.2.11(latest)
  • firmware : UVC_5_11_6_250
  • unite_imu_method" default="copy"
  1. Issue
    I try to get synchronized IMU & image but when I check the header in rostopic echo, and clearly they are synchronized just the picture showing below. When the timestamp in depth is " 43777373
    ", there is no correspondance imu data at same timestamp.

image

  1. My question is
  • by viewing other issue, it seems that current we still can't get synchronized IMU & image?
  • or relating to my realsense couldn't use HID timestamps like the picture showing below?

image

@MartyG-RealSense
Copy link
Collaborator

The link below discusses the difficulty of syncing depth and IMU, and suggestions for how to approach it.

IntelRealSense/librealsense#4854

@doronhi
Copy link
Contributor

doronhi commented Dec 15, 2019

As for the "Frame metadata isn't available!" message, checkout this link

@RealSenseCustomerSupport
Copy link
Collaborator


will you be needing further assistance with this issue?

@studennis911988
Copy link
Author

@RealSenseCustomerSupport @doronhi
There is no conclusion on the issue you mentioned.
Moreover please provide more information on how to get synchronized IMU and image data, is it caused by not finding HID timestamp or something else?
Thanks!

@doronhi
Copy link
Contributor

doronhi commented Jan 9, 2020

Hi @studennis911988 ,
The link I provided regarding the "Frame metadata isn't available!" message suggests that there might be something wrong with the installation process and specifically with kernel patches. My suggestion is that you trace back the installation instructions you used and see if you might have missed something. Could you provide the method of installation of the kernel patches (debian or code) and your version of OS?
Regarding the IMU-Image sync, I'm not sure I understand your suggestion.
The images are provided by the camera at, say, 30Hz. The Imu at, say, 400Hz.
Do you suggest a synchronization mode where Imu is transmitted at 30Hz, and interpolated to the last sent image frame?

@studennis911988
Copy link
Author

studennis911988 commented Jan 9, 2020

@doronhi Thanks for your reply.

First of all, my kernel version is

Linux dennis 4.15.0-72-generic #81~16.04.1-Ubuntu SMP Tue Nov 26 16:34:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

I installed librealsense from source code by following the installation page, and I think I may truly miss to patch the kernel at the time I installed it.
I try to patch the kernel that's showing below, but things didn't go right, the metadata error message still exist.

image

Regarding sync between image and IMU, let's take your words for example. I wish to get each image(30HZ) timestamp which is sync with the IMU timestamp(remain 400HZ), just like the picture showing below.
image

Hope you could provide more information ? Thanks in advanced!

@doronhi
Copy link
Contributor

doronhi commented Feb 2, 2020

Sorry for the long delay.
The graph you added suggests that at time (i) there are both an image message and an imu message. Then many IMU messages and again, both Image and IMU message at time (j).
The fact is that the Image and IMU messages are just not synchronized. There is an Image message at time (i) and then an IMU message at i plus a little offset. If you want to have the imu at time (i) you'll have to estimate it by previous and maybe later readings.
The realsense2_camera wrapper has 2 separate callback functions. One is handling the images and the other dealing with the IMU messages. Their timestamps have a shared basis so you can relate them to one another but as to this moment there is no plan on synchronizing them in the way you describe.

@RealSenseCustomerSupport
Copy link
Collaborator


Hi.

Will you be needing further help with this? If we don’t hear from you in 7 days, this issue will be closed.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants