Slashdot Mirror


Cornell Builds Autonomous UAV

tshak writes "From Microsoft Research, 'Faculty and students at Cornell University have built an unmanned airplane with its own on-board, embedded control system. The large-scale model plane flies by accessing coordinates from an off-the-shelf GPS unit.' Not only does the plane run XP embedded, but the software is written in C# on the .NET Compact Framework. This is all powered by an 800mhz Crusoe processor with 1GB of total system storage."

5 of 400 comments (clear)

  1. Did they read the eula? by dpeltzm1 · · Score: 3, Informative

    Haven't seen the EULA for XP embedded but the consumer one says do not use for 'mission critical' applications. somehow an airplane seems kinda critical? sounds more like VxWorks or QNX would be appropriate.

  2. CUUAV by UMhydrogen · · Score: 5, Informative
    One of my friends is one of the leads on the project for Cornell University. He was the one who designed the site and a bunch of other things on the plane.

    Yes, they were given grant money from Microsoft, but that wasn't the only influence in their decisions. They've put long hard hours into the plane. XP Embedded does allow them to add functionality to the plane. A lot of companies have given then grants and sponsorships that have allowed them to build the plane. Don't forget this is Cornell here and they're not going to just rely on Microsoft to make the plane run. They also weren't attempting to make a "real" plane - this is still an UAV which isn't meant to have the power of a full aeronautical vehicle.

    Unfortionatly one of their planes was destroyed in a fire at a hotel in Maryland while they went down to show off the plane. Luckily, their backup plane that is still being built was not destroyed.

  3. Re:Instead of the usual... by DaHat · · Score: 3, Informative

    XP embedded is quite robust due to its scalability.

    When creating an version of it for a machine, you can pick and choose what you want to use and contain. "Lets see... I do not want FAT/FAT32 support but I do want NTFS... no need for a GUI display here... yea... better leave out sol. and calc.exe."

    The setup system for XPE is quite powerful and when you decide to add or remove one component, it'll tell you everything that it depends on and that depends on it to ensure that dependencies are satisfied.

    Because of this scalability, you can strip down an XPE install to practically nothing, with no unnecessary processes/apps in the background and only what you want running you end up with a very stable system.

  4. Re:1 GB? by SpinyManiac · · Score: 4, Informative

    Half of that memory is used as a flight recorder. Like it says in the article.

    --
    It's never too late to have a happy childhood.
  5. Re:Kick back? by Jester99 · · Score: 4, Informative

    Right, so I'm actually on the team.

    Rather than you all speculate (rather sarcastically and incorrectly) about how we do things, why don't I actually tell you? :)

    First off: We couldn't have written the software without XP Embedded. Just to get that out in the open. Couldn't have done it.

    Testing code on custom chips is *slow* (We have a couple systems that use custom ATMEL 8-bit microprocessors). If we had to write the bulk of our flight control software on those, we'd never get anywhere.

    With XP Embedded, we were able to write our code on normal Windows desktops, and run it right there in simulator mode. Once we got as many bugs worked out there as we could, then we could move it down onto the plane.

    Also, we use a *lot* of hardware. Sure, it's possible that we could've hand-written assembly language for ATMEL chips to do everything. Turing completeness states that's a truth. But realistically speaking, we'd never get it done before we graduated. For one thing: We have a wireless modem link to a ground station that can monitor the plane. It was hard enough designing a protocol and implementing that to get the data down to the ground. The last thing I wanted to do on top of this is write the driver for the serial modem itself!

    Since we were able to take advantage of existing development tools, though, that inital hurdle was quickly cleared.

    As for whomever thinks we fly the plane "using flight simulator:"

    It's really much simpler than that.

    The plane flies itself by its knowledge of its position through GPS and its orientation through a gyro.

    Before the plane launches, we feed it in a set of GPS waypoints we want it to fly through. (The flight control protocol we're shooting for next year will allow in-flight course changes.) The plane sees its position, sees where it wants to be next, and goes there. No flight simulator involved. If the target is to the plane's left, it flips the ailerons and it turns left. That's all it does.

    That having been said, we did use Flight Simulator for testing. Our software was able to fly planes around in Flight Sim 2004 long before we loaded it into the real plane -- an enormous time, money, and effort saver.