Darpa Grand Challenge
by Tom Temple
Nov 13, 01:40 PM
If you don’t know about the Darpa Grand Challenge you should read about it a little first. You can probably find some good videos if you look. MIT entered for their first time this year and did remarkably well: 4th. 40 started, 11 qualified, 6 finished.
Look here to see who was involved. My lab, LIDS, was in charge of the planning and control. And in 9 months they taught a car how to drive itself. Pretty amazing considering that most other teams had been working on their platforms for several years.
But this year was harder. This time there is traffic and laws and everything. Just building a vehicle that can follow a GPS trail without crashing is one thing. Building a vehicle that understands traffic is quite different.
To qualify, your vehicle had to pass a number of tests like merging into traffic, turning left across traffic, four way stop with other vehicles. All of these tasks are routinely screwed up by 16 year-old humans. It’s amazing any of them could do any of it.
That’s not to say they didn’t mess up. There was a lot of “rubbing” as they say. MIT had rubs with Cornell and Corolla, but “rubbing is racing”. Lots of teams hit stuff. Even in the finals, two teams ran into buildings. I was lucky enough to get to see the “raw” data of a lot of it, with the people who were trying to figure out what went right and what went wrong.
One problem that we had was that we divided objects up into “moving” and “stationary”. Avoiding stationary objects is pretty straightforward and avoiding moving objects takes more thought. Any stationary object that gets misclassified as moving poses a large computational penalty and so the threshold is set rather high.
Consider a car stopped in the middle of the road, Cornell’s in particular. Cornell is in the way and the robot decides to go around. It computes a trajectory and executes it. The trajectory is rather close, but it is at an intersection and so there are other constraints to consider. As we are passing Cornell decides to go again and boink. A human would put the blame on Cornell, but would also recognize our maneuver as a cut-off of sorts—not ideal.
The other rub was the same but the fault was more ambiguous. Both cars were creeping across an off road area trying to figure out how to get onto a road. The Corolla car was going slow enough that it was perceived to be stopped. They just creeped at each other, misgauged the stopping distance and boink. From our point of view, their path was stupider, but the actual crash was so symmetric that it is hard to assign blame. They weren’t on a road so there was no explicit precedence.
The other big problem was curbs. To explain, we need to back up. If you’re going to ask robots to drive from someplace to someplace else, it’s reasonable to give them a map. You could perhaps do it without a map, but arguably that is needlessly difficult. Originally, the map was going to be a very sparse graph of GPS coordinates, maybe 100m apart or more, and would not include every road, let alone every curve. But you can imagine that if you had GPS coordinates of everything (i.e. both sides, the center line, etc) that would also be a “map” of sorts and would make for a substantially different problem.
So here is where the research/competition whine inevitably comes up. The Darpa GC is a competition, with a winner and prize money. If it isn’t against the rules to, for instance, use satellite imagery to “densify” your map, or to drive the road (i.e. by a human) ahead of time and collect data, then it would be silly not to do these things. Some have speculated that such rules were not implemented because it would have been embarrassing if noone finished and it looked like noone would finish were it not for “densification”.
But at MIT, the researchers won out over the kids who wanted to win and so they only used the basic map and the locally available sensor information. Essentially, they were only using GPS the way that a human would, to see if they’re on the right road. Otherwise they used local information. Everyone else could do almost all of their path planning (though not the harder traffic stuff) using GPS alone.
So our car had to spend a bit of time thinking about where the road was. One component of this was a curb detector. Shadow across the road: curb. Concavity of slope: curb. I saw one picture where the robot thought that it was encircled by a dozen concentric curbs. What does the robot do in these cases? Look around for a while to make sure there is no other way around and then drive over it. It’s a Land Rover, curbs aren’t that serious. But this meant that the car spent a long, long time pondering and avoiding fictitious curbs.
This is sort of embarrassing until you hear how little actual drive time the car had ahead of time. Practically none. The car was almost constantly being put in situations that hadn’t been tested in or explicitly designed for. It speaks amazingly well of the people who designed it that the car could “figure out” these all these new situations.
Anyway, I’m really proud of these guys and am psyched to be working with them.

Nov 14, 02:42 PM
Nice job, Tom. I watched a video of the winning Stanford team’s car for the 2005 (non-urban) Darpa challenge and was really psyched on what they had done. But I didn’t expect anyone to pull off anything worth writing about in the Urban challenge. I was wrong.
Nov 15, 11:11 AM
You forgot to mention that there were contributing members from a other MIT labs, mainly Draper and Lincoln Labs…
Nov 16, 11:12 AM
I’m really sorry — I didn’t know who all worked on it. Something a responsible reporter would have looked up. I completely failed to mention the Vehicle Team who, if you look at that car, did a lot of work too. I was basing this on what the LIDS guys were looking at after the event. Which groups at Draper and LL were involved?
I’ve also noticed that the planning team wasn’t exclusively LIDS characters although most are pretty closely affiliated.
I'll edit the offending paragraph.