Applied Science, Faculty of
Engineering, School of (Okanagan)
DSpace
UBCO
Ghanem, Ehab M.
Doctor of Philosophy - PhD
University of British Columbia
Positioning technologies that are available today are used to enhance position estimation for the goal of providing fully autonomous vehicles. Currently, positioning technologies, such as GNSS, INS, LIDAR, etc., often have complementary strengths and limitations. Consequently, they are often used together, or fused, to provide a more reliable and/or more accurate position estimate. These positioning technologies have been extensively studied to characterize their strengths and limitations. However, UWB ranging has not been fully investigated in the context of relative position and attitude estimation between moving vehicles. This thesis provides an extensive characterization of an UWB-only system that can be used to estimate the relative position and attitude of one vehicle with respect to another while the two vehicles are executing various maneuvers while driving on streets. The UWB system designed, developed and tested, can provide a relative horizontal position estimate with a mean error of approximately 1 m, and a relative attitude accuracy of 6 Degrees or better. The system is able to operate at distances up to 80 m between the two vehicles.
2-D Relative Position and AttitudeDetermination for Land Vehicles usingMultiple UWB RangesbyEhab M. GhanemB.Sc., Arab Academy for Science and Technology, 2006M.Sc., Arab Academy for Science and Technology, 2012A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHYinTHE COLLEGE OF GRADUATE STUDIES(Electrical Engineering)THE UNIVERSITY OF BRITISH COLUMBIA(Okanagan)August 2021© Ehab M. Ghanem, 2021The following individuals certify that they have read, and recommendto the College of Graduate Studies for acceptance, a thesis/dissertation en-titled:2-D Relative Position and Attitude Determination for LandVehicles using Multiple UWB Rangessubmitted by Ehab M. Ghanem in partial fulfillment of the requirementsof the degree of Doctor of PhilosophyDr. Richard Klukas, School of EngineeringSupervisorDr. Kyle O’Keefe, Schulich School of Engineering, University of CalgarySupervisorDr. Jonathan F. Holzman, School of EngineeringSupervisory Committee MemberDr. Lo¨ıc Markley, School of EngineeringSupervisory Committee MemberDr. Yang Cao, School of EngineeringUniversity ExaminerDr. Georgia Fotopoulos, Geological Science and Engineering, Queen’s UniversityExternal ExamineriiAbstractPositioning technologies that are available today are used to enhance po-sition estimation for the goal of providing fully autonomous vehicles. Cur-rently, positioning technologies, such as GNSS, INS, LIDAR, etc., often havecomplementary strengths and limitations. Consequently, they are often usedtogether, or fused, to provide a more reliable and/or more accurate positionestimate. These positioning technologies have been extensively studied tocharacterize their strengths and limitations. However, UWB ranging hasnot been fully investigated in the context of relative position and attitudeestimation between moving vehicles. This thesis provides an extensive char-acterization of an UWB-only system that can be used to estimate the rela-tive position and attitude of one vehicle with respect to another while thetwo vehicles are executing various maneuvers while driving on streets. TheUWB system designed, developed and tested, can provide a relative hor-izontal position estimate with a mean error of approximately 1 m, and arelative attitude accuracy of 6◦ or better. The system is able to operate atdistances up to 80 m between the two vehicles.iiiPrefaceThis work has been done under the supervision of Dr. Richard Klukasfrom the University of British Columbia, Okanagan Campus, and Dr. KyleO’Keefe from the University Of Calgary. Portions of this work have beenpublished in the following conference papers.- E. Ghanem, K. O’Keefe and R. Klukas, ”Testing Vehicle-to-VehicleRelative Position and Attitude Estimation using Multiple UWB Ranging,”2020 IEEE 92nd Vehicular Technology Conference (VTC2020-Fall), 2020,pp. 1-5.- E. Ghanem, K. O’Keefe, and R. Klukas, “Estimating Vehicle-to-VehicleRelative Position and Attitude using Multiple UWB Ranges,” in Indoor Po-sitioning and Indoor Navigation - Work-in-Progress Papers - 2019. IPIN-WiP 2019, pp. 180–186.  pages 31.ivTable of ContentsAbstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ivTable of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . vList of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiList of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixList of Abbreviations . . . . . . . . . . . . . . . . . . . . . . . .xviiiAcknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . xxDedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiChapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . 11.1 Current Technologies, Solutions and Challenges . . . . . . . . 11.2 UWB Technology and Capabilities . . . . . . . . . . . . . . . 21.3 Research Objectives . . . . . . . . . . . . . . . . . . . . . . . 31.4 Research Contribution . . . . . . . . . . . . . . . . . . . . . . 31.5 Thesis Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Chapter 2: Technical Background . . . . . . . . . . . . . . . . . 62.1 Advancements in Relative Positioning . . . . . . . . . . . . . 62.2 UWB Positioning . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Estimation Algorithms . . . . . . . . . . . . . . . . . . . . . . 112.3.1 Least Squares . . . . . . . . . . . . . . . . . . . . . . . 112.3.2 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . 142.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Chapter 3: UWB Module . . . . . . . . . . . . . . . . . . . . . . 19vTABLE OF CONTENTS3.1 Decawave UWB DWM1000 Module Characteristics . . . . . . 203.1.1 Hardware Setup . . . . . . . . . . . . . . . . . . . . . 203.1.2 Indoor Measurements . . . . . . . . . . . . . . . . . . 213.1.3 Outdoor Measurements . . . . . . . . . . . . . . . . . 253.1.4 Limitations of the Module . . . . . . . . . . . . . . . . 253.2 Decawave Advanced Module Trek1000 . . . . . . . . . . . . . 283.2.1 Selecting the Update Rate . . . . . . . . . . . . . . . . 333.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Chapter 4: Developing the Positioning Algorithm . . . . . . . 344.1 Estimation Algorithm using Least Squares . . . . . . . . . . . 364.2 Observability Analysis . . . . . . . . . . . . . . . . . . . . . . 394.3 Developing the Extended Kalman Filter . . . . . . . . . . . . 514.4 Adjusting the Covariance Matrices . . . . . . . . . . . . . . . 514.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Chapter 5: Field Test - First Scenario . . . . . . . . . . . . . . 535.1 Obtaining Reference Trajectory . . . . . . . . . . . . . . . . . 535.2 Scenario Description . . . . . . . . . . . . . . . . . . . . . . . 535.3 Creating Simulated Ranges . . . . . . . . . . . . . . . . . . . 565.4 Using UWB Field Measurements . . . . . . . . . . . . . . . . 615.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Chapter 6: Field Test - Second Scenario . . . . . . . . . . . . . 696.1 Scenario Description . . . . . . . . . . . . . . . . . . . . . . . 696.2 Measurement Processing . . . . . . . . . . . . . . . . . . . . . 726.2.1 GNSS/INS Measurements . . . . . . . . . . . . . . . . 726.2.2 UWB Measurements . . . . . . . . . . . . . . . . . . . 766.2.3 Pre-Processing of UWB Measurements . . . . . . . . 766.3 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . 776.3.1 Segment 1: Vehicles Stationary at a Traffic Light . . . 786.3.2 Segment 2: Vehicle 2 Follows Vehicle 1 in a Straightline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.3.3 Segments 3 & 4: Turning Right and Turning Left . . . 876.3.4 Segment 5: Passing One Another . . . . . . . . . . . . 976.3.5 Segment 6: U-turn . . . . . . . . . . . . . . . . . . . . 1026.3.6 Segment 7: Beyond the U-turn . . . . . . . . . . . . . 1106.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116viTABLE OF CONTENTSChapter 7: Conclusions and Recommendations . . . . . . . . . 1197.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197.2 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . 121Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123viiList of TablesTable 2.1 Comparison of wireless positioning technologies. . . . . 11Table 6.1 Comparison between the performance of least squaresand the Kalman filter for the first four segments. . . . 96Table 6.2 Kalman filter performance values for each of the sixsegments for which Kalman filter provides a solution. . 117Table 6.3 Least squares performance values for each of the foursegments for which least squares provides a solution. . 118viiiList of FiguresFigure 2.1 Power spectral density for wireless technologies usedfor positioning. . . . . . . . . . . . . . . . . . . . . . . 9Figure 2.2 Kalman Filter flow chart, showing the variables, ini-tialization step, prediction step and update step. . . . 15Figure 3.1 NXP LPC1768 Microprocessor (top) and its connec-tion with the DWM1000 Module (bottom). . . . . . 21Figure 3.2 Decawave Two Way Ranging (TWR) concept. . . . . 22Figure 3.3 Indoor measurement setup for the DWM1000 mod-ule. The test was performed in a long corridor at theSchulich School of Engineering at the University ofCalgary. . . . . . . . . . . . . . . . . . . . . . . . . . . 22Figure 3.4 Indoor DWM1000 range errors as a function of dis-tance. At each distance the variation of the measure-ment errors are plotted along with the mean value ofthe errors. . . . . . . . . . . . . . . . . . . . . . . . . 23Figure 3.5 Indoor range measurements with 500 requests at dif-ferent distances. Less than 500 measurements indi-cates a drop in the connection and loss of a rangemeasurement. The reference points are steps of 5 meach and the error in the measurement is to be cal-culated. . . . . . . . . . . . . . . . . . . . . . . . . . . 24Figure 3.6 Outdoor measurement setup for the DWM1000 Mod-ule. The test was performed on a sports field at theUniversity of Calgary. . . . . . . . . . . . . . . . . . . 26Figure 3.7 DWM1000 outdoor range errors as a function of dis-tance. At each distance the variation of the measure-ment errors are plotted along with the mean value ofthe errors. . . . . . . . . . . . . . . . . . . . . . . . . 26ixLIST OF FIGURESFigure 3.8 Range measurements for 500 requests at different dis-tances for outdoor measurements. Less than 500 mea-surements indicates a drop in the connection and lossof a range measurement. . . . . . . . . . . . . . . . . 27Figure 3.9 Testing the TREK1000 Module. The Leica TS06 to-tal station was used for true measurements, whilethe modules are placed at different distances in in-crements of 10 m. The test was performed on thesidewalk near the bus station at UBC Okanagan. . . . 29Figure 3.10 Range measurements with 444 requests at differentdistances for outdoor measurements. Less than 444measurements indicates a drop in the connection andloss of a range measurement. The reference points aresteps of 10 m each and the error in the measurementis to be calculated. . . . . . . . . . . . . . . . . . . . . 30Figure 3.11 Drop rate as a function of distance for the TREK1000module. It can be seen that the drop rate is less than10% for distances from 0 to 100 m, and reaches 40%at 120 m. . . . . . . . . . . . . . . . . . . . . . . . . . 31Figure 3.12 Outdoor, TREK1000 range errors as a function ofdistance. At each distance the variation of the mea-surement errors are plotted (black dots) along withthe mean value of the errors (blue line). . . . . . . . . 32Figure 4.1 Ranges and states for the relative position betweenthe vehicles. . . . . . . . . . . . . . . . . . . . . . . . 35Figure 4.2 Ranges and states for the relative position betweenthe vehicles. . . . . . . . . . . . . . . . . . . . . . . . 35Figure 4.3 DOPx values for attitude angle θ values of 0, 30, 45and 90 ◦. . . . . . . . . . . . . . . . . . . . . . . . . 40Figure 4.4 DOPy values for attitude angle θ values of 0, 30, 45and 90 ◦. . . . . . . . . . . . . . . . . . . . . . . . . 41Figure 4.5 DOPθ values for attitude angle θ values of 0, 30, 45and 90 ◦. . . . . . . . . . . . . . . . . . . . . . . . . 42Figure 4.6 HDOP values for attitude angle θ values of 0, 30, 45and 90 ◦. . . . . . . . . . . . . . . . . . . . . . . . . 43xLIST OF FIGURESFigure 4.7 Simulated circular trajectory (black crosses) centeredat the origin and the UWB module locations (red andgreen stars). The least squares solution is shown asblue stars. Note that the there is no solution alongthe y-axis. . . . . . . . . . . . . . . . . . . . . . . . . 44Figure 4.8 Simulated circular trajectory (black crosses) centeredat a point on the positive x-axis and the UWBmodulelocations (red and green stars). The least squaressolution is shown as blue stars. . . . . . . . . . . . . . 46Figure 4.9 Simulated circular trajectory (black crosses) centeredat a point on the negative x-axis and the UWB mod-ule locations (red and green stars). The least squaressolution is shown as blue stars. . . . . . . . . . . . . . 47Figure 4.10 Simulated circular trajectory (black crosses) centeredat a point on the positive y-axis and the UWBmodulelocations (red and green stars). The least squaressolution is shown as blue stars. Any absent blue starindicates a failure in position estimation at the point. 48Figure 4.11 Simulated circular trajectory (black crosses) centeredat a point on the negative y-axis and the UWB mod-ule locations (red and green stars). The least squaressolution is shown as blue stars. . . . . . . . . . . . . . 49Figure 4.12 Simulated elliptical trajectory (black stars) and theUWB module locations (blue squares). The leastsquares solution is shown as red crosses. . . . . . . . . 50Figure 5.1 Test setup on the moving vehicle, including the twoUWB modules attached above the sides of the vehicleand the equipment used for the GNSS/INS system(GPS antenna and INS device). . . . . . . . . . . . . 54Figure 5.2 Setup for the first scenario field test, in which theUWBmodules are attached along with the GNSS/INSequipment on both the vehicle and the cart. The cartwill be stationary denoting the reference vehicle whilethe vehicle will be moving around the cart. Measure-ments from all devices will be logged and analyzed. . 55xiLIST OF FIGURESFigure 5.3 The trajectory for the first scenario Test. The bluestar denotes the stationary cart acting as the refer-ence vehicle, while the red line denotes the movingvehicle which moves in a counter clockwise direction.Since the reference vehicle is stationary, the trajec-tory of the moving vehicle can be easily transformedinto the body frame of the reference vehicle using theGNSS/INS solution. . . . . . . . . . . . . . . . . . . 55Figure 5.4 Diagram of the position of the positioning devices onthe stationary cart. The dimensions are used to calcu-late the coordinates of one vehicle in the body frameof the other (image not to scale). . . . . . . . . . . . 56Figure 5.5 Diagram of the position of the positioning devices onthe moving car. The dimensions are used to calculatethe coordinates of one vehicle in the body frame ofthe other (image not to scale). . . . . . . . . . . . . 57Figure 5.6 Kalman filter positioning algorithm solution using sim-ulated ranges (red crosses) and the reference positionacquired from GNSS/INS (black stars). . . . . . . . . 58Figure 5.7 Estimated state values (x, y, θ) when applying theKalman filter on the simulated ranges (red lines) andthe reference values for the states calculated from theGNSS/INS trajectory (black lines). . . . . . . . . . . 59Figure 5.8 Errors in states are identified as the difference be-tween the estimated values of the states when apply-ing the simulated ranges to the Kalman filter, andthe values for the same states calculated from theGNSS/INS trajectory. . . . . . . . . . . . . . . . . . . 60Figure 5.9 The measured UWB ranges values for R1 versus theGNSS acquired ranges (simulated) for the test timeinterval (top). The range error values are calculatedand plotted (bottom). Notice the error values intro-duced at approximately the 35 minutes mark. . . . . 61Figure 5.10 The measured UWB ranges values for R2 versus theGNSS acquired ranges (simulated) for the test (top).The range error values are calculated and plotted(bottom). . . . . . . . . . . . . . . . . . . . . . . . . . 62xiiLIST OF FIGURESFigure 5.11 The measured UWB ranges values for R3 versus theGNSS acquired ranges (simulated) for the test (top).Notice the error values introduced at approximatelythe 35 minutes mark. The range error values are cal-culated and plotted as well (bottom). . . . . . . . . . 63Figure 5.12 The measured UWB ranges values for R4 versus theGNSS acquired ranges (simulated) for the test time(top). The range error values are calculated and plot-ted as well (bottom). . . . . . . . . . . . . . . . . . . 64Figure 5.13 Estimated state values (x, y, θ) when applying theKalman filter on the UWB ranges (red lines) andthe reference values for the states calculated from theGNSS/INS trajectory (black lines). . . . . . . . . . . 66Figure 5.14 Kalman filter positioning algorithm solution using theUWB ranges (red crosses) and reference values ac-quired from GNSS/INS (black stars). Here the se-lected trajectory corresponds to only 1 complete cycleperformed by Vehicle 2 around Vehicle 1. . . . . . . . 67Figure 6.1 Setup for second scenario is similar to the first. TheUWB modules and the GNSS/INS equipment are at-tached on both moving vehicles. . . . . . . . . . . . . 70Figure 6.2 Diagram of the position of the positioning devices onVehicle 1. The dimensions are used to calculate thecoordinates of one vehicle in the body frame of theother (image not to scale). . . . . . . . . . . . . . . . 70Figure 6.3 Diagram of the position of the positioning devices onVehicle 2. The dimensions are used to calculate thecoordinates of one vehicle in the body frame of theother (Image not to scale). . . . . . . . . . . . . . . . 71Figure 6.4 View of Vehicle 1 from the inside of Vehicle 2. . . . . 71Figure 6.5 Planar view of the trajectory for the second scenario.Vehicle 1 trajectory is shown with a blue line whileVehicle 2 trajectory is shown with a green line. Thetest was performed at the University of Calgary. . . 72xiiiLIST OF FIGURESFigure 6.6 A sketch of the vehicles’ reference positions calculatedfrom the GNSS/INS data over a duration of 30 sec-onds with one rectangle per second. Here the twovehicles are actually stationary, but the precision ofthe relative position is approximately 2 m. The di-rections of the arrows indicates the heading directionsfor the vehicles. . . . . . . . . . . . . . . . . . . . . . 74Figure 6.7 A sketch of the vehicles’ reference positions calculatedfrom GNSS data only over a duration of 30 secondswith one rectangle per second. Here the vehicles ap-pear to be more stationary than with GNSS and INSas seen in Figure 6.6. The directions of the arrowsare the heading directions for the vehicles. . . . . . . 75Figure 6.8 Planar view of the trajectory and the point where thevehicles were stationary because of a traffic light. Thevehicles were stationary for approximately 30 seconds. 79Figure 6.9 The Kalman filter solution (red crosses), least squaressolution (cyan) and reference solution (black dots) forSegment 1. During Segment 1 both vehicles wherestationary. The relatively constant values of the statesindicates that the vehicles were stationary. . . . . . . 80Figure 6.10 Errors in the Kalman filter solution states for Seg-ment 1. During this segment both vehicles are sta-tionary. . . . . . . . . . . . . . . . . . . . . . . . . . . 81Figure 6.11 Range errors, calculated as the difference betweenthe reference ranges and the measured UWB ranges.There is a clear bias in ranges R3 and R4, but not inR1 and R2. . . . . . . . . . . . . . . . . . . . . . . . 82Figure 6.12 Segment 2 highlighted within the entire trajectory.The path of Vehicle 1 is illustrated with blue crosseswhile the Vehicle 2 path is illustrated with black stars.In Segment 2 Vehicle 2 follows Vehicle 1 in a straightline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Figure 6.13 The Kalman filter solution (red crosses), least squaressolution (cyan dots) and reference solution (black dots)for Segment 2. In Segment 2 Vehicle 2 follows Vehi-cle 1 in a straight line. Note that x primarily changessince the vehicles are traveling along the x-axis of thebody frame of Vehicle 1. . . . . . . . . . . . . . . . . 84xivLIST OF FIGURESFigure 6.14 Errors in the Kalman filter solution states for Seg-ment 2. During this segment Vehicle 2 is followingVehicle 1 in a straight line. . . . . . . . . . . . . . . . 85Figure 6.15 Range errors, calculated as the difference between thereference ranges and the measured UWB ranges inSegment 2, where Vehicle 2 follows Vehicle 1 in astraight line. It is clear that R3 has more error valuesduring this segment than the other ranges. . . . . . . 86Figure 6.16 Segment 3 highlighted within the entire trajectory.The path of Vehicle 1 is illustrated with blue crosseswhile Vehicle 2 path is illustrated with black stars. InSegment 3 Vehicle 2 follows Vehicle 1 while turningright. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Figure 6.17 The Kalman filter solution (red crosses), least squaressolution (cyan dots) and reference solution (black dots)for Segment 3, in which Vehicle 2 follows Vehicle 1through a right turn. . . . . . . . . . . . . . . . . . . 88Figure 6.18 Errors in the Kalman filter solution states for Seg-ment 3. During this segment Vehicle 2 follows Vehicle1 while turning right. . . . . . . . . . . . . . . . . . . 89Figure 6.19 Range errors calculated as the difference between thereference ranges and the measured UWB ranges inSegment 3, where Vehicle 2 follows Vehicle 1 whileturning right. . . . . . . . . . . . . . . . . . . . . . . . 90Figure 6.20 Segment 4 highlighted within the entire trajectory.The path of Vehicle 1 is illustrated with blue crosseswhile Vehicle 2 path is illustrated with black stars. InSegment 4 Vehicle 2 follows Vehicle 1 while turningleft. . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Figure 6.21 The Kalman filter solution (red crosses), least squaressolution (cyan dots) and reference solution (black dots)for Segment 4, where Vehicle 2 follows Vehicle 1 whileturning left. . . . . . . . . . . . . . . . . . . . . . . . 92Figure 6.22 Errors in the Kalman filter solution states for Seg-ment 3. During this segment Vehicle 2 follows Vehicle1 while turning left. . . . . . . . . . . . . . . . . . . . 94xvLIST OF FIGURESFigure 6.23 Range errors calculated as the difference between thereference ranges and the measured UWB ranges inSegment 4, where Vehicle 2 follows Vehicle 1 whileturning left. Note that there is a continuation of therange errors from Segment 1. . . . . . . . . . . . . . . 95Figure 6.24 Segment 5 highlighted within the entire trajectory.The path of Vehicle 1 is illustrated with blue crosseswhile Vehicle 2 path is illustrated with black stars. InSegment 5 the vehicles pass one another. . . . . . . . 98Figure 6.25 The Kalman filter solution (red crosses), least squaressolution (cyan dots) and reference solution (black dots)for Segment 5, when the vehicles pass one another. Itcan be seen that the least squares estimate results ina solution that is a mirrored image of the reference. 99Figure 6.26 Errors in the Kalman filter solution states for Seg-ment 5. During this segment the vehicles pass oneanother. . . . . . . . . . . . . . . . . . . . . . . . . . . 100Figure 6.27 Range errors calculated as the difference between thereference ranges and the measured UWB ranges inSegment 5, where the vehicles pass one another. . . . 101Figure 6.28 Planar view of the trajectory covered by both vehiclesin the scenario when the vehicles perform a U-turn. . 103Figure 6.29 A sketch of the vehicles when performing the U-turn.The arrow in the front part of the vehicle shows theheading direction. . . . . . . . . . . . . . . . . . . . . 104Figure 6.30 The positions of Vehicle 1 and Vehicle 2 at the mo-ment the Kalman filter begins to follow the mirroredimage solution. The arrow in the front part of thevehicle shows the heading direction. . . . . . . . . . . 105Figure 6.31 The positions of Vehicle 2 drawn in the coordinates ofthe body frame of Vehicle 1. Vehicle 2 starts behindVehicle 1 at the bottom left of the figure. When Ve-hicle 1 executes a U-turn, the position and attitudeof Vehicle 2 is making a maneuver that is not easilymodeled by the dynamics model of the Kalman filter.The arrow in the front part of the vehicle shows theheading direction. . . . . . . . . . . . . . . . . . . . . 106xviLIST OF FIGURESFigure 6.32 The Kalman filter solution (red crosses), least squaressolution (cyan) and reference solution (black dots) forSegment 6 when the vehicles are performing a U-turn.It is seen that the Kalman filter results in a mir-rored image from the reference trajectory, and theleast squares fails twice to find a valid solution. . . . 107Figure 6.33 The error values of the six states for the segmentwhere the vehicles perform a U-turn. These valuesare large as the Kalman filter solution failed to followthe trajectory correctly. Instead it created a mirroredimage around the y-axis (x values). . . . . . . . . . . 108Figure 6.34 The error values for the range measurements from thereference measurements for the U-turn scenario. . . . 109Figure 6.35 Segment 7 highlighted within the entire trajectory.The path of Vehicle 1 is illustrated with blue crosseswhile the Vehicle 2 path is illustrated with black stars.Segment 7 consists of the entire trajectory from justafter the U-turn to nearly the beginning of the tra-jectory. . . . . . . . . . . . . . . . . . . . . . . . . . 111Figure 6.36 The Kalman filter solution (red crosses), least squaressolution (cyan dots) and reference solution (black dots)for Segment 7. The Kalman filter is able to follow thereference trajectory through all of the complex ma-neuvers whereas the least squares estimation fails. . . 112Figure 6.37 A sketch of Vehicle 2 drawn in the body frame ofVehicle 1 at the moment when least squares fails toestimate θ correctly. . . . . . . . . . . . . . . . . . . . 113Figure 6.38 Errors in the Kalman filter solution states for Seg-ment 7. Segment 7 consists of the entire trajectoryfrom just after the U-turn to nearly the beginning ofthe trajectory. Error values are very low except atthe right turn. . . . . . . . . . . . . . . . . . . . . . 114Figure 6.39 Range errors, calculated as the difference between thereference ranges and the measured UWB ranges inSegment 7. . . . . . . . . . . . . . . . . . . . . . . . . 115xviiList of AbbreviationsBPM Burst Position ModulationBPSK Binary Phase Shift KeyingCAP Contention Access PeriodCIR Channel Impulse ResponseDGPS Differential Global Positioning SystemDOP Dilution of PrecisionGNSS Global Navigation Satellite SystemGPS Global Positioning SystemHDOP Horizontal Dilution of PrecisionIMU Inertial Measurement UnitINS Inertial Navigation SystemIPS Indoor Positioning SystemLiDAR Light Detection and RangingMEMS Microelectromechanical SystemsPDOP Position Dilution of PrecisionPPM Pulse Position ModulationRF Radio FrequencyRSS Received Signal StrengthRTLS Real Time Location SystemRTT Round Trip TimexviiiTOF Time of FlightTWR Two-Way RangingUWB Ultra-Wide BandV2I Vehicle-to-InfrastructureV2V Vehicle-to-VehicleV2X Vehicle-to-EverythingVDOP Vertical Dilution of PrecisionxixAcknowledgementsI would like to express my gratitude and appreciation for all who sup-ported and encouraged me to complete my PhD journey. I would like tothank my advisors, Prof. Richard Klukas and Prof. Kyle O’Keefe, for theirpatience, support, and guidance. I understand how having a supervisor fromElectrical Engineering and a supervisor from Geomatics Engineering is in-valuable for this research. I deeply appreciate all their academic support aswell as their patience during all the tough times that I have gone through.I am so grateful to them for helping me to cope with their requirementscovering multiple disciplinary that includes estimation algorithms, micro-processor programming and wave propagation.A great part of this research would not have been completed without theprecious help from my colleagues at the University of Calgary. I would liketo thank Paul Verlaine Gakne and Chandra Tjhai for their help in settingup and processing the RTK GNSS/INS used for the reference trajectories.I would also like to thank Paul Gratton, Cheng Huang and Andreas Brownfor their help during the test drive. I would like to thank Rene Manzano forproviding his help in the reassessment of the RTK GNSS/INS trajectory. Iwould also like to thank Mostafa Sakr for sharing great and useful ideas.Some of the initial work was done with the great help of Romain Bertrandand Ke´vin Honore´ from Ecole Nationale de l’Aviation Civile.There were also some great people who helped me at Queen’s Universityin understanding new technologies like Infra Red Indoor Positioning Sys-tem (IPS), and dealing with the GPS clock. For that I am very gratefulto Mohamed Essam Elsheikh and Amr El-Wakeel. I am grateful to Dr.Aboelmagd Noureldin for the useful course he taught at the University ofCalgary.I would also like to thank my lab mates and colleagues at UBC especiallyMaliha Monsur, Aaron Clements, Abdul Rahman Masoud, Aziz Alghamdi,Raed Mohsen and Mohamed Yafia for their continuous encouragement. Igreatly thank my wife, Rahaf, for accompanying me throughout this jour-ney, my parents, Mohamed Ghanem and Samia Helala, for all the help andsupport they have provided.xxDedicationTo My Parents, My Sisters, My Wife and My Child.xxiChapter 1IntroductionThe demand for autonomous vehicles is expected to grow in the next fewdecades. Autonomous vehicles are required to be easy to control in orderto help seniors and people with disabilities move around with just a fewcommands. A vehicle to vehicle communication system is also an essentialcomponent for these kinds of vehicles. Such a system can be used to controlvehicles in a swarm manner, thus increasing efficiency of the traffic flowalong the roads. In order for a vehicle to achieve safe self-drive capabilities,relative positioning of the surrounding vehicles and objects is important.Thus, a reliable and accurate positioning technique is required, along witha vehicle to vehicle communication system [1].1.1 Current Technologies, Solutions andChallengesThe most well-known positioning system is the Global Positioning Sys-tem (GPS), which is the first implementation of a Global Navigation SatelliteSystem (GNSS). It is being used worldwide as it gives an absolute solutionfor the position. Absolute positioning refers to a unique solution describedin the global coordinate system giving a position anywhere in the world.However, normal GPS receivers have an accuracy of 5 to 10 m, which isaround double the width of a normal car and slightly bigger than the widthof a lane (3.7 m). Moreover, GPS does not operate properly in urban ar-eas, where tall buildings block satellite signals and multiple reflections causesignal multipath [2].Even though a single GPS receiver can determine heading by calculatingthe difference between progressive vehicle positions in time, the calculatedheading will not be accurate if the vehicle is rotating in its place or the GPSsignal is blocked for any reason. The first problem can be solved by usinga second GPS antenna while the second problem can be solved by addinginertial sensors (accelerometers and gyroscopes) or steering angle and wheelspeed sensors. Inertial Navigation Systems (INS) can calculate the relative11.2. UWB TECHNOLOGY AND CAPABILITIESdisplacement, orientation and velocity of a moving vehicle [3]. However,two-antenna GPS attitude determination systems will not operate properlyin urban areas and INS sensors tend to drift over time and need frequentadjustments [4]. Another solution for determining the heading of a vehicleis with steering angle determination and differential odometry. However,these are subject to their own limitations, such as errors from tire wear andwheel slippage [5].Though Differential GPS (DGPS) can provide competitive relative posi-tioning between vehicles and static objects [6], in other words it can providethe position of a vehicle in the body frame of another vehicle or a staticobject. However, DGPS requires the use of a complex and expensive in-frastructure. Furthermore, its accuracy depends on the number of roversor base stations and the distance from the moving vehicles to the base sta-tion. Other systems integrated with GPS, can measure a relative position.These systems include Light Detection and Ranging (LiDAR), ultrasoundradar, and radar [7]. However, each of these systems has disadvantages. Forexample, radar is prone to interference and ultrasound radar is very shortrange (less than the size of normal vehicles). Another emerging technology isUltra-Wide Band (UWB) ranging, which can be used for vehicle-to-vehicleranging and communication. The wide frequency band helps to withstandinterference, the radio waves have a longer range than ultrasound, and thechannel can be used for communication. Recently, the prices of UWB rang-ing radios have decreased from thousands of dollars to tens of dollars. Inother words, UWB could now be considered a low cost addition to vehicles,enabling vehicles to measure position with better than 10 cm of accuracy[8].1.2 UWB Technology and CapabilitiesWhile complex and expensive sensors including LIDAR, radar and ul-trasound have been deployed commercially in the first generation of au-tonomous and semi-autonomous vehicles, UWB offers the potential of lowercost, lower complexity and competitive accuracy solution for the next gen-eration of autonomous vehicles. The low computational complexity of anUWB system will significantly decrease overall cost. Nevertheless, UWBsystems still have some limitations and exhibit sources of error. Bias errors,scale factor errors, and noise errors are some that can arise from interference,system delay or multipath. In order to enhance the estimation efficiency andaccuracy with the existence of errors in the measurements, Kalman filter-21.3. RESEARCH OBJECTIVESing can be used. The Kalman filter is a well-known technique to estimateunknowns given observations, an observation model, and a dynamics modelto remove outliers and provide prediction even if no measurements are pro-vided. In other words, Kalman filtering will increase the accuracy of theestimation, reduce the overall price of the navigation system, and facilitateintegration with other positioning sensors. UWB communication will enablea new level of cooperative communication between vehicles. In the end, theavailability of relative positioning between vehicles with attitude determi-nation and vehicle to vehicle communication will lead to better collisionavoidance, better route navigation, and will aid in the possibility of futureresearch for swarm control of vehicles [9].1.3 Research ObjectivesThe ultimate objective of this project is to develop an UWB-based co-operative vehicular positioning system to enable a network of land vehicleswith reliable positioning and attitude determination, even in the absence ofGPS signals using low cost equipment. To achieve this, the research will bedivided into four objectives as follows:1- Determine the required range and accuracy needed for vehicle navigation,and find the matching UWB module from a selection of UWB ranging radiosto select the most suitable one. The selected module will be tested and itsranging accuracy will be analyzed and reported.2- Develop and test an efficient algorithm to estimate the position and at-titude of a vehicle, using simulated and live measurements from 2 antennasor sensors attached to the sides of a vehicle and from other similar sensorson different vehicles.3- Improve the previously developed algorithm using a Kalman filter, whichwill provide more accurate results and more reliable performance duringoutages and have the ability to remove outliers.4- Validate the algorithm by building a prototype using the UWB rangingradios as the sensors in order to achieve a positioning accuracy of 0.5 m orbetter, and an attitude accuracy better than 45◦ over distances of at least100 m.1.4 Research ContributionThe work presented in this thesis makes three significant contributionsto the area of positioning and navigation. The first contribution is the de-31.5. THESIS LAYOUTsign and development of a relative position and attitude estimation systemfor vehicles using multiple UWB ranges only. The second is a detailed ob-servability and error analysis of the designed system. The third contributionis the assessment of the system’s ability to operate under various, common,vehicle-to-vehicle positioning scenarios.1.5 Thesis LayoutThe remainder of this thesis consists of the following chapters.Chapter 2 gives an overview of current positioning sensors that are eitherinstalled on vehicles or are under test for future use in autonomous vehicles.Each of these positioning sensors has its own strengths and weaknesses.Sometimes two sensors are fused together to gain the advantages of bothsensors. There will be a focus on UWB as it is the sensor used in theresearch of this thesis.Chapter 3 covers the capabilities of the Ultra-Wide Band (UWB) mod-ules, which are used throughout the thesis. First there is a brief introductionabout the circuit included in the module and the way of communicating withit. Then the module is tested to quantize its maximum range and the ex-pected error values when it is used to measure range.Chapter 4 describes the basics of position estimation algorithms. Fromidentifying the relationship between position states and the measurements,to overcoming the bias and random errors in the measured ranges. Further-more, an observability analysis is conducted to gain clearer perspective ofthe strengths and limitations of the proposed algorithm. In the end thereis an explanation of the Kalman filter algorithm which is proposed in thisthesis.Chapter 5 presents the first test conducted with the modules. The mod-ules are used to log ranges between stationary and moving vehicles. Then therange measurements are used in the proposed position estimation algorithmto verify the observability analysis completed in Chapter 4. Furthermore,thefilter parameters are tuned to achieve better position estimation.Chapter 6 presents a second test, which includes more complicated driv-ing scenarios. Contrary to Chapter 5, the entire test trajectory is dividedinto segments to show the strengths and limitations of the Kalman filter ineach individual segment. The Kalman solution is compared to a referencetrajectory and the values of errors in the estimation process are quantifiedand presented.Chapter 7 provides conclusions from the tests and recommendations for41.5. THESIS LAYOUTfuture work are also discussed.5Chapter 2Technical BackgroundThe search for a complete system for vehicle positioning and navigationis ongoing. There are many technologies and systems that are used forvehicle positioning. Generally, these systems can either provide an absoluteposition of an object, track the movement of an object, or estimate theposition of an object with respect to another. The latter is also known asrelative positioning.2.1 Advancements in Relative PositioningIn many applications, relative positioning is more important than ab-solute positioning. For example, autonomous vehicles should be able tomeasure their range and attitude with respect to surrounding objects. Thisenables the system in control of the vehicle to recognize the nature of theobjects and calculate decisions for safe and efficient driving. The applicationof vehicle positioning is not limited to civilian vehicles on urban communitystreets. Positioning is also important for many other vehicles in various en-vironments. For example, a robust and reliable navigation and positioningsystem is required in the agricultural sector [10], [11]. There are alreadymultiple technologies that are a good fit for the agricultural applications[12], [13]. However, research is ongoing to enable multiple vehicles or robotsto simultaneously work in the field [14], through the use of a reliable relativepositioning system. Another important example is in the field of warehousemanagement where the required precise location of robots is determinedusing multiple indoor positioning systems [15]. Furthermore, some appli-cations, such as mining, have very unique requirements for positioning andnavigation, and do not use the same well known positioning technologies asapplications above ground. However, such applications require high accu-racy position estimation in three dimensional space [16].Specifically, for relative land vehicle navigation, requirements for an ef-fective system include good accuracy (around 0.5 m) and an appropriatedata rate (10 Hz) [17]. Measurement range depends upon the situation ofthe vehicles, speed, traffic density and line of sight (LOS) conditions. An62.1. ADVANCEMENTS IN RELATIVE POSITIONINGautonomous vehicle should know if there is an incident within 300 m of aninfrastructure node. The collision warning model assumes a measurementrange of 200 m between vehicles. Parking control systems require a shortrange that does not exceed 50 m. Real time traffic control and forwardcollision warning systems require 200 m of range [18]. A medium measure-ment range of around 200 m can be targeted for implementation [19]. Theserequirements are not achievable with single point GNSS [20], [21].Single point GNSS can not offer the level of accuracy and coverage re-quired by land vehicles for autonomous navigation. GPS, for example, offers5-10 m accuracy, needs a direct line of sight link to satellites and updateslocation with a data rate of 1 Hz. Higher data rates of 5 and 10 Hz canbe achieved, but they result in poorer accuracy [22] or more complexity.Other systems include vehicle-based ultrasound radar systems, used for carparking, that use reflection from passive objects. The system can detectobjects that are more than 10 cm in diameter with a measurement rangethat reaches 2.5 m [23]. Light Detection and Ranging (LIDAR) offer goodresolution and range, and is currently included on new autonomous vehi-cles. However, its performance depends on weather conditions, street viewsand speed [24]. Finally, short and medium range radar systems for carshave been deployed and used for adaptive cruise control with an acceptablerange, high data rates and work without the need for line of sight. However,their narrow bandwidth is prone to interference and cannot perform well innoisy environments. Furthermore, the radiation pattern in most cases willhave a very narrow beam width which may lead to very large blind spots.Another method of localization is through movement tracking or deadreckoning. It has increased in popularity since the emergence of low costMicro-Electro-Mechanical Systems (MEMS) IMUs (Inertial MeasurementUnits). Dead reckoning is simply a process of calculating the current posi-tion of a moving object by using previous position with equations involvingestimations of speed, heading direction and course over elapsed time. It canalso be configured with an IMU to measure direction [25]. Dead reckoninghas the problem of drifting over time. Furthermore, dead reckoning only pro-vides a relative position to the starting point which requires re-calibrationevery time it starts. This has been done using other localization techniqueslike GPS [26]. Nevertheless, this method still faces the problem of driftingand eventually the introduction of large errors in GPS denied areas.Attitude determination is the process of determining the direction of thefront heading of a vehicle. It is of great importance for navigation and en-ables prediction of the vehicle location in case there is no other measurementavailable. There are a number of ways to determine attitude. One is through72.1. ADVANCEMENTS IN RELATIVE POSITIONINGmeasuring the difference in position and determining the direction with thebiggest change. Another is with INS, namely gyroscopes and accelerometers.Both gyroscopes and accelerometers can be built with low-cost MEMS onan IC package. The main concern is their measurements tend to drift overtime and they need to be calibrated regularly. GPS has been proposed andimplemented to re-calibrate these systems along with a filtering techniqueto decrease the effect of drifting [24], [27], [28]. This has been proven tobe a feasible and promising solution. However, it is still facing the mainchallenges GPS encounters in urban areas, such as low accuracy and outage[29], [4].An interesting concept is the determination of attitude using multipleGPS receivers on a vehicle. It has been shown that a multi-antenna GPSsystem can be used as a compass on 72 m long ships with an error lessthan 2.2 arcmins [30]. This was later developed to be used on cars usinghigh precision GNSS receivers and results show an accuracy in estimatingthe heading angle that is better than 31◦ at GPS update rate of 1 Hz, andbetter than 4◦ at GPS update rate of 10 Hz [31]. The performance canbe increased using antenna arrays to give an accuracy that ranges from12◦ to 1◦ depending on the GPS satellite elevation angle (position) [32].Nevertheless, this solution will not overcome multipath, and will definitelysuffer from signal outage, and hence will not operate sufficiently in urbanareas.All of the above mentioned positioning techniques do not offer inter-communication between vehicles. Each vehicle is solving for its positionindependently from all other vehicles. However, researchers are proposingvarious methods of vehicle to vehicle communication through WiFi, Zigbeeand spread spectrum techniques to construct an ad-hoc network called thevehicular ad-hoc network (VANET) [33], [34]. In addition, the communica-tion system can be expanded to include more nodes including mobile andnon-mobile nodes such as traffic lights and road signs and is called a mobilead-hoc Network (MANET). VANET is seen as a special case of MANETwhere all nodes are vehicles. It is worth noting that these communicationsystems are also referred to as V2V when two vehicles are communicatingwith each other, V2I when vehicles are communicating with infrastructureand sometimes as V2X when vehicles are communicating with any movingobject around them [35], [36], [37].In any case, these networks enable vehicles to share information suchas traffic reports, road transportation emergency and on road services [38],[39]. Furthermore, vehicle-to-vehicle communication enables researchers tomimic the navigation scenarios applied by animal groups such as birds or82.2. UWB POSITIONINGFigure 2.1: Power spectral density for wireless technologies used for posi-tioning.fish [40], [41]. In other words, researchers are able to formulate the flockalgorithm, which simulates the movement of birds and fish, and apply thealgorithm to robots [42]. The algorithm can be applied to moving vehiclesand can enable more efficient navigation with no collision over maximumspeed, and enable cooperative solutions for new paths [43], [44].2.2 UWB PositioningSimultaneous inter-communication and distance measurement can beperformed with UWB. UWB utilizes three ranges of frequencies: below 1GHz, from 3 to 5 GHz and between 6 and 10 GHz [45], [46], as can be seenin Figure 2.1[47]. This wide bandwidth offers higher data rates and betternoise performance. There are some manufacturers that have used UWBtechnology to develop hardware capable of measuring distances. Time Do-main, Decawave, Ubisense and BeSpoon are amongst these companies. Theyoffer chips that vary in their data rate, packaging, software and radiatingantennas [8].Although the accuracy of UWB ranging systems was initially questioned,when the range measurement was based on received signal strength (RSS)[48], [49], range measurements based upon time of arrival or time differenceof arrival offer great potential, especially when the RF system is properly92.2. UWB POSITIONINGdesigned [50], [51]. Hence, UWB was seen to be a very useful technologyfor indoor positioning and has been used in many applications and scenarios[52], [53], [54].Furthermore, a system integrating INS with four UWB ranges was ableto estimate position within a 4x4 m2 area with an accuracy on the order of5 cm [55]. Another system was able to use 15 receivers in an approximately25x35 m2 area and offer decimeter range accuracy [56]. UWB location sys-tems have been shown to have better accuracy than other wireless locationsystems based on RSS to locate workers inside a coal mine [57]. UWB canalso be used in a real-time positioning system, that is capable of provid-ing kinematic data for many indoor positioning applications. These includewarehouse asset tracking, worksite safety applications [58], [59], and moni-toring the performance of a professional athlete during their recovery aftersurgery [60].UWB range measurements have also been studied as an add on tech-nology to other well established technologies for better position estimationfor both indoor and outdoor applications. For example, UWB ranges wereintegrated with GPS to improve positioning accuracy, to be comparablewith that of RTK systems [61]. UWB was also tightly coupled with GPSto overcome UWB system errors [62], and can operate in urban areas withsub-meter accuracy [63]. A system of GPS/MEMS/INS was augmentedwith a low cost UWB system in a loosely-coupled manner to offer 3D po-sition accuracy that is better than 20 cm [64]. UWB has been integratedwith GPS/INS and shown to operate in GPS-challenged or denied areas toachieve a horizontal position accuracy of 0.5 m or better [65]. A UWB posi-tioning system was used to control a robot following another robot, with anaccuracy of 10 cm at a speed of 0.5 m/sec (3.6 km/h) within an operationalrange of 2 m [66].GPS and UWB measurements can also be exchanged between movingvehicles in a scenario of collaborative positioning to achieve better positionperformance over single point GPS [67]. UWB has also been studied for V2Vrelative positioning in a VANET. Using single-differenced GPS (DGPS) ob-servations and inter-vehicular ranges measured by UWB, a position accuracyof 20-30 cm was achieved [68].Table 2.1 summarizes the current technologies used for vehicle position-ing, along with their operational range and potential accuracy.102.3. ESTIMATION ALGORITHMSTable 2.1: Comparison of wireless positioning technologies.Technology Range PositionErrorComplexity Cost ReferenceGNSS Global 4-10 m High Low [1], [2]INS 10-100 m 1% Low High [4]LiDAR 200 m 0.02m High High [1]Vision 40 m 1-5 m High High [1]UWB 200 20 cm Low Low [8]2.3 Estimation AlgorithmsPosition and attitude are estimated using two estimation algorithms,least squares and a Kalman filter. These estimators are first constructed,then tested with simulated ranges before being used with actual UWBranges.2.3.1 Least SquaresLeast squares has been used to provide a solution for an over-determinedset of linear equations, that is when a system has more equations thanunknowns. These equations may be inconsistent due to errors or noise inthe measurements. Least squares is used for many applications ranging fromcurve fitting to position estimation. The equation for linear least squarescan be written as follows:l =Hx (2.1)xˆ = [HTC−1l H]−1HTC−1l l (2.2)where the relation between the position vector states (x) and measurements(l) is given by the linear model H, and xˆ is the estimated state vector.Least squares is based on minimizing the sum of the squares of the residuals.The residuals are the differences between the actual measurements and theadjusted measurements corresponding to the estimated solution.However, there are many applications where the relationship is not lin-ear.In such cases non-linear least squares can be used instead. A non-linearleast squares problem will not provide a closed solution, but it will providea numerical approach to the problem that is solved by iteration [69].The relationship between the state (x) and measurements (l) is givenby the non linear mathematical model f(x). The difference between the112.3. ESTIMATION ALGORITHMSranges at the estimated position and the measured ranges is defined as themisclosure vector w. A correction parameter, δ, for the estimated positionis then calculated to modify the position estimate until δ is below a certainthreshold. The equations for non-linear parametric least squares can bewritten as follows:l = f(x) (2.3)H =∂l∂x(2.4)xˆ = xo + δ (2.5)w = l− f(xo) (2.6)δ = [HTC−1l H]−1HTC−1l w (2.7)where xo is defined as the initial or best estimate for the position, f(x) isadjusted after the first iteration using xˆ instead of xo, Cl is the covariancematrix of the measurements and P is the covariance matrix of the estimatedposition parameters. It is assumed that the observations are uncorrelatedand the parameters are uncorrelated as well. Therefore, the two unscaledcovariance matrices will each be equal to an identity matrix. The matrix His defined as the design matrix, which is calculated by the rate of change ofthe measurements with respect to the unknown states. In other words it isthe partial derivative of f(x) with respect to the unknowns.The magnitude of the estimation errors needs to be determined for dif-ferent circumstances. Consequently, measurements were performed for dif-ferent scenarios, such as different distances between the modules with andwithout LOS and using multiple modules simultaneously. The accuracy ofthe estimated positions was recorded for each case. Note that all the sce-narios are done in static mode as the algorithm will not be easy to validatein the dynamic case.The impact of geometry on the estimation process can be calculated us-ing Dilution of Precession (DOP). DOP is a unitless value which is used tospecify the additional multiplicative effect of geometry on positional mea-surement precision. There are subcategories of DOP, such as, horizontaldilution of precision (HDOP), vertical dilution of precision (VDOP), and122.3. ESTIMATION ALGORITHMSposition dilution of precision (PDOP). DOP is calculated using the cofac-tor matrix of the estimated parameters due to the geometry of the mea-surements. Assuming the measurement variance is identity, DOP can becalculated as followsQ = (HTH)−1 (2.8)whereH is the same design matrix used above. The co-factor matrix Q canbe converted into the covariance matrix P by multiplying by the measure-ment variance σ2 if it is assumed that all of the measurements have an equalvariance. As the measurements may be used to estimate the position, theymay also be used to estimate other useful information about the vehicle,such as its heading. Therefore a state vector can be defined as the positionparameters alongside other parameters. In this case, if one assumes a statevector with 3 estimated values, two for position (x and y) and one for thevehicle heading (θ), the Q matrix will be a 3x3 matrix and can be writtenas followsQ = q2x qxy qxθqxy q2y qyθqxθ qyθ q2θ = P /σ2 (2.9)where the diagonal elements are the variances of the error in the estimatedparameters, while the off-diagonal elements are the error cofactor valuesbetween each different estimated parameter. DOP can be calculated foreach parameter, or in other wordsDOPx =√q2x (2.10)The horizontal dilution of position (HDOP) can be calculated from the Qmatrix as followsHDOP =√q2x + q2y (2.11)HDOP is independent from the measurements and can be calculatedwithout them. Nevertheless, its value illustrates the expected error valuein the estimated position due to the errors existing in the measurementsand the effect of geometry. In other words, higher HDOP values mean thathigher errors in the estimated position may exist for a given measurementerror. It is desired that the HDOP value be as low as possible in order tominimize the estimated position error.HDOP =√q2x + q2y (2.12)132.3. ESTIMATION ALGORITHMS2.3.2 Kalman FilterIn practical cases, UWB measurements have a bias error that is on theorder of 10 cm [70] and additive bias errors can exist with an average of20 cm [71]. These values were measured in clear line of sight conditionsand on short distances in indoor localization scenarios. Optimization of themeasurements can be accomplished through filtering to achieve an accuracyof 1 or 2 cm using least squares in simple trajectory scenarios [72]. Themeasurement rate of 10 Hz is claimed to not be helpful for high speed motiontrajectories using least squares [73]. Nevertheless, position estimation canbe greatly enhanced using a filtering algorithm. The most famous is theKalman filter. Kalman filters are widely used for the simplicity offered bythe algorithm and can be applied to non-linear systems by approximatingthe system with a linear model. In this case it is called the Extended KalmanFilter (EKF) and it has been shown that it can decrease errors by more than50% even in complex indoor trajectories [74].The use of the Kalman filter involves the definition of a dynamic modelthat describes the movement of the vehicle. The dynamic model is themathematical description of the motion of objects (like vehicles and robots)over time. In other words, it contains the equations relating the previousstate of the object with its state later in time enabling prediction withoutmeasurements. The dynamic model depends on the definition of the stateparameters which define the relevant characteristics of the object such ashorizontal position, velocity, altitude and clock errors [75], [76].In any case, multiple measurements using different sensors can be usedto estimate the state parameters by mixing together the readings or mea-surements from different technologies together. This can result in a betterposition estimate. For example, UWB modules when coupled with GPSmeasurements in outdoor environments resulted in position estimation accu-racies from 10 cm to 70 cm depending on the LOS conditions [77]. However,most of the research done was using one node per object, either stationaryor moving. Multiple UWB modules placed on a flying robot were used toobtain omni-directional radiation and using the multiple measurements toenhance the position estimate [78].To achieve reliable positioning performance, an algorithm to merge datafrom different sensors is needed. This algorithm should be able to adaptto different situations by giving weights dependent upon the measurementerror standard deviation to the more reliable data in each situation. Someinitial work has been done in this area using Kalman filters but furtherinvestigation to achieve reliable performance is still required.142.3. ESTIMATION ALGORITHMSFigure 2.2: Kalman Filter flow chart, showing the variables, initializationstep, prediction step and update step.For better estimation of vehicle location in real time, a solution canbe developed in the future involving different real time location systems(RTLS) to overcome the known drawbacks of each individual system. Thereis a growing demand for multi-system integration approaches that can fusedifferent position solutions maximizing the advantages of each individualsystem while mitigating their drawbacks. When this is achieved, the systemwill be able to measure its absolute position, relative position with respectto surrounding vehicles and will be able to communicate with them, thusenabling a more efficient navigation.The Kalman filter flow chart is shown in Figure 2.2 wherexˆn(−) is the predicted state vector at measurement n;152.3. ESTIMATION ALGORITHMSxˆn(+) is the updated state vector at measurement n;P n(−) is the predicted state covariance matrix;P n(+) is the updated state covariance matrix;H is the design matrix;K is the Kalman gain matrix;Q is the covariance matrix for the system noise;Cl is the covariance matrix for the measurement noise;x is the state vector at measurement n;l is the measurements vector;Φ is the state transition matrix for the linearized system.The flowchart can be easily modified to obtain an extended Kalman filterby applying the same non-linear least squares equations (Equation 2.6 and2.7) to the Kalman filter equations, such that the state estimation updateequation becomes:xˆn(+) = xˆn(−) +Knw (2.13)where w is the misclosure at the predicted state.A significant contribution of this research is to select the parameters forthe state vector xn and formulate the state transition matrix Φ accordingto the application at hand. The state vector will have horizontal positionparameters and attitude parameters. It can be extended to include otherparameters that can be estimated, such as velocity. The parameters will beselected to increase the observability of the dynamic models. For example,one of the simplest dynamics model is using just the position and velocitywhere the state vector in one dimension can be written as:xˆn =[yky˙k](2.14)where yk is the position and y˙k is the velocity in one dimension at time k.Since position is related to velocity with the equation yk = y(k−1)+∆t(y˙k),the state transition matrix Φ can be expressed as follows:Φ =[1 ∆t0 1](2.15)The initial value for the state covariance matrix P , which is denoted byB, is dependent on the the accuracy of the initial states. It is also worthstating that selecting the variables for the state vector xn in three dimen-sional space for the moving vehicle is a challenge. The simple proposal of162.3. ESTIMATION ALGORITHMSusing position, velocity and acceleration has already been used but its per-formance degrades with angular motion. Current implementations includethe estimation of errors in attitude, and angular velocity. Thus the statematrix may be contain up to 15 elements (for 3 dimensions there are 3elements of position, velocity, acceleration, attitude and angular velocity).Hence the state transition matrix will be of dimension 15x15. An exampleof the corresponding state matrix isx =pxpypzvxvyvzaxayazwzwywzfxfyfz(2.16)wherep is the position estimate in a given direction,v is the velocity estimate in a given direction,a is the acceleration estimate in a given direction,w is the angular velocity estimate in a given direction,f is the attitude estimate in a given direction.The mathematical model must take into consideration the statisticalproperties of each parameter and the measurement frequency in time. Inother words, if the measurements are fast enough to measure the change instates such that the change in parameters can be linearized, then all thevalues for the states can be easily calculated in this small time interval.If the measurement frequency is not high enough, then more complicatedcalculations for estimating the values based on the stochastic model, suchas random walk, will be needed for better observability and controllability.172.4. SUMMARY2.4 SummaryIn this chapter, the importance of relative positioning is explained. Anintroduction of various positioning technologies is given, and their appli-cability for current applications is discussed. These technologies generallyprovide measurements that can be used to estimate position. Position esti-mation can be done using least squares, the Kalman filter and other estima-tion algorithms. The Kalman filter has several advantages when comparedto least squares, and is easy to apply.18Chapter 3UWB ModuleDecawave DWM1000 modules are fully integrated low power CMOSchips, compliant with the IEEE 802.15.4-2011 UWB standard. These mod-ules offer ranging measurements with an accuracy of ±10 cm using two-wayranging (TWR) time of flight (TOF) measurements. The manufacturer esti-mates a real-time location accuracy for a moving tag of approximately ±30cm in two dimensional plane. A maximum measurable range of 300 m ispossible in ideal conditions.Each UWB module can be configured as an anchor or as a tag by asimple change in its software. By using dip switches, it is possible to selectamongst two data rates (110 kb/s and 6.8 Mb/s). By default, the config-uration settings are 4 GHz as the central frequency and a 110 kbps datarate. This data rate is the recommended configuration for maximum dis-tance measurement. According to the manufacturer, a ranging update rateof 3.5 Hz is expected for one moving tag (update rate is lowered as thenumber of tags is increased since they are time multiplexed) [45].UWB measurements use a very short pulse (< 2ns) which translates intoa large bandwidth (>500 MHz), and in the case of the Decawave modulethe bandwidth is 1.3 GHz. This enables the radios to measure a fine gradeversion of the channel impulse response (CIR) and consequently helps themodule to distinguish the signal’s leading path from multipath components.The result is a time of arrival estimate with a precision of 15 ps, in idealscenarios [79] which translates to 4.5 cm. It is worth noting that UWB mea-surements use a combination of burst position modulation (BPM) (whichis an enhancement of Pulse Position Modulation (PPM)) and binary phaseshift keying (BPSK) to modulate the symbols, with each symbol being com-posed of an active burst of UWB pulses [80].193.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICS3.1 Decawave UWB DWM1000 ModuleCharacteristicsThe Decawave DWM1000 is easily configurable using C code and is in-expensive. This UWB module is required to make both indoor and out-door measurements. Primary settings are set by connecting the DecawaveDWM1000 to the NXP LPC1768 micro-controller in which a C program isrun to read and save the measurements. The DWM1000 module gives a mea-surement output on a 0.1 cm display. We desire to determine the range andaccuracy of the measurements. Other researchers have reported an accuracyof 0.2 m [45]. Given that a vehicle’s length and width are approximately 4.7m and 2 m respectively, and the lane width is approximately 2.7 m, 0.2 maccuracy is acceptable for the application of relative positioning.Multiple tests are conducted to confirm the accuracy. Each test is con-ducted by measuring the range between two modules placed at known lo-cations. The measurements are then compared with the true distance mea-sured through other means. A sufficient number of measurements should beconducted to examine the error performance. For example, a number of 500measurements was selected to test the DWM1000 at each distance. Thesemeasurements will be compared to the same distances measured with a tapemeasure. The results will give more understanding of the accuracy of themeasurements.3.1.1 Hardware SetupAs seen from Figre 3.1, the UWB modules are connected to a micro-controller, which is programmed to read the data from the DWM1000 andtransfer the data through a serial port either to a laptop or a flash memory.There the ranges being measured are written into a text file and saved foranalysis. The text file saves the time stamp alongside each measured range.The UWB modules measure the range by calculating the Round-Trip Time(RTT) of the signal transmitted between the anchor and the tag. That isto say that the signal is transmitted by the anchor, propagates to the tag,and is then retransmitted by the tag to the anchor as seen in Figure 3.2.Each module is assigned a different tag number or an anchor number. Thedesign only allows mesurements from an anchor to a tag. In other words,we can not measure the distance between a tag and another tag or betweenan anchor and another anchor.203.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.1: NXP LPC1768 Microprocessor (top) and its connection with theDWM1000 Module (bottom).3.1.2 Indoor MeasurementsThe DWM1000 datasheet claims a maximum operational range of 290m and a range accuracy of 10 cm. Tests were made at the University of Cal-gary in which a set of two DWM1000 modules were separated by differentdistances in an indoor environment. In other words, one module was sepa-rated from the other module by a set of fixed distances, as shown in Figure3.3. These fixed distances were multiples of 5 m starting from 0 m. A dis-tance of 2.5 m was also measured. At each fixed distance the true range wasmeasured using a surveyor tape measure. The modules were programmed tosend 500 consecutive requests for measurements. The measurements werelater used to determine the average value, random and bias errors and droprate. After removing the bias, the accuracy of the measurements was calcu-lated. Figure 3.4 shows the range measurements at the different distances.Note that although the number of measurements was 500 at each specifieddistance, the number of successful measurements didn’t reach 500 due tothe dropping of some measurements. The signal drop rate is generally dueto signal scattering and interference from other wireless devices.From the measured data, it was found that the biggest error was the biaserror. The minimum bias value was 0.4 m and the maximum is 1 m. Theaverage value of bias error for all the indoor measurements was found to be0.65 m. This value may be acceptable for individual range measurementsbut will complicate attitude angles determination. The standard deviationof the measured ranges, when averaged over all of the test distances, was213.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.2: Decawave Two Way Ranging (TWR) concept.Figure 3.3: Indoor measurement setup for the DWM1000 module. The testwas performed in a long corridor at the Schulich School of Engineering atthe University of Calgary.223.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.4: Indoor DWM1000 range errors as a function of distance. At eachdistance the variation of the measurement errors are plotted along with themean value of the errors.233.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.5: Indoor range measurements with 500 requests at different dis-tances. Less than 500 measurements indicates a drop in the connection andloss of a range measurement. The reference points are steps of 5 m each andthe error in the measurement is to be calculated.243.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSfound to be of 0.12 m. Range error variation, as a function of distance, isshown in Figure 3.4. The maximum operational range was determined fromthe results shown in Figure 3.5. For indoor measurements the maximumoperational distance was found to be 40 m, beyond which all measurementswere dropped.3.1.3 Outdoor MeasurementsIn the second test, the outdoor capabilities of the DWM1000 modulewere investigated. The same procedure was used as in the first (indoor) test,with the clear weather conditions seen in Figure 3.6. Outdoor measurementsexperienced a significant amount of signal drop. Although 500 requests weresent from the anchor module, as seen from Figure 3.7 more than 80% of therequests were not completed and hence no measurement recorded.Similar to the indoor measurements, the biggest error was the bias error.However, the value of the bias is much greater outdoors than indoors. Theaverage value of the bias error outdoors is 0.9 m and the bias error valuevaries from 0.68 to 1.3 m. The standard deviation is similar to that of theindoor measurements at approximately 0.1 m. The measurement errors ateach test distance are shown in Figure 3.7.Similar to the indoor measurements, the drop rate is used to determinethe maximum range for the outdoor measurements. In the outdoor case,it is found that the drop rate is significantly larger than in the indoor caseand it reaches 80% at a distance of just 10 m. The measurements drop ratecount is shown in Figure 3.8. The signal is completely absent at 35 m and,therefore, this is considered to be the maximum operational distance. Thehigh drop rate is not only due to interference from various sources, but isalso due to the scattering of the signal. This is in contrast to the indoorcase where the signal experiences multiple reflections from the walls, as ifthe wave is propagating through a wave-guide. This eventually results inlower apparent losses. It is also important to notice that the surface area ofthe antenna is relatively small, which in return decreases the antenna gain.Overall, this is considered a challenge since the short operational distanceof 10 m is not practical for vehicle navigation.3.1.4 Limitations of the ModuleAs seen from the results of the tests conducted outdoors and indoors,the maximum operational distance is a significant limitation of this modulealong with the bias value in the measurements. A proposed solution for the253.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.6: Outdoor measurement setup for the DWM1000 Module. Thetest was performed on a sports field at the University of Calgary.Figure 3.7: DWM1000 outdoor range errors as a function of distance. Ateach distance the variation of the measurement errors are plotted along withthe mean value of the errors.263.1. DECAWAVE UWB DWM1000 MODULE CHARACTERISTICSFigure 3.8: Range measurements for 500 requests at different distances foroutdoor measurements. Less than 500 measurements indicates a drop in theconnection and loss of a range measurement.273.2. DECAWAVE ADVANCED MODULE TREK1000short range is to use the improved module TREK1000. It is claimed thatthe TREK1000 has an operational distance of more than 100 m in LOS con-ditions (300 m in the best case scenario). Even though both modules use thesame chipset, the TREK1000 module uses a more directive antenna with anactive low noise filter and has been shown to provide better measurementperformance maximizing the range and offering better error performancethan the DWM1000 [26]. The enhanced module has a bias error of ap-proximately 8 cm which is less than the bias error of the DWM1000 (≈ 50cm). Hence, the next step is to test the TREK1000 module to determine itscapabilities to determine its own limitations.3.2 Decawave Advanced Module Trek1000The TREK1000 is an improved version of the DWM1000 module. It hasmore features such as a better amplifier and an UWB antenna which betterleverages the chipset performance in terms of increasing the operationaldistance and enhancing reliability. The TREK1000 is a system designedto provide a simple Two-Way-Ranging based Real Time Location System(RTLS) evaluation system. The system can utilize three anchors and eighttags. Yet, the source code is available and can be modified so that onlytwo tags and two anchors may be used. The TREK1000 was tested on asidewalk near the bus station on the Okanagan campus of the University ofBritish Columbia as shown in Figure 3.9.The system also works at two different data-rates, 110 kbps and 6.81Mbps [81]. The 110 kbps rate offers longer range and hence it was selectedfor the proposed tests. It is modified to have an update rate of 3.57 Hz.This will give 222 range measurements per minute. In both of our proposedtests, the measurements will be saved for two minutes (120 seconds), whichmeans that there will be 444 range measurements instead of the 500 rangemeasurements collected with the DWM1000.Two tests were conducted with a pair of TREK1000 modules and thetests prove that the modules have a longer operational distance (more than120 m) and smaller bias error than the DWM1000. In the first test, a sur-veyor’s tape measure, which has a maximum length of 67 m, was used tomeasure the true distance. Consequently, it is suspected that the true dis-tance measured with the tape was accurate for ranges of 20 m, 40 m and 60m. However for a distance of 120 m, the tape measure must be placed endto end to measure the true distance. This may introduce additional mea-surement error that is not likely to exist in the true distance measurements283.2. DECAWAVE ADVANCED MODULE TREK1000Figure 3.9: Testing the TREK1000 Module. The Leica TS06 total stationwas used for true measurements, while the modules are placed at differentdistances in increments of 10 m. The test was performed on the sidewalknear the bus station at UBC Okanagan.for ranges 20, 40, and 60 m. Therefore, measurement ranges less than 60 mlikely contain errors due to the TREK1000 module alone. Whereas rangemeasurements for more than 70 m may also include a bias due to the mannerin which the true distance was measured. In this first test, the TREK1000range measurements were made at various distances in increments of 20 m.From these measurements, the drop rate was calculated to be 14%, 10%,13% and 46% at distance of 20 m, 40 m, 60 m and 120 m respectively.The test above was repeated but with a Laser total station ”Leica TS06”to measure the true measurements. The total station enables more accuratetrue range measurements than does a surveyor’s tape measure. The testwas conducted on multiple distances. These distances range from 10 m upto 120 m with an increment of 10 m. The range measurements are shown inFigure 3.10 and from the figure it is clear that the TREK1000 outperformsthe DWM1000 in both operational and accuracy. The drop rate is as low as3.1% at 10 m and reaches 40% at 120 m, as was also found during the firsttest. The droprate as a function of distance is shown in Figure 3.11.The random and bias error values at each distance are also measuredand plotted in Figure 3.12. It can be seen from the figure that the bias errorvalues are generally less than 20 cm, and the random error values are alsoclose to 20 cm.293.2. DECAWAVE ADVANCED MODULE TREK1000Figure 3.10: Range measurements with 444 requests at different distancesfor outdoor measurements. Less than 444 measurements indicates a drop inthe connection and loss of a range measurement. The reference points aresteps of 10 m each and the error in the measurement is to be calculated.303.2. DECAWAVE ADVANCED MODULE TREK1000Figure 3.11: Drop rate as a function of distance for the TREK1000 module.It can be seen that the drop rate is less than 10% for distances from 0 to100 m, and reaches 40% at 120 m.313.2. DECAWAVE ADVANCED MODULE TREK1000Figure 3.12: Outdoor, TREK1000 range errors as a function of distance.At each distance the variation of the measurement errors are plotted (blackdots) along with the mean value of the errors (blue line).323.3. SUMMARY3.2.1 Selecting the Update RateThe TREK1000 module offers options for 2 data rates between the tagand the anchor, 6.8 Mbps and 110 kbps. The latter has a lower data ratewhich can overcome noisy environments better. Both data rates are availableon 2 channels, Channel 2 and 5. The module identifies channel 2 at 3.993GHz and channel 5 at 6.489 GHz. The range between the anchor and thetag is measured through a time period identified as a the Contention AccessPeriod (CAP), and the time required to get the ranges from the tag to allthe anchors is named the beacon interval. The update rate can be set bychanging the beacon Interval.3.3 SummaryIn this chapter, two different Decawave UWB modules are tested to de-termine their maximum range and accuracy. The measurements performedwith the DWM1000 and the TREK1000 modules indicate that it is betterto use the TREK1000 module for the proposed application. It has a longeroperational distance and lower range error values for both short and mediumdistances. At the time of this research, it is the best candidate for the UWBmodules used in the system tested. Nevertheless, it should be noted thatthe tests discussed here were performed in a static situation and, therefore,we can expect different error values in a dynamic situation.33Chapter 4Developing the PositioningAlgorithmAfter examining the hardware capabilities, the next step is to use thehardware with the proposed estimation algorithm. It is necessary to developthe state model. Since the goal is to obtain relative positioning between twovehicles, the state model must have parameters describing one vehicle withrespect to another. A good initial design can be found in [67], where abearing angle is measured between the north direction and a vehicle whilea reference vehicle is placed at the origin. This can be used to develop amodel where three parameters can describe a vehicle with respect to anotheras seen in Figure 4.1. These parameters are: (1) the range r, which is thedistance between the reference vehicle and the vehicle under measurement,(2) the angle β which is the angle from the heading of the reference car to thecenter of the car under measurement, and (3) the angle θ which is the anglebetween the heading of the reference car and the heading of the car undermeasurement. However, using two angles in the state model will increase thecomplexity of the equations needed for position estimation. Consequently,the states are changed to x, y and θ as seen in Figure 4.2.To establish a coordinate system, the center of Vehicle 1 will be placedat the origin and faces in the direction of the positive x-axis. The lineconnecting the two UWB sensors on the vehicle is parallel to the the y-axis. Since the distance between the two sensors on Vehicle 1 is d1, thecoordinates for the sensors at the sides of Vehicle 1 will be (0,+d12) and(0,−d11). Vehicle 2 can be placed anywhere around Vehicle 1. Figure 4.2billustrates the x, y and θ coordinates of Vehicle 2 in the frame of Vehicle 1.The coordinates of the sensors on the sides of Vehicle 2 can be written as(x+d22sinθ, y+d22cosθ) and (x− d22sinθ, y− d22cosθ), where θ is measuredin the clockwise direction.The aim is to collect range measurements from the two UWB radiomodules on Vehicle 1 to each of the two UWB modules on Vehicle 2. Hence,34Figure 4.1: Ranges and states for the relative position between the vehicles.Figure 4.2: Ranges and states for the relative position between the vehicles.354.1. ESTIMATION ALGORITHM USING LEAST SQUARESthe proposed scheme measures 4 different ranges between the two vehicles.The ranges correspond to the distances between each side of a vehicle tothat of the other as shown in Figure 4.2(a). These ranges are then used toestimate the x and y coordinates and attitude (θ) of Vehicle 2 in the bodyframe of Vehicle 1. The 4 ranges are calculated as follows:R1 =√(x+d22sinθ)2 + ((y +d22cosθ)− d12)2 (4.1)R2 =√(x− d22sinθ)2 + ((y − d22cosθ)− d12)2 (4.2)R3 =√(x+d22sinθ)2 + ((y +d22cosθ) +d12)2 (4.3)R4 =√(x− d22sinθ)2 + ((y − d22cosθ) +d12)2 (4.4)Equation 4.1 shows the relationship between the unknowns and the ob-servation R1. Similar equations are formed for R2, R3, and R4 as seenin Equations 4.2, 4.3 and 4.4. Since each provides a non-linear parametricrepresentation of an observation in terms of the three unknowns x, y andθ, these observation equations represent the measurement vector l which isused in parametric estimation algorithms, such as non-linear least squares oran extended Kalman filter. A covariance analysis of this configuration wasperformed and reported in [82]. To summarize these results, the observationgeometry is particularly weak for estimating the across-track coordinate ofthe second vehicle when the vehicles are following each other and the along-track coordinate is poorly observed if the vehicles are side-by-side. Finallydue to the symmetry of the observation geometry, there are often multiplevalid solutions, and non-linear least squares will only converge to the correctsolution if the point of expansion is sufficiently near it.4.1 Estimation Algorithm using Least SquaresThe equations for least squares that were discussed in section 2.3.1 are tobe applied to the proposed measurements. It can be seen that equations 4.1to 4.4 represent the measurement vector l defined in equation 2.3. Therefore,the design matrix H is easily calculated using equation 2.4. However, since364.1. ESTIMATION ALGORITHM USING LEAST SQUARESthere are four measurements and three states, the design matrix is a 4x3matrix. The first column is calculated as follows:∂R1∂x=Ax1A1(4.5)∂R2∂x=Ax2A2(4.6)∂R3∂x=Ax3A3(4.7)∂R4∂x=Ax4A4(4.8)The second column is calculated in a similar manner as follows:∂R1∂y=Ay1A1(4.9)∂R2∂y=Ay2A2(4.10)∂R3∂y=Ay3A3(4.11)∂R4∂y=Ay4A4(4.12)and for the third column, the values are calculated as follows:∂R1∂θ=d2cos(θ)Ax1 − d2sin(θ)Ay12A1(4.13)∂R2∂θ=−d2cos(θ)Ax2 + d2sin(θ)Ay22A2(4.14)∂R3∂θ=d2cos(θ)Ax3 − d2sin(θ)Ay32A3(4.15)∂R4∂θ=−d2cos(θ)Ax4 + d2sin(θ)Ay42A4(4.16)whereA1 = −√(x+d22sinθ)2 + ((y +d22cosθ)− d12)2 (4.17)374.1. ESTIMATION ALGORITHM USING LEAST SQUARESA2 = −√(x− d22sinθ)2 + ((y − d22cosθ)− d12)2 (4.18)A3 = −√(x+d22sinθ)2 + ((y +d22cosθ) +d12)2 (4.19)A4 = −√(x− d22sinθ)2 + ((y − d22cosθ) +d12)2 (4.20)andAx1 = x+d22sinθ (4.21)Ax2 = x− d22sinθ (4.22)Ax3 = x+d22sinθ (4.23)Ax4 = x− d22sinθ (4.24)andAy1 = y +d22cosθ − d12(4.25)Ay2 = y − d22cosθ − d12(4.26)Ay3 = y +d22cosθ +d12(4.27)Ay4 = y − d22cosθ +d12(4.28)After calculating these values, the design equation for the estimationalgorithm can be populated as follows:H =∂R1∂x∂R1∂y∂R1∂θ∂R2∂x∂R2∂y∂R2∂θ∂R3∂x∂R3∂y∂R3∂θ∂R4∂x∂R4∂y∂R4∂θ (4.29)It can be observed from the design matrix that the positioning algorithmdepends solely on UWB range measurements, with no dependency on anyother positioning technology. Although the proposed UWB-only system issolely capable of providing a relative position and attitude for two moving384.2. OBSERVABILITY ANALYSISvehicles, the position and attitude estimation could be greatly enhanced byadding other technologies. For example, position and attitude determinationcan be easily estimated in both GPS accessible and denied areas.4.2 Observability AnalysisIn section 2.3 the DOP was introduced and discussed. Hence, equation2.6 is used to calculate Q from which the DOP values can be calculated. Asexplained, DOP is a value that relates the expected error in the estimationwith the errors in the measurements such asDOP =Error in Position EstimationError in Measurements(4.30)This relationship is important for determining the precision of estimatedpositions. Since equation 2.7 depends on the design matrix H, and thematrix itself is a function of x, y and θ, it is possible to calculate the DOPvalue at each point in space. It is also possible to calculate the DOP valuefor each state as seen in equation 2.10.By applying equation 2.8, the DOP in the x direction, DOPx, is cal-culated for each position in 2D space for various values of θ. The same istrue of DOPy and DOPθ. Therefore, DOP values are only calculated forthe θ values 0, 30, 45 and 90 degrees as seen in Figure 4.3. It is clear fromthe figures that there are lower values of DOPx (good geometry) along thex-axis (in front of and behind the Vehicle 1), and higher values of DOPx(poor geometry) along the y-axis, to the sides of Vehicle 1.As seen in Figure 4.4, The DOPy values are directly proportional to thedistance from the Vehicle 1. The closer Vehicle 2 is to Vehicle 1 the lowerthe DOPy value, and hence the better the geometry. It is important tonotice that the value of DOPy is very high along the y-axis as is the valueof DOPx as seen in Figure 4.3. This will have a significant effect on anyposition estimate for points along the y-axis.The DOPθ values for different positions in space are seen in Figure 4.5.The results clearly show that the higher DOPθ values (in yellow) occur alongthe y-axis of Vehicle 1 (also true for DOPx and DOPy), as well as at locationswhere the two UWB radios on Vehicle 2 form a line that passes through thecenter of Vehicle 1.DOPx and DOPy can be combined to produce HDOP and these valuesare shown in Figure 4.6. It is clear that low HDOP exist at points near andin the same direction of Vehicle 1 (in front of or behind Vehicle 1), and that394.2. OBSERVABILITY ANALYSISFigure 4.3: DOPx values for attitude angle θ values of 0, 30, 45 and 90◦.404.2. OBSERVABILITY ANALYSISFigure 4.4: DOPy values for attitude angle θ values of 0, 30, 45 and 90◦.414.2. OBSERVABILITY ANALYSISFigure 4.5: DOPθ values for attitude angle θ values of 0, 30, 45 and 90◦.424.2. OBSERVABILITY ANALYSISFigure 4.6: HDOP values for attitude angle θ values of 0, 30, 45 and 90 ◦.high HDOP (poor geometry) exist at points to the sides of Vehicle 1 or atpoints far from it.To validate these findings, the least squares algorithm is tested usingsimulated measurements for a circular trajectory. The trajectory is a per-fect circle with a radius of 20 m in the counter-clockwise direction. Thecircular trajectory is centered at the origin, where the Vehicle 1 is locatedfacing towards the positive value of the x-axis, as seen in Figure 4.7. Asexpected, the position estimates from least squares are close to the correctvalue for Vehicle 2 locations along the x-axis and estimation fails for Vehicle2 locations along the y-axis.The limitation of the least squares algorithm is further demonstratedwith simulated circular trajectories on the positive x-axis, negative x-axis,positive y-axis and negative y-axis as can be seen in Figures 4.8 to Figure4.11. Again, extremely poor geometry at Vehicle 2 locations along the y-axis434.2. OBSERVABILITY ANALYSISFigure 4.7: Simulated circular trajectory (black crosses) centered at theorigin and the UWB module locations (red and green stars). The leastsquares solution is shown as blue stars. Note that the there is no solutionalong the y-axis.444.2. OBSERVABILITY ANALYSIScauses the position estimation process to fail.The limitation of the least squares algorithm is mainly because of poorgeometry. There are multiple approaches to enhancing the position esti-mation process and one is through adding knowledge of the velocity. Anaccelerometer, for example, can be used for this purpose. However, sincethe objective is to estimate position using only UWB, the best approach isto enhance the estimation using a Kalman filter.One more step in testing the least squares algorithm is to apply simulatedmeasurements for the trajectory the is later tested in section 5.2. In thatcase, one UWB-equipped vehicle moves in an elliptical path, in a counterclockwise direction, around a stationary UWB equipped vehicle. The tra-jectory of the moving vehicle crosses the y-axis of the stationary vehicle,and proceeds in the positive x direction. Due to the high DOP value alongthe y-axis, least squares is not able to correctly estimate the position andinstead, the estimated trajectory is mirrored along the y-axis as seen in Fig-ure 4.12. This is expected since the ranges R1 to R4 have the same valuesfor the mirrored trajectory as they do for the true trajectory. Again this isa typical case where the Kalman filter can provide a better solution thanleast squares.454.2. OBSERVABILITY ANALYSISFigure 4.8: Simulated circular trajectory (black crosses) centered at a pointon the positive x-axis and the UWB module locations (red and green stars).The least squares solution is shown as blue stars.464.2. OBSERVABILITY ANALYSISFigure 4.9: Simulated circular trajectory (black crosses) centered at a pointon the negative x-axis and the UWB module locations (red and green stars).The least squares solution is shown as blue stars.474.2. OBSERVABILITY ANALYSISFigure 4.10: Simulated circular trajectory (black crosses) centered at a pointon the positive y-axis and the UWB module locations (red and green stars).The least squares solution is shown as blue stars. Any absent blue starindicates a failure in position estimation at the point.484.2. OBSERVABILITY ANALYSISFigure 4.11: Simulated circular trajectory (black crosses) centered at a pointon the negative y-axis and the UWB module locations (red and green stars).The least squares solution is shown as blue stars.494.2. OBSERVABILITY ANALYSISFigure 4.12: Simulated elliptical trajectory (black stars) and the UWB mod-ule locations (blue squares). The least squares solution is shown as redcrosses.504.3. DEVELOPING THE EXTENDED KALMAN FILTER4.3 Developing the Extended Kalman FilterTo use the Kalman filter effectively, the state must contain informationabout the velocity in both x and y directions along with the previouslymentioned states x, y and θ. The rate of change in the angle θ is also usefulso it too is added to state vector. In other words, the state vector is definedas:X = [x y θ x˙ y˙ θ˙] (4.31)The areas of poor geometry, discussed in the observability analysis sec-tion, can be overcome using observations from multiple epochs and a Kalmanfilter with a dynamics model. The Kalman filter will need to introduce thestates x˙, y˙ and θ˙, which are the rate of change of each state, in order to pre-dict the position and attitude with a linear kinematic model. This model isrepresented by the transition matrix.Φ =1 0 0 ∆t 0 00 1 0 0 ∆t 00 0 1 0 0 ∆t0 0 0 1 0 00 0 0 0 1 00 0 0 0 0 e−∆tτ(4.32)Note that the x, y and θ states are predicted with the constant velocitymodel equations xˆ = x + ∆t x˙ and yˆ = y + ∆t y˙. However, θ˙ is set tobe a decaying exponential function. This function is selected as it reflectsnormal vehicle movements that do not involve a constant rate of change forthe attitude angle. Even when θ changes it does so in a short span of time.4.4 Adjusting the Covariance MatricesThe process noise covariance matrix Q has an important role in theKalman filter. Theoretically, the values ofQ can be obtained from observingthe errors in the prediction state along the trajectory. However, Q is oftenhand-tuned to obtain a reasonable balance between the new observationsand the predicted states. Q needs to be small enough to allow the states toconverge, and large enough to allow deviations from the dynamic model. Inany case, the initial values for Q were chosen to be514.5. SUMMARYQ =0.01 0 0 0 0 00 0.01 0 0 0 00 0 0.005 0 0 00 0 0 0.1 0 00 0 0 0 0.2 00 0 0 0 0 0.002 ∗∆t (4.33)These values can be further changed to weight the prediction step morethan the update step or vise versa. However, this might also depend on thecomplexity of the trajectory.4.5 SummaryIn this chapter two estimation algorithms, least squares and the Kalmanfilter, are introduced and least squares was tested using simple simulatedtrajectories. The design matrix used in both of the estimators is used tocalculate DOP for an observability analysis. Those points where a highvalue of DOP are observed are confirmed to have a high value of positionerror when using the least squares estimator. The Kalman filter, with aconstant velocity dynamics model, is a good proposed solution to overcomethe estimation challenges encountered at points with poor geometry.52Chapter 5Field Test - First Scenario5.1 Obtaining Reference TrajectoryIt is important to have a highly accurate reference trajectory to comparethe UWB system results to. The best and most commonly used is providedby a Real-Time Kinematic system (RTK). An RTK system uses a highprecision GNSS system able to measure the carrier phase from at least twopositions, and uses the knowledge of the same parameters at a fixed point toresolve the carrier phase ambiguities [83]. The main limitation of an RTKsystem is that the distance between the measurement point (also called roverposition) and the reference point should be less than 20 kms. This is mainlybecause the errors in the GNSS signal will exhibit different errors beyondthis distance. Error sources include orbital errors and signal refraction dueto the troposphere and ionosphere [84].An RTK system can be further enhanced using an on-board INS system.This INS system will provide a heading angle for stationary or moving vehi-cles. Furthermore, there are a number of commercial software applicationsthat can fuse the data from the GNSS and the INS to provide a better posi-tion estimate, even if there is an obstruction of the GNSS signal for a shorttime interval [4]. A commercially available GNSS/INS integrated systemwas used.5.2 Scenario DescriptionIn order to determine the capabilities of the proposed system, two De-cawave TREK1000 UWBmodules were placed on a moving vehicle, as shownin Figure 5.1 alongside a GNSS/INS integrated system. The GNSS/INS in-tegrated system is used to provide a reference trajectory for the movingvehicle (Vehicle 2) that includes position and attitude.The reference vehicle, Vehicle 1, consists of two UWB modules placedon a stationary cart, as shown in Figure 5.2. The moving vehicle thenmoved around the reference vehicle in a rectangular/elliptical trajectory,535.2. SCENARIO DESCRIPTIONFigure 5.1: Test setup on the moving vehicle, including the two UWB mod-ules attached above the sides of the vehicle and the equipment used for theGNSS/INS system (GPS antenna and INS device).with a semi-major axis of approximately 50 m, as shown in Figure 5.3.This trajectory is used for this test because of its feasibility. For the firstscenario field test it is obviously much easier to place the stationary cart inthe middle of a parking lot than to place it in the middle of a busy road.The limited operational distance of the UWB modules necessitated thatthe moving vehicle stay within range of the stationary cart by moving in anear circular motion. However, this was not possible since the layout of theparking lot is rectangular. Consequently, the shape of the trajectory is moreof an ellipse.For this test, the UWB modules were set to measure the four differentranges in a time frame (beacon interval) of 280 msec, or in other words, therate of measurements is 3.57 Hz. The anchors were connected to a personalcomputer on the stationary cart to log all measurements. The referencetrajectory of the moving vehicle was obtained using a tactical grade carrier-phase GNSS/INS integrated system with a rate of 1 Hz. The test took placeon the 27th of July, 2018. The test started at 13:34 and ended at 13:37Calgary local time, and was performed on the campus of the University ofCalgary.To obtain the reference trajectory, the GNSS and the INS measurementswere processed using Novatel Inertial Explorer [85] to obtain the referencetrajectory. The reference trajectory was transformed to the Earth CenteredEarth Fixed (ECEF) frame, and then transformed to local ENU with anarbitrary location on campus as the origin. Finally, it is then transformedto be centered in the body frame of the stationary cart.545.2. SCENARIO DESCRIPTIONFigure 5.2: Setup for the first scenario field test, in which the UWB modulesare attached along with the GNSS/INS equipment on both the vehicle andthe cart. The cart will be stationary denoting the reference vehicle whilethe vehicle will be moving around the cart. Measurements from all deviceswill be logged and analyzed.Figure 5.3: The trajectory for the first scenario Test. The blue star denotesthe stationary cart acting as the reference vehicle, while the red line denotesthe moving vehicle which moves in a counter clockwise direction. Since thereference vehicle is stationary, the trajectory of the moving vehicle can beeasily transformed into the body frame of the reference vehicle using theGNSS/INS solution.555.3. CREATING SIMULATED RANGESFigure 5.4: Diagram of the position of the positioning devices on the sta-tionary cart. The dimensions are used to calculate the coordinates of onevehicle in the body frame of the other (image not to scale).5.3 Creating Simulated RangesBefore the UWB field measurements were used, simulated range mea-surements were first used. The simulated ranges are calculated from thereference trajectory, that is acquired from the GNSS/INS system and theknown dimensions of the UWB antenna placements on the stationary ve-hicle and the moving vehicle, as seen in Figures 5.4 and 5.5 respectively.These simulated ranges were used without adding any noise. This is done totest the positioning algorithm and tune the Kalman filter parameters. Thesimulated ranges are also useful to compare to the UWB field measurementsin order to calculate errors, such as the random and bias errors, that might565.3. CREATING SIMULATED RANGESFigure 5.5: Diagram of the position of the positioning devices on the movingcar. The dimensions are used to calculate the coordinates of one vehicle inthe body frame of the other (image not to scale).575.3. CREATING SIMULATED RANGESFigure 5.6: Kalman filter positioning algorithm solution using simulatedranges (red crosses) and the reference position acquired from GNSS/INS(black stars).exist in the UWB range measurements.The simulated ranges were processed by the Kalman filter positioningalgorithm. The Kalman filter solution (red crosses) and the GNSS/INStrajectory (black stars) are shown in Figure 5.6. These results show smallerrors in the Kalman filter solution with respect to the GNSS/INS referencetrajectory. These errors primarily occur where the moving vehicle crossesthe y-axis of the stationary cart, at which point DOP is high. Another lesserreason for these errors in the relatively slow update frequency (1 Hz) of theGNSS/INS system. In Figure 5.7 the x, y and θ estimates from the Kalmanfilter solution and the GNSS/INS trajectory solution are shown. Note thatthe x and y coordinates of the Kalman filter solution closely track those ofthe GNSS/INS solution. However, Figure 5.7 shows that the θ estimate ofthe Kalman filter solution does not match that of the GNSS/INS solution asclosely as the other two parameters.The θ estimate from the Kalman filtersolution is under-damped after the moving vehicle has made a U-turn (180◦change in θ). This under-damped effect may be mitigated by adjusting thevalue of τ in equation (4.32) or by increasing the update rate of the UWBmeasurements. The UWB modules used have a range measurement updaterate of 3.57 Hz, whereas the simulated ranges created from the GNSS/INStrajectory have an update rate of only 1 Hz. Consequently, when actualUWB ranges are used in the Kalman filter, the under-damped effect seen inFigure 5.7 should be reduced.The errors in the Kalman filter solution for each state, with respect to585.3. CREATING SIMULATED RANGESFigure 5.7: Estimated state values (x, y, θ) when applying the Kalman filteron the simulated ranges (red lines) and the reference values for the statescalculated from the GNSS/INS trajectory (black lines).the GNSS/INS reference trajectory, are plotted on Figure 5.8. Here theerrors can be clearly observed, with the error in x having an average lessthan 10 cm. The y state has a larger error variation that can reach up to3 m with an average of 1 m. The error in θ reaches up to 50◦ but with anaverage that is less than 15◦.595.3. CREATING SIMULATED RANGESFigure 5.8: Errors in states are identified as the difference between the esti-mated values of the states when applying the simulated ranges to the Kalmanfilter, and the values for the same states calculated from the GNSS/INS tra-jectory.605.4. USING UWB FIELD MEASUREMENTSFigure 5.9: The measured UWB ranges values for R1 versus the GNSSacquired ranges (simulated) for the test time interval (top). The rangeerror values are calculated and plotted (bottom). Notice the error valuesintroduced at approximately the 35 minutes mark.5.4 Using UWB Field MeasurementsAfter verifying the Kalman filter algorithm using simulated measure-ments, UWB field measurements were used. There are a few new challengesthat arise with using the UWB field measurements. First, the four individ-ual UWB ranges are not measured in the same timing instant, or in otherwords, two range measurements are made at one particular time while theother two at another. For this situation, the Kalman filter algorithm wasmodified to estimate the state values using one range measurement at atime. Second, a synchronization error of 7.14 seconds was found betweenthe UWB measurements and the reference trajectory. This was easily fixed615.4. USING UWB FIELD MEASUREMENTSFigure 5.10: The measured UWB ranges values for R2 versus the GNSSacquired ranges (simulated) for the test (top). The range error values arecalculated and plotted (bottom).625.4. USING UWB FIELD MEASUREMENTSFigure 5.11: The measured UWB ranges values for R3 versus the GNSSacquired ranges (simulated) for the test (top). Notice the error values in-troduced at approximately the 35 minutes mark. The range error values arecalculated and plotted as well (bottom).635.4. USING UWB FIELD MEASUREMENTSFigure 5.12: The measured UWB ranges values for R4 versus the GNSSacquired ranges (simulated) for the test time (top). The range error valuesare calculated and plotted as well (bottom).645.4. USING UWB FIELD MEASUREMENTSby applying a delay of this value to the UWB range measurements such thatthe UWB measurements align with the reference trajectory.The third challenge was that the UWB measurements exhibit unknownerrors that started after one minute into data collection. As seen in Figures5.9 and 5.11, this rendered the data of R1 and R3 unusable, while, as seenin Figures 5.10 and 5.12, the ranges R2 and R4 did not encounter the sameissue. Only the measurements collected in the first minute (starting fromthe 34 minute mark and up to the 35 minute mark) were used. Thesemeasurements are applied to the filter and the estimated position is acquired.The estimated states of x, y and θ are shown in Figure 5.13. The states areused to calculate the estimated positions, which are shown in Figure 5.14.This figure shows that the value of the position error is large farther awayfrom the stationary cart and at the crossings of the y-axis of the stationarycart. However, the Kalman filter was able to estimate across the y-axis,which least squares failed to do.655.4. USING UWB FIELD MEASUREMENTSFigure 5.13: Estimated state values (x, y, θ) when applying the Kalmanfilter on the UWB ranges (red lines) and the reference values for the statescalculated from the GNSS/INS trajectory (black lines).665.4. USING UWB FIELD MEASUREMENTSFigure 5.14: Kalman filter positioning algorithm solution using the UWBranges (red crosses) and reference values acquired from GNSS/INS (blackstars). Here the selected trajectory corresponds to only 1 complete cycleperformed by Vehicle 2 around Vehicle 1.675.5. DISCUSSION5.5 DiscussionIt is clear that the solution of the proposed Kalman filter using the UWBrange measurements is less accurate than that acquired from the simulatedranges due to the random and bias errors in the range measurements of theUWB modules. From Figure 5.13, where the estimated states are plottedalong with their reference values, it can be seen that the estimated x solu-tion is closer to the reference than the y and θ solution. These results areexpected as the geometry is better in the x direction than in the other two.These errors in y and θ do not meet the requirements for vehicle-to-vehicle relative position estimation. However, it has been demonstrated thatthe Kalman filter can find a solution that follows the trajectory albeit witherror. One source of these errors might be the low update rate of the UWBmodules. Therefore a higher update rate is recommended. Furthermore, thesingle measurement run that resulted in unknown errors in the UWB rangessuggests that future tests should consist of at least two passes, in order toomit segments where the measurements are unusable. Finally, the referencetrajectory acquired from the GNSS/INS should be confirmed, to eliminatethe probability of errors in the reference trajectory unnecessarily inflatingthe error calculated for the UWB measurements.5.6 SummaryIn this chapter, the Kalman filter was tested with a more complex tra-jectory than those used in Chapter 4. The trajectory consists of a station-ary vehicle and a moving vehicle completing an elliptical trajectory. Thecollected UWB ranges are compared with simulated ranges acquired fromthe GNSS/INS system, which was used to provide a reference trajectory.Both the simulated ranges and the measured UWB ranges were used inthe Kalman filter. The Kalman filter solution with simulated ranges al-most exactly matches the reference trajectory, whereas with UWB rangesthe estimated solution significantly differs from the reference solution. Somereasons for the poor performance of the Kalman filter with UWB measure-ments where identified and strategies to minimize these errors will be usedfor the second scenario discussed in the next chapter.68Chapter 6Field Test - Second Scenario6.1 Scenario DescriptionIt is desirable to test the algorithm in a scenario more complex thanthat discussed in Chapter 5. Therefore, a second scenario was chosen, inwhich two vehicles driving behind the other on the streets in the vicinity ofthe University of Calgary. The trajectory includes multiple turns, stops anddriving in a straight line. These are the most common maneuvers executedby everyday drivers, and hence provide a reasonable test for the proposedalgorithm.Throughout the entire trajectory, each of the two vehicles has the sameGNSS/INS system used in the first scenario. The UWB modules are at-tached to the sides of each vehicle as they were attached to the single movingvehicle in the first scenario. The complete setup for one vehicle is shownin Figure 6.1. The placements and relevant dimensions of the GNSS/INSand the UWB modules on the tops of the vehicles are shown in Figure 6.2and 6.3 for Vehicle 1 and Vehicle 2 respectively. These dimensions are usedto calculate the coordinates of one vehicle in the body frame of the other.They are also used to compare the estimated solution with the referencetrajectory. The trajectory is shown as a planar view in Figure 6.5, wherethe blue line denotes the trajectory of Vehicle 1 and the green line denotesthe trajectory of Vehicle 2. Note that the trajectory is not always a straightline and some sections involve complicated maneuvers.The test took place on 29 May 2019 at approximately 4:00 pm local time.The trajectory was repeated twice, once with Vehicle 1 always in front ofVehicle 2, and then with the two vehicles interchanging the lead. Figure 6.4shows an image from the inside of Vehicle 2, which was positioned behindVehicle 1. It should also be noted that during this test the selected modulechannel frequency is 110 kbps, which has the effect of increasing the range.Furthermore, the beacon interval time (superframe) has been set to 28 ms.This changes the total measurement update rate to 8.9 Hz.696.1. SCENARIO DESCRIPTIONFigure 6.1: Setup for second scenario is similar to the first. The UWB mod-ules and the GNSS/INS equipment are attached on both moving vehicles.Figure 6.2: Diagram of the position of the positioning devices on Vehicle 1.The dimensions are used to calculate the coordinates of one vehicle in thebody frame of the other (image not to scale).706.1. SCENARIO DESCRIPTIONFigure 6.3: Diagram of the position of the positioning devices on Vehicle 2.The dimensions are used to calculate the coordinates of one vehicle in thebody frame of the other (Image not to scale).Figure 6.4: View of Vehicle 1 from the inside of Vehicle 2.716.2. MEASUREMENT PROCESSINGFigure 6.5: Planar view of the trajectory for the second scenario. Vehicle 1trajectory is shown with a blue line while Vehicle 2 trajectory is shown witha green line. The test was performed at the University of Calgary.6.2 Measurement ProcessingAfter all the data had been collected from the UWB modules, the GNSSreceiver and the INS, some pre-processing of the data was necessary prior toestimation. There are three groups of issues that require pre-processing ofthe data. The first group relates to the GNSS/INS data used to calculate thereference trajectory. The second group is related to the UWBmeasurements,and the third is related to the use of the UWB data in the specific estimatorsbeing used.6.2.1 GNSS/INS MeasurementsThe GNSS/INS measurements were used to obtain the reference tra-jectory in ECEF coordinates, which were then transformed to local ENUcoordinates with an arbitrary location on campus as the origin. Finally,the coordinates were then transformed to be centered in the body frame ofVehicle 1. For this to be done, two different software packages were used.Novatel Inertial explorer [85] processes the GNSS measurements along withthe INS measurements to obtain position in the ECEF and the heading ofthe vehicle measured from the north in the clockwise direction. RTKLIB[86] is an open-source software package that processes GNSS measurementsbut not INS measurements.726.2. MEASUREMENT PROCESSINGHowever, processing the GNSS measurements only (i.e. with RTKLIB)can be advantageous. INS systems tend to drift over time and the solutionbased on their measurements degrades. Consequently, two different refer-ence trajectories can be calculated, one by Novatel Inertial Explorer (GNSSand INS) and the second by RTKLIB (GNSS only). Having two referencetrajectories can be a verification of the reference system itself. If there aredifferences between the two reference trajectories that are greater than theerrors expected from the UWB modules, further examination of the refer-ence trajectories is required to choose that most suitable to compare withthe UWB measurements.For example, the two reference trajectories are compared for the sta-tionary segment, discussed in subsection 6.4.1. In this specific segment, thetwo vehicles are completely stopped at a traffic light for approximately 30seconds. It is expected that the reference solution derived from GNSS/INSshows no motion during this time. However, it was found that the GNSS/INSsolution has motion while the GNSS-only solution does not. The vehicles’positions and headings as derived from the GNSS/INS measurements pro-cessed with Novatel Inertial Explorer, drift over the 30 second duration ofthis segment. This can be seen in Figure 6.6. It is expected that the pre-cision of the GNSS/INS system is less than 20 cm. However, Figure 6.6indicates a precision of the relative position in the order of 2 m which isdue to drift in the INS. This may have happened because the GNSS updaterate, for one of the vehicles, was not high enough to control the INS drift.The same segment was processed with RTKLIB, using only the GNSSmeasurements. This results in a more stable reference solution as is ex-pected for stationary vehicles. This is seen in Figure 6.7. The precision ofthe relative position is now approximately 0.2 m, which is one tenth thatresulting from using GNSS and INS together.It is obvious that for stationary cases, a trajectory based on GNSS only isbetter than that based on GNSS and INS. However, the GNSS-only solutiondoes not provide a heading angle, whereas a solution also using INS does.Therefore, the two reference trajectory solutions are merged to produce athird one, in which reference positions are obtained from the GNSS onlysolution, and reference heading angles are obtained from the GNSS and INSsolution. Thus the resulting reference trajectory has the precision of theGNSS and the availability of the heading angles.736.2. MEASUREMENT PROCESSINGFigure 6.6: A sketch of the vehicles’ reference positions calculated fromthe GNSS/INS data over a duration of 30 seconds with one rectangle persecond. Here the two vehicles are actually stationary, but the precision ofthe relative position is approximately 2 m. The directions of the arrowsindicates the heading directions for the vehicles.746.2. MEASUREMENT PROCESSINGFigure 6.7: A sketch of the vehicles’ reference positions calculated fromGNSS data only over a duration of 30 seconds with one rectangle per second.Here the vehicles appear to be more stationary than with GNSS and INS asseen in Figure 6.6. The directions of the arrows are the heading directionsfor the vehicles.756.2. MEASUREMENT PROCESSING6.2.2 UWB MeasurementsA time difference of 37.2 seconds was found between the GNSS andUWB measurements. Therefore, the UWB measurements were delayed bythis amount to synchronize them with the GNSS measurements. In addition,the timestamps of the GNSS/INS measurements do not coincide with thoseof the UWB measurements because of the different update rate of the twosensors. Therefore, the GNSS/INS trajectory points were interpolated toproduce a new trajectory whose points occur at the same time as the UWBmeasurements. This makes possible the calculation of the difference betweenthe trajectory estimated from the UWB measurements and the referencetrajectory derived from the GNSS/INS trajectory.Furthermore, similar to any measurement device, the Decawave TREK1000module is expected to occasionally produce measurements that are signifi-cantly in error. These measurements will have negative impact on the esti-mation algorithm and hence should be omitted from the estimation process.This is done with an outlier detector. The outlier detector compares thedifference between two successive measurements to a threshold and omitsthe second measurement if the absolute value of the difference exceeds thatthreshold. The threshold value is calculated by the addition of the noisecovariance of measurements and the noise covariance arising from the pre-diction step of the Kalman filter. The equation to calculate the outlier vector(S) isS =HP−HT +Cl (6.1)where,H is the Kalman filter design matrix,P is the Kalman filter process covariance matrix,and Cl is the measurement noise covariance matrix.An outlier flag is also added to the process to facilitate the count of thenumber of outliers in any segment. The number of outliers will be reportedfor each segment of the trajectory.6.2.3 Pre-Processing of UWB MeasurementsThe UWB measurements are obtained from two anchors reading theranges from two tags. This means that most of the time a range measure-ment from one tag to each of two anchors will be logged with the same timestamp. However, the UWB data logger software instructs the two anchors to766.3. RESULTS AND DISCUSSIONmake measurements sequentially (i.e. first the two anchors make measure-ments to one of the two tags and then the anchors make measurements to thesecond tag). Consequently, four range measurements are never measured atthe same time. Furthermore, the time interval between two measurementsis not constant. The time difference ranges between 0 and 128 msec.Therefore, if the time difference between the two measurements madefrom one tag is zero, both measurements are used in the update step of theKalman filter. The same is true for the two measurements made from thesecond tag. However, all four measurements are never used together in theupdate of the Kalman filter.Similar to the first scenario, least squares will again be used to producea solution which will be compared to the Kalman filter solution. However,least squares requires that the measured ranges be collected at the sametime, which is not the case for the four UWB ranges here. A work aroundis proposed, in which four UWB ranges are used in least squares only if thetime difference between the two measurements made from one tag is lessthan 60 msec than that of the two measurements made from the secondtag. This means that the error introduced by a time difference of up to 60msec, will be less than 1 m if the relative speed of one vehicle with respectto the other is 60 km/hr. In the second scenario the vehicles are movingwith a relative speed of less than 20 km/hr, which further decreases thiserror, and the resulting error is negligible. In addition, if any of the fourranges are missing, those ranges present are omitted and least squares is notimplemented. Furthermore, least squares only estimates measured states(x, y and θ). It does not estimate their rates of change. Therefore, leastsquares may fail when the last solution is used as the point of expansionand complex trajectories are occurring. In any case, when available theleast squares estimation solution will be plotted alongside the Kalman filtersolution for each segment.6.3 Results and DiscussionThe trajectory of Figure 6.5 includes a number of unique and complexsegments. For example, during one segment, both vehicles are driving west(see top left of Figure 6.5). In another, both are turning left, and in a thirdthey are making a U-turn, and so on. It is desired to analyze the capabilitiesof the estimation process under various conditions. Therefore, seven uniquesegments will be used to examine the capabilities and limitations of theestimation algorithm. For each segment, the reference values for the states776.3. RESULTS AND DISCUSSIONx, y and θ (as derived from the GNSS/INS data) are shown along side theKalman filter solution and the least squares solution.6.3.1 Segment 1: Vehicles Stationary at a Traffic LightIn this segment the two vehicles are stationary at a traffic light for almost30 seconds. This point in the trajectory can be seen in Figure 6.8. Thissegment was introduced in section 6.2 to show the validity of the referencetrajectory. Since the vehicles are completely stopped, it is expected thatall measurements would be constant throughout the time duration of thissegment. As a result, any error should be easily observed and its sourceidentified.The Kalman filter solution and reference solution for the six states (x, y,θ, x˙, y˙, θ˙) are shown in Figure 6.9. Also shown is the least squares solutionfor the three states (x, y, θ). The state values for all three solutions are seento be relatively stable indicating no motion. However, there is some variationin each state for all three solutions. Since no motion occurred during thissegment, the standard deviation of each state around its mean for both theKalman filter solution and least squares solution may be calculated. Forthe Kalman filter solution, x varies by 0.01 m standard deviation aroundits mean, y varies by 0.14 m standard deviation around its mean, and θ hasa 1◦ standard deviation around its mean. For the least squares solution,x varies with a standard deviation of 0.01 m around its mean, y varieswith a standard deviation of 0.17 m around its mean, and θ has a 1.6◦standard deviation around its mean. These small values indicate a stableestimate. As expected, the standard deviations for the least squares solutionare very similar to that of the Kalman filter. For the reference values in thisstationary segment, x varies with a standard deviation of 0.003 m around itsmean, y varies with a standard deviation of 0.01 m around its mean, and θhas a 0.07◦ standard deviation around its mean. As mentioned, these smallvalues further confirm the validity of the reference solution.However, there is a clear difference between the Kalman filter estimatedstate values and the reference state values. As the reference trajectory istaken to be truth, these differences are termed errors. The error values areplotted in Figure 6.10 and have a mean value 0.09 m for x, a mean value of-0.87 m for y, and a mean value of −3.7◦ for θ. These mean error values,and all those for the following segments, are reported in Table 6.1. Thestandard deviations of these errors, and all those for the following segments,are also reported in Table 6.1 for Kalman filter solution and Table 6.2 forLeast squares solution. The mean of the error value for x is better than786.3. RESULTS AND DISCUSSIONFigure 6.8: Planar view of the trajectory and the point where the vehicleswere stationary because of a traffic light. The vehicles were stationary forapproximately 30 seconds.796.3. RESULTS AND DISCUSSIONFigure 6.9: The Kalman filter solution (red crosses), least squares solution(cyan) and reference solution (black dots) for Segment 1. During Segment 1both vehicles where stationary. The relatively constant values of the statesindicates that the vehicles were stationary.806.3. RESULTS AND DISCUSSIONFigure 6.10: Errors in the Kalman filter solution states for Segment 1. Dur-ing this segment both vehicles are stationary.expected, given that the accuracy of GNSS, which impacts the referencesolution, is in the range of few centimeters [84], and given that the accuracyof UWB, which impacts the Kalman filter solution, is 0.2 m. However, themean error value for y is more than expected.To identify the source of error in y, one can first inspect the measuredranges. In this scenario there were no outliers detected. This is due to thefact that modules were not moving and there was a clear line of sight betweenall four UWB modules, resulting in uninterrupted connections. Therefore,outliers are not the source of error in this segment. Also, by looking atFigure 6.11, which shows the difference between the reference ranges andthe measured UWB ranges (range errors), there is a clear bias in the UWBmeasured ranges for R3 and R4 of approximately -0.18 m and -0.14 m re-spectively. For R1 and R2, however, the biases are approximately only -0.04m and -0.02 m respectively. Since the larger biases in R3 and R4 decrease816.3. RESULTS AND DISCUSSIONFigure 6.11: Range errors, calculated as the difference between the referenceranges and the measured UWB ranges. There is a clear bias in ranges R3and R4, but not in R1 and R2.the distance between the two vehicles on the driver side of Vehicle 1 muchmore than the biases in R1 and R2 decrease the distance between the twovehicles on the passenger side of Vehicle 1 significantly more, the estimatedposition of Vehicle 2 rotates towards to the passenger side of Vehicle 1. Thisis seen as a significant bias in the y state in Figure 6.10.Another source of error is geometry. As discussed in section 4.2, thegeometry for the case of one vehicle positioned to the rear of the otherfavors the estimation of x over that of y and θ. This poor geometry isanother factor that explains the larger mean error and standard deviationfor the y state.826.3. RESULTS AND DISCUSSIONFigure 6.12: Segment 2 highlighted within the entire trajectory. The path ofVehicle 1 is illustrated with blue crosses while the Vehicle 2 path is illustratedwith black stars. In Segment 2 Vehicle 2 follows Vehicle 1 in a straight line.6.3.2 Segment 2: Vehicle 2 Follows Vehicle 1 in a Straightline.In Segment 2, Vehicle 2 follows Vehicle 1 in a straight line by approxi-mately 30 to 35 m in the east direction for approximately one minute. Thisparticular segment is highlighted within the entire trajectory in Figure 6.12.The Kalman filter solution, least squares solution and reference solutionsates for this segment are plotted in Figure 6.13. As expected, the Kalmanfilter solution for x is closest to the reference value for x as the geometry is inits favor. However, there is considerable more deviation in the Kalman filtersolution for y due to poor geometry in the y direction. It can be seen thatthe Kalman filter θ value is fairly close to the reference θ value. The rateof change differences between the Kalman filter solution and the reference836.3. RESULTS AND DISCUSSIONFigure 6.13: The Kalman filter solution (red crosses), least squares solution(cyan dots) and reference solution (black dots) for Segment 2. In Segment 2Vehicle 2 follows Vehicle 1 in a straight line. Note that x primarily changessince the vehicles are traveling along the x-axis of the body frame of Vehicle1.small are also small. Note that the high rate of the UWB measurementsquickly captures any change in the states.The difference between the Kalman filter estimated states and the ref-erence states are calculated and shown in Figure 6.14 as the errors in theestimation process. Here the mean value for the error in x is about 0.03 m,the mean error in y is -1.06 m, which is much larger than that of x, while theerror in θ has a mean value at -0.3◦. The standard deviation of these errorsis calculated to be 0.067 m, 0.51 m and 1.3◦ for x, y and θ respectively.There are six measurements in Segment 2 that are identified as outliersand are omitted from the estimation process. The range errors are plotted846.3. RESULTS AND DISCUSSIONFigure 6.14: Errors in the Kalman filter solution states for Segment 2. Dur-ing this segment Vehicle 2 is following Vehicle 1 in a straight line.856.3. RESULTS AND DISCUSSIONFigure 6.15: Range errors, calculated as the difference between the referenceranges and the measured UWB ranges in Segment 2, where Vehicle 2 followsVehicle 1 in a straight line. It is clear that R3 has more error values duringthis segment than the other ranges.in Figure 6.15. The range errors for R1, R2 and R4 each have a standarddeviation of approximately 0.06 m, whereas the standard deviation for R3is 0.12 m and the maximum error in R3 is -0.2 m. The reason for the largererrors in R3 is uncertain, but multipath could be a factor. Since, it is alreadyknown that DOP is worse for y than it is for x, higher errors in the estimatedy values are expected.866.3. RESULTS AND DISCUSSIONFigure 6.16: Segment 3 highlighted within the entire trajectory. The path ofVehicle 1 is illustrated with blue crosses while Vehicle 2 path is illustratedwith black stars. In Segment 3 Vehicle 2 follows Vehicle 1 while turningright.6.3.3 Segments 3 & 4: Turning Right and Turning LeftThe scenario 2 trajectory also includes right hand and left hand turns.The right turn segment (Segment 3) is highlighted within the entire trajec-tory in Figure 6.16, and the left (Segment 4) in Figure 6.20.As seen in Figure 6.17, all three states of the Kalman filter solutionclosely matches the reference solution. However, there exists a misalignmentin all six states, that is more visible in y, θ, y˙ and θ˙. This is not due to asynchronization error but comes from the fact that in the prediction stageof the Kalman filter, the previous rate of change is used to estimate a stateat the current time. If the states are changing quickly, the Kalman filter willlag. This is further exasperated by the low measurement update rate that876.3. RESULTS AND DISCUSSIONFigure 6.17: The Kalman filter solution (red crosses), least squares solution(cyan dots) and reference solution (black dots) for Segment 3, in whichVehicle 2 follows Vehicle 1 through a right turn.can not measure the rate of change quickly to observe the rapid change in thestates during a turn. Similar behavior can be seen for a left turn (Segment4) as seen in Figure 6.21. For both turns, the error is the Kalman filtersolution is more appropriately described as a delay or a lag, than randomnoise. Also note in Figure 6.21 that least squares is able to closely matchthe reference solution for Segment 3. However, the least squares solutionestimation is more noisy than that of the Kalman filter.In any case, the Kalman filter solution follows the reference trajectorythrough the right turn with a mean error value of 0.15 m in x, -0.26 m in y,and −0.4◦ in θ. The standard deviation values are 0.19 m in x, 1.06 m in yand 4.2◦ in θ. This is shown in Figure 6.18.The left turn (Segment 4) is highlighted within the entire trajectoryin Figure 6.20. The Kalman filter estimation behavior for the left turn is886.3. RESULTS AND DISCUSSIONFigure 6.18: Errors in the Kalman filter solution states for Segment 3. Dur-ing this segment Vehicle 2 follows Vehicle 1 while turning right.896.3. RESULTS AND DISCUSSIONFigure 6.19: Range errors calculated as the difference between the referenceranges and the measured UWB ranges in Segment 3, where Vehicle 2 followsVehicle 1 while turning right.906.3. RESULTS AND DISCUSSIONFigure 6.20: Segment 4 highlighted within the entire trajectory. The pathof Vehicle 1 is illustrated with blue crosses while Vehicle 2 path is illustratedwith black stars. In Segment 4 Vehicle 2 follows Vehicle 1 while turning left.916.3. RESULTS AND DISCUSSIONFigure 6.21: The Kalman filter solution (red crosses), least squares solution(cyan dots) and reference solution (black dots) for Segment 4, where Vehicle2 follows Vehicle 1 while turning left.926.3. RESULTS AND DISCUSSIONsimilar to that of the right turn as can be seen in Figure 6.21. The delaydue to the prediction stage of the Kalman filter is obvious in all of thestates. The mean of the state errors are -0.15 m, -1.25 m and -4.7◦ and thestandard deviations of the errors are 0.21 m, 0.62 m and -4.37◦, for x, y andθ respectively. The state errors are shown in Figure 6.22.The range errors of Segment 3 - shown in Figure 6.19 - appear to be acontinuation of the range errors of Segment 6- shown in Figure 6.34. Thisis expected given that, geographically, Segment 3 follows Segment 6. Thisimplies that the range errors in both segments are due to either interferenceor multipath encountered in this environment.Similarly, the range errors observed in Segment 4 - shown in Figure 6.23- also appear to be a continuation of the range errors observed in Segment1 - shown in Figure 6.11. Although the source of the range errors is notknown with certainty, multipath and environmental interference are likelycandidates.In both the right turn and the left turn segments, no outliers were de-tected. The errors seen in Figure 6.18 and Figure 6.22 can be attributed tothe delay of the estimator along with the range errors seen in Figures 6.19and 6.23. The range errors have a standard deviation of around 0.15 m forall the ranges.For these four segments, the accuracy of the estimation using leastsquares and the Kalman filter is calculated and their performance parame-ters are quantified. A comparison between the accuracy of both estimationtechniques is seen in Table 6.1.936.3. RESULTS AND DISCUSSIONFigure 6.22: Errors in the Kalman filter solution states for Segment 3. Dur-ing this segment Vehicle 2 follows Vehicle 1 while turning left.946.3. RESULTS AND DISCUSSIONFigure 6.23: Range errors calculated as the difference between the referenceranges and the measured UWB ranges in Segment 4, where Vehicle 2 followsVehicle 1 while turning left. Note that there is a continuation of the rangeerrors from Segment 1.956.3. RESULTS AND DISCUSSIONTable 6.1: Comparison between the performance of least squares and theKalman filter for the first four segments.Segment Number1 2 3 4Stationary Following Right Turn Left TurnPerformanceValueLS KF LS KF LS KF LS KFMean of xerror (m)0.09 0.09 -0.016 0.03 0.19 0.15 -0.13 0.15Mean of yerror (m)-0.88 -0.9 -1.02 -1.06 -0.31 -0.27 - 1.22 -1.25Mean of θerror (◦) -4 -4 -0.2 -0.3 -0.55 -0.44 -5.5 -4.7StandardDeviationof x error(m)0.01 0.01 0.066 0.066 0.17 0.19 0.13 0.21StandardDeviationof y error(m)0.126 0.12 0.66 0.51 1.2 1.07 0.53 0.62StandardDeviationof θ error(◦)1.5 1 1.19 1.3 4.9 4.21 2.4 4.4966.3. RESULTS AND DISCUSSION6.3.4 Segment 5: Passing One AnotherSegment 5 is a right hand curved trajectory during which Vehicle 2passes Vehicle 1, and then Vehicle 1 passes Vehicle 2. This segment demon-strates the benefit of the prediction stage of the Kalman filter when therelative position of Vehicle 2 crosses the y-axis of the body frame of Vehicle1. The difficulties encountered by least squares when crossing the y-axiswere demonstrated in section 4.2, and motivated the use of a Kalman filter.It is expected that least squares will again face difficulties when one vehiclepasses the other. This segment also includes a near pass, during which thefollowing vehicle pulls up beside the leading vehicle and then drops backagain. This could present a challenge to the Kalman filter when the twovehicles are side by side. This maneuver was specifically executed to testthe Kalman filter.The segment of the trajectory where Vehicle 2 passes Vehicle 1, andthen Vehicle 1 passes Vehicle 2 is highlighted in Figure 6.24. As seen inFigure 6.25, during the two passes, the near pass and the right hand curve,the Kalman filter is able to follow the reference trajectory almost perfectly.However, least squares obviously failed. At a time of approximately 15:16:16,least squares fails due to large errors in the UWB measurements. These er-rors were not large enough to be identified as outliers (no outliers whereidentified in this segment) and hence were used in the least squares algo-rithm. At the same time the Kalman filter continued along the correcttrajectory due to the use of the dynamic model in the prediction stage.This illustrates the capability of the prediction model in the Kalman filterto minimize the effect of poor measurements. After the time of 15:16:16least squares produces a mirror image of the correct trajectory since themeasurements fit this mirrored solution. At the time of 15:16:30, when Ve-hicle 2 passes Vehicle 1, least squares continues to produce a mirrored imagesolution likely due the point of expansion used at this time. At the time15:17:07, however, when Vehicle 1 passes Vehicle 2, least squares convergesto the correct solution, and this is again likely due to the point of expansionused.The state error values in this segment are seen in Figure 6.26. Here, theerror in x has a mean of 0.3 m, the error in y has a mean of -0.2 m and θhas a mean error of −0.6◦. In this segment the standard deviation of theerrors is 0.44 m, 1.16 m and 5◦ in x, y and θ respectively. These errors canbe attributed to the errors in the measured ranges as seen in Figure 6.27.The four ranges are highly correlated, and each has a standard deviation ofapproximately 0.19 m. All four ranges also exhibit a large error of 0.5 m,976.3. RESULTS AND DISCUSSIONFigure 6.24: Segment 5 highlighted within the entire trajectory. The pathof Vehicle 1 is illustrated with blue crosses while Vehicle 2 path is illustratedwith black stars. In Segment 5 the vehicles pass one another.986.3. RESULTS AND DISCUSSIONFigure 6.25: The Kalman filter solution (red crosses), least squares solution(cyan dots) and reference solution (black dots) for Segment 5, when thevehicles pass one another. It can be seen that the least squares estimateresults in a solution that is a mirrored image of the reference.996.3. RESULTS AND DISCUSSIONFigure 6.26: Errors in the Kalman filter solution states for Segment 5. Dur-ing this segment the vehicles pass one another.and these large errors cause least squares to fail. The high correlation seenbetween the four ranges is likely due to environmental interference and/ormultipath.1006.3. RESULTS AND DISCUSSIONFigure 6.27: Range errors calculated as the difference between the referenceranges and the measured UWB ranges in Segment 5, where the vehicles passone another.1016.3. RESULTS AND DISCUSSION6.3.5 Segment 6: U-turnThe proposed Kalman filter is not without limitations. The constantvelocity dynamics model can fail to identify sudden changes in direction ofany of the states. In other words, the Kalman filter will fail to recognize a U-turn (which resembles a near pass scenario). In Segment 6 of the trajectoryhighlighted in Figure 6.28, both vehicles are traveling south and initiallyVehicle 2 is in the lead. Then Vehicle 1 passes Vehicle 2 and executes a U-turn. During the U-turn two vehicles pass one another traveling in oppositedirections. Then Vehicle 2 executes the same U-turn and follows Vehicle1 north. Similar to the passes and near pass in Segment 5, the point isSegment 6 when the two vehicles pass each other while traveling in oppositedirections poses an estimation challenge.Figure 6.29 shows a sketch of the vehicles’ positions at various timeinstances during the U-turn. Figure 6.30 shows the positions of Vehicle 1and Vehicle 2 at the moment the Kalman filter begins to follow the mirroredimage solution. This motion of the vehicles is also focused on in Figure 6.31,where Vehicle 2 is drawn in the coordinates of the body frame of Vehicle1. This motion can not be modeled easily using a linear equation. TheKalman filter prediction results in a solution that is a mirror image formthe trajectory due to the positive velocity state at this instant of time andthe availability of a solution at the mirrored image around the y-axis of thebody frame of Vehicle 1.The Kalman filter, least squares and reference trajectory solutions statesare plotted in Figure 6.32. It is clear that the Kalman filter begins to followthe mirror image solution at the approximate time of 15:18:55. Least squaresfails twice, once when Vehicle 2 passes Vehicle 1 and then when Vehicle 1is executing the U-turn. In both cases, least squares produces the mirrorimage solution.The failure of the Kalman filter at the time of 15:18:55 is due to the factthat the dynamics model used in the Kalman filter cannot accommodate therapid changes in the states encountered during a U-turn. This can rectifiedin one of two ways. First, a different dynamics model that is able to modelthis situation could be used. Second, the Kalman filter can be tuned toincrease the weight placed on the measurements, by increasing the values ofthe process covariance matrix Q. This will make the Kalman filter lean to-wards the measurements updates more than the prediction stage. However,the Kalman filter will then tend towards being a least squares estimator, andthis may result in the same failure experienced by least squares. Although adifferent dynamics model might be preferable, a model that covers both lin-1026.3. RESULTS AND DISCUSSIONFigure 6.28: Planar view of the trajectory covered by both vehicles in thescenario when the vehicles perform a U-turn.1036.3. RESULTS AND DISCUSSIONFigure 6.29: A sketch of the vehicles when performing the U-turn. Thearrow in the front part of the vehicle shows the heading direction.1046.3. RESULTS AND DISCUSSIONFigure 6.30: The positions of Vehicle 1 and Vehicle 2 at the moment theKalman filter begins to follow the mirrored image solution. The arrow inthe front part of the vehicle shows the heading direction.1056.3. RESULTS AND DISCUSSIONFigure 6.31: The positions of Vehicle 2 drawn in the coordinates of the bodyframe of Vehicle 1. Vehicle 2 starts behind Vehicle 1 at the bottom left ofthe figure. When Vehicle 1 executes a U-turn, the position and attitude ofVehicle 2 is making a maneuver that is not easily modeled by the dynamicsmodel of the Kalman filter. The arrow in the front part of the vehicle showsthe heading direction.1066.3. RESULTS AND DISCUSSIONFigure 6.32: The Kalman filter solution (red crosses), least squares solution(cyan) and reference solution (black dots) for Segment 6 when the vehiclesare performing a U-turn. It is seen that the Kalman filter results in amirrored image from the reference trajectory, and the least squares failstwice to find a valid solution.ear and non-linear motion is not easy to design. It should also be noted thatother sensors could obviously be used to detect these types of maneuvers.However, the purpose of this thesis is to test an UWB-only solution.The state error values for this segment are shown in Figure 6.33. Theyconfirm the failure of the Kalman Filter. It can be seen that the error valuein the x direction is approximately the double of reference x value, since itis a mirrored solution. These error values cannot be connected to the errorsin range measurements seen in Figure 6.34.1076.3. RESULTS AND DISCUSSIONFigure 6.33: The error values of the six states for the segment where thevehicles perform a U-turn. These values are large as the Kalman filter solu-tion failed to follow the trajectory correctly. Instead it created a mirroredimage around the y-axis (x values).1086.3. RESULTS AND DISCUSSIONFigure 6.34: The error values for the range measurements from the referencemeasurements for the U-turn scenario.1096.3. RESULTS AND DISCUSSION6.3.6 Segment 7: Beyond the U-turnThe U-turn in Segment 6 clearly demonstrates the limitation of the pro-posed filter. However, for Segment 7, which consists of the entire trajectoryfrom just after the U-turn, Kalman filter correctly estimates the states. Fig-ure 6.35 highlights Segment 7 in the entire trajectory. As seen in Figure 6.36,the Kalman filter is able to follow the reference trajectory throughout theentire segment, even though one vehicle passes the other twice. At one pointduring Segment 7 (15:20:57) the two vehicles were 80 m apart and the avail-able UWB measurements were sufficient for the Kalman filter to generatea solution. This confirms the operational range of the UWB modules thatwas determined in section 3.2.The error values of the Kalman filter solution, with respect to the ref-erence solution, are shown in Figure 6.38. The mean error values are 0.1m, 0.14 m and −2.6◦ for x, y and θ respectively. The standard deviationsof the errors are found to be 0.97 m, 2.06 m and 7◦ for the same states.The large standard deviation values for Segment 7 can be attributed to thelarge state errors at the time 15:20:20 at which point the two vehicles madea right hand 90◦ turn. If the errors at this time are removed, the standarddeviation values for the remainder of Segment 7 will be significantly smaller.The UWB range errors for Segment 7 are seen in Figure 6.39. DuringSegment 7, there were 6 outliers detected and omitted from the estimationprocess. For Segment 7, the four ranges are highly correlated, and theranges have a standard deviation of approximately 0.5 m for all of them.All four ranges also exhibit a returning error of 0.5 m, and these large errorscause least squares to fail. The time duration of Segment 7 is much longerthan that of any of the other segments. As a result, the cyclical nature ofthe range errors seen in 6.39 becomes very obvious. This provides furtherevidence that the UWB ranges may be affected by multipath.Although it correctly estimates the states x and y, least squares failsto estimate the angle θ correctly from the point of the first pass (Vehicle 2passing Vehicle 1) to the point of the second pass (Vehicle 1 passing Vehicle2). Instead, least squares converges to the mirror image solution for θ. Ac-cording to the least squares solution, Vehicle 2 is in the correct horizontalposition with respect to Vehicle 1 but is facing the wrong direction, andtraveling in reverse although in the same direction as Vehicle 1. This con-tinues until the Vehicle 1 passes Vehicle 2, at which point the least squaresθ solution is again correct. The same behavior was seen during the passin Segment 5, although in that case, least squares converged to the mirrorimage solution for x. In all such cases, least squares is highly sensitive to the1106.3. RESULTS AND DISCUSSIONFigure 6.35: Segment 7 highlighted within the entire trajectory. The path ofVehicle 1 is illustrated with blue crosses while the Vehicle 2 path is illustratedwith black stars. Segment 7 consists of the entire trajectory from just afterthe U-turn to nearly the beginning of the trajectory.point of expansion used. A sketch of the two vehicles where least squaresfails is shown in Figure 6.37.1116.3. RESULTS AND DISCUSSIONFigure 6.36: The Kalman filter solution (red crosses), least squares solution(cyan dots) and reference solution (black dots) for Segment 7. The Kalmanfilter is able to follow the reference trajectory through all of the complexmaneuvers whereas the least squares estimation fails.1126.3. RESULTS AND DISCUSSIONFigure 6.37: A sketch of Vehicle 2 drawn in the body frame of Vehicle 1 atthe moment when least squares fails to estimate θ correctly.1136.3. RESULTS AND DISCUSSIONFigure 6.38: Errors in the Kalman filter solution states for Segment 7. Seg-ment 7 consists of the entire trajectory from just after the U-turn to nearlythe beginning of the trajectory. Error values are very low except at the rightturn.1146.3. RESULTS AND DISCUSSIONFigure 6.39: Range errors, calculated as the difference between the referenceranges and the measured UWB ranges in Segment 7.1156.4. SUMMARY6.4 SummaryIn this chapter, the proposed Kalman filter was tested with two UWBand GNSS/INS equipped moving vehicles performing simple and complexmaneuvers on streets in the vicinity of the University of Calgary. Leastsquares was also used to estimate the trajectory of the vehicles. The ref-erence trajectory was constructed from a trajectory derived from GNSSmeasurements only and a second trajectory derived from GNSS and INS.Seven unique segments were selected from the entire test trajectory. TheKalman filter was able to successfully follow the reference trajectory for ev-ery segment with the exception of Segment 6, which contained a U-turn.The dynamics model used in the Kalman filter was not able to model thecomplex dynamics of a U-turn. Least squares was able to successfully followthe trajectory for only 4 of the 7 segments. It was unsuccessful for segmentsin which one vehicle passed another, and for the segment in which a U-turnwas executed. This demonstrates the benefit of the Kalman filter developedin this work. The error mean values and standard deviation values for theKalman filter are shown in Table 6.2. Those for least squares are shown inTable 6.3.As seen in Tables 6.2 and 6.3, for those segments for which the Kalmanfilter and least squares are both successful, the mean error values for x, yand θ are very similar for the Kalman filter and least squares. Note thatthe mean error value of y is significantly larger as expected, given the bettergeometry in the x direction than that in the y. This is also reflected in thestandard deviation values of y versus x.1166.4. SUMMARYTable 6.2: Kalman filter performance values for each of the six segments forwhich Kalman filter provides a solution.Segment Number1 2 3 4 5 7PerformanceValueStationaryFollowingEachOtherRightTurnleftTurnPassingEachOtherBeyondtheU-turnmean of xerror (m)0.09 0.03 0.15 0.15 0.033 0.10mean of yerror (m)-0.9 -1.06 -0.27 -1.25 -0.20 0.14mean of θerror (◦) -4 -0.3 -0.44 -4.7 -6.1 -2.56StandardDeviationof x error(m)0.01 0.066 0.19 0.21 0.44 0.97StandardDeviationof y error(m)0.12 0.51 1.07 0.62 1.16 2.06StandardDeviationof θ error(◦)1 1.3 4.21 4.4 5.2 71176.4. SUMMARYTable 6.3: Least squares performance values for each of the four segmentsfor which least squares provides a solution.Segment Number1 2 3 4PerformanceValueStationaryFollowingEach OtherRight Turn Left turnmean of xerror (m)0.09 -0.016 0.19 -0.13mean of yerror (m)-0.88 -1.02 -0.31 - 1.22mean of θerror (◦) -4 -0.2 -0.55 -5.5StandardDeviationof x error(m)0.01 0.066 0.17 0.13StandardDeviationof y error(m)0.126 0.66 1.2 0.53StandardDeviationof θ error(◦)1.5 1.1.9 4.9 2.4118Chapter 7Conclusions andRecommendationsThe objective of this thesis was to develop an UWB-based vehicle-to-vehicle horizontal positioning and attitude determination system, that useslow cost equipment and operates in the absence of GNSS or any other po-sitioning system. GNSS and INS systems were only used to generate areference trajectory, against which the solution of the proposed algorithmwas compared. This work contributes to an understanding of the capabilitiesof the use of UWB acquired ranges for vehicle to vehicle relative positioning.The following conclusions are drawn.7.1 Conclusions1- The required range of operation was desired to be at least 100 mand the accuracy needed for the vehicle position should be 0.5 m or better,given an average vehicle size of 4 m x 2m and a lane width 3.8 m. The mostsuitable UWB module available at the time of this work, was the DecawaveTREK1000. The manufacturer claims that this UWB module has a range ofup to 200 m and a range accuracy of 0.1 m. However, in the side walk testdescribed in section 3.2, the maximum range was found to be 100 m in clearLOS conditions for a negligible drop rate. At ranges of 100 to 120 m, themeasurement drop rate was approximately 50%, and above 120 m the droprate was nearly 100%. The same test demonstrated that the TREK1000module is able to measure ranges with a maximum mean error of approxi-mately 0.15 m, and a maximum error standard deviation of approximately0.2 m. Of the two UWB modules tested, the TREK1000 module met therequired specifications for range, precision and accuracy make it the bestcandidate for the test at the time of the research. Note that the cost ofa single UWB chipset in the TREK1000 development kit is approximatelyonly $15. This can drastically decrease the price of the complete positioning1197.1. CONCLUSIONSsystem for current and future vehicles.2- An estimation algorithm was developed to estimate the relative posi-tion and attitude of one vehicle with respect to another, using only UWBranges. It was designed to use ranges from two UWB sensors, each attachedto one side of a vehicle, to another two UWB sensors attached to the sidesof the second vehicle. The algorithm finds the relative position and atti-tude of the second vehicle in the body frame of the first using these fourUWB ranges. The algorithm was initially developed using least squares andevolved into a Kalman filter. Although least squares and the Kalman filterare both able to estimate position and attitude for simple dynamics, a ma-jor challenge to the estimation algorithm was demonstrated with simulatedranges for the scenario of one vehicle traveling in a circular trajectory aroundthe second stationary vehicle. At two points along this trajectory, the twovehicles are oriented such that the four ranges all fall on the same line. Atthis point the positioning geometry is extremely poor. In such cases, theleast squares version of the algorithm fails, whereas the Kalman filter is ableto continue estimating position through this point because of the dynamicsmodel used in the prediction stage. In every day driving situations, thischallenging scenario is frequently encountered, when one car passes anotheron the roadway. This was tested in the road tests described in chapter 6, andthe Kalman filter demonstrated its ability to correctly estimate the positionof a passing vehicle, while least squares could not.3- The Kalman filter parameters (prediction model and process covari-ance matrix) were optimized to adjust the filter for the test scenario. First,the initial function used to model θ was a simple linear function. However,in typical driving, θ does not change in a linear fashion. It only significantlychanges during turns. Therefore, a Gaussian Markov model was insteadused for θ, as it models the change of θ as a transient bias that is predictedto return to zero in the absence of new observations. Second, appropriatevalues for the process covariance matrix were determined in order to reflectthe error introduced by the prediction process.4- The proposed Kalman filter was able to estimate relative positionand attitude successfully for different challenging scenarios with a meanerror not exceeding 33 cm in x, 1.25 m in y and 4.7◦ in θ, where x andy are the longitudinal and across distances between the centers of the twovehicles respectively, and the angle θ is the heading difference between thetwo vehicles. These states describe the position and attitude of the second1207.2. RECOMMENDATIONSvehicle in the body frame of the first. These mean error values for x, yand θ were applicable for distance between the vehicles of up to 80 m. TheKalman filter was able to estimate relative position and attitude using onlyUWB ranges in multiple driving scenarios (stopped at a traffic light, onevehicle following the other, right and left turns, one vehicle passing theother, and an extended segment containing many of these maneuvers). Themain limitation of the Kalman filter was exposed during the segment inwhich the two vehicles executed a U-turn. In this case, the dynamics modelused in the Kalman filter could not describe the actual motion of the twovehicles during the U-turn.7.2 RecommendationsThe work presented has shown the capabilities and limitations of us-ing Kalman filter estimation with UWB measurements in determining theattitude and position of one vehicle in the body frame of another. The limi-tations discovered can be overcome with multiple approaches. Therefore thefollowing recommendations for future work are made.- Complete the assessment of the UWB module (TREK1000) in differentenvironments and configurations, especially in the presence of metallic ob-jects (other vehicles on the streets) or in the presence of interfering signalsin the environment. This may help to more accurately model errors in or-der to mitigate their impact on the position and attitude estimation process.- Develop a non-linear dynamics model for use in the prediction stage ofthe Kalman filter, and test it with the same hardware configuration. An-other possibility is to implement an estimation algorithm, such as a particlefilter, that can handle more complex non-linear motion. This will solve theobserved challenge in which the Kalman filter was not able to successfullyestimate during a U-turn.- Integrate the proposed Kalman filter with other positioning technolo-gies to test the capabilities of fully sensor-fused systems. These systems canbe fused in different ways in order to exploit the advantages of the varioustechnologies in these systems and limit the drawbacks of any one of them.- Develop the UWB positioning system to work in an indoor environmentand incorporate stationary objects in the estimation process. This may be1217.2. RECOMMENDATIONSbeneficial for warehouse management where only moving robots and staticshelves are present. Furthermore, any interference, multipath or complexmaneuvers may be easier to identify and model. The knowledge of environ-mental aspects will help in developing a more reliable system that overcomesthe limitations highlighted in this work (operational distance and U-turns).122Bibliography[1] F. de Ponte Mu¨ller, “Survey on ranging sensors and cooperative tech-niques for relative positioning of vehicles,” Sensors, vol. 17, no. 2, p.271, 2017. → pages 1, 11[2] B. Hofmann-Wellenhof, H. Lichtenegger, and J. Collins, Global position-ing system: theory and practice. Springer Science & Business Media,2012. → pages 1, 11[3] G. Lu, Development of a GPS multi-antenna system for attitude de-termination. University of Calgary Calgary, Canada, 1995. → pages2[4] A. Noureldin, T. B. Karamat, and J. Georgy, “Fundamentals of inertialnavigation, satellite-based positioning and their integration,” 2013. →pages 2, 8, 11, 53[5] J. Borenstein and L. Feng, “Measurement and correction of systematicodometry errors in mobile robots,” IEEE Transactions on robotics andautomation, vol. 12, no. 6, pp. 869–880, 1996. → pages 2[6] B. W. Parkinson and P. K. Enge, “Differential gps,” Global PositioningSystem: Theory and applications., vol. 2, pp. 3–50, 1996. → pages 2[7] R. Behringer, S. Sundareswaran, B. Gregory, R. Elsley, B. Addison,W. Guthmiller, R. Daily, and D. Bevly, “The darpa grand challenge-development of an autonomous vehicle,” in IEEE Intelligent VehiclesSymposium, 2004. IEEE, 2004, pp. 226–231. → pages 2[8] DWM1000, Decawave, 2016, v1.6. → pages 2, 9, 11[9] W. Zhao and C. S. Hooi, “Uwb system based uav swarm testbed,” in2020 16th International Conference on Control, Automation, Roboticsand Vision (ICARCV). IEEE, 2020, pp. 67–72. → pages 3123Bibliography[10] M. O’Connor, T. Bell, G. Elkaim, and B. Parkinson, “Automatic steer-ing of farm vehicles using gps,” Precision Agriculture, pp. 767–777,2015. → pages 6[11] B. Thuilot, C. Cariou, L. Cordesses, and P. Martinet, “Automatic guid-ance of a farm tractor along curved paths, using a unique cp-dgps,” inProceedings 2001 IEEE/RSJ International Conference on IntelligentRobots and Systems. Expanding the Societal Role of Robotics in thethe Next Millennium (Cat. No. 01CH37180), vol. 2. IEEE, 2001, pp.674–679. → pages 6[12] M. Bergerman, S. Singh, and B. Hamner, “Results with autonomousvehicles operating in specialty crops,” in 2012 IEEE International con-ference on robotics and automation. IEEE, 2012, pp. 1829–1835. →pages 6[13] E. Kayacan, E. Kayacan, H. Ramon, and W. Saeys, “Towards agrobots:Identification of the yaw dynamics and trajectory tracking of an au-tonomous tractor,” ArXiv, vol. abs/2104.06833, 2015. → pages 6[14] L. Emmi and P. Gonzalez-de Santos, “Mobile robotics in arable lands:Current state and future trends,” in 2017 European Conference on Mo-bile Robots (ECMR). IEEE, 2017, pp. 1–6. → pages 6[15] J. Borenstein, H. R. Everett, L. Feng, and D. Wehe, “Mobile robot po-sitioning: Sensors and techniques,” Journal of robotic systems, vol. 14,no. 4, pp. 231–249, 1997. → pages 6[16] L. Thrybom, J. Neander, E. Hansen, and K. Landernas, “Futurechallenges of positioning in underground mines,” IFAC-PapersOnLine,vol. 48, no. 10, pp. 222–226, 2015. → pages 6[17] S. E. Shladove and S.-K. Tan, “Analysis of vehicle positioning accuracyrequirements for communication based cooperative collision warning,”Journal of Intelligent Transportation Systems, vol. 10, no. 3, pp.131–140, jan 2007. [Online]. Available: http://www.tandfonline.com/doi/pdf/10.1080/15472450600793610 → pages 6[18] K. N. Qureshi and A. H. Abdullah, “Localization-based system chal-lenges in vehicular ad hoc networks: Survey,” Smart CR, vol. 4, pp.515–528, 2014. → pages 7124Bibliography[19] B. Schaffer, G. Kalverkamp, and E. Biebl, “A 2.4 ghz high precisionlocal positioning system based on cooperative roundtrip time of flightranging,” in GeMiC 2014; German Microwave Conference, March 2014,pp. 1–4. → pages 7[20] N. Alam, A. Kealy, and A. G. Dempster, “Cooperative inertial naviga-tion for gnss-challenged vehicular environments,” IEEE Transactionson Intelligent Transportation Systems, vol. 14, no. 3, pp. 1370–1379,sep 2013. → pages 7[21] R. Sengupta, S. Rezaei, S. E. Shladover, D. Cody, S. Dickey, and H. Kr-ishnan, “Cooperative collision warning systems: Concept definition andexperimental implementation,” Journal of Intelligent TransportationSystems, vol. 11, no. 3, pp. 143–155, 2007. → pages 7[22] K. P. Schwarz, M. Wei, and M. Van Gelderen, “Aided versus embedded-a comparison of two approaches to gps/ins integration,” in Proceed-ings of 1994 IEEE Position, Location and Navigation Symposium -PLANS’94, April 1994, pp. 314–322. → pages 7[23] A. Jime´nez, J. Prieto, J. Ealo, J. Guevara, and F. Seco, “Acomputerized system to determine the provenance of finds inarchaeological sites using acoustic signals,” Journal of ArchaeologicalScience, vol. 36, no. 10, pp. 2415 – 2426, 2009. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0305440309002386 →pages 7[24] J. Levinson, J. Askeland, J. Becker, J. Dolson, D. Held, S. Kammel,J. Z. Kolter, D. Langer, O. Pink, V. Pratt, M. Sokolsky, G. Stanek,D. Stavens, A. Teichman, M. Werling, and S. Thrun, “Towards fullyautonomous driving: Systems and algorithms,” in 2011 IEEE Intelli-gent Vehicles Symposium (IV), June 2011, pp. 163–168. → pages 7,8[25] A. R. Jimenez, F. Seco, C. Prieto, and J. Guevara, “A comparison ofpedestrian dead-reckoning algorithms using a low-cost mems imu,” in2009 IEEE International Symposium on Intelligent Signal Processing,Aug 2009, pp. 37–42. → pages 7[26] L. Ojeda and J. Borenstein, “Personal dead-reckoning system for gps-denied environments,” in 2007 IEEE International Workshop on Safety,Security and Rescue Robotics, Sep. 2007, pp. 1–6. → pages 7125Bibliography[27] K. S. Mostov, A. A. Soloviev, and T. . J. Koo, “Initial attitude determi-nation and correction of gyro-free ins angular orientation on the basisof gps linear navigation parameters,” in Proceedings of Conference onIntelligent Transportation Systems, Nov 1997, pp. 1034–1039. → pages8[28] W. Ding, J. Wang, C. Rizos, and D. Kinlyside, “Improving adaptivekalman estimation in gps/ins integration,” The Journal of Navigation,vol. 60, no. 3, pp. 517–529, 2007. → pages 8[29] S. Godha and M. Cannon, “Gps/mems ins integrated system for navi-gation in urban areas,” Gps Solutions, vol. 11, no. 3, pp. 193–203, 2007.→ pages 8[30] G. Lu, G. Lachapelle, M. E. Cannon, and B. Vogel, “Performance anal-ysis of a shipborne gyrocompass with a multi-antenna gps system,” inProceedings of 1994 IEEE Position, Location and Navigation Sympo-sium - PLANS’94, April 1994, pp. 337–343. → pages 8[31] C. Wang and G. Lachapelle, “Gps attitude determination reliabilityperformance improvement using low cost receivers,” Journal of GlobalPositioning Systems, vol. 1, pp. 85–95, 12 2002. → pages 8[32] S. Daneshmand, N. Sokhandan, and G. Lachapelle, “Precise gnss atti-tude determination based on antenna array processing,” 2014. → pages8[33] M. L. Sichitiu and M. Kihl, “Inter-vehicle communication systems: asurvey,” IEEE Communications Surveys and Tutorials, vol. 10, 2008.→ pages 8[34] N. M. Drawil and O. Basir, “Intervehicle-communication-assisted lo-calization,” IEEE Transactions on Intelligent Transportation Systems,vol. 11, no. 3, pp. 678–691, Sep. 2010. → pages 8[35] A. Mostafa, A. M. Vegni, R. Singoria, T. Oliveira, T. D. C. Little, andD. P. Agrawal, “A v2x-based approach for reduction of delay propa-gation in vehicular ad-hoc networks,” in 2011 11th International Con-ference on ITS Telecommunications, Aug 2011, pp. 756–761. → pages8[36] Palma and A. M. Vegni, “On the optimal design of a broadcast datadissemination system over vanet providing v2v and v2i communications—the vision of rome as a smart city—,” 2013. → pages 8126Bibliography[37] S.-W. Ko, H. Chae, K. Han, S. Lee, D.-W. Seo, and K. Huang, “V2x-based vehicular positioning: Opportunities, challenges, and future di-rections,” IEEE Wireless Communications, vol. 28, no. 2, pp. 144–151,2021. → pages 8[38] F. J. Martinez, C.-K. Toh, J.-C. Cano, C. Calafate, and P. Manzoni,“Emergency services in future intelligent transportation systems basedon vehicular communication networks,” IEEE Intelligent Transporta-tion Systems Magazine, vol. 2, pp. 6–20, 2010. → pages 8[39] C.-K. Toh, “Future application scenarios for manet-based intelligenttransportation systems,” Future Generation Communication and Net-working (FGCN 2007), vol. 2, pp. 414–417, 2007. → pages 8[40] J. M. Benyus, “Biomimicry: Innovation inspired by nature,” 1997. →pages 9[41] X. Han, L. F. Rossi, and C.-C. Shen, “Autonomous navigation of wire-less robot swarms with covert leaders,” in ROBOCOMM, 2007. →pages 9[42] G. Va´sa´rhelyi, C. Vira´gh, G. Somorjai, N. Tarcai, T. Szo¨re´nyi, T. Ne-pusz, and T. Vicsek, “Outdoor flocking and formation flight with au-tonomous aerial robots,” 2014 IEEE/RSJ International Conference onIntelligent Robots and Systems, pp. 3866–3873, 2014. → pages 9[43] F. Ducatelle, G. A. D. Caro, A. Fo¨rster, M. Bonani, M. Dorigo, S. Mag-nenat, F. Mondada, R. O’Grady, C. Pinciroli, P. Re´tornaz, V. Trianni,and L. M. Gambardella, “Cooperative navigation in robotic swarms,”Swarm Intelligence, vol. 8, pp. 1–33, 2013. → pages 9[44] G. Elkaim and R. J. Kelbley, “A lightweight formation control method-ology for a swarm of non-holonomic vehicles,” 2006 IEEE AerospaceConference, pp. 8 pp.–, 2006. → pages 9[45] A. R. J. Ruiz and F. S. Granja, “Comparing ubisense, bespoon, anddecawave uwb location systems: Indoor performance analysis,” IEEETransactions on Instrumentation and Measurement, vol. 66, pp. 2106–2117, 2017. → pages 9, 19, 20[46] A. R. Jime´nez and F. S. Granja, “Comparing decawave and bespoonuwb location systems: Indoor/outdoor performance analysis,” 2016 In-ternational Conference on Indoor Positioning and Indoor Navigation(IPIN), pp. 1–8, 2016. → pages 9127Bibliography[47] P. Dabove, V. D. Pietra, M. Piras, A. A. Jabbar, and S. Kazim, “In-door positioning using ultra-wide band (uwb) technologies: Positioningaccuracies and sensors’ performances,” 2018 IEEE/ION Position, Lo-cation and Navigation Symposium (PLANS), pp. 175–184, 2018. →pages 9[48] M. R. Mahfouz, C. Zhang, B. C. Merkl, M. J. Kuhn, and A. E. Fathy,“Investigation of high-accuracy indoor 3-d positioning using uwb tech-nology,” IEEE Transactions on Microwave Theory and Techniques,vol. 56, no. 6, pp. 1316–1330, 2008. → pages 9[49] S. Wang, A. Waadt, A. Burnic, D. Xu, C. Kocks, G. H. Bruck, andP. Jung, “System implementation study on rssi based positioning inuwb networks,” in 2010 7th International Symposium on Wireless Com-munication Systems. IEEE, 2010, pp. 36–40. → pages 9[50] M. S. Svalastog, “Indoor positioning-technologies, services and archi-tectures,” Master’s thesis, 2007. → pages 10[51] A. Alarifi, A. Al-Salman, M. Alsaleh, A. Alnafessah, S. Al-Hadhrami,M. A. Al-Ammar, and H. S. Al-Khalifa, “Ultra wideband indoor posi-tioning technologies: Analysis and recent advances,” Sensors, vol. 16,no. 5, p. 707, 2016. → pages 10[52] T. Deißler, M. Janson, R. Zetik, and J. Thielecke, “Infrastructurelessindoor mapping using a mobile antenna array,” in 2012 19th Interna-tional Conference on Systems, Signals and Image Processing (IWSSIP).IEEE, 2012, pp. 36–39. → pages 10[53] P. Tome´, C. Robert, R. Merz, C. Botteron, A. Blatter, and P.-A. Farine,“Uwb-based local positioning system: From a small-scale experimen-tal platform to a large-scale deployable system,” in 2010 InternationalConference on Indoor Positioning and Indoor Navigation. IEEE, 2010,pp. 1–10. → pages 10[54] Y. Kilic, H. Wymeersch, A. Meijerink, M. J. Bentum, and W. G. Scan-lon, “Uwb device-free person detection and localization,” arXiv. org,Tech. Rep, vol. 1303, 2013. → pages 10[55] A. De Angelis, J. Nilsson, I. Skog, P. Ha¨ndel, and P. Carbone, “Indoorpositioning by ultrawide band radio aided inertial navigation,” Metrol-ogy and Measurement Systems, vol. 17, no. 3, pp. 447–460, 2010. →pages 10128Bibliography[56] C. Ascher, L. Zwirello, T. Zwick, and G. Trommer, “Integrity monitor-ing for uwb/ins tightly coupled pedestrian indoor scenarios,” in 2011International Conference on Indoor Positioning and Indoor Navigation.IEEE, 2011, pp. 1–6. → pages 10[57] G. Cheng, “Accurate toa-based uwb localization system in coal minebased on wsn,” Physics Procedia, vol. 24, pp. 534–540, 2012. → pages10[58] R. Maalek and F. Sadeghpour, “Accuracy assessment of ultra-wideband technology in tracking static resources in indoor construction sce-narios,” Automation in Construction, vol. 30, pp. 170–183, 2013. →pages 10[59] ——, “A comparative overview of radio frequency-based technologiesapplicable to locating resources on construction sites,” in Annual Con-ference of Canadian Society for Civil Engineering (CSCE 2011), 2011,pp. 14–17. → pages 10[60] L. Mucchi, F. Trippi, and A. Carpini, “Ultra wide band real-time lo-cation system for cinematic survey in sports,” in 2010 3rd Interna-tional Symposium on Applied Sciences in Biomedical and Communi-cation Technologies (ISABEL 2010). IEEE, 2010, pp. 1–6. → pages10[61] G. MacGougan, K. O’Keefe, and D. S. Chiu, “Multiple uwb range as-sisted gps rtk in hostile environments,” in Proceedings of the 21st In-ternational Technical Meeting of the Satellite Division of The Instituteof Navigation (ION GNSS 2008), 2008, pp. 3020–3035. → pages 10[62] G. D. MacGougan and K. O’Keefe, “Real time uwb error estimationin a tightly-coupled gps/uwb positioning system,” in Proceedings of the2009 International Technical Meeting of The Institute of Navigation,2009, pp. 360–374. → pages 10[63] G. MacGougan, K. O’Keefe, and R. Klukas, “Accuracy and reliability oftightly coupled gps/ultra-wideband positioning for surveying in urbanenvironments,” GPS solutions, vol. 14, no. 4, pp. 351–364, 2010. →pages 10[64] M. Tanigawa, J. D. Hol, F. Dijkstra, H. Luinge, and P. Slycke, “Aug-mentation of low-cost gps/mems ins with uwb positioning system for129Bibliographyseamless outdoor/indoor positionng,” in Proceedings of the 21st inter-national technical meeting of the satellite division of the institute ofnavigation (ION GNSS 2008), 2008, pp. 1804–1811. → pages 10[65] A. Vydhyanathan, H. Luinge, M. Tanigawa, F. Dijkstra, M. S. Braasch,and M. U. de Haag, “Augmenting low-cost gps/ins with ultra-widebandtransceivers for multi-platform relative navigation,” in Proceedings ofthe 22nd International Technical Meeting of the Satellite Division ofThe Institute of Navigation (ION GNSS 2009), 2009, pp. 547–554. →pages 10[66] T. Tourrette, M. Deremetz, O. Naud, R. Lenain, J. Laneurit, andV. De Rudnicki, “Close coordination of mobile robots using radio bea-cons: A new concept aimed at smart spraying in agriculture,” in 2018IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). IEEE, 2018, pp. 7727–7734. → pages 10[67] M. Petovello, K. O’Keefe, B. Chanv, S. Spiller, C. Pedrosa, P. Xie, andC. Basnayake, “Demonstration of inter-vehicle uwb ranging to augmentdgps for improved relative positioning,” Journal of Global PositioningSystems, vol. 11, pp. 11–21, 2010. → pages 10, 34[68] D. Wang, K. O’Keefe, and M. Petovello, “Decentralized cooperativepositioning for vehicle-to-vehicle (v2v) application using gps integratedwith uwb range,” in Proceedings of the ION 2013 Pacific PNT Meeting,2013, pp. 793–803. → pages 10[69] S. M. Stigler, “Gauss and the invention of least squares,” the Annals ofStatistics, pp. 465–474, 1981. → pages 11[70] M. Malajner, P. Planinsˇicˇ, and D. Gleich, “Uwb ranging accuracy,” in2015 International Conference on Systems, Signals and Image Process-ing (IWSSIP), Sep. 2015, pp. 61–64. → pages 14[71] J. Tiemann, F. Eckermann, and C. Wietfeld, “Atlas - an open-sourcetdoa-based ultra-wideband localization system,” in 2016 InternationalConference on Indoor Positioning and Indoor Navigation (IPIN), Oct2016, pp. 1–6. → pages 14[72] J. Wang, A. K. Raja, and Z. Pang, “Prototyping and experimentalcomparison of ir-uwb based high precision localization technologies,” in2015 IEEE 12th Intl Conf on Ubiquitous Intelligence and Computingand 2015 IEEE 12th Intl Conf on Autonomic and Trusted Computing130Bibliographyand 2015 IEEE 15th Intl Conf on Scalable Computing and Communi-cations and Its Associated Workshops (UIC-ATC-ScalCom), Aug 2015,pp. 1187–1192. → pages 14[73] F. Hammer, R. G. Yudanto, K. Neumann, M. Pichler, J. Cockx, C. Nie-stroj, and F. Petre´, “Performance evaluation of 3d-position estimationsystems,” IEEE Sensors Journal, vol. 16, pp. 6416–6424, 2016.→ pages14[74] A. Ledergerber, M. Hamer, and R. D’Andrea, “A robot self-localization system using one-way ultra-wideband communication,”2015 IEEE/RSJ International Conference on Intelligent Robots andSystems (IROS), pp. 3131–3137, 2015. → pages 14[75] R. A. Brown and P. Hwang, “Introduction to random signals and ap-plied kalman filtering (3rd ed,” 1992. → pages 14[76] Z. Li, G. Chang, J. Gao, J. Wang, and A. Hernandez, “Gps/uwb/mems-imu tightly coupled navigation with improved robust kalman filter,”Advances in Space Research, vol. 58, no. 11, pp. 2424–2434, 2016. →pages 14[77] Y. Gao, X. Meng, C. M. Hancock, S. Stephenson, and Q. Zhang,“Uwb/gnss-based cooperative positioning method for v2x applica-tions,” 2014. → pages 14[78] B. Hepp, T. Naegeli, and O. Hilliges, “Omni-directional person trackingon a flying robot using occlusion-robust ultra-wideband signals,” 2016IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS), pp. 189–194, 2016. → pages 14[79] P. Corbala´n and G. P. Picco, “Concurrent ranging in ultra-wideband ra-dios: Experimental evidence, challenges, and opportunities,” in EWSN,2018. → pages 19[80] “IEEE Standard for Local and metropolitan area networks–Media Ac-cess Control (MAC) Bridges and Virtual Bridged Local Area Networks–Amendment 15: Multiple I-SID Registration Protocol,” IEEE Std802.1Qbe-2011 (Amendment to IEEE Std 802.1Q-2011), pp. 1–58, Sep.2011. → pages 19[81] Application Note - Moving from TREK1000 to a Product (APS016),Decawave, 2015. → pages 28131Bibliography[82] E. Ghanem, K. O’Keefe, and R. Klukas, “Estimating vehicle-to-vehiclerelative position and attitude using multiple uwb ranges,” in IndoorPositioning and Indoor Navigation - Work-in-Progress Papers - 2019.IPIN-WiP 2019, 2019, pp. 180–186. → pages 36[83] R. Mannings, Ubiquitous positioning. Artech House, 2008. → pages53[84] Y. Feng, J. Wang et al., “Gps rtk performance characteristics and anal-ysis,” Positioning, vol. 1, no. 13, 2008. → pages 53, 81[85] Waypoint Software, Novatel, 2020, inertialExplorer, InertialExplorerX-press, GrafNav/GrafNet, GrafNavStatic UserManual. → pages 54, 72[86] RTKLIB Manual, T.Takasu, 2013. → pages 72132
Thesis/Dissertation
eng
Electrical Engineering
Vancouver : University of British Columbia Library
Attribution-NonCommercial-NoDerivatives 4.0 International
Graduate
Klukas, Richard
O'Keefe, Kyle
2-D relative position and attitude determination for land vehicles using multiple UWB ranges
Text