Stanley and the Conquest of the DARPA Challenge
geekboy_x writes "Wired has a great in-depth piece on the Stanford team that won the $2 million DARPA prize. If you remember last year's disaster - with most vehicles falling off the road in the first kilometer or so - this victory becomes all the more amazing. The fact that the Stanford team used a 'tailgating' strategy is the best surprise in the article."
Also interesting to note is the fact that the major leaders of the Stanford team came from the Carnegie Mellon AI department 2-3 years ago.
http://www.asti-usa.com
In order to run, one must first learn to walk...
FTA: "He liked to point out that planes had been flying themselves since the 1970s. The public was clearly willing to accept being flown by autopilot, but nobody had tried the same on the ground."
Just give us our flying cars then already, damnit!
These are the first real steps towards completely autonomous vehicles that have any sense about them. You're not going to see these things out on roads like we have today for a long time, if ever, because of how unpredictable the real world is. However, imagine if you build roads that are only used by autonomous vehicles. It could be similar to an airplane - when you reach altitude, you program your heading and let it go at it, but when you're close to your destination, off it goes and you're back in full control. That, in my opinion, is where this technology is eventually going to go.
From TFA on 7 ways cars are already robots:
"4. Lane-Departure Prevention
Nissan has a prototype that uses cameras and software to detect white lines and reflective markers. If the system determines the vehicle is drifting, it will steer the car back into the proper lane."
I've driven enough roads under construction that I would be seriously afraid that my car would steer me into oncoming traffic because road workers haven't bothered to paint over lines that were previously there.
Personally, I'd be interested in how these vehicles do:
1. On regular highways.
2. At speeds other than the 5 to 25 MPH tested.
I realize they're not built for that. I would just like to see how they do applying what they "learned" in the desert to real traffic situations.
... is that the CMU team relied heavily on extensive pre-analysis of the environment, and failed (at least in the sense that it didn't come in first). Stanford instead relied on a probability analysis of the incoming data, along with multiple technologies for different goals (lasers for short range data, video for long range data).
It seems that the DARPA grand challenge not only showed off the first realistically autonomous vehicles, but also laid to rest the idea that expert systems were the way forward. The way forward instead is self-teaching computers. Hooray for self-teaching AI overlords!
Those who can, do. Those who can't, sue.
I was never that impressed with the CMU approach. All that manual preplanning was an obvious dead end. And the giant mechanically stablized gimbal was just too clunky. It didn't help them in 2004, when they hit an obstacle placed by DARPA, and it didn't help them in 2005, when DARPA moved the racecourse from California to Nevada to prevent preplanning. The Air Force colonel in charge for 2005 said preplanning wouldn't work, and he meant it.
Computer vision of the natural world is finally about to take off, after three decades of frustration. It's probably possible to do much of the early vision processing in a current-generation GPU, which may make it affordable. Look for new apps that connect to cameras and pick out items of interest. Read that paper linked above.
Basically, after two years of work they have it going at 45MPH over rough uncharted terrain.
That is pretty darn good.
The best thing about it is, the system is capable of second guessing itself, that right there is the fundamental step that lead to success.
The flip side of all of this is, it is based on probability, and while in a desert the opportunities for accidents may be minimized, I wonder how well it will deal with unexpected random events, such as people who don't put on their turn signal when changing lanes.
CPU power and other hardware can always be scaled up to deal with increase speeds (indeed a major topic that the article deals with), the question is can the algorithms deal with truly unexpected input?
Of course one solution to this is to have all cars automated, then you do not have problems with fools not using their turn signal, as the cars would just wirelessly inform each other.
Bleck, then again, I have not yet seen a perfectly working wireless network stack, hopefully who ever they get to program the cars would be of a higher caliber than the idiots who program PCs and wireless routers/switches.
Need help treating your acne? Come here!
From Wired: The resulting liability issues are a major hurdle. If a robotically driven car gets in an accident, who is to blame? If a software bug causes a car to swerve off the road, should the programmer be sued, or the manufacturer? Or is the accident victim at fault for accepting the driving decisions of the onboard computer? Would Ford or GM be to blame for selling a "faulty" product, even if, in the larger view, that product reduced traffic deaths by tens of thousands?
It figures. A technological advance that would cut the number of traffic deaths by about 95% by taking drunks and maniacs out from behind the wheel, and preventing 93 year-old men with dementia from killing people, will be bogged down by liability issues should the robot kill someone. C'mon people! Even the best system will not prevent a fluke accident or yes, even a bit of bad code, from killing someone, but weight that against the number of road-rage infested idiots on the road now, driving at 100+ mph, swerving in and out of traffic, and I think libility needs to be the furthest thing from anyone's mind.
Just don't let Microsoft write the software.
GetOuttaMySpace - The Anti-Social Network
was when Thun explained how the vehicle was taught to drive by following a human driver and adapting its algorithms according to his behavior, gaining much better results than "force feeding" massive amounts of data artificially.
This has immediate implications not only for robotic cars - what if we took a human and strapped some positional sensors, voice recording, etc. and made a humanoid robot follow him throughout the day?
I mean how varied are our lives after all? Given the right processing power and sensors, the results could be interesting...
Again, a great achievement for a 'bottom up' approach to artificial intelligence
At the risk of being modded offtopic, I have to disagree -- a programming language is nothing more than a way of expressing an algorithm. While there is some degree of interest in the degree to which a language allows one to express alogrithms clearly, allows for easy separation of areas of concern, etc., it's ultimately the algorithms that really matter -- the programming language is simply a way of expressing them.
OTOH, it would be interesting to hear more about the algorithms and how they were expressed -- including the programming language(s) involved, to the extent that it/they had a real effect. And make no mistake about it, programming languages do affect the algorithms used to a degree, if for no other reason than some languages make particular kinds of algorithms easier to express than others.
If you care about the algorithms involved, you might want to look into the book on probabalistic robotics by Thrun (and others). Note that this isn't specifically abou the Stanley project, but about the field of work, not simply a description of Stanley or something like that.
The universe is a figment of its own imagination.
basically due to whatever circumstances (width of the road, start order etc) someone has to be in front and someone has to be behind - the fact that the Stanford vehicle was following another entry had nothing to do with how it was successful, in fact one could argue it put the vehicle in some danger if the lead vehicle messed up, rolled, crashed etc. It later passed the said vehicle to go on to the win - The article makes no mention of a "Tailgating Strategy" it does say that it was tailgating another vehicle for a bit before it passed it - not sure how this is any more strategic then when I drive to work in the morning - how about this winning strategy "Don't hit the car in front of you". Don't know why this bugged me so much, its actually a good read, I just don't know why this non-existent "Fact" was so prominent in the lead in. Sorry.. not enough coffee today....
Right now I think that it may have some issues regarding lane changing, and collision avoidance, but I think that, in the long run, those problems are a lot more solvable than, "Woops there's a giant ditch in the way, what do I do?".
Collision avoidance is pretty simple...Just stay X distance away from everybody around you, and computers have a huge advantage in that sort of test because, a) they don't get bored and stop paying attention, and b) they have very quick reaction time. It's probably easier to teach it to avoid someone merging into its lane than it is to teach it how to tell what a turn signal means.
Still a long way to go, but this is a big step.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
Now all we need is a superstrong protective layer, a pursuit mode, and cool red lights on the front!
Accident opportunities in the desert are minimized? "The desert" isn't just rolling sand dunes, or a dirt road through scrubby brush. It's rocky, angled, steep, unpredictable terrain. Dealing with something as easily identifiable and predictable as road traffic (cars never leap into the air, or instantly hop sideways 6 feet) is a snap compared to off-road driving. What do you do that's so complicated when you see a car changing lanes suddenly, putting it too close to you? Apply brakes? Change lanes? A computer can do those things pretty easily-- probably safer and more attentively than a person.
If a job's not worth doing, it's not worth doing right.
That's actually not true. There was no "tailgating". During the Grand Challenge, no vehicle was allowed to approach another while both vehicles were active. DARPA had the ability to remotely pause any vehicle. When vehicles got anywhere near each other, the trailing vehicle was paused to maintain separation. If the trailing vehicle was clearly faster, a pass was scheduled. All passing took place with one vehicle stationary and at a wide place in the road. Wired has this wrong.
As a participant of another DARPA team (Cornell -- our site is down), I am skeptical as to whether the winners of the challenge would be able to drive in a real world environment. In many ways the Grand Challenge was a toy problem, but this is not usually emphasized because they want to make it seem more dramatic.
First of all, no other moving objects on the course. When a vehicle was about to pass another, the one in front was paused so that the passing vehicle could overtake it. At no time did the vehicles have to deal with changing conditions.
Secondly, to my knowledge, there were no obstacles (which were promised) on the course. If someone knows differently, I'd like to hear about it. So we don't know to what extent obstacle avoidance is effective on those vehicles.
Thirdly, daylight and clear weather is one thing, but nighttime, rain, snow, etc. would significantly degrade the data.
Essentially the problem that the current vehicles solved was this:
Given a set of waypoints and a "corridor" outside which you will never have to go (so far the problem can be solved only by 10cm-accuracy DGPS), use your other sensors to avoid obstacles by moving left or right within the corridor.
Not very much like real world driving at all. And I'm not saying Stanford, CMU and the others didn't accomplish something big -- I'm just saying it's not what the Wired piece makes it out to be.
One result from the second Grand Challenge that lots of people harped about was the fact that Stanley, the winning (and hence, fastest) entry, completed the course with an average speed of only about 19 mph. "19 mph?" quoted some of the the nay-sayers, "we're supposed to get excited about that?"
One thing that TFA points out, which wasn't mentioned many other places, was that the course rules stated a maximum vehicle velocity of 25 mph. Ideally, then, the fastest possible average speed for any entrant would likewise have been 25 mph. Stanley, at times, wanted and could have gone faster than that, and held back due to the rule-imposed speed limit. In that context, 19 mph is actually quite good, considering the terrain would have forced it to slow down over bumps and turns.
The article presents the history of Stanley is presented as a series of intellectual breakthroughs that I can understand, just like a lot of the pop science I read when I was a kid (and continue to read). I'm pretty sure each of these breakthroughs (such as learning from humans and assessing sensor data critically) are ideas that have been around in AI for a long time. The true story of Stanley is no doubt just as dramatic but much harder for a layperson to appreciate.
I think the first practical non-military application of autonomous cars will involve a ton of infrastructure. It won't be achieved solely by making the cars as advanced as possible, but by providing a lot of supplemental data from an array of stationary sensors (and processors) installed by a city or theme park that wants to be the first to have autonomous cars.
Eventually human drivers will be banned, and the cars will communicate and cooperate with each other (much better than human drivers!). Traffic engineers will maneuver cars manually in rare instances, and computer-controlled cars will give them a wide berth. Safety will be improved, but so will traffic efficiency. Cars will become less personal, hence smaller and more efficient; crashes will become rarer and safer, hence cars will be smaller; computers will be better drivers, so cars will run faster and closer together. We can look forward to a period of ten to thirty years in which freeways don't get any wider.
Continuing my utopian fantasy, if cars become autonomous and have less personal significance, many city dwellers will choose to use taxi services instead of owning their own cars. That means that most of the cars on the road at a given time can have a sensible capacity, rather than the maximum capacity the owner imagines that he or she might need. Per-capita energy use for personal transportation in the U.S. will drop to a fraction of the current level.
It will happen someday, but maybe not in the next hundred years, depending on how stubborn we are. It would certainly be easier and more rewarding to start with helpful, high-infrastructure environments, but the military has such a massive capacity for funding research that we will probably solve the harder problem of hostile environments first. I.e., we'll have autonomous robot sharks with frickin' laser beams on their heads long before we have Johnny Cab.
Its lasers are constantly teaching its video cameras how to identify drivable terrain, and it knows that it could accelerate more.
Maybe one day it can use its lasers to eliminate obstacles, creating drivable terrain and enabling to accelerate more.
He who knows best knows how little he knows. - Thomas Jefferson
Yeah, because things sponsored by the Department of Defense never have any value outside of wars. Like that ARPANET thing.
In the Grand Challenge, cars didn't race against one another to try to be the first across the line. They raced to try to complete the course in the shortest elapsed time .
According to the Darpa web site, Stanford won the race by finishing with an elapsed time of 6 hours and 53 minutes. They could still have won if they crossed the finish line after the CMU vehicle, as long as their elapsed time was still shorter.
CMU's Sandstorm finished in 7 hours and 4 minutes.
CMU's H1ghlander finished in 7 hours and 14 minutes.
Would a robot controlled car try to straddle a squirrel running across the road like I do?
Yeah, but only to get a better shot with its mounted machine gun.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)