godel
godel copied to clipboard
keyence_driver: published point clouds have 'made up' timestamp
Point clouds published by the driver node have a timestamp, but it is set to the time at which the conversion from profile data to Point cloud began (see driver.cpp, L514).
For accurate matching of profiles against TF data, it is probably necessary to improve this. However, this might prove difficult, as the Keyence protocol does not encode any time information in its messages, nor in the profile data.
A field with a similar function is the encoder_count
field, but that is (as the name suggests) only used to affix an encoder count to a profile.
One option might be to move the setting of the ROS hdr.stamp
field up to where the initial Keyence data packet is received, and in addition make sure that only POS_CURRENT
is used for the byPosMode
field.
System currently works as-is. This is a nice-to-have for the current project.