Version 11 (modified by mggr, 16 years ago) (diff)


LIDAR processing notes

Notes from visit to Leica, Switzerland on 11/Aug/2008.

Contact email:

  • sensors_emea@…
  • Various support engineers at Leica. The one that trained us was Barbara Haebler.

FTP site (for updates, etc):

Things that may go wrong

In flight

Flying too low - if the LIDAR detects that the laser power may be too high for eye safety, it will cut out the laser automatically (if you're a seagull looking up, bad luck, it only accounts for ground height).

Flying outside the "range gate" (acceptable ranges of distances) may cause similar effects. Going too high will tend to make the edges of the swath drop out first (due to path length).

Automatic gain control weirdness - the measured intensity is returned via an AGC which may step up or down depending on the returns from the ground. Measured return intensity should only be used as a guideline rather than a real measurement.

Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong. For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.

Water absorbs IR, so expect poor returns from wet surfaces. Ideally one should wait for a whole dry day after rain.

In processing

Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.

Other error sources

Atmospheric effects; the light path may bend due to atmospheric refraction, density effects, etc causing the laser to hit the ground earlier or later than expected, or in a different position. This will be most noticeable at the edges of the swath where there are longer path lengths (and more atmosphere to pass through) and may look like the swath curls up or down at the edges (path length error), or may look like compression or stretching of the edges (if there is horizontal divergence). The error was claimed to be a fraction of a meter at 6km altitude (i.e. not well bounded). Measurement of temperature may help with this effect, but was said to be a minor value.

Range correction error; if the range correction is wrong, the electronics will measure the path length incorrectly. Points at nadir will be in error vertically only and points at the edge will have a vertical and horizontal error. The error will make a flat piece of land look like a smile (one can only get "late" measurements?).

Mission planning considerations

Water absorbs IR, so expect poor returns from wet surfaces. Ideally one should wait for a whole dry day after rain.

For differential GPS, aim to have a base station nearby (within 20km) and ideally in center of the scene. Base station data should be recorded at 2Hz

Ideally choose a time with a good GPS constellation (lots of satellites, PDOP >= 4).

Consider terrain and minimum target size to determine required point density. Steep terrain may cause shadowing effects due to perspective.

Consider reflectivity of surface - lighter surfaces need less laser power. Too high a power means intensity overflows on the reflection, which mess up the range - AGC should deal with this for large areas but it should be considered in planning, particularly for small bright targets on a generally darker background.

Recommended to do a figure 8 loop at the start and end of the data acquisitions to make the IMU happy. Need one at the end for reverse navigation processing.

Overall system design and comments of note

System is a Leica ALS50 (phase II) LIDAR. There is an accompanying 39 megapixel [7216x5412, 12bit] digital camera, referred to as the "RCD".

A GPS receiver and IMU (brand?) are included. The LIDAR, RCD and IMU, are mounted on a shock plate to protect it from strong movements - this will also isolate the IMU from the hyperspectral imaging sensors.

The IPAS controller (name correct?) allows for event recording, amongst other things. Phil plans to use this to record frame sync pulses from Eagle and Hawk.

There are also some associated control and display devices for operator and pilot usage.

How it works

The LIDAR works by firing a (4ns or 9ns) laser pulse downwards and measuring the roundtrip time for the light pulse to return, then converting this to a distance. The pulse isn't modulated by a carrier - it's just an on/off pulse. There are four timing cards ("range cards"), so up to 4 return pulses can be detected, with the intensity of the return measured only on the first 3 returns. A minimum time separation between two returns means the minimum distance between two returns must be at least 2.7m for them to be counted as independent. The expectation for the number of returns is 1 return ~100%, 2 returns ~10%, 3 returns ~1%, 4 returns ~0.1% of points - obviously this varies with the terrain.

The intensity of a return is measured as an 8 bit value (0=dark (water), 255=bright) and relates to the reflectivity of the illuminated surface. The value is amplified by an automatic gain controller, and is not related to a physical measure (can it be?). The intensity can be used in various processing algorithms to help distinguish transitions between surfaces. The AGC tries to keep the intensity in the range 100-150 or so.

There is also a "MPiA" (Multiple Pulses in the Air) mode, which fires two pulses evenly separated, rather than waiting for the first to come back before firing another [SPiA mode, times out in case the pulse is eaten]. If a seagull gets in the way of the second pulse before the first pulse has returned, things will mess up ;) (on an edge of a very unluckily placed cloud, this would look a bit like it merging into the ground).

The laser is scanned across a (up-to) 75 degree swath by an oscillating mirror. Due to the acceleration/deceleration of the mirror, this produces a sinusoidal pattern to the trace on the ground, with the highest density of points at the peak and trough of the sine wave (i.e. at the edges of the swath). If the swath width is set to less than 75 degrees (45 degrees recommended), there's a roll compensation mechanism that tries to smooth out small roll movements by using the remaining freedom of motion. The scan rate of the mirror is dependent on the FOV angle (36Hz for 40 degree FOV, 24Hz for a 75 degree FOV, calculate with 412.33 * FOV-0.6548).

The laser is an 8W class 4 laser, operating in the infrared range. The divergence results in approximately a 22cm spot on the ground when fired from 1000m up.

Controllable parameters:

  • laser intensity (0 -> 8W output), controlled by operator as a percentage output. Has safety cutouts if the light level at the ground could cause eye damage.
  • altitude (kinda a parameter ;) ) - minmium of ~650 up to ~2000m (after 2km, you start getting poor returns on forests, etc, the real limit is up to about 6km in ideal conditions)
  • ... pulse frequency, scan angle, etc [TBD]


Perform calibrations frequently at the start of the period to get a feel for how they hold. Reduce down to fit circumstances over time.

Required items for processing

Items required from every flight:

  • GPS and IMU data (including a basestation if not using PPP)
  • Raw laser data
  • Logfiles from LIDAR
    • Flight logfiles are useful too, if the LIDAR flight planning software is used
  • RCD & webcam images
  • Pressure and temperature measurements at the plane position above the site [this affects how long it takes the laser light to move through the air]

Items required in general:

  • calibration (see elsewhere)
  • lever arm measurements



Use IPAS Pro to extract GPS, IMU and laser data from the raw files.

  • probably worth having the real time navigation info (doesn't add a lot of processing time)
  • during extraction, view the listing and verify the lever arms are correct (IMU one should never change).
  • look out for data gaps (listed in log)

Most Leica systems are mounted "laser backwards" (cables will be at the rear if this is so) - ensure that z=180 in the IPAS Pro aircraft tab.

See other pages on navigation processing as they cover this already.

Initial QC

See if the lines are too short or if the point cloud has poor return %s. If so, check the following (look at webcam images for hints):

  • clouds
  • height problem ("range gate" issue)
    • eyesafe shutoff (too close to ground)
    • too high may give dropouts
    • find altitude over ground (measured GPS alt - geoid-spheroid height) and see if it's within the min & max ranges

Laser power too high - if the intensity overflows (reaches 255), the intensity based range correction will probably be wrong. For example, a freshly asphalted road with bright white reflective (overflowing) strips may appear with the strips appearing to float up to 20cm above the road surface.

  • filter out incorrect points (based on high intensity and height difference from locality?)
  • also, if you observe odd spikes, check for intensity over 150 - this may indicate a two-peaked response with the first peak being 150 (and being the detected one) and the second being 255 (overflow), causing the effect above


Parameters needing calibration

Lever arm measurements:

  • IMU -> sensor head (centre of mirror?)
    • Measured in the factory and provided by Leica
  • IMU -> measurement point [front left corner of the casing]
    • Measured in factory and provided by Leica
  • measurement point -> GPS antenna centre
    • We need to measure this one with a survey

Range offset correction.

  • Correction for the slightly different timing of the 4 range cards in the system.
  • At a set distance, the range cards should all return the same result.
  • Measured by Leica but also measured and verified in calibration procedure. (see below)

Factory calibrated

Intensity Based Range Correction (IBRC).

  • A range correction based on the reflectivity of the target object ("reflections are slower on darker objects"? perhaps this is more that a lower intensity return may take longer to be detected - i.e. takes longer for enough photons to come back to exceed the detection threshold).
  • Measured in factory and provided by Leica.

Transitional Pulse Rate.

  • 2 pulse widths are used (4ns and 9ns) depending on the pulse frequency (higher frequencies require a shorter pulse time), with the system switching over to a shorter pulse at a set frequency (around 120KHz?). This parameter measures the time difference for the pulses' return.
  • In our system, this distance is of the order of 11cm.
  • Measured in factory and provided by Leica.

Encoder Offset (scan angle correction).

  • The rotating mirror has a (optical?) shaft encoder attached that tells it the position of the mirror. The mirror will not be mounted exactly at nadir relative to the shaft encode and this value measures the offset between the centre of the scan pattern and the centre point of the encoder. The value is measured in "ticks" and will appear quite high as the shaft encoder has a high resolution (order of millions of ticks).
  • Measured in factory and provided by Leica.

Calibration site requirements

Flight pattern is a cross made of 4 opposing flight lines in the 2 directions (e.g. N->S v S->N + W->E v E->W), and one set of parallel lines with 50%(?) overlap.

The features required for a perfect cal site are:

  • Need a source of multiple returns - tallish (15m) trees in a forest are best. Try to include a treed/forested area in some parts of the flight lines (doesn't have to be in all, nor in the central area). The multiple returns are required for the range card calibration (see below).
  • Straight, flat areas made of a hard substance that'll generate only one return pulse. Roads or runways ;) These are used in the boresight and range calibrations.
  • Sloping peaked areas (house rooftops are ideal) with the peak cutting across the line of flight ( ---> /\ ). These are used to detect pitch and yaw errors in the boresight calibration.
  • An accurate ground survey (see below).
  • Slow overflight for maximum point density.

For range offset calculation

GCPs required, ideally 1cm vertical accuracy (between all measurements rather than absolute?).

Around 30-40 GCPs should be within the area covered by a 14 degree swath (+/- 7 degrees either side of nadir) taken at an altitude of ~750m [= ground swath width of about 180m].

General accuracy measurements

Other GCPs (number?) should be scattered around a wider area within the full swath width - typically run at 45 degrees [=620m wide on ground @ 750m alt] or to a max of 75 degrees [=1150m], though 75 degrees will introduce more errors..

Quality, accuracy, etc

A nominal quality of 5-10cm (vertical) is suggested as a reasonable output. If one has GCPs, it should be possible to do better (EA claims 1-2cm).

Range offset calibration

  • Two datasets required:
    • BIT (Built-In Test) mode data, where the range cards are all fed with identical fake data representing the same distance. All cards should give the same result, so differences are used to calibrate each card against the others.
    • A real dataset with