132
VISION-BASED MAP BUILDING AND TRAJECTORY PLANNING TO ENABLE AUTONOMOUS FLIGHT THROUGH URBAN ENVIRONMENTS By ADAM S. WATKINS A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007 1

VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

VISION-BASED MAP BUILDING AND TRAJECTORY PLANNING TO ENABLEAUTONOMOUS FLIGHT THROUGH URBAN ENVIRONMENTS

By

ADAM S. WATKINS

A DISSERTATION PRESENTED TO THE GRADUATE SCHOOLOF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT

OF THE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA

2007

1

Page 2: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

c© 2007 Adam S. Watkins

2

Page 3: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

To my parents for their support, encouragement, and, most of all, lovefor a son who never calls nearly enough.

To my brother for always setting the bar so high that I have to stretchand for always reminding me that, someday, I need to graduate.

To Jessica for making the last long years in Gainesville fun, exciting,and sometimes even more stressful than they should have been.

To Allie for making sure that I get up every morningand put one foot in front of the other,

if only to go for a short walk.

3

Page 4: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

ACKNOWLEDGMENTS

I would like to thank my advisor Dr. Rick Lind for his guidance, criticisms, and

motivation throughout my graduate school experience. I would like to express gratitude

to my committee members for their patience and insight during my doctoral studies. I

would also like to extend thanks to my lab fellow researchers in the Flight Controls Lab

including Mujahid Abdulrahim, Eric Branch, Ryan Causey, Daniel Grant, and Joe Kehoe.

Thanks to Mujahid, Eric, and Ryan for dealing with my nearly constant disruptions of the

workplace and generally sarcastic, downbeat attitude. Thanks go to Daniel “Tex” Grant

for handling my verbal abuse so well and teaching me how to shoot a gun. Thanks to Joe

Kehoe for his thousands of research related ideas, including the three that actually worked.

4

Page 5: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

TABLE OF CONTENTS

page

ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

CHAPTER

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Historical Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 SCENE RECONSTRUCTION FROM MONOCULAR VISION . . . . . . . . . 24

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2 Structure from Motion Overview . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.1 Pinhole Camera Model . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.2 Feature-Point Tracking . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.3 Epipolar Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.4 Euclidean Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . 30

2.3 Calculating Structure from Motion . . . . . . . . . . . . . . . . . . . . . . 312.3.1 Eight-Point Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 312.3.2 Recursive Structure from Motion . . . . . . . . . . . . . . . . . . . . 32

2.4 Optical Flow State Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 342.5 Image Processing for Environment Mapping . . . . . . . . . . . . . . . . . 35

3 ENVIRONMENT REPRESENTATION . . . . . . . . . . . . . . . . . . . . . . 37

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2 Environment Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2.1 Topological Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2.2 Occupancy Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2.3 Geometric Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3 Dimensionality Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.1 Principal Components Analysis . . . . . . . . . . . . . . . . . . . . 413.3.2 Data Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3.3 Plane Fitting Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 45

5

Page 6: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

4 FILTERING FOR STATE ESTIMATION . . . . . . . . . . . . . . . . . . . . . 49

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 The Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.1 The Extended Kalman Filter . . . . . . . . . . . . . . . . . . . . . . 524.2.2 The Unscented Transform . . . . . . . . . . . . . . . . . . . . . . . 534.2.3 The Unscented Kalman Filter . . . . . . . . . . . . . . . . . . . . . 544.2.4 The Square-Root Unscented Kalman Filter . . . . . . . . . . . . . . 56

4.3 The Particle Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4 The Rao-Blackwellized Particle Filter . . . . . . . . . . . . . . . . . . . . . 60

5 SIMULTANEOUS LOCALIZATION AND MAP BUILDING . . . . . . . . . . . 62

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2 Airborne SLAM Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2.1 Vehicle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.2.2 Measurement Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3 Filtering for SLAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.3.1 Rao-Blackwellized Particle Filter . . . . . . . . . . . . . . . . . . . . 685.3.2 Unscented Rao-Blackwellized Particle Filter . . . . . . . . . . . . . 715.3.3 Square-Root Unscented Rao-Blackweillized Particle Filter . . . . . . 73

5.4 Data Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.5 Map Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6 TRAJECTORY PLANNING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.2 Direct Trajectory Planning Methods . . . . . . . . . . . . . . . . . . . . . 80

6.2.1 Mixed-Integer Linear Programming . . . . . . . . . . . . . . . . . . 806.2.2 Maneuver Automaton . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.3 Decoupled Trajectory Planning . . . . . . . . . . . . . . . . . . . . . . . . 846.4 Sampling-Based Path Planning . . . . . . . . . . . . . . . . . . . . . . . . 85

6.4.1 Expansive-Spaces Tree Planner . . . . . . . . . . . . . . . . . . . . . 876.4.2 Rapidly-Exploring Random Tree Planner . . . . . . . . . . . . . . . 88

6.5 The Dubins Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.5.1 Extension to Three Dimensions . . . . . . . . . . . . . . . . . . . . 936.5.2 Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.5.2.1 Global path collision detection . . . . . . . . . . . . . . . . 946.5.2.2 Local path collision detection . . . . . . . . . . . . . . . . 96

6.6 Environment Coverage Criteria . . . . . . . . . . . . . . . . . . . . . . . . 976.7 Optimal Path Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.8 Trajectory Planning Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 102

7 DEMONSTRATIONS AND RESULTS . . . . . . . . . . . . . . . . . . . . . . . 105

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6

Page 7: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

7.2 Plane Fitting Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057.2.1 Effects of Feature Point Noise . . . . . . . . . . . . . . . . . . . . . 1067.2.2 Nonplanar Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . 108

7.3 SLAM Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087.3.1 Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . 1097.3.2 Localization Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117.3.3 State Estimation Error . . . . . . . . . . . . . . . . . . . . . . . . . 1137.3.4 Filter Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.3.5 Filter Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167.3.6 Example SLAM Result . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.4 Trajectory Planning Results . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.4.1 Environment Coverage . . . . . . . . . . . . . . . . . . . . . . . . . 1177.4.2 Optimal Control Results . . . . . . . . . . . . . . . . . . . . . . . . 121

8 CONCLUSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228.2 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

7

Page 8: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

LIST OF TABLES

Table page

7-1 Efficiency comparison of the SLAM filters. . . . . . . . . . . . . . . . . . . . . . 117

8

Page 9: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

LIST OF FIGURES

Figure page

1-1 Map construction by an autonomous UAV . . . . . . . . . . . . . . . . . . . . . 13

1-2 Examples of unmanned vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1-3 Examples of unmanned air vehicles . . . . . . . . . . . . . . . . . . . . . . . . . 15

1-4 Unmanned air vehicle mission profiles . . . . . . . . . . . . . . . . . . . . . . . . 16

2-1 Pinhole camera model and perspective projection of a feature point onto theimage plane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2-2 Feature-point tracking result from an image sequence . . . . . . . . . . . . . . . 26

2-3 Epipolar geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3-1 Environment representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3-2 2D Prinicipal Components Analysis for a dataset with a linear trend. . . . . . . 41

3-3 3D Principal Components Analysis for a planar dataset. . . . . . . . . . . . . . 43

3-4 Centroid splitting for iterative k-means . . . . . . . . . . . . . . . . . . . . . . . 46

3-5 Dimensionality reduction of feature point data. . . . . . . . . . . . . . . . . . . 48

4-1 Recursive state estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4-2 The Unscented Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5-1 Map building in the presence of noise . . . . . . . . . . . . . . . . . . . . . . . . 63

5-2 The SLAM estimation strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5-3 Fixed-wing aircraft model definitions . . . . . . . . . . . . . . . . . . . . . . . . 66

6-1 An overview of the trajectory planning process . . . . . . . . . . . . . . . . . . . 79

6-2 An example Maneuver Automaton . . . . . . . . . . . . . . . . . . . . . . . . . 83

6-3 Probabilistic Roadmap planning in a two-dimensional environment . . . . . . . 86

6-4 Expansive-Spaces Tree planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6-5 Rapidly-Exploring Tree planning . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6-6 The coordinate system for calculating the paths in the Dubins set D. . . . . . . 91

6-7 The Dubins set of paths for two configurations. . . . . . . . . . . . . . . . . . . 93

6-8 Examples of 3D Dubins paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9

Page 10: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

6-9 Collision detection for the global path. . . . . . . . . . . . . . . . . . . . . . . . 95

6-10 Interior to boundary test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

6-11 Collision detection for the local path . . . . . . . . . . . . . . . . . . . . . . . . 98

6-12 Motion planning for coverage strategies . . . . . . . . . . . . . . . . . . . . . . . 99

6-13 Environmental coverage metric . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

7-1 Result of the plane fitting algorithm without image noise. . . . . . . . . . . . . . 105

7-2 Angle of incidence constraint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7-3 Results of the plane fitting algorithm in the presence of image noise. . . . . . . . 107

7-4 Result of the plane fitting algorithm when nonplanar obstacles are included. . . 109

7-5 The vision-based flight simulation environment for testing the SLAM algorithm. 110

7-6 Example localization result for the airborne SLAM simulation . . . . . . . . . . 112

7-7 Average estimation error for the three SLAM filters and the nominal trajectoryfor 50 Monte Carlo runs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7-8 Filter consistency results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

7-9 An example result for the complete airborne SLAM solution using the URBPF . 118

7-10 Example paths for environment coverage . . . . . . . . . . . . . . . . . . . . . . 119

7-11 Comparison of environment coverage results. . . . . . . . . . . . . . . . . . . . . 120

7-12 Resultant trajectories from the path tracking optimization. . . . . . . . . . . . . 121

10

Page 11: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Abstract of Dissertation Presented to the Graduate Schoolof the University of Florida in Partial Fulfillment of theRequirements for the Degree of Doctor of Philosophy

VISION-BASED MAP BUILDING AND TRAJECTORY PLANNING TO ENABLEAUTONOMOUS FLIGHT THROUGH URBAN ENVIRONMENTS

By

Adam S. Watkins

August 2007

Chair: Richard C. Lind, Jr.Major: Mechanical Engineering

The desire to use Unmanned Air Vehicles (UAVs) in a variety of complex missions has

motivated the need to increase the autonomous capabilities of these vehicles. This research

presents autonomous vision-based mapping and trajectory planning strategies for a UAV

navigating in an unknown urban environment.

It is assumed that the vehicle’s inertial position is unknown because GPS in

unavailable due to environmental occlusions or jamming by hostile military assets.

Therefore, the environment map is constructed from noisy sensor measurements taken

at uncertain vehicle locations. Under these restrictions, map construction becomes a

state estimation task known as the Simultaneous Localization and Mapping (SLAM)

problem. Solutions to the SLAM problem endeavor to estimate the state of a vehicle

relative to concurrently estimated environmental landmark locations. The presented work

focuses specifically on SLAM for aircraft, denoted as airborne SLAM, where the vehicle

is capable of six degree of freedom motion characterized by highly nonlinear equations

of motion. The airborne SLAM problem is solved with a variety of filters based on the

Rao-Blackwellized particle filter. Additionally, the environment is represented as a set

of geometric primitives that are fit to the three-dimensional points reconstructed from

gathered onboard imagery.

11

Page 12: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The second half of this research builds on the mapping solution by addressing the

problem of trajectory planning for optimal map construction. Optimality is defined in

terms of maximizing environment coverage in minimum time. The planning process

is decomposed into two phases of global navigation and local navigation. The global

navigation strategy plans a coarse, collision-free path through the environment to a

goal location that will take the vehicle to previously unexplored or incompletely viewed

territory. The local navigation strategy plans detailed, collision-free paths within the

currently sensed environment that maximize local coverage. The local path is converted

to a trajectory by incorporating vehicle dynamics with an optimal control scheme which

minimizes deviation from the path and final time.

Simulation results are presented for the mapping and trajectory planning solutions.

The SLAM solutions are investigated in terms of estimation performance, filter

consistency, and computational efficiency. The trajectory planning method is shown to

produce computationally efficient solutions that maximize environment coverage.

12

Page 13: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 1INTRODUCTION

1.1 Problem Statement

The problem addressed in this research is the mapping of unknown, urban

environments by an Unmanned Air Vehicle (UAV) equipped with a vision sensor. Map

building is a vital task for autonomous vehicle navigation in that it provides information

enabling vehicle localization, obstacle avoidance, and high-level mission planning. The

presented approach uses information gathered by an onboard camera to construct a

three-dimensional environment map while accounting for sensor noise and uncertainty in

vehicle state estimates. Additionally, motion planning strategies are developed to generate

trajectories which maximize environment coverage and avoid collisions with obstacles. The

combined map building and motion planning algorithms yield a solution for autonomous

flight through urban environments. The overall concept of this research is depicted in

Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a

three-dimensional map and, subsequently, plan a trajectory.

A B

Figure 1-1. Map construction by an autonomous UAV. A) Missions envisioned for UAVsinvolve safe navigation in cluttered urban environments. B) Navigation incluttered environments will require vehicles capable of autonomously buildinga map from sensor data and, subsequently, planning safe trajectories.

13

Page 14: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

1.2 Motivation

In recent years, autonomous vehicles have become increasingly ubiquitous. Unmanned

vehicles are employed in a variety of situations where direct human involvement is

infeasible. Such situations include tasks occurring in environments that are hazardous to

humans, missions that humans are incapable of performing due to physical limitations,

or assignments considered too mundane or tedious to be reliably performed by a human.

Examples of autonomous vehicles currently in use, shown in Figure 1-2, include the

Packbot EOD which assists in Explosive Ordnance Disposal (EOD) [1], the Mars

Exploration Rovers (MER) Spirit and Opportunity used for planetary exploration [2],

and the Roomba vacuum robot [3].

Figure 1-2. Examples of unmanned vehicles. A) The JPL Mars Exploration Rover Spirit.B) The iRobot Packbot EOD. C) The iRobot Roomba.

The unmanned vehicles depicted in Figure 1-2 exemplify the current level of

autonomy reliably achieved by unmanned systems. The Packbot EOD requires constant

guidance from a human operator and does not perform any truly autonomous tasks.

The MER autonomously monitors its health in order to maintain safe operation and

tracks vehicle attitude to aid in safe navigation over uneven terrain. Preloaded and

communicated instructions, however, are executed by the MER after significant human

analysis and interaction. The Roomba displays a higher level of autonomy by sensing

14

Page 15: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

its environment and updating the vehicle path accordingly. The floor cleaning task,

however, is simplistic when compared to envisioned unmanned vehicle missions such as

autonomous navigation of a car through traffic. The successful completion of complex

missions requires technological advances that increase the level of autonomy currently

displayed by unmanned vehicles.

A specific area of unmanned vehicles that have gained significant attention is

UAVs. UAVs are currently used in a variety of reconnaissance, surveillance, and combat

applications. Examples of UAVs, depicted in Figure 1-3, include the MQ-1 Predator that

has been used for reconnaissance missions and is capable of firing Hellfire missiles, the

RQ-5 Hunter designed for reconnaissance missions, and the Dragon Eye designated for

reconnaissance, surveillance,and target acquisition [4]. The current UAV technology has a

low level of autonomy requiring considerable human interaction to perform basic missions.

Highly trained operators are necessary to remotely operate each individual unmanned

aircraft.

A B C

Figure 1-3. Examples of unmanned air vehicles. A) The General Atomics AeronauticalSystems Inc. MQ-1 Predator. B) The Northrop Grumman RQ-5 Hunter. C)The AeroVironment Dragon Eye.

Future missions envisioned for unmanned aircraft require a greater level of autonomy

than is currently available in existing systems. Common autonomous behaviors exhibited

by UAVs include waypoint navigation [5] and simple obstacle avoidance [6]. Such

behaviors are well-suited for relatively benign missions that occur at high altitudes and

require little reaction to the surrounding environment as shown in Figure 1-4A. Advances

15

Page 16: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

in microprocessors, battery power, and sensor miniaturization, however, have produced

smaller UAVs capable of flight through more complex environments. The ability of smaller

UAVs to aggressively maneuver through cluttered environments indicates that they are

ideal platforms for completing low-altitude missions, as depicted in Figure 1-4B, that

occur outside of an operator’s line-of-sight. As vehicle missions require autonomous flight

through increasingly elaborate, cluttered environments, a higher degree of environmental

awareness is required. Therefore, two critical requirements for autonomous unmanned

vehicles are the ability to construct a spatial representation of the sensed environment

and, subsequently, plan safe trajectories through the vehicle’s surroundings.

A B

Figure 1-4. Unmanned air vehicle mission profiles. A) Current missions occur at highaltitude, therefore, not requiring rapid path planning and environmentalawareness. B) Future missions will be low altitude assignments necessitatingquick reaction to environmental obstacles.

This dissertation concentrates on vision-based environmental sensing. Computer

vision has been identified as an attractive environmental sensor for small UAVs due to the

large amount of information that can be gathered from a single light-weight, low-power

camera. The sensor selection is a result of the decrease in vehicle size which severely

constrains the available payload both in terms of size and weight along with power

consumption. Therefore, autonomous behaviours for UAVs must be designed within the

framework of vision-based environmental sensing. In particular, two critical capabilities

16

Page 17: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

are investigated for creating a truly autonomous UAV: vision-based map building and

computationally-efficient trajectory planning.

The first capability is a vision-based map building task in which the vehicle gathers

information concerning its surroundings with an onboard camera and constructs a spatial

representation of the environment. For the past two decades, robotic mapping has been

an actively researched topic because it is regarded as the first step toward absolute

autonomy [7]. Robotic mapping allows the vehicle to localize itself with respect to the

constructed map for navigating in GPS-denied environments. This capability is critical for

military operations where GPS can be jammed or cluttered environments preclude the use

of GPS due to occlusion.

Additionally, robotic mapping is vitally important to safe, time-efficient navigation

through unknown environments. Finding the shortest path to a goal location using purely

reactive control methods, where the robot selects control actions based only on the current

sensor measurements, is a trial-and-error process in unknown environments with no

provably optimal solution. By generating an obstacle map, a robot can retain knowledge

of its surroundings and discriminate between obstructed and unobstructed paths. As

knowledge of the environment grows, the task of traversing to a goal location can be

accomplished in a time-efficient manner with the planning of complete, obstacle-free paths.

The second capability developed in this dissertation is a computationally efficient

trajectory planning routine which maximizes environment coverage to minimize the

time to construct a complete environment map. In implementation, the method must

be computationally efficient since the planning process occurs incrementally as new

information is gathered. The rapidity of the planning process allows for path updates as

knowledge of the environment increases which is critical for safe navigation in unknown

environments. Additionally, vehicle dynamics are incorporated into the planning process

in order to generate trajectories. This task is vital for aircraft which may not be capable

of tracking every kinematically feasible path. Most ground vehicles are able to stop their

17

Page 18: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

forward motion and reverse direction which enables the tracking of any feasible path;

however, aircraft motion is significantly more complex and dynamics must be considered

to ensure safe navigation.

This dissertation is motivated by the need to increase the level of autonomy present

in UAV technology. To obtain this goal, a map building architecture is developed which

constructs an environment representation from noisy sensor measurements and plans safe

trajectories through the environment that ensure map completeness.

1.3 Historical Perspective

The two main topics discussed in this dissertation, map building and trajectory

planning for autonomous vehicles, are rich fields of study for which much research has

been conducted. The presented work is an extension of previous research efforts which

focuses on six degree of freedom vehicle motion, computational efficiency, and vision-based

sensing.

The robotic map building task described in this dissertation is an extension of

solutions to the well-known Simultaneous Localization and Mapping (SLAM) problem.

The SLAM problem was first introduced in the seminal papers by Smith, Self, and

Cheeseman [8, 9] which described a methodology for generating stochastic obstacle maps

from a series of uncertain spatial relationships. In regards to unmanned vehicles, this work

describes the SLAM problem: the construction of an environment map from noisy sensor

measurements taken from uncertain vehicle positions while concurrently localizing the

vehicle with respect to the learned map. The solution to the SLAM problem presented by

Smith, et al. has since been extended to produce SLAM algorithms for numerous sensors,

vehicles, and environment types. This dissertation focuses on SLAM for vision-equipped

aircraft navigating in highly-structured, urban environments.

Vision-based SLAM refers to instances when vision is the only sensor available for

measuring the environment. Historically, solutions to the SLAM problem have focused

on vehicles equipped with sensors such as laser range finders and sonar [10, 11]. The

18

Page 19: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

dense depth information available from such sensors is not equivalent to the sparse depth

information afforded a vehicle with a vision sensor. The use of vision in SLAM typically

involves the identification and differentiation of landmarks, but relies on other sensors

to measure the structure of the scene [12, 13]. In an example of purely vision-based

SLAM, Davison uses vision to detect locally planar features which are incorporated as

landmarks into the SLAM framework [14–16]. The implementation emphasizes accurately

estimating camera ego-motion and is not concerned with generating an environment

model. Consequently, the constructed map is a sparse approximation of the environment.

The approach in this dissertation shifts the focus from accurate ego-motion estimation

to building a complete map of the environment for the purpose of efficiently planning

collision-free vehicle motions.

Though the SLAM problem has been a highly researched topic in the ground vehicle

community for the past two decades, very little research has been performed for aircraft.

A few ground vehicle implementations have considered undulating terrain which requires

the assumption of nonplanar motion [17]. Kim and Sukkarieh implemented SLAM on

a UAV equipped with a vision sensor that locates artificial landmarks of known size

[18, 19]. A bearings-only SLAM approach for a Micro Air Vehicle (MAV) equipped with

a camera and an Inertial Measurement Unit (IMU) operating in a forest environment was

introduced by Langelaan [20–22]. Current approaches to airborne SLAM focus primarily

on augmenting inertial navigation systems (INS) to reduce drift inherent in the calculated

state estimates. These approaches do not address the difficulties associated with building a

complete environment map as is addressed in this dissertation.

Solutions to the SLAM problem require repeated observations of environmental

landmarks in order to build a stochastic obstacle map. Therefore, information regarding

each landmark must be stored and observations of a landmark must be correlated with

past observations. The correlation task is known as data association and incorrect

associations often lead to catastrophic failures of the SLAM estimation process. For these

19

Page 20: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

reasons, map representation is a vital aspect of any SLAM algorithm. Traditionally, SLAM

algorithms define landmarks as three-dimensional points of interest in the environment

[10]. The practice of using point landmarks often yields environment models containing

millions of features [23]. Such environment models of large size are infeasible due to

the data storage requirements and computational power required to incorporate large

numbers of landmarks into the SLAM calculation. Additionally, the data association

problem becomes intractable because the relative measurements to landmarks cannot

be correlated as a result of the large number of possible associations combined with

uncertainty in vehicle location. Several SLAM formulations have constructed geometric

environment maps for highly structured environment maps by fitting geometric primitives

to the gathered pointwise data [24, 25]. The benefits of geometric primitives include the

reduction of data required to store an environment map and landmarks that are more

easily distinguished because they contain structural information. This dissertation employs

a similar dimensionality reduction step in order to construct a complete environment map

consisting of planar features.

In order to autonomously and rapidly construct an environment map, this dissertation

presents a trajectory planning algorithm. Ideally, the trajectory planning problem

would be posed as an optimal control problem in order to find a globally optimal

