Autonomous Drift Car

How to build an autonomous car from the ground up...sorta.

An Introduction

Autonomous vehicles were all the rage when I started this project. They still are, but maybe people realized that its a harder problem than they thought. Some of the momentum has slowed down, at least from a public perspective, but there’s lots of work going on behind the scenes. This project is about building an autonomous vehicle on the cheap and learning the technology that goes into it. I started a Meetup group because I thought it was so cool. We meet monthly and have over 100 members. 

Early Work

This project was built out of the idea that I really wanted to learn more about Machine Learning. I wanted to find a fun way to learn it without a steep learning curve up front. After some searching, I happened upon this group that Chris Anderson (Wired, 3DRobotics) had put together based on a hackathon project that Will Roscoe and Adam Conway created. DIYRobocars was born. The basic car is pretty simple in concept, a 1/16 scale remote control car, a Raspberry Pi, or Jetson Nano, a PWM I/O controller, a battery, a camera and a few other connecting screws and plastic parts and there you have it.

What Am I doing differently?

I wanted to put my own twist on the basic donkeycar based platform. I wanted to create an autonomous drift car. My car uses a slightly different base platform, adds a couple IMUs and has a little more streamlined design. I also had to create the software “Part” to allow consumption of the IMU data to be used in the Machine Learning model.

What’s the Goal?

The goal for me was always about learning the technology. Along the way I found a fun way to actually introduce people to a pretty complex topic in a relatively easy way. Feel free to join our DIY Robocars ATL Meetup group. For more details check out the original Donkeycar site to build your own car. (http://www.donkeycar.com)

 

Let me know if you have any questions. mwalker@icecodeatl.com

Autonomous Vehicles

So much is happening in the world of AV. Major companies are pouring lots of dollars into this converged space that pulls it’s technology from the Robotics world. Having some background in the technology, how it works, what are the problems, etc. is important because its shaping up to be a critical and driving (no pun intended) part of the robotics ecosystem. And as stated above, I wanted an easy and fun way to learn it. With and estimated $7 T (!) opportunity value by 2050, it’s someting to be very aware of. This article captures quite a few more reasons why AV is super important: https://www.fool.com/investing/how-to-invest-in-self-driving-car-stocks.aspx

Machine Learning

Because of the great quantities of  existing data (about almost anything), and the rate and ease in which new data is acquired and stored, Machine Learning (ML) has become an important way in which computers can make decisions. ML is like a tiny brain that takes ingests a bunch of data, images, sounds, etc. and depending on the context of that data, can make future decsions based on what’s already been input. Given a bunch of images of cats and dogs, a computer can decide whether a new image not seen before is a cat or dog. This is one type of Machine Learning algorithm, but can be extrapolated to purchase suggestions, next word or phrase estimation, problem solving, image editing, etc. There are so many applications for ML that according to Grand View Research, the global machine learning market size is expected to reach USD 96.7 billion by 2025. 

Donkeycar

There are so many great people creating great software to solve difficult problems today. What Adam and Will put together here, is amazing and transformative in so many ways. Check out more at their site, and check out the initial hackathon presentation.

Python, TensorFlow

Python was a welcome addition to my coding skillset. Not quite as fast as C/C++ but really powerful and, as I discovered, has tons of extending libraries and extensions. Python is a great language to learn if you plan on building robots. TensorFlow is one of a few frameworks for creating Machine Learning models. See Machine Learning above. TensorFlow is Google’s version, PyTorch is Facebook’s version, here’s a good blog article outlining more ML frameworks. Also check out Kaggle for a great ML ecosystem.

Raspberry Pi
The Raspberry Pi microcrontroller is a small but powerful compute board used in many, many projects these days. Check out www.raspberrypi.org for details
Nvidia Jetson Nano

The Nvidia Jetson Nano is small but powerful microcontroller board used in similar areas as Raspberry Pi, but introduces some small GPU processing nodes for use in Machine Learning. Check out more details at https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/