Datenbank von Fahrmanövern zweier Automobile
Anmerkung Wir beantworten keine Fragen bezüglich der aufgenommenen Daten. Alle Informationen sind aus der folgenden Liste ablesbar.
Dataset Description
Presented are the target lists of a total of 8718 measurement frames produced by three (3) radar
 sensors, matched together with the IMU+GNSS-RTK solution for position and motion of two (2) automobiles.
The sensors are synced in respect to their measurement times, but operate independently. Their
 modulation is offset by a certain frequency, to ensure mono-static evaluation. This allows for a
 cooperative evaluation of measurements.
The sensor positions are static. The two automobiles are driving maneuvers in from of the three
 radar sensors, including following, overtaking, driving alongside, and driving towards each other.
The data set is available in three different CFAR threshold variants.
Included is a description of the setup and radar modulation parameters, the data structure, as well
 as a minimum working example of how to work with the data.
Licensing and Citing
This document, the data provided here, as well as the accompanying images and source code files are distributed under the CC BY 4.0 license.
Citation Authors:
- Johannes Schlichenmaier (Ulm University, Ulm, Germany, ORCID: 0000-0002-9275-6635)
 - Maximilian Steiner (Ulm University, Ulm, Germany, ORCID: 0000-0002-7000-7465)
 - Timo Grebner (Ulm University, Ulm, Germany, ORCID: 0000-0001-6605-5811)
 - Christian Waldschmidt (Ulm University, Ulm, Germany, ORCID: 0000-0003-2090-6136)
 
