# Self Driving Cars: How is Tesla different from Google’s Waymo?
### What are autonomous cars?
Autonomous cars are those vehicles having the capability of sensing the surrounding and moving on its own without the need of human involvement.

The concept was first shown in the exhibit by General Motors in New York World Fair at 1939 and was perceived by the vast majority as a futuristic dream. But it no longer remains a dream as majority of the companies like Tesla, Google's Waymo, General Motors, Ford, Uber, Baidu, BMW, Zoox, Voyage etc are in a race to produce fully functioning autonomous vehicles. The top 2 in the race are Tesla and Waymo and let us study how they both are different from each other.
### Scope of autonomous cars
Autonomous cars would revolutionize the driving industry as it does not involve the need of human drivers and aims to solve accidents ocurred due to human errors like drowsiness, impaired vision, and distracted drivers etc.
- As per the survey conducted by National Highway Traffic Safety Administration, it is reported that out of 40,000 deaths ocurred due to accidents on the roads of United States in 2017, 90% deaths were due to human errors.
- As per an intelligence survey, it is estimated that this industry has the capability to generate $800 billion as revenue in the year 2030 and $7 trillion by the year 2050.
### How does the autonomous cars work?
- Autonomous vehicles functions with the help of interconnecting sensors, actuators and powerful processors that employ complex algorithms to sense the surroundings and decide how the vehicle has to go ahead using various machine learning algorithms.
- The virtual map of surroundings is created and maintained in the car by making using of various sensors that are located in different parts of the car. For example, the video cameras are used for detecting traffic lights, reading road signs and tracking other vehicles and pedestrians. The LIDAR sensors are used for measuring distances between the car and road edges, potholes or pedestrians, in short to create 3D map of the environment. RADARs are used to measure relative velocity, direction vector of the oncoming vehicles, distance to the object etc and they operate at 76-77GHz frequency. A sophisticated software that runs complex algorithms makes use of the data provided by the visual sensors and lidars and effectively decides what has to be done and signals the actuators. Actuators can be steering control, brakes, acoustic and visual warnings etc.

#### Tesla Vs Waymo
- Both Tesla and Waymo follow the same approach but the most important difference between their cars is Tesla operates on thousands of vehicles at real time on road and gets the real world data thereby making their vehicles more effective in real world scenarios.
- The Waymo autonomous cars are dependent mostly on the results of virtual simulations which are fed to the processor and the cars are run in the controlled environment.
- Waymo was founded in 2009 but it started to apply deep neural network algorithms for pedestrian detection in 2015 whereas Tesla started it in 2016 and by 2017, Tesla was able to deploy the 2nd gen of autopilot by using its own computer vision neural networks.
- Generally, affordable LIDARs are said to be expensive and have low resolution for seeing small details like pedestraian's nuanced body languages, detect small obstacles like plastic bags or cinder blocks. Using LIDARs doesnt prevent the use of cameras but using cameras makes it easy to distinguish the small features which can help the neural networks to predict their algorithms. But, Waymo makes use of high grade LIDARs which when placed at right position can function effectively in the dark as well.
- Waymo pilots itself without the need for any driver. But it can perform well only for small, geographically fenced environment. Wheras Tesla uses drivers for monitoring the behavior of the technology closely and take actions when absolutely necessary and then report the test observations to Tesla to correct the shortfalls.
### Processing power and use of IoT and 5G in autonomous cars
- As per the industry standards, there are in total 5 levels of progression in the autonomous driving each defining its own rule for the interaction between the vehicle and the driver.

- Currently, there are vehicles belonging to Level 2. As we go high up the level chart, we see that to reduce the dependency of the driver, we would need to process huge amounts of data which inturn requires heavy computational and processing power to make correct decisions by answering the questions:
- What is in the scene?
- What are the locations of moving objects?
- What should be the action taken by the car? - Does it require to switch lanes or apply brakes? and so on adhering to the acceptable ethics and laws.
Following diagram shows the number of modules required based on the levels of automation.

- Every increase in the modules, results in the increase of the processing power of the controller.
- 5G and IoT would play an important role in the data transfer in the connected cars environment. Imagine we have a world full of connected cars and we have a slow network. Would it really be of any use to a car to get data post the collision? Implementing 5G and IoT helps in getting the inputs and transmitting the signals at optimised speeds and would help in identifying any issues like possible chances of violating the traffic signals, or the speed limits in an highway well in advance. It also helps in sharing the information of any accidents in the geographical area to the connected cars and create awareness for adjusting its routes thereby reducing in traffic congestion. This promotes a relaxed environment for driving as it would save time as well as improve the efficiency of vehicles.

### What are the other competitors doing?
- General Motors scaled up the testing of its autonomous car called "Cruise" after the incident of the fatal crash by Uber's self driving test car with a pedestrain.
- Most of the OEMs (Original Equipment Manufacturers) like Mercedes Benz, BMW, Volvo etc are working internally towards achieving level 4 of the automation, but this goal is quite challenging due to the gaps in the current legal framework drafted for autonomous vehicles.
- Lyft and Aptiv worked on developing driverless car test programs in Las Vegas and have completed around 50000 rides by keeping drivers in the front seat in case any unforeseen events occur.
Companies do not want to risk the trust of people and hence they are involved in the monumental task of teaching their autonomous vehicles to tacke unpredictable situation on roads involving manual vehicle drivers, pedestrians, animals, cyclists etc. Everyone is in this technological race with the intention of utmost people safety.
### Why should you care about autonomous cars as a coder?
- In a typical autonomous car, multiple sensors churn out a lot of data in different formats at different data rates to the central controller and it becomes very important to interpret it, process it and then finally fuse the data for giving necessary commands to the actuators for the decision making.
- This job of developing sensor-fusion algorithms and situation assessment algorithms is handled by the coder so that the autonomous car function well. Complex Artficial Intelligence and Machine Learning algorithms form the core backbone of this autonomous system which would involve writing billions of lines of code.
- This is where a genuine coder find doing these things exciting as AI and ML are the 2 hottest booming technologies in the software industry which brings impossible dreams closer to modern reality.