Glider perching with wing co-design

Year
2026
Context
EPFL · Course project
Team
Team of 4

TL;DR

Problem
Perching, landing precisely on a point at low speed, is a hard nonlinear control problem for fixed-wing gliders, and the wing’s shape limits what any controller can do.
What we built
A reinforcement-learning agent that flies the glider through its elevator, trained to adapt to unpredictable wind disturbances and varying starting speeds, plus a simultaneous optimization that redesigns the wing shape while the agent learns.
Result
Highly precise landings that outperform optimal control methods, and co-design that accelerates success convergence by 29.7%.
Stack
Python, PyTorch, PPO, REINFORCE, cross-entropy method, NeuralFoil

What if a robot could redesign its own wing while learning to fly?

  • 29.7% FASTER CONVERGENCE
  • PPO
  • Co-design
  • GPU-batched sim
  • Curriculum
Illustration: a NACA 4412 airfoil outline morphing into a more cambered co-designed wing section

The approach

  1. Glider model. A planar glider with a 7-D state; the agent commands the elevator rate. Aerodynamics come from NeuralFoil, a neural surrogate of XFOIL, run in batches in PyTorch.
  2. Training at scale. PPO across 4,096 parallel GPU environments for 200M timesteps.
  3. Curriculum. Four stages tighten the landing target from 0.5 m to 0.05 m, at under 1 m/s touchdown speed.
  4. Robustness. Training with unpredictable wind disturbances and varying starting speeds, so the controller holds up outside the nominal case.
  5. Co-design. A policy conditioned on the wing design learns alongside an 18-D airfoil shape, optimized with REINFORCE and a design critic. A cross-entropy-method search looks for the wing the agent learns to fly fastest.

What it achieved

  • 29.7% faster convergence. The co-designed wing reaches successful landings sooner than the NACA 4412 baseline.
  • 0.05 m landing precision. Touchdown at under 1 m/s after the four-stage curriculum.
  • Beats optimal control. Its landings are more precise than those of optimal control methods.
  • 4,096 parallel environments. 200M timesteps of GPU-batched PPO.
  • Airfoil search. The cross-entropy method explores 8 generations × 24 candidate wings.

Notes

The image at the top is an illustration (a NACA 4412 baseline morphing toward a more cambered section), not the learned airfoil. The code lives in a team repository.

Coming soon: Convergence plot, learned airfoil vs NACA 4412 and a perching evaluation clip.