ROS Timestamps for libusb in the Linux Kernel

Autonomous robots use sensors to detect and explore their environment. Having exact timing information for the sensor data is important to get valid information out of the gathered data. To acompany this, every dataframe is stamped with the time of measurement.

Robot Operating System (ROS) is a widespread and commonly used middleware for robot-related programming. The typical ROS timestamp is currently taken in the user space of a ROS node. This introduces a lot of jitter and delay between the acutal measurement time and the attached timestamp of a datum.

A widely used class of sensors for robots are USB cameras. This cameras are usualy USB video device class (UVC) compliant. This theses should investigate how much jitter and latency may be reduced by taking timestamps in kernel space instead of user space. To acomplish this the corresponding drivers need to be extended such that the timestamps are transported to the userspace.

Further Reading