a terrain referenced uav localization algorithm using binary search method

15
J Intell Robot Syst (2014) 73:309–323 DOI 10.1007/s10846-013-9922-7 A Terrain Referenced UAV Localization Algorithm Using Binary Search Method Orhan Eroglu · Guray Yilmaz Received: 1 September 2013 / Accepted: 12 September 2013 / Published online: 2 October 2013 © Springer Science+Business Media Dordrecht 2013 Abstract This study focuses on localization of Unmanned Aerial Vehicles (UAV) since perma- nent navigation has vital significance to support position information and to avoid getting lost. Actually, there exist effective aeronautical navi- gation systems in use. Inertial Navigation System (INS) and Global Positioning System (GPS) are two representatives of the most common systems utilized in traditional aerial vehicles. However, an alternative supporter system for UAVs should be mentioned since INS and GPS have serious deficiencies for UAVs such as accumulated errors and satellite signal loss, respectively. Such hand- icaps are coped with integrating these systems or exploiting other localization systems. Terrain Referenced Navigation (TRN) could be a good al- ternative as a supporter mechanism for these main systems. This study aims to localize a UAV accu- rately by using only the elevation data of the ter- ritory in order to simulate a TRN system. Appli- cation of the methodology on a real UAV is also O. Eroglu (B ) The Scientific and Technological Research Council of Turkey, Gebze, Kocaeli, 41470, Turkey e-mail: [email protected] G. Yilmaz Computer Engineering Department, Turkish Air Force Academy, Yesilyurt, Istanbul, 34149, Turkey e-mail: [email protected] considered for the future. Thus assumptions and limitations are designed regarding the constraints of real systems. In order to represent terrain data, Digital Elevation Model (DEM) with original 30 meter-resolution (Eroglu and Yilmaz 2013) and also synthetically generated 10 meter-resolution maps are utilized. The proposed method is based on searching the measured elevation values of the flight within the DEM and makes use of sim- ulation techniques to test the accuracy and the performance. The whole system uses sequences of elevation values with a predefined length (i.e. profile). Mainly, all possible profiles are generated and stored before the flight. We identify, classify and sort profiles to perform search operations in a small subset of the terrain. During the flight, a measured flight profile is searched by the Binary search method (Eroglu 2013) within a small neigh- borhood of corresponding profile set. Keywords Localization · Terrain referenced navigation · Unmanned aerial vehicles · Digital elevation model 1 Introduction Unmanned Aircraft Systems (UASs) are fixed or rotary wing aircrafts on which there is not any human pilot. UAVs may be controlled by human controllers on other vehicles or ground stations, or

Upload: guray

Post on 25-Jan-2017

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323DOI 10.1007/s10846-013-9922-7

A Terrain Referenced UAV Localization AlgorithmUsing Binary Search Method

Orhan Eroglu · Guray Yilmaz

Received: 1 September 2013 / Accepted: 12 September 2013 / Published online: 2 October 2013© Springer Science+Business Media Dordrecht 2013

Abstract This study focuses on localization ofUnmanned Aerial Vehicles (UAV) since perma-nent navigation has vital significance to supportposition information and to avoid getting lost.Actually, there exist effective aeronautical navi-gation systems in use. Inertial Navigation System(INS) and Global Positioning System (GPS) aretwo representatives of the most common systemsutilized in traditional aerial vehicles. However,an alternative supporter system for UAVs shouldbe mentioned since INS and GPS have seriousdeficiencies for UAVs such as accumulated errorsand satellite signal loss, respectively. Such hand-icaps are coped with integrating these systemsor exploiting other localization systems. TerrainReferenced Navigation (TRN) could be a good al-ternative as a supporter mechanism for these mainsystems. This study aims to localize a UAV accu-rately by using only the elevation data of the ter-ritory in order to simulate a TRN system. Appli-cation of the methodology on a real UAV is also

O. Eroglu (B)The Scientific and Technological ResearchCouncil of Turkey, Gebze, Kocaeli, 41470, Turkeye-mail: [email protected]

G. YilmazComputer Engineering Department,Turkish Air Force Academy,Yesilyurt, Istanbul, 34149, Turkeye-mail: [email protected]

considered for the future. Thus assumptions andlimitations are designed regarding the constraintsof real systems. In order to represent terrain data,Digital Elevation Model (DEM) with original 30meter-resolution (Eroglu and Yilmaz 2013) andalso synthetically generated 10 meter-resolutionmaps are utilized. The proposed method is basedon searching the measured elevation values of theflight within the DEM and makes use of sim-ulation techniques to test the accuracy and theperformance. The whole system uses sequencesof elevation values with a predefined length (i.e.profile). Mainly, all possible profiles are generatedand stored before the flight. We identify, classifyand sort profiles to perform search operations ina small subset of the terrain. During the flight, ameasured flight profile is searched by the Binarysearch method (Eroglu 2013) within a small neigh-borhood of corresponding profile set.

Keywords Localization · Terrain referencednavigation · Unmanned aerial vehicles ·Digital elevation model

1 Introduction

Unmanned Aircraft Systems (UASs) are fixed orrotary wing aircrafts on which there is not anyhuman pilot. UAVs may be controlled by humancontrollers on other vehicles or ground stations, or

Page 2: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

310 J Intell Robot Syst (2014) 73:309–323

even autonomously. UAVs may be utilized in sev-eral missions, on which manned aircrafts are notapplicable due to size constraints, requirementsfor high pilotage abilities, life-critical missions fora human pilot. Hence, the localization of UAVshas a major importance in order to tackle withsuch distinctive functions.

Basically, the aim of navigation systems is todetermine the position of the vehicle in the 3Dspace and to track the spatio-temporal variablessuch as speed, heading, bank angle etc. to preventthe vehicle from getting lost [3]. Therefore, nav-igation is very crucial for accurate localization ofaerial vehicles.

In aeronautics, the most common navigationmethods can be listed as inertial, electronic (ra-dio, radar and satellite) and terrain referencednavigation. INS and GPS are the most populartechniques of the inertia and electronics basednavigation systems, respectively [4].

INS is a widely used navigation system, whichhas been used as a main localization system inaeronautics since 1930s. This system basicallymeasures speed, acceleration and angular speedin all three dimensions [5] to compute navigationparameters. INS is robust to weather conditionsand external interferences and cannot be discom-posed [6] since all inputs of the system are inertialand internal [7]. However, this system integratesmeasurements to calculate placements and this re-sults in accumulated errors throughout the flight.This behavior makes INS need to be supported bysome extra systems [7].

