Through MIT’s ProjX program, where I was given $250 to pursue an independent project, I had both the time and resources this summer to begin working on a fun idea I’d had for a while. With all the RC planes and quadcopters available in the market, I always wondered why I didn’t see any aircraft that looked more like birds. Wouldn’t it be fun to fly something that looked more life-like? Some quick googling showed me that there are a few products you can find online, but I thought I’d try my hand at making a flapping-wing aircraft, or ornithopter, myself. I didn’t want to just replicate exactly what was out there, so I did some brainstorming to try to come up with a brand new flapping mechanism for my model. I spent almost 2 months thinking up and then 3D printing 4 different mechanisms, some of them using springs, strings, pulleys and all manners of moving parts, and through it learned the value of keeping things simple. I’m certainly not settling on this design due to several weaknesses like too much friction, but it’s a huge improvement from where I started:

Flapping gif

Motor isn’t driving this mechanism yet, hence the stop-motion

I did have the constraint of needing to have something to present by the end of the summer, so even though I was far from satisfied with this mechanism, with the obvious problem of not yet having a gearbox to increase torque, I put work on it on hold to begin focusing on other aspects of the ornithopter. Next up were the wings. All of the products I saw online had stiff wings made of fabric, but keeping with my goal of a life-like machine, I tried to make a wing that folded up against the main body. Currently this is achieved using a total of 3 small servos per wing, but I hope to use less actuators to decrease weight in later revisions:

Wing extension.gif

Future revisions may include fabric

The tail was thankfully nice and simple. I ran out of servos by this point so that stepper motor is just a placeholder for now. The feathers simplify the design, since I don’t have to worry about making an airfoil:

Tail twist.gif

I think the coolest part of this prototype right now is the head. It was a bit difficult making the beak in Solidworks, but I made a passable attempt eventually. There’s a cheap little webcam acting as the “eye” inside that allows me to send a live stream to my laptop. The best part is that the camera can be pointed in different directions using two servos, similar to the gimbal on a quadcopter:

Head moving.gif

More info about the code for this below

Programming is one of my weak points, but in a solo project like this, it just can’t be avoided. After looking at a variety of options, with my desire to use at least 12 separate actuators and a camera, I settled on using the Intel Edison microcontroller with Sparkfun’s Edison blocks to control this ornithopter using Wi-Fi. It’s probably not the best in terms of signal range and outdoor use, but considering this is just a prototype it will do for now.

Sparkfun block

Sparkfun blocks for Edison

There was a learning curve, but I had experience making simple games in Javascript in the past which was useful for this project. I relied heavily on the Johnny-Five IoT Platform to control the actuators, since it worked more seamlessly with the Sparkfun blocks than the sensor libraries Intel provided on their website, which seemed to be aimed more towards those using the Intel Edison Kit for Arduino. It took me around a month to finally feel comfortable with the Edison, and a lot of the information I needed was scattered in various forum Q&A’s. I wish that Intel made a centralized beginner’s guide as comprehensive and easy to follow as the Sparkfun Inventor’s Kit for Edison Experiment Guide, which was a tremendous help when trying to learn how to control the ornithopter using a web browser. I forgot most of what I knew about HTML, so the webpage I’m controlling the actuators from is actually taken straight from one of the tutorials on the Sparkfun guide, and all I did was hack on a couple more keyboard event listeners using WebSockets.

Photo Aug 15, 10 07 31 AM.jpg

Credit goes to the Sparkfun team for this webpage

And the program for the live camera stream, titled edi-cam, was also taken straight from GitHub. There’s currently no live audio stream functionality, and it would take me a very long time before I understood enough of this code to try and add it in myself.

Photo Aug 15, 10 08 30 AM.jpg

Here’s the IDE I worked with, the Intel XDK IoT Edition

Although I’m very happy with how things turned out, this prototype is clearly far from a finished product. One of the main obstacles I faced was a monetary one. $250 didn’t go very far considering that the Edison itself took up more than ⅔ of this budget. I was limited to using very cheap components, from servos to cameras to the low-infill plastic connecting everything. The batteries powering this contraption are simple AA’s chained together, plus a phone powerbank. A real RC aircraft would require pricy lithium batteries and a charger, strong actuators, and sturdy plastic or aluminum components. I hope I’ll be successful in getting further funding for this project, although I’m incredibly grateful for the support I’d received already (Thanks ProjX!). Another obstacle was time. Going from absolutely no knowledge of RC aircraft and IoT programming, and limited mechanical engineering background, to this prototype took a lot of time in researching and learning. I took a fast-paced approach, going from prototype to prototype without being too detail oriented, and plenty of silly mistakes were made. It would have taken much longer to find those mistakes through abstract thinking, however. With the knowledge I gained this summer, I’m sure to make better progress in the coming months if I’m successful in raising funds once again. Anyways, thanks for reading, and if I’m lucky stay tuned for version 2!

Advertisements