obstacle avoidance for unmanned air vehicles using ... beard/papers/thesis/  · obstacle avoidance

Download Obstacle Avoidance for Unmanned Air Vehicles using ... beard/papers/thesis/  · OBSTACLE AVOIDANCE

Post on 16-Jul-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • OBSTACLE AVOIDANCE FOR UNMANNED AIR VEHICLES

    by

    Brandon R. Call

    A thesis submitted to the faculty of

    Brigham Young University

    in partial fulfillment of the requirements for the degree of

    Master of Science

    Electrical and Computer Engineering

    Brigham Young University

    December 2006

  • Copyright c 2006 Brandon R. Call

    All Rights Reserved

  • BRIGHAM YOUNG UNIVERSITY

    GRADUATE COMMITTEE APPROVAL

    of a thesis submitted by

    Brandon R. Call

    This thesis has been read by each member of the following graduate committee andby majority vote has been found to be satisfactory.

    Date Randal W. Beard, Chair

    Date Clark N. Taylor

    Date James K. Archibald

  • BRIGHAM YOUNG UNIVERSITY

    As chair of the candidates graduate committee, I have read the thesis of Brandon R.Call in its final form and have found that (1) its format, citations, and bibliograph-ical style are consistent and acceptable and fulfill university and department stylerequirements; (2) its illustrative materials including figures, tables, and charts are inplace; and (3) the final manuscript is satisfactory to the graduate committee and isready for submission to the university library.

    Date Randal W. BeardChair, Graduate Committee

    Accepted for the Department

    Michael J. WirthlinGraduate Coordinator

    Accepted for the College

    Alan R. ParkinsonDean, Ira A. Fulton College ofEngineering and Technology

  • ABSTRACT

    OBSTACLE AVOIDANCE FOR UNMANNED AIR VEHICLES

    Brandon R. Call

    Electrical and Computer Engineering

    Master of Science

    Small UAVs are used for low altitude surveillance flights where unknown ob-

    stacles can be encountered. These UAVs can be given the capability to navigate in

    uncertain environments if obstacles are identified. This research presents an obstacle

    avoidance system for small UAVs. First, a mission waypoint path is created that

    avoids all known obstacles using a genetic algorithm. Then, while the UAV is in

    flight, obstacles are detected using a forward looking, onboard camera. Image fea-

    tures are found using the Harris Corner Detector and tracked through multiple video

    frames which provides three dimensional localization of the features. A sparse three

    dimensional map of features provides a rough estimate of obstacle locations. The

    features are grouped into potentially hazardous areas. The small UAV then employs

    a sliding mode control law on the autopilot to avoid obstacles.

  • This research compares rapidly-exploring random trees to genetic algorithms

    for UAV pre-mission path planning. It also presents two methods for using image

    feature movement and UAV telemetry to calculate depth and detect obstacles. The

    first method uses pixel ray intersection and the second calculates depth from image

    feature movement. Obstacles are avoided with a success rate of 99.2%.

  • ACKNOWLEDGMENTS

    I would like to thank my professors Randy Beard, Clark Taylor, Tim McLain

    and James Archibald for providing an environment where I could succeed and for

    giving me guidance and inspiration. I would like to thank AFOSR for financially

    supporting my research with grant number FA9550-04-C-0032. Additionally, I thank

    Robert Murphy, Kevin ONeal, David Jeffcoat and Will Curtis at the Munitions

    Directorate of the Air Force Research Laboratory at Eglin Air Force Base where I

    completed some of this research and had an enjoyable learning experience as a summer

    intern. I would also like to thank MIT Lincoln Laboratory for providing me funding

    in the form of a Graduate Research Fellowship.

    I would like to thank the students of the MAGICC lab for helping me get

    through classes and for providing an atmosphere where good ideas can be carried

    through to experimentation. Thanks to Nate Knoebal and Joe Jackson for helping

    me get a UAV in the air long enough to get some data.

    Lastly, I would like to thank my supportive wife, Emily, for putting in some

    hard work of her own. She always encourages me to be the best that I can be. She

    helped me see the light at the end of the tunnel when it was dim.

  • Table of Contents

    Acknowledgements xiii

    List of Tables xix

    List of Figures xxii

    1 Introduction 1

    1.1 UAV Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Pre-Mission Path Planning . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3 Reactive Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4 Obstacle Avoidance for Small UAVs . . . . . . . . . . . . . . . . . . . 5

    2 Pre-Mission Path Planning 7

    2.1 Rapidly-Exploring Random Trees . . . . . . . . . . . . . . . . . . . . 8

    2.1.1 RRT Algorithm Description . . . . . . . . . . . . . . . . . . . 8

    2.1.2 RRT Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2.1 Genetic Algorithm Description . . . . . . . . . . . . . . . . . . 11

    2.2.2 Genetic Algorithm Results . . . . . . . . . . . . . . . . . . . . 15

    2.3 Path Planner Comparison . . . . . . . . . . . . . . . . . . . . . . . . 16

    3 Feature Tracking 21

    3.1 Feature Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    xv

  • 3.1.1 Measuring Pixel Information . . . . . . . . . . . . . . . . . . . 22

    3.1.2 Harris Corner Detector . . . . . . . . . . . . . . . . . . . . . . 23

    3.2 Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.3 Image Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.4 Feature Tracking for Obstacle Avoidance . . . . . . . . . . . . . . . . 26

    3.4.1 Window size and frequency of tracking . . . . . . . . . . . . . 26

    3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4 Obstacle Detection 31

    4.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.2 Obstacle Detection Using Three Dimensional Ray Intersection . . . . 34

    4.2.1 Three Dimensional Ray Intersection . . . . . . . . . . . . . . . 35

    4.2.2 Feature Clustering . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.2.3 The Ill Conditioned Nature of This Problem . . . . . . . . . . 37

    4.3 Obstacle Detection Using Depth From Motion . . . . . . . . . . . . . 39

    4.3.1 Calculating Depth From Motion . . . . . . . . . . . . . . . . . 39

    4.3.2 Handling Obstacles of Multiple Depths . . . . . . . . . . . . . 41

    4.3.3 Analysis of the Depth from Motion Obstacle Detection Method 43

    4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    5 Obstacle Avoidance 47

    5.1 Sliding Mode Orbit Controller . . . . . . . . . . . . . . . . . . . . . . 47

    5.2 Using the Orbit Controller . . . . . . . . . . . . . . . . . . . . . . . . 49

    5.3 Alternative Obstacle Avoidance Controllers . . . . . . . . . . . . . . . 50

    5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    6 Experimental Architecture 53

    xvi

  • 6.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    6.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    7 Flight Experiments 57

    7.1 Obstacle Avoidance in Simulation . . . . . . . . . . . . . . . . . . . . 57

    7.1.1 Single Obstacle . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    7.1.2 Multiple Obstacles . . . . . . . . . . . . . . . . . . . . . . . . 60

    7.1.3 Angled Obstacle . . . . . . . . . . . . . . . . . . . . . . . . . 62

    7.1.4 Obstacle Avoidance Controller . . . . . . . . . . . . . . . . . . 64

    7.1.5 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    7.2 Obstacle Avoidance on UAV Hardware . . . . . . . . . . . . . . . . . 67

    7.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    8 Conclusion 71

    8.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Bibliography 77

    A Random City Maker 79

    A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    A.2 How to Create and Use Cities . . . . . . . . . . . . . . . . . . . . . . 80

    A.2.1 The Random City Maker User Interface . . . . . . . . . . . . 80

    A.2.2 Create a City . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    A.3 Using City Files for Research Testing . . . . . . . . . . . . . . . . . . 83

    A.3.1 How to Use Cities in Aviones . . . . . . . . . . . . . . . . . . 83

    A.3.2 How to Use Cities in the Path Planner . . . . . . . . . . . . . 84

    A.4 City Generation Algorithm and Implementation . . . . . . . . . . . . 84

    A.4.1 Internal C++ Classes . . . . . . . . . . . . . . . . . . . . . . . 85

    xvii

  • A.4.2 City Generation Algorithm . . . . . . . . . . . . . . . . . . . . 86

    A.4.3 Height Functions . . . . . . . . . . . . . . . . . . . . . . . . . 88

    A.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    A.5.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    xviii

  • List of Tables

    2.1 RRT Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2 Genetic Algorithm Parameters Values . . . . . . . . . . . . . . . . . . 16

    2.3 Path Planner Comparison Results . . . . . . . . . . . . . . . . . . . . 18

    2.4 Path Planning Algorithm Trade-offs . . . . . . . . . .

Recommended

View more >