The other navigation system, GPS, which isbased on the satellite connections, is another com-mon navigation system. This system has started tobe developed in 1970s to overcome side effects ofINS, especially [8]. GPS offers 95 % accuracy anda failure rate about 7.8 m [9]. GPS handles theaccumulated error of INS, because it enables po-sitioning at each measurement [10]. On the otherhand, GPS signals may be easily jammed [11] orlost and may be inapplicable in some geographicalconditions such as a deep valley or sides of anumber of mountains.

Deficiencies of two systems are inacceptablenot only for military objectives, but also for civil-ian usages. This inadequacy leads to need for amore accurate solution of navigation or at least a

decision support system for the main positioningframework. In modern aircraft systems, integratedINS/GPS systems are used and able to overcomeboth systems individual problems. As an alterna-tive way, terrain referenced localization may beregarded seriously to be able to supply the need.

Indeed, terrain referenced localization hasbeen used for all the history of aeronautics. A nav-igation pilot used to try to estimate the position ofthe vehicle with the help of paper-printed maps onhis hand, even in the most primitive aircrafts. Inaddition, systematic studies on terrain referencednavigation started in early 1970s to cope with theaccumulated errors of INS. TRN was examinedregarding military aspects in these studies andwas tried on Tomahawk missiles [12]. Neverthe-less, further improvements could not be achievedbecause of the inadequate performance of bothlocalization sensors on the aerial vehicles andcomputer systems for navigation, and insufficientresolution of terrain data in those years.

The following decades have come with hugeevolutions on the performance of computers andaltitude sensors, and the resolution of territorydata. These developments have given new op-portunities to researchers for studying on terrainbased positioning more closely.

In this study, we aim to discuss existing TRNapproaches, to focus on application of these sys-tems on UAVs and to propose a new TRN systemthat makes use of the Binary search algorithm.To achieve these goals, this study simulates flightof a UAV on the DEM of a known territory,and tries to determine position of the vehicle ina reasonable amount of time just after the vehicleis lost in a randomly chosen position of the flight.

Briefly, all possible flight trajectories of apredefined length is generated from DEM ini-tially, terrain elevation measurements of the samelength with the generated trajectories are per-formed then, and eventually the observed trajec-tory is searched within the huge search space ofpossible trajectories.

2 Related Works

This section describes the significant subjects ofthe TRN systems in general and mentions two

Page 3: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 311

well-known real TRN systems and one provensimulation study.

2.1 Terrain Elevation Data

In TRN systems, one of the most significant partsof the system is the terrain elevation data, whichkeep the height values of the terrain and must beobtained before flights. Despite there are a num-ber of world-wide file formats for these maps, allthese maps keep the elevation values of terrainsin 2D matrices regarding a pre-defined resolu-tion. Elevation values in the rows and columns ofthe matrix correspond to the longitudes and lati-tudes, respectively. The most popular file formatsfor these elevation maps are Digital ElevationModel (DEM), Digital Terrain Elevation Data-base (DTED) [13] and ASTER Global DigitalElevation Model (GDEM) [14].

2.2 Altimeters

Aerial vehicles have sensors placed on them thatmeasure instantaneous distances between the ve-hicle and a reference point. Altimeters are a spe-cialized kind of these sensors, which take verticalrange measurements.

Generally, in TRN systems, both the altitudevalues from the sea level and the terrain below theUAV must be obtained in order to calculate theelevation of the terrain below, i.e. altitude value ofthe terrain from the sea level. Altitude of the airvehicle from the sea level can be measured by sim-ply using pressure differences by means of baro-metric altimeters. Besides, there are a number oftechniques and different devices designed regard-ing these techniques for the purpose of measuringthe distance between the vehicle and the terrainbelow. Very first examples can be enumerated assonar (sound), lidar (laser) and radar (radio wave)altimeters. Radar altimeters are most widely usedaltimeter thanks to their small sizes and very largeprice scale. These devices simply send radio wavesto the earth periodically and measure the distanceby exploiting the time to return and the speed ofthe radio waves. A modern radar altimeter cantake approximately 50 measurements per second,i.e. it can supply one altitude measurement in each

meter for a UAV flying with a speed of 50 m persecond.

On the other hand, altimeters may havedefinitely errors, i.e. measurement noises. More-over, noise becomes higher as the height of theflight increases. Therefore, radar altimeters forUAV navigation must have small errors and theseerrors must be mentioned designing the TRNsystem.

2.3 Basic TRN Flow

Mainly, TRN systems work as follows:

1. Digital Elevation Map (DEM), which is awell-known format and includes elevationdata of a terrain with a defined resolution ofthe terrain to be flown on, is loaded on theaerial vehicle,

2. The vehicle observes instantaneous elevationof the terrain below by means of using thedifference between barometric and radar al-timeter measurements as shown in the Fig. 1and given in the Eq. 1,

ht = hb − hr, (1)

3. Compare somehow these altitude measure-ments with DEM

4. Determine the position utilizing thesecomparisons.

Fig. 1 Instantaneous computation of terrain elevation

Page 4: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

312 J Intell Robot Syst (2014) 73:309–323

TRN seems to be easily and effectively applicablefor navigation of unmanned aircrafts since it is in-dependent of GPS and is firm to external attacks.On the other hand, accuracy of TRN dependsstrictly on the variation of elevation values inDEM, i.e. it gets more accurate on more roughterrains.

A military aerial vehicle can perform GPS-freelocalization successfully over a known territory bytaking advantage of TRN. From this sight of view,i.e. being resistant to external factors, TRN mayespecially satisfy the requirements of military lo-calization practices. Therefore, TRN systems havebeen already used in several fighter aircrafts andmissiles. Nonetheless, detailed analysis on suchmilitary applications of TRN cannot be handledbecause of privacy restrictions, unfortunately.

2.4 Classification of TRN Systems

TRN systems designed for aerial vehicles basicallytry to perform localization by searching real-timemeasurements from sensors within the terraindata. Additionally, differences between sensortechnologies, data processing approaches varioussearching methodologies make TRN algorithmsdiffer from each other.

Sensors placed on the vehicle are one of themost significant components of the UAV, whichplay crucial role on the operation of the algo-rithms. In other words, technology of sensors di-rectly influences the method of localization. TRNsystems can be clustered into two groups with re-spect to their sensor components: Passive imagersand active range sensors [15].

