Glider perching with wing co-design
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

The approach
- 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.
- Training at scale. PPO across 4,096 parallel GPU environments for 200M timesteps.
- Curriculum. Four stages tighten the landing target from 0.5 m to 0.05 m, at under 1 m/s touchdown speed.
- Robustness. Training with unpredictable wind disturbances and varying starting speeds, so the controller holds up outside the nominal case.
- 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.