# GNSS Performance Modelling and Augmentation for Urban Air Mobility +
## 4 Simulation Case Study  
A UAS operation in an urban environment is chosen as a case study. The models presented in Section 2 are used to develop a path-planning cost-map that accounts for navigation performance and distance covered. Multirotor aircraft have rapidly grown in popularity for a number of commercial and research applications. Among the different possible multirotor configurations, quadrotors are particularly widespread and support a number of indoor and outdoor applications. The conducted case study simulates a low Size, Weight, Power and Cost (SWaP-C) quadrotor in a representative mission in an urban environment. However, the overall approach can be generalized to other UAS as well. Quadcopter dynamics are well documented in the literature and are modelled as in [41]. The simulations were performed in a MATLAB(tm) environment to investigate GNSS performance and the developed path-planning strategy in a representative urban environment. The simulation scenario was developed using CAD models of urban environments, which were converted to a STereoLithographic (STL) format to import into MATLAB(tm), to simulate realistic geometry. Realistic satellite orbits were simulated using a YUMA almanac. RMS accuracy was computed over the test domain for the intended flight profile. Two scenarios were studied: (1) A single-frequency receiver scenario wherein ionospheric error contributed significantly to the overall UERE owing to the relative inaccuracy of the employed ionospheric model; (2) A dual-frequency receiver scenario wherein ionospheric error is practically eliminated. In this scenario, multipath contributions are the limiting source of error. In each scenario, a conventional A* algorithm is run to generate a baseline trajectory, and is compared against a navigation cost-augmented A* algorithm. The comparison is on the basis of two parameters: Average accuracy over the trajectory, and percentage availability. A representative urban environment is simulated along with a satellite constellation. An _a priori_ known binary occupancy grid map is assumed for the navigation area i.e., the environment is represented in discrete voxel form with labels corresponding to either occupied (Boolean-1) or free-space (Boolean-0). This provides a straightforward means of spatially mapping GNSS parameters over the urban airspace. An urban canyon was simulated since most dense urban environments are characterized by this type of scenario. The error models presented in Section 2 were used to generate a spatial and temporal distribution of range error over the simulated domain. In particular, the NLOS/multipath error was focused upon owing to its high variability with satellite elevation and azimuth, and receiver altitude. In all the simulated operations, aircraft path-planning was performed using the A* algorithm, which is widely employed in aerial robotics applications and is guaranteed to converge to the least-cost or shortest path given start-end points and obstacle locations. Figure 11 illustrates the test-domain in the single-frequency receiver scenario. The expected RMS horizontal accuracy field as evaluated at each grid point is shown overlaid over the domain. As expected, accuracy is degraded in the low-altitude shadowed regions of the test domain owing to poor geometry and larger multipath contributions. Figure 11 also shows the baseline A* algorithm along with the navigation cost-augmented path (Nav-A*). The simulation results are summarized in Table 1. The Nav-A* trajectory horizontal error is approximately 25% lower than the baseline A* trajectory. The average accuracy improves to approximately 2.8 m for the dual frequency scenario owing to the near-elimination of ionospheric error. The trajectory generated by the Nav-A* algorithm clearly avoids the dropout zones incurred by the baseline A* algorithm. The time-series of the RMS Horizontal RMS (HRMS) error for both trajectories is displayed in Figure 12.  
Figure 11: HRMS accuracy field along with baseline A* and Nav-A* trajectories.