The passive imaging sensors simply take spa-tial or spatio-temporal images of the territory.The most popular and widely used members ofthis class are conventional and fisheye camerasfor UAVs [16]. Members of this category offer alarge price and size scale. On the other hand, apassive imager may be easily affected by illumina-tion variations and the weather conditions, e.g. itcannot support beneficial localization data in thenight, or in a foggy day. In addition, if the searchoperations are performed on the UAV, passiveimagers require large memories on the vehiclesince they take comparatively large data. Besides,these sensors need high bandwidth for the sake of

transferring data to another station and handlingthe search processes. Moreover, since the datasupported from this class of sensors consist ofmultiple still images or videos that may requireimage-processing knowhow to be evaluated.

The active range sensors are components thatcan periodically support altitude measurements.Radar, sonar, lidar and barometric altimeters canbe listed as the very first examples of this cat-egory. Although these sensors are consistent tolight and weather conditions, they lead to someother difficulties, e.g. operating at higher altitudesleads these sensors to have more measurementerror [17]. Since these sensors may be very noisyat comparatively high altitudes, they may be in-operable for aerial navigation. On the other hand,the data gathered from active ranging units consistof simply the altitude values, and can even beprocessed and evaluated with the help of the basiccomputational sciences and the engineering skills.Therefore, the active range sensors are used morecommonly than the passive imagers on terrainaided positioning.

Secondly, TRN systems can be mentionedin two categories considering their searchingphenomena: Correlation techniques and patternmatching techniques [17].

Basically, in correlation methods, the sensorson the vehicle observe a small, contiguous subsetof the territory. This subset is a sub-image of theterritory when a passive imaging device is chosen,and it is a sub-matrix of the entire elevation datawhen the sensing device is a range measurer. Afterthe observation of a sub-sample of the terraindata, this patch is searched within all the datavia shifting it through each sub-part of the ter-rain. Search process is based on computing thesimilarity between the observed patch and terrainsubsections. The sub-terrain region with the high-est similarity is considered the position of UAV[17]. As the very first examples of this method,TERCOM is a well instance of altitude-to-mapcorrelation [18] and DSMAC can be given forimage-to-map correlation [19]. The crucial advan-tage of this technique is that, terrain sub-samplescan be generated before the flight since the terraindata is pre-known.

Pattern matching algorithms stem from the factthat there exist a number of landmarks in any

Page 5: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 313

territory, which have specific characteristics thatother regions in the terrain do not have. As aprimary reference, hills, craters, lakes etc. canbe cited as the examples. Certain samples ofthis category are SIFT (Scale Invariant FeatureTransform), Shape-to-Signature Pattern Match-ing, Onboard Image Reconstruction for OpticalNavigation [1]. This TRN approach requires highcomputer vision and image processing knowledge.

Thirdly, the processing type of data collectedfrom sensors divides TRN systems into threeclasses: Batch data processing, sequential dataprocessing and recursive data processing [20].

A number of TRN algorithms use sensor data,only after measurements can construct a patch,i.e. a small subset of the terrain. Such algorithmsare said to have batch data processing. Sequen-tial processing is indeed a special case of batchprocessing, in which data are kept and thoughtas a sequence of observations rather than a 2Darray-like data structure. Recursive TRN dataprocessing approaches access sensor data as eachnew value of them is generated [20]. Recursiveprocessing may improve solution, i.e. narrow thesearch space at each iteration so that it may sup-port to the navigation system more than batchand sequential data processing techniques. How-ever, reducing the size of the search space in theright way with each new measurement is anotherdifficult problem.

The following subsections describe the mostsignificant TRN systems:

2.5 TERCOM (Terrain Contour Matching)

TERCOM is a well-known and primary altimeter-to-DEM correlation TRN method. This methodhas initially been used on cruise missiles withsuccess. TERCOM essentially correlates activerange sensor observations with a digitized ele-vation database of terrain (DEM) [21]. Chrono-logically, the initial position of the aerial vehicle(Cruise missile in practice) and DEM are loadedto the system before the flight, and the elevationdata of the sub-territory below the vehicle andthe real terrain data are given as input to theExtended Kalman Filter (EKF) throughout theflight. The result from the comparisons of EKFcontributes intuition about the current position,

and this inference is supported to INS in orderto avoid increasing accumulated error. This proce-dure is repeated iteratively during the flight, thuscruise missile is kept from reaching a position,which cannot be located anymore [18].

2.6 TERPROM (Terrain Profile Matching)

TERPROM is a hybrid TRN system which en-ables both positioning and tracking of an aircraftand is used on a reasonable number of Possibleflight path in the TERPROMhter aircrafts suchas F-16, Eurofighter Typhoon etc. [22]. In fact,TERPROM utilizes TERCOM system for acqui-sition mode and SITAN algorithm for trackingmode [23]. TERPROM is started with acquisitionmode at the beginning of a flight and just beforethe takeoff, and in any case that tracking mode isinapplicable and aircraft position is lost, besidesthe system is performed in tracking mode duringan ordinary flight. In Acquisition mode, a possibleflight path and its representation on the terrainmap are shown in the Figs. 2 and 3, respectively. Intracking mode, radar altimeter periodically mea-sures elevation below the vehicle, and INS failuresare minimized by means of comparing observedvalues with the real elevation data from DEM[22].

The two most popular TRN systems, which aretrained successfully on fighter aircrafts and mis-siles for the sake of accomplishing military goals,have been intuitively introduced in detail. Thepublished studies are limited about these TRNmethods because of military restrictions; hencefurther comprehensive observations of particular

Fig. 2 Possible flight path in the TERPROM AcquisitionMode

Page 6: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

314 J Intell Robot Syst (2014) 73:309–323

Fig. 3 Representation ofa flight path in the terrainmap in the TERPROMAcquisition Mode

algorithms in these systems could not be per-formed yet. In addition, neither these two TRNapplications, nor the other well-known examplessuch as SITAN, HELI-SITAN [24], DSMAC [19]do not have been studied and designed for UAVsand there is not any specialized TRN frameworkknown to be operating on a UAV.

2.7 TERELONA (Terrain ReferencedLocalization and Navigation)

