Davis Geometric
Technical study / FAL-CORE / The Geometry of Flight

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.

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. Inspect the full technical study →

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.

01 / Implemented model coefficients

The actual four-state plant

Scroll horizontally to inspect the full table →

The actual four-state plant
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.

f16.js · augmentedF16(), shortPeriod and actuator definitions
02 / Source model specification

How the actuator enters the model

Scroll horizontally to inspect the full table →

How the actuator enters the model
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.

f16.js · augmentedF16(), shortPeriod and actuator definitions

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

Complementary technical detail: 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.
Complementary technical detail: 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.

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.

  1. FAL-CORE project material.

Additional source versions reviewed

  • fal-core/README.md Local project manuscript or report · not republished here
  • fal-core/src/pages/Home.jsx Local project manuscript or report · not republished here
  • fal-core/src/lib/f16.js Local project manuscript or report · not republished here
  • fal-core/src/pages/S7_LearningTheBike.jsx Local project manuscript or report · not republished here
  • fal-core/src/pages/S8_PotholeMidLearn.jsx Local project manuscript or report · not republished here