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.
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.
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.
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.
Cars have many CAN buses not exposed on the main OBD-II connector. giraffe is an adapter board that gets you in.
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.
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.
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.
Open Source HD 3D 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.
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 support the company, purchase some of their products and get started building your own self driving vehicle.
If you’d like to support the company, and myself, please consider using my affiliate link:
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.
Source: Deep Learning on Medium