  This document describes the architecture and algorithms of a high fidelity
fixed wing flight simulator intended to test and validate novel guidance,
navigation, and control (GNC) algorithms for autonomous aircraft. It aims to
replicate the influence of as many factors as possible on the aircraft
performances, the Earth model, the physics of flight and the associated
equations of motion, and in particular the behavior of the onboard sensors,
limiting the assumptions to the bare minimum, and including multiple relatively
minor effects not usually considered in simulation that may play a role in the
GNC algorithms not performing as intended. The author releases the flight
simulator C ++ implementation as open-source software. The simulator modular
design enables the replacement of the standard GNC algorithms with the
objective of evaluating their performances when subject to specific missions
and meteorological conditions (atmospheric properties, wind field, air
turbulence). The testing and evaluation is performed by means of Monte Carlo
simulations, as most simulation modules (such as the aircraft mission, the
meteorological conditions, the errors introduced by the sensors, and the
initial conditions) are defined stochastically and hence vary in a
pseudo-random way from one execution to the next according to certain
user-defined input parameters, ensuring that the results are valid for a wide
range of conditions. In addition to modeling the outputs of all sensors usually
present onboard a fixed wing platform, such as accelerometers, gyroscopes,
magnetometers, Pitot tube, air vanes, and a Global Navigation Satellite System
(GNCC) receiver, the simulator is also capable of generating realistic images
of the Earth surface that resemble what an onboard camera would record if
following the resulting trajectory, enabling the use and evaluation of visual
and visual inertial navigation systems.