solution. An optimal solution, however, is computationally intractable because the

problem is non-convex and occurs in a high-dimensional space. For this reason, several

approximations to the full optimal control solution have been proposed which included

Mixed Integer Linear Programming (MILP) and Maneuver Automatons (MAs).

The MILP solution poses the full nonlinear optimization as a linear optimization

[90, 91]. Therefore, the solution is only capable of handling a linearized dynamic aircraft

model. The linearization restriction severely limits the efficacy of the MILP solution due

to the reduction of available maneuvers. A linear model cannot properly characterize

the aggressive maneuvers necessary to navigate in a cluttered environment. Additionally,

20

Page 21: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the MILP solution cannot prove optimality because the problem is non-convex and

the optimization must be implemented in a Receding Horizon (RH) format to be

computationally efficient.

The MA is a method which employs a discrete representation of the vehicle dynamics

in order to plan trajectories [35–38]. The dynamics of the vehicle are discretized into a set

of trim trajectories, or steady-state motions, and maneuvers that connect the trim states.

The MA planning process is decomposed into a combinatorial problem which searches for

the best maneuver sequence and an optimization that finds the optimal time durations

for the trim trajectories. Unlike, MILP the discretized dynamics are based on a nonlinear

model and can incorporate aggressive maneuvers. The MA solution, however, can become

computationally intractable when solving for large trajectories requiring a long maneuver

sequence. This issue is exacerbated if the discretization is not restricted to a small set

of vehicle motions or if obstacles are considered. Therefore, the MA is combined with

sampling-based planning methods to produce a solution in which optimality cannot be

guaranteed.

This dissertation employs a decoupled trajectory-planning strategy [40, 41] in which

a feasible collision-free path is planned and optimal control is employed to track the path

in minimal time. The path is subject to kinematic constraints and incorporates metrics

for selecting paths that provide maximum coverage with respect to other paths generated

during the planning process. The decoupled approach allows for the use of the complete

nonlinear aircraft model; however, optimality in terms of coverage is not guaranteed since

the coverage criteria is only included in the path planning task. The path to be tracked is

generated with a sampling-based planning strategy [26].

Sampling-based algorithms were introduced by a methodology called Probabilistic

Roadmaps (PRMs) [27]. PRMs construct a graph that captures the connectivity of the

configuration space of a robot by randomly sampling configurations and connecting

them to the existing map with kinematically feasible paths. Once a PRM is constructed

21

Page 22: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

for a given environment, it can be repeatedly used to find paths from a given initial

configuration to a desired goal configuration. Navigation in unknown environments,

however, does not require full exploration of the configuration space since new sensor

information must be incrementally incorporated into the planning process. Therefore,

extensions of PRMs such as the Expansive-Spaces Trees (ESTs) [28–30] and the

Rapidly-Exploring Random Trees (RRTs) [31, 32] planners are employed. The EST and

RRT planning strategies are more efficient since they are designed to find feasible paths

between two specific configurations, rather than provide a general planning solution like

the PRM. This dissertation employs a variant of the RRT to efficiently plan collision-free

paths through the environment.

An abundance of research has been performed in the areas of SLAM and trajectory

planning. This dissertation extends previous research efforts in both fields to provide a

methodology for autonomous map building in highly-structured environments.

1.4 Contributions

The main contribution of this work is a complete solution for autonomous map

building by a UAV in an unknown, urban environment. The solution incrementally

constructs a map from noisy, relative sensor measurements without knowledge of the

vehicle’s location. The map is used as feedback to generate collision-free trajectories that

maximize environment coverage.

In the process of developing the main contribution of this work, the following

contributions were made:

• A plane fitting algorithm is developed to reduce the dimensionality of gatheredthree-dimensional, pointwise sensor data.

• A method for incorporating planar features into the SLAM algorithm is developed.

• A new SLAM filter based on the Rao-Blackwellized particle filter and the Square-Root Unscented Kalman filter is developed.

• Three SLAM filters are investigated in relation to the airborne SLAM problem.

22

Page 23: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

• A method for for rapid path planning in an unknown environment based on local andglobal navigation tasks is developed.

• An environment coverage criteria is developed which does not require discretization ofthe environment.

• An optimization problem is posed for tracking the planned path in minimal time.

23

Page 24: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 2SCENE RECONSTRUCTION FROM MONOCULAR VISION

2.1 Introduction

Computer vision is an attractive sensor option for autonomous vehicle navigation

tasks due to the wealth of information that can be inferred from digital imagery [42]. In

addition, the low-cost, small payload requirements, and passive nature of vision has made

it the primary sensor for many small Unmanned Air Vehicles (UAVs) [4]. This study

assumes that computer vision is the only available onboard sensor capable of measuring

the surrounding environment.

Mapping an unknown environment with a moving, monocular camera requires

that three-dimensional information be inferred from a sequence of two-dimensional

images. This process of three-dimensional reconstruction from imagery is an actively

researched area in the image processing community commonly referred to as Structure

from Motion (SFM) [43, 44]. This chapter presents an overview of SFM in Section 2.2.

Specific solutions to the SFM problem are then discussed in Sections 2.3.1 and 2.3.2.

Section 2.4 describes a vehicle state estimation task similar to SFM which calculates

vehicle velocity states. Subsequently, Chapters 3 and 5 describe how the vision-based state

estimates and environmental structure information is employed in the robotic mapping

mission.

2.2 Structure from Motion Overview

The class of algorithms known as SFM endeavor to reconstruct the pose of a moving

camera as well as the three-dimensional structure of its environment. Calculating the

motion of the camera typically begins with an operation known as feature-point tracking,

as described in Section 2.2.2, which calculates correspondences between points of interest

in successive images. Section 2.2.3 demonstrates that by exploiting epipolar geometry

between correspondence pairs the relative rotation and translation between the two

camera views can be estimated. The calculated motion of the camera can then be used

24

Page 25: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

to triangulate the three-dimensional position of the tracked feature points as shown in

Section 2.2.4.

2.2.1 Pinhole Camera Model

This chapter derives image processing algorithms which assume a pinhole camera

model. The pinhole camera is an idealized model of camera function in which all light

converges on an infinitesimally small hole that represents a camera lens with zero aperture.

In the frontal pinhole imaging model, as shown in Figure 2-1, the two-dimensional

projection f = [µ, ν]T of a three-dimensional point ρ = [η1, η2, η3]T is the intersection

of the ray emanating from the camera optical center ending at point ρ and the image

plane. The image plane is located at a distance f , called the focal length. The camera

coordinate frame C is located at the camera optical center with coordinates c1 and c2

oriented parallel to the image plane in the negative vertical and horizontal directions,

respectively. The coordinate c3 is oriented perpendicular to the image plane and denotes

the camera axis.

Figure 2-1. Pinhole camera model and perspective projection of a feature point onto theimage plane.

For the pinhole camera model, perspective projection of a three-dimensional point can

be written in terms of the camera focal length

µ

ν

=

f

η3

η1

η2

(2–1)

25

Page 26: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Equation 2–1 shows that only the depth of the three-dimensional feature point is

required to resolve the location of the point from the image projection.

2.2.2 Feature-Point Tracking

Feature-point tracking is a well-established image processing operation and is

commonly a prerequisite for solving the SFM problem. Essentially, a feature-point

tracking algorithm tracks neighborhoods of pixels, referred to as feature points, through

a sequence of images. Feature points are defined as any distinguishable image region that

can be reliably located within an image which are commonly corners and edges of objects.

An example of tracked feature points are shown in Figure 2-2.

A B

Figure 2-2. Feature-point tracking result from an image sequence. A) Frame 1. B) Frame10.

The Lucas-Kanade feature-point tracker [45] is a standard algorithm for small baseline

camera motion. The algorithm solves for the displacement of all feature points in an image

where the displacement of a feature point is measured in the horizontal and vertical image

coordinates denoted by µ and ν, respectively. For a series of two images, the displacement

of a feature point, d = [dµ, dν ]T , can be described as the translation of a group of image

pixels as follows

I1(f)|W = I2(f + d)|W (2–2)

26

Page 27: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where I1 and I2 are the image intensity values for two images taken from infinitesimally

close vantage points, W is a window that defines the neighborhood of pixels that comprise

the feature point, and f = [µ, ν]T is the center of the feature window.

The solution to Equation 2–2 can be formulated as a least-squares minimization of

the change in image intensity values between feature point windows in two consecutive

images as given by

d = arg mind

∑W

[I1(f)− I2(f + d)

]2

(2–3)

The first-order Taylor series expansion of I2(f + d) about f is

I2(f + d) = I2(f) +

[δI2δµ

δI2δν

]

(2–4)

The first-order approximation of the Taylor series can be substituted into Equation 2–3 to

produce

d = arg mind

∑W

I1(f)− I2(f)−

[δI2δµ

δI2δν

]

2

(2–5)

By differentiating the sum in Equation 2–5 with respect to feature point displacement the

solution to the linear least-squares estimate of feature point displacement can be written

as follows

∑W

[δI2δµ

δI2δν

]T

I1(f)− I2(f)−

[δI2δµ

δI2δν

]

= 0 (2–6)

which can be rewritten in the form

d = −G−1b (2–7)

where G is a matrix encoding the two-dimensional gradient information of the second

image in the feature point window

G =

∑W

(δI2δµ

)2 ∑W

δI2δµ

δI2δν

∑W

δI2δµ

δI2δν

∑W

(δI2δν

)2

(2–8)

27

Page 28: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

and b is a matrix representing the difference between the two images

b =

∑W

δI2δµ

(I1(f)− I2(f))

∑W

δI2δν

(I1(f)− I2(f))

(2–9)

This form of the Lucas-Kanade feature tracker suffers from two weakness. The first

is its inability to track features for large camera motions. This is a critical problem for

image sequences taken from vehicles with fast dynamics in comparison to the camera

frame rate. The second weakness is that each calculated feature location resides at discrete

pixel values. The discretization of the feature locations makes the tracking operation very

susceptible to noise.

Two alterations to the above algorithm can be implemented to overcome the

aforementioned issues. First, a multiresolution tracking step is added to aid in the

tracking of larger feature point displacements. Second, an iterative step is added to

calculate the location of the feature points to sub-pixel accuracy. These modifications

significantly increase the performance of the algorithm for images streams indicative of

vehicle navigation [46].

2.2.3 Epipolar Geometry

The most basic form of SFM calculates camera motion between two sequential image

frames and concatenates the solution with previous motion estimates. This calculation

is commonly accomplished by exploiting the epipolar constraint, depicted in Figure 2-3,

which is a geometric constraint relating camera motion to the image projections of a

tracked feature point.

Epipolar geometry dictates that there is a plane which is defined by a three

dimensional feature point ρ and two camera coordinate frames C1 and C2 from which

the point is visible. The epipolar plane intersects both image planes at the epipolar lines

l1 and l2 which contain the image projections f1 and f2 of the feature point ρ and the

epipoles e1 and e2.

28

Page 29: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 2-3. Epipolar geometry. The epipolar constraint describes the geometricrelationship between camera motion and the projection of a feature point ontothe image plane.

The epipolar constraint relates the image projections, f1 and f2, of the

three-dimensional point, ρ, to the relative position, T, and orientation, R, of the two

camera locations. Since these three vectors are coplanar their scalar triple product is zero

as follows

fT2 (T×Rf1) = 0 (2–10)

The relative position and orientation of the camera are typically encoded as a single

entity known as the essential matrix, E ∈ R3×3.

E.= T×R (2–11)

The core calculation of the SFM algorithm is estimation of the essential matrix using

a set of tracked feature points and the epipolar constraint given by Equation 2–10. A

method for esimating the essential matrix is described in Section 2.3.1. Once the essential

matrix is estimated, it can be decomposed into the relative rotation and translation of the

camera. The relative translation, however, can only be estimated to a scale-factor since

Equation 2–10 is homogeneous with respect to the essential matrix (Equation 2–11) and is

29

Page 30: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

not modified by multiplying the essential matrix by a nonzero constant. Estimation to a

scale-factor is an inherent ambiguity in the SFM problem stemming from the inability to

distinguish between the motion through one environment and twice the motion through a

scene twice as large, but two times further away.

2.2.4 Euclidean Reconstruction

Once camera motion is known, the final step in the SFM algorithm involves

estimating the three-dimensional location of the tracked two-dimensional feature

points. The calculation of pointwise scene structure is accomplished by triangulating

the correlated feature points. Recall that the three-dimensional location of a feature point

is denoted ρ = [η1, η2, η3]T . Therefore, the triangulation step can be formulated by relating

the unknown depths of the ith feature point, ηi3,m and ηi

3,n, measured with respect to two

different camera poses, Cm and Cn, yielding

ηi3,nf

in = ηi

3,mRf im + γT (2–12)

where γ is the unknown translational scale-factor and f im denotes the ith feature point

projected onto the image plane of the mth camera pose.

Since ηi3,m and ηi

3,n represent the same depth measured with respect to different

camera frames Equation 2–12 can be rewritten in terms of a single unknown depth as

follows

ηi3,mf i

n ×Rf im + γf i

n ×T = 0 (2–13)

Equation 2–13 can be solved for j correspondence pairs simultaneously by expressing

the problem in the form

Mη = 0 (2–14)

where η is a vector of the unknown feature point depths and unknown translational scale

factor

η = [η13,m, η2

3,m, . . . , ηj3,m, γ]T (2–15)

30

Page 31: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

and M is the matrix

M.=

f1n ×Rf1

m 0 0 0 f1n ×T

0 f2n ×Rf2

m 0 0 f2n ×T

0 0. . . 0

...

0 0 0 f jn ×Rf j

m f jn ×T

(2–16)

The solution of Equation 2–14 provides the depth of the tracked feature points.

Therefore, this section has outlined the solution to the SFM problem from two-dimensional

image data to estimated camera motion and three-dimensional Euclidean scene structure.

2.3 Calculating Structure from Motion

This section presents two methods for calculating SFM. The first method is the

eight-point algorithm which requires only two camera images and a minimum of eight

tracked feature points. The second method is a recursive algorithm which employs a

Kalman filter in order to incorporate vehicle dynamics into the motion estimation process.

2.3.1 Eight-Point Algorithm

The eight-point algorithm introduced by Longuet-Higgins [47] calculates the rotation

and translation between two images given a minimum set of eight tracked feature points.

Larger numbers of tracked feature points can be used in the calculation by solving a linear

least-squares minimization problem. The inclusion of additional tracked points has been

shown to improve the results of the algorithm.

The eight-point algorithm exploits the epipolar constraint by solving a linear system

of equations in the form

Ae = 0 (2–17)

where e ∈ R9×1 is a stacked version of the essential matrix E and A ∈ Rj×9 is constructed

from the two-dimensional correspondence pairs. Each row of A is constructed by

calculating the Kronecker product of the ith feature point correspondence. The ith

feature point correspondence is two feature points correlated between two images denoted

31

Page 32: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

by f im = [µi

m, νim, 1]T and f i

n = [µin, νi

n, 1]T . The Kronecker product of the correspondence

pair is equal to the ith row of A as follows

A(i, :) = [µimµi

n, µimνi

n, µim, νi

mµin, νi

mνin, νi

m, µin, νi

n, 1] (2–18)

The essential matrix can be recovered from A by calculating its singular value

decomposition (SVD)

A = UAΣAVTA (2–19)

The ninth column of VA can be unstacked to recover the essential matrix. Once the

essential matrix is found, camera rotation and translation can be extracted as seen by

Equation 2–11. It should be noted that this presentation of the eight-point algorithm is

highly sensitive to noise and requires a normalizing step as presented by Hartley [48].

2.3.2 Recursive Structure from Motion

The estimates of camera egomotion produced by two-frame SFM algorithms, such as

the eight-point algorithm, are subject to systematic, correlated errors since the current

calculation is appended to past reconstructions. Several batch processing algorithms have

been presented to eliminate these additive errors [49]. These algorithms, however, are not

suited for trajectory generation because they incur a delay from the data gathering process

and cannot be implemented in real-time. For causal, real-time SFM a Kalman filter can be

employed to recursively calculate structure and motion estimates [50].

The standard recursive SFM algorithms gradually refine SFM state estimates by

incorporating new data [51]. Alternatively, batch recursive algorithms create a series

of intermediate reconstructions which are fused into a final reconstruction [52]. Both

recursive techniques show improved results over nonrecursive techniques, however, no

single algorithm works well in all situations [44].

The problems specific to SFM reconstruction for a UAV are identified by Prazenica

et al. [46]. These issues include the loss of feature tracking due to aggressive vehicle

motion, unreliable reconstructions due to small baselines, and the well-known scale-factor

32

Page 33: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

ambiguity associated with SFM. The SFM approach proposed by Prazenica mitigates

errors inherent in SFM by incorporating vehicle dynamics into the Kalman filter. This

approach adds robustness to the SFM calculation by producing state estimates even

when the SFM calculation fails. The scale-factor can be resolved by a gradual refinement

of estimates made by incorporating information from the physical model of the vehicle

[53, 54].

The Kalman filtering approach defines both a state transition model g(·) and a

measurement model h(·) written as

xk = f(xk−1,uk−1, κ) + qk−1, qk−1 ∼ N (0,Σq)

yk = h(xk, κ) + rk, rk ∼ N (0,Σr)(2–20)

where x denotes the complete state vector including vehicle states and three-dimensional

feature point locations. The vector y denotes the projection of the feature points onto

the image plane, u represents the control inputs to the vehicle equations of motion, κ

is the camera pose relative to the body-fixed coordinate system, and the additive noise

parameters q and r are zero-mean Gaussian random vectors with covariances Σq and

Σr, respectively. The notation a ∼ p(b) denotes that random variable a is drawn from a

probability distribution defined by p(b).

Therefore, f(·) is a nonlinear function that updates the vehicle states and estimated

feature point locations according to the previous system state and vehicle control input.

The nonlinear function h(·) predicts the projection of the three-dimensional feature points

onto the image plane given the estimated inertial feature point locations and the camera

pose. Consequently, the measurement model is the epipolar constraint (Section 2.2.3).

The filtering approach solves the SFM problem by estimating the state of the model

given by Equation 2–20. The estimation process is computed with an Extended Kalman

Filter (EKF). The EKF first predicts the state and covariance of the system according to

xk|k−1 = f(xk−1|k−1,uk−1, κ) (2–21)

33

Page 34: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Pk|k−1 = FkPk−1|k−1FTk + Σq (2–22)

where xk|k−1 denotes a state estimate at time k given measurements up to time k − 1,

Pk|k−1 is the covariance matrix of the state without a measurement update, and Fk is the

linearized form of the state transition function g(·).Next the optimal Kalman gain K is calculated according to

Sk = HkPk|k−1HTk + Σr (2–23)

Kk = Pk|k−1HTk S−1

k (2–24)

where Hk is the linearized form of the measurement model h(·).The final step in the filtering process is to update the state and covariance of the

system by incorporating the sensor measurement as follows

xk|k = xk|k−1 + Kk(yk − h(xk|k−1, κ)) (2–25)

Γk = I−KkHk (2–26)

Pk|k = ΓkPk|k−1ΓTk + KkΣrK

Tk (2–27)

The updated state estimate xk|k gives both structure and motion for the current time

step.

2.4 Optical Flow State Estimation

Several research efforts have pursed optical flow state estimation for UAVs [55–57].

Optical flow is similar to feature tracking with the distinction that displacement is

calculated at a fixed location as opposed to tracking a specific image feature through an

image stream. Additionally, optical flow refers to feature point velocity as opposed to

displacement, but for a given fixed frame rate the difference in calculation is trivial.

For optical flow state estimation, the focal plane velocity of the feature point,

approximated by the optical flow, can be obtained by differentiating Equation 2–1.

The result is an equation for the focal plane velocity of a feature point in terms of its

34

Page 35: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

three-dimensional location and relative velocity with respect to the camera as follows

µ

ν

=

f

η23

η3 0 −η1

0 η3 −η2

η1

η2

η3

(2–28)

The optical flow of the feature points is a known quantity determined in the feature

tracking algorithm that is an integral part of the SFM calculation. The equations of

motion of an aircraft can be coupled with Equation 2–28 in order to express optical flow in

terms of aircraft states, as given by

µ

ν

= f

µη3

0 −1η3

ν (1 + µ2) µν

νη3

1η3

0 −µ µν (1 + ν2)

u

v

w

p

q

r

(2–29)

where {u, v, w} are aircraft linear velocities, {p, q, r} are aircraft angular velocities, and η3

is the unknown depth of the feature point.

Various solutions to Equation 2–29 have been proposed using optimization routines.

The resulting solutions have been shown to produce accurate estimates of aircraft linear

and angular velocities though the total velocity of the aircraft must be known to account

for the scale ambiguity that also affects SFM.

2.5 Image Processing for Environment Mapping

This chapter has presented several key image processing results suitable for

aiding UAV navigation. The described SFM algorithms are suitable algorithms for

providing information regarding the three-dimensional structure of the environment.

This information will be used in Chapter 3 to generate a geometric representation of

the environment. Furthermore, both SFM and the optical flow approach provide vehicle

35

Page 36: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

state information that is subject to drift over time. In Chapter 5 this information will

be fused with onboard state estimates and the external environment measurements in a

Simultaneous Localization and Mapping (SLAM) algorithm to reduce drift in vehicle state

estimates and concurrently decrease map errors.

36

Page 37: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 3ENVIRONMENT REPRESENTATION

3.1 Introduction

The proposed goal of autonomously generating an environment map requires a

vehicle to sense its surroundings and infer meaningful information concerning scene

structure from sensor measurements. Conventional sensors commonly used for measuring

a vehicle’s surroundings include laser range finders, sonar, and cameras. The three

dimensional environmental information provided by such sensors is pointwise, relative

range information. An obstacle map defined by a cloud of three-dimensional feature points

is not amenable to motion planning algorithms [26] and is a poor map in terms of data

storage, landmark definition, and enabling high-level mission planning.

Motion planning algorithms typically used for robotic navigation presuppose a known

obstacle map [58]. The obstacle map enables the identification of safe routes through a

vehicle’s surroundings by limiting the set of admissible positions a vehicle can achieve.

A pointwise representation of obstacle geometry is ambiguous in terms of defining safe

regions within the environment. A more concise representation of the environment, such as

geometric objects, in which complete obstacles can be accurately described is better suited

to the process of motion planning.

Mapping large-scale environments requires that many sensor measurements be taken

to accurately define scene structure. Storing individual sensor measurements during

a mapping operation can quickly lead to a computationally intractable problem [59].

Lower-dimensional representations of sensor data can greatly reduce the number of

parameters needed to define an obstacle map. For example, a single plane can reasonably

represent thousands of three-dimensional points using four parameters including three

to define a normal direction and one to define the plane’s distance from the origin along

that normal direction. For highly structured environments, using geometric primitives

such as planes to model the sensor data can greatly reduce the amount of data required

37

Page 38: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

to generate a spatial model. In addition, dimensionality reduction can filter the effects of

sensor noise by creating a smooth representation of noisy data.

Robotic navigation can be divided into different methodologies depending on the

level of knowledge afforded the vehicle concerning its surroundings and relative position

within the environment. The most general case requires that the vehicle estimate both

