RADARs are sensors that we use since the 1930s. Originally, it was used by the military to detect enemy aircrafts. It has been a tremendous sensor during wars, used by every side. Today, it’s a technology used in vehicles for Adaptive Cruise Control, and in autonomous vehicles for obstacle detection. In this article, let’s see how RADARs work, what are the strengths and weaknesses of this sensor, and how it can be used to detect objects positions, classes, and velocities.
Let’s take a look at Radio Detection And Ranging.
📩 Before we start, I invite you to join the mailing list by leaving you email! This is the most efficient way to understand autonomous tech in depth and join the industry faster than anyone else.
Why RADAR is useful
In self-driving cars, RADAR is a very common sensor.
Companies like Tesla or Comma.ai use RADARs coupled with cameras to insure a vision-only system that couldn’t be possible without it. Other manufacturers use the RADAR coupled with LiDARs and Cameras to get an awesome sensor fusion module.
When it was created, the RADAR was cumbersome, but today, it fits in every vehicle you already possess, often located behind the front bumper.
Another great argument about RADAR is its price; it can cost up to 500$, but not much more.
When used in the context of autonomous driving, the RADAR is a great complementary sensor that can solve other sensors’ weaknesses.
To sum up the picture, RADARs can measure the velocity of an object directly and can work during different scenarios such as day, night, rain, fog, snow… while other sensors may be troubled.
How RADARs work
RADAR stands for Radio Detection And Ranging. It works by emitting electromagnetic (EM) waves that reflect when they meet an obstacle. Since it works using EM waves, it can work under any condition.
One thing we must understand is that we are dealing with waves, exactly like in High School Physics.
For example, every wave has a wavelength, a frequency, but also an amplitude, and a phase.
Processing these waves will help us find obstacles.
There are many different types of RADARs, one of the most popular and relevant to our case is called FMCW — Frequency-Modulated Continuous Wave.
Why is it popular and relevant to our case?
This type of RADAR radiates continuous power. It can detect obstacles at very small ranges and can measure simultaneously the range and the velocity of an object.
The wave looks like this: it’s a signal called a sawtooth whose frequency can increase or decrease over time. We’ll see what it means in a few minutes with the Doppler Effect.
The hardware of an FMCW RADAR is comprised of many things:
- A frequency synthesizer — Something that sets the wave at the right frequency.
- A power amplifier — Something that amplifies the signal so RADARs can see at long range (300m).
- An antenna — Something that converts the electricity into electromagnetic waves that are sent into a specific direction and reflected (back to the antenna).
- A Mixer —Something that helps with frequency shifts.
- A Processor — Just as in any computer, a processor helps with computations, and we can even process the signal to do Machine Learning, clustering, tracking, …
Can we detect every object?
When the emitted wave reaches an object; it’s reflected. But how? and where?
As you’ll notice, it’s not always reflected exactly back to the RADAR’s antenna. An index of reflection called the Radar Cross Section (RCS) is used and takes into account:
- The geometry of the target
- The direction of the RADAR
- The frequency
- The material of the target
RCS is a metric calculated that takes into account all these factors. Here’s an example.
Now consider the following image of a Stealth Aircraft. This type of plane can appear completely undetected by the RADAR because of its geometric shape design to deflect the waves in other directions, its smooth surface, and its non-reflective paint designed to absorb the waves so they don’t go back to the emitter.
Due to the reflectivity, and other factors, it’s possible to classify obstacles with a RADAR.
How to estimate the range of an obstacle?
There are a lot of different equations involved when we want to work with RADARs. In cause, this is 100% signal processing. However, the maths are simple and don’t get that hard when it comes to it.
Here is an example — Let’s say we have a car in front of us and we need to know its distance to us.
We know the speed of the signal since it propagates in the air; c = 3*10⁸.
We can measure the time the signal takes to come back :T. Then the time it takes to hit the target is T/2.
The Range is simply R = c*T/2.
A more sophisticated (close to reality) calculation would replace T with a combination of some parameters of the RADAR such as the bandwidth or the period of the chirp.
👉 The point is: It’s not hard maths, you just need the hardware parameters.
How to estimate the velocity of an object?
So this happened, you got a speeding ticket—
Ready to understand the cause? It’s called the Doppler Effect.
Look at the following image —
As you can see, the waves are totally different.
The red wave is what the RADAR transmits.
The blue wave on the top is the reflected wave for a vehicle that is approaching — The wavelength is small.
The blue wave at the bottom is the reflected wave for a vehicle that is moving away from us — The wavelength is large.
When we calculate the shift in the frequency, we can determine the velocity and the direction of the vehicle: this is called the Doppler Effect.
- fD — The shift in the frequency (measured, details spared)
- λ — The wavelength
👉 We can therefore determine the velocity of the vehicle νr.
How to interpret the waves?
The RADAR doesn’t output something logical to us — it shows a wave. The only thing we can notice in this wave is the amplitude and the frequency.
The final task is about converting this wave into an interpretable signal using a Fast Fourier Transform (FFT).
I’ll skip the explanations on the Fast Fourier Transform. If you didn’t learn this at school, you can get an introduction here. Most people just call an fft() function. One thing to understand: it helps us shift our wave from time domain to frequency domain.
Once in the frequency domain, we can notice some waves get reflected at different frequencies and separate them from the others. Each peak represents a detected obstacle.
One thing to know is that RADAR is a very noisy sensor. You see an obvious obstacle, but the RADAR outputs 5 or 6 detections. You can see no obstacle, but the RADAR shows some detections for unknown reasons. We call that noise.
The noise comes from various things. A can of soda can reflect the waves and appear to be an object. Mostly, this is environmental noise.
To filter the noise, we use a metric called SNR or Signal to Noise Ratio . A RADAR outputs waves and amplitudes. The higher the amplitude, the higher the probability of a detection.
What comes next is called cluttering, or thresholding. We can remove the weak detections and keep only what reflects best.
Advanced techniques such as dynamic cluttering are possible.
Clustering and Detections
Finally, we are able to detect obstacles and estimate their velocities. But what we get is only reflected waves interpreted thanks to FFT.
We can have many results outputted and might need to cluster the output.
Clustering algorithms are algorithms based on distance calculations such as Euclidean Clustering or K Means Clustering.
RADAR is a very powerful tool. It can’t really be used alone in the context of autonomous driving because of the noise; but it can be coupled with a camera or a LiDAR and be very powerful.
It can work in many conditions and estimate range and velocities directly. With some work, it can even be do classification.
One thing I didn’t mention is that RADAR can see underneath buildings and obstacles. This is very powerful if we want to estimate the environment over the close range.
Here is an example of a RADAR predicting an accident that is non visible seconds before it happens (thanks to object tracking).
As you can see, it shows the potential of this technology and Tesla already used the RADAR to save many lives, check some compilations here .