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."
In order to run, one must first learn to walk...
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.
I still think it will be a long time before we trust a computer to drive us around. Intersting that it used a 'tailgating' strategy...what happens if all the cars around it are also doing the same!
There's a LOT less to worry about when a plane is in the air flying. I don't know a pilot alive who would autopilot through anything more than mild turbulence. Autopilot also doesn't take off and land for you. It's closest equivalent in the automotive world is cruise control. Cruise control would be just as good as autopilot if the vehicle didn't have to worry about other vehicles on a regular basis and had a lane to work with that was as straight as typical airplane headings.
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
The fact that the Stanford team used a 'tailgating' strategy is the best surprise in the article.
Not anymore.
I've no inside knowledge, but from the article it appears CMU was locked into the-same-just-more/bigger/faster strategy and the team that decamped to Stanford came up with some innovative real-time confidence-based sensor interpretation systems. It may well be that at CMU they wouldn't have been supported in this whereas at Stamford, without the established regime at CMU, they were free to do so...
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
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.
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.
Incorrect. According to the website (http://www.grandchallenge.org/), the course was designed to include obstacles that had to be avoided. If I remember correctly, the obstacles included tank crosses, beams and poles, and a couple of vehicles actually got hung up on them. There was a corridor, but it was not possible to finish the course by simply relying on GPS and keeping within the middle of the road. Finally, the tunnel prevented the use of GPS.
In short, the Grand Challenge was indeed a grand challenge in that it incorporated all aspects of autonomous driving (save the road rage).
Those who can, do. Those who can't, sue.
More accidents happen on the ground than in the air.
The Defense Advanced Research Projects Agency (DARPA)
is the central research and development organization for the Department of Defense (DoD). It manages and directs selected basic and applied research and development projects for DoD, and pursues research and technology where risk and payoff are both very high and where success may provide dramatic advances for traditional military roles and missions.
The issue is much more complicated than an AI strategy. All teams involved had massive hurdles to overcome logistically, financially and technologically. Simplifying the analysis of who won or lost down to an AI strategy does a great disservice to all participants including the Stanford team.
It was not programmed to tail-gate, it just happened to be so good at what it was doing that it caught up to the CMU vehicle and eventually passed it.
And it was using laser sensors and video cameras to visualize it's enviroment. It's a pretty remarkable system. Makes me wish I'd stayed in school for A.I. programming.
Coding reports in a factory cannot be as much fun as coding a toureg to drive through the desert.
Sean D.
"Hmm. I am to metaphor cheese as metaphor cheese is to transitive verb crackers!"
The CMU bashing here (and subtley embedded in the wired article--everybody loves an underdog) is not really valid.
According to The Grand Challenge Tracking Site:
Stanley's official time was 6:53 and CMU's was 7:04 minutes.
I don't think that ridiculing CMU as having a "poor strategy" for doing something in an additional 11 minutes that was impossible for the entire robotics industry just a year ago is very. . . wise.
Personally, I'm overjoyed that Stanley won it. I think he's an excellent system and that Stanford deserves the praise. (Besides, those b*stards at CMU didn't let me in for my undergrad)--but making fun of their 2004 'strategy' (when they went further than any other team) and their 2005 results (when they were a scant 11 minutes behind the leader, and were 2 of only 5 teams to have a 'bot cross the finish line) seems silly to me.
And for the people wondering: Stanley is rumoured to have run linux, though last I heard the team hadn't confirmed it. In fact, most of the qualifiers for the race were running at least one linux machine.
Yeah, because things sponsored by the Department of Defense never have any value outside of wars. Like that ARPANET thing.
What do you do when someone jams their way over into your lane, pushing you out, and you are already up against the edge? Under what conditions do you accelerate, decelerate?
First you guess at the path of the other vehicle relative to yours for the next few seconds based on your recent measurements of its heading, speed, and size. Then you compare the outcomes of the fairly limited number of control options you have: slow straight, slow right, slow left, fast straight, fast right, fast left. Plug your current speed and approximate mass along with the predicated path of the other vehicle into each of the 6 scenarios and pick the best outcome in terms of energy remaining at time of impact (if any). Admittedly there are more than 6 options for course corrections, but you can make a first choice given the vehicle's width, mass, speed, heading, maximum steering angle and maximum acceleration/deceleration, and then calculate the exact control sequence to produce a course along the requried path while minimizing passenger discomfort. It's really not that complicated (and I actually have written obstacle avoidance algroithms for moving machines) and the computer has a *huge* advantage in quickly measuring and calculating the path of nearby objects.
On ice, there is suddenly a collision 50ft ahead, do you try to steer around it, slam on the breaks, coast to a stop? If you have to change lanes, to which lane?
If there's suddenly an obstacle 50 ft ahead of you you start braking immediately. If you slip, you reduce your breaking to stop the slipping and re-calculate your stopping distance given the new braking power and your approximate mass. If the remaining distance is insufficient, you compare the outcomes of moving left, continuing straight and moving right and choose the best outcome in terms of energy remaining at time of impact (if any). It's also worth noting that emergency steering is rarely if ever more effective than braking if you're really on ice, as it's still a huge change in momentum, and that a straight-on impact is more survivable than a sideways impact, all else being equal. And again, the computer has a *huge* advantage in determing your stopping distance and measuring or calculating your maximum non-slipping braking power and maximum non-slipping steering angle.
Following the road (or in the general case, picking a path) is much more complicated than simple physics exercises like you've described. What part of the situations you described do you see as challenging for a computer?
The thing is, autopilot is much easier than autonomous ground vehicles... an autopilot can be done with a simple closed-loop feedback circut (too high, tilt nose down...)
Ground vehicles need to deal with obstacles and terrain. See my earlier post on obstacle avoidance for the whole problem with obstacles.
For terrain though, it's kind of hard to see a 40-foot-deep wash until you're right on it... so it's really hard to avoid.
Wrong, you choose the best outcome based upon how it is going to effect others.
If the choice is either a near guaranteed death collision with the car in front, or running over onto a sidewalk and hitting a child, but with an almost guarantee that the passengers in the vehicle live, which do you choose?
What if the child on the sidewalk is a teenager, and there is a baby in the vehicle?
In a perfectly simulated world in which detailed information about all particles is known with absolute certainty, then yes, mathematics works out perfectly.
You throw stupid humans into the mix though, and things get a bit nuts.
Aside from all of this, humans have instincts; they can react really quickly to insanely complicated scenarios. Heck just think of the CPU power that was needed to keep a car on the road, how many tens of millions, if not tens of billions, of operations needed to be performed per second.
All to accomplish a task that the human mind does with ease.
I have seen computer physics simulations, walking robots are a great example, I believe Honda recently got their's to run. As slow as human babies are to develop, they are apparently easier to program! Admittedly, the major hurdle with walking robots was the development of the appropriate mathematics to solve the problem, and developing a truer understanding of the problem itself, once those were conquered, progress has been made quite steadily.
Also, I might add, physics simulations are really slow. And you would also need a computer that could react to events of such complexity, at incredible speeds. Obviously real time systems are capable of even faster reaction times than this, but the overall complexity of coordinating a real time system of this magnitude, this is not just some real time simulation running inside of Pefect Sphere physics land, the algorithms would have to handle the fact that their data is noisy.
You realize that imaging data collecting when the roads are icy would have problems with glare? Even more so, what about black ice? Where is the black ice at exactly? An experienced driver can feel it beneath their wheels, how about a computer?
When it is foggy out, data is even more sketchy. Heavy rain, humidity, wind, can disrupt the accuracy of sensor data. The fact that your data is being collected from an analog source (the real world), and then put into digital form, means that there is already some loss inherit in it, how much data loss can you tolerate?
Now run your physics simulation on that car skidding on the ice. How well does your simulator handle data of an iffy nature?
The human brain is designed to deal with incomplete, fragmented data, can your simulator handle it as well?
Can it handle it well enough to answer moral dilemas with enough certainty to satify the sue happy public?
If you say yes to all of this, now make such a complex system nearly bug proof. If it crashes, or has even a performance hiccup, even once, lives are going to be lost.
This is not a problem of the physics being done, we all know that the physics can be done, this is a problem of getting the physics done with corrupt tangled data.
Need help treating your acne? Come here!
Then let the robots download maps, etc. autonomously (automatically), and as needed, during the race.
And if route planning is so easy, why did CMU need "12 analysts in a tent beside the start line scrutinize the terrain" which "identified boulders, fence posts, and ditches so that the two vehicles would not have to wonder whether a fence was a fence".
That's not "autonomy", it's glorified R/C.