a map of the environment and its location within that map simultaneously [10, 60, 61].

This case is known as the Simultaneous Localization and Mapping (SLAM) problem as

discussed in detail in Chapter 5. The SLAM framework requires that distinguishable and

re-observable landmarks be present in the environment. Landmarks allow the vehicle

to ascertain its relative location to the environment through sensing operations. The

only discernible characteristic of a 3D feature point is its location in the environment

which makes 3D points a poor choice for landmarks. A geometric landmark, however,

can provide additional information in terms of orientation and size. Additionally, feature

points that are visible from a given vantage point are not necessarily visible from another

location due to occlusion and lighting variations. Geometric maps define landmarks that

are robustly observable with respect to camera pose.

Many missions envisioned for autonomous vehicles require human interaction in

terms of high-level mission planning. Surveilling targets in an environment such as a

specific building or roadway depends upon the ability to properly designate the known

objective. Similarly, reconnaissance of an area of interest in the environment requires that

the region be clearly specified. Such high-level decisions will be made by a human operator

who must designate the targets or regions of interest in some manner. In this capacity, a

spatial model is advantageous as it provides an intuitive interface for target selections as

opposed to a pointwise model which is an ambiguous representation that requires further

interpretation of the data.

The need to enable motion planning, construct compact map representations, define

distinguishable landmarks, and assist high-level mission planning motivates the generation

38

Page 39: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

of reduced-dimensionality geometric models of the environment. The following chapter

describes the chosen map representation and the method for dimensionality reduction.

3.2 Environment Models

Mapping operations are typically categorized by how the environment is modeled.

Maps commonly used for robotic navigation can be classified as either topological,

occupancy grid, or geometric representations as depicted in Figure 3-1.

A B C

Figure 3-1. Environment representations. A) Topographic maps depict spatial connectivityby storing locations of interest and connecting paths. B) Occupancy mapsrecord the probability that a discrete location contains an obstacle. C)Geometric maps define obstacles as geometric primitives.

3.2.1 Topological Maps

Topological maps model the environment as a series of nodes and connecting arcs

[62–64] as shown in Figure 3-1A. Typically, the nodes consist of places of interest such as

the intersection of corridors and arcs provide connectivity information about the nodes,

to suggest navigation paths between nodes. Topological models are not necessarily spatial

models as the nodes can represent various states of the vehicle. Such maps, however, rely

on spatial models for their construction since the arcs need to define maneuvers that avoid

obstacles. This fact blurs the distinction between topological and geometric maps since

topological maps rely on geometric information.

3.2.2 Occupancy Maps

Occupancy grid representations discretize the environment and each generated cell

is assigned a value that corresponds to the likelihood that the cell is occupied [65, 66].

39

Page 40: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Though occupancy grid approaches are easy to construct they suffer from the amount

of space required to handle an environment that is discretized finely enough to capture

the necessary amount of detail. For large, three-dimensional environments this lack of

compactness causes this representation to be intractable in terms of the data storage

requirements for the UAV mapping problem.

3.2.3 Geometric Maps

Geometric representations attempt to fit geometric primitives to sensor data. In two

dimensions this fit is accomplished by replacing point data with line segments [25, 67].

Three-dimensional maps generated from dense depth information typically use triangle

meshes to represent the environment [60, 68]. Examples exist for representing structured,

three-dimensional environments by a less general set of geometric primitives such as

distinct planar surfaces [24, 69, 70].

This dissertation employs a geometric environment map because the properties are

beneficial for both the SLAM (Chapter 5) and trajectory planning (Chapter 6) tasks.

The geometric map provides a compact representation that reduces the computational

burden for both processes. Additionally, a geometric description of the landmarks makes

them more observable than point landmarks or visually defined landmarks. Lastly, the

geometric landmarks are amenable to collision checking algorithms required for planning

safe trajectories and are an intuitive representation for aiding in higher-level mission

planning concerns.

The geometric map is constructed from the pointwise observations of the environment

provided by SFM. This task is accomplished via a dimensionality reduction process.

3.3 Dimensionality Reduction

Dimensionality reduction refers to the process of representing a dataset with a smaller

set of parameters while preserving the information conveyed by the dataset. For example,

a set of m two-dimensional points that are approximately linear can be represented by

four parameters for the endpoints of the linear fit. For large values of m, the dimensionally

40

Page 41: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

reduced representation vastly decreases the storage requirements for a given dataset.

The dimensionality reduction step in this dissertation is achieved by fitting planes to the

three-dimensional points generated by the SFM algorithm.

3.3.1 Principal Components Analysis

The plane fitting task is accomplished using Principal Components Analysis (PCA)

[71], a statistical linear transformation used for reducing the dimensionality of a dataset.

PCA finds the directions in a dataset with the most variation, as shown in Figure 3-2 in

order to capture the variability of the data with fewer parameters. These directions are

also the eigenvectors that correspond to the largest eigenvalues of the data’s covariance

matrix. Therefore, PCA can be employed to transform a dataset to a new basis where the

first coordinate, called the first principal component, defines the direction of maximum

variance. All subsequent directions defined by the basis are orthogonal to all previous

directions and define the remaining direction of greatest variance.

Figure 3-2. 2D Prinicipal Components Analysis for a dataset with a linear trend. Theprincipal components are labeled pn for the nth principal component and the2σ covariance of the dataset is shown.

41

Page 42: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The principal components can be calculated by finding the eigenvectors of the data’s

covariance matrix or, more succinctly, by performing a Singular Value Decomposition

(SVD). The calculation begins by centering the dataset X by subtracting its mean µ.

Because the goal of the calculation is to find directions of greatest variance, a non-zero

mean will produce erroneous results. The SVD of the mean-subtracted dataset X is given

by

XSVD= UΣVT (3–1)

where U and V define matrices of orthonormal vectors and Σ defines a diagonal matrix

of singular values assumed to be ordered from largest to smallest. The columns of V

define the principal components of X with the column corresponding to largest singular

value designating the first principal component. The result is typically ordered so that the

first principal component is the first entry of Σ with subsequent components listed in a

descending order. The dataset can be projected on to the basis formed by the principal

components according to

Y = XV (3–2)

where Y is the transformed dataset.

The SVD computation is related to the eigen decomposition method because the SVD

of the rectangular matrix X calculates the eigenvectors of XT X and XXT which are then

the matrices U and V in Equation 3–1, respectively. Additionally, the singular values

Σ are the square roots of the eigenvalues of XT X and XXT . Since the dataset has zero

mean, the covariance matrix of X is XT X and the eigen decomposition of the covariance

gives eigenvectors identical to V and produces eigenvalues equal to the square of the

singular values. Therefore, SVD and eigen decomposition can be used interchangeably for

PCA.

For three-dimensional information being mapped to a planar representation, shown

in Figure 3-3, the first two principal components define two orthogonal in-plane directions

while the third component defines the plane’s normal direction. Therefore, three principal

42

Page 43: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

components and a centroid will define each planar surface in the environment regardless of

how many feature points comprise the surface.

Figure 3-3. 3D Principal Components Analysis for a planar dataset. The principalcomponents are labeled pn for the nth principal component and the 2σcovariance of the dataset is shown.

3.3.2 Data Clustering

The aforementioned PCA algorithm cannot be naively implemented to generate

planar landmarks for a given sensing operation. The three-dimensional data points

returned by the computer vision algorithm must be clustered into candidate planar regions

before PCA can return the plane parameters. A difficulty arises because no knowledge

regarding the number of visible planes is available. Therefore, the number of planar

clusters must be estimated for each sensing operation.

Planar clustering is accomplished with an iterative algorithm based on k-means.

K-means is an unsupervised learning algorithm that defines a set of clusters for a dataset

by defining cluster centers, or centroids, that minimize the distance between all data

points and their associated cluster centroid [72]. Effectively, the k-means algorithm

43

Page 44: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

minimizes the objective function

J =k∑

j=1

∑xi∈Sj

‖xi − cj‖2 (3–3)

where xi is a data point contained in the data vector X, Sj is the set of all data points

associated with the jth centroid, and cj is the centroid location of the jth cluster.

The minimization of the objective function in Equation 3–3 is carried out according to

Algorithm 1 which iterates until all centroid locations converge to locally optimal solution.

The algorithm begins by guessing the number of centroids k and randomly initializing the

centroid locations {c1, c2, . . . , ck}. For each iteration, the data points are associated to the

nearest centroid according to Euclidean distance. The centroid locations are then updated

to the mean of the newly associated data points. Convergence occurs when the maximum

centroid displacement is less than a given tolerance tolk.

Algorithm 1 The k-means algorithm

1: select the number of clusters k2: randomly initialize cluster centroids {c1, c2, . . . , ck}3: repeat4: for each data point xi ∈ X do5: for j = 1 to k do6: compute the squared 2-norm dj = ‖xi − cj‖2

7: end for8: classify xi ∈ Sj where j = arg min

j(dj)

9: end for10: for j = 1 to k do11: compute new centroid location cj = mean(xi ∈ Sj)12: calculate centroid movement Dj = ‖cj − cj‖2

13: update centroid location cj = cj

14: end for15: until max(Dj) < tolk

The k-means algorithm, however, requires that the number of clusters k is known

a priori an the number of planar clusters in unknown for each sensing operation. An

iterative extension of k-means, G-means, locates an unspecified number of clusters based

on a statistical test that determines if a cluster fits a Gaussian distribution [73]. Similarly,

44

Page 45: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the employed clustering algorithm iteratively searches for clusters that satisfy a planarity

test.

3.3.3 Plane Fitting Algorithm

The clustering algorithm, presented in Algorithm 2, iteratively searches for planar

clusters by starting with a single cluster (k = 1) and increasing the number of clusters

to best fit the dataset. Each iteration begins with the k-means algorithm which produces

a set of clustered feature points. Each cluster is checked for planarity with PCA by

inspecting the singular value associated with the third principle component p3.

The singular values produced by PCA denote the amount of the data’s variance

captured by the associated principal component. Therefore, the magnitude of the third

singular value, σ3, denotes how planar is the data cluster with zero magnitude describing

a perfectly planar data set. Planarity is determined by imposing a threshold σt on σ3. A

threshold value of 0.05 ≤ σt ≤ 0.1 produces good results for realistically noisy datasets.

Clusters found to be planar are removed from further consideration in the clustering

procedure. All feature points, including points currently attributed to different clusters,

are projected onto the planar basis according to Equation 3–2. The feature points are

tested for inclusion into the current plane definition according to connectivity and distance

along the normal direction tests. The connectivity test searches for all points within a

specified distance from any currently included point beginning with the point closest

to the cluster’s centroid. The normal direction test removes points that are a specified

distance from an in-plane position. The remaining points are classified as a single planar

object and removed from the dataset. The convex hull of the points H, the plane’s

normal direction, and the perpendicular distance from the sensor position to the plane are

saved as an observation z. All observations are used in the SLAM algorithm described in

Chapter 5.

The centroids of non-planar clusters are split, as shown in Figure 3-4, in order to

choose new centroids that properly capture the variability of the dataset. The centroids

45

Page 46: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A

B

C

Figure 3-4. Centroid splitting for iterative k-means. A) The initial result of k-means whichdoes not fit the dataset. B) Centroid splitting results in two new centroidsthat more aptly characterize the dataset. C) The final k-means result thatproperly clusters the data.

46

Page 47: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

are split in the direction of the first principal component p1 as described by vector r

whose magnitude is a function of the components singular value σ1 as given by

r = ±p1

√2σ1

π(3–4)

The expression in Equation 3–4 is equal to the splitting distance employed in the

G-means algorithm [73]. After the centroids have been split or removed k-means is rerun

on the remaining data set. This process is performed repeatedly until the number of

remaining data points falls below a threshold tolf . This tolerance is typically set as 10% of

the total number of feature points.

Algorithm 2 Plane fitting algorithm

1: initialize a single cluster centroid (k = 1)2: initialize observation counter j = 03: repeat4: perform k-means on the dataset returning centroid locations {c1, c2, . . . , ck}5: for i = 1 to k clusters do6: perform PCA on cluster ci

7: extract third singular value σ3

8: if σ3 < σt then9: increment observation counter j = j + 1

10: project all feature points onto PCA basis Y = XV11: find all feature points that fit the planar definition12: compute convex hull H of associated feature points13: store H and PCA result as sensor observation zj

14: remove centroid ci and associated feature points from data set15: else16: split centroid ci along first principal component p1

17: end if18: end for19: until number of fpts < tolf

The result of the plane fitting algorithm is shown in Figure 3-5. The algorithm

transforms the pointwise data provided by SFM into a set of geometric primitives.

Concatenating these observations will create an incorrect geometric map due to drift in

vehicle state estimates. Chapter 5 will present an algorithm that fuses the vehicle state

estimates and environment observations in order to create a spatially consistent map.

47

Page 48: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A

B

Figure 3-5. Dimensionality reduction of feature point data. A) Pointwise data from theSFM algorithm. B) The dimensionally-reduced dataset consists of geometricprimitives in the form of planar features.

48

Page 49: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 4FILTERING FOR STATE ESTIMATION

4.1 Introduction

Chapter 3 described a method for extracting planar features from a highly structured

environment. These features will be used in Chapter 5 to incrementally construct an

environment map with a filtering technique known as Simultaneous Localization and

Mapping (SLAM). The SLAM task is a state estimation approach in which the state

of the system is a combination of the vehicle state, defined in terms of position and

orientation, and the state of the map, designated by the position and orientation of

environmental landmarks.

State estimation is commonly addressed as a filtering problem in which estimates

are calculated recursively by incrementally incorporating sensor information [79]. This

chapter describes several filters that follow a similar predictor-corrector structure depicted

in Figure 4-1. The filtering process begins with the prediction of a noisy estimate of the

system state according a state transition model. Measurements of the system are predicted

as if the true system state is equal to the state prediction. The measurement prediction

is compared to an actual, noisy system measurement and the state estimate is updated

according to a weighted measurement residual. The weight of the measurement residual

represents the confidence of the measurement with respect to the model-based state

estimate.

Two filters that form the foundation of the majority of SLAM solutions are the

Kalman filter [80] and particle filter [82]. This chapter describes the general form of these

filters and several variants that will be used in the SLAM filtering approaches described in

Chapter 5.

4.2 The Kalman Filter

The Kalman filter is an estimator for linear systems that yields minimum mean

square error (MMSE) estimates. Kalman filtering estimates the state x ∈ Rn of a dynamic

49

Page 50: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 4-1. Recursive state estimation. The recursive process involves three steps:prediction, observation, and update.

system described by the linear stochastic difference equation

xk = Axk−1 + Buk−1 + qk−1 (4–1)

where A ∈ Rn×n is the state matrix, B ∈ Rn×l is the input matrix, u ∈ Rl is the input

vector, and qk−1 ∈ Rn is a vector of random variables representing additive process noise.

The noise variable qk−1 is a zero-mean Gaussian variable with covariance Σq.

The state estimation process incorporates measurements z ∈ Rm of the system that

are modeled as

zk = Hxk + rk (4–2)

where H ∈ Rm×m is an output matrix mapping states to observations and r ∈ Rm is a

zero-mean Gaussian random variable vector with covariance Σr representing measurement

noise.

For a given state estimate x, the error e and error covariance P are defined as

e = x− x (4–3)

P = E[eeT

](4–4)

50

Page 51: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where E[·] denotes the expectation or mean value of a random variable.

The Kalman filtering procedure begins with a prediction step that updates the state

estimate and error covariance as follows

xk|k−1 = Axk−1|k−1 + Buk−1 (4–5)

Pk|k−1 = APk−1|k−1AT + Σq (4–6)

where the subscript k|k − 1 denotes a value at time k given measurement information, or

evidence, up to time k − 1 also known as an a priori estimate. The state and covariance

at k|k − 1 define the prior probability distribution of the state estimate. The notation

k|k is referred to as an a posteriori estimate, with the mean and covariance denoting the

posterior probability distribution, since such estimates include measurements taken up to

the current time step.

The optimal Kalman gain, which weights the measurement residual, for MMSE

estimation is defined as

Kk = Pk|k−1HT

(HPk|k−1H

T + Σr

)−1(4–7)

The final step of the Kalman filter is to update the predictions given in Equations 4–5

and 4–6 after a measurement zk is taken. The measurement update equations are

xk|k = xk|k−1 + Kk

(zk −Hxk|k−1

)(4–8)

Pk|k = (I−KkH)Pk|k−1 (4–9)

The resulting estimates xk|k and Pk|k are used as previous time estimates in

Equations 4–5 and 4–6 for the next prediction as the recursive process continues.

The Kalman filter is designed for linear systems with linear measurement models. The

SLAM problem, however, deals with nonlinear systems in the form of vehicle dynamic

models and sensors with nonlinear measurement models. Therefore, the nonlinear

extensions of the Kalman filter are employed for the estimation task. The nonlinear

51

Page 52: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Kalman filters include the Extended Kalman Filter (EKF) [81], the Unscented Kalman

Filter (UKF) [83], and the Square-Root Unscented Kalman Filter (SQUKF) [84].

4.2.1 The Extended Kalman Filter

The EKF allows for a nonlinear process model f(·) and a nonlinear measurement

model h(·)xk = f (xk−1,uk−1,qk−1) (4–10)

zk = h (xk, rk) (4–11)

It should be noted that the process noise and measurement noise are no longer

restricted to be additive uncertainties. The EKF follows the Kalman filter approach by

linearizing the models with respect to the current state estimate of the system as follows

Ak =∂f

∂x

∣∣∣xk−1|k−1,uk−1(4–12)

Hk =∂h

∂x

∣∣∣xk|k−1, (4–13)

Additionally, the models are linearized with respect to the noise values

Qk =∂f

∂q

∣∣∣xk−1|k−1,uk−1(4–14)

Rk =∂h

∂r

∣∣∣xk|k−1, (4–15)

which means the EKF filter equations, analogous to Equations 4–5 through 4–9, can be

written as

xk|k−1 = f(xk−1|k−1,uk−1, 0

)

Pk|k−1 = AkPk−1|k−1ATk + QkΣqQ

Tk

Kk = Pk|k−1HTk

(HkPk|k−1H

Tk + RkΣrR

Tk

)−1

xk|k = xk|k−1 + Kk

(zk − h

(xk|k−1, 0

))

Pk|k = (I−KkHk)Pk|k−1

(4–16)

which defines the complete EKF. It should be noted that the state a measurement

predictions use the full nonlinear equations while the linearized models are required to

52

Page 53: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

estimate the distribution’s covariance. This linearization is the primary source of error in

the EKF state estimation process.

4.2.2 The Unscented Transform

The EKF does not retain the optimality of the Kalman filter because the linearization

step does not properly handle the statistics of the problem. This inaccuracy is because

the random variables no longer have normal distributions after undergoing a nonlinear

transformation. The UKF employs the Unscented Transform (UT) to more accurately

estimate the statistics of a random variable that is passed through a nonlinear

transformation.

The UT calculates the mean and covariance of a variable undergoing a nonlinear

transformation by propagating a set of points (called sigma points) through the nonlinear

function and estimating the new statistics of the distribution as shown in Figure 4-2. The

sigma points are chosen according to a deterministic algorithm so that they accurately

approximate the true mean and covariance of the untransformed distribution.

Figure 4-2. The Unscented Transform. The UT propagates a set of sigma points through anonlinear function to calculate the posterior probability distribution.

53

Page 54: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

In general, the UT defines a set of 2L + 1 sigma points X and associated weights for

an L-dimensional random variable with mean µ and covariance P as follows

X 0 = µk−1 W s0 = λ

L+λ, W c

0 = λL+λ

+ (1− α2 + β)

X i = µk−1 +(√

(L + λ)Pk−1|k−1

)i

W si = W c

i = 12(L+λ)

X i+L= µk−1 −(√

(L + λ)Pk−1|k−1

)i

W si = W c

i = 12(L+λ)

λ = α2(L + κ)− L

(4–17)

where the subscript of the square root denotes the ith column of the matrix square root

and α, β, and κ are tuning parameters for controlling the placement and weighting of the

sigma points. The sigma points are transformed by the nonlinear function

Y i = f(X i), ∀ i = 1, . . . , 2L + 1 (4–18)

and the new mean and covariance are the weighted average and weighted outer product of

the transformed points

µk =2L∑i=0

W si Y i (4–19)

P =2L∑i=0

W ci [Y i − µk][Y i − µk]

T (4–20)

4.2.3 The Unscented Kalman Filter

The unscented transform is applied to the EKF to replace the prediction and update

equations of Equation 4–16 used to create the UKF. This derivation is accomplished with

an augmented state vector x′ ∈ Rn+q, where q is the dimension of the noise vector q,

defined as

x′ =

x

q

(4–21)

The process model, Equation 4–10, is rewritten to accept the augmented state vector

as input,

xk = f ′(x′k−1,uk−1,qk−1

)(4–22)

54

Page 55: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

so that the sigma points in Equation 4–17 are drawn from a probability distribution with

a mean value

x′k−1|k−1 =

xk−1|k−1

0q×1

(4–23)

and covariance

P′k−1|k−1 =

Pk−1|k−1 Pxv,k−1|k−1

Pxv,k−1|k−1 Σq

(4–24)

where Pxv is the cross correlation matrix between the state errors and the process noise.

The measurement model, Equation 4–11, is rewritten so that measurement noise is

restricted to be additive as was assumed in the linear Kalman filter

zk = h′ (xk−1) + rk−1 (4–25)

The resulting UKF filter equations begin with the prediction step where sigma points

X ′, as given in Equation 4–17, are drawn from the distribution defined by Equations 4–23

and 4–24. These sigma points are transformed by the nonlinear process model with zero

noise

X i,k|k−1 = f ′(X ′

i,k−1|k−1,uk−1, 0), ∀ i = 1, . . . , 2L + 1 (4–26)

The mean and covariance of the sigma points are calculated from Equations 4–19 and

4–20 as

xk|k−1 =2L∑i=0

W si X ′

i,k|k−1 (4–27)

Pk|k−1 =2L∑i=0

W ci [X i,k|k−1 − xk|k−1][X i,k|k−1 − xk|k−1]

T (4–28)

Next, observations are predicted by transforming the updated sigma points with the

measurement model

Z i,k = h′(X i,k|k−1,uk−1, 0

), ∀ i = 1, . . . , 2L + 1 (4–29)

55

Page 56: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where the mean of the probability distribution of the current observation is

zk =2L∑i=0

W si Z ′

i,k (4–30)

with corresponding covariance

Pzz,k =2L∑i=0

W ci [Z i,k − zk][Z i,k − zk]

T (4–31)

The Kalman gain for the UKF is calculated according to

Pxz,k|k−1 =∑2L

i=0 W ci [X i,k|k−1 − xk|k−1][Z i,k − zk]

T

Kk = Pxz,k|k−1 (Pzz,k)−1

(4–32)

Finally, the state estimate and covariance matrix can be updated to generate the

current state estimate

xk|k = xk|k−1 + Kk (zk − zk)

Pk|k = Pk|k−1 −KkPzz,kKTk

(4–33)

Therefore, the state estimate of the system has been computed without requiring

linearization of the process and measurement models.

4.2.4 The Square-Root Unscented Kalman Filter

