Now that My project is over, I have a lot of fun flying for fun. I check the gutters on my church, allow all my friends to try, and constantly run into trees as I push the limits of my control. I would love to try first person quadcopter racing. It's on my list of what's next.
See the building behind me? I owned the basement for half a summer. With a computer on one side of the hall and a dumbell on the other side, I would take off with control of the quadcopter and as soon as I switched to automomous mode rediculous things woud happen. Crashes, flips, ... It's hard to diagnose a computer that destroys itself every time it fails, that was part of the challenge I found so intreaging.
As a test of my path planning ablities I created a laser engraver controlled by arduino. It eventually used a write-laser from a CD player to burn patterns into wood. I could download any black and white image from the internet, resize it to 150x150 pixles and throw it into matlab. My programs would then burn the outline of every black object in the image (as seen in the previous photo).
Intro to Path Planning
After building a vision system to detect obsticles, I needed to teach my quadcopter to navegate around them. I made friends with a professor in an autonomous control lab and was encoraged to take his class on robotics. Though I couldn't pronounce the prerequesites I had skipped before enrolling in the class and everyone there was two years my senior, the class turned out to be exactly what I needed. I give it an A*
Testing GPS Guided Navegation
It turns out the local highschool will let you comindeer a soccer field and use their electricity... but only if you show up with all your gear. And only if you give a show to the janitorial staff who will eventually take notice and wander over.
First Flight: First Crash
Every quadcopter forum says to start with a small helecopter and work your way up. I didn't listen, I needed to carry a computer onboard, so I purchased a copter capable of lifting 15 pounds of payoad. OVERKILL. The first time I flew it, I crashed and took out 2 days worth of plexiglass racks I'd machined to hold the onboard electronics.
Entire System Layout
One of the most challenging aspects of the project was learning the language of each system. Some speak MavLink, some UART, etc... Translating packets of information from one end of the system to the other took months of combing obscure wiki pages. Once communication was up and running, tuning the system was a breeze.
Overheating Solved with LEGO
I discovered a way to multithread my vision system. Seven times a second it would read an image from the Kinect and simultaneously process the previous image to pinpoint obsticles and relay them to the flight controller. My little NUC computer couldn't handle the computation and frequently crashed from overheating. So I did the only logical thing. I went dumpster diving, found a couple laptop fans and built an air cooled case from LEGO. The NUC never crashed again...
Vision System Programming
After building a 3D map with the Kinect, I broke landing aread up into grids and eliminated cells with large height differences. I used recursion to check which of the remaining cells formed plateaus at the same altitude. Then inside each plane I found all possible landing areas large enough to safely land.
Borrowed from the Autonomous Lab
My cureosity for drones was sparked when a grad student insisted that I borrow one of their lab's creations and play round with it for a weekend. It only took a day to realize I'd found my next project.