EXPLORE THE INDEX
contact@just-grassy.com ↗
← ALL WORK
RESEARCH / PREPRINT

GES — Ground Effect Stabilizer

Onboard-sensor-based feedforward estimation of ground effect over irregular terrain, comparing machine learning and analytical models for multirotor flight.

Individual ResearchGround Effect / Flight Dynamics / Machine Learning / Multirotor
GES manuscript first page, by Muwon Lee
GES manuscript first page, by Muwon Lee
THE RESEARCH QUESTION

Accurate predictions.
Better control?

Learned models predict ground effect well offline. The closed-loop experiments tell a more demanding story: accuracy alone does not improve the controller.

01 /

Overview

Can a ground-effect model that predicts accurately offline also improve a flying controller? GES studies that question with a physics-based multirotor simulator, irregular terrain, onboard-observable sensors, and learned feedforward compensation.

I developed the simulator and firmware, trained and evaluated the models, conducted the analyses, and wrote the manuscript. The linked Research Square manuscript is a preprint.

02 /

Problem definition

Ground effect augments rotor thrust near a surface. Over uneven terrain, changing clearance, slope, and curvature make a flat-ground approximation incomplete. The study asks how well onboard measurements can estimate that changing effect, and whether the estimate helps control altitude.

An informal pilot observation used a DJI Air 3 and a Photron SA-X2 camera at 1000 fps. It motivated the research; a single uncontrolled trial per condition, pixel-coordinate tracking, and different rangefinder conditions prevent treating it as quantitative validation. The photographs below are Figure 1 from the manuscript.

Figure 1, left: high-speed camera and reference camera rig used for the informal pilot observation
Figure 1, left: high-speed camera and reference camera rig used for the informal pilot observation
Figure 1, right: lighting setup for high-speed filming at 1000 fps
Figure 1, right: lighting setup for high-speed filming at 1000 fps
03 /

Research motivation

A deployable estimator should use signals available to the flight controller: rangefinder altitude, three-axis gyroscope rate, four-rotor RPM and current, and normalized commanded thrust. No reconstructed terrain map is supplied to the learned controller.

The central distinction is between prediction quality and system behavior. GES evaluates both, rather than treating a good regression score as evidence of better flight control.

04 /

System architecture

The simulator combines rigid-body dynamics, per-rotor motor models, seeded procedural terrain, a PID flight controller, and selectable feedforward modes. Figure 5 shows the actual architecture from the manuscript.

The implemented ground-truth model starts with Cheeseman–Bennett and adds heuristic slope and curvature corrections. The curvature multiplier is clamped to 0.5–1.8; the final GE factor is separately clamped to 0.85–1.6 in aero_ground_effect.c. These bounds describe the simulator, not experimentally validated aerodynamics.

The deployed MLP has 13 inputs, hidden layers of 64 and 32 units, and one output. Its weights are exported as a static-array C header. Because thrust is quadratic in throttle-proportional rotor speed, compensation scales throttle by the inverse square root of the estimated ground-effect factor.

Figure 5: original simulator, sensor, feedforward, and flight-controller architecture
Figure 5: original simulator, sensor, feedforward, and flight-controller architecture
uff∝1f^GEu_{\mathrm{ff}} \propto \frac{1}{\sqrt{\hat{f}_{\mathrm{GE}}}}
C / ACTUAL FEEDFORWARD IMPLEMENTATION
double ge_ff_compensate_throttle(double throttle_raw, double factor) {
    if (!isfinite(factor) || factor <= 0.0) return NAN;
    return throttle_raw / sqrt(factor);
}
05 /

Methodology

The offline task predicts the ground-effect factor 100 ms ahead. A deterministic seed-wise split allocates 240 terrain seeds to training, 30 to validation, and 30 to testing, with no seed shared between groups.

The model comparison includes Transformer, LSTM, Random Forest, Gradient Boosting, MLP, Decision Tree, Linear Regression, and the analytical baseline. Sequence models use 32-sample windows, while the classical models and deployed MLP use pointwise inputs. Model selection and early stopping use validation seeds. Figure 6 reports the held-out-seed comparison; it is distinct from the paper’s earlier block-wise evaluation.

Figure 6: held-out-seed prediction RMSE for the seed-wise offline model comparison
Figure 6: held-out-seed prediction RMSE for the seed-wise offline model comparison
06 /

Experimental setup

Offline testing uses 30 held-out seeds. Closed-loop control is evaluated separately: an initial eight-seed comparison is followed by 30 new terrain seeds disjoint from every offline split.

The eight-seed comparison measures no feedforward, analytical feedforward, and hybrid MLP feedforward. The independent 30-seed evaluation also includes raw ML, an asymmetric overprediction clamp, and an oracle supplied with the simulator’s true ground-effect factor. The oracle is a diagnostic and is unavailable in physical deployment.