The UKF approach to state estimation has been shown to produce superior results to

the EKF for nonlinear systems [83]. The UKF, however, is a computationally expensive

algorithm in comparison to the EKF. This expense is because the sigma point calculation,

Equation 4–17, requires 2L + 1 evaluations of the nonlinear process model and matrix

square roots of the state covariance. The Square-Root Unscented Kalman Filter

(SR-UKF) is an efficient variant of the UKF in which the matrix square root required to

generate the sigma points is eliminated by propagating the square root of the covariance

matrix in lieu of the full covariance [84]. Therefore, the sigma point calculation, replacing

Equation 4–17, is

X ik−1|k−1 =

[xi

k−1,xik−1 ±

(√(L + λ)Si

k−1|k−1

)](4–34)

56

Page 57: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where S is the matrix square root of the covariance matrix initialized by a Cholesky

factorization of P0. The Cholesky factor S is updated in the prediction step using a QR

decomposition to to incorporate the weighted sigma points excluding the centroid as

follows

Six,k|k−1 = qr

([√W c

1 (X i1:2L,k|k−1 − xk)

i√

Σq

])(4–35)

where qr(A) represents a QR decomposition A = QR where Q is a square unitary

matrix and R is an upper triangular matrix returned by the qr operator. Since the weight

corresponding to the centroidal sigma point may be negative it is incorporated separately

according to

Six,k|k−1 = cholupdate

(Si

x,k|k−1,X i0,k|k−1 − xk)

i,W c0

)(4–36)

where cholupdate(A,X, s) represents a Cholesky update returning the Cholesky factor of

A ± XX∗ with s dictating the sign on the update. Equations 4–35 and 4–36 replace the

UKF state covariance update Equation 4–28.

The measurement covariance update equations, replacing the analogous UKF

Equation 4–31, follow the same formulation as the state prediction methodology as

shown in the following equations

Siz,k = qr

([√W c

1 (Z i1:2L,k − zi

k)√

Σr

])(4–37)

Siz,k = cholupdate

(Si

z,k,Z i0,k − zi

k),Wc0

)(4–38)

Uik = Ki

kSiz,k Si

x,k|k = cholupdate(Si

x,k|k−1,Uik,−1

)(4–39)

where the Kalman gain is calculated as follows

Kik = (Pi

xkzk/(Si

z,k)T )/Si

z,k (4–40)

Therefore, the SR-UKF calculates state estimates without linearizing the system

models as in the EKF and without the computationally expensive matrix square root in

the UKF approach.

57

Page 58: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

4.3 The Particle Filter

The Kalman filter and its nonlinear variants (EKF,UKF,SR-UKF) operate under

the assumption that the probability distribution of the state estimate is Gaussian, or

able to be parameterized by a mean and covariance. The particle filter is a Monte Carlo

(MC) method for state estimation which represents the probability distribution as a set of

weighted random samples [82]. This formulation allows the estimation process to handle

non-Gaussian and multi-modal probability density functions.

Like the Kalman filtering approaches, the particle filter operates in a recursive

fashion. The state is predicted according to a process model and, subsequently, updated

by comparing sensor measurements to measurement predictions calculated with a

measurement model. However, while the Kalman filter propagates a normal distribution

through the nonlinear models, the particle filter propagates a set of weighted samples

called particles. Particle filters employ a set of N particles defined as

S ={xi

k,wik

} ∀i = 1, . . . , N (4–41)

where xik are random samples of the state’s probability density function p(xk|xk−1,uk)

and wik are associated importance weights calculated according to environmental

observations. The particles differ from the sigma points employed by the UKF in that

they are randomly selected and not deterministically calculated. Additionally, the particles

are weighted in order to maintain a general probability distribution while the sigma points

are used to reconstitute a Gaussian distribution.

The particle filtering algorithm, outlined in Algorithm 3, begins by drawing state

samples from a probability density defined as

xk ∼ p(xk|xk−1,uk) = f(xk−1,uk,qk) (4–42)

which is the same nonlinear process model definition used in the EKF (Equation 4–10).

The notation a ∼ b denotes that the random variable a has the probability distribution

58

Page 59: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

b and the notation p(c|d) represents a probability distribution for variable c given the

evidence d.

Each particle drawn from the process model distribution is assigned a weight

wik ∝ wi

k−1p(zk|xik) (4–43)

where p(zk|xik) is defined as the nonlinear measurement model

zk,j ∼ p(zk|xk) = h(xk, rk) (4–44)

and the proportionality is eliminated by normalizing the weights at each step. Therefore,

each particle is assigned a weight which is a function of its previous weight and the

probability that the sample would produce the current sensor measurement. The weights

can be seen as the importance of the particles with respect to maintaining an accurate

representation of the probability distribution.

The final step of the particle filter is the resampling of the particles with replacement

according to their weights. The resampling allows for particles with a low weight, that

no longer represent the actual probability distribution, to be removed from further

consideration. Since the particle set is sampled with replacement, particles with a large

weight are often selected multiple times. The sampling step, however, can lead to particle

deficiency if sampling occurs too frequently. Particle deficiency refers to a lack of particle

diversity in which the distribution is approximated by N particles, but few are unique.

Many sampling heuristics have been developed to determine when best to perform the

resampling step. The method used in this dissertation is a resampling procedure based on

the number of effective particles Neff [85]. The number of effective particles

Neff,k =1∑N

i=1(wik)

2(4–45)

estimates how effectively the current particle set approximates the true posterior

distribution. Resampling occurs when Neff falls below a threshold NT .

59

Page 60: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Algorithm 3 Particle filter

1: loop2: for i = 1 to N samples do3: draw sample xi

k ∼ p(xk|xk−1,uk)4: assign a weight to the particle wi

k = wik−1p(zk|xi

k)5: end for6: calculate the total weight wk =

∑Ni wi

k

7: for i = 1 to N samples do

8: normalize the importance weights wik =

wik

wk

9: end for10: calculate Neff

11: if Neff < NT then12: resample with replacement13: end if14: end loop

4.4 The Rao-Blackwellized Particle Filter

Particle filtering can be extremely inefficient in high-dimensional spaces [86]. This

inefficiency is vitally important with respect to the SLAM problem where the state space

includes the vehicle states and the map landmark states. Therefore, particle filtering has

been applied to the SLAM problem with the Rao-Blackwellized Particle Filter (RBPF).

The Rao-Blackwellization is a process in which the number of states that need to

be sampled is reduced by partitioning the joint state. Therefore, for a joint distribution

p(x1,x2) the state is partitioned using the product rule

p(x1,x2) = p(x2|x1)p(x1) (4–46)

If the joint state is partitioned in such a way that the conditional probability p(x2|x1)

can be determined analytically then only the probability distribution of the partial state

vector p(x1) needs to be sampled as xi1 ∼ p(x1). Therefore, the new particle set becomes

S ={xi

1, p(x2|x1)i,wi

k

} ∀i = 1, . . . , N (4–47)

which means that each particle contains the partial state estimate xi1 and a probability

density p(x2|x1) that is conditioned on the particle’s specific estimate of xi1.

60

Page 61: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The sampling of a reduced state space increases the computational efficiency of the

RBPF by decreasing the dimension of the problem. This approach is applied to SLAM by

partitioning the state space so that the vehicle pose is sampled and the map’s landmark

states are determine analytically. This application is described further in Chapter 5 where

the RBPF is combined with the aforementioned EKF, UKF, and SR-UKF to produce

three filters for solving the SLAM problem.

61

Page 62: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 5SIMULTANEOUS LOCALIZATION AND MAP BUILDING

5.1 Introduction

Trajectory planning for a vehicle navigating an unknown environment motivates the

need to incrementally construct a spatial map of the vehicle’s surroundings. Motion

planning strategies that react only to current environmental sensor measurements

produce inefficient results since no knowledge outside the current sensor field of view

is incorporated into the planning process [74]. Time-dependent missions, such as target

acquisition and tracking, require a map to produce time efficient solutions. Additionally,

the majority of motion planning strategies presuppose a known environment map [26].

Therefore, map construction becomes a vitally important task for efficient motion

planning.

This research is concerned with navigation in GPS denied environments meaning

knowledge of the vehicle’s inertial location is not known. Therefore, navigation must rely

on relative vehicle position estimates which are subject to drift due to model uncertainties

and external disturbances. Additionally, sensor measurements of the external environment

are susceptible to noise. The combination of errors incurred from uncertain vehicle

location and noisy senor measurements produces spatially inconsistent maps as shown in

Figure 5-1.

The issues incurred by placing a vehicle at an unknown location in an unknown

environment and requiring it to incrementally build a spatially consistent map while

concurrently computing its location relative to the map are known as the Simultaneous

Localization and Mapping (SLAM) problem [75]. Research into the SLAM problem

has produced a variety of solutions based on probabilistic recursive algorithms with

implementations on a variety of platforms including ground vehicles, aircraft, and

underwater vehicles [19, 76, 77]. All successful SLAM solutions follow a similar overall

estimation strategy as depicted in Figure 5-2.

62

Page 63: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 5-1. Map building in the presence of noise. Noise in the map building processproduces a spatially inconsistent map.

The SLAM estimation strategy begins with a prediction step (Figure 5-2A) in

which the vehicle position and orientation are estimated according to a motion model.

Additionally, sensor measurements are predicted using a measurement model that

estimates sensor readings based on the uncertain state of the vehicle and the current

map of the environment. Essentially, the prediction step generates a guess of what the

vehicle should observe given the current state estimates. Next, actual sensor measurements

of the environment are taken by the vehicle’s onboard sensor suite as depicted in Figure

5-2B. Finally, the actual observations are compared with the predicted observations and

the map and vehicle states are updated accordingly (Figure 5-2C).

There are several open problems in the SLAM community including the reduction

of computation complexity to enable real-time implementation, correct association of

observed landmarks with mapped landmarks, and environment representation [78].

This dissertation addresses these problems by employing a dimensionally reduced map

representation as described in Chapter 3. The map representation is a set of planar

landmarks that fit three-dimensional feature points gathered by an onboard camera. The

geometric map alleviates the computational burden of the SLAM solution by reducing the

63

Page 64: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A

B

C

Figure 5-2. The SLAM estimation strategy. A) In the prediction step the pose of thevehicle and sensor measurements are predicted according to motion andmeasurement models, respectively. The error ellipses denote uncertainty invehicle state and map estimates. B) The observation step involves acquiringrelative measurements from onboard sensors to environmental landmarks. C)In the update step the vehicle state and map estimates are updated bycomparing the predicted sensor measurements with the actual sensormeasurements.

64

Page 65: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

number of landmarks that must be stored and incorporated into the estimation process.

Additionally, the geometric landmarks are easily distinguishable which aids the association

of sensor observations with map features.

This chapter builds on the overview of recursive filters that are important to the

SLAM estimation process presented in Chapter 4. Section 5.2 introduces the vehicle and

measurement models developed for the presented SLAM formulation. Section 5.3 describes

three specific filters that were investigated in relation to the airborne SLAM problem.

Lastly, Sections 5.4 and 5.5 describe the data association process and map management

procedures employed to incrementally incorporate sensed geometric primitives into a

global map.

5.2 Airborne SLAM Models

The goal of the airborne SLAM algorithm is to concurrently estimate the state of an

aircraft, x ∈ R6, defined by position and attitude, and a relative map consisting of j static

environmental landmarks m ∈ R6×j. The landmarks in this formulation are distinct planar

features defined by a centroidal location and a unit normal direction m = [µj, ~nj]T .

As described in Chapter 4, state estimation requires the definition of process and

measurement models that describe the system of interest. The general process and

measurement model definitions for the SLAM problem are probabilistically defined as the

following distributions

xk ∼ p(xk|xk−1,uk) = f (xk−1,uk−1,qk−1) (5–1)

zk,j ∼ p(zk,j|xk,mj) = h (xk,mj, rk) (5–2)

where f(·) is a nonlinear state transition model that calculates the current state of

the system xk based on the previous state xk−1, control input uk−1, and process noise

qk−1 with covariance Σq. The nonlinear measurement model h(·) generates a sensor

measurement zk,j for each landmark mj based on the vehicle state xk and measurement

noise rk with covariance Σr.

65

Page 66: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

5.2.1 Vehicle Model

The addressed airborne SLAM problem assumes the vehicle is a fixed-wing aircraft

as depicted in Figure 5-3. Additionally, it is assumed that vehicle linear velocity [u, v, w]

and angular velocity [p, q, r] information is provided via an IMU or vision-based state

estimation algorithm (Sections 2.3.2 and 2.4). Therefore, the input to the vehicle model is

selected to be u = [u, v, w, p, q, r]T

Figure 5-3. Fixed-wing aircraft model definitions. The aircraft linear and angular rates aredefined with respect to a body-fixed basis B. The inertial position andorientation of the vehicle is measured with respect to a North East Down(NED) inertial frame E.

The vehicle model f(·) accepts noisy estimates of vehicle velocities as inputs.

Position and orientation state information is generated according to the aircraft kinematic

equations

x = u cos θ cos ψ + v(− cos φ sin ψ + sin φ sin θ cos ψ)

+w(sin φ sin ψ + cos φ sin θ cos ψ)

y = u cos θ sin ψ + v(cos φ cos ψ + sin φ sin θ sin ψ)

+w(− sin φ cos ψ + cos φ sin θ sin ψ)

z = u sin θ − v sin φ cos θ − w cos φ cos θ

φ = p + tan θ(q sin φ + r cos φ)

θ = q cos φ− r sin φ

ψ = (q sin φ + r cos φ)/ cos θ

(5–3)

66

Page 67: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where [x, y, z]T denotes the inertial position measure in a NED frame and [φ, θ, ψ]T are the

vehicle Euler angles defining roll, pitch, and yaw. The errors in linear and angular velocity

qk are assumed to be Gaussian with a covariance

Σq =

σ2u 0 0 0 0 0

0 σ2v 0 0 0 0

0 0 σ2w 0 0 0

0 0 0 σ2p 0 0

0 0 0 0 σ2q 0

0 0 0 0 0 σ2r

(5–4)

5.2.2 Measurement Model

The measurement model h(·) maps planes defined in the inertial coordinate system

to a body-fixed definition so that predicted measurements z can be compared with actual

sensor readings z. The definition of a landmark mj consists of an inertially defined

centroid and normal direction mj = [µj, ~nj]T . The sensor observations consist of planes

defined by a normal direction n and a perpendicular distance d from the plane to the

sensor. Therefore, the observation model h(·) is defined as

zk,j =

nk,j

dk,j

=

Rkeb~nj

nk,j ·Rkeb(µj − pk)

(5–5)

where Rkeb is the rotation matrix from the inertial frame to the body-fixed frame at time k

and pk is the current vehicle position. The sensor induced errors for the perceived normal

direction n = [n1, n2, n3]T and perpendicular distance are characterized by

Σr =

σ2n1

0 0 0

0 σ2n2

0 0

0 0 σ2n3

0

0 0 0 σ2d

(5–6)

67

Page 68: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

5.3 Filtering for SLAM

The airborne SLAM problem addressed in this dissertation is subject to difficulties

exceeding ground vehicle SLAM with respect to computational complexity and high

nonlinearity in both vehicle dynamics and environmental measurements [19]. The airborne

SLAM problem has been investigated with the Extended Kalman Fitler (EKF) [18]

and the Unscented Kalman Filter (UKF) [20]. The EKF approach has been shown to

be somewhat successful in implementation for a very limited number of landmarks.

Additionally, UKF approach has proven to be superior to the EKF in terms of estimation

accuracy, but suffers from increased computational complexity. This dissertation

investigates three additional SLAM filters based on the Rao-Blackwellized Particle Filter

(RBPF). The goal is to find a solution to airborne SLAM that is more computationally

efficient than both the EKF and UKF approaches and handles the nonlinearities as well as

the UKF. The complete formulation of these filters, including the equations necessary for

implementation, is described in this section.

The SLAM estimation task is framed as a probabilistic process with the goal of

calculating the joint posterior distribution of the vehicle and landmark states

p(xk,m|Z0:k,U0:k,x0) (5–7)

where Z0:k is the history of all landmark observations, U0:k is the history of all control

inputs, and x0 is the known initial vehicle state. The following three filters estimate this

distribution solving the airborne SLAM problem.

5.3.1 Rao-Blackwellized Particle Filter

The RBPF was introduced as an alternative to EKF SLAM in an approach referred

to in literature as FastSLAM [23, 87]. The RBPF is a sampling-based approach which

factors the joint SLAM posterior distribution according to the observation that landmark

positions can be estimated independently if the vehicle path is known. The resulting

Rao-Blackwellized form contains a sampled term representing the probability of vehicle

68

Page 69: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

paths and M terms that estimate the landmark locations

p(X0:k,m|U0:k,Z0:k,x0) = p(Xk:0|Z0:k,U0:k,x0)M∏

j=1

p(mj|Xk:0,Z0:k) (5–8)

where X0:k denotes a vehicle state history. According to this formulation the posterior

distribution is represented as a set of N particles {wik,X

i0:k, p(m|Xi

0:k,Z0:k)}Ni where wi

k is

a weight assigned to each particle and p(m|Xi0:k,Z0:k) is an individual map associated with

each particle. Therefore, one benefit of the RBPF approach is that each particle contains

a separate map which allows for multiple data association hypothesis to be assigned at

each observation update. This allowance means that the RBPF approach is more robust,

in terms of filter convergence, than EKF SLAM with respect data to association.

The FastSLAM approach, which is based on the RBPF with EKF-style updates,

proceeds as follows:

1. Generate N vehicle pose samples xik and associated observations zi

k,j:

xik|k−1 ∼ p(xi

k|xik−1,uk) = f(xi

k−1,uk,qk−1) (5–9)

Pixx,k|k−1 = ∇fxP

ixx,k−1|k−1∇fx

T +∇fuΣq∇fuT (5–10)

zik,j ∼ p(zi

k,j|xik,mj) = h(xi

k|k−1,mj,k−1, rk) (5–11)

where Pxx is the covariance of the vehicle pose, ∇fx is the Jacobian of the vehicle

model with respect to the vehicle state, and ∇fu is the Jacobian of the vehicle model

with respect to the vehicle control inputs.

2. Calculate importance weights wik and resample according to weights to promote

particle diversity:

wik = wi

k−1Ci (5–12)

where the constant C is the likelihood of all observations zk (the subscript j has

been dropped to show that the following is performed for all landmarks in a batch

fashion) given the estimated position of the vehicle. The likelihood is calculated as

69

Page 70: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

follows

C i =√

(2π)m|Piwk| e− 1

2(zk−zi

k)T (Piwk

)−1(zk−zik) (5–13)

where

Piwk

= ∇hxΣq∇hTx +∇hmPi

m,k−1∇hTm + Σr (5–14)

and ∇hx is the Jacobian of the observation model with respect to vehicle pose

evaluated at xk|k−1 and mk−1, ∇hm is the Jacobian of the observation model with

respect to landmark location evaluated at xk|k−1 and mk−1, and Pm is the covariance

of the map states.

3. Calculate the proposal distribution and draw N samples xk defining the updated

vehicle state where the distribution is Gaussian with parameters:

xik|k = xi

k|k−1 + Pixx,k|kh

Tx (Bi

k)−1(zk − zi

k) (5–15)

Pix,k|k = (hT

x (Bik)−1hx + (Σq)

−1)−1 (5–16)

where Bk is defined as

Bik = Σr +∇hmPi

m,k−1∇hTm (5–17)

4. Update definitions of observed landmarks according to the EKF measurement

update:

Kim,k = Pi

m,k−1∇hTm(Bi

k)−1 (5–18)

mik = mi

k−1 + Kim,k(zk − zi

k) (5–19)

Pim,k = (I−Ki

m,k∇hm)Pim,k−1 (5–20)

If a new landmark is observed it’s covariance is initialized to

Pim,k = ∇hmΣr∇hT

m (5–21)

From the above FastSLAM algorithm it can be seen that another advantage of

the RBPF is that only observed landmarks are updated. Therefore, the RBPF is more

70

Page 71: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

efficient than a naive implementation of an EKF where all landmark and vehicle states

are concatenated into a single matrix and updated simultaneously. Current research

approaches use submaps to increase in the efficiency of KF-based solutions.

5.3.2 Unscented Rao-Blackwellized Particle Filter

The Unscented Rao-Blackwellized Particle Filter (URBPF) is formulated by applying

the Unscented Transform (UT) (Section 4.2.2) to the RBPF SLAM formulation [88]. The

URBPF is an improvement over the RBPF in terms of estimation performance similar

to the comparison between the EKF and UKF discussed in Section 4.2.2. Additionally,

the URBPF is easier to implement because it does not require linearization of the state

transition and measurement models.

1. Generate N vehicle pose samples xik and associated observations zi

k,j according to

the UKF prediction rule:

X ik−1|k−1 =

[xi

k−1,xik−1 ±

(√(L + λ)Pi

xx,k−1||k−1

)](5–22)

X ik|k−1,t = f(X i

k−1|k−1,t,uk) xik|k−1 =

∑2Lt=0 W s

t X ik|k−1,t

(5–23)

Pixx,k|k−1 =

2L∑t=0

W ct

[X ik|k−1,t − xi

k|k−1

] [X ik|k−1,t − xi

k|k−1

]T(5–24)

Z ik,t,j = h(X i

k|k−1,t,mj,k−1) zik,j =

∑2Lt=0 W s

t Z ik,t,j

(5–25)

2. Calculate importance weights wik and resample according to weights to promote

particle diversity:

wik = wi

k−1Ci (5–26)

where the constant C is the likelihood of all observations zk (the subscript j has

been dropped to show that the following is performed for all landmarks in a batch

fashion) given the estimated position of the vehicle. The likelihood is calculated as

follows

C i =√

(2π)m|Piwk| e− 1

2(zk−zi

k)T (Piwk

)−1(zk−zik) (5–27)

71

Page 72: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where

Piwk

= (Pixkzk

)TΣqPixz,k + Pi

zz,k + Σr (5–28)

where

Pizz,k =

2L∑t=0

W ct

[Z ik|,t − zi

k

] [Z ik,t − zi

k

]T(5–29)

Pixx,k =

2L∑t=0

W ct

[X ik|k−1,t − xi

k|k−1

] [Z ik,t − zi

k

]T(5–30)

3. Calculate the proposal distribution and draw N samples to define the new vehicle

state xk where the distribution is Gaussian with parameters:

xik|k = xi

k|k−1 + Kik(zk − zi

k) (5–31)

Pixx,k|k = Pi

xx,k|k−1 −KikP

izz,k(K

ik)

T (5–32)

and the Kalman gain is

Kik = Pi

xz,k(Pizz,k)

−1 (5–33)

4. Calculate sigma points for the observed landmarks and transform according to the

observation model:

Mik =

[mi

k−1,mik−1 ±

(√(L + λ)Pi

m,|k−1

)](5–34)

Y ik,t,j = h(xi

k|k,Mik,t) zi

k,j =∑2L

t=0 W st Y i

k,t,j(5–35)

Piyy,k =

2L∑t=0

W ct

[Y ik|,t − zi

k

] [Y ik,t − zi

k

]T(5–36)

