Purdue’s Bio-Robotics lab has been working on a robotic hummingbird and, as you can see in the videos below, have had a lot of success. What’s more, is they’ve shared that success on GitHub. If you want to make a flapping-winged robot, this is definitely where you start.
If you’ve ever watched a hummingbird, you know their flight capability is nothing short of spectacular. The Purdue robot flies in a similar fashion (although on a tether to get both power and control information) and relies on each wing having its own motor. The motors not only propel the wings but also act as sensors. For example, they can detect if a wing is damaged, has made contact with something, or has changed performance due to atmospheric conditions.
In addition to the tethered control system, the hummingbird requires a motion capture sensor external to itself and some machine learning. Researchers note that there is sufficient payload capacity to put batteries onboard and they would also need additional sensors to accomplish totally free flight. It is amazing when you realize that a real hummingbird manages all this with a little bitty brain.
The published code is in Python and is part of three presentations later this month at a technical conference (the IEEE International Conference on Robotics and Automation). If you don’t want to wait on the paper, there’s a post on IEEE Spectrum about the robotic beast, available now and that article contains preprint versions of the papers. The Python code does require a bit to run, so expect a significant flight computer.