Skip to main content

ETH Zurich: Efficiently harnessing wind power high above the ground using autonomous kites

“With the combination of Simulink Real-Time and the Mobile real-time target machine from Speedgoat we were able to simulate new control algorithms in the lab and then quickly deploy them on the real hardware with very little effort.”

Aldo Zgraggen, member of the Airborne Wind Energy team

“Thanks to the quick deployment capabilities, in field changes of the control software during tests flights did not pose a problem.”

Lorenzo Fagiano, member of the Airborne Wind Energy team

ETH Zurich is one of the leading international universities for technology and the natural sciences. It is well known for its excellent education and ground- breaking fundamental research.

A team at the Automatic Control Laboratory at ETH Zurich, in collaboration with the Politecnico di Torino, the University of California at Santa Barbara (UCSB), the Laboratoire d’Automatique (LA) at EPF Lausanne, the Center for Synergetic Structures at EMPA Dübendorf, the Fachhochschule Nordwestschweiz (FHNW), and TwingTec AG, aims to develop an airborne wind energy generator, a promising alternative method of energy generation.

Airborne Wind Energy

Airborne Wind Energy works by using wings linked to the ground by light, flexible lines, to capture wind energy at high altitude where the wind is usually stronger and more consistent. Wind power at 500 to 1000 metres above the ground can be as much as eight times that available below 200 metres, where current wind turbines operate. 

Power generation

Power is obtained with a generator on a ground unit by reeling out the lines when they are under large traction forces due to strong winds.

The controller exploits the nonlinear aerodynamics of the wings, to reel-out lines when they are under large wind traction forces, and to reel-in under small forces. Only a small fraction of the energy harnessed by the on-ground generator is needed to recover lines and to start another cycle. This operation is typically referred to as the flying pumping cycle, including a traction and a retraction phase.


The implementation of such systems has been held back by significant control challenges, due to the unpredictable wind turbulence, and nonlinear and open-loop, unstable flying dynamics.

For the project the group used three commercially produced power kites with areas ranging from 6 to 12 m2. The kites were capable of developing 50 to 300kg of force from a wind speed of just 4m/s.

The steering of the kite through the pumping cycles was achieved at the ground unit by changing the lengths of the kite’s two steering lines.

To help determine the position of the kite, the ground unit was fitted with sensors to measure the angle of the main line of the kite. Wind speed and direction, and lines forces were also measured. The kite itself was equipped with an inertial measurement unit consisting of three accelerometers, three magnetometers, three gyroscopes, a barometer, and a GPS. The data from these sensors was transmitted to the ground unit via a radio link.

Controller development

A Mobile real-time target machine from Speedgoat was leveraged to act as a controller. Advanced algorithms to autonomously fly power cycles, stabilize the system, and to maximize power generation were designed with Simulink.

A real-time application was created from the Simulink model using Simulink Real-Time, and to establish communication with sensors and actuators, Speedgoat driver blocks for analog and digital I/O were used.


By the end of the project, sensor fusion and control algorithms had been developed and implemented, achieving the goal of completely autonomous flight, including a total of more than 24 hours of automatic flight, and over 100 flown power cycles.

The project system was rated at 20kW, and produced an average of 2kW during first experiments in low wind conditions. Commercial systems rated up to 1MW are now being designed.

Speedgoat products used

MathWorks software used

  • Simulink®
  • MATLAB Coder™
  • Simulink Coder™
  • Simulink Real-Time™

Related User Stories