If you use this information or data in a publication, please cite us accordingly, e.g. by using one of the following citation styles (or any other style your publication requires):
IEEE:
Johannes Schlichenmaier, Maximilian Steiner, Timo Grebner, Christian Waldschmidt, August 8, 2022, "Radar Measurements of Two Vehicles with Three Cooperative Imaging Sensors", IEEE Dataport, doi: dx.doi.org/10.21227/wwt7-w739.
BibTeX:
@data{wwt7-w739-22,
doi = {10.21227/wwt7-w739},
url = {https://dx.doi.org/10.21227/wwt7-w739},
author = {Schlichenmaier, Johannes and Steiner, Maximilian and Grebner, Timo and Waldschmidt, Christian},
publisher = {IEEE Dataport},
title = {Radar Measurements of Two Vehicles with Three Cooperative Imaging Sensors},
year = {2022} }
Measurement Setup
The three radar sensors are assigned the IDs = {5,7,8}, which will be referred through the rest of
 the data set, although no other radar sensors were in use during the measurements. In the associated
 publications, the sensor IDs are mapped as: 1 -> 5, 2 -> 7, 3 -> 8.
The layout of the three sensors is as follows:
(5) |-- 0.65m --| (7) |-- 0.69m --| (8)
The sensors are working in a SIMO configuration with one tx and four rx channels each, running a
 chirp sequence FMCW modulation [1] with the following modulation parameters:
| Parameter | Value | 
|---|---|
| Center frequency f_c | 76.77 GHz | 
| Bandwidth B | 2 GHz | 
| Number of chirps L | 128 | 
| Chirp duration T_c | 192 µs | 
| Chirp repetition time T_r | 256 µs | 
| Frame rate f_meas | 8 Hz | 
| Max range r_max | 47.925 m | 
| Range resolution ∆r | 7.5 cm | 
| Max velocity v_max | ±3.81 m/s | 
| Velocity resolution ∆v | 5.96 cm/s | 
| Network frequency offset ∆f_net | 40 MHz | 
The three sensors are triggered by an AWG delivering a trigger signal to each sensor of f_meas=8Hz
 for a set number of consecutive measurement frames. The sensors then sends the raw beat signal s(t)
 data for each frame to to a measurement PC, that stores the data. To avoid inter-sensor
 interference, each sensor center frequency is offset by n*∆f_net, n={0,1,2}.
The two automobiles used for target objects are equipped with RTK-GNSS systems and have the
 following dimensions:
| Dimension | Car1 | Car2 | 
|---|---|---|
| Length rear axle to back | 1.153m | 1.029m | 
| Length rear axle to front | 3.780m | 3.670m | 
| Width (w/o mirrors) | 1.852m | 1.826m | 
Measurements Processing Variants
Three variants of raw data to target list processing are available (separated into their respective
 folders). Those differ by the CFAR threshold (CFAR-TH) in dB used for target extraction. However,
 as sensor 5 suffered from especially noisy data, its CFAR threshold was always set 2dB above the
 threshold of the two other sensors, which is why, in each folder name, two CFAR values are given:
 the lower one for sensor ID 7 and 8, the higher one for sensor ID 5.
The three variants are:
- cfar_9_11_pe: CFAR-TH sensor 5: 11dB, CFAR-TH sensor 7/8: 9dB
 - cfar_10_12_pe: CFAR-TH sensor 5: 12dB, CFAR-TH sensor 7/8: 10dB
 - cfar_11_13_pe: CFAR-TH sensor 5: 13dB, CFAR-TH sensor 7/8: 11dB
 
In the associated publication, only the processing variant cfar_10_12_pe was used. The other two are
 only included for posterities sake.
Measurement Files
In each folder, one finds 18 measurement files, each containing a consecutive set of a maximum of
 500 measurement frames in the form of a MATLAB MAT file.
Each measurement file contains the following variables:
data: the measurement data of all sensors matched with the ground truth of both target objectsraw_data_conversion_cfg: the raw data conversion parameters for each sensors (usually not needed
for evaluation)sensor_ids: the used sensor IDs (in this data set always 5,7, and 8)sensor_meta: meta information used for the sensor raw data conversion (see below)
Post Processing
The presented data is the result of a post processing chain [2]. The relevant parameters for the
 FFT, CFAR, and angle estimator can be found in the respective cell of the sensor in the
 raw_data_conversion_cfg variable, but are usually not needed for further evaluation of the data
 set.
The subsequent peak search for values over the CFAR-TH was done separate, as to preserve the full
 amount of over-CFAR-values (unfiltered data), but still allowing the option to only select peak
 values later on.
Afterwards the radar and ground truth data was matched using the GPS timestamps. Then, the
 skew of each sensor was determined using calibration targets in the scene. The result of this
 calibration is found in sensor_meta.doa_offset_deg. As the sensors were all installed upside
 down for installation purposes, the angular information is mirrored, which results in the -1 entries
 in sensor_meta.doa_sign.
The angular information in the data variable is therefore:
doa-value = doa-sign * raw-doa-value + doa-offset
This doa_value combined with the Cartesian offsets in sensor_meta.cart_offset results in the
 following x/y coordinates:
x = r*cos(doa-value) + x-offset
y = r*sin(doa-value) + y-offset
Notes:
- The DoA values are always in sensor coordinates, although already de-skewed.
 - The Cartesian values are already in a common coordinate system.
 - Contrary to many other automotive reference systems, the y-axis is the “forward” axis away from
the sensors. - The DoA values point along the x axis for a 0 value.
 
Data Table
The data variable contains the actual measurement data together with the ground truth in form of a
 MATLAB table. Let’s go over the table fields:
frame_id: a running ID number of the frame. Due to the nature of the measurements, it starts
with 2.evaluated: can be set to 1, if this row was already evaluated.target_list: a table of target points for each sensor (in separate cells), contains unfiltered
data.te_peak_ids: a set of target point IDs, that are the peak values for set of target points.
Again separated by sensor.timestamp: an Unix time stamp of the measurement.date_time_utc: an UTC time stamp of the measurement.ground_truth: a table of ground truth information of the two automobiles at the same time as
the measurement frame.
Target List Table
The target_list variable for each sensor and measurement frame is a table and is built as follows:
amplitude: the linear amplitude value of the target pointrcs_dB: a point target RCS calculation based on the amplitude and the range (-Inf for range=0)range: range of the target point in mvelocity: radial velocity of the target point in m/sdoa_deg: angle of the target point in degreedoa_rad: angle of the target point in radianx: Cartesian x coordinate of the target point (common coordinate system)y: Cartesian y coordinate of the target point (common coordinate system)snr_db: signal to noise ratio in dB (based on the calculated noise value of the CFAR algorithm
Ground Truth Table
The ground_truth variable for each measurement frame is a table with one row per object (in this
 case always two rows) and is built as follows:
match: Indicates, that the ground truth is matched to the frame (should be 1)ref_point: an (x,y,z) reference point of the ground truth (where the IMU of the RTK-GNSS is
referencing to, here the middle of the rear axle)polyshape: a polygon describing the object (as a rectangle)width: width of the object (constant)area: area of the object (constant)yaw_angle_deg: yaw angle of the object in degreeyaw_angle_rad: yaw angle of the object in radianvel: (v_x, v_y, v_z) values, describing the instantaneous velocity of the object in m/saccel: (a_x, a_y, a_z) values, describing the instantaneous acceleration of the object2yaw_rate_deg: the yaw rate of the object in degreeyaw_rate_rad: the yaw rate of the object in radianstatus: unused
Notes:
- The acceleration values for object #1 are in m/s^2 and an output of the IMU+RTK EKF algorithm
 - The acceleration values for object #2 are in multiples of g and a raw reading of the IMU chip
 
Working with the Data
The data is provided in the form of MAT files containing simple data types and tables (supported by
 MATLAB versions >= 2013b).
The following code example loads the data from a single MAT file and plots a full set of measurement
 frames at around 10 Hz.
It is important to remember, that the target lists include all target points, whether or not they
 are a peak point. Only in combination of the sensor and frame specific peak IDs, the peak values can
 be extracted.
% load measurement file
tl_content = load(['cfar_10_12_pe' filesep '20200624_Car2_Kreise_1.mat']);
% prepare figure
hfig = figure();
haxes = axes(hfig);
plot_tl_s5 = scatter(nan,nan, 'r', 'filled');
hold(haxes, 'on');
plot_tl_s7 = scatter(nan,nan, 'b', 'filled');
plot_tl_s8 = scatter(nan,nan, 'g', 'filled');
plot_gt_1 = plot(nan, nan, 'k', 'LineWidth', 1.5);
plot_gt_2 = plot(nan, nan, 'k', 'LineWidth', 1.5);
hold(haxes, 'off');
haxes.DataAspectRatio = [1,1,1];
xlim(haxes, [-50,50]);
ylim(haxes, [0,50]);
% plot measurement
num_frames = size(tl_content.data,1);
for i_frame = 1:num_frames
    % plot peak target points of sensor 5
    peak_ids_s5 = tl_content.data.te_peak_ids{i_frame,5};
    plot_tl_s5.XData = tl_content.data.target_list{i_frame,5}.x(peak_ids_s5);
    plot_tl_s5.YData = tl_content.data.target_list{i_frame,5}.y(peak_ids_s5);
    
    % plot peak target points of sensor 7
    peak_ids_s7 = tl_content.data.te_peak_ids{i_frame,7};
    plot_tl_s7.XData = tl_content.data.target_list{i_frame,7}.x(peak_ids_s7);
    plot_tl_s7.YData = tl_content.data.target_list{i_frame,7}.y(peak_ids_s7);
    
    % plot peak target points of sensor 8
    peak_ids_s8 = tl_content.data.te_peak_ids{i_frame,8};
    plot_tl_s8.XData = tl_content.data.target_list{i_frame,8}.x(peak_ids_s8);
    plot_tl_s8.YData = tl_content.data.target_list{i_frame,8}.y(peak_ids_s8);
    
    % plot ground truth OBB of object 1
    gt_1_points = [tl_content.data.ground_truth{i_frame}.polyshape(1).Vertices;
        tl_content.data.ground_truth{i_frame}.polyshape(1).Vertices(1,:)];
    plot_gt_1.XData = gt_1_points(:,1);
    plot_gt_1.YData = gt_1_points(:,2);
    
    % plot ground truth OBB of object 2
    gt_2_points = [tl_content.data.ground_truth{i_frame}.polyshape(2).Vertices;
        tl_content.data.ground_truth{i_frame}.polyshape(2).Vertices(1,:)];
    plot_gt_2.XData = gt_2_points(:,1);
    plot_gt_2.YData = gt_2_points(:,2);
    
    pause(0.1);
end
References:
V. Winkler, Range Doppler Detection for Automotive FMCW Radars, in European Radar Conference, Oct. 2007, pp. 166–169., DOI: 10.1109/EURAD.2007.4404963 ↩
C. Vasanelli, F. Roos, A. Dürr, J. Schlichenmaier, P. Hügler, B. Meinecke, M. Steiner, and C. Waldschmidt, Calibration and Direction-of-Arrival Estimation of Millimeter-Wave Radars: A Practical Introduction, IEEE Antennas and Propagation Magazine, pp. 34–45, 2020, DOI: 10.1109/MAP.2020.2988528 ↩