In order to design and train TRN methodologyon UAVs, several simulation studies have beenpracticed in the literature. In general, these stud-ies utilize a number of assumptions and limitationsto minimize the search space and to optimize thesolution, but plenty of limitations remove sys-tems away from being realistic. However, distinc-tive and potentially successful studies exist in theliterature.

TERELONA (Terrain Referenced Localiza-tion and Navigation) system is a well-preparedand proven simulation study in a scientific journal.This study utilizes terrain data from eastern terri-tories of Turkey as ASTER GDEM file format.

Searches are performed with the help of Parti-cle Filter algorithm [25], which is an application ofBayesian theorem [26], in TERELONA system.Radar and barometric altimeters are assumed tobe embedded on the UAV as altimeter set. One ofthe most typical characteristics of TERELONA isthat, system exploits recursive data processing, i.e.solution is grown up at each altitude observation.Basically, a group of particles and their weights inthe Particle filter represents possible positions ofthe UAV.

The most powerful proposal of TERELONAis running correlation methods in the CUDAlibrary [27] and so processing in the graphicalprocessing unit (GPU) of the computer system.

TERELONA study aims to prevent initial posi-tion errors to overload Particle filter.

TERELONA system has reports on simulationstudies and results on different terrain character-istics. These results show that utilization of GPUextremely contributes to the system on correctlocalization and tracking of the UAV even if al-timeter measurement period is very short.

3 Application of Binary Search Algorithmto TRN

TRN systems considered so far are essentiallybased on usage of search techniques. However,we have developed a system, which takes its heartcomparatively from pre-processing of the knowndata. Before describing the details of our newlyproposed TRN approach, we are going to considerrequirements and limitations of such a navigationissue.

Since TRN is a real time operation and must besolved in the flight-time, the method must be asfast as possible to cope with the case of localizinga UAV in an acceptable amount of time, i.e. thisperiod must not exceed few seconds. At the sametime, the system must support almost exact accu-rate position acquaintance in order to support anyother navigation system like INS, and not to loseUAV eventually. In addition, although it is con-sidered and designed as a simulation study, such asimulated system should be practically applicablefor a real UAV after all. Therefore, assumptionsand constraints must be chosen in the way thatthey can be handled in the future. In other words,motion dynamics of the UAV and assumptionsand constraints on flight must satisfy the real sys-tem conditions and must not include impossiblefeatures.

Our methodology consists of two significantparts: The Pre-processing and the Localizationparts. These two parts are closely explainedthrough the end of this section.

3.1 Pre-Processing

The search space of terrain-referenced localiza-tion and navigation is so huge that searching inraw data of the territory may result in an impos-

Page 7: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 315

sible hunting. Furthermore, TRN systems havea remarkable convenience that reasonable pre-processing can be made since the elevation dataof the flight territory are on the hand beforethe flight. As an inevitable consequence of theseconditions, DEM, which is the previously knowndata of the study, must be pre-processed prior tothe execution of the system during a flight. Thispreparation phase mainly comprises four sub-phases:

3.1.1 Prof ile Generation

In this section, generation of all possible flightprofiles from the terrain data is described.

a. Profile: The term ‘Profile’ stands for the se-quence of terrain elevation values observedwithin the DEM data or with the help ofradar and barometric altimeters throughoutthe flight. A profile simply consists of suc-cessive height values of a predefined length.Figure 4 depicts that an example flight trajec-tory as shown creates a profile {17, 17, 13, 22,36, 7, 36, 25, 14, 17, 35, 28, 17, 40, 36, 17, 8}.

b. Generating profiles: The very first decision ofthe algorithm is made on the required number

Fig. 4 An example profile

of sensor observations of elevation to achievea valuable search with agreeable performance.Any supporter navigation system should pro-vide correct position info until UAV movesahead a risky distance and this distance isassumed to be at most ∼300 m. When thefact that original DEM data have 30 meter-resolution is regarded, the length of a flightcan be reckoned as 9 to 12 indices in a DEMfor the sake of positioning the UAV. In otherwords, radar and barometric altimeters shouldbe set up to take 1 measurement per secondfor a UAV moving with a velocity of ∼30 mper second to generate profiles from 9 to12 index-length. Less number of observationswill be inadequate since a huge amount ofprofiles may exist in the terrain with similarfeatures if profiles are not long enough.

Additionally, in order to simulate realistic flights,UAV is assumed to be able to change its headingwithin the range (−45, 45) degrees as shown inFig. 5. From this sight of view, it can be seen as amodified 8-neighborhood approach that is limitedwith the direction of the flight. In contrast withother studies (e.g. [1]), the direction of flights isnot limited in this work, i.e. UAV is supposed tofly through all directions.

With respect to the phenomena describedabove, all possible profiles of predefined length inall directions are generated from DEM and writ-ten into files. An example flight of the UAV andits profile on the terrain is shown in Fig. 6. Even asmall DEM may include millions of profiles (e.g.64 × 64 sized DEM and 7 index-long profiles).These profiles are going to be compared with ameasured profile of real-time flight in order tofind the position of UAV. Hence, each profile

Fig. 5 Possible nextpositions (indices labeledwith 2) when the first twopositions of the UAV areindices numbered with 0and 1, respectively.Opposite directions areavailable as symmetric ofrepresented ones

Page 8: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

316 J Intell Robot Syst (2014) 73:309–323

Fig. 6 A possible flight of a UAV and its profile

should be identified by means of significant char-acteristics for accurate comparison outputs.

3.1.2 Prof ile Featuring

Since a profile is a sequence of altitudes of trav-elled coordinates by a UAV, it keeps track of alti-tude variations of a flight and these variations canbe utilized to distinguish profiles from each other.In our methodology, we represent each profilewith a line, which is generated via Least SquaresLine Fitting Method [28] using each coordinateand depicted in the Fig. 7 below:

a. Least squares line fitting method: This linefitting method is a specialized version of thewell-known Least Squares regression method.The method basically fits a line through datapoints where the line is as possible as close toeach point in the data.Principally, Least Squares line fitting methodtries to minimize the sum of the differencesbetween each Y-value in the data and the cor-

Fig. 7 Fitted line for several data points by least squaresline fitting method

responding Y-value generated from the lineequation fed by X-value.Line equation is given below:

y = mx + n (2)

Making use of the line equation, the error be-tween the real Y-values and the correspond-ing Y-values to the real X-values from theequation can be calculated as:

ei = yi − y (xi) (3)

