Makani source code released
github.com
github.com
> In 2020 Makani’s journey as a company came to an end [0]. To share the lessons and insights the Makani team gained from their 13 year journey developing an entirely new kind of wind energy technology, the team created The Energy Kite Collection, a portfolio of resources including a technical report, Makani’s entire avionics, flight controls and simulation code repositories [1], flight logs [2] for every crosswind flight of the M600 prototype, technical videos [3], a new simulation tool called KiteFAST [4] created with the National Renewable Energy Laboratory, and a non-assertion pledge [5] for the free use of Makani’s worldwide patent portfolio.
I just wanna say that this -- all of it, the entire paragraph! -- is absolutely amazing (well, except for the end of the company, of course).
---
[0]: https://blog.x.company/a-long-and-windy-road-f8e09d02c9e1
[1]: https://github.com/google/makani
[2]: https://console.cloud.google.com/marketplace/product/bigquer...
[3]: https://www.youtube.com/playlist?list=PL7og_3Jqea4VRCZmMNK4L...
[4]: https://github.com/rafmudaf/openfast/tree/kitefast
[5]: https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
https://spectrum.ieee.org/energywise/energy/renewables/exclu...
Outside of X, Google was never known for crazy moonshots. Google was always an ad platform with a search engine.
Google was the name of the search engine and the company. Now the company name has changed, everything is restructured and Google is an ad platform with a search engine.
"X Development LLC. is an American semi-secret research and development facility and organization founded by Google in January 2010, which now operates as a subsidiary of Alphabet Inc. X has its headquarters about a mile and a half from Alphabet's corporate headquarters, the Googleplex, in Mountain View, California."[0]
I think they've founded X because Google's interesting ideas got too big for a single department, so they spun it off.
We don't know how many smaller X inventions get into Google ecosystem. I'm sure that some of that research got integrated back into their data centers or networking hardware, etc.
As an aside, it should be law to release any firmware, code, and backend services code for any device that is no longer fully supported by the manufacturer.
Let other people play with your dead things and reduce the barrier for new innovation on top of them.
I'm not sure how applicable most of this code will be for other kite power companies. The Makani "kite" turbine was 2000 lbs. It definitely required Google-level funding to develop which is now gone. None of the remaining kite power companies that I'm aware of have the kind of significant funding required to develop this - ours ran out of money late last year.
Essentially the same code could run Makani's smaller machine, the 20 kilowatt "Wing 7", with a 7.8 meter wingspan and a mass of 60 kg. Many of the existing kite power companies are working on machines of this scale.
But we did have the luxury to design and build the system from the ground up, whereas scrappier startups might have to cobble together existing components. Hopefully they will be able to utilize some of the materials we've just released.
If I did, and I got typical government subsidies for wind power, I might earn $10k/year. That ought to pay for all the machines parts if I buy everything hobby grade from AliExpress. The 2nd year is pure profit assuming the craft lasts that long.
So that leads me to suspect the key issue is the various control algorithms can't be made reliable enough to run for years and years without crashing under any combination of gusts and wind conditions. Am I along the right lines of the issues?
So yes, you could make a profit. But there is an alternative source of technology that makes the same power and has become really profitable in the last 10 years.
Our COO gave a talk on the FAA approval process at the Airborne Wind Energy Conference (AWEC) a few years ago: https://repository.tudelft.nl/islandora/object/uuid:ea8256a2...
https://plane-lyspoken.foxrothschild.com/2017/12/03/tethered...
https://processors.wiki.ti.com/index.php/Category:TMS570
I'm pleasantly surprised to see that instead of a big Cortex-A or x86/64 chip. It's cool to read well-funded code for a small realtime SoC.
you don't see them too often outside of things like memory controllers and safety-critical products, but Cortex-R chips can have some cool features like ECC memories and mirrored CPUs:
https://developer.arm.com/ip-products/processors/cortex-r/co...
Apparently the next generation Cortex-R82s will also have 64-bit options with an MMU, which should make it easy to run a "real" OS.
Too bad that the company didn't work out, but it was nice of them to publish this stuff.
Edit: just to add some detail. The autopilot and aio (avionics io, i.e. the tmd570s) communicate over a ring ethernet topology.
Still, that sounds even cooler; a reference for how to set up a local network of MCUs controlled by a big processor? Awesome.
For low volume stuff, the chance of a detectable miscalculation occuring in the field is low, while the chance of a firmware bug causing a failure is high. Using a TMS570 for a hobby project would be a very poor choice. With a sufficiently high volume project, though, the development pain can be worth it.
The redundant cross checked CPU cores gives you piece of mind that the thing will self-diagnose a miscalculation and report it, rather than go off into the weeds. It enables you to responsibly design safety critical fault tolerant systems based on explicit handoff from one MCU to another. Without the cross checking, you can't trust a single MCU to act rationally; in designs like that, you typically need more than two MCUs with majority voting circuitry. So the TMS570 can help reduce total system complexity at the cost of lower level firmware pain.
Because the maneuver the kite must fly is very dynamic (always turning, but not at constant rates), control with feedback alone would lead to pretty sloppy flight, since feedback requires an error to develop before the system can respond to it. Good feed-forward was crucial to flying well; from the desired flight path, wind speed/direction, and desired aerodynamic quantities (airspeed, angle of attack, and angle of sideslip), we could compute the required rates and feed-forward actuator displacements needed to execute the trajectory.
For more details, check out my paper titled "The Makani Autopilot: A Critical Retrospective", available here: https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
I was terribly disappointed the project was shutdown. The engineering problems were unique and challenging. And the team was absolutely world class.
I felt like we could do it. And I wish we were still at it. But that's purely from the technical side. I wasn't involved in things like budget, and whether it would be economically viable.
There are airborne wind turbine concepts that use an aerostat (blimp/balloon). However, these suffer from at least two effects: (1) the largest practical turbine aperture is quite limited, and (2) the drag of the turbine will push the whole balloon/turbine contraption downwind and downward.
Here’s one of my robots: https://reboot.love/t/new-cameras-on-rover/
We were just beginning to experiment with computer vision to augment/replace GPS at the time we were shut down.
https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
The chapter "Airborne Wind Turbine Performance" contains some sobering lessons for the field and deserves a close read.
The general big conclusion as I get it is that because of these losses even though the kites are capable of getting more wind per kite, when area is constrained a conventional turbine seems to have better density.
The idea that the kites have lower installation cost offshore does seem interesting to me, but I only skimmed it so maybe that's offset by something else.
The inability to turn the necessary tight paths and some degraded aero performance are responsible for most of the performance miss. Also hugely concerning was the struggle to saturate power at high winds.
It is important to separate and highlight tether drag in the context of the purported big benefit of airborne wind turbines accessing higher, faster winds. While they do indeed access higher winds, they do so via tether length and elevation angle, both of which carry losses. The net effect in almost all scenarios isn't a win.
I wonder if some of the losses to tether drag could be made up for by re-purposing some of the wave energy tech to capture energy from the base of the tether as the kite pulls and slackens on the base, or if the tether could be made rigid on demand with some tech in the future.
Offshore, there can be a lot of energy stored in buoy motion, and utilizing this can help, but probably in a resonant way that doesn't require additional hardware.
"Rigid" is a relative term. The tether already utilized a carbon fiber core. It doesn't get much stiffer, short of going to exotic fibers or more of them, both of which degrade performance in other ways.
The optimum is going to be closer to a strength limited tether than an overly stiff one.
It seems like a post-mortem code dump.
Aside from the "code dump" portion, we have published 400 pages of entirely new documentation describing the system, plus about an equal amount of technical document artifacts.
My reply above was to the parent who seemed to think it wasn't all that useful. I looked through the code and found a lot of goodies in there. :)
If nothing else, looking at how you've approached problems can help inspire solutions related problems.
Edit: to clarify, I was responding to: "I'm not sure much here will be transferable to other companies"
There's a very nice technical document describing the network topology titled "A Low-Cost Fiber Optic Avionics Network for Energy Kites" in the collection of technical documents:
https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
A 100 kW system may prove useful to some niche, but I don't think can be competitive with the utility energy market at large, even if you give away the system for free.
At the larger scales, these electronics are not meaningful cost drivers at all.
We were starting to think about using reinforcement learning to develop an autonomous controller for our kite. That would have involved recording lots of real-world in-flight data for our particular kite which we were starting to do. Similar flight data for a different kite wouldn't have done us much good when it came to training as each kite has very different flight characteristics.
Ultimately we couldn't afford to dedicate much effort to the rather speculative RL approach (our team was small and we were always scrambling to meet our rather ambitious milestones - you know, the usual story :-) ). Instead we chose to continue to pursue tried-and-true controls techniques.
(Disclosure: I work for Google)
What was somewhat surprising to me though was that, for all their technical ability, nobody at Makani foresaw the future of conventional wind turbine efficiency?
It just kinda seems like all of a sudden (in the documentary), they lifted their heads up, and 10 years had passed and conventional wind energy was dramatically improved. Case closed, that's it.
Well, I think the main TLDR is that it would require significant additional investment to reach MVP. Also- the energy sector lacks the huge margins of the tech sector. Renewables have long been subject to a boom-bust cycle driven by the prevailing price of energy.
Our released technical report "The Energy Kite" is intended to help answer this question, and to explain what we would do if we had the opportunity to continue our work. Check it out here: https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
One major learning is that it ultimately appeared to us that crosswind kite power currently offers little benefit over traditional horizontal axis wind turbines for onshore applications, except perhaps niche applications such as small-scale generation allowing rapid deployment. There may still be a viable opportunity for large-scale crosswind kite power in the deepwater offshore environment. In that environment, conventional wind requires huge floating platforms to deal with the overturning moment arising from the turbine drag acting at the top of the tower. In crosswind kite power, only a small buoy is required to support the tether tension.
Finally, the M600 failed to meet its performance specification (the "power curve" which shows how power generation scales with wind speed). The reasons for this are detailed in the technical report (starting on page 231 of the above link). (We designed a follow-on system called MX2 which we believe would meet its performance objectives but the project was cancelled before it was built.)
But then again, so does solar. It's tough to compete when there are existing options.
Full respect to everything you and your team built!
I was on one of these multi-billion boondoggle projects. Basically people keep it going even though it is not viable. Telltale sign is the project is spun off or 'cut loose' to die.
The product can be totally amazing though and parts of it could be a viable company on its own. Maybe these projects should be structured in a way that each component is a business entity.
1) Land use. The small props are loud, and the setbacks relative to populated areas are pretty high for tether and crash safety. Solution: offshore. Now you have two problems :)
2) The tether's weight is a factor. Its hard to build in much margin on this component before it gets too heavy to fly. What happens if a gust temporarily reduces tension on the tether? Can it handle a shock load from the kite hits the end again if it comes off its sphere? How many conductors can you run down the tether? IIRC, they were running DC+ and DC-... with no ground. Now, what exactly happens during lightning strike? At the time they believed that they were just barely on the "feasible" side for this component on a feasible-infeasible axis, but it was pretty darned close.
3) The power system was complex. Tether weight biases you strongly towards a medium voltage power system (a few kV pole-to-pole) to cut down on the weight of the conductors. However, the size of the turbine was smaller than any medium voltage application I had ever heard of. Maybe the ground side could be COTS, but the flight side almost certainly couldn't. So now you are also in the business of building bespoke medium-voltage switching power converters and motor/generators. There's nothing fundamentally infeasable about this, its just a bunch of hard work that detracts somewhat from the main mission. A startup would much rather buy this tech, but they were forced to build it instead.
I mention the power system explicitly because that's particularly in my bailiwick, but I think it was really a microcosm of the project as a whole. They were building an airplane for the purpose of energy production. So they had to solve all of the problems that an airplane company has to solve. Also, since electricity is so cheap, you can't afford to pay human operators for all of the generators, so you also must solve many of the problems that an autonomous airplane company has to solve. In salty air to boot.
Overall, there's just a staggering amount of NRE that must be spent chasing a market that is already commoditized. 50 USD/MW-hr is a typical benchmark for wholesale electricity. Meanwhile, solar panels are iterating and getting cheaper and traditional wind turbines are iterating and getting cheaper. Eventually, the bean-counters start to notice.
There's an alternative explanation: Makani (and Wing, and Titan, and the robotics initiative, and other things) were initiated when Larry was still young and excited about the technology itself. We used to morbidly joke that Ruth Porat (hired CFO) was going around the company asking questions like, "Airplanes, Larry? Really?" (taps clipboard, raises eyebrow). Eventually the long years of almost-but-not-quite-success wore them down past the point of endurance, and the projects started dying off when the leadership got bored of them.
IMO, both explanations are likely to be true.
I often think that maybe most of us were taking a much more complicated approach than is actually needed. Perhaps (thinking out loud) something much simpler like a soft kite with a sort of trap-door which closes as it ascends and opens to let it fall to a lower altitude would be a much simpler approach - essentially a bag kite with an end that can be opened and closed - obviously it would be smaller scale, but most of the kite power companies are working at a much smaller scale than Makani was.
There were still hard problems to solve there, but ultimately the power system worked well, and out performed it's original design targets. It was not responsible for the projects demise.
Ok, but doesn't mekani have the advantage of being out of sight? Many people find wind farms unsightly.
I'm surprised they were 'unable to secure additional funding'.
Considering how many crackpot app-of-the-month companies have gotten cash thrown at them over the last decade, you would think a company doing real engineering would be drowning in money. It's a bummer to hear that they folded.
Speculation abounds, I suppose, as to why investors started (or kept) saying "no."
Unfortunately it seems like a lot of the big money is going towards less critical 'problems' if problems at all, like social media companies.
You'll find some description here (but no schematics): https://storage.googleapis.com/x-prod.appspot.com/files/Maka...
pretty sure there is a top level avionics layout in there.
This is not proper Java, at all. But it's what a lot of Java code looks like because it's a good choice for inexperienced devs or rushed projects.
// because all low speed wind tunnel cases are overset and all high speed are
// fixed with a remesh, we only rotate in the presence of overset domains.
This is something that personally I strive to do but isn't always repeated in my team. It's important as 6 months later you struggle to remember the nuance that lead to your code being written.Whoever this is seems to have experience with this, so I definitely wouldn't say this is an inexperienced dev.
Example production C code (the crosswind flight controller): https://github.com/google/makani/tree/master/control/crosswi...
Example production C++ code (the "wing" model in the simulator): https://github.com/google/makani/blob/master/sim/models/rigi...
The paper that started it all is this one by Miles Loyd from 1980. It's short enough it could fit on the back of a large envelope. :-)
http://edge.rit.edu/edge/P15462/public/CAD/crosswind_kite.pd...
Interesting stuff.