Today’s students will develop tomorrow’s self-driving cars, but it’s difficult to practice programming them without risking a car-sized mistake. So what’s a cute, functional, scalable way to practice? At MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), it’s a tabletop town full of rubber duckies, and the robot cars that carry them around.
The cars use a single camera, traffic signals, and road markings to navigate around the city. They don’t include any pre-programmed maps, so all of their behavior is based on the real-time feedback from the cameras. Students have to learn how to make decisions such as whether to spend more money on hardware or software, or whether to make algorithms simple or complex. Concepts they need to master include perception, object detection, and tracking. “Pedestrian ducks” are even placed in the scene in order to teach the cars to avoid hit-and-runs.
“We thought about key problems like integration and co-design,” said co-lead Andrea Censi. “How do we make sure that systems that developed separately will work together? How do we design systems that maximize performance while sharing resources? It’s a delicate balancing act in weighing the relative importance of different infrastructure elements.”
The tiny city is used for a new class based entirely around what can be done with the autonomous duck taxis. Co-lead Liam Paull, a postdoctoral student at CSAIL, recently entered into a $25 million collaboration between CSAIL and Toyota, with the intent of working on algorithms for autonomous cars.
Each duck taxi costs about $100, and the class organizers want to make them and their open-source programming accessible to more schools.
“We believe a tool like this will help create a common platform and language for researchers to build on,” said Paull. “We hope this will make it easier for computer scientists to continue to work together to bring autonomous vehicles into the real world.”
The project is sponsored in part by the National Science Foundation.