- The new lane-changing algorithm relies on real-time data collected by car’s cameras and sensors.
- It creates and computes new buffer zones on the fly.
- It allows a wide range of driving style from aggressive to conservative, while ensuring safety.
Do you know the first step towards driverless cars came in the 1980s, and it is still there – the anti-lock braking system. The idea was to use sensors to prevent the wheels from locking up and sending the car into an uncontrolled skid. A decade later, manufacturers used the sensors for traction and stability control.
Since then, we’ve come a long way; now autonomous cars use a combination of sensors, radar, camera and artificial intelligence to travel between destinations. Tech companies are constantly making improvements in their self-driving algorithms, making them safer and reliable.
One of the crucial part of self-driving systems is lane-changing algorithm, the hot topic among developers. Most of the existing lane-changing algorithms have 1 of 2 limitations –
- They are based on complex, statistical model that can’t be analyzed in real-time, or
- They are so simple that they always result in one common solution: don’t change the lanes.
Now researchers at MIT have developed a new algorithm that relies on real-time information and enables more aggressive [human-like] lane changes than previous self-driving system. By real-time information, we meant data of other vehicles [like their speed and direction] collected by car’s cameras and sensors.
Conventional lane-changing algorithm
The primary objective is to make cars drive themselves like humans with as little data as possible. The new algorithm can adapt a wide range of driving styles, from aggressive to conservative, while ensuring safety.
How Does The Algorithm Work?
The most important thing for autonomous vehicles is safety. The algorithms compute buffer zones around the other vehicles to avoid collision. These buffer zones contain current as well as future positions of all nearby vehicles.
The algorithm calculates the future position of other vehicles for a short time frame, by analyzing their speed and direction. Deciding when to change the lane completely depends on these buffer zones.
The efficiency and performance of the system is based on the method used for calculating buffer zones within the context of traffic-pattern model. Usually, optimal buffer zones are pre-calculated, and they become too restrictive when traffic is fast and dense, preventing vehicle to change the lane.
However, the proposed algorithm computes new buffer zones on the fly. To make this buffer zones reliable or collision-free, the algorithm uses an efficient mathematical method called Gaussian distribution – a continuous function that approximates the exact binomial distribution of events.
The distribution shows vehicle’s current position. The dimensions of the vehicle as well as the uncertainty of its position estimation are taken into account. Using these estimates [velocity and direction of vehicle], the algorithm generates a logistic function, which is further multiplied by the Gaussian distribution.
This skews the distribution (with faster speeds) towards the direction of the motion of the vehicle. The distribution is nothing but a new buffer zone of the vehicle. Since the number of variables is less, the system can compute it in real-time.
They used a simulation to test this algorithm. The simulated environment had sixteen autonomous cars and hundreds of other vehicles.
The autonomous cars [running on new algorithm] had no direct communication with each other, and all of them ran in parallel without any collision or conflict. Each car is associated with different risk parameters, enabling developers to generate multiple driving styles.