Control experiments you can inspect
AeroLoop
A simulation-only drone laboratory measuring sensor-outage recovery and capture-aware landing. The retained stress studies report accepted: false, with replayable flight evidence and explicit failure boundaries.
Simulation-only MVP with simplified actuators; versioned release pending. No physical flight, PX4 execution or hardware validation.

Latest verified change · PR #21 ↗ · Merged
A landing guard does not close the outage boundary
PR #21 compares prediction with and without a capture-aware descent guard. Guarded missions pass 9/12 regression and 2/6 unseen cases, without improving pass counts. All two-second missions still fail. The guard remains opt-in; accepted: false.
Source checked . Documentation and retained evidence review, not a new runtime test.
Read change evidence ↗accepted: false- 250 ms
- Pass
- 3/3 missions
- 3/3 paired checks
- 6/6 recovery windows
- 500 ms
- Pass
- 3/3 missions
- 3/3 paired checks
- 6/6 recovery windows
- 1 s
- Mixed
- 2/3 missions
- 0/3 paired checks
- 3/6 recovery windows
- 2 s
- Fail
- 0/3 missions
- 0/3 paired checks
- 0/6 recovery windows
Held-feedback baseline, seeds 0/1/2. Mixed means some mission passes; all one-second paired checks fail. This is not a safe-duration limit.
Explore the actual output / 3D
Follow a flight through wind and landing.
Orbit the aircraft, follow its recorded path and scrub from takeoff to measured ground contact. This is seed 0 of the saved turbulent waypoint mission.
What happens as the aircraft lands in wind?
Start at the landing gust, then scrub toward touchdown. Compare the recorded path, wind and ground contact.
- 50 seconds of saved flight
- One mission, seed 0
- Wind, rotor thrust and contact recorded
50 seconds of recorded Isaac PhysX flight
A saved view is shown. Open 3D to inspect the evidence from another angle.
A browser replay of saved simulation data. Aircraft details are schematic; arm and collision dimensions follow the recorded model. Motion between saved poses is interpolated. No live simulation or physical flight is implied.
In plain terms
Inspect how a simulated drone holds position in wind, follows waypoints and lands with measured ground contact.
Why it matters
Turn and scrub a saved turbulent flight, then compare the public measured results. The earlier CPU recordings remain replayable; a separate learning experiment checks whether a saved policy can hover after reloading.
Follow the example, step by step
Run physics
Execute the native C++ controller with explicit physics and actuator assumptions.
Check the evidence
Validate checksums and recompute metrics from full-resolution samples.
Inspect the response
Orbit the recorded Isaac flight, inspect its landing and compare the separate experiment summaries.
Keep failed gates fixed while testing a mitigation
Documented approach
Compare prediction with and without a capture-aware descent guard using separate regression and unseen cohorts. Preserve the original mission targets, thresholds and deadlines even when the guard changes the commanded altitude.
Alternative and scope
A better touchdown speed alone could make the mitigation look successful. The study instead retains tracking, deadline and final-support failures alongside that local improvement.
Cost of the choice
Holding a descent command cannot guarantee actual height when prediction is inaccurate. Some touchdowns improve and others worsen. The unchanged pass counts do not justify enabling the guard by default.
What the evidence establishes
The retained PR #21 study reports 9/12 guarded regression and 2/6 guarded unseen mission passes, with all two-second missions failing. This portfolio reads the public summary and does not execute PhysX.
Read the decision source (opens in a new tab)Recorded data / 20 September 2026
Compare three recorded controller responses.
These plots read the retained CPU recordings. Compare measured position with the target, then use the replay below to scrub time or inspect recorded attitude in 3D.
Evidence stays attached to the experiment that produced it.
Plots show exported display samples from three seed-0 CPU experiments. Full-resolution samples and metrics remain available in the replay. The separate Isaac evaluation below measures a different experiment; neither validates physical flight.
Recorded data / 20 September 2026
From rotor thrust to a measured landing.
Explore three newer Isaac PhysX experiments: bounded rotor control, position hold in seeded wind, and a calm takeoff-to-landing mission. Each view reads the public measured result summary.
Different experiments answer different questions. Keep the model and its measurements together.
Retained simulation results from 20 September 2026. The wind reference disables horizontal position hold and passes its own altitude and attitude checks; identical wind does not mean identical drag. The mission shown here uses calm air, perfect state and illustrative contact geometry. These summary plots describe separate experiments from the turbulent flight replay above. No hardware validation or new simulation is claimed.
Recorded control, independently inspectable output
The native rate controller drives CPU and Isaac PhysX experiments with explicit model boundaries. Retained records feed CPU replay and measured Isaac summary plots. Learned-policy evaluation remains a separate experiment.
Find the boundary, retain the failed flights
The outage-duration study in PR #19 holds control and physics at 200 Hz and captures position and velocity at 50 Hz. Fifteen PhysX flights compare a no-outage reference with 250 ms, 500 ms, one-second and two-second missing-capture profiles, each across seeds 0, 1 and 2. The complete report retains accepted: false.
Every 250 ms and 500 ms mission, paired comparison and recovery window passes. At one second, only two of three missions and three of six recovery windows pass; every paired comparison fails. At two seconds, all three missions, all three paired comparisons and all six recovery windows fail. These discrete profiles do not establish a safe outage duration.
Recovery requires a final uninterrupted return within 50 mm of the equal-cadence reference, with at least a one-second dwell and a five-second deadline. A later excursion invalidates an earlier return. At 500 ms, the three exercised returns begin 0.870, 0.965 and 1.125 seconds after outage end; the other three windows stay inside the band.
Test a mitigation without moving the gates
PR #20 adds opt-in predictive feedback. It raises one-second mission passes from two to three while all one-second paired checks still fail. All two-second missions remain failures. Prediction can worsen feedback error, so a better mission count is not a general robustness result.
PR #21 then evaluates a capture-aware descent guard using 24 new flights and 240,024 new control samples. Twelve guarded regression cases are compared with retained predictor-only recordings; six fresh pairs use previously unseen seeds 101, 202 and 303. Guarded missions pass 9/12 regression and 2/6 unseen cases, matching the baseline pass counts. One unseen no-outage reference already fails.
Some touchdown speeds improve, but others worsen or miss the original deadline. The guard changes commanded altitude, not the scoring target. Both predictor and guard remain opt-in, all stress acceptance remains false, and the AL-010 yaw-refinement gate stays open. Synthetic feedback and ideal attitude/contact supervision do not establish hardware safety.
Four rotors, then wind and contact
The newer Isaac PhysX path executes the native rate controller with four bounded rotors, motor lag, moment arms and reaction torque. All fifteen hover, north-step and force-pulse trials passed. Their source and model differ from the earlier CPU replay and learned-policy task.
A separate wind experiment pairs position hold with an attitude/altitude-only reference under identical seeded wind. All five pairs exceeded the predefined 75% wind-window RMSE reduction criterion. The reference passes its own altitude and attitude gates while drifting; its drag differs because its trajectory differs.
Five calm missions start on a floor with stopped motors, reach four waypoint holds, then land and latch motor shutdown after measured contact. Every mission passed. The only seed variation is a small initial horizontal offset, so this does not establish broad mission robustness.
A later turbulent mission adds trajectory feedback and feedforward, with seeded wind active through touchdown. All five saved missions passed. The 3D showcase replays seed 0 from this experiment, including its measured landing events; it is separate from the calm mission summary.
Three bounded control experiments
Hover, a one-metre north target step and an eastward force pulse run through the same native rate controller. Each retained recording contains source and configuration hashes, coordinate conventions, the target trajectory and full-resolution metrics.
The replay shows one seed from each CPU scenario. All fifteen trials in the clean-checkout audit passed their predefined checks. The pulse stayed inside the 0.30 m recovery band, so its recorded zero recovery time does not imply an instantaneous physical response.
Learning has its own evidence boundary
The Isaac Lab task uses an original primitive body with ideal thrust and body moments. PPO trained for 8,192,000 transitions. Evaluation reloaded the saved checkpoints and tested the fixed held-out seeds without further tuning.
The trained policy succeeded in 20 of 20 trials; the untrained checkpoint succeeded in 0 of 20. Those counts belong to the specified task, reset distribution, acceptance rule and tested runtime.
The later clean-checkout report reproduces these counts by reloading the original checkpoints. Training was not repeated and the installed Isaac environment was reused. This is same-machine reproduction, not a second-machine or fresh-install result.
What the model leaves out
Motor lag and ground contact belong to the newer declared Isaac models, not the original CPU or learned-policy baselines. The wind model uses illustrative temporal turbulence and drag; both contact missions use perfect state and illustrative cuboid geometry. Battery discharge, sensor noise, estimation, propeller aerodynamics and hardware flight remain outside these experiments.
The current source was checked on 30 September 2026 through PR #21. The earlier flight gallery was reviewed at f2d7aba81b422fe745ec096965b384eb8b2e4272 on 21 September 2026. Public summaries retain the experiments and their original runtime revisions. The turbulent seed-0 replay was verified against all 10,001 retained physics samples and the public summary before publication. This refresh did not run a simulator or train a policy. A versioned project release remains pending.
AEROLOOP / RECORDED SIMULATION
Explore a physics recording
Inspect an ideal body-wrench model with a native rate controller. These trajectories are separate from the Isaac learning experiment.
Recordings load when this panel is visible.
Reduced motion is enabled. Scrub directly or explicitly start playback. Playback pauses when hidden or offscreen. No hardware flight or simulator commands.
The three replays show seed 0 from the clean-checkout CPU audit. Inspect all fifteen trial outcomes.
A separate Isaac hover experiment
8,192,000 training transitions, followed by fresh-process checkpoint reload.
- Trained policy successes
- 20 / 20
- Untrained checkpoint successes
- 0 / 20
Success requires a complete ten-second trial, no failure termination, and target error at or below 0.30 m throughout the final two seconds.
Measured on one local GPU with the primitive body-wrench task. These results do not establish real flight, motor dynamics, policy transfer, or performance on other hardware. The CPU replay above is a different experiment.
Inspect the complete held-out summaryRelated writing
Related updates
Inspect the checked source
Evidence reviewed . Individual decisions and captured examples retain their own source revisions and limitations.
Read the checked README (opens in a new tab)- Outage study, PR #19 (opens in a new tab) ↗
- Full-rate outage evidence (opens in a new tab) ↗
- Predictive feedback evidence (opens in a new tab) ↗
- Landing guard, PR #21 (opens in a new tab) ↗
- Landing guard evidence and limits (opens in a new tab) ↗
- Reproduce the paired landing demonstration (opens in a new tab) ↗
- Turbulent contact mission (opens in a new tab) ↗
- Measured rotor control (opens in a new tab) ↗
- Paired wind comparison (opens in a new tab) ↗
- Measured contact mission (opens in a new tab) ↗
- MVP implementation audit (opens in a new tab) ↗
- Clean-checkout reproduction (opens in a new tab) ↗
- Isaac evaluation evidence (opens in a new tab) ↗
- Physics assumptions (opens in a new tab) ↗
- Reviewed viewer source (opens in a new tab) ↗