Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Cornell Builds Autonomous UAV

Posted by michael on Fri Aug 06, 2004 08:35 AM
from the million-and-one-uses dept.
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."
+ -
story

Related Stories

[+] Technology: Carnegie Mellon Gets $14.4M to Build Robo-Tank 213 comments
coondoggie passed us a NetworkWorld article, this one discussing new developments in the state of robotic warfare. Carnegie Melon is now hard at work on a tank set to join its brother, the already much-discussed Unmanned Areal Vehicle, on the modern battlefield "Ultimately unmanned ground vehicles would be outfitted with anti-tank or anti-aircraft missiles and anti-personnel weapons to make them lethal. Part of the new award budget is also slated to help the university prove that autonomous ground vehicles are feasible in future combat situations."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by philbowman (707419) * on Friday August 06 2004, @08:36AM (#9898397)
    Duck!
  • by tdemark (512406) on Friday August 06 2004, @08:36AM (#9898400) Homepage
    ...to the term "crash"
  • Ugh. (Score:5, Funny)

    by suso (153703) on Friday August 06 2004, @08:36AM (#9898401) Homepage Journal
    I fear the onslaught of 1001 jokes about this plane crashing.
    • Too late... 4 of the 7 first posts imply crashing :-P
        • Re:Ugh. (Score:3, Interesting)

          512 MB is glorious amounts of space for embedded applications... where can I get that much!?! Most of the stuff I work with has at most 2 MB (ROM) and about 512kB RAM, and most of the ROM is taken up by data tables!

          Also, who uses some grossly huge OS for real-time embedded applications? Typically there isn't even an OS, or people use very small things like OSEK, which are basically just interrupt handlers that schedule all the tasks you need.

          I just don't think people know how to program any more, when the

  • by dpeltzm1 (706854) on Friday August 06 2004, @08:42AM (#9898461)
    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.
      • Is a model airplane crashing really that much different than a store being shut down for 24 hours because their computers are down?

        Yes, because this plane is large enough that it could potentially hurt or kill someone if it crashes. What if it came down on a busy freeway, causing an accident? A store being shut down only causes financial problems for the store.

        An application like this has no business using a poorly engineered, consumer grade operating system with a long history of faulty performance.
  • by Obiwan Kenobi (32807) <<moc.egnaroretsim> <ta> <nave>> on Friday August 06 2004, @08:42AM (#9898462) Homepage
    "Hello, this is your pilot software speaking. We've encountered an unknown error as a result from an unknown error.

    Please click OK to crash."
  • Wow (Score:4, Insightful)

    by kalirion (728907) on Friday August 06 2004, @08:42AM (#9898463)
    11 out of 14 posts so far have been modded down as Flamebait, Troll, Redundant, or Off Topic. Is this usual? In any case, how long until these little plains are fitted with a collision detection and avoidance system? Flying based on checkpoints is all fine and well if you're the only one in the sky, but othrewise its equivalent to a blind person without a dog or a cane walking down a street he knows very well.
  • by panxerox (575545) * on Friday August 06 2004, @08:48AM (#9898510)
    And the difference between this and a cruise missile [bbc.co.uk] is what exactly?
  • by naznerd (227480) on Friday August 06 2004, @08:49AM (#9898520)
    Small GPS controlled planes are old news. Check out the TAM project. Trans Atlantic Model. They flew a model plane across the Atlantic Ocean last year. Check it out here -> http://news.bbc.co.uk/2/hi/europe/3145577.stm [bbc.co.uk]
  • CUUAV (Score:5, Informative)

    by UMhydrogen (761047) on Friday August 06 2004, @08:49AM (#9898521) Homepage
    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.

  • Make way... (Score:4, Funny)

    by selderrr (523988) on Friday August 06 2004, @08:58AM (#9898612) Journal
    for the first airborne trojan horse !

    Now all it needs is WiFi, and it can mass infect :-)
  • Mean-spirited (Score:5, Insightful)

    by Snart Barfunz (526615) on Friday August 06 2004, @09:00AM (#9898622)
    Not to come over all gee-whiz and so on, but how relentlessly negative these posts are. The students deserve some congratulations for successfully completing an impressive piece of work. Maybe they didn't go the most efficient/difficult/brag-worthy route. So what? Everything they've learned will be useful, regardless of what hardware/software they end up using in the 'real' world. They probably had fun and have achieved something real, instead of just sitting back criticising.

    Good point about the cruise missile though...
    • Re:Mean-spirited (Score:4, Insightful)

      by philbowman (707419) * on Friday August 06 2004, @09:10AM (#9898727)
      Yes - at least they produced something original. :-)

      Congratulations to them.

      OTOH, if they had used Linux, everyone would have just gone on about how great it was that they'd used Linux, not how clever that they'd got the UAV to work. Can't win...

    • Re:Mean-spirited (Score:4, Interesting)

      by dave420 (699308) on Friday August 06 2004, @11:55AM (#9900258)
      That's the thing - they did use the most efficient/difficult/brag-worthy route to completion. Any other route (including linux) would have required a LOT more work, more than they could have been expected to do. Crusoe chips and 1gb of memory could fit in your hand and you'd not notice. We're talking two small wafers of electronics. They didn't bolt a P4 to the side, but came up with an elegant embedded solution, which can talk to every piece of hardware they need it to, and be small enough to fly where ever they tell it to. If they'd been using linux for the project (with all due respect) they'd probably have spent more time getting linux to talk to the various peripherals than making the flying vehicle itself.

      Credit where credit's due - it's a truly great feat of engineering.

  • 800 mhz? (Score:5, Funny)

    by Valkyre (101907) on Friday August 06 2004, @09:05AM (#9898676) Journal
    In my day, when we wanted mobile computing power, we had to do it with a 6 Mhz Z80 [ticalc.org]. I mean really, you DONT need a desktop computer for waypoint flying.

    CPU Usage for UAV
    XP Embedded - 35%
    Waypoint system - 1%
    Flight Control System - 2% (It's written in C# with .net framework)
    Seti@home client - 62%

  • by SilentReproach (91511) on Friday August 06 2004, @09:06AM (#9898686)
    But XP embedded is actually a very useful product. It is something that should be released as an option to run desktop systems, as it can be modularized and stripped of nearly all Microsoftiness (Messenger, IE, you name it). Just want the XP OS with full GUI, no frills? XP embedded fits the bill. We use it for a custom application here and it's just what the DOJ ordered.
  • Clippy? (Score:3, Funny)

    by barcodez (580516) on Friday August 06 2004, @09:14AM (#9898741)
    Clippy: It looks like you are flying a plane, would you like some help?
  • by fdiskne1 (219834) on Friday August 06 2004, @10:13AM (#9899057)
    For some reason, this story about an unmanned aerial vehicle running on Windows XP makes me think of it being infected with a virus called SkyNet and turning into an Aerial Hunter-Killer. (from the Terminator series)
  • by spinkham (56603) on Friday August 06 2004, @10:15AM (#9899083)
    My school(Virginia Commonwealth University) also did this, and actually won the competition these were built for, the second AUVSI student competition.
    http://auvsi-seafarer.org/seafarers/ default.htm
    http://www.egr.vcu.edu/announcements/ uav.html
    As far as I know, no Microsoft products were used on the plane, but I can't find too many details at the moment. The guy I know who worked on the project only knew C and C++, though from my understanding he did mostly the EE stuff, not as much programming....
    • Re:Kick back? (Score:5, Insightful)

      by timmyf2371 (586051) <tim AT timfarrell DOT co DOT uk> on Friday August 06 2004, @08:50AM (#9898526)
      Nothing so "shady"...

      Award of academic grant. [microsoft.com]

      The article itsself states: Last year, the group won an Innovation Excellence Award from Microsoft Research to continue their previous work in designing an autopilot system for a large scale model aircraft. Schools around the globe received awards from the Microsoft Research University Relations program to enable them to conduct research in emerging technologies.

      So they are up front about it - I personally think this is interesting - doesn't matter that they used XP-Embedded over another operating system - whatever gets the job done.

    • Re:Kick back? (Score:5, Insightful)

      by CausticPuppy (82139) on Friday August 06 2004, @08:50AM (#9898527) Homepage
      Why do most people here seem to concentrate not on the fact that something very cool was accomplished, but rather on the fact that it was accomplished using technology from a vendor they don't like?
      </rhetorical>

      How about commenting on the project itself rather than posing conspiracy theories? The article itself even mentions that the team had gotten previous awards from Microsoft.

        • Re:Kick back? (Score:5, Insightful)

          by danheskett (178529) <{danheskett} {at} {gmail.com}> on Friday August 06 2004, @10:53AM (#9899550)
          They use XP embedded because you can write complex applications and do lots of programming without re-inventing the wheel.

          In this case, I think XP + .NET is a great choice instead of using a simple microcontroller with assembler code. Why?

          1. Device drivers. They are using a wireless modem to get data back and forth to the ground. That's important.

          2. Telemetry. The plane fly's itself without help from the ground. This isn't often done. Most of these projects the plane is a dumb terminal to a complex application running on the ground. This way is the exact oppsite. The ground system gives the plane mission goals, and the plane and it's onboard "overhead" process the goals and determine what actions are needed to get there. The goals are things like "fly between nav point 1 and 2, then directly proceed to nav point 3".

          3. Advanced image processing. One of the goals of the project is to recognize objects on land. Other systems have to take a picture, transmit back to the ground station for processing. On this one the plane can do it right away, and proceed to their next point without the latency (which is significant) of transmitting back and forth.

          4. Robustness. Their plane is better than most others because it can operate with very little supervision from the ground. That's pretty important step forward. It can land itself in the case of something going wrong, the plane's flight hardware failing, etc.

          You really have to have tried to do something like this before to appreciate the difficulty of having an autonomous plane like this. Even the Pentagon/CIA recognizes the trouble involved. The first UAV's were basically just remote controlled. They spent two years making them more autonomous which to me is a big deal.

          Lastly I doubt many people here would consider an "award from Microsoft" as being much of anything to brag about.
          You mean most people wouldn't like to get cash to work on cool geek projects you want to be working on anyways?
              • Re:Kick back? (Score:5, Informative)

                by Jester99 (23135) on Friday August 06 2004, @01:31PM (#9901344) Homepage
                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.
        • why use windows when the OS can be hijacked and used as a weapon?
          What makes you think they have a TCP stack on this OS? It's windows embedded. What makes you think they have an ethernet device? What makes you think it can be used as weapon?

          Speculation. That's what.

          Also, FYI: MS got to its place in the industry legally and ethically. Once they got there is when they got into trouble.

          Finally, let's see here. I can think of 1000's of ways planes like this could be used for good. Maybe if you w
    • Embedded software may not typically use 1 GB of software. But I would not find it comforting to think that the full instruction set for an airplane was able to fit into 640 KB of ram.
        • Re:1 GB? (Score:5, Insightful)

          by mr_z_beeblebrox (591077) on Friday August 06 2004, @09:13AM (#9898743) Journal
          Engine control software decides what the engine will do based on what the operator is doing. The controls for a UAV ARE the operator. Big difference.
          • Big difference.

            Not really. Engine control software "decides what the engine will do" based on what the operator desires, not blindly following what the operator is doing. The operator isn't sending 1000 FIRE signals to sparkplugs every second; the operator may want to rev to 8000 RPM, but the ECM will cut fuel at 6000, etc.

            The ECM translates operator requests and adjusts for programmed limitations, current sensor states and engine control parameters to try to fulfill those requests, the UAV controls are

    • Too much to ask to read the article?

      quote:
      The system runs off two 512 MB compact flash cards, which provides a storage system with no moving parts able to withstand up to 10,000 Gs. One compact flash card holds the operating system in a protected write mode, while the other stores a real-time flight log - a 'black box' that can be examined to diagnose problems, even if the vehicle crashes.
    • Re:1 GB? (Score:4, Informative)

      by SpinyManiac (542071) on Friday August 06 2004, @09:18AM (#9898758) Homepage
      Half of that memory is used as a flight recorder. Like it says in the article [microsoft.com].
    • Re:1 GB? (Score:5, Insightful)

      Oh of course -- because a technology demo -- like a UAV that flies itself-- is completely unimpressive unless it's hyperefficient and has a tiny footprint.

      Give me a break, man. It's a STUDENT PROJECT. They probably had a few months to do it. And you expect them to build their own OS and heavily optimize code? The REASON they used embedded XP/C# (besides getting them free from MS) was that they are efficient environments for rapid development that are easy to learn. There's very little bizarre apocrypha in C#, and when you're strapped for time that's way more important than impressing embedded developers.
        • First: I am embarassed that you think the secret to tight, efficient code is the elimination of bloat. The whole point of bloat is that it isn't used. If something isn't used, it's not necessarily inefficient. In fact, if space is not an issue, it would be an inefficient use of time to eliminate unused components.

          Besides, the point of a project like this is not to TEACH anything...it's so the students themselves can learn how to engineer a solution given a set of constraints. If the constraints are "bu
    • "only" 1GB? that's hardly impressive. Try fitting that in a few kb of ROM, like a real product would be, and i'd be impressed....

      I'll take my flight-control software with an exception handling system, thanks.

      What's more interesting is this is a good proof of concept that anyone with a few thousand bucks and not even a college degree can put together an autonomous airplane with commodity parts.

      I think people who can get C4 can come up with the money for a gig of RAM. This kind of design can scale pretty
    • by Steve G Swine (49788) on Friday August 06 2004, @08:59AM (#9898617) Journal
      Anything that flies benefits from light components.
      Anything that flies benefits from being actually completed already - a mystical state that higher-level toolkits help one achieve more quickly.

      I'm sure they could start from the codebase they have now, work really hard, and have equivalent expertise built into a lighter package in some number of staff-years. Alternately, they could archive the source, go drink margaritas for a couple years, and then buy the lighter package with equivalent power off the shelf and use it to run the existing already-completed software.

      Which would you consider the elegant way to proceed?
      • by Rosco P. Coltrane (209368) on Friday August 06 2004, @09:09AM (#9898704)
        I'm sure they could start from the codebase they have now, work really hard, and have equivalent expertise built into a lighter package in some number of staff-years. Alternately, they could archive the source, go drink margaritas for a couple years, and then buy the lighter package with equivalent power off the shelf and use it to run the existing already-completed software.

        Oh yeah, that's just what we need, engineering students whose mindset is that of a business owner. How about busting your butt to achieve something? researching more elegant solutions (and no, that's not yours, elegance is in the design and performance software with tough constraints)?

        You totally missed the point of research. Research isn't about using technology, it's about inventing new technology. Using off-the-shell components doesn't push the envelope, it just shows the Cornell students can take envelopes from their sponsors.

        Good thing not everybody thinks like you, otherwise we'd all be waiting for everybody else to solve our problems for us...
        • But one could argue that the research and development in this project was the software. Therefore it perhaps makes sense to use existing, proven technology so get the proejct off the ground (sorry!). Later refinement would then be to reduce weight etc, so *then* it might make sense to develop lighter hardware.
        • Oh yeah, that's just what we need, engineering students whose mindset is that of a business owner. How about busting your butt to achieve something? researching more elegant solutions (and no, that's not yours, elegance is in the design and performance software with tough constraints)?

          You are forgetting that a good engineer is, by nature, lazy. The only reason we have cars, planes, trains, boats, and so on, is because an engineer was too lazy to walk, try and fly (by flapping his arms), too lazy to run,
        • Yeah, I bet they used an off the shelf processor as well, rather than building their own from scratch. And the metal used in the frame? Don't tell me they BOUGHT that rather than mining it and developing their own metalurgical refining processes.

          The problem doesn't always lie at the level that happens to be of interest to *you* - the OS in this case.
        • by poot_rootbeer (188613) on Friday August 06 2004, @10:56AM (#9899583)
          Oh yeah, that's just what we need, engineering students whose mindset is that of a business owner.

          Actually, we do. Real-world end results are what actually matters.

          How about busting your butt to achieve something?

          I've known a lot of engineering students at Cornell. Suggesting that they don't "bust their butts" or serve as puppets of the Microsoft PR machine makes me laugh. A lot.

          Think about this -- if the Cornell UAV team hadn't accomplished something unprecedented, would it have been "news for nerds"? Frankly I don't see why you care whether they developed new technologies from scratch, or built upon existing technologies.
    • You're right. 1G of storage - that's equivalent to two whole USB keychains. It couldn't possibly get off the ground.

      Here's how I see it. It's a freakin' prototype. It doesn't have to be elegant. It just has to work. And maybe they want to add other functionality later, such as "look out for that tree" and "don't fly into the building, even if it's a waypoint".

      Besides, autonomous flying machines need all that extra power to run Skynet anyway.

    • by dave420 (699308) on Friday August 06 2004, @10:05AM (#9898933)
      Have you even seen an 800mhz crusoe and 1gb of storage recently?? You can fit both in the palm of your hand. We're not in 1983 any more. Complaining about the size shows how hard you're clutching at straws. I mean, sheesh. If it was linux you'd be all over it. "oh it's so cool! i love it! linux rules!". Every single article on /. has some assclown calling something microsoft-based crap, for absolutely no good reason whatsoever. The most disappointing thing is the rest of the /. community doesn't correct such blatant assclownisms, but eggs them on. Really, really sad.

      Have you read about XP embedded? It's a pick-and-choose OS, so you can select exactly what you want. That means no bloat. Absolutely none. Kinda destroys your ill-conceived argument, and shows it really was a rant against Microsoft.

    • Keep in mind that the entire plan weight less than 13lbs, so the 800mhz crusoe was not weighing the thing down. Also, I think this was more of an excercise in software, not hardware.
    • by DaHat (247651) on Friday August 06 2004, @09:00AM (#9898630) Homepage
      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.
    • Mission critical how? I've never written a bomb tracking program in C#, but I've never been asked to. With that said, I'd trust .NET as much as I trust Java or Perl -- the framework is quite robust and the execution environment (CLI) is reliable.

      I have programs I've written in .NET that have been up on client machines for months. Garbage collection means no danger of memory leaks (and no, I've never seen a slowdown due to GC, it is much more subtle than GC in Java 1.3 which would basically shut down you