Skip to content

Walk error calibration

iliasam edited this page Jun 30, 2024 · 11 revisions

This calibration in needed to compensate walk error - error in time measurement, that appears because of changing amplitude of received signal.
Shape of the received signal (same distance, different reflection coefficient):

To compensate this error, MCU can calculate a special correction, based on measured pulse width (pulse width is correlated with pulse amplitude).
See this description: https://github.com/iliasam/OpenTOFLidar/wiki/TDC-data-processing

Collecting calibration data

Firstly you will need to collect data to process.
Needed data is: TOF measurements at single distance, but with different amplitudes.
Data must be collected with stopped mirror.
Calibration is correct only for LIDAR parameters that was set during calibration (laser voltage, APD voltage, comparator threshold voltage). So if you change that parameters, you will need to do calibration again.
All measurement must be done at the same distance, 1.5m for example. But do not make is very big - you need to have first measurements with big amplitudes.

  • You need to run "LidarTestingUtility", open connection, confirm that distance is measured stable.
  • Set "Auto Request Batch" switch.
  • Confirm that received signal is really high (see histogram width and "AVR WIDTH" value).
  • Press "START" button in "Slow Recording" panel. Utility is recording measurements now.
  • Begin to close slowly the receiving lens with something opaque (like black paperboard). Confirm that light from the laser can't reflect from that opaque object, and this object is not closing transmitted laser beam.
  • Confirm that you do not touch LIDAR, so distance must be stable during measurements.
  • Press "STOP" button in "Slow Recording" panel when received signal will be low (when histogram will be too wide and unstable). You need to collect at least 20-30 points with different amplitude using this method.

Processing calibration data

  • You need to open "Calibration" page in "LidarTestingUtility"
  • Load calibration data using "Last File" or "Select File" buttons in "Open" group. Collected data should look so (every captured point is marked by small cross):

    Horizontal axis is "WIDTH" in BINs, vertical axis is "START" offset (minimal "START" value from the recorded values is used as zero level) in BINs.
  • You need to move "Fit Start" slider to set start position of the fitting process and press "Fit" button.
    The resulting curve should be shown like at the picture above (red line). If this resulting curve looks fine, you can load its coefficients to the MCU by pressing "Send Coeffs. to MCU" button.
  • Press "Save to Flash" at "Main" page in "LidarTestingUtility".