В этом примере показано, как моделировать слияние и отслеживание датчиков в 3D среде моделирования для автоматических приложений вождения. В примере также показано, как использовать метрики производительности для оценки производительности трекера в среде с разомкнутым контуром.
Автономное транспортное средство использует множество датчиков, включая камеры и радары, для восприятия окружающей среды. Однако каждый датчик имеет свои ограничения. Слияние информации от различных датчиков может сделать восприятие транспортного средства более надежным. Слияние и отслеживание датчиков является центральным элементом процесса принятия решений в различных системах, включая отслеживание полосы движения и предупреждение о столкновении в прямом направлении. Используя модель слияния датчиков и отслеживания в этом примере, можно выполнить тесты на критических сценариях, которые в действительности трудно реализовать. В этом примере выполняются следующие шаги.
Изучить модель испытательного стенда - модель содержит датчики, алгоритм слияния и отслеживания датчиков и метрики для оценки функциональности. Эквивалентная сцена Unreal Engine ® используется для моделирования обнаружений с помощью радиолокационного датчика и датчика зрения.
Настройка датчиков и среды - настройка сценария вождения, включающего эго-автомобиль с камерой и радиолокационным датчиком. Постройте график зоны покрытия каждого датчика с использованием области действия птичьего глаза.
Объединение и отслеживание датчиков - объединение информации с двух датчиков с помощью совместного многообъектного трекера вероятностных данных (JPDA) для отслеживания объектов вокруг эго-транспортного средства.
Оценка производительности трекера - используйте обобщенную метрику назначения оптимального податтерна (GOSPA) для оценки производительности трекера.
Моделирование модели тестового стенда и анализ результатов - модель тестового стенда можно настроить для различных сценариев. По умолчанию модель конфигурирует сценарий, в котором целевые транспортные средства приближаются друг к другу перед эго-транспортным средством на трех смежных полосах и создают проблемы для системы слежения. Моделирование модели и анализ компонентов метрики GOSPA для понимания производительности трекера.
В этом примере проверяется алгоритм слияния и отслеживания датчиков в среде моделирования 3D с использованием Unreal Engine ® от Epic Games ®. Для среды моделирования вождения Unreal Engine требуется 64-разрядная платформа Windows ®.
if ~ispc error(['3D simulation is only supported on Microsoft', char(174), ' Windows', char(174), '.']); end
Чтобы изучить модель испытательного стенда, откройте рабочую копию файлов примеров проекта. MATLAB ® копирует файлы в папку примера, чтобы их можно было редактировать.
addpath(fullfile(matlabroot, 'toolbox', 'driving', 'drivingdemos')); helperDrivingProjectSetup('FVSFTestBench.zip', 'workDir', pwd);
Откройте модель испытательного стенда.
open_system('ForwardVehicleSensorFusionTestBench');

При открытии этой модели запускается helperSLForwardVehicleSensorFusionSetup , который инициализирует сценарий с помощью drivingScenario в базовой рабочей области. Он также конфигурирует параметры слияния и отслеживания датчиков, параметры транспортного средства и сигналы шины Simulink ®, необходимые для определения входов и выходов для ForwardVehicleSensorFusionTestBench модель. Модель испытательного стенда содержит следующие подсистемы:
Датчики и среда - эта подсистема определяет сцену, транспортные средства и датчики, используемые для моделирования.
Figure Vehicle Sensor Fusion - эта подсистема реализует алгоритмы кластеризации радаров, конкатенации обнаружения, слияния и слежения.
Оценить метрики трекера - эта подсистема оценивает производительность трекера с помощью метрики GOSPA между набором дорожек и их истиной.
Подсистема датчиков и окружающей среды настраивает дорожную сеть, размещает транспортные средства и синтезирует датчики. Пример использования аналогичной подсистемы см. в разделе Highway Lane Following. Откройте подсистему датчиков и окружающей среды.
open_system('ForwardVehicleSensorFusionTestBench/Sensors and Environment');