5. Update definitions of observed landmarks according to the UKF update rule:

Kim,k = Pi

m,k|k−1Piyy,k((P

iyy,k)

TPim,k|k−1P

iyy,k + Σr)

−1 (5–37)

mik = mi

k−1 + Kim,k(zk − zi

k) (5–38)

Pim,k|k = (I−Ki

m,k(Piyy,k)

T )Pim,k|k−1 (5–39)

72

Page 73: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

5.3.3 Square-Root Unscented Rao-Blackweillized Particle Filter

This dissertation introduces a new option for efficiently solving the SLAM problem

based on the Square-Root Unscented Kalman Filter (SR-UKF) (Section 4.2.4). The

SR-UKF is an efficient variant of the UKF in which the matrix square root required

to generate the sigma points is eliminated by propagating the square root of the

covariance matrix in lieu of the full covariance. Similarly, the Square-Root Unscented

Rao-Blackwellized Particle Filter (SR-URBPF) is formulated by replacing the UKF-style

calculations in the URBPF with the SR-UKF approach.

1. Generate N vehicle pose samples xik and associated observations zi

k,j according to

SR-UKF prediction rule:

X ik−1|k−1 =

[xi

k−1,xik−1 ±

(√(L + λ)Si

xx,k−1||k−1

)](5–40)

X ik|k−1,t = f(X i

k−1|k−1,t,uk) xik|k−1 =

∑2Lt=0 W s

t X ik|k−1,t

(5–41)

Sixx,k|k−1 = qr

([√W c

1 (X i1:2L,k|k−1 − xk|k−1)

i√

Σq

])(5–42)

Sixx,k|k−1 = cholupdate

(Si

xx,k|k−1,X i0,k|k−1 − xk|k−1)

i,W c0

)(5–43)

Z ik,t,j = h(X i

k|k−1,t,mj,k−1) zik,j =

∑2Lt=0 W s

t Z ik,t,j

(5–44)

Sizz,k = qr

([√W c

1 (Z i1:2L,k − zk)

i√

Σr

])(5–45)

Sizz,k = cholupdate

(Si

zz,k,Z i0,k − zk)

i,W c0

)(5–46)

2. Calculate importance weights wik and resample to promote particle diversity:

wik = wi

k−1Ci (5–47)

where the constant C is the likelihood of all observations zk (the subscript j has

been dropped to show that the following is performed for all landmarks in a batch

fashion) given the estimated position of the vehicle. The likelihood is calculated as

C i =√

(2π)m|Piwk| e− 1

2(zk−zi

k)T (Piwk

)−1(zk−zik) (5–48)

73

Page 74: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

where

Piwk

= (Pixkzk

)TQkPixkzk

+ Pizkzk

+ Rk (5–49)

Pizkzk

=2L∑t=0

W ct

[Z ik,t − zi

k

] [Z ik,t − zi

k

]T(5–50)

Pixkzk

=2L∑t=0

W ct

[X ik|k−1,t − xi

k|k−1

] [Z ik,t − zi

k

]T(5–51)

3. Calculate the proposal distribution and draw N samples to define the new vehicle

state xk where the distribution is Gaussian with parameters:

xik|k = xi

k|k−1 + Kik(zk − zi

k) (5–52)

Uik = Ki

kSizz,k|k−1 Si

xx,k|k = cholupdate(Si

x,k|k−1,Uik,−1

)(5–53)

and the Kalman gain is

Kik = (Pi

xz,k/(Sizz,k|k−1)

T )/Sizz,k|k−1 (5–54)

4. Calculate sigma points for the observed landmarks and transform according to the

observation model:

Mik =

[mi

k−1,mik−1 ±

(√(L + λ)Si

m,|k−1

)](5–55)

Y ik,t,j = h(xi

k|k,Mik,t) zi

k,j =∑2L

t=0 W st Y i

k,t,j(5–56)

Sim,k|k−1 = qr

([√W c

1 (Y i1:2L,k − zk)

i√

Σr

])(5–57)

Sim,k|k−1 = cholupdate

(Si

m,k|k−1,Y i0,k − zk)

i, W c0

)(5–58)

Siyy,k = qr

([√W c

1 (Y i1:2L,k − zk)

i√

Σr

])(5–59)

Siyy,k = cholupdate

(Si

yy,k,Y i0,k − zk)

i,W c0

)(5–60)

5. Update definitions of observed landmarks according to the SR-UKF measurement

update rule:

Kim,k = (Pi

m,k|k−1/(Siyy,k|k−1)

T )/Siyy,k|k−1 (5–61)

74

Page 75: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

mik = mi

k−1 + Kim,k(zk − zi

k) (5–62)

Uim,k = Ki

m,kSiyy,k Si

m,k|k = cholupdate(Si

m,k|k−1,Uik,−1

)(5–63)

The SR-URBPF procedure is more computationally efficient than the URBPF

approach. A comparison of all three filters is given in Chapter 7.

5.4 Data Association

Several important implementation issues were not addressed in the previous filter

development section. The first to be discussed is data association, the process of relating

existing map landmarks to the current environmental observations. Data association

is a critical step in the SLAM problem with incorrect associations often leading to

a catastrophic failure of the state estimation process. The RBPF mitigates the data

association problem by allowing for multiple association hypotheses because each particle

contains a separate estimate of the environment map. Additionally, defining landmarks

as geometric primitives further alleviates the problem by greatly reducing the number of

landmarks and making the landmarks more distinguishable by incorporating orientation

information.

The vast majority of SLAM implementations deal with a large number of landmarks

defined by inertial location. These situations lend themselves to batch gating which

exploits the geometric relationships between landmarks by considering multiple landmark

associations simultaneously [78]. The observed landmark information provided by the

dimensionality reduction step, however, is sparse and distinguishable. Furthermore,

texture variations on building facades can lead to multiple observations of the same

landmark during a single sensing operation. Therefore, a nearest neighbor approach

is used to allow for multiple associations to the same target. It should be noted that

individual gating techniques such as the nearest neighbor method fail in environments

that are not sparsely populated or structured. This failure is a result of the individual

gating method’s investigation of a single landmark and sensor measurement pair at a time.

75

Page 76: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Therefore, the overall structure of the environment is not considered and many incorrect

associations can be made when the measurements are noisy.

The nearest neighbor approach uses Mahalanobis distance as a statistical measure of

similarity for an observed landmark and a predicted landmark. The Mahalanobis distance

is a distance metric that is scaled by the statistical variation of the data points. For the

case of data association, the squared Mahalanobis distance is calculated as follows

Mij = (zi − zj)T (Pij)

−1(zi − zj) (5–64)

where Pij is the covariance of the ith observation zi with respect to the observation

estimate zj of the jth landmark. In the Gaussian case the Mahalanobis distance forms

a χ2 distribution dependent on the dimension of the innovation vector and the desired

percentage of accepted associations. For a 4-dimensional innovation vector and an

acceptance percentage of 95% the Mahalanobis gate value for which an association will be

accepted is 9.5. An additional step is added to the nearest neighbor search which checks

the the distance between the estimated and observed plane boundary and does not accept

associations with boundaries that are too distant from each other.

The data association step is used in the preceding SLAM filters whenever a

measurement residual is calculated. The residual is a function of the actual measurement

and the predicted measurement, but the mapping between which actual measurement

relates to which prediction is unknown. Therefore, the true value and predicted value are

associated as the minimum arguments to Equation 5–64 for all possible pairs of true and

predicted measurements. All associated pairs are used to update the SLAM filter.

5.5 Map Management

The observations in the described SLAM formulation consist of partially perceived

planes. New observations must be incrementally fused into the global map as the

environment is continuously surveyed. Incremental map building is accomplished by

mapping the boundary of an observation, described by a convex hull H, to the inertial

76

Page 77: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

frame according to

Hk,e = RkbeHk,b + pk (5–65)

The points that comprise the boundary H are updated to match the current landmark

after the landmark update step of the SLAM filter by moving the points along the

updated normal direction as follows

Hk,e = (~n · µ− ~n · Hk,e)~n + Hk,e (5–66)

The combined observed and original three-dimensional boundary points Ht are

projected onto updated landmark basis V according to

yk = (Hk,t − µ)V (5–67)

and the plane boundary is updated by computing the convex hull of the projected set

y and transforming the points back to the inertial frame. The centroid of the updated

landmark is computed as the mean of the updated hull.

This chapter has presented three complete filters for solving the airborne SLAM

problem. Additionally, methods for handling planar landmarks within the SLAM

framework were presented. Simulation results and comparison between the filters are

presented in Chapter 7.

77

Page 78: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 6TRAJECTORY PLANNING

6.1 Introduction

Trajectory planning refers to any process which determines the history of control

inputs, u(t), for a system that yield a time parameterized curve, q(t), called a trajectory

[26]. The trajectory for system can be derived to avoid obstacles, regulate the system to a

desired state, optimize an objective function, or a combination of these tasks. Trajectory

planning is distinct from path planning because it accounts for system dynamics by

planning motions with physically realizable velocities and accelerations. This distinction

means that the curve q(t) is twice differentiable with respect to time. Path planning,

however, is limited to constructing a kinematically feasible curve, q(s), in the system’s

configuration space.

The goal of trajectory planning addressed in this research is to generate collision-free

trajectories for an aircraft navigating in an unknown environment. The trajectories are

designed to build a complete environment map in minimal time. The employed mapping

procedure which incrementally constructs a map of planar features was discussed in

Chapter 5. This map is used as feedback for obstacle avoidance in the trajectory planning

process.

Optimal trajectory planning for aircraft in the presence of obstacles is a difficult

problem because the optimization is non-convex [89]. This non-convexity leads to

multiple locally optimal solutions which makes most standard optimization routines

computationally intractable. Several approaches for directly solving the trajectory

optimization problem for aircraft have been proposed. Two prominent methods based on

Mixed-Integer Linear Programming (MILP) [90, 91] and the Maneuver Automaton [35–37]

are described in Section 6.2. These methods do not, in general, guarantee optimality, are

sensitive to initial conditions, and can become computationally intractable in realistic

situations.

78

Page 79: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

This research employs a decoupled trajectory planning strategy which converts a path

planning result to a trajectory using optimal control theory. This approach is similar to

offering an accurate initial condition to the direct trajectory planning methods, but limits

the optimization to a minimum-time path following calculation. The path planning task

is segmented into a two phase problem as shown in Figure 6-1. First, a coarse path is

constructed to a selected goal location. The portion of the global path that occurs within

the current sensor field of view is refined to provide a detailed local path. As a final step,

the detailed local path is converted to a trajectory with optimal control.

Figure 6-1. An overview of the trajectory planning process. A coarse global path isplanned to a prescribed goal location defined to explore the environment. Adetailed local path is planned to provide local sensor coverage. Lastly, thelocal path is converted to a trajectory using optimal control theory.

The employed path planning methodology is based on well established sampling-based

strategies [27, 32] described in Section 6.4. Section 6.5 describes a curvature constrained

kinematic model used to generate kinematically feasible paths. The environment coverage

criteria which selects the best path for environment coverage are introduce in Section 6.6.

The optimal control formulation employed for converting the kinematically feasible path to

a dynamically feasible trajectory is described in Section 6.7. The final section, Section 6.8,

describes the full algorithm for trajectory planning for optimal map building.

79

Page 80: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

6.2 Direct Trajectory Planning Methods

Direct trajectory planning methods generate motion plans directly in the state space

of the system. Several methods for direct trajectory planning include artificial potential

functions [92], optimal control [89], and sampling-based methods [93]. The latter two

methods have been directly applied to the aircraft motion planning problem and are

described below.

6.2.1 Mixed-Integer Linear Programming

MILP is the minimization of a linear function subject to linear constraints in which

some of the variables are constrained to have integer values. The integer valued variables

are key because they allow the incorporation of obstacle avoidance into the optimization.

MILP has been selected to solve the trajectory optimization problem because of its ability

to handle obstacle constraints and due to recent improvements in the computational

efficiency of commercially available software for solving MILP problems. The general form

of a mixed integer program for the variable vector x ∈ Rn with m constraints can be

written as

x∗ = arg minx

J(c,x) = (cTx)

s.t. : Cx ≤ b

l ≤ x ≤ u

(6–1)

where J is the objective function to be minimized, c ∈ Rn and b ∈ Rm are vectors of

known coefficients, C ∈ Rm×n is a constraint matrix, u is the upper bound of the solution

vector, and l is the corresponding lower bound.

The following formulation of the MILP problem for vehicle navigation is a simplified

version for a two-dimensional vehicle [91], but can be extended to three dimensions

[90]. The goal of the trajectory planning problem is to compute a control history

{uk+i ∈ R2 : i = 0, 1, . . . , L− 1} that defines a trajectory {xk+i ∈ R2 : i = 1, . . . , L}.The optimization seeks to find a minimum time trajectory that terminates at a specified

goal location xg. This minimum time, terminally-constrained problem can be formulated

80

Page 81: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

as the following MILP

u∗ = arg minu

J(bg(u), t) =∑L

i=1 big(ui−1)ti

s.t. : −K(1− big) ≤ xk+i − xg ≤ K(1− bi

g)

∑Li=1 bi

g = 1

(6–2)

where bg ∈ BL is a set of binary decision variables, B = {0, 1}, that define the point where

the goal location is reached and K is large positive number. When the goal is reached at

point xk+i the value of big is set to 1, otherwise, a value of 0 makes the first constraint

inactive. The second constraint ensures that the goal location is reached only once. The

objective function J guarantees that the goal is reached in minimum time.

Vehicle dynamics, written in terms of position x and velocity x, are included as a

constraint on the optimization in the linearized form

xk+1

xk+1

= A

xk

xk

+Buk (6–3)

where A is the vehicle state transition matrix, B is the vehicle input matrix, and u is

the vehicle control input. The vehicle dynamic model is subject to limits on velocity and

control input

x ≤ xmax

uk ≤ umax

(6–4)

Lastly, collision avoidance is included in the optimization as a constraint stating that

trajectory points must not reside within an obstacle. The following form of the constraint

is written for rectangular obstacles

ohigh −K[bin,1, bin,2]T ≤ xk+i ≤ olow + K[bin,3, bin,4]

T

∑4j bin,j ≤ 3

(6–5)

where K is a large positive value, bin ∈ B4 is a binary vector that must have at least one

active constraint (bin,j = 0) to be outside a given obstacle, and the obstacle upper right

81

Page 82: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

corner and lower left corner are given by ohigh and olow, respectively. The extension of this

constraint to three dimensions requires geometrically regular polygonal obstacles.

The above formulation for minimum time travel to a goal location is computationally

intractable for large-scale trajectories and high-dimensional systems with more complex

dynamic models and a greater number of obstacles. Therefore, the MILP trajectory

planning problem is implemented in a Receding Horizon (RH) fashion to force a

computationally efficient solution which, by construct, is not provably optimal. This is

true for all RH implementations because the problem is solved incrementally and does

not account for the full scope of the problem at once. The MILP solution, like most

optimization-based approaches, is sensitive to initial conditions and there is no guarantee

that the solution is globally optimal as opposed to locally optimal. Additionally, a vast

number of objective functions and constraints cannot be expressed linearly and thus fall

outside the umbrella of admissible MILP problems.

6.2.2 Maneuver Automaton

The MA motion planning strategy is a direct motion planning strategy which realizes

a computationally efficient solution by discretizing the system dynamics and controls

into a maneuver library. The maneuver library is a finite set of motion primitives that

can be concatenated to create a complete trajectory. The motion primitives consist of

a set of trim trajectories and maneuvers. The trim trajectories are time-parameterized

vehicle motions that are characterized by constant control input and body-axis velocities.

The maneuvers are finite time transitions that connect trim trajectories. The MA can be

depicted as a directed graph as shown in Figure 6-2.

The MA is a directed graph, as seen in Figure 6-2, consisting of a set of nodes and

connecting arcs. The nodes represent the trim trajectories Λ that define equilibrium states

for the vehicle. For example, the three trim trajectory model shown could represent an

aircraft operating at constant altitude with one trim trajectory representing steady level

flight and the two other trim trajectories representing left and right turns. The maneuvers

82

Page 83: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 6-2. An example Maneuver Automaton. A Maneuver Automaton defined by amaneuver library of three trim trajectories and nine maneuvers. M0 definesthe initial state transition by which the aircraft enters the directed graph.

M define transitions between trim trajectory operating conditions with M0 defining the

initial state transition by which the aircraft enters the directed graph.

The MA defines a set of dynamically admissible motion primitives for a given

vehicle which can be concatenated to form a trajectory. To generate a motion plan, an

optimization is performed which searches for the optimal sequence of maneuvers and

the associated time duration for each connecting primitive. Therefore, the optimization

searches for a trajectory defined by the sequence

(w, τ ) = Λw1(τ1)Mw1Λw2(τ2)Mw2 . . . MwNΛwN+1

(τwN+1), τi ≥ 0, ∀i ∈ {1, N + 1} (6–6)

where w is a vector determining the maneuver sequence and τ is a vector of coasting

times that define how long the trim primitives are executed. The trim primitives are

uniquely defined by the maneuver sequence and the constraint on τ ensures that all

coasting times are positive. The trim trajectories and maneuvers can be multiplied in

this fashion because they represent transformations of the vehicle state written in a

homogeneous representation. Therefore, general rigid-body motion denoted by a rotation

R and translation T, such as a maneuver, is written in the form

g =

R T

0 1

(6–7)

83

Page 84: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Similarly, time-parameterized rigid body motions, such as trim primitives, can be written

in the form

g(t) =

R(t) T(t)

0 1

(6–8)

which can be written in the exponential form g(t) = exp(ηt) where η is called the twist.

Optimal trajectories are found by solving the Nonlinear Program (NLP)

(w∗, τ ∗) = arg min(w,τ )

J(w, τ ) =∑N

i=1

(ΓMwi

+ γΛwiτwi

)+ γΛwN+1

τwN+1

s.t. : gw

∏Nw+1i=1 exp(ηiτi) = g−1

0 gf

w ∈ L(MA)

τi ≥ 0, ∀i ∈ {1, N + 1}

(6–9)

where the cost function J is defined by a summation of all maneuver costs ΓMwiand

primitive costs γTwiwhich are scaled linearly by their duration of execution τwi

. The

first constraint ensures the system is driven to a goal state and second constraint assures

that the solution maneuver exists in the set of all admissible maneuver sequences L(MA)

defined by the MA.

The posed optimization becomes computationally intractable as the length of the

maneuver sequence and the number of available motion primitives increases. Therefore,

the problem is decomposed into a search for the optimal maneuver sequence w∗ and an

optimization to determine the optimal coasting times τ ∗. This formulation, however, does

not include constraints for obstacle avoidance. For obstacle avoidance, the MA motion

planning strategy is coupled with sampling-based methods [94] (Section 6.4).

6.3 Decoupled Trajectory Planning

The aforementioned direct trajectory planning methods employ strategies that plan

directly in the state space of the system. Decoupled, or indirect methods, plan paths in

the vehicle’s configuration space and convert the resulting collision-free path q(s) into a

trajectory. Therefore, this method can be used to find the time-optimal trajectory that

84

Page 85: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

follows a specified path in the configuration space [40, 41]. This dissertation employs a

decoupled trajectory planning strategy in order to incorporate a more complicated cost

function into the planning process than can be employed efficiently into a direct method.

Additionally, the full vehicle dynamics are used. The main drawback of this method is

that the coverage cost is not included in the optimization. However, since the environment

is unknown the planning strategy must be implemented in a RH fashion so optimality can

never be guaranteed.

6.4 Sampling-Based Path Planning

Decoupled trajectory planning requires that a path be planned in the vehicle’s

configuration space. A popular methodology for efficiently solving the path planning

problem in high dimensional spaces is known as sampling-based planners. Sampling-based

planners randomly select collision-free configurations from the vehicle’s configuration space

and connect the samples with kinematically feasible paths to form a solution. It should

be noted that the MA can be combined with sample-based planning to directly produce

dynamically feasible trajectories.

The first sampling-based path planner to be developed was the Probabilistic

Roadmap (PRM) [27]. The PRM algorithm constructs a roadmap in the workspace

consisting of nodes and connecting arcs as shown in Figure 6-3. The nodes are vehicle

configurations sampled from the vehicle’s free configuration space Qfree. The connecting

arcs are collision-free paths generated by a local planner ∆ that connects two sampled

configurations and satisfies the kinematic constraints of the vehicle. Therefore, ∆ contains

a collision detection step alerting the planner if a collision-free path cannot be constructed.

The roadmap is intended to capture the connectivity of the vehicle’s configuration space

in order to efficiently plan feasible paths without an exhaustive search. The PRM process

involves a learning phase in which the roadmap is constructed and a query phase in which

multiple path planning problems are solved with the constructed roadmap. Therefore, the

roadmap only needs to be constructed once.

85

Page 86: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The roadmap is constructed incrementally in the learning phase by sampling a

configuration from Qfree and connecting it to its k closest neighbors according to ∆. The

distance metric is user defined and not necessarily Euclidean distance. This process is

repeated until a predetermined number of nodes has been added as shown in Figure 6-3A.

Once the roadmap has been constructed path planning queries, in the form of an initial

configuration qinit and goal configuration qgoal, are answered. As shown in Figure 6-3B,

qinit and qgoal are connected to the to their nearest neighbor in the roadmap q′ and q′′,

respectively. Lastly, a graph search is performed to find the shortest path connecting the

initial and goal locations.

A B

Figure 6-3. Probabilistic Roadmap planning in a two-dimensional environment. A) Aconstructed roadmap where the circles are nodes designating vehicleconfigurations and the straight lines are arcs connecting the nodes withkinematically feasible paths. B) The query phase where the shortest path isfound through the roadmap given an initial and goal configuration.

The PRM was designed as a computationally efficient strategy for capturing the

connectivity of Qfree in order to answer multiple path planning queries in regards to the

same environment. Many planning strategies, however, require the answer to a single

query and do not require exploration of the entire Qfree. Two examples of sampling based

single query planners are the Expansive-Spaces Tree (EST) planner and Rapidly-Exploring

Random Tree (RRT) planner. The difference between the two approaches is the manner in

which the roadmap, or tree, is constructed.

86

Page 87: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

6.4.1 Expansive-Spaces Tree Planner

The EST planner was developed to efficiently cover the space between qinit and qgoal

without needlessly exploring the entire Qfree. Instead of building a complete roadmap, like

the PRM approach, the EST incrementally constructs a tree T that is guided toward the

goal location. The tree construction process is outlined in Algorithm 4.

Algorithm 4 Expansive-Spaces Tree Construction

1: initialize tree T as a set of nodes V = q0 and edges E = ∅2: for i = 1 to n number of tree expansions do3: randomly select q from T with probability πT (q)4: select a random collision-free configuration qrand near q5: if ∆ finds a collision-free connection between q and qrand then6: V = V ∪ qrand

7: E = E ∪ {q,qrand}8: end if9: end for

10: return T

The standard form of the EST constructs a tree Tinit rooted at qinit by incrementally

adding branches to the tree in the form of nodes and connecting arcs. The tree

construction process begins by randomly selecting a node q from the tree. A random

sample qrand is then selected from the neighborhood of q and the local planner ∆ attempts