07 /

Results

Offline, Random Forest reports the highest R² in Table 1 (0.998679), while Transformer reports the lowest RMSE (0.000883). The analytical baseline reports R² 0.851025 and RMSE 0.010424. These are prediction metrics for the seed-wise offline experiment.

In the eight-seed closed-loop comparison, analytical feedforward has a lower mean AGL tracking RMS than the hybrid MLP: 0.06322 m versus 0.06438 m. Figure 16 and the table below preserve the reported mean and standard deviation across those eight seeds.

The independent 30-seed comparison, shown in Figure 17, has different numerical results. Analytical, oracle, and the asymmetric-clamp hybrid group around 0.060–0.061 m; the ordinary hybrid ML mode is around 0.061–0.062 m. Even the perfect-information oracle does not outperform the analytical baseline.

Offline prediction · 30 held-out seeds

Table 1 · Seed-wise split: 240 training / 30 validation / 30 test seeds
ModelRMSEMAER²
Transformer0.0008830.0004950.998321
LSTM0.0009320.0005530.998129
Random Forest0.0009810.0004280.998679
Gradient Boosting0.0011090.0004910.998314
MLP0.0012600.0006410.997822
Decision Tree0.0013710.0005210.997424
Analytical baseline0.0104240.0023370.851025
Linear Regression0.0107020.0060930.842952

Closed-loop control · 8-seed comparison

Figure 16: mean and standard deviation of gyroscope RMS and AGL tracking RMS across eight terrain seeds
Figure 16: mean and standard deviation of gyroscope RMS and AGL tracking RMS across eight terrain seeds
Section 4.4 / Figure 16 · AGL tracking RMS, mean ± standard deviation
ControllerMean (m)SD (m)
No feedforward0.070040.01050
Analytical feedforward0.063220.00738
Hybrid MLP feedforward0.064380.00750

Lower tracking RMS is better. The analytical baseline has the lower error in this comparison. These control errors in metres are separate from the offline prediction scores above.

Closed-loop control · 30 independent seeds

Figure 17: AGL tracking RMS across six controller configurations on 30 independent terrain seeds
Figure 17: AGL tracking RMS across six controller configurations on 30 independent terrain seeds
Repository CSV · Seeds 331–360 · Primary post-transient body-center AGL RMS
ModeMean (m)SD (m)
Analytical0.0604360.012123
Hybrid MLP0.0614170.012085
Asymmetric-clamp MLP0.0607080.012146
Direct MLP0.0672810.014393
No feedforward0.0676880.014590
Oracle0.0605780.011962

Figure 17 uses 30 seeds disjoint from the offline splits. The oracle has access to exact simulator ground truth, yet does not improve on analytical feedforward. This is a separate experiment from the eight-seed table.

08 /

Discussion

Better offline estimation does not establish better closed-loop control. The oracle comparison helps separate predictor accuracy from the effects of actuator mapping and controller structure.

The paper’s corrected analysis finds that overprediction reduces safety-relevant clearance margins. Its pulse-response and pole analysis describe a stable, underdamped response, rather than a self-reinforcing divergent loop. An asymmetric clamp reduces the remaining gap without establishing an advantage over the analytical controller.

09 /

Limitations

The results are simulation-based. The heuristic terrain corrections are not fitted to external CFD or flight-test data, so predicting the simulator well does not validate real-world aerodynamic accuracy.

Training-data and closed-loop cruise parameters differ after a simulator bug fix. Feedforward acts on collective thrust and cannot structurally correct asymmetric per-rotor attitude disturbances. The pilot photography is qualitative motivation, not validation of the simulation metrics.

10 /

References and resources

Text, figures, evaluation conditions, and tables on this page follow the public Research Square v1 manuscript, DOI 10.21203/rs.3.rs-10822671/v1, especially Sections 3, 4.1, 4.4, and 6. Figures are reproduced from that manuscript, by Muwon Lee, under CC BY 4.0.

The public GES repository provides the C physics engine, firmware/ge_ff.c, exported MLP weights, training scripts, tests, and experiment manifests. The seed-wise suite separates training/validation/test seeds 1–300 from clamp-validation seeds 301–330 and final closed-loop seeds 331–360. Its archived offline_metrics.csv and summary_by_mode.csv support the results on this page; superseded outputs are kept separately in pre-results.

Original publications

Source: Muwon Lee, GES, Research Square v1 · DOI 10.21203/rs.3.rs-10822671/v1 · CC BY 4.0. Figures reproduced from the original manuscript.

KEEP EXPLORINGBack to research