Boot Bug Regarding Time Synchronization

Hi Everybody,

We have found a bug that can occur with our ROS nodes at bootup.

The raspberry pi has no-real time clock in it - so when you boot it defaults to a date 40 years in the past. This usually isn’t a problem because as soon as it gets access to a clock server its date synchronizes to the correct date and everything is fine. However it would seem that the node that publishes the transform between camera position and the robot’s base link position usually boots faster than we get a clock sync. There is a bug in this node (robot_state_publisher) that causes it to crash when the time jumps.

There is also another bug in fiducial_slam that when the tf is not published the system assumes a transform of unity.

This can result in the weird navigation results that some of you are seeing.

The good news is that we included a real time clock on the robot to make up for the fact that the raspberry pi doesn’t have one. We have also just released a work around in the boot sequence for the issues with boot. So the recommended actions are:

  1. Make sure the button battery is in place. You’ll note that there is a button battery holder on the back of the PCB. You need to put in a CR2032 battery and the real time clock will work.

  2. Type sudo apt update ; sudo apt upgrade To get the work around code.

A comprehensive diagnostic list will follow shortly.

Rohan
Ubiquity Robotics