• Subscribe

DIY autonomous car

Speed read
  • A group of young scientists built an autonomous vehicle for about $250
  • Open-source software and cheap hardware helped them stay under budget
  • Machine learning and other technologies are becoming more accessible and affordable

The first autonomous vehicle was built by Carnegie Mellon researchers in 1989, but the ALVINN car didn’t bring about a driverless revolution. It’s top speed was 3.5 mph, and while ALVINN’s neural network was ahead of its time, its capabilities were very much constrained by limited computing power.

<strong>Machine learning on a budget.</strong> Students at the University of Tennessee built and trained this self-driving car for just $250. Courtesy Febbo, et al.A lot has changed since 1989, and the tools necessary to build functional autonomous vehicles have become cheaper and much more widely available. To illustrate that point, students Rocco Febbo and Julian Halloy created a self-driving vehicle for only $250 that they presented at the PEARC20 conference.

The result of their work was closer to the kind of toy car a child might get for a birthday present rather than something you’d drive across the country. That said, Febbo was an undergraduate at the University of Tennessee (UT) during this project and Halloy was still in high school.

What they worked with

When UT professor Dr. Kwai Wong first proposed the project to Febbo, he didn’t think it was going to work. Febbo had participated in robotic teams in high school and knew how difficult coding even simple commands could be. “I was really skeptical,” Febbo says.

But under the guidance of Dr. Wong and Dr. Alan Ayala, Febbo, Halloy and the rest of the team that included Brendan Flood of the University of Dallas and Patrick Lau of City University of Hong Kong set about training a neural network and building their (hopefully) autonomous car.

A few decades ago, having access to the computing power of the Jetson Nano at that price would have been unthinkable, especially considering that the system performed real-time inference with a deep neural network powered by a battery. With a 128-core NVIDIA Maxwell GPU, a Quad-core ARM A57 CPU and 4GB of memory, the Jetson Nano was essential to staying under budget.

Component Price
Jetson Nano $129.99
Elegoo car kit V2 $89.99
RPi camera V2 $28.99
Total $248.97

“The NVIDIA Jetson Nano really helped a lot,” said Halloy. “It's a single board computer similar to a Raspberry Pi but it has a GPU. That is what's mostly utilized with neural networks and machine learning. So that was about a hundred dollars, as opposed to if you had a separate computer that had its own GPU—usually the GPU itself costs more than a hundred dollars.”

<strong>A number of components</strong> for the self-driving car were 3-D printed, such as a protective case for the Jetson Nano and a camera mount to provide the car's computer ‘vision’. Courtesy Febbo, et al. However, hardware is only part of the story. Open-source software libraries like ImageAI and OpenCV gave the team a wide variety of resources that were totally free. Halloy also mentions that the wide availability of good documentation for this software made the job even simpler.

Of course, cheap hardware and available software don’t magically combine to make an autonomous vehicle. At some point, humans have to get involved. Before the little car could be trusted on its own, the researchers needed to take it for a spin. 

“The best training is in the environment in which the neural network will actually be running,” said Halloy. “We used OpenCV and had a simple Python script so we could run the car and drive it ourselves. And then, as it was driving it was also capturing images. Later, we downloaded and sorted them into separate folders with different classifications.”

Starting early 

While this work may not revolutionize the world of autonomous vehicle research, that wasn’t the point. This was a summer project, intended to give experience to young scientists starting out in their careers.

<strong>Career starter.</strong> PEARC20, held online in July 2020, encourages students like Febbo and Halloy to present their research and gives many their first experience of a professional high-performance computing conference. Courtesy PEARC.Halloy, for instance, undertook this research while he was between his junior and senior year of high school. He’s since become an undergraduate student majoring in computer science at UT. Febbo was already an undergrad majoring in electrical engineering when the project began. Now, he’s pursuing a PhD in the same field at UT. What’s more, this project seems to have given Febbo a new appreciation of technology.

“I was honestly really surprised that it worked,” says Febbo. “When I was part of the robotics team, one of the tasks we had was just to drive in a straight line. And that took us so long to get working. I’m really surprised that the car can actually go down a hallway without hitting a wall. That’s really amazing to me.”

“It was really cool to see it work in the end,” adds Halloy.

Both Febbo and Halloy are now interested in learning more about the possibilities of machine learning and neural networks. Experiences like this that inspire future scientists and engineers is what it will take to bring us the first truly practical self-driving cars and other innovations. Because even as technology advances, and essential components become more available, it will still be humans that make the breakthroughs. 

Join the conversation

Do you have story ideas or something to contribute? Let us know!

Copyright © 2020 Science Node ™  |  Privacy Notice  |  Sitemap

Disclaimer: While Science Node ™ does its best to provide complete and up-to-date information, it does not warrant that the information is error-free and disclaims all liability with respect to results from the use of the information.

Republish

We encourage you to republish this article online and in print, it’s free under our creative commons attribution license, but please follow some simple guidelines:
  1. You have to credit our authors.
  2. You have to credit ScienceNode.org — where possible include our logo with a link back to the original article.
  3. You can simply run the first few lines of the article and then add: “Read the full article on ScienceNode.org” containing a link back to the original article.
  4. The easiest way to get the article on your site is to embed the code below.