Data Science project for sustainable energy
Data Analysis to Power Wind Kites
Google Cloud and Makani behind-the-scenes story to fight climate change.
How do you approach the monumental challenge of innovating renewable energy?
During a 13-year project that concluded in 2020, the Makani team took on this challenge using technology inspired by kite surfing. I was intrigued and wanted to learn more about the project and how Google Cloud played a part in the search for a new kind of wind powered energy.
How did the Makani’s wind energy kite actually work?
Makani’s energy kite was an aerodynamic wing tethered to a ground station. To begin flight, the kite used rotors to hover vertically in the air. Once at full tether length, the kite transitioned into crosswind flight, flying in loops. As the kite flew, the rotors were spun by the wind, generating electricity that was sent down the tether to the grid. The kite’s path was managed by a flight computer, which guided the kite even in turbulent winds and safely returned it to the ground station.
How was the Makani kite different from a traditional turbine?
To understand how the Makani energy kite worked, it is helpful to look at how the mechanics of a traditional wind turbine translate into a crosswind kite. The blades on a wind turbine redirect wind and create one force that pushes on the tower and another that pushes the blades forward. The forward push of the blades turns a generator to make power. A crosswind kite is like freeing a blade from the tower. The freed blade (now acting as a wing), is able to grab more wind, therefore making more power than it could when stuck on the tower. The crosswind kite generates more power than a wind turbine for the same size wing, but with less materials.
The iterative process
For a project like this, flying a real kite is expensive. So, Makani’s team created software that would simulate the kite flying and all of its components. The simulations incorporated the physical laws that apply to a real kite. The team ran a bunch of simulations, analyzed the results, and then flew a real kite, gathering data from the test flight. They performed further analysis on that data and iterated the whole process again until they were satisfied with the results.
Simulate → Analyze → Fly Real Kite → Analyze → Repeat
The simulation software created by Makani’s team could simulate the kite flying at different altitudes, and under a wide range of wind conditions. They generated hundreds of different configurations to simulate a flight and then fed these configurations into Compute Engine instances to run the kite simulations. These instances were created dynamically to run the simulations. The resulting log files and generated reports were saved in Google Cloud Storage. The Compute Engine instances then shut themselves down, saving costs.
After the simulations were complete, the software engineers pulled the logs from Google Cloud Storage and analyzed them, looking for issues, red flags, or areas for potential improvement. Based on these findings they’d make modifications to the kite model and restart the entire process, repeating it until the team felt confident that the real kite wouldn’t crash under those simulated configurations.
Testing the Real Kite
Once satisfied with the performance of the kite under simulation, the team would go to a testing site in Hawaii or Norway to fly an actual kite. As the kite flew, data was collected at the command center on ground. When the test flights were completed, the logs were sent to Google Cloud Storage for engineers to analyze. They repeated the same process — exploring the data, analyzing it, making modifications, and rerunning simulations to verify the changes would make the kite fly better (and not crash) before conducting another round of real-world tests.
At times the engineers analyzed data manually, by downloading the log file to their computer, and loading it into MATLAB or running Python scripts to complete the analysis.
But with a large scale project like this, manual analysis was simply too time consuming. The team needed well-defined, consistent, and automated analyses that could run over and over on all flight data. So, they built a data analytics front end on App Engine. Using this front end, an engineer submitted a request for all the logs in a particular time range for analysis. App Engine stored the request into Cloud SQL and sent it to the Pub/Sub messaging service. Jenkins master then pulled the analysis request and distributed the job to several Compute Engine worker instances. Each worker sent a request to Cloud Storage for the log files it needed, processed them, stored the analysis results in Cloud SQL, and published them to App Engine. Once there, the engineer could examine the results from anywhere!
To sum up, the Makani team ran a bunch of simulations, collected a ton of data, and learned from it. Then they flew a real kite, studied test flight data, and repeated the process for the next successful flight. Google Cloud played a critical role in this process by providing them a scalable infrastructure for simulations and data analytics, enabling them to stay focused on the real problem of harnessing wind energy.
Though the Makani team’s journey has drawn to an end, they set up a portfolio of open source resources that you can explore! If you are interested in learning more about the Makani journey checkout this full length documentary.
Future posts this Google Cloud Behind-the-Scenes series will continue to explore how Google Cloud powers incredible projects like the Makani effort. I’m looking forward to taking this journey with you all! Follow me on Twitter at @pvergadia for updates on the next episode.