Review of driver assistance features in real-world driving (Mazda CX-30)

Catalin Macovei
10 min readAug 10, 2022


Before going forward I want to mention a few things about me. I work in ADAS domain for the last 5 years and before that in other areas of the automotive industry. I know very well how these features work and all their limitations.

I reviewed ADAS features from the customer/driver perspective and focusing on the things didn’t work too well to me as driver and offering some solutions at a higher level.

I have used the ADAS features for about 9000 km, on a 2021 Mazda CX-30 (but the make and model is not really important), and paid attention to how they work. Assuming the price and category of the vehicle, it may not have the latest and greatest technology advancements, as for sure the software was made somewhere between 2016–2019.

The ADAS feature I will write about that are present on the vehicle are:

  • Lane Keep Assist
  • Forward Collision Warning
  • Adaptive Cruise Control
  • Traffic Sign Recognition
  • Rear Cross Traffic Alert
  • Driver Monitor

Lane Keep Assist

The purpose of this feature is to not let you deviate outside the lane and crash. It does this by using the white lines on the road.

Problem nr. 1

Steering control is abrupt and with quite a big force, such that if you don’t take control you will drift to the other side of the lane quite rapidly. If I would translate steering control on a graph, this is what would look like:

Steering intervention profile, as I felt it.

Problem nr. 2

The biggest problem which makes the feature useless is that in some conditions when you try to avoid an obstacle and by doing it you pass on or over the white line, the LKA will pull back, abruptly as I said above, right toward the obstacle (parked car, pothole, bicycle, etc). It overrides driver’s steering input.

Once I tried to pass a car that was partially parked in my lane, by going a little over the line to maintain a safe distance. The steering has pulled me into the lane right toward the parked car, then Forward Collision Warning has activated due to the possibility of crashing (see picture below).

LKA intervention followed by Forward Collision Warning intervention

This being said, the feature is useless outside motorways.

What I want to raise here is that the feature has been designed to fulfil limited real-world scenarios. For sure it works as intended, for sure passes all the tests done by who developed it…but from user perspective is not ok. LKA should have been design to fulfil more use cases.

Problem nr. 3

The problem also mentioned by EuroNCAP is that after the first intervention of LKA, due to the high force applied to steering, the car deviates quite sharp directly to the opposite lane boundary. When the opposite lane boundary is reached LKA doesn’t intervene anymore, you receive just a Lane Departure Warning and a warning to take control, to put your hands on the steering wheel.

Due to this it scored 2 point out of 4 in EuroNCAP.

On the perception (camera) side the detection of lane lines is not perfect, the camera sometimes sees tram tracks as lines, from what I observed this happens when the tram tracks reflect the sunlight and they shine. It happened to see as lane lines some mud trails from a truck/tractor.

Solution for problem nr. 1 & nr. 3

What I was expecting for the steering control method, is more like the picture below, where the steering is pulled in one direction, then after a short pause, the steering is pulled in the opposite direction with less force. In this way, the vehicle can be maintained better toward the middle of the lane.

How steering control could have been done.

Solution for problem nr. 2

The solutions here are something like:

  1. Use the steering wheel to detect if the trajectory over the white line was intended by the driver.
  2. Consider also other objects in deciding if is necessary to pull the steering wheel or not.

As ACC, AEB detect driver overriding and they cancel to let the driver take control, a similar implementation should have been designed to detect driver overriding.

Adaptive Cruise Control

The most I used this feature was on a 1000 km trip, about 900 km motorway and the rest national roads. Out of 1000 km, about 80% of the time I let ACC do its job.

On national roads, it is able to follow the vehicle in front, even in sharp curves, with the condition that the headway distance is set to the lowest value (which is probably 1 second). If headway is selected as the second lowest value or greater, in sharp bend is losing the vehicle in front, which is expected and will accelerate towards the curve. This is not desirable behaviour, but is acceptable.

On motorways is working as expected in many scenarios. Stop& Go work well, the same for other aspects of the feature.

Problem: There is a lack of performance in cut-in and cut-out scenarios. The target is selected or dropped too late.

In cut-in scenarios, the target vehicle is detected and ACC starts to decelerate when the vehicle in front is already with 2/3 of the vehicle width in my lane.

The issue would be that some drivers get scared and their confidence in the feature decreases, making them to not use it anymore.

Another limitation, probably from sensors (camera + radar) is if the vehicle that enters my lane is at a distance between 2–5 meters, is not detected at all, but this I would say is an acceptable limitation.

In cut-out scenarios, the target vehicle is detected as not being in my lane/path when the complete vehicle is on the adjacent lane. Theoretically sound ok, but in real life, human behaviour is that driver tends to accelerate when 70% of the car in front goes to the other lane.

