Inaugural ASU computer science course teaches students how to design an entire system with self-driving cars
On Friday morning, man and machine will find themselves both tested.
The challenge for the robotic car? Make your way — on your own, of course — from University Drive about 250 yards to the steps of Old Main, avoiding students, skateboards, bicycles and the fountain.
The challenge for the students? Build a robotic car that can do all that.
It’s the final step in a course offered for the first time this semester at Arizona State University.
Knowing how to write software isn’t enough any more, said Ira A. Fulton Schools of Engineering associate professor Aviral ShrivastavaShrivastava teaches in the Department of Computer Science and Engineering in the School of Computing, Informatics and Decision Systems Engineering, part of the Ira A. Fulton Schools of Engineering. He heads the Compiler and Microarchitecture Labs..
Computer science engineers need to learn to design an entire system.
“Being a computer science department, what we used to do was teach the software aspect of robots,” Shrivastava said. “But now as these robotic systems become more complex, you cannot even develop the software without knowing the other aspects. You have to understand the relationships and connections between the mechanical components and the electrical components to be able to correctly write the software. That is what is changing.”
In the old days, writing software for machines was simple. For a washing machine, you want it to turn on, fill with water, agitate for 10 minutes, drain, spin for another 10 minutes, refill again, and so on. The software engineer didn’t have to know how to build a washing machine.
In a world where self-driving cars are poised to appear on a street near you, that has changed.
“Robotic systems are much more complex,” Shrivastava said. “Even though we are still just writing the software, we need to understand the electrical parts, the mechanical parts, to write good software. That’s why I changed this course to include all the components of the system, to give them an understanding of the whole thing.”
He calls it an “engineering course with a strong computer science aspect to it.”
They start with a car 2 feet long that runs up to 20 mph. Students get the chassis, battery, two motors, GPS, a laser rangefinder, a microprocessor, wires, motion sensors, and a breadboard to connect components.
“They are really, really building this completely from scratch,” Shrivastava said.
It’s a series of seven class projects culminating in an automatically navigating obstacle-avoiding race car.
“It is a self-driving car,” he said. “It’s not an easy project. They have been working night and day on this.” Out of 25 groups in the class, six didn’t make it.
At the Friday event, students will get a GPS coordinate destination. They’ll start from University Drive, driving south and stopping behind the fountain in front of Old Main on the Tempe campus, a distance of about 250 yards, carried along by the algorithm they have to write. It is, after all, a computer science class.
This is the type of engineering Google is looking for right now, with “end to end” skill sets. Robotics companies are the fastest-growing start-up category, Shrivastava said. “There are a lot of companies who want people like this,” he said.
“The students are very excited,” Shrivastava said. “After doing this course, students get the confidence and the ability to design relatively complex robotics systems on their own. ... That doesn’t happen if you study only part of the system.”
He hopes students from the whole spectrum of engineering disciplines enroll in Embedded Microprocessor Systems (CSE 325).
“I’m hoping students from computer science will also be interested in taking this course, students from mechanical engineering will be taking this course, electrical engineering students will be interested in taking this course, because they are all just learning their part of the robotic system, and they realize they won’t go far without learning the entire robotic system,” Shrivastava said.
The car race of the obstacle-avoiding, autonomous race cars will be at 9 a.m. April 29 on the lawns in front of Old Main.
Top photo: Students in computer systems engineering class Embedded Microprocessor Systems test their self-navigating cars in the first of four demonstrations. Photo by Mihir Bhatt/ASU