Reproducible research materials for a sim-to-real experiment submitted alongside the thesis to the Department of Aeronautics in partial fulfilment of the requirements for the degree of Master of Engineering (MEng) in Aeronautical Engineering at Imperial College London About Nausicaa is a reproducible research repository for an indoor fixed-wing sim-to-real flight experiment. The project studies whether a small…
Reproducible research materials for a sim-to-real experiment submitted alongside the thesis to the Department of Aeronautics in partial fulfilment of the requirements for the degree of Master of Engineering (MEng) in Aeronautical Engineering at Imperial College London
About
Nausicaa is a reproducible research repository for an indoor fixed-wing sim-to-real flight experiment. The project studies whether a small hand-launched glider can use a controller developed in simulation to repeatedly cross an indoor flight volume containing uncertain updrafts.
The controller uses viability-guided manoeuvre primitive selection: instead of tracking one preplanned trajectory, the glider repeatedly chooses short validated manoeuvres every 0.10 s that keep the flight state viable under uncertain lift.
Example result: closed-loop control keeps the glider flying through uncertain updrafts, while a comparable open-loop launch fails.
The repository links the measured flight arena, manufactured glider, updraft models, controller development ladder, frozen controller inputs, real-flight logs, and simulation replay diagnostics behind the thesis.
@mastersthesis{li2026nausicaa_thesis,
title = {Viability-Guided Sim-to-Real Transfer for a Small Fixed-Wing Glider in Uncertain Indoor Updrafts},
author = {Li, Hanchen},
school = {Imperial College London},
year = {2026},
type = {MEng thesis},
note = {Department of Aeronautics},
doi = {10.5281/zenodo.21083555},
url = {https://doi.org/10.5281/zenodo.21083555}
}
A direct citation is also avaliable when a thesis-format reference is required.
@mastersthesis{li2026nausicaa_thesis,
title = {Viability-Guided Sim-to-Real Transfer for a Small Fixed-Wing Glider in Uncertain Indoor Updrafts},
author = {Li, Hanchen},
school = {Imperial College London},
year = {2026},
type = {MEng thesis},
note = {Department of Aeronautics}
}
For the archived software, datasets, logs, and reproducibility materials, please cite the Zenodo record:
@misc{li2026nausicaa_materials,
title = {Nausicaa: Project Materials for Viability-Guided Sim-to-Real Transfer for a Small Fixed-Wing Glider in Uncertain Indoor Updrafts},
author = {Li, Hanchen},
year = {2026},
publisher = {Zenodo},
version = {v2026.06-thesis},
doi = {10.5281/zenodo.20927007},
url = {https://doi.org/10.5281/zenodo.20927007}
}
Workflow at a Glance
A repeatable indoor flight problem.
The project turns uncertain outdoor lift exploitation into a controlled laboratory experiment. A small hand-launched glider must cross a bounded indoor flight volume while fan-generated updrafts can either help it stay aloft or push it toward failure.
A complete experimental workflow, not just a controller.
The repository includes the pieces needed to make the flight tests repeatable: Vicon motion capture, offboard computation, a radio-control command path, measured sensing and actuator delays, a safety-bounded arena, and the manufactured glider.
Selected flight test sensing, computation, and command architecture.
A measured but imperfect updraft model.
The indoor flow is not assumed to be an ideal wind field. Fan-generated updrafts are measured with a scanned hot-wire anemometer, fitted with compact surrogate models, and then randomised during controller development so the final controller is not tuned to one specific flow map.
Time-lapse composite of anemometer measurements and harmonic annular Gaussian model with GP residual correction.
A real glider model connected to the hardware.
The simulation model is built around the manufactured aircraft. It uses measured mass properties, centre of gravity, actuator timing, flight calibration data, and panelwise aerodynamic loading to capture the main behaviour of the glider while remaining fast enough for large validation runs.
Manufactured fifth iteration glider and key assembly details.
Control by short tested manoeuvres.
The controller repeatedly selects 0.10 s manoeuvre primitives in flight. Each primitive has already been simulated and labelled with its entry conditions, likely exit outcome, failure risk, safety margin, lift exposure, energy change, and timing cost.
A flight-ready controller library.
The dense primitive library is compressed into a smaller set of representative validated manoeuvres. This keeps the online controller fast enough for real flight while avoiding the creation of synthetic controllers that were never tested.
Real flight transfer beyond the validation cases.
The final tests compare open-loop and closed-loop flight in still air, fixed fan layouts, and randomised fan layouts. In the random layouts that were not used during controller validation, closed-loop control substantially improves mission success over open-loop flight.
Representative flight-test cases. Click each image to open the video.
A clear limit on what did not help much.
The repository also includes the spatial memory component and its logs, but the evidence shows that memory is not the main reason the system transfers. The main reusable result is the measured workflow plus the viability-guided primitive controller.
Example result: both the memory and no-memory flights survive and exploit the updrafts; the memory component has limited effect.
Setup and Reproducibility
This repository is a workflow archive for the thesis. The folders correspond to the main parts of the experiment: updraft modelling, glider design, controller validation, timing tests, and simulation replay of the flight tests.
Tested environment
Tool
Tested version
Windows
11 25H2
Python
3.12.11
MATLAB
R2026a
Arduino IDE
2.3.8
Vicon Tracker
3.9
Clone
Full clone:
git clone https://github.com/GH-X-ST/Nausicaa.git
cd Nausicaa
Please use partial clone and sparse checkout for lighter inspection. For example, to inspect only the controller and flight-test folders:
git clone --filter=blob:none --sparse https://github.com/GH-X-ST/Nausicaa.git
cd Nausicaa
git sparse-checkout set README.md 03_Control 04_Flight_Test
Change the final git sparse-checkout set ... line to select other folders.
Local environment
This repository does not currently provide a single root dependency file for the whole workflow. Therefore, you have to create a local Python environment first, then install only the packages required by the scripts you intend to run.
MATLAB, Arduino IDE, Vicon Tracker, and Flight Arena hardware are only needed for the workflows that depend on them. Most readers should start by inspecting the released data, figures, logs, and scripts before attempting any rerun.
Workflow entry points
Use the thesis chapter or appendix to choose the relevant repository folder:
Repeating the physical flow measurement requires the fan and anemometer setup.
Glider design
02_Glider_Design/
The physical aircraft depends on manufacturing tolerances and assembly.
Controller validation
03_Control/
Dense simulation and validation sweeps may be computationally expensive.
Real-flight transfer
04_Flight_Test/
Physical experiments cannot be exactly repeated from software alone.
Timing tests
B_Test_Lantency/, C_Overall_Latency/
Repeating the measurements requires the corresponding hardware setup.
Do not run dense simulations, archive regeneration, or hardware-facing scripts unless you want to regenerate those artefacts.
License
The released software code is distributed under the MIT License. See LICENSE for details.
The thesis manuscript, media, experimental data, third-party material, and generated figures may be subject to separate copyright or repository notices. Do not assume that the MIT License applies to every non-code artefact unless it is explicitly released under the same license.
评论