Research implementation of the Joint-Flow Capture Governor
for robust terminal control of unpowered fixed-wing robots
Moewe accompanies the draft manuscript Joint-Flow Capture Governor (JFCG) for Robust Terminal Control of Unpowered Fixed-Wing Robots. It investigates the final approach of an unpowered aircraft when recovery distance is limited, commands are delayed, airflow varies across the airframe, and the complete aircraft must safely pass through a gate or make an admissible first landing contact.
Moewe was archived because its intended advantage could not be demonstrated convincingly within the available facility.
The arena conflicts with the claimed advantage. The usable flight length is only 5.4 m: near 6 m/s, a traversal lasts about 0.9 s and permits roughly nine governor updates. A 140 ms command-onset delay consumes about 0.84 m, while the 240 ms prediction horizon spans about 1.44 m. JFCG is intended to make repeated, recursively safe corrections as distance decreases. However, only a few commands can become effective here, making a successful run difficult to distinguish from launch stabilisation followed by one terminal correction.
The novelty is limited. The distinctive contribution is the integration of shared centre-flow and spatial-gradient factors with delayed-command propagation, full-body terminal geometry, a distance-indexed capture cover, and a stored backup reference. Its underlying ingredients—reference governors, zonotopes, reachability, local feedback, and a small online QP—are established methods. Without ablations showing that the joint-flow structure materially enlarges the certified region or improves flight outcomes, the work only demonstrates a thoughtful integration instead of a strong state-of-the-art advance.
JFCG supervises the nominal controller's aileron, elevator, and rudder references:
- Before flight: a nonlinear verifier propagates state, shared centre-flow and gradient uncertainty, local strip remainders, delayed commands, and swept-airframe geometry. It stores a distance-indexed capture cover and a feasible backup reference. The 240 ms horizon uses twelve 20 ms stages, covering one 100 ms governor period plus the maximum 140 ms command-onset delay.
- During flight: the motion-based observer updates its containing state and centre-flow set every 5 ms; nominal feedback runs every 20 ms; and every 100 ms a three-variable QP keeps or minimally adjusts the proposed references using the stored certificate.
- At the terminal event: the complete aircraft must pass through the gate, or the permitted landing points must make first contact while the remaining body, footprint, velocity, and attitude constraints hold. Invalid estimates, queues, flow, lookup, or containment return no JFCG reference and require a separate flight-stack contingency.
| Path | Purpose |
|---|---|
models/ |
Aircraft dynamics, state, rigid-body geometry, and updraft utilities |
control/flow.py |
Dependency-preserving local-flow representation |
control/observer.py |
State and centre-flow integrity interface |
control/predictor.py |
Generated aircraft core and runtime affine predictor |
control/oracle.py |
Offline validated nonlinear propagation |
control/capture.py |
Distance-indexed capture compilation |
control/governor.py |
Deterministic three-reference active-set governor |
control/missions.py |
Gate, landing, free-space, and terminal constraints |
simulation/ |
Arena and terminal-event adapters |
tests/ |
Unit, soundness, integration, and runtime-isolation tests |
The archive was last verified with:
| Package | Version |
|---|---|
| Python | 3.12.11 |
| NumPy | 2.2.6 |
| SciPy | 1.16.3 |
| pytest | 9.0.3 |
Clone and create the environment:
git clone https://github.com/GH-X-ST/Moewe.git
cd Moewe
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install numpy==2.2.6 scipy==1.16.3 pytest==9.0.3
