Why are there both "Rectangular" and "Spherical" Frames in the "MeasurementParameters" of detections from the Radar Toolbox (MATLAB R2022b)?

I was following the Radar Toolbox example in your documentation, and I changed the "DetectionCoordinates" from 'Scenario' to 'Sensor spherical'. This is the link to the documentation:
https://www.mathworks.com/help/releases/R2022b/radar/ug/simulating-a-passive-radar-sensors-and-radar-interferences.html
After running the code, I noticed that the "MeasurementParameters" of the detection object "dets" is a 2x1 struct, containing both "Spherical" and "Rectangular" Frame. I am confused because I expect this field should only contain "Spherical" based on my setting.
Could you explain why there is more than one frame used in this case?

 Risposta accettata

If you inspect the configuration of the radar:
>> platRadar.Sensors{1}.TargetReportFormat
ans =
'Clustered detections'
>> platRadar.Sensors{1}.DetectionCoordinates
ans =
'Sensor spherical'
>> platRadar.Sensors{1}.HasINS
ans =
logical
1
As you can see, the radar is configured to report "clustered detections" in the "sensor spherical" coordinate frame, and it is also configured to use "INS" information. 
Since the radar has "INS" but is asked to report detections in the sensor's frame, it encodes the information to transform the detections from the sensor to the platform's body frame (enabled by the sensor's mounting properties), and the information to transform the detections from the platform's body frame to the scenario's frame (enabled by the "INS" ownship information), as 2 separate frames. This is why the "MeasurementParameters" property on the detections has 2 elements.
The first element describes the first transform, which requires first converting from spherical to rectangular coordinates, and then rotating and translating those rectangular coordinates into the platform's body frame. The "Frame" is set to "spherical" on the first measurement parameter explaining the measurement vector and measurement noise are in spherical coordinates and need to be converted to rectangular.\n
>> dets{1}.MeasurementParameters(1)
ans =
struct with fields:
Frame: 'Spherical'
OriginPosition: [3×1 double]
OriginVelocity: [3×1 double]
Orientation: [3×3 double]
IsParentToChild: 0
HasAzimuth: 1
HasElevation: 1
HasRange: 1
HasVelocity: 1
Comparing the "OriginPosition" and the radar's "MountingLocation", you will see they match. This is the translation from the sensor to the platform's body frame.\n
>> dets{1}.MeasurementParameters(1).OriginPosition'
ans =
0 0 0
>> platRadar.Sensors{1}.MountingLocation
ans =
0 0 0
The second element encodes the information needed to transform from the body to the scenario frame. In this case, the "Frame" property will always be set to "rectangular". Only the first element will ever have a frame that can be set to spherical, all later elements will have it set to rectangular, since rectangular coordinates are needed for all of the frame transforms, including the first. If we compare the "OriginPosition" with the radar platform's position, we can confirm that this second element on "MeasurementParameters" is in fact the transform between the platform's body and the scenario frame:
>> dets{1}.MeasurementParameters(2).OriginPosition'
ans =
1.0e+04 *
3.0000 0.0000 -0.6000
>> platRadar.Position
ans =
1.0e+04 *
3.0000 0.0000 -0.6000
The main use for this "MeasurementParameters" information on the "objectDetection" is for the sensor fusion algorithms to convert the detections into a frame that is consistent with the state estimates maintained by the fusion algorithms. It is also useful when plotting detections, but the main use case is to support sensor fusion and tracking of the detections.

Più risposte (0)

Categorie

Prodotti

Release

R2022b

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by