to connect the two configurations. If the connection is successful then qrand and the

connecting arc is added to the tree. This process, depicted in Figure 6-4 continues until a

termination criteria such as the maximum number of nodes in the tree or nodal proximity

to the goal is satisfied.

The most important aspect of the EST is the ability to direct the tree growth

according to a prescribed metric. Guided sampling of Qfree is achieved by assigning a

probability density function πT to the nodes of the tree. The probability density function

biases the selection of tree nodes from which to extend the tree. This bias enables tree

growth toward specified regions such as areas that are sparsely populated by nodes or the

goal location.

87

Page 88: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 6-4. Expansive-Spaces Tree planning. The EST involves constructing a tree T byextending the tree from randomly sampled configuration in the tree q. Arandom sample qrand local to q is connected to the tree by a local planner.Both a successful q′rand and unsuccessful connection q′′rand are shown.

The last step of the EST planning process is to connect the tree to the goal location

pgoal. This connecting is accomplished by checking for connections with the local planner

∆. If no connection is made, further expansion of the tree is required. Another variation

involves simultaneously growing a tree Tgoal rooted at pgoal and proceeding with a

connection process between q ∈ Tinit and q ∈ Tgoal to merge the trees.

6.4.2 Rapidly-Exploring Random Tree Planner

The RRT planner, like the EST, was developed to efficiently cover the space between

qinit and qgoal. The RRT differs from the EST with respect to the tree expansion process

as described in Algorithm 5.

Instead of extending the tree from randomly selected points in the tree T , as in the

EST approach, the RRT extends the tree towards randomly selected points qrand in the

free configuration space Qfree. Tree construction begins by selecting qrand and finding the

nearest configuration qnear in T to the sample. The tree is extend from qnear a distance δ

toward qrand. The extension is performed by a local operator ∆ terminating at qnew. If the

constructed path is collision-free, it is added to T . Tree construction, depicted in Figure

88

Page 89: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Algorithm 5 Rapidly-Exploring Tree Construction

1: initialize tree T as a set of nodes V = q0 and edges E = ∅2: for i = 1 to n number of tree expansions do3: randomly select qrand from Qfree with probability distribution πQ4: assign qnear to be the closest neighbor q in T to qrand

5: find path P between qnear and qrand with ∆6: extract sub-path p along P terminating at qnew a distance δ from qnear

7: if p is collision-free then8: V = V ∪ qnew

9: E = E ∪ {qnear,qnew}10: end if11: end for12: return T

6-5, continues until a termination criteria such as the maximum number of nodes in the

tree or nodal proximity to the goal is satisfied.

Figure 6-5. Rapidly-Exploring Tree planning. The RRT involves constructing a tree T byextending the tree toward a randomly sampled configuration qrand in Qfree.The tree is extended a distance δ toward qrand terminating at qnew.

Guided sampling can be incorporated into the RRT in a similar fashion to the EST.

To guide sampling, qrand is sampled according to a probability distribution πQ. Therefore,

the main difference between the EST and RRT planners is the mechanism for guiding the

sampling. The EST guides the sampling by selecting attractive nodes of the tree to extend

while the RRT expands by selecting regions in the environment to move towards. Though

89

Page 90: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the expansion methods are similar, this difference can produce very different results and

computational performance.

Like the EST, the RRT planning process culminates in an attempt to connect

the current tree to the goal location pgoal. If the local planner ∆ cannot construct a

collision-free path to the goal from any configuration in the tree further tree expansion is

required.

This section has describe two strategies for efficient path planning in cluttered

environments. The next section describes the local planning function ∆ which connects

the nodes in the trees of both the EST and RRT.

6.5 The Dubins Paths

The sampling-based planners described in Section 6.4 rely on a local planner ∆

to connect vehicle configurations. The local planners are defined by vehicle kinematic

constraints so that the constructed path is kinematically feasible. For nonholonomic

vehicle motion planning, a popular local planning strategy is the Dubins optimal path

[34, 95, 96].

The Dubins optimal path is a shortest path solution for connecting two vehicle

configurations subject to a minimum curvature constraint. The solution pertains to a

car-like vehicle operating in a three-dimensional configuration space defining location

and orientation qi = [xi, yi, ψi]T ∈ R3. The curvature constraint relates to the minimum

turning radius of the vehicle ρmin.

The seminal work by Dubins [33] proved that the optimal curvature constrained path

consists of three path segments of sequence CCC or CSC where C is a circular arc of

radius ρmin and S is a straight line segment. Therefore, by enumerating all possibilities

the Dubins set is defined by six paths D = {LSL,RSR, RSL, LSR, RLR, LRL} where

L denotes a left turn and R denotes a right turn. The optimal Dubins path q∗(s) is the

shortest path q(s) ∈ D. For a mobile robot, the optimal Dubins path is the time-optimal

path for non-accelerating motion where ρmin is unique to the given constant velocity.

90

Page 91: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The Dubins set can be calculated analytically for any pair of configurations qinit

and qgoal. These general configurations are first transformed to the coordinate system

pictured in Figure 6-6. The transformed configurations have the form qinit = [0, 0, ψi]T and

qgoal = [d, 0, ψg]T where qinit is located at origin and qgoal is located on the y-axis.

Figure 6-6. The coordinate system for calculating the paths in the Dubins set D. Theinitial configuration is qinit is translated to the origin and rotated so that qgoal

is located on y-axis.

The Dubins paths are the concatenation of three canonical transformations scaled so

that ρmin = 1 and the vehicle moves with unit speed. This formulation allows the general

solution to be scaled by the vehicle’s ρmin because the maximum heading rate is equal to

Vρmin

. The transformations are written in terms the distance of motion v along the path

segments for an arbitrary configuration q = [x, y, ψ]T as follows

Lv(x, y, ψ) = [x + sin(ψ + v)− sin ψ, y − cos(ψ + v) + cos ψ, ψ + v]T

Rv(x, y, ψ) = [x− sin(ψ − v) + sin ψ, y + cos(ψ − v)− cos ψ, ψ − v]T

Sv(x, y, ψ) = [x + v cos ψ, y + v sin ψ, ψ]T

(6–10)

The total length of a Dubins path is the sum of the individual segment lengths

v1, v2, v3 that transform the initial configuration [0, 0, ψi]T to the final configuration

[d, 0, ψg]T ,

L = v1 + v2 + v3 (6–11)

91

Page 92: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The Dubins paths for the entire Dubins set are:

1. Dubins path LSL

v1 = −ψi + tan−1(

cos ψg−cos ψi

d+sin ψi−sin ψg

)

v2 =√

2 + d2 − 2 cos(ψi − ψg) + 2d(sin ψi − sin ψg)

v3 = ψg − tan−1(

cos ψg−cos ψi

d+sin ψi−sin ψg

)(6–12)

2. Dubins path RSR

v1 = ψi − tan−1(

cos ψi−cos ψg

d−sin ψi+sin ψg

)

v2 =√

2 + d2 − 2 cos(ψi − ψg) + 2d(sin ψg − sin ψi)

v3 = −ψg + tan−1(

cos ψi−cos ψg

d−sin ψi+sin ψg

)(6–13)

3. Dubins path LSR

v1 = −ψi + tan−1(− cos ψi−cos ψg

d+sin ψi+sin ψg

)− tan−1

(−2v2

)

v2 =√−2 + d2 + 2 cos(ψi − ψg) + 2d(sin ψi + sin ψg)

v3 = −ψg + tan−1(− cos ψi−cos ψg

d+sin ψi+sin ψg

)− tan−1

(−2v2

)(6–14)

4. Dubins path RSL

v1 = ψi − tan−1(

cos ψi+cos ψg

d−sin ψi−sin ψg

)+ tan−1

(2v2

)

v2 =√−2 + d2 + 2 cos(ψi − ψg) + 2d(sin ψi + sin ψg)

v3 = ψg − tan−1(

cos ψi+cos ψg

d−sin ψi−sin ψg

)+ tan−1

(2v2

)(6–15)

5. Dubins path RLR

v1 = ψi − tan−1(

cos ψi−cos ψg

d−sin ψi+sin ψg

)+ v2

2

v2 = − cos−1(

18(6− d2 + 2 cos(ψi − ψg) + 2d(sin ψi − sin ψg))

)

v3 = ψi − ψg − v1 + v2

(6–16)

6. Dubins path LRL

v1 = −ψi + tan−1(

cos ψg−cos ψi

d+sin ψi−sin ψg

)+ v2

2

v2 = − cos−1(

18(6− d2 + 2 cos(ψi − ψg) + 2d(sin ψg − sin ψi))

)

v3 = −ψi + ψg − v1 + v2

(6–17)

92

Page 93: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

It should be noted that all segment lengths in these Dubins set calculations that

represent angular distance are constrained to be on the interval [0, 2π). An example of the

Dubins set is shown in Figure 6-7.

Figure 6-7. The Dubins set of paths for two configurations. Notice that the LRL pathdoes not give a feasible solution for this set. The time-optimal is denoted asq∗(s).

6.5.1 Extension to Three Dimensions

The Dubins set determines the shortest curvature-constrained path between two

configurations in a planar environment. Aircraft are not constrained to in-plane motion

so altitude variations must be included to properly characterize the vehicle kinematics.

A recent application of the Dubins set to three dimensions assumes a linear variation

of altitude limited by the maximum climb rate of the vehicle [97]. A method similar to

the MA (Section 6.2.2) plans an initial path which places the vehicle at a position and

orientation that forms a plane with the final position and orientation [98]. A 2D Dubins

path is then planned between the two in-plane configurations.

Because the dynamics of the vehicle will be incorporated after the path planning

task, the 3D Dubins solution employed in this dissertation assumes that changes in flight

93

Page 94: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

path angle γ are instantaneous. This solution follows the assumption for 2D Dubins paths

that assume changes in heading rate are instantaneous. The flight path angle for each

individual segment of the Dubins path can vary so that the maximum flight path angle

γmax for curved and straight segments can differ. A smoothness constraint limits the

maximum change of fight path angle δγ,max between segments. Therefore, the altitude

variation for the 3D Dubins path is piecewise linear. A few example 3D Dubins paths are

presented in Figure 6-8.

A B

Figure 6-8. Examples of 3D Dubins paths. The paths originate from for the same startconfiguration and terminate at randomly generated goal configurations. A)Perspective view. B) Top-down view.

6.5.2 Collision Detection

6.5.2.1 Global path collision detection

The 3D Dubins path defines the local planner ∆ to be used for connecting aircraft

configurations. Each path must be checked for collisions before it can be added to the

tree T according to the sampling-based planning strategies (Section 6.4). The result of ∆

is a path composed of piecewise linear segments. The sensed environment is represented

by a set of bounded planes. Therefore, the collision detection algorithm must search for

collisions along the entire path by detecting intersections between linear path segments

and planes as depicted in Figure 6-9.

94

Page 95: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 6-9. Collision detection for the global path. The collision detection algorithmsearches for any intersections between the piecewise linear paths of a treeplanner and the planar environment obstacles.

The first step of the collision detection algorithm is to search for intersections between

each piecewise linear segment of the path and all infinite planes in the current map. The

intersection point pint is calculated by

a = pi·n+Dv·n

pint = pi − av(6–18)

where pi is the first point of the path segment, v is the vector of the path segment

originating at pi, n is the normal direction of the plane, and D is the intercept of the

plane from the plane equation Ax + By + Cz + D = 0. If the scalar value a is on the

interval [0, 1] then an intersection exists along the finite path segment. Alternatively, if

the denominator v · n is zero the line segment is parallel to the plane. Therefore, the

path segment is parallel to the plane and may be contained within the plane. These cases

can be differentiated by checking if one of the end points satisfies the plane equation

Ax + By + Cz + D = 0.

Once the intersections between the path segments and the infinite planar obstacles

have been calculated a search for collisions can be completed. A collision exists only

if the intersection point for each segment-plane pair is contained within the specified

95

Page 96: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 6-10. Interior to boundary test. A point that intersects with the infinite plane iswithin the boundary defined by the convex hull H if the sum of the interiorangles is equal to 2π.

plane boundary. Chapter 3 defined each planar boundary by a convex hull H =

{h1,h1, . . . ,hn} ∈ R3×n of n boundary points. Therefore, the test for determining if a

collision has occurred becomes determining if the intersection point pint is interior to the

three-dimensional boundary H. This determination is accomplished by inspecting the two

dimensional projections onto the planar landmark of pint and H denoted by pint ∈ R2 and

H ∈ R2×n. As shown in Figure 6-10, pint can be connected with every point in H. If the

sum of the angles between the connecting vectors is equal to 2π then the point is interior

to the boundary. This constraint can be written for n boundary points as

n∑i=1

cos−1 (hi − pint) · (hi+1 − pint)

|hi − pint||(hi+1 − pint)|= 2π (6–19)

where the value hn+1 is equal to h1.

6.5.2.2 Local path collision detection

The above formulation for collision checking is well-suited for the global planning

task. It is a computationally efficient solution that can quickly search a large number of

lengthy paths for collision with a large environment map. The method assumes that the

vehicle is a point and that there are no uncertainties in vehicle and obstacle location. The

local planning strategy, however, requires a more detailed approach to account for the

various uncertainties in the problem. The current map and relative vehicle position are

96

Page 97: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

subject to uncertainty due to sensor noise, modeling errors, and external disturbances.

Additionally, the constructed kinematically feasible path is, in general, not dynamically

feasible due to instantaneous changes in heading rate and climb rate. Therefore, the

trajectory will not exactly follow the planned path. To account for these uncertainties, the

local path collision checking algorithm ensures safe navigation by increasing the required

distance between the vehicle and obstacles.

The local collision checking algorithm represents the path as a cylinder of radius R.

The radius of the cylinder is a function of the various uncertainties in the problem. The

radius must be as large as the greatest variance in the vehicle’s and obstacles’ inertial

location. Additionally, the radius must account for deviations of the trajectory from the

prescribed path which can be determined from simulation of the optimal control problem

presented in Section 6.7.

Therefore, the local collision checking algorithm searches for intersections between

the piecewise linear path segments represented by finite length cylinders and obstacles

represented by bounded planes (see Figure 6.5.2.2). This search is accomplished by first

finding the intersection point pint between the central axis of the cylinder and the obstacle

using Equation 6–18. The intersection between the cylinder and plane is an ellipse with

center pint. As shown in Figure 6.5.2.2, the major axis of the ellipse will be Rcos ϕ

where ϕ is

the angle between the plane’s normal vector and the cylinder’s axis. The minor axis of the

ellipse has a value R. The orientation of the ellipse is determined by the major axis which

is oriented in the plane defined by the plane’s normal vector and the cylinder’s axis. The

discretized ellipse can be tested for being interior to the plane boundary with Equation

6–19.

6.6 Environment Coverage Criteria

Sections 6.4 and 6.5.2 described a method for constructing collision-free paths in a

cluttered environment. This section defines a method for selecting paths with the goal of

constructing a complete environment map in minimum time. For this situation, optimality

97

Page 98: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A B

Figure 6-11. Collision detection for the local path. The local collision detection algorithmincorporates a safety region which encompasses the path segments radially.A) The path segment represented by a cylinder with radius R intersects anobstacle described as a plane with normal vector n. B) A two-dimensionalview rotated orthogonal to the plane containing the major axis of theintersecting ellipse.

cannot be proven because initially the environment is entirely unknown. Therefore, an

antagonistic example can be constructed for any planner to provide a non-optimal result.

The robotic coverage problem refers to optimal coverage of an environment with

known obstacles [99]. Solutions to the robotic coverage problem generally involve

decomposing the free space of the environment into connected regions. Each region of

the environment is sensed with a back and forth lawnmower, or boustrophedon, pattern as

shown in Figure 6.6. The boustrophedon path is optimal for a two-dimensional holonomic

vehicle under the assumption that passing through a small region of the environment is

equivalent to sensing the region. The space decomposition process reduces the planning

task to finding the optimal route for which to connect the individual paths.

When the environment is unknown and the planning task must be directed by

gathered sensor information, the problem is called sensor-based coverage or sensor-based

exploration. Sensor-based coverage tasks typically operate under several strict assumptions

including a two-dimensional environment, an omnidirectional range sensor, and a

98

Page 99: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A B

Figure 6-12. Motion planning for coverage strategies. Traditional motion planningstrategies for environmental coverage are not well suited for vehicles withdynamic constraints and directional sensors. A) Robotic coverage tasksassume the environment is known and decompose the free space intomanageable search spaces. B) Sensor-based coverage strategies often assumeomnidirectional sensors.

robot capable of nonholonomic motion [100, 101] (see Figure 6.6). Therefore, current

sensor-based coverage algorithms do address the problems inherent in mapping a

three-dimensional environment with a dynamically constrained vehicle equipped with

a directional senor.

The coverage methodology used in this dissertation affects both the global and local

planning strategies. The strategy is based on tracking all locations to which the vehicle

has traveled and the attitudes from which individual locations have been sensed. The

goal of the planner is maximize the variance of these individual quantities. Therefore,

the discrete vehicle locations and the vectors defining location and orientation of sensed

regions are tracked over time as shown in Figure 6-13. The vectors defining sensed region

are constructed from the attitude of the vehicle during the sensing operation and the

center of the field of view of the sensor.

The total variance of the vehicle position is calculated as the trace of the covariance

of the vehicle positions qpos as given by

σ2pos = tr(Σpos) (6–20)

99

Page 100: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 6-13. Environmental coverage metric. Environment coverage is quantified by thevariance of the position of the vehicle and sensing locations over the entirepath. Sensing locations are defined by the vector originating from the end ofthe sensor field of view oriented back towards the sensor.

where Σpos is the sample covariance of the all vehicle position vectors. The same equation

can compute the variance of the the sensor pose vectors σ2sen given the covariance of the

sensor pose vectors Σsen.

The variance of the vehicle position σ2pos is used to determine the global location

by selecting the point in the environment that, when added to the current vehicle

location history, maximizes σ2pos. This calculation is computed on a coarse grid of the

vehicle environment for the purpose of computational efficiency. The global path planner

constructs a path to this location with a greedy search and a coarse discretization of the

path.

The local path is determined by maximizing the variance of the sensor pose vectors

σ2sen over all candidate paths. As opposed to the quick, greedy search used for global path

planning, the local sampling-based strategy generates a tree that more completely explores

the environment. When a specified number of candidate paths are found the path that

maximizes σ2sen is selected.

100

Page 101: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

6.7 Optimal Path Tracking

The presented path planning strategy computes short detailed paths within the

sensor field of view. The local collision detection algorithm (Section 6.5.2.2) ensures that

the planned paths traverse the environment inside of a safe corridor. The optimal path

tracking strategy seeks to find a time optimal trajectory that follows the planned path

within a distance r < R subject to the vehicle dynamics. The constraint r is less than the

radius of the safety corridor because additional uncertainties incurred in the map building

process must be accounted for.

The dynamic vehicle model used for optimization is the navigation-level aircraft

model

V = T cos(α)− CDV 2 − sin γ

γ =(

TV

sin(α) + CLV)cos φ− cos γ

V

ψ =(

TV

sin(α) + CLV)

sin φcos γ

h = V sin γ

x = V cos γ cos ψ

y = V cos γ sin ψ

(6–21)

where V is total vehicle velocity, α is angle of attack, γ is flight path angle, φ is

bank angle, ψ is heading, T is thrust, CD is the drag coefficient, and CL is the lift

coefficient. The thrust and lift and drag coefficients are approximated by polynomial

fits parameterized by V and α

T = A0 + A1V + A2V2

CD = B0 + B1α + B2α2

CL = C0 + C1α + C2(α− α1)2

(6–22)

where the constant values are given by Bryson [39]. The model was selected because

aircraft lift and drag coefficients are incorporated into the formulation which provides a

realistic aircraft response. Additionally, lift and drag curves from UAV wind tunnel test

could be included into the trajectory tracking optimization. The model was augmented so

101

Page 102: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

that the control inputs, α and φ, have second order and first order dynamics, respectively,

as given by

α = ω2n,α(uα − α)− 2ζαωn,αα

φ =uφ−φ

τφ

(6–23)

where ωn,α is the the natural frequency for the α response, ζα is the damping ratio

corresponding to α, τφ is the time constant for the φ response, and the new control inputs

to the system are uα and uφ.

The optimization problem is formulated as the following nonlinear program (NLP)

(u∗) = arg minu

J(u) = t2f +∑N

k=1 Ψ(xk,q(s))

s.t. : xk+1 = f(xk,uk)dt

xN = qf

Ψk < r ∀k = 1, . . . , N

(6–24)

where Ψ is a function that calculates distance between the discrete trajectory points xk

and the path q(s). The objective function J minimizes final time tf and the sum of the

distances between the path and the trajectory by varying the control input u = [uα, uφ]T .

The first constraint is an Euler integration step between two successive trajectory points

ensuring the trajectory is dynamically feasible. The second constraint forces the endpoints

of the trajectory and the path to be equal. The final constraint ensures each calculated

values of the error function Ψ are less than the safety radius r.

The NLP was solved with the nonlinear optimization routine SNOPT as a part of the

Matlab TOMLAB toolbox [102].

6.8 Trajectory Planning Algorithm

An overview of the trajectory planning approach is presented in Algorithm 6. The

presented formulation is executed until the change in sensor variance σ2sen falls below a

threshold tolsen. Therefore, the planning process stops when additional vehicle motions do

not provide additional environment coverage. Supplementary metrics such as a maximum

final time can easily be employed in the same framework.

102

Page 103: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Algorithm 6 Trajectory Planner for Environment Coverage1: repeat2: calculate covariance Σpos of all vehicle locations in the trajectory3: select the global goal location qG that maximizes σ2

pos

4: plan greedy RRT to qG using Algorithm 55: select the shortest distance path qG(s) from the global RRT6: select local goal location qL on qG(s) inside sensor field of view7: repeat8: extend exploratory RRT towards qL using Algorithm 59: until N desired candidate paths q(s) have been generated

10: calculate sensor covariance Σsen along each q(s)11: select q(s) that maximizes σ2

sen

12: convert local path to trajectory using Equation 6–2413: execute path to gather sensor data and build environment map14: until |σ2

sent + 1− σ2sent| < tolsen

The planning process begins with the determination of the vehicle’s global goal

location qG. The global goal is selected so that it’s addition to the vehicle position

history maximizes the variance of vehicle position σ2pos. This process greedily drives the

vehicle to locations in the environment that have not been explored. For example, under

this strategy a vehicle starting in one corner of a rectangular environment will select a

goal location in the opposite corner. Therefore, the vehicle will cross the environment

diagonally performing a greedy search.

An RRT is planned from the initial vehicle configuration qint to the goal location

qG. The global RRT is extended in a greedy fashion in order to rapidly generate a path

solution to the goal location. The tree expansion is made greedy by sampling qG with a

high probability. The fact that other randomly generated configurations are sampled for

connection to the tree differentiates the greedy RRT from an artificial potential function

planner. This differentiation is important because it prevents the planning strategy from

becoming mired in a local minimum. The solution path is denoted qG(s).

Next, the local goal configuration qL is selected. The configuration qL is found by

selecting the first point of intersection between the sensor field of view and qG(s). A