Подсистема включает в себя два блока датчиков: Simulation 3D Вероятностный радар и Simulation 3D Генератор обнаружения зрения. Параметры этих моделей задаются helperSLForwardVehicleSensorFusionSetup при открытии модели испытательного стенда. Эти блоки генерируют обнаружения из среды моделирования 3D.
Блок Simulation 3D Probabilistic Radar генерирует обнаружения объектов на основе статистической модели. Этот датчик устанавливается на эго-транспортном средстве со смещением, указанным Position и Rotation параметры radar структура.
disp(radar');
FieldOfView: [40 5]
DetectionRanges: [1 100]
Position: [3.7290 0 0.8000]
PositionSim3d: [2.4240 0 0.8000]
Rotation: [0 0 0]
Блок генератора имитационного 3D визуального обнаружения генерирует сигналы обнаружения из измерений камеры, производимых датчиком зрения, установленным на эго-транспортном средстве со смещением, указанным Position и Rotation параметры camera структура.
disp(camera');
NumColumns: 1024
NumRows: 768
FieldOfView: [45 45]
ImageSize: [768 1024]
PrincipalPoint: [512 384]
FocalLength: [512 512]
Position: [1.8750 0 1.2000]
PositionSim3d: [0.5700 0 1.2000]
Rotation: [0 0 0]
DetectionRanges: [6 50]
LaneDetectionRanges: [6 30]
MeasurementNoise: [3×3 double]
MinObjectImageSize: [10 10]
Область видимости птичьего глаза отображает покрытия датчиков с помощью кубовидного представления. Зона действия РЛС и обнаружения выделены красным цветом. Зона видимости и обнаруженные сигналы выделены синим цветом.
Модель Fusion для датчика прямого транспортного средства - это эталонная модель, которая обрабатывает визуальное и радиолокационное обнаружение и генерирует положение и скорость трасс относительно эго-транспортного средства. Откройте эталонную модель Fusion для датчика транспортного средства.
open_system('ForwardVehicleSensorFusion');

Эталонная модель Fusion с передовым датчиком транспортного средства содержит следующие блоки:
Кластеризация обнаружения - кластер множественных радиолокационных обнаружений, поскольку трекер ожидает не более одного обнаружения на объект на датчик.
Конкатенация обнаружения (Detection Concatenation) - Совмещение визуального и радиолокационного обнаружения на одной выходной шине.
JPDA Tracker - выполнение слияния и управление дорожками стационарных и движущихся объектов.
Блок JPDA Tracker является ключевым блоком эталонной модели Forward Vehicle Sensor Fusion. Трекер сплавляет информацию, содержащуюся в конкатенированных обнаружениях, и отслеживает объекты вокруг эго-транспортного средства. Трекер выводит список подтвержденных дорожек. Эти дорожки обновляются во время прогнозирования с помощью цифровых часов в подсистеме датчиков и окружающей среды.
Подсистема оценки метрик трекера вычисляет различные метрики для оценки производительности трекера. Откройте подсистему оценки метрик Tracker.
open_system('ForwardVehicleSensorFusionTestBench/Evaluate Tracker Metrics');

Чтобы оценить производительность трекера, необходимо удалить актеров, которые находятся вне зоны покрытия датчиков, из информации о истинности земли. Для этой цели подсистема использует блок «Фильтр в пределах зоны действия» для фильтрации только тех субъектов, которые находятся в зоне действия датчиков.
Подсистема содержит метрический блок GOSPA, который вычисляет следующие метрики:
Метрика GOSPA - эта метрика измеряет расстояние между набором дорожек и их наземными истинами и объединяет точность назначения и оценки состояния в одно значение стоимости.
Ошибка локализации - эта ошибка указывает точность оценки состояния. Более высокое значение указывает на то, что назначенные дорожки неправильно оценивают состояние истин.
Ошибка пропущенного целевого объекта - эта ошибка указывает на наличие пропущенных целевых объектов. Более высокое значение указывает на то, что целевые объекты не отслеживаются.
Ошибка ложной дорожки - эта ошибка указывает на наличие ложных дорожек.
Во время моделирования можно визуализировать сценарий как в окне моделирования 3D, так и с использованием области действия «птичий глаз».
Чтобы открыть область, щелкните Область птичьего глаза (Bird-Eye Scope) в разделе Результаты проверки (Review Results) на панели инструментов Simulink. Затем щелкните Найти сигналы (Find Signals), чтобы найти сигналы, которые могут отображаться в области.
Сконфигурируйте ForwardVehicleSensorFusionTestBench модель для моделирования scenario_LFACC_03_Curve_StopnGo сценарий. Этот сценарий содержит шесть транспортных средств, включая эго-транспортное средство. Функция сценария также определяет их траектории. В этом сценарии эго-транспортное средство имеет ведущее транспортное средство в своей полосе. В полосе справа от эго-транспортного средства целевые транспортные средства, обозначенные зеленым и синим цветом, движутся в одном направлении. В полосе слева от эго-транспортного средства в обратном направлении едут целевые транспортные средства, обозначенные желтым и фиолетовым цветом.
helperSLForwardVehicleSensorFusionSetup("scenarioFcnName","scenario_LFACC_03_Curve_StopnGo");
Смоделировать модель испытательного стенда.
sim('ForwardVehicleSensorFusionTestBench');
ActorName: 'SimulinkVehicle3'
ObjectClassID: 0
ActorID: 3
Position: [216.1989 38.4191 0]
Velocity: [0 0 0]
Rotation: [0 0 -2.6542]
AngularVelocity: [0 0 176.6253]
ActorName: 'SimulinkVehicle6'
ObjectClassID: 0
ActorID: 4
Position: [37.4850 4.5686 0]
Velocity: [0 0 0]
Rotation: [0 0 0.0324]
AngularVelocity: [0 0 -29.4416]
ActorName: 'SimulinkVehicle2'
ObjectClassID: 0
ActorID: 5
Position: [49.8752 1.1827 0]
Velocity: [0 0 0]
Rotation: [0 0 0.0521]
AngularVelocity: [0 0 -28.3173]
ActorName: 'SimulinkVehicle5'
ObjectClassID: 0
ActorID: 6
Position: [5.4562 3.9658 0]
Velocity: [0 0 0]
Rotation: [0 0 5.7500e-04]
AngularVelocity: [0 0 -31.2669]
ActorName: 'SimulinkVehicle4'
ObjectClassID: 0
ActorID: 7
Position: [250.7064 60.2103 0]
Velocity: [0 0 0]
Rotation: [0 0 -2.5111]
AngularVelocity: [0 0 -175.1727]
NumLaneBoundaries: 5
LaneBoundaries: [1×5 struct]
Simulation (Моделирование) открывает окно 3D Simulation (Моделирование), в котором отображается сценарий, но не отображается обнаружение или покрытие датчика. Используйте окно Bird 's-Eye Scope для визуализации эго-актера, целевых актеров, покрытия датчиков и обнаружений, а также подтвержденных дорожек. Чтобы визуализировать только данные датчика, отключите окно 3D Simulation во время моделирования, очистив Display 3D simulation window в блоке «Моделирование» 3D «Конфигурация сцены».
Во время моделирования модель выводит метрику GOSPA и ее компоненты. Модель регистрирует метрики с подтвержденными дорожками и информацией об истинности основания в базовой переменной рабочей области. logsout. Можно распечатать значения в logsout с помощью helperPlotForwardVehicleSensorFusionResults функция.
helperPlotForwardVehicleSensorFusionResults(logsout);

Графики показывают, что ошибка локализации в основном учитывает метрику GOSPA. Обратите внимание, что пропущенный целевой компонент первоначально начинается с более высокого значения из-за задержки установления трекера и через некоторое время падает до нуля. Другие пики на пропущенной целевой кривой возникают из-за той же задержки, когда желтый и фиолетовый целевые транспортные средства входят в зону покрытия датчиков.
Вы можете использовать процедуру в этом примере, чтобы исследовать эти другие сценарии, которые совместимы с ForwardVehicleSensorFusionTestBench :
scenario_LFACC_01_Curve_DecelTarget
scenario_LFACC_02_Curve_AutoRetarget
scenario_LFACC_03_Curve_StopnGo [По умолчанию]
scenario_LFACC_04_Curve_CutInOut
scenario_LFACC_05_Curve_CutInOut_TooClose
scenario_LFACC_06_Straight_StopandGoLeadCar
scenario_FVSF_01_Curve_FourVehicles
scenario_FVSF_02_Straight_FourVehicles
scenario_FVSF_03_Curve_SixVehicles
Используйте эти дополнительные сценарии для анализа ForwardVehicleSensorFusionTestBench в различных условиях.
В этом примере показано, как моделировать и оценивать производительность компонента слияния датчиков и отслеживания для автоматизированного применения вождения. Эта модель на уровне компонентов позволяет выполнить стресс-тестирование конструкции в виртуальной среде с разомкнутым контуром и помогает в настройке параметров трекера путем оценки показателей GOSPA. Следующим логическим шагом является интеграция этой модели уровня компонентов в замкнутую систему, такую как следующая полоса движения.
Моделирование Cuboid To 3D | Многообъектный трекер | Считыватель сценариев | Моделирование 3D конфигурация сцены | Транспортное средство в мир