FAL-CORE: follow the actuator into the flight dynamics
Research settingMach Industries
FAL-CORE connects state-space modeling, optimal control, estimation, and adaptation through an interactive aerospace example. The implementation follows an F-16 longitudinal model through eight lessons, using bicycle analogies to make the control questions accessible.
From the research record
Inspect the work
Original figures, recorded values, and explicit model details. Each exhibit identifies its source and what the comparison means.
The actual four-state plant
Scroll horizontally to inspect the full table →
| State derivative | α coefficient | q coefficient | δe coefficient | δ̇e coefficient | Command u coefficient |
|---|---|---|---|---|---|
| α̇ | -1.01887 | 0.90506 | -0.00215 | 0 | 0 |
| q̇ | 0.82225 | -1.07741 | -0.17555 | 0 | 0 |
| δ̇e | 0 | 0 | 0 | 1 | 0 |
| δ̈e | 0 | 0 | -2500 | -70 | 2500 |
ẋ = Ax + Bu; x = [α, q, δe, δ̇e]ᵀ and y = q. Angle of attack and elevator angle are in radians; q and δ̇e are in rad/s. Coefficients have the corresponding derivative/state units. This is the implemented short-period aircraft model with an elevator actuator, not a propulsion model or a measured aircraft response.
How the actuator enters the model
Scroll horizontally to inspect the full table →
| Element | Source value / equation | Role |
|---|---|---|
| Natural frequency | ωn = 50 rad/s | Sets actuator response scale |
| Damping ratio | ζ = 0.7 | Sets damping of the second-order actuator |
| Actuator equation | δ̈e + 70δ̇e + 2500δe = 2500u | Maps commanded elevator to actual elevator |
| Measurement | C = [0, 1, 0, 0]; D = 0 | Only pitch rate is returned as y |
| Source operating point | Mach 0.6; altitude 15,000 ft | Operating point stated in the source comment |
The operating point is attributed to the model source; its agreement with a particular airframe is not independently established here. The numerical response above uses these same coefficients.
Read the technical figure
RK4 response of the source four-state F-16 model to a declared 0.02-rad, one-second command. New explanatory integration, not flight validation.
- State
-
x = [α, q, δe, δ̇e]
input: commanded elevator
output: q
- Short-period dynamics
-
α̇ = −1.01887α + 0.90506q − 0.00215δe
q̇ = 0.82225α − 1.07741q − 0.17555δe
coefficients from fal-core/src/lib/f16.js
- Actuator
-
δ̈e = −2500δe − 70δ̇e + 2500u
natural frequency 50 rad/s
damping ratio 0.7
- Input and initial condition
-
u = 0.02 rad for the first second, then zero
all four states initially zero
integration interval 0–8 seconds
- Numerics
-
classical fourth-order Runge–Kutta
step 0.002 s; refinement 0.001 s
maximum sampled state difference 2.904e-7
- Scope
-
model inspection only
no hardware measurements
no controller-stability claim
Supporting detail
Keep the plant recognizable as the mathematics changes
The source defines a two-state short-period plant with angle of attack and pitch rate, then adds a second-order elevator actuator. The augmented state contains angle of attack, pitch rate, elevator deflection, and elevator velocity. Commanded elevator is the input and pitch rate is the measured output.
Using the same plant throughout is the organizing contribution. A coordinate change, a frequency response, an LQR design, and an observer can be read as different questions about a shared object rather than disconnected equations. The library exposes its matrices and numerical routines to inspection.
From a fixed controller to learning online
The implemented lesson sequence covers linear systems, Bode response, LQR and Riccati equations, robust synthesis, observers and Kalman filtering, Lyapunov analysis, state-feedback model-reference adaptation, and robust adaptive laws. The earlier README describes only a first-lesson prototype; the current source contains all eight modules.
The model-reference adaptation lesson evolves estimated feedback and reference gains while tracking a reference model built from the LQR design. The next lesson compares a plain update with sigma modification, projection, and a dead zone under a matched disturbance. Those choices alter parameter growth and tracking behavior in different ways.
What the interactive comparisons establish
The demonstrations make the implemented update laws and their trajectories inspectable. A plot of decreasing tracking error is not by itself a proof of a claimed Lyapunov argument; the chosen matrix, matching assumptions, disturbance class, and numerical discretization must agree with that argument.
The companion concerns flight-control models. Although the catalog previously grouped it under propulsion, the reviewed source does not establish a measured propulsion improvement. The controller experiments are the more accurate representative work.
Sources, scope, and next question
Interactive models developed with Mach Industries; source contains eight lesson modules and a four-state augmented plant.
A useful next report would compare the four adaptive updates on the same declared disturbance and actuator constraints, retaining gain trajectories as well as tracking error. It should state which stability conditions are proved and which behavior is only observed in the numerical example.
Additional source versions reviewed
-
fal-core/README.mdLocal project manuscript or report · not republished here -
fal-core/src/pages/Home.jsxLocal project manuscript or report · not republished here -
fal-core/src/lib/f16.jsLocal project manuscript or report · not republished here -
fal-core/src/pages/S7_LearningTheBike.jsxLocal project manuscript or report · not republished here -
fal-core/src/pages/S8_PotholeMidLearn.jsxLocal project manuscript or report · not republished here