2020 was touted as a landmark year for Autonomous Driving (AD). It was slated to be a milestone for most self-driving car manufacturers to get a production-ready SAE Level-3, Level-4, or Level-5 vehicle to market. However, most of these companies have deferred this target to a later date, since the AD problem in cities appears to be more difficult to solve than companies initially thought.
There are still fundamental challenges that these companies have to overcome before we see these vehicles on public roads. These fundamental problems include challenges at a component level to a system level, both in hardware as well as software. For example, sensors have to work in all weather conditions, AI software should take the right decisions in critical scenarios, and so on. According to reports, self-driving cars should be driven for millions of miles and tested for all possible driving scenarios. However, this will take several years. Therefore, it is important to use simulations and solve the hard problems that AV companies are facing on the hardware front as well as software. Furthermore, many companies had to suspend on-road testing due to the COVID-19 crisis. This pandemic poses both challenges and opportunities. For instance, companies that suspended testing are focusing more on simulation, fine-tuning the driving brain, and eliminating some of the glitches.
What is simulation?
Many of us remember playing games like Grand Theft Auto, Age of Empires, and Flight Simulator, which we now realize are nothing but simulators that create a virtual environment to test realistic or real-life challenges such as flying an aircraft, driving a car, or strategizing a war! In the autonomous vehicle world, simulators play a similar role – they create a virtual environment to test how an autonomous vehicle will behave in the real world so that all its flaws -- be it design, development, or testing -- can be fine-tuned in the virtual environment itself before they are brought out for testing in the real world.
How is this beneficial?
Driving a vehicle on a simulator is much more efficient and faster. In addition, the turnaround time for testing is far lesser than an actual vehicle. A simulator is capable of providing a realistic environment for a car to test itself, such as mirroring different weather scenarios like a thunderstorm, blizzard, or a sand storm. It can also represent different lighting conditions such as sunlight glaring directly into the driver’s eye or an incoming vehicle with high-beam headlights. Different aspects on roads can also be incorporated into the simulator such as potholes, cracks, or speed bumps. By providing such characteristics, a simulator, in essence, mimics a real-world condition so that the car can be tested in a virtual environment with near-perfect precision. By having the car test in inclement virtual weather conditions, auto manufacturers can test how the car’s sensors perceive the environment and perform under stress, and how the overlying algorithms bundle and react on such perception, thereby testing the navigability of the vehicle under stressed conditions. By mimicking road conditions, we can test how the self-driving car would traverse – Would it avoid a pothole? Would the traction be different on different road conditions? Would it slow down at speed bumps? All this would lead to a better and safer ride experience. Therefore, a simulator’s primary job is to ASK the right questions to an autonomous vehicle and see that its answers are safe, for it to be able to run on real roads. This process is essentially reducing the years of testing that would otherwise be needed to test on real roads.
Tackling challenging scenarios
What is a challenging scenario for an autonomous vehicle? Imagine a pothole in a two-lane, one-way road. The vehicle, on encountering (read noticing) the pothole, would direct the car to change course and change lanes. That is what a human driver would also do. Simple enough, right? Now imagine the car is travelling at a faster speed and encounters the same pothole. What would the human driver do? The human driver would assess whether the speed is safe enough to maneuver a lane change within the short timeframe and not topple the vehicle in the process. It also has to check whether there are any trailing vehicles in the same lane or the new proposed lane. The self-driving car would also have to take into account a similar decision-making process. However, modern compute platforms are a billion times faster than a human mind and one would expect that the car would make the right choice. Now let’s double the complexity. Imagine a stray dog tries to cross the road from the 2nd lane with a pothole in the 1st, with the autonomous vehicle driving in the 1st lane. When the car assesses that there is a pothole in front and tries to change lanes, it will encounter the stray dog trying to cross the road in front of it. The simulator will test whether the car recognizes the dog within the right time, to enable brakes on time. It can also test whether the car decides not to carry out the lane-change maneuver to avoid the stray dog completely. Now, let’s increase the complexity even further. Imagine the pothole in lane 1 and the stray dog in lane 2 with the vehicle driving with considerable speed. Also, imagine a pedestrian trying to jaywalk from lane 1 ahead of the pothole. What would the autonomous car do? Would it apply brakes immediately looking at the complexity of the situation? Would it avoid the pothole and run the risk of driving over the stray dog? Would it drive over the pothole and run the risk of driving over the human? If the situation becomes unavoidable, such as the car having to make a decision of running over the human or the dog or crash itself, what would it do? This is where simulators really challenge the decision-making capabilities of autonomous cars.
Challenges and the Way Ahead
While simulators are providing a push in the right direction in bringing autonomous vehicles to the masses faster, the need for physical testing will always be necessary to prove the capabilities of such vehicles. The key to simulators’ success is to provide near-perfect accuracy of the different simulation models such as sensor, traffic, vehicle, and environment. This, essentially, is down to how much an engineer can trust the software in loop (SIL) tests or the simulation or similarities between the real world and software in loop tests. The lesser the differences, the more a test can be shifted from the real world to SIL tests through simulators. This means modelling everything in the environment, from the vehicle model, to vehicle dynamics, to the sensor models, to the physics aspect of the environment – modelling the roads, weather conditions, to the interaction between the vehicle and the road.
While it will still take time for autonomous mobility to be a true reality in the lives of the masses, simulators hold the key to the modern space race.
An introduction to SDV (Self-driving vehicle) in a box
Wipro’s driverless car simulator (also known as ‘SDV in a box’ or ‘self-driving car in a box’) is a global-scale simulator used to test and validate the navigation algorithms of autonomous vehicles. It acts as a testing ground for the vehicle before being rolled out onto the roads. The simulator is capable of pushing the vehicle the very limits of its operation by navigating it through challenging real-life scenarios. It is also capable of simulating multiple weather conditions and sensors. The simulator is highly scalable and can be used in replicating specific real-world environments as well, to test vehicles within such scenarios and conditions (see Figure 1).