-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Accel and Gyro data syncronization #3921
Comments
I wrote a utility to align gyro data with accel data in a bag by finding the two nearest gyro frames for a given accel frame and then interpolating the gyro's angular velocities using bilinear interpolation. The combined This hack is a bit harder to do in a live stream and has performance implications. Before I go implement this hack as a ROS node may I ask if there is a reason why the API doesn't provide a combined accel+gyro data stream (@dorodnic @doronhi)? Is this a feature you folks are willing to consider adding? Also, related is the question of timestamps for the IR images and their alignment with the gyro/accel frame timestamps. I just did an experiment where I captured three calibration sequences at different fixed exposures for the IR camera (2ms, 4ms, 8ms). Then I used a calibration algorithm to estimate two properties of the sensor stack:
As expected the IMU transform was estimated to near identical values for all three datasets and the values where similar to the ones provided by the device in the topic However, the estimated IMU timeshift for these three datasets had the following profile: A good policy for camera timestamps in VIO sensor stacks tends to be Also, besides the Thank for your excellent product and service. |
Hi, |
@doronhi thanks for that reference. That answers my questions. |
|
Was this resolved by customizing the frame timestamp domain to either librealsense/include/librealsense2/hpp/rs_frame.hpp Lines 450 to 454 in 9f99fa9
I'm also having some issues where I'm getting metadata for my accelerometer, thus the hardware clock, but not for the gyro, where I'm only getting the system time, even though I believe my config has met metadata support requirements. https://github.com/IntelRealSense/librealsense/blob/master/doc/frame_metadata.md#metadata-support-for-intel-realsense-devices |
Issue Description
Many applications and algorithms consume IMU data with both accel and gyro readings for a given timestamp (i.e., they expect synchronized, instantaneous accel & gyro data) . The rosbags captured using D435i have separate rostopics for the accel and gyro data. Both these rostopics have a message type of
sensor_msgs/Imu
. The accel and gyro messages have different time stamps and thesensor_msgs/Imu
messages corresponding to the accel does not have gyro values (and vice versa).I was gonna solve this issue by writing a utility that combines the accel and gyro rostopics into a single IMU topic by interpolating the gyro readings to align with the accel readings. Before I implemented this utility I figured I would ask if the API already provides a workaround/solution for this issue.
The text was updated successfully, but these errors were encountered: