Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduction
To produce accurate pointclouds from a Mobile Mapping System (MMS), the distance (lever arms)
and orientation between the laser scanner and IMU must be precisely known. By mounting the
sensors on a Computer-Aided Manufactured (CAM) mount the precise levers are known, and
therefore only the orientation needs to be determined. This process if often referred to as
boresighting or scanner-IMU calibration.
Methodology
The basic principle is to scan flat vertical and flat horizontal features from different directions and
different angles. The laser data from the multiple passes is then compared to determine an optimum
set of values for heading, roll and pitch.
An important factor to also consider is the Inertial Navigation System (INS) accuracy since we don’t
want to add other potential error sources into the dataset. To ensure an accurate INS trajectory it is
important to have perfect GNSS visibility, a short baseline (distance between the trajectory and GNSS
base station) and a good initialisation and de-initialisation.
A good calibration site consists of at least two walls that are perpendicular to each other that are 3m
or more in height with a large flat driving surface in front of them. A shopping mall car park usually
serves this purpose well.
Pre-Requisites
Software
This guide has been developed and tested with the following software versions:
User Experience
The guide assumes the user has a basic knowledge of TerraScan.
Page 1 of 11
Example Calibration Project
Here we present an example scanner-IMU calibration project for a single scanner MMS (although the
methodology for a dual scanner system is the same).
Calibration Site
Figure 1 shows an aerial view of the calibration site with the trajectory shown in green. The site has
two perpendicular walls over 8m (Figure 2) and an asphalt driving surface that is large enough for
driving in different directions and orientations.
Page 2 of 11
Capture Details
The scanner was set to quite a low Pulse Repetition Rate (PRR) since a high point density is not required
for calibration and also because the processing will be quicker with less points. It is not necessary to
drive slowly as this will only result in a higher point count.
In this particular example four figures of 8 and an oval was driven, but generally 1 figure of 8 and an
oval in each direction is optimum (repeating the same drive pattern does not add any new geometry
to the solution and only adds to the point count).
Give the MMS a name and click on Add… to enter the scanner lever arms (Figure 4).
Use the scanner number as defined in MMProcess (0 is left, 1 is right, 2 is centre). Enter the scanner
lever arms (Figure 5), noting that TerraScan uses a different lever arm coordinate system to
MMProcess (Table 1).
Page 3 of 11
Figure 5: Scanner lever arms
MMProcess TerraScan
X Y
Y X
Z -Z
Load the pointcloud into TerraScan, ensuring that the scanner number is set to use from file (Figure
8). Assigning a scanner system to the pointcloud allows TerraMatch to ensure that any heading, roll
and pitch calculations are rotated around the scanner centre rather than the IMU’s.
Page 4 of 11
Figure 8: Load points
Figure 9 shows the pointcloud coloured by flightline for this example calibration project.
Page 5 of 11
Processing Step 3 – Tieline Setup
Load TerraMatch and open the define tie lines dialog (Figure 10).
Laser time gap should be set to 0.5sec. This defines the spacing in time between accepted tie lines.
Max error xy and z should be set to the current maximum mismatches in the calibration dataset, but
generally 0.3m should work for most uncalibrated datasets.
Fit tolerance defines how flat a surface must be for a tie line to be placed on it. This will be a
combination of the scanner noise and the surface roughness. 0.02m is used in this example since the
data was captured with a VQ450 (5mm noise) and the majority of surfaces were generally flat (brick
and asphalt, 10mm roughness).
The laser data has not been (and does not require) classification, so the points are in default class 1.
Therefore enter 1 for ground and wall classes. Roof classes are used for airborne data sets, and target
classes are used for identifying 3D control points, so these settings can be ignored.
Separate scanners defines whether tielines will be searched for scanners individually or combined.
Therefore for calibrating multiple scanner systems this must be ticked. For single scanner systems this
can be either ticked or unticked.
Page 6 of 11
Processing Step 4 – Searching for Tielines
On the tielines dialog, click on File, Search tie lines…
We will search for vertical walls and flat ground. But these search steps are best done separately
otherwise we will have too many ground tielines and not enough wall tielines (Figure 11).
Use Loaded points, ignoring first and intermediate echo locations (flat surfaces will only be last echos).
Use a spacing of 1m, and tick Find vertical walls. Untick the remaining check boxes.
For the walls, enter the average height of the walls in your calibration site. In this example the buildings
are made up of 2.5m of brick and 5m of corrugated iron, so a length of 2m should ensure tielines are
placed throughout the site.
To ensure the tielines are placed on flat vertical features define a search depth of 0.3m, and a
maximum angle from vertical of 0.5 degrees.
Click ok to search for tielines. Ideally the number of wall tie lines found will be above 50. For this
calibration example 148 tie lines were found (Figure 12).
Search for the worst tie lines by clicking on Position, Find worst. Ensure the worst tie line position is
valid (some tie lines might be placed either side of a small column for example). Delete the tie line if
it is invalid and then search for the next worst tie line and again delete if necessary.
Page 7 of 11
Figure 12: Wall tie lines
Search for flat ground tie lines (Figure 13). Use a perpendicular direction, length of 3m (use a smaller
value if your ground surface is more irregular), depth 0.3m and maximum angle 0.5 degrees.
Try to get a similar number of flat ground tie lines to wall tie lines. So increase the spacing to a higher
number, in this example we will use 5m spacing.
Search for the worst tie line again and then delete if necessary.
Page 8 of 11
Processing Step 5 – Solve for Heading, Roll, Pitch
On the TerraMatch toolbox, select Find Tie Line Match.
Select Mobile as the system, source as Active tie lines, solve for the Whole data set, Solution per
scanner (you can choose combined solution if there is only one scanner), and correct for All solution
sets.
Solve for heading, roll and pitch (Figure 14), and click ok.
The calibration results will be shown in a report along with the resulting accuracy and number of
useable observations (Figure 15). Generally there will be few heading results, and if there are less than
5 useable heading results then you should search for more wall tie lines or add some manual xy tie
lines.
Page 9 of 11
A final average xy and z mismatch that is the same or better than the noise of the scanner is an
excellent result. If the INS trajectory did not have a good accuracy then expect the average mismatches
to be a bit higher (equal to the average GNSS mismatch between flightlines).
On the results dialog save the results by clicking on File, Save corrections…
Check the calibration values are accurate by clicking on the Apply correction button on the TerraMatch
toolbox. Apply to loaded points, load corrections from file (TerraMatch will automatically pick the last
saved solution file). Click ok to apply the corrections (Figure 16) and check the results in the pointcloud.
1. Click on File, Application Settings. Right click on the system in the System Settings tab, and
click on Edit System. Right click on a scanner row and select Import Calibration Data. Browse
to the TerraMatch solution file and then select Increment (Figure 17). Repeat for each scanner.
2. Click on Project, Project Settings. Right click on a scanner row and select Import Calibration
Data. Browse to the TerraMatch solution file and then select Increment (Figure 17). Repeat
for each scanner. Save the project. Click on File, Application Settings. Right click on the system
in the System Settings tab, and click on Update from Project File and select the update
MMProcess project file (.smx).
Page 10 of 11
About the Author
Dr. Christopher Cox has over 11 years' experience in the LiDAR
industry. He was awarded a PhD in 2003 by the University of
Nottingham for his thesis entitled ``The Use of Computer Graphics for
Visual Impact Assessment``. Chris joined 3D Laser Mapping in 2005
and specialises in mobile mapping and airborne LiDAR research and
development, as well as software support and training.
Page 11 of 11