DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Frame Data Time Synchronization Ingestion Tool

Description

This tool is available on the x86 Host System.

This is an executable which takes a framedata ION/JSON file as input and synchronizes the timestamps, outputting a ION/JSON file containing synchronized timestamps in the Host time domain.

The tool currently supports Camera, CAN, GPS, IMU and Lidar framedata time synchronization. The tool synchronizes the timestamps of CAN signals, GPS frames, IMU frames, Camera frames and Lidar packets.

Input

The input file must be a ION/JSON file outputted by Frame Parsing Ingestion Tool. The supported output format types are "ion-text", "ion-binary" and "json". If a time sensor binary file is given, the time conversion is done based on the time sensor. Otherwise, the tool will just output each frame's host timestamp as the synchronized timestamp.

Output

The output ION/JSON file is filled with the serialized data of each sensor frame in the input file. The output format for each parsed frame is described below.

Usage

cd install/tools/ingestion ./timesync_framedata –input=[path to input ION/JSON file] –format=[ion-text|ion-binary|json] –output=[path to output ION/JSON file] [–time=[path to input binary time sensor file]]

Output Format

CAN
  • timestamp_us : the synchronized host timestamp in microseconds
  • payload : CAN signal data
    • message_index : uint32_t, index of the CAN message
    • signal_index : uint32_t, index of the signal within the message
    • signal_type : string, type of the signal, e.g. "bool", "float32"
    • signal_name : string
    • value : float64_t, raw value of the signal as a real number
    • unit : unit of the value, e.g. "m/s"
GPS
  • timestamp_us : the synchronized host timestamp in microseconds
  • payload : GPS frame data
    • latitude : float64_t
    • longitude : float64_t
    • altitude : float64_t
    • course : float64_t
    • speed : float64_t
    • climb : float64_t
    • hdop : float64_t, horizontal dilution of precision
    • vdop : float64_t, vertical dilution of precision
IMU
  • timestamp_us : the synchronized host timestamp in microseconds
  • payload : IMU frame data
    • orientation_[x] : float64_t, roll, pitch and yaw angle of the orientation in degrees
    • orientation_quaternion_[x] : float64_t, quaternion representation of the orientation
    • turn_rate_[x] : float64_t, roll, pitch and yaw angle turn rate in rad/s
    • acceleration_[x] : float64_t, acceleration in x, y and z directions in m/s^2
    • magnetometer_[x] : float64_t, measurement of the magnetometer unit in x, y and z directions in microteslas
    • heading : float64_t, heading of the IMU in respect to the ENU system in degrees
Video
  • timestamp : the synchronized host timestamp in microseconds
  • payload : Camera frame data
    • frame_num : uint32_t, index of the frame
Lidar
  • packetTimestamp_us : the packet's synchronized host timestamp in microseconds
  • spinTimestamp_us : the synchronized host timestamp of the first packet in the current spin in microseconds
  • payload : Lidar packet data
    • packet_index : uint32_t, index of the packet within the spin
    • frame_index : uint32_t, index of the Lidar spin
    • azimuths_rad : float64_t[], the list azimuths of the current packet in radians