Stanford engineering students teach autonomous cars to avoid obstacles
The best way to survive a car accident is to avoid collisions in the first place. Professor Chris Gerdes' engineering students are developing algorithms and pop-up obstacles that could lead to safe autonomous driving.
Stanford engineering students have been testing an obstacle-avoidance algorithm for autonomous vehicles, using a pop-up obstacle they rigged up from a tablecloth and a leaf blower.
One promise of autonomous driving is not to simply survive accidents, but to avoid them altogether. With that in mind, Stanford engineering students have been testing an obstacle-avoidance algorithm using a pop-up obstacle they rigged up from a tablecloth and a leaf blower.
"We're trying to develop a control algorithm that can safely use all of the car's performance capabilities to avoid obstacles and safely perform on a public road," said Joseph Funke, a mechanical engineering graduate student in Professor Chris Gerdes' Dynamic Design Lab. "The hope is that if we can figure these things out in a controlled research environment, we can extend those capabilities to autonomous cars that might come out in the future."
Gerdes' students have been using X1, a dune-buggy style car that students built for testing autonomous driving programs, to develop the algorithm and see how well it could avoid a pre-programmed obstacle. But to truly evaluate its accuracy, they needed something to avoid.
This called for an obstacle that met several criteria. It needed to present itself quickly and be soft enough that it wouldn't damage the car or passengers. It also needed to be reusable and, preferably, inexpensive.
A great mechanism, they determined, would be a car air bag, but these are too costly and are for one-time use only. So the students built their own.
"We cut up a plastic tablecloth and sewed it into a tube, which we inflate using an electric leaf blower," said Richard Lui, a mechanical engineering student. "It inflates quickly, and does everything we need for $70."
When confronted with an obstacle, the controller is trying to achieve several objectives at once. It needs to avoid the obstacle, but because the car is driving at top speed and already in a turn, the controller must also not spin the car out. It must also maneuver as smoothly as possible so that the passengers aren't jerked around.
The students tested the algorithm and obstacle recently at Thunderhill Raceway, several hours north of campus. The X1 algorithms swerved the car perfectly to avoid the obstacle while driving right at the edge of the car's handling abilities. The obstacle is challenging to spot using LIDAR, a laser-based object detection suite commonly used in autonomous vehicles. Upping the difficulty is fine with the researchers, as objects on the road will not always be obvious, but the obstacle could be modified to be more recognizable.
The work was recently presented at the International Technical Conference on the Enhanced Safety of Vehicles, in Gothenburg, Sweden, where it took second place in the Collegiate Student Safety Technology Design Competition.
The next step involves porting the software into Shelley, Stanford's autonomous Audi TTS race car, and other vehicles, to test obstacle avoidance on the track and under more complex environments and pressures. It will also be handy for other researchers at Stanford who conduct experiments on human driving behavior.
"At the end of the day, maybe cars will be fully autonomous pods, and I would certainly hope that those pods are as safe as we can possibly make them," Funke said. "If a car is physically capable of avoiding something, we'd like to develop the controllers that will make that happen."