specified distance from the intersection point along qG(s) towards the interior of the field

103

Page 104: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

of view is selected as qL. A local RRT is planned to this goal from the initial configuration

qint. Unlike the global RRT, the local RRT is performed in a less greedy fashion until N

number of candidate paths have been generated. The path which maximizes the senor

variance σ2sen is selected as the local path qL(s). The local RRT branching strategy is

biased towards regions that maximize variance. Therefore, the space within the sensor

field of view is efficiently searched for informative paths. The paths are restricted to the

field of view so that the detailed planning occurs within the region of lowest uncertainty.

Lastly, the local path path is converted to a trajectory by solving the NLP given in

Equation 6–24. The flexibility of the planning framework allows for the optimal control

formulation to be substituted with a MA implementation as described in 6.2.2. Both

methodologies would incorporate dynamics into the final solution. The final planned

trajectory is implemented and the planning process is repeated when the vehicle arrives at

qL.

This chapter has presented a framework that plans aircraft trajectories for complete

sensor coverage of an unknown, uncertain environment. Results of the planning strategy

are presented in Chapter 7.

104

Page 105: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 7DEMONSTRATIONS AND RESULTS

7.1 Introduction

This chapter presents results and analysis of the algorithms presented throughout this

research. Section 7.2 gives results of the plane fitting algorithm introduced in Chapter 3.

The plane fitting algorithm is employed in the SLAM algorithm (Chapter 5) to produce

the results in Section 7.3. Finally, results of the trajectory planning algorithm (Chapter 6)

are presented in Section 7.4.

7.2 Plane Fitting Results

The plane fitting algorithm introduced in Chapter 3 generates a low dimensional

environment representation of the pointwise sensor data provided by SFM (Chapter 2).

The quality of the fit is investigated with respect to feature point noise in Section 7.2.1

and the inclusion of nonplanar obstacles in Section 7.2.2. The simulation environment

employed for analyzing the plane fitting algorithm is shown in Figure 7-1.

Figure 7-1. Result of the plane fitting algorithm without image noise.

105

Page 106: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

The simulation environment in Figure 7-1 consists of polyhedral obstacles viewed by

a camera at a given vantage point denoted by a vision frustum. The obstacles represent

an urban environment and the frustum indicates the field of view for a camera attached

to a UAV navigating the environment. Feature points are added to the obstacle facades

and checked for visibility according to a pinhole camera model. The visibility constraints

account for environmental occlusion, sensor field of view, and angle of incidence. The

angle of incidence constraint for a feature point is depicted in Figure 7-2 where feature

points with an angle of incidence, ϑ are deemed visible if 15◦ ≤ ϑ ≤ 75◦. Lastly, all visible

feature points are input into the plane fitting algorithm to generate the planar fit of the

pointwise data.

Figure 7-2. Angle of incidence constraint. The angle of incidence, ϑ, for feature point f isthe angle between the feature point’s position,~f , measured in the cameracoordinate frame and the normal direction, n, of the plane on which thefeature point is situated.

7.2.1 Effects of Feature Point Noise

Image noise is simulated by adding noise to the image plane positions of the tracked

feature points. This is accomplished by calculated the two-dimensional projections of

106

Page 107: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the feature points at two distinct vantage points. Noise is added to the two-dimensional

feature point locations in both images and noisy three dimensional points are calculated

by triangulation (Equation 2–14). Results of the plane fitting algorithm in the presence of

noise are shown in Figure 7-3.

A B

C D

Figure 7-3. Results of the plane fitting algorithm in the presence of image noise. A) Planefitting result with σ = 0.5 pixel image noise and a camera displacement of 25ft. B) Plane fitting result with σ = 1.0 pixel image noise and a cameradisplacement of 25 ft. C) Plane fitting result with σ = 0.5 pixel image noiseand a camera displacement of 15 ft. D) Plane fitting result with σ = 1.0 pixelimage noise and a camera displacement of 15 ft.

The plane fitting results, shown in Figure 7-3, were generated with Gaussian noise of

standard deviation σ = 0.5 and σ = 1.0 pixels applied to the images. Additionally, the

107

Page 108: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

distance between the two vantage points was varied to values of 25 and 15 feet simulating

different values for camera translational motion.

The results show that noise does not affect the plane fitting algorithm for nearby

obstacles. This is a result of large apparent motion of the feature points associated

with nearby obstacles. The large displacement in the image plane of such feature points

produces more accurate results because the image noise is small in comparison to the

actual feature point displacement. The plane fitting algorithm, however, produces poorer

results for obstacles at a large distance, especially for shorter motions between image

vantage points. The effect of camera displacement can be seen by comparing Figures 7-3B

and 7-3D. These two results show that increasing the baseline between camera vantage

points produces more accurate triangulation results leading to a more complete planar

representation.

7.2.2 Nonplanar Obstacles

The plane fitting algorithm assumes that the environment is highly structured.

This is not entirely accurate for urban environments which often include non-structured

obstacles such as foliage. Figure 7-4 presents plane fitting results when non-structured

obstacles are included in the form of several tree-like objects. The additional feature

points generate spurious planar features. Such features are inaccurate representations

of the physical world and provide poor landmarks for the SLAM algorithm. Specifically,

the spurious planes are not necessarily observable from multiple vantage points. In order

to reduce the number of spurious planar obstacles in the map, the SLAM algorithm

only incorporates obstacles that have been re-observed a minimum number of times. A

minimum value of 3 re-observations was found to provide successful map results in the

presence of spurious planar features.

7.3 SLAM Results

Simulations of the SLAM formulation described in Chapter 5 are performed for

the three filters presented in this dissertation: the RBPF, URBPF, and SR-URBPF.

108

Page 109: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

Figure 7-4. Result of the plane fitting algorithm when nonplanar obstacles are included.

The filters were compared by performing Monte Carlo (MC) simulations in which the

vehicle state measurement noise and sensor noise were randomly generated within the

confines of the covariance matrices Σq and Σr, respectively. This process tests the average

performance of the filters over many estimation processes.

7.3.1 Simulation Environment

The simulation environment, depicted in Figure 7-5A, consists of geometrically

regular obstacles indicative of an urban environment. The aircraft navigates along a

pre-computed trajectory generated by a high-fidelity nonlinear aircraft model. SFM,

as discussed in Chapter 2, is simulated by distributing three-dimensional feature points

on the building facades and ground. The feature points provide pointwise structure

information to the plane fitting algorithm. The plane fitting algorithm, introduced in

Chapter 3, generates observations as the vehicle navigates as shown in Figure 7-5B.

The vehicle state prediction occurs at 30 Hz. Though an IMU could provide a

faster state-estimation rate, it is assumed that the IMU is fused with image processing

109

Page 110: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A

B

Figure 7-5. The vision-based flight simulation environment for testing the SLAMalgorithm. A) The urban simulation environment is composed of geometricallyregular obstacles representing buildings. A precomputed trajectory generatedfrom a nonlinear aircraft model is shown circling the environment. B) As theaircraft navigates along the precomputed trajectory sensor information isgathered. The gathered sensor information is restricted to a senor cone definedby a maximum depth of sensing and horizontal and vertical fields of view.Three-dimensional feature points are distributed on the building faces andplanes are fit to the pointwise data.

110

Page 111: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

information which is limited to 30 Hz. The observation updates in the SLAM process

occur at 3 Hz to allow for sufficient parallax for robust triangulation in creating

three-dimensional feature points. The three-dimensional feature points are generated

from the triangulation of two-dimensional image points, therefore, noise can be reduced

by allowing for a larger camera translation between calculations. If the translation

is too larger, however, two-dimensional feature points will leave the image plane and

no three-dimensional information will be calculated. This problem can be alleviated

by testing SFM algorithms on the actual flight data to determine the optimal rate

for triangulation or by instituting an adaptive step where triangulation occurs at the

maximum camera motion that retains the largest number of tracked feature points.

7.3.2 Localization Result

A localization result of the SLAM algorithm is shown in Figure 7-6. The result,

obtained with the URBPF approach, simulates a known environment by initializing the

landmarks to their actual locations. This is equivalent to using the SLAM framework

strictly for localizing the vehicle in the presence of noisy state measurements and noisy

sensor measurements. The noise values, defined in Equations 5–3 and 5–4, were given the

following standard deviations

σu = 5 ft/s

σv = 5 ft/s

σw = 5 ft/s

σp = 0.05 rad/s

σq = 0.05 rad/s

σr = 0.05 rad/s

σn1 = 0.1 ft

σn2 = 0.1 ft

σn3 = 0.1 ft

σd = 5 ft

(7–1)

The localization result(Figure 7-6) shows the filter is capable of producing very

good localization results in the presence of considerable noise. The estimated trajectory

given by the SLAM algorithm is defined by the particle with the largest weight and the

111

Page 112: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A B

C D

Figure 7-6. Example localization result for the airborne SLAM simulation. A) Thecomplete localization result with constructed map and estimated trajectory.B) The constructed map after a single loop through the environment. C) Thelocalization result without the constructed map. D) A top-down view of theactual vehicle trajectory, trajectory predicted from measured vehicle statesonly, and the trajectory estimated by the SLAM algorithm.

measured trajectory is calculated from the noisy state measurements without updates

from the vision sensor information. The estimated trajectory quickly converges to the

groundtruth trajectory as is considerably more accurate than the model based prediction

over the entire trajectory. This shows the versatility of the SLAM algorithm in that it can

be employed if the structure of the environment is known to provide accurate estimates of

vehicle location despite very noisy sensor measurements.

112

Page 113: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

7.3.3 State Estimation Error

MC simulations were performed to analyze and compare the performance of the three

SLAM filters. Fifty MC runs were generated for each filter using the same environment

with randomly generated noise added to sensor and vehicle rate measurements. The noise

was generated according to the following standard deviations

σu = 0.5 ft/s

σv = 0.5 ft/s

σw = 0.5 ft/s

σp = 0.005 rad/s

σq = 0.005 rad/s

σr = 0.005 rad/s

σn1 = 0.1 ft

σn2 = 0.1 ft

σn3 = 0.1 ft

σd = 10 ft

(7–2)

Figure 7-7 shows the average position and orientation errors for the three SLAM

filters along with the average error of the measured trajectory. The measured trajectory

is the trajectory calculated purely from the aircraft kinematic model and velocity

measurements without updates from the environmental sensing. These graphs indicate

the accuracy of the position and attitude estimation. The results show that the SLAM

algorithms provide a significant decrease in estimation errors for aircraft position, roll

angle, and pitch angle. The heading angle estimates, however, begin to diverge halfway

through the simulation. The apparent sharp decreases in error for the measured trajectory

can be attributed the erratic behavior of the measured trajectory. The presented error

plots show the absolute value of the errors, therefore, when the error changes from positive

to negative it crosses the zero error axis and appears as a decrease in error. This sharp

decrease should not be mistaken for acceptable estimation performance.

7.3.4 Filter Consistency

Filter inconsistency refers to a the production of optimistic or conservative estimates

of estimation error. In other words, the actual variance of the estimates is significantly

larger or smaller than that predicted by the model. Filters that are inconsistent produce

113

Page 114: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

0 10 20 30 40 50 60 70 80 900

2

4

6

8

10

12

time (s)

Nor

th e

rror

(ft)

RBPFURBPFSR−URBPFMeasured

A

0 10 20 30 40 50 60 70 80 900

1

2

3

4

5

6

7

time (s)

Eas

t err

or (

ft)

RBPFURBPFSR−URBPFMeasured

B

0 10 20 30 40 50 60 70 80 900

5

10

15

time (s)

Alti

tude

err

or (

ft)

RBPFURBPFSR−URBPFMeasured

C

0 10 20 30 40 50 60 70 80 900

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

time (s)

φ er

ror

(deg

)

RBPFURBPFSR−URBPFMeasured

D

0 10 20 30 40 50 60 70 80 900

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

time (s)

θ er

ror

(deg

)

RBPFURBPFSR−URBPFMeasured

E

0 10 20 30 40 50 60 70 80 900

0.2

0.4

0.6

0.8

1

1.2

1.4

time (s)

ψ e

rror

(de

g)

RBPFURBPFSR−URBPFMeasured

F

Figure 7-7. Average estimation error for the three SLAM filters and the nominaltrajectory for 50 Monte Carlo runs. A) Estimation error in the Northdirection. B) Estimation error in the East direction. C) Estimation error inaltitude. D) Estimation error in roll angle. E) Estimation error in pitch angle.F) Estimation error in heading angle.

114

Page 115: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

poor state estimates without any internal knowledge that the estimates are erroneous.

A common method used for determining the consistency of a SLAM filter is called the

Normalized Estimation Error Squared (NEES)[79] calculated according to

ηk = (xk − xk|k)T (Pk|k)

−1(xk − xk|k) (7–3)

where xk is true vehicle state and xk|k is the vehicle state estimate. This metric relates the

actual variance of the estimation to the variance predicted by the filter and should have a

value equal to the dimension of the state vector. Therefore, the NEES is a measure of how

well the filter is predicting it own performance. If the filter has small covariance values

for the the states, but the actual errors are large, then the NEES value will be large and

the filter is optimistic. Conversely, if the state values are assigned a large covariance by

the filter, but the actual estimation errors are small, the NEES value will be small and the

filter is conservative. An optimistic filter is sensitive to noise and may diverge easily while

a conservative filter will produce poor estimates relative to the performance of a consistent

filter.

The NEES is calculated as an average over 50 MC runs in order to properly

characterized the SLAM filters. For a system with 50 Monte Carlo runs and a state

vector of dimension 6, the two-sided probability region for the NEES is [5.08, 7.00]. This

means that a conservative filter will have an NEES below 5.08 and an optimistic filter will

have NEES values above 7.00.

Ground vehicle simulations have shown that EKF SLAM and RBPF SLAM, though

shown to work in practice, are theoretically inconsistent filters [103, 104]. The consistency

of the filters, however, is an acceptable metric for assessing the robustness of the filter

because the length of time that a filter remains consistent relates to how well the filter

performs over long time periods. The results presented in Figure 7-8 show that the

URBPF provides the best results in terms of filter consistency. This is likely due to the

fact that the URBPF does not require linearization as does the RBPF. Also, it is believed

115

Page 116: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

that the numerical approach to calculating the square-root of the covariances in the

SR-URBPF compromises the filter’s consistency. Additionally, is should be noted that

increasing the number of particles improves the consistency of the filters.

0 10 20 30 40 50 60 70 80 900

20

40

60

80

100

120

140

160

180

200

time (s)

NE

ES

avg

RBPFURBPFSR−URBPF

A

0 10 20 30 40 50 60 70 80 900

100

200

300

400

500

600

timeN

EE

Sav

g

100 particles1000 particles

B

Figure 7-8. Filter consistency results. A) Average NEES for all three SLAM filters over 50Monte Carlo runs. B) Average NEES for the URBPF filter for 50 Monte Carloruns with 100 and 1000 particles.

7.3.5 Filter Efficiency

The efficiency of the investigated filters is shown in Table 7-1. Since the filters

are implemented with non-optimized MATLAB code, the efficiency results have been

presented as computation time normalized to the RBPF result for N particles. The

comparison includes results for N , 2N , and 4N particles to compare the effects of

increased sampling on filter efficiency.

The efficiency results show that the RBPF filter is considerably faster than the other

two filters and that the filters scale linearly with the number of particles. The inefficiency

of the unscented filters is due to the sigma point propagation step in which 2L + 1 sigma

points must be transformed according to the system dynamics and sensor model. The

URBPF, however, is a more consistent filter meaning that it is more robust with respect

the length of the estimation time. Therefore, fewer particles could be used in the URBPF

to produce results comparable to the RBPF over the same time period. This decrease in

116

Page 117: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the number of particles would decrease the computational efficiency difference between the

URBPR and RBPF.

Table 7-1. Efficiency comparison of the SLAM filters.

Number of particles RBPF URBPF SR-URBPFN 1.00 2.06 1.602N 2.07 3.97 2.854N 3.98 7.63 5.64

7.3.6 Example SLAM Result

A sample result of the complete SLAM algorithm is shown in Figure 7-9 where the

estimated trajectory given by the SLAM algorithm is defined by the particle with the

largest weight at each time step. The error covariances for this solution are given in

Equation 7–2.

7.4 Trajectory Planning Results

This section presents results for the the trajectory planning algorithm introduced in

Chapter 6. The trajectories were planned within the simulation environment presented in

Section 7.3.1. The constructed maps used in the planning process are exact, representing a

SLAM solution with no error.

7.4.1 Environment Coverage

The trajectory planning process is decomposed into two phases denoted the global

and local planners. The global planner moves the vehicle to previously unexplored

regions of the environment and the local planner selects paths within the currently

visible environment that increase sensor coverage. In the complete planning process both

strategies are employed in tandem so that the global planner produces a global goal

location that performs a greedy search of the environment, and the local planner generates

detailed obstacle-paths that locally maximize sensor coverage.

The global planning process represents traditional planning strategies in that the

physics of the sensor are not considered. The global planner selects unexplored regions

of the environment in order to perform a greedy search under the assumption that once

117

Page 118: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

A B

C D

Figure 7-9. An example result for the complete airborne SLAM solution using theURBPF. A) The complete SLAM result with constructed map and estimatedtrajectory. B) The constructed map after a single loop through theenvironment. C) The SLAM result without the constructed map. D) A topdown view of the actual vehicle trajectory, trajectory predicted from measuredvehicle states only, and the trajectory estimated by the SLAM algorithm.

a region has been reached it has been sensed. This, however, is not correct for a directed

sensor such as an onboard camera. In this case, direct paths through the environment will

not provide the needed information to build a complete map.

The local planning strategy incorporates the sensor physics by tracking vehicle

poses and selecting paths which maximize the variance in sensing vantages. Therefore,

paths are selected according to the amount of new information that will be provided by

traversing the path. The local planning process occurs within the vision cone defined by

118

Page 119: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

the onboard camera in order to ensure that the planner incorporates the most recently

sensed environmental information. This ensures that the local path is collision free.

A B

C D

Figure 7-10. Example paths for environment coverage. A) Example result for the globalplanning strategy. B) Example result for the complete planning strategy. C)Top-down view of the global planning strategy result. D) Top-down view ofthe complete planning strategy result.

In order to quantify the benefit of the overall planning strategy, Figure 7-10 presents

trajectory results for cases when the planning process is restricted to the global planner

and when the complete planning strategy is employed. The first case, where just the

119

Page 120: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

global planner is employed, represents traditional planning strategies that do not account

for a directed sensor. The second case is the complete planning strategy which accounts

for a directed sensor by tracking vehicle poses and selecting paths which maximize the

variance in sensing vantages.

For the example result, each case was run for an equal amount of time. Since the

global planner selects more direct paths through the map, its resultant path traverses a

larger portion of the environment. The path that results from including the local planning

strategy follows the same trend as the global path, but is more circuitous due to the goal

of maximizing the variance in sensor vantage. Both paths follow the same trend because

the first global goal location, the north-east corner of the environment, is identical in both

cases. The benefit of this methodology can be seen in Figure 7-11 which compares both

methods in terms of total obstacle surface area viewed. The result shows that adding

the local planning strategy increases environment coverage despite reducing the overall

distance traversed to the first global goal location.

0 5 10 15 20 250

1

2

3

4

5

6

7

8x 10

5

time(s)

sens

ed a

rea(

ft2 )

global strategycomplete strategy

Figure 7-11. Comparison of environment coverage results. The amount of obstacle surfacearea viewed during the transversal of paths given in Figure 7-10.

120

Page 121: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

7.4.2 Optimal Control Results

The NLP presented in Chapter 6 was used to convert Dubins paths to aircraft

trajectories. The objective function of the NLP minimizes the distance between the

trajectory and the given paths. Therefore, the NLP defines a control strategy for optimal

path following. Results of the optimal control problem are presented in Figure 7-12.

0

50

100

150

200

−50

0

50

100

100120

North (ft)East (ft)

Alti

tude

(ft)

kinematic pathoptimal trajectory

A

0 50 100 150 200 250

−80

−60

−40

−20

0

20

40

60

80

100

North (ft)

E

ast (

ft)

kinematic pathoptimal trajectory

B

Figure 7-12. Resultant trajectories from the path tracking optimization. A) Results of theoptimal control strategy used to convert Dubins paths to aircraft trajectories.B) Top-down view of the optimal path following result.

The optimal control results are generated by supplying the Dubins path as the initial

condition to the optimization. The Dubins paths specify initial conditions for the states V ,

γ, ψ, x, y, h, and φ. The angle of attack, α, was calculated for each segment of the Dubins

path by calculating the trim angle of attack according to the vehicle’s equations of motion

(Equation 6–21).

The optimal control results show that the aircraft is capable of tracking the

Dubins paths in the lateral direction. The longitudinal directional tracking, however,

produces poorer results. It was found that the optimization did not always converge,

generating poor results for aggressive maneuvers. Additionally, the optimizations required

computation time on the order of 20 to 60 seconds. For these reasons, it is believed that

an MA strategy would provide a better solution to incorporating dynamics into the

planning strategy.

121

Page 122: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

CHAPTER 8CONCLUSIONS

8.1 Conclusion

This research has presented a complete framework for solving the problem of

autonomous airborne mapping of unknown environments. The problem was decomposed

into two parts: map building in the presence of noisy measurements and uncertain vehicle

location and the planning of trajectories for minimum-time environment coverage.

The focus of the SLAM formulation is to generate consistent maps of the environment

in order to enable higher-level control decisions. Three filters were investigated in

terms of estimation performance, consistency, and efficiency. The results show that

the URBPF is superior to RBPF and SR-URBPF with respect to estimation performance

and consistency. The URBPF suffers due to its inefficiency in comparison to the other

filters. This problem can be alleviated by reducing the number of particles and reducing

the rate at which SLAM algorithm updates the aircraft’s INS estimates. Regardless, it

has been shown that it is possible to build an environment map from noisy sensor data

gathered by a vision-based UAV.

The trajectory planning portion of this dissertation showed that it is possible

to efficiently plan paths for sensor coverage of an unknown environment. The map

construction process was used as feedback for obstacle avoidance and the paths were

planned incrementally as knowledge of the environment increased. By definition, however,

optimality cannot be proven for this process since the structure of the environment is

unknown prior to the planning task. Presented results show that the trajectory planning

process planned local paths that increased the gained knowledge of the environment with

respect to a purely greedy exploration strategy. Additionally, it was found that an optimal

path following approach to incorporating dynamics is feasible, but can be computationally

inefficient. However, a MA approach could also be easily incorporated into the framework

to possibly produce more computationally efficient results.

122

Page 123: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

8.2 Future Directions

The presented framework for map building and trajectory planning for environment

coverage shows that there are still many open problems to be solved before a UAV can

autonomously navigate within an urban environment. Suggested future directions include

investigations of the proposed architecture with respect to real aircraft state data and

gathered onboard imagery. Such investigations would involve gathering vision data and

groundtruth state information from a UAV navigating an urban environment. From a

real dataset the plane fitting and SLAM algorithms could be tested in a context more

accurately representing the actual operating conditions.

Further investigations into the trajectory planning algorithm should involve including

the MA framework into the planning task in order to directly incorporate dynamics into

