anqixu / ueye_cam

A ROS nodelet and node that wraps the driver API for UEye cameras by IDS Imaging Development Systems GMBH.
Other
60 stars 102 forks source link

Camera imu synchronisation #62

Closed Changliu52 closed 6 years ago

Changliu52 commented 6 years ago

Hi @anqixu,

Thank you for the neat project. I am trying to develop hardware sync between imu and camera.

I am thinking to use an arduino with mpu6050 and generate external trigger signal for a ueye cam. Those are all cool, but I need a way to change the timestamp for the output image frame, in order to have the same time frame with the triggering imu message.

Is there a way, that is implemented to do that properly? You had the multi cam hardware sync with two identical timestamp right?

Thank you for your time. Chang

anqixu commented 6 years ago

If you want the IMU + camera to be perfectly synchronized in real-life, then that's only possible up to a certain temporal accuracy based on the length of wires you chooose, and the timing accuracy of the microcontroller you choose. Generally speaking, it's really hard to align two slave devices to be triggered within a few us of each other.

However, if you just want to process synchronized IMU and camera messages together, have a look at TimeSynchronizer.

And if you really really want the IMU and camera message timestamps to be identical, you can have an intermediary node use TimeSynchronizer, then overwrite camera.header.stamp with imu.header.stamp.

Changliu52 commented 6 years ago

Great! Thanks.

Chang

Sent from my iPhone

On 10 Nov 2017, at 14:32, Anqi Xu notifications@github.com wrote:

If you want the IMU + camera to be perfectly synchronized in real-life, then that's only possible up to a certain temporal accuracy based on the length of wires you chooose, and the timing accuracy of the microcontroller you choose. Generally speaking, it's really hard to align two slave devices to be triggered within a few us of each other.

However, if you just want to process synchronized IMU and camera messages together, have a look at TimeSynchronizer.

And if you really really want the IMU and camera message timestamps to be identical, you can have an intermediary node use TimeSynchronizer, then overwrite camera.header.stamp with imu.header.stamp.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

mzahana commented 5 years ago

@Changliu52 Were you able to do the IMU+uEye cam synchronization ?

I also have an arduino and MPU6050, and was wondering if that is implemented somewhere.

Thanks.