-
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
rs.frame_metadata_value.backend_timestamp
is always 0
#9891
Comments
Hi @joshuafishman In #7837 (comment) a RealSense team member explains that the timestamps of acquired frames will intentionally be older than the time of a call made by wait_for_frames(). In regard to a zero value for the backend timestamp, as mentioned in #7972 there have been past cases where this has been reported on devices with an Arm processor (Raspberry Pi, Nvidia Jetson, Android, etc). Are you using a computing device with an Arm processor, please? Using a 5.11 version kernel could also potentially introduce unpredictable stability problems, as 5.11 is not yet officially supported in the librealsense SDK. Using a librealsense build based on the RSUSB backend should help to avoid this, as an RSUSB build of librealsense is not deoendent on Linux versions or kernel versions and does not require patching. |
Hi @MartyG-RealSense , thanks for your help! I built from source with the RSUSB backend and I'm using an AMD Ryzen 7 processor. |
The 400 Series cameras are designed to work with any Intel or Arm CPU. AMD processors are more of an uncertain area, though RealSense users have been able to use them with AMD Ryzen and Threadripper CPUs in the past but not always 100% problem-free. As you are using an RSUSB build, it is less likely that your problem is related to your Linux version or kernel version. My understanding (I am not involved in SDK development) is that when global time is True, device time and system time are aligned. Some RealSense users find that in their particular project, use of global time causes drift in their timestamp values that is resolved by disabling global time. #3909 and #4505 provide further explanation about global time. |
Hi @MartyG-RealSense , it seems that the backend timestamp is also 0 on an intel core i7 processor. |
Disabling the global timestamp with
seems to set |
If you need a timestamp based on the host clock then referring to the time_of_arrival timestamp (which your script already prints) may provide an alternative to the backend_timestamp. A RealSense team member describes the different types of timestamp in #2188 (comment) |
Hi @joshuafishman Do you require further assistance with this case, please? Thanks! |
Hi @MartyG-RealSense , I haven't made any progress -- the time_of_arrival timestamp is later (ie more wrong) than the global timestamp, so that doesn't help us very much. Right now we just subtract 80ms from the global timestamp and results look reasonable, but that's not ideal and recovering the backend timestamp would be helpful. |
I researched the case from the beginning again but did not find any new leads beyond what has already been listed in this case, unfortunately. |
OK -- I appreciate your efforts! |
Case closed due to no further comments received. |
Issue Description
I'm trying to use the metadata timestamps to compensate for what appears to be an ~80ms delay (i.e.,
get_timestamp()
reports a value which seems ~80ms late). However,rs.frame_metadata_value.backend_timestamp
is always 0.What might cause this? Could it be related to the unexplained delay?
Example script:
prints e.g.
Sensor: 888.8259390000001 Frame: 888.829451 Backend: 0 Arrival: 1635200628.696 Global: 1635200628.6944928 Start: 1635200623.3859117
The text was updated successfully, but these errors were encountered: