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."

68 of 400 comments (clear)

  1. Blue Sky of Death? by philbowman · · Score: 4, Funny

    Duck!

    --
    Phil
  2. Brings new meaning.... by tdemark · · Score: 5, Funny

    ...to the term "crash"

    1. Re:Brings new meaning.... by TopShelf · · Score: 3, Funny

      Not to mention the use of embedded XP - hopefully it won't be embedded in the ground...

      *rimshot*

      --
      Stop by my site where I write about ERP systems & more
  3. Ugh. by suso · · Score: 4, Funny

    I fear the onslaught of 1001 jokes about this plane crashing.

    1. Re:Ugh. by Phisbut · · Score: 2, Funny

      Too late... 4 of the 7 first posts imply crashing :-P

      --
      After 3 days without programming, life becomes meaningless
      - The Tao of Programming
    2. Re:Ugh. by ThosLives · · Score: 2, 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 they can't even figure out how to write solid code and avoid buffer overruns and decide to use a "sandboxed" language to make up for their (laziness? lack of competence? management directives to work so fast time for care is squandered?).

      --
      "There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
    3. Re:Ugh. by andreyw · · Score: 2, Insightful

      Actually small footprint does not imply hardcoding everything in assembly. Small footprint would very likely be a tiny forth virtual machine + bytecoded forth. If you can't grasp what I am talking about - think OpenFirmware/OpenBoot. Forth is portable, so moving everything to a new architecture would mean porting the (tiny) forth VM - that beats porting XP. And forth is a pretty damn powerful language... Hell, if you felt magnanimous - you could even add an interactive forth interpreter for debugging purposes, and none of this would require 512 MB of memory.

      Remember, if this wasn't a plane, but a *space* UAV, then those 512MB wouldn't come cheap - considering they wouldn't be off-the-shelf DDR DIMMS, but something like space-radiation-hardened SRAM. And uh... no offense... but with Windows' track record... I would not be willing to shell out $$$ for something that some 5r1p7 1dd13 would have fun with for 5 minutes before causing a catastrophe.

      "Look Ma! I found a new cool flight simulator! Whoa! So realistic! Is that a nuclear power station? Coool."

    4. Re:Ugh. by ThosLives · · Score: 3, Insightful
      Sorry you missed my point about "management direction" above. I'm not saying that I can write bug free assembly, or even that assembly is required (OSEK and many RTOSs are written in C). Basically my point is that it's a sad day when people say, "ah, the hardware will handle it, and I've got a toolbox which will let me be sloppy, so what the heck?"

      sure, for fast things, being able to throw lots of money and buy hardware is nice - but that assumes you have lots of money (or, perhaps, a hard-/software vendor giving you free stuff to use for good press and to get people familiar with their products). That's no substitute, though, for well thought-out solutions and careful code. I'm not saying that these folks at Cornell didn't do good engineering; my comment was on the seemingly obscene amount of hardware they used. Like most things in the "modern world" our problems - even things like viruses - aren't technical so no amount of technology can solve them. Until folks realize that technology cannot solve social issues, people will continue to be disappointed when technology doesn't solve all the problems.

      --
      "There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
  4. here we go by Sanity · · Score: 2, Funny
  5. 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.

    1. Re:Did they read the eula? by Grishnakh · · Score: 2, Insightful

      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.

  6. Unknown Error by Obiwan+Kenobi · · Score: 3, Funny

    "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."

  7. Wow by kalirion · · Score: 4, Insightful

    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.

  8. Helicopters work better.... by Anonymous Coward · · Score: 2, Interesting

    http://avdil.gtri.gatech.edu/AUVS/IARCLaunchPoint. html

    "This year the best performances were executed by the Georgia Institute of Technology and the University of Arizona (first year in the Competition). The Georgia Institute of Technology's autonomous helicopter demonstrated "Level 2 behavior" (finding a particular building from among many and then identifying all of the real openings in the building through which they could send in a sensor probe) during a series of three flights comprising more than an hour of flawless fully autonomous operation-- they landed only twice, once to adjust a camera and once to top off their fuel tank."

  9. Cruise missile by panxerox · · Score: 4, Funny

    And the difference between this and a cruise missile is what exactly?

    --
    "It's so convenient to have a system where everyone is a criminal" - A. Hitler
    1. Re:Cruise missile by Rosco+P.+Coltrane · · Score: 2, Insightful

      And the difference between this and a cruise missile is what exactly?

      Cruise missiles cost billions in taxpayers money.

      --
      "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    2. Re:Cruise missile by clintp · · Score: 2, Insightful

      And the difference between this and a cruise missile is what exactly?Cruise missles aren't designed to land and take off again another day.

      --
      Get off my lawn.
  10. Re:I Predict by philbowman · · Score: 2, Interesting
    > 70% of the up-modded comments will be people who automatically equate 'UAV' with warplane.

    My first post (yay! - now modded 0 - boo!) was only intended to emphasise what the linked site acknowledges:

    "Safety - An autonomous flight control system inherently removes human operator intervention from vehicle functionality. The capability of an aircraft of considerable mass, traveling at high velocity, to inflict damage to people or property is substantial. It was critical that the flight control system would include several modes of flight termination in case of emergency or flight control system failure."

    Sure, there are non-military uses for UAVs - crop dusting, fire fighting, ground mapping, etc, but I'd be interested to know what proportion of the devices currently out there are in fact military.

    --
    Phil
  11. Trans Atlantic Model by naznerd · · Score: 5, Insightful

    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

  12. 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.

    1. Re:CUUAV by Ignignot · · Score: 2, Funny

      Well I'm the UAV team captain's second cousin's best friend's girlfriend's half brother. I hear all sorts of stories about how they actually used black magic to make the plane fly and sacrifice goats and midgets to the devil every time it goes up. No wonder they had a fire - the power transfer pentagram got smudged and the imp got loose for awhile before they could kill it with a fire axe.

      --
      I submitted this story last night, and it didn't get posted.
  13. Why the overhead of .NET? by 192939495969798999 · · Score: 2, Interesting

    Obviously the Microsoft Research link gives away the "why", but I really want to know why the overhead of .NET? Why not just compile it to "real" C++, build some machine code, and stick it on a chip? Doesn't that make more sense than .NET? Plus, I'd like to toss in my $.02 that 1GB is totally insane for an embedded system. The space shuttle doesn't need that much for its automated stuff.

    --
    stuff |
  14. Re:Kick back? by timmyf2371 · · Score: 4, Insightful
    Nothing so "shady"...

    Award of academic grant.

    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.

    --

    Backup not found: (A)bort (R)etry (P)anic
  15. Re:Kick back? by CausticPuppy · · Score: 5, Insightful

    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.

    --
    -CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
  16. Re:1 GB? by mr_z_beeblebrox · · Score: 2, Insightful

    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.

  17. Make way... by selderrr · · Score: 3, Funny

    for the first airborne trojan horse !

    Now all it needs is WiFi, and it can mass infect :-)

  18. Re:And I'm supposed to be impressed? by Steve+G+Swine · · Score: 5, Interesting
    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?
    --
    "Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer." - Linux Advocac
  19. Mean-spirited by Snart+Barfunz · · Score: 5, Insightful

    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...

    --
    --- Yx3 = Delilah ---
    1. Re:Mean-spirited by philbowman · · Score: 4, Insightful
      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...

      --
      Phil
    2. Re:Mean-spirited by dave420 · · Score: 3, Interesting
      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.

  20. 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.

  21. Re:1 GB? by Oxy+the+moron · · Score: 2

    Looking at the size of the typical MS OS, I think the impressive part is that both the OS AND the application are capable of fitting in 1GB of space.

    While this is not impressive compared to other embedded solutions, it IS impressive relative to your typical Microsoft offering.

    --

    Proudly supporting the Libertarian Party.

  22. 800 mhz? by Valkyre · · Score: 5, Funny

    In my day, when we wanted mobile computing power, we had to do it with a 6 Mhz Z80. 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%

    --
    What the heck is a 'sig'?
  23. Read the link by Computerguy5 · · Score: 2, Informative

    Apparently you didn't read the link. I shouldn't be surprised, this is slashdot. =P

    Anyway, that was an interesting story posted on slashdot a loooong time ago. THe guy bought off-the-shelf (Internet) components online and used them to cheaply assemble an autonomous cruise missle in his garage to prove that such a thing is a legitimate threat potentially weilded by terrorists. Unfortunately, governments of the world largely ignore this threat, and New Zealand even decided that, although they considered what he was doing legal, it wasn't appropriate and effectively censored it.

  24. M$ is thinking about selling guns by Martin_Flory · · Score: 2, Funny

    First, the desktop with Windows, then the lands (they own a looot), then the consoles with Xbox, then the Tv with the Media Center PC... now.. like Xbox is not beating PS2, they came up with the idea of monopolizing the "a la Terminator" flying killing automated things.

    I'm all forward it... mainly because I'm against war, and all it'd would take to stop an invasion would be to attack one of the millions of security flaws their embedded IE probably has... by the time they released the patch at http://planeupdate.microsoft.com, we would have already cracked the protection of the little things and we would be using them as toys.

  25. Joke if you like.... by SilentReproach · · Score: 4, Insightful

    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.

    --
    Religion is the opium of the people. Evolution is the opium of scientists.
  26. Re:1 GB? by epicstruggle · · Score: 2, Informative

    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.

    --
    "Im drowning here, and you're describing the water!"
  27. Re:And I'm supposed to be impressed? by Rosco+P.+Coltrane · · Score: 5, Insightful

    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...

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  28. Re:Stability? by dasmegabyte · · Score: 2, Interesting

    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 your app for a few seconds), and all of my socket manipulations are wrapped in self healing stubs that catch failures and exceptions and restart the information queue where it left off. Our clients have never seen a bug in the data layer or the framework itself (though our presentation layer has had plenty of bugs...we follow the Microsoft development philosophy here, get it to clients on day X with an acceptable feature-to-bug ratio so they can start getting the most essential work done and we can fix the rest incrementally).

    This is using Framework 1.0; there have been two versions since then with performance, stability and feature enhancements.

    --
    Hey freaks: now you're ju
  29. Clippy? by barcodez · · Score: 2, Funny

    Clippy: It looks like you are flying a plane, would you like some help?

    --

    ----
  30. Re:1 GB? by mr_z_beeblebrox · · Score: 4, Insightful

    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.

  31. 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.
  32. Re:And I'm supposed to be impressed? by Zaiff+Urgulbunger · · Score: 2, Insightful

    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.

  33. Re:Kick back? by Arakonfap · · Score: 2, Interesting

    I think it's be cause a lot of people (not all) here see it as a waste. The time/effort spent making it run XP embedded, and making the hardware accomidate all that storage space, could have spent making it run a light OS. XP Embedded is small, but last I heard bare-minimum was still several MB. A lighter OS could have fit on smaller hardware, and provided more space for other stuff, or a small plane design in all.

    Even if they wanted to use a .net implementation there are several linux ones available as well - or Java could have even been used. A lighter CPU could have been used (or several), and it would have been a much more impressive feat.

    Throwing XP embedded, a 1 gb drive, 800 mhz CPU, and .NET runtime isn't a well-enginieered solution. It _IS_ however impressive that consumer-level products can be used for such a thing. Interesting in it's own way. And I'm sure it had it's own hurdles. It's just that from the enginieering point of view, the initial reaction is "Well, yeah, but what a waste".

  34. Re:1 GB? by dasmegabyte · · Score: 4, 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.

    --
    Hey freaks: now you're ju
  35. Re:And I'm supposed to be impressed? by DavidBrown · · Score: 2, Interesting

    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.

    --
    144l. ph34r my 133t l3g4l 5k1lz!
  36. Is XPE suitable? by serviscope_minor · · Score: 2, Insightful

    Interesting project, but can anyone comment on this?

    A control system really needs to be hard real-time. Is XPE hard realtime? Also, is C#? If it is, how does it deal with garbage collection under these constraints?

    --
    SJW n. One who posts facts.
  37. Re:And I'm supposed to be impressed? by dave420 · · Score: 5, Insightful
    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.

  38. You had a 6 Mhz Z80? by wiredog · · Score: 3, Funny
    Lucky bastard. We had to use a PDP 11/780 on a flatbed!

    Uphill! Both ways! In the snow!

  39. Aerial Hunter-Killer by fdiskne1 · · Score: 2, Funny

    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)

    --
    But why is the rum gone?
  40. Part of a the second AUVSI student competition by spinkham · · Score: 2, Interesting

    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....

    --
    Blessed are the pessimists, for they have made backups.
  41. Proof of Concept - Scary by bill_mcgonigle · · Score: 2, Insightful

    "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 easily, therefore so can the lifting capacity.

    If one of these was launched from Hoboken could it be shot down over the Hudson River? Are they even considering this problem? If all the vans and trucks are being stopped in the Holland Tunnel it doesn't make sense to use the Holland Tunnel.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  42. Re:And I'm supposed to be impressed? by sexylicious · · Score: 3, Insightful

    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, and too lazy to swim. Engineers typically say to themselves, "How can I do this with less effort/money/time/etc.?"

  43. Re:And I'm supposed to be impressed? by m00nun1t · · Score: 2, Insightful

    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.

  44. Re:Kick back? by danheskett · · Score: 5, Insightful

    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?

  45. Re:1 GB? by HeyLaughingBoy · · Score: 2, Insightful
    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 doing essentially the same thing, but the operator requests (go from point A to point B) have been programmed in before flight started.
  46. Re:And I'm supposed to be impressed? by poot_rootbeer · · Score: 4, Insightful

    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.

  47. Re:And I'm supposed to be impressed? by Fujamabob · · Score: 2, Insightful

    The plane was supposed to also do recon. You want to do image processing in a year as a side project as an undergrad on custom microcontrollers? You also want that microcontroller to coordinate communication between the plane and ground station? If it were just supposed to fly, they'd have engineered it appropriately.

    Give the kids some credit.

  48. Re:Kick back? by danheskett · · Score: 2, Insightful

    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 weren't a cynic you could to. I'll give you five ways for fun:

    1. Search and rescue. A police/sheriff/parks department could easily afford 4-5 of these if they were a $1k/each. They could be programmed to look for infrared signatures that indicate missing persons. Instead of hundreds of people searching for a missing child for days, a larger area could be searched and monitored.

    2. Anti-terrorism. These could be used to monitor the borders and equipped with bomb-detecting sensors.

    3. Environmental research. These planes can be made to have long-ranges. They are low-impact and fuel-efficent. What better way to study remote areas without intruding with the blunt-instrument of a human research party?

    4. Weather-research. These planes could be very useful in studying weather patterns and taking frequent samples of atmospheric conditions.

    5. Traffic reports. Why send a "traffic-chopper" when you can send a small, quiet, fuel-efficent drone. Very handy, fast, and useful.

    I'll give you a bonus: firefighting wild-fires. Big-planes are very slow and inefficent to put out forest fires, not to mention expensive. A helicopter model of this unit could be used in a swarm to put out forest-fires before they spread to hundreds of thousands of acres. Instead of buying a $10M fire-fighting plane, purchase 10,000 of these units to be on quick alert. They could be setup to provide near constant dumping of fire-retardant on an area complete with mid-area refueling and pulling water from the neartest river/lake/hydrant.

  49. Re:And I'm supposed to be impressed? by Blakey+Rat · · Score: 2, Insightful

    And the parent is the very definition of "assclown." Holy shit, man, get a grip. It's a piece of software, not a religion.

  50. Re:And I'm supposed to be impressed? by Forbman · · Score: 2, Funny

    You've obviously never talked to anyone loyal to the smallest degree about their choice of pickup truck, then.

  51. Re:1 GB? by dasmegabyte · · Score: 2, Insightful

    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 "build an autonomous UAV linking off the shelf parts in three months," and they have at their disposal a system which NATIVELY integrates all of the available parts without the need to write drivers or compile special libraries, it would be a disservice to force them to use something else. It's be like telling a carpenter to build a shed in three days and that he has to mill his own lumber. It's unfair to say "you can't use this program because it has a few functions you won't use, making it bloated and worthless."

    Tell me: when you're hanging a picture, do you refuse to use a claw hammer just because you don't intend on pulling any nails out? I mean, the claw is just added bloat right? Makes the hammer heavier for functionality you probably won't need.

    Fucking retard. There's more to life than systems that fit on a floppy diskette. This is why we INVENTED the computer as an abstraction to calculation, C as an abstraction to machine language, etc.

    --
    Hey freaks: now you're ju
  52. Re:1 GB? by misterTreellama · · Score: 2, Insightful

    The problem with slashdot is there are far too many programmers with tunnel vision. I was in a UAV club in college, and the operating system was the least of our problems. It takes an enormous amount of time just to keep the aircraft flight-worthy (especially after botched landings), and fiddling around with the mechanics enough to fit your processor, GPS, radio modems, flight sensors, cameras, and 9 tons of NiMH batteries on the tiny-assed vehicle. Finally, since you're just college students, you spend absurd amounts of time begging for "test" parts that you never intend to give back to the manufacturers. Damn right they're going to use an off-the-shelf OS, especially if they didn't even have to beg.

    --
    "Let the Spanish keep it, it's a sh*thole," we said, but you had to have your goddamned orange juice.
  53. Re:And I'm supposed to be impressed? by Moofie · · Score: 2, Insightful

    How about finding the best available solution considering the time and budget available?

    Good engineers deliver. Great engineers come in on time and under budget.

    What you propose is fine for "It never really needs to work" academia, but not acceptable for engineers who actually have to produce functioning hardware.

    --
    Why yes, I AM a rocket scientist!
  54. Re:And I'm supposed to be impressed? by tshak · · Score: 2, Insightful

    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.

    --

    There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  55. 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.

  56. Re:Kick back? by neonv · · Score: 2, Insightful

    I'm a grad student researching UAV's just like the one that Cornell is using in this articles. There are only a few major differences between what we do and what they do.

    1. We didn't use .NET or any other operating system that costs money. The plane has an embedded system that doesn't need much operating system power. Most of what is run on the processor consists of feedback loops that are run under time constraints that are not hard to meet. Image processing is the only intensive processing and shouldn't be done by the operating system if you're doing research on it, so there is no need for a costly embedded system on the plane. Our hardware consists of a 30MHz processor (on a custom board), 512 KB (not MB) of RAM, an RF modem, and a gps unit. All of this is on a light plane made by a few engineers at the university. Using that, we do everything Cornell does at a fraction of the cost and complexity.
    2. Planes fly themselves by themselves all the time. It's an autopilot. We've had one for a while. It flies and lands by itself. It sends telemetry information back to the ground station so we can monitor it and/or render it in an open source flight simulator that we modified for our use. All the processing on getting from one place to another, however, is done by the plane itself. It does multi-agent coordination by itself as well.
    3. We use our own device drivers. You'll find that in an embedded system, drivers are not nearly as hard to deal with as a PC. Drivers just aren't a problem. You know you're hardware too well to have problems with it. not only that, but there are very few devices to work with in comparison with a PC.
    4. There are lots of other differences, but they're not important. I see Cornell doing is spending a lot of money on fancy gadgets and software that they don't need making their system more complicated.

    However, I do like the fact that they do image processing on the plane. In the case that image processing is needing and a ground station is not available, having onboard processing is needed. But once again, this does not require nearly what they are paying for.

  57. Re:MOD PARENT UP! by Jester99 · · Score: 2, Informative

    The plane would run for about a half hour. This is a function of the size of the fuel tanks for the engine. I do not believe we ever flew the plane for more than about eight-ten minutes though.

    The battery systems would run the computer for about 90 minutes, I think we calculated. When it was on the ground, we could jack it in to some heavy lead acid cells for extra life/recharging the onboard batteries.

    And yes, LiPoly's are pretty sketchy technology. Great energy density, but that's what makes them dangerous. We've always treated them with respect, but now we've got a *much* healthier fear of them. I've heard of people who seal them inside large pyrex cookware when they charge them. I think we're heading out to Target for some of those ourselves. :)

    Operating range. Hm. Well, that depends and what you mean by operating range...

    The plane's top airspeed (I think; I'm just trying to pull this out of my head) was around 60 Km/H. So, if it could run for 30 minutes, it could make it 30 Km if you had no intention of ever getting it back, or were planning to follow it in a car.

    Our serial modems were theoretically maxed out at 10 miles. But this varied on any number of things (radio frequency stuff is a devil's art)... their altitude, your altitude, things around you, if you were using their antennas or some bigger ones, atmospheric conditions... At some point we brought one modem up to the top of a tall building, drove across campus with the other one, and still got a carrier. So, we know they work for at least a mile. :)

    But the serial modems aren't required for the plane to operate. It broadcasts back its data (position, speed, etc) to us over the link. And we could control it over the link ([dis]engage autopilot, etc); so, there's the range on that. But the autopilot itself would run without the monitoring link up.

    Now, there is the safety cut-off though. At any time, by flipping a switch on the RC controller, we could bring it back to manual override, and a human pilot could guide it down. We also had to install (by law, I believe) a chip that would force the plane to hold a tight circle if it ever lost connection to the RC controller. As you might imagine, 25 lbs flying at 60 Km/H into somebody with a propellor screaming away on the front can be lethal. So if it's ever out of human control, it has to either intentionally ground itself immediately, or go into a holding pattern. I think the max range on our RC controllers is about a mile.

    That having been said, we do not operate our plane out of visual range. I think the farthest away from us we've ever flown in a given direction is about 800 yards.

    Our plane weighed 25 lbs, fully topped out with 1 L of fuel, and that was about the most it could handle and still be responsive. Do the conversion to metric yourself. :) The vast majority of the weight was the batteries. We put all the electronics in, and then just crammed as many batteries as we could in with it all to keep it running as long as possible. (I don't know how much of the weight was airframe and the 30 cc engine and whatnot.)

    I'm just a programmer; I'm not one of the mechanical engineers, so I largely didn't concern myself with that stuff :)
    It was all assembled in a different lab and everything.

    So, that's it for our "current" specs. It's just a test platform. The idea is that this plane only operates right over our heads, because we want absolute control. But we see applications in all sorts of fields -- search and rescue being the "sexiest." The plane doesn't take too much skill to set up; our software is really very automated. So ideally, you could give these to forestry services, and they could deploy a few planes programmed to fly in large high squares over some backwoods area that would be difficult to hike up and search manually (steep hills, lots of snow, etc). You'd just sit and watch the video stream coming back, and look for signs of people. The plane could run a ten mile flight, out of human control, and then return itself to base when it's done.