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."
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.
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
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
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
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.
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
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 ---
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.
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.
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
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.
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 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
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.
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.
"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)
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.?"
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.
Read reviews of shopping cart software
They use XP embedded because you can write complex applications and do lots of programming without re-inventing the wheel.
.NET is a great choice instead of using a simple microcontroller with assembler code. Why?
In this case, I think XP +
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?
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.
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.
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.
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.
And the parent is the very definition of "assclown." Holy shit, man, get a grip. It's a piece of software, not a religion.
Comment of the year
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.
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
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.
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!
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
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.
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.
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."
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)