wrong image timestamps under heavy load #228
Labels
bug
Something isn't working
triage needed
The Issue still needs to be reviewed by the Azure Kinect ROS Driver Team
Describe the bug
We encountered that images are published with wrong timestamps when the CPU or GPU is under heavy load. When this happens, the driver prints the warning
Initializing or re-initializing the device to realtime offset
.To Reproduce
Steps to reproduce the behaviour:
Expected behaviour
As far as I understand, the camera has a dedicated hardware clock. I would expect that, while images may be dropped under heavy load, the timestamps and image data stays synchronised and that the timestamps increase monotonically.
Desktop (please complete the following information):
Additional context
The function in question is
K4AROSDevice::updateTimestampOffset
:Azure_Kinect_ROS_Driver/src/k4a_ros_device.cpp
Lines 1492 to 1525 in c0742b9
which resets the time offset and thus causes that the image data does not have a monotonic time anymore.
Is there documentation on this behaviour? The sensor has a separate hardware clock that should make sure that image data always has a monotonic time source. From my understanding, the system and the sensor both have monotonic clocks, but with different offsets. The
device_to_realtime_offset_
(the offset between the world time on the system and the local time on the sensor) should only be set once when the sensor starts, and never change. What is the purpose of resetting this offset?The text was updated successfully, but these errors were encountered: