annual report on development of a simulator for airborne

40
Annual Report on Development of a Simulator for Airborne Altimetric LiDAR Work conducted under RESPOND programme of ISRO Department of Civil Engineering Indian Institute of Technology Kanpur Kanpur-208 016, INDIA National Remote Sensing Agency Indian Space Research Organisation Balanagar, Hyderabad Principal Investigator Dr. Bharat Lohani Assistant Professor Department of Civil Engineering Indian Institute of Technology Kanpur Kanpur-208 016, INDIA Tell: +91-512-259 7413 Fax: +91-512-259 7561 [email protected]

Upload: others

Post on 21-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Annual Report on Development of a Simulator for Airborne

Annual Report on

Development of a Simulator for Airborne Altimetric LiDAR

Work conducted under RESPOND programme of ISRO

Department of Civil Engineering Indian Institute of Technology Kanpur Kanpur-208 016, INDIA

National Remote Sensing Agency Indian Space Research Organisation Balanagar, Hyderabad

Principal Investigator

Dr. Bharat Lohani Assistant Professor

Department of Civil Engineering Indian Institute of Technology Kanpur

Kanpur-208 016, INDIA Tell: +91-512-259 7413 Fax: +91-512-259 7561

[email protected]

Page 2: Annual Report on Development of a Simulator for Airborne

2

Preface

This report describes development of a simulator for airborne altimetric LiDAR. The

main aim is to simulate LiDAR data collection process as nearly as possible and generate

data for a given terrain with specified sensor and trajectory parameters. The simulator has

mainly three components, viz., platform, sensor, and ground. The platform component

involves simulation of the trajectory of the platform using the accelerations, velocities

and attitude parameters. Mathematical functions that produce pseudo random values are

used to generate the accelerations and attitude parameters. The acceleration and attitude

are simulated to resemble a normal flight. Using these, the coordinates of the laser head

and attitude parameters at the instance of each firing of laser pulse are determined.

Simulation of sensor component involves replicating the scanning mechanism and is

designed to account for various sensor parameters such as scan frequency, firing

frequency, scan angle, etc. The terrain is modeled using various mathematical surfaces.

Attempt is also made to develop a raster approach for bare terrain and above ground

objects. Different objects such as buildings, cylindrical objects, roads, and slant roofed

buildings are modeled. The firing of laser is replicated using a laser vector which is

defined by the coordinates of laser head and direction cosines in a specified coordinate

system for the laser fired. The laser vector equation is solved to obtain the intersection of

the laser beam with the mathematical surfaces representing terrain to get the LiDAR data.

Numerical methods and different algorithms are used to solve complex problems of

determining the intersection of laser vector and ground surfaces. The algorithms

developed are coded in JAVA programming language to make it platform independent,

i.e., it can run on any operating system viz. Windows, Linux, Solaris, etc. The object

oriented software engineering approach is used for software development. A GUI is

developed to make the simulator user friendly. The simulator can be helpful in

understanding LiDAR data collection process, in teaching and laboratory exercises in

class rooms and for algorithm testing in research of LiDAR data processing. This report

presents the details of aforesaid wok and outlines the work to be performed in future.

Page 3: Annual Report on Development of a Simulator for Airborne

3

Contents 1 Introduction................................................................................................................... 5

1.1 Background....................................................................................................... 5 1.2 Principal of LiDAR........................................................................................... 5 1.3 Concept of simulator......................................................................................... 5 1.4 Need of simulator.............................................................................................. 6

2 Design consideration for the simulator ......................................................................... 7

3 Methodology................................................................................................................. 7

3.1 User input.......................................................................................................... 8 3.2 Platform component.......................................................................................... 9 3.3 Sensor component........................................................................................... 11 3.4 Terrain component .......................................................................................... 15 3.5 Integration of components .............................................................................. 15 3.6 Error introduction in data................................................................................ 18

4 Software development ................................................................................................ 18

4.1 Realization of algorithms in software ............................................................. 20 4.2 Generation of pseudo random trajectory......................................................... 25

5 Results......................................................................................................................... 27

5.1 Results for simple surfaces ............................................................................. 27 5.2 Results for complex surfaces .......................................................................... 28 5.3 Result for city model....................................................................................... 29

6 Comparison of different data sets generated by simulator.......................................... 30

6.1 Data sets with and without Roll, Pitch and Yaw for complex surface ........... 30 6.2 Data sets without RPY and with Roll only for complex surface .................... 30 6.3 Data sets without RPY and with Pitch only for complex surface................... 31 6.4 Data sets without RPY and with Yaw only for complex surface ................... 31 6.5 Data sets with lower and higher ax (Acceleration) for simple surface ........... 32 6.6 Data sets with different scan angles for simple surface.................................. 32 6.7 Data sets with different height for simple surface .......................................... 33 6.8 Data sets with and without normal error......................................................... 33

7 Work proposed to be done in future ........................................................................... 34

7.1 Development of LiDAR simulator as a complete software package.............. 34 7.1 Modification in Ground component................................................................ 34 7.2 Provision for error simulation at every stage.................................................. 34 7.3 Output of the simulator ................................................................................... 35 7.4 Modification in trajectory ............................................................................... 35 7.5 Modification in Sensor Component ................................................................ 35 7.6 Arrangement of INS, Laser head, and GPS within the body of aircraft ......... 36 7.7 Waveform digitization/multiple return: .......................................................... 36 7.8 Model viewer .................................................................................................. 36 7.9 Point cloud viewer .......................................................................................... 36 7.10 Check .............................................................................................................. 36

Page 4: Annual Report on Development of a Simulator for Airborne

4

8 Conclusion .................................................................................................................. 37

9 Acknowledgement ...................................................................................................... 38

10 Bibliography ............................................................................................................... 39

List of Figures

Figure 1: Components and their integration in simulator. .................................................. 8 Figure 2: Schematic of laser vector intersection with a surface and various coordinate systems employed. .............................................................................................................. 9 Figure 3: Variation of θ i.e. movement of scan mirror with time.................................... 12 Figure 4: Illustration of algorithm used to solve for intersection of laser vector with the complex surface. ............................................................................................................... 17 Figure 5: General system design for software. ................................................................. 19 Figure 6: Platform component. ......................................................................................... 20 Figure 7: Sensor component. ............................................................................................ 21 Figure 8: Roll, Pitch and Yaw........................................................................................... 22 Figure 9: Error simulation................................................................................................. 22 Figure 10: Surface type..................................................................................................... 23 Figure 11: City model ....................................................................................................... 24 Figure 12: Trajectories...................................................................................................... 26 Figure 13: LiDAR data for simple surface ....................................................................... 27 Figure 14: Lidar data for complex surface........................................................................ 28 Figure 15: Lidar data for complex surface displayed in voxler. ....................................... 28 Figure 16: Lidar data for complex surface displayed in surfer. ........................................ 29 Figure 17: Comparison of datasets with and without RPY............................................... 30 Figure 18: Comparison of data sets without RPY with Roll only. ................................... 30 Figure 19: Comparison of data sets without RPY and with Pitch only. ........................... 31 Figure 20: Comparison of data sets without RPY and with Yaw only............................. 31 Figure 21: Comparison of data sets with lower and higher Accelerations. ...................... 32 Figure 22: Comparison of data sets with different scan angle.......................................... 32 Figure 23: Comparison of data sets with different flight height. ...................................... 33 Figure 24: Comparison of data sets with and without normal error. ................................ 33

Page 5: Annual Report on Development of a Simulator for Airborne

5

1 Introduction

1.1 Background

The last decade has seen manifold growth in the use of airborne altimetric LiDAR (Light

Detection and Ranging) technology. LiDAR data are complimenting several other

remotely sensed data for various applications. At the same time LiDAR is competing

with existing topographic data collection techniques. The main advantage of LiDAR is

that highly dense and accurate topographic data are captured at high speed. In view of its

typical characteristics and ease in data capture the LiDAR technology is also finding

applications in several new areas which were not considered feasible hitherto with

conventional techniques.

1.2 Principal of LiDAR

LiDAR works by measuring time of travel of laser pulses fired from an airborne

platform. The location and attitude of laser head are determined using onboard GPS

(Global Positioning System) and IMU (Inertial Measuring Unit). The range computed

using time of travel measurement is combined with the laser scan angle and attitude

values to yield the laser vector. Transformation of laser vector from the laser head

coordinate system to WGS-84 coordinate system is carried out to determine the WGS-84

coordinate of the point on ground hit by laser. The forward motion of platform combined

with scanning in transverse direction measures a large number of points across a wide

swathe on the ground.

1.3 Concept of simulator

A LiDAR simulator is aimed at faithfully replicating the LiDAR data capture process as

discussed above with the use of mathematical models under a computational

environment. Basically, data generated by simulator should exhibit all characteristics of

the data acquired by an actual LiDAR sensor. Further, the simulator should possess

flexibility of operation as in case of actual sensor.

Page 6: Annual Report on Development of a Simulator for Airborne

6

Literature reveals that only a few attempts have been made by researchers to develop

simulator for LiDAR instrument. These efforts are limited in their scope as either these

consider effect of only single parameter on one kind of object (Holmgren et al., 2003) or

inaccurate scanning pattern (Beinat and Crosilla, 2002). More focused and

comprehensive efforts have been made to simulate the return waveform from a footprint

(Sun and Ranson, 2000; Tulldahl and Steinvall, 1999).

1.4 Need of simulator

Considering the significance of technology there is need to (1) Carry out research in the

area of information extraction from LiDAR data and error analysis of LiDAR data, (2)

Introduce LiDAR technology to students at undergraduate and postgraduate level.

LiDAR data with varied specifications are fundamental for LiDAR research and for

classroom teaching and laboratory exercises. In research, particularly testing of

information extraction algorithm, finding optimum data parameters for information

extraction it is required to have data with varied specifications. Similarly, for effective

teaching a large amount of data which is readily and cheaply available is desirable.

Furthermore, in both the above areas it is required to have full and accurate ground truth.

LiDAR instrument and data are costly. Further, generating data with varied specification

is quite prohibitive considering the cost. Collection of full and accurate ground truth

from field is also not possible. In addition, several of educational institutions can not

afford the cost of LiDAR data collection.

A simulator can generate various kinds of data, as and when desired, at minimal or no

cost. Considering the above limitations of LiDAR data, the simulated data could be very

useful for research and training. User control over the entire data generation process in

simulator can also help students in understanding the functioning and limitation of

LiDAR instrument. Further, error sources and their effect on LiDAR data can be

understood. In any laboratory exercises and research availability of ground truth is

fundamental. While it may be difficult and expensive to collect ground truth in case of

actual LiDAR data, for simulated data the ground truth is readily and accurately

available.

Page 7: Annual Report on Development of a Simulator for Airborne

7

2 Design consideration for the simulator

Considering the aforesaid applications the following benchmarks are set for the

simulator:

1. Simulator should employ a user-friendly GUI (Graphical User Interface.)

2. Simulator should be designed for wider distribution over various computational

platforms.

3. The simulator should come along with a help/tutorial system which can explain

concepts of LiDAR using user-friendly multimedia techniques.

4. It should simulate a generic LiDAR sensor and some widely available sensors in

market.

5. The simulator should facilitate selection of trajectory and sensor parameters as in

actual case along with the facility of introducing errors in various component

systems of LiDAR.

6. Simulator should facilitate data generation for actual earth-like surfaces.

7. The output data should be available in commonly used LiDAR formats.

3 Methodology

In view of the aforesaid requirements the programming language JAVA has been chosen

for developing the simulator. This language offers good numerical and graphical

programming besides, and most importantly, being platform independent and object

oriented. The simulator is composed of three basic components in addition to input and

output modules as shown in Figure 1.

These components take the form as per the user input, while their integration generates

LiDAR data as desired by user. Each of these components is realised using a

mathematical model. The following paragraphs describe development of these

components as implemented in present version of simulator.

Page 8: Annual Report on Development of a Simulator for Airborne

8

Figure 1: Components and their integration in simulator.

3.1 User input

Through a GUI the user is prompted to input various parameters as required to define the

three individual components and output format. To help the user in understanding

various terms and processes in LiDAR technology a help module is activated at any

instance during the parameter input.

Sensor component Platform component Ground component

Scanning Mechanism Trajectory generation Terrain modeling

Scan pattern Trajectory coordinatesAttitude parameters

1. Surface type 2. Object type

Integration of components

Input

Output

Normal error addition in data

Page 9: Annual Report on Development of a Simulator for Airborne

9

3.2 Platform component

As shown in Figure 2 two coordinate systems are considered. The first coordinate system

is (X, Y, Z), which is absolute. All trajectory and terrain coordinates are determined in

this system. A system (shown with green lines) which translates with platform and

remains parallel to absolute coordinate system is considered at the laser head and is

referred to as gyro coordinate system henceforth. The second coordinate system is the

body coordinate system (shown with dashed lines), which has its origin at laser head and

is affected by roll, pitch and yaw rotations. The laser vector (shown with red ray) at any

instance is defined using direction cosines (α,β,γ) and coordinate of laser head in gyro

coordinate system ((cosαi, cosβi, and cosγi). The location and attitude parameters, as

required at the instance of each laser pulse firing, are simulated as following.

Figure 2: Schematic of laser vector intersection with a surface and various coordinate

systems employed.

Page 10: Annual Report on Development of a Simulator for Airborne

10

3.2.1 Location

The trajectory is defined by the location of laser mirror centre (point of origin of laser

vector) in the absolute coordinate system at each instance of firing of laser pulse. To

simulate the trajectory and to incorporate a possibility of introducing errors in trajectory

parameters the following procedure is employed.

Let:

Firing frequency = F.

Time interval between firing of successive pulses= dt = 1/F

Total number of points on trajectory wherefrom pulses are fired = n

Velocity of platform in flight direction (which is considered here as X axis) at ith point on

trajectory = u xi

Laser head coordinate at ith point on trajectory = (Xi, Yi, Zi)

At each successive dt interval one needs to compute the location of laser head. The aerial

platform is subject to internal and external force fields. While the external forces result

in accelerations in X, Y and Z directions the internal force attempts to maintain a uniform

speed and the designate trajectory. The net effect is that the platform is subject to

random accelerations in three axes directions. The following system is employed to

simulate accelerations. This system ensures a pseudo-random generation of acceleration

values.

(3.1)

Where axi is the acceleration at ith point in X direction. T is the total duration of a

trajectory. The parameters of this equation J, K, A, B, C, D, and m control the nature of

curve. Developed software permits selection of these parameter values within ranges that

generate accelerations as may be observed in a normal flight. Similarly, ayi and az

i are

also generated with different values of parameters in the above equation. Using the

1 1

2 2sin ( ( )) cos ( ( )) ( )J K

iX j j t k k t t

j ka A B id C D id m id

T Tπ π

= =

⎛ ⎞ ⎛ ⎞= + +⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

∑ ∑

Page 11: Annual Report on Development of a Simulator for Airborne

11

acceleration values at ith point the new location of laser head (i.e., Xi+1, Yi+1, Zi+1 ) after dt

interval is computed using equations similar to:

1 212

i i i ix t x tX X u d a d+ = + + (3.2)

3.2.2 Attitude As in case of acceleration, due to internal and external force fields, the attitude will

change within certain limits and may exhibit a random behaviour. To realise this, the

attitude values (i.e. ωi, φi, κi) at any ith point are determined using the equation 3.1.

Similar to the case of acceleration, the developed simulator permits selection of these

parameter values in the ranges which generate attitude values as in case of a normal

flight.

The outcome of aforesaid is that at each point wherefrom a laser pulse is fired the attitude

values and coordinate of point are known in the absolute coordinate system.

3.3 Sensor component

The sensor component aims to replicate the scanning mechanism of sensor as per the user

input parameters. The following differential equation is employed to simulate sinusoidal

scanning pattern.

2

2 0d kdt Rθ θ+ = (3.3)

Where θ is the instantaneous scan angle measured from the z axis of body coordinate

system. k and R are the driving acceleration and radius of the scanning mirror,

respectively. Solution of equation (3) gives value of θ at any time t as:

Page 12: Annual Report on Development of a Simulator for Airborne

12

2

14

sin( )sin( )

S kR

kf R

tθ = (3.4)

Where S is full scan angle and f is the scanning frequency as input by the user. At t=0

=> θ=0, i.e. beginning of scan, i.e. laser vector along z axis in body coordinate system.

At t=0.25*time period => θ=S/2. The variation of san mirror is shown in Figure 3.

Figure 3: Variation of θ i.e. movement of scan mirror with time.

3.3.1 Computation of scan angle values in body coordinate system

The absolute angles of laser pulse travel direction with the body coordinate axes of the

platform are as follows. Referring to the Figure 3.

• Angle with x axis (θ1) = 90о

• Angle with y axis (θ2) = 90о - θinstantaneous

• Angle with z axis (θ3) = 180о - θinstantaneous

Page 13: Annual Report on Development of a Simulator for Airborne

13

The above absolute angles with the 3 body coordinate axes are called as, θ1 , θ2 and θ3 at

any given time interval, with x, y and z axes respectively throughout this work. These

angles are measured in clockwise direction. θinstantaneous will be positive when the scan

mirror moves towards the positive y direction. In the Figure 3 these are shown as θ.

3.3.2 Laser pulse direction in gyro coordinate system

The roll, pitch and yaw are measured in the gyro coordinate system. Initially at the start

of the flight the gyro coordinate system and the body coordinate system of the platform

coincides. But because of the roll, pitch and yaw (ω, φ, κ) the angles of the laser travel

direction with the gyro coordinate system changes. The resultant angles with the X, Y,

and Z axes because of the roll, pitch and yaw can be calculated using the rotation

matrices. Let the direction cosines of the angles of the laser pulse in the body coordinate

system form a 1 × 3 matrix:

The rotation matrix for the roll (R ω):

The rotation matrix for the roll (R φ):

The rotation matrix for the roll (R κ):

Page 14: Annual Report on Development of a Simulator for Airborne

14

Let if the resultant direction cosine matrix in gyro coordinate system after applying

the rotations (roll, pitch and yaw) is,

Then

(3.5)

At this point, the direction cosines of the laser vectors in gyro coordinate system are

available. As this system is parallel to the absolute coordinate system therefore the

direction cosines in absolute coordinate system and gyro coordinate system will be same.

They will be referred to as a, b and c which are given as cos(αi) = a, cos(βi) = b and

cos(γi) = c from now onwards. Now the equation of the laser pulse can be written as:

(3.6)

The point (Xi, Yi, Zi) is ith point on the flight path. If Xit, Yi

t ,Zti is the point on the terrain

where laser intersects, i.e., LiDAR data, the equation 3.6 can be written as:

(3.7)

At this stage to obtain the LiDAR data we need to solve for the intersection of these laser

vectors with the given terrain. The following section explains the modelling of the

terrain.

Page 15: Annual Report on Development of a Simulator for Airborne

15

3.4 Terrain component

The basic philosophy of the terrain component is to model a ground surface so that the

model will be compatible to obtain the intersections of the laser pulses with the terrain

and also it should represent natural terrain as nearly as possible.

Two approaches have been investigated for simulating the bald earth surfaces and above

ground objects.

3.4.1 Vector approach

In this, a terrain is represented using mathematical equations, which yield earth like

surfaces. A few of these are:

[sin( / ) sin( / )][sin( / ) sin( / )]

Z AX BY CZ A X B XY C DZ A X Y XY B C

= + += − += − +

(3.8)

The GUI permits selection of these surfaces and their parameters.

3.4.2 Raster approach

In this the surfaces resulting from above equations are rasterized. Most importantly, this

approach permits populating the raster with above ground objects so as to create the

terrain like a 3D city model. Those cells where an over ground object is desired to be

placed take new values as per the height and shape of object.

3.5 Integration of components

In the heart of simulator lies generation of the laser vector and its intersection with

simulated terrain. The point of intersection yields the coordinate of terrain point. As

shown in Figure 2, for any ith point on trajectory there exists a laser vector. The equation

of laser vector is given in equation 3.7.

Page 16: Annual Report on Development of a Simulator for Airborne

16

The LiDAR data are determined (coordinates in gyro coordinate system) by solving for

the intersection of laser vector with mathematical surfaces. The simple and complex

surfaces are used for modeling terrain. A few examples of numerical approach adopted

are given below:

3.5.1 Solving for intersection for simple surfaces

In this work simple surfaces are considered to be of the form Z = f(X) + g(Y ) . Suppose

the ground surface is of the form AX + BY + CZ + D = 0 and if (Xt, Yt , Zt) is the point

on the terrain then putting the values of Xt and Yt from the laser equation 3.7 we obtain

(3.9)

From which we can calculate the value of Zt. By substituting the value of Zt in the

equation 3.7 we can calculate Xt and Yt. The (Xt, Yt, Zt) is the LiDAR data for the point

hit by laser. By varying the values of A, B, C and D one can find the data for those

different terrain types.

3.5.2 Solving for intersection for complex surfaces

In this work the complex surfaces are considered as the surfaces for which a direct

solution for intersection is not available. However, these surfaces are required to be

simulated as they represent terrain better. Suppose Z = f(X, Y ) is a surface, then

replacing Xt and Yt from the equation 3.6, if the resulting equation is a complex equation

which can not be solved directly, the surface formed with such equations are referred as

complex. Some surfaces which have been simulated are as follows.

Z = A*(sin(X/B) − sin(XY/C)) + D

Z = A* (sin(X/B) + sin(XY/C)) + D 3.10

Z = A*(sin(X/B) − cos(XY/C)) + D

Z = A*(cos(X/B) + sin(XY/C)) + D

By giving different values to A, B, C and D different surfaces can be obtained.

Page 17: Annual Report on Development of a Simulator for Airborne

17

• Solution for intersection of complex surfaces

Consider that the platform is situated at (Xi, Yi, Zi). Consider a plane parallel to the

datum and situated at height h0 above the datum and below the point on the trajectory

from where the laser pulse is fired. The equation of the plane is therefore Zt = h0. The

intersection of the plane and the laser vector therefore takes place at point P1 with planar

coordinates as:

(3.11)

Now drop a perpendicular from P1 towards another surface parallel to datum as shown in

Figure 4. Calculate the value h1 = f(Xt, Yt) using the equation of terrain. Put h0 = h1 and

repeat this process until the change in the values of heights is not significant. The

algorithm is illustrated in the Figure 4. This algorithm is used for solving the Complex

surface equations and the laser pulses.

Figure 4: Illustration of algorithm used to solve for intersection of laser vector with the complex surface.

Page 18: Annual Report on Development of a Simulator for Airborne

18

3.6 Error introduction in data

In present version of simulator a normal error is introduced in the terrain coordinates

computed in the above step in X, Y and Z directions separately. The system for

introducing error in X direction is shown below:

2( , )i i

T t X XX X N μ σ= + (3.12)

Where Xti is the X coordinate value with error. Similar systems with different values of

parameters are used for Y and Z coordinates. It is assumed that errors in X, Y and Z

directions follow normal distribution. Further, when introducing these errors it is ensured

in algorithm that there is no spatial auto-correlation of error. The parameters of this

distribution are known from field experience and are reported by the vendors of sensors.

The simulator facilitates variation of these parameters.

4 Software development

To incorporate the algorithms developed earlier in better way, object oriented software

engineering approach has been employed for software development. This approach

suggests that the natural objects (i.e. entities) occurring in a problem should first be

identified and then implemented. By using this approach the reusable solutions can be

develop for recurring problems. In this software the new modules can be easily

incorporated.

For software development, JAVA programming language has been chosen. This language

is chosen because it offers good numerical and graphical programming besides and most

importantly, being platform independent. Also, the object oriented software development

approach can be easily implemented by using JAVA. JAVA offers much better facilities

to develop software than other programming languages. The general system design is

shown in Figure 5.

Page 19: Annual Report on Development of a Simulator for Airborne

19

Figure 5: General system design for software.

Start

Platform component 1. Flight parameter

Flight velocity Flight height

Flight distance Initial coordinate

2. Acceleration parameters

Sensor component Firing frequency Scan frequency

Scan angle

Roll, Pitch, Yaw 1. Simulated RPY

2. RPY from file

Error simulation With normal error

Without normal error

Error simulation With normal error

Without normal error

Surfaces 1. Simple surface

2. Complex surface

City Model 1. Building, 2.SRF, 3. Cylinder

4. Road

Process of scanning i.e. solving Laser vector with terrain type

Lidar data (X, Y, Z) Report

Stop

Page 20: Annual Report on Development of a Simulator for Airborne

20

4.1 Realization of algorithms in software

GUI based software is designed for the simulator. GUI makes this software user friendly.

User can use this software by taking little training. The functions of this software are

given as follows.

4.1.1 GUI for platform component

The very first icon is for platform component. This is shown by Flight icon. After

clicking on this icon, a new window opens for platform component. This window has

menus for flight parameters and acceleration parameters. In flight parameters the user is

prompted to enter flight velocity, flight height, flight distance and initial coordinate. In

acceleration parameters the user is prompted to enter values of Ai, Bi, Ci and Di for

equation 3.1 (This simulates pseudo random accelerations in X, Y and Z directions).

Platform component is shown in Figure 6.

Figure 6: Platform component.

Page 21: Annual Report on Development of a Simulator for Airborne

21

4.1.2 GUI for sensor component

The second icon is for sensor component. After clicking on this icon the user is prompted

to enter radius of mirror, firing frequency, scan frequency and scan angle. This is shown

in Figure 7.

Figure 7: Sensor component.

4.1.3 Roll, Pitch, and Yaw

Third icon from the left is made for simulating attitude (Roll, Pitch and Yaw). After

clicking on this icon, a new window opens. This window has menus for simulated roll,

pitch, yaw and roll, pitch yaw from file. In simulated roll, pitch, yaw menu, the user is

prompted to enter values of Ai, Bi, Ci and Di for equation 3.1 (This simulates pseudo

random attitude value). There is also option for without roll, pitch, and yaw. In roll, pitch

yaw from file user can read attitude values from file. Roll, Pitch, and Yaw is shown in

Figure 8.

Page 22: Annual Report on Development of a Simulator for Airborne

22

Figure 8: Roll, Pitch and Yaw.

4.1.4 Error Simulation Fourth icon from the left is for error simulation. After clicking on this icon the user is

prompted to enter error induction in each directions. This adds normal error in X, Y and

Z coordinate. There is also option for without error. Error simulation is shown in Figure

9.

Figure 9: Error simulation

Page 23: Annual Report on Development of a Simulator for Airborne

23

4.1.5 Surface type

Fifth icon from the left is for surface type. After clicking on this icon, a new window is

opens. This window has menu for create surface. In this menu, the user is prompted to

select surface type i.e. simple surface or mathematical surface. These all are

mathematical surfaces. User can also change the A, B, and C values of the selected

surface. When user select surface, he has to click on the OK button, it will generate

LiDAR data(X, Y, Z coordinate) for the selected surface. Surface type is shown in

Figure10.

Figure 10: Surface type

Page 24: Annual Report on Development of a Simulator for Airborne

24

4.1.6 City model

Sixth icon from the left is for city model. After clicking on this icon a new window

appears. This window has buttons for Building, S.R.F. (Slant roof building), cylindrical

building and Road. Clicking on the buttons prompts to enter parameters for objects. For

example if one clicks on Building button, it will ask to enter, position, length, width and

height of the building. User can place any number of objects within the flight distance.

This way the user can place different objects on the surface. After completing this task,

one has to click on the create city model sub menu which is given in file menu. This will

generate simulated Lidar data (X, Y, Z coordinates) for the created city model. City

model is shown in Figure 11.

Figure 11: City model

Page 25: Annual Report on Development of a Simulator for Airborne

25

4.1.7 Report

Seventh icon from the left is for generating report on whole LiDAR data collection

process. This also includes input parameters given by the user. One example of the report

is given below.

Report on LiDAR data collection process

Flight parameters: 1. Flight velocity: 60.0 m/s. 2. Flight height: 1100.0 m. 3. Flight distance: 1480.0 m. 4. Flight time: 24.67 s. Sensor parameters: 1. Radius of scan mirror: 0.01 m. 2. Firing frequency: 20000.0 Hz. 3. Scan frequency: 48.0 Hz. 4. Scan angle: 50.0 Deg. Ground parameters: 1. Initial coordinate: (172.0,122.0,0.0) 2. Total no of points: 493333.0 3. Swath: 1026 sq.m. 4. Total area covered: 1518298 sq.m. 5. Surface type: Simple Surface 6. Surface equation: Ax+By+Cz+D=0 7. Values of A, B, C & D is: A= 0.0, B= 0.0, C= 1.0, D= -1100.0

4.1.8 Help

Help option is given in the men menu of the software. It contains the details about how to

use this software effectively. This has complete details of each and every steps of this

software.

4.2 Generation of pseudo random trajectory

For implementing the pseudo random behaviour of the acceleration and attitude, the

equation 3.1 is used with different values of Ai, Bi, Ci and Di. Certain boundary values

Page 26: Annual Report on Development of a Simulator for Airborne

26

have been investigated for Ai, Bi, Ci and Di which exhibit near normal behaviour for

acceleration and attitude. This is shown in Figure 12.

Figure 12: Trajectories

1000 T 0.001 dt 0.004 m 4.34 D2

7.23 D1

1.24 C2

0.78 C1

5.45 B2

4.38 B1

0.25 A2

1.0 A1

j=2, k=2)())(2(cos))(2(sin

11ttk

K

kktj

J

jj

iX idmid

TDCid

TBAa +⎟

⎠⎞

⎜⎝⎛ ∏

+⎟⎠⎞

⎜⎝⎛ ∏

= ∑∑==

T

dt

m

100

D3

D2

0.0

D1

C3

2.77

C2 1.77

C1

B3

1.51

B2 4.45

B1 2.38

A3

0.65A2 2.75A1

j=3, k=3

0.6

80

0.35

3.38

100

0.006

Page 27: Annual Report on Development of a Simulator for Airborne

27

5 Results

5.1 Results for simple surfaces

Data generated by simulator for simple surfaces is shown in Figure 13.

Figure 13: LiDAR data for simple surface

Equation of the surface: AX+By+CZ+D=0. (A=0, B=0, C=0, D= -1100) Flight velocity: 60 m/s. Flight height: 70 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Page 28: Annual Report on Development of a Simulator for Airborne

28

5.2 Results for complex surfaces Data generated by simulator for simple surfaces is shown in Figure 14 and Figure 15

Figure 14: Lidar data for complex surface

Figure 15: Lidar data for complex surface displayed in voxler.

Equation of the surface: Z=sin(X/10)-sin(XY/90)-60. Flight velocity: 60 m/s. Flight height: 60 m. Distance: 30 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Page 29: Annual Report on Development of a Simulator for Airborne

29

5.3 Result for city model

Data generated by simulator for city model is shown if Figure 16.

Figure 16: Lidar data for complex surface displayed in surfer.

Flight velocity: 60 m/s. Flight height: 1610 m. Distance: 1500 m. Firing frequency: 20000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Page 30: Annual Report on Development of a Simulator for Airborne

30

6 Comparison of different data sets generated by simulator

6.1 Data sets with and without Roll, Pitch and Yaw for complex surface

Figure 17: Comparison of datasets with and without RPY.

6.2 Data sets without RPY and with Roll only for complex surface

Figure 18: Comparison of data sets without RPY with Roll only.

Equation of the surface: Z=sin(X/10)-sin(XY/90)-60. Flight velocity: 60 m/s. Flight height: 60 m. Distance: 30 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Equation of the surface: Z=sin(X/10)-sin (XY/90)-60. Flight velocity: 60 m/s. Flight height: 60 m. Distance: 30 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Page 31: Annual Report on Development of a Simulator for Airborne

31

6.3 Data sets without RPY and with Pitch only for complex surface

Figure 19: Comparison of data sets without RPY and with Pitch only.

6.4 Data sets without RPY and with Yaw only for complex surface

Figure 20: Comparison of data sets without RPY and with Yaw only.

Equation of the surface: Z=sin(X/10)-sin(XY/90)-60. Flight velocity: 60 m/s. Flight height: 60 m. Distance: 30 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Equation of the surface: Z=sin(X/10)-sin(XY/90)-60. Flight velocity: 60 m/s. Flight height: 60 m. Distance: 30 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Page 32: Annual Report on Development of a Simulator for Airborne

32

6.5 Data sets with lower and higher ax (Acceleration) for simple surface

Figure 21: Comparison of data sets with lower and higher Accelerations.

6.6 Data sets with different scan angles for simple surface

Figure 22: Comparison of data sets with different scan angle.

Equation of the surface: AX+By+CZ+D=0. (A=0, B=0, C=0, D= -65) Flight velocity: 60 m/s. Flight height: 65 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg

Equation of the surface: AX+By+CZ+D=0. (A=0, B=0, C=0, D= -65) Flight velocity: 60 m/s. Flight height: 65 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Equation of the first surface: AX+By+CZ+D=0. (A=0, B=0, C=0, D= -65) Flight velocity: 60 m/s. Flight height: 65 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 30 deg.

Page 33: Annual Report on Development of a Simulator for Airborne

33

6.7 Data sets with different height for simple surface

Figure 23: Comparison of data sets with different flight height.

6.8 Data sets with and without normal error

Figure 24: Comparison of data sets with and without normal error.

Equation of the surface: AX+By+CZ+D=0. (A=0, B=0, C=0, D= -1100) Flight velocity: 60 m/s. Flight height: 1100 m. Distance: 100 m. Firing frequency: 5000 Hz.

Equation of the surface: AX+By+CZ+D=0.(A=0, B=0, C=0, D= -1000) Flight velocity: 60 m/s. Flight height: 1000 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 50 deg.

Equation of the surface: AX+By+CZ+D=0.(A=0, B=0, C=0, D= -500) Flight velocity: 60 m/s. Flight height: 500 m. Distance: 60 m. Firing frequency: 5000 Hz. Scan frequency: 48 Hz. Scan angle: 30 deg.

Page 34: Annual Report on Development of a Simulator for Airborne

34

7 Work proposed to be done in future At present work is directed to further improve the present version of simulator. The

following are the areas where improvement can be realized. In the rest duration of the

project it will be attempted to develop simulator consisting of some of the following.

7.1 Development of LiDAR simulator as a complete software package

At present the first version of this software has been developed. There is need of many

modifications in the software for making it comprehensive, more efficient and user

friendly. Finally the aim is to develop this software as complete independent software

package. Several modifications and additions have been planned. A few are being listed

below.

7.1 Modification in Ground component

a. More simple surfaces.

b. More complex surfaces. A lot of investigation is needed to be carried out about

these surfaces. The parameter selection should result only in proper surfaces and

not in weird surfaces.

c. A virtual environment on screen for choosing different types of surfaces (Simple

and complex).

d. On screen facility for placing different real objects like buildings, road, trees etc.

on the chosen surface type.

7.2 Provision for error simulation at every stage

The error in actual sensor occurs when what the instrument is doing is not actually

being measured by the instrument. What is measured, e.g., laser range or yaw angle or

scan angle etc. has some error in it. This could be systematic or random. The available

literature can provide the limits of these errors particularly, the random. The actual

simulated measurements can be corrupted by these errors at different stages of the

simulator. Thereby, one will have two sets of data with error and data without error. This

will help in understanding the role of errors in this process.

Page 35: Annual Report on Development of a Simulator for Airborne

35

7.3 Output of the simulator

At present the output of the simulator is ground coordinates (X, Y, Z). The output can

be written as:

a. XYZ.

b. Time and RPY.

c. Time and ax, ay, az.

d. TXYZRPYaxayaz all in one.

e. Trajectory data (Ideal and actual).

f. A report on over all processes which also includes input parameter.

The output can be in .las format as well as in ASCII format. User will have facility to choose one or more output from the above.

7.4 Modification in trajectory

• Initial trajectory is coming from equation 3.1. This is the desired trajectory in

which the plane is required to be flown without any disturbances due to 6DoF

(Six Degrees of Freedom). This trajectory will be known as a file with XYZT

values of aircraft locations. The effect of 6DoF is to change this ideal trajectory to

actual looking trajectory.

• Simulation of 6DoF:

• Using developed equation way as in this report.

• Using the screen (by using mouse) in which a user can specify directly on screen

how these parameters change with time.

7.5 Modification in Sensor Component

a. The sensor selection could be a generic or commercially available one.

b. For generic any possibility (within certain limits) of parameters should be there.

c. For commercial sensors: A few of commercially available sensors can be

programmed in such a way that when a user selects any of those the selection of

sensor and other parameters is governed by these only. The parameters required

in these can vary within the limits of these sensors. As well as other aspects like

Page 36: Annual Report on Development of a Simulator for Airborne

36

scanning mechanism should also be governed automatically by these selected

parameters.

d. More scanning patterns (zigzag, elliptical, parallel lines etc.) can be added.

7.6 Arrangement of INS, Laser head, and GPS within the body of aircraft

This will allow to include errors in these vectors and to replicate their actual

measurement and the effect of boresight errors. The computation might become lengthy.

There will be flexibility to put these three anywhere in the given body of aircraft by user.

7.7 Waveform digitization/multiple return: The present algorithm can be extended to produce multiple returns. It may also be

possible to simulate the waveform digitization corresponding to each pulse.

7.8 Model viewer

An attempt could be made to display the mathematical model generated for the ground.

This is nothing but the kind of display we generate in Matlab for a mathematical form.

The idea is to see the mathematical model of the ground created.

7.9 Point cloud viewer

It will be better if some of the point cloud processing capabilities can be included in the

simulator. The aim is to develop few visualization tools.

7.10 Check

For the simulator generated confirm from actual data that they represent the actual

trajectory and sensor characteristics. This can be done by comparing the simulated with

the actual in terms of the frequency, amplitude etc. The sensor motion can be compared

by generating the data for parameters over a flat ground for which actual data is also

available. These two can be compared. In addition, the sensor parameters used in

simulator can be generated from the (reverse computation) known pattern o the ground

and by knowing a few parameters of the sensor.

Page 37: Annual Report on Development of a Simulator for Airborne

37

A check can also be realized during the actual flight. The data that have been generated

by an actual flight for selected parameters can be compared with simulated data for

similar parameters over terrains which can be simulated (e.g., flat road, roofs, gavel

roofs, large fields, ramps etc.)

8 Conclusion The developed simulator facilitates generation of LiDAR data for the user created terrain

as per the specified sensor and trajectory parameters. The simulator can be highly useful

in a classroom for demonstrating LiDAR data capture process and the effect of changes

in flight-sensor parameters and error. Different kinds of data that can be generated along

with accurate and full ground truth will help in conducting laboratory exercises. Further,

the simulator can help in algorithm testing and in understanding the effect of errors in

LiDAR data generation process.

The present version of simulator is being modified to incorporate more faithfulness by

introducing separate GPS and IMU data collection and their integration; by introducing

concepts of separation of GPS antenna, laser head and INS; by facilitating for multiple

returns, and by making the scope of simulator more comprehensive, etc. Further efforts

are on to generate a full waveform digitization. The main stumbling block in this

development is simulation of bald earth and above-ground objects. Attempt will be made

to find an efficient and accurate solution for this.

Page 38: Annual Report on Development of a Simulator for Airborne

38

9 Acknowledgement

This work is supported under RESPOND programme of ISRO. The facilities of IIT

Kanpur have been used to pursue this work. Parmeshwar Reddy worked in this project

during his M.Tech. dissertation and contributed in algorithm development. Rakesh

Kumar Mishra who is working in this project as Project Associate has been mainly

responsible for entire software engineering involved in this work and is also contributing

in algorithm and concept development.

Page 39: Annual Report on Development of a Simulator for Airborne

39

10 Bibliography

[1] Abshire J. M., McGarray J. F., Pacini L. K., Blair J. B., and Elman G. C. Laser

Altimetry Simulator version 3.0, 1994.

[2] Agarwal N., Agarwal N. K., and Lohani B. Development of an altimetric lidar

simulator. Technical report, Department of civil engineering, IIT Kanpur, India, 2004.

[3] Allan A. Maths for map makers. Whittles publishing, Roseleigh House,

atheronwheel, KW5 6DW, Scotland, UK, second edition.

[4] Baltsavias E. P. Airborne laser scanning: basic relations and formulas. ISPRS Journal

of Photogrammetry and Remote Sensing, 54 : 199 − 214, 1999.

[5] Bae S. and Schutz B. R. Precision attitude determination. Geoscience Laser Altimeter

System (GLAS). Algorithm Theoretical Basis Document(ATBD) Version 3.0, October

2002.

[6] Chapra S. C. and Canale R. P. Numerical methods for engineers with software and

programming applications. Tata Mcgraw-Hill, 7, West Patel Nagar, New Delhi 110 008,

India, fourth edition.

[7] Filin S. and Csatho B. An efficient algorithm for the synthesis of laser altimeter

waveforms. Technical report, Byrd Polar Research Center(BPRC), 2004.

[8] Gardner C. S. Ranging performance of satellite laser altimeters. IEEE transactions on

geoscience and remote Sensing, 30(5) : 1061 − 1072, 1992.

[9] Grewal B.S. Higher Engineering Mathematics. Khanna publishers, 2-B, Nath Market,

Nai Sarak, Delhi 110 006, India, thirtyfifth edition.

[10] Holmgren J., Nilsson M., and Olsson H. Simulating the effect of lidar scanning

angle for estimation of mean tree height and canopy closure. Canadian Journal of Remote

Sensing, 29(5) : 623 − 632, 2003.

[11] Horstmann C. S. and Cornell G. Core JavaTM2, Volume1- Fundamentals. Pearson

education, 482 FIE, Patpaganj, Delhi 110 092, India, seventh edition.

[12] Leica Geosystems. http : //gi.leica − geosystems.com/default.aspx. [13] Maron I.A.

Problems in calculus of one variable. Mir Publishers, 485, Jain Bhavan, Bhola Nath

Nagar, Delhi-110 032.

Page 40: Annual Report on Development of a Simulator for Airborne

40

[14] Moore J. B. Direct kalman filtering approach for gps/ins integration. IEEE

transactions on aerospace and electronic systems, 38(2), April 2002.

[15] Ni-Meister W., Jupp D. L. B., and Dubayah R. Modeling lidar waveforms in

heterogeneous and discrete canopies. IEEE transactions on geoscience and remote

sensing, 39(9), September 2001.

[16] National Oceanic and Atmospheric Administration(NOAA), Coastal Services. http :

//www.csc.noaa.gov/crs/rsapps/sensors/lidar.htm.

[17] Peterson B., Ni-Meister W., Blair J.B., Hofton M.A., Hyde P., and Dubayah R.

Modeling lidar waveforms using a radiative transfer model. International Archives of

Photogrammetry and Remote Sensing, XXXIV(3/W4), 2001.

[18] Pratap R. MATLAB, A quick introduction for scientists and engineers. Oxford

university press, 198, Madison Avenue, New York, 10016, sixth edition.

[19] Rottensteiner F., Kager H., Briese C., and Kraus K. Lidar activities, at the viennese

institute of photogrammetry and remote sensing.

http : //www.ipf.tuwien.ac.at/publications/frcolumbus02/rottensteineretal.pdf.

[20] Schutz B. E. Laser footprint location(geolocation)and surface profiles. Geoscience

Laser Altimeter System (GLAS) Algorithm Theoretical Basis Document (ATBD) version

3.0, October 2002.

[21] Tulldahl H. M. and Steinvall K. O. Analytical waveform generation from small

objects in lidar bathymetry. Applied Optics, 38(6), 20 February 1999.

[22] Vaughn C. R., Bufton J. L., Krabill W. B., and Rabine D. Georeferencing of

airborne laser altimeter measurements. International Journal of Remote Sensing,

17 : 2185 − 2200, 1996.

[23] Wehr A. and Lohr U. Airborne laser scanning -an introduction and overview.

ISPRS Journal of Photogrammetry and Remote Sensing, 54 : 68 − 82, 1999.

[24] Beinat, A. and Crosilla, F., 2002. A generalized factored stochastic model for optimal registration of LIDAR range images, International Archives of photogrammetry an remote sensing and spatial information sciences, 34(3/B), pp. 36-39. [25] Sun, G. and Ranson, K. J., 2000. Modeling Lidar returns from forest canopies, IEEE trans. On geosciences and remote sensing, 38(6), pp. 2617-2626.