ROS Clock

This is also a VERY important concept to understand. I’ve had a lot of time synchronization issues. ROS communication depend on time.

This is why having robots connected to the internet is important, so that they can sync with a NTP server from time to time.

Every time there is use https://design.ros2.org/articles/clock_and_time.html

Types of Clocks

  1. SystemTime: This is just the regular wall-clock time provided by the operating system. It is subject to changes, such as NTP updates or manual setting by a user.
  2. SteadyTime: This clock only moves forward and is not subject to adjustments. It’s useful for measuring time intervals.
  3. ROS Time: This is a specialized ROS clock that can represent either the System Time or the “Simulated Time” (Sim Time). ROS Time is mostly used because it offers the flexibility to switch between real-world and simulated time sources, which is essential for debugging and testing.