Ok. So, our Road Transport Minister just said, he is not going to allow self-driving tech. This is sad.

He is wrong to stifle technological progress of 1/6 of humankind. We don’t have a choice because if legislatures had it their way, we would still be riding horses. But, fortunately, the history of cars is filled with such not-so-smart decisions which were overrun by technology and capitalism.

In the late 19th century, requiring drivers of early automobiles to take certain safety precautions, including waving a red flag in front of the vehicle as a warning.But if you are like me and want to dabble in the latest tech;

Join the revolution!First things first;

This guide will NOT make your car a completely driverless car. But it will help you enjoy augmented driving or assisted driving. Its cruise-control on steroids. It will save your life and give you time for better things in life.Completely driverless cars are still years away and I am not holding my breath for them.

Driverless cars will not come overnight. There will be a long period of level 3 where cars are mostly autonomous but you still have a driver who can/has to take control. Why do we need this? Driverless car technology is AI based which means it relies more on data than an engineer. The average rate of human accidents is 1 in a million miles. We need a million miles data in different environments to make them safer. We are getting there; it’s a matter of time. Until we get there; even I don’t want driverless cars.

Human life is the most precious thing in the world!Accidents don’t happen because people misclassify a cat as a truck, accidents happen because people are not paying attention. AI is better at image classification than humans and paying attention. A proven fact.

What is stopping the tech then?

It’s the tech itself. AI is great at detecting objects and then giving you the correct values of acceleration, braking and steering angle. What it is not good at yet is, those values affecting the environment as the other cars around you will react. Driving is like Dance! Your partners will respond to your moves. Work is being done for those learning algorithms. And so is training. As we say in engineering, it needs more eyes.

As for India not having lane marking and stuff. We need to train them in those conditions. I’m training in the hills of Himalayas and there are no roads but it still kinda works. It will get there I am confident.

Think of the truck driver who spends hours on the road exhausted. Doesn’t he deserve a better life? He will still be in the truck (we have not solved security) but have a better life. 🛌

When a top ranking minister gives such uninformed remarks it stops people from investing in the tech making us fall behind!

I hope my child won’t ever need a driving licence and that’s the future I want to live in.

Now, let the learnings begin!

Step 1: Get a car

The right car will save you hours!Getting the right car will help you save time and stress. I classify cars into the following categories.

1** Cars with front radar and which support adaptive cruise control — *There are few cars in India which have it. They are not cheap! But they will help you skip a lot of tinkering. Some models of the Ford Endeavour have it. Honda Civic 2016 with Honda Sensing is the perfect car, but good luck getting that. Please check with your local car dealerships about the specifics. In my experience I found that car dealerships are not well educated about the features so please investigate thoroughly before parting with the money!*

2** Cars with basic cruise control — A ton of cars have this or atleast have a variant which has it. If a variant has automatic transmission also go for it! You will never regret **_not_ changing gear again. My current car; a Ford EcoSports; falls in this group.

3** Cars with no cruise control but with OBD2 port** — One thing I have to say which I found after I started hacking cars is; cars are more electronics and software than I thought! A typical car today has over 4–5 kilometers of wire network, called the CANBUS. Different components of the car communicate with each other over the network to get things done. Cars had distributed system even before micro-services were cool!

Personally, not-a-fan of micro-services 😱The On Board Diagnosis 2(OBD2) port allows you to connect other devices into the network. It’s your car’s LAN/USB port which we can use to talk to the car. All cars manufactured in India after 2009 have it. I have a Maruti Swift which I plan to automate once the EcoSports is done. I will share my learnings when it gets its superpowers!

Yey!!!4** Cars without OBD2** — This means your car cannot talk digital and hence would be quite difficult to automate. While I don’t have much knowledge on how to go about it, I will add some pointers as to where to look. Although I have to say; buy a new car; my friend! *🤓 🏃(Runs…)*

Step 2: Make the car self-driving complaint

Current technology, which we are going to use; Comma.ai; uses a radar to detect objects in front of it. Following are the steps depending on the different types of car.

1** Cars with front radar and which support adaptive cruise control — **All you gotta do …

Dance! Dance! Dance!Adaptive cruise control is the name given to the technology where one uses radar to change accelerator as well as apply brakes.

You; Sir; have earned a 🍪! Celebrate buying a future read car.

2** Cars with basic cruise control — *You need to add a radar to your car. The best place to get them is from eBay.com. Search for “adaptive cruise control*” and try to find a brand which matches your car.

Just vision based distance sensing is not good yet.

But the innovation around Augmented Reality gives me hope the day is not far away. SLAM is the technology which is powering augmented reality as well as driving and the rate at which it is advancing I am expecting will 2018 will be the year when LIDAR will become redundant.

