В этом примере показано, как смоделировать и симулировать выход автомобильного радарного датчика для различных ведущих сценариев. Генерация синтетических радарных обнаружений важна для тестирования и проверки отслеживания и алгоритмов сплава датчика в угловых случаях или когда оборудование датчика недоступно. Этот пример анализирует различия между радарными измерениями и положением основной истины транспортного средства и скоростью для сценария прямого предупреждения столкновения (FCW), передающего сценария транспортного средства и сценария с близко расположенными целями. Это также включает сравнение значений отношения сигнал-шум (SNR) между пешеходом и целями транспортного средства в различных областях значений.
В этом примере вы генерируете радарные обнаружения программно. Можно также сгенерировать обнаружения при помощи приложения Driving Scenario Designer. Для примера смотрите Сборку Ведущий Сценарий и Сгенерируйте Синтетические Обнаружения.
Транспортные средства, которые содержат функции продвинутой системы помощи водителю (ADAS) или спроектированы, чтобы быть полностью автономными обычно, используют несколько типов датчиков. Эти датчики включают гидролокатор, радар, лидар и видение. Надежное решение включает алгоритм сплава датчика, чтобы объединить сильные места через различные типы датчиков, включенных в систему. Для получения дополнительной информации о сплаве датчика синтетических обнаружений от системы ADAS мультидатчика, смотрите, что Fusion Датчика Использует Синтетические Данные о Радаре и Видении.
При использовании синтетических обнаружений для тестирования и проверки отслеживания и алгоритмов сплава датчика, важно изучить, как сгенерированные обнаружения моделируют уникальные показатели производительности датчика. Каждый вид автомобильного датчика обеспечивает определенный набор достоинств и недостатков, которые способствуют сплавленному решению. Этот пример представляет некоторые важные показатели производительности автомобильных радаров и показывает, как радарная производительность моделируется при помощи синтетических обнаружений.
Этот пример использует radarDetectionGenerator
сгенерировать синтетические радарные обнаружения. radarDetectionGenerator
моделирует следующие показатели производительности автомобильного радара:
Сильные места
Хорошая область значений и точность уровня области значений в длинных областях значений обнаружения
Длинная область значений обнаружения для транспортных средств
Слабые места
Плохая точность положения и скорости по измерению перекрестной области значений
Более короткая область значений обнаружения для пешеходов и других неметаллических объектов
Кластеры обнаружения близкого расстояния ставят проблему к отслеживанию алгоритмов
Неспособность разрешить близко расположенные цели в больших расстояниях
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 см над землей. Датчик генерирует измерения каждые 0,1 секунды и имеет азимутальное поле зрения 20 градусов и угловое разрешение 4 градусов. Его максимальная область значений составляет 150 м, и его разрешение области значений составляет 2,5 м. ActorProfiles
свойство задает физические размерности и шаблоны радарного поперечного сечения (RCS) транспортных средств, замеченных радаром в симуляции.
radarSensor = radarDetectionGenerator( ... 'SensorIndex', 1, ... 'UpdateInterval', 0.1, ... 'SensorLocation', [egoCar.Wheelbase+egoCar.FrontOverhang 0], ... 'Height', 0.2, ... 'FieldOfView', [20 5], ... 'MaxRange', 150, ... 'AzimuthResolution', 4, ... 'RangeResolution', 2.5, ... 'ActorProfiles', actorProfiles(scenario))
radarSensor = radarDetectionGenerator with properties: SensorIndex: 1 UpdateInterval: 0.1000 SensorLocation: [3.7000 0] Height: 0.2000 Yaw: 0 Pitch: 0 Roll: 0 FieldOfView: [20 5] MaxRange: 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 метров в самой дальней протестированной области значений. Реализованная точность датчика намного меньше, чем разрешение области значений радара. Поскольку радар моделирует зависимость ОСШ ошибок области значений нижняя граница Крамера-Рао, цели с большим радарным поперечным сечением (RCS) или цели, которые являются близко к датчику, будут иметь лучшую точность области значений, чем меньший или больше удаленных целей.
Эта зависимость ОСШ от шума измерения радара моделируется для каждой из измеренных размерностей радара: азимут, вертикальное изменение, область значений и уровень области значений.
Боковые измерения положения
Для радарной настройки по ходу движения размерность, ортогональная к измерениям области значений радара (обычно называемый размерностью перекрестной области значений датчика), соответствует боковому положению целевого транспортного средства.
Боковые ошибки положения от теста FCW в предыдущем графике справа показывают сильную зависимость от области значений основной истины цели. Точность положения ответвления показаний радара всего 0,03 метра в близких расстояниях и до 2,6 метров, когда цель далека от радара.
Кроме того, несколько обнаружений появляются, когда цель - в областях значений меньше чем 30 метров. Так же ранее упомянутый, целевое транспортное средство не моделируется как одна точка на пробеле, но радарная модель сравнивает размерности транспортного средства с разрешением радара. В этом сценарии радар просматривает тыльную сторону целевого транспортного средства. Когда тыльная сторона транспортного средства охватывает больше чем одну из ячеек разрешения азимута радара, радар генерирует обнаружения от каждой ячейки разрешения, которую занимает цель.
Вычислите азимут, заполненный целевым транспортным средством в тесте FCW, когда это будет в 30-метровом диапазоне основной истины от автомобиля, оборудованного датчиком.
% Range from radar to target vehicle's rear side radarRange = 30-(radarSensor.SensorLocation(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.ActorProfiles = 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 dBsm). Однако неметаллические объекты обычно имеют намного меньшие значения.-8 dBsm является разумным RCS, чтобы сопоставить с пешеходом. Это значение соответствует эффективному электрическому размеру только 0,16 квадратных метров. В ADAS или системе автономного управления автомобилем, радар должен смочь сгенерировать обнаружения на обоих из этих объектов.
FCW управление сценарием с пешеходом и транспортным средством
Пересмотрите сценарий FCW от ранее путем добавления пешехода, стоящего на тротуаре около остановленного транспортного средства. По длительности теста FCW расстояние от радара до целевого транспортного средства и пешехода охватывает широкий спектр значений. Сравнение измеренного отношения сигнал-шум (SNR) радара, о котором сообщают для тестового транспортного средства и пешеходных обнаружений через протестированные области значений, демонстрирует, как производительность обнаружения радара изменяется и с областью значений обнаружения и с типом объекта.
% 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 dBsm в определенной области значений. Создайте радар дальний, который обнаруживает цель с RCS 0 dBsm в области значений 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.ActorProfiles = 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 dBsm), чем пешеход (-8 dBsm), который позволяет радару обнаружить транспортное средство в более длинных областях значений, чем пешеход.
Тестовое транспортное средство также обнаруживается в самой близкой области значений, включенной в этот тест, но радар прекращает генерировать обнаружения на пешеходе около 20 метров. В этом сценарии целевое транспортное средство помещается непосредственно перед радаром, но пешеход возмещен от угла обзора радара. Около 20 метров пешеход больше не в поле зрения радара и не может быть обнаружен радаром.
Пересмотрите этот сценарий для среднего автомобильного радара, чтобы проиллюстрировать, как производительность обнаружения радара затронута. Смоделируйте средний радар, чтобы обнаружить объект с RCS 0 dBsm в диапазоне ссылки 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 = radarDetectionGenerator(... 'SensorIndex', 1, ... 'SensorLocation', [egoCar.Wheelbase+egoCar.FrontOverhang 0], ... 'Height', 0.2, ... 'ActorProfiles', 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', 'Left 2\sigma noise', 'Right error', 'Right 2\sigma noise', 'Merged error', 'Merged 2\sigma noise');
Обнаружения сгенерированы сзади и вдоль внутренней стороны каждого мотоцикла. Красные ошибки от левого мотоцикла, желтые ошибки от правильного мотоцикла, и фиолетовые точки показывают обнаружения, которые объединены между этими двумя мотоциклами. Мотоциклы разделяются расстоянием 1,8 метров. Каждый мотоцикл моделируется, чтобы иметь ширину 0,6 метров и длину 2,2 метров. Внутренние стороны мотоциклов на расстоянии только в 1,2 метра.
Внутренние обнаружения стороны
Обнаружения сгенерированы от точек вдоль внутренней стороны каждого мотоцикла. Обнаружения запускаются в самом близком ребре и производятся в области значений согласно разрешению области значений радара 2,5 метров и положению мотоцикла относительно радара. Когда мотоцикл занимает несколько ячеек разрешения области значений, самые близкие точки выборки в каждой уникальной ячейке области значений генерируют обнаружения. Местоположение контура ячейки области значений производит обнаружение, которое происходит или в среднем или далеком ребре внутренней стороны мотоцикла. Обнаружение от самого близкого ребра мотоцикла также сгенерировано. Это перемещение через границы ячейки разрешения области значений радара создает 3 полосы продольных ошибок положения, замеченных в предыдущем графике слева. Общая продольная степень, покрытая этими 3 полосами, составляет 2,2 метра, который соответствует длине мотоциклов.
Поскольку внутренние стороны мотоциклов разделяются только на 1,2 метра, эти произведенные точки все находятся в пределах общей азимутальной ячейки разрешения и объединены радаром. Центроид этих объединенных точек находится посреди этих двух мотоциклов. centroiding объединенных обнаружений производит боковое смещение с величиной 0,9 метров, соответствуя половине расстояния между мотоциклами. В боковой диаграмме погрешностей положения справа, все объединенные обнаружения (отображенный фиолетовым) имеют это смещение.
Обнаружения тыльной стороны
Обнаружения, сгенерированные от тыльной стороны каждого мотоцикла, далее независимо (1,8 м), чем произведенные точки вдоль внутренних сторон (1,2 м).
В начале сценария мотоциклы в области значений основной истины 25 метров от автомобиля, оборудованного датчиком. В этом близком расстоянии обнаружения от тыльных сторон лежат в различных азимутальных ячейках разрешения, и радар не объединяет их. Эти отличные обнаружения тыльной стороны показываются красными точками (оставленный мотоцикл) и желтыми точками (правильный мотоцикл) в предыдущих продольных и боковых диаграммах погрешностей положения. Для этих необъединенных обнаружений продольные ошибки положения от тыльных сторон возмещены задним нависающим краем мотоциклов (0,37 м). Боковые ошибки положения от тыльных сторон не показывают смещения. Этот результат сопоставим с ошибками положения, наблюдаемыми в сценарии FCW.
В то время как сценарий продолжает, расстояние между мотоциклами и радарными увеличениями, и область, заполненная ячейками разрешения радара, растет. Когда мотоциклы перемещаются вне области значений основной истины 39 метров, обнаружения, сгенерированные от тыльных сторон слияния мотоциклов. Вычислите азимутальное разделение внешних ребер тыльных сторон.
% Range from radar to rear side of motorcycles motorcycle = scenario.Actors(2); radarRange = 39-(radarSensor.SensorLocation(1)+motorcycle.RearOverhang); % Azimuth separation between outside edges of rear sides lateralDist = 1.8+0.6; % Total lateral distance between outer sides azSep = rad2deg(lateralDist/radarRange)
azSep = 3.9367
В области значений основной истины 39 метров внешние края тыльных сторон мотоциклов теперь лежат в той же ячейке разрешения азимута на 4 градуса и объединены. Вне этой области значений эти два мотоцикла появляются к радару как отдельный объект, и только объединенные обнаружения (отображенный фиолетовым) замечены в предыдущих графиках.
Этот пример продемонстрировал, как смоделировать выход автомобильных радаров с помощью синтетических обнаружений. В частности, это представило как radarDetectionGenerator
модель:
Обеспечивает точные продольные измерения положения и скорости по большим расстояниям, но ограничил боковую точность в больших расстояниях
Генерирует несколько обнаружений от единой цели в близких расстояниях, но объединяет обнаружения от нескольких близко расположенных целей в одно обнаружение в больших расстояниях
Видит транспортные средства и другие цели с большими радарными поперечными сечениями по большим расстояниям, но ограничил производительность обнаружения для неметаллических объектов, таких как пешеходы