F16Model.jl is a Julia package for a nonlinear model of the F16 aircraft. The aerodynamics included in this model come from the NASA Technical Report 1538, Simulator Study of Stall/Post-Stall Characteristics of a Fighter Airplane with Relaxed Longitudinal Static Stability , by Nguyen, Ogburn, Gilbert, Kibler, Brown, and Deal, Dec 1979. The model is based on Aircraft Control and Simulations , by Brian Stevens and Frank Lewis, Wiley Inter-Science, New York, 1992.

This Julia package is inspired by the MATLAB/Simulink package, and currently has the following features:

Nonlinear dynamics for simulations.

Trim routine for various flight conditions.

Linearization about a trim point (x0,u0) using ForwardDiff.

These capabilities allow users to perform high fidelity aircraft simulations and test flight control algorithms. More features will be added as we continue to develop this package.

Right now it is standalone, it gives you \dot{x}=f(x,u), where x are the F16 states and u are the control inputs, which can be used to design feedback controllers u:= g(x) and simulate the closed-loop system using DifferentialEquations.jl. Not sure how ModelingToolkit.jl will be useful here. It will be cool to interconnect subsystems like in Simulink. Can ModelingToolkit.jl help here?

Very nice, thanks for this package! One thing that would be nice (but probably quite a bit of work) is to add support for Unitful.jl, so all quantities have units attached and users can easily choose between metric and imperial units.