Some companies and people insist that LIDAR is essential to self-driving cars. LIDAR is LIght Detection And Ranging ie a light based radar. I am not sure about that because when I drive myself I don’t have a LIDAR in my eyes or body. I have vision cameras ie my eyes. To put forward my point, I’ll paraphrase; George “Geohot” Hotz; one the guys who is bringing self-driving tech to our garages (more on him later).

Geohot says… (Image credit: https://www.gamergen.com/actualites/geohot-chante-histoire-avec-sony-67831-1)

Accidents don’t happen because we fail to classify a cat as a truck. Accidents happen because people are not paying enough attention! Object detection/Image classification is not a LIDAR problem is a Vision problem.### 👏👏👏

3** Cars with no cruise control but with OBD2 port — **I have not explored this myself and therefore am not in a good position to say what to do. But I plan to work on this sometime in the near and will add details when I do.

Self-driving is not going to be overnight.

It’s going to take years and people won’t just throw their cars. So there are many jobs in the business of making the car — augmented.

Step 3: Get a superhuman driver

Here’s where comma.ai and their openpilot system comes along. Comma.ai is a US based startup started by George Hotz who most of the interweb knows as Geohot, infamous for being the first to hack the iPhone as well as the PS3.

He is hacking cars now and giving some of the tech away in order to bring tomorrow faster. Openpilot is the software which when equipped with the hardware called the Neo can make a car augmented.

commaai/openpilot
openpilot - open source driving agentgithub.com
commaai/neo
comma neo research platformgithub.com
Yes, those are github links and yes the software and hardware designs are free as of now. Although one of their core tech i.e. the vision api which does the magic of detecting objects is not open-sourced. I think they might open that up too once their model is stable and at a stage when it can use the community’s help.

The hardware uses a phone. A phone which is very popular among my Android Worshippers ie the OnePlus 3T. The complete set can be bought from Neodriven.com or I might be able to hook you up if there are enough demand.

Step 4: Install the Neo and power it on

There is already great material on this and some super cool videos too!

If you get stuck please checkout comma.ai’s slack channel, forum and github issues.

What if your car is not supported

You can add that by hacking the signals in your car. You need a CANBUS to USB adapter. Once you are in; reverse engineer to figure out the messages being sent when you brake, accelerate and steer. The book; “The Car Hacker’s Handbook” by Craig Smith is a godsend! And its free too. Read it @ http://opengarages.org/handbook/. By the time you complete this book, you will be able to understand a car like the back of your hand. Its that good!

Also, comma.ai is selling the Panda which makes this process much easier.

What if I don’t want to use Comma.ai?

I like where you are going with this! I am on the same boat as you. The primary reason I got into self-driving cars was to learn and understand how AI tech works. I have personally preferred Andrej Karpathy’s guide as a starting point. But because the tech is evolving, you will have to keep updating your knowledge.

What Next?

Just jump in! We are at the cusp of a transportation revolution. Let’s bring tomorrow today and not let people who don’t care for science win! Following are few resources which I use to keep myself updated.

comma.ai slack channelhttps://slack.comma.ai/. Get to interact with the people who have shipped and build the product.

Udacity Self-Driving Nanodegree slack channelhttps://carnd-slack.udacity.com/. Similar to comma.ai but more focussed on the machine learning aspects. Although their hardware channel is a great place to bounce off ideas.

**Awesome Lists on Github — **These lists have multiple resources and are updated regularly. Therefore are there a great way to stay upto date.

takeitallsource/awesome-autonomous-vehicles
awesome-autonomous-vehicles - Curated List of Self-Driving Cars and Autonomous Vehicles Resourcesgithub.com
philbort/awesome-self-driving-cars
awesome-self-driving-cars - An awesome list of self-driving carsgithub.com
jaredthecoder/awesome-vehicle-security
awesome-vehicle-security - 🚗 A curated list of resources for learning about vehicle security and car hacking.github.com
**MIT’s Lex Fridman’s course on Self-Driving Car — **I like the way Lex breaks down complexities. I wish we had more teachers like him in our colleges.

Facebook group on AI run by Oliver Cameronhttps://www.facebook.com/groups/1892696574296664/. Oliver was running the Udacity Self-Driving Nanodegree until very recently. He is now leading Voyage and shares the best and latest news in the field of Self-Driving cars.

What if this sound all too techie/tacky for me but still want to get in?

The good folks @ comma.ai have made chffr. A dashcam app which captures your driving skills to drain their AI. If you think you are a good driver (I am not 😬), you should start contributing your driving data. It will help create safer systems. Actually, even if you are not a good driver, you should contribute as the data and machine learning will figure out what exactly is good (or popular) driving.

If I missed anything or misreported, please tweet to me @troysk704 or post a comment. We will fix it!

Join the revolution and let’s drive to tomorrow today!