High Fidelity Localization and Map Building from an Instrumented Probe Vehicle

DISSERTATION

Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State University

By

Douglas Thornton, B.S., M.S.

Graduate Program in Electrical and Computer Engineering

The Ohio State University

2017

Dissertation Committee:

Dr. Benjamin Coifman, Advisor

Dr. Levent Guvenc

Dr. Ümit Özgüner

Copyrighted by

Douglas Thornton

2017

Abstract

The lack of high fidelity data sources measuring roadway infrastructure has long handicapped the modeling of vehicular interaction and traffic flow. To date embedded loop detectors and other point detectors provide the data source for these models, aggregating data over significant time intervals, often minutes, performing point measurements at spacing much larger than the characteristics being measured. The result of this inadequacy is a scientific disagreement on even the most basic relationships in traffic flow theory, such as the fundamental relationship between flow, occupancy and density.

Beginning in 2005, the Ohio State University began collecting high fidelity traffic flow data from an instrumented probe vehicle. The data mitigates a number of problems of both traditional data sources such as loops, and experimental data sources such as

NGSIM, ultimately providing utility to solve or refine a variety of open traffic flow theory problems. As a precursor to applying the instrumented probe vehicle data, raw sensor information must be aggregated and processed using a variety of techniques found in control, transportation, and robotics literature. Data were collected in hundreds of runs over six years under a variety of changes to the environment and sensor suite itself, requiring the data processing to be automated and robust.

This research resolves a number of issues with the instrumented probe vehicle data extraction by: 1) providing a method to validate a global localization estimates, 2) ii designing and implementing a new, observational, globally referenced mapping framework and applying that framework to Bayesian occupancy and evidential grid representations, and 3) developing a suite of applications supporting the processing of the data, including LiDAR mounting calibration, localization refinement, map structure change identification, road boundary detection, and lane finding.

The novel use of a perception sensor, specifically a vertically scanning LiDAR, solves the issue of verifying a large, historic dataset’s global positioning system derived global localization. This validation supports trust in instrumented probe vehicle by verifying the localization achieves lane level accuracy, as well as in future automated vehicle applications.

To aid in the storage and retrieval of observational data of large, city-scale regions, this research creates the Map Oriented Grid, which supports the efficient global referencing of observational data stored in a grid structure. These grid structures support many opportunistic mapping applications including the identification of salient structures nearby a road, and the areas on a roadway where movement if regularly observed. This framework could be applied in crowd sourcing maps in a connected vehicle environment.

Finally, a chief goal of the instrumented probe vehicle is to accurately and precisely track the nearby ambient vehicles. The Map Oriented Grid supports such needs by developing applications on top of this framework that were necessary to both simplifying future vehicle trackers based upon this work, and provide the highest quality, calibrated location and sensor data to such a vehicle tracker. In providing the above capabilities, this work assists in the extraction of value from the instrumented probe vehicle data, and correspondingly advances the state of the art in traffic flow theory. iii Acknowledgments

I thank my wife Stephanie for all the time and support she has given me while pursuing graduate school, my children Andrew, Maria, and Sarah who have sacrificed time with

Dad, my parents David and Bernadette who taught me to love learning, and Dr. Coifman who challenged me to expand my skills in research and writing.

iv Vita

August 2004 ...... B.S. Electrical Engineering, The Ohio State University

June 2009 ...... M.S. Electrical Engineering, The Ohio State University

Publications

Coifman, B., M. Wu, K. Redmill, D. Thornton, “Collecting ambient vehicle trajectories from an instrumented probe vehicle: High quality data for microscopic traffic flow studies”, Transportation Research Part C: Emerging Technologies, 72, pp 254-271, 2016.

Thornton, D., K. Redmill, B. Coifman, “Automated Parking Surveys from a LIDAR Equipped Vehicle”, Transportation Research Part C: Emerging Technologies, 39, pp 23-35, 2014.

Thornton, D., B. Coifman, “Signal Progression Impacts on Transit Buses as Travel Time Probes”, Journal of Transportation Engineering, 141 (8), 2015.

Patents

8,257,191 Golf clubs and golf club heads having digital lie and/or other angle measuring equipment

8,500,570 Golf clubs and golf club heads having digital lie and/or other angle measuring equipment

8,801,533 Golf clubs and golf club heads having digital lie and/or other angle measuring equipment

v 8,917,051 Integrated fuel processor and fuel cell system control method

8,956,130 Golf clubs and golf club heads

9,403,078 Golf clubs and golf club heads

9,421,429 Golf clubs and golf club heads having digital lie and/or other angle measuring equipment

9,440,127 Golf clubs and golf club heads

9,537,313 Method and system for using demand side resources to provide frequency regulation using a dynamic allocation of energy resources

Fields of Study

Major Field: Electrical and Computer Engineering

vi Table of Contents

Abstract ...... ii Acknowledgements ...... iv Vita ...... v List of Tables ...... ix List of Figures ...... x Chapter 1: Introduction ...... 1 1.1. Motivation ...... 2 1.2. The Instrumented Probe Vehicle ...... 4 1.3. Contribution to the IPV Dataset ...... 5 1.4. Contribution to Other Fields ...... 6 1.5. Outline of the Instrumented Probe Van Data Extraction ...... 7 1.6. Summary ...... 8 Chapter 2: Global Localization Validation ...... 9 2.1. The Need for Independent Validation of Global Localization Results ...... 10 2.2. State of the Practice in Global Localization Validation...... 11 2.3. Methodology for Validating Global Localization...... 11 2.4. Application to IPV Localization ...... 22 2.5. Results ...... 25 2.6. Closing ...... 33 Chapter 3: Map Oriented Grids with Revisiting ...... 36 3.1. The Need for Efficient, Globally Referenced Observational Maps ...... 38 3.2. State of the Practice in Map Data Representation ...... 41 3.3. Development and Application of Map Oriented Grids ...... 45 3.4. Results ...... 67 3.5. Closing ...... 77

vii Chapter 4: Applications Utilizing Map Oriented Grids ...... 80 4.1. Introduction to the Developed Applications ...... 80 4.2. Perception Sensor Calibration...... 82 4.3. Localization Refinement ...... 97 4.4. Road Boundary Detection ...... 108 4.5. Lane Finding ...... 110 4.6. Closing ...... 114 4.7. Selected Definitions ...... 116 Chapter 5: Summary ...... 117 5.1. Core Contributions ...... 117 5.2. Impact to the Objectives of the IPV Dataset ...... 120 5.3. Contributions to ITS and Automated Vehicles ...... 123 References ...... 125 Appendix A: Background ...... 133 Appendix B: Global localization process ...... 150 Appendix C: Validation Result at gates 2,3,5-18 ...... 193 Appendix D: Complex Ambiguity Resolution ...... 217 Appendix E: Map Matching...... 252

viii List of Tables

Table 2.1. Gate 1 results ...... 27 Table 2.2. Gate 4 results ...... 30 Table 2.3. Lateral results of the localization process ...... 32 Table 2.4. Longitudinal results of the localization process ...... 33 Table 3.1. Constants Used in Evidential Grid Construction ...... 62 Table 4.1. Lateral Shifts for a Map Segment Frame after Localization Enhancement ...... 105 Appendices Table C.1. Gate 2 results ...... 194 Table C.2. Gate 3 results ...... 195 Table C.3. Gate 5 results ...... 197 Table C.4. Gate 6 results ...... 198 Table C.5. Gate 7 results ...... 199 Table C.6. Gate 8 results ...... 201 Table C.7. Gate 9 results ...... 202 Table C.8. Gate 10 results ...... 204 Table C.9. Gate 11 results ...... 205 Table C.10. Gate 12 results ...... 207 Table C.11. Gate 13 results ...... 208 Table C.12. Gate 14 results ...... 210 Table C.13. Gate 15 results ...... 211 Table C.14. Gate 16 results ...... 213 Table C.15. Gate 17 results ...... 214 Table C.16. Gate 18 results ...... 216 Table D.1. Lateral widths by type ...... 224 Table E.1. Node Structure ...... 255 Table E.2. Way Structure ...... 256 Table E.3. Effective road widths for probability assessment ...... 272 ix List of Figures

Figure 1.1. The IPV and its Sensors ...... 5 Figure 1.2. The Data Processing flow for IPV Dataset Extraction ...... 8 Figure 2.1. Luminaire Identification ...... 13 Figure 2.2. Trip Lines at a Gate ...... 16 Figure 2.3. Two hundred and five LiDAR observations of the same luminaire ...... 19 Figure 2.4. LiDAR scans at trip line for the outbound trip ...... 21 Figure 2.5. Final result of positioning filtering process at selected locations ...... 23 Figure 2.6. Gate Locations ...... 24 Figure 2.7. Gates Clusters ...... 25 Figure 2.8. Gate 1 Aerial Image ...... 26 Figure 2.9. Gate 1 Displacement Errors ...... 27 Figure 2.10. Scatter Plot of Gate 1 Errors ...... 28 Figure 2.11. Gate 1 Cummulative Distribution of Errors ...... 29 Figure 2.12. Gate 1 Errors Versus IPV Speed ...... 29 Figure 2.13. Gate 4 Aerial Image ...... 30 Figure 2.14. Gate 4 Cummulative Distrubution of Errors ...... 31 Figure 2.15. Gate 4 Errors Versus IPV Speed ...... 31 Figure 3.1. Four Types of maps ...... 38 Figure 3.2. Asymetric Impact of Noise on Naïve Inverse Sensor Model ...... 44 Figure 3.3. Various Map Elements ...... 48 Figure 3.4. Definition of Map Segment Frame ...... 49 Figure 3.5. Disambiguition of Two Map Segment Frames ...... 50 Figure 3.6. A ‘T’ Shaped Intersection...... 51 Figure 3.7. Examples of Complex Intersections ...... 52 Figure 3.8. Ambiguity in Unconnected Segments ...... 52 Figure 3.9. An Enhanced Inverse Sensor Model ...... 54 Figure 3.10. The Impact of Noise on the Enhanced Inverse Sensor Model ...... 54 Figure 3.11. Contour Lines for where LiDAR Rays will Impact the Ground ...... 56 x Figure 3.12. Occupancy Grid Aligned with Global Coordinates ...... 58 Figure 3.13. A Map Segment Frame Occupancy Grid ...... 60 Figure 3.14. Bayesian Occupancy Grid Before Conversion to Evidential Grid ...... 63 Figure 3.15. Free and Occupied Beliefs for a Map Segment Frame ...... 63 Figure 3.16. Estimated Free Space for a Map Segment Frame After Filtering...... 65 Figure 3.17. Conflict belief of a Map Segment Frame ...... 66 Figure 3.18. Moving Belief of a Map Segment Frame ...... 67 Figure 3.19. Accumulated LiDAR returns over a Large Region ...... 68 Figure 3.20. Increased Resolution of Accumulated LiDAR Returns ...... 68 Figure 3.21. Bayesian Occupancy Grids Over a Large Region in Map Oriented Grids ...... 69 Figure 3.22. Finer Detail of Bayesian Occupancy Grid Part 1 ...... 70 Figure 3.23. Finer Detail of Bayesian Occupancy Grid Part 2 ...... 70 Figure 3.24. Occupied Belief Evidential Grids Over a Large Region in Map Oriented Grids ..... 71 Figure 3.25. Finer Detail of Occupied Evidential Grid Part 1 ...... 72 Figure 3.26. Finer Detail of Occupied Evidential Grid Part 2 ...... 72 Figure 3.27. Finer Detail of Free Evidential Grid Part 1 ...... 73 Figure 3.28. Finer Detail of Free Evidential Grid Part 2 ...... 74 Figure 3.29. Moving Belief Evidential Grids Over a Large Region in Map Oriented Grids ...... 75 Figure 3.30. Finer Detail of Moving Evidential Grid Part 1 ...... 75 Figure 3.31. Finer Detail of Moving Evidential Grid Part 2 ...... 76 Figure 3.32. Finer Detail of Moving Evidential Grid Part 3 ...... 76 Figure 3.33. Finer Detail of Moving Evidential Grid Part 4 ...... 77 Figure 4.1. Calibration Space with Host Vehicle at Two Locations ...... 88 Figure 4.2. Effect of LiDAR Mounting Error ...... 88 Figure 4.3. Result of Yaw Angle Search ...... 91 Figure 4.4. LiDAR Returns at Various Offset Angles ...... 92 Figure 4.5. Minimizing Angle for Entire IPV Dataset ...... 93 Figure 4.6. Estimated Height of Fore Driver Side LiDAR ...... 95 Figure 4.7. Estimated Height of All Vertical LiDAR ...... 95 Figure 4.8. Side LiDAR Scans Below a Bridge, First Trip...... 96 Figure 4.9. Side LiDAR Scans Below a Bridge, Last Trip ...... 97 Figure 4.10. Map Segment Frame Bayesian Occupancy Grid ...... 100 Figure 4.11. Assessment of Longitudinal Information ...... 101 xi Figure 4.12. Weighting of Cells for Localization Enhancement ...... 102 Figure 4.13. Aggregate Beliefs Before and After Localization Enhancement...... 103 Figure 4.14. Offsets Before and After Localization Enhancement ...... 104 Figure 4.15. Correlation of a MSF where Under Construction ...... 108 Figure 4.16. Road Boundary Detection ...... 110 Figure 4.17. Extracted Lane Centers ...... 112 Figure 4.18. Lane Center Lines and Spacing ...... 114 Appendices Figure A.1 Overview of the Travel Time Route ...... 135 Figure A.2. Overview of the Free Style Route ...... 136 Figure A.3. Overview of the Campus Loop Route ...... 137 Figure A.4. Body Fixed coordinate system...... 139 Figure A.5. The Local Space Fixed reference frame ...... 141 Figure A.6. LiDAR Locations ...... 145 Figure B.1. GNSS Sensor errors ...... 155 Figure B.2. Static gyroscope heading results ...... 156 Figure B.3. Calculated Allan Deviation ...... 157 Figure B.4. Latitude of the IPV and corresponding influence on yaw rate ...... 160 Figure B.5. Gyroscope heading before and after correction for earth’s rotation ...... 161 Figure B.6. Location estimate with and without correction for earth’s rotation ...... 161 Figure B.7. Time series of reported satellite AMU ...... 164 Figure B.8. Time series of estimated individual satellite availability ...... 165 Figure B.9. Time series of number of satellites in view ...... 165 Figure B.10. Overall satellite stability estimate for a 250 s period 166 Figure B.11. Time series of the instantaneous mean AMU ...... 167 Figure B.12. Reported amplitude of one channel in AMU ...... 168 Figure B.13. Individual aggregate satellite disruptions ...... 169 Figure B.14. Final GNSS availability estimate ...... 170 Figure B.15. GNSS returns that have been determined unavailable ...... 170 Figure B.16. Detecting backwards movement ...... 172 Figure B.17. GNSS COG and gyroscope yaw comparison over a tour ...... 174 Figure B.18. GNSS COG and gyroscope yaw comparison over a 45 s period ...... 175 Figure B.19. Filtered difference between gyroscope and COG ...... 176 xii Figure B.20. Final heading estimate overlaying GNSS COG ...... 176 Figure B.21. Four detailed time excerpts from the heading estimate ...... 177 Figure B.22. Results of speed integration compared to GNSS ...... 180 Figure B.23. Difference in GNNS reports and odometry reports ...... 182 Figure B.24. Filtered difference between inertial and GNSS locations ...... 182 Figure B.25. The complementary filter outputs ...... 183 Figure B.26. Easting and northing from GNSS and inertial position after filtering ...... 183 Figure B.27. Small scale observation of filtered position output at signal queue ...... 184 Figure B.28. Speed comparison at a stop ...... 186 Figure B.29. Histogram of reported vehicle speeds below 5 m/s ...... 186 Figure B.30. Stop location after controlling for zero speed ...... 187 Figure B.31. Final heading estimate overlaying previous heading estimate ...... 188 Figure B.32. Altitude in raw GNSS form and filtered form ...... 189 Figure C.1. Gate 2 aerial image ...... 193 Figure C.2. Gate 2 lateral CDF ...... 194 Figure C.3. Gate 2 longitudinal CDF ...... 194 Figure C.4. Gate 3 aerial image ...... 195 Figure C.5. Gate 3 lateral CDF ...... 196 Figure C.6. Gate 3 longitudinal CDF ...... 196 Figure C.7. Gate 5 aerial image ...... 196 Figure C.8. Gate 5 lateral CDF ...... 197 Figure C.9. Gate 5 longitudinal CDF ...... 197 Figure C.10. Gate 6 aerial image ...... 198 Figure C.11. Gate 6 lateral CDF ...... 198 Figure C.12. Gate 6 longitudinal CDF ...... 199 Figure C.13. Gate 7 aerial image ...... 199 Figure C.14. Gate 7 lateral CDF ...... 200 Figure C.15. Gate 7 longitudinal CDF ...... 200 Figure C.16. Gate 8 aerial image ...... 200 Figure C.17. Gate 8 lateral CDF ...... 201 Figure C.18. Gate 8 longitudinal CDF ...... 201 Figure C.19. Gate 9 aerial image ...... 202 Figure C.20. Gate 9 lateral CDF ...... 203 xiii Figure C.21. Gate 9 longitudinal CDF ...... 203 Figure C.22. Gate 10 aerial image ...... 204 Figure C.23. Gate 10 lateral CDF ...... 204 Figure C.24. Gate 10 longitudinal CDF ...... 205 Figure C.25. Gate 11 aerial image ...... 205 Figure C.26. Gate 11 lateral CDF ...... 206 Figure C.27. Gate 11 longitudinal CDF ...... 206 Figure C.28. Gate 12 aerial image ...... 207 Figure C.29. Gate 12 lateral CDF ...... 207 Figure C.30. Gate 12 longitudinal CDF ...... 208 Figure C.31. Gate 13 aerial image ...... 208 Figure C.32. Gate 13 lateral CDF ...... 209 Figure C.33. Gate 13 longitudinal CDF ...... 209 Figure C.34. Gate 14 aerial image ...... 210 Figure C.35. Gate 14 lateral CDF ...... 210 Figure C.36. Gate 14 longitudinal CDF ...... 211 Figure C.37. Gate 15 aerial image ...... 211 Figure C.38. Gate 15 lateral CDF ...... 212 Figure C.39. Gate 15 longitudinal CDF ...... 212 Figure C.40. Gate 16 aerial image ...... 212 Figure C.41. Gate 16 lateral CDF ...... 213 Figure C.42. Gate 16 longitudinal CDF ...... 213 Figure C.43. Gate 17 aerial image ...... 214 Figure C.44. Gate 17 lateral CDF ...... 214 Figure C.45. Gate 17 longitudinal CDF ...... 215 Figure C.46. Gate 18 aerial image ...... 215 Figure C.47. Gate 18 lateral CDF ...... 216 Figure C.48. Gate 18 longitudinal CDF ...... 216 Figure D.1. Decision region definition process ...... 218 Figure D.2. Definition of decision region for a Y shaped intersection with three segments ...... 218 Figure D.3. Definition of decision region for a four segment '+' shaped intersection ...... 218 Figure D.4. Definition of decision region for a four segment intersection without 90° angles ... 219 Figure D.5. Definition of decision region for an arbitrary shaped five segment intersection...... 219 xiv Figure D.6. Definition of decision region for a examplar interstate ramp ...... 220 Figure D.7. 1D map segments after route expansion...... 222 Figure D.8. Identification of a triplet when the node is not on a way boundary ...... 225 Figure D.9. A triplet formed at the junction of two ways labeled A and B ...... 226 Figure D.10. Example of two ways which share a node and form a decision point ...... 227 Figure D.11. Example bounding box from a line segment ...... 228 Figure D.12. Result of increasing dimensionality to 2D ...... 229 Figure D.13. A node triplet with ambiguous bounding boxes...... 231 Figure D.14. Bounding boxes after removing ambiguity ...... 231 Figure D.15. Bounding polygons after conversion from rectangles at node triplets ...... 232 Figure D.16. Exemplar decision point ...... 235 Figure D.17. Vertices that are moved and resulting vertices ...... 236 Figure D.18. Scenario with a short segment ...... 237 Figure D.19. Space conflicts due to a short segment at a decision point ...... 238 Figure D.20. Close approaches causing significant overlap of bounding polygons ...... 239 Figure D.21. Exemplar decision point after all segments have been processed ...... 239 Figure D.22. Close approaches at an intersection ...... 240 Figure D.23. The decision point from earlier resolved into non-overlapping space ...... 241 Figure D.24. A vertex falling within the other segments bounding box ...... 245 Figure D.25. The result from the previous example after processing all overlapping vertices ... 245 Figure D.26. Results of 2D conversion at a complex junction ...... 246 Figure E.1. OSM data for Columbus Ohio ...... 257 Figure E.2. OSM data detailing the two Areas of the IPV Study ...... 257 Figure E.3. A hypothetical way to illustrate the relationships between various map elements. .. 258 Figure E.4. Visualization of a point in space and lateral deviation, longitudinal distance ...... 259 Figure E.5. Overall map of the association process ...... 263 Figure E.6. Connectivity example to the third order ...... 265 Figure E.7. Map association bootstrapping process results ...... 267 Figure E.8. A five point intersection, as defined by OSM ...... 273 Figure E.9. Three measures from the five point intersection ...... 273 Figure E.10. An open route between two map associations ...... 277 Figure E.11. Upstream and downstream first order connectivity ...... 278 Figure E.12. Final route closure ...... 278 xv Figure E.13. Open route at North Broadway ...... 281 Figure E.14. Route closing, upstream and downstream first order connectivity ...... 282 Figure E.15. Route closing, second order upstream and downstream connectivity ...... 282 Figure E.16. After route closing and before, after cleaning ...... 283

xvi Chapter 1: Introduction

This research seeks to create a suite of tools to assist in the study of the Ohio State University Instrumented Probe Vehicle (IPV) dataset. The IPV dataset was collected with the objective to solve a number of open problems in the domain of traffic flow theory. By solving these problems, traffic researchers and practitioners can better reduce the billions of dollars of financial and environmental impacts of traffic congestion.

While cars have been on the road for over a century and technology is approaching the point where these vehicles will soon be able to drive themselves, it is surprising how much remains unknown about the nuances of exactly how people drive. The field of traffic flow theory seeks to develop this understanding on both the macroscopic level in terms of vehicular flows and on the microscopic level of how individual vehicles interact. It is fair to say that the macroscopic phenomena are an emergent behavior of the microscopic interactions. While the microscopic details of vehicle interactions are the new frontier of traffic flow theory, traffic remains incredibly difficult to study. There might be thousands of vehicles interacting on a highway, with phenomena that can evolve on the order of minutes or longer as the individual vehicles travel upwards of 25 m/s. Yet the critical vehicle interactions that ultimately give rise to traffic breakdown or stop and go waves might be on the order of sub-meter and only last a few seconds.

The raw IPV dataset collection occurred prior to this study. While the raw data includes high resolution inter-vehicle measurements, the raw data proved to be far noisier and difficult to work with than originally anticipated. As a result, the value of the dataset remains largely untapped. This dissertation seeks to develop a suite of tools to facilitate the study of these microscopic interactions; in essence, to build one of the first true microscopes that will allow for a detailed study of the minute vehicle interactions.

As described in Section 1.2, this work starts with the pre-existing set of raw data that were collected over several years. These data come from a probe vehicle instrumented with positioning and localization sensors, specifically referred to as the Instrumented Probe Vehicle (IPV). Thus, a requisite goal of this research is to extract value from the IPV dataset by facilitating data extraction

1 and providing a suite of tools to improve the localization accuracy. The approach herein is to make a detailed map that includes lanes of travel, from which the identification and extraction of vehicles is made. In doing so this researched developed several precursor tools that are necessary for global localization and map matching 1. With those tools in place, the three primary contributions are as follows: a method of validating localization results to prove their accuracy; extensions to grid based map representations for orientation with a road map and revisiting; and a suite of analytical tools for enhancing and extracting data from those grid maps. Before proceeding to those chapters, the remainder of this chapter provides the motivation and background for this work, followed by an overview of the IPV data extraction to place these three contributions within that context. It is important to note that this work not only provides a toolset for the IPV dataset, the research also extends the state of the art in the domain of intelligent transportation systems (ITS) and automated vehicles.

1.1. Motivation

According to a report by the Centre for Economics and Business Research (Cebr) [1], the projected economic cost of traffic congestion on roads in the United States during the year 2030 is $186,221M. Of that cost, $120,695M is attributable to wasted time and fuel, and $65,526M is attributable to the increased cost in doing business. Likewise, the environmental cost of the excess

CO2 release due to traffic congestion in the United States during the year 2030 is estimated at $538.2M. Obviously, traffic congestion has great impact to the economy and the environment. Moreover, planners and policymakers cannot simply build out of congestion by adding physical capacity. The 2007 Urban Mobility Scorecard [2] concluded that additional lane miles only slows the pace of increasing congestion rather than reducing or eliminating congestion, and finds that improving the productivity of existing infrastructure should be the first consideration in resolving congestion; a finding still supported by the 2015 Urban Mobility Scorecard [3].

Improving the capacity of the existing infrastructure relies upon the implementation of control strategies whose basis are in traffic flow theory. One such implementation is ramp metering, a strategy that has seen wide application and is undergoing continual innovation [4][5]. Another implementation is variable speed limits which, based upon measurements of the current state of traffic, dynamically broadcasts a maximum speed to drivers via signage [6]. For further efficacy, these strategies are sometimes combined [7]. As with any control system, the performance of these

1 While some aspects of these tools are novel, they are not considered the primary contribution of this dissertation and thus included in the appendices. 2 strategies is limited by the completeness and accuracy of the underlying dynamic model, the availability of timely and accurate measurements, and the ability to impart control effort (in short: model, measurement, and control). At the present day, traffic control strategies face substantial limitations in all three of these areas, and it is impossible to achieve optimal control of a system that is still not completely understood. The next three sections detail the limitations in the state of the art for each of the three areas: measurement, model, and control.

1.1.1. Measurement Presently, real time traffic flow measurements are made by point sources (e.g., loop detectors and radars) and traveling sources (e.g., probe vehicles and vehicle reidentification [8]). Point sources have long been available to the traffic flow theory research community, but are severely limited in that the spatial density of deployed systems is insufficient to gain a microscopic understanding of vehicle behaviors; specifically, the ability to model how vehicles interact. Mass production of probe vehicle data is a relatively new phenomenon and with sufficient penetration potentially mitigates limitations of point sources; however, these data are currently constrained. First, the probe data are gated by data aggregators (e.g., Inrix) limiting availability to the raw, high resolution measurements. Second, the penetration of probe vehicles within the general vehicle population is low, albeit increasing. Over the next decade, the availability of real time probe vehicle data will greatly expand with the implementation of vehicle to vehicle (V2V) and vehicle to infrastructure (V2I) communications (together V2X) [9], thus providing requisite measurements for effective real time control. However, the nature of such connected vehicle (CV) data has yet to be determined. If CV data is not recorded with sufficient temporal resolution or spatial accuracy it could potentially be less informative than current day loop detector data for advancing traffic flow theory or developing new control paradigms. Regardless of the outcome, such data will only become available long after standards have been established and thus, cannot help determine what those CV data standards should be ahead of time. Consequently, by using the IPV data to advance traffic flow theory, this work also provides an opportunity to also start exploring important factors that should be included in the emerging CV data standards.

1.1.2. Model Traffic flow theory has been studied for almost a century, yet there is still no agreement on the field’s fundamental relationship [10] and many shortcomings remain in the existing theories [11]– [16]. The fundamental relationship between flow, density and velocity is at the heart of almost all models employed for active control to reduce congestion. Most of the empirically based models 3 are ultimately derived from the low-resolution measurements listed in Section 1.1.1. Consequently, the microscopic vehicle interactions that give rise to all of the traffic flow phenomena cannot be measured. The current state of the art in empirical microscopic vehicle interaction is the Next Generation SIMulation dataset (NGSIM) [17] that used video based vehicle tracking to extract vehicle trajectories on two freeways and two arterial corridors. In each of these four cases the data collection lasted less than an hour and only spanned roughly 1/3 of a mile. In spite of these limitations, the NGSIM datasets are the best microscopic data available to the traffic flow community. Since their release roughly 10 years ago, the NGSIM datasets have become the foundation of most empirically based advances in microscopic traffic flow theories. However, many researchers have identified significant problems in the NGSIM datasets [18]–[23].

1.1.3. Imparting Control Effort The control of traffic flow is constrained by a human driver’s willingness to obey control inputs and the specificity of those inputs. Compliance is a major factor with variable speed limits [24], ramp metering, and lane change prohibitions. The inability to enforce these restrictions reduces the control efficacy. Specificity in control is also lacking with human drivers, e.g., there is no effective way to communicate to a driver to increase headway to dampen an oncoming traffic wave. With semi-automated vehicles on the horizon, such compliance and granular control may soon become available. Penetration of these automated vehicles into the general vehicle population will not be instantaneous. In this regard, the study of how human drivers interact would greatly support the ability of automated vehicles to impart control effects onto the entire vehicle population, and support the study on the effects of heterogeneity both between human and automated vehicles and between the automated vehicles themselves.

1.2. The Instrumented Probe Vehicle

The Ohio State University instrumented probe vehicle (IPV) was developed to collect a vehicle trajectory dataset with resolution suitable to extend the state of the art traffic flow models and resolve the conflicts that persist in contemporary traffic flow theory. Hence, the IVP seeks to resolve the modeling limitations described in Section 1.1.2. To do so, the IPV was equipped with a number of localization and perception sensors, as shown in Figure 1.1 (specific details in appendix A), with the intent to monitor the evolution of microscopic vehicle interactions in the ambient traffic as the IPV drives around.

4 Over more than six years of operation, the IPV collected high resolution vehicle observations covering many environmental conditions within a vast road network; a dataset which is unprecedented in the traffic flow theory community. When performing freeway measurements, the IPV traversed I-70/I-71 through the central business district (CBD) of Columbus Ohio, followed by traveling on one of two routes on I-71 north of the CBD in areas of frequent congestion. Since 2008, the dataset has 233 trips through the region.2 The ultimate goal of the IPV data collection is to track vehicles and measure their microscopic interactions, with a particular focus on critical times such as breakdowns, queue discharge, lane drops/additions, lane change maneuvers, and the impacts of various environmental conditions, e.g., rain, snow, darkness, daylight, etc.

Although the IPV has collected raw data over many years, prior to the start of this research there had not yet been a tool developed to robustly extract the IPV data and convert it in to useable positioning information, e.g., to place observations onto a digitized map and track vehicles within the context of that map. In its current marginally processed state, the IPV dataset has already lead to a number of findings [25]–[27]. However, the IPV dataset remains largely untapped because the analytical toolset has not been available to extract the value of the IPV dataset.

Figure 1.1, The Instrumented Probe Van and associated sensor suite.[28]

1.3. Contribution to the IPV Dataset The following chapters of this dissertation present a specific contribution to the study of the IPV dataset, a contribution that can be considered novel in the body of known research. Necessary

2 Additional trips were collected prior to 2008, but these were lower fidelity and are beyond the scope of the current work. 5 supporting information and extensions to the present state of practice primarily relevant to the IPV can be found in the various appendices. The three primary contributions follow: a method of validating localization results to prove their accuracy (Chapter 2), extensions to Bayesian occupancy grids and belief grids for map orientation and revisiting conditions (Chapter 3), and a suite of analytical tools utilizing such grid maps (Chapter 4). These contributions support an underlying philosophy; if the location of the IPV can be provably known, and a detailed map is available3, then vehicle tracking is greatly simplified and car following models can be developed with respect to map structure. The final detail is important in that the IPV dataset can be used to consider how vehicles follow each other along an arc, how road characteristics affect car following, and how objects near the road can influence those vehicles. This dissertation provides a toolset that successfully abstracts future research away from handling localization, clutter removal, and delineation between vehicle and non-vehicle objects, and does so by providing proven localization and enhanced maps. In short, this work unlocks the IPV dataset for future research pursuing a broad range of topics in traffic flow theory.

1.4. Contribution to Other Fields

While this dissertation is targeted towards utilizing the IPV dataset for the study of traffic flow theory, its contribution extends to the fields from which many of its concepts are derived, specifically: robotics, controls, geodetic engineering, and intelligent transportation systems (ITS). The validation of localization in Chapter 2 provides an automated process to verify that geolocation is accurate via independent sensors. Such work is useful in robotics, geodetic engineering, and ITS; all fields where provable location knowledge is a necessity. The grid systems from which Chapter 3 begins have seen their greatest use in robotics. However, once these grids are map oriented (as developed herein), ITS and geodetic engineering fields could take better advantage of such systems. Further, limitations in the grid systems as applied by the robotics field are identified and resolved with a particular emphasis on scenarios with a large number of temporally disparate observations. Finally, the analytical tools in Chapter 4 extend the state of the art in robotics and ITS, providing new ways of refining location, calibrating sensors, and extracting information from these map oriented grids.

3 In particular, a map containing road boundaries and lanes of travel. 6 1.5. Outline of Instrumented Probe Van Data Extraction

The extraction of data from the IPV dataset involves many operations, see Figure 1.2. For brevity, this dissertation will speak to a subset of these operations; specifically, those operations that are anticipated to appeal to a wide audience. Where relevant to the IPV data extraction, the remaining operations are included in appendices. This research utilizes two data sources, namely the raw IPV data itself, and road maps and aerial imagery from the Open Street Map project [29], described in Appendix A and E, respectively. The extraction of the data from these data sources begins with a global localization process (Appendix B) which extracts the IPV location. A novel technique then validates that localization result (Chapter 2), verifying the efficacy of the global localization prior to those results’ use in downstream operations. A map matching process (Appendix E) then relates the IPV to a digital road map. Concurrently, the new concept of map oriented grids is applied, (Chapter 3) generating map segment frames (a process detailed in Appendix D). Aggregate map generation uses these map segment frames along with the map matched location of the IPV to populate these maps with observational data from the LiDAR returns (also Chapter 3). These aggregate maps are then applied to four operations including moving space identification (also Chapter 3), enhanced localization of the IPV, the identification of structural changes in the map contents, and three different LiDAR calibrations (all in Chapter 4). Finally, the moving space identified earlier supports road boundary detection and lane finding (also Chapter 4)

7

Figure 1.2, The data processing flow of work contained within or supported this dissertation. Filled boxes represent the input data with the lighter shade representing data from the IPV dataset and the darker shade from external sources. The unfilled boxes represent operations upon these data. Arrows show the dependency of one operations input upon another operations output.

1.6. Summary

The IPV dataset was collected with the goal of solving some of the outstanding questions in traffic flow theory whose resolutions are necessary to achieve the highest productivity of our transportation infrastructure, thus positively affecting the environment and economy. This work advances the state of the art in some specific areas of ITS while serving as a necessary and previously lacking foundational toolset for the study of the IPV dataset. Future research will utilize these advances to achieve the potential of the IPV dataset. By building this foundation for the IPV dataset and unlocking its potential, the immense benefits of connected vehicles upon traffic congestion can be accelerated, and present day control strategies can be optimized.

8 Chapter 2: Global Localization Validation

In the field of robotics, localization is the process of relating a robot to other objects within its environment. When such robots are automobiles, localization is commonly with reference to a feature based map of the roadway. Similarly, ITS applications require measurements of traffic behavior to relate to either a geodetic coordinate system or linear reference system. Borrowing from the various fields, this work considers localization as any process which estimates the coordinates of a vehicle with respect to some fixed reference, be it a map, map element, or coordinate system.

Before an application can rely on localization data it is necessary to validate the localization performance. In general, localization validation is provably verifying the quality of a localization estimate, i.e., determining if that estimate is valid. This chapter develops a localization validation methodology which sets out to achieve three goals: (1) assess the accuracy of a global navigation satellite system (GNSS) derived global localization process at the sub-meter level without comparison to another GNSS sensor derived measurement; (2) do so at a considerable number of locations exhibiting a range of fixed occlusions that impact the localization sensors; and (3) perform the validation via an automated process. In short the goals are: independence, diversity, and automation. By achieving these three goals, which the current state of the art cannot simultaneously achieve, this method supports many future ITS applications that require verified localization in the presence of GNSS errors and other sensor errors. One such application is the co-verification of localization and perception sensors, which is necessary for automated vehicles to detect faults that could result in safety hazards. The validation methodology leverages the robotics concept of perception based localization to create observations of location independent of GNSS derived solutions.

The remainder of this chapter is organized as follows. Section 2.1 describes the motivation for performing localization validation with emphasis on automobiles. Section 2.2 presents the current state of the practice for automobile localization validation. Section 2.3 introduces a novel method that verifies the location estimate of ground vehicles. Section 2.4 introduces a localization process with specific application to the IPV dataset, and the requisite information to perform such a

9 validation. Section 2.5 reports the results of applying the validation process to the IPV localization discussed in the preceding section, and demonstrates the ability to localize and verify at sub-meter accuracies. Finally, this chapter closes with conclusions and a brief discussion in Section 2.6.

2.1. The Need for Independent Validation of Global Localization Results

Localization is critical for automated and semi-automated vehicles, ITS, and traffic flow modeling including the IPV dataset. For example, an accurate location is required to place the vehicle on a map, anticipate road curvature, identify the lane of travel, and avoid hazards such as potholes. In the general robotics sense, localization often strictly uses perception sensors that observe the surrounding environment, and then identify and correlate features within that environment to arrive at a solution. Such a process is untenable for the automotive case where the environment is vast and often unstructured. As a remedy, global satellite navigation sensors, GNSS, (of which the global positioning system, GPS, is most common) find frequent use in determining the location of the host vehicle; but for many applications conventional GNSS sensors do not offer sufficient precision and accuracy, in which case the GNSS sensors can be used to provide input for bootstrapping localization via perception sensors (e.g., as will be presented in Chapter 4). GNSS systems are subject to many errors (a discussion of which can be found in appendix B) and are often coupled with inertial or odometrical sensors to obtain a reliable output. For brevity, this chapter refers to any localization system utilizing a GNSS sensor, regardless of its aide by other sensors, as a global localization. Global localization determines a solution without a priori location knowledge (commonly described as the kidnapped robot problem), while local localization determines solutions relative to a known starting location.

However, as Section 2.2. will show, the validation of such GNSS based global localization systems is often lacking at the scales necessary for automotive applications (1 m and less). Without validation, the level of trust to impart onto a global localization result is unknown. While sensors on today’s carefully maintained autonomous vehicle research platforms have excellent consistency, the private automobile fleet does not generally receive such treatment and consumer grade autonomous vehicle global localization will be subject to more frequent failures if proactive solutions, such as this chapter, are not developed. This chapter develops an automated localization validation technique specific to road going vehicles that can support any discipline requiring provable localization results; thus, providing researchers a means for further independent

10 verification of any location dependent result (regardless the quality of their localization suite), and practitioners (including automated vehicles themselves) the ability to establish an appropriate level trust in vehicle originated localization data.

2.2. State of the Practice in Global Localization Validation

Validation is a key aspect to any algorithm development. There are several methods commonly employed to validate automotive global localization processes, but these methods typically use two measurements that are not independent, i.e., both measures rely on GNSS. Validating a global localization methodology requires knowledge of a precise location, which itself is typically found using GNSS measurements. All too often the literature uses an overly simple approach to simulate a GNSS outage by executing the algorithm on historical real-world data, and suppressing GNSS data for specific intervals [30]–[36]. While this validation method tests the stability of the algorithm, it does not test the algorithms robustness to erroneous GNSS readings, such as those due to radiofrequency multipath interference. Other studies use qualitative observations of performance during periods of real-world outages [33], [37], however such a method cannot provide a quantitative assessment. Some studies employ map information, e.g., from a road map that was known to be somewhat inaccurate [38] or from aerial imagery [39]. Both of these methods must make assumptions about the accuracy of the map information being used, while the later must account for the accuracy of the image projection. The most rigorous validations come from a secondary set of sensors including one or more additional GNSS sensors or a high accuracy inertial measurement unit that has been rigorously calibrated [30], [33], [34], [40]–[43]. Finally, some studies omit real world data entirely and rely purely on simulation to validation their methods [44].

2.3. Methodology for Validating Global Localization Results

As noted in Section 2.2, the research identified to date does not fully support the validation of the localization process for road vehicles, and so this section develops a validation process to address this shortcoming. To achieve the goals of independence, diversity, and automation the validation methodology uses a LiDAR sensor for perception to detect a set of pre-defined landmarks at known locations. As implemented, this method uses luminaires (colloquially called light poles or streetlamps) as these landmarks since they are easy to extract from the perception sensor data and represent a distinct, point-like target in the ground plane with small length and width.

11 Correspondingly, this work models each landmark as a point in space.4 The perception sensor measurements are relative to the sensor, and thus, the host vehicle. Therefore, global localization error will propagate into any perception measurement made with respect to the localized frame of reference. For each landmark a trip line is defined that starts at the landmark and laterally crosses the road. This work refers to the combination of a trip line and landmark as a gate. At each gate the perception sensor is used to identify when the landmark is passed longitudinally. At which point the relative location of the luminaire laterally with respect to the perception sensor is recorded along with the global localization result of the host vehicle as it passes. The relative location of the landmark is transformed into the global reference frame using the global localization result, and since the perception sensor on the IPV has cm level accuracy, any deviation between the actual and measured landmark location represents an error due to the global localization process.5

2.3.1. Summarized Operations, Characteristics and Novelty As noted above, the processing methodology validates the localization at gates associated with the spatial point-like luminaire landmarks. Whenever the host vehicle crosses a gate, the methodology searches for the associated luminaire’s presence in the perception data. The search includes the time samples near when the host vehicle crosses the gate, i.e., the instant the global localization estimates that the perception sensor passes the luminaire. Once the LiDAR scan with the luminaire is found, the lateral and longitudinal distances to the landmark are calculated and stored for location validity assessment. To this end the processing is broken in to the following six operations:

i) Identify landmarks along the roadways the host vehicle(s) traverses. ii) Define trip line(s) that originate with a given landmark and are orthogonal to the direction of travel. Together with the landmark the trip line forms a gate. iii) Search for the given landmark via the perception sensor in the vicinity of each trip line crossing. iv) Calculate the longitudinal difference between the expected and observed landmark location. v) Calculate the lateral distance to the observed landmark.

4 The process can be easily extended to corner features or other immobile characteristics of the landmark that can be identified in space by the perception sensors. 5 Obviously, the accuracy of this technique depends on the accuracy of the perception sensors. It is possible that such accuracy could be achieved with beacons specifically designed to enable highly accurate low cost perception sensors, e.g., via RFID. This process could also be converted to use wayside sensors in place of landmarks found with perception sensors if the wayside sensors offer sufficient positioning accuracy, and thus, providing inspection stations for global localization on vehicles without perception sensors, e.g., some connected vehicles. 12 vi) Convert the longitudinal difference and lateral distance into an estimate of positioning error.

Before covering the details of these operations, it is first necessary to briefly describe the characteristics of the perception sensor and the process, as follows.

A. LiDAR Characteristics

The use of a LiDAR sensor for perception allows for the automatic identification of landmarks.

This methodology specifically uses a LiDAR scanning in the Yb-Zb plane vertically across the road (as per appendix A), observing the space immediately to the left of the driver. The arc of the scan goes from the negative Zb direction, through 180°, to the positive Zb direction. As it scans, it returns a range value every 0.5°. Figure 2.1 shows an example of the LiDAR scanning a luminaire with the sensor located at (0, 0) in this plot. The LiDAR sensor used in this work has a specified ranging accuracy of ±35 mm, providing very precise relative distance to the given landmark while the thin profile of the luminaire bounds the longitudinal position when observing the landmark. These capabilities will be utilized by the processing methodology to determine where the IPV is in relation to the landmark. Note that many other perception sensors could be used, so long as the landmark can be identified within the measurement.

Figure 2.1, Luminaire observed at -15 m laterally by the LiDAR, the top is at approximately (-10, 12).

13 B. Process Characteristics

The perception sensor provides a localization result relative to the IPV, and is independent of any GNSS sensor. However, the perception result can be transformed into the global sense, called the perceived location, using a corresponding global localization and simple trigonometry. For example, suppose the perception result is that the host vehicle is +5 m laterally away from the luminaire as the IPV crosses the gate, then the perceived location is that the luminaire is located at the position of the IPV plus a vector of length 5 m oriented in the direction perpendicular to the IPV’s heading.

If the precise global location of the landmark is known (i.e., it has been independently surveyed), then a single perceived location is sufficient to calculate the global localization error. Any global localization error creates a difference between the perceived location and true location, assuming that the error due to the perception sensor is negligible (as noted above, the LiDAR sensor is accurate to sub-cm precision). The above case is considered constrained in that it works with no assumptions about the nature of localization error, but under the constraint that the precise location of the landmark must be known. Real world applications of this method could be achieved by the placement of an intentional, well surveyed calibration landmark.

Of course, for many landmarks, such as the luminaires in the region of IPV study, the precise location is unknown. This research generalizes the above to a multiple pass approach that compares the consistency of the reported positioning of a given landmark, across multiple passes, and ideally over a variety of times and conditions. In this multiple pass method, the aggregate observations from many passes are used to identify the variability in global location estimates. While any variation in perceived location across multiple observations represents global localization error, this approach only provides a lower bound on the positioning error. The result is a lower bound because a constant bias in the observations is undetectable, thus the need for assuming that localization errors are zero mean. However, when this assumption is reasonable, a new method for the validation of field data is available. Using this method, an automated process can opportunistically use salient features and aggregate data to determine erroneous observations in V2X scenarios, and assess the consistency of global localization results for the IPV. The remainder of this chapter focuses on the application of the general case in which landmark locations are not precisely known because this case was applicable to the IPV dataset.

14 2.3.2. Landmarks, Trip Lines and Gates This section details the formation of the three features that are required at each landmark. In the IPV scenario it is important to assess the performance of the localization method under conditions challenging for the IPV’s localization sensor suite; thus, the landmarks are chosen near locations that present these challenges.6

A. Landmarks

As this method defines, landmarks provide point features or can otherwise be distilled down to a discrete point in space. A perception sensor then measures distance between the landmark and the host vehicle. In the area of interest for the IPV dataset, the I-70/I-71 corridor of Columbus Ohio, luminaires are regularly found on the middle divider, which is on the driver’s side of the IPV and visible from both directions of travel. These luminaires are consistently visible to the driver’s side LiDAR, permitting their use as the requisite landmark for the validation methodology. Typically, the luminaires mount to the median Jersey barrier which provides for unambiguous lateral positioning along the roadway both, before and after passing the luminaire.7 In the general sense, landmarks do not need to be luminaires, which were simply convenient to extract from the LiDAR data, e.g., for optical sensors signage could be detected [45] as a salient feature.

For the IPV dataset, luminaires and their approximate locations were manually identified in ortho- rectified aerial imagery. The position of each luminaire location was converted into a local space fixed Cartesian reference frame (abbreviated LSFF), and recorded as a landmark. The landmark locations are approximate, and later steps will remove any structural error due to position offset between the landmark and the luminaire. Obviously, this approach could easily be generalized to landmarks only seen in one direction and/or located to the right of the IPV.

B. Trip Lines

A trip line cuts across the roadway laterally and has two bounds, the first is the landmark from which it originates, and the second is the outer edge of the road where it terminates. The trip line provides unambiguous longitudinal positioning and is used to initiate the landmark search space.

6 When considering real time applications such as V2X or automated vehicles, the discovery of faulty or uncalibrated sensors is of greater utility than evaluating localization efficacy. In such a scenario, it may prove desirable to have a high density of landmarks to continually validate that the sensors are functioning properly with less concern about explicitly finding challenging conditions. 7 A luminaire alone can achieve the same lateral positioning, but is subject to more error than the Jersey barrier if the LiDAR is subject to an unanticipated pitch angle. 15 The landmark, being a point feature, provides an ambiguous measurement of distance between itself and the perception sensor. Once a landmark is detected the IPV could be on any point of an arc centered at the landmark with a radius of the measured distance. The trip line constrains measurements to be at a particular angle in space, removing this location ambiguity, while also capturing the direction of the road.

For this work, each trip line was manually defined using ortho-rectified aerial imagery to draw a line segment from the landmark location laterally to the road boundary. A given trip line also establishes a roadway orientation from which will be defined lateral and longitudinal displacement measurements. Thus, care must be taken at this stage because an incorrect orientation will degrade measures in later stages. When provided with a quality map, the definition of trip lines could be automated to simply extend perpendicularly from the roadway centerlines.

C. Gates

A gate in this work is the combination of a landmark and one or two trip lines (a gate made up of two trip lines is bi-directional supporting two directions of travel while a gate consisting of a single trip line is uni-directional). Figure 2.2 shows an example gate with the landmark and bi-directional trip lines drawn. Also shown are 205 vehicle trajectories in each direction of travel through the gate, each traversing through the trip lines.

Figure 2.2, Trip lines at a gate, shown in black, with boundaries shown as *. Aerial imagery from [29].

16 2.3.3. Landmark Search and Recovery The goal of the landmark search operation is to identify the precise instant in time that a landmark is observed via the perception sensor as the host vehicle passes each gate. The search executes in two parts. The first uses the global localization result (i.e., the output of the aided global localization methodology) to identify the instant when the global localization indicates that the landmark should have been past. The second part searches through the perception data proximate to that time to identify an observation that contains the landmark.

A. Gate Passage Time

The first part of the landmark detection identifies when a given trip line is crossed based on the global localization results. In a real time system the gate passage time, tG, can be found by inspecting two consecutive localization results to determine if the trip line was crossed. In the case of this work the IPV dataset is historical and so the analysis uses bulk processing to find tG for each trip line crossing at each gate for each IPV tour, using the same principle as the real time approach, i.e., finding all instances where the IPV crosses from one side of a trip line to the other. The output is a list of these tG, indexed by gate. Additionally, the entire LiDAR scan (Yb-Zb values) at tG is recorded for use in calculating the lateral error.

B. Landmark Passage Time

If there is any localization error longitudinally along the road, then the recorded tG will not correspond to the instant that the IPV actually passed the landmark. On the other hand, if there is any lateral error across the road, the distance to the landmark will be wrong as the IPV passes. To catch both of these dimensions the second part of the landmark detection searches the LiDAR scans for the luminaire within a time window spanning a short time before to a short time after tG. The result of this search identifies the instant, tL, when the IPV actually passes the landmark according to the perception sensor and how far away the landmark was at that instant. This independent measure of landmark passage is key to validating the results of the localization process.

To actually find the landmark in the LiDAR data it is necessary to define an overhead region that should be clear of all objects except the luminaire (be it fixed objects or other vehicles). This region is expressed in terms of the host vehicle’s body fixed frame. For the present work, the overhead

17 region is defined manually8 for each gate and then the data are processed in bulk by following three steps. The first step is identifying the laterally most distant pass across all of the passes in the evaluation set. The second step is the manual discovery of the LiDAR scan which contains the landmark, from the laterally most distant pass. The third and final step is the selection of a region which contains the luminaire for the laterally most distant pass and all closer passes. When defining the overhead region, it is important to define the minimum height to be high enough to eliminate the possibility of incorporating tall vehicles, like tractor trailers within the region. Since the luminaire is the only object around at this height, the regions can be quickly established by plotting the LiDAR scan data in 3 dimensions as a function of distance along the road.

With the overhead region defined for a given gate, starting at tG, the LiDAR scans are processed both forwards and backwards in time in search of the luminaire. For this study, LiDAR returns within the overhead region from each individual scan are counted. The first instant closest to tG (before or after) when the LiDAR return count exceeds a threshold of four returns is taken to be the

9 instant that the luminaire is found and the landmark passage time, tL, is set to this instant. The corresponding aided global localization and is recorded for this instant.

Figure 2.3 contains the individual LiDAR scan corresponding to tL from each of 205 LiDAR northbound passes of a single landmark luminaire, identified by the preceding steps. To generate this figure, the lateral distance from the IPV to the landmark luminaire was found and this distance is added to the Yb axis values of the return to normalize each scan so that if there was no aided global localization error, all scans of the luminaire would fall at approximately 1 m on the Yb axis (due to the LiDAR to GNSS distance on the IPV being approximately 1 m). There are several instances in Figure 2.3 where luminaire identification is robust with occlusion as shown by the occluding returns from other vehicles occupying the region above the road level, between -2 m and

2 m on the Zb axis, and between 4 and 14 m on the Yb axis. It is also apparent in Figure 2.3 that the luminaire observations are spread across approximately 2 m on the Yb axis, signifying lateral error within the underlying aided global localization.

8 Alternatively, the overhead region could be programmatically defined either given a model of roughly what a luminaire should look like, or in a more general situation, using machine learning over numerous passages to automatically pick out distinct features to be used as landmarks. 9 The threshold of four returns proved a simple and effective mechanism for the IPV data processed to date, and was found sufficient to eliminate observations of non-luminaire objects such as electric wires and rain. Future work could substantially enhance this method by, for example, finding the scan temporally near tG with the maximum number of returns within the overhead region or even modeling the shape of the luminaire. 18

Figure 2.3, Two hundred and five LiDAR observations of the same luminaire. Note that the horizontal axis now has the origin at the expected location of the landmark as if the LiDAR sensor were co-located with the GNSS antenna, but these two sensors are roughly 1 m laterally apart.

2.3.4. Calculation of Longitudinal Error

The gate passage time, tG, is the instant that the aid global localization result indicates that the IPV passed the landmark. Assuming that the perception sensor is mounted perpendicular to the direction of travel of the vehicle (in our example case the driver’s side LiDAR) and that the vehicle travels in the approximate heading of the roadway, the landmark passage time, tL, is the actual instant that the IPV passes the landmark.

For each pass of a gate, the longitudinal error is calculated as the distance along the roadway between the host vehicle’s position at tG and tL. The sign of this error reflects whether the IPV was upstream (+) or downstream (-) of the trip line when the landmark was actually observed at tL. The mean value of the longitudinal error across all passes is removed from each pass in accordance with the zero mean assumption from 2.3.1.B.10 The aggregation of these longitudinal errors can be used to estimate the overarching statistical nature of such errors, as Section 2.3.6. will show.

2.3.5. Calculation of Lateral Error With the longitudinal error known, the lateral error can be calculated in the following six steps. The first step finds the lateral distance, xG, of the IPV to the known landmark location according to the

10 By assuming the error is zero mean, any consistent offsets are negated while still providing for a description of the nature of the errors using the measure of standard deviation. 19 11 aided global localization results at tG. The second step extracts the perception data at tG , i.e., in the current work the LiDAR scan which contains the Jersey barrier upon which the luminaire is mounted. Note that since the scan at tG is used rather than tL the scan might not contain the luminaire. The third step adds xG to the lateral position of all of the LiDAR returns at tL, i.e., shifting the LiDAR scan such that the aided global localization of the landmark is at 0 m on the Yb axis, yielding the gate-local space fixed coordinate system. According to the coordinate system, if the localization process results were perfect, all observations (those from every pass) of the landmark would fall on top of one another. Any imperfection in the localization process results in there being a lateral spread of the landmark within the coordinate system.

The fourth step identifies the smallest range of Yb in the gate-local space fixed coordinate system such that this range contains the landmark observation from every pass. In the present work the identification is performed manually.12 The LiDAR scans from all of the passes are plotted in the gate-local coordinate system (e.g., Figure 2.4a). The user then manually selects a region that encompasses the returns incident upon the landmark, in this case the Jersey barrier at the base of the landmark. Figure 2.4b shows a detail of Figure 2.4a in the vicinity of the Jersey barrier. The horizontal span of the magenta line shows the user selection of the Yb point range of the Jersey barrier observations. The fifth step finds the mean value of the measured lateral landmark position for each pass, where the lateral position is measured within the vertical region spanned by the magenta line in Figure 2.4b. When the LiDAR is occluded from seeing the landmark, no points are returned in the bounding box and the algorithm identifies that pass of that landmark as having no lateral information. The frequency of occlusions per landmark were low, typically only one to two per landmark out of 100-205 passes, having little impact on the final result. To control for the Jersey barrier’s vertical curvature, per each scan, the mean Yb value in the selected region is taken to be the lateral position of the landmark. The sixth and final step once more employs the zero mean assumption from Section 2.3.1.B. The lateral error of each pass is calculated as the difference between the later error of each pass and the mean of the lateral position for every pass.

11 If tL is used to find the lateral distance, one must take care to calculate xG with respect to the line normal to the trip line rather than the known landmark location. This change is required to account for any lateral movement between tG and tL. 12 For larger scale evaluations this process could easily be automated through simple shape detection. 20

Figure 2.4, a) LiDAR scans at trip line for the northbound trip, each return is a dot. Note that these scans are from tG. b) A detail of the Jersey barrier from part a. The thick magenta line shows the selection of region of Jersey barrier observations. The region is the smallest horizontal rectangle that encloses the magenta line.

2.3.6. Calculation of Aggregate Errors and Comparison with Raw GNSS Each gate passage now has a lateral and longitudinal error measured relative to the corresponding landmark for the aided global localization, and normalized such that their aggregate is zero mean. With these measurements available it is simple to calculate statistical measures including standard deviation, range, and percentiles. Obviously, one desires these values to be small, which signifies greater accuracy. For this research, the objective was to achieve 90% of the lateral error below one meter. Section 2.5. will show the application of the preceding process to obtain these measures for the IPV dataset.

To show the efficacy of an aided global localization versus the raw GNSS position solution, it is useful to be able to compare these two measurements. However, such a comparison is limited by the fact that given the choice of landmarks at locations where the GNSS often exhibits errors, that the raw GNSS might not have a valid report as the IPV passes a gate. Oftentimes, when a GNSS sensor’s signal is disrupted, it reports drifting and erroneous values. In the case of the IPV, if the signal quality is reduced too far the GNSS sensor suppresses its measurements and instead, continues to report the last position that had sufficient signal quality while retaining the previous time stamp. In the IPV dataset, at many of the gate locations near satellite occlusions, the GNSS sensor simply does not report a position. To obtain a surrogate localization from the raw GNSS data for the IPV dataset, the following steps are applied. Each sample with a duplicate GNSS sensor time stamp is identified and removed, along with the preceding and following sample. An interpolation using a piecewise cubic Hermite interpolating polynomial (PCHIP) is applied to the 21 remaining GNSS samples to estimate the GNSS position at the time the trip line was crossed. While generally effective, the result contains the occasional egregious error, especially at locations with complete satellite occlusion.

2.4. Application to IPV Localization

This section develops the necessary framework to apply the methodology developed in Section 2.3 to the IPV dataset. While the focus is the IPV dataset, the method is broadly applicable to any host vehicle where an appropriate perception sensor is available and either (1) one or more host vehicle passes a landmark, or landmarks, many times, or (2) the precise location of the landmark is known.

2.4.1. Aided Global Localization Method In order to exercise the methodology of Section 2.3, an exemplar aided global localization method is necessary. This section briefly presents such a method that is based upon an information fusion filter to localize the IPV from the on-board GNSS and dead reckoning measures. The method uses a GNSS sensor in the form of a differential GPS receiver, and is assisted by a yaw gyroscope and odometer (for more detail see Appendix B). In satisfying the overarching objective of the IPV empirical data collection effort, the localization process is done post hoc from the historical data archive in a manner where high accuracy takes precedence over computation time and causality. These factors differentiate the present work from much of the road vehicle literature, which is generally concerned with on-board processing that operates in real-time. Taking full advantage of the post hoc processing this work utilizes a computationally intensive algorithm that is atemporal in nature, using both past and future localization measures to improve the localization in a given instant. Figure 2.5 shows the results of the aided global localization method in comparison to the raw GNSS data at a number of challenging locations, note the outages and drift evident in the raw data and corrected in the final data. Obviously, it was of great interest to validate these results with a quantitative measure, rather than simply the qualitative aerial overlay seen here.

22

Figure 2.5, Final results of the position filtering process at selected locations, white, and the Raw GNSS readings, black. a) Start and End of tour, b) Under a bridge causing both subtle and large GNSS errors, c) passing through a tunnel, d) Circular ramp with underpass. All aerial images are from the OSM project [29].

2.4.2. Gate Locations Eighteen bi-directional gates were chosen for the assessment of the aided global localization method's accuracy. These gates spanned locations throughout the extents of the longest route, as shown in Figure 2.6, with a particular focus on regions that frequently incur GNSS errors. Gates are numbered in the order they are crossed on the outbound portion of the route (East then North). For this test only the outbound gates are considered, leaving an untouched inbound dataset for verification in future work.

23

Figure 2.6, Gates overlaid on map, Gates 1 and 18 identified for context. Raster map from OSM project [29].

The gates cluster into three primary areas: the Central Business District (CBD), the area immediately east of the CBD, and near a 92 m long tunnel beneath a former rail yard. In addition to these clusters, three spot checks are made, one with a good horizon view just north of the 17th Ave. interchange, one near the North Broadway interchange, and one near the Polaris Pky. interchange. The CBD gates are shown in Figure 2.7a. Gates 1 and 2 on the left of the figure are above grade with clear view of the horizon while gates 3-8 on the right of the figure are below grade with overhead bridges and occluded horizon views. Figure 2.7b shows the cluster east of the CBD including gates 9 and 10, these two gates are below grade with overhead bridges and occluded horizon views. Figure 2.7c shows the third cluster, gates 11-15. Four of these gates are below grade with overhead bridges and occluded horizon views (gates 13 and 14 are at the start and end of the 92 m long tunnel) while gate 15 is at grade and provides a nearby point with good horizon view. The three remaining gate locations are further north, each being at grade with good horizon view, but are far enough from the other locations that they are not clustered.

24

Figure 2.7, Gate numbers and locations in 3 regions. Part a, through the central business district. Part b, east of the central business district. Part c, near a tunnel. Aerial images are from Open Street Map project [29].

2.5. Results

This section presents the results of the validation of the IPV aided global localization methodology from Section 2.4.1 using the validation methodology from Section 2.3. The purpose of including these results is two-fold. First, these results show the validation process in practice providing quantitative outputs that are of a fidelity not yet identified in the existing body of research. Second, it demonstrates the efficacy of the aided global localization methodology, providing trust for the results discussed in later chapters.

The validation was executed on all IPV outbound trips over each of the 18 gates. Each gate has unique characteristics, but for brevity, only the detailed results for gates 1 and 4 are included in this chapter, the remaining results can be found in Appendix C. The results for each gate include an aerial view for context, figures for the cumulative distribution function for both lateral and longitudinal error, and a table of the raw results. Each table shows the 5th and 95th percentile value for the aided global localization (simplified to corrected in all illustrations) and raw data, the percent change the correction yields, and the standard deviation. The percentile is used to reduce the effect of single extreme outliers for both the raw and corrected data and the 5th and 95th percentiles are included separately to show any asymmetry in the error.

All gate locations except for 18 have a total of 205 passes of the IPV in the northbound direction. These passes are from all available tours in the IPV dataset. Whereas gate 18 (the northern most gate, observed only by a fraction of the tours) has a total of 74 passes of the IPV. The next two subsections present the results for gates one and four, respectively, followed by a tabulation of the general results at all gates. 25 2.5.1. Results at a Gate with a Clear View of the Sky Gate 1 is on a bridge above grade with a clear view of the horizon, as shown in Figure 2.8. The columns in Table 2.1 show both the Raw GNSS location and the aided global localization performance along with the total and relative improvements that the localization method provides. At this location the filtering provides a small improvement in the lateral SD, a very small degradation in the lateral range, and large improvements in the longitudinal measures. Figure 2.9a shows the lateral displacement from each pass, enumerated from 1 to 205 on the horizontal axis and the corresponding lateral displacement on the vertical axis. A lateral displacement of zero implies that the lateral distance from the IPV to the landmark as measured by the LiDAR agrees with the output of the localization process after removal of the overall mean as described in Section 2.3.5. The last three readings (each from the final IPV tour) in this figure substantially exceed 1 m in displacement for both the Raw and Corrected positioning. Investigation of the final tour errors determined that the position reported by the GNSS sensor was consistently offset from the true position at all gates, and verified by aerial images, but the source of this offset is unknown. Figure 2.9b shows the corresponding longitudinal displacement, where a longitudinal displacement of zero means the IPV observed the landmark at the same instant in time that the localization process estimated the IPV crossed the trip line (again after removal of the overall mean as described in Section 2.3.4). Figure 2.10 shows the scatter plot of lateral and longitudinal error on the horizontal and vertical axis, respectively, and for reference the two ovals denote one and two SD of the combined error (Euler distance from the origin). The three extreme points above 1.5 m displacement (enclosed in a red box) are all passes from the final tour.

Figure 2.8, Gate 1 aerial image

26

Raw (m) Corrected (m) Change (m) Change (%) SD 0.4015 0.3243 -0.0773 -19.2

95% 0.5702 0.469 -0.1011 -17.7 5% -0.4623 -0.3948 0.0675 -14.6

Lateral Range 3.1744 2.6842 -0.4902 -15.4 SD 0.8071 0.5665 -0.2406 -29.8 95% 1.802 0.9526 -0.8493 -47.1 5% -0.9988 -0.9584 0.0405 -4.1

Longitudinal Range 4.0457 2.5078 -1.5378 -38.0 Table 2.1, Gate 1 results

Figure 2.9, a) Gate 1 Lateral Error. b) Gate 1 Longitudinal Error.

27

Figure 2.10, Gate 1 passes combined lateral and longitudinal error, the green dashed circle is one standard deviation while red dotted circle is two standard deviations.

Figure 2.11 presents the cumulative distribution of the lateral and longitudinal errors. The long tail of longitudinal errors has been greatly reduced by the localization method. Figure 2.12 presents the lateral and longitudinal errors of the localization process in relation to the IPV speed. The faster the IPV travels, the greater distance is covered in a single LIDAR scan. Since travel is in the longitudinal direction, the effect of speed on error should be greater in that direction, and should roughly increase by the same amount in both the positive and negative directions. The fact that these plots do not show symmetric growth suggests that the LiDAR is not perfectly orthogonal to the direction of travel or that there are small but non-negligible issues with the time synchronization between the various sensors (write time versus actual observation time and/or time interpolation across the different sampling rates by the different sensors).

The preceding result is perhaps the greatest weakness of the proposed localization validation method. The weakness is specifically the finite sampling rate of the LiDAR, combined with the speed of the IPV cause an artificial expansion of the longitudinal error. The quicker the sample rate of the perception sensor, the less the impact of this expansion. If other perception sensors types are used, their susceptibility to such conditions should be considered.

28

Figure 2.11, a) Cumulative distribution function of Gate 1 lateral error from filtered position and Raw GNSS. b) Cumulative distribution function of Gate 1 longitudinal error from filtered position and Raw GNSS.

Figure 2.12, a) Gate 1 lateral error versus IPV speed. b) Gate 1 longitudinal error versus IPV speed.

2.5.2. Results at a Gate with a Partially Occluded View of the Sky The fourth gate is shown in Figure 2.13 and for the outbound trips it is immediately downstream of an overpass. Table 2.2 shows the results at this gate. The impact of the overpass is clearly evident, with the raw lateral error being an order of magnitude worse than Gate 1 and the raw longitudinal being 3-4 times worse than Gate 1. These larger errors arise from the GNSS sensor's poor response to the periods of satellite occlusions, similar to those seen in Figure 2.5b. Now the corrected data show vast improvement compared to the raw data with almost all metrics showing 75%-80% improvement, reflecting the benefit of the IPV aided global localization methodology (appendix B). Figure 2.14 shows the lateral and longitudinal cumulative distribution functions and how they are influenced by the occlusion due to the bridge. Compared to Gate 1 (in Figure 2.11), the raw data exhibit a wide range of values in both dimensions while the processed data are much tighter

29 than the raw, but they are still distributed over a larger range than Gate 1. When comparing to the cumulative distribution functions of gate one, the gate four distributions are slightly wider for lateral, and considerably wider for longitudinal, representing an increase in error at this location. Figure 2.15 shows how error is influenced by the IPV speed at Gate 4, specifically that the longitudinal error shows the same dependency upon the IPV speed as was seen in Gate 1, suggesting that indeed the longitudinal error range is in part due to the low sampling rate combined with the higher speeds.

Figure 2.13, Gate 4 aerial image.

Raw (m) Corrected (m) Change (m) Change (%) SD 3.3 0.3748 -2.9252 -88.6

95% 3.4994 0.7349 -2.7645 -79.0 5% -5.2605 -0.5505 4.71 -89.5

Lateral Range 33.8292 2.3007 -31.5285 -93.2 SD 2.9993 0.7702 -2.2291 -74.3 95% 5.5556 1.1432 -4.4123 -79.4 5% -2.9167 -1.6313 1.2854 -44.1

Longitudinal Range 18.5477 4.1821 -14.3656 -77.5 Table 2.2, Gate 4 results

30

Figure 2.14, a) The CDF of lateral error for gate four. b) The CDF of longitudinal error for gate four.

Figure 2.15, a) The relationship of lateral error and speed at gate four. b) The relationship of longitudinal error and speed at gate four.

2.5.3. General Results at All Gates The preceding results demonstrate that the localization methodology of Section 2.4.1 achieves its intended goal of a 2 SD error of less than 1 m. Table 2.3 and Table 2.4 presents the results for the algorithm across the 18 gates analyzed. The maximum measured lateral standard deviation was 0.375 m, the two standard deviation, value is then 0.75 m, within the 1 m limit established for lane level accuracy. The highest observed lateral error was experienced at gate five, near a bridge, under grade, and in the CBD. The maximum longitudinal standard deviation is approximately twice the

31 lateral value. As stated earlier, the longitudinal measures suffer from a smearing due to the speed of the IPV since a vehicle traveling the speed limit will travel 0.6 m between LiDAR scans and 6.7 m between GPS readings, so the increased longitudinal ambiguity is expected. The two standard deviation of the longitudinal error is 1.54 m. This amount should be acceptable for identifying physical locations from the IPV data.

When comparing the center 90% range (noting that previous tables displayed the bounds, rather than range), every circumstance shows an improvement in the range, i.e., the range is smaller for the corrected location resulting in a negative percent difference. Here the data show that at its worst performance, aided global localization methodology results in a 16% improvement over the raw GNSS data.

Lateral Gate Raw 95/5 Range (m) Corr. 95/5 % Change Raw SD Corr. SD GNSS Quality Range (m) 1 1.03 0.86 -16.3% 0.40 0.32 Good 2 0.96 0.79 -18.1% 0.32 0.27 Good 3 7.26 1.09 -85.0% 2.30 0.34 Fair 4 8.76 1.29 -85.3% 3.30 0.37 Poor 5 1.55 1.03 -33.7% 0.82 0.33 Good 6 1.29 0.95 -26.8% 0.51 0.32 Good 7 1.28 1.01 -20.8% 0.51 0.34 Fair 8 6.62 0.99 -85.0% 2.05 0.34 Poor 9 1.59 0.74 -53.3% 0.52 0.24 Good 10 2.54 0.88 -65.3% 1.01 0.27 Poor 11 1.05 0.61 -41.6% 0.33 0.18 Fair 12 5.23 0.66 -87.4% 1.83 0.21 Poor 13 7.17 0.67 -90.7% 5.74 0.22 Poor 14 7.04 0.63 -91.0% 2.93 0.21 Poor 15 1.10 0.63 -42.2% 0.35 0.20 Fair 16 0.97 0.72 -25.6% 0.30 0.21 Good 17 1.09 0.73 -32.9% 0.34 0.23 Good 18 1.18 0.58 -51.1% 0.36 0.18 Good Table 2.3, Lateral results of the localization process from the observation of 18 gates using all available tours. Corr. is short for corrected, and reflects the measurements of the global localization method. Raw reflects the values of the GNSS measurements withoout modification.

32

Longitudinal Gate Raw 95/5 Range Corr. 95/5 Range % Raw Corr. GNSS (m) (m) Change SD SD Quality 1 2.80 1.91 -31.8% 0.81 0.57 Good 2 3.37 1.97 -41.5% 1.00 0.57 Good 3 7.36 2.34 -68.2% 3.41 0.73 Fair 4 8.47 2.77 -67.3% 3.00 0.77 Poor 5 3.67 1.73 -52.9% 1.27 0.54 Good 6 2.75 1.93 -29.8% 0.94 0.56 Good 7 3.62 1.48 -59.2% 2.33 0.47 Fair 8 6.71 1.53 -77.3% 2.23 0.48 Poor 9 2.68 1.71 -36.2% 1.24 0.54 Good 10 4.07 1.96 -51.8% 1.67 0.59 Poor 11 3.63 1.80 -50.5% 3.01 0.64 Fair 12 6.51 1.78 -72.6% 3.13 0.61 Poor 13 7.96 2.18 -72.6% 4.10 0.69 Poor 14 9.19 2.15 -76.6% 9.67 0.68 Poor 15 2.67 1.72 -35.7% 0.85 0.49 Fair 16 3.17 1.40 -56.0% 0.99 0.41 Good 17 3.63 1.59 -56.3% 1.17 0.45 Good 18 3.73 1.08 -70.9% 1.14 0.45 Good Table 2.4, Longitudinal results of the localization process from the observation of 18 gates using all available tours.

2.6. Closing

A validation methodology has been introduced which uses a perception sensor and opportunistic observations to independently and quantitatively assess the performance of an aided global localization process. Such a validation of global localization in the automotive environment has not yet been identified in the greater body of automated vehicle and ITS research. Three goals are achieved by this methodology, namely: independence, diversity, and automation. Independence is obtained by not relying on the presence of another GNSS based sensor, or the artificial disruption of the sensor under test. Diversity is obtained by the native ability for the validation to occur wherever a landmark is defined. Landmarks can be selected so that they are prevalent in the region under test; the only limitation upon landmark density is that they must be separated by a distance greater than the maximum anticipated aided global localization error. Automation was not fully

33 developed in generating this proof of concept, with only repetitive processes receiving such attention; however, each step could be automated for a larger scale deployment. By meeting these three goals, the validation methodology’s use extends outside that of the IPV context to other research into geolocation systems and into automated vehicles and V2X. With potential applicability to any such system that requires trust in an aided global localization estimate, be it post hoc or real time.

While this research used luminaires as its landmarks, many other features could be used as long as they are chosen with consideration to the capabilities of the particular perception sensor in use and the proliferation of that feature in the region of study. Ideally, the landmarks would model a point, thus overpasses and omni-directional RF sources are problematic. Some potential candidates for landmarks are road signs, gantries, and mile-marker posts. Similarly, perception sensors besides LiDAR would be suitable, such as optical sensors (e.g. video), or RF (e.g., detecting a toll tag reader).

The results of applying the methodology to the IPV dataset showed that the validation method obtains sub-meter results at locations where no lane level digital map was present. Standard deviations in lateral positioning were identified in magnitudes less than 0.37 m. While kinematic GPS sensors can achieve such a result, they lack true independence and cannot validate an aided global localization output in GPS denied areas, such as tunnels. Conversely the proposed solution could conceivably be used to verify lane level accuracy within tunnels. The results also showed a particular weakness to the method, that the sample rate of the sensor and the rate of travel of the host vehicle limit the fineness in errors that can be detected in the longitudinal direction. Specifically, the longitudinal standard deviation was never less than 0.4 m, twice that as observed in the lateral direction.

Likewise, this chapter verifies that the IPV aided global localization methodology achieves lane level accuracy, with 90% of the lateral error being between 0.58 m and 1.29 m. Longitudinal error was greater, with the 90% error pking at 2.7 m, which appears to be due to the longitudinal speed of the IPV. Such error levels are satisfactory for the IPV dataset and further reduced in Chapter 4.

Future work should focus on reducing the weakness in longitudinal error identification, extend the process to different landmarks and perception sensors, and complete the automation. Reducing the longitudinal errors that are due to the sample rate of the perception sensor and the speed of the host vehicle would immediately allow better assessment of the IPV aided global localization while

34 making the methodology less sensitive to speed. A researcher may be interested in how speed impacts the validity of a localization process, and resolving the preceding issue would be necessary to provide such output. Other sensors would provide more general or lower cost options, potentially leveraging sensors already present on many vehicles (e.g. lane departure cameras). Finally, in regards to automation, the particular landmark and perception sensor chosen will change the requirements for completing automation. While the LiDAR-luminaire pair could be automated, the direct utility outside of the IPV dataset is unknown. Rather, it may would be more beneficial to calibrate a lane departure camera to detect gantries, due to the much broader applicability of such system.

35 Chapter 3: Map Oriented Grids with Revisiting

Accurately placing the IPV within the context of a lane level map is critical in reducing the measurement noise that previously limited application of the IPV dataset. This research set out to develop a globally referenced mapping framework that could use the IPV measurements to generate those necessary lane level maps, leveraging its many observations of the road network. The existing map formats all had undesirable labilities, so this research ultimately developed a new hybrid of the existing map formats that that has benefits beyond the scope of the IPV work.

Figure 3.1a is an example of one of the simplest globally referenced road map formats: a 1D vector road map, similar to what is available via the OSM project. The simple map is suitable for determining location and connectivity of the roads, but not much else. Figure 3.1b represents a high definition feature map such as the maps present day ‘self-driving’ vehicles from Uber [46] and Google [47] rely on. These maps represent lane centerlines, road boundaries, and any other pre- configured features. Figure 3.1c is a globally referenced grid map, a common example being an aerial image. These maps store information within a grid’s cells, such as color for an aerial image. To represent features with high precision a small cell size is required, and as a result the use and storage of large regions becomes intractable.

Generally, grid maps contain observations while feature maps contain information abstracted from observations. A typical autonomous vehicle uses both map types simultaneously, a globally referenced static feature map to assist in navigation and lane selection, and a body referenced dynamic grid map to detect and avoid obstacles [48]. In this scenario, the feature map is akin to static long term memory to store the roadway information and the grid map is local short term memory to store information about transient objects on the roadway. This approach has two undesirable factors: first, the feature maps have to be prepared a priori, and second, the feature map does not evolve in response to the short term observations that are stored in the grid map and then discarded after the vehicle leaves the region.

For the IPV work there was no pre-existing feature map to work with and the roadways exhibited changes over time as lanes were realigned or added. So this work sought out a dynamic approach

36 to storing the long term information. A grid map could serve this purpose but as noted above, it would be impossible to use a single conventional grid map to cover the area of interest at the resolution necessary for the IPV work. To address these needs the research developed the map oriented grid. This novel approach overlays many small grid maps on top of a simple vector map, as shown in Figure 3.1d. The small grids are wide enough to cover the entire roadway, but not much more. By defining the map oriented grid, this research provides a map representation that combines the storage and retrieval efficiencies of feature maps, with the ease of dynamically updating grid maps. As discussed in this chapter there are many important aspects that need to be handled at the interface between successive grids.

This new approach is done in a way that allows the transient observations from one pass to be stored and reused. In this way, as a host vehicle observes its environment, it can associate its observations with an a priori grid map. Then, that vehicle can share its transient observations back into that source map for later use by itself and other agents, thus creating a map feedback cycle. Through the storage of observational data, rather than the abstraction to feature based data, these maps do not presume their intended use, allowing great flexibility in future applications13. Observational data eliminates the need for an arbitrator to define the features in the first place; the feedback is observational so there is no need for vehicles to agree upon feature types and feature characteristics, and therefore no need to validate the feature decisions made by those vehicles. For the IPV work the map oriented grid allows for extracting the key features of the roadway automatically, without an extensive inventory and classification step. In general, the map oriented grid will allow dynamic high resolution maps that can be shared and dynamically updated by many agents (e.g., connected and autonomous vehicles).

13 Certain applications are best served by feature maps and the map oriented grids support the building of feature based maps from the observational data, as Chapter 4 will show. 37

Figure 3.1, Four types of maps, a) a simple vector road map such that available in OSM, b) advanced feature map providing lane level detail, c) globally referenced grid map, d) the new map oriented grid map. Note that grid cell size is exaggerated in both grid examples.

This research extends and applies two exemplar methods to place observations into the grid cells: Bayesian Occupancy Grids (BOG) and Evidential Grids (EG); but many other methods are applicable. The execution of these two methods in the context of map oriented grids necessitates advancement in the state of the art. Once applied, the results provide the necessary maps for a number of pertinent IPV applications discussed in Chapter 4. Beyond the IPV dataset the mapping structure has potential contributions to ITS, automated vehicles, and robotics applications where observations may be crowd sourced with higher fidelity than existing techniques such as Tang et al. [49] and Du et al. [50]. The remainder of this chapter is organized as follows: first, the needs for such a map structure are identified; second, the state of the practice in this field is presented; third, the process for creating the map frames and applying observational data is developed; and finally, the results of applying the map structure and the two exemplar observation types are presented.

3.1. The Need for Efficient, Globally Referenced Observational Maps

This section describes why the current state of mapping is insufficient for both the IPV data extraction and advanced vehicle applications in general. The needs of present and future vehicle autonomy, ITS, and traffic flow theory research expands the information content requirements of

38 existing maps. Such enhanced map content includes lane centerlines, road boundaries, stop bar locations, etc. Craig [51] outlines the benefits of these enhanced maps, and there is currently a great amount of private financial investment in their generation14 [52]. These enhanced maps are traditionally globally referenced, static, and feature based (vector), and are built through a process this work refers to as enhanced mapping.

An example of such map information is the intersection geometry contained in the map element of the signal phasing and timing (SPAT) message of J2735 [53], which defines V2X intersection safety functions. This message is transmitted from the roadside to surrounding vehicles and contains map and signal timing information to provide for the detection of conflicting movements. The SPAT example embodies the challenges with such a configuration, specifically, these maps will only ever contain those a priori defined features, the mapped region is spatially limited to those intentionally mapped, and any permanent or temporary configuration change will require the owning authority to explicitly update the map. These challenges dictate that there will always be opportunity cost in automated vehicle deployments because of outdated maps and unmapped roadways.

In contrast, sensor equipped vehicles make observations dynamically and can rapidly reflect any road configuration change in their ego-maps. However, in current practice these observations are not shareable with other vehicles or infrastructure because there is no framework for doing so. Consequently, these maps are transient and are discarded as the host vehicle leaves the observed region15. This observational data is an untapped resource that could resolve the challenges associated with current enhanced mapping.

This work proposes that an efficient, globally referenced, observational mapping framework can eliminate the above issues. When combined with the localization validation of Chapter 2, road maps can be generated programmatically from trusted observations, be it from a singular probe vehicle such as the IPV, or crowd sourced via many different opportunistic probes (e.g., advanced driver assistance system, ADAS, equipped vehicles). Being observational, these maps are usable by different applications for unpredicted purposes. The maps also support the identification of structural changes, and thus allow for dynamic updating (as will be discussed in Chapter 4).

14 While there is substantial amount of privately funded map building and self-driving research, there is little to no public information available as to how these maps are stored. The research herein considers itself novel with respect to the publicly disclosed research as the author has no knowledge of equivalent frameworks. 15 Outside this research there is no known method for globally referencing ego maps across large regions. thus, even if a map is permanently recorded, there is no context upon which to reuse the map. 39 3.1.1. Mapping Needs of the IPV Dataset The study of the IPV dataset requires the identification and tracking of ambient vehicles in a global context. In addition to this global localization, these ambient vehicles also need to be associated with lanes of travel and intersection movements. To achieve the requirements, a detailed map is needed which contains these features. The obvious map building process would be to manually define road lanes via tracing an aerial image. However, that process would lack generality, be subject to error, and would have to be repeated whenever the IPV explored a new region. Thus, the objective of an opportunistic map building process using the freely available Open Street Map [29] (OSM) map database was set forth, with specific goals of:

 generality to the resulting application;  ability to map areas when observed by a single pass, but to also use many passes when available;  support lane identification, including those outside of the IPV’s own lane; and  do all of the preceding in an automated fashion.

3.1.2. Mapping Needs for ADAS, V2X, Automated Vehicles The research presented in this chapter has utility beyond the specific IPV study of this dissertation. For example, adaptive cruise control (ACC) would benefit significantly by broadly available lane level map information. Such maps would support tracking vehicles along a curve and help identify lane change maneuvers. Audi already ties ACC to road curvature [54] for slowing the vehicle but further application is prohibited by lack of detail in current road maps. Additionally in the domain of automated vehicles, researchers have had success using OSM data in areas that are richly detailed, much more so than the region of the IPV dataset, but they found subtle inaccuracies in those data that negatively impacts their results [55].

As discussed in the introduction to Section 3.1, there are already plans to broadcast map information in V2X environments, but the previously described limitations will bound efficacy. Ideally, lane level maps would be available for not just intersections, but the entire road network, and those maps would be kept up to date and broadly distributed. The needs of these vehicle systems could be met by global feature based maps, but then those maps are limited in that an arbitrator has already decided what features those maps support, thereby limiting function and innovation. With the requisite arbitrator it could also limit the ability to automatically update the maps in response to physical changes to the roadway. Obviously, it is inefficient and impractical to obtain and process 40 nation scale and even city scale maps that are being dynamically updated, thus necessitating segmentation of such maps. Additionally, if a framework were available to share map observations between passing vehicles, bandwidth limitations require a spatial limitation of the map conveyed. Thus, any new mapping framework needs to easily segment a larger map into relevant components.

3.2. State of the Practice in Map Data Representation

This section first outlines the characteristics of present data map representation, specifically in regards to lane level information. The conclusion of which yields this research’s choice for representing the map in grid form. Next, the state of the art in Bayesian occupancy grids is discussed, which is to date the most common method of inputting vehicle observations into a grid structure. Finally, this section presents the state of the art in representing belief states in response to vehicle observations.

3.2.1. Characteristics of Map Data Representation This work considers a land vehicle map to have two primary characteristics, frame of reference and representation. The frame of reference can be either local or global. Global maps affix to a point on earth and typically provide high level route guidance. Local maps affix to the host vehicle (therefore being body fixed) and contain measurements to support granular path finding, often used for obstacle avoidance. Generally, with respect to updating the map information global maps are static and local maps are dynamic. Exceptions include examples where small regions around a vehicle are analyzed in global coordinates to support integration with raster data (e.g., aerial images or elevation models) [56][57].

The map representation is either feature based or grid based. Feature based maps contain vector data that describes points, line segments, and polygons which describe pertinent elements on the map, e.g., roads, points of interest, etc. Grid maps contain raster data which reflect observations, e.g., color, elevation, and occupancy. Feature maps have the characteristics of being efficient data stores, but require interpretation of observations into features in a consistent way, and an agreement upon what features to describe. Grid maps are more general in the sense that interpretation is not required and measurements from multiple sensors and observers can be easily combined [58]. This generality comes with computational and storage costs that become intractable with increasing map scale, unless there is a corresponding decrease in map resolution.

Recall that Figure 3.1 parts a-c show three state of the art, globally referenced maps. All three have substantial limitations that result in the unmet needs outlined Section 3.1. Namely, simple feature 41 maps do not have the required information for the IPV study and automated vehicles, detailed feature maps rely on a priori assumptions and will suffer from unmapped areas and update latency, and globally referenced grid maps are intractable at the regional scales required of the IPV study and automated vehicles.

In order to streamline feature map building, there is a significant body of research [49], [59]–[62] that applies to probe vehicles. These probes are either intentional or opportunistic, with those opportunistic methods being most likely to relieve update latency and unmapped road issues. However, being a feature based approach only ego measurements can be utilized without relying on the source vehicle to interpret the data, and again, the features captured must be agreed upon.

There is substantially less research into using grid maps for enhanced global mappings. One example is that by Guo et al. [63] where rectangular grids of varying sizes decompose a large region into smaller rectangular grid maps for imagery. These grids are oriented with the cardinal directions, and thus, often the grids are not aligned with the roadway. While Guo’s approach supports the use of grids in large regions, the lack of alignment with the roadway causes substantial overlap of grids, and the inclusion of many un-drivable areas, decreasing its benefit. Also relevant is the work of Kurdej et al. [57]. Kurdej applied evidential grids to identify moving objects in relation to a global coordinate system. However, Kurdej made no effort to make the problem tractable over large regions16. These preceding works show promise in using globally referenced grids, but also demonstrate that there is still innovation required for practicality.

Initial experimentation with the IPV dataset had greater success in attempts to employ grid maps versus the feature mapping alternative. Grid mapping best leveraged the ability to aggregate the large number of observations available in the IPV dataset, an opportunity not present for other researchers. Additionally, the fact that when working with grid maps one does not have to make assumptions about final applications was a major consideration. While this research commenced prior to the publications of both Guo et al. and Kurdej et al., their ability to use grid data in a similar sense corroborates the approach taken herein. With the choice of grid maps as the primary information storage mechanism, this work focused on utilizing both Bayesian and evidential grids, which the next two sections introduce, followed by the limitations therein.

16 The author of this dissertation considers simply loading in subsets of a larger grid map to support the tractability of a region sized map to be insufficient in that substantial amounts of unusable data are represented and there is difficulty in forecasting which subsets to load. 42 3.2.2. Bayesian Occupancy Grids Bayesian occupancy grids (BOG, often called occupancy grids, but herein disambiguated with evidential grids, which can also represent occupancy) are commonly employed for mapping by representing the probability of occupancy of each cell of a grid map. BOGs natively support the combination of heterogeneous sensors into singular maps as Adarve et al. [64] and Garcia et al. [58] show. The method often finds use in road vehicle research because it outperforms feature based approaches in unstructured environments as Guivant et al. [65] identifies. A key component to the BOG is the inverse sensor model. This model recognizes that when a distance measurement is made, such as those made by LiDAR and radar, one can also make an inference that for an observation to be incident upon an object, there must not be any occluding object between the sensor and the object. One of the earliest in-depth treatments on the formation of highly detailed inverse sensors model was by Konolige [66], and this field remains an area of active research today, e.g., Clemens et al. [67]. Authors such as Thrun et al. [68], Weiss et al. [69], and Moras et al. [70] develop models with a focus on LiDAR and road vehicle environments, including modeling of missing returns and missing objects at far distances.

3.2.3. Evidential Grids One of the limitations of BOG is that they reflect a static map [71]. Obviously it is of great importance in road vehicle research to identify and track moving objects in conjuction with the static objects. To resolve this issue, evidential techniques have been applied to occupancy grids, called in short Evidential Grids (EG). Pagac et al. [72] applied the Dempster-Shafer inference rule to grid building, and Kurdej et al. [73], [74], extended the practice to estimate more than the singular probability of occupancy. By using a number of probabilities, conflicting information can be captured such as grid cells which are sometimes free and sometimes occupied, representing movement as Baig et al. [75] and Moras et al. [70] show. In short, an evidential grid contains more than one state estimate. These evidential grids can be used to assist the map building process, for example Sivaraman and Trivedi [76] disclose how to estimate the drivable space around the sensing platform and Junjing et al. [77] can establish boundaries, lanes of travel, and other interesting elements through inference over many observations.

3.2.4. Limitation of Current Grid Methods While grid representations are efficient for storage and processing, they are not without shortcoming. Some shortcomings are inherent such as the need for interpolation when moving from

43 polar grid (as per LiDAR measurements) to Cartesian grid representations, while others are due to the state of the practice. This section identifies a number of these errors.

A primary issue is structural error and smearing as Birk [78] shows. A key element in BOG formation is interpolating and rotating a grid, first in converting from sensor frame polar coordinates onto a Cartesian grid, and then again when combining observations from two locations. The interpolation and rotation generate artifacts and blur the "occupied" beliefs across multiple cells as stated in Özgüner et al. [56], effectively resulting in a spatial low pass filtering. A second issue is the computational requirements for their generation and transformation. Many authors attempt to remedy both these problems simultaneously as Yguel et al. [79] demonstrates is the creation of polar occupancy grids, and then sampling from those grids in Cartesian coordinates which avoids the Moire effect inherent in other projection techniques. Another method from Homm et al. [80] uses texture mapping to mitigate errors with a similar polar grid to Cartesian grid conversion. A final technique by Junjing et al. [77] avoids the troublesome coordinate conversions all-together, modeling the sensor measurements in Cartesian coordinates.

For computational efficiency when creating grid maps for road vehicles, a simplified inverse sensor model is often employed, e.g., [70], [77]. Such models are used assuming the noise of the measurement is significantly smaller than the grid size, which is generally true. However, the research of this dissertation uses globally referenced grids which are revisited causing localization error to be additive with measurement error. When subject to noise, these simple models are shift occupied observations away from the observer. For example, see Figure 3.2, where the noise in 2 of 3 scans (parts a-c) results in the combined estimate of occupancy (part d) to be in region C rather than B. More complex models, e.g., [80], can resolve such issues but require significantly more computations per scan. There is a need for an intermediate model that combines computational efficiency and robustness in the context of revisiting.

Figure 3.2, The asymmetric impact of noise on the naïve inverse sensor model. Three scans are shown in parts a through c. Part d is the combination of the three scans. Part b contains noise causing a shift in the negative direction while part c is shifted in the positive direction.

44

If the space covered by the standard IPV tours was integrated into a single occupancy grid (i.e., the farthest extents of the tours in the North, East, South, and West directions defined the boundaries of the grid), the grid would be 22.7 km tall and 5.7 km wide. Using a common value for 푟 of 0.2 m results in a grid with 3.2x109 elements. This grid would be sparse, but still computationally demanding to perform the necessary operations on each LiDAR scan. Further, considering such a grid in real-time is an even more challenging problem. Extending the grid to a third dimension, e.g. 10 m of elevation, would significantly increase the problem, (1.6x1011 elements), necessitating the use of a strategy such as OctoMaps by Wurm et al. [81].

One apparent solution to reduce the number of active cells is to use rectangular subsets of the entire region, only transferring those subsets as needed, e.g., as was done in [56], [63]. However, this solution exposes two more problems; the first, the determination of which subsets are loaded, and the second, is that these subsets are unrelated to the road structure, including location and orientation. Thus, a northeast going road would be diagonal across a north-south oriented grid, both increasing the number of irrelevant cells in memory and requiring all later applications to account for this un-oriented nature. This research proposes that if the grids are made and stored cognizant of the road network structure, significant efficiency gains could be achieved that provide for the use of grids over vast regions.

3.3. Development and Application of Map Oriented Grids

This research seeks to provide for the mapping needs of the IPV and other road vehicle applications while resolving a number of the outstanding issues with the state of the art grid representations discussed in 3.2.1. To this end, this research develops a new concept of map oriented grids (MOG), where simple road map information is used to define the location and shape of a set of grids, thus orienting the grids with the map. Use of MOGs achieves a number of benefits, namely:

1. MOGs are globally referenced to simple road maps, and thus reflect the benefits of simple maps in navigation and road connectivity 2. MOGs store observational data, which segregates map updating into data collection tasks and data interpretation, unlike feature maps where these tasks are combined 3. MOGs efficiently store large regions; only the areas bounding roads are contained in the grid map, greatly reducing the number of grid cells per region

45 4. MOGs assist in simple prediction and retrieval of map grids using road connectivity, important when data connectivity to the map source is intermittent 5. MOGs support map sharing between vehicles and over time 6. MOGs support existing applications and enable new applications that rely on grids being aligned with the roadway17

The MOG concept cannot function without other supporting developments. This section also contributes an inverse sensor model particularly suited for building BOGs during revisiting over time, mitigations for ground returns, and MOG specific applications of BOGs and EGs. The remainder of this section is ordered as follows: first is a process and characteristic summarization; second is the introduction of the technique for generating the MOG boundaries; third is the inverse sensor model; fourth is the mitigation of the ground returns; fifth is the implementation of BOGs in the context of aggregate map building; and finally the application of EG techniques to identify moving space over many observations.

3.3.1. Summarized Process for Map Oriented Grids This research proposes the new concept of a map oriented grid as a framework for defining and storing map grids in a size and shape derived from a simple road map. Recall the example in Figure 3.1d where a grid is placed aligned with each map segment18, and the grids did not overlap (i.e., there was no ambiguity). The orientation with a vector map and removal of ambiguities are the chief characteristics of the MOG. While conceptually easy, realizing a set of MOGs from a simple map such as from OSM requires great effort and handling many scenarios. The steps for establishing the MOGs follows:

1. Extract the region to be mapped from the source road map 2. Increase the dimensionality of the one dimensional map segments to two dimensional map segment frames (MSF), as will be defined in detail in Section 3.3.2.B 3. Remove the ambiguities of any overlapping MSFs and voids between MSFs 4. Define grids within the MSFs which become the MOGs

Once the MOGs are initialized to the correct form and initializing value, information is input to the MOGs. Note that a MOG is just a container for data, and a single MSF can relate to many MOGs,

17 Such alignment is inherent when using vector source maps, as to represent a curve, a road is broken into piecewise linear segments, thus the MOG uses the same piecewise linear approximation as the source map. 18 See Appendix D for a detailed description of the map elements. 46 e.g., EGs with multiple belief states, aerial imagery, etc. Since the global MOG representation requires different characteristics in its source data (specifically, data that is generally collected in local frames of reference and are then subject to increased noise when globally referenced to a MOG, e.g., BOGs), the current state of the art needs to be extended to fit these characteristics. The process for two such extensions follow. The first is for the creation of an aggregate occupancy map, which is a map that uses all available observations within the IPV dataset to estimate cell occupancy by salient objects19. Nearly all the remaining research in this chapter and Chapter 4 rely on the presence of an aggregate occupancy map. The steps for building the aggregate map follow:

1. Define a set of MOGs as the aggregate occupancy map containing BOGs and set all cells to the unknown value 2. Remove potential ground returns from the LiDAR observations 3. Convert each LiDAR observation into a sensor frame BOG using the inverse sensor model that favors free space 4. Transform the sensor frame to global coordinates and determine upon which MOGs the observation impinges upon 5. Add the relevant cells of the BOG into the aggregate occupancy map

The second extension is the estimation of the moving belief within the context of the MOGs. The moving belief itself is not a contribution of this research, but the method for obtaining the moving belief, utilizing the aggregate occupancy map, and its placement into the MOG framework is a contribution. The moving belief extends upon EGs to obtain MOGs that represent the locations that dynamic objects traverse. Estimating the moving belief is critical in identifying the lanes of travel and tracking vehicles. The steps to create the moving belief are as follows:

1. Define a set of MOGs that will contain the free, occupied, and moving beliefs and set all cells to their nominal value 2. Convert the aggregate occupancy map into a free and occupied belief 3. Convert each LiDAR observation into a BOG using the inverse sensor model 4. Convert each LiDAR BOG into an EG 5. Transform the EG of step 4 into global coordinates and determine upon which MOGs the observation impinges upon 6. Use EG theory to calculate the conflicting space between the EG and the aggregate beliefs

19 Salient objects include Jersey barriers, Gantries, and luminaires, but does not include objects that change, like foliage, or objects frequently missed, like sign posts. 47 7. Accumulate the conflicting space into the moving belief.

The above three processes show at the highest level how the MOG framework is applied to two types of grid maps, specifically BOG and EG. Later sections will detail these processes. The primary outputs are (1) a set of MOGs for storage of globally referenced data, (2) an aggregate occupancy belief which represents commonly observed, salient objects, and (3) a moving belief. These three outputs are critical for current IPV and future V2X and automated vehicle applications.

3.3.2. Increasing the Dimensionality of 1D Digital Street Maps This work uses the freely available Open Street Map (OSM) database [29], which, like most digital maps, stores the road network in a one dimensional, vector, fashion. A single dimensional structure represents the road network in a traversal sense, but abstracts from the true nature of the roads occupying space. For mapping with the objective of transiting from one point to the next, the traversal sense and its representation of road connectivity are efficient and effective. Conversely, characterizing the space around the IPV (e.g., ambient traffic tracking and lane identification) and then relating those characteristics to a map is a multiple dimension problem.

A. The Open Street Map Database

Road maps communicate road shape and road connectivity. Electronic road maps are often stored in a vector form using points with an X-Y location along the routes of the various roads, and the sequence of connections between points to represent traversable roads. The OSM database refers to the points as nodes, and an ordered sequence of connected nodes as a way (See Appendix D for more detail), noting that commonly authors use the term arc in lieu of way. Considering this ordered sequence, this work defines the segment as the line segment between two sequential nodes, see Figure 3.3. A triplet is defined the connection of two and only two segments, joined at a single node. Triplets are useful because they are the simplest concept that results in an ambiguity in map definition that needs to be resolved.

Figure 3.3, A hypothetical way to illustrate the relationships between various map elements. In this case the single way consists of four nodes connected by three segments. Nodes are shown as dots and their interconnection shown as line segments connecting the dots. 48

B. Introduction to Map Segment Frames

To increase the dimensionality of the vector map a rectangular area with a length according to the minimum distance between the nodes and a width set to a lateral observation distance is defined, as shown in Figure 3.4. This area is defined as a map segment frame (MSF). The lateral observation distance is a parameter which reflects the lateral range up to which the IPV’s sensors output usable measurements. The value of the lateral observation distance greatly affects processing time and data storage requirements. Owing to the LiDAR sensors being effective out to roughly 50 m, and the road width for the widest traversed freeway being well less than this distance, the lateral observation distance used in this work is set to 50 m either side of the map vector, yielding a rectangle 100 m wide (approximately 13 freeway lanes) and the length of the distance between the nodes.

Figure 3.4, The definition of the map segment frame.

C. Ambiguity Resolution of Map Segment Frames.

Any time two MSFs meet at a non-zero angle there will rise an ambiguity in that there is a space in which the two frames overlap, and a space where there is a gap that falls outside of the two frames, e.g., Figure 3.5a. Additionally, intersections between more than two MSF result in ambiguities as does the overlapping of unconnected MSFs, such as a closely spaced divided highway. It is important to resolve these ambiguities so that observation data is held in a singular location and observations of a MSF originating from a different MSF are properly handled. The particular computations this research develops to resolve these ambiguities (Appendix E) is not considered a core contribution. However, the identification of the various scenarios resolved and the disambiguation objectives are unique to the development of MOGs and are a core contribution of

49 this research. The next four subsections present these scenarios and objectives, in order of increasing complexity. Note that after removing ambiguity the MSFs will no longer be rectangles but polygons of three or more sides. To generate grids for these polygons, a grid is made which extends to all boundaries while still having the columns oriented in the direction of the segment. A bounding polygon of the MSF is then used a mask during computation and presentation of the MSF.

C.i. Simple Ambiguities

Simple ambiguities are where two, and only two MSFs meet. For these ambiguities, this work follows Özgüner et al. [56] in that the projection of each polygons sides are used to establish trapezoids which do not overlap. An example of this technique is shown in Figure 3.5.

Figure 3.5, Two segments a) prior to correction, b) after correction, c) the resulting segment 1 space, and d) the resulting segment 2 space. In the corrected version the spaces extend past the shared node on the left side, and do not extend to the node on the right. In c) and d) the dashed line represents the original limits of the space.

C.ii. Simple Intersections

A more complicated condition is where more than two segments meet at a single node, which happens at ramps and intersections. At these locations a traveler must choose which path to follow. The discussion focuses on the basic scenario depicted in Figure 3.6a, a 'T' type intersection with 3 approaches (Appendix D details more complex examples). Figure 3.6b shows the naïve addition of space resulting in overlapping MSFs. Extending the two MSF algorithm to the case of more than two MSFs, results in the bisection of each angle, Figure 3.6c, where the overlap is divided equally by the bisection. The underlying OSM data for the IPV study region does not contain movement information at intersections, requiring an additional step which supports the later identification of movements. Note Figure 3.6d where a vehicle crosses the three MSFs labeled 1, 2, and 3. An approach that results in more logical intersection movement descriptions is to define an intersection boundary at the points where the projection of edges meet, Figure 3.6d. This region is called the

50 decision region because it is only in these regions that a vehicle can make a route choice. Outside of these decision regions the vehicle is constrained to the ordered MSFs defined by the associated way.

Figure 3.6, A T shaped intersection. Part a is the vector data and movements, part b represents the MSFs, part c is after correcting the MSFs to remove ambiguity, part d shows trajectory through the intersection and part e presents a definition of the decision region which logically represents intersection movements.

C.iii. Complex Intersections

The OSM database often contains short segments or overlapping segment at intersections which cause significant ambiguities in the corresponding MSF, see Figure 3.7 parts a and c. Here multiple techniques20 are used (See Appendix D) to eliminate the ambiguity, resulting in parts b and d to the same figure. This figure is included to show the challenges present when seeking to add dimensions to common vector map data sources.

20 While these techniques have not been found in published research and are therefore novel, there are a number of unresolved scenarios that require manual intervention. Therefore, these techniques are not considered a primary contribution of this dissertation. 51

Figure 3.7, Examples of two complex intersections with differing characteristics. In part a there is a short segment which causes the next downstream MSF not participating to overlap with intersecting MSFs. Part b a resolution of the overlap. Part c is an intersection where a divided roadway becomes undivided at the intersection. Part d is the resolution of such intersection.

C.iv. Overlaps of Unconnected MSF

The final type of ambiguity resolution is that of two MSFs that overlap but without any connectivity, e.g., Figure 3.8a. Such ambiguities happen frequently on divided roads and long ramps. As in Section C.iii., Appendix D contains the process used to arrive at the disambiguated solution shown in the figure part b. One of the largest computational difficulties is the need to test each individual MSF for intersection with other proximate MSFs.

Figure 3.8, Part a, an example of ambiguity due to overlapping unconnected segments, Part b, the resolution of the ambiguity.

52 3.3.3. Updated Inverse Sensor Model As introduced in Section 3.2.4.B., the state of the practice in simplified inverse sensor models results in a bias away from the observer in high noise environments (occupied space contraction). For the purpose of map building and traversing a road, it is more desirable to have occupied space over-represented (occupied space growth) rather than underrepresented21. Revisiting conditions are inherently high noise because the observations are dependent upon the global localization solution, and subject to meter level perturbations. While existing higher fidelity inverse sensor models limit this contraction by using a Dirac delta function they do so with substantially increased computation. The IPV dataset since 2006 has over 37 billion LiDAR returns from the horizontal sensors, each requiring the computation of the inverse sensor model. Obviously it is advantageous to minimize the computational cost of the inverse sensor model.

For the purpose of the IPV dataset specifically and MOGs in general, the following inverse sensor model improvements are proposed: (a) handle the occupied space contraction under high noise characteristic of current simple models, (b) utilize ‘no-return’ observations, and (c) treat occupied and free states differently.

To reduce computation of the inverse sensor model while resolving the contraction problem present in other simple models a noise factor, µ, applied in each direction around the LiDAR return distance r’, which set the corresponding cell to the occupied value. The noise factor recognizes that the LiDAR measurement in conjunction with localization is imperfect, and that the objects on which it is incident likely has some width and an imperfect vertical profile. Additionally, the free space immediately preceding r’ is contracted by 3μ, setting the corresponding cells to the unknown value. This modification to free space is a key tool for properly building grid maps with large number of observations, in that it encourages the growth, rather than contraction of the occupied cells. Figure 3.9a shows the model for a hypothetical return with an observation at range r’. In this figure the belief is free from zero up to the point of r’-4μ, unobserved from r’-4μ to r’- μ, and then occupied for a width of 2μ. The effect of the new model under high noise conditions is presented in Figure 3.10. This figure shows the same noise in parts a-c as shown in Figure 3.2. However, the result in Figure 3.10 part d shows that the B region now reflects the occupied state rather than unknown.

21 In map building one does not want to lose small but salient objects like luminaires that provide a strong location reference. Likewise, when an automated vehicle is traversing a region it is safer for obstacles to appear larger rather than smaller than they truly are to avoid collisions. 53

Figure 3.9, The inverse sensor models used for LiDAR occupancy grid construction. (a) the model used when a return is identified at r'. (b) is used when no return is reported. In part a the star at r’ and corresponding dashed line represents the radial distance returned by the LiDAR sensor, the solid grey area represents the 2μ return uncertainty, while the dotted vertical line represents the 3μ free space contraction.

Figure 3.10, The impact of noise on the enhanced inverse sensor model. Three scans are shown in parts a through c. Part d is the combination of the three scans. Part b contains noise causing a shift in the negative direction while part c is shifted in the positive direction.

An additional feature of the inverse sensor model is its ability to treat free and occupied likelihood values separately, with a unique weighting for each. This asymmetry can be used to tailor the output for the specific use of the model. For map building it is desirable to have strong, static, features, necessitating that many occupied observations be made before considering a cell to truly be occupied, a technique used in Section 3.3.5. Conversely for road boundary detection, one may desire to provide little weight to free observations to require many free observations before considering a cell to be free. Setting the free and occupied likelihoods to be different in Figure 3.9a achieves this asymmetry.

The ‘no-return’ or missing LiDAR observations case is frequently observed in the IPV dataset. These occur when an individual angular scan does not return a valid distance measurement, either because there should be no return, i.e., when a ray is not incident upon an object within the sensor’s range, or when the ray is incident upon an object whose reflectivity is insufficient (e.g., a dirty

54 black car) for the LiDAR sensor to detect. Here, this research proposes a solution derived from the linear weighting Weiss et al. [34] propose, but with a key difference. Weiss adjusts the free space hypothesis by decreasing the free likelihood as range increases, presuming the possibility of missing an object increases with distance. The solution herein exhibited in Figure 3.9b (where L1 and L2 are the extents of the linear region) differs from Weiss in that the linear weighting is only applied to the free space hypothesis when there is no return, thus a standard free space hypothesis is applied when there is a return is present. The notion being that if an object was observed, there is little possibility that an unseen intervening object was present.

The final inverse sensor model employed follows the equations (3-1) through (3-7), where (3-1) to (3-4) are for returning observations and (3-5) through (3-7) are for no-return observations. Here the parameter 푐1 is the free likelihood and 푐2 is the occupied likelihood. For no-return observations, there are three parameters used. The first is 푐3 which is the most neutral probability achieved by the linear function. The second is 푑푚푖푛 which is the beginning of a linear relationship that begins with a free likelihood and ends with the neutral probability. All distances less than 푑푚푖푛 are assigned the free likelihood. The third is 푑푚푎푥 which is the end of the linear relationship at which

푐3푑푚푖푛 the value 푐3 is obtained. For the applied inverse sensor model, is set equal to 푐1, permitting 푑푚푎푥

푑푚푎푥 푐3 to be found by 푐3 = 푐1 . The values for the IPV were set as 푑푚푖푛 = 0.5 푚, 푑푚푎푥 = 30 푚, 푑푚푖푛

푐1 = 0.45, 푐2 = 0.8, and 푐3 = 27.

′ 훽 = 푐1 | 푟 ∈ [0,푟 − 3휇) (3-1)

훽 = 0.5 | 푟 ∈ [푟′ − 3휇, 푟′ − 휇) (3-2)

′ ′ 훽 = 푐2 | 푟 ∈ [ 푟 − 휇, 푟 + 휇] (3-3)

′ 훽 = 0.5 | 푟 ∈ ( 푟 + 휇, 푟푚푎푥) (3-4)

푐3푑푚푖푛 ′ 훽 = | 푟 = 푟푚푎푥, 푟 < 푑푚푖푛 (3-5) 푑푚푎푥

푐3푟′ ′ 훽 = | 푟 = 푟푚푎푥, 푑푚푖푛 ≤ 푟 ≤ 푑푚푎푥 (3-6) 푑푚푎푥

훽 = 0.5 | 푟 = 푟푚푎푥, r’> 푑푚푎푥 (3-7)

55

3.3.4. Ground Return Remediation The mounting of the LiDAR on the IPV guarantees that on level ground the LiDAR ray will be incident upon the ground at approximately 70 m. Obviously, without remediation returns from the ground will be perceived as objects on the road and thus, interfere with map building and vehicle tracking. The objective of ground return mitigation is to reduce the number of ground returns used by these later functions.

When considering LiDAR observations, ground returns have two principal causes. The first is the beam divergence of the sensor, the second is the pitch of the vehicle with respect to the road. The two causes interact and contribute to a further increase in returns incident upon the ground, resulting in Figure 3.11, which shows the distance at which a ground return will be experienced depending upon both scan angle and vehicle pitch. Both of these causes are exacerbated by the presence of retro-reflective pavement markings, which greatly increase the likeliness that any incidence of the LiDAR ray on such markings will be detected.

Many publications such as Kodagoda et al. [18], Liu et al. [19], Yang et al. [20], and Thornton et al. [82] detect and extract the roadway by explicitly scanning the roadway with a LiDAR; however, there has been no work identified to date that attempts to perform the similar function when the LiDAR is not configured to explicitly scan the roadway.

Figure 3.11, Contour lines for the distance, in meters, at which the LiDAR will be incident with ground with varying scan and pitch angles. α is in degrees and represents the scan angle where 0° is longitudinal with the host vehicle. ϴ is the pitch angle between the host vehicle and roadway, where 0° is the unperturbed mounting angle.

56 For the purpose of map building this work proposes a simple suppression technique. Note that this method liberally discards data and is therefore only useful for map building from many observations. Recognizing that map building primarily relies upon features that lie laterally along the roadway, not longitudinally, this method suppresses returns towards the front of the vehicle with a small lateral component, i.e., returns with shallow yaw angles. A maximum expected pitch,

휃푚푎푥, which accounts for both dynamic vehicle pitch and the pitch of the road, is applied to equation (3-8) for the range of acceptable 훼, where 훼 is the scan angle of the particular LiDAR ray.

The method then suppresses any return that exceeds the 푟푙푖푚푖푡 corresponding to that return’s 훼. A nominal value of 2° for 휃푚푎푥 will discard any returns beyond approximately 12 meters in the longitudinal direction.

0.5 (3-8) 푟푙푖푚푖푡 = sin(휃푚푎푥 + 0.4) cos 훼

3.3.5. Computing Map Oriented Bayesian Occupancy Grids A key benefit of BOGs is their ability to merge multiple data sources into a single element. These data sources can include homogenous and heterogeneous sensors, as well as multiple observations at different times from a given sensor. This section leverages these capabilities to develop an aggregate occupancy map by utilizing all observations from the front and rear horizontally scanning LiDAR of the IPV as it travels through a given MSF. As introduced in Section 3.3.1., the aggregate occupancy map has many uses and is applied in both Section 3.3.6., and Chapter 4. The process is detailed in three core sections, first the building of a BOG in a global coordinate system, then the translation of that BOG into the respective MOG(s), and finally the aggregation of the BOG with others of the same MOG.

A. Bayesian Occupancy Grid formation at a Single Time Sample

A single concurrent scan from the IPV’s two horizontal scanning LiDARs can be combined into a single occupancy grid using common techniques. For the BOG to be converted into the proper MSF(s) it must first be placed into the same local space fixed frame (LSFF, detailed in Appendix A) to which the MSFs relate. A simple rotation and translation performs this conversion, with the care given to how the corners are handled in rotation and the left hand nature of the LSFF used for the IPV dataset. Figure 3.12a shows a LSFF referenced BOG for a single time step from the two 57 LiDAR. The dominant gray represents unobserved regions, the darker gradients are the effect of the free space hypotheses, and the small white regions are occupied space. Figure 3.12b shows the corresponding aerial image for reference.

Figure 3.12, Part a, Occupancy grid using both front and rear LiDAR transformed into LSFF frame, and part b) aerial image of the observed space. Aerial image from the Open Street Map Project [29].

B. Map Segment Frame Transformation

After transforming the body fixed grids into the LSFF, the next transformation is to go from the LSFF to one or more MSFs. This research developed the following process to achieve this transformation. First the MSF is decomposed into a grid itself, using the same cell size as the sensor grid. Recall the MSF grid is aligned with its columns in the direction of travel between its two nodes. The goal of the MSF transformation is to determine where the grid from a scan overlays the MSF grid, and interpolating the value at each cell, and then combining the scan with previous measurements at that cell. Since the front and rear LiDAR project outward, one cannot simply consider the transformation when the host vehicle is within the MSF, rather the analysis must be performed when the host vehicle can observe the MSF from either the front or rear LiDAR. A key feature of MOGs is to maintain the ability of the host vehicle to see into MSFs that it is not traversing at the given instant; but, this feature imparts complications on the processing of the transformation.

There are two approaches for the MSF transformation that handle seeing into MSFs not containing the host. The first approach is to detect when the host vehicle travels through the MSF using map matching (Appendix E), and then analyze the LiDAR observations for a short time before, during,

58 and a short time after the vehicle travels through the MSF. This operation can be achieved by detecting when the vehicle is within a threshold distance of the MSF and on a road with connectivity to the MSF (e.g., 80 m for the IPV). The analysis period is defined to be the set of successive observations for which the segment is visible from the host vehicle, including any portion of time that the host vehicle is actually in the segment or can observe the segment. Thus, the duration of the observation period depends on how fast the IPV is traveling. Each observation (in grid form) during the analysis period is then transformed into the proper MSF via rotation, translation and interpolation.

The second approach is to operate over an analysis period and place observations into any MSF upon which those observations may be incident. Thus, the first method is driven by the map segment and the second driven by the time sample. In the second approach the observations (in grid form) in the LSFF are tested for incidence upon the nearby MSFs. This detection is achieved through the identification of proximate MSFs followed by an overlap test. Nearby MSFs are found using a loose distance criteria between the centroid of the grid in LSFF and the centroid of each MSF. This computation is small and can be performed on the entire map quickly. The overlap test is more computationally intensive, thus necessitating the MSF down selection using the loose distance criteria. As in the first approach, each observation is then placed into the respective MSFs via rotation translation and interpolation

Of the two approaches, the first method is conceptually simpler but considers only one MSF per analysis, while the second method is more complex and allows observations from within a MSF to supply information about another. A particular example where the second approach is useful is at locations which the IPV observes, but never traverses, such as some freeway ramps. Note that the first approach could achieve the same result by analyzing every MSF individually, however such an approach is inefficient when only a fraction of MSFs are traversed or observed. An additional dissimilarity is that the second approach is applicable to real time systems while the first is not. This dissertation has used both approaches depending upon the specific needs of the task. The net result from either method is the same (except for the observations on unobserved MSF from the second method). So it is not necessary to specifically delineate which approach is used at each step.

C. Aggregation of Observations in MSF

Each observation from 3.3.5.B. adds detail and increases the probabilities of cells in agreement. It is straightforward to aggregate these results using standard probabilistic techniques such as the log-

59 odds form, whereby the grid’s corresponding cells can simply be added together. This aggregation becomes the aggregate occupancy map. The contribution of the MOG is that the outputs of the preceding section are all in the same frame regardless of when or where the observation was made, therefore one can simply add all the observations together. The combination of the front and rear LiDAR BOG for a pass through a MSF is shown in Figure 3.13. Here the strong occupied line at - 10 m Lateral is a Jersey barrier, and the road surface is recognized as nearly black, unoccupied space. The final results in Section 3.4.1. will show results accumulated over more than 200 passes in such a MOG context.

Figure 3.13, Front and rear LiDAR combined into a single occupancy grid for a map segment in log-odds form. A total of 407 scans were used in forming this grid. Coordinates are local to the MSF. Lighter colors represent a higher occupancy probability.

3.3.6. Computing Map Oriented Evidential Grids As introduced in Section 3.2.3., the concept of evidential grids (EGs) represents each cell as a set of values, {F,O,Ω,∅} where each member tallies four different beliefs [83]. These beliefs are free, F; occupied, O; unknown (cell has not been observed), Ω; and conflict (observations of cell in disagreement), Ø; and in each case whose value is considered the belief mass. In EGs the acquisition of data provides evidence or credibility to support the belief mass of the cell, hence they are sometimes referred to as credibilist grids [83]. By using a set of four members, rather than a single value, evidential grids can differentiate between a cell that is unobserved and one that has received conflicting information; a differentiation that is critical to identifying moving objects and this distinction is unsupported by BOGs.

60 It is this last feature that makes the use of evidential grids attractive in regards to the IPV dataset, and automated map building in general. EGs have been applied to local grids in temporally proximate scenarios [83], and globally referenced grids over small regions [57]. This research supplements the state of the art by extending and applying EGs at the regional scale and over temporally disparate observations. Such usage can magnify the utility of EGs because the greater number observations will strengthen the beliefs to support driving lane identification, among other applications (see Chapter 4).

The overarching approach this research develops is to generate the map oriented BOGs using all available data (aggregate occupancy maps), convert those grids into EGs (the aggregate belief maps), and then re-analyze each tour with respect to those aggregate belief maps, accumulating the moving observations into an aggregate moving belief. In doing so, the impact of noise, localization errors, and occlusions are minimized. While such a method is useful in the sense of the IPV dataset where all data is historical, it is also applicable in a real-time scenario. Consider a host vehicle that has an a priori map oriented EG; unlike with the current state of the art, that vehicle could start identifying belief conflicts, and thus movement, with its first sensor scan.

A. Conversion to Evidential Form

For initial map generation the map is first built as a BOG and converted into evidential form. This conversion uses the mathematical functions developed in Kurdej et al. [84] and presented in equations (3-9) through (3-11) for convenience. To support the observations available in the MOG context the parameters used in this research were tuned differently than in Kurdej et al., and are defined in Table 3.1. An additional difference is that this research defines two sets of parameters, the first, titled multi, is used when a multiple observation BOG is processed, and the second, titled single, used when a grid from a single observation is processed, e.g., a LiDAR scan. Such a multi observation scenario was not considered by Kurdej. Additionally, for the multiple observation case, this work developed a 2D Gaussian filter to reduce noise within the BOG prior to conversion.

61 Parameter Multi Single

흁푭 0.9 0.6 흁푶 0.8 0.8 흁휷풎풊풏 0 푐1 흁 1 휷풎풂풙 푐2

흁푭풍 0.3 0.4885

흁푶풍 0.7 0.501

Table 3.1 Constants used in Evidential Grid construction

휇퐹 푚(퐹) = (훽 − μ훽푚푖푛) + 휇퐹 훽 < 휇퐹푙 { μ훽푚푖푛 − 휇퐹푙 (3-9) 푚(퐹) = 0 훽 ≥ 휇 퐹푙 휇푂 푚(푂) = (훽 − 휇훽푚푎푥) + 휇푂 훽 > 휇푂푙 { 휇훽푚푎푥 − 휇푂푙 (3-10)

푚(푂) = 0 훽 ≤ 휇푂푙 푚(Ω) = 1 − (푚(푂) + 푚(퐹)) (3-11)

Most values for the parameters in Table 3.1 are chosen through manual inspection. This research developed the following factors for consideration when choosing these parameters: The values of

휇퐹 represent that a free space belief from a single scan should not be weighted nearly as much as that of multiple scans. The value for 휇푂 is the same in both multi and single cases because of a desire not to lose occupied space. The overall value of 휇푂 is lower than 휇퐹 to provide some mitigation of temporary space occupiers, such as a stalled automobile. The minimum and maximum values for 훽, μ훽푚푖푛 and 휇훽푚푎푥 are set to the maximum value achievable, which is 0 and 1 respectively for multiple observations, and 푐1 and 푐2 respectively, from the inverse sensor model for a single observation. The values of 휇퐹푙 and 휇푂푙 are set very narrowly for the single observation, resulting in any free or occupied belief to transfer into the evidential grid, while being set farther apart for multiple observations, requiring some consistency between the readings to be reported.

In the context of generating EGs for mapping with the IPV dataset, handling the front and rear LiDAR separately, and then combining those aggregate results achieves greater fidelity. The reason for this difference in fidelity is likely due to the particular implementation, rather than any inherent nature of the underlying process. From each LiDAR a BOG is made and then converted into EGs according to the process above. Then the front and rear EGs are combined into a single EG by using

62 the belief conjunctive. Any conflict belief resulting from the disagreement of the two sources, 푚(∅), is moved directly to the unknown belief. This movement is because disagreement between the front and rear LiDAR will not be due to the detection of movement, rather it will be due to environmental noise, measurement error, and the grid interpolation process.

B. Example Output from a Conversion

This section shows the application of Section 3.3.6.A to an exemplar MSF. Figure 3.14 shows a BOG that has been 2D Gaussian filtered to reduce noise, noting the location is the same as Figure 3.13. The equations (3-9) through (3-11) are then applied as previously described, using the multiple scan form of the parameters in Table 3.1 to arrive at Figure 3.15. Only the Free and Occupied beliefs are shown since at this time the moving belief is not yet generated.

Figure 3.14, Bayesian grid after filtering in preparation for conversion to evidential grid.

Figure 3.15, Free, part a, and occupied, part b, beliefs generated from the Bayesian grid in the preceding figure.

63 C. Calculating the Moving Belief

After generating aggregate belief maps using Section 3.3.6.A, the occupied belief of the first pass to be analyzed is correlated to the aggregate occupied belief map to verify the integrity of that map. If the first pass does not correlate within a tolerance threshold, it is presumed that there are issues that will preclude the process from succeeding. Next, the aggregate free and occupied belief maps are normalized to the number of passes of the MSF from which those maps were generated. Later operations utilize a threshold, requiring consistent magnitudes when processing aggregate maps.

Once the aggregate maps have been normalized, the next step modifies those beliefs to reduce noise and expand elements to decrease the impact of clutter (small, non-salient objects). To do so a disk filter erodes the free space belief. This space erosion makes the result less sensitive to edges by adding a small buffer of unknown space between the free and occupied cells. The erosion operation also reduces the number of cells believed free, effectively creating a buffer around fixed objects. This buffer is acceptable for roadways where vehicles typically avoid driving extremely close to such objects. Increasing the strength of the erosion decreases the likelihood that that non-road regions will be considered free space by suppressing those regions; however, it also decreases the detail available for moving space while also increasing the impact of retroreflective pavement markings.

After the disk erosion a threshold operation is applied to the free space belief. This operation depends upon the road type; if freeway, any cell valued less than 0.85 is set to zero, and if not freeway, any cell valued less than 0.95 is set to zero. Freeways and other road types are differentiated because other roads were not as impacted by ground returns in aggregate. Thresholding allows only high certainty beliefs to be considered as free in later steps. The operation is necessary because at the present state of implementation, the moving space detection sensitivity is quite high. A single observation of a moving object is sufficient to make that moving object detectable in the resulting belief. Figure 3.16a shows the free belief after the disk filter, and then Figure 3.16b after the threshold operation. Generally, the results are acceptable; however, the presence of an in-pavement reflector near (0, 50), which was verified through imagery, demonstrates that further improvements are required in the remediation of such artifacts.

64

Figure 3.16, Estimated free space(a) after disk filter, and (b) after threshold.

After calculating both the free and occupied beliefs from aggregate data, the unknown belief needs to be normalized. Since there is no conflict belief at this time, the normalization is simply equation (3-12). At the end of this step, three aggregate belief grids have been generated, 푚(Ω), 푚(퐹), and 푚(푂).

푚(Ω) = 1 − 푚(퐹) + 푚(푂) (3-12)

The conflicting space, 푚(∅), can be of two types: Type One, space previously believed to be unoccupied is then observed as occupied; and Type Two, space previously believed to be occupied is then observed as unoccupied. Since roadways are typically free and that belief is established a priori, vehicles and other objects observed on roadways will result in a Type One conflict. This work is interested in identifying moving vehicles, therefore it aggregates Type One conflicts while discarding Type Two. The identification of the moving belief becomes the aggregation and filtering of Type One conflicts. Additionally, one can add the IPV or host vehicle itself into the observations so that whatever space the host drives upon is properly recorded as a moving belief.

In the IPV context, generating the conflict space executes one pass at a time. For each front and rear LiDAR observation EGs are generated. These EGs could have been augmented by incorporating the footprint of the IPV as an occupied belief, thus forcing the space in which the IPV travels into a conflict belief, however the objective was set forth to show how the LiDAR 65 observations alone would perform. In addition to incorporating the IPV footprint, the generation of EGs utilizes the ground return suppression from Section 3.3.4. The ground return suppression reduces conflicts due to detection of road stripes and in-ground reflectors that were successfully suppressed in the aggregate maps. The EG is then projected into the appropriate MSF and shifted for sub-meter localization enhancement (via a process that will be described in Chapter 4). Next the conflicting space is calculated by the belief conjunctive vector between the cumulative map, and the individual EG. Only the conflict space, 푚(∅), for each observation are retained, the other beliefs are discarded. The Type One conflict values are held in an accumulator for all observations. As the beliefs are accumulated, once a particular cell reaches a value of one, typically after a few tens of observations in a specific state, it is held at one to create a saturation value and ensure that particular cells aren’t over-represented in the result. Figure 3.17 presents the conflict space for both types, with Type One in Figure 3.17 a showing the IPV observing a single vehicle repeatedly along the length of the MSF. The Type Two in Figure 3.17b shows the sensitivity to measurement errors, significant conflicts are seen where the supports of the guard rail were observed free during the pass, but held as occupied by the cumulative belief. Figure 3.18 is the aggregate result of all passes of the exemplar segment. Three lanes of travel are readily apparent, but so is the void left by the inclusion of an in-road reflector as occupied space on the road.

Figure 3.17, Type One and Type Two conflict spaces for the exemplar MSF in part a and part b, respectively. In general, Type One conflicts represent objects moving in free space, while Type Two conflicts are from noise and inaccuracies in measurement of static objects.

66

Figure 3.18, Moving space belief for the exemplar MSF. Darker greys are stronger beliefs. The lane of travel in the negative lateral direction incorporated observations of stopped vehicles resulting in the mirrored ‘L’ shapes. The void at approximately (0,50) is from an in-road reflector.

3.4. Results

This section presents the results of applying MOGs over a large geographical area using the IPV dataset. The results are qualitative in nature, and the reader is left to interpret the outputs. The ability to generate quantitative results is limited in that this work generates maps at a level of detail higher than that available from other sources. Aerial imagery is provided to aid in analysis; however, there are known alignment issues with these aerial images obtained via the Open Street Map [29] project. This section presents three types of results ordered in increasing sophistication: raw georeferenced returns, BOGs, and EGs. These maps all cover larger geographic areas than any research found in the body of literature, and for clarity, the results are shown for representative segments that are typical of the complete map so that sufficient detail can be seen.

3.4.1. Raw Georeferenced Returns The simple accumulation of georeferenced LiDAR returns provides insight into the utility of using map oriented grids to create globally referenced BOGs and EGs. While a human can learn to interpret the returns such as those in Figure 3.19 and at a more detailed scale in Figure 3.20, it is difficult to program a computer to do so. Once trained, a reader can identify that there are three lanes of travel in each direction with a Jersey barrier down the centerline. The propensity of the LiDAR to observe in-road reflectors and lane markers is also visible. These figures also show the deficiency in simple representations, the roadway is unaligned, the region is large (~500 m) and

67 difficult to interpret, and while a human can learn to interpret some of the structure it is difficult for a computer.

Figure 3.19, LiDAR returns accumulated across more than 200 passes. Hotter colors represent an increasing number of returns.

Figure 3.20, Increased resolution image of the preceding figure. The Jersey barrier is present as a strong line in the middle of the image going left to right with a slight downward slope.

68 3.4.1. Bayesian Occupancy Grid Map Results The entire I-70/I-71 corridor through the CBD is shown in BOG form in Figure 3.21. While this figure shows the scale at which the MOGs can be applied, it is useful to look at more detailed scenarios such as Figures 3.22 and 3.23. Note that multiple MSFs are shown in each figure. In these grids darker values are likely occupied while lighter values are likely free. The overall data were generated using the time period analysis approach which allows segments not traversed by the IPV to be observed. These segments are visible at the ramps and the I-70 eastbound leg after the split from I-71 northbound, as evident in the lower right hand side of Figure 3.23.

Figure 3.21, BOGs in MSFs plotted together to form a map of the I-70/I-71 corridor through the CBD. BOGs were made using all available passes.

69

Figure 3.22, Finer detail of preceding figure showing BOGs in the area around an underpass overlaying an aerial image. The inconsistency of the occupied measurement can be seen in comparison with the consistent measurement of the support walls for the underpass. The split of the Jersey barrier is visible for both the overhead sign and the support members of the underpass. Aerial image after Open Street Map [29].

Figure 3.23, Finer detail showing the BOG near the eastbound split of I-70 and I-71 overlaying an aerial image. The IPV does not travel on the eastbound I-70 segments, but the LiDAR observers these areas allowing for their mapping until the segment becomes occluded. Aerial image after Open Street Map [29]. 70

3.4.2. Evidential Grid Map Results This section contains the EG results at the same locations shown for the BOGs. The occupied beliefs are shown starting with the entire I-70/I-71 corridor, Figure 3.24, followed by the underpass location Figure 3.25 and then the I-70/I-71 split Figure 3.26. Here it is apparent that the occupied belief is strongest at the Jersey barriers and the embankment (likely at the mounting height of the LiDAR). Areas where the runoff have little elevation change result in minimal signal, with just larger foliage registering as occupied. Such result is promising for localization where one desires to correlate against truly static features, rather than foliage that changes over time.

Figure 3.24, EG for the occupied belief through the CBD incorporating all passes.

71

Figure 3.25, Occupied belief shown in black overlaying a Finer detail aerial image in the area of an underpass, matching the previous OG detailed area. Note that the width of the perceived Jersey barrier increases at the gantry and underpass, corresponding to real world. Aerial image after Open Street Map [29].

Figure 3.26, Occupied belief shown in black overlaying the I-70/I-71 split aerial image. Note there is a small occupied belief at the start of a guard rail near (4100, -4825). Aerial image after Open Street Map [29].

72 The overall free belief is not shown because it appears as a dark blob. Obviously the vast majority of the space is unoccupied. Figures 3.27 and 3.28 are the same locations as the preceding figures, this time presenting the free belief. The free belief is not simply the inverse of the occupied belief, note that in Figure 3.27 at 3050 easting and -5020 northing there is a voided line perpendicular to the road. At this location, a guard rail is observed a portion of the time, causing it to register neither as an occupied or free space. Also, the unobserved space meets the free threshold used to generate these figures. Causing this space to be overlaid with dark grey even where there is an occluding feature. Ideally the free space would not extend so far off the shoulder, as will become apparent in the moving space results.

Figure 3.27, Free belief shown in dark overlaying the aerial image of the underpass. A slight misalignment in the display of the MSFs causes the near vertical line at approximately 3065 m easting. Aerial image after Open Street Map [29].

73

Figure 3.28, Free belief at the I-70/I-71 split overlaying an aerial image. Aerial image after Open Street Map [29].

The overall moving belief is shown in Figure 3.29. The small spurs on the southern side show ramp areas. For clarity figures with (3.31, 3.33) and without (3.30, 3.32) corresponding aerial image are presented for the two exemplar locations. Here the strong presence of the lanes can be seen as the darker lines traveling horizontally. One can also see the substantial impact of foliage at areas past the shoulder. As will be shown in Chapter 4, the applications built on top of this dataset can be made robust with respect to these challenges, nevertheless future applications may need a higher quality result. Further implementation of road boundary detection can remediate this problem as could the use of the side viewing LiDAR. One other interesting result is that in Figure 3.32 there are several roughly evenly spaced dark spots on the upper lane. There was a period of construction that resulted in road pylons being placed in that lane. Those pylons made strong targets for the LiDAR, and since they were in properly registered free space, the pylons presented a conflicting result and thus, are recorded in the moving belief. While the pylons did not move, they were on the road and an automated vehicle would want to treat them as obstacles to avoid. In generating single pass observations, these objects would have been registered as static. In an automated vehicle deployment, this disagreement with the a priori map could be registered causing the preexisting map to expire once sufficient observations are reached.

74

Figure 3.29, Moving space estimate for I-70/I-71 through the CBD. Darker greys are stronger beliefs.

Figure 3.30, Moving space estimate for a MSF on I-70/I-71 inside the CBD. Darker greys represent stronger beliefs. The three lanes of travel are strongly visible, however there is a substantial amount of noise induced by clutter, changing foliage, and measurement error.

75

Figure 3.31, Moving space estimate from the previous figure overlaying an aerial image. Note how the line of foliage causes significant noise in the estimate. The moving space on the westbound side of the Jersey barrier is likely from the observation of large trucks when the LiDAR exceeds the height of the Jersey barrier at long range due to beam divergence. Aerial image after Open Street Map [29].

Figure 3.32, Moving space identified at the I-70/I-71 split east of the CBD in greyscale. Darker greys represent a stronger belief.

76

Figure 3.33, Moving space estimate, black, overlaying an aerial image at the I-70/I-71 split east of the CBD. Aerial image after Open Street Map [29].

3.5. Closing

This chapter introduced and then applied the concept of Map Oriented Grids (MOGs). In the context of the IPV dataset, MOGs will greatly simplify the process of vehicle tracking while also enabling automated map building. While this work was explicitly motivated to extract more information from the IPV dataset, this research is also applicable to many ITS applications, such as automated vehicles. MOGs provide observational maps that are storage efficient, straight forward to identify and retrieve based upon map context, and help simplify many applications. These grids reduce some of the complexities found in the current state of the art storage system, and do not rely on the explicit formation of highly detailed feature maps. MOGs can be shared in a peer to peer way, enhancing their temporal relevance and reduce some of the difficulties with current ADAS and automated vehicle implementations (such as poor lane markings). This dissertation presented a region with approximately 3 km of roadway, however the total roadway analyzed far exceeded that number, exemplifying the ease at which large regions can be mapped in this way.

In introducing and applying map oriented grids, several additional concepts were developed. First the dimensionality of freely available vector street maps was increased. While functional, there are circumstances that require the manual intervention which a deployed system would need to automate. Currently, greater than 90% of the region traversed by the IPV was automatically handled

77 with most challenges that required manual intervention being freeway ramps. Properly recording the size of the road in the map data would greatly simplify this effort.

Second, this research created an enhanced but still simple inverse sensor model with specific focus on the revisiting problem under high noise. The model incorporated and extended a few features from the state of the art, while also avoiding any computation more complex than a linear interpolation. Future work could make a robust comparison of this model versus other state of the art models on performance and computation time, focusing on high noise, revisiting environments.

Third, this chapter developed a simple procedure for limiting ground returns. This procedure places an expected bound on the combined pitch of the host vehicle and the road. The process liberally throws out data that might be corrupted by ground returns to ensure that most of the data that is retained is from either fixed objects or moving targets above the road. The presumption is that it is more important to map areas laterally than longitudinally, since those areas are more salient. This discarding of data is less severe than it may first seem, since the ground returns generally are seen far from the IPV and for the front LiDAR sensor these locations are subsequently seen closer to the IPV as it travels downstream, while for the rear LiDAR sensor, these locations were seen earlier when the IPV was further upstream. However, when looking at the results for the occupied space of the aggregate map, it might be beneficial to reduce suppression specifically near the shoulder, in an attempt to increase the occupied space thereof, thus aiding in road boundary detection.

Fourth, this chapter presented the process for placing Bayesian Occupancy Grids (BOGs) observations into MSF. Besides the requisite coordinate transformations, this chapter discussed two implemented techniques for obtaining and placing observations into MSFs. One of these techniques was suitable for real time applications and directly allowed observations made in one MSF to be placed in many different MSFs.

Fifth and finally, this research developed a new methodology for obtaining EGs in a global context. These grids leveraged all available information to develop occupied and free beliefs, and then used individual observations to generate conflict beliefs. A subset of these conflict beliefs represent moving vehicles. While the results are functional for further applications, as Chapter 4 will show, deficiencies were found specifically in excess free belief near road shoulders and the occasional exclusion of in-road reflectors from free space and correspondingly, from moving space.

While a quantitative assessment of the results in whole is not feasible, qualitative results were presented that show strong correlation with related aerial imagery. Future work could attempt 78 quantitative verification of the whole process by independently generating 0.2 m resolution maps and comparing those results, or in part by creating validation or comparison cases for the individual steps.

79 Chapter 4: Applications Utilizing Map Oriented Grids

Using the findings of Chapters 2 and 3, this chapter introduces several novel tools that both facilitates working with the IPV dataset, and benefits ITS and automated vehicles in general. These advances include both providing capability and maintainability. While providing capability receives the bulk of non-proprietary research, providing maintainability is just as critical in the realization of the value that automated vehicles provide for reducing congestion, environmental, and safety costs. The IPV dataset provides a unique opportunity for developing both capability and maintainability applications because its limited sensor suite challenges the researcher to extract information from relatively few measurements (as will likely be the case for consumer grade connected and automated vehicles), while simultaneously covering a great number of conditions over long periods of time in uncontrolled environments. Conversely, the present day automated vehicles are constrained to controlled environments, e.g., Google’s self-driving cars that have utilized a rich sensor suite and very detailed maps [85]. Even Google has recognized that its early automated vehicles will likely be deployed “to certain geographies and weather conditions” [86]. Thus, there are many open problems in the domain of automated vehicles to which the IPV dataset can contribute through its broad observations over challenging conditions.

The remainder of this chapter first defines the specific applications, including: perception sensor calibration, localization refinement, road boundary detection, and lane finding. After placing these applications in the context of the state of the art, the chapter goes in to detailed descriptions of the applications by domain.

4.1. Introduction to the Developed Applications

While the primary purpose of this research effort is to build a toolset upon which to extract the value of the IPV dataset, the resulting tools transcend the IPV research and hold promise to advance the state of the art in several domains, including ITS and automated vehicles. In this regard, other sensors not included on the IPV could achieve some applications with greater ease, e.g., optical sensors are now common in production vehicles to find lane boundaries. Even so, there is still value in the applications herein that modern sensors supersede. This research provides alternative

80 approaches that can be useful for the validation, training, or improvement of that superseding technology. In the road boundary example, the method that this research develops is independent of edge markings, whereas today’s optical sensors are dependent upon those markings. Therefore, the method herein can be used to generate validation datasets for testing and improving optical methods for the cases of poor or intermittent markings, a need embodied by ’s experience with their automated vehicle in Las Vegas [87] where poorly marked roads thwarted a public demonstration.

This work uses a number of concepts introduced in Chapter 3 and their definitions are included in Section 4.7. for convenience.

4.1.1. Developed Applications and Novelty This research develops the following seven applications:

1. Yaw angle calibration of horizontally scanning LiDAR 2. Height calibration of vertically scanning LiDAR 3. Roll verification of vertically scanning LiDAR 4. Localization refinement to the sub-meter level using MOGs and the aggregate occupancy maps 5. Structural change identification using aggregate occupancy maps 6. Road boundary detection using EG in the context of MOGs 7. Lane finding using EG in the context of MOGs

The first three applications are all opportunistic calibrations that utilize ambient measurements rather than intentional calibration measurements. Such calibrations are necessary for the IPV dataset because no intentional calibrations were performed outside of controlling the initial sensor mounting. Obviously similar sensor calibrations will be beneficial for automated and semi- automated vehicles. In other words, these applications are significant to automated vehicles in that it provides for continually calibrating and verifying sensors without relying on the user or service technician to do so. By reducing the need for manual maintenance, these vehicles are more likely to remain in a functional state, which yields benefits to safety and function.

The fourth application uses EGs in MSFs to enhance localization results using static, salient objects captured in the aggregate occupancy map from Chapter 3. In the IPV sense, this enhanced localization aids map building, specifically in the determination of the moving belief. In the domain of ITS and automated vehicles, such a technique can find use in obtaining accurate localization in 81 disrupted GNSS environments, or whenever GNSS accuracy alone is insufficient. In researching this fourth application, it proved to be possible to identify structural changes in the map, e.g., barriers added or moved, road widened, lanes shifted, etc. Depending upon the scope of a structural change, a map may need updating to include the new information. Both the IPV dataset and ITS and automated vehicles benefit from having an automatic method to determine if the existing maps are out of date. Consider the case of a road restriping and the road lanes shift several feet. Purely local observations would not identify such changes, while global localization results after the lanes were shifted would erroneously place a vehicle into the wrong lane (or off the road entirely). Through automating the detection of such structural changes, map changes could be crowd sourced from observers rather than waiting for a controlling entity to update the maps. Removing the map update latency negates the opportunity costs associated with map expiration and the corresponding loss of any map-dependent automated vehicle features. It is even possible that dynamic maps could respond in short order to incidents that block lanes or snow accumulation that temporarily shifts the lanes.

The sixth application is the detection of road boundaries via the EGs. As the Chapter 3 results showed, the map oriented EG method was subject to considering foliage near the shoulder as moving space. The goal of road boundary detection is to obtain a method that restricts the region where moving space identification occurs. As discussed previously, both researchers and practitioners often employ optical sensors to find road boundaries, but limitations remain when striping is unavailable or interrupted. This latter point is particularly important, it is the rare events that could potentially derail optical boundary detection, e.g., temporary pavement markings that conflict with still visible permanent markings; poor lighting conditions or reflections from wet pavement; and completely occluded markings due to debris or snow.

The seventh and final application uses the moving belief in MSFs from Section 3.3.6, and the road boundary estimate above to implement a novel lane finding method. A lane level map is desirable for the analysis of the IPV dataset, however the OSM data does not include lane level information for the IPV study region, or even a count of the number of lanes. Rather than looking at road striping, this method utilizes an aggregation of observed movements and a target tracking filter to define the lanes of the roadway. Observing where ambient vehicles travel over repeated visits rather than the location of lane markings provides a robust representation of where the lanes fall on the road. This approach is beneficial when no markings are present, those markings are ambiguous, or

82 ambient vehicles generally ignore the markings. A frequent case is the movements within intersections, which often do not contain bounding markings for such movements.

4.1.2. Current State of the Art This section serves as a literature review for the current state of the art in the realm of the seven applications. Some applications have received significantly more interest by the research community than others, but all have some applicable prior body of knowledge. The review is set up in three sections: the first is Calibration which considers the first three applications, the second is Structure and Movement Detection (since they are often performed together) which relates to applications four and five, and the third is Road Boundary and Lane finding, which relates to applications six and seven.

A. Calibration

This work considers calibrating the LiDAR sensor to be the determination of the difference between the intended and actual mounting states, where state is the position and orientation. Calibrating is one aspect of maintainability of an automated vehicle. Other acts include validation (e.g. Chapter 2), and fault detection, e.g., [88]. The act of calibrating determines the calibration, which in the case of a LiDAR sensor is the vector of six differences (three position, three orientation) between intended and actual states. In the body of public literature, the calibration of LiDAR sensors is often done with the aid of a camera. Manandhar and Shibasaki [89] used a line camera to create features to which LiDAR returns were related, allowing calibration. A manual calibration of a complete vehicle was performed by Smadja et al. [90]. Here Smadja calibrated the camera coordinates using measured markings on a movable target, and then calibrated the LiDAR with respect to the camera coordinate system. After correcting the LiDAR measurements to match the camera measurements, the LiDAR measurement frame is translated into the GNSS coordinates.

Both Zhang and Pless [91] and Vasconcelos et al. [92] used a checkerboard and camera to mutually calibrate the LiDAR and the camera. While this method is highly accurate, it requires explicit action and does not calibrate the pair to a further body fixed reference frame. Another mutual authentication was performed by Scaramuzza et al. [93], where Scaramuzza calibrates a LiDAR and camera together, but doing so without explicit data collection for calibration. Scaramuzza’s method uses a structured environment, i.e., a corner made by two exterior walls, and manual point correspondence. Habib et al. [94], deployed an airborne LiDAR overhead observing the ground. The LiDAR observations are then calibrated by relating the observations to aerial images that show 83 planar patches. While the IPV is not an aerial platform, the same concepts could be developed using surfaces, including the ground, barriers, or buildings, that the IPV views. Multi-layer LiDAR sensors are calibrated by Atanacio-Jiménez et al. [95] and Talaya et al. [96]. Atanacio-Jiménez calibrated the sensor by placing the LiDAR sensor inside a well measured, rectangular room. Talaya performs a similar function, but uses a 90 degree corner of a building to calibrate its sensors as attached to a host vehicle.

Many of the above calibrations consider a camera to be present and structural in the sense that the camera frame does not move with respect to the body fixed frame. These calibrations then relate the LiDAR frame to the camera frame. The IPV’s cameras are not mounted structurally and can move during and between tours, thus a mutual calibration would need to be performed for every tour, and perhaps during the tour. Additionally, most of these published methods utilize explicit calibration datasets, rather than opportunistic. To support the online calibration of historical IPV data, the calibration of the IPV’s LiDAR sensors must use data already present, and thus, must be opportunistic.

B. Structure and Movement Detection

In addition to grid based techniques for identifying structure and movement around a sensing platform discussed in Chapter 3, there are numerous feature based approaches that use a perception sensor. Due to localization relying on perception rather than GNSS, the localization error can become that of the perception sensor which is typically finer. The Random Sample Consensus (RANSAC) and Iterative Closest Point (ICP) algorithms attempt to match points across scans to match observed structure. RANSAC, introduced by Fischler and Bolles [97], attempts to fit a model, such as a line, to a set of observations using random sampling to arrive at a solution which fits the most points to the model. Yang and Wang [98] utilize LiDAR sensors in a RANSAC framework for both localizing the host vehicle, and tracking moving vehicles. The ICP algorithm by Besl and McKay [99] uses a process where two point clouds are registered by iteratively calculating the distance between the closest points. ICP has also successfully been used in the unstructured outdoor vehicle environment to track vehicles by Want et al. [100].

The preceding techniques can combine the localization and map matching process into a single step, referred to as Simultaneous Localization And Mapping (SLAM). In SLAM both the vehicle location and map are estimated simultaneously, and without a pose sensor (e.g., GNSS or, compass). An overview of SLAM and the development of an automotive specific SLAM algorithm

84 can be found in Thrun et al. [101]. SLAM relies on estimating movement and requires sufficient environmental structure to identify this movement. Being a complex problem, many tools are employed to accomplish SLAM, including particle filters (a sort of random sampling) by Grzonka et al. [102] and occupancy grids, Gil et al. [103] and Vu et al. [104]. Once structure is identified, objects moving within that structure can be extracted, supporting the tracking of vehicles in the SLAM framework as Wang et al. [105] and Arbuckle et al. [106] develop. While SLAM focuses on the robotics problem of entering an entirely unknown world, the tools input into the methodology are applicable to the historical IPV dataset.

While not explicitly stated, the preceding techniques that identify both static and dynamic structure could be used to automatically detect changes in an underlying map, as in application five herein. For example, SLAM tracks a number of objects in relation to a map, and if a substantial fraction of those objects were to move or disappear, one could consider the map to have expired. Likewise, each of the preceding techniques refines a location estimate based upon observations, and warrant consideration as a similar function to application four. However, through the use of map oriented grids, the fourth application is simpler in concept and implementation.

C. Road Boundary and Lane finding

One critical goal in high-fidelity road mapping is the detection of road boundaries. Occupancy grids can then be used for this boundary detection problem as Qin el al. [107] does, however many other techniques exist such as those by Yang et al. [108], Arpin et al. [109], Gonzalez and Özgüner [110], and Homm et al. [80]. The preceding methods focus on real time collection of road boundaries based upon body fixed frame measurements. In addition to road boundaries, Kammel and Pitzer [71], extract lanes on a roadway by observing the lane markers from LiDAR returns that include reflectivity information. However the most popular technique uses optical sensors e.g., Braga de Paula et al. [111], Huang et al. [112], Son et al. [113], and Yi at al. [114]. Some research uses optical sensors in conjunction with range sensors, such as Matushita and Miura [115] who used a camera and ground viewing LiDAR. The research in applications six and seven differ from the existing techniques in that the primary objective is to globally locate the road features rather than identify them in real time for navigation. This different objective allows aggregate data to be used, which removes the reliance on salient road markings. While the processing is done across many observations, for broader use these observations could come from many vehicles that passed over the preceding few minutes and the identified lanes become information that is stored in a dynamic map rather than perceived directly by the vehicles. 85 4.2. Perception Sensor Calibration

Each perception sensor can be located in the host vehicle’s body fixed frame via six parameters, including three rotations (yaw, pitch, and roll) and three translations (X, Y, and Z). Any difference between the expected value of these parameters and the actual value will result in errors when transforming between the sensor frames and any other frames. These errors result in a corresponding offset in the respective observation, decreasing the overall accuracy of any measurements later performed upon those observations. The effect of angular error depends upon the observation range, with far distances yielding larger positional errors than near distances. These errors due to rotation are substantially greater than the errors due to translation, due to implication with range. The IPV was designed to control for these mounting errors, however no formal verification of the as-mounted parameters were made on a continual basis. The IPV also did not undergo consistent manual calibrations during its period of operation. Such a scenario anticipates the real world treatment of automated vehicles’ sensors. The following section outlines methods to perform calibration of a select set of these parameters using unique applications of the sensor observations and the localization data. Specifically, the discussion includes calibration of the yaw angle of the front and rear LiDAR, as well as the height (Z), and roll values of the side LiDAR. Of these the yaw calibration is most interesting when considering impacts beyond the IPV study.

4.2.1. Yaw Calibration: Front and Rear LiDAR Calibrating the yaw angle of the horizontally scanning LiDAR is necessary to minimize error for targets at long range. A one degree error in mounting angle can result in greater than 1 m error at the extents of the sensor’s range. In addition to location errors, for vehicle tracking and perception sensor based localization, errors will exhibit themselves as rotations of the target when in actuality there is none. This work uses a fixed object native to the roadway to identify and mitigate yaw angle mounting errors of the front and rear LiDARs. Thus, it is broadly applicable to any locations where such a feature is found.

The yaw angle correction process first establishes an error metric, calculates this metric over a space of possible offset angles and then finds the angular offset that minimizes the error metric. The process uses a physical reference line, in this case a Jersey barrier at a location where the barrier is smooth and straight. Around this barrier a calibration space is defined which incorporates a length of road in a single direction of travel (typically a MSF). A geo-fence identifies all passes which traverse through the specific MSF, demarking when the host vehicle enters and exits the

86 region. When the host vehicle travels through the calibration space, the observations of the reference line (Jersey barrier) from the front and rear LiDAR should fall onto a line assuming the pitch and roll error of the sensors are negligible. Using MOGs, this line can simply be a column of the respective grid. Any deviation from that line is dependent upon the yaw angular error.

The following section details the operating principals of this application, followed by the individual processes including: the calculation of the error metric, the angular search, and minimization. Finally, results are presented for the application’s execution upon the IPV dataset.

A. Operating Principal

In Figure 4.1a the host vehicle’s front LiDAR is mounted ideally so that its ray is incident upon point C at both locations A and B. Under the straight Jersey barrier assumption, the radial distance reported by the LiDAR, 푟, follows equation (4-1), where 푑푥 is the lateral distance from the LiDAR to the Jersey barrier, and 훼 is the scanning angle of the LiDAR with forward as zero degrees.

Likewise, the sensor model recovers the lateral distance to C, referred to as 퐶푥 from the reported radial distance 푟 by equation (4-2). Figure 4.1b shows that when an angular mounting error, 휀, is present, the LiDAR is then incident upon two different points C’ and C’’ rather than the single point C. The radial measure 푟′ reported then follows equation (4-3). The ratio in equation (4-4) expresses the impact of the angular error, which Figure 4.2 presents for -1.5 degrees of error. As the figure shows, a minimal mounting error generates lateral errors over 6% at smaller angles of incidence between the LiDAR and barrier. The ratio propagates into the measure of 퐶′푥 by equation (4-5). When angular errors are present, the host vehicle’s traversal through the calibration space will result in 퐶′푥. Values that do not fall on 푑푥, rather 퐶′푥 will spread over a range of x values. Greater magnitudes of 휀 result in a greater lateral range.

87

Figure 4.1, Calibration space with the host vehicle at two locations, A and B, observing a single location, C, on the Jersey barrier. a) is with perfect sensor mounting, and b) is with imperfect mounting causing the observations to be made at C’ and C’’.

푑푥 푟 = (4-1) sin 훼

퐶푥 = 푟 sin 훼 (4-2) 푑푥 푟′ = (4-3) sin(훼 + 휀) 푟′ 푟 = (4-4) 휀 푟

퐶′푥 = 푟휀 푟 sin 훼 (4-5)

Figure 4.2, The effect of a mounting error of -1.5 degrees on 푟휀 over LiDAR ray angles of 25 to 90 degrees. 88

The above process makes multiple assumptions. The first is that there are no structural errors in the global localization result of the host vehicle, specifically the heading (i.e., the host vehicle translates in the same direction as the heading). If a structural heading error is present, the following process will correct for that heading error in combination with the LiDAR mounting angle, thus the contribution of heading error and mounting error are inseparable. The next assumption is that the Jersey barrier is smooth, and its width deviates only inconsequentially with height. When the barrier is not smooth, it would itself generate lateral deviation, masking the effect of the LiDAR yaw angle mounting error. If the barrier width changes significantly with height, the pitch of the host vehicle, observation distance, and LiDAR beam divergence would all add additional ambiguity to the output measures.

The following process considers only the lateral dimension. The process can and has been extended to handle lateral and longitudinal dimensions simultaneously with similar results. The multiple dimension solution makes the process more robust to the assumptions above while adding moderate complexity.

B. Error Metric

The error metric uses the principle from the previous section; that a mounting angle without error should result in a small range of 퐶′푥 values for the host vehicle’s trip through the calibration space. To do so, a histogram operation bins and accumulates the measurements in discrete intervals along the x axis. Each bin then represents the number of observations made at that lateral (x) location along the entire length of the calibration space. A threshold operation then converts the integer valued bins into logical values representing the presence or absence of an observation in that bin. The residual of the error metric is then the number of these lateral bins with a logical true value. Thus when all observations fall into a vertical line, when considering the convention for the calibration space, the error metric will be at a minimum. Conversely, when the line is diagonal or spread laterally, a large number of bins will be occupied resulting in a large value for the error metric. A histogram operation is more robust to single point errors versus the range operation, hence its use here. With a range operation, a single superfluous point disrupts the entire measurement, whereas the histogram operation only increments the error metric by one. The process is also independent of the speed of the host vehicle. Each observation contains all applicable 훼 values, thus a single observation is sufficient. Therefore, a pass through the calibration space

89 containing one sample will still yield usable results, however more observations enhance reliability and are utilized when present. Additionally, each pass is considered independently, so a slow pass that has many more scans within a given region compared to a fast pass will not be overrepresented when considering the totality of the results.

C. Angular Search

An iterative process minimizes the error metric to find a correction that cancels the yaw angle mounting error, 휀. First, a correction angle, 훿 is introduced into the measurement model via equation (4-6). Next, equation (4-7) combines the real range measure with error and the measurement model. As the equations show, 퐶′푥 can be set equal to 푑푥 by finding 휀 = 훿. The objective is to search for the 훿 that achieves this minimization, as calculated through the error metric.

퐶′푥 = 푟′ sin(훼 + 훿) (4-6) 푑푥 퐶′ = sin(훼 + 훿) (4-7) 푥 sin(훼 + 휀)

To minimize computation time, the angular search operates first over a wide range of 훿 values using large steps and then over a smaller range with granular steps, where the smaller range is defined by the results of the wide range analysis. The parameters of range and resolution should be set according to the expected error and accuracy needs. For this work, the small range was [-1.5°, 1.5°] with a resolution of 0.02°. At each search step, the process projects the LiDAR returns using the current 훿 and calculates the residual. Figure 4.3 contains the results for the front and rear LiDAR of the October 23, 2008 dataset. Both the front and rear LiDAR show a decreasing error term from the most negative search space, eventually reaching a minimum between 0.5° and 1°. Note that the error term should never be zero, because the Jersey barrier is always present and should occupy at least one lateral bin. While the location of the minimum value of the error term is important, the numeric value of the error term has no meaning between tours and even passes because it is dependent upon IPV speed and lane.

90

Figure 4.3, Result of the fine search centered at 0 degrees, for one dataset. Both front and rear LiDAR are presented.

D. Minimization

The minimization step simply finds the 훿 which minimizes the error term for a single pass of each tour. Using a single pass per tour assumes that there is no significant movement of the LiDAR within a tour. The minimization was performed using the first pass from each tour, however a higher fidelity solution would choose the pass based upon other characteristics which would increase the quality of the result, including occlusions and lane. The process shows good stability, with the error term versus the corresponding 훿 taking a parabolic shape with no ambiguities in finding the minimum, e.g., there was always an apparent global minimum. The minimizing 훿 for each tour is stored as a modifier to the LiDAR calibration.

E. Results

The process was applied to the IPV data including Travel Time and Freestyle tours, for a total of 83 individual tours. Figure 4.4 shows the resulting LiDAR returns for a single pass under four 훿 values used during the minimization calculation. From this figure the lateral spread, implying a large error term, is apparent at the uncorrected angle, 0°, shown in part a. Figure 4.4b shows how the spread is reduced by using a 훿 of 1°. The points primarily fall into a line with some spread to the right. Figure 4.4c is the result for a 훿 of -1°, and results in much greater spread then before. Finally, the value calculated in 4.2.1.D which minimized the error term is shown in Figure 4.4d. Here the points tend toward a thin line. Note that while the location of the figures are different due

91 to the lateral offset effect, as described previously, the scales are the same permitting direct comparison of the plots.

Figure 4.4, LiDAR returns from four 훿 values, a) no correction, b) 1°, c) -1°, and d) 0.9° which is the minimizing value.

Figure 4.5 presents the aggregate data for all passes. The mounting angle of the LiDAR has good stability with an absolute range of less than 1° for both the front and rear LiDAR. Figure 4.5a shows the front LiDAR which appears to have a slight trend to lower angles (signifying a movement counter-clockwise) over four years of operation. Figure 4.5b shows the rear LiDAR, which does not appear to have any temporal trend. The average value of the front and rear LiDAR correction angles is between 0.7° to 0.9°, potentially exemplifying a structural error. The LiDAR scans at 0.5° intervals; thus, it is possible an offset by one in the scanning angle to scan report mapping could cause such a structural error.

92

Figure 4.5, Minimizing 훿 for all IPV datasets, for a) front LiDAR, and b) rear LiDAR.

4.2.2. Height Calibration: Side LiDAR Calibrating the height of the vertically scanning side LiDAR is of little consequence itself. If the fore and aft LiDAR are consistent, the structural error from inaccurate height simply causes the raising and lowering of the whole observation plane. However, the height does provide bellwether for any changes to the overall LiDAR mounting, and the potential for the disruption of other, more impactful, mounting parameters.

The desired output of the side LiDAR height calibration is the distance from the LiDAR sensor to the road surface. If a significant change in height is observed between tours, there is a high likelihood that the LiDAR mounting has been disturbed and the resulting data should be questioned. In the future, the heights could also be used to make an assessment of the roll of the vehicle due to dynamic maneuvers, supporting greater accuracy in certain measurements.

Calibrating the side LiDAR requires several assumptions. The first is the assumption that the IPV is static for a very small duration at the start of each tour (here 0.25 seconds is used). The second assumption is that the IPV is on a consistent slope during that same period, it does not need to be level. The third is that the IPV is at a neutral angle, it is does not have a significant roll or pitch such as that imparted by weight distribution or tire inflation. Finally, it assumes no substantial error in the roll angle of the LiDAR themselves.

Using these assumptions, the calibration follows a simple process. First, the process extracts the LiDAR returns from the 2nd through 10th samples for each tour. These samples are used according 93 to the assumptions in the preceding paragraph. The start of the tour is used because each tour starts with a static IPV in a parking lot. These parking lots are generally flat, providing a good reference for the relationship between the LiDAR and the road surface. Next the process identifies all LiDAR observations fall between 0.15 m and 1.5 m on the X axis and below -1.75 m on the Y axis (details of the coordinate system are in Appendix A). The X range of these observations reflects that the road surface should be identified close to the vehicle. The upper X bound is set so that only laterally close observations are considered. The lower X bound is set to prevent the inclusion of any observations of the IPV itself. The Y range limits observations to those significantly below the LiDAR, at the expected height of the road surface (or more precisely, the negative of the height of the IPV itself). Finally, the process finds the minimum y value of these 2nd through 10th observations for each tour. The minimum y value is considered the height of the LiDAR above the road surface. The minimum is used for consistency and to handle for any cases where an object, e.g., rock, is on the road surface which would influence the average or median values22. The IPV is not moving during the sampling period, therefore no transient events are present that would impart significant noise to the minimum value.

Figure 4.6 presents the results of this calculation for the fore driver side LiDAR over time. The data show a trend towards a decrease in magnitude with time on the order of 5 cm. Such a decrease could be due to the LiDAR moving, or the suspension settling. There are a few outliers, but no shifts that would signify a dramatic movement of the sensor. Figure 4.7 presents the results for all four side LiDAR. Again, there are outliers, but no dramatic shift that would signify a major disruption of the sensor location.

22 The location of the IPV tour starts were flat and consistent. If the IPV were to start at a location with features that would influence the LiDAR return, e.g., a retroreflective marking, or significant undulations, then the minimum value approach may not be sufficient. 94

Figure 4.6, Estimated height of the fore, driver side vertical LiDAR for each tour.

Figure 4.7, Estimated height of all vertical LiDAR for each tour.

4.2.3. Roll Validation: Side LiDAR Validating the roll angle of the vertically scanning side LiDAR enhances the accuracy of road crown assessment and provides consistency in the extraction of overhead objects. Objects on or near the road that the side LiDARs observe are generally close, e.g., 10 m, so any resulting translational error in an observed object, due to a pitch or roll angle error, will be minimal. However, any pitch or roll angle error will exhibit itself as a rotation of the entire sensor providing a different slope to horizontal and vertical elements (e.g., a luminaire will appear to be tilting).

Calibrating the side LiDAR roll angle is particularly challenging due to the crown of the roadway and the absence of long, vertical, overhead features. The road crown can easily be greater than a degree [116], and varies depending upon lane and the lateral position within the lane. The unknown road crown provides a lower bound to the achievable calibration accuracy. Numerous luminaires 95 and bridges are present on the IPVs routes, but their slopes are unknown, and they provide a low quantity of observations per pass. A final influencing factor is the suspension of the vehicle, and unmeasured influences upon the suspension. Statically, the wear on the suspension, tire inflation, and weight distribution all effect the roll of the vehicle. Dynamically, any yaw of the vehicle will cause lateral weight transfer on the suspension rolling the vehicle.

Absent of a method to computationally calibrate the sensors, a method was developed to qualitatively evaluate the consistency between the roll angles of the LiDAR sensors. The 2D LiDAR scan observations for passes under the North Broadway bridge on I-71 Northbound were generated and examined for inter-sensor consistency in the body fixed frame. Figure 4.8 is the first pass, and Figure 4.9 is the last pass. If one or more of the sensors were inconsistent, the shape of the roadways would not line up, showing differing road crowns or slopes to the overhead bridge members. The figures show that the output is consistent in that the road crown appears continuous as do the overhead elements, and points overlay within 0.1 m. The final crown slope of the road begins at approximately -4 m and continues to -6 m, where it meets the Jersey barrier. From the left to right, a slight downward slope of the overhead elements is present.

Figure 4.8, Side LiDAR scans below a bridge for the first trip, Driver side Fore and Aft.

96

Figure 4.9, Side LiDAR scans below a bridge for the last trip, driver side Fore and Aft, Passenger side Aft.

A computational calibration would need to control for road crown and have an absolute reference. There are simply too many degrees of freedom when observing a single point. For efficacious roll calibration, the IPV would need to travel slowly through a structure with known slope on a road with known crown, ideally flat. Another possibility is to use multiple passes in multiple lanes to digitize the shape of the road crown. The shape of the road crown combined with an assumed static feature, such as a vertical pillar, may be sufficient to generate a calibration process.

4.2.4. Other Angles The preceding sections detailed only three of the twelve possible calibrations, leaving much room for future work in the self-calibration area. Two calibrations stand out as most needing this future investigation, the pitch angle of the horizontal LiDARs, as well as the yaw of the vertical LiDARs. Understanding the pitch angle of the horizontal LiDAR assists in resolving ground returns, as discussed in Chapter 3. When in a speed trap configuration23, the yaw angle of the vertical LiDAR effects the accuracy of speed measurements. Here an incorrect yaw angle will cause the effective distance between the LiDAR to change at the observed location of moving objects, resulting in erroneous speed measurements.

4.3. Localization Refinement

Global localization processes (such as the one in Appendix B and validated in Chapter 2) typically use GNSS, inertial, and odemetric sensors. The presence of perception sensors can further enhance

23 In the speed trap configuration the IPV uses two vertically scanning LiDAR a known distance apart. The time difference between when an object is first observed in both LiDAR is proportional to the speed of that object. 97 the accuracy to tenths of a meter and below. While Chapter 2 used perception capability to validate a localization result, this section uses MOGs and perception to achieve localization at nearly the resolution of the grid itself, and at any location where salient, static, objects are present24. Such accuracy is desirable to reduce errors when tracking ambient vehicles and when tracking the host vehicle’s relationship with the lanes and other boundaries. All measurements are relative to the host vehicle, any error in the vehicle’s measurements will propagate to the position, speed, and acceleration measurements of the target vehicles. Perception based localization enhancement can correct the localization to better than 0.25 m, where the error from the perception sensors themselves start to overtake the errors of the global localization process. This localization process only corrects for translational errors, but as implemented it excludes rotational errors. While it is possible to extend this process to rotational errors, the increase in search space can quickly make the problem intractable on today’s practical computers. A tractable solution for heading error would be to calculate the heading using the refined movements of the host vehicle.

The localization enhancement makes significant use of the MOGs containing Bayesian Occupancy Grids (BOGs) and Evidential Grids (EGs) that were introduced in Chapter 2, and by doing so, creates a computationally efficient process. The process first creates an aggregate EG in the occupied state for all available passes through a MSF. Then the process correlates each pass to the aggregate EG. The lateral and longitudinal offsets with the highest correlation are used to minimize any remaining localization error. Note that this method cannot resolve structural error, e.g., a GNSS result that is biased, and assumes that the error in both the lateral and longitudinal direction is zero mean. A unique characteristic of this operation is that there is no derivation of features from the observational data, it simply compares aggregate observations with a single sample. This characteristic contrasts the current state of the art in localization based upon perception which requires the extraction of features from the observations.25

A second output of performing localization enhancement is the ability to detect significant structural changes within the environment over time, such as lane shifts, the addition of sound walls, etc. The correlation results from the localization enhancement signify how well observations

24 Certain salient objects, such as a straight barrier, only allow localization correction of a single axis. 25 RANSAC and other scan matching algorithms could be considered as operating on observational data. However, in the unstructured environment experienced by ground vehicles, these scan matching algorithms require a pre-processing step that extracts salient objects and or groups like points, thus creating features. 98 match the existing map. The ability to detect when a map has changed in an automatic fashion could be a key enabler of automated vehicle technology with crowd sourced mapping.

4.3.1. Process for Localization Refinement Using Map Oriented Grids The first step of the process is to generate a BOG for each pass in the MSF of interest. This generation utilizes the processes of Section 3.3.5. The EG occupied belief is calculated from the BOG for each MSF (using Section 3.3.6.), and both are stored for later use. These per-pass beliefs are used in both the aggregate map generation and then the search for the maximizing correlation.

A. Aggregate Map Generation

The aggregate map generation involves analyzing each pass in log odds form. Figure 4.10a shows the aerial image with segment information, and then Figure 4.10b shows the corresponding BOG for one pass. The BOG for each pass is then accumulated, i.e., the values of each corresponding cells are added together. To prevent oversaturation, as each BOG is added to the aggregate, the result is bounded by−10 < 훽̃ < 10, where 훽̃ is the cell occupancy in log odds form. The purpose of oversaturation protection is to reduce the ability of a single pass, such as one with stop-and-go traffic causing extended observation time, from being over-weighted with respect to the other passes. After the summation in log odds form, the aggregate BOG is then converted into an EG occupied belief and normalized so that the maximum cell value is one. This aggregate occupied belief over many passes is effectively an average of the occupancy for each pass. The occupied belief is used because it declutters the MSF grid representation compared to a BOG. If left unmitigated, this clutter would cause substantial noise on any correlated result reducing the strength of the correlation and potentially leading to poor localization solutions.

99

Figure 4.10, (a) Aerial image showing map segment from OSM [29]. Note that the image is aligned north-south rather than along the segment. (b) MSF BOG in Log Odds form from a single pass prior to oversaturation prevention.

B. Assess Longitudinal Information Availability

Prior to correlating individual maps to the aggregate maps, it is necessary to determine if the aggregate map has sufficient longitudinal information to perform a meaningful correlation. Consider the extreme case of a long, straight tunnel with constant lateral width. It is apparent how determining lateral position in such an environment is simple because the distance to the wall on each side is easily identifiable. However, there is no way to identify longitudinal position since the tunnel has the same profile over its entire length, and the tunnel is longer than the LiDAR’s effective range.26 While tunnels are not frequent in the IPV dataset, there are several segments that have straight Jersey barriers and/or featureless returns on both sides. To detect these instances and skip the longitudinal correlation, the following procedure has been developed.

First, any occupied space that was not observed in more than 25% of the passes is eliminated from the aggregate occupied belief. This elimination is effectively a thresholding operation that forces any cell value below 0.25 to become zero. Thresholding in the preceding manner removes many non-salient objects in longitudinal feature detection, thus enhancing the fidelity of the output.

Next the aggregate occupied belief is converted into a logical grid, i.e., occupied or unoccupied. Logical conversion is achieved by setting any non-zero cell to the value true, and zero cell to the value false. The sum is calculated for each column of the logical grid and stored in a vector. This

26 This situation is analogous to edge detection in image processing, where one needs additional information, such as corner detection, to determine where on the edge the observation falls. 100 sum is then tested to see if it is greater than 0.95 multiplied by the number of rows. The effect of this calculation is to find if there is any column that is in the occupied state for a great majority (95%) of the longitudinal distance of the map segment. An example of the source data and this computation is presented in Figure 4.11a and b. If there is such a column on both sides of the zero m lateral line, then the MSF is considered to not have longitudinal information available, e.g., Figure 4.11c. In the later correlation step, only a lateral optimization will be performed. One limitation of this method is if the actual road and the segment are not well aligned, then a straight wall along the roadway may appear angled in the MSF, resulting in this assessment being inaccurate.

Figure 4.11, Three plots showing the assessment for presence of longitudinal information, (a) the occupied belief, (b) the fraction of the rows occupied in each column, (c) a MSF that is assessed as containing no longitudinal information, note the MSF is different from (a) and (B)..

C. Correlation Search

The correlation search is the final step in the localization enhancement. The correlation search performs the optimization step which results in an estimated shift in grid cells to align each pass to the aggregate occupied belief. The goal is to find the movement of the individual pass’s occupied belief that best aligns with the aggregate occupied belief, thus optimizing the location estimate.

C.i. Perform Correlation Operation

Prior to correlation, a weighting is generated which is used to coerce the correlation to rely on observations closer to the centerline of the MSF, rather than those farther. For example, it is better

101 to correlate on a gantry near the road, rather than a tree much farther away because the gantry minimizes the impact of sensor alignment errors. The weighting is a normal curve with a standard deviation of 15 m, representing 4 lanes of freeway, oriented along the longitudinal axis of the MSF, e.g., Figure 4.12. The weighting is then applied to the aggregate occupied belief.

Figure 4.12, Weighting of cells for lateral localization enhancement. The higher the weighting the more impact a cell has on the solution.

The aggregate occupied belief is then converted into a logical grid using a 10% threshold, requiring that a cell is considered occupied in at least 10% of the passes. Note that this threshold is different from the 25% used in the preceding section, a choice made because the effect of an individual cell is lower in correlation compared to feature detection, making it more tolerant of cells with lower belief values. A similar operation is performed on the single pass occupied belief, this time using a threshold of 5%. These operations use loose thresholds to err on the side of classifying a cell as occupied, to yield a more feature rich environment for correlation.

For the correlation, the alignment between the aggregate and the single pass grids is considered to be optimized when the most number of occupied cells overlap between the translated single pass occupied belief and the aggregate occupied belief. The translation of the single pass belief controls the search space, and uses an iterative search of the rows and columns. The range of the search spans 20 rows and columns in each direction, and each permutation is tested. With the preceding range, a total of 1681 permutations are examined, the rows and columns each have 41 cases (20 units to each side and the origin) resulting in the number of permutations being the square of 41. This translation yields a movement of up to 4 m when the cell resolution is 0.2 m. The number of row and column translations to search is a tunable parameter, and the computation time significantly increases the with the size of this parameter. To reduce computation time, if Section

102 4.3.1.B. found that there was insufficient longitudinal information, no iterations across the rows are performed.

Equation (4-8) presents the operation resulting in the correlation, f. For each iteration, the single pass grid P rows and columns are shifted by the current row and column values, i and j respectively. The value of the aggregate grid, A, is held constant. The boundaries of P are cleared, shifting in null values. While clearing the boundaries makes the correlation space smaller, there is no data source from which to obtain values to fill in these boundaries. The previously computed weighting factor is applied in the equation as w. The shift which results in the f value closest to one, signifying the highest correlation, is considered the best fit.

푛 푚 ∑푗=1 ∑푖=1 푤푖,푗 ∙ Α푖,푗 ∙ Ρ푖,푗 푓 = 푛 푚 (4-8) ∑푗=1 ∑푖=1 푤푖,푗 ∙ Ρ푖,푗

This correlation operation is performed on each pass. One way to observe the success of the operation is to sum the grids for each pass before each pass has been optimized, and after, as done in Figure 4.13. Here the lines representing the barriers on both sides of a roadway are noticeably thinner by roughly 0.4 m in part b than they are in part a. The reduction is width is because the passes overlay each other with greater frequency, representing higher localization consistency.

Figure 4.13, The aggregate belief before, part a, and after, part b, performing the localization enhancement using the EGs observed from all available passes. A higher resolution of the same is in parts c and d.

103 C.ii. Correlation Results

Figure 4.14 presents an example of the results for a MSF that contains longitudinal information, including before and after correction by correlation. Figure 4.14c shows the frequency of each column and row shift. For the exemplar segment, the correlation maximizing shift and the resulting correlation are presented in Table 4.1. Note that this segment did not have longitudinal information available. The pass from the second trip of the NV_1002250724 tour resulted in an extremely small correlation, however most other maximizing correlations were in the high 50 to mid 60 percent. The maximum shift was 3 units, resulting in 0.6 m of lateral change. Previously, the localization algorithm was shown to obtain better than 1 m accuracy, the movement of no more than 0.6 m reflects this accuracy, and its improvement to the 0.2 m cell size.

Figure 4.14, Accumulated occupied cells for every pass through a MSF, (a) before correction via the correlation search, (b) after, and (c) the aggregate number of passes shifted by a number of rows and columns.

104

Tour Name Trip Shift Corr. 1 NV_0811070731 1 1 0.60 2 0 0.63 2 NV_0811180724 1 0 0.65 2 -1 0.67 3 NV_0812171635 1 0 0.48 2 0 0.59 4 NV_0902051630 1 -1 0.54 2 0 0.53 5 NV_0902191635 1 1 0.63 2 1 0.64 6 NV_0903171631 1 0 0.49 2 -1 0.57 7 NV_0904221627 1 0 0.64 2 0 0.55 8 NV_0905190729 1 0 0.63 2 0 0.67 9 NV_0906041643 1 -1 0.67 10 NV_0906291533 1 -1 0.67 2 0 0.65 11 NV_0907091602 1 0 0.62 2 1 0.69 12 NV_0907281600 1 1 0.62 2 0 0.62 13 NV_0908181516 1 0 0.61 2 0 0.60 14 NV_0908190727 1 1 0.66 2 0 0.55 15 NV_0908251615 1 0 0.63 2 1 0.61 16 NV_0909091554 1 1 0.59 2 0 0.68 17 NV_0911131600 1 1 0.59 2 1 0.54 18 NV_1001211551 1 0 0.42 2 1 0.25 19 NV_1002040738 1 0 0.52 2 1 0.52 Continued

Table 4.1, Lateral shift and correlation value for 38 trips through map segment with nodes 230251516, 334125241. Each unit of shift corresponds to δ, 0.2 m.

105 Table 4.1 Continued

Tour Name Trip Shift Corr. 20 NV_1002250724 1 0 0.50 2 0 0.02 21 NV_1004151602 1 0 0.63 2 1 0.62 22 NV_1004221600 1 1 0.62 2 1 0.62 23 NV_1004291604 1 -1 0.63 2 0 0.64 24 NV_1005061600 1 1 0.61 2 1 0.61 25 NV_1005131601 1 1 0.68 2 0 0.61 26 NV_1007061614 1 0 0.63 2 -1 0.66 27 NV_1009151546 1 0 0.63 2 0 0.62 28 NV_1010191600 1 0 0.62 2 0 0.61 29 NV_1105091553 1 1 0.62 2 1 0.61 30 NV_1107251552 1 1 0.63 2 0 0.59 31 NV_1108081552 1 1 0.63 2 1 0.62 32 NV_1108190722 1 0 0.64 2 0 0.62 33 NV_1108311552 1 2 0.64 2 1 0.57 34 NV_1110031611 1 0 0.64 2 1 0.65 35 NV_1110171604 1 3 0.65 2 1 0.64 36 NV_1110310730 1 0 0.58 2 0 0.63 37 NV_1111090729 1 0 0.58 2 1 0.65 38 NV_1111141601 1 2 0.58

The minimum shift over the 75 entries was -1 cells, while the maximum was 3 cells and the average was 0.36 cells. The minimum correlation was 0.02 units, the maximum was 0.69 units, and the average was 0.60 units.

106 4.3.2. Structural Change Identification and Map Invalidation One result of the correlation operation is the ability to detect time points between tours where the correlation shifts, which represent structural changes in the observed area. Such structural change can have great impact on automated vehicle applications. Uber reported that after mapping routes in the winter, their vehicles became confused in the spring when the foliage changed [46]. Therefore, there is great value not only in detecting changes to the roadway itself, e.g., lane shifts and traffic pattern changes, but also in the environment surrounding the road that automated vehicles use in their localization processes.

An example of this could be when the lanes are shifted, e.g., due to construction. The average map, i.e., the aggregate occupied EG, reflects the most observed structure of the road. If at some point during the IPV dataset that structure changes, e.g., the lanes are shifted by the operating agency, the actual map after (before) that point in time may not reflect the aggregate map (presuming the change happened later (earlier) than the tour at the median time of all IPV tours). Since the road and surrounding structure does not agree with the aggregate map well, the correlation values for all single pass grids during that time of disagreement will be lower. Figure 4.15a shows an example where there are 3 primary plateaus in correlation, the first between pass 1 and 30, the second between passes 55 and 80 and the final pass 85 and later. Also in this figure are images from the onboard camera: b) contains the 47th pass, c) 55th pass, d) 74th pass, and e) 85th pass. These step changes can be detected and called out to a data consumer for verification that indeed, the road structure changed at that time point. As is obvious from Figure 4.15a, there is noise within the correlation measures, thus a single observation is not sufficient to identify a structural map change. While this noise limits the ability of the method in that a single sample cannot be taken as indicative of a change, the general trend will reveal the structural changes since each sensing vehicle that traverses the MSF will experience the change. Thus, the latency in detecting a structural change will depend upon the penetration of sensing vehicles and the variance in the correlation measures.

107

Figure 4.15, Correlation of a MSF where significant construction occurred, specifically the addition of a sound wall on positive lateral side. Part a shows the raw values while parts b through e are video captures from the IPV of the building of the wall over time. After the initial thirty passes, two distinct plateaus are visible, one between 55 and 80 passes and the other from 85 to the end.

In the context of historical data analysis, such as with the IPV dataset, there is the inherent ability to remake the aggregate belief grids into multiple grids, before and after any structural change(s). Augmenting the map with metadata that reflects the date of the change is one potential solution. All tours before the change can use aggregate belief grids covering the initial time period, and all tours after the change can use aggregate belief grids covering the later time period. For real world automated vehicle applications, the expired map would simply be discarded.

4.4. Road Boundary Detection

Road boundary estimation attempts to find and define the edges of the roadway. With these edges known, it is possible to suppress any cell outside the road boundaries to prevent their classification as moving space. Suppressing these cells simplifies the process of searching for lanes and road going objects. This research does not necessarily attempt to find the edge of the pavement, rather it finds obstacles that would prohibit the movement of a vehicle in that region. This approach is not ideal for one to one comparison with edge markings, but is suitable to place an upper bound on drivable space. The method in Thornton et al. [26] is more suitable for the comparison with optical sensors and edge markings is available when curbs are present.

Road boundary detection executes by establishing critical points which define the lateral extents of the roadway. Four critical points on each lateral side of the road are found. To do so, the longitudinal distance of the road is divided evenly into four regions. For each region, the cell with the smallest lateral magnitude and a normalized occupied belief greater than 0.15 is identified. This 108 threshold was found ad hoc through experimentation with the data. Note that this method was developed and tested with aggregate belief data, but by normalizing the threshold operation the method should be successful with a single pass, provided sufficient observations are available. A linear interpolation is performed to generate line segments connecting the four points on each side of the roadway to define road boundaries. Since the critical point is not guaranteed to be at the longitudinal extents, the line segments are extrapolated to reach the minimum and maximum longitudinal displacement. Hence, a globally referenced feature map of the road boundaries is derived from a MOG.

After the boundary generation, to assess the reasonableness of these boundaries the standard deviation is calculated for the right hand side of the road. Within the I-70/I-71 corridor often times the right hand side has a high standard deviation because its environment is highly unstructured, whereas the left hand side typically has a Jersey barrier or fence27. If the right hand side's standard deviation exceeds two cells, the left hand side boundary is translated to the right side, matching the innermost critical point of the right hand side. The example presented in Figure 4.16b shows such an action occurring. Here the left hand side is well structured while the right hand side is not. The left side boundary has been translated to the right side, aligning with the point at approximately (5, 38).

The translation of side presumes that the right and left boundaries have the same shape over the MSF. Since there is the occasion where the left side is unstructured while the right side is not, if the right standard deviation is less than one half of the left side standard deviation, the right boundary is translated to the innermost point of the left. Replacing high standard deviation sides has worked well in practice, but this is an area for future research to validate and improve.

27 Non-urban areas where there is a wider median and no such barriers would need advancement to this method. 109

Figure 4.16, Part a, aerial image of segment under study [29]. Part b, estimated road boundaries shown in black, with the four critical points on each side shown as black with yellow circles. The boundaries overlay the occupied space color coded from red as highly occupied to blue being lightly occupied.

It is worth noting that significant effort was spent in attempting to use the vertical scanning LiDAR to find road boundaries. Where curbs are present, such task is straight forward as demonstrated in [26]. However, where curbs are not present, no consistent method was established using the vertical LiDAR. The nature of the road edges is inconsistent, sometimes sloping upwards, sometimes downwards. The nature of the LiDAR returns also did not allow use of such measures as height variance. One potential method for improving boundary detection is to use the raster aerial imagery in a similar vein as Kurdej et al. [57], however with the added efficiency of placing the aerial imagery into MOGs. If one were to detect road edges on the images and assume alignment, those edges could assist the LiDAR observations in road boundary detection.

4.5. Lane Finding

The lane finding algorithm seeks to detect all lanes in the observable region around the host vehicle, including lanes and even roads upon which the host does not travel. The algorithm is currently functional under freeway conditions. The development of MOGs containing moving beliefs significantly aids the execution of lane finding. The algorithm requires three inputs; a high quality moving space belief, a MSF well aligned with the direction of travel, and the estimated road boundaries. The algorithm executes by: first, moving belief cells outside the road boundaries (from 110 Section 4.4) are set to non-moving; second, the modified belief is filtered; third, the algorithm identifies peaks in each row of the filtered moving belief, and then tracks and filters the peaks across the rows traversing the longitudinal extents of the MSF. The detailed description follows.

There are six major steps for lane finding. The first is to obtain the aggregate moving belief for all passes, and then normalize that belief so that it is valued between zero and one. It is possible to utilize a single pass, but it is unlikely to produce quality results because only a small number of moving observations will be made.

The second step is to suppress the moving space within 0.5 m of the road boundary. Suppression is achieved by forcing each cell within 0.5 m of the respective road boundary to zero. This step ensures that noise at the road boundaries (with the noise being due to quantization) is not treated as a moving vehicle. Figure 4.17a presents a MSF after execution of the first two steps.

In the third step a disk filter of 0.75 m radius is applied across the image to generate smooth occupied estimates in both lateral and longitudinal directions. The size of this filter is a critical value. A wider filter will result in less gaps and result in strong lanes, however it also increases the likelihood that two lanes will be treated as one, and lane merges and splits will be lost. As the number of observations increases, the size of this filter can be correspondingly decreased.

In the fourth step a motion filter 15 m in length is applied in the longitudinal direction. This filter fills in longitudinal gaps generated from the discretized nature of data acquisition. The length of 15 m was chosen as a value that represents the smallest portion of roadway where curvature can be considered negligible. This assumption works well for the limited portion of the IPV dataset analyzed, which consists of primarily freeway MSFs. Other areas such as arterial roads may require a shorter length or different approach.

Step five finds peaks in every row (lateral direction) of the grid. The peaks must be at least 2.75 m apart (slightly less than one lane width) and must have a value of at least 0.01. The magnitude is small due to the filter creating very small, non-zero values for locations that are effectively zero. Setting a minimum threshold blocks these effectively zero cells from being considered peaks. Peak finding is achieved using the Matlab findpeaks function. Figure 4.17b presents the same MSF as the previous figure, this time the occupied space has been filtered through steps three and four, and the peaks have been found by step five.

111

Figure 4.17, Part a, Moving space after suppressing all moving cells outside the road boundaries. Note, at the higher longitudinal displacements the rightmost lane begins to separate from the other three lanes due to a ramp. Part b, Moving space filtered and peaks identified. The moving space is shown in blue to yellow color map while the peaks are shown as magenta lines. Note the peak due to noise at (5,15). This peak will be filtered out in later steps.

The sixth and last step applies a tracking algorithm of the peaks to assess which peaks are lanes and lane consistency. This tracking is needed because multiple peaks can be found per row (multiple lane roadways), and noise is present. The tracking algorithm consists of three parts. In part one the tracks are bootstrapped with the first row’s observations; each peak in the first row of the map instantiates a track.

The second part operates on subsequent observations, where an observation is considered a row of cells from the grid above. Therefore each observation has a longitudinal distance equivalent to the size of the cell. A matrix is formed using the previous tracks and new peaks for each observation. The matrix has a row for each of the new peaks, and a column for each track. The distance of each track to each peak of the current observation is calculated through a matrix operation. All distances greater than 5 m are converted to NaNs, it is assumed no lane will move more than 5 m laterally within a row. The shortest distance is found and the respective peak (row) is associated with the corresponding track (column). The peak and associated track are considered a pair and are removed from the matrix by turning the consumed row and column into NaNs. This selection of pairs occurs until all peaks or tracks are exhausted, signified when a NaN is returned as the minimum value.

112 After associating peaks to tracks, if any peaks were not associated with a track, a new track is instantiated. If a track is not associated, it is held for future observations until it is deemed too distant and the track is terminated. This distance is a tunable parameter.

After part two is executed for all observations, part three post-processes the tracks. Tracks shorter than 25% of the MSF longitudinal distance which do not touch either the first or the last row of the MSF occupied grid are eliminated. Such tracks are likely due to noise, ground returns, or incorrect estimates of the road boundaries. Touching the longitudinal extents is considered because such an action may represent a lane merge or split that extends in to the next segment. That said, if these tracks that extend beyond the segment are too short they will still be deleted, i.e., tracks that touch the first or last row and are less than 10% of the MSF longitudinal distance are deleted. This operation has the risk of eliminating a lane merge or split erroneously, but it also cleans up any potential inaccuracies at the extents. Finally, tracks are converted into lanes and placed into engineering units. Subsequent post processing steps can fit lines to these lanes for parametric description.

Figure 4.18a presents the extracted lane centers from the MSF of the previous two figures. The lanes show good consistency with lane four starting to deviate from the other three. The deviation of lane four is due to this MSF being immediately upstream of a ramp. The next downstream MSF contains the gore point. Figure 4.18b further exemplifies this characteristic by displaying the spacing between each lane pair. The spacing between lanes three and four grows with longitudinal displacement while the other lane spacing remains steady. Like the road boundary detection application, the lane finding application outputs a globally referenced feature map through the utilization of MOG framework and the techniques introduced in Chapter 3.

113

Figure 4.18, Part a, Extracted lane centerlines shown with an exaggerated lateral axis. Part b, Spacing of the lane centerlines showing the split between lane 3 and 4 towards higher lateral displacements.

A lane level map of verified accuracy is unavailable for the region of the IPV study, a limitation that prohibits the quantitative evaluation of the lane finding results. The purpose of this effort was to generate such information within a map. The preceding results have been qualitatively evaluated against aerial imagery for the correctness in the number of lanes, and the lane spacing is accurate for the freeway scenario. Additionally, the splitting of lane four of the figure is accurately captured as that lane feeds directly into an off ramp.

4.6. Closing

The research in this chapter presented seven applications which aid in the processing of the IPV dataset. These applications either extend the state of the art or provide methods independent of those commonly employed, which in turn assists in the advancement of the state of the art. The applications not only focused on capabilities generation, but the maintainability of a sensor equipped vehicle fleet as well.

With respect to the IPV dataset, these applications support the precision and accuracy necessary to study the nuances of vehicle interactions at centimeter levels. This capability serves the generation of models and the contextual awareness of those models available by the observational maps. With such information, advances can be made to the current state of the art in traffic flow theory to achieve the financial and environmental impact such study seeks.

114 With respect to ITS and automated vehicles, these applications could be used to mitigate the opportunity costs of drivers failing to service their vehicles, opportunistically map roadways and reduce the latency of map updates, thus increasing automation’s effectiveness, and support the validation of other sensors and methodologies under non-ideal conditions.

This chapter showed that certain calibration parameters could be opportunistically determined; specifically the yaw angle of horizontal LiDARs and the roll angle and mounting heights of vertical LiDARs. Application of the tool resulted in the identification of a potential structural error in the way the LiDAR data is processed, or the LiDAR is mounted. Specifically, both front and rear horizontal LiDAR were found to have between 0.7° and 0.9° offset angles. Application of the vertical LiDAR height calibration found that the front driver’s side LiDAR had a temporally related decrease in height while the other LiDARs appeared consistent. The cause of the height decreased is unknown, attribution is possible to either the LiDAR mounting fixture or the suspension of the IPV. Finally, the vertical LiDAR pitch angles were found to be consistent between both the first and the last IPV tours (spatially separated by 4 years) in the dataset processed as part of this research.

Enhancing the global localization result of a host vehicle to 0.25 m level or better was demonstrated by a method of using observational data without any feature extraction step. Results for an exemplar MSF were presented that showed lateral shifts of no more than 3 grid cells (representing a movement between 0.6 and 0.8 m), which corresponds well to the localization verification outlined in Chapter 2 for the anticipated GNSS signal quality at this MSF. The average shift over all passes was 0.36 cells, and being non-zero, reflects a potential for there to be a slight bias in the formation of the aggregate map.

This same method of enhancing localization was then used to find substantial changes in map structure. The ability to identify map changes from the correlation output of localization enhancement was demonstrated at a location where a sound barrier was added during the period of IPV study. The resulting localization correlation value contained three distinct plateaus, each attributable to before, during, and after construction periods

Finally, exemplary output of the road boundary detection and lane finding applications was presented. Both applications used EG held in the MOG framework, allowing the results to be translated into globally referenced feature maps. Lane finding supports lane center estimates to within the size of the grid cells used, which in the preceding example was 0.2 m. Thus, automated

115 feature map creation from the MOG framework is shown to be suitable in developing the lane level maps necessary for many IPV and automated vehicle applications. Proper validation data has not been obtained for either case, and thus evaluation of these results was left as a qualitative measure. In support of such a qualitative analysis, both scenarios were presented along with corresponding aerial imagery. Future work could be performed to co-verify these results with similar results obtained through alternate means.

4.7. Selected Definitions

 Map Oriented Grid (MOG) - Map representation using grid structures derived from a simple vector map. Developed as a part of this dissertation.  Map Segment Frame (MSF) - The bounding area defining each MOG  Bayesian Occupancy Grid (BOG) - Grid structure representing the probability of each cell’s occupancy  Evidential Grid (EG) - Grid structure representing a set of beliefs for each cell including, Free, Occupied, Unknown, and Conflict beliefs  Aggregate occupancy map - A map oriented grid containing the belief of each cell’s occupied state aggregated and normalized over all available observations for that cell  Moving belief – A map oriented grid containing the belief of each cell’s likely traversal by moving objects aggregated and normalized over all available observations for that cell

116 Chapter 5: Summary

The research of the preceding chapters developed many novel solutions over a broad problem set that integrates existing techniques across multiple domains. In the process, this research often executes a novel approach that leverages existing techniques in unique ways, enabling their use for the IPV dataset, while also generating its own contribution. For example, this research took the approach of building accurate observational maps from the IPV data itself rather than relying upon a feature map. Through building these maps, the effort found great shortcomings in the state of the art for validating localization results. Conversely, the capabilities of grid structures such as Bayesian occupancy grids and evidential grids were identified as not only practical means of storing observational data, but strong foundations from which to build advanced applications as well. In processing the raw IPV data finding solutions to observed problems, application of existing solutions in new contexts, and development of advanced solutions using the new data representations led to the core contributions of this research. This chapter summarizes these contributions and results, then frames those contributions with respect to the applicable problem domains. The organization of the remainder of this chapter is as follows: first it summarizes the three primary core contributions of this work; second, it relates those contributions’ impact to the IPV study; third, it places the IPV study into the context of its overarching objectives; and fourth, it discusses how the contribution of this research may apply to the domains of ITS and automated vehicles.

5.1. Core Contributions

This section summarizes three of the core contributions made during the execution of this research, specifically those of Chapters 2, 3 and 4. Each of these contributions were necessary innovations for assisting the study of the IPV dataset while also having general applications across other domains. Each of the next three subsections detail each of these three contributions, specifically: the localization validation method, the concept of map oriented grids, and advanced applications utilizing map oriented grids, in that order.

117 5.1.1. Localization Validation Method Chapter 2 identified a substantial limitation of the validation of global localization solutions for road vehicles, specifically that there is a lack of independence between the results and validation data. The use of one GNSS based solution to validate another GNSS based solution is the overarching cause of this lack of independence. This research demonstrated the use of a perception sensor as an independent measure for validation tasks. Given the presence of a global localization solution with bounded error and salient landmarks, the perception of that landmark results in the ability to assess that global localization at a resolution corresponding to the perception sensor’s precision. The specific technique developed had the characteristics of independence, diversity, and automation. These characteristics provide for the validation of a global localization at many locations of interest in a programmatic way, thus expanding its use beyond just the IPV dataset. In the validation of the results, the ability to measure lateral errors in localizing a ground vehicle on a roadway were shown to be in the low decimeter scale. The longitudinal results were found to be dependent upon the perception sensor’s sampling rate and the speed of the ground vehicle; the higher the speed the greater the impact. Provided one accounts for this limitation, the method shows great promise for use in both the validation of global localization solutions and the real-time verification of sensor measurements from automated vehicles.

5.1.2. Map Oriented Grids Chapter 3 introduced a new way to utilize grid based data storage by orienting those grids to a vector street map and removing the ambiguities inherent with the process. Thus, allowing for a high resolution grid map of the road without relying on an intractably large (and sparse) globally referenced grid map for an entire metropolitan region. Following that development, Bayesian occupancy and evidential grid techniques were applied to input observational data into those grids, with a specific emphasis on the errors present when the grid is revisited at later times or by different vehicles. Traditionally, the preceding grid techniques do not store data in global reference frames, or support persistent maps (i.e., a map that is maintained across time for use in revisiting). This work made a number of extensions supporting such capability. The concept of a map segment frame utilizes a vector street map to define the grid in space, which provides a number of benefits including storage and retrieval efficiency, and the alignment of those grids with the traversal of the maps. The last feature allows these map oriented grids to leverage many applications built upon local grid techniques where the data is kept in a body fixed frame. There are a number of challenges

118 in defining the map segment frames, particularly in regard to how to disambiguate complex road networks.

After defining the grid representation, applying observations to those grids presented new challenges. Traditionally, data grids from road vehicle-borne LiDAR observations normally assume that the measurement noise is less than the size of a grid cell, simplifying the inverse sensor models that input data into those grids. In the global, revisiting, scenario, the noise of the global localization result is additive with the measurement noise, negating the previous assumption. While the noise within a single measurement cycle (i.e., a host vehicle’s trip through the map segment frame) is low, the noise over multiple, temporally disparate measurement cycles is impactful. To reduce the impact of noise greater than a cell size, this work introduced an inverse sensor model that increased robustness with this noise, while limiting any increase in computational complexity.

A final novel set of tools developed in Chapter 2 were those that utilize historical information in the development of aggregate Bayesian and evidential grids. One such development was the different grid building techniques employed depending upon the objective, e.g., mapping static objects or detecting conflicting information. A key output is the ability to generate aggregate maps representing occupied, free, and moving belief spaces that are robust with measurement noise including errors in global localization. The moving belief space in particular finds great utility in the identification of lanes of travel. The results showed satisfactory agreement with aerial imagery. While the current application used historical data of multiple passes from a single vehicle, the process can easily be revised to instead take multiple passes one each from different vehicles to provide a real time solution for connected or automated vehicles.

5.1.3. Applications Using Map Oriented Grids The final contribution of this research was a set of seven applications that build upon the previous work in Chapters 2 and 3. These applications concern the functionality and maintainability of the IPV specifically, and more generally any sensor equipped road vehicle or fleet thereof. While some of the applications are superseded by more advanced sensor suites, there is value in having unique methodologies which could remediate certain issues with the state of the art, or provide an independent source of validation data. These applications fell into three broader categories, calibrations, map structure usage, and map content expansion.

The calibration applications demonstrated the ability to opportunistically calibrate three of the twelve degrees of freedom present in the horizontal and vertical scanning LiDAR sensors. The 119 specific calibrations were the yaw angle of the horizontal LiDAR sensors and the pitch angle and height of the vertical LiDARs. The yaw angle calibration is likely the most useful, as it can correct for very fine misalignments of a sensor that is common place in vehicle tracking. The results of all three scenarios show how the LiDARs were generally stable during the analysis period, with the possible exception of the front driver’s side vertical LiDAR. It also appears that there may be either a ~0.6° mounting error or data representation error in the horizontal LiDAR.

The aggregate occupied belief represents static structure in the map. This research applied the ability to represent structure in an observational form (from Chapter 3) to both further refine the global localization and to detect changes within the map. A maximizing search process with correlation operation achieves this localization refinement, finding the best match between an individual pass’s occupied belief and the aggregate occupied belief. The results were illustrated on an exemplar map segment frame and the results showed that the maximum error in localization result prior to correction was between 0.6 and 0.8 meters, a result that corresponds well to those of Chapter 2. Using the correlation value from individual passes, a second application showed that it was possible to detect structural changes within a map. The specific example was of a sound barrier being added along a freeway exit ramp. Such a result supports the automatic expiration of maps when they are no longer valid.

The final two applications expanded the map content to contain both road boundaries and lanes of travel. Road boundary detection searched columns of the occupied belief grid to find objects which would restrict the movement of the host vehicle in this area. While this result does not find the edge of the pavement, it does provide an upper bound to the width of the road. Lanes of travel were estimated by applying a tracking filter onto a heavily filtered moving belief. Due to the alignment of the grid with the direction of travel, peaks in moving belief were detected across the grid columns, and tracked between the rows. The tracking filter is similar to one developed (outside of research disclosed herein) for vehicle tracking, that can initiate and terminate lanes as they merge or split at gore points. Both results were shown to be in agreement with corresponding aerial imagery.

5.2. Impact to the IPV Dataset

The motivation for the research in this dissertation is to support the processing of the IPV dataset so that its potential to model microscopic traffic interactions is realized. The preceding capabilities assist the processing of the IPV dataset in three specific ways. First, the presence of a map which

120 specifically demarks expected lanes of travel greatly reduces the complexity of tracking ambient vehicles. Second, the additional information aids accuracy and precision in any localization, both global and local (i.e., between the IPV and relatively measured vehicles). Third and finally, the map information aids in the contextual understanding of any resulting ambient vehicle data. This context includes lane curvatures & spacing, structural objects near the road, etc.

5.2.1. Reducing Complexity of Ambient Vehicle Tracking Early in this research, after attempting to implement a number of segmentation and tracking algorithms, the decision was made to generate a detailed map to create an expectation of where vehicles are, rather than simply attempting to find movement in such an unstructured environment. Now that this research has made such a map available, the process of ambient vehicle tracking is much less complex. Rather than identifying movement, there is an expectation that LiDAR returns from certain locations are vehicles28. This result reduces the difficulty in vehicle tracking in the same lane, adjacent lanes, opposing directions of travel, traversing movements within intersections, and even upon roads that are visible to the IPV, but not driven upon by the IPV. The product of this research achieves this result in an automatic way, thus negating the need for time intensive and error prone manual map generation.

5.2.2. Information Aiding Accuracy and Precision This research aids the accuracy and precision of IPV’s measurements in four ways: the global localization is validated; the global localization is enhanced; road structure assists measurements; and a subset of sensor parameters are calibrated. A chief aspect in the study of the IPV data is how the ambient vehicle measurements compare to those of traditional sensors, e.g., loop detectors. Since all ambient vehicle measurements are relative to the IPV, any error in its global localization will propagate to the ambient vehicles. For the purpose of microscopic interactions, this error could become significant and cause the questioning of any corresponding results. By validating the global localization of the IPV, and doing so at many challenging locations, researchers can resolve any of those questions.

The enhanced localization could find use in any application where the position of the IPV or other vehicles within a lane could affect the results. Examples of potential applications are the early

28 The tracker will still be required to filter out ground returns such as those from in-pavement reflectors, and to filter the corresponding vehicle tracks if the LiDAR returns are from inconsistent locations on the vehicle, e.g., the bumper versus the undercarriage. 121 detection of lane change maneuvers, and the study of driver position selection within a lane and how that selection influences surrounding vehicles.

Knowledge of the road structure can result in increased accuracy. With the knowledge of road structure, car following models can account for vehicle spacing upon an arc, rather than simply the Euclidean distance. One of goals for collecting the IPV dataset is to advance the state of the art in microscopic interaction measurement, and thus far, the state of the art lacks the precision to even contemplate lane curvature.

Obviously, the calibration of sensors increases the accuracy of the measurements, and precision when aggregated over time. With these calibration results in hand, future research can trust that any long term changes in the behavior of ambient vehicles tracked by the horizontal LiDAR are due to actual behavior changes, and not changes related to the measurement apparatus.

5.2.3. Map Information Aiding Contextual Understanding With the study of the IPV dataset, a new source of information becomes available to the community that considers how the structure surrounding a roadway imparts small changes upon drivers. This research generates maps that support the identification of how close lanes are to objects such as Jersey barriers and signposts, the curvature of the lanes, and inter-lane spacing. The maps could easily be extended to other features, including altitude, pitch, overhead features or even temporary obstructions (e.g., construction pylons). Such contextual awareness unlocks many areas of exploration that could help determine how subtle road design features impact microscopic behavior of drivers, and how those behaviors affect the formation and continuation of traffic congestion.

5.2.4. The IPV’s Relationship with Reducing Traffic Congestion The previous section summarized this research’s contribution to the utilization of the IPV dataset. Such work is unwarranted without a connection to the higher level problem, specifically traffic congestion. This research supplies tools to aid in the analysis of the IPV dataset, the analysis of which provides for the study of microscopic vehicle interactions. At present, an absence in the understanding of these microscopic interactions precludes the generation of accurate traffic flow models. As stated in Chapter 1, control strategies that increase the efficiency of our transportation infrastructure are reliant upon such models. These control strategies do not end with the permeation of automated vehicles; rather, such strategies enhance the efficacy of automated vehicles in reducing congestion and environmental costs. Thus, this research supports the reduction of traffic congestion and the associated costs, in the present day and the indeterminable future. 122 5.3. Contributions to ITS and Automated Vehicles

While this research’s primary motivation was supporting the extraction of value from the IPV dataset, its contribution is applicable to a greater body of research including ITS and automated vehicles. These contributions fall into in two overarching areas. The first area is the use of the IPV dataset to anticipate the data that will be available once V2X becomes common place, thus accelerating network scale applications dependent upon those data. The second area is with respect to crowdsourcing the data, specifically maps, via opportunistic observers, and doing so with the appropriate level of trust.

5.3.1. Anticipating V2X Data Sources, and Accelerating their Application Once V2X equipped vehicles begin to enter the general vehicle fleet, those vehicles will report sub- meter positional accuracy. Until that time, any application that seeks to use such data will need a surrogate data source, with the IPV dataset being a promising candidate. As it stands, the challenges in minutia of processing the IPV dataset there are likely many lessons that could help in structuring V2X databases and help ensure realistic forecasts of capabilities. The IPV dataset can also be used as a sandbox to develop V2X with real world data. The sooner V2X applications are available to the public, the greater the demand will be for V2X vehicles, and thus the sooner V2X penetration reaches critical levels. Conversely, if there are no V2X benefits on the first day of deployment, then there is also no catalyst for public demand, slowing penetration into the vehicle fleet. Through assisting the realization of the IPV dataset, this research helps supply the anticipatory data needed for researchers to supply desirable early applications.

5.3.2. Furthering ITS and Automated Vehicles through Crowd Sourcing Information with Trust Many ITS and automated vehicle applications rely on detailed maps or would be greatly assisted by the presence of detailed maps. To date, these maps are often feature maps that are produced and distributed by a private owner or the government. The feature maps require considerable effort to ensure their accuracy and typically this arbitration requires a human in the loop. In contrast, this research demonstrated a new mapping framework that is both efficient in computation, storage, and distribution, and generic in that it does not presume the end use. By using a freely available map as its genesis, the underlying data is accessible, interpretable, and updatable. The map frames are small, and thus easily shareable, and organized so that one can anticipate what frames will be needed based upon road connectivity. The maps are observational, and do not rely on the data 123 producer to interpret the results prior to sharing. These qualities make the framework suitable for crowd sourcing information and automatic updating, which would provide for the production of maps opportunistically. Such crowd sourced mapping would reduce the latency between road network changes occurring and those changes being reflected in the map. This latency reduction is a substantial benefit in that there is opportunity cost for each automatable vehicle that traverses a road, but is not operating in automation for lack of an accurate map. This crowd sourced mapping requires trust in the individual measurements emanating from the crowd. Both the sensor calibration techniques and the global localization validation techniques help establish that trust. Note that this trust is not in the sense of security, rather it is a trust in the quality of sensor readings. It is presumed that the vehicles are inherently trusted, and those vehicles self-validate their sensors prior to sharing. Handling a malicious vehicle or data source is beyond of the scope of this work, but it is likely that the work herein could help in such applications, e.g., running the mapping tools on different subsamples of the vehicle population and use the redundancy to catch outliers (malicious or otherwise).

124 References

[1] “The Economic Costs of Gridlock: A Report for INRIX,” London, 2012. [2] D. Schrank and T. Lomax, “The 2007 Urban Mobility Report,” 2007. [3] D. Schrank, B. Eisele, T. Lomax, and J. Bak, “2015 Urban Mobility Scorecard,” 2015. [4] N. Amini, C. Aydos, H. Grzybowska, K. Wijayaratna, V. Dixit, and S. T. Waller, “Network-wide Evaluation of the State-of-the-Art Coordinated Ramp Metering Solutions,” in Transportation Research Board 95th Annual Meeting, 2016, pp. 1–19. [5] K. Shaaban, M. A. Khan, and R. Hamila, “Literature Review of Advancements in Adaptive Ramp Metering,” in Procedia Computer Science, 2016, vol. 83, pp. 203–211. [6] A. Hegyi, B. De Schutter, and J. Hellendoorn, “MPC-based optimal coordination of variable speed limits to suppress,” in Proceedings of the 2003 American Control Conference, 2003, pp. 4083–4088. [7] T. Z. Qiu, P. Varaiya, R. Horowitz, and S. E. Shladover, “Combining Variable Speed Limits with Ramp Metering for freeway traffic control,” in Proceedings of the 2010 American Control Conference, 2010, pp. 2266–2271. [8] B. Coifman, “Estimating travel times and vehicle trajectories on freeways using dual loop detectors,” Transp. Res. Part A Policy Pract., vol. 36, no. 4, pp. 351–364, 2002. [9] “NHTSA Issues Notice of Proposed Rulemaking and Research Report on Vehicle-To- Vehicle Communications,” 2016. [10] C. F. Daganzo, “Requiem for Second-Order Fluid Approximations of Traffic Flow,” Transp. Res. Part B Methodol., vol. 29, no. 4, pp. 277–286, 1995. [11] J. H. Banks, “Review of Empirical Research on Congested Freeway Flow,” Transp. Res. Rec., vol. 1802, pp. 225–232, 2002. [12] M. Brackstone and M. Mcdonald, “Car-following : a historical review,” Transp. Res. Part F, vol. 2, no. 1999, pp. 181–196, 2000. [13] M. Brackstone, B. Sultan, and M. McDonald, “Motorway driver behaviour: studies on car following,” Transp. Res. Part F, vol. 5, pp. 31–46, Mar. 2002. [14] B. Coifman, “Jam occupancy and other lingering problems with empirical fundamental relationships,” Transp. Res. Rec. J. Transp. Res. Board, vol. 2422, pp. 104–112, 2014. [15] B. Coifman, “Empirical flow-density and speed-spacing relationships: Evidence of vehicle length dependency,” ransportation Res. Part B Methodol., vol. 78, pp. 54–65, 2015. [16] B. Coifman and S. Kim, “Extended bottlenecks, the fundamental relationship, and

125 capacity drop on freeways,” Transp. Res. Part A Policy Pract., vol. 45, no. 9, pp. 980– 991, 2011. [17] FHWA (Federal Highway Administration), “NGSIM.” [Online]. Available: http://ngsim- community.org/. [Accessed: 07-Jul-2013]. [18] S. Blandin, J. Argote, A. M. Bayen, and D. B. Work, “Phase transition model of non- stationary traffic flow: Definition, properties and solution method,” Transp. Res. Part B Methodol., vol. 52, pp. 31–55, Jun. 2013. [19] X.-Y. Lu, P. P. Varaiya, and R. Horowitz, “Fundamental Diagram Modeling and Analysis Based NGSIM Data,” Control Transp. Syst., pp. 367–374, 2009. [20] J. Przybyla, J. Taylor, J. Jupe, and X. Zhou, “Simplified , Data-Driven , Errorable Car- Following Model to Predict the Safety Effects of Distracted Driving,” in 15th International IEEE Conference on Intelligent Transportation Systems, 2012, pp. 1149– 1154. [21] K. F. Sadabadi and A. Haghani, “First Order Velocity Based Travel Time Model,” in 15th International IEEE Conference on Intelligent Transportation Systems, 2012, pp. 1489– 1494. [22] M. J. Cassidy, K. Jang, and C. F. Daganzo, “Macroscopic Fundamental Diagrams for Freeway Networks,” Transp. Res. Rec. J. Transp. Res. Board, vol. 2260, pp. 8–15, Dec. 2011. [23] S. H. Hamdar and H. S. Mahmassani, “Life in the Fast Lane Duration-Based Investigation of Driver Behavior Differences Across Freeway Lanes,” Transp. Res. Rec. J. Transp. Res. Board, vol. 2124, no. 1, pp. 89–102, Dec. 2009. [24] M. Papageorgiou, E. Kosmatopoulos, and I. Papamichail, “Effects of variable speed limits on motorway traffic flow,” Transp. Res. Rec. J. Transp. Res. Board, no. 2047, pp. 37–48, 2008. [25] H. Lee and B. Coifman, “Using LIDAR to Validate the Performance of Vehicle Classification Stations,” J. Intell. Transp. Syst., vol. 19, no. 4, pp. 355–369, 2015. [26] D. Thornton, K. Redmill, and B. Coifman, “Automated parking surveys from a LIDAR equipped vehicle,” Transp. Res. Part C Emerg. Technol., vol. 39, 2014. [27] B. Coifman, M. Wu, K. Redmill, and D. Thornton, “Collecting Ambient Vehicle Trajectories from an Instrumented Probe Vehicle- High Quality Data for Microscopic Traffic Flow Studies,” Transp. Res. Part C Emerg. Technol., vol. 72, pp. 254–271, 2016. [28] Y. Xuan and B. Coifman, “Identifying Lane Change Maneuvers with Probe Vehicle Data and an Observed Asymmetry in Driver Accommodation,” J. Transp. Eng., vol. 138, no. 8, pp. 1051–1061, 2012. [29] “Open Street Map.” [Online]. Available: http://www.openstreetmap.org/. [Accessed: 01- Jan-2016]. [30] Z. Shen, J. Georgy, M. J. Korenberg, and A. Noureldin, “Low cost two dimension navigation using an augmented Kalman filter/Fast Orthogonal Search module for the integration of reduced inertial sensor system and Global Positioning System,” Transp.

126 Res. Part C Emerg. Technol., vol. 19, no. 6, pp. 1111–1132, Dec. 2011. [31] U. Iqbal, J. Georgy, M. J. Korenberg, and A. Noureldin, “Augmenting Kalman Filtering with Parallel Cascade Identification for Improved 2D Land Vehicle Navigation,” in IEEE 72nd Vehicular Technology Conference Fall, 2010, pp. 1–5. [32] P. Aggarwal, Z. Syed, and N. El-Sheimy, “Hybrid Extended Particle Filter (HEPF) for integrated civilian navigation system,” in Position, Location and Navigation Symposium, 2008 IEEE/ION, 2008, pp. 984–992. [33] J. Georgy, A. Noureldin, M. J. Korenberg, and M. M. Bayoumi, “Low-Cost Three- Dimensional Navigation Solution for RISS/GPS Integration Using Mixture Particle Filter,” IEEE Trans. Veh. Technol., vol. 59, no. 2, pp. 599–615, 2010. [34] J. Georgy, U. Iqbal, and A. Noureldin, “Quantitative comparison between Kalman filter and Particle filter for low cost INS/GPS integration,” in 6th International Symposium on Mechatronics and its Applications, 2009, pp. 1–7. [35] D. Grejner-Brzezinska, C. Toth, and Y. Yi, “On Improving Navigation Accuracy of GPS / INS Systems,” Photogramm. Eng. Remote Sens., vol. 71, no. 4, pp. 377–389, 2005. [36] J.-H. Wang and Y. Gao, “GPS-based Land Vehicle Navigation System Assisted by a Low- Cost Gyro-Free INS Using Neural Network,” J. Navig., vol. 57, no. 3, pp. 417–428, Sep. 2004. [37] E. M. Hemerly, “Implemenation of a GPS / INS / Odometer Navigation System,” in ABCM Synposium Series in Mechatronics, 2008, vol. 3, pp. 519–524. [38] Y. Jiang, F. Gao, and G. Xu, “Digital map-based one-dimensional navigation model for vehicle applications,” in Position Location and Navigation Symposium (PLANS) 2010 IEEE/ION, 2010, pp. 1022–1026. [39] K. Jo, K. Chu, and M. Sunwoo, “Interacting Multiple Model Filter-Based Sensor Fusion of GPS With In-Vehicle Sensors for Real-Time Vehicle Positioning,” IEEE Trans. Intell. Transp. Syst., vol. 13, no. 1, pp. 329–343, 2012. [40] R. Toledo-Moreo, M. A. Zamora-Izquierdo, B. Ubeda-Minarro, and A. F. Gomez- Skarmeta, “High-Integrity IMM-EKF-Based Road Vehicle Navigation With Low-Cost GPS/SBAS/INS,” IEEE Trans. Intell. Transp. Syst., vol. 8, no. 3, pp. 491–511, 2007. [41] M. Jabbour and P. Bonnifait, “Global Localization Robust to GPS Outages using a Vertical Ladar,” in 9th International Conference on Control Automation Robotics and Vision, 2006, pp. 1–6. [42] A. Islam, U. Iqbal, J. M. P. Langlois, and A. Noureldin, “Implementation methodology of embedded land vehicle positioning using an integrated GPS and multi sensor system,” Integr. Comput. Aided Eng., vol. 17, no. 1, pp. 69–83, 2010. [43] A. Gning and P. Bonnifait, “Constraints propagation techniques on intervals for a guaranteed localization using redundant data,” Automatica, vol. 42, no. 7, pp. 1167–1175, Jul. 2006. [44] E. Tzoreff and B. Bobrovsky, “A Novel Approach for Modeling Land Vehicle Kinematics to Improve GPS Performance Under Urban Environment Conditions,” IEEE Trans. Intell.

127 Transp. Syst., vol. 13, no. 1, pp. 344–353, 2012. [45] Mobileye, “Traffic Sign Detection.” [Online]. Available: http://www.mobileye.com/technology/applications/traffic-sign-detection/. [Accessed: 01- Jan-2016]. [46] D. Muoio, “Uber’s self-driving cars are impressive — but there’s still a lot they can’t do,” Business Insider, Sep-2016. [47] S. Hall, “Google’s March self-driving car report details mapping system, a boring accident in Austin,” electrek, 2016. [Online]. Available: https://electrek.co/2016/04/04/googles- march-self-driving-car-report-details-mapping-system-a-boring-accident-in-austin/. [Accessed: 01-Jan-2016]. [48] Ü. Özgüner, C. Stiller, and K. Redmill, “Systems for Safety and Autonomous Behavior in Cars: The DARPA Grand Challenge Experience,” Proc. IEEE, vol. 95, no. 2, pp. 397– 412, 2007. [49] L. Tang, X. Yang, Z. Dong, and Q. Li, “CLRIC : Collecting Lane-Based Road Information Via Crowdsourcing,” IEEE Trans. Intell. Transp., vol. 17, no. 9, pp. 2552– 2562, 2016. [50] H. Du, S. Anand, N. Alechina, J. Morley, G. Hart, D. Leibovici, M. Jackson, and M. Ware, “Geospatial Information Integration for Authoritative and Crowd Sourced Road Vector Data,” Trans. GIS, vol. 16, no. 4, pp. 455–476, 2012. [51] J. Craig, “Map Data for ADAS,” in Handbook of Intelligent Vehicles, 2nd ed., A. Eskandarian, Ed. Springer, 2012. [52] D. Newcomb, “Inside Audi, BMW and Daimler’s $3 Billion Bet On HERE’s Mapping Business,” Forbes, 2016. [Online]. Available: http://www.forbes.com/sites/dougnewcomb/2016/06/27/inside-audi--and-daimlers-3- billion-bet-on-heres-mapping-business/#1262186313b6. [Accessed: 01-Jan-2016]. [53] “SAE J2735 -201603.” SAE International, 2016. [54] “The new – The sportiest sedan in the luxury class,” Audi Media Center, 2010. [Online]. Available: https://www.audi-mediacenter.com/en/press-releases/the-new-audi- a8-the-sportiest-sedan-in-the-luxury-class-116. [Accessed: 01-Jan-2016]. [55] M. Hentschel and B. Wagner, “Autonomous robot navigation based on OpenStreetMap geodata,” Intell. Transp. Syst. ( …, pp. 1645–1650, 2010. [56] Ü. Özgüner, T. Acarman, and K. Redmill, Autonomous ground vehicles. Boston, MA: Artech House, 2011. [57] M. Kurdej, J. Moras, V. Cherfaoui, and P. Bonnifait, “Map-aided evidential grids for driving scene understanding,” IEEE Intell. Transp. Syst. Mag., vol. 7, no. 1, pp. 30–41, 2015. [58] R. Garcia, O. Aycard, T.-D. Vu, and M. Ahrholdt, “High level sensor data fusion for automotive applications using occupancy grids,” in Control Automation Robotics and Vision, 2008. ICARCV 2008. 10th International Conference on, 2008, pp. 530–535. [59] D. Betaille and R. Toledo-Moreo, “Creating enhanced maps for lane-level vehicle 128 navigation,” IEEE Trans. Intell. Transp. Syst., vol. 11, no. 4, pp. 786–798, 2010. [60] K. Jo and M. Sunwoo, “Generation of a precise roadway map for autonomous cars,” IEEE Trans. Intell. Transp. Syst., vol. 15, no. 3, pp. 925–937, 2014. [61] S. Rogers, “Creating and evaluating highly accurate maps with probe vehicles,” in Intelligent Transportation Systems Proceedings, 2000, no. 650, pp. 125–130. [62] U. Noyer, J. Schomerus, H. H. Mosebach, J. Gacnik, C. Loper, and K. Lemmer, “Generating high precision maps for advanced guidance support,” 2008 IEEE Intell. Veh. Symp., pp. 871–876, 2008. [63] C. Guo, K. Kidono, J. Meguro, Y. Kojima, M. Ogawa, and T. Naito, “A Low-Cost Solution for Automatic Lane-Level Map Generation Using Conventional In-Car Sensors,” IEEE Trans. Intell. Transp. Syst., vol. 17, no. 8, pp. 2355–2366, 2016. [64] J. D. Adarve, M. Perrollaz, A. Makris, and C. Laugier, “Computing occupancy grids from multiple sensors using linear opinion pools,” in Robotics and Automation (ICRA), 2012 IEEE International Conference on, 2012, pp. 4074–4079. [65] J. Guivant, E. Nebot, J. Nieto, and F. Masson, “Navigation and Mapping in Large Unstructured Environments,” Int. J. Rob. Res., vol. 23, no. 4–5, pp. 449–472, 2004. [66] K. Konolige, “Improved Occupancy Grids for Map Building,” Auton. Robots, vol. 4, no. 4, pp. 351–367, 1997. [67] J. Clemens, T. Reineking, and T. Kluth, “An evidential approach to SLAM, path planning, and active exploration,” Int. J. Approx. Reason., vol. 73, pp. 1–26, 2016. [68] S. Thrun, W. Burgard, and D. Fox, Probabilistic robotics. Boston, MA: MIT press, 2005. [69] T. Weiss, B. Schiele, and K. Dietmayer, “Robust Driving Path Detection in Urban and Highway Scenarios Using a Laser Scanner and Online Occupancy Grids,” in 2007 IEEE Intelligent Vehicles Symposium, 2007, pp. 184–189. [70] J. Moras, V. Cherfaoui, and P. Bonnifait, “Moving Objects Detection by Conflict Analysis in Evidential Grids,” 2011 IEEE Intell. Veh. Symp., pp. 1122–1127, Jun. 2011. [71] S. Kammel and B. Pitzer, “Lidar-based lane marker detection and mapping,” in Intelligent Vehicles Symposium, 2008 IEEE, 2008, pp. 1137–1142. [72] D. Pagac, E. M. Nebot, and H. Durrant-Whyte, “An Evidential Approach to Map-Bulding for Autonomous Vehicles,” IEEE Trans. Robot. Autom., vol. 14, no. 4, pp. 623–629, 1998. [73] M. Kurdej, J. Moras, V. Cherfaoui, and P. Bonnifait, “Map-aided Fusion Using Evidential Grids for Mobile Perception in Urban Environment,” pp. 1–8, Jul. 2012. [74] M. Kurdej, J. Moras, V. Cherfaoui, and P. Bonnifait, “Enhancing Mobile Object Classification Using Geo-referenced Maps and Evidential Grids,” in IEEE/RSJ International Conference on Intelligent Robots and Systezms (IROS) Workshop on Planning, Perception and Navigation for Intelligent Vehicles, 2013. [75] Q. Baig, M. Perrollaz, J. B. Do Nascimento, and C. Laugier, “Using Fast Classification of Static and Dynamic Environment for Improving Bayesian Occupancy Filter ( BOF ) and Tracking,” in Control Automation Robotics & Vision (ICARCV), 2012 12th International 129 Conference on, 2012, pp. 656–661. [76] S. Sivaraman and M. M. Trivedi, “Dynamic Probabilistic Drivability Maps for Lane Change and Merge Driver Assistance,” IEEE Trans. Intell. Transp. Syst., vol. 15, no. 5, pp. 2063–2073, 2014. [77] Z. Junjing, D. Jianmin, and Y. Guangzu, “Occupancy Grid Mapping Based on DSmT for Dynamic Environment Perception ,” Int. J. Robot. Autom. , vol. 2, no. 4, pp. 129–139, 2013. [78] A. Birk, “A quantitative assessment of structural errors in grid maps,” Auton. Robots, vol. 28, no. 2, pp. 187–196, Oct. 2009. [79] M. Yguel, O. Aycard, and C. Laugier, “Efficient GPU-based Construction of Occupancy Girds Using several Laser Range-finders,” in 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006, pp. 105–110. [80] F. Homm, N. Kaempchen, J. Ota, and D. Burschka, “Efficient occupancy grid computation on the GPU with lidar and radar for road boundary detection,” in Intelligent Vehicles Symposium (IV), 2010 IEEE, 2010, pp. 1006–1013. [81] K. M. Wurm, A. Hornung, M. Bennewitz, C. Stachniss, and W. Burgard, “OctoMap: A probabilistic, flexible, and compact 3D map representation for robotic systems,” in Proceedings of the ICRA 2010 workshop on Best Practice in 3D Perception and Modeling for Mobile Manipulation, 2010. [82] D. Thornton, K. Redmill, and B. Coifman, “Automated parking surveys from a LIDAR equipped vehicle,” Transp. Res. Part C Emerg. Technol., vol. 39, pp. 23–35, 2014. [83] J. Moras, V. Cherfaoui, and P. Bonnifait, “Credibilist occupancy grids for vehicle perception in dynamic environments,” in Robotics and Automation (ICRA), 2011 IEEE International Conference on, 2011, pp. 84–89. [84] M. Kurdej, J. Moras, V. Cherfaoui, and P. Bonnifait, “Controlling remanence in evidential grids using geodata for dynamic scene perception,” Int. J. Approx. Reason., vol. 55, no. 1 PART 3, pp. 355–375, 2014. [85] E. Guizzo, “How google’s self-driving car works,” IEEE Spectrum Online, Oct-2011. [86] L. Gomes, “When Will Google’s Self-Driving Car Really Be Ready?,” IEEE Spectrum, vol. 53, no. 5, pp. 13–14, 2016. [87] A. Sage, “Where’s the lane? Self-driving cars confused by shabby U.S. roadways,” Reuters, 2016. [Online]. Available: http://www.reuters.com/article/us-autos-autonomous- infrastructure-insig-idUSKCN0WX131. [Accessed: 01-Jan-2016]. [88] N. Hashimoto, Ü. Özgüner, N. Sawant, M. Yokozuka, S. Kato, O. Matsumoto, and S. Tsugawa, “A framework of fault detection algorithm for intelligent vehicle by using real experimental data,” in 2011 14th International IEEE Conference on Intelligent Transportation Systems (ITSC), 2011, pp. 913–918. [89] D. Manandhar and R. Shibasaki, “Vehicle-borne laser mapping system (VLMS) for 3-D GIS,” in Geoscience and Remote Sensing Symposium, 2001. IGARSS ’01. IEEE 2001 International, 2001, vol. 5, pp. 2073–2075.

130 [90] L. Smadja, J. Ninot, and T. Gavrilovic, “Road extraction and environment interpretation from Lidar sensors,” in IAPRS 38, 2010, vol. XXXVIII, pp. 281–286. [91] Q. Zhang and R. Pless, “Extrinsic calibration of a camera and laser range finder (improves camera calibration),” in 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004, vol. 3, pp. 2301–2306. [92] F. Vasconcelos, J. P. Barreto, and U. Nunes, “A minimal solution for the extrinsic calibration of a camera and a laser-rangefinder,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 34, no. 11, pp. 2097–2107, 2012. [93] D. Scaramuzza, A. Harati, and R. Siegwart, “Extrinsic self calibration of a camera and a 3D laser range finder from natural scenes,” in IEEE International Conference on Intelligent Robots and Systems, 2007, pp. 4164–4169. [94] A. F. Habib, K. I. Bang, S. Shin, and E. Mitishita, “Lidar System Self-Calibration Using Planar Patches From Photogrammetric Data,” in The 5th Inetrnational Symposium on Mobile Mapping Technology, 2007. [95] G. Atanacio-jiménez, J.-J. González-Barbosa, J. B. Hurtado-ramos, F. J. Ornelas- Rodríguez, H. Jiménez-Hernández, T. García-Ramirez, and R. González-barbosa, “LIDAR Velodyne HDL-64E Calibration Using Pattern Planes,” Int. J. Adv. Robot. Syst., vol. 8, no. 5, pp. 70–82, 2011. [96] J. Talaya, R. Alamus, E. Bosch, A. Serra, W. Kornus, and A. Baron, “Integration of a Terrestrial Laser Scanner with GPS / IMU Orientation Sensors,” in Proceedings of the XXth ISPRS Congress, 2004, no. 35, pp. 1049–1055. [97] M. Fischler and R. Bolles, “Random Sample Consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Commun. ACM, vol. 24, no. 6, pp. 381–395, 1981. [98] S.-W. Yang and C.-C. Wang, “Simultaneous Egomotion Estimation , Segmentation , and Moving Object Detection,” J. F. Robot., vol. 28, no. 4, pp. 565–588, 2011. [99] P. Besl and N. McKay, “A method for registration of 3D shapes,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 12, no. 2, pp. 239–256, 1992. [100] M. Bosse and R. Zlot, “Map Matching and Data Association for Large-Scale Two- dimensional Laser Scan-based SLAM,” Int. J. Rob. Res., vol. 27, no. 6, pp. 667–691, Jun. 2008. [101] S. Thrun, M. Montemerlo, D. Koller, B. Wegbreit, J. Nieto, and E. Nebot, “FastSLAM : An Efficient Solution to the Simultaneous Localization And Mapping Problem with Unknown Data Association,” J. Mach. Learn. Res., vol. 4, no. 3, pp. 380–407, 2004. [102] S. Grzonka, C. Plagemann, G. Grisetti, and W. Burgard, “Look-ahead Proposals for Robust Grid-based SLAM with Rao-Blackwellized Particle Filters,” Int. J. Rob. Res., vol. 28, no. 2, pp. 191–200, Feb. 2009. [103] A. Gil, M. Juliá, and Ó. Reinoso, “Occupancy grid based graph-SLAM using the distance transform, SURF features and SGD,” Eng. Appl. Artif. Intell., vol. 40, pp. 1–10, 2015. [104] T.-D. Vu, J. Burlet, and O. Aycard, “Grid-based localization and local mapping with

131 moving object detection and tracking,” Inf. Fusion, vol. 12, no. 1, pp. 58–69, 2011. [105] C. Wang, C. Thorpe, S. Thrun, M. Hebert, and H. Durrant-Whyte, “Simultaneous Localization, Mapping and Moving Object Tracking,” Int. J. Rob. Res., vol. 26, no. 9, pp. 889–916, 2007. [106] D. Arbuckle, A. Howard, and M. Mataric, “Temporal occupancy grids: a method for classifying the spatio-temporal properties of the environment,” in Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference on, 2002, vol. 1, pp. 409–414. [107] B. Qin, Z. J. Chong, T. Bandyopadhyay, M. H. Ang, E. Frazzoli, and D. Rus, “Curb- Intersection Feature Based Monte Carlo Localization on Urban Roads,” in Robotics and Automation (ICRA), 2012 IEEE International Conference on, 2012, pp. 2640–2646. [108] B. Yang, L. Fang, and J. Li, “Semi-automated extraction and delineation of 3D roads of street scene from mobile laser scanning point clouds,” ISPRS J. Photogramm. Remote Sens., vol. 79, pp. 80–93, 2013. [109] E. Arpin V, C. Shankwitz, and M. Donath, “A High Accuracy Vehicle Positioning System Implemented in a Lane Assistance System when GPS Is Unavailable,” 2011. [110] J. P. Gonzalez and Ü. Özgüner, “Lane detection using histogram-based segmentation and decision trees,” in IEEE Conference on Intelligent Transportation Systems, Proceedings, ITSC, 2000, pp. 346–351. [111] M. B. De Paula and C. R. Jung, “Automatic Detection and Classification of Road Lane Markings Using Onboard Vehicular Cameras,” IEEE Trans. Intell. Transp. Syst., vol. 16, no. 6, pp. 3160–3169, 2015. [112] X. Huang, F. Gao, G. Xu, N. Ding, L. Li, and Y. Cai, “Extended-Search, Bézier Curve- Based Lane Detection and Reconstruction System for an Intelligent Vehicle,” Int. J. Adv. Robot. Syst., vol. 12, no. 132, pp. 1–12, 2015. [113] J. Son, H. Yoo, S. Kim, and K. Sohn, “Real-time illumination invariant lane detection for lane departure warning system,” Expert Syst. Appl., vol. 42, no. 4, pp. 1816–1824, 2015. [114] S.-C. Yi, Y.-C. Chen, and C.-H. Chang, “A lane detection approach based on intelligent vision,” Comput. Electr. Eng., vol. 42, no. 2, pp. 23–29, 2015. [115] Y. Matsushita and J. Miura, “On-line road boundary modeling with multiple sensory features, flexible road model, and particle filter,” Rob. Auton. Syst., vol. 59, no. 5, pp. 274–284, May 2011. [116] AASHTO, A Policy on Geometric Design of Highways and Streets, 4th ed. Washington D.C.: American Association of State Highway and Transportation Officials, 2001.

132 Appendix A: Background

The Ohio State University (OSU) instrumented probe vehicle (IPV), has been collecting data since 2005. The platform is a Honda Odyssey minivan with custom built rigging to mount various sensors and an integrated onboard computer for data acquisition. This mobile sensing platform has the sensors to measure both its ego-state (the IPV’s own position and attitude), and exo-state (the position and attitude of vehicles and other objects near the IPV). The ego-state estimation uses localization sensors including GNSS and inertial navigation sensors, while the exo-state estimation uses perception sensors such as LiDAR and radar. The quality and sampling rate of the sensors has changed during the span of the IPV data collection, with several minor revisions and one major revision.

Section A.1 reviews the actual data collection and the routes traversed. Then Section A.2 develops several frames of reference used throughout the dissertation to represent different perspectives, from the local field of view of a sensor onboard the IPV to globally referenced coordinates. Section A.3 details the various sensors on the IPV and described them within the context of the frames of reference. Section A.4 defines a set of consistent nomenclature that are used throughout the dissertation.

A.1. The IPV Data Collection

Each IPV data collection tour traverses one of four pre-specified routes, collecting localization and perception data. Upon the completion of a data collection tour, the driver transfers the raw data to a computer server that archives the data. The date and time stamp at the start of each data collection tour is used to uniquely reference that raw data set. The archive currently holds hundreds of tours, reflecting the entirety of the IPV data collection effort to date. This section provides a high level overview of the dataset and describes each of the standard routes traversed, and discuss the data recorded to-date.

The quality and sampling rate of the sensors has changed during the span of the IPV data collection, with several minor revisions and one major revision. Prior to the major revision the IPV had two

133 horizontally scanning LiDAR sensors, one front and one rear, and collected data at lower frequencies. After the revision the IPV had four to six LiDAR sensors, with the four additional LiDAR sensors scanning vertically on the sides, and substantially increased the sampling frequency of most sensors. The number of vertically scanning LiDAR varied, most of the earlier data having two and later data having four, therefore the presence of all four of these LiDAR cannot be assumed when processing these data. The data collected before and after the major revision are denoted V1 and V2, respectively.

Almost all of the data collection tours follow one of four different pre-specified routes in Columbus, Ohio: Travel Time, Free Style, Ramp Meter, and Campus Loop. The first three routes focus primarily on freeway travel along the I-71 corridor while the fourth is collected exclusively on arterial roadways. This work focuses on the freeway portions of the Free Style and Travel Time routes, with some extensions to the arterial travel in the Campus Loop route. All three of these routes were collected in the V2 format, while the Ramp Meter route was only collected using the older, low resolution V1 format. Working with the lower resolution data is left to future research and as such the Ramp Meter route is not used in the present work. In 2016 additional data were collected from Campus Loop tours with some sensors sampled at even higher frequencies. These data are sufficiently similar to that collected in the V2 format to allow these newer data to be processed with the same tools developed for the V2 dataPrior to the 2016 tours, the archive of IPV data collection effort includes 236 tours in the V2 format. These tours were collected between 2008 and 2012. Of these tours, there are 47 Free Style, 46 Travel Time, and 59 Campus Loop tours, with the remaining tours coming from the Ramp Meter route that is beyond the scope of the present work. Each tour consist of two to three round trips (or simply “trips” for short) and there are a total of 233 available trips through the central business district. The archive contains a wide variety of traffic conditions: congested to free flow, and weather conditions: sunny and clear to snow and rain. The remainder of this section reviews the details of these three routes.

A.1.1. The Travel Time Route

The Travel Time route was designed to provide controlled and repeatable observations making two trips along I-71 from the south side of the central business district (CBD) to the north side of the metropolitan area just beyond the I-270 outer-belt, as Figure A.1 shows. The arrows indicate the number of passes in the given segment. The I-71 corridor was chosen due to a high density of loop detectors along the route which could be used for later validation of results. For consistency across tours the driver was instructed to stay in the second lane from the left except when passing. In 134 practice the driver would sometimes make a liberal interpretation of "passing" and stay in the left- most lane for an extended period. Typically the instrumented probe vehicle would collect data while traveling to and from the corridor, usually along SR-315 and arterial streets near the OSU Center for Automotive Research (CAR) where the IPV was stored. These positioning movements were at the driver's discretion, but followed a small number of paths and these paths would sometimes change in response to road construction. The standard route consists of a positioning movement from CAR, along SR-315, to the junction with I-71 northbound1. From there the IPV takes I-71 north to the Polaris exit where it loops back southbound on I-71 to the junction with SR-315. The IPV would turn around (typically by taking I-71 to the first exit south of SR-315, but this positioning movement sometimes takes other paths) and repeat the I-71 loop a second time. At the end of the second trip the IPV returns to CAR via SR-315. The total distance along this route is on the order of 120 km. This route traverses several freeway interchanges, including I-70/I-71/SR-315 west-side split, I-70/I-71 east-side split, I-71/I-670 south, I-71/I-670 north, and I-71/I-270.

Figure A.1, Overview of the Travel Time route. The arrows indicate the number of passes in the given segment. North is up.

1 Note that the southern-most portion of the I-71 study corridor is concurrent with I-70. For simplicity of presentation, this work violates freeway naming convention that dictates the use of I-70 for the concurrent portion. 135 A.1.2. The Free Style Route

After collecting many Travel Time tours, it became clear that most of the observed congestion occurred in the southern portion of the route and that the majority of lane change maneuvers by the instrumented probe vehicle were mandatory movements to remain in the second lane from the left. So the Free Style route was defined that terminates closer to the CBD at E. North Broadway, shown in Figure A.2. The shorter route allows a 3rd trip per tour with a total travel distance of approximately 90 km. For this route the driver was told to freely choose whichever lane they preferred, thereby providing many more discretionary lane change maneuvers compared to the Travel Time route. The positioning movements are the same as the Travel Time route.

Figure A.2, Overview of the Free Style route. The arrows indicate the number of passes in the given segment. North is up.

A.1.3. The Campus Loop route

The Campus Loop route was designed to simulate the route of a transit bus servicing a variety of roadways in an urban area [1]. Figure A.3 shows the route, with the majority of the route following an actual campus bus route. The complete tour travels approximately 35 km through the OSU

136 campus and surrounding area. This route makes three passes over some roadways while only a single pass over others, and traverses a number of roadways in both directions.

Figure A.3, Overview of the Campus Loop route. North is up.2.2. Frames of Reference

A.2. Frames of Reference Many measurements of the IPV are relative to a specific frame of reference, i.e., a coordinate system and origin. For example, latitude and longitude refer to a geodetic reference system with a particular sign convention and origin. Accurate processing of the IPV’s sensors and the relationship of the IPV to the rest of the world requires the identification of the proper frame of reference, and the translations between the various frames of reference. This section details the reference frames for both measurement and analysis. The measurement frames considered here are either relative to the sensor itself or are a standardized frame, e.g., WGS83 for GNSS. Since measurement frames are not convenient for certain types of analysis, this work defines specific analysis frames that facilitate efficient analysis of the IPV data, e.g., projecting from the ellipsoidal latitude and longitude to a 2D Cartesian system.

A.2.1. Measurement Frames

All sensors collect data relative to a measurement frame. To consume a measurement, or combine one measurement with another, one must understand the frame that yields the data. The analysis of the IPV data in subsequent chapters require the use of the following four measurement frames, as

137 defined below: the sensor frame, the body fixed frame, the earth centered earth fixed frame, and the earth centered inertial frame.

A. Sensor Frame

Most of the IPV sensors record data with respect to the given sensor's own measurement frame. A perception sensor may simply return a range and azimuth for a target, with no context to the IPV or the world. To use the output of a given sensor, that sensor's measurement frame must be related to other reference frames, e.g., projecting the LiDAR returns from the sensor polar coordinates into the orthogonal coordinates affixed to the IPV.

For certain sensors, that measurement frame may be effectively the same as another frame, such as the GNSS whose sensor frame attaches to a geodetic frame that is measured relative to a static earth. Some sensor reference frames are malleable with respect to other frames, e.g., the perception sensors’. Since the relationship between these frames can change, the potential for an undocumented change in the relationship between the sensor frame and the body fixed frame, which is described in the next section, becomes potential source for error.2

B. Body fixed frame

The body fixed frame is defined relative to the instrumented probe vehicle, with the mounting location of the GNSS antenna used as the origin for convenience. This definition assumes the GNSS antenna does not move relative to the IPV throughout the IPV data collection.3 The frame is referred to as body fixed, because the frame stays affixed to a body (i.e., the IPV in this case) as it travels through space. The coordinates conform to the ISO 8855 standard [2] and will be denoted by subscript b. Figure A.4 overlays the ISO 8855 coordinates for the X, Y, Z position and yaw angle, φ on top of the probe vehicle schematic. The X coordinate is set to the longitudinal direction and the Y coordinate is set to the lateral direction. A consequence of using the GNSS antenna mounted on top of the IPV as the body fixed frame origin is that many sensor returns will have negative values in the Z direction. The body fixed frame is useful for unifying the sensor frames. Each sensor frame can be transformed into the body frame, which in turn can be transferred to other frames as needed.

2 Some of the perception sensors are sensitive to a fraction of a degree in position angle, and throughout the IPV data collection period some of these sensors show evidence of repositioning every so often, e.g., it is suspected that during maintenance on the IPV some of the perception sensors can inadvertently be repositioned. 3 Technically, it appears that the GNSS mounting location was moved at least once, but with minimal impact on the resulting data. 138

Figure A.4, Body fixed coordinate system, with the origin is at the GNSS antenna mounting location.

C. Earth Centered Earth Fixed frame

The Earth Centered Earth Fixed (ECEF) frame is a geodetic frame, following the WGS84 standard [3] for the definition of latitude, longitude and altitude. The frame uses the reference ellipsoid for altitude, rather than the more common EGM96 geoid. In the Columbus region the ellipsoid is above the geoid by roughly 34 m. While the geoid is a more common reference than the ellipsoid and more accurately reflects mean sea level, the GNSS receiver on the probe vehicle records the ellipsoid altitude. Using the ellipsoid altitude for the ECEF frame allows the GNSS sensor frame to affix to the ECEF frame.

The ECEF frame permits IPV measurements in the body fixed frame to be expressed relative to known locations on the earth, such as intersections and loop detector stations. To do so, a transformation moves measurements from the sensor frame into the body fixed frame, then another transformation moves the body fixed frame to the ECEF frame. These three frames are sufficient to globally reference any sensor measurement to fixed world coordinates.

D. Earth Centered Inertial frame

The final measurement frame is the Earth Centered Inertial (ECI) frame. This frame considers the earth to be rotating about its polar axis, but without translational movement. The gyroscope measures rotation in the ECI frame, thus the earth’s rotation influences the gyroscope reading, necessitating its inclusion.

139 A.2.2. Analysis Frames

The analysis frames are defined to simplify data processing and visualization while relating coordinates to landmarks in expressive units. In general it is much more complicated using the 3D ellipsoid measures of the ECEF frame than a 2D flat earth approximation in Cartesian coordinates. Equation ( A.1 ) shows the calculation of distance traveled between two points in the ECEF frame, while equation ( A.2 ) shows the same calculation in an orthogonal frame with Cartesian coordinates. Furthermore, when analyzing the IPV data it is often more convenient to communicate and relate findings with reference to landmarks, rather than coordinates, e.g., I-71 north, 20 m past the East Hudson St underpass, instead of 40°00'54.3"N 82°59'39.1"W.

( A.1 ) 휑 − 휑 ∆휆 푑 = 2푅 sin−1 (√sin2 ( 2 1) + cos(휑 ) ∙ cos(휑 ) ∙ sin2 ( )) 2 2 2 2

푑 = √(푥2 + 푦2) ( A.2 )

To provide analysis frames which assist in performing calculations, while promoting a clear interpretation and presentation of the results, Section A.2.2.A defines the local space fixed frame which is an orthogonal frame (i.e., all three axis are perpendicular) with Cartesian coordinates that is computationally efficient to transform to and from the ECEF frame. Additionally, for textual referencing, and to create a computationally efficient map storage mechanism, Section A.2.2.B presents the concept of a map segment frame.

A. Local space fixed frame

The local space fixed frame (LSFF) is a Cartesian coordinate system with its origin set to be the parking lot of the Center for Automotive Research (CAR), where the IPV starts and ends most tours. Figure A. shows the conventions used. Here the X points in the easting direction and Y the northing direction. This orientation allows for visualizations of the IPV’s path to be in the same orientation as a map when output from common software packages such as Matlab and Python. Note that the yaw angle, φ, follows a left handed convention rather than right handed, the purpose of which is to have φ adhere to the standard convention for compass heading. Later chapters of this

140 work will define transformations between the ECEF frame and LSFF as well as discussing the expected error when using the Cartesian approximation. The workflow is designed to reduce computational overhead. Specifically, the workflow translates the IPV, map, and landmark locations into LSFF, and all calculations and presentation occurs in the LSFF. Only when absolutely necessary are any results translated back into the ECEF frame.

Figure A.5, The origin and conventions of the local space fixed reference frame.

B. Map segment frames

Ultimately this work requires very precise spatial information in the vicinity of the roadway, e.g., the location of the road and lane boundaries, the general road geometry including curvature, the location of fixed objects like safety barriers, and so forth. To provide the necessary spatial richness along the road in a computationally efficient manner these data are stored in a series of small maps called map segment frames, with each map segment frame typically spanning a few meters to tens of meters along the roadway.

These map segment frames are a critical component of map refinement, as presented in Chapter 5, and summarized here. A typical digital map uses fundamental elements of ways and nodes. Nodes represent zero dimensional points located in the ECEF frame, while ways represent the traversable connectivity between the nodes. Each pair of nodes connected by a way represents a segment. The map refinement process converts this one dimensional segment into a two or more dimensional

141 region. This region is aligned on the direction of travel of the road and has its origin at one of the nodes. Thus the frame is oriented in a logical fashion with how a vehicle traverses and observes the roadway. This logical orientation of a space fixed frame prevents substantial challenges when map building, but also provides great benefit when utilizing the map. The map segment frame provides the structure of the roadway absent in the abstract ways and nodes mapping, identifying lanes, road boundaries, and the space traversable by vehicles. Since each segment is derived from a digital map, the segment can be provided a descriptive name, e.g. North Broadway, and numeric identifier, e.g. node 342524 that is both human interpretable and a data consumer can precisely localize. Conversion between the LSFF and Map segment frames occur through conventional two axis translation and one axis rotation operations. The location of the two segments in the LSFF is sufficient to locate each segment within the LSFF.

A.3. Instrumented Probe Vehicle Sensors The careful definition of the frames of reference in Section A.2 was to facilitate the integration of information across the various sensors on the IPV. Recall that the localization sensors provide measurements to estimate the IPV's state, specifically position, heading, and speed. The perception sensors capture information from the exo-state around the IPV, such as the location of other vehicles. Recall from Section A.1 that the IPV sensors underwent a major revision in 2008. The V1 data collected prior to the revision had two LiDAR sensors, one front and one rear, and collected data at lower frequencies. The V2 data collected after the revision had four to six LiDAR sensors, with the additional LiDAR scanning vertically on the sides, and substantially increased the sampling frequency of most sensors. The work in the following chapters is developed on and for the V2 data, but in the future should be portable to the V1 data with the appropriate tuning.

A.3.1. Localization Sensors

Localization is the estimation the vehicle ego-state, specifically [푋, 푌, 푍, 휙, 휃, 휓], where 푋, 푌, 푍 reflect the position and 휙, 휃, 휓 reflect orientation, as follows. These are the six degrees of freedom of an object moving through space. The ECEF system uses 푋, 푌, 푍 to refer to longitude, latitude, and height, respectively, while a Cartesian system uses easting, northing, and altitude. The orientation is in Euler angles of 휙 for yaw, 휃 for pitch, and 휓 for roll with 휙 modified to fit the coordinate system defined in A.2.1.

142 For the purposes of this research yaw and heading are synonymous. Certain sensors measure rates, [푋̇, 푌̇ , 푍̇, 휙̇, 휃̇, 휓̇], rather than absolutes, and the given time series has to be integrated to recover the ego-state. All sensors are subject to error and require filtering to obtain accurate measures. The localization sensors include a differential GPS, Fiber Optic Gyroscope, and the On-Board Diagnostic Interface. The tools developed in this research combine the various sensor readings through a localization process that uses the unique qualities of each sensor to collectively measure a subset of the ego-state, [푋, 푌, 푍, 휙], in the LSFF as shown in Figure A.5.

A. Differential GPS

The IPV is equipped with a GNSS sensor, specifically a Trimble[TDA1] AG131 L1 differential GPS sensor, with differential corrections via Omnistar VBS signals. The IPV captures the sensor outputs of position [푋, 푌, 푍], the ground speed (i.e., the norm of the two position rates, ‖푋̇ 푌̇ ‖), and the course over ground, 휙. The measurement of 휙 is only valid during motion since the GNSS estimates 휙 from sample to sample movement. Additional measures include the GPS time, number of satellites visible, the type of satellite fix, and the received power from each satellite. The DGPS sensor outputs data at a rate of 1Hz in V1 and 5Hz in V2 data formats. The Omnistar VBS signals provides a 2-sigma error of 1 m [4]. The GPS signals are susceptible to occlusion and multipath errors, which degrade performance.

B. Fiber Optic Gyroscope

The gyroscope is a Hitachi Fiber Optic prototype unit. The sensor measures 휙̇푦, the angular rate about the yaw axis of the gyroscope sensor frame relative to the ECI frame. The gyroscope rigidly attaches to the probe vehicle, thus any yaw movement of the probe will reflect in the 휙̇푦 measurement, e.g., the gyroscope will report any body fixed frame movement relative to the ECI frame. Note that even when the probe is static and the body fixed frame and ECEF frame have no relative movement, the ECEF frame is moving relative to the ECI frame due to the rotation of the earth. The gyroscope sampling rate is approximately 5Hz, it has a low noise signature, but suffers from long term drift and it is sufficiently accurate to capture relative motion between the ECEF and ECI frames (as will be discussed in Chapter 3).

C. On-Board Diagnostics Interface

The vehicle On-Board Diagnostic Interface (OBD) outputs speed, throttle position, engine rotations per minute (RPM), and coolant temperature as defined by the SAE J1939 standard at approximately 143 2 to 3 Hz. The speed is the same as that reported to the driver, and reflects the rate of the transmission output shaft multiplied by the final gear ratio and expected circumference of the tires. The speed report is also non-directional, there is no signifier of direction in any reference frame, including forward or reverse with respect to the direction of the IPV. As such, the speed estimates ‖푋̇ 푌̇ 푍̇‖ in the ECEF frame and the LSFF. The speed output is in discrete units, generating a stair step like output in the time domain. It also discounts wheel slip and changes in wheel radii. The current work only uses the OBD speed, it does not use any of the other OBD measures. The other OBD measures are likely to be of value in future work, e.g., driver modeling, fuel consumption and emission estimates, and other applications.

D. Localization Sensor Summary

The probe vehicles localization sensors measure only four of the six degrees of freedom of the ego- state, namely [푋, 푌, 푍, 휙]. It measures three rates including: ‖푋̇ 푌̇ ‖, ‖푋̇ 푌̇ 푍̇‖ and 휙̇푦. Each of these measures is subject to multiple sources of error, thus, the raw state measurement is susceptible to a variety of errors. Any subsequent processing must properly account for these errors. Chapters 3, 5 and 6 develop tools to enhance the reliability and accuracy of the [푋, 푌, 푍, 휙] state estimate and then extend the estimate to include 휃.

A.3.2. Perception Sensors

Perception is the act of sensing the surroundings of the instrumented probe vehicle. To support perception, the IPV employs three types of sensors: Light Detection and Ranging (LiDAR), Radio detection and ranging (Radar), and optical cameras. All of these sensors measure the external world relative to their own sensor frame. The measurements from these sensors are used in this work to build maps, identify vehicles and objects to track, and give contextual information about the situation of the probe and the world around it.

A. LiDAR

A LiDAR sensor emits a laser beam, which reflects back to the sensor when incident upon an object. The characteristics of the reflection define the distance to the object. The instrumented probe vehicle uses two models of LiDAR sensors, the SICK LMS 221 and LMS 291, both of which use a rotating mirror to scan across a 180° arc in a plane at 10 Hz in V1 and 37 Hz in V2 data formats with an angular resolution of 0.5°. The maximum range the LiDAR returns is 80 m; however, the

144 functional range is often much less if the incident surface exhibits low reflectivity back to the sensor.

The IPV utilizes between two and six LiDAR sensors, depending on the date of the run. Their locations and naming conventions are shown in Figure A.6. Always present are the front and rear LiDAR sensors. The driver side fore and aft LiDAR sensors were added to the during the major revision leading to the V2 format, while the passenger LiDAR sensors were present intermittently from 2010 onwards.

Figure A.6, LiDAR locations, naming, and enumeration conventions.

The front and rear LiDAR sensors (collectively called the horizontal scanning LiDAR) scan in the

Xb-Yb plane (Figure A.5). The remaining LiDAR sensors (collectively referred to as the vertical scanning LiDAR) scan in the Yb-Zb plane. The scans by the LiDAR sensors are reported in polar coordinates with a scan angle, α, and radial distance r recorded for each scanning angle measurement. The LiDAR sensor simply reports the distance to the nearest target, the data consumer must process those returns to obtain the desired information.

The LiDAR measurements have several sources of error. A significant source of error is the relationship between the sensor frame and the body fixed frame due to the unknown angle and movement of the sensors on their mounts between and during tours. To be clear, the uncertainty of the angle is fractions of a degree, but even that small amount leads to large uncertainties when

145 projecting measurements to the body fixed frame. Another source of error is due to the beam divergence. The LiDAR uses an eye safe laser, necessitating a laser beam divergence of approximately 0.4° from the centerline, i.e., the beam diverges with an angle of 0.4° with respect to its center [5]; therefore, the LiDAR effectively measures distance over an area at each scan angle, rather than at a discrete point. The farther the laser beam travels from the sensor, the larger the sampling area becomes. Near the extents of measurement at 70 m the spot can be greater than 1 m in diameter. When this spot is incident upon multiple objects the LiDAR sensor will likely report the single object of that set with the highest reflectivity or the sensor will report no return at all, causing some uncertainty in the readings. Finally, the LiDAR returns are subject to noise, with each return being subject a stochastic process that can add centimeters of error, so even when the distance to a target is static the LiDAR measurement might fluctuate due to this noise.

B. Radar

The radar sensor emits a radio wave, which is then incident upon an object and reflects back to the sensor. The radar sensor concurrently scans its entire field of view (which in turn is dependent upon the design of the radar). The IPV employs a long range Eaton Vorad unit mounted to the front of the probe and scans an azimuth of 12° out to 120 m. This radar sensor segments entire moving objects as targets and tracks these targets over time, reporting the range, azimuth, and velocity of each target at 5 Hz in V1 and 15 Hz in V2 data formats. While the radar sensor reports a higher level of abstraction, it also obscures the source data and makes decisions without informing the data consumers. Thus, sometimes invalid targets are tracked while other valid objects go untracked. Like the LiDAR sensors, the radar sensors are susceptible to the uncertainty of the sensor frame to body fixed frame relationship, and experience measurement noise. The application of the radar data to the objectives of the IPV is left for future work.

C. Cameras

The IPV includes up to four cameras, depending on the date of the run. The cameras are mounted inside the vehicle, and view out the front, rear, and side windows. Generally, a given camera was added at the same time when a perception sensor was added in the respective direction; however, the application is inconsistent and not all of the installed cameras recorded video on every tour. The camera views include a time stamp generated by the data acquisition computer to allow synchronization with the other sensors.

146 The cameras were only deployed for validation purposes and set to relatively low resolution to conserve data storage space on the acquisition computer. The quality of the camera output is suitable for gaining contextual information and manual data validation (e.g., identifying that an object observed in LiDAR was indeed a vehicle), but the resolution and quality is too low to allow for significant image processing tasks such as vehicle identification and lane tracking. The V1 data were collected in the form of low resolution still images once per second while the V2 data were collected at 10 Hz with a resolution of 352 x 240 pixels and exhibit compression artifacts that generate significant macro-blocking. The cameras typically shift alignment significantly between tours due to their non-rigid mounting, i.e., the camera frame often experiences unmeasured perturbations with respect to the body fixed frame.

A.4. Nomenclature For consistency and clarity, various terms for elements of standard routes and coordinate conventions are defined using precise terms in this section, as follows.

A.4.1. Route elements

A route element is a reference to some portion of the data collection route. The following five terms have specific meaning.

Route A route is the designated path which the driver is directed to follow, including the positioning movements.

Tour A tour is the period between the start and end of data collection and comprises the entire traversal of the given route, including positioning movements. A tour is the execution of a route, but due to road closures, driver errors, etc., a tour may not exactly match a route.

Trip A single complete loop of the inbound and outbound legs (as defined below and in Figure 1 and Figure A.2) for the repeated sections of a Travel Time Route and Free Style Route (consisting of two and three trips, respectively). The trip does not include any positioning movements, e.g., along SR-315. In the case of the Campus Loop tour the entire route is considered to be a single trip.

147 Pass The enumerated crossings of a specific directional location by the probe within a single tour. By definition each successive trip within a tour generates two directional passes, one for each direction at a given locations;, thus, a travel time tour will have two separate passes and a free style tour three separate passes of the northbound I-71 corridor. Some of the positioning movements and portions of the Campus Loop tour will also have multiple passes per tour.

Outbound leg The leg of the trip where the probe travels from the CBD to the terminus at the farthest point.

Inbound leg The leg of the trip where the probe returns from the terminus to the CBD.

A.4.2. Coordinates

The following symbols are used to consistently relate to a coordinate

휙 Yaw or heading

휃 Pitch

휓 Roll

α Azimuth of a sensor reading

r Radial distance of a sensor reading

Nomenclature specific to a device or section will be identified in the corresponding text.

A.4.3. Frames of Reference Notation

A total of six reference frames will be described, four of which are externally defined measurement frames and two of which are analysis frames which this work defines to aid in data processing and consumption. These frames are the Sensor frame, Body Fixed frame, Earth Centered Earth Fixed frame (ECEF), Earth Centered Inertial frame (ECI), Local Space Fixed Frame (LSFF), and the Map frame. To clarify the frame in use, this work uses the following subscript conventions.

Sensor l, r, y respectively for LiDAR, radar, and gyroscope

Body fixed b

148 ECEF g

ECI u

LSFF no subscript

Map m

A.5. Works Cited in Appendix A [1] Redmill, K., Coifman, B., McCord, M., and Mishalani, R., “Using Transit or Municipal Vehicles as Moving Observer Platforms for Large Scale Collection of Traffic and Transportation System Information,” in The 14th International IEEE Conference on Intelligent Transportation Systems, 2011. [2] ISO 8855 Road vehicles -- Vehicle dynamics and road-holding ability -- Vocabulary. ISO, 2011. [3] Decker, B. L., “World Geodetic System 1984,” 1986. [4] Trimble Navigation, “OmniSTAR VBS,” 2014. [Online]. Available: http://www.omnistar.com/SubscriptionServices/OmniSTARVBS.aspx. [Accessed: 01-Jan- 2016]. [5] “Technical Documentation LMS200/211/221/291 Laser Measurement Systems.” SICK AG, pp. 1–48, 2006.

149 Appendix B: Global Localization Process

Almost all of the applications that utilize data from the IPV’s sensor array require accurate localization information in a global reference frame, from knowing where the IPV is, to how fast it is going, at what heading it is traveling, and when the IPV passes some point of interest. The localization information about the IPV is then used to localize other vehicles and objects seen by the perception sensors onboard the IPV. Ultimately the broader goals of the IPV data collection are to gain insight into traffic flow and vehicle interactions via in situ study. The present work seeks to establish accurate localization as the foundation for subsequent research into traffic dynamics by determining the position of the IPV and a reference frame for the ambient vehicles. While the present work does not segment or track the ambient vehicles (a necessary step for the future study of traffic dynamics), as discussed in subsequent chapters, this work does use the perceived vehicles to help differentiate between road and non-road areas and identify travel lanes within these roads.

In particular, this work seeks to provide sub-meter (less than 1 m error 95% of the time) lateral position accuracy of the IPV with temporal local smoothness by integrating information from a global navigation satellite system (GNSS) receiver, yaw gyroscope, and speed sensor. Sub-meter lateral resolution ensures accurate differentiation between multiple lanes of travel, referred to as lane level accuracy, assuming a standard 3 m lane width [1] and 2 m wide IPV with central mounting of the GNSS receiver. The stipulation for local smoothness precludes the localization process from inducing noise when the perception measurements of the surrounding vehicles and objects are projected into the global reference frame. Additionally, the position estimate with local smoothness shall be physically realizable, i.e., the absence of measurement artifacts such as vibratory or sliding motion when the IPV is stopped.

B.1. Background This section presents background information to place the present localization work in context. First a literature review of the current state of the art for localization to provide both historical and supporting research on vehicular localization. Then Section B.1.2 reviews relevant details of the IPV and the preceding collection of the raw empirical data that serves as the input for the current 150 work. The IPV discussion also includes the unique characteristics of the specific IPV in the context of the literature reviewed. In the process, this section presents the necessary textual and mathematical conventions.

B.1.1. Literature Review

The process of estimating position and attitude for a moving object in general and ground vehicles in particular has received considerable attention in the literature. It is a cross-domain problem that touches robotics, intelligent transportation, land vehicle navigation, and other fields.

A. Methods

Two common tools for global localization are GNSS receivers and dead-reckoning systems. As in the present work, these two tools are often combined. On their own, a GNSS sensor typically exhibits local non-accumulating error while a dead reckoning system typically exhibits slow accumulating error. There is a large amount of literature demonstrating a variety of methods to fuse the two localization systems together to yield location estimates robust to GNSS errors and outages, while also avoiding the drift inherent in dead reckoning. These systems employ an information fusion process that uses the attributes of each sensor to generate a single, location estimate that is more reliable than either system in isolation. Additionally, using both components together results in a smoother trajectory than GNSS alone, even when the GNSS is operating without faults, as noted by Hemerly [2]. On the specific IPV installation neither system alone is sufficiently reliable for consistent 1 m accuracy that is required for lane level accuracy, the IPV GNSS sensor suffers from multipath or outages due to occlusion, while the dead reckoning systems suffers from accumulating drift.

The basis of information fusion for vehicular localization is usually a vehicle model, which can be a simple point-mass model or more complex bicycle models that account for details such as tire slip shown by Julier and Durrant-Whyte [3]. The specific model to use is an area of active research, for example, Tzoreff and Bobrovsky [4] develop a model using intrinsic quantities and constraints derived from physical constraints and driver profiles. Filters such as the interacting multiple models rely on a collection of models, and make an on-line determination of the appropriate model for the specific instance [5]–[7]. The actual process of information fusion is done via a filter (essentially an estimator) to combine sensor measurements with the vehicle model to achieve reliable localization. To do so, an information fusion filter needs to anticipate the reliability of each sensor and weigh them accordingly. The most common information fusion filter is a Kalman Filter (KF) 151 [2], [8]–[11] or some derivative, such as the adaptive nonlinear KF [12], [13], the augmented KF with fast orthogonal search [14], or the parallel cascade identification with KF [15]. The KF is an optimal linear filter, assuming the process it estimates is linear and the noise is Gaussian. It uses a process model to track the state of a process, and at each time step makes a prediction based upon state, and then updates the state based upon measurements. The non-linear nature of even the simplest model, the point-mass model, contributes to the variety of implementations. Other filters abandon the KF for inherently non-linear filters, such as a particle filter [16]–[18], fuzzy logic [19], wavelets [20], artificial neural networks [21], and constraint propagation [22].

B. Sensors

The literature uses a variety of sensors for information fusion, but with two common components: the GNSS component accesses a global navigation satellite system (GNSS), e.g., GPS, and the modeling component supports the vehicle model, e.g., dead reckoning. Skog and Händel [23] describe these components as either loosely coupled, tightly coupled, or deeply integrated, as follows. A loosely coupled system blends the solution from the two components, each arriving at an independent solution. A tightly coupled system transfers low-level observations rather than a solution from the GNSS component to the modeling component, which then can provide more accurate estimates and better disturbance rejection. The deeply integrated system transfers information between the GNSS component and the modeling component, allowing the GNSS receiver to better track the satellites among other benefits. This review limits itself to loosely coupled system because that is the most sophisticated approach available from the sensors on the specific IPV.

The objective of the modeling component is to record the vehicle state and its corresponding rates of change, sufficient to support the vehicle model in use, often including velocity and attitude. Common modeling component sensors include ground speed, gyroscopes and accelerometers. The ground speed measurement typically comes from one of two sources, the speed used for vehicle odometry [2], [5], [14], [15], [17], [18], or the high resolution output from the antilock brake sensors [6], [9], [22]. The gyroscopes typically come in two varieties, high accuracy fiber optic [9], [22], or low cost MEMs [5], [6], [10], [15], [17], [18]. Occasionally, accelerometers are used alone [21], but more frequently they are combined into an inertial measurement unit [5], [6], [11], [15], [17], [18].

152 In addition to the most common support sensors discussed above, there are many other sensors that are sometimes used, such as steering wheel position to estimate side-slip [6], [9]. Terrestrial transmitters, such as infrastructure mounted DSRC radios to provide local corrections [24]. Compasses provide heading with respect to magnetic north, [19], [21]. When digitized and detailed maps are available, those maps [25], [26] and even image processing can be incorporated into the localization problem [19]. Of particular relevance to this work, both vertical [8] and forward scanning LiDAR [27] have been used to support localization during GNSS outages. Jabbour and Bonnifait [8], [27] use LiDAR for curb detection, thus identifying the lateral location of the host vehicle, utilizing the LiDAR measurement when GNSS is unavailable.1

B.1.2 Coordinates and Sensors

Chapter 2 defined the Earth Centered Earth Fixed Frame (ECEF) and the Local Space Fixed Frame (LSFF) and introduced the sensors utilized by the IPV. The following section elaborates on these topics with respect to the localization problem.

A. Relationship Between LSFF and ECEF

The LSFF can be viewed as an approximation of the ECEF, about the LSFF origin. The approximation loses validity with distance away from the origin. In the current work the experimental observation furthest from the LSFF origin is 16 km distant, at the Polaris interchange of I-71, see map in Figure A.2. Due to the curvature in the ECEF frame with respect to the flat LSFF, a point at the same geoid height as the LSFF origin at CAR, see map in Figure A.6, would be approximately 20 m below the X-Y plane of the LSFF. The effect of this difference is to contract the X-Y plane, e.g., a meter stick oriented in the X-Y plane at this furthest extent appears smaller than 1 m. However, the contraction is by a factor of one in a million, resulting in 1.25 cm of error at the furthest extent. If the IPV were to perform tours in a new region, a new LSFF would need established with the origin moved to coincide with a central point of that new region. On the other hand, if the region of analysis were to grow substantially a Cartesian geographic frame may no longer be suitable.

To utilize data sources such as GNSS, maps, and aerial imagery, ECEF coordinates must convert into LSFF and vice versa. Conversion from the WGS84 (ECEF) reference frame, into the LSFF is

1 In fact the validation process in Section 3.3 uses LiDAR for a similar function, only instead of using the LiDAR information for localization correction it is used for validation. 153 performed through the Haversine formula via Equations (B-1) through (B-6). The Haversine formula is used for calculating the lateral and longitudinal distance between two points, specified as latitude and longitude, where: ϕ is latitude and λ is longitude. The final results are 푥, easting, and 푦 northing, from the LSFF origin.

∆휑 = 휑푎 − 휑퐶퐴푅 (B-1)

∆휆 = 휆푎 − 휆퐶퐴푅 (B-2)

2 ∆휑 (B-3) 훼 = sin ( ) 휑 2 2 Δ휆 (B-4) 훼 = cos(휆)2 sin ( ) 휆 2

−1 (B-5) 푥 = 푠𝑖𝑔푛(∆휑)2푟 tan (√훼휑, √1 − 훼휑)

−1 푦 = 푠𝑖𝑔푛(∆휆)2푟 tan (√훼휆, √1 − 훼휆) (B-6)

Note that the direction of travel is commonly called heading in the ECEF frame. This chapter uses the term yaw to refer to direction of travel to differentiate between the ECEF frame and LSFF, and to be consistent in the use of Euler nomenclature.

B. Localization Sensors

The specific IPV makes use of three types of sensors for localization, namely: a GNSS receiver, an inertial sensor for yaw angle measurement, and an odometry sensor. The objective of this work is to use a combination of these sensors to exceed the accuracy and smoothness of the GNSS sensor alone.

B.i. Global Navigation Satellite System

The GNSS sensor is subject to multipath errors and outages due to occlusions. Owing to the IPV’s travel through the central business district with tall buildings, and frequent overpassing bridges, multipath due to the reflections propagating from these objects and occlusions due to blockage by these objects disrupts the receiver. To a lesser effect, the GNSS sensor is also subject to the impacts of satellite geometry and atmospheric disruptions.

154 The GNSS sensor reports two separate binary fix status flags to indicate whenever the sensor calculates that it is subject to such reception errors, where the status of the given status flag indicates the presence/absence of sufficient data to calculate an accurate position. These status flags are generated using the sensor’s own, proprietary internal logic. These real-time sensor based reports alone have proven to be inadequate, the sensor often reports a valid fix even though the positioning is actually poor, e.g., in areas suffering from satellite occlusion and/or multipath errors. An example of these poor positioning errors with a reportedly good fix is illustrated in Figure B.1. Here we see the recorded vehicle trajectory traveling right to left as the IPV passes under a bridge that occludes the GNSS receiver’s view of the satellites. Upon initial occlusion, the position reports continue as they cross the centerline into opposing traffic. The GNSS receiver soon recognizes the occlusions and sets the fix flags accordingly, as evident by the lack of data points after the bridge. Unfortunately once the sensor loses the fix it repeatedly reports the coordinates of the most recent measurement with a fix, thus, falling on top of the earlier measurement in this spatial plot. When the GNSS positioning resumes, it initializes on the incorrect side of the road even though the fix flags report a valid fix. This example shows that while the fix flags do help eliminate bad positioning data from the GNSS, they still erroneously accept bad positioning data, making them unsuitable alone for the task of localizing a high speed road vehicle.

Figure B.1, GNSS sensor errors. Raw GNSS returns shown by black and yellow dots overlaid on an aerial image. The IPV traveled from right to left in the inside lane of the upper portion of the freeway. The reported position is accurate to the right of the bridge but drifts to the lanes in the opposing direction as the IPV passed under the bridge. 155

B.ii. Gyroscope

The gyroscope suffers from a number of error sources, such as noise, drift, slight misalignments in mounting, and unmodeled dynamics of the vehicle. Gyroscope stability is typically expressed by the Allan deviation [28], which relates the expected integration error over integration time. For short periods of time the random walk, i.e., noise, of the signal drives the error and the error reduces with integration time. As the integration time gets longer, the bias stability becomes the primary influence on error. This relationship signifies there is an optimum integration time to minimize the error. Figure B.2 presents results from a static IPV data collection lasting nearly 11,000 s, where 휙̇푦 has been integrated to obtain heading after correction for the earth’s rotation. While the IPV itself did not move, internal and external environmental effects may have caused vibrations during data collection. The drift has compounded to nearly 20° of error. Figure B.3 shows the calculation of the overlapped Allan deviation using freely available code [29] and indicates that this particular gyroscope has a minimum at 25 s integration time. The cross over in Figure B.3 implies that an integration time of less than 25 s serves to reduce error as integration time increases, induced by the noise in the gyroscope reading, while integrations times greater than 25 s serves to increase error through compounding effects of a bias as the integration time is increased. Thus an integration time of approximately 25 s provides the lowest expected error.

Figure B.2 Static gyroscope heading results. Gyroscope heading collected from the IPV for nearly 11,000 seconds with the IPV static after compensation for the rotation of the earth. An ideal gyroscope would have returned a constant value for the duration.

156

Figure B.3, Calculated Allan Deviation using the overlapping method applied to gyroscope data from the IPV when static, after compensation for the rotation of the earth. The minimum is at roughly 25 seconds, signifying that integration up to 25s reduces noise.

In addition to the errors above, sensor misalignment detunes the sensor with respect to the actual rotation of the IPV. In a hypothetical example, the angular rate sensor has a 1° pitch instead of 0°, e.g., it is not pitch or roll neutral with respect to the vehicle, 휙̇푦 measurements would be reduced to 0.99985 of the intended value. While this appears small, extending this hypothetical example over a 2 hour period with an average 휙̇푦 of 1° per second experienced during the entire period, the error compounds via equation (B-7), resulting in a total integrated error of 2°. Larger misalignments result in correspondingly larger error values.

푠 ° 2ℎ푟 ∙ 3600 ∙ 10 ∗ (1 − 0.99985) = 2° (B-7) ℎ푟 푠

As mentioned previously, the error resulting from unmodeled vehicle dynamics pertains to the simplification of the vehicle model. Such model simplification is necessitated by the available sensors, with the gyroscope being the only inertial sensor, and thus the only attitude reference. With only yaw measured, pitch and roll are unobservable. In the absence of measurement, following conventional practice, further calculations assume zero pitch and roll, even though the vehicle is not a rigid body attached to the road. Of course the vehicle is actually a sprung mass that moves in relation to the road due to inertial factors. When the vehicle slows, it pitches forward. This forward pitch changes the measurement axis of the yaw sensor, thereby causing a misalignment between the sensor frame and the LSFF. Likewise, when a vehicle turns, the body rolls causing a similar effect. The result of the misalignment is dependent upon the state of the vehicle. An extreme 157 example would be tipping the vehicle on its side, rotating it about its pitch axis, and then tipping it back upright: none of these movements causes a rotation in the yaw axis, but the result is a change in heading.

B.iii. Odometry

The speed sensor on the IPV has a number of shortcomings. The speed output is in discrete units, generating a stair step like output, which is effectively a measurement noise that degrades the precision and obscures the actual time series acceleration. It also discounts wheel radii changes and wheel slip, inducing additional errors.

The radius of each wheel can differ, and thus causing each wheel to travel at different speeds. The radii will change as the temperature of the tires change, expanding as they heat up. The effect of a 0.5 mm change in wheel radii would be 3.76 m error for every kilometer driven. Finally, a tire is always slipping against the road, thus the vehicle will not travel the circumference of the tire for every rotation of the wheel. This tire slip depends upon road conditions, tire wear, tire temperature, vehicle loading, and grade. A 1% slip on the tires would account for 10 m of error for every kilometer driven. Obviously these errors are stochastic, with their magnitude potentially changing rapidly over time and thus, making it impossible to use a constant correction factor. Since quantifying these errors is beyond the limits of the available sensors, they simply contribute to the measurement noise.

B.2. Methodology This section presents a localization process based upon an information fusion filter to localize the IPV from the on-board GNSS and dead reckoning measures. As noted in Section B.3.1, the GNSS sensor is a differential GPS receiver and the dead reckoning system is the combination of the yaw gyroscope and odometer. In satisfying the overarching objective of the IPV empirical data collection effort, the localization process is done post hoc from the historical data archive in a manner where high accuracy takes precedence over computation time and causality. These factors differentiate the present work from much of the literature, which is concerned with on board vehicle processing that operate in real-time. Taking full advantage of the post hoc processing this work utilizes a computationally intensive algorithm that is atemporal in nature, using both past and future localization measures to improve the localization in a given instant. Section B.2.1. discusses the preprocessing of the data prior to information fusion and then Section B.2.2. presents the information fusion based localization process itself. For consistency, the remainder of this section 158 will use one exemplar tour, collected on September 9th, 2009. The tour on this date follows a Travel Time route which traverses the central business district of Columbus Ohio, making two separate trips over approximately two hours, on the I-70/I-71 freeway. The validation in Section 3.3 will then apply the process to several of the Free Style and Travel Time tours collected under the V2 data format. While the method pertains to the specific set of sensors on the IPV, these sensors represent a modern low cost sensor suite including WAAS enabled GPS receiver and high quality MEMS gyroscope. With the corrections developed in this section such a configuration can provide highly accurate localization at much lower cost than contemporary systems that offer a similar accuracy, and thus, this approach potentially reduces the cost for a broad range of transportation modeling that require such highly accurate localization.

B.2.1. Pre-Processing

Prior to utilizing the sensor data for localization, the pre-processing steps take the various sensors individually. The step projects a given sensor's raw data into the appropriate reference frame(s) and prepare the sensor's output for subsequent steps in the analysis, e.g., extracting any necessary supporting measures. These steps abstract the localization process from the raw data, allowing for the addition of other sensors or measures in the future. For this work the information fusion filter expects yaw angle, speed, and GNSS position information in a geographic frame, and an estimate of the validity of the GNSS position readings. Using the frames of reference from Section B.3.1, this section presents the conversion of the Gyroscope measurements from the ECI frame to the LSFF, the GNSS from the ECEF frame to LSFF, estimates the availability of high quality GNSS readings, and detects reverse direction travel to add directionality to the speed sensor.

A. The Gyroscope Frame Translation

As per Section B.3.1, the gyroscope measures rotation with relation to the ECI frame, resulting in measurements that include the rotation of the earth itself. The influence of earth’s rotation depends upon the alignment of the gyroscope with the geographic poles, which itself depends upon the attitude of the IPV. Since pitch and roll are unobserved by the IPV sensors it is necessary to make assumptions of the IPV's orientation to the ECEF frame. In an effort to minimize the resulting errors it is assumed that the IPV is normal to the ECEF frame ellipsoid at all times. This assumption makes latitude the indicator of gyroscope alignment with the earth’s geographic poles. Using this assumption Figure B.4a shows the latitude and Figure B.4b the calculated corresponding angular rate imparted upon the gyroscope due to the rotation of the earth. Since the rotation is always

159 positive, the integration error for the gyroscope heading will grow unbounded with time. At any given instant the roughly 2.9 millidegrees per second of error due to the earth’s rotation in Figure B.4b seems negligible; but compounded over a tour’s typical 2 hour period, the accumulated error amounts to approximately 19° at the latitude of Columbus Ohio.

Figure B.4, (a) The latitude of the IPV during a tour, and (b) the corresponding influence on yaw rate.

To correct for the rotation of the earth the algorithm calculates influence of the earth's rotation upon the gyroscope, 휔휀, at every time sample, and subtracts this rate from the gyroscope measurement.

To do so the algorithm uses 휔휀 = cos 휑 where 휑 is the IPV latitude at that time sample. Figure B.5 shows the application of this correction, the accumulated drift is clearly evident from 4,000 s onward as the two curves separate. The benefits gained through correcting the gyroscope are readily apparent in Figure B.6 for the same data, where the 휔휀 corrected location end (denoted by B) and the uncorrected location end (denoted by A). Point B from the corrected data ends at (-1616, 960) while point A from the uncorrected data ends at (-1801, 2396). Thus, the corrected data is roughly 1.1 km closer to the actual terminus near (0, 0) and denoted with a '*' in the figure. The route is primarily North-South in travel. The turn-around for the first and second trips are respectively denoted with T1 and T2 in the figure. In both cases T2 moves further east of T1 but the corrected data set shows far less easterly movement. Clearly the fact that point B differs from * shows that errors due to drift remain even after the 휔휀 correction, showing that the remaining gyroscope drift cannot be ignored. Section B.2.2.C addresses the remaining drift in a final heading estimate calculation.

160

Figure B.5, Gyroscope heading before correction for ωε, shown in black, and after, shown in grey.

Figure 3.6, Location estimates from the integration of odometer and gyroscope signals, without correction for ωε, in black and with correction for ωε, in grey. The trips are denoted as T1 and T2 for the first and second trips. The endpoints are denoted as A and B, where A is the end without correction, and B is the end with correction.

B. GNSS Preparation

Prior to further processing this step transforms all measurements from the GNSS sensor in the ECEF frame into the ISSF according to the process in Section B.1.2.A. Use of the Cartesian system greatly simplifies the later operations.

A critical issue in the information fusion with GNSS and dead reckoning measurements is determining when to trust the GNSS measurements. This work seeks to identify both overt and subtle errors in GNSS readings that yield a positioning error beyond 1 m (Euclidian) of the true value. This error identification has much greater sensitivity when compared to the GNSS sensor’s own valid measurement signifier. While this section specifically takes the GNSS sensor in isolation

161 of the other sensors, there are several existing approaches that exploit sensor redundancy to detect these errors (e.g., [5]) or that use perception sensors to detect these occasions (e.g., [30]). By considering the sensors in isolation, this method achieves transferability to other sensor arrays. The method herein first develops a measure of availability, and then a measure of stability as a means of classifying the GNSS measurement reliability.

B.i. GNSS Availability This work defines GNSS availability as a binary flag to represent whether a particular GNSS measurement is sufficiently reliable to be made available to the later calculations of the information fusion filter in Section B.2.2, or if it is unreliable and should be unavailable to those calculations. The reliability assessment uses and expands upon the GNSS sensor ‘fix’ signifiers introduced in Section B.1.2.B to determine GNSS availability. When either of the fix status flags is false this work assumes the corresponding GNSS position data are inaccurate; however as discussed in B.1.2.B, the GNSS sometimes reports a valid fix when in fact the reported GNSS position is erroneous. While the exemplar tour never shows a valid DGPS fix without a valid GPS fix, they are handled separately in case such a situation arises.

To achieve a more robust estimate of GNSS availability, the following methodology further assesses the GNSS sensor measurement reliability for each sample, outputting a GNSS availability measurement that surpasses (with respect to the IPV dataset) that of the sensor itself. The first step of this enhancement combines the two fix outputs provided by the GNSS sensor so that when either of the fix outputs is invalid, the resulting availability measure is false, e.g., unavailable. The method truncates the availability period with a 12 samples after and a 4 samples before each invalid fix.2 The lag filter prevents use of the signal for the samples immediately after the reacquisition of the GNSS signal, while the lead filter does the same for the samples immediately before loss of signal. By discarding the measurements right before and after a GNSS outage this process suppresses most of the errors seen in Section B.2.2.B, just before the loss of fix and just after reacquiring fix and thus, preventing these errors from degrading the GNSS positioning away from the outage.

2 By inspection, the 4 sample leading and 12 sample lagging nullification was found to sufficiently suppress the erroneous readings for the IPV at free flow speeds, 29 m/s, while not over-suppressing the data. At the assumed free flow speeds suppression begins at 23 m before and 70 m after a signal interruption. For different sensors and environments, the design of this filter will need to be tuned accordingly. 162 B.ii. GNSS Availability estimate via Satellite Signal Stability To further enable the identification of erroneous GNSS measurements, another modification to GNSS availability is made by assessing the observed signal stability of the satellite constellation through the reported satellite signal strength. The first objective of the signal stability step is to use the reported satellite signal strength to identify possible instances multi-path errors. Multipath errors occur when the GNSS sensor believes it is locked onto the proper satellite signal, but is actually seeing a reflection, and the sensor is unaware that its reading is in error. The reflection travels a different distance from the satellite to the sensor, resulting in positional error. Since the sensor is unaware of the error, it continues to report readings as if they were true.

The next objective is to identify the gain and loss of satellite(s) from the constellation using the received signal strength of each satellite. These gains and losses cause instantaneous estimated position shifts. Whenever the constellation changes, e.g., a new satellite is visible or a previously visible satellite becomes occluded, the abrupt difference in information leads to a change in the position estimate. Consider a static GNSS sensor, the appearance of a new satellite changes the position calculation and results in a step change in the reported position, yielding a non-smooth position trace.

The process for meeting the above two objectives is done in five steps: the first step identifies which satellite occupies which of the 12 channels the GNSS sensor records at each time instant. The second step finds the total number of satellites in view at each time instant. The third and fourth steps find disturbances in the signal strength for all channels and individual channels, respectively and individually generate their own availability measure. The fifth and final step combines the preceding outputs into a single binary measure of GNSS availability. Each of these steps is explained in detail below. a. Identify active satellites The Amplitude Measurement Unit (AMU) is the only GNSS signal strength measure available in the IPV tours, the value is dimensionless and its derivation proprietary to the GNSS sensor manufacturer. The AMU records the instantaneous signal strength for each of the 12 channels available on the receiver. Figure B.7 show the AMU over the exemplar tour for 9 channels, the maximum number of instantaneous satellites the sensor observed during that specific tour. The AMU reports have a sample and hold quality, a non-zero value may become stagnant in the data

163 signifying no signal.3 Estimating the presence of individual satellites and the total number of satellites in each time sample involves the separation of stagnant and active samples. To identify the period of stagnation, the difference between each subsequent AMU sample for a given channel is calculated. A filter detects whenever a window size of 50 samples (10 s) is constant, resulting in a logical stagnant (true) or not stagnant (false) value. An individual channel is considered available when its value is not stagnant. The resulting calculation for the individual satellite channel availability (termed individual availability) for the exemplar tour is shown in Figure B.8, where a value of 1 indicates logical true and zero for logical false for the availability of each individual channel.

Figure B.7, Time series of the reported satellite AMU for the 9 non-zero channels for the exemplar tour. Vertical axis are in units of ‘AMU’ reported by the GNSS sensor.

3 It has not been determined if the stagnation is a function of the GNSS sensor itself or how the data are being captured and recorded by the data logger. Whatever the source of stagnation may be it has no impact on the fact that the problem must be addressed when using in the archived data sets nor does the specific source impact the process for addressing the problem. 164

Figure B.8, Time series of the estimated individual satellite availability for the exemplar tour.

b. Count of active satellites After completing the first step, the second step calculates the total number of satellites in view at each time sample by finding the sum of the individual availability measures at that time sample. Note that this step does not account for occlusions shorter than 50 samples (10 s) due to the duration of the filter. Later steps will resolve this constraint. Figure B.9 shows the results of this step for the exemplar tour.

Figure B.9, Time series count of the number of satellites being tracked by the GNSS sensor at each time instance. c. Identify disruptions across all channels. With the number of active channels and the individual channel availability known, the next step is to identify high frequency AMU changes that signify GNSS signal strength disruptions across all GNSS satellite channels, which could reflect multipath disturbances and multiple-satellite occlusions, such as those a tunnel generates. The output of this step is the coarse satellite availability measure. This measure is considered coarse because it considers the aggregate of all 165 satellites. First the instantaneous mean value of the AMU across all active channels is calculated for each time sample. The mean AMU value allows for identification of broad channel drop outs affecting multiple satellites, which can greatly influence GNSS signal quality. Next this process filters the mean AMU value with a non-causal 4th order Butterworth low-pass filter centered upon the current sample, with a corner frequency of 1/60 Hz. The filtered value provides a low frequency signal to approximate the unperturbed quality of the satellite signals.

Next to find large displacement the process establishes a disturbance threshold 4 AMU below the filtered AMU found in the previous paragraph to exclude small fluctuations. Whenever the instantaneous mean AMU falls below the threshold value, the coarse satellite availability measure is made false, signifying that the particular time sample's GNSS position should not be used in the information fusion filter of Section B.2.2. The threshold value of 4 AMU is used to fall beyond the ambient noise level of the AMU, which typically fluctuates +/- 2 AMU, therefore 4 AMU reduces noise sensitivity while being sufficiently sensitive to detect the large disruptions in signal quality. Figure B.10 shows a detail of this operation over a 250 s period of the exemplar tour. This figure shows the discrete and noisy nature of the instantaneous mean AMU. The filtered AMU reduces this noise, while still being responsive to the underlying movement of the AMU. This figure shows three events where the mean AMU dips below the disturbance threshold, signifying a potential GNSS error. The GNSS measurements at these time samples are considered unavailable, and the multiple satellite availability measure is set to "unavailable". Figure B.11 presents the results for the entire exemplar tour. The tour shows there are several periods of instability with the satellite signal strength, and also shows the need for the low pass filter, as the mean AMU tends to drift downward over the duration of this particular tour.

Figure B.10, The overall satellite stability assessment for a 250s period. The light grey line is the mean AMU, the darker grey is the low pass filtered AMU, and the black line is the threshold. There are three ocassions the mean AMU falls below the threshold.

166

Figure B.11, Time series plot of the Instantaneous mean AMU, of the visible satellites during the entirety of the exemplar tour (light gray curve). Also shown are the filtered AMU (dark grey curve) and the threshold value (black curve). Instantaneous deviations from the mean AMU that fall below the threshold are disruptions and marked as unavailable. d. Identify disruptions on individual channels Repeating the process from the previous section, only now applied to individual channels, this step uses the same filter and difference threshold to identify high frequency AMU changes that signify GNSS signal disruptions which then inform the creation of the fine satellite availability measure. The measure is considered fine because it accounts for changes in individual satellites, contrasting with the coarse measure, which only considers the aggregate. This two-part process consists of first calculating the individual channel status, and then combining these measures into a single measure.

Each and every available channel is processed individually. First the low pass filter of the previous section is applied, but this time to just the single channel’s AMU. Figure B.12 shows results from channel 1 before and after low pass filtering. Before filtering, as shown by the thin light grey curve, the AMU exhibits a lot of high frequency noise. After filtering, shown by the thick medium grey curve, the high frequency noise is removed leaving only longer duration trends. Next the disturbance threshold is found using the same value applied in the previous section, four units below the mean AMU, as shown in the figure by the thick black curve. The result of applying the disturbance threshold is the individual satellite availability, i.e., whenever the thin grey curve falls below the thick black curve, this satellite channel is considered unavailable. This figure shows how individual channels have higher noise than the mean across the channels used earlier. Note that in Figure B.12 there are cases when the instantaneous AMU is 4 units higher than the filtered, which signifies a stronger signal. This rapid signal strength increase could be due to in-phase multipath, signifying potential error. The current implementation does not consider the possibility of error due 167 to stronger signals, rather it only considers error due to weaker signals. The investigation of signals strengthening due to multipath is left to future work.

Figure B.12, Reported amplitude of channel 1 in AMU, and filtered measurement. Locations of large deviations between the filtered and instantaneous amplitudes are used to identify disruptions of the satellite's view.

The individual satellite availability measures, which are binary values, are added together by time sample into a single time series of aggregate individual satellite availability. Thus, if four individual satellite availability measurements are true for a specific time period, the aggregate output is four. The converse of this measure is the aggregate individual satellite disruptions, which is the number of visible satellites at that time sample minus the aggregate individual satellite availability. Noting the substantial noise in Figure B.12, simply reporting signal loss when any one channel is unstable would result in extensive suppression of the GNSS readings. During development, it was found that under most conditions multiple channels must be disrupted before the GNSS sensor exhibits an obvious positioning error. Figure B.13 presents the aggregate individual satellite disruptions for the exemplar tour. In the trade-off between the use of potentially erroneous GNSS readings, and the overuse of the dead reckoning system, a balance was found using the aggregate individual satellite disruptions of three satellites as a threshold for determining the fine satellite availability measure. When more than three satellites are simultaneously disrupted, e.g., the value of the aggregate individual satellite disruptions is more than three, the fine satellite availability measure is set to “unavailable”. A trade-off is present at this step, for highest discernment of satellite disruption, one desires a low value of aggregate individual satellite disruptions to classify that time sample as unavailable, while for highest availability of position measurements one would set the

168 aggregate individual satellite disruptions threshold to a large value. The resulting accuracy depends upon both the availability and accuracy of the position measurements, if the filter is too selective, position measurements are rarely available causing inaccurate assessments while if the filter is insufficiently selective, erroneous position measurements are incorporated into the result. For the GNSS sensor as implemented on the IPV, it was found that positional accuracy decreases when the threshold for individual satellite disruptions is greater than three satellites, due to the remaining quantity of available GNSS readings not being sufficient to correct the dead reckoning errors.

Figure B.13, Estimate of aggregate individual satellite disruptions made by comparing instantaneous AMU to filtered AMU.

e. Final Calculation The last calculation performs a logical OR operation between the course and fine satellite availability measures to generate the final measure of GNSS availability. Figure B.14 shows the results from the exemplar tour. To support the objective the availability estimate discards GNSS readings in a conservative manner, i.e., marginal readings are discarded. The benefit of this methods application is seen in Figure B.15. This figure repeats the data first shown in Figure B.1 except that the unavailable readings have been now been marked with an x. The figure shows that the infeasible and erroneous positioning samples that deviate from the lanes of travel are now marked as unavailable. This identification of readings as unavailable to the information fusion filter greatly simplifies that process, since at this point the samples marked unavailable have a high rate of errors while the remaining samples have a low rate of errors, thus, allowing for a greater weight to be assigned to the available GNSS readings in the sensor fusion.

169

Figure B.14, GNSS availability estimate at the conclusion of processing.

Figure B.15, GNSS returns that have been determined unavailable, shown by an X, and those determined available, shown as a dot. Later processing will retain all points marked with a dot and discard all points marked with an X.

C. Identifying Reverse Detection Movements

A critical limitation when using the IPV’s odometry signal for dead reckoning is that it only reports magnitude, not direction. Thus when the IPV is traveling in reverse, such as when backing out of a parking spot, there is no indicator that the travel is in the negative longitudinal (x) direction rather than positive. Likewise, the GNSS sensor reports its estimate of yaw, the course over ground (COG), without regard to the IPV’s orientation. The IPV could be rotated about its z-axis without any impact to the COG reading, or the IPV could slide laterally causing the COG to report a yaw rate perpendicular to the heading of the vehicle. Therefore, to identify the actual direction of travel of the vehicle, the gyroscopic yaw measurement and the GNSS sensor measurement are subjected to a consistency check. The IPV’s tours to date exclude unusual maneuvers that result in significant slip angle (the angle between the x-axis and direction of travel) therefore the consistency measure

170 identifies only travel in the negative x direction. The reverse detection uses two different operations relating gyroscope heading to the GNSS COG.

The first operation is to identify actual reverse movements during the tour. A reverse movement creates an abrupt change in the difference between the gyroscope yaw and GNSS COG which cause high frequency artifacts in the resulting signal. In general a reverse movement should be characterized by gyroscope yaw and COG differing by approximately 180°. To find these high frequency differences, first the gyroscope yaw angle is compensated to the COG. This compensation is done by calculating the mean gyroscope yaw angle, and the mean COG for the entire tour. The difference between these two means, which is a single value, is then subtracted from all samples of the instantaneous gyroscope yaw, to create the compensated yaw value. The anticipated gyroscope drift in yaw angle with respect to the true angle is in the tens to twenties of degrees during the duration of each tour, never approaching one half of 180° which would invalidate this approach. Next the difference between the compensated yaw and the COG are found for each time sample, followed by the application of a 3rd order high pass Butterworth filter with 0.1 Hz corner frequency to generate peaks. A search of these peaks using a threshold angular difference then identifies locations of reverse direction travel. Seeking out this condition while allowing for realistic tolerances, this work uses a threshold value of at least 120°.

Of course it frequently happens that the first movement (final movement) of the IPV is a reverse movement to exit (enter) a parking space. This step again uses the normalized gyroscope yaw from above. The difference between the normalized and the non-normalized yaw at the first time point is found. If this difference exceeds 120°, the starting time is considered to be backwards until at a zero speed measurement is observed through odometry, where the immediately preceding gyroscope and COG difference is within 120° of the mean value of the same measure. Figure B.16 presents the results of a reverse direction detected as the initial movement of the IPV. No reverse movements are performed during the exemplar September 9th, 2009, tour therefore I present the nearest tour with a reverse movement, performed on October 8th, 2009.

171

Figure B.16, Difference in the normalized and non-normalized gyroscope yaw showing large change in difference between 0 and 100s due to backwards IPV movement.

D. Summary

The measures and frame translations to provide the IPV sensor data to the localization process have been presented. The frame translations utilize standard transforms; however, the gyroscope requires several assumptions that could be relieved through additional sensors. The GNSS reliability estimation generated measures from those captured by the GNSS receiver, such measures could be improved by capturing more information from the receiver, and having knowledge of how the GNSS receiver itself determines to suppress readings. Finally, a method to identify when the IPV was traveling in reverse was developed. Future incorporation of directional measures from odometry, such as a transmission gear indicator, or the inclusion of two GNSS sensors, separated in space would provide precise measures of reverse travel. While there is room for improvement, these measures are sufficient to provide the localization process in the next section with data that results in sub-meter (laterally), lane level accuracy.

B.2.2. Information Fusion Filter

The information fusion filter for localization uses the GNSS measurement and dead reckoning to identify the position, heading, speed, and acceleration of the IPV at all times. The filter involves four major steps. The first is obtaining the position through information fusion, the second is applying true stop characteristics during stop and go movements, the third calculates a heading that is consistent with the position estimate, and the final step calculates both speed and acceleration.

172 A. Position

Obtaining the position through information fusion requires both the GNSS position measurements and the dead reckoning position estimates. While the GNSS position measurement is natively available, this process must calculate the dead reckoning position estimate. To do so, I use an assisted kinematic model. It is considered assisted because it uses the GNSS sensor COG to aid the gyroscopic measurements. After developing the dead reckoning position, a complementary filter is applied to fuse the dead reckoning position with the GNSS sensor position, resulting in a position estimate that will be shown to meet the sub-meter accuracy objective.

A.i. Dead reckoning through an Assisted Kinematic Model

The odometry and gyroscope readings are combined together through an assisted kinematic model to provide a dead reckoning position estimate. To do so, the first step of the dead reckoning process references the gyroscope measurements to the LSFF and cancels its drift through the assistance of the GNSS sensor. The second step uses a kinematic model and the sensor readings to establish the position estimate. These steps together produce a position estimate that has smoothness, but as a result of being a dead reckoning system, has unbounded error with the passage of time. a. Assisted Heading Estimate The IPV's gyroscope alone provides an unreferenced measurement, only reporting the rate of a rotation about its measurement axis, it is not capable of establishing an initial direction from which to integrate. To incorporate a reference and mitigate drift this work defines a complementary filter of the gyroscope yaw angle and the GNSS COG. Using GNSS COG as a reference aiding in the attitude estimate of inertial measures such as the gyroscope is a common technique, e.g., [31].

A complementary filter combines sensors in a way that leverages the respective strengths of each sensor. The gyroscope sensor is subject to drift (i.e., low frequency noise with non-zero mean sometimes called random walk), mounting inaccuracies, and the rotation of the earth (which may not have been completely removed due to the necessary assumptions, as discussed in Section B.2.1.A) while having very little high frequency noise. The strengths and weaknesses of a GNSS sensor are complementary to those of a gyroscope. The GNSS is an absolute sensor, providing an initial direction once movement commences. Its strengths are long term stability because it is an absolute measurement of heading with bounded error and it is not subject to errors from the earth’s rotation. The GNSS sensor uses subsequent samples to measures COG, which is the direction of travel experienced between two points in time, reporting a COG value with each sample. The 173 weakness of the GNSS sensor is that it is subject to high frequency noise due to the nature of the radiofrequency satellite signals and the IPV’s environment; thus, any given GNSS sample might incorporate large, non-accumulating errors.

Figure B.17 presents the GNSS COG in comparison with the gyroscope. To provide an absolute reference in this figure the initial gyroscope heading has been set to match the first available COG reading from the GNSS. Figure 3.16a shows GNSS COG and gyroscope heading in an ‘un- wrapped’ form where the angle, in degrees, does not roll over when 0° or 360° is reached, rather it continues. This unwrapping is done to remove discontinuities and the subsequent effects from the error calculation. Figure B.16b presents the difference between the gyroscope and the GNSS COG, referred to as the error. The error term has a visible high frequency component and a low frequency drift. The high frequency component is due to GNSS sensor noise, while the low frequency component is due to gyroscope drift. In this figure the locations of COG unavailability are shown by the vertical grey bars, with IPV stoppage as the red bars near the top. Note how the COG becomes unavailable at stops due to the GNSS sensor’s inability to calculate a COG when static. A 45 s excerpt from Figure B.17 is shown in Figure B.18. This figure makes it readily apparent that the GNSS sensor in black has substantially more high frequency noise then the gyroscope in grey.

Figure B.17, A comparison of the characteristics of the gyroscope and GNSS COG. Both a) and b) show locations of GNSS COG unavailability as vertical grey bars. When the IPV is traveling at a speed less than 1 m/s, the bar has a dark top. Part a) shows the absolute value of yaw angle for both the gyroscope, in grey, and GNSS COG in black. Part b) shows the difference between the two measurements.

174

Figure B.18, Comparison of the Gyroscope and GNSS COG for a 45 s period. a) shows the Gyroscope in grey and the COG in black. The COG shows significant noise. b) shows the difference between the Gyroscope and COG.

To estimate the actual heading this work fuses the GNSS COG and gyroscope rotation measurements as follows. First the algorithm calculates and filters the error term discussed above. To accomplish this filtering, the Matlab smooth function [32] is used, with a span of 400 samples with the smooth function set to use rlowess method. The smoothing function operates in a non- causal manner and does not induce any phase error in its result. The span value defines the number of samples it considers, to determine the value at the central point. For example if the 600th sample is filtered, the samples from 400 to 800 would be incorporated. The rlowess method is a robust local regression that uses a 1st degree polynomial and weighted least squares to accomplish the smoothing. Robustness is provided by lowering the weight of outliers according to their mean absolute deviation [32]. The 400 samples covers 80 seconds, which was established heuristically by starting the analysis at the 25 second transition point found by the Allan deviation in Section B.1.2.B.ii., and then increasing the span until I were satisfied with the tradeoff between sensitivity to drift and presence of noise. The result is an estimate of the drift over time of the gyroscope signal, such as that shown in Figure B.19. The drift estimate is then subtracted from the normalized gyroscope signal, to obtain the yaw estimate for the duration of the tour.

175

Figure B.19, Filtered difference between gyroscope and COG, with gyroscope initialized to the first valid COG reading. The result reflects the drift of the gyroscope over time.

The cumulative result of this process is an estimate of the IPV yaw angle (heading) that is lower noise than the GNSS COG and with lower drift than the gyroscope signal, and thus, higher long term accuracy. Figure B.20a shows the final estimate of heading, the thin black line, almost completely overlaying the GNSS COG shown as the thicker, lighter line. Figure B.20b shows the remaining difference between the estimate and the GNSS COG, and how that difference is entirely in the higher frequencies, with effectively no low frequency error. The mean of the difference between the estimate and GNSS COG over the entire tour is 0.04°. Assuming the GNSS errors are zero-mean, this result reflects an effectively zero heading bias of the new heading estimate over the run. Figure B.21 shows the details of several short duration periods from Figure B.20. These plots show how the filtered signal tracks the fast dynamics, when the heading changes by tens of degrees in a matter of seconds, while ignoring similar signals when the GNSS COG is either noisy or results in a straight line due to GNSS unavailability.

Figure B.20, Heading estimate after all filter steps, compared with the original course over ground measurement. 176

Figure B.21, Four detailed time excerpts from the heading estimate. Parts a and b show the estimate tracking the COG over large movements. Parts c and d show the significant noise present in the COG that is reduced by the estimate. Parts e and f show a similar area to the previous, again showing good noise suppression. Parts g and h show a period where GNSS COG is unavailable generating a straight line. This line does not represent the actual travel of the IPV, it is unlikely that the IPV could have a constant angular rate for 15 seconds that would yield such an artifact.

b. Kinematic Model In order to use the odometry and yaw angle measures in identifying the IPV’s position, a kinetic model of motion is required. This section will first develop the kinematic model and then utilize the kinematic model in the calculation of the dead reckoning position.

Owing to the simplifications already made, such as the vehicle having no slip, and only one inertial measure being available, this work develops a simple point mass model for position estimation. Under the point mass model, the motion of the IPV with respect to the LSFF is found in Equations (B-8) and (B-9). In these equations, s represents the speed from odometry and 휙 is the yaw angle. Note that the equations utilize the coordinate system described in Section B.1.2.A. with zero heading aligned with the positive y axis. Due to the substantial noise of the GNSS altitude measurement, the point mass model ignores altitude when calculating the easting and northing position. The odometry speed is the magnitude of the velocity vector in the x, y, and z directions, 177 as shown in Equation (3-10); however, the point mass model assumes Equation (B-11) is true, i.e., that the travel in the z direction is negligible. In these equations the dot signifies the time derivative, and in this case the velocity component in the x, y, and z directions. Owing to this simplification in the point mass model, any Z direction velocity will increase the value of S, resulting in slightly exaggerated values for 푥̇ and 푦̇.

푥̇ = 푠 sin 휙 (B-8)

푦̇ = 푠 cos 휙 (B-9)

푠 = ‖푥̇, 푦̇, 푧̇‖ (B-10)

‖푥̇, 푦̇‖ =̃ ‖푥̇, 푦̇, 푧̇‖ (B-11)

The application of the kinematic model estimates position using dead reckoning by incorporating the heading estimate from the previous section and the vehicle speed obtained by the odometry sensor. The calculation is executed in four parts, the first gives a directional aspect to speed, the second finds a time sample from which to initialize integration, the third part calculates relative movement within each time sample, and the final part calculates the position at each time instant.

First, the periods of backward movement calculated in the Section B.2.1.C. are used to add a directional component to the speed. This part applies a negative sign to the speed when the IPV is moving in reverse. Inspection found that by dividing GNSS speed by the odometry speed when traveling reverse, the odometry speed is lower than the GNSS speed by a scale factor of 1.09. This scale error is likely due to how the vehicle measures speed at the transmission shaft. To remedy this scale error the periods of reverse travel are scaled by a factor of 1.09.

Second, the integration must be bootstrapped with an initial location, (푥0, 푦0). Bootstrapping 4 occurs from the first time sample in which GNSS is available , reported as 푡0. Since this time may not be the first dead reckoning sample available, a later step will integrate both forward and backwards from 푡0.

4 While there may be sensor warmup and stabilization issues that could result in the first reported GNSS sample being of reduced accuracy, later filtering results discussed in Section 3.2.2.A.ii. remove any structural error that this simplification would impart. 178 Third, the relative movement between each time sample is calculated using simple Euler integration. This part applies the kinematic model from Equations (B-8) and (B-9) for each time step, where the speed in the X (Easting) and Y (Northing) direction are represented by 푥̇ and 푦̇, respectively, 푠 is the odometry speed, and 휙 is the filtered heading from the previous section. Each 푥̇ and 푦̇ value is then multiplied by the sample period, ∆푡. The reported time samples are used to calculate the duration of each sample period, which is done because the sensor sampling rates contain dither and irregularities and are subject to the occasional missed measurement. The result of the multiplication is the displacement in the X and Y directions for that sample, i.e., ∆푥 = 푥̇ ∙ ∆푡 and ∆푦 = 푦̇ ∙ ∆푡.

Finally, the position at each time point is found as the cumulative sum of all preceding movements, either forward or backwards in time, depending upon the relationship with 푡0. Equations (B-12) through (B-15) express this operation. Here (B-12) and (B-13) express the calculation for the x position for time points after and before 푡0 respectively. Likewise, (B-14) and (B-15) express the calculations for the y position.

푡=푛 (B-12) 푥푛 = ∑ ∆푥푡 , 푛 > 푡0 푡=푡0 푡=푡 0 (B-13) 푥푛 = ∑ ∆푥푡 , 푛 < 푡0 푡=푛 푡=푛 (B-14) 푦푛 = ∑ ∆푦푡 , 푛 > 푡0 푡=푡0 푡=푛 (B-15) 푦푛 = ∑ ∆푦푡 , 푛 < 푡0 푡=푡0

Figure B.22 presents the results of the integration, in black, compared to the Raw GNSS values in white, overlaid on an aerial image with the origin as a large circle. The location shown is the start and end of the tour, the end exposing all accumulated easting and northing errors. The figure shows that the easting value had little drift, on the order of tens of meters, while the northing values drifted a few hundred meters by the end of the tour. This result is likely due to the majority of travel being experienced in the north-south direction.

179

Figure B.22, Comparison of location estimate from Raw GNSS measurements, in white, and the dead reckoning results in black. The actual start and end location is shown as a large black and white circle. The yellow arrows show direction of travel.

A.ii. Complementary Filtering

The concept of a complementary filter is again utilized to combine the absolute accuracy of the GNSS positional calculation with the low noise of the integrated odometry speed. This odometry speed provides a low noise estimate of speed but is only reported in discrete values that give rise to a "stair stepped" time series that is only accurate to the discretization resolution, whereas the GNSS sensor readings contain periods of high frequency noise. The odometry speed has a lower sampling rate, changes with the tire radii, and like the gyroscope, is a relative measure to the vehicle rather than an absolute measure. Since it is a relative measure its error is unbounded with time. The GNSS sensor, while having more noise, has finite error over time, with a predictable magnitude. The objective of the complementary filter is to combine the smooth nature of the dead reckoning position, with the absolute accuracy of the GNSS position. The concept of the filter is to find and apply a low frequency drift and scale correction for the dead reckoning measure. The filtering process executes in three stages, the first calculates the difference between the dead reckoning and GNSS, the second filters this difference, and the third applies the differences to the dead reckoning position to obtain the filtered position estimate.

The first stage in the complementary filter is to calculate the difference between the two position measures: dead reckoning and GNSS. This step is similar to that performed on the gyroscope yaw 180 and COG measurements in Section B.2.2.A.i, except that it operates on the X-axis and Y-axis individually. As before, the difference has a high frequency component that is due to GNSS noise, and a low frequency component due to integration errors of speed.

The next stage in the process is to filter the difference between the dead reckoning and the GNSS positions to obtain a low frequency estimate of the dead reckoning errors. The Matlab smooth function set to use rloess method was applied with a span of 250 samples, or 50 seconds. The rloess is a robust filter as is rlowess¸ however rloess uses a second degree polynomial with its weighted least squares operation rather than a first degree polynomial. It is robust in that data outside of 6 standard deviations are discarded. The second degree polynomial better models the translational movement of the IPV when compared to the first degree polynomial. Figure B.23 presents the results of this smoothing operation on the exemplar dataset. Figure B.23a shows the easting results and the smoothing is readily apparent with the filtered following the low frequency trend of the raw data. Figure B.23b shows the northing results at a vertical scale much larger than the easting results. At this scale the filtered curve seemingly falls completely on top of the raw curve with the exclusion of a few large transient noise errors, but zooming in to the curves the results are similar to the easting errors. Both the Easting and Northing difference have an apparent periodic element. This periodicity likely relates to location rather than time due to the tour having two trips. This error could be due to the nature of the roads traveled, with the altitude assumption being a potential culprit. This large, low frequency periodic error is due to the nature of the dead reckoning result. The high frequency component is due to GNSS noise and is more visible when observing the difference between the filtered and unfiltered values, as shown in Figure B.23c and Figure B.23d. Figure 3.24 shows the filtered versions without the raw GNSS measurements for greater visibility.

181

Figure B.23, Difference in Easting, a) and Northing, b) locations of GNSS reports and odometry reports, including the filtered value of the difference overlaid on top of the raw difference. The filtered values are the thin light color (green) while the raw values in thick and dark (blue). Parts c) and d) show the difference in the raw and filtered values for Easting and Northing, respectively.

Figure B.24, Filtered difference between Inertial and GNSS locations, Easting (thick blue) and Northing (thin green) shown overlaid.

The final stage removes drift and high frequency noise from the dead reckoning output using the filtered position difference. As with the gyroscope filtering in Section B.2.2.A.i the result leverages the bounded accuracy of the GNSS sensor, while reducing the GNSS noise and maintaining good estimates during GNSS outages. Figure B.25 shows the results in the same region as displayed in Figure B.22. Here, the offset in the northing direction has been completely removed, and at the shown resolution, no obvious differences between the GNSS signal and the filtered position can be seen, excepting for the GNSS outage near (0, 600) due to two successive bridges over the route. Figure B.26a presents the Easting, Northing for the exemplar tour and Figure B.26b the 182 corresponding difference measures over time. From Figure B.26a one observes that the filtered Easting and Northing traces (heavy lines) lay overtop of the raw GNSS traces (thin lines). The overlaying is because the filtered position and the GNSS position are nearly superimposed when viewed at this unmagnified scale, signifying that the low frequency difference between the filtered measure and the GNSS position has been eliminated. Figure B.26b confirms this result by showing that the difference is centered about zero. As expected there are high frequency residuals in part b, this is due to those components being present in the GNSS signal as noise, and these disturbances are correctly mitigated by the filter.

Figure B.25, The complementary filter output shown as black dots, overlaying the raw measures as white circles with a grey outline. The aerial image is focused on the beginning end of the tour.

Figure B.26, Easting and Northing from GNSS and Inertial position after filtering shown as strip chart, with difference. 183

B. Stop & Go Filtering

During a given tour the IPV will usually stop for traffic lights during positioning movements and the IPV will often encounter stop and go traffic on the freeway. During these periods when the true IPV speed is zero but due to the nature of the preceding filter (and any linear low pass filter) the instantaneous speed estimate will be non-zero for some of the actual stopped time because the filtered output is effectively a weighted average of observed speeds over time. Since the speeds can never go negative this weighted average will only go to zero when all of the input speeds are zero, i.e., obtaining a static position estimate from a filtered value requires that the time spent at zero must be at least the duration of the impulse response from the filter (e.g., a moving average of 10 s has an impulse response of 10 s). The position filter of Section B.2.2.A had an impulse length of 50 s, signifying that for a true zero measurement, that is no reported movement between samples, the position measurement must not change for 50 s, including the presence of noise.

Figure B.27 shows the ramifications of the lack of true zero speed measurements from the IPV while stopped in the queue at a red traffic signal, which was verified via the on-board video. This figure shows non-realistic movements of approximately 2 m in the northing direction of travel and a lateral slide of approximately 0.2 m. Ultimately this research seeks to accurately recreate the state of the IPV including position and velocity to perform accurate measurements relative to the IPV into common world coordinates, as will be discussed in Chapter 6, making these artifacts significant. To remediate the presence of these unrealistic movements, the following method identifies times of zero speed, and then filters the position estimate at those times to report a proper zero speed.

Figure B.27, Small scale observation of filtered position output at signal queue. 184

Owing to its low noise, the odometry speed report is considered to be the most trustworthy indicator of zero speed5. This method considers any sample where the raw odometry measured speed is below 0.25 m/s (0.56 mph) to be a zero speed sample, due to the resolution of that sensor (the smallest non zero reportable speed is 0.27 m/s). These samples are then grouped into periods with a beginning time and end time, called stopped periods. The beginning time is the earliest sample that is a zero speed sample, and the end time is the last sequential zero speed sample.

The method then filters the position data with respect to the stopped periods. Between each stopped period the IPV is strictly moving. Therefore the time-series of the IPV’s position can be considered a series of periods of movement separated by stopped periods. The smoothing filter is applied during each period of movement, with the filtered position at the time of stoppage being pinned to that location for the entire duration of the stoppage. Figure B.28 presents a comparison between four speed estimates, the first is from odometry, the second is derived from the filtered and stop-go compensated position as will be discussed in Section B.2.2.D, the third is from raw GNSS measurements, and the last is derived from the filtered position prior to stop-go compensation. This figure shows how prior to compensation, the filtered speed prior to compensation never actually reaches zero, while after compensation the filtered speed is stable at zero. Figure B.29 shows the effect of the process upon the measured speeds. Note that only speeds below 5 m/s are shown, and that the post-filtered data has no speeds reported below 0.25 m/s. The preceding method assumes that any appreciable vehicle movement exceeds 0.25 m/s. If this assumption is violated, such as the driver creeping with the brake partially depressed for extended periods of time, this method will result in an inaccurate positioning during and immediately after the stop, followed by a convergence to the filtered position during movement. In such a driver creeping scenario, for the movement to initiate 1 m of error, the driver would have to move at 0.25 m/s for a duration of 4 s. Such a movement is highly unlikely.

5 The odometry is truncated to zero for any value below 0.25 m/s, but is not subject to the multipath and occlusion errors that induce large displacements in the GNSS speed 185

Figure B.28, Speed comparison at a stop between the Odometry, the filtered Stop-Go compensated speed, Raw GNSS, and the filtered speed before compensation.

Figure B.29, Histogram of the reported vehicle speeds below 5 m/s before and after the stop detection process. The method greatly increases the number of zero speed readings, at the cost of eliminating very slow movements below 0.25 m/s.

After accounting for the stopped periods in this manner the position filtering is complete. Figure B.30 shows how the process has corrected for the small movements apparent in Figure B.27.

186

Figure B.30, Stop location, identical to Figure 3.26, after controlling for zero speed. Many location points are replicated, overlaying each other. Even though speeds below 0.25 m/s have been suppressed, small movements, some below 0.2 m register.

C. Heading

After estimating the position using the complementary filter with GNSS position, the previously generated heading estimate may not perfectly align with the estimated movements of the IPV. The position is considered the primary measurement of interest, and the heading is recalculated to match the position. Again, there is assumed to be no slip in the IPV, i.e., the IPV’s velocity vector is always perfectly longitudinal to the road. The heading is calculated using simple trigonometry between the previously calculated stopped points, i.e., it uses a measure of course over ground. For accuracy, the heading calculation requires the IPV to move at least 8 m, or 2 IPV lengths, to ensure that there is enough movement to generate a COG reading. When the IPV is stopped, the heading is forced to be static. The results are mostly subtle differences in the heading estimate before and after this recalculation, including the static heading at stops. Figure B.32a shows the final heading estimate overlaying the darker grey previous heading estimate from Section B.2.A.i, generally the two are indistinguishable. Figure B.32b shows the difference between the curves to illustrate how they differ. The difference is zero mean showing that there is no remaining bias or drift. The high frequency components in the difference reflect the fact that the smooth result ignores the high frequency noise found on the GNSS COG .

187

Figure B.31, The final heading calculation overlaid, in part a, and subtracted, in part b, from the results of the filtered gyroscope measurements.

D. Speed and Acceleration

The position estimate is used to create both the final speed and acceleration estimates. Speed is calculated by the quotient of distance between successive measurements and the time step. Of course small errors in position can be amplified in this manner so the standard Matlab smooth filter is applied. The acceleration is then calculated by applying a 30th order differentiator finite impulse response (FIR) filter with a 0.2 Hz passband and a 0.3 Hz stop band to the time series speed estimates (the filter parameters were found heuristically through trial and error). This causal FIR filter was conceptually much simpler to construct whereas a differentiating non-causal filter (such as that developed for positioning) is more complex in construction. As with any causal filter, the FIR filter for calculating acceleration imparts a delay on its output, referred to as the group delay. If not corrected, this group delay of the FIR filter will cause the acceleration estimate to lag behind when the actual acceleration, and thus velocity changes, occur. To correct for this lag, the group delay is calculated and a time shift is applied to the acceleration estimate to maintain correct time synchronization.

E. Altitude

Due to the nature of navigation satellites only being visible above the horizon, altitude measures are less accurate and more sensitive to noise then latitude and longitude measures [33]. Additionally, the IPV is not equipped with any sensors that could be used to augment the GNSS altitude measure, e.g., pitch angle or altimeter. The combination of these factors leaves significant

188 error in the reported altitude on a given tour, with little recourse to correct that error using only measurements from that tour. Another significant aspect in the use of the GNSS altitude is the nature which the GNSS receiver reports the altitude, namely using the WGS84 ellipsoid without correcting to the EGM96 geoid which is used in relating altitudes to mean sea level (MSL). At the origin of the LSFF Cartesian coordinate system, the orthometric height above the geoid and thus the mean sea level altitude is 231.4 m. Conversely, the GNSS sensor reported WGS84 ellipsoid height is 197.1 m, which represents that at this location the geoid is 34.4 m below the ellipsoid. Further information on the EGM96 geoid and the calculation can be found in [34]. For convenience, all altitudes in this work are reported in the WGS84 ellipsoid, with the caveat that a conversion is necessary to relate the reported altitude to MSL, which is commonly used by GIS tools.

The method employed to filter the altitude is to apply a smoothing filter with noise detection and removal on each tour, individually. To accomplish this smoothing, the Matlab smooth function is used, with a span of 9 and passing the rlowess method (as per Section B.2.2.A.i). The raw GNSS altitude report and the corresponding filtered altitude, along with the difference of the two is presented in Figure B.33.

Figure B.32, Altitude in Raw GNSS form and filtered form, referenced to WGS84 ellipsoid. Part a shows the absolute values for an entire tour, part b shows the difference of the values for the entire tour. Parts c and d respectively show a detail of parts a and b over a short period to illustrate the details of how the filtering effects the altitude estimate at small time scales. 189 B.3. Works Cited in Appendix B [1] AASHTO, A Policy on Geometric Design of Highways and Streets, 4th ed. Washington D.C.: American Association of State Highway and Transportation Officials, 2001. [2] Hemerly, E. M., “Implemenation of a GPS / INS / Odometer Navigation System,” in ABCM Synposium Series in Mechatronics, 2008, vol. 3, pp. 519–524. [3] Julier, S. and Durrant-Whyte, H., “Process models for the high-speed navigation of road vehicles,” in Proceedings of 1995 IEEE International Conference on Robotics and Automation, 1995, vol. 1, no. 2, pp. 101–105. [4] Tzoreff, E., and Bobrovsky, B., “A Novel Approach for Modeling Land Vehicle Kinematics to Improve GPS Performance Under Urban Environment Conditions,” IEEE Trans. Intell. Transp. Syst., vol. 13, no. 1, pp. 344–353, 2012. [5] Toledo-Moreo, R., Zamora-Izquierdo, M. A., Ubeda-Minarro, B., and Gomez-Skarmeta, A. F., “High-Integrity IMM-EKF-Based Road Vehicle Navigation With Low-Cost GPS/SBAS/INS,” IEEE Trans. Intell. Transp. Syst., vol. 8, no. 3, pp. 491–511, 2007. [6] Jo, K., Chu, K., and Sunwoo, M., “Interacting Multiple Model Filter-Based Sensor Fusion of GPS With In-Vehicle Sensors for Real-Time Vehicle Positioning,” IEEE Trans. Intell. Transp. Syst., vol. 13, no. 1, pp. 329–343, 2012. [7] Ndjeng, A. N., Gruyer, D., Glaser, S., and Lambert, A., “Low cost IMU–Odometer–GPS ego localization for unusual maneuvers,” Inf. Fusion, vol. 12, no. 4, pp. 264–274, Oct. 2011. [8] Jabbour, M. and Bonnifait, P., “Global Localization Robust to GPS Outages using a Vertical Ladar,” in 9th International Conference on Control Automation Robotics and Vision, 2006, pp. 1–6. [9] Rezaei, S., and Sengupta, R., “Kalman Filter-Based Integration of DGPS and Vehicle Sensors for Localization,” IEEE Trans. Control Syst. Technol., vol. 15, no. 6, pp. 1080– 1088, 2007. [10] Islam, A., Iqbal, U., Langlois, J. M. P., and Noureldin, A., “Implementation methodology of embedded land vehicle positioning using an integrated GPS and multi sensor system,” Integr. Comput. Aided Eng., vol. 17, no. 1, pp. 69–83, 2010. [11] Redmill, K., Kitajima, T., and Özgüner, U. “DGPS/INS Integrated Positioning for Control of Automated Vehicle,” in IEEE Intelligent Transportation Systems Conference Proceedings, 2001, pp. 172–178. [12] Jwo, D. J., Chen, M. Y., Tseng, C .H., and Cho, T. S., “Adaptive and Nonlinear Kalman Filtering for GPS Navigation Processing,” in Kalman Filter: Recent Advances and Applications, V. M. Moreno and A. Pigazo, Eds. Vienna, Austria: InTech, 2009, pp. 321– 346. [13] Huang, X. and Wang, J., “Real-Time Estimation of Center of Gravity Position for Lightweight Vehicles Using Combined AKF-EKF Method,” IEEE Trans. Veh. Technol., vol. 63, no. 9, pp. 4221–4231, 2014.

190 [14] Shen, Z., Georgy, J., Korenberg, M. J., and Noureldin, A., “Low cost two dimension navigation using an augmented Kalman filter/Fast Orthogonal Search module for the integration of reduced inertial sensor system and Global Positioning System,” Transp. Res. Part C Emerg. Technol., vol. 19, no. 6, pp. 1111–1132, Dec. 2011. [15] Iqbal, U., Georgy, J., Korenberg, M. J., and Noureldin, A., “Augmenting Kalman Filtering with Parallel Cascade Identification for Improved 2D Land Vehicle Navigation,” in IEEE 72nd Vehicular Technology Conference Fall, 2010, pp. 1–5. [16] Aggarwal, P., Syed, Z., and El-Sheimy, N., “Hybrid Extended Particle Filter (HEPF) for integrated civilian navigation system,” in Position, Location and Navigation Symposium, 2008 IEEE/ION, 2008, pp. 984–992. [17] Georgy, J., Noureldin, A., Korenberg, M. J., and Bayoumi, M. M., “Low-Cost Three- Dimensional Navigation Solution for RISS/GPS Integration Using Mixture Particle Filter,” IEEE Trans. Veh. Technol., vol. 59, no. 2, pp. 599–615, 2010. [18] Georgy, J., Iqbal, U., and Noureldin, A., “Quantitative comparison between Kalman filter and Particle filter for low cost INS/GPS integration,” in 6th International Symposium on Mechatronics and its Applications, 2009, pp. 1–7. [19] Deelertpaiboon, C., and Parnichkun, M., “Fusion of GPS , Compass , and Camera for Localization of an Intelligent Vehicle,” Int. J. Adv. Robot. Syst., vol. 5, no. 4, pp. 315–326, 2008. [20] Grejner-brzezinska, D., Toth, C., and Yi, Y., “On Improving Navigation Accuracy of GPS / INS Systems,” Photogramm. Eng. Remote Sens., vol. 71, no. 4, pp. 377–389, 2005. [21] Wang, J. H., and Gao, Y., “GPS-based Land Vehicle Navigation System Assisted by a Low-Cost Gyro-Free INS Using Neural Network,” J. Navig., vol. 57, no. 3, pp. 417–428, Sep. 2004. [22] Gning, A., and Bonnifait, P., “Constraints propagation techniques on intervals for a guaranteed localization using redundant data,” Automatica, vol. 42, no. 7, pp. 1167–1175, Jul. 2006. [23] Skog, I., and Händel, P., “In-Car Positioning and Navigation Technologies — A Survey,” IEEE Trans. Intell. Transp. Syst., vol. 10, no. 1, pp. 4–21, 2009. [24] Alam, N., Balaei, A. T., and Dempster, A. G., “An Instantaneous Lane-Level Positioning Using DSRC Carrier Frequency Offset,” IEEE Trans. Intell. Transp. Syst., vol. 13, no. 4, pp. 1566–1575, 2012. [25] Jiang, Y., Gao, F., and Xu, G., “Digital map-based one-dimensional navigation model for vehicle applications,” in Position Location and Navigation Symposium (PLANS) 2010 IEEE/ION, 2010, pp. 1022–1026. [26] Obst, M., Bauer, S., Reisdorf, P., and Wanielik, G., “Multipath Detection with 3D Digital Maps for Robust Multi-Constellation GNSS/INS Vehicle Localization in Urban Areas,” in Intelligent Vehicles Symposium, 2012, pp. 184–190. [27] Jabbour, M., and Bonnifait, P., “Backing up GPS in urban areas using a scanning laser,” in Position, Location and Navigation Symposium, 2008 IEEE/ION, 2008, pp. 505–510.

191 [28] Allan, D. W., “Atomic Frequency Standards,” Proc. IEEE, vol. 54, no. 2, pp. 221–230, 1966. [29] Hopcroft, M. A., “Allan Overlap, Matlab Software, http://www.mathworks.com/matlabcentral/fileexchange/26441-allan-overlap.” 2014. [30] Gao, B., and Coifman, B., “Vehicle identification and GPS error detection from a LIDAR equipped probe vehicle,” in 2006 IEEE Intelligent Transportation Systems Conference, 2006, pp. 1537–1542. [31] Wu, Z., Yao, M., Ma, H., and Jia, W., “Improving Accuracy of the Vehicle Attitude Estimation for Low-Cost INS/GPS Integration Aided by the GPS-Measured Course Angle,” IEEE Trans. Intell. Transp. Syst., vol. 14, no. 2, pp. 553–564, Jun. 2013. [32] Curve Fitting Toolbox User’s Guide. Natick, MA, USA: The MathWorks, Inc, 2015. [33] El-Rabbany, A., Introduction to GPS : The Global Positioning System. Boston, MA: Artech House, Inc, 2002. [34] Lemoine, F. G., Smith, D. E., Kunz, L., Smith, R., Pavlis, E. C., Pavlis, N. K., Klosko, S. M., Chinn, D. S., Torrence, M. H., Williamson, R. G., Cox, C. M., Rachlin, K. E., Wang, Y. M., Kenyon, S. C., Salman, R., Trimmer, R., Rapp, R. H., and Nerem, R. S., “The Development of the NASA GSFC and NIMA Joint Geopotential Model,” in Gravity, Geoid and Marine Geodesy, vol. 117, J. Segawa, H. Fujimoto, and S. Okubo, Eds. Springer Berlin Heidelberg, 1997, pp. 461–469.

192 Appendix C: Validation results at gates 2,3,5-18

This appendix presents the results the outbound crossing of the trip line for each of the 18 gates. Each gate has unique characteristics, which warrant individual discussion. The result tables for gates 1 and 4 are excluded in the appendices because they are contained in the main body of this dissertation. The results for each gate include an aerial view for context, figures for the cumulative distribution function for both lateral and longitudinal error, and a table of the raw results. Each table shows the 95 percentile range for the corrected and raw data, the percent change the correction yields, and the standard deviation. The 95 percentile is used to reduce the effect of single erroneous points for both the raw and corrected data. Note that all aerial imagery is sourced from the Open Street Map project (http://openstreetmap.org).

C.1. Gate 2 Gate 2 is located on I-70/I-71 West of the CBD with a clear view of the sky. The outbound direction has four lanes with the outer lane beginning its split to a ramp. The results hows that the standard deviation improved substantially using the location estimation process, while in the lateral case, the absolute range had a slight degradation.

Figure C.1, Gate 2 aerial image

193

Corrected (m) Raw (m) Change (m) Change (%) SD 0.2688 0.3171 -0.0484 -15.3

95% 0.4107 0.5618 -0.151 -26.9 5% -0.378 -0.401 0.023 -5.7 Range 2.1499 2.1107 0.0392 1.9

Latitude

SD 0.5717 0.9991 -0.4274 -42.8

95% 0.8988 2.2453 -1.3466 -60.0 5% -1.0709 -1.1218 0.0509 -4.5 Range 2.8693 5.7054 -2.8361 -49.7 Longitude Table C.1, Gate 2 Results

Figure C.2, Gate 2 Lateral CDF

Figure C.3, Gate 2 Longitudinal CDF

194 C.2. Gate 3 The third gate is within the CBD, below grade, and near a bridge. An outbound traveling IPV will begin losing visibility of eastern satellites near the horizon, degrading accuracy. Due to the occasional unavailability of the GNSS signal in this area, the Raw GNSS error is much larger. The localization process shows higher standard deviations than the open sky of gate 2, but results were still well within 1 m.

Figure C.4, Gate 3 aerial image

Corrected (m) Raw (m) Change (m) Change (%) SD 0.3422 2.296 -1.9538 -85.1 95% 0.5405 2.5943 -2.0538 -79.2 5% -0.5492 -4.6619 4.1127 -88.2

Range 2.5181 18.8444 -16.3263 -86.6

Latitude SD 0.7288 3.4081 -2.6793 -78.6

95% 1.1238 5.2258 -4.1019 -78.5 5% -1.2168 -2.1341 0.9173 -43.0 Range 4.1063 32.6502 -28.5439 -87.4

Longitude Table C.2, Gate 3 results

195

Figure C.5, Gate 3 Lateral CDF

Figure C.6, Gate 3 Longitudinal CDF

C.3. Gate 5 Further east while still within the CBD and below grade, gate five returns to a more open view of the sky. The standard deviation, especially with the Raw GNSS readings, begins to decrease.

Figure C.7, Gate 5 aerial image 196

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.33 0.8229 -0.4929 -59.9 95% 0.4834 0.8856 -0.4021 -45.4 5% -0.5423 -0.662 0.1197 -18.1 Latitude Range 3.1028 13.0811 -9.9783 -76.3

SD 0.542 1.2682 -0.7261 -57.3 95% 0.809 2.315 -1.506 -65.1 5% -0.9222 -1.3598 0.4376 -32.2

Longitude Range 3.2926 9.3004 -6.0078 -64.6 Table C.3, Gate 5 results

Figure C.8, Gate 5 Lateral CDF

Figure C.9, Gate 5 Longitudinal CDF

197 C.4. Gate 6 Gate six is another open sky gate within the CBD. The localization process results are similar to gate five, while the Raw GNSS improves over gate five. The localization process is well within the lane level accuracy requirement.

Figure C.10, Gate 6 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.3202 0.5121 -0.1919 -37.5 95% 0.4388 0.8268 -0.388 -46.9 5% -0.5064 -0.465 -0.0413 8.9 Latitude Range 3.07 5.8547 -2.7847 -47.6

SD 0.5554 0.9391 -0.3837 -40.9 95% 0.8902 1.4585 -0.5683 -39.0 5% -1.0421 -1.2945 0.2524 -19.5

Longitude Range 2.955 5.6509 -2.6958 -47.7 Table C.4, Gate 6 results

Figure C.11, Gate 6 Lateral CDF

198

Figure C.12, Gate 6 Longitudinal CDF

C.5. Gate 7

The seventh gate is near an overhead bridge, while being in the CBD. The freeway is still below grade at this location. The results show increasing error for the Raw GNSS, particularly in the longitudinal direction while the localization process results remain stable.

Figure C.13, Gate 7 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.3413 0.5093 -0.1679 -33.0 95% 0.4457 0.8578 -0.4121 -48.0 5% -0.5653 -0.4187 -0.1466 35.0 Latitude Range 2.6745 5.2388 -2.5643 -48.9

SD 0.4682 2.3345 -1.8664 -79.9 95% 0.7159 2.4559 -1.74 -70.8 5% -0.7626 -1.1657 0.4031 -34.6

Longitude Range 2.78 31.7073 -28.9274 -91.2 Table C.5, Gate 7 Results 199

Figure C.14, Gate 7 Lateral CDF

Figure C.15, Gate 7 Longitudinal CDF

C.6. Gate 8 Gate eight, is immediately east of the bridge shared with gate seven. The localization results change little from the gate seven results, while the Raw GNSS sees a large increase in lateral error.

Figure C.16, Gate 8 aerial image

200

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.3355 2.0507 -1.7152 -83.6 95% 0.4413 3.5021 -3.0608 -87.4 5% -0.5487 -3.1183 2.5696 -82.4 Latitude Range 2.6442 15.9578 -13.3135 -83.4

SD 0.482 2.2263 -1.7443 -78.3 95% 0.7053 4.6465 -3.9411 -84.8 5% -0.8215 -2.0661 1.2446 -60.2

Longitude Range 2.8903 13.8821 -10.9918 -79.2 Table C.6, Gate 8 Results

Figure C.17, Gate 8 Lateral CDF

Figure C.18, Gate 8 Longitudinal CDF

201 C.7. Gate 9 Gate nine is the first gate after the I-70/I-71 split. This gate has relatively clear view of the sky, while still being below grade. An approximately 90 degree turn has just completed for an IPV on the outbound leg of a trip. The localization process maintains lane level accuracy while the Raw GNSS provides good results.

Figure C.19, Gate 9 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2442 0.5237 -0.2794 -53.4 95% 0.3205 0.8315 -0.511 -61.5 5% -0.4199 -0.7543 0.3344 -44.3 Latitude Range 1.9573 4.4354 -2.4781 -55.9 SD 0.5388 1.2392 -0.7004 -56.5 95% 0.9047 1.7809 -0.8762 -49.2 5% -0.8019 -0.8946 0.0927 -10.4

Longitude Range 3.6126 13.176 -9.5634 -72.6 Table C.7, Gate 9 Results

202

Figure C.20, Gate 9 Lateral CDF

Figure C.21, Gate 9 Longitudinal CDF

C.8. Gate 10 The tenth gate is the most nuanced due to the freeway splitting, the outbound leg IPV is tens of meters away from the Jersey barrier, and thus the landmark. The gate is immediately south of an overhead bridge which may occlude satellites near the horizon or cause reflections, in addition to the being below the grade of the adjacent ramp. The longitudinal range of the localization output increases to an abnormal level, however the standard deviation is still within the lane level accuracy limits.

203

Figure C.22, Gate 10 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2673 1.0129 -0.7455 -73.6 95% 0.4377 1.3421 -0.9044 -67.4 5% -0.4438 -1.1959 0.7521 -62.9 Latitude Range 2.0231 13.0113 -10.9881 -84.5

SD 0.5898 1.6694 -1.0796 -64.7 95% 0.9215 2.5322 -1.6107 -63.6 5% -1.0392 -1.5374 0.4982 -32.4

Longitude Range 5.1106 15.2614 -10.1509 -66.5 Table C.8, Gate 10 Results

Figure C.23, Gate 10 Lateral CDF

204

Figure C.24, Gate 10 Longitudinal CDF

C.9. Gate 11 The eleventh gate is immediately south of an overhead bridge, Figure 3.64. The longitudinal range and standard deviation are slightly elevated, Table 3.12, but the methodology maintains lane level accuracy.

Figure C.25, Gate 11 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.184 0.3334 -0.1493 -44.8 95% 0.2809 0.5656 -0.2848 -50.3 5% -0.3315 -0.4828 0.1513 -31.3 Latitude Range 1.1384 1.5146 -0.3762 -24.8 SD 0.6402 3.0079 -2.3676 -78.7 95% 1.046 2.854 -1.808 -63.3 5% -0.7517 -0.775 0.0234 -3.0

Longitude Range 4.3314 20.8606 -16.5292 -79.2 Table C.9, Gate 11 Results

205

Figure C.26, Gate 11 Lateral CDF

Figure C.27, Gate 11 Longitudinal CDF

C.10. Gate 12 Gate twelve is immediately north of the bridge from gate eleven. The results show the localization output is at parity with the gate eleven results.

206

Figure C.28, Gate 12 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2064 1.828 -1.6216 -88.7 95% 0.3302 2.7723 -2.442 -88.1 5% -0.3283 -2.4597 2.1314 -86.7 Latitude Range 1.1589 17.3046 -16.1457 -93.3

SD 0.6107 3.1267 -2.5159 -80.5 95% 1.0729 5.8626 -4.7897 -81.7 5% -0.7094 -0.645 -0.0644 10.0

Longitude Range 4.2281 35.6627 -31.4346 -88.1 Table C.10, Gate 12 Results

Figure C.29, Gate 12 Lateral CDF

207

Figure C.30, Gate 12 Longitudinal CDF

C.11. Gate 13 Gate 13 is south of a tunnel. As one would expect, due to the tunnel a slight reduction in accuracy is observed.

Figure C.31, Gate 13 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2196 5.7438 -5.5242 -96.2 95% 0.3195 2.4019 -2.0824 -86.7 5% -0.3469 -4.764 4.4171 -92.7 Latitude Range 1.6956 53.6845 -51.9889 -96.8

SD 0.6874 4.0994 -3.412 -83.2 95% 1.0813 6.5939 -5.5127 -83.6 5% -1.0995 -1.3704 0.2709 -19.8

Longitude Range 4.5132 30.4486 -25.9354 -85.2 Table C.11, Gate 13 Results

208

Figure C.32, Gate 13 Lateral CDF

Figure C.33, Gate 13 Longitudinal CDF

C.12. Gate 14 The fourteenth gate is immediately north of the tunnel from gate thirteen. This gate location is one of the most difficult to handle for the outbound traffic. The results are actually slightly better than the tunnel entry in gate fourteen. This is likely due to gate fourteen having a vehicle bridge upstream of the tunnel. Since the localization process is non-causal, the good GNSS observations after leaving the tunnel can be used to inform the location immediately after leaving the tunnel and while within the tunnel itself.

209

Figure C.34, Gate 14 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2097 2.9332 -2.7234 -92.8 95% 0.3085 3.1485 -2.84 -90.2 5% -0.3228 -3.8927 3.5699 -91.7 Latitude Range 1.7696 32.7316 -30.962 -94.6

SD 0.6802 9.6726 -8.9924 -93.0 95% 1.1834 7.5613 -6.3779 -84.3 5% -0.9624 -1.6266 0.6642 -40.8

Longitude Range 4.3166 77.8217 -73.5051 -94.5 Table C.12, Gate 14 Results

Figure C.35, Gate 14 Lateral CDF

210

Figure C.36, Gate 14 Longitudinal CDF

C.13. Gate 15

Gate fifteen is distant from any occlusions. The results show a small standard deviation for the lateral range.

Figure C.37, Gate 15 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.1997 0.3523 -0.1526 -43.3 95% 0.2787 0.4664 -0.1877 -40.2 5% -0.3556 -0.6316 0.276 -43.7 Latitude Range 1.4074 3.0046 -1.5973 -53.2

SD 0.4854 0.8481 -0.3627 -42.8 95% 0.8724 1.6999 -0.8275 -48.7 5% -0.8458 -0.9714 0.1256 -12.9

Longitude Range 2.4093 4.1516 -1.7423 -42.0 Table C.13, Gate 15 Results

211

Figure C.38, Gate 15 Lateral CDF

Figure C.39, Gate 15 Longitudinal CDF

C.14. Gate 16

One of the clearest views of the sky within the tested gates is at gate sixteen. The results, as expected, are some of the smallest ranges and standard deviations.

Figure C.40, Gate 16 aerial image 212

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2118 0.2979 -0.0861 -28.9 95% 0.3701 0.5537 -0.1836 -33.2 5% -0.3491 -0.4129 0.0638 -15.5 Latitude Range 1.6212 1.7175 -0.0963 -5.6 SD 0.4084 0.9912 -0.5829 -58.8 95% 0.7278 2.2992 -1.5714 -68.3 5% -0.6675 -0.8703 0.2029 -23.3

Longitude Range 1.9342 4.7281 -2.7939 -59.1 Table C.14, Gate 16 Results

Figure C.41, Gate 16 Lateral CDF

Figure C.42, Gate 16 Longitudinal CDF

213 C.15. Gate 17 Gate seventeen is similar to gate sixteen. The resulting standard deviations are slightly increased over the gate sixteen results, but still sufficiently accurate.

Figure C.43, Gate 17 aerial image

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.2288 0.3392 -0.1104 -32.6 95% 0.3813 0.5215 -0.1402 -26.9 5% -0.3503 -0.5683 0.218 -38.4 Latitude Range 1.6835 1.8871 -0.2036 -10.8

SD 0.4534 1.1746 -0.7211 -61.4 95% 0.7128 2.4232 -1.7104 -70.6 5% -0.8771 -1.2117 0.3346 -27.6

Longitude Range 2.8189 6.7599 -3.941 -58.3 Table C.15, Gate 17 Results

Figure C.44, Gate 17 Lateral CDF

214

Figure C.45, Gate 17 Longitudinal CDF

C.16. Gate 18 The last gate is near the turn-around point for the travel time runs. This area is much wider with six lanes, with the IPV typically traveling on the two outside lanes for the outbound trip. The results show the longitudinal range is slightly elevated, likely due to the distance from the lane of travel to Jersey barrier, while the other measures including the standard deviation values have good accuracy.

Figure C.46, Gate 18 aerial image

215

Corrected (m) Raw (m) Change (m) Change (%)

SD 0.1838 0.3621 -0.1782 -49.2 95% 0.2702 0.6037 -0.3335 -55.2 5% -0.3063 -0.5762 0.27 -46.9 Latitude Range 0.8863 1.8084 -0.9221 -51.0

SD 0.451 1.1441 -0.6931 -60.6 95% 0.5529 2.5902 -2.0373 -78.7 5% -0.5312 -1.1386 0.6074 -53.3

Longitude Range 3.595 5.5042 -1.9091 -34.7 Table C.16, Gate 18 Results

Figure C.47, Gate 18 Lateral CDF

Figure C.48, Gate 18 Longitudinal CDF

216 Appendix D. Complex Ambiguity Resolution

This appendix considers the more complicated conditions, introduced in Chapter 2, where there are more than two segments meeting at a single node, which happens at ramps and intersections,. At these locations a traveler must choose which path to follow. This movement contains exactly one entry and one exit location. At decision points, map refinement has the goal of associating the IPV and other observed objects with the proper 2D segment, and the proper movement.

D.1. Simple Intersections Simple intersections were introduced in Chapter 2. This section of the appendix outlines the specific computations performed in handling the Simple Intersection case.

D.1.1. Process

Figure D.1 presents the five steps in the process for generating the segments and then calculating the decision region. The first step is to find all of the angles between the segments. In a) the segments are labeled 1 through 4, and the corresponding angles are represented by ϴij. To calculate these angles, the segments I first consistently order them, simplifying the following process. A clockwise direction was chosen. The second step, b), calculates the bisecting angles between each of the enumerated segments. This calculation is performed by simply taking all the ϴ values and dividing by two, then offsetting by the absolute angle of the most clockwise segment. The third step, c), calculates the lateral limits of the intersection space through the method in Section D.2. The fourth step, d), finds the bounding points of the intersection, which are the points where 2D segment spaces intersects with the bisecting lines. The fifth and final step, e), generates the intersection bounding box by connecting the bounding points from the previous phase, again in a clockwise order.

217

Figure D.1, Decision region definition process. a) the angles between the segments are calculated. b) lines are formed bisecting the angels. c) the lateral limits of the segment space are intersected with the corresponding bisecting line. d) Bounding points of the decision region are found. e) the decision region bounding box is created, as the space created by the bounding points. .

D.1.2. Examples

The defined disambiguation is shown on a number of intersection and ramp types, with increasing complexity in Figures D.2 through D.5. Figure D.2 shows a ‘Y’ shaped three segment intersection. Figure D.3 and Figure D.4 show two different four segment intersections, the former meeting at 90° angles making a ‘+’ shape, and the later not. Figure D.5 shows a five segment, star-like, intersection. All examples show how a decision region is defined so that the IPV or other on-road object must traverse the decision region for all valid movements. The segment occupied before and after the intersection space traversal defines the movement.

Figure D.2, Definition of decision region for a Y shaped intersection with three segments.

Figure D.3, Definition of decision region for a four segment '+' shaped intersection.

218

Figure D.4, Definition of decision region for a four segment intersection without 90 degree angles.

Figure D.5, Definition of decision region for an arbitrary shaped five segment intersection.

D.1.3. Special considerations for Ramps

Freeway ramps meet at shallow angles, so much so that the segment may terminate while the adjacent segments still overlap. In this case, the calculation of the decision region is carried out in the same manner discussed in the Process Section, where the far lateral extent’s intersection with the bisecting line is found. Figure D.6 presents an example ramp where segments 1, 2, and 3 participate in the decision point, while segments 4 and 5 are affected by the decision region. Under the ramp scenario, this decision region may become quite long. While the current disambiguation step is functional with the ramp scenario, there is more opportunity for enhancement. Firstly, the definition of the decision region at a ramp is greedy in that it includes lanes of travel that cannot choose between the freeway and the ramp, and frequently the number of lanes without a choice far exceeds the number of lanes with a choice. Considering these lanes without choice as traversing a decision region is an unnecessary complication for later calculations. Secondly, the freeway and ramps are considered to have the same lateral width causing a great overemphasis as to the size of the ramp. Recall that since the OSM data lacks consistent lane information, the map refinement process has assumed a four lane width for the freeway. Thus the ramps are considered four lanes wide as well. A better representation may be to decrease the ramp lateral width, thus reducing the size of the decision region, or making the lateral width heterogeneous, with the side closest to the freeway being shorter than the side farther from the freeway.

219

Figure D.6, Definition of decision region for a examplar interstate ramp. Part a) shows the configuration including five segments, all numbered. Part b) shows the correction of the segment spaces to remove ambiguity. Part c) shows the decision region and how it extends into segments 4 and 5, which do not participate in the decision point.

D.2. Process for Conversion to 2D Map Elements This section outlines a high level process for map refinement to convert the 1D map elements into 2D and higher. The process utilizes the preceding definitions and consists of 10 automated steps followed by a manual verification and cleanup. The input is the map of 1D elements, and the specific nodes of interest. The output is a map of 2D elements that consist of polygons. The manual verification and cleanup are necessary because unhandled cases in areas of highly complex geometry which require manual adjustment. For these cases a custom tool has been developed that assists in the identification and manual correction of these unhandled cases. Future work with map refinement or a more uniform digitization of the map could resolve these issues because most geometric complexity is a result of choices made during map generation rather than the actual complexity of the underlying road network. For efficient development and reliability, this work makes extensive use of the open source Matlab library geom2d [28] for two dimensional geometry calculations. The 10 automated steps are as follows:

1. Load the segments of interest 2. Expand the route coverage to adjacent segments 3. Remove blacklisted and duplicate segments 4. For each segment find the level and type 5. Generate triplets – two segments traversed in sequence 6. Identify decision points 7. Make the initial, naïve, 2D segment boxes 8. Create edges and calculate centroids 9. Handle ambiguity simple - Two segments 10. Handle ambiguity complex - More than two segments 220 The remainder of this section details each step followed by the manual validation and correction.

D.2.1. Step 1: Load the Segments of Interest

The first step loads an Nx2 matrix containing the valid segments from the map, or a subset thereof, with each row containing the two node identifiers of the nodes that make up the segment. For efficiency, a separate program generates and non-volatilely stores these segments for retrieval, reducing computation time.

This step presumes that the IPV routes have been generated and stored, and that only segments near the IPV routes are of interest. Each route of every tour is iteratively opened, and the sequence of nodes extracted. Using actual IPV routes rather than the standard routes ensures that 2D map elements are generated in all applicable locations so that these maps are available when the IPV has deviated from a standard route. Prior to this step, the map contains no concept of a segment. To convert the sequence of nodes into segments, first the sequence of M nodes are placed into a vector of size M+1, with zero filling the extra element. A copy of this vector is made and circularly shifted by one element, and the first and last elements of the two M+1 vectors are removed. The two vectors are then joined into a (M-1)x2 matrix. In this matrix, each row represents a segment. Each tour results in a matrix, and the matrices from all available tours are concatenated together to create a matrix of all segments the IPV has crossed, over all tours. Obviously, there will be many duplicate segments in the aforementioned matrix. To eliminate the duplicate rows, the matrix is filtered to contain only the unique rows.

At this stage, the process uses only nodes which are on the route of the IPV, leaving out segments that the IPV may observe, such as the other approaches to an intersection. The next step uses network connectivity to resolve this issue and expand coverage to nearby segments.

D.2.2. Step 2: Expand Route Coverage

The expansion of route coverage takes the segments found previously and uses connectivity to identify and then include segments which the IPV may observe. This step is important because nearby segments may impact the roadway on which the IPV travels, such as a freeway on-ramp. Route expansion works with the sequence of nodes. First it identifies which way(s) contains the node. Next it determines if any of those ways contain a node that is a member of more than two segments, i.e., that node is a decision point. When the way satisfies the previous condition, all segments from the way(s) associated with the decision point are added into the matrix.

221 Additionally, the decision point is recorded into a vector containing all of the added nodes which are themselves a decision point. Finally, any repeated segments are removed. The result, in Figure D.7, is a set of segments that include where the IPV has traveled, and segments that could have affected or been observed by the IPV shown. Figure D.22 shows detail from the previous figure in an area where the IPV surveyed both the freeway and side streets. The result contains 3,736 nodes which make 3,864 segments.

Figure D.7, 1D map segments after route expansion including a detailed view.

D.2.3. Step 3: Remove Excluded Segments

The OSM project did not generate the map data with the particular needs of this particular map refinement as an objective. There are a number of situations where the structure of the map does not lend itself to increased dimensionality. The problems can be due to point density, improper road type reporting, and lack of true lane width information. For example, OSM may digitize a road with a narrow median as two ways, one in each direction. The road class still represents the type of the whole road, effectively doubling the reported width of the road. In this case the two roads are extremely close, and mirror each other laterally. Other situations involve roads that are extremely close, whose type implies a larger road.

To handle these problem situations for the expanded coverage (i.e. those segments not traversed by the IPV but added in Step 2), two exclusion lists were manually crafted which this Step uses to elide from consideration in the later steps. The first list is for problematic segments and the second is for decision points. The problematic segment exclusion list is manually crafted by plotting a

222 naïve map refinement with 2D elements, and then identifying overlapping, excessively dense, and wrongly classified segments. The decision point exclusion list considers the output of the problematic segment exclusion list and records any decision points where all participating segments are on the problematic segment exclusion list. Both lists are generated once and preserved.

Step 3 compares the problematic segment exclusion list with the segment list output from Step 2, and removes any of the segments on the exclusion list. Next, any decision point in the decision point exclusion list are removed from the vector described in Step 2 which contains all the nodes which define a decision point. Note again that the exclusion list effects segments through which the IPV does not travel. The segments within which the IPV travels are not affected and any segments within the IPV route which cause failures of the automatic process are handled manually and not excluded.

The most apparent solution for mitigating the need of these exclusion lists is the inclusion of a road width estimate within the map data because it is the poor road width estimate that causes most problematic segments. The refinement process is assuming the road width from the way type, which makes invalid assumptions under some circumstances. If road width estimates are too difficult or burdensome, more granular, and more consistent assignment of way type would be an effective measure.

D.2.4. Step 4: Find Segment Level and Type

This step takes the expanded and trimmed list of segments from the previous steps and extracts their metadata. Of primary concern is the level and type. The level of the segment represents the height according to an above and below sense. It is a relative, integer measure rather than an absolute. Zero is the at-grade height, negative values are below grade heights, and positive values are above grade heights. Each way has a single level value. A properly constructed map will initialize a new way when the level changes. Similarly, the map data assigns a type value to ways. The type value is a positive integer which describes the roadway in the same sense as discussed in Chapter 4, and can also be considered a road class. Each way contains a single type value allowing this step to identify level and type simultaneously.

Assignment of the level and type occurs by first identifying the way to which the segment associates. Each segment belongs to only one way; however, each of the two nodes within a segment belong to multiple ways. The reverse lookup table reports a list of ways which contain each of the nodes within the segment. The union of these two lists results in a single way. The final 223 stage of this process is looking up the metadata for the way which both nodes in the segment share. An additional lookup table, the lateral width lookup table, correlates a way type to an estimated lateral road width. When the way type is extracted the lateral width lookup table returns and stores the estimated lateral width of the way using the type as the index.

The lateral width lookup function uses the values presented in Table D.1. The investigation found that it was important to constrain the link widths to be the same as the type of road they were linking to prevent voids on freeways.

Type Description Width (m) 1 Motorway 18 2 Trunk 16 3 Primary 10 4 Secondary 8 5 Tertiary 6 6 Residential 6 7 Service 6 8 Unclassified 6 9 Track 3 101 Motorway Link 18 102 Trunk Link 16 103 Primary Link 10 104 Secondary Link 6 105 Tertiary Link 6 Others 6 Table D.1 , Lateral widths by type.

D.2.5. Step 5: Generate Triplets

The step for generating triplets, as defined in Chapter 3, finds all segments that connect at a shared node. Triplets are the simple arraignments to handle, and their identification segregates the triplets from more complex geometries found at decision points, which is covered in Step 6. Thus Steps 5 and 6 working in conjunction divide the map into simple (triplets) and complex (decision point) elements. This segregation simplifies and expedites later processing. This step outputs an Nx3 matrix, where each row is an ordered list representing the triplet as [first, middle, last] and N is the total number of triplets. There are two scenarios to consider when identifying triplets, both occurring when the middle node does not represent a decision point. The first scenario is when a

224 node is a member of one and only one way, and is neither the first nor the last node in the way. The second scenario are nodes where two ways intersect, but that node does not reflect a decision point. The next two paragraphs describe these scenarios respectively. When this step executes on the OSM data and IPV routes, the result contains a total of 2,759 triplets.

The first scenario finds the triplets internal to a way using the list of nodes, extracting it from the list of segments. The following procedure operates on each node from the list. The reverse lookup table is used to identify the way or ways to which the node is a member. If the node is a member of only one way, this signifies that the node is somewhere in the middle of the way, and not a member of either endpoint. Using these nodes which have singular way membership, the triplets are easily found. Each triplet consists of the node immediately preceding, and the node immediately following any node having singular way membership. Figure D.8 shows an example way in a), with a node of interest at the fourth node in the way, and, b) the resulting triplet centered around node four.

Figure D.8, Identification of a triplet when the node is not on a way boundary. In this hypothetical way, there are seven nodes, numbered in a). The node of interest is number four. B) shows the triplet extracted from the way in a). This triplet is formed by [A, B, C] representing nodes 3, 4 and 5 respectively.

The second scenario finds triplets spanning two ways. If a given node is a member of exactly two ways and this node is the first or last node in both ways respective node list then this node is the middle of a triplet. The preceding characteristic signifies that two ways meet at the node, but the underlying road is continuous and no route choice is available. If the ways meet in the middle of one of the node lists, then this node represents a decision point and is not the middle of a triplet. To convert the node representing the meeting of two ways into triplets, this step must determine if the node of interest is the first or the last element of each way. When considering the triplet as an [A,B,C] sequence, the node of interest always occupies B, an unshared node of the first way always occupies A, an unshared node of the second way always occupies C, and B is shared. When the 225 node of interest is the first element of the way, the unshared node is the second element of the way. When the node of interest is the last element of the way, the unshared node is the second to last element of the way. Therefore to identify a triple, nodes belonging two exactly two ways are identified. Then the position of that node within both ways is found. If the position is on the extremity for both ways, the triplet is formed with the shared node and the adjacent node from each way. Figure D.9 is an example of the ways, a), and the resultant triplet, b), for a node of interest that is contained in two ways.

Figure D.9, A triplet formed at the junction of two ways labeled A and B, and each node of those ways labeled with the way and subscripted node number in that way. a) Way A and Way B are ways that intersect at the node labeled A4 and B1. No other ways meet at this node, therefore it is not a decision point. b) the resulting triplet [1, 2, 3] when the node if interest is the shared node A4.

D.2.6. Step 6: Identify Decision Points

In this step, the term decision point represents any location where a vehicle can make a route choice. Decision points are the nodes where two or more 1D map elements converge, representing a choice in route. In the context of a road network, features such as ramps, junctions, and intersections of surface streets can be digitized into map elements that meet at a decision point. Later steps of the process must properly handle complex geometry, including decision points where more than two segments meet at a particular node. This step finds and records these decision points so that their complex geometries are handled by the appropriate functions. These decision points are first identified and then three data elements are extracted from those identified points.

Decision point identification starts with the node list, and iteratively use the reverse lookup table to identify the way(s) in which each node is a member. If a node participates in none or one way, it is not a decision point and discarded for the remainder of this step. The node is also discarded if it is found in the exclusion list described earlier. If the node participates in three ways, it must be a decision point because a route choice is present. Likewise, if a node participates in two ways, and

226 the node is not at an endpoint of both ways as Figure D.10 presents, then a route choice is present and the node is a decision point.

Figure D.10, Example of two ways which share a node and form a decision point.

Data element extraction results in three elements for later access in later steps. The first data element is a logical vector that represents if a specific node is a part of a decision point (true), or is not part of a decision point (false). The second data element is a vector of node identifiers that are decision points. The third data element is a logical vector of segments, which signify if either of the nodes in that segment are decision points. For example, if there are N segments the vector will be of length N and have a value of true when any node within that segment is a decision point. The final data element is a list of the nodes which represent the decision points, and the segments which associate with each of those decision points.

D.2.7. Step 7: Make Initial Box

Step 7 makes an initial bounding box (or rectangle) for the segment to define a 2D region. This step adds dimensionality to the source map data, for which the previous six steps were preparing the data. These boxes do not yet control for overlapping and ambiguity, which is solved in Steps 8 through 10. The line segment which connects the two nodes is projected at a lateral distance specified by the road width, and then mirrored across the line segment. The four points of the two projected line segments make up the bounding box for that segment. To achieve this result, this step executes a pair of mathematical operations. The first operation calculations the angle of the segment and the second calculates the four points comprising the bounding box.

The first operation is the calculation of the segment’s angle using equations (D-2), (D-3) and (D-

4). In these equations 푁1 and 푁2 represent the first and second nodes, respectively. The 푥 and 푦 superscripts are the coordinates on the x and y axis. The inverse tangent function of (D-4) is the two input formulation which retains the quadrant information. Finally, 휓 is the resulting heading angle of the segment. 227

푥 푥 푑푥 = 푁2 − 푁1 (D-2)

푦 푦 푑푦 = 푁2 − 푁1 (D-3)

휓 = tan−1(푦, 푥) (D-4)

The second operation is the calculation of the four points making up the bounding box. Equation

(D-5) presents this calculation where 퐵푛 represents the four points, with 푛 being the index of the point, one through four. When 푛 is even the ± operator is addition, and when odd, the operation is subtraction. 휔 is the lateral width of the road. The value of 푚 is one when 푛 is one or two, and 푚 is two when 푛 is three or four.

휋 휋 퐵 [푥, 푦] = [cos (휓 ± ) , sin (휓 ± )] ∙ 휔 + [푁푥 , 푁푦 ] (D-5) 푛 2 2 푚 푚

Figure D.11 presents an example of this step’s output. The line segment shown as the dark line, connected by the nodes shown as black circles, is extruded to both sides at a distance of the lateral width. The bounding box uses a four point representation. Upon adding in the entire set of boxes for a given region the resulting boxes have significant overlaps and gaps at their ends, as Figure D.12 shows.

Figure D.11, Example bounding box from a line segment.

228

Figure D.12, Result of increasing dimensionality at two locations. Note there are significant overlaps and gaps. Aerial imagery is from [1].

D.2.8. Step 8: Create Edges and Calculate Centroid

After the creation of the bounding boxes, Step 8 forms an array of edges for each longitudinal edge of the bounding box and the centroid of the bounding boxes. Longitudinal edges are considered the edges with the same heading as the segment. These edges are used in later steps for removing ambiguity, with lateral and longitudinal edges being treated differently. The centroid calculation is not directly used by later steps of the process, however it is useful during presentation of 2D maps. Specifically, the centroid assists in labeling the segments and limiting the number of segments displayed to those with a centroid within a certain area. The centroid is found by computing the X and Y cross product and area, then dividing the cross products by the area. This method extends to more complex shapes than the boxes discussed here and is utilized later for identifying close 2D segments.

D.2.9. Step 9: Handle Ambiguity: Simple

Ambiguity removal operates in a simple and complex varieties, contained in Steps 9 and 10 respectively. Simple ambiguity removal handles the ambiguity within the triplets found in Step 5. This step is the most simple because it deals solely with the geometry of the three points within a triplet, i.e., the simple case from Chapter 3. The complex variety in Step 10 handles the decision point geometries, which are much more challenging.

First, this step calculates the bisecting angle, 휎, between the two segments [A,B] and [B,C], shown in Equation (D-6). In this equation 푚표푑 is the modulus operation where the output is the remainder between the division of the first argument by the second argument. 휎 and the middle point B form

229 st nd the bisecting ray, Equation (D-7), represented by 푅휎. 휓1 and 휓2 are the angles of the 1 and 2 segment, respectively, as calculated by Equation (D-2)-(D-4). Next, this step calculates the absolute angular difference between the first segment angle, 휓1, and the bisecting angle, 휎 shown in Equation (D-8). The absolute angle difference, 휃, is the minimum angle separating two other angles rather than the difference of two angle. For example, if one angle is 1 degree and the other is 179, the absolute angular difference is 2 degrees, while simply taking the difference of the two angles would result in 178 degrees. Equation (D-9) presents the calculation for 휌, the distance modifier used in Equation (D-10) to calculate the point where the longitudinal edges intersect. In this equation 휔 is the lateral width. Note that Equation (D-9) breaks down when 휃 is zero. Such a situation does not occur with a properly digitized map. The value 푃 captures the point where the longitudinal edges intersect between the first and second segments. Since there are two intersections, 푃 has two values, denoted by the presence of the addition and subtraction operation.

휎 = 푚표푑(휓1 + 푚표푑(휓2 − 휓1 + 2휋, 2휋), 2휋) (D-6)

푅휎 = (퐵, 휎 ) (D-7)

휃 = 푚푖푛(휙12, 2휋 − 휙12), where 휙12 = 푚표푑(휎 − 휓1, 2휋) (D-8)

휔 휌 = (D-9) |sin 휃|

푃 = [퐵푥 ± 휌 cos 휎 , 퐵푦 ± 휌 sin 휎] (D-10)

The two 푃 values represent the points on the bisecting ray that intersect with the longitudinal edge. The bounding box is then modified to use these endpoints, but first, the particular points on the bounding box need to be known. The algorithm for identifying which points to move scribes a circle about point B and finds which points fall onto the circle. This scribing is done to make the algorithm insensitive to the ordering of the segment elements. A circle of radius 휔 is scribed about B. For each segment the algorithm uses the circle intersection to determine if the lateral side with points 1 & 2 or the side with points 3 & 4 should be used. Figure D.13 shows the elements of this operation on an exemplar triplet. Note how two points from each bounding box intersect with the circle. Once the lateral side is identified, the point closest to 푃1 is found, and that point is modified

230 to equal 푃1 while the other point on the lateral side is set to equal 푃2. Figure D.14 presents the results after modifying the bounding box points for the example in Figure D.13.

Figure D.13, A node triplet with ambiguous bounding boxes. The dark line represents the two segments and the three nodes, as diamonds. The dark grey rectangles are the two bounding boxes. The dotted circle is the circle used to find the lateral sides. The dashed line is the ray that bisects the angle between the two segments. The x’s are the points where the longitudinal edges intersect with the ray.

Figure D.14, Bounding boxes after removing ambiguity. The modified bounding boxes are the grey trapezoids, the dark line is the two segments, and the x's are the intersection points from the previous figure.

At the conclusion of this operation, all simple ambiguities are removed, however the ambiguity at intersections and overlaps of roads in close proximity remains. Figure D.15a shows an example location where the triplets have been corrected, while the intersection has not. Note that the bounding boxes are no longer rectangles, they have become four sided polygons. Figure D.16b shows the results at an area with a freeway and ramps. Note that the bounding boxes from different ways overlap. Also, on the right two right angle turns are visible on a side street, exemplifying the successful handling of extreme geometries. Since the bounding boxes are no longer rectangles, and will soon (in following steps) have more than four sides under certain circumstances, from this point forward the bounding boxes will be referred to as bounding polygons. 231

a) b)

Figure D.15, Bounding boxes two locations after conversion from rectangles to polygons to eliminate ambiguity at node triplets.

D.2.10. Step 10: Handle Ambiguity: Complex

After Step 9’s resolution of simple ambiguity, the complex ambiguities remain which this step, Step 10, seeks to resolve. This step further segregates these complex ambiguities into two types, those due to decision points and those caused by overlapping, unconnected bounding polygons (i.e. those polygons which intersect each other, but those polygons are not a part of the same triplet or connected by a decision point). Step 10 is organized in a way which first handles the decision point ambiguities, Step 10 Part A, followed by the disambiguation of the overlapping case in Step 10 Part B. The completion of both parts concludes, the automated process.

A. Step 10 Part A: Solving Decision Point Ambiguities

Identifying and resolving ambiguities at decision points is a substantial challenge due to the variety of road network configurations, the potential for short segments, and the need for consistent handling of these decision points. Doing so is aided by isolating decision point configurations into two scenarios, the first which meets a constraint which allows for the presumption of a certain structure and therefore efficient processing, and those that do not meet such a constraint. The output of both scenarios is a definition of space for each of the segments effected by the decision point and the decision region. Prior to discussing the approach for achieving this result, I introduce the following key terms which describe the elements required in decision point analysis.

Origin Location of the node that is shared by all segments participating in the decision point

232 Longitudinal edge Edge that is directed with the flow of travel Lateral edge Edge that is directed tangential to the flow of travel Far edge The lateral edge opposite of the lateral edge that contains the intersecting node Near edge The lateral edge which contains the intersecting node

Note that these definitions require knowledge of directionality with respect to the decision points. These are map network directions, rather than precise directions experienced by a traveler. The flow of travel through a segment is from the lower numbered node to the higher, considered the longitudinal direction. Thus this step must first collect the requisite information for each decision point and determine within which of the two scenarios the configuration falls.

A.i. Prerequisite Information Extraction and Scenario Identification

For each decision point previously found in Step 6, this step extracts the participating segments. The direction of the segment with respect to the decision point is then identified, such as the decision point being the higher numbered node (directed inwards) or the lower numbered node (directed outwards). The location of the node at which the decision point occurs is then extracted. A constraint is tested to determine which scenario should process the decision point. Specifically this constraint is that each longitudinal edge must intersect with one, and only one, other longitudinal edge. When this constraint is met, these longitudinal edge intersections are used to define the decision region. When unmet, further analysis must be performed. The constrained scenario is presented in the following section, Decision Point Scenario 1, while the unconstrained scenario is presented in the section Decision Point Scenario 2.

A.ii. Decision Point Scenario 1: Constrained

Recall that Figure D.1 shows an intersection meeting the longitudinal edge intersection constraint. This figure, which is used for the remainder of this section, shows five stages in the modification of the segment space and identification of the decision region.

In the constrained scenario, one must first give consideration to the case when the map contains a decision point and less than three segments participating in the decision point. Obviously, to be a decision point, a node must be a member of at least three segments. The aforementioned issue occurs when the decision point has participating segments not included in the subset of the map generated by the route (Step 1) and following expansion (Step 2). To remedy this exclusion, this step identifies and adds the missing segments into the representation of the decision point and the 233 overall map. Note that since by definition this decision point would not have been traversed by the IPV, the opposite approach could be taken which would be to exclude the decision point entirely. The approach to add the missing segments was taken in effort to error on the side of creating a larger map, rather than smaller. A new bounding polygon with corresponding metadata is created. Due to this addition, one must be careful of the map used during the various steps of the process, because the map changes during the performance of these steps. For example, the map in Step 10 will not have the same number of segments as the map in Step 5.

After adding any missing segments, the constrained scenario performs three operations. The first operation is to add a vertex to each segment’s bounding polygon at the decision point. This vertex pins each polygon to the decision point and causes later calculations to simply operate on angles with respect to the origin. Note that the polygons will no longer be four sided as they will have a minimum of five vertices. The next two operations are an angle calculation followed by the identification of lateral edge intersections, contained respectively in the following two subsections. a. Angle Calculation The second operation finds the angles of each participating segment, and in doing so finds the order of the segments. The order, e.g., [1, 2, 3, 4], signifies adjacency of the segments. In the preceding example the adjacent segments would be [1, 2], [2, 3], [3, 4], [1, 4]. The coordinates for each node of the segments participating in the intersection are extracted. Then the angles between the nodes and the origin are found and sorted, Figure D.1part a. Sorting the angles provides a consistent representation. Next this stage forms rays by bisecting the previously sorted angles, much as was done in Step 9. Figure D.1 part b shows the result for the bisecting ray calculation as dashed lines for the exemplar intersection while Figure D.16 presents the results of the this stage for a five-way intersection. The bisecting rays emanate from the decision point as dark lines and the nodes not participating in the segment are marked as ‘*’s.

234

Figure D.16, View of a decision point representing an intersection with five segments. The node of each segment which is not the decision point is shown with a ‘*’. The bounding boxes are shown as light grey, with '.' at each vertex. The bisecting rays are the black lines, emanating from the decision point.

b. Lateral Edge Intersection The third operation finds the intersections of the lateral edges between each adjacent pair of segments, as preceding subsection found. This operation consists of three calculations. The first calculation extracts the lateral and longitudinal edges of both segments of each adjacent pair. Recall that the bounding polygons now contain more than four sides. By convention this work considers a polygon to have at most two lateral edges, and these edges are without angular modification. Edge identification and extraction first makes each in-sequence vertex pair an edge, calculates the angle of each edge with respect to the angle formed by the segment, and then sorts and defines the edges.

The second calculation of the adjacent segment interaction is the finding the coordinates of a point on the bisecting ray 휏 which is the lateral width, 휔, distance from the origin. Rays are stored in a form of [푋0, 푌0, 푑푥, 푑푦], making the calculation that of Equation (D-11).

휏 ∶= [푥, 푦] = [푋0 + 휔 푑푥, 푌0 + 휔 푑푦] (D-11)

A property of two adjacent segments is that their lateral boundaries will intersect on the bisecting ray at the point 휔 distance from the origin. Thus 휏 from (D-11) returns the point where the segments meet, provided the segment lengths are sufficiently long. A logic operation then determines which particular edge hosts the calculated location, if any. Figure D.34 part c highlights the two longitudinal edges, and truncates the ray at 휏, where the edges intersect.

The third calculation of this stage moves the corresponding vertices within the bounding polygon to eliminate the intersection ambiguity. This calculation finds any intersections of the longitudinal

235 edges with the bisecting ray, and also finds if the opposite longitudinal edge intersects with the bisecting ray.

If one of the longitudinal edges, but not both, intersect, a vertex of the bounding polygon is moved to that point of intersection, shown in Figure D.17a. The vertex it moves is on the bounding polygon that is on the longitudinal edge found and the near edge. The coordinates of that vertex are moved to match the intersection of the bisecting ray and the longitudinal edge. The result, shown in Figure D.17b, shows the removal of the overall, this elimination of ambiguity, between the segments.

a) b)

Figure D.17, Part a, vertices, shown as diamonds, that are moved to 휏, shown as a star, for the exemplar intersection. Part b Resulting bounds after moving vertices. The shared boundary line is along the bisecting ray

After executing the above procedure on all pairs, the result is a decision point with no ambiguity, Figure D.1 part d. Here the dashed lines represent the shared boundary between the segments, and dots are shown at each 휏. The decision region is considered the convex hull of the 휏 points associated with the decision point. The result of computing the convex hull is the space shown in Figure D.1 part e. The decision region is contained separate from the rest of the map’s bounding polygons. The IPV’s presence within a space first checks the decision region, then checks the bounding polygons. This two step checking simplifies computation by reducing modification to the bounding polygons.

A.iii.. Decision Point Scenario 2: Unconstrained

Two road network configurations will cause a failure of the longitudinal edge intersection constraint, the configurations being short segments and small angles. These configurations are defined in a mutually exclusive sense. Short segments, e.g., Figure D.18 parts a and b, are when there is no longitudinal edge intersection between adjacent segments and the longitudinal distance

236 is shorter than the lateral width of the segment. Conversely, small angles, e.g., Figure D.18c, are where there is no longitudinal intersection between adjacent segments and the longitudinal distance is longer than the lateral width, such as caused by small diverging angles at an intersection or ramp. The short segments and small angles configurations must be handled through different logic but via a similar process. In both of these exceptional cases, first the inability to use the intersection of the longitudinal edges will be resolved, then the overlapping spaces will be remediated.

Also, there can be conflicting space from a segment not participating in the decision point with a segment that is participating, i.e., a segment with no connectivity to the decision point, may interact with the decision point. Each of the two preceding configurations may cause such a result, and a resolution is applied for both.

a) b) c)

Figure D.18, Part a, scenario with a short segment, darker rectangle. The adjacent longitudinal edges are highlighted by dashed lines. Note how they do not intersect. Part b Space conflicts due to a short segment at a decision point. The short segment is shown as the darker rectangle. Part c, Close approaches causing significant overlap of bounding polygons

a. Short Segments The solution to the short segment problem is found through the elimination of one vertex, the moving of the other, and the analysis of the next segment along the way. Figure D.19 presents a simple exemplar decision point with a short segment. The small segment is much shorter than the lateral width.

237

Figure D.19, Simple decision point caused by an intersection which includes a short segment. Segments participating in the decision point are black, non-participating segment is grey. A triangle represents the decision point.

Using the conditions above and considering the short segment, the vertex on the adjacent longitudinal edge and lateral edge near the decision point is removed. Recall that a vertex was added at the decision point, and now the near lateral edge will be half the original longitudinal width (provided some other modification hasn’t already modified the lateral width on the non- adjacent side). The removal provides for the formation of a boundary between the segments along the bisecting ray. Depending upon the road network configuration, the preceding actions may execute on both longitudinal edges, thus a triangular region is permissible.

The vertex movement executes on the vertex on the adjacent longitudinal edge and the lateral edge far from the decision point and moves the vertex to the intersection of 휏 and the far lateral edge. To do so this calculation must identify which of the vertices on the adjacent longitudinal edge is also 휔 on the lateral far edge. The distance of each vertex is computed to 휏. The vertex that is less then 2 distant to 휏 is on the lateral far edge. In the example, the closest vertex of the adjacent longitudinal edge to 휏 is the bottom right vertex of the short segment. Figure D.20a shows this vertex circled, 휏 as a diamond, and the ray connecting the origin to 휏 as a dashed line. The circled vertex must move, to remove ambiguity with the lower polygon. However, it shares that vertex with the third polygon that does not participate in the decision point. When that vertex moves to the point where the ray intersects the far lateral edge, represented by a diamond, the corresponding vertex with the third segment must move as well. When this vertex moves, the space occupied by the segment is no longer correct, because the movement of the vertex has causes the polygon to vacate space not occupied by any other polygon, Figure D.20b. The solution is to identify the point where the third segment intersects the bisecting ray created by the other two segments. At this point of intersection, it adds a new vertex. Figure D.20c shows the result of adding this vertex, the modified polygon covers the space properly and the ambiguity at the interface between the short segment and the

238 other segment has been resolved on the short segment. Note that this approach resolves both the problem of the short segment not intersecting on the longitudinal edge, and the non-participating segment overlapping. The longer segment is resolved when that segment is being analyzed. Figure D.21 presents the final segment bounding polygons near the decision point after executing the corrections. Here all space that was occupied in Figure D.19 remains occupied, and there is no overlap between bounding polygons.

a) b) c)

Figure D.20, Part a, A simplified decision point where a node must be added to retain the shape of a polygon. The origin is a triangle, the bisecting ray is a dashed line. There are three segments, two participating in the decision point, darker rectangles, and one not, lighter rectangle. The diamond is where the bisecting ray intersects the far edge, and the circle is the shared node that needs moved. Part b, Segment not participating in the decision point after moving shared vertex shown with the heavy black line. Part c, The thick black line shows the third polygon after the addition of a vertex.

Figure D.21, Exemplar decision point after all segments have been processed.

b. Small Angles The small angles solution is similar in concept to the short segments solution. Figure D.22a shows an example where the segments on the left overlap each other for nearly their entire length. Resolving this issue requires the moving of the vertex on the lateral edge far from the decision point

239 and the adjacent longitudinal edge, onto the intersection of the bisecting ray and that lateral edge. This movement is done for both segments. When that vertex is shared by any other polygon the corresponding vertex is moved as well. Finally, when one segment is longitudinally shorter than the other, a vertex is added to the longer segment at the position of the moved vertex. This final step ensures that the shape of the polygon will be preserved if any subsequent movements for other ambiguities are performed. Figure D.22b presents the scenario after applying the small angle solution for the Small Angle approaches, and Step 9 on the other approaches.

a) b)

Figure D.22, Part a, Close approaches at an intersection, on the left of the above figure. Part b the resolution of the scenario with close approaches. The far nodes have been moved to split the space.

A.iv. Cleaning the Polygons

Whenever a vertex is added to a segment’s polygon, the possibility exists that the vertices of the polygon are no longer in a proper order, e.g., one cannot simply draw the polygon by placing a line segment between the vertices in order. When the polygon self intersects, it is considered to be in an incorrect order. To remedy the vertex order, if there are less than eight vertices an algorithm automatically calculates the perimeter of every vertex order permutation. The vertex order resulting in the smallest perimeter is applied to the polygon. The smallest perimeter is preferred over the convex hull, because the minimized perimeter results in a larger area with a more rational shape for a road. If eight or more vertices are present, the user is presented with a figure with the vertices shown. The user then clicks on the vertices in the appropriate order. The manual step is needed because a typical personal computer cannot handle permuting more than seven items, as required by the automated method. 240 A.v. Establishing the Decision Region

The decision region computation developed in Step 10 Part A Subsection ii.b simply builds a convex hull around the locations where the longitudinal edges intersect. For some special cases the previously employed convex hull method is not sufficient to generate a meaningful region, like those where multiple vertices lie on the bisecting angle. The method fails because the inputs into the convex hull are constrained to only the segments participating in the decision point. This section introduces generalized decision region algorithm which solves the problems inherent with some special cases.

First the intersection of the bisecting ray and the longitudinal edges of each segment participating in the decision point are found. If there is no intersection, such as the configuration in Subsection iii, the neighboring segment connected to the node opposite the decision point is identified. The intersection with the bisecting ray and that neighboring segment is then found, which Figure D.23 a demonstrates. This process continues until a subsequent neighboring segment’s longitudinal edges intersect with the corresponding bisecting ray. Once found, the calculation of a convex hull results in points that are built into a N-1 sided bounding polygon, where N is the number of segments participating in the decision point, Figure D.23 b. Note that the above solution will fail if there is no intersection found with the bisecting ray before the neighboring segment of interest meets a second decision point, in such case the user is notified and the region is left for the user to manually define. Even when multiple neighboring segments are used, the number of sides of the decision region’s bounding polygon remains the same, the preceding approach is simply a search for the intersection. When combined with handling the decision regions as separate, higher priority regions when mapping, the association of objects with decision regions is greatly simplified because one can test if the object is within any decision region’s bounds, and if not, then segment spaces are searched.

Figure D.23, The decision point from earlier resolved into non-overlapping space a), and the decision region b). 241

B. Step 10 Part B: Determining Overlap Ambiguities

Overlap ambiguities are locations where two unconnected segments share the same space. These often occur on freeways where the segment lateral width is defined to be much greater than the actual width, and the two directions of travel overlap, as well as divided arterials. The removal of overlap ambiguities executes in two parts, the first determines which segments may overlap based upon proximity, the second determines where overlap occurs and then removes the ambiguity. These two parts are outlined in subsection i and ii, respectively.

B.i. Finding and Ordering Overlapping Segments

Segments overlap when the area enclosed by one segment’s polygon contains an area enclosed by another segment’s polygon. When eliminating the overlap ambiguity one must first find the proximate segments, those segments whose centroids are sufficiently close to another segment to signify that their polygons may overlap. To do so, the distance between the centroid of each segment to every other un-connected segment (i.e., those other segments which do not share a node) is calculated. Let M denote the total number of segments that share a single space, three MxM matrices, 퐷, 퐷푥 and 퐷푦, are used to tabulate the distances between the centroids and are defined as follows, where all measurements are on the x-y plane. First 퐷푥 is found using Equation (D-12), and then 퐷푦 using the same equation except substituting the y values in place of the x values. Then 퐷 =

2 2 퐷푥 + 퐷푦 is calculated, storing the squared distance, dx +dy where dx and dy are the distance in the x and y planes, respectively. This matrix is formed using the Matlab repmat function providing for fast computation.

2 2 2 2 (푥1 − 푥1) (푥2 − 푥1) … (푥푚−1 − 푥1) (푥푚 − 푥1) 2 2 2 2 (푥1 − 푥2) (푥2 − 푥2) ⋯ (푥푚−1 − 푥2) (푥푚 − 푥2) 퐷푥 = ⋮ ⋮ ⋱ ⋮ ⋮ (D-12) 2 2 2 2 (푥1−푥푚−1) (푥2−푥푚−1) ⋯ (푥푚−1−푥푚−1) (푥푚−푥푚−1) 2 2 2 2 [ (푥1 − 푥푚) (푥2−푥푚) ⋯ (푥푚−1−푥푚) (푥푚−푥푚) ]

The upper and lower triangular portions of the 퐷 matrix are redundant. Therefore, the upper triangular matrix is masked and set to not a number (NaN). The diagonal is the self-distance and

242 should always be zero, since the information on the diagonal is of no value it too is set to NaN. To convert the 퐷 matrix into units of distance, the square root of all elements of the D matrix is found, 퐷′ = √퐷 where the square root operation is by element.

Presuming that the midpoints of two overlapping segments should be within 250 m of each other (as was found to be the case for all of OSM data considered in this study), any segments that are more than 250 m apart are considered to be non-overlapping by default. To detect overlaps of the segment pairs this work steps through each pair of links whose centroids are less than 250 m apart in the 퐷′ matrix, performing three operations for each pair, as follows:

1) Detect overlapping areas. There are three tests to find if the areas overlap. The first test is determining if the bounding polygons edges intersect by considering the bounding polygons as polylines and detecting if these polylines intersect. The second test detects if any point from the second polygon falls within the bounding box of the first polygon. The third test detects if any point from the first polygon falls within the bounding box of the second. The output is a vector of the all locations where the bounding polygons intersect and the vertices that lie within the other polygon. 2) Remove any duplicated vertices from the vector output above. Duplicate vertices may exist because of the specific implementation of polyline intersection function and a vertex of a polygon lying on the edge of the other polygon. 3) Using the remaining vertices in the vector, this step finds the area of the convex hull formed by the two segments together, provided more than two vertices are available. Then the calculation sorts the convex hull areas in a descending manner. The purpose for finding and sorting by the convex hull is to give preference to segments with greater area. An order must be enforced because the following calculations are not communitive, executing in a differing order will provide different results. Due to this, an order must be defined and followed.

The preceding three operations generate a list of candidate overlapping segments, ordered by size. This list is then transferred to the next subsection for mitigation of the overlap. The list is stored as a Nx2 matrix, with N being the number of overlapping pairs, and the rows identifying the two participating pairs.

243 B.ii. Overlap Processing

Each row of the matrix of overlapping segments output in subsection i represents a pair of segments that are candidates for overlapping. Now the overlap must be verified and if found to be true, resolved. This first operation of the calculation inspects the two segments’ levels, and determines if any vertex from one segment lies within the bounding polygon of the other. If they are on the same vertical level and there is a vertex within the polygon of the other segment, the segments are retained as possibly overlapping, otherwise the pair is marked as non-overlapping.

Next, for the possibly overlapping pairs each edge from the segments are extracted. If any intersection of the longitudinal edges occur between the segments then a vertex is added to both segments at that point of intersection. The added vertex allows later steps to move other, overlapping vertices while still locking the shape on the other, non-overlapping side of segment. The next operation inspects each vertex from both segments, to determine if that vertex lies within the bounding polygon of the other segment. When suitable vertices are found, the following process executes independently on each vertex. Using the bounding box, the lateral edge which the vertex is a member of is identified. For simplicity this edge is referred to as 훼. The opposite vertex on 훼 is called the far point.

The next operation identities if the two segments are parallel, or perpendicular in heading direction. If parallel, the next operation uses the other segments longitudinal edges, if perpendicular it uses the other segments lateral edges. This operation finds the other segment’s respective edge (which is lateral or longitudinal depending upon the previous parallel vs perpendicular finding), furthest from the far point. Figure D.24a shows this edge referred to as the far edge as a heavy dashed line. Next a line along 훼 intersects with the far edge, shown as an upwards triangle. The midpoint between the intersection and the far point, Figure D.24b shown as the downward triangle, becomes the new location of the subject vertex. By using the midpoint of the two farthest distances, the space is split evenly between the two segments.

244 a) b)

Figure D.24, Part a, The far edge of the other segment shown as a dashed dark line over a grey line, and the point where the line made from α intersects the far edge. Part b, The calculated midpoint, downward triangle, between the far point, diamond, and the intersection with the far edge, upwards triangle.

While the vertex of the smaller segment can be moved to split the distance, the larger segment has no vertex at that location. A vertex is simply added to the larger segment, at the midpoint of the two farthest distances found previously. Figure D.25a shows the results of this moving and adding the vertices. When all vertices have been analyzed, the result is Figure D.25b. Here there is no longer any overlap. At this time, the polygons are again cleaned according to the process outlined in Step 10 Part A.iv.

a) b)

Figure D.25, Part a, Resulting bounding polynomials from the previous steps. The smaller segment has had a vertex moved, the larger segment had a vertex added. Part b, the result from the previous example after processing all overlapping vertices.

245 D.2.11. Verification and Manual Correction

There are a number of circumstances where Step 10 fails to produce results. One specific instance is when there are densely packed decision points with shallow angles. Another instance is when a freeway diverges (or merges) in more than two directions in close proximities. An example of this situation includes a major interchange, for example, the I-70, I-71, and SR-315 interchange. In these instances there is significant overlap between more than two segments. It is impossible to foresee all possible conflicts and thus, one should not expect to be able to handle everything automatically. For these complex scenarios this process relies on human intervention to validate the results clean any problem areas. A graphical tool was created to assist in the manual correction. This tool takes a map, or subset thereof as input, and provides the user the framework for modifying that map. The tool was used to remedy specific errors along the IPV’s standard tours, which includes two locations. The first is the junction of I-70, I-71, and SR-315 west of the CBD. The three way split of SR-315 caused the process to output unusably small polygons with far too many sides. The second was at the I-70 / I-71 split east of the CBD. At this location, the numerous junctions caused small, oddly shaped polygons that needed to be adjusted and Figure D.57 presents the results at this split. The segments at levels different from zero are shown as lighter shades of grey, with thicker lines.

Figure D.26, Results of 2D conversion at a complex junction. The location is the I-70/I-71 split east of the CBD.

246 D.3. Limitations and Future Improvements The approach for map conversion to two dimensions and then higher has achieved multiple goals. First is the goal of creating a two dimensions and greater map representation from a freely available 1D map dataset. The relevant locations that the IPV travels or observes are uniquely represented. An additional goal achieved is that the map uses computationally efficient, and meaningful segments that are directed in the flow of traffic, aiding analysis. These advances are an important step forward and enable the analysis of Chapters 6 and 7. That said, there is still room for improvement. Summarizing the outstanding issues:

1) The process implemented fails on complex areas and requires human input. Further research should improve the automated processing in these complex areas, possibly by better defining ‘correct’, within the context 1D to 2D conversion. 2) The current handling of freeway diverges and merges generates decision regions which are overly broad. A proper map should capture the gore points and merging sections, but should limit decision regions to those locations on a road, including specific lanes, where a decision is actually present. Additionally, because of the shallow angle a ramp typically makes with the freeway, the overlapping area and estimated decision region can be quite large. The current process results in a somewhat nonsensical assessment by extending the decision region out a much greater distance than the gore point. The current assumption of the ramp width being as large as the region width generates complications, however it is required to result in properly decomposed freeways with the current OSM fidelity. 3) Better source maps would be a huge benefit, possibly being specifically targeted towards 2D expansion. The OSM data has several incorrect elements including ways at the wrong level, and many consequences to particular user choices when digitizing. Some of these user choices result in the over representation of a road as when a bidirectional street is digitized as two single direction streets. Also, the type of the road has no actual correlation with expected road size. A map targeted towards 2D expansion would avoid short segments near intersections, would treat road types consistently and would have higher metadata outlining the road configuration such as estimated width, number of lanes, viable movements, intersection boundaries, and altitudes. Still, the tools necessary to work with the OSM data would still be necessary even for a better source map since errors will undoubted still arise and small changes in the road geometry occur all the time (e.g., road

247 construction or pavement striping) such that even the best map will quickly begin to diverge in small ways from the ever evolving reality on the ground. 4) More accurate road width estimates are needed, and these could potentially come from LiDAR returns or other perception sensors as Chapter 7 will discuss. Jersey barriers and curbs are fairly easy to detect, while flat shoulders or lightly angled ditches are not. The approach in this work was to obtain a refined map, and then use that map to generate higher level of data about the roadway. A more iterative process may be appropriate, where the perception data is fed into the map refinement step, and then the refined map is used to further process perception data. 5) The altitude estimate could be improved by finding the median altitude along the route of travel, not just at map nodes. One way of achieving this finer resolution would be to break each segment into bins of finite size in the longitudinal direction. Each pass over the bin would be aggregated, and when all passes are observed, the median altitude of each bin could be found. For an even more detailed approach, the process could be performed after lane identification, with each lane having an altitude estimate. Such an approach could reduce the altitude effect of the road crown, and then further used for estimating IPV roll.

248 D.4. Works Cited in Appendix D [1] Elfes, A., “Using Occupancy Grids for Mobile Robot Perception and Navigation,” Computer, vol. 22, no. 6, pp. 46–57, 1989. [2] Pavlenko, A., “Mapnik, http://mapnik.org/.” 2016. [3] Craig, J., “Map Data for ADAS,” in Handbook of Intelligent Vehicles, A. Eskandarian, Ed. London: Springer London, 2012, pp. 881–892. [4] Bétaille, D., Peyret, F., and Voyer, M., “Applying Standard Digital Map Data in Map- aided, Lane-level GNSS Location,” J. Navig., vol. 68, no. 5, pp. 827–847, 2015. [5] “SAE J2735 -201603.” SAE International, 2016. [6] Song, W., Keller, J. M., Haithcoat, T. L., and Davis, C. H., “Automated geospatial conflation of vector road maps to high resolution imagery,” IEEE Trans. Image Process., vol. 18, no. 2, pp. 388–400, 2009. [7] Lu, L., Zhang, Y., Tao, P., Zhang, Z., and Zhang, Y., “Estimation of Transformation Parameters Between Centre-Line Vector Road Maps and High Resolution Satellite Images,” Photogramm. Rec., vol. 28, no. 142, pp. 130–144, 2013. [8] Chen, C. C., Knoblock, C. A., and Shahabi, C., “Automatically and accurately conflating raster maps with orthoimagery,” Geoinformatica, vol. 12, no. 3, pp. 377–410, 2008. [9] Guo, T. G. T., Iwamura, K., and Koga, M., “Towards high accuracy road maps generation from massive GPS Traces data,” in IEEE International Geoscience and Remote Sensing Symposium, 2007, pp. 667–670. [10] Rogers, S., “Creating and evaluating highly accurate maps with probe vehicles,” in Intelligent Transportation Systems Proceedings, 2000, no. 650, pp. 125–130. [11] Schroedl, S., Wagstaff, K., Rogers, S., Langley, P., and Wilson, C., “Mining GPS Traces for Map Refinement,” Data Min. Knowl. Discov., vol. 9, pp. 59–87, 2004. [12] Guan, H., Li, J., Yu, Y., Wang, C., Chapman, M., and Yang, B., “Using mobile laser scanning data for automated extraction of road markings,” ISPRS J. Photogramm. Remote Sens., vol. 87, pp. 93–107, 2014. [13] Guan, H., Li, J., Yu, Y., Ji, Z., and Wang, C., “Using Mobile LiDAR Data for Rapidly Updating Road Markings,” IEEE Trans. Intell. Transp. Syst., vol. 16, no. 5, pp. 2457– 2466, 2015. [14] Jabbour, M., Cherfaoui, V., and Bonnifait, P., “Management of landmarks in a GIS for an enhanced localisation in urban areas,” in Intelligent Vehicles Symposium, 2006 IEEE, 2006, pp. 50–57.

249 [15] Jabbour, M., and Bonnifait, P., “Global Localization Robust to GPS Outages using a Vertical Ladar,” in 9th International Conference on Control Automation Robotics and Vision, 2006, pp. 1–6. [16] Guo, C., Kidono, K., Meguro, J., Kojima, Y., Ogawa, M., and Naito, T., “A Low-Cost Solution for Automatic Lane-Level Map Generation Using Conventional In-Car Sensors,” IEEE Trans. Intell. Transp. Syst., vol. 17, no. 8, pp. 2355–2366, 2016. [17] Konrad, M., Nuss, D., and Dietmayer, K., “Localization in Digital Maps for Road Course Estimation using Grid Maps,” in Intelligent Vehicles Symposium, 2012, pp. 87–92. [18] Toth, C., Özgüner, U., and Brzezinska, D., “Moving Toward Real-Time Mobile Mapping : Autonomous Vehicle Navigation,” in The 5th International Symposium on Mobile Mapping Technology, 2007, p. 6. [19] Zhang, T., Yang, D., Li, T., Li, K., and Lian, X., “An improved virtual intersection model for vehicle navigation at intersections,” Transp. Res. Part C Emerg. Technol., vol. 19, pp. 413–423, 2011. [20] Wender, S., Weiss, T., Dietmayer, K., and Fürstenberg, K., “Object classification exploiting high level maps of intersections,” in Advanced Microsystems for Automotive Applications 2006, J. Valldorf and W. Gessner, Eds. Berlin: Springer Berlin Heidelberg, 2006, pp. 187–203. [21] Toledo-Moreo, R., and Zamora-Izquierdo, M. A., “Collision avoidance support in roads with lateral and longitudinal maneuver prediction by fusing GPS/IMU and digital maps,” Tramsportation Res. Part C Emerg. Technol., vol. 18, pp. 611–625, Aug. 2010. [22] Bétaille, D., and Toledo-Moreo, R., “Creating enhanced maps for lane-level vehicle navigation,” IEEE Trans. Intell. Transp. Syst., vol. 11, no. 4, pp. 786–798, 2010. [23] Bosse, M., Newman, P., Leonard, J., and Teller, S., “Simultaneous Localization and Map Building in Large-Scale Cyclic Environments Using the Atlas Framework,” Int. J. Rob. Res., vol. 23, no. 12, pp. 1113–1139, Dec. 2004. [24] Schindler, A., Maier, G., and Janda, F., “Generation of High Precision Digital Maps using Circular Arc Splines,” in IEEE Intelligent Vehicles Symposium (IV), 2012, pp. 246–251. [25] Khan, S., Dometios, A., Verginis, C., Tzafestas, C., Wollherr, D., and Buss, M., “RMAP: A rectangular cuboid approximation framework for 3D environment mapping,” Auton. Robots, vol. 37, no. 3, pp. 261–277, 2014. [26] Wurm, K. M., Hornung, A., Bennewitz, M., Stachniss, C., and Burgard, W., “OctoMap: A probabilistic, flexible, and compact 3D map representation for robotic systems,” in Proceedings of the ICRA 2010 workshop on Best Practice in 3D Perception and Modeling for Mobile Manipulation, 2010. [27] “Open Street Map.” [Online]. Available: http://www.openstreetmap.org/. [Accessed: 01- Jan-2016].

250

[28] Legland, D., “geom2d, Matlab Program, http://www.mathworks.com/matlabcentral/fileexchange/7844-geom2d.” 2015. [29] AASHTO, “A Policy on Design Standards Interstate System,” 2005.

251

Appendix E: Map Matching

This section develops the map matching process for the instrumented probe vehicle (IPV) with the objective to relate the location of the IPV to human interpretable benchmarks, associate the IPV with a linear reference system, and to create a linkage to a 1D to 2D map conversion discussed in Chapter 3. These elements are critical for subsequent applications of the IPV data including perception augmented localization and road boundary detection. Map matching in the context of this work is not used to forcibly move the IPV’s estimated location to that of the map, rather it finds the map element that the IPV is most likely occupying. The map matching output ultimately generates a textual route, a sequence of points on the map passed, as well as lateral and longitudinal displacement for each time sample from a matched map element.

This appendix opens with the prerequisite background information, including the specifics of the mapping data source and a literature review. Next, the process of non-causal map matching is developed. The process is then applied and the results are manually inspected for validity. Finally, future improvements are presented.

E.1. Background

Human interpretable location information is very important for characterizing vehicle movement along some route through a road network. While a point of interest has cartographical coordinates, e.g., 40°01'53.5"N, 82°59'41.4"W, it is often important to express location and movement in a more human interpretable format, e.g., "I-71 Northbound upstream of the North Broadway exit", or "I- 71 northbound at milepost 104." Using the map matched IPV data a researcher can identify a point of interest on the network, and filter for crossings of that point. To this effect, a digital map and a method to relate the IPV to that map are required. The method of relating the IPV to the map is referred to as a map matching process, the output of which is a route including each map element traversed in numerical and human readable form.

252

E.1.1. Open Street Map

The digital map used for map matching is sourced from the Open Street Map (OSM) project [1]. The OSM project provides the general public with freely available maps of road networks across the globe. Users of the maps also contribute changes and updates back into the database. For the purposes of analyzing the IPV dataset, the OSM project maps are an effective data source for the map matching process because the data are freely shareable, easily converted into a form consumable by common software analysis tools, and allows for additions to the data (e.g., the CAR parking lot, signal locations, etc.) to be pushed back into the map database.

The map matching process in this work utilizes the OSM data to generate a list of numbered points that relate directly to the OSM identifiers, and text with two verbosity levels, a lower verbosity that only prints road names and cardinal direction upon road changes, and a high verbosity mode that identifies each downstream intersection or ramp.

A. OSM Source Data and Format

In the Columbus, Ohio area where the IPV traveled, the OSM data was originally derived from the US Census Bureau’s Topologically Integrated Geographic Encoding and Referencing System (TIGER) [2] in 2005. After the importation of the TIGER data, OSM contributors have refined the map data and contributed these updates back into the public database. For the purpose of the IPV analysis the OSM data were compared to aerial imagery to verify locational accuracy (within the accuracy of the imagery itself), and augmented with traffic signal information and the service roads at CAR where the IPV parks. Due to the way roads are digitized, the OSM data are typically more accurate in location than in heading. The data also includes proposed roads and historical tagging of changes, thus as the road network changes, the map can be suitably changed. The result is a freely available map presented in a manageable form, with confirmed accuracy, and that captures the temporal evolution of the road network over the lifespan of the IPV data collection.

The OSM data is made up of three primary elements: nodes, ways, and relations;

253

 A node is a point element that has a minimum of three attributes: Longitude, Latitude, and ID, where ID is the abbreviation for identifier. Other attributes are optional, but should follow the OSM format [3].  Ways describe connections of nodes and are the basis of roads, boundaries, trails, etc. Each way has, at minimum, an ID and a list of nodes that make up the way. The OSM instructions [3] describe additional way attributes as well.  Relations are collections of nodes and/or ways that represent trails, rivers, boundaries, complete roadways, etc. The map matching process is concerned with nodes that represent points on roads and ways that represent the path along the roads, as such, relations are not considered further in this work.

Nodes, being a point, have no dimensionality, while ways have a single dimension. The single dimension representation of ways leads to a number of ambiguities that are addressed in Chapter 3 and Appendix D.

B. Conversion of OSM data structures to Matlab

OSM natively stores the map data in an extensible markup language (XML) format. Small areas can be exported directly from the openstreetmap.org website. Larger areas can be downloaded via an API or from one of the several mirrors that provide large map areas. One mirror site [4] has map files broken down by state and are updated from the main database weekly. This site was used to obtain the Ohio map data on December 28th, 2011, and the results herein utilize this dataset. These large area files are distributed in the protobuf binary format (PBF), which compresses the XML data significantly. Another, more intensive option is to use an OSM editing program such as ‘JOSM’ [5] to manually download many small areas and combine the small areas into a single OSM XML file. The editing program method is useful if one is updating the map to add information useful to the IPV, such as the number of lanes and signals, with the intent to push back changes into the main database.

The method followed by this work was to update the OSM data along the IPV route to include desired information, contribute them back to the OSM project, and then download the entire Ohio map once the updated map was served by the mirror site [4]. After downloading the Ohio map in the protobuf format, the five steps below convert that format into one directly usable in Matlab:

1. Trim the file to the area on the map observed by the IPV tours. 2. Convert from PBF format to OSM’s native XML format. 254

3. Remove all nodes and ways that are not roads, e.g., city boundaries, points of interest, waterways. 4. Remove excess tags and descriptors that are not relevant to processing the IPV data, e.g., author of changes. 5. Convert from XML to native Matlab structures for faster and more stable processing.

Steps 1 and 2 are assisted by a program called Osmconvert [6], which takes a bounding box as its arguments, trims the PBF formatted data to that bounding box, and converts the resulting data into XML. Step 3 is performed by a program called Osmosis [7]. Osmosis is passed keys and values that it removes from the XML file. This step is critical because the XML parser built into the Matlab version tested, 2010a, will fail due to the size and structure of the unfiltered XML file. Processing via Osmosis has the added benefit that it substantially reduces the size of and simplifies the XML file. Step 4 is implemented as a text processing function within Matlab using regular expressions. This step further eliminates information not used with processing the IPV data, such as the author and version tracking record for the elements, again this step is necessary for Matlab XML parser stability. The final step is executed through a custom Matlab function and generates the following structures for nodes, presented in Table E.1; and ways, presented in Table E.2.

id unique node identification number from OSM lat Latitude in degrees lon Longitude in degrees type integer representing type as follows: 0 normal 1 traffic signal 2 Highway junction (ramp) 3 Stop 4 Mini Roundabout 5 turning circle 6 Railway Level Crossing source integer of source of node 0 Open street map 1 Refined from IPV (Not yet implemented) ref text name or reference if applicable, often used for junction name name of exit if applicable, e.g., “Henderson Rd” Table E.1, Node structure

255

id unique identification number from OSM type integer representing the type as follows: Value Name Description 1 Motorway A controlled access divided highway, e.g., U.S. interstates 2 Trunk Divided highways with limited access, at grade intersections 3 Primary Uncontrolled access, inter-community/city traffic primary link, including almost all US highways that are not types 1 or 2 4 Secondary State routes, urban arterials of 2 or more lanes 5 Tertiary Corporate driveways accessed through signals 6 Residential Primarily serve as access to homes, speed limit 25 mph 7 Service Access road to individual business, parking lots 8 Unclassified Highway in poor repair 9 Track unpaved 101 Motorway Link Ramp to/from Motorway 102 Trunk Link Ramp to/from Trunk road 103 Primary Link Ramp to/from Primary road 104 Secondary Link Ramp to/from secondary road 105 Tertiary Link Ramp to/from tertiary road 999 unsuitable Routes unsuitable for auto, e.g., footways, paths, and cycleways ref reference, e.g., I-70, multiples separated by ';' name name of route (often unused) nodes[] list of the nodes that make up the way speedlimit speed limit (m/s) lanes number of lanes of the road, per direction unless the road is uni-directional layer Integer representation relative vertical level of the way in a sense of above or below other specific planes Value Description 0 ground -1, -2, -3 below ground, smaller is lower 1, 2, 3 above ground, larger is higher bridge denotes if this way is on a bridge oneway True or false value representing if the way is unidirectional (true) or bidirectional (false) Table E.2, Way Structure

Once parsed into Matlab structures the map data is stored in a Matlab file for efficient loading. The road network can then be plotted by iterating through each way, extracting the way’s nodes, and 256

plotting piecewise continuous line segments using the latitude and longitude associated with each node as a point upon the line. Figure E.1 presents the output of the process for the entirety of OSM data used, while Figure E.2, presents specific details. A total of 90,586 nodes and 12,773 ways make up the final map.

Figure E.1, OSM data for Columbus Ohio, covering the area traversed by the IPV, after filtering and conversion to Matlab structures. The ways are represented in grayscale by type, with most significant roads being darkest. The origin of the coordinate system is set to CAR.

a) b)

Figure E.2, Part a, OSM data detailing the area containing the Central Business District. This detail level allows individual roads to be observed. The origin of the coordinate system is set to CAR. Part b, OSM data detailing the area near CAR at 0 m Easting and 0 m Northing. Note that the detail often extends to parking lots, e.g., one around 500 m Easting, 300 m Northing. 257

It is simple to identify the nodes contained in a specific way owing to the list of nodes stored within a way; however, the reverse process of identifying the ways to which a specific node belongs, is not. The map matching process frequently requires ways from a node (way-to-node) identification such as when finding a way given a location of interest. This requirement is due to nodes, not ways, relating directly to a location. To expedite this identification, after the final Matlab format map file is completed, the process creates a reverse lookup table that relates each node to the ways in which it participates. For storage simplicity, this table assumes that each node participates in at least one1 and no more than five ways.

C. Nomenclature

The OSM data defines nodes and ways, where the node is a single point and the way is a collection of nodes that together generate piecewise linear representation of a road. Frequently the literature will use the term arc in place of way, here the term way is used to maintain consistency with the source dataset. For clarity, this appendix defines an additional element, the segment, where a segment is the connection between two sequential nodes within a way, e.g., as denoted in Figure E.3. The map matching process associates the IPV with a single segment at each time step, which is a member of a way. Figure E.4 shows two measures that are derived in reference to the given map segment: the lateral deviation and longitudinal distance, described as follows. The lateral deviation is the shortest distance from an object (e.g., IPV or other vehicle) to the line drawn by the segment, i.e., the object’s deviation from the centerline. Longitudinal distance first requires the projection of the element onto the segment between the two nodes. Then the longitudinal distance is defined to be the distance from the node listed first within the way to object’s projection onto the segment. Note that this distance can be greater than the length of the segment, as well as negative if the object is outside of the segment.

Figure E.3, A hypothetical way to illustrate the relationships between various map elements. In this case the single way consists of four nodes connected by three segments. Nodes are shown as dots and their interconnection

1 Nodes not associated with at least one way are removed. 258

shown as line segments connecting the dots. The way comprises the sequential connection of the four nodes while each segment represents a sequential connection of two nodes.

Figure E.4, Visualization of an object's point in space, represented as a pentagon, with the two parameters to denote the position relative to a given segment between nodes a and b. Lateral deviation is the horizontal displacement from the a-b line, longitudinal distance is the distance along the segment from node a to the object.

E.1.2. Literature Review

Since the first availability of GNSS as a data source, researchers and practitioners have put extensive work into associating ground vehicles with a digital map via GNSS data, i.e., map matching. This body of knowledge is too broad to be exhaustively reviewed herein; however a good review can be found in Quddus et al. [8] which contains a brief but informative listing of the various algorithms developed since the mid 1990’s when GNSS began commercial availability. The same authors then update their preceding survey with modern results [9]. Over time, many of the constraints of map matching have been relieved, and once critical issues are now unnoticed. For example, in White et al. [10] storage efficiency was particularly relevant at the advent of hand-held and in-vehicle devices performing personal navigation assistance, but now such data stores cost little and can be accessed rapidly. Readers should consider such characteristics when analyzing historical works. This review will start with the common approaches to map matching then introduce the concept of simultaneous localization and mapping (SLAM) and integrity measures for map matching, and finally discuss non-causal map matching algorithms.

Velaga et al. [11] divided map matching into four types: geometric, topological, probabilistic, and advanced. A concise definition of each follows. Geometric methods are the earliest and use only geometry to associate a vehicle with the closest road. Topological methods use past knowledge of the vehicle state (i.e., location and heading) and road connectivity as defined within the map to determine the road being traveled. Probabilistic methods associate a vehicle to a road based upon likelihood measures that are generated using the current and past vehicle state, the map, and the

259

expected error in both the vehicle state and map. Advanced methods use approaches such as Kalman filters and neural networks to register the current and past vehicle state with possible trajectories through the map.

As previously stated, the earliest methods for GNSS map matching were geometric. These methods use distance algorithms (called range queries) between the GNSS position estimate and the nodes, segments, or arcs of the digital map. At the advent of digital mapping, processing and storage efficiency were the major performance concern for map matching, and Hoel and Samet [12] discussed how to store the line segments and process queries. These limitations necessitated such a simple, but error prone method. White et al. [10] found that range queries were very sensitive to how the road network was digitized. Thus, the geometric methods are insufficient for modern efforts.

White et al. [10] proposed three early topological methods to remediate the limitations of the geometric methods. These methods are, 1) the inclusion of heading, 2) road connectivity, and 3) curve to curve matching. The inclusion of heading allows for road selection by direction of travel, which is particularly useful at junctions, intersections, and divided roadways. Road connectivity uses knowledge of a previously associated road to limit the search space and disambiguate nearby roads. Additional work by Greenfeld [13] considered a topological approach to matching GPS observations to a digital map. Limiting the search space serves to reduce computation time. Disambiguation allows for proper road selection when two roads are nearby but inaccessible to each other, e.g., an interstate running parallel to a service road. Curve matching uses historical data to use the shape of the vehicle trajectory to select the roadway that best matches that shape.

Probabilistic methods consider both the road network and the vehicle location to be probability distributions. This process allows the most likely path amongst a set of roads to be selected using the specific criteria modeled. Criteria can include the type of the road, connectivity, heading, etc. Ochieng et al. [14] developed an early probabilistic technique that performs a prediction step followed by a confirmation step. Both Zhang et al. [15] and Bierlaire et al. [16] provide examples of a probabilistic method. Here both sets of authors outline a map matching framework that mathematically describes the data in probability distributions and provides objective functions. Zhang et al. [15] considers each road to be a distribution modeled by normal curves, effectively giving width to map data consisting of a single dimension. Bierlaire et al. [16] take a different approach, focusing on generating candidate paths and then identifying the most likely path.

260

Advanced algorithms are any method (or amalgamation of multiple methods) that does not fit in the preceding three categories. These algorithms often apply complex mathematical constructs, such as fuzzy logic or neural networks, causing both a wide variety and an overall lack of specific focus on their implementation. For brevity, this section only reviews two advanced algorithms. First, Najjar and Bonnifait [17] use locale (proximity) and heading in a fusion algorithm with belief theory. The outputs are a fuzzy set of four beliefs for the presence on a roadway: yes, no, perhaps, and conflict. This approach is designed to tolerate uncertainty, including that of the map database. Second, Gustafsson et al. [18] implement a dynamic map matching function that nonlinearly combines a motion model, sensor model, and road network model. Here a prediction-correction sequence is employed that uses the motion model to predict the next location and then the measurement and sensor model to update the location. The authors then convert a raster road map (i.e., a map stored as a picture rather than elements with location) into a likelihood function by creating a binary map from the source map, filtering out the text on the road, and then low pass filtering the result. Gustafsson et al. then continues to show how Kalman filters, particle filters, and finite space models can be used to perform the map matching method, covering many of the advanced algorithm constructs.

The preceding methods all consider the process of map matching to be separate from the process of localization. The SLAM method is often used in robotics with perception sensors where there is no pre-existing map; however it is conceivable to do so with stored maps that are being revisited. Some particular methods are discussed by Hasberg et al. [19], and Jiménez et al. [20]. Advancing SLAM to support the type of data available to the IPV could assist in identifying subtle GNSS errors, and further reduce the likelihood of incorrect map associations.

A key aspect for a number of transportation research efforts is the quality of a map association. If a researcher is studying a particular roadway, that researcher should be aware of the likelihood that the datasets are not actually from that roadway. To this effect, Quddus et al. [21] obtains an integrity measure for map matching results. These authors define integrity as the ‘level of trust that can be placed in the information provided by the map-matching algorithm’ and divide integrity into three factors: uncertainty with the positioning solution, the ability to identify the correct link, and the ability to accurately estimate the vehicle location. Jabbour et al. [22] develop a multi-hypothesis approach to managing integrity. Here the authors track multiple potential roadways and only select a particular roadway when their confidence in a particular selection becomes sufficient. Similar to

261

the preceding work, the confidence value is derived from the uncertainties in the map and location data.

Most map matching efforts are designed for causal systems; however, there are a few non-causal methods in the literature. Miwa et al. [23] use historical low frequency probe vehicle data, in this case taxis. The historical taxi data contains locations sampled at 20 to 90 s periods. Miwa et al. develop a route closure method that estimates the route taken between two matched locations with a cost factor that prioritizes primary roads over secondary roads. Another work focusing on taxi data by Hunter et al. [24] develops an observation and driver model and combines them by conditional random field to determine the most probably trajectories. Li et al. [25] also work with similar macro, historical data; however, their data is higher frequency than that of Miwa [23]. With this high frequency data, Li et al. apply a spatial-linear clustering algorithm that groups GNSS location reports into rectangles and associates those rectangles to the map while discarding outliers. To solve for missing GNSS data, a route closure method was used that takes the shortest path during GNSS outages. Bierlaire et al. [16] focus exclusively on the route re-creation problem by generating candidate paths and selecting the one with the highest likelihood. Even though the number of non- causal efforts is limited, it is important to remember that causal system results can still apply to the non-causal systems; the causal systems simply fail to realize the benefit of the extra information from future time steps.

E.2. Non-Causal Map Matching Process

To establish the IPV as-driven routes, and to associate the IPV to a linear reference system, this section develops a non-causal map matching process. Being non-causal, this process leverages the availability of the entire history of individual IPV tours, rather than utilizing only data that was obtained prior to the current sample. The key outcome of using non-causal data is the ability to apply the probabilistic concepts of Ochieng et al. [14] in a unique way by performing a prediction and confirmation step that only accepts highly reliable estimates, followed by a route closure to fill any gaps between those estimates. The estimates form a probabilistic total weight score method, considering road connectivity, turn restrictions, vehicle and road heading, and the vehicle to road distance.

Figure E.5 shows an overview of the process that begins with a bootstrapping step that searches for the first time step with a reliable association with the map. Then a two part iterative step where the first part is a prediction of a reliable map association and the second part a confirmation of that map

262

association. The two step prediction-confirmation algorithm reduces computational complexity within the iterative steps and decreases sensitivity to map representation. The prediction step uses rough calculations to propagate analysis to locations that are likely to associated with confidence, while the confirmation step uses more precise calculations to determine and evaluate the association. The prediction step passes an unambiguous candidate way to the confirmation step, while the confirmation step passes a precise association and decision point (defined in E.2.1) to the prediction step. The criteria of the confirmation step may result in an ambiguous route, where there is more than one path between two reliable map associations. In this case a route closure function completes the route by selecting the appropriate path, removing the ambiguity. These four steps are described in Sections E.2.2 through E.2.5. There are two prerequisites definitions necessary to support the four steps that are included in Section E.2.1.

Figure E.5, Overall map of the association process.

E.2.1. Prerequisite Definitions

The map matching process defines two sets of terms. The first are the specific measures used to evaluate each potential IPV to map association, and the second is the concept of a decision point.

A. Measures

The map association process uses three measures to create and confirm an association with the map; locale, directionality, and connectivity. These three measures are inspired by those of the third algorithm in White et al. [10] that has quality of providing a topological approach with very little complexity. Locale is the shortest distance of the IPV to the segment of interest and thus a measure

263

of proximity. The IPV may not fall within the longitudinal bounds of the segment (e.g., one cannot draw a line from the IPV to the segment that is perpendicular to the segment), which differentiates this measure from the lateral deviation defined earlier. This measure identifies segments that are close to the IPV. Directionality is the compass heading of the IPV in comparison to the compass heading of the segment, controlling appropriately for roads with both one and two directions of travel. This measure identifies segments that allow travel in the direction of the IPV. Connectivity is the ability of an IPV constrained to the mapped roadway and located on an identified segment, to reach a different segment, within a constrained distance traveled along the path between the segments. Hence connectivity is a topological measure. The distance constraint, 퐶푚푎푥, is used to specify the maximum distance to the next segment, allowing the algorithm to ignore all segments beyond this distance. In other words, 퐶푚푎푥 needs to be long enough so that it never excludes the true segment for the given time step, while being short enough to ensure that given knowledge of the recent observations there is only one feasible route, e.g., opposing directions of a freeway have high proximity, but have no connectivity within 퐶푚푎푥.

It is important to properly choose 퐶푚푎푥 when examining connectivity, otherwise extremely inefficient and nonsensical routes are considered. For calculation efficiency, the method proposed herein simplifies connectivity to the determination if a node can be reached from a different node by traversing no more than a maximum number of ways. This approach to establishing connectivity chooses 퐶푚푎푥 as an order of connectivity rather than a physical distance. Order uses way traversals rather than segment traversals because ways are logical groupings whereas segments are physical. For example, a way on a straight road between two intersections needs to contain only two segments to describe shape, whereas a way on a curve traveling the same distance between two intersections will contain many segments to describe shape. Using order rather than distance reduces computational burden, because calculating distance along a route requires the finding of connections of a route as well. Calculating this distance also necessitates the calculation of length of each segment. Using order reduces this process to just finding connections, and thus a search for equalities in the node IDs held within each way.

The definition of connectivity order follows. First order connectivity is a test if the way containing the first node (way A) shares a node with the way containing the second node (way B). Connectivity is first order if way A meets with way B. A second order connectivity is a test if way A shares a node with an additional way (way C), and if way B shares a node with C. Connectivity is second order if way A meets with way C and way B meets with way C. Finally, a third order connectivity

264

is a test if way A shares a node with way C, and C shares a node with a fourth way (way D), while way B shares a node with a fifth way (way E), which then shares a node with way D. Connectivity is third order when way A meets with way C, way B meets with way E, and both way C and way E meet with way D. Higher orders can be described following the same pattern. These measures presume some consistency in the map digitization process with respect to defining ways. While the OSM data’s way definitions are not entirely consistent in the region of the IPV dataset, using a way based connectivity order rather than distance traveled has been found sufficient to identify reasonable connections without creating unreasonable computation demands. Execution of the map matching process verifies this sufficiency since it will fail to resolve a route when connectivity is not identified. Figure E.6 is an example showing first through third order connectivity for a single way, the CAR access road.

Figure E.6, Connectivity example to the third order, starting at the CAR access road. Zeroth order, the CAR access road is red, first order is blue, second order is magenta, and third order is green. The width of the lines descends with increasing order.

B. Decision Point

The map matching process uses decision points to expedite non-causal data processing, where a decision point is the next downstream node where the IPV has a choice of path. On surface streets, a decision point is an intersection while on freeways a decision point is an off-ramp (including freeway to freeway connectors). As previously described in Section E.1.1, the OSM data use nodes to define both intersections and shapes, and ways to define logical collections of nodes. The way definitions are not constrained to being between intersections, rather they can terminate at any node

265

that is shared with only one other way, hence there is no choice of path at the node that terminates the way. Additionally, a way may contain a node that intersects with additional way(s), and that node is not at the extremity of the way. Finally, the meeting point of an on-ramp and a freeway does not define a decision point because there is no choice in path at their confluence, however the map may use up to three ways to represent such a configuration. Due to these factors, one cannot just consider a way as a linkage between decision points. The identification and usage of decision points allow the map matching process to presume a route from the currently associated map segment to the decision point. This presumption of route greatly reduces the number of computations required, likewise reducing calculation time. The identification of the decision points and their precise usage in expediting the map matching process is detailed in Section E.2.2.

E.2.2. Bootstrapping

The prediction step of the algorithm cannot execute at the initial time step of a tour because it relies on knowledge of the current way, and that initial way association is unavailable. Therefore a bootstrapping process must execute to identify the initial way. Bootstrapping searches for a way association without regard to connectivity through the use of both locale and heading to establish the current way and segment within that way.

Bootstrapping iteratively seeks a segment that passes a locale and heading threshold. If a sufficient segment is not found, the time step is incremented by one second and the process repeated. When a segment is identified, the route is propagated backwards to the initial time step, just as is done forward in time. The method presents drawbacks if one were to bootstrap in a dense road area. Since the method chooses the closest segment without consideration if that segment has high likelihood (e.g., a small service road is considered equally to a freeway), it could easily result in a suboptimal segment association when multiple segments are within locale tolerance. The IPV initiates each run from the CAR parking lot or the Campus Area Bus System (CABS) depot on Hess Road, both of which unambiguously resolve to the proper segment, rendering this limitation moot for the IPV dataset. A more general algorithm would consider a set of samples and include a topological evaluation.

Figure E.9a presents the initial location for the September 9th, 2009 exemplar dataset. The IPV is in its initial parking location, 57 m away from the nearest segment. The IPV then moves towards the CAR access road. The time step repetitively incremented and the locale calculated. Once the locale is sufficiently close to the nearest segment the bootstrapping process ends. This work uses

266

35 m as the threshold indicated by the 35 m radius circle around the IPV’s location in Figure E.9b. This figure shows a thick, red, segment belonging to the CAR access road, has fallen within the circle and associates the IPV to that segment. The figure captures the downstream node as a black ‘*’. The downstream node represents the end of the segment in the direction of travel of the IPV with respect to the segment. The black diamond represents the next decision point. Note the map considers that the way located at 50 m Easting, 40 m Northing is unidirectional from left to right, and thus the intersection of that way with the CAR access road does not represent a decision point. a) b)

Figure E.7, Part a, map association bootstrapping, initial IPV location shown with a '*', third order way connectivity to nearby nodes with 500 m limit show in blue. Part b, Bootstrapped location, first segment within tolerance. IPV is a red ‘*’, the downstream node is a black ‘*’, the current segment is red, the nearby ways are blue, and the downstream decision point is represented by a diamond.

Performing the calculations to arrive at this conclusion are conceptually simple, but have nuanced execution. Since the definition of ways (and therefore segments) do not directly contain location information the process performs several steps to identify nearby ways and then segments. The first step identifies all nodes within 500 m of the IPV location. Using the reverse lookup table described in Section E.1.1., the process identifies the ways associated with those nodes. The next step extracts each segment within those ways and finds the point (IPV location) to line (segment) distances. It is these distances the process sorts to identify suitable locale. The point to line distance calculation would take far too much time per analysis period if the process calculates on all ways rather than only the ways deemed close.

267

E.2.3. Prediction Step

The prediction step’s goal is to seek to the first unambiguous location after a decision point. It does not determine the association at that time point, only that an association should be possible. The prediction step uses a probabilistic measure to assess the likelihood that the IPV associates with each segment of interest. Then, the prediction step determines if a particular segment’s likelihood is considerably higher than all other segments’. Only if a segment’s absolute likelihood exceeds a threshold and considerably differentiates from other likelihoods does the prediction phase identify the location as unambiguous and passes the time step and location to the confirmation step. The prediction step consists of four parts discussed in the following four subsections.

A. Decision Point Arrival Detection

The first part of the prediction step is to calculate when the IPV arrives at the previously identified decision point. This work considers two potential methods for performing this task, the first is to calculate when the IPV is nearest to the decision point using the sequence of IPV locations and the decision point location, the second is to calculate the travel to distance for the decision point and use IPV odometry to estimate arrival.

The first method relies on a distance calculation from the IPV locations to the decision point. When a tour contains multiple passes of the same point, the choice of which pass to utilize requires the use of an additional constraint to bound the search space in time or to select the pass nearest but greater than the current time step. Either is conceptually simple but nuanced in implementation.

The second decision point arrival identification method proved to be much simpler to implement when accounting for the fact that the IPV may revisit areas within a tour. The length of the route to the decision point is calculated using the cumulative length of each segment traversed. Then the time step when the distance traveled by the IPV is first greater than the cumulative length is found. To allow for discrepancy in the actual length of the route traveled and that of the segments, a constant value is subtracted from the expected distance, ensuring that the estimate always chooses a time step where the IPV is upstream of the decision point. Ultimately it was decide to use this second method for the prediction step because of this simplicity.

The method for calculating the crossing of the decision point using odometry pre-computes the cumulative IPV distance (CID) traveled for each time step and then follows three operations. CID is a time series, starting at the first time step of the tour, with each time step having the value of the

268

cumulative distance, thus it is monotonically increasing. The first operation calculates the map based travel-to distance (TTD), which is the cumulative segment length along the route from the current IPV location to the decision point. This calculation is achieved by summing the length of all segments on the path from the current associated segment to the decision point and subtracting the IPV’s longitudinal distance on the current segment. The next operation subtracts the value of the CID at the current time step, t1, from the CID time series, resulting in a time series normalized to t1, referred to as CIDt1. Described mathematically the calculation is CIDt1 = CID – CID(t1). The final operation reports the arrival time, ta, as the point where the CIDt1 crosses the TTD minus a sensitivity factor k, i.e., the first time step where CIDt1 – (TTD -k) > 0. k controls for the CID being different from the TTD because the segments are approximations, and recognizes that an estimate short of the decision point poses fewer problems than an estimate far after the decision point. Since the purpose of the projection to a decision point is to reduce computation time, erroring to fall short of the decision point slightly reduces the computation time benefit, whereas erroring on the far side could introduce unknown calculation complexities. This effort uses a sensitivity factor of 25 m, found by manual tuning.

B. Candidate Way Identification

The second part of the prediction step identifies close and applicable ways, i.e. ways that have connectivity to the current location. This calculation is topological and finds connectivity through the third order anchored at the way to which the IPV was associated with upon its arrival at the decision point. Connectivity is used to down-select the analysis nodes to only the nodes for which a reasonable traversal route exists, i.e., those nodes that are in third order connected ways. Usage of third order connectivity supports instances where the map digitization has established many short ways near an intersection or ramp. After identifying the nodes that satisfy third order connectivity the calculation then discards any node farther than 150 m from the IPV location. This calculation assumes that any way of interest should have at least one node within 150 m of the current location. The final calculation for way identification, applies the node to way reverse lookup table to those nodes closer than 150 m, resulting in a list of possible ways. The output of this part is a list of candidate ways.

C. Segment Identification

The third part of the prediction step calculates the closest segment within each of the candidate ways that the second part identified. There will be exactly one segment output per each candidate

269

way. Recall that a segment was defined in Section E.1.1 as two sequential nodes within a way. Once the segment has been identified, the particular location with respect to the segment can be found, such as the lateral deviation and longitudinal distance described earlier. While this work holds that locale is not sufficient when calculating the way with which to associate the IPV, it asserts that within a single way, the closest segment is the best with which to associate the IPV. The calculation of the closest segment uses a point to line segment calculation shown in equation (E-1). In this equation the segment contains the two nodes identified as points A and B, while the location of the IPV is at point C and d is the distance from C to the line segment. The letter combinations represent line segments made between two points, e.g., BC is the line segment connecting point B to point C. Because AB makes a line segment rather than a line, the first two elements of (E-1) determine if a perpendicular line cannot be drawn between C and AB, and if so, it determines if C is closer to A or B. In this case the shortest distance is simply the distance from the C to the point A or B. The final element determines the distance if a perpendicular line can be drawn from C to AB. It is important to calculate these point to line segment distances rather than simplifying by using the closest nodes, because if the IPV is in the middle of a very long segment, the nodes that make the segment may be significantly farther than the nodes of nearby segments. The list of segment distances is sorted to identify the closest segment. Then the identified segment for each candidate way is passed to the Integrity Estimate part.

‖퐵퐶‖, 𝑖푓 퐴퐵 ∙ 퐵퐶 > 0

‖퐴퐶‖, 𝑖푓 퐵퐴 ∙ 퐴퐶 > 0 푑 = (E-1) 퐴퐵 × 퐴퐶 , 푂푡ℎ푒푟푤𝑖푠푒 { ‖퐴퐵‖

D. Integrity Estimate

The fourth and final part estimates the integrity of the map matching solution, in a similar vein to that of White et al. [21]. A particularly clear definition of integrity is that of Jabbour et al. [22] who state that “integrity of a localization system is the measure of confidence that can be accorded to the exactitude of the positioning delivered by this system.” While in White et al. considers integrity based upon the GNSS solution, the ability to identify the correct link, and the ability to estimate vehicle location, this work only considers the identification of the correct link. This work reduces aspects of White et al. because the availability lane level accuracy localization data eliminates the 270

need for GNSS position and vehicle localization accuracy assessment within the map matching process itself. The integrity factors considered in the work herein are the mapping of the roadway, and ambiguity between roadways, especially near intersections.

In support of the integrity calculation, two assumptions are made that are necessary to generate a quantifiable result. The first assumption is that the expected map error is 5 m or less, that is the road centerline as described by the map is never farther than 5 m from the centerline in true coordinates. The second assumption are the road widths for the various road types within the OSM data. Conceptually these road width values should match the actual road widths. However, a tuning process was necessary to achieve good performance due to the peculiarities of the OSM data. Table

E.3 contains the resulting widths shown with calculation, and the maximum width, 푤푡, which is the calculation result added to the expected map error. The maximum width is the maximum distance the IPV can be from the segment before the probability becomes zero. Therefore, this maximum must be set as the largest possible value. On freeways observed in the IPV dataset, the result is four lanes of travel, because that number is the highest observed that extend more than a few hundred feet and the OSM data does not consistently contain the number of lanes. The width of the links (recalling that links are associated with ramps) match the freeway width to enforce equal weighting between freeways and ramps that was required to properly align those elements for the map enhancement. The IPV did not travel on any roads marked as “highway”, resulting in no tuning for the highway parameter. Residential and service roads were set to approximately one lane wide. Tertiary links are the most problematic. Being arterials, it is surmised that they have not been validated and corrected as thoroughly as the freeways, while they are closely spaced. A number of roads frequented by the IPV, such as Kinnear Rd and Kenny Rd are classified as tertiary links. Additionally, the current work does not account for heading, and tertiary roads are often part of a divided roadway, such as Olentangy River Road near the Lenox shopping center, placing two roads very close, but with different headings.

271

Type Description Width (m) 풘풕 (m) 1,2 Freeway 4*3.66 19.64 3,4 Highway 6 11 5 Tertiary 10+2.5*3.66 24.15 6 Residential 3.66 8.66 7 Service 4 9 101-105 Link 4*3.66 19.64 otherwise 4 9 Table E.3, Effective road widths for probability assessment, determined in a heuristic manner based on the available IPV data.

Using the total width from Table E.3 and the distance of the IPV to the segment, equation (E-2) calculates a surrogate for the probability estimate.

휋 푑푛 퐸푛 = cos ( min ( , 1)) (E-2) 2 푤푡

th th where 퐸푛is the probability of the n segment, 푑푛 is the distance of the IPV to the n segment, and

푤푡 is the maximum width from Table E.3.

Equation (4-2) uses the cosine function as a convenient way to map values that are close to zero to high probabilities, provide some a tolerance about zero, and assign a true zero value once the difference exceeds a specific distance. The function could be formalized into a proper probability through careful modeling provided knowledge of each map segment’s true road width. A simple normal distribution is not sufficient because the road itself is a uniform distribution, and errors are not yet modeled, including location error and width estimation error. El Najjar and Bonnifait [17] recognize the inaccuracy in representing a road as a normal distribution and model the road as “a rectangle on the segment.” Other authors such as Zhang et al. [15] generate probability distribution functions, however they provide no justification for their models and parameters selected. Consider the complex intersection in Figure E.11 where five approaches meet at a single node2. The results of the probability calculations at the location of the ‘*’ for complex intersection are shown in Figure E.12. Here one can see that road segment 2 is closer, but its probability is lower because its type is service rather than tertiary. All five segments have probabilities over 0.9, signifying that this

2 The actual intersection configuration includes 3 unidirectional ways, but for the purpose of this discussion on intersection complexity each of the 5 approaches are considered bidirectional. 272

location is ambiguous. The ambiguity arises because the IPV at that position could turn left, turn right, or proceed straight within the tolerance of the localization and the map. Since the result was ambiguous, the process continues increments the time step and repeats the calculation. The process continues to increment until it finds a segment that has a probability more than 0.25 higher than the second highest probability or a separation of at least 20 m between the most probable and second most probable segment. When one of the preceding conditions evaluates as true, that is a segment has a probability 0.25 higher than any other segment, or there are at least 20 m between the two segments, association is no longer considered to be ambiguous, and the prediction step is complete.

Figure E.8, A five point that, as defined by OSM. The ways are shown in black, with circles filled with white at the nodes which make up the ways. The IPV position is denoted by a '*'. There are 5 ways that make up the intersection that are numbered for identification.

Figure E.9, Three measures from the five point intersection. a) Probability as defined previously, b) distance from IPV to nearest point on segment, and c) the road type as defined by OSM.

At the conclusion of the prediction step, the output is the associated way and the time step where the association was no longer ambiguous and the corresponding location of the IPV, in LSFF, at

273

that time step. Additionally, an end of tour identification step is executed to determine if the identified location represents the end of a Kinnear road to CAR access road or Kenny road to Hess road route sequence. These sequences represent the end of a tour, and signal the process to stop map association at the current sample. The preceding step is necessary when the IPV stops far from a mapped road, and is not necessary when the IPV stops in a well mapped area.

E.2.4. Confirmation Step

The confirmation step performs a precise association and validation of integrity using all three map association measures, locale, heading and connectivity. Because of its goal of precision and use of the three measures, this step computationally intensive. The prediction step passes an initial way to the confirmation step, which outputs the associated segment and decision point. The segment’s information output includes the name of the way and the segment heading, while the decision point, includes the name of the node, type and the travel-to distance. This step executes with the following four parts.

A. Identify Proximate Ways

The first part of the confirmation step identifies nearby ways with third order or closer connectivity. Third order connectivity with respect to the initial way balances the need for handling short ways, and the exponential increase in computation each added order requires. Next, this part identifies the ways that contain nodes within 500 m of the IPV. Eliminating far ways reduces computation needs in later parts. The process implements the preceding actions by finding the nodes within the third order connected ways, eliminating all nodes greater than 500 m from the IPV, and then performing a node-to-way reverse lookup to identify the ways for further analysis.

B. Calculate Locale and Heading of Ways

The second part of the confirmation step calculates locale and heading. It takes the nearby ways, and through extracting the nodes converts them into line segments. For each way, this part determines the minimum point to line distance from the IPV location to the segment using equation (E-1). Then it finds the segment that minimizes the distance for each way. As done in Section E.3.2, this part only considers the closest segment of each way. Next, this part calculates the heading of each way’s closest segment using simple trigonometry. This part then finds the heading error by comparing the IPV’s heading with that of the segments. When a segment has two directions of

274

travel, this part finds the minimum absolute heading difference by testing both directions of travel and taking the minimum of the two heading differences.

C. Weighting Factor

The third part of the confirmation step calculates a weighting factor for each way’s closest segment that considers heading error concurrently with locale, as shown in the cost function (E-3). As with the integrity check in Section E.2.3.D, the form of the function is heuristic and there are potentially many other suitable constructions of this function. The confirmation step seeks to minimize the value of the cost function. The segment with the lowest cost becomes the associated segment, provided it meets a minimum value.

푤푛 = 푘ℎ|sin ℎ푛| + 푑푛 (E-3)

The parameters of (E-3) are as follow: 푘ℎ is the gain of the heading error, ℎ푛 is the heading error for the nth segment, and 푑푛 is the distance from the IPV to the nth segment. The resulting 푤푛 is the cost for segment n. Velaga et al. in [11] use a similar weighting function, however they define their objective to maximize an objective function while this process minimizes. Velaga [11] also includes turn restrictions and connectivity within the weighting function. The OSM data are capable of containing turn restrictions; however, the source data for Columbus has not yet been augmented with sufficient turn restriction meta-data, therefore this work does not use turn restrictions in its weighting. Additionally, this work excludes segments that do not satisfy a connectivity constraint rather than providing a weight. The gain for the heading error defines how much impact an error in heading has with respect to the distance error and is a tradeoff between map precision sensitivity. The OSM data generally are more accurate in location than it is in heading, yielding a manually tuned value of 7.5. The sine function converts heading error into a value ranging from zero to one. When the IPV heading differs from the segment heading by 90°, the heading contribution to the weighting factor becomes 푘ℎ, and when the difference is 0°, or 180° for a two way road, the heading contribution becomes zero. To accept a segment it must have a weighting value below a predefined threshold, this work found 35 m to be sufficient. The preceding threshold does not account for the width of a road due to the OSM data lacking an explicit road width measure, hence the large value

275

of the threshold. When the above criteria are met, the IPV is associated with the particular map segment at that time step.

D. Decision Point Identification

The fourth and last part of the confirmation step identifies the downstream decision point. This part takes the associated segment, and traverses the nodes within the way until it reaches a node shared by multiple ways, i.e., an intersection or off-ramp. The node-to-way lookup table provides easy identification of nodes that are shared by two or more ways. Oftentimes, two ways share a node, but there is no applicable decision at that node, which occurs when the map digitization has arbitrarily ended one way and begun another or a unidirectional way is inbound to the way, such as a freeway on-ramp. Decision point identification detects such instances and continues on traversing the nodes. Once this part identifies a decision point, it extracts the information about that point including its name and type, such as intersection or ramp, and the travel-to distance to that decision point, calculated as described in Section E.2.3.

E.2.5. Closing the Route

The previous steps skip time steps that were considered ambiguous, focusing on finding high- integrity associations, resulting in gaps in the resultant route. A unique aspect of the IPV analysis is that we must find where the IPV has been, rather than the traditional map matching objective that concerns itself only with the present. A result of this need and the gaps in the route, a function to close a route must be available. Closing the route is defined as identifying the map segments traversed by the IPV between two unconnected, IPV map associations. This route closing requirement is similar to the need discussed by Miwa et al. [23], except that the need for route closure in Miwa was due to the long sampling period of the taxi data. Their long sampling interval is analogous to the gaps in map association. Li et al. [25] also experienced this route closing problem with high frequency data. To solve route closure, Miwa et al. takes a temporal approach that topology, while Li et al. clusters points and then maps those clusters to the map. It appears that Li et al. does not account for the topology of the road network.

There are certain instances where the map matching steps of prediction and confirmation traverse some distance between confirmed locations. This traversal without confirmation leaves a gap in the recorded route, such as Figure E.10 shows. In this figure the two grey ‘*’s shows two successfully associated points, between which no route has been defined. The magenta way extends from (570, -500) to (600, -325) to show the entire way; however, there is an intersection at (600, -400) causing 276

the shown position of the association. The goal of route closure is to find the route that connects the two ‘*’s. To complete a route, a way does not need be completely traversed, hence the segments on the magenta way are not necessarily part of the to-be-closed route. The example in Figure E.13 will be used to show a first order route closure to highlight the process, after which the functional details will be discussed, followed by a second order example.

Figure E.10, An open route between two map associations. The two successfully associated positions, grey ‘*’s, are members of the blue way (upstream) and magenta way (downstream). Note there is no connection between the two ways.

A. First Order Example

The route from Figure E.10 is open due to unsatisfied probability constraints. The route closure function must eliminate this gap. The first step in route closure determines first order connectivity for the upstream way shown in blue. The result, Figure E.11a, shows black lines segments for the upstream first order connection and it is apparent that there is a now a path along the black line segments from the blue way to the magenta way. First order fills the gap, but the algorithm continues to determine if a shorter path is available. The second step calculates connectivity from the downstream side shown in magenta. As shown in Figure E.11b the gap is again filled, but on the same path. No alternative paths are found, and a single path from the upstream way to the downstream way exists. The route closure algorithm determines that a sequence of segments intersects both the upstream and downstream associated nodes. Figure E.12 presents the closed route. The closed portion connecting the two grey ‘*’s is shown in heavy black. The segments that do not represent the shortest route have been removed.

277

Figure E.11, Part a, upstream side first order connectivity calculated and shown in black, overlaying the previous figure. Part b, downstream side first order connectivity shown in black, with upstream connectivity shown in light grey.

Figure E.12, Final route closure of the previous three figures. The closed route is represented by the black line segments, ‘*’s denote the successfully associated positions, and the blue and magenta line segments signify the way the associated position of which it is a member.

B. Function Description

The route closing function assumes that the IPV takes the path with the shortest distance between the upstream and downstream associated segments, similar to the first method of Miwa et al. [23]. This assumption has been valid for the IPV data because the gaps in the route are typically short, which differs from Miwa’s circumstances [23], which in turn results in the need to employ a link cost method to reduce error. Any route that deviates from the shortest route would likely yield a map association that that does not cause a gap. Consider the open route in the previous example of Figure E.13, which is a subset of the region detailed in Figure E.8. If the gap had been along the service road through the parking lot, there are several locations that the map association would have identified a solution without a gap. Closing the route through the shortest path solution greatly simplifies the processing, since the locale, heading, or topological measures have already been 278

exhausted by the preceding prediction and confirmation steps, leaving few remaining measures to aid identification.

The execution of the route closing function starts with a Connectivity Search that searches through connectivity order starting with the smallest search space and expanding as necessary, reducing computation time. Next a Traceroute is performed that identifies paths along ways identified in the connectivity search that connects the upstream and downstream nodes. The path with the minimum distance is then identified and the route cleaned to remove any extraneous points. These four operations are detailed below.

B.i. Connectivity Search

The connectivity function works by processing a starting way using its ID number. From this ID number the function identifies all nodes within the way. The node-to-way reverse lookup table obtains a list of ways that connect to the nodes. After storing the nodes in a connectivity list, identification of duplicate ways occurs with removal of duplicates from the list. The function finds connectivity for the upstream and downstream way prior to continuing. If a solution is found, all scenarios at the current order are analyzed and then the search is halted. If a solution is not found, the order is incremented and the search executes anew. With each order of connectivity, the number of ways to examine grows exponentially. To prevent infinite resource consumption, the maximum connectivity is set to the 10th order. The function should only reach such an order if the map is in error, or out of date. If this were to occur, the software notifies the user of the error.

After analyzing connectivity, the function must remove any circular references, e.g., way A connects to way B, which connects to way A at a different node. For first order connectivity, a circular reference as in the example is unlikely, however second order and above will frequently create circular references. An unhandled circular reference will place the algorithm into an infinite loop as it traces over itself. With the upstream and downstream connectivity known, the function searches for node(s) that both sets share. If found, the connectivity search stops and the two way sets and the shared node(s) pass to the next step.

B.ii. Traceroute

At this point the function has only shown that there is a connection, there is still a need to identify the path that forms the connection. A traceroute is an algorithm that determines the possible paths from a starting point to ending point. This work implements a traceroute by first creating a parent- child relationship between the ways of ascending order. For first order connectivity, all ways share 279

the same parent, the original upstream or downstream way passed into the route closure process. For second order connectivity, the children of the first order analysis become the parents of the second order analysis. Since each child is associated with a parent, the traceroute follows the connections from child to parent until reaching the originating way. The traceroute can continue to higher order connectivity as required. When a path is found, the shared node where the upstream and downstream searches intersect is stored. At each element of the traceroute algorithm, the process calculates and stores traversal distance. Since the map matching process as a whole must perform a large number of traceroutes, it pre-computes the segment distances and stores them.

The next operation is to perform a traceroute for each way that contains the shared node identified previously. When the order to reach the origin is greater than one, the traceroute returns the ways it traverses to move from point A to B and the corresponding distance. Due to the way the function stores the parent-child relationships, when multiple routes exist from the origin to shared node, each of those routes are uniquely represented.

B.iii. Find the Minimizing Distance

After identifying the potential routes from origin to shared node for upstream and downstream origins, the function finds the minimizing distance. Since the route must pass through the shared node, the minimum upstream to shared node and then minimum shared node to downstream route is the distance minimizing route. Using this characteristic, the function can find the upstream and downstream minimizing routes separately.

It is possible the connectivity result has multiple shared nodes, either on the same or different ways. Under this circumstance, the function simply finds the shortest distance path for each of the shared nodes, and then finds the shortest overall distance. It is this shortest path that the route closure function reports as the route the IPV traveled.

B.iv. Route Cleaning

Finally, the route closure function cleans the route. Due to the logic employed, occasionally node duplication occurs in the route output when nodes are shared by multiple ways. Another need for cleaning is to ensure the inclusion of all nodes between the upstream and downstream nodes within the route, without the inclusion of nodes that are on the ways but do not fall between the upstream and downstream nodes. The preceding section reports the ways traveled and in what sequence, but does not handle the case of the IPV entering or exiting the way at a node that is not an endpoint of the corresponding way. The cleaning step uses the connectivity of the ways and the upstream and 280

downstream nodes to generate a sequence of nodes traveled to generate the route, removing any excess or duplicate nodes.

C. Second Order Example

Figure E.13a presents the output of the previous map association steps that needs second order route closure. The location is at the I-71 North off ramp to North Broadway. Here the IPV is exiting the freeway from the northbound direction, turning westbound onto North Broadway, and then enters the ramp onto I-71 South. The figure shows the upstream way in blue and the downstream way shown in magenta. Grey ‘*’s represent the matched nodes. Though logically simple, this route has significant complexity due to the road structure, shown in Figure E.13b.

a) b)

Figure E.13, Part a, Open route at North Broadway due to the complexity of the surrounding ways. The blue is the upstream associated way, orange is the downstream associated way. The associated IPV positions are red '*'s. Part b, Image from the OSM database using the JOSM tool showing the ways, segments, and nodes, around the North Broadway ramps with I-71.

As stated earlier, the first operation of route closure is to calculate the upstream first order connectivity, Figure E.14a, and then the downstream first order connectivity, Figure E.14b. As these figures show, first order connectivity does not result in a path between the associated points.

281

a) b)

Figure E.14, Part a, start of the route closing process, upstream first order connections identified emanating from the blue way. The first order connections are shown in black. The downstream way is magenta and the associated points are grey ‘*’s. Part b, second step of the route closing process, downstream first order connections are identified in black, emanating from the magenta way. The upstream first order connections have been colored light grey. The upstream way is blue and the associated points are grey ‘*’s.

Figure E.15a adds second order upstream connectivity in green. Note that the scale has changed due to many more roads being included at second order connectivity. The figure shows that there is a shared node, located at approximately (3175, 3650), however the function continues to calculate the downstream second order connectivity to find if any other shared node(s) exists. The result of the second order downstream connectivity is presented in Figure E.15b that shows the downstream second order connectivity in cyan. Note that if a preceding search has identified a specific way, that way is not added to the current result. For example, the shared node at (3175, 3650) that was found via upstream connectivity would also have been found using downstream connectivity, but that way has already been captured in the upstream connectivity, thus it is colored green, not cyan.

a) b)

Figure E.15, Part a, the upstream second order ways have been identified in green. A connection is made, resulting in a shared node. Previously identified first order ways are colored light grey, the upstream way blue, and the downstream way magenta. The associated points are grey ‘*’s. Part b, the downstream second order ways have been identified in cyan. The upstream second order ways are again shown in green. Previously identified first order ways are colored light grey, the upstream way blue, and the downstream way magenta. The associated points are grey ‘*’s. 282

Figure E.16a presents the closed route prior to cleaning. It is readily identifiable that this route contains the complete ways, rather than just the nodes the IPV travels, as the extension of the North- South traveling way shows, continuing on past 3675 m, and the East-West traveling way shows extending past 3275 m to the east and 3150 m to the west. Figure E.16b overlays an aerial image with the cleaned route. Only the closed part of the route, shown in black, was solved and cleaned, the blue way is shown for context as the last matched upstream way and the magenta as the first matched downstream way.

Figure E.16, Part a, the connecting ways have been identified between the upstream and downstream associations. The upstream and downstream ways are shown in blue and magenta, respectively, while the connecting ways are shown in black and greys. Three ways are required to connect the upstream and downstream ways.Part b, the ways have been cleaned to record only the routes actually traversed by the IPV, shown as the thick black line, in route from the upstream associated position and downstream associated position, both shown as yellow ‘*’s. The two thinner lines show ways that are associated before (blue) and after (magenta) the associated positions. E.3. Improvements

The accuracy and computational complexity of the map association process could be improved by a number ways. The primary efficiency improvement would be modification to the prediction- confirmation sequence. The principal benefits of the prediction-confirmation sequence are for causal systems. For the non-causal system, the process performs several redundant calculations identically for each step. Eliminating these redundancies would simplify the process and lower computational time. There are several improvements that would increase the accuracy of the process. A source of error is the consideration of way direction for one-way ways in the route closure algorithm and connectivity in general. The remaining items would reduce the constraints required to associate to a segment with certainty. The weighting factor of the heading in the confirmation step presented in Section E.2.4 should be modeled and tuned through empirical

283

evidence. Only a simple tuning was performed in this work. The tuning of the effective road widths for the probabilistic step was performed by hand to achieve the desired results at certain critical sections. These values may have been over-matched to the particular dataset and a more general analysis is appropriate. Likewise, the OSM data could be increased in richness and accuracy for the same purposes. The probability formula was chosen simply to provide a meaningful shape to the distribution. Empirically determining the probability formula would be of great benefit, at the expense of great effort. Actual road boundaries would need to be measured for a number of roads, and a model generated to which a true distribution could be fit.

A final improvement that would require significant research would be to incorporate map information into the localization process. Combining the map with the localization process would enhance the ability to reject false GNSS measurements. However making the system tightly coupled, as done by Jiménez et al. [20] could increase the systems sensitivity to mapping errors.

284

E.4. Works Cited in Appendix E [1] “Open Street Map.” [Online]. Available: http://www.openstreetmap.org/. [Accessed: 01- Jan-2016]. [2] “TIGER,” 2015. [Online]. Available: http://wiki.openstreetmap.org/wiki/TIGER. [Accessed: 04-May-2015]. [3] “Map Features,” 2016. [Online]. Available: http://wiki.openstreetmap.org/wiki/Map_Features. [Accessed: 04-May-2016]. [4] “Geofabrik downloads Ohio,” 2016. [Online]. Available: http://download.geofabrik.de/north-america/us/ohio.html. [Accessed: 04-May-2016]. [5] “JOSM,” 2016. [Online]. Available: http://josm.openstreetmap.de/. [Accessed: 05-May- 2016]. [6] “Osmconvert,” 2016. [Online]. Available: http://wiki.openstreetmap.org/wiki/Osmconvert. [Accessed: 05-Apr-2016]. [7] “Osmosis,” 2016. [Online]. Available: http://wiki.openstreetmap.org/wiki/Osmosis. [Accessed: 05-Apr-2016]. [8] Quddus, M. A., Ochieng, W. Y., Zhao, L., and Noland, R. B., “A general map matching algorithm for transport telematics applications,” GPS Solut., vol. 7, no. 3, pp. 157–167, Dec. 2003. [9] Quddus, M. A., Ochieng, W. Y., and Noland, R. B., “Current map-matching algorithms for transport applications: State-of-the art and future research directions,” Transp. Res. Part C Emerg. Technol., vol. 15, no. 5, pp. 312–328, 2007. [10] White, C. E., Bernstein, D., and Kornhauser, A. L., “Some map matching algorithms for personal navigation assistants,” Transp. Res. Part C Emerg. Technol., vol. 8, no. 1, pp. 91–108, 2000. [11] Velaga, N. R., Quddus, M. A., and Bristow, A. L., “Developing an enhanced weight-based topological map-matching algorithm for intelligent transport systems,” Tramsportation Res. Part C Emerg. Technol., vol. 17, no. 6, pp. 672–683, Dec. 2009. [12] Hoel, E. G., and Samet, H., “Efficient Processing of Spatial Queries in a Line Segment Databases,” in 2nd Symposium on Spatial Databases, 1991, pp. 235–256. [13] Greenfeld, J. S., “Matching GPS observations to locations on a digital map,” in Transportation Research Board 81st Annual Meeting, 2002, p. 13. [14] Ochieng, W. Y., Quddus, M. A., and Noland, R. B., “Map-Matching in Complex Urban Road Networks,” Brazilian J. Cartogr., vol. 55, no. 2, pp. 1–14, 2003.

285

[15] Zhang, X., Wang, Q., and Wan, D., “Map Matching in Road Crossings of Urban Canyons Based on Road Traverses and Linear Heading-Change Model,” IEEE Trans. Instrum. Meas., vol. 56, no. 6, pp. 2795–2803, 2007. [16] Bierlaire, M., Chen, J., and Newman, J., “A probabilistic map matching method for smartphone GPS data,” Transp. Res. Part C Emerg. Technol., vol. 26, pp. 78–98, 2013. [17] El Najjar, M. E. B., and Bonnifait, P., “Road Selection Using Multicriteria Fusion for the Road-Matching Problem,” IEEE Trans. Intell. Transp. Syst., vol. 8, no. 2, pp. 279–291, 2007. [18] Gustafsson, F., Orguner, U., Schon, T. B., Skoglar, P., and Karlsson, R., “Navigation and Tracking of Road-Bound Vehicles Using Map Support,” in Handbook of Intelligent Vehicles, 2nd ed., A. Eskandarian, Ed. London: Springer, 2012, pp. 397–434. [19] Hasberg, C., Hensel, S., and Stiller, C., “Simultaneous localization and mapping for path- constrained motion,” IEEE Trans. Intell. Transp. Syst., vol. 13, no. 2, pp. 541–552, 2012. [20] Jiménez, F., Monzón, S., and Naranjo, J. E., “Definition of an Enhanced Map-Matching Algorithm for Urban Environments with Poor GNSS Signal Quality,” Sensors, vol. 16, no. 2, p. 193, 2016. [21] Quddus, M. A., Ochieng, W. Y., and Noland, R. B., “Integrity of map-matching algorithms,” Tramsportation Res. Part C Emerg. Technol., vol. 14, no. 4, pp. 283–302, Aug. 2006. [22] Jabbour, M., Bonnifait, P., and Cherfaoui, V., “Map-Matching Integrity Using Multihypothesis Road-Tracking,” J. Intell. Transp. Syst., vol. 12, no. 4, pp. 189–201, Nov. 2008. [23] Miwa, T., Kiuchi, D., Yamamoto, T., and Morikawa, T., “Development of map matching algorithm for low frequency probe data,” Transp. Res. Part C Emerg. Technol. Technol., vol. 22, pp. 132–145, Jun. 2012. [24] Hunter, T., Abbeel, P., and Bayen, A., “The Path Inference Filter: Model-Based Low- Latency Map Matching of Probe Vehicle Data,” IEEE Trans. Intell. Transp. Syst., vol. 15, no. 2, pp. 507–529, 2013. [25] Li, H., Kulik, L., and Ramamohanarao, K. “Robust inferences of travel paths from GPS trajectories,” Int. J. Geogr. Inf. Sci., vol. 29, no. 12, pp. 2194–2222, 2015.

286