Synchronization


An MCU produces different types of square wave signals. The different signals are marked with different colors, the period is indicated below the signal, and the pulse width above. The vertical lines on the left and right (purple) indicate the temporal location of the start and ending signals communicated to the MCU. Note that only one signal is indicated for each stereo pair.


All sensors including the MoCap system are synchronized at the hardware level and triggered by a micro-controller unit (MCU). We use an STM32F407 and rely on the onboard external oscillator as a main clock to produce the trigger signals.

To suit the needs of the different types of sensors, the MCU outputs a variety of signals that adhere to the different synchronization interface specifications. After the MCU receives a start trigger from the user, it forwards a sequence of 200 pulses to the right event camera (master). This signal is used to calibrate the internal clock of the event camera in 5ms intervals, and synchronization within the pair is achieved via the internal firmware and a daisy chain connection. The same signal is also forwarded to the IMU. For the regular cameras, the MCU transmits a 30Hz signal with a 10ms pulse width to control the exposure intervals’ beginning and end. The RGB-D sensor also receives a 30Hz signal but with a 1ms pulse width as required. The LiDAR’s internal clock is synchronized with the MCU’s through a mimicked analog GPS NMEA time signal, and individual scan capture is triggered by an additional 1Hz signal. The MoCap system receives a constant 120Hz signal from the MCU irrespectively of whether or not data recording is in progress. An independent high gate signal is used to mark the start and the end of an entire sequence. When the MCU receives an end trigger from the user, all aforementioned signals except for the constant MoCap signal and the GPS NMEA signal are terminated.

[NEW 2022-04] Sync Toolbox: This open-source toolbox provides a QT-based GUI to allow easy access for hardware-level multi-sensor synchronization. After proper configuration of the software, users can seamlessly record new ROS bags.