Build Your Own Self-Driving Car

By Wenchao Liu

Well, I meant a self-driving “RC” car, not a real car. However, if you are as good as George Hotz, who made a real car drive itself, please give it a try. When I was a junior, I knew I wasn’t George Hotz, so I decided to build a self-driving RC car. Well, wall-following RC car at least.

The first step was to find out what was on the Internet. If you just do a quick search, you will find a lot of different resources. When I just searched “self-driving RC car,” the first result was a self-driving RC car that uses one camera and one ultrasonic sensor. Another one that’s popular is the donkey car, which is bigger and has more instructions. They actually assembled it live in Denver during the Autonomous Vehicle Competition in 2017, which I was also part of. Well, why didn’t I get some camera time? The one I chose, however, was from f1tenth.org from University of Pennsylvania, because it has the most detailed instructions, uses the biggest car and has the most powerful computing platform. In addition, JetsonHacks, a blog dedicated to NVIDIA Jetson Platform, has a lot of good resources for that as well.

I didn’t know back then, but as I learned more about the robotics industry, I realized that I made a good choice with my pick. The Raspberry Pi is cheap, but it comes with serious computation constrains. As a result, you can’t really run a standard Ubuntu operating system on it. NVIDIA Jetson platform, however, can be almost as small as a Pi and comes with Ubuntu pre-installed. In addition, f1tenth.org uses ROS, Robot Operating System, which is actually used by robotics companies, including those working on self-driving cars, such as Cruise Automation and Baidu.

After I picked the project, I immediately applied for funding. As it was my senior experience project, I was able to get funding through Lawrence University. Without the funding, I’d not be able to buy the parts for the project. If I were just some guy working in my garage, I’d probably just pick the cheapest option. Since Lawrence could pay for it, why didn’t I just get the best parts? If you don’t have the money and still want to build something with more than a Pi and a camera, check out HyphaROS and Linorobot.

After I had the parts, I buried myself in the project. No matter what project you are working on, you will encounter problems. Problem-solving will be a time-consuming task. I will skip through all the pain I had, because Angela knew it all, as I worked in the library and complained to her all the time. That’s something important as well: make sure you have someone to complaint to!

As self-driving cars get more and more attention, more universities are teaching courses about the technology with RC cars. I recently discovered two useful websites, one from UC Berkeley and one from UC San Diego.