Sensor Calibration

The Aerial Calibration preset in LiDARSnap makes global roll, pitch, and yaw adjustments to a dataset by modifying the sensor-to-IMU transforms in the lidar Settings->Calibration tab:

When building a pointcloud, the lidar's orientation is determined by taking the IMU's orientation and applying a set of transforms (rotations and translations) specific to the lidar scanner. A lidar dataset will exhibit consistent and systematic errors if these transforms are incorrect:

Five different flight lines of UAV lidar data fail to correspond well with each other due to incorrect sensor-to-IMU rotations.

Typically sensor-to-IMU translations are taken from mechanical drawings, and do not need to be solved for using LiDARSnap. Generalized sensor-to-IMU rotations can also be determined from mechanical drawings (e.g., 180 degrees along IMU-X, -180 degrees along IMU-Z), however precise values, unique to each system, must be determined via a calibration routine.

Generalized values from mechanical drawings are shown under the Mounting Transform section, and system-specific calibration values are shown in the Mounting Calibration section. Note that calibrated translation values are not present in the Mounting Calibration section, as translations are not typically calibrated.

All lidar systems are calibrated prior to delivery to the end user, however frequent use, mishandling, and system age can invalidate this initial factory calibration over time, therefore relative accuracy in a dataset may be improved via sensor calibration.

Sensor calibration requires certain geometry to be present in a dataset. Man-made planar features need to be present, ideally with a variety of normals. IMU-to-sensor pitch and roll can be solved for using flat ground (such as a parking lot), however solving IMU-to-sensor yaw requires upright and pitched surfaces.

When running the Aerial Calibration LiDARSnap preset, the Sensor tab will indicate that the Mounting Rotation (IMU-to-lidar yaw, pitch, and roll) has been enabled for optimization, as well as certain laser intrinsic values:

Image showing LiDARSnap with the sensor tab open.

The Trajectory tab of LiDARSnap should have nothing enabled when using the Aerial Calibration preset. In general, it is not recommended to have both sensor and trajectory features enabled for optimization in a single LiDARSnap run - either solve for trajectory parameters OR sensor parameters.

The result of an aerial calibration LiDARSnap run is modified sensor-to-IMU rotation values (as well as modified laser intrinsic values), visible in the lidar settings calibration window. Often, lidar data misalignment issues persist even after sensor calibration, as non-constant errors in the trajectory are not resolvable via sensor calibration.

Last updated