Beginners Guide to the DIY Self Driving Car



You’ve probably heard about big name self driving car companies like Tesla with Autopilot, Google’s Waymo, Cruise Automation, and even Uber who has been working on their own autonomous vehicle. Most of these companies achieve their goal of autonomy using bulky and expensive sensors and their solutions are impractical for the everyday commuter. These systems are very limited in quantity, only work on very specific vehicles, and are for the most part—not available for the average consumer.

Waymo self driving car (photo provided by Waymo)

One lessor talked about company, Comma.ai, is taking a different approach to self driving cars by supplying affordable hardware and open source software for users and developers to utilize. Comma’s overall goal is to bring self driving tech to the general public by condensing the required hardware and writing easy to use software to support a variety of cars.

How Comma’s Self Driving System Works

Comma’s open source driving software, OpenPilot, utilizes hardware already included in modern vehicles such as radar and the vehicles electric power steering module to limit costs and simplify installation of their own hardware. This allows OpenPilot to be deployed on a number of cars out of the box without any expensive parts or complicated setup processes.

Eon Dashcam DevKit (Photo provided by Comma.ai)

OpenPilot running on an EON sees the world through a number of different platforms (vision, radar, gps) and makes calculated decisions based on new and past data. OpenPilot uses these decisions to tell the car how to react in a given situation. If OpenPilot detects a curve in the road it will send signals via CAN (a messaging network that allows onboard devices to communicate) to turn the wheel and follow the bend while maintaining a safe distance from the leading car using the onboard radar.

Route prediction visualization utilizing data from HD maps and Grey Panda GPS

Since it is open sourced, OpenPilot is always improving. The Comma.ai team as well as community are working hard developing ports for currently unsupported cars, and newly supported cars are popping up at exponential rates. The community driven environment makes support for the Comma.ai system a breeze, reaching out to experienced users on Slack or the community forum will yield extensive help and support.

Let’s Talk About Hardware

First, it’s important to check that you indeed have a supported car unless you plan on getting your hands dirty porting your own car (if that’s the case you can find a great guide here). To know if your car is supported check the list of supported car’s in the read me section of the OpenPilot GitHub.

To get started a few products from Comma.ai are required.

giraffe Connector

Cars have many CAN buses not exposed on the main OBD-II connector. giraffe is an adapter board that gets you in.

panda OBD-II Interface (Grey)

Panda is the nicest universal car interface ever. It allows you full access to the many communication buses of your car. Grey panda includes GPS.

EON Dashcam DevKit

The EON is the brains of the system, once loaded with OpenPilot this will be the device providing the processing power to make driving decisions.

Installation

What better way to learn to install something than a video! This one is from YouTuber and Comma.ai community member VirtuallyChris.

A few things to note about this video are that the software is out-dated and the EON’s orientation has since flipped. Neither of these things greatly affect the installation and this is still a great guide.

This video is also specifically made for the Honda Civic, but the process is similar on most other supported cars.

The Future of Comma.ai and OpenPilot

OpenPilot is constantly improving with more data being provided by users to train driving models, and better and more advanced software being written by the Comma.ai team and community.

The current version of OpenPilot allows users to ride hands free on highways for over 100 miles at a time provided the driver is paying attention to the road, as detected by the EON’s built in driver monitoring system, and new features are being added at a consistent pace. Shown below are some highly anticipated features coming in the near future.

Visualization of HD 3D Map Point Cluster

Open Source HD 3D Maps

Seeing Around a Curve with 3D HD Maps

Comma.ai is currently developing maps consisting of three dimensional point clusters that will be utilized by OpenPilot to better understand surroundings and provide extremely accurate localization. These maps are continuously updated and refined by users driving with Comma.ai hardware. Each time a user drives past (and thus maps) an area, the mapping software will be able to gather more information about the surroundings. This mapping data will then be utilized by EONs running OpenPilot to make better predictive decisions while driving.

Comma.ai segnet model automatically labels roads, lane markings, vehicles and undrivable surrounding.

Road Marking and Street Light Detection

OpenPilot currently labels roads, lane markings, vehicles and surroundings on the server side, but soon will utilize this data to make driving decisions. In combination with Maps, this will allow OP to stop at stop lights, stop signs, and make more navigational based decisions getting you from point A to point B quicker and easier than ever.

Join the Community

If you’d like to learn more about Comma.ai and the autonomous system they are developing join us on Slack and check out Comma’s own Medium page comma ai.

If you’d like to support the company, purchase some of their products and get started building your own self driving vehicle.

Http://comma.ai/shop

If you’d like to support the company, and myself, please consider using my affiliate link:

Http://comma.ai/shop/?ref=4

Also, if you liked this article, consider sharing it, my goal is to inform and educate others about the types of autonomous driving technology that Comma.ai provides and uses.

Connect with the Raven team on Telegram

Source: Deep Learning on Medium