Slashdot Log In
Cornell Builds Autonomous UAV
Posted by
michael
on Fri Aug 06, 2004 08:35 AM
from the million-and-one-uses dept.
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."
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
Loading... please wait.
Blue Sky of Death? (Score:4, Funny)
Brings new meaning.... (Score:5, Funny)
Re:Brings new meaning.... (Score:4, Funny)
*rimshot*
Parent
Ugh. (Score:5, Funny)
Re:Ugh. (Score:3, Funny)
Re:Ugh. (Score:3, Interesting)
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
Did they read the eula? (Score:3, Informative)
Re:Did they read the eula? (Score:3, Insightful)
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.
Unknown Error (Score:3, Funny)
Please click OK to crash."
Wow (Score:4, Insightful)
Cruise missile (Score:4, Funny)
Re:Cruise missile (Score:3, Insightful)
Cruise missiles cost billions in taxpayers money.
Re:Cruise missile (Score:3, Insightful)
Trans Atlantic Model (Score:5, Insightful)
CUUAV (Score:5, Informative)
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)
Now all it needs is WiFi, and it can mass infect
Mean-spirited (Score:5, Insightful)
Good point about the cruise missile though...
Re:Mean-spirited (Score:4, Insightful)
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...
Parent
Re:Mean-spirited (Score:4, Interesting)
Credit where credit's due - it's a truly great feat of engineering.
Parent
800 mhz? (Score:5, Funny)
CPU Usage for UAV
XP Embedded - 35%
Waypoint system - 1%
Flight Control System - 2% (It's written in C# with
Seti@home client - 62%
You had a 6 Mhz Z80? (Score:4, Funny)
Uphill! Both ways! In the snow!
Parent
Joke if you like.... (Score:5, Insightful)
Clippy? (Score:3, Funny)
Aerial Hunter-Killer (Score:3, Funny)
Part of a the second AUVSI student competition (Score:3, Interesting)
http://auvsi-seafarer.org/seafarers
http://www.egr.vcu.edu/announcements
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)
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.
Parent
Re:Kick back? (Score:5, Insightful)
</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.
Parent
Re:Kick back? (Score:5, Insightful)
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?
Parent
Re:Kick back? (Score:5, Informative)
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.
Parent
Re:Kick back? (Score:3, Insightful)
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
Re:1 GB? (Score:3, Insightful)
Re:1 GB? (Score:5, Insightful)
Parent
Re:1 GB? (Score:3, Insightful)
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
Re:1 GB? (Score:3, Informative)
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)
Parent
Re:1 GB? (Score:5, Insightful)
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.
Parent
Re:1 GB? (Score:3, Insightful)
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
Proof of Concept - Scary (Score:3, Insightful)
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
Re:And I'm supposed to be impressed? (Score:5, Interesting)
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?
Parent
Re:And I'm supposed to be impressed? (Score:5, 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 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...
Parent
Re:And I'm supposed to be impressed? (Score:3, Insightful)
Re:And I'm supposed to be impressed? (Score:3, Insightful)
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,
Re:And I'm supposed to be impressed? (Score:3, Insightful)
The problem doesn't always lie at the level that happens to be of interest to *you* - the OS in this case.
Re:And I'm supposed to be impressed? (Score:5, Insightful)
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.
Parent
Re:And I'm supposed to be impressed? (Score:3, Interesting)
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.
Re:And I'm supposed to be impressed? (Score:5, Insightful)
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.
Parent
Re:And I'm supposed to be impressed? (Score:3, Insightful)
Re:And I'm supposed to be impressed? (Score:3, Insightful)
Re:Instead of the usual... (Score:4, Informative)
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.
Parent
Re:Stability? (Score:3, Interesting)
I have programs I've written in