How to implement time synchronization among GNSS boards, lidar, and cameras.
Dear Dr. Zheng,
I currently have a ZED-F9P GNSS board capable of outputting a PPS signal, along with a MID360 LiDAR and a Hikvision MV-CU013-A0UC camera. I have already achieved synchronization between the LiDAR and the camera using an STM32 development board and successfully reproduced FAST-LIVO2.
Now, I would like to use the GNSS board to synchronize the LiDAR and the camera. Do I still need the STM32 board? Can I directly connect the GNSS PPS signal to the trigger lines of the LiDAR and the camera to achieve my goal?
I would greatly appreciate your guidance on this matter.
Best regards
More specifically, you can refer to this diagrammatic.
More specifically, you can refer to this diagrammatic.
Thank you for your reply, Dr. Zheng. Does this image correspond to a published paper or an open-source synchronization method? It looks very similar to FAST-LIVO2's approach (also using STM32).
Yeah, this is from MARS LVIG, an open-source project that integrates the FAST-LIVO2 system on the DJI M300 platform: https://mars.hku.hk/dataset.html. The microchip program source code is also publicly available.
Yeah, this is from MARS LVIG, an open-source project that integrates the FAST-LIVO2 system on the DJI M300 platform: https://mars.hku.hk/dataset.html. The microchip program source code is also publicly available.
Thank you for your reply, Dr. Zheng. I reviewed the LVIG project and synchronization code you provided, but I still have some questions. If I want to achieve synchronization between GNSS, LiDAR, and the camera, which specific board should I use? Is it the Arduino Uno board? And how should the wiring be implemented? It would be great if I could refer to your open-source FAST-LIVO hardware synchronization solution as a reference. https://github.com/xuankuzcr/LIV_handhold
Both Arduino and STM32 can be used. You can refer to the logic of the code written in Arduino to modify the STM32 code in LIV_handhold. There isn't a ready-made STM32 version available.
Hello I was considering theese two RTK modules (I'm interested in the RTK dongles instead of PPS solo boards because I would love to try the Livox Horizon with some mapping pipelines): https://gnss.store/en/zed-f9p-gnss-modules/126-233-elt0110.html#/61-gnss_module-l1_l2_zed_f9p https://gnss.store/en/septentrio-gnss-modules/540-elt0752.html
Both have PPS out. 3.3v TTL. I use Livox Converter2.0 which I believe should directly be able to read the signal.
the "C099-F9P application board" used on the drone also has 2 SMA outputs so I guess PPS is output as in the modules I'm considering. My question is, how the do you convert SMA out cable into the JST GHR-03V-S of the livox converter, or even to pins for the At mega used for this project? I'm totally lost on this.
Also, the camera used on the drone, the Hikvision CA-050-11UC, has no sync input according to specs despite the graph above seems to sugest that, may be you're registering the pulses on the on board computer instead?
Hikvision CA-050-11UC, specs: https://detail.1688.com/offer/592300766689.html
My plan is to use raspberri pi 5 with NVME to capture the .bag and do all the computations on the desktop pc.
Tx