This is the third and final section of these series on Waymo.
We would be talking about the software involved in the design of the Waymo and discuss briefly about their testing mode.
Use data to determine the right controls
Data is useless without software that can understand it.
But the software used in the development of Waymo is undisclosed, should actually be, right?
Even with that we can make still some educated discovery with its so many buzzes all over the internet.
The software is responsible for prediction and planning. It has to know where the car is, what’s going on around, what should be done and where others are to be effective in controlling.
And so, we would talk about these aspects….
Where the car is, where others are and what’s going on around
To know the position of the car, the Waymo is most likely using a GPS with the combination of a variant of SLAM (Simultaneous Localization and Mapping) to create the map of the environment.
And what is SLAM
From the time we talked about the LIDAR sensor, we pointed out that the aim was to produce a 3d coordinate system called points cloud.
So, what the SLAM does in an oversimplified version is to work on these set of points (sensors observation) to:
- Construct or update the map of the car’s environment
- Keep track of the vehicle’s, static bodies and other moving bodies location within it etc.
Hence without the SLAM, the points cloud from the sensor is a dump.
The SLAM would be responsible for creation of something like this
There is no certainty about the variant of SLAM that Waymo is using, but intuitively one could say they include monte carlo methods and Bayesian filtis.
What should be done?
Convolutional neural network
The self-driving car as mentioned before has to also learn by repeating the sequence of getting data, predicting the control, acting it and correcting itself which is done using a type of machine intelligence called Convolution Neural Network.
Convolution Neural Network is a type of deep learning an aspect of machine intelligence an implementation of artificial intelligence – all jargon, sorry.
But keep this, deep learning is all about modeling the learning technique according to the human brain.
The human brain works using networks of neurons, each act activates a neuron. So also, the deep learning where each feature/parameter (tall, short, round, black, etc.) triggers a certain weight which affects the final output – an overly simplified version.
Now the type convolutional neural network is not known, but since Waymo is part of google and google deep learning algorithm for images (GoogleNet) has 19 layers and 4 million parameters. It is safe to say a better version of this algorithm is used for the self-driving car.
But I cannot say for sure if more or less layers or more parameters or if they would include a novel algorithm that would not affect performance….I am just being practical.
Where is the testing done?
Because hardware testing can be costing as hell, there is need for a simulation software to test the self-driving car. And the simulation software used in the Waymo is called Carcraft.
- Carcraft was created by James Stout and is described as a virtual world where Waymo simulates driving conditions.
- The virtual world is modeled after Austin, Texas and Mountain View California.
- It contains 25,000 virtual self-driving cars
- The total miles driven by the self-driving cars amount to 5 billion miles
How is it used?
Data is fed into the virtual car and controlled in the way it should go. Then scenarios are formulated from happenings in real life and uploaded to simulator and how the virtual car behaves helps them improve the software.
Testing in the real word
Though testing is done in simulation, no one wants to drive in a simulation. We want real life testing and for Waymo it turns out they want real life testing, or why do you think they are using an old air force base.
At the base of operation in Atwater California (an old air force base) the testing is done.
The testing basically goes as thus; Googlers are positioned at different point to carry out different roles to see how the car would behave.
However, in the testing faculty there are limitations of what can be tested.
So, they moved to the city (Silicon Valley, California) as the state has allowed the testing of self-driving cars and this how the car sees things
How do we know how well it has performed?
There was a mention one of the software that is used to track the performance of the car in the real world. It goes by the name X View.
Intuitively, I would say this is more like the dashboard that measure the accuracy of the car or the error graph – not much data on these.
After prediction, the next is sending the signal to the actuators….
Send the control signal to the actuators that control the output
When the right control has been predicted, the actuator is in play. I would mechanical say that most of the actuation is done using hydraulic and motors. And the parts that needs to be controlled include:
- The steering wheel,
- The gas pedal, gearing systems
- The car doors
- The lights (headlights, rear lights etc.) etc.
This part is not much of a focus as the rest of it involved less work.
And that is the journey repeated over and over again gearing towards building the brain that can drive.
Conclusion and some questions to consider
Are we there yet?
Is the Waymo self-driving car fit for the streets yet?
With all the resources and time poured into the Waymo car, one would have presumed that it would be on the streets by now.
But that is underestimating the complexity that comes with learning how to drive for a computer.
And a clip of a Waymo driving revealed that there is still a lot of ground to be covered.
The author of the video made a comment which I would like to end this series with, he said, “they have gotten the physics right, but they have not gotten the driving right”
So, are we there yet? NO
How long is it going to take? I cannot say for sure, even Moore’s law is being defied!
Thank you for reading!