diff --git a/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java b/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java index 4e52dd359c5bf33757e2d5c0620a51b280ae7e8a..22d4e3243b4ec1f029fb3ba79884725b79e78d4b 100644 --- a/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java +++ b/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java @@ -57,7 +57,12 @@ public class ClockTopicTimeProvider implements TimeProvider { @Override public Time getCurrentTime() { - Preconditions.checkNotNull(clock); + // When using simulation time, the ROS Time API will return time=0 until it has received a + // message from the /clock topic. + if (clock == null) { + return new Time(); + } + synchronized (mutex) { return new Time(clock.getClock()); }