ei = yi − m.xi − n (4)

where, i = 1,2...N, (xi, yi) pairs representthe horizontal distance between two adjacentprofile index and the elevation of each index,respectively.In the procedure that gives the name to themethod, the sum of squares of the computederrors for each data point must be minimized.First of all, the sum of squares of the errorscan be given as:

E =∑

Ni=1 (ei)

2 =∑

Ni=1 (yi − m.xi − n)2 (5)

Looking for the best representing line for aset of data points means calculating the mostappropriate m and n values. Hence, both thedifferentials of the sum of squares of the er-rors with respect to m and n must be equalto zero in order to minimize the sum. Solvingm and n that satisfy this principal, the bestrepresenting line is achieved:

∂ E∂m

=∑

Ni=12. (yi − m.xi − n) (−xi) (6)

∂ E∂n

=∑

Ni=12. (yi − m.xi − n) (−1) (7)

Despite real data points in a profile do not fiton a line, the profile can be represented by aline with the help of Least Squares line fittingmethod. Therefore, features of a profile canbe generated by taking the advantage of linecharacteristics.

b. Profile distinctive features: To characterize aprofile, we take advantage of some particularfeatures of the line representing it: Slope anglein degrees (α), the average (havg), the maximum

Page 9: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 317

(hmax) and the minimum altitude (hmin) valuesof the prof ile, and we construct a feature vec-tor from these features:[α, havg, hmax, hmin

]

Slope is calculated by the following equationexploiting the line equation:

α = Arc tan (m) (8)

3.1.3 Prof ile Identif ication

Distinctive features are the main characteristicsof a profile, however they are not still easily ap-plicable for comparisons and a more practical andunique identifier for each profile is needed. Oneof the strongest propositions of this study comesinto sight here. The study proffer a unique scoringalgorithm that generates a unique, real numberidentifier for each profile by using features ex-tracted in the previous step. This individual num-ber is named as ‘score’.

Slope angle is the most significant feature ofthe profiles in the study. Slope of line of a profilegives the most powerful idea about how rough theterrain section below trajectory of a flight is, thusit must have the most influential contribution tothe score. The average altitude comes after theslope angle, since it can tell the difference betweentwo profiles of the same or similar inclinations.The maximum and the minimum heights may behelpful in some rare cases that both slope angleand average altitudes are close between a mea-sured and reference profile, respectively.

We have developed an algorithm, i.e. evalu-ation function given in the Eq. 8, to generatedifferent scores for each profile even if they havefairly inseparable feature values with inspirationfrom decimals. As is known, decimals have units,tens, hundreds etc. and each can be given a num-ber in the range {0, 1, 2, ..., 9}. Mainly, the samenumber in different digits creates distinct contri-butions to the whole number thanks to differentcoefficients of each digit. Utilizing this knowledgeon features set, we have accomplished to generateindividual identifiers for profiles in the dataset.

Profile feature vectors include slope angle indegrees, thus it has a possible range (−90, +90)of real numbers, and three altitude attributes that

we assumed to be in the range (0, 5,000) in me-ters. Since inclination is the most significant at-tribute, a variation above a predefined thresholdin the slope value must dominate any amountof variations in attributes having less significanceand this holds for each attribute more significantthan others, i.e. feature ranking. Feature rank-ing can be achieved multiplying less significantattributes with comparatively small coefficientsand multiplying the next significant attributes witha coefficient dominating the previous multiplica-tion. Providing more uniqueness can be obtainedby selecting coefficients from prime numbers.

f (Pn) = kαα + khavg havg + kh (hmax + hmin) (9)

where Pn is the nth profile, kα is the coefficientof α, khavg is the coefficient of khavg and kh is thecoefficient of hmax and hmin.

After running the profile identification algo-rithm on every profile generated from DEM inthe previous sub-phase, a unique identificationnumber (i.e. score) is acquired for each profile.We place this score (sc) in the feature vector ofits profile on account of using it in comparisons,and coordinates of the first and the last measure-ments in the profile to provide position info of thematched profile, so the new appearance of profilefeature vector is as the following:[α, havg, hmax, hmin, sc, xfirst, yfirst, xlast, ylast

]

Generated profiles should be stored to use forcomparisons during flights. Archiving operationmust be handled in the way that comparison of aprofile of measurements with stored profiles canbe performed in the shortest path. To achievethis goal, we store profiles into different files re-garding their slope angle and each integer slopeangle interval has a corresponding file. This en-ables comparing measured profile with a smallsubset instead comparing with the whole DEMand reduces the search space from millions to tenthousands.

3.1.4 Storing Prof iles

Generated profiles must be stored in order to beused in comparisons. However, for the sake offinding the flight profile in the whole set of terrain

Page 10: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

318 J Intell Robot Syst (2014) 73:309–323

profiles in the shortest way, archiving proceduremust be handled in a smart manner. To copewith such a requirement, profiles sorted regardingboth their slope angle and score. Because of thefact that there exists unrestricted time for pre-processing of the terrain before the flight, sortingis assumed to be achievable in the real UAVstudy.

Owing to profiles being sorted with respect toslope angle and score, search space gets sortedduring the flight. Thus, the profile of the flighttrajectory can be tried to find by means of specialsearch algorithms and the process may becomedramatically faster.

3.2 Search

Whenever adequate number of measurements isperformed by UAV, a profile is created fromthose measurements. This profile should be com-pared with DEM profiles and an accurate positionmust be achieved before UAV goes ahead for adangerous distance. As stated earlier, profiles aresorted with their slope angle and score, hence wecan search the observation profile within a smallsearch space including the exact file containing theinclination interval with extra files from a smallneighborhood (α ±2) in order to cover failuresdue to possible measurement errors of sensors.

Files corresponding to the small neighborhoodincludes at most a few hundred thousands ofprofiles, however they must even be searchedby means of a smart search algorithm. Since theprofiles in each slope angle file are also sortedby their scores, files are taken into memory sep-arately and all the profiles are searched with theBinary search algorithm [29], because this methodguarantees to halve the search space at each iter-ation on sorted lists, i.e. the required number ofcomparisons is halved at each iteration.

In Binary search technique, query value is al-ways compared with the value in the middle of thesorted list. If the values are the same, the resultis found. If the searched value is smaller than thevalue in the middle, then the sub-list from begin-ning to the middle is kept while the remaininghalf is thrown away, and vice versa. Comparisonsare performed recursively after each division step,whenever the result is found, search is finished.