the planning strategy. Additionally, the planning strategy should be applied to a variety

of three-dimensional environments in order to investigate the computational efficiency and

completeness of the solution, in terms of consistently providing collision-free paths.

123

Page 124: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

REFERENCES

[1] Rudakevych, P. and Ciholas, M., “PackBot EOD Firing System,” Proceedings of theSPIE International Society for Optical Engineering, Vol. 5804, 2005, pp. 758-771.

[2] Cox, N., “The Mars Exploration Rovers: Hitting the Road on Mars,” 16th Inter-national Federation of Automatic Control (IFAC) World Congress, Prague, CzechRepublic, July 3-12, 2005.

[3] Forlizzi, J., and DiSalvo, C., “Service Robots in the Domestic Environment:A Study of the Roomba Vacuum in the Home,” Proceedings of the 1st ACMSIGCHI\SIGART Converence on Human-Robot Interaction, Salt Lake City, Utah,2006, pp. 258-265.

[4] Office of the Secretary of Defense, United States, Unmanned Aircraft SystemsRoadmap 2005-2030, August 2005.

[5] Kehoe, J., Causey, R., Abdulrahim, M., and Lind R., “Waypoint Navigation for aMicro Air Vehicle using Vision-Based Attitude Estimation,” Proceedings of the 2005AIAA Guidance, Navigation, and Control Conference, San Francisco, CA, August2005.

[6] Frew, E., Xiao, X., Spry, S., McGee, T., Kim, Z., Tisdale, J., Sengupta, R., andHedrick, J., “Flight Demonstrations of Self-directed Collaborative Navigation ofSmall Unmanned Aircraft,” Invited paper, AIAA 3rd Unmanned Unlimited TechnicalConference, Workshop, & Exhibit, Chicago, IL, September 2004.

[7] Thrun, S., “Robotic Mapping: A Survey,” In G. Lakemeyer and B. Nebel editors,Exploring Artificial Intelligence in the New Millenium, Morgan Kaufmann, 2002.

[8] Smith, R., Self, M., and Cheeseman, P., “Estimating Uncertain Spatial Relationshipsin Robotics,” In I.J. Cox and G.T. Wilfong editors, Autonomous Robot Vehicles,pages 167-193, Springer-Verlag, 1990.

[9] Smith, R., and Cheeseman, P., “On the Representation and Estimation of SpatialUncertainty,” International Journal of Robotics Research, Vol.5, Issue 4, 1987, pp.56-68.

[10] Dissanayake, G., Newman, P., Clark, S., Durrant-Whyte, H., and Csorba, M., “ASolution to the Simultaneous Localization and Map Building (SLAM) Problem,”IEEE Transactions on Robotics and Automation, Vol. 17, No. 3, 2001.

[11] Tards, J. D., Neira, J., Newman, P. M., and Leonard, J. J., “Robust Mapping andLocalization in Indoor Environments using Sonar Data.,” The International Journalof Robotics Research, 2002.

[12] Neira, J., Ribeiro, I., and Tarods, J. D., “Mobile Robot Localization and MapBuilding using Monocular Vision,” International Symposium on Intelligent RoboticsSystems, Stockholm, Sweden, 1997.

124

Page 125: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[13] Hayet, J.B., Lerasle, F., and Devy, M., “A Visual Landmark Framework for IndoorMobile Robot Navigation,” IEEE International Conference on Robotics and Automa-tion, Washington, DC, May, 2002.

[14] Davison, A., “Real-Time Simultaneous Localization and Mapping with a SingleCamera,” IEEE International Conference on Computer Vision, Nice, France, 2003.

[15] Molton, N., Davison, A., and Reid I., “Locally Planar Patch Features for Real-TimeStructure from Motion,” British Machine Vision Conference, Kingston University,London, 2004.

[16] Davison, A., Cid, Y., and Kita, N., “Real-Time 3D SLAM with Wide-Angle Vision,”IFAC/EURON Symposium on Intelligent Autonomous Vehicles, Instituto SuperiorTecnico, Lisboa, Portugal, 2004.

[17] Davison, A., and Kita, N., “3D Simultaneous Localization and Map-Building UsingActive Vision for a Robot Moving on Undulating Terrain,” IEEE Computer SocietyConference on Computer Vision and Pattern Recognition, Kauai, Hawaii, 2001.

[18] Kim, J. H. and Sukkarieh, S., “Airborne Simultaneous Localisation and MapBuilding,” IEEE International Conference on Robotics and Automation, Taipei,Taiwan, 2003.

[19] Kim, J. and Sukkarieh, S., “Real-Time Implementation of Airborne Inertial-SLAM,”Robotics and Autonomous Systems, Issue 55, 62-71, 2007.

[20] Langelaan, J. and Rock, S., “Passive GPS-Fee Navigation for Small UAVs,” IEEEAerospace Conference, Big Sky, Montana, 2005.

[21] Langelaan, J. and Rock, S., “Navigation of Small UAVs Operating in Forests,”AIAA Guidance, Navigation, and Control Conference, Providence, RI, 2004.

[22] Langelaan, J. and Rock, S., “Towards Autonomous UAV Flight in Forests,” AIAAGuidance, Navigation, and Control Conference, San Francisco, CA, 2005.

[23] Montemerlo, M., Thrun, S., Koller, D., and Wegbrit, B., “FastSLAM: A FactoredSolution to the Simultaneous Localization and Mapping Problem,” Proceedings ofthe AAAI National Conference on Artificial Intelligence, 2002.

[24] Weingarten, J., and Sieqwart, R., “EKF-based 3D SLAM for StructuredEnvironment Reconstruction,” In Proceedings of IROS, Edmonton, Canada, August2-6, 2005.

[25] Brunskill, E., and Roy, N., “SLAM using Incremental Probabilistic PCA andDimensionality Reduction,” IEEE International Conference on Robotics andAutomation, April 2005.

125

Page 126: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[26] Choset, H., Lynch, K., Hutchinson, S., Kantor, G., Burgard, W., Kavarki, L., andThrun, S., “Principles of Robot Motion: Theory, Algorithms, and Implementations,”MIT Press, Cambridge, MA, 2005.

[27] Kavraki, L. E., Svestka, P., Latombe, J. C., and Overmars, M. H., “ProbabilisticRoadmaps for Path Planning in High-Dimensional Configuration Spaces,” IEEETransactions on Robotics and Automation, Vol. 12, No. 4, 1996, pp. 566-580.

[28] Hsu, D., “Randomized Single-Query Motion Planning in Expansive Spaces,” Ph.D.thesis, Department of Computer Science, Stanford University, 2000.

[29] Hsu, D., Latombe, J. C., and Motwani R., “Path Planning in ExpansiveConfiguration Spaces,” International Journal of Computational Geometry andApplications, Vol. 9, No. 4-5, 1998, pp. 495-512.

[30] Hsu, D., Kindel, R., Latombe, J. C., and Rock S., “Randomized KinodynamicMotion Planning with Moving Obstacles,” International Journal of Robotics Re-search, Vol. 21, No. 3, 2002, pp. 233-255.

[31] Kuffner, J. J. and LaValle, S. M., “RRT-Connect: An Efficient Approach toSingle-Query Path Planning,” In IEEE International Conference on Roboticsand Automation, 2000.

[32] LaValle, S. M. and Kuffner, J. J., “Randomized Kinodynamic Planning,” Interna-tional Journal of Robotics Research, Vol. 20, No. 5, 2001, pp. 378-400.

[33] Dubins, L. E., “On Curves of Minimal Length with a Constraint on AverageCurvature, and with Prescribed Initial and Terminal Positions and Tangents,”American Journal of Mathematics, Vol. 79, No. 3, July, 1957, pp. 497-516.

[34] Shkel, A. and Lumelsky, V., “Classification of the Dubins Set,” Robotics andAutonomous Systems, Vol. 34, 2001, pp. 179-202.

[35] Frazzoli, E., “Robust Hybrid Control of Autonomous Vehicle Motion Planning,”Ph.D. Thesis, MIT, June 2001.

[36] Frazzoli, E., Dahleh, M., and Feron, E., “Robust Hybrid Control for AutonomousVehicle Motion Planning,” Technical Report, LIDS-P-2468, 1999.

[37] Frazzoli, E., Dahleh, M., and Feron, E., “Maneuver-based Motion Planning forNonlinear Systems With Symmetries,” IEEE Transactions on Robotics, Vol. 21, No.6, December 2005.

[38] Schouwenaars, T., Mettler, B., Feron, E., and How, J., “Robust Motion PlanningUsing a Maneuver Automaton with Built-in Uncertainties,” Proceedings of the IEEEAmerican Control Conference, June 2003, pp. 2211-2216.

[39] Bryson, A. E., “Dynamic Optimzation,” Addison Wesley Longman, Inc., 1999.

126

Page 127: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[40] Pfeiffer, F. and Johanni, R., “A Concept for Manipulator Trajectory Planning,”IEEE Journal of Robotics and Automation, Vol. 3, No. 2, 1987, pp. 115-123.

[41] Slotine, J.-J. and Yang, S., “Improving the Efficiency of Time-OptimalPath-Following Algorithms,” IEEE Transactions on Robotics and Automation,Vol. 5, No. 1, 1989, pp. 118-124.

[42] DeSouza, G. and Kak, A., “Vision for Mobile Robot Navigation: A Survey,” IEEETransactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 2, February2002.

[43] Ma, Y., Soatto, S., Kosekca, J., and Sastry S., “An Invitation to 3-D Vision: FromImages to Geometric Models” Springer-Verlag New York, Inc. 2004.

[44] Oliensis, J., “A Critique of Structure-from-Motion Algorithms,” Computer Visionand Image Understanding, 80:172-214,2000.

[45] Tomasi, C. and Kanade, T., “Shape and Motion from Image Streams UnderOrthography,” International Journal of Computer Vision, Vol. 9, No. 2, 1992,pp. 137-154.

[46] Prazenica, R., Watkins, A., Kurdila, A., Ke, Q., and Kanade T., “Vision-BasedKalman Filtering for Aircraft State Estimation and Structure from Motion,”AIAA Guidance, Navigation, and Control Conference and Exhibit, San Francisco,California, August 2005.

[47] Longuet-Higgins, H.C., “A Computer Algorithm for Reconstructing a Scene fromTwo Projections,” Nature, Vol. 293, Sept. 1981, pp. 133-135.

[48] Hartley, R., “In Defense of the Eight-Point Algorithm,” IEEE Transactions onPattern Analysis and Machine Intelligence, Vol. 19, No. 6, June 1997.

[49] Broida, T. and Chellappa, R., “Estimation of Object Motion Parameters from NoisyImages,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 8,No. 1, Jan. 1986, pp. 90-99.

[50] Matthies, L., Szeliski, J., and Kanade, T., “Kalman Filter-based Algorithms forEstimating Depth from Image Sequences,” International Journal of ComputerVision, Vol. 3, 1989, pp. 209-236.

[51] Chuiso, A., Favaro, P., Jin, H., and Soatto S., “Structure from Motion CausallyIntegrated Over Time,” IEEE Transactions on Pattern Analysis and MachineIntelligence, Vol. 24, No. 4, April 2002.

[52] Thomas, J. and Oliensis J., “Dealing with Noise in Multiframe Structure fromMotion,” Computer Vision and Image Understanding, Vol. 76, No. 2, November1999, pp. 109-124.

127

Page 128: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[53] Webb, T., Prazenica, R., Kurdilla, A., and Lind, R., ”Vision-Based State Estimationfor Autonomous Micro Air Vehicles,” Proceedings of the AIAA Guidance, Naviga-tion, and Control Conference, AIAA-2004-5359, Providence, RI, August, 2004.

[54] Webb, T., Prazenica, R., Kurdilla, A., and Lind, R., ”Vision-Based State Estimationfor Autonomous Uninhabited Aerial Vehicles,” Proceedings of the AIAA Guidance,Navigation, and Control Conference, AIAA-2005-5869, San Francisco, CA, August,2005.

[55] Kehoe, J., Causey, R., Arvai, A., and Lind, R., “Partial Aircraft State Estimationfrom Optical Flow Using Non-Model-Based Optimization,” Proceedings of the 2006IEEE American Control Conference, Minneapolis, MN, June, 2006.

[56] Kehoe, J., Watkins, A., Causey, R., and Lind, R., “State Estimation using OpticalFlow from Parallax-Weighted Feature Tracking” Proceedings of the 2006 AIAAGuidance, Navigation, and Control Conference, Keystone, CO, August 2006.

[57] Iyer, R.V., He, Z., and Chandler, P.R., “On the Computation of the Ego-Motionand Distance to Obstacles for a Micro Air Vehicle,” Proceedings of the 2006 IEEEAmerican Control Conference, Minneapolis, MN, June, 2006.

[58] Latombe, J. C., “Robot Motion Planning,” Kluwer Academic Publishers, 1991.

[59] Mahon, I., and Williams, S., “Three-Dimensional Robotic Mapping,” Proceed-ings of the 2003 Australasian Conference on Robotics and Automation, Brisbane,Queensland, 2003.

[60] Thrun, S., Burgard, W., and Fox D., “A Real-Time Algorithm for Mobile RobotMapping With Applications to Multi-Robot and 3D Mapping,” In IEEE Interna-tional Conference on Robotics and Automation, 2000.

[61] Davison, A., and Murray, D., “Simultaneous Localization and Map-Building UsingActive Vision,” IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol. 24, No. 7, 2002, pp. 865-880.

[62] Choset, H. and Nagatani, K., “Topological Simultaneous Localization and Mapping(SLAM): Toward Exact Localization Without Explicit Localization,” IEEE Transac-tions on Robotics and Automation, Vol. 17, No. 2, April 2001.

[63] Kuipers, B. and Byun, Y., “A Robot Exploration and Mapping Strategy Basedon Semantic Hierarchy of Spacial Representations,” Journal of Robotics and Au-tonomous Systems, 8:47-63, 1991.

[64] Thrun, S., Gutmann, J.-S., Fox, D., Burgard, W., and Kuipers, B., “IntegratingTopological and Metric Maps for Mobile Robot Navigation: A Stastical Approach,”In Proceedings of the National Conference on Artificial Intelligence (AAAI), 1998.

[65] Elfes, A., “Sonar-Based Real-World Mapping and Navigation,” IEEE Journal ofRobotics and Automation, Vol. RA-3, No. 3, June 1987.

128

Page 129: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[66] Elfes, A., “Using Occupancy Grids for Mobile Robot Perception and Navigation,”Computer, Vol. 22, Issue 6, 1989, pp. 46-57.

[67] Castelloanos, J., Tardos, J., and Schmidt, G., “Building a Global Map of theEnvironment of a Mobile Robot: The Importance of Correlations,” IEEE Interna-tional Conference on Robotics and Automation, Albuquerque, New Mexico, April,1997.

[68] Surmann, H., Nuchter, A., and Hertzberg, J., “An Autonomous Mobile Robotwith a 3D Laser Range Finder for 3D Exploration and Digitalization of IndoorEnvironments,” Robotics and Autonomous Systems, Vol. 45, 2003, pp. 181-198.

[69] Liu, Y., Emery, R., Chakrabarti, D., Burgard, W., and Thrun, S., “Using EMto Learn 3D models with mobile robots,” In Proceedings of the InternationalConference on Machine Learning, 2001.

[70] Martin, C., and Thrun S., “Online Acquisition of Compact Volumetric Maps withMobile Robots,” In IEEE International Conference on Robotics and Automation,Washington, DC, 2002.

[71] Jolliffe, I., “Principal Component Analysis,” Springer, ISBN 0387954422, 2002.

[72] MacQueen, J.B., “Some Methods for Classification and Analysis of MultivariateObservations,” Proceedings of the 5th Berkeley Symposium on Mathematical Statis-tics and Probability, 1967, pp. 281-297.

[73] Hammerly, G., and Elkan, C., “Learning the k in k-means,” Neural InformationProcessing Systems, 15, 2004.

[74] Stentz, A., “Map-Based Strategies for Robot Navigation in UnknownEnvironments,” Proceedings of AAAI Spring Symposium on Planning with In-complete Information for Robot Problems, 1996.

[75] Bailey, T. and Durrant-Whyte, H., “Simultaneous Localization and Mapping(SLAM): Part I - The Essential Algorithms,” Robotics and Automation Magazine,June, 2006.

[76] Guivant, J., and Mario, E., “Optimization of the Simultaneous Localization andMap-Building Algorithm for Real-Time Implementation,” IEEE Transactions onRobotics and Automation, Vol. 17, No. 3, June 2001.

[77] Williams, S., Newman, P., Dissanayake, G., and Durrant-Whyte H.F., “AutonomousUnderwater Simultaneous Localization and Map Building,” Proceedings of the IEEEInternational Conference on Robotics and Automation, San Francisco, CA, April,2000.

[78] Bailey, T. and Durrant-Whyte, H., “Simultaneous Localization and Mapping(SLAM): Part II - State of the Art,” Robotics and Automation Magazine,September,2006.

129

Page 130: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[79] Bar-Shalom, Y., Li, X.R., and Kirubarajan T., Estimation with Applications toTracking and Navigation, John Wiley and Sons, 2001.

[80] Kalman, R. E., “A New Approach to Linear Filtering and Prediction Problems,”Transactions of the ASME Journal of Basic Engineering, 1960, pp. 34-45.

[81] “Algorithms for Multiple Target Tracking,” American Scientist, Vol. 80, No. 2, 1992,pp. 128-141.

[82] Arulampalam, M. S., Maskell, S., Gordon, N., and Clapp, T., “A Tutorial onParticle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking,” Vol. 50, No.2, 2002, pp. 174-188.

[83] Julier, S. and Uhlmann, J., “A New Extension of the Kalman Filter to NonlinearSystems,” SPIE AeroSense Symposium, April 21-24, 1997.

[84] van der Merwe, R. and Wan., E., “The Square-Root Unscented Kalman Filter forState and Parameter Estimation,” International Conference on Acoustics, Speech,and Signal Processing, Salt Lake City, Utah, May, 2001.

[85] Liu, J and Chen, R., “Sequential Monte Carlo Methods for Dynamical Systems,”Journal of the American Statistical Association, Vol. 93, 1998, pp. 1032-1044.

[86] Murphy, K., “Bayesian Map Learning in Dynamic Environments,” In Advances inNeural Information Processing Systems, Vol. 12, 2000, pp. 1015-1021.

[87] Montemerlo, M., Thrun, S., Koller, D., and Wegbreit, B., “FastSLAM 2.0: AnImproved Particle Filtering Algorithm for Simultaneous Localization and Mappingthat Provably Converges,” International Joint Conference on Artificial Intelligence,Acapulco, Mexico, 2003.

[88] Li, M., Hong, B., Cai, Z., and Luo, R., “Novel Rao-Blackwellized Particle Filter forMobile Robot SLAM Using Monocular Vision,” Journal of Intelligent Technology,Vol. 1., No. 1., 2006.

[89] Richards, A. and How, J., “Aircraft Trajectory Planning With Collision AvoidanceUsing Mixed Integer Linear Programming,” Proceedings of the American ControlConference, Anchorage, AK, May 2002.

[90] Kuwata, Y. and How, J., “Three Dimensional Receding Horizon Control for UAVs,”AIAA Guidance, Navigation, and Control Conference and Exhibit, Providence,Rhode Island, August 2004.

[91] Bellingham, J., Richards, A., and How, J., “Receding Horizon Control ofAutonomous Aerial Vehicles,” Proceedings of the American Control Conference,Anchorage, AK, May 2002.

130

Page 131: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

[92] Henshaw, C., “A Unification of Artificial Potential Function Guidance and OptimalTrajectory Planning,” Advances in the Astronautical Sciences, Vol. 121, 2005, pp.219-233.

[93] Barraquand, B. and Latombe, J. C., “Nonholonomic Multibody Mobile Robots:Controllability and Motion Planning in the Presence of Obstacles,” Algorithmica,Vol. 10, 1993, pp. 121-155.

[94] Frazzoli, E., Dahleh, M., and Feron, E., “Real-Time Motion Planning for AgileAutonomous Vehicles,” AIAA Guidance, Navigation, and Control Conference andExhibit, Denver, CO, August 2000.

[95] Tang, Z. and Ozguner, U., “Motion Planning for Multitarget Surveillance withMobile Sensor Agents,” IEEE Transactions on Robotics, Vol. 21, No. 5, October2005.

[96] Laumond, J.-P., Jacobs, P., Taı,and Murray, M., “A Motion Planner forNonholonomic Mobile Robots,” IEEE Transactions on Robotics and Automation,Vol. 10, No. 5, October, 1944.

[97] Hwangbo, M., Kuffner, J., and Kanade, T., “Efficient Two-phase 3D MotionPlanning for Small Fixed-wing UAVs,” IEEE International Conference on Roboticsand Automation, Roma, Italy, April 2007.

[98] Shanmugavel, M., Tsourdos, A., Zbikowski, R., and White B.A., “3D Dubins SetsBased Coordinated Path Planning for Swarm UAVs,” AIAA Guidance, Navigation,and Control Conference and Exhibit, Keystone, Colorado, August 2006.

[99] Choset, H., “Coverage for Robotics - A Survey of Recent Results,” Annals ofMathematics and Artificial Intelligence, Vol. 31, No. 1-4, 2001, pp. 113-126.

[100] Choset, H., Walker, S., Eiamsa-Ard, K., and Burdick, J., “Sensor-Based Exploration:Incremental Construction of the Hierarchical Generalized Voronoi Graph,” TheInternational Journal of Robotics Research, Vol. 19, No. 2, February 2000, pp.126-148.

[101] Taylor, C. J. and Kriegman, D. J., “Vision-Based Motion Planning and ExplorationAlgorithms for Mobile Robots,” IEEE Transactions on Robotics and Automation,Vol. 14, No. 3, June 1998.

[102] Holmstrom, K., “TOMLAB - An Environment for Solving Optimization Problems inMATLAB,” Proceedings for the Nordic MATLAB Conference’97 Stockholm, Sweden,1997.

[103] Bailey, T., Neito J., and Nebot, E., “Consistency of the FastSLAM Algorithm,”IEEE International Conference on Robotics and Automation, 2006.

[104] Bailey, T., Neito J., and Nebot, E., “Consistency of the EKF-SLAM Algorithm,”IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006.

131

Page 132: VISION-BASED MAP BUILDING AND TRAJECTORY ...Figure 1-1 where a UAV navigating at low altitude uses sensor information to construct a three-dimensional map and, subsequently, plan a

BIOGRAPHICAL SKETCH

Adam Scott Watkins was born in Orlando, Florida on November 11, 1980. After

graduating from Lake Mary High School, Adam attended the University of Florida

receiving a Bachelor of Science in Mechanical Engineering in 2003. Adam continued

his education at the University of Florida receiving a Master of Science in Mechanical

Engineering in 2005. Upon obtaining his MS, Adam pursued a doctoral degree under

the advisement of Dr. Richard Lind. Adam’s research involves the control of unmanned

systems and he is prepared to graduate with his Ph.D. in the summer of 2007. Upon

graduation Adam will begin work at the Johns Hopkins University Applied Physics Lab

continuing his research in the field of unmanned systems.

132