I’ve also had trouble interpreting the radar velocities as they did not behave as one would expect.
To illustrate the point, I’ve arranged a GIF from test scene 343. The ego-vehicle starts moving at t=5s, while the GIF shows raw detections from front radar in it’s coordinate frame accompanied by uncompensated (blue) and compensated (red) velocities.
It raises several questions:
1.) It is odd that the uncompensated velocities do not point towards the radar, while they definitely should if they are raw measurements as the isrohutama’s illustration points out.
I had an assumption that the field vx contains the raw range rate for the detection, but it can be seen that field vy is not always 0 (mostly it is). Thus, it is difficult to interpret vx and vy.
2.) How are the velocities compensated in (vx_comp, vy_comp)?
By observing the static detections (building walls on both sides), we can notice that compensated velocity is zero, Thus, I assume that the these are correctly compensated radial velocities. However, it is not clear how to compensate (vx,vy) to obtain (vx_comp,vy_comp).
3.) Is the compensation performed by the radar processing algorithms or later in postprocessing?
If it’s done by the radar, did it receive vehicle speed and yaw rate that some radars take as an input over CAN, or did the radar perform it’s own ego motion estimation?