Fig. 8 Binary search

Even in the worst case, i.e. searched value is not inthe list, algorithm has O(logn) complexity ratherthan tracing through whole the list.

For example, Fig. 8. shows the binary searchiterations on a sorted list with 16 entries.

The flowchart of the complete algorithm can beseen in the Fig. 9.

The contribution of the Binary search to thesearch cost (i.e. number of comparisons) is vital

Fig. 9 The flowchart of the complete algorithm

Page 11: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 319

that even millions of profiles can be searched injust a few iterations.

Finally, the original Binary search tries to findexact results, however in TRN systems, measure-ment errors due to the altimeters may result inflight profiles that does not exist in the terraindata. Indeed, such faulty profiles must be verysimilar to the existing ones; hence the search al-gorithm in this study must also have the abilityto find these profiles. In order to accomplish thismission, the last profile at the end of comparisonsis chosen as the result since it is the closest one.

4 Simulation Results

In order to test our TRN system, we have devel-oped a simulation system in C++ ProgrammingLanguage and we ran our simulations on each coreof a machine in parallel, which has the technicalspecifications shown in the Table 1. In this simu-lation, a UAV is created on a random coordinateof the DEM, which is taken as input to the system.UAV is assumed to be lost initially, and starts tofly with the assumptions described before. Basi-cally, when UAV altimeters measure a numberof elevation values equal to the length of profiles,which is given as an input to the system; our TRNsystem starts to look for measured profile in theset of profiles, and returns the result if any.

4.1 Dataset

Firstly, the necessity for having terrain data beforeflight makes the search space of the problem hugesince the possible flight route of a UAV usuallycovers comparatively large regions. Accordingly,examination of the study must be performed on arealistic map data and such a map is thought to be

Table 1 Technical specifications of the simulationmachine

Property Specification

CPU Intel(R) Core(TM) i7-2620M CPU@ 2,70 GHz (4 CPUs), (2 Cores)

Memory 4096 MB, dual channelDDR3-1333 Mhz SDRAM

Cache memory 4 MB

sized at least ∼3.6 × 3.6 km2. This minimum sizeis considered to be useful during a close militarymission; however up to almost ∼ 15 × 15 km2

datafrom DEMs of real-world territories are gath-ered and used in the simulations of the study.Regarding that DEMs have 30 meter-resolutionoriginally; three different sizes of maps are ac-quired: 128 × 128, 256 × 256 and 512 × 512, andthe system can be examined on ∼3.6 × 3.6 km2, 7.5× 7.5 km2 and 15 × 15 km2 terrains, respectively.

In addition to real-world DEMs, synthetic 10meter-resolution terrain maps are created bymeans of a simple interpolation method on ac-count of proving the performance of the systemwith longer profiles on higher-resolution maps. Toachieve 10 meter-resolution maps from a map of30 meter-resolution, extra two indices are gener-ated between adjacent indices in both rows andcolumns of the original one, and the elevationvalues of these extra indices are interpolated fromthe pre-existing indices. The number of indices ofthe new map is calculated as follows:

n = 3 (m − 1) + 1 (10)

where the original map is a m × m and the gener-ated map is a n × n matrix.

Therefore, a 64 × 64 index-sized small artificialterrain is generated from just a randomly chosen22 × 22 index-sized portion of the largest map inorder to try the system on 16-index-long profiles(i.e. again ∼90 M profiles of this size can be gen-erated this small map). Both the size of this mapand elevation values in it are not realistic, how-ever this map can give hints about the potentialperformance of the suggested TRN system withlonger profiles on terrains represented by high-resolution DEMs. Besides, 16-index-long profilejust means that the UAV must fly only 160 mwithout localization until the position is found.This distance is almost exceeded by even 5-index-long profiles on a 30 meter-resolution DEM.

Secondly, because of the fact that this studydoes not challenge for flat areas, DEMs from allsizes are taken from the eastern region of Turkey,where roughness is very high. Therefore, analysisof the simulations does not contain any commentwith respect to the roughness of the terrains.

Page 12: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

320 J Intell Robot Syst (2014) 73:309–323

Thirdly, after deciding the sizes of the DEM,the next decision should be made on the lengthof profiles. For the original, 30 meter-resolutionDEMs, the study proposes that profile lengthshould be at least 9 to achieve uniqueness ofprofiles in the terrain and the accuracy of thesystem. In addition, Binary search approach ofthe system allows increasing the length of theprofile much more, but sequential data processingrestricts since longer profiles (i.e. more measure-ments) mean longer distances without informa-tion about the position of the UAV. Thus, thepresent system with the sequential data processinggenerates from 9 to12 index-long profiles fromeach size of the original DEMs for the purpose ofexamining different profile lengths. However forthe synthetic terrain, only 16-index-long profilesare generated to test the system with much longerprofiles.

If the total number of profiles in different ter-rains is mentioned, the largest terrain in the origi-nal dataset seems to be containing approximately90 M of 12-index-long profiles. This is the highestamount of profiles generated from the 30 meter-resolution DEMs in a simulation run for this TRNsystem. In addition, the interpolated 10 meter-resolution, 64 × 64 index-sized map contains alsoapproximately 90 M 16-index-long profiles.

4.2 Modeling Altimeters

Altitude sensors on the UAV are assumed tobe radar and barometric altimeters in this study.These real system components exist as simulatedentities in this TRN system. Due to the fact thata radar altimeter operates with ±5 % accuracy atthe worst case and the difference between baro-metric and radar altimeter measurements are usedin the algorithm, these measurements are mod-eled by adding uniformly distributed noise witha 5 % rate to the real data in DEM as shown inEq. 11. By this way, it is guaranteed that the pro-posed TRN system not only works with exact data,but also succeeds with approximate (i.e. faulty)observations.

h′ (x, y) = h (x, y) + h (x, y) .X.Perr, (11)

where X ∼ U(0,1), h(x,y) is the elevation ofthe(x, y)coordinate in the DEM, h′(x,y) is the

sensor measurement of the same coordinate andPerr is the error percentage.

Speed of the UAV is simply assumed to be 30 mper second in this study. Regarding this speed,altimeters are assumed to be working with 1 Hzin the simulations of the original DEMs and 3 Hz(i.e. one measurement per 10 m of flight) in thesimulations of the generated 10 meter-resolutionterrain for the sake of taking one measurementper each map index.

