Этот пример показывает, как смоделировать и симулировать выход датчика радара автомобиля для различных сценариев вождения. Генерация синтетических радиолокационных обнаружений важна для тестирования и проверки алгоритмов отслеживания и слияния датчиков в угловых случаях или когда оборудование датчика недоступно. В этом примере анализируются различия между радиолокационными измерениями и транспортным средством основной истины положением и скоростью для сценария предупреждения столкновения (FCW), сценария транспортного средства и сценария с тесно расположенными целями. Это также включает сравнение значений отношения сигнал/шум (ОСШ) между пешеходной и транспортной целями в различных областях значений.
В этом примере вы генерируете радиолокационные обнаружения программно. Можно также сгенерировать обнаружения с помощью приложения Driving Scenario Designer. Для получения примера смотрите Создание сценария вождения в интерактивном режиме и Генерация синтетических данных датчика.
Транспортные средства, которые содержат расширенные функции системы помощи драйверу (ADAS) или спроектированы, чтобы быть полностью автономными, обычно полагаются на несколько типов датчиков. Эти датчики включают гидролокатор, радар, лидар и зрение. Устойчивое решение включает алгоритм слияния датчиков, чтобы объединить сильные стороны между различными типами датчиков, входящих в систему. Для получения дополнительной информации о слиянии датчиков синтетических обнаружений из мультисенсорной системы ADAS, смотрите Sensor Fusion Using Synthetic Radar и Vision Data.
При использовании синтетических обнаружений для тестирования и проверки алгоритмов отслеживания и слияния датчиков, важно понять, как сгенерированные обнаружения моделируют уникальную эффективность датчика. Каждый тип автомобильного датчика обеспечивает определенный набор сильных и слабых сторон, которые способствуют сросшемуся решению. Этот пример представляет некоторую важную эффективность характеристики автомобильных радаров и показов, как эффективность радара моделируется с помощью синтетических обнаружений.
Этот пример использует drivingRadarDataGenerator
для формирования синтетических радиолокационных обнаружений. drivingRadarDataGenerator
моделирует следующие эксплуатационные характеристики автомобильного радара:
Преимущества
Хорошая дальность и точность скорости области значений в длинных диапазонах обнаружения
Большая область значений обнаружения для транспортных средств
Слабые места
Плохое положение и точность скорости по размерности перекрестной области значений
Более короткая область значений обнаружения для пешеходов и других неметаллических объектов
Кластеры обнаружения области значений представляют проблему для отслеживания алгоритмов
Неспособность разрешить тесно расположенные цели на больших областях значений
Сценарий вождения FCW
Создайте сценарий тестирования предупреждения столкновения (FCW), который используется для иллюстрации того, как измерить положение цели с помощью типового автомобильного радара большой дальности. Сценарий состоит из движущегося автомобиля , оборудованного датчиком и стационарного целевого транспортного средства, размещенного на 150 метров вниз по дороге. Автомобиль , оборудованный датчиком имеет начальную скорость 50 км/ч перед применением тормозов, чтобы достичь постоянного замедления 3 м/с ^ 2. Затем транспортное средство подходит к полной остановке на 1 метр перед задним бампером целевого транспортного средства.
addpath(fullfile(matlabroot,'toolbox','shared','tracking','fusionlib')); rng default; initialDist = 150; % m initialSpeed = 50; % kph brakeAccel = 3; % m/s^2 finalDist = 1; % m [scenario, egoCar] = helperCreateSensorDemoScenario('FCW', initialDist, initialSpeed, brakeAccel, finalDist);
Радар большой дальности, обращенный вперед
Создайте передний радарный датчик большой дальности, установленный на автомобиль , оборудованный датчиком переднем бампере, на высоте 20 см от земли. Датчик генерирует необработанные обнаружения на частоте 10 Гц (каждые 0,1 секунды) и имеет азимутальное поле зрения 20 степеней и разрешение угла 4 степени. Его максимальная область значений составляет 150 м, а разрешение области значений - 2,5 м. ActorProfiles
свойство задает размерностей физических шаблонов и радиолокационного поперечного сечения (RCS) транспортных средств, наблюдаемых радаром в симуляции. Как альтернатива необработанным обнаружениям, drivingRadarDataGeneratior
может выводить кластерные обнаружения или отслеживать обновления, как задано в TargetReportFormat
свойство.
radarSensor = drivingRadarDataGenerator( ... 'SensorIndex', 1, ... 'TargetReportFormat', 'Detections', ... 'UpdateRate', 10, ... 'MountingLocation', [egoCar.Wheelbase+egoCar.FrontOverhang 0 0.2], ... 'FieldOfView', [20 5], ... 'RangeLimits', [0 150], ... 'AzimuthResolution', 4, ... 'RangeResolution', 2.5, ... 'Profiles', actorProfiles(scenario))
radarSensor = drivingRadarDataGenerator with properties: SensorIndex: 1 UpdateRate: 10 MountingLocation: [3.7000 0 0.2000] MountingAngles: [0 0 0] FieldOfView: [20 5] RangeLimits: [0 150] RangeRateLimits: [-100 100] DetectionProbability: 0.9000 FalseAlarmRate: 1.0000e-06 Use get to show all properties
Симуляция радиолокационных обнаружений
Симулируйте радар, измеряющий положение целевого транспортного средства, продвигая время симуляции сценария. Радарный датчик генерирует обнаружения из истинного положения цели (положение, скорость и ориентация), выраженного в автомобиль , оборудованный датчиком координатной системе координат.
Радар сконфигурирован, чтобы генерировать обнаружения с 0,1-секундными интервалами, что согласуется со частотой обновления типичных автомобильных радаров. Однако, чтобы точно смоделировать движение транспортных средств, симуляция сценария совершенствуется каждые 0,01 секунды. Датчик возвращает логический флаг, isValidTime
, что верно, когда радар достигает необходимого интервала обновления, указывая, что этот временной шаг симуляции будет генерировать обнаружения.
% Create display for FCW scenario [bep, figScene] = helperCreateSensorDemoDisplay(scenario, egoCar, radarSensor); metrics = struct; % Initialize struct to collect scenario metrics while advance(scenario) % Update vehicle positions gTruth = targetPoses(egoCar); % Get target positions in ego vehicle coordinates % Generate time-stamped radar detections time = scenario.SimulationTime; [dets, ~, isValidTime] = radarSensor(gTruth, time); if isValidTime % Update Bird's-Eye Plot with detections and road boundaries helperUpdateSensorDemoDisplay(bep, egoCar, radarSensor, dets); % Collect radar detections and ground truth for offline analysis metrics = helperCollectScenarioMetrics(metrics, gTruth, dets); end % Take a snapshot for the published example helperPublishSnapshot(figScene, time>=9.1); end
За длительность испытания FCW расстояние целевого автомобиля от автомобиля , оборудованного датчиком охватывает широкую область значений значений. Путем сравнения измеренных продольных и боковых положений транспортного средства цели с транспортным средством основной истины положением, можно наблюдать точность измеренных положений радара.
Использование helperPlotSensorDemoDetections
для построения графика продольного и бокового положения, ошибок как различие между измеренным положением, сообщаемым радаром, и транспортным средством основной истины цели. Основная истина отсчёт для целевого транспортного средства - точка на земле непосредственно под центром целевого транспортного средства задней оси, которая находится на 1 метр перед бампером автомобиля.
helperPlotSensorDemoDetections(metrics, 'position', 'reverse range', [-6 6]); % Show rear overhang of target vehicle tgtCar = scenario.Actors(2); rearOverhang = tgtCar.RearOverhang; subplot(1,2,1); hold on; plot(-rearOverhang*[1 1], ylim, 'k'); hold off; legend('Error', '2\sigma noise', 'Rear overhang');
Измерения продольного положения
Для строения, обращенной вперед, измерения области значений радара соответствуют продольному положению целевого транспортного средства.
Ошибки продольного положения на предыдущем графике слева показывают смещение -1 метр между долготой, измеренной радаром, и положением основной истины цели. Это смещение указывает, что радар последовательно измеряет цель, чтобы быть ближе, чем положение, сообщаемое основной истине. Вместо того, чтобы аппроксимировать цель как одну точку в пространстве, радар моделирует физические размерности корпуса транспортного средства. Обнаружения генерируются вдоль задней стороны транспортного средства в соответствии с разрешением радара по азимуту, области значений и (при включении) повышению. Это смещение -1 метр затем объясняется задним свесом целевого транспортного средства, который определяет расстояние между задней стороной транспортного средства и его задней осью, где расположена ссылка на основную истину.
Радар моделируется с разрешением области значений 2,5 метра. Однако, сообщается, что шум от измерения составляет всего 0,25 метра в ближайшей точке и немного увеличивается до 0,41 метра в самом дальнем тестируемой области значений. Реализованная точность датчика намного меньше, чем разрешение области значений радара. Поскольку радар моделирует зависимость ОСШ ошибок области значений с помощью нижней границы Cramer-Rao, цели с большим радиолокационным сечением (RCS) или цели, которые близки к датчику, будут иметь лучшую точность области значений, чем меньшие или более отдаленные цели.
Эта зависимость ОСШ от шума измерения радара моделируется для каждой измеренной размерности радара: азимут, повышение, диапазон и скорость области значений.
Измерения бокового положения
Для строения, обращенной вперед, размер, ортогональный измерениям области значений радара (обычно называемый размерностью перекрестной области значений датчика), соответствует боковому положению целевого транспортного средства.
Ошибки бокового положения из теста FCW на предыдущем графике справа показывают сильную зависимость от основной истины области значений цели. Радар сообщает о точности бокового положения до 0,03 метра на областях значений и до 2,6 метра, когда цель находится далеко от радара.
Кроме того, многочисленные обнаружения появляются, когда цель находится в областях значений менее 30 метров. Как упоминалось ранее, целевое транспортное средство не моделируется как единая точка в пространстве, но радиолокационная модель сравнивает размерности транспортного средства с разрешением радара. В этом сценарии радар рассматривает заднюю сторону транспортного средства. Когда задняя сторона транспортного средства охватывает больше, чем одна из камер азимутального разрешения радара, радар генерирует обнаружения от каждой камеры разрешения, которую занимает цель.
Вычислите азимут, охватываемый целевой машиной в тесте FCW, когда он находится на 30 метрах основной истины области значений от автомобиля , оборудованного датчиком.
% Range from radar to target vehicle's rear side radarRange = 30-(radarSensor.MountingLocation(1)+tgtCar.RearOverhang); % Azimuth spanned by vehicle's rear side at 30 meters ground truth range width = tgtCar.Width; azSpan = rad2deg(width/radarRange)
azSpan = 4.0764
На основную истину области значений 30 метров транспортного средства задняя сторона начинает охватывать азимут, больший, чем разрешение азимута радара 4 степеней. Поскольку азимут, охватываемый задней стороной цели, превышает разрешение датчика, генерируются 3 разрешенных точки на задней стороне транспортного средства: одна от центра задней стороны, одна от левого края задней стороны и одна от правого ребра.
Создайте сценарий вождения с двумя целевыми транспортными средствами (головной автомобиль и проезжающий автомобиль), чтобы проиллюстрировать точность продольных и поперечная скорость измерений радара. Головной автомобиль размещается на 40 метров перед автомобилем , оборудованным датчиком и движется с той же скоростью. Проезжающий мимо автомобиль запускается в левой полосе рядом с автомобилем , оборудованным датчиком, проходит автомобиль , оборудованный датчиком и сливается в правую полосу сразу за головной машиной. Этот маневр слияния генерирует продольные и поперечная скорость компоненты, позволяя вам сравнить точность датчика вдоль этих двух размерностей.
Поскольку головной автомобиль находится непосредственно перед радаром, он имеет чисто продольный компонент скорости. Проходящий вагон имеет профиль скорости с компонентами как продольной, так и поперечной скорости. Эти компоненты изменяются, когда машина проходит автомобиль , оборудованный датчиком и перемещается в правую полосу позади головного автомобиля. Сравнение измеренных продольных и поперечные скорости транспортных средств цели с их основной истиной скоростями иллюстрирует способность радара наблюдать обе эти компоненты скорости.
% Create passing scenario leadDist = 40; % m speed = 50; % kph passSpeed = 70; % kph [scenario, egoCar] = helperCreateSensorDemoScenario('Passing', leadDist, speed, passSpeed);
Строение радиолокационных измерений скорости
Радар генерирует измерения скорости путем наблюдения Доплеровского сдвига частоты на энергии сигнала, возвращаемой от каждой цели. Скорость, с которой область значений цели меняется относительно радара, определяется непосредственно от этих доплеровских частот. Возьмите радарный датчик, используемый в предыдущем разделе, чтобы измерить положение и сконфигурировать его, чтобы сгенерировать измерения уровня области значений. Эти измерения имеют разрешение 0,5 м/с, что является типичным разрешением для автомобильного радара.
% Configure radar for range-rate measurements release(radarSensor); radarSensor.HasRangeRate = true; radarSensor.RangeRateResolution = 0.5; % m/s % Use actor profiles for the passing car scenario radarSensor.Profiles = actorProfiles(scenario);
Использование helperRunSensorDemoScenario
для симуляции движения эго и целевых транспортных средств. Эта функция также собирает моделируемые метрики, как это было ранее сделано для сценария вождения FCW.
snapTime = 6; % Simulation time to take snapshot for publishing
metrics = helperRunSensorDemoScenario(scenario, egoCar, radarSensor, snapTime);
Использование helperPlotSensorDemoDetections
для построения графика продольного и поперечная скорость ошибок радара как различие между измеренной скоростью, сообщаемой радаром, и основной истиной транспортного средства цели.
helperPlotSensorDemoDetections(metrics, 'velocity', 'time', [-25 25]); subplot(1,2,1); legend('Lead car error', 'Lead car 2\sigma noise', ... 'Pass car error', 'Pass car 2\sigma noise', 'Location', 'northwest');
Измерения продольной скорости
Для радара, обращенного вперед, продольная скорость тесно совпадает с измерениями уровня области значений радара. Предыдущий график слева показывает ошибки продольной скорости радара для сценария проходящего транспортного средства. Поскольку радар может точно измерить продольную скорость от доплеровского сдвига частоты, наблюдаемого в энергии сигнала, полученной от обоих автомобилей, ошибок скорости для обоих транспортных средств (показаны как точки) малы. Однако, когда проезжающий автомобиль входит в поле зрения радара на 3 секунде, шум измерения проходящего автомобиля (показанный с помощью сплошных желтых линий) первоначально велик. Затем шум уменьшается до тех пор, пока машина не сольется в правую полосу за ведущей машиной на 7 секунд. Когда автомобиль проходит автомобиль , оборудованный датчиком, продольная скорость проходящего автомобиля включает в себя как радиальные, так и нерадиальные компоненты. Радар раздувает свой сообщаемый шум продольной скорости, чтобы указать на его неспособность наблюдать нерадиальные компоненты скорости проезжающего автомобиля, когда он проходит автомобиль , оборудованный датчиком.
Поперечные скорости
Для радара, обращенного вперед, измеренная поперечная скорость соответствует нерадиальной составляющей скорости цели. Предыдущий график справа показывает ошибки измерения поперечной скорости проезжающего автомобиля, которые отображаются в виде желтых точек. Неспособность радара измерить поперечную скорость вызывает большую ошибку во время маневра изменения маршрута проезжающего автомобиля между 5 и 7 секундами. Однако радар сообщает о большой поперечной скорости (показанном как сплошные линии), чтобы указать, что он не может наблюдать скорость вдоль боковой размерности.
Радар «видит» не только физические размерности объекта (длина, ширина и высота), но и чувствителен к электрическому размеру объекта. Электрический размер объекта упоминается как его радиолокационное сечение (RCS) и обычно дается в единицах измерения децибел-квадрат (dBsm). RCS объекта определяет, насколько эффективно он отражает электромагнитную энергию, полученную от радара назад к датчику. Значение RCS объекта зависит от многих свойств, включая размер, форму и тип содержащихся в нем материалов. RCS объекта также зависит от частоты передачи радара. Это значение может быть большим для транспортных средств и других металлических объектов. Для типичных автомобильных радарных частот около 77 ГГц, автомобиль имеет номинальную RCS приблизительно 10 квадратных метров (10 дБсм). Однако неметаллические объекты обычно имеют гораздо меньшие значения. -8 дБсм является разумным RCS для связи с пешеходом. Это значение соответствует эффективному электрическому размеру всего 0,16 квадратных метров. В ADAS или автономном управлении автомобилем радар должен быть в состоянии генерировать обнаружения на обоих этих объектах.
Сценарий вождения FCW с пешеходом и транспортным средством
Вернуться к сценарию FCW ранее путем добавления пешехода, стоящего на тротуаре рядом с остановленным транспортным средством. За время испытания FCW расстояние от радара до целевого транспортного средства и пешехода охватывает широкую область значений значений. Сравнение измеренного отношения сигнал/шум (ОСШ) радара, зарегистрированного для тестового транспортного средства, и обнаружений пешеходов в тестируемых областях значений, демонстрирует, как изменяется эффективность обнаружения радара как с областью значений обнаружения, так и с типом объекта.
% Create FCW test scenario initialDist = 150; % m finalDist = 1; % m initialSpeed = 50; % kph brakeAccel = 3; % m/s^2 withPedestrian = true; [scenario, egoCar] = helperCreateSensorDemoScenario('FCW', initialDist, initialSpeed, brakeAccel, finalDist, withPedestrian);
Строение эффективности радиолокационного обнаружения
Эффективность обнаружения радара обычно задается вероятностью обнаружения ссылки цели, которая имеет RCS 0 дБсм в определенной области значений. Создайте радар большой дальности, который обнаруживает цель с RCS 0 д Бсм в области значений 100 метров с вероятностью обнаружения 90%.
% Configure radar's long-range detection performance release(radarSensor); radarSensor.ReferenceRange = 100; % m radarSensor.ReferenceRCS = 0; % dBsm radarSensor.DetectionProbability = 0.9; % Use actor profiles for the passing car scenario radarSensor.Profiles = actorProfiles(scenario);
Запустите сценарий, чтобы собрать радиолокационные обнаружения и достоверные данные. Храните их для автономного анализа.
snapTime = 8; % Simulation time to take snapshot for publishing
metrics = helperRunSensorDemoScenario(scenario, egoCar, radarSensor, snapTime);
Постройте ОСШ обнаружений как для целевого транспортного средства, так и для пешехода.
helperPlotSensorDemoDetections(metrics, 'snr', 'range', [0 160]); legend('Vehicle', 'Pedestrian');
Этот график показывает эффект RCS объекта на способность радара «видеть» его. Обнаружения, соответствующие стационарному испытательному транспортному средству, показаны красным цветом. Обнаружения от пешехода показаны желтым цветом.
Тестовое транспортное средство обнаруживается на самой дальней области значений, включенном в этот тест, но обнаружение пешехода становится менее последовательным около 70 метров. Это различие между областью значений обнаружения двух объектов происходит, потому что испытательное транспортное средство имеет гораздо большую RCS (10 дБсм), чем пешеходное (-8 дБсм), что позволяет радару обнаруживать транспортное средство на больших областях значений, чем пешеходное.
Тестовое транспортное средство также обнаруживается на самой близкой области значений, включенной в этот тест, но радар прекращает генерировать обнаружения на пешеходе около 20 метров. В этом сценарии транспортное средство расположено непосредственно перед радаром, но пешехода смещают от линии зрения радара. Около 20 метров пешехода уже нет внутри поля зрения радара и он не может быть обнаружен радаром.
Рассмотрите этот сценарий для автомобильного радара среднего уровня, чтобы проиллюстрировать, как влияют эффективность обнаружения радара. Моделируйте радар средней дальности, чтобы обнаружить объект с RCS 0 дБсм на ссылку области значений 50 метров с вероятностью обнаружения 90%.
% Configure radar for a mid-range detection requirement release(radarSensor); radarSensor.ReferenceRange = 50; % m radarSensor.ReferenceRCS = 0; % dBsm radarSensor.DetectionProbability = 0.9;
Кроме того, для улучшения обнаружения объектов на близких областях значений, которые смещены от линии зрения радара, азимутальное поле зрения радара средней дальности увеличивается до 90 степеней. Разрешение радара по азимуту устанавливается равным 10 степеням, чтобы быстрее искать эту большую зону покрытия.
% Increase radar's field of view in azimuth and elevation to 90 and 10 degrees respectively radarSensor.FieldOfView = [90 10]; % Increase radar's azimuth resolution radarSensor.AzimuthResolution = 10;
Запустите тест FCW с помощью радара средней дальности и ОСШ для обнаружений от целевого транспортного средства и пешехода. Постройте график ОСШ.
% Run simulation and collect detections and ground truth for offline analysis metrics = helperRunSensorDemoScenario(scenario, egoCar, radarSensor); % Plot SNR for vehicle and pedestrian detections helperPlotSensorDemoDetections(metrics, 'snr', 'range', [0 160]); legend('Vehicle', 'Pedestrian');
Для радара средней дальности обнаружения как транспортного средства, так и пешехода ограничены более короткими областями значений. С радаром большой дальности транспортное средство обнаруживается до полной области значений испытаний, но теперь обнаружение транспортного средства становится ненадежным на 95 метрах. Точно так же, пешехода надежно обнаруживают только на 35 метрах. Однако расширенное поле зрения радара средней дальности в азимуте позволяет обнаруживать на пешеходе 10-метровую основную истину области значений от датчика, что является значительным улучшением покрытия по сравнению с радаром большой дальности.
Когда многочисленные цели занимают камеру разрешения радара, группа тесно расположенных целей сообщается как одно обнаружение. Сообщаемое местоположение является центроидом местоположения каждого вносящего вклад целевого объекта. Это слияние нескольких целей в одно обнаружение является общим для больших областей значений, потому что область, покрытая азимутальным разрешением радара, растет с увеличением расстояния от датчика.
Создайте сценарий с двумя мотоциклами, перемещающимися один за другим перед автомобилем , оборудованным датчиком. Этот сценарий показывает, как радар объединяет тесно расположенные цели. Мотоциклы расположены на расстоянии 1,8 метра друг от друга и передвигаются на 10 км/ч быстрее, чем автомобиль , оборудованный датчиком.
На длительность сценария увеличений расстояние между мотоциклами и автомобилем , оборудованным датчиком. Когда мотоциклы близки к радару, они занимают различные камеры радарного разрешения. К концу сценария, после увеличения расстояния между радаром и мотоциклами, оба мотоцикла занимают одинаковые камеры разрешения радара и объединяются. Ошибки продольного и бокового положения радара показывают, когда этот переход происходит во время сценария.
duration = 8; % s speedEgo = 50; % kph speedMotorcycles = 60; % kph distMotorcycles = 25; % m [scenario, egoCar] = helperCreateSensorDemoScenario('Side-by-Side', duration, speedEgo, speedMotorcycles, distMotorcycles); % Create forward-facing long-range automotive radar sensor mounted on ego vehicle's front bumper radarSensor = drivingRadarDataGenerator(... 'SensorIndex', 1, ... 'TargetReportFormat', 'Detections', ... 'MountingLocation', [egoCar.Wheelbase+egoCar.FrontOverhang 0 0.2], ... 'Profiles', actorProfiles(scenario)); % Run simulation and collect detections and ground truth for offline analysis snapTime = 5.6; % Simulation time to take snapshot for publishing metrics = helperRunSensorDemoScenario(scenario, egoCar, radarSensor, snapTime);
Постройте график продольного и бокового положения ошибок радара. Анализируя ошибки положения, сообщенные для каждого мотоцикла, можно идентифицировать область значений, в котором радар больше не может различать два мотоцикла как уникальные объекты.
helperPlotSensorDemoDetections(metrics, 'position', 'range', [-3 3], true); subplot(1,2,2); legend('Left error', 'Right error', 'Merged error');
Обнаружение происходит сзади и вдоль внутренней стороны каждого мотоцикла. Красные ошибки от левого мотоцикла, желтые ошибки от правого мотоцикла, и фиолетовые точки показывают обнаружения, которые объединяются между двумя мотоциклами. Мотоциклы разделены расстоянием 1,8 метра. Каждый мотоцикл моделируется, чтобы иметь ширину 0,6 метра и длину 2,2 метра. Внутренние стороны мотоциклов находятся всего в 1,2 метрах друг от друга.
Внутренние боковые обнаружения
Обнаружения генерируются из точек вдоль внутренней стороны каждого мотоцикла. Обнаружения начинаются с ближайшее ребро и отбираются по дальности в соответствии с разрешением области значений радара 2,5 метра и положением мотоцикла относительно радара. Расположение контура камеры области значений создает обнаружение, которое происходит или у середины, или у дальнего ребра внутренней стороны мотоцикла. Также генерируется обнаружение от ближайшее ребро мотоцикла. Это движение через контуры камер разрешения области значений радара создает 3 полосы продольных ошибок положения, замеченных на предыдущем графике слева. Общая продольная протяжённость, покрытая этими 3 полосами, составляет 2,2 метра, что соответствует длине мотоциклов.
Поскольку внутренние стороны мотоциклов разделены только на 1,2 метра, все эти выбранные точки попадают в общую камеру азимутального разрешения и объединяются радаром. Центроид этих объединенных точек лежит в середине двух мотоциклов. Центроизация объединенных обнаружений создает боковое смещение с величиной 0,9 метра, соответствующее половине расстояния между мотоциклами. На графике ошибки бокового положения справа все объединенные обнаружения (показанные фиолетовым цветом) имеют это смещение.
Обнаружение задней стороны
Обнаружение, сгенерированное задней стороной каждого мотоцикла, находится дальше друг от друга (1,8 м), чем выбранные точки вдоль внутренних сторон (1,2 м).
В начале сценария мотоциклы находятся на основную истину области значений в 25 метрах от автомобиля , оборудованного датчиком. На этой близкой области значений обнаружения с задних сторон находятся в разных камерах азимутального разрешения, и радар не объединяет их. Эти отдельные обнаружения задней стороны показаны в виде красных точек (левый мотоцикл) и желтых точек (правый мотоцикл) на предыдущих графиках ошибок продольного и бокового положения. Для этих неограниченных обнаружений продольное положение, ошибки с задних сторон, смещается задним свесом мотоциклов (0,37 м). Ошибки бокового положения с задних сторон не проявляют никакого смещения. Этот результат соответствует ошибкам положения, наблюдаемым в сценарии FCW.
Этот пример продемонстрировал, как смоделировать выход автомобильных радаров с помощью синтетических обнаружений. В частности, в нем было представлено, как drivingRadarDataGenerator
модель:
Обеспечивает точное продольное положение и измерения скорости в длинных областях значений, но имеет ограниченную боковую точность в длинных областях значений
Генерирует несколько обнаружений от одной цели на близких областях значений, но объединяет обнаружения от нескольких тесно расположенных целей в одно обнаружение на больших областях значений
Видит транспортные средства и другие цели с большими радиолокационными сечениями на больших областях значений, но имеет ограниченную эффективность обнаружения для неметаллических объектов, таких как пешеходы