Making a Self-Driving Go-Kart

Penn Engineering students wanted to make a self-driving go-kart that can go as fast as possible, and even as fast as a human driver. Watch this video to hear them discuss their work with autonomous vehicle systems.

“You need to think of the cars as integrated complex systems that work together to make them move,” says Rahul Mangharam  , a professor in the Departments of Electrical and Systems Engineering and Computer and Information Science. “I put the students into teams where different people work on different parts of the larger system, and then those teams compete to see who has the best performing car for their grade. It’s a lot of fun—we say it’s 10 times the fun at a tenth the size—but it’s also such a nice way for these budding engineers to truly put their solutions to the test.”



Transcript

00:00:12 (upbeat music begins) - [Alan] So we want to make a self-driving go-kart that can go as fast as possible, and even as fast as a human driver. So first step is to make everything electrified. And second is to add all the sensors and computers and controllers on board so that they can be controlled by a central computer. Then is like writing all the software so that you can go autonomously.

00:00:42 - [Rahul] So our work at Penn is to build reference designs for software defined vehicles, and that allows the software to make all the control decisions on these platforms. And then we share that as open source software. This means that anyone can adopt it. It's very well documented, the code is shared with them, and then they take that design and they develop it to the next level. So the software that we share

00:01:08 is based on the Autoware stack, and that allows us to share very well with several hundreds of partners. And together with Autoware, these have been deployed in full-size buses in Michigan, and robo taxis in Tokyo, and so many more deployments. It just shows that the power of open source allows many people to collaborate together on a very complex problem like autonomous driving.

00:01:38 - How do we know what is around us? In order to know that, the go-kart is equipped with lidars and cameras. Lidars essentially like shoot out light rays and give us point cloud data in order to find how far an object is from us. So once we know that, the next step is to kind of localize ourselves. That is, where are we in a certain position? But the complexity here is that,

00:02:03 since it's a high speed vehicle, we have to take into the dynamic constraints and model accordingly. - So one of the big questions when we focus on driving here is that we focus on autonomous racing. This means that we are pushing the vehicles to their limits of handling. What we are looking at is this balance between safety and performance, of agility and restraint. If you are too conservative,

00:02:31 then you're too slow and you lose the race. But if you're too aggressive, you crash, and you're out of the race again. We, in our research, are trying to learn what is the driving behavior, what is the intention in the mind of the other drivers, and then once we learn that, we have a very good estimate of how they're gonna drive, and we can out compete them. - [Alan] Working with people from various backgrounds

00:02:53 even helped me better understand what I'm doing and also what the system is doing, the behavior of the system. Because even if the software is doing its job perfectly, if there's something wrong in like the lower level controller, the car could still exhibit like bad behavior. So having like a multi, interdisciplinary team, I think definitely helps us achieve building this autonomous system.

00:03:24 - [Renu] Rahul's been so far the best mentor I have had. So he's like given us the full freedom to like explore with any sensor. And any doubt we have, he's always there. (group cheers) Working with Rahul, I think that's one thing that I learned a lot about the project, how to like know the system as a whole and be able to deploy like softwares that can be used right now.

00:03:50 So I think I like autonomous systems in general, because personally I don't know how to drive. I'm counting on it to become like fully autonomous. (upbeat music continues) (upbeat music fades)