[Video Games | Embedded/Software/Hardware | Publications | Resume]
Select Project...

tj@bordelon.net
Natick, MA 07160
(508) 308-7145
Details

 

 

The FreeSpace EZStar is an off-the-shelf foam plane (called the EZSTAR) retrofitted with scratch built electronics. It's able to fly completely on it's own with no user control, including takeoff and landing. You might cry "Oh no! YADA!" for "yet another drone aircraft". But this autopilot system is far from a repackaging of 3rd party modules and kits from mail order websites. I completely scratch built this system from the chips on up, and it is inertial based. Furthermore, no PC is needed during flight, making the system far more reliable. Most hobbyist autopilots these days like to "cheat" and use IR sensors. This in itself isn't necessarily bad, but IR is optical and has drawbacks that inertial does not. For example, flying through a cloud where there is absolutely no temperature gradient will cause an IR based autopilot to fail.

 

 

 

Look Ma! No Hands! (And it's a great feeling!)

 

The aircraft itself has the things you'd usually find on a store bought hobbyist R/C plane. The usual brushless motor, prop and Li-Po battery pack are standard fare for R/C planes these days. What you won't find is a receiver in the conventional sense. I have much harder requirements for communication over the usual "Send up servo positions" handled by an off-the-shelf setup. Further, I've lost a handful of planes trying to use commercial "RF Modems" due to the poor signal strength, high latency, and high number of other users in the unlicensed bands. For this reason, I chose to roll my own communications module: The Freespace RF modem. After I did this, I never looked back. I have the usual servo control but also full duplex data transfer at 5 watts at rates up to 500 kbps and a range up to 100km. The unit runs in the ham bands. The modem also has a USB host port for connecting things like memory sticks, webcams, and joysticks. I use one on the plane and one on the ground for command and control.

 

It's totally Automatic!

 

Even after flying R/C for over a decade, I still get nervous every single time I fly. Does that ever really go away? Maybe if I were flying a $50 airplane, but with hundreds of hours working on my EZ-STAR, I don't think it will.

For that reason, I put in tonnes of autopilot modes. I can literally flip a switch, throw the airplane, and it trims itself out and flies straight in less than a few seconds. Fast enough that if you throw it out of trim at a screwy angle, the plane will recover before it smacks the ground. Ever get nervous throwing a plane for the first time when it isn't trimmed out? Those days are gone for me!

 

Flying fully autonomous isn't as fun as manual flying, so I definitely make sure to keep my skills up without the autopilot enabled. But even during manual flights, I've had to flip the autopilot on a few times after I've lost control of the aircraft. Sometimes I get blinded by the sun. Sometimes I accidentally drop below the tree line. Or sometimes I think I'm coming when I'm going! No matter what the goof-up, flipping a switch and having it come home and land really takes the edge off of the flying experience.

 

The Hardware...

 

 

Custom Inertial Measurement Unit (IMU)

Custom RF Modem

 

Cold war relic? Or Freespace Ground Station?

YOU DECIDE!

Custom Ground Station

 

 

 

Aside from the RF Modem, The IMU is the other piece of the puzzle. It fuses together data from an array of sensors and outputs both position and attitude. The sensors onboard include rate Gyros, magnetometers, accelerometers and a GPS chipset. Instead of the usual Kalman filtering, I've devised my own IMU sensor fusion algorithm which is super easy to visualize and doesn't require a PHD in mathematics. Further, it works as well as the complex filters you'd find in the conventional approach. I've written an article detailing the approach and it should be appearing in Circuit Cellar early 2010. Definitely an article worth looking at if you intend to build your own IMU.

 

And the ground station. This is by far the most important thing... after all, flying the plane is stressful enough without having to fight with a laptop that reboots during takeoff or fuss with an overly complicated user interface. The GCS ( Ground Control Station) does plug into a PC prior to flight for setting things like waypoints. Such mapping functionality makes sense on a PC with a big screen and lots of memory. But the PC is not needed for flight. Simply flip a switch to take off and throw the plane. If you want to have fun, manual mode and "fly to angles" can be enabled with another switch. The rudder stick and a single button are all that it takes to allow manipulation of variables (such as gains) and selecting modes (Such as climb, descend, and loiter). Complexity is avoided at all costs. If you have a PC connected, you can see the current flight in real time. But disconnect the PC and you're still running for up to 6 hours before the GCS battery dies.

 

Going out to the field....

 

Setup is very easy, and usually takes less than 10 minutes. You'll notice that I have a rather large antenna in the photo to the right. I have two that I use, but this is my primary one. My other antenna is a simple whip for testing within about 1/4 mile, and the other (pictured here) is a circularly polarized yagi.

 

Using circular polarization is key in avoiding any dropouts when both antennas are rotating around. If you use a whip, chances are that the antennas will occasionally orient themselves perpendicular to one another, causing an easy 20db of signal loss. When it comes to something as critical as the data link to your plane, it's best to make no compromises.

 

After the tripod is set up, and the antenna pointed in the general direction of flight, the GCS is switched on, a switch is flipped, and the aircraft is thrown. It's that simple -- and it really needs to be. At home you have all the time to think, plan, design, and otherwise take your time. But on the field you don't have those luxuries. And if you try, you'll make mistakes. I like to make my time on the field as simple as possible. After all, when sweat is dripping in your eyes, the wind is blowing, and dogs and kids are running around you, you really don't want to have to have complicated steps to follow. Chances are that you'll forget one and crash.

 

And on that note, I'm proud to say that the entire development process of this project has resulted in no catastrophic crashes or aircraft loss. Manual mode is always a flip of a switch away. Further, FAILSAFE mode automatically engages if there is even the hint of trouble, and the aircraft comes back and lands by itself.

 

 

 

EZ Troubleshooting

 

I was blown away on how short of a time it really took to get the full blown autopilot working. Key to my success was access to detailed flight data such as that pictured in these graphs. Literally any aspect of the flight could be graphed. Further, the data could be replayed on the ground through the same code for debugging. I could rerun the flight and fix bugs in the IMU code without going back to the field! The aircraft was flying with only an IMU in June, and by the end of September I had a full blown autopilot capable of completely flying the plane with no input from the user. That's only about 4 months of weekend warrior work.

 

The development process

 

Originally I thought I'd have to crash 10 airplanes to get to this point, but it turns out I didn't have to lose a single one! The first step was to simply get the modems working. One modem stays on the ground, plugged into a joystick. This is the GCS or Ground Control Station. The other one is installed the aircraft, plugged into an antenna and the servos. With this setup, I had basically recreated what I already had: an R/C plane. But this time my setup could theoretically fly the thing from 100km away while sending data. The USB port on the modem turned out to be a nice touch. On the plane you can connect a memory stick or a webcam to the port. On the ground I use a USB joystick.

 

After the modem was finished and working, the IMU was designed and built, but not programmed. I made a few dozen flights, dumping the data to a USB memory stick stuck in the modem to capture as much flight data as I could. I then spent a few months in my lab running that data through various test algorithms. That process resulted in a proprietary and unique sensor fusion algorithm. Believe it or not, it works better than many papers utilizing the conventional Kalman filter approach, and is far easier to visualize. After that, I tested the unit by flying it on the aircraft and looking at the flights in Google earth to make sure they made sense.

 

But how do you know the IMU is working? One good indicator to look at is the GPS velocity vector. As long as it points out the nose of the aircraft, things are most likely OK. Another test that seems to work well is comparing the measured magnetometer vector with where it's supposed to be. If that varies by more than a couple of degrees, things are probably not working.

 

Naturally the next step is the autopilot! With an IMU in hand, I spent a few months testing feedback loops on bank and pitch and finally "beam following" code that drove the aircraft between waypoints. I was always a flip of a switch away from manual control in the event things got a bit buggy. Last but not least was the auto-land code, which really tested things out. It revealed bugs I never knew I had, especially since the aircraft had to follow the "beam" in the sky to within 20 feet for a decent landing.

 

What Next? Is it for Sale?

 

Not yet.... if ever. If you want to help bring this to market, I'd love to chat about the possibility. The design is unique in that I only use about $100 of parts compared to the competing drones which need a bunch of modules, driving the cost up to hundreds.

 

Is it legal?

Are model airplanes legal? I get asked this one a lot. I keep my flights below 400 feet and line-of-sight, but even this is not technically the law but it is common sense. My autopilot is not only legal, but makes my plane even safer, since I can always flip a switch if I ever get into trouble and have it come home, or if the IMU goes batty, flipping another switch brings back manual mode.

 

Conclusion

It does not take 50 open source coders, a team of PHD students, or a $10 million DARPA contract to develop one of these things. Once you know roughly how to go about it, I'd say a year of development is all it takes. And that's part time work spending a few hours during the weekdays and a day on the weekend.

 

If you like flying more than building, you also might consider buying one of the many off-the-shelf IMU units, or even a full on autopilot for a few hundred. You won't learn as much, but you'll be up and flying in no time! 5 years ago when I started my project, this wasn't an option. But you can get a head start!

 

I hope you've enjoyed your tour of the FreeSpace EZ-STAR UAV project!

 

-Tj Bordelon

 

 

 

 

 

 

 

 

All Web Content (C) Copyright 1997-2009 by Terence J. Bordelon || All Rights Reserved. || Many projects are owned by their respective companies.