ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Synchronize linux against PPS clock with Piksi Multi RTK

asked 2021-02-26 05:23:17 -0500

xaru8145 gravatar image

updated 2022-05-15 08:29:56 -0500

lucasw gravatar image

I would like to sync my Arm computer host clock with the PPS clock from a GPS.


My host computer is an Nvidia Jetson Xavier and is connected to the Piksi through ethernet using tcp.

I am using Swift Navigation Piksi Multi RTK GPS. It uses SBP (Swift Navigation Binary Protocol) as the communication protocol and I use the ethz_piksi_ros driver to read those SBP msgs and transform them into a ROS message. There is an option to get the GPS time instead of doing ros.Time.Now and getting the time after processing the message. We also use the Swift Navigation Evaluation board that can be connected to a GPIO on the NVIDIA and read the PPS signal.


In order to sync the clock of an ARM host with PPS clock you need 2 things:

  1. Absolute time
  2. PPS signal

Current solutions

I have spend a decent amount of time doing some research on syncing the clocks and the typical way to go is use gpsd to read the absolute time from GPS through NMEA protocol using serial communication. Then, it uses this time together with PPS and syncs the clocks using chrony or ntpd.

Needed solution

However, instead of using NMEA I use SBP and rather than serial communication I use ethernet. I have the absolute time in a ROS message that I am hoping I can use somehow rather than having an extra connection to read again the time in a way gpsd supports. Is there any way I can do the clock synchronization with my current setup? Has someone attempted something similar or researched about this?

Thanks so much! Any help is greatly appreciated.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-06-15 05:20:42 -0500

xaru8145 gravatar image

If someone is interested, the piksi ROS pkg now publishes a time message that is compatible with ntpd_driver which allows for time synchronization through ROS.

edit flag offensive delete link more

Question Tools



Asked: 2021-02-26 05:23:17 -0500

Seen: 563 times

Last updated: Jun 15 '21