Solution: Obviously ACC needs to detect earlier a cut-in/cut-out. Trying to do this might result in many false negatives, so is quite a delicate problem. What could be done is to take more data about the vehicle in the other lane, such as how much of target car width passed in lane, lateral speed, lateral acceleration and combine them to estimate a possible cut-in/cut-out.

The feature operation is safe, nothing dangerous but….the UX (user experience is not that good and makes you uncomfortable, stressed.

Forward Collision Warning

This feature gives you a warning if there is a risk of collision with a vehicle, bicycle or pedestrian. I only experienced warnings related to other vehicles, not bicycles and not pedestrians.

In 9000 km I received just 1 false warning while passing between 2 parked cars (as in the picture below) where the space between them was not that great, just enough for a car to pass. Maybe the warning has to do with the fact that I have set the sensitivity on “high”.

The scenarios for false warning

I discovered that it gives a warning for vehicles coming from the opposite direction. I experienced it in an intersection where the stopped cars are facing directly toward me, while my road turn to the left passing in front of stopped cars. I received a warning while approaching the vehicle oncoming toward me, that was slowing down and stopping. Better visualization of the road format can be seen below.

As conclusion, this feature work well, there are no issues with it.

Traffic Sign Recognition

This feature shows the following signs: speed limit, no overtaking, no entry, stop.

As a warning, it has only the overspeeding warning.

It is a fused system, meaning it uses the front camera to detect signs + integrated map.

Is working as expected and the problems are the following:

  1. It shows a “no entry” sign if see a sign somewhere on the side, not applicable to me. The good part is that it’s figuring quite fast is not for me and deletes the sign from the display.
  2. Sometimes misclassifies signs, such as a “70” speed limit sign is shown as “50”. But this is within tolerances.
  3. Many times misses the speed limit signs that are placed close to the ground (on construction sites), even if the sign is placed at the edge of my lane, like in the picture below. I pass near 2 such signs every day and I would say out of 10 times, 5–6 times it shows the sign.

The most annoying is that if the speed limit changes (you exit a city, change the type of the road, etc) and there is no implicit speed limit sign, the speed limit shown in the display doesn’t change. Also, this happens on motorways as sometimes, rarely, it takes the speed limit applicable for the service area, parking area. And keep showing that speed limit for a long distance.

But this happens quite rarely. I assume is a misuse of the navigation map, as the map knows there is a new and different speed limit. I would expect to change the shown speed limit if there is no new traffic sign and the last traffic sign seen is quite old (was seen some km ago or some minutes ago) and the speed limit received from the map has changed.

These low-speed limits (40 kph, 20 kph) should be removed after a distance. These low-speed limits are placed on a short stretch of road (e.g. for a maximum 1 km) or parking space, service areas and should be obvious that after some hundreds of meters is not applicable, even more, if I drive at 130 kph and I am on the highway.

Rear Cross Traffic Alert

When you back up from a parking spot and other vehicle approaches you, this feature gives a warning. Very useful and the great part is that it gives warnings if pedestrians are approaching from the sides. I don’t know if is intended or a useful bug.

Problem 1: It gives a false warning if you park with the back of the car towards a road where there is no danger and where is a greater distance to the passing cars. As shown in the below picture, if you reverse in the parking spot and the car (A) passes on the road at about 8 meters or 5 meters, it gives a warning.

IN similar cases where you reverse in a parking spot, you know there is a high chance of no oncoming traffic and…warnings start. As human you instantly get scared, stress and brake the car. The UX (user experience) is bad, even if the feature operation is safe.

It gives warnings if I backup at an angle and a vehicle on the opposite lane approaches. This I might consider acceptable.

In general, it gives quite a lot of false warnings when vehicles are passing near me from any direction.

Solution for problem nr. 1

The solution would be to better define a detection region and limit the longitudinal distance at which vehicles are considered for warnings. Something as the yellow regions in the picture below.

The solution could be to consider the direction, angle toward where I move or angle between me and the oncoming vehicle.

Driver Monitor

The Drive Monitor system uses a camera mounted in the frame of the infotainment screen, on the dashboard. It detects the fatigue and attentiveness level of the driver.

It worked really well in detecting that I am tired and need to take a break. but is built in such a way that it takes some time to see if you are tired (some tens of minutes and even for few hours). The warnings are rare, after the first warning, the second one will be given after some tens of minutes.

I saw no problems, works well, maybe the only thing is that it takes quite a long time to see if you are tired.

In my observation, there was one time (driving for 6 hours) when it didn’t detect me as being tired, and my best guess for this is that I had taken lots of short breaks and often and the system wasn’t able to create a history of me to know how my attention state is declining.



Catalin Macovei

Interested in improving the vehicle for the future, on making more pleasant to use them, making safer and comfortable to drive.