ueye_cam timestamp is 3600 seconds old - How to correct?
I'm running a ueye_cam
node as follows:
<node pkg="nodelet" type="nodelet" name="nodelet_manager" args="manager" />
<node pkg="nodelet" type="nodelet" name="ueyecam" args="load ueye_cam/ueye_cam_nodelet nodelet_manager">
<param name="camera_name" value="ueyecam" />
<param name="image_width" value="1600" />
<param name="image_height" value="1200" />
<param name="frame_name" value="ueyecam" />
<param name="camera_intrinsics_file" value="ueyecam.yaml" />
<param name="frame_rate" value="15" />
<param name="exposure" value="10" />
</node>
But in contrast to other nodes and the official unix timestamp, the timestamp of the /ueyecam/image_raw
message is 3600 seconds (=1 hour) old. I wouldn't care much, but my robot_localization_ekf
node rejects such old messages and I'm getting warnings on the console output concerning the detected AR markers:
Warning: TF_OLD_DATA ignoring data from the past for frame ar_marker_18 at time 1.45674e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
at line 260 in /tmp/binarydeb/ros-indigo-tf2-0.5.12/src/buffer_core.cpp
Warning: Warning: TF_OLD_DATA ignoring data from the past for frame ar_marker_18 at time 1.45674e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
at line 260Warning: TF_OLD_DATA ignoring data from the past for frame ar_marker_18 at time 1.45674e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
at line 260 in /tmp/binarydeb/ros-indigo-tf2-0.5.12/src/buffer_core.cpp
TF_OLD_DATA ignoring data from the past for frame ar_marker_18 at time 1.45674e+09 according to authority /ueyecam_alvar
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
at line 260 in /tmp/binarydeb/ros-indigo-tf2-0.5.12/src/buffer_core.cpp
in /tmp/binarydeb/ros-indigo-tf2-0.5.12/src/buffer_core.cpp
Warning: TF_OLD_DATA ignoring data from the past for frame ar_marker_18 at time 1.45674e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
at line 260 in /tmp/binarydeb/ros-indigo-tf2-0.5.12/src/buffer_core.cpp
Is there a way to define a time offset for ROS nodes? Or do I really need a helper node fixing the timestamp?
IIRC, the timestamp actually comes from the camera itself. Have you checked the time on the camera? 1 hour seems like a daylight saving or timezone issue.
@gvdhoorn: Sure, looks like a wrong timezone. But I'm not sure how to check the camera time. Does it really has an own clock? (This is the camera: https://en.ids-imaging.com/store/ui-3... )
You should be able to configure the camera using the IDS tools. I just remember the ethernet based cameras to have their own date/time setting. I'm not saying that it is the cause of what you're seeing, but an offset of exactly 3600 seconds is a bit suspicious.
I would also recommend to report this a the
ueye_cam
issue tracker. Anqi is pretty responsive.Ok, I contacted IDS about this issue. I couldn't find such a setting in the camera manager, but maybe I overlooked something. If they can't help, I might file a bug for ueye_cam.
Just curious: did you ever figure this one out?
@gvdhoorn: No, I'm still using the workaround described below. The IDS support replied referring to the u64TimestampDevice property of the UEYEIMAGEINFO structure. But since I'm using the ueye_cam node and don't want to implement it myself, I'll stick with my workaround for now and file an issue.
I reported the issue to ueye_cam: https://github.com/anqixu/ueye_cam/is...