I recently had the privilege to sit down with Jesse Levinson, a former Crystal Springs Uplands student and now a former Stanfrod PhD student. He started his time at Stanford working on the university's entry into the DARPA 2007 Urban Challenge under Sebastian Thrun, and ended it in charge of the autonomous car program as Thrun helped start the Google car. A teacher of mine who taught him back in the day connected us, and I first met him when I sat in to watch his thesis defense during his final weeks of school.
His thesis title is "Laser Calibration, Mapping, and Vehicle Localization." It is split into three topics, all relating to autonomous cars. The first topic was vehicle localization. Where is the car in the road? A GPS unit is not infinitely accurate. It gives you a general location, but it can't figure out which lane of the road you're in or if you're driving over a curb. Jesse sought to solve this by taking into account more data than just the GPS. He detected lane lines, or the likely location of lane lines, by looking at the road for a color pattern of gray-white-gray. Using two sets of lines it is possible to calculate the optimal direction and location in the road to be heading. However, the lane lines are not always there. To supplement them, he used a laser rangefinder, a more complex version of the kind I am using, to locate curbs. This helped keep the car from driving off the road, as well as providing another line parallel to the expected direction of travel.
The next segment of the thesis was laser calibration. Not having worked with fancy lasers, I admittedly did not understand too much from this part. Jesse's conclusion, though, was that using software it is easy to calibrate a variety of lasers and even predict their current position relative to a prior known position.
The thesis ended with a discussion on traffic lights. After telling his software the approximate location and elevation of traffic lights, the autonomous car was able to detect the lights and their colors. This segment highlighted the usefulness of his vehicle localization, as the traffic light detection is more accurate if the vehicle knows exactly where it is.
My biggest takeaway from his presentation is the use of probability. His localization routine didn't provide a specific position, but rather an array of possible positions supplemented by their likelihood. His traffic light routine takes likely positions of traffic lights to try and find out where they are, as well as calculating the likelihood that the light is any one of the three colors. My car doesn't use probability, because it is very simple, but the use of probability could greatly help with my sensors. Things aren't perfect, and my sensor may well provide a string of bad data; probability could help isolate that data from the main logic of the program.
So after the presentation, I had the opportunity to sit down with Jesse and discuss his work on the Stanford autonomous car, as well as what he envisions the future of such cars to be. He started working on Junior, Stanford's entry into the 2007 DARPA Urban Challenge, when he entered Stanford's graduate program in 2006. His job was the creation of the localization system described above. He had great success with his algorithm, making Junior the only entrant that did not hit a curb during its six-hours on the course.
Junior is built from a set of complex systems, each combining together to result in a trajectory and velocity for the car. The localization helps the car figure out where it most likely is, which combines with a path-finding system to figure out where the car needs to go. An object avoidance system helps track oncoming cars, and figures out the best possible trajectory to move the car as it tries to merge into traffic. Junior is one big elegant machine, which stands as a first step towards what Google is now trying to accomplish.
The major technical challenges for autonomous cars have mostly been overcome, Jesse told me. The two that remain are price and unpredictability. The sensors that the cars use are expensive; in order for mass production of autonomous cars, the companies producing the LIDARs and high-speed video cameras need to refine their processes for efficiency and cost-reduction. Human unpredictability, though, is a bigger challenge. Little research has gone into what autonomous cars should be doing in the event of construction work, or if a bridge fell down. Autonomous cars might be safe for ninety percent of all situations, but there is that ten percent where who-knows-what could happen, and the cars don't know how to respond.
My solution for the latter would be more research into artificial intelligence. Humans can outlast unpredictable situations because they can adapt and do new things. Autonomous cars need to be able to do new things like crossing into the oncoming traffic lane at a construction site, or accelerating down a freeway to escape a rock-slide, in order to become consistently safe and automated.
However, the bigger issue to the wide-spread adoption of autonomous cars lies in the populace. First, there is the legal situation to resolve. Laws state that drivers must be in full control of their vehicle at all time. Google is currently pushing Nevada to change that law; it will be interesting to see how that goes. Jesse told me that the trick is to market the cars as having driver-assistance mechanisms. The car does all the work of driving, but the driver has the ability to turn that feature off and drive himself. Current cars already have pieces of this technology: my Toyota Sienna, for instance, has adaptive cruise control to change the speed based off the cars in front of you. Other cars have systems to prevent you from drifting into other lanes. The one caveat with this, though, is that the driver must stay fully aware of what is going on: he can't sleep, he can't talk on his phone or send text messages, and he can't get drunk.
Sebastian Thrun is confident that the laws will adapt to change. As he said at the Maker Faire: "If you develop something safe and fundamentally better,...there will be a path to make it happen, especially here in the US." The question is, though, will people want to drive autonomous cars? There is no point selling something that people won't drive. Jesse gave me a great example of the difficulty autonomous cars face when trying to become widely adopted. Autonomous cars are undoubtedly safer than human cars. In the US, there are 44,000 deaths by traffic accidents per year (over one million worldwide). Say autonomous cars are ninety-percent safer, down to 4,000 fatalities per year. Each of those deaths would bring about an investigation into the car, the software, the manufacturer, simply because the blame couldn't fall on the driver. So even with more people staying alive, there would likely be a huge legal system designed around the autonomous car companies, with people getting upset and protesting every time something occurred.
So does Jesse think we'll see autonomous cars soon? General Motors claims that they will have autonomous cars by 2018, and Jesse hopes so too.
Next: Journal Entry #9
Sources: [1], [2]