4.3 Results

For each DEM size, 1,000 simulation runs areperformed in order to obtain a more uniformdistribution of flight trajectories in the terrainand the accuracy of results that are found withvarying profile lengths are recorded. Additionally,execution time of the search algorithm can beignored thanks to the Binary search algorithm (i.e.number of comparisons is about a few tens in theworst case), but time to reach the adequate profilelength is mentioned in detail.

4.3.1 Accuracy Results

As shown in the Table 2 and the Fig. 10, accuracyresults of the algorithm on the 30 meter-resolutionDEMs with respect to profile lengths figure outthat profile length directly influences the successrate of the algorithm, i.e. for each DEM size, whenthe profile length increases, the accuracy also in-creases. On the other hand, no exact idea can begathered about the effect of DEM size on theaccuracy since both increase and decrease can beobserved on the accuracy while either minimizingor maximizing the DEM size.

The highest accuracy reported in the study forthe original terrain DEMs is 90.4 % with 12 index-

Table 2 Accuracy of results (success percentage) for vary-ing profile lengths in each DEM

Profile DEM size

length 128 × 128 (%) 256 × 256 (%) 512 × 512 (%)

9 85.3 84.8 85.610 87.1 87.2 87.211 88.4 88.9 88.712 89.7 90.1 90.4

Page 13: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 321

Fig. 10 The accuracy – profile length graph of each DEMsize

long-profiles and it is about 5 % above the highestaccuracy result of the previous study (i.e. 85.6 %with 8-index-long profiles) [1]. However, it is notenough to be applied on a real system. Thereare to possible ways to overcome this problemand to increase the success rate. The first optionmay be increasing the number of features of theprofiles and rearranging the weights correspond-ing to each feature, so more distinctive scores maybe acquired. This potentially contributes to thesolution, but such an operation may be a subjectto the real system study. The second choice is tomake profiles longer, hence more distinct profilescan be generated from the same terrain.

In order to examine the accuracy of the systemwith longer profiles, there exists about 90 M 16index-long-profiles generated from the synthetic64 × 64 sized terrain map, which has 10 meter-resolution. The result with such a configuration is

Fig. 11 The accuracy – profile length graph of each DEMsize

satisfactory that the success rate is measured to be93.7 % and is depicted in the Fig. 11. This resultis about 9 % above the highest accuracy result ofthe previous study and proves that this study hasthe potential to be applied on a real system. Theobserved improvement on the accuracy with thehelp of longer profiles shows that the proposedTRN system provides results close to GPS and canbe closer to fully correct localization by means ofincreasing the length of the profiles. On the otherhand, even a small map contains almost a hundredmillion profiles, thus smarter solutions for datastorage should be performed for larger terrains.

4.3.2 Time to Localize the UAV

Secondly, the average execution times (i.e. num-ber of comparisons) of the system should be men-tioned. First of all, Binary search method in thesearching phase diminishes the execution timeof the system to negligible levels on all sizes ofterrains with all profile lengths. This is becausethe Binary search method allows the system tofinish searching a profile in the largest data set(i.e. ∼90 M profiles) after only 29 comparisons inthe worst case. Therefore, time to find a profilein any size of terrains does have no effect on theperformance of the TRN system.

On the other hand, the lost UAV must takeelevation measurements from the earth until thenumber of measurements is equal to the pre-defined length of a profile to search in the terraindata. For the original DEMs, the shortestprofile means a flight through 270 m (9 in-dices*30 m/index) without localization, and thelongest profile requires 360 m with the same con-dition. Together with the necessity to increasethe accuracy, the distance to gather the longestprofile must be regarded and that seems hugefor a navigation study, i.e. flying 360 m with noexact position info is not applicable. In contrastwith the original DEMs, the synthetic terrain mapwith 10meter-resolution allows the system both tofly only 160 m (16 indices*10 m/index) withoutTRN and to increase the accuracy to 93.7 %.In order to boost up the proposed TRN systemat this point, either the resolution of the real-world terrain databases should be improved andthe profiles should be made longer together, or

Page 14: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

322 J Intell Robot Syst (2014) 73:309–323

the sequential data processing approach must beswapped with the recursive one. Although thelatter option requires a new, individual study, theformer solution seems to be handled compara-tively easier. The reason behind this study doesnot include higher resolution DEMs is that suchreal data cannot be reached publicly.

The navigation of a UAV is a real-time prob-lem; hence it requires the TRN system to detectthe position of the vehicle in a short range witha reasonable accuracy, which can be acceptedonly above 90 % as a lower limit. Indeed thispercentage is only acceptable in contemplation ofhaving the potential to be improved dramaticallythrough 100 %. To sum up how the accuracy andthe performance of the system can be improved,utilization of higher resolution real terrain mapsand longer profiles, a detailed review of the profiledistinctive features and the weight distributionsof those features, and usage of recursive dataprocessing instead of sequential processing can beconsidered as the very initial ways of solution.

5 Conclusions

In this TRN system proposal, a comparativelyaccurate and fast terrain data based localizationalgorithm is implemented and examined withenough number of simulations. Basically, thestudy exploits the DEM file format as the terraindata, assumes to make use of active range sensors(i.e. radar and barometric altimeters), sequen-tially operates on sensor measurements, and triesto correlate between measured elevation profilesand the terrain data profiles.

The main strength of the method comes fromthe well-designed preprocessing phase in whichthe terrain database (i.e. profiles) is created fromthe DEM files for fast and accurate lookups. Thestudy guarantees to diminish huge search spacesof traditional TRN approaches into linearly solv-able small, sorted spaces. Additionally, the sortedsearch space is traced with a smart search algo-rithm (i.e. Binary search) rather than searchinglinearly. Thanks to the Binary search, hundredthousands of profiles can be looked up with justa few tens of comparisons.

Although the system is implemented as a sim-ulation rather than applying on a UAV, assump-tions are made considering to facilitate embeddingthe system on a real air vehicle. For example, thedirection of the flight is not limited, i.e. the UAVis thought to be able to fly through all directionswith any turn in the range (−45, 45) degrees be-tween adjacent indices of the terrain map.

Simulation results of the study show that themethodology is almost applicable for a real systemon a 15 × 15 km2 territory. Especially simulationson the synthetic terrain data proves that highresolutions (e.g. 10 m or higher) on terrain dataallows to use longer profiles and eventually resultsin remarkable improvements on both success rateand the localization cost (i.e. time and distance tofind the exact position).

Although the possible improvements to theexisting TRN system were mentioned in detail,future studies can be finally concluded as: Largerreal terrain data of higher resolutions should beacquired, much longer profiles must be generatedfrom those higher resolution maps and simulated,elevation observations must be processed as eachmeasurement is taken in order to lower the dis-tance flew without localization, and ultimatelythe powered system may be embedded on a realUAV.

Acknowledgements Thanks to Kadir Kirtac, Zafer Sayar,M. Emin Paca and Alime Eroglu for valuable discussions.

References

1. Eroglu, O., Yilmaz, G.: A novel fast and accurate algo-rithm for terrain referenced UAV localization. In: Pro-ceedings of International Conference on UnmannedAircraft Systems ICUAS13, May 28–31, Atlanta,GA (2013)

2. Eroglu, O.: A simulation study on terrain referencednavigation of unmanned aerial vehicles without di-rection constraint. MSc. Thesis (in Turkish), Com-puter Engineering, Aeronautics and Space Technolo-gies Institute (ASTIN), Turkish Air Force Academy(TUAFA) (2013)

3. Esmat, B.: Introduction to Modern NavigationSystems. World Scientific Publishing (2007)

4. Temel, S., Unaldi, N.: Opportunities and challengesof terrain aided navigation systems for aerial surveil-lance by unmanned aerial vehicles. In: Augmented

Page 15: A Terrain Referenced UAV Localization Algorithm Using Binary Search Method

J Intell Robot Syst (2014) 73:309–323 323

Vision and Reality, pp. 1–15. Springer, Berlin,Germany (2013)

5. Titterton, D.H., Weston, J.L.: Strapdown InertialNavigation Technology. Peter Pregrinus Ltd.(1997)

6. IEEE Std.: IEEE Standart for Inertial Sensor Termi-nology, IEEE Std. 528–2001, IEEE (2001)

7. King, A.D.: Inertial navigation forty years of evolution.GEC Rev. 13(3), 140–149 (1998)

8. Temel, S.: Developing terrain referenced navigationsystem for unmanned air vehicles using computergraphics algorithms. MSc. Thesis (in Turkish), Aero-nautics and Space Technologies Institute (ASTIN),Turkish Air Force Academy (TUAFA) (2008)

9. Global Positioning System Standard Positioning Ser-vice Performance Standard Document, 4th edn.U.S Government Official Performance Standards &Specifications. http://www.gps.gov/technical/ps/ (2008).Accessed 7 July 2013

10. Grewal, M.S., Weil, L.R., Andrews, A.P.: Global Po-sitioning Systems, Inertial Navigation, Integration, 2ndedn. John Wiley & Sons, Inc. (2007)

11. Carroll, J.: Vulnerability assessment of the transporta-tion infrastructure relying on the global positioning sys-tem. Technical Report, Volpe National TransportationSystems Center (2001)

12. Kopp, C.: Cruise missiles. Australian aviation. http://www.ausairpower.net/notices.html (2005). Accessed 21Apr 2013

13. DTED Performance Specification. MIL-PRF-89020B,National Imagery and Mapping Agency (2000)

14. ASTER GDEM Readme File. ASTER GDEMVersion1 (2011)

15. Temel, S., Unaldi, N., Ince, F.: Novel terrain relativelunar positioning system using lunar digital elevationmaps. In: Proceedings of the 4th International Con-ference on Recent Advances in Space Technologies,pp. 597–602 (2009)

16. Henley, A.J.: Terrain aided navigation: current status,techniques for flat terrain and reference data require-ments. In: Position Location and Navigation Sympo-sium, The 1990’s - A Decade of Excellence in theNavigation Sciences, IEEE PLANS ‘90, pp. 608–615(1990)

17. Hollowell, J.: Heli/SITAN: A terrain referenced navi-gation algorithm for helicopters. In Position Locationand Navigation Symposium, 1990. Record. The 1990’s -A Decade of Excellence in the Navigation Sciences.IEEE PLANS ’90. IEEE, pp. 616–625 (1990)

18. Baker, W.R., Clem, R.W.: Terrain contour matching(TERCOM) primer. Tech. Rep. ASP-TR-77-61. Aero-naut. Syst. Div., Wright-Patterson AFB, OH (1977)

19. Carr, J.C., Sobek, J.L.: Digital scene matching areacorrelator (dsmac). In: Image Processing for MissileGuidance, Proceedings of the Society of Photo-OpticalInstrumentation Engineers, vol. 238, pp. 36–41 (1980)

20. Yigit, H., Yilmaz, G.: Development of a GPU accel-erated terrain referenced UAV localization and navi-gation algorithm. J. Int. Robotic Syst. 7(1–4), 477–489(2013)

21. Golden, J.: Terrain contour matching (TERCOM): acruise missile guidance aid. In: SPIE Image Processingfor Missile Guidance, vol. 238 (1980)

22. Robins, A.: Recent developments in the ‘TERPROM’integrated navigation system. In: Proceedings of theION 44th Annual Meeting (1998)

23. Hagen, O.K.: Terrain Navigation Principles andApplication. Geodesiog Hydrografidagene LectureNotes (2005)

24. Hollowell, J.: Heli/SITAN: A terrain referenced navi-gation algorithm for helicopters. In: Position Locationand Navigation Symposium, 1990. Record. The 1990’s– A Decade of Excellence in the Navigation Sciences.IEEE PLANS ’90. IEEE, vol., no., pp. 616–625 (1990)

25. Gustafsson, F., Gunnarsson, F., et al.: Particle filtersfor positioning, navigation, and tracking. IEEE Trans.Signal Process. 50(2), 425–437 (2002)

26. Bergman, N., Ljung, L., Gustafsson, F.: Terrain naviga-tion using Bayesian statistics. IEEE Contr. Syst. 19(3),33–40 (1999)

27. NVIDIA: NVIDIA CUDA C Programming Guide.NVIDIA Corporation. Version 4.0. http://developer.nvidia.com/nvidia-gpu-computing-documentation (2011).Accessed 13 July 2013

28. Williamson, J.H.: Least-squares fitting of a straightline. Can. J. Phys. 46(16), 1845–1847 (1968)

29. Nievergelt, J.: Binary search trees and file organization.ACM Comput. Serv. 6(3), 195–207 (1974)