В этом примере показано, как симулировать cочетание датчиков и отслеживающий в 3D среде симуляции для автоматизированных ведущих приложений. Пример также показывает, как использовать показатели производительности, чтобы оценить эффективность средства отслеживания в среде разомкнутого контура.
Автономное транспортное средство использует несколько датчиков, включая камеры и радар, чтобы чувствовать окружающую среду. Однако каждый датчик имеет свои собственные ограничения. Плавление информации от различных датчиков может сделать восприятие транспортного средства более устойчивым. Cочетание датчиков и отслеживание являются центральными к процессу принятия решений в различных системах, включая магистральный маршрут после и прямое предупреждение столкновения. При помощи cочетания датчиков и модели отслеживания в этом примере, можно запустить тесты на критических сценариях, которые в действительности затрудняют реализацию. В этом примере вы выполняете следующие шаги.
Исследуйте тестовую модель — модель содержит датчики, cочетание датчиков и алгоритм отслеживания и метрики, чтобы оценить функциональность. Эквивалентная Нереальная сцена Engine® используется к обнаружениям модели от радарного датчика и датчика видения.
Сконфигурируйте датчики и среду — Настроенный ведущий сценарий, который включает автомобиль, оборудованный датчиком с датчиком камеры и радара. Постройте зону охвата каждого датчика с помощью видимого с большого расстояния осциллографа.
Выполните cочетание датчиков и отслеживающий — информация об Объединении от этих двух датчиков с помощью средства отслеживания мультиобъекта объединенной вероятностной ассоциации данных (JPDA), чтобы отследить объекты вокруг автомобиля, оборудованного датчиком.
Оцените эффективность средства отслеживания — Использование обобщенное оптимальное присвоение подшаблона (GOSPA) метрика, чтобы оценить эффективность средства отслеживания.
Симулируйте тестовую модель и анализируйте результаты — можно сконфигурировать тестовую модель для различных сценариев. По умолчанию модель конфигурирует сценарий, где целевые транспортные средства близко подходят друг к другу перед автомобилем, оборудованным датчиком в трех смежных маршрутах и ставят проблему перед системой слежения. Симулируйте модель и анализируйте компоненты метрики GOSPA, чтобы изучить эффективность средства отслеживания.
Этот пример тестирует cочетание датчиков и алгоритм отслеживания в 3D среде симуляции, которая использует Нереальный Engine® от Epic Games®. Нереальный Engine ведущая среда симуляции требует Windows® 64-битная платформа.
if ~ispc error(['3D simulation is only supported on Microsoft', char(174), ' Windows', char(174), '.']); end
Чтобы исследовать тестовую модель, откройте рабочую копию файлов проекта в качестве примера. MATLAB® копирует файлы в папку в качестве примера так, чтобы можно было отредактировать их.
addpath(fullfile(matlabroot, 'toolbox', 'driving', 'drivingdemos')); helperDrivingProjectSetup('FVSensorFusion.zip', 'workDir', pwd);
Откройте тестовую модель.
open_system('ForwardVehicleSensorFusionTestBench');
Открытие этой модели запускает helperSLForwardVehicleSensorFusionSetup
скрипт, который инициализирует сценарий с помощью drivingScenario
объект в базовом рабочем пространстве. Это также конфигурирует cочетание датчиков и параметры отслеживания, параметры транспортного средства и сигналы шины Simulink®, требуемые для определения вводов и выводов для ForwardVehicleSensorFusionTestBench
модель. Тестовая модель содержит эти подсистемы:
Датчики и Среда — Эта подсистема задают сцену, транспортные средства и датчики, используемые для симуляции.
Передайте Cочетание датчиков Транспортного средства — Эта подсистема реализует радарную кластеризацию, конкатенацию обнаружения, сплав и отслеживание алгоритмов.
Оцените Метрики Средства отслеживания — Эта подсистема оценивает эффективность средства отслеживания с помощью метрики GOSPA между набором дорожек и их основными истинами.
Подсистема Датчиков и Среды конфигурирует дорожную сеть, транспортные средства мест, и синтезирует датчики. Для примера, который использует подобную подсистему, смотрите, что Хайвей Лейн Следует. Откройте подсистема Среды и Датчики.
open_system('ForwardVehicleSensorFusionTestBench/Sensors and Environment');
Подсистема включает два блока датчика: Симуляция 3D Вероятностный Генератор Обнаружения 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]
Блок Simulation 3D Vision Detection Generator генерирует обнаружения от измерений камеры, проведенных датчиком видения, смонтированным на автомобиле, оборудованном датчиком при смещении, заданном 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]
Видимый с большого расстояния осциллограф отображает покрытия датчика при помощи представления кубоида. Радарная зона охвата и обнаружения находятся в красном. Зона охвата видения и обнаружения находятся в синем.
Модель Forward Vehicle Sensor Fusion является образцом модели, что видение процессов и радарные обнаружения и генерируют положение и скорость дорожек относительно автомобиля, оборудованного датчиком. Откройте Прямой образец модели Cочетания датчиков Транспортного средства.
open_system('ForwardVehicleSensorFusion');
Прямой образец модели Cочетания датчиков Транспортного средства содержит эти блоки:
Кластеризация обнаружения — Кластер несколько радарных обнаружений, поскольку средство отслеживания ожидает самое большее одно обнаружение на объект на датчик.
Конкатенация обнаружения — Объединение видение и радарные обнаружения на одну выходную шину.
Средство отслеживания JPDA — Выполняет сплав и управляет дорожками стационарных и движущихся объектов.
Блок JPDA Tracker является ключевым блоком Прямого образца модели Cочетания датчиков Транспортного средства. Средство отслеживания плавит информацию, содержавшуюся в конкатенированных обнаружениях, и отслеживает объекты вокруг автомобиля, оборудованного датчиком. Средство отслеживания выводит список подтвержденных дорожек. Эти дорожки обновляются во время предсказания, управляемое электронными часами в подсистеме Среды и Датчиках.
Оценивать Метрическая подсистема Средства отслеживания вычисляет различные метрики, чтобы оценить эффективность средства отслеживания. Откройте Оценивать Метрическую подсистему Средства отслеживания.
open_system('ForwardVehicleSensorFusionTestBench/Evaluate Tracker Metrics');
Чтобы оценить эффективность средства отслеживания, вы должны, чтобы демонтировать агентов, которые находятся вне зоны охвата датчиков от информации об основной истине. С этой целью подсистема использует блок Filter Within Coverage, чтобы отфильтровать только тех агентов, которые являются в зоне охвата датчиков.
Подсистема содержит метрический блок GOSPA, который вычисляет эти метрики:
Метрика GOSPA — Эта метрика измеряет расстояние между набором дорожек и их основными истинами, и комбинирует и присвоение и точность оценки состояния в одну величину затрат.
Ошибка локализации — Эта ошибка указывает на точность оценки состояния. Более высокое значение указывает, что присвоенные дорожки не оценивают состояние истин правильно.
Пропущенная целевая ошибка — Эта ошибка указывает на присутствие пропущенных целей. Более высокое значение указывает, что цели не прослеживаются.
Ложный дефект записи — Эта ошибка указывает на присутствие ложных дорожек.
В процессе моделирования можно визуализировать сценарий и в 3D окне симуляции и в использовании видимого с большого расстояния осциллографа.
Чтобы открыть осциллограф, нажмите Bird's-Eye Scope в разделе Review Results панели инструментов Simulink. Затем нажмите Find Signals, чтобы найти сигналы, что осциллограф может отобразиться.
Сконфигурируйте ForwardVehicleSensorFusionTestBench
модель, чтобы симулировать scenario_LFACC_03_Curve_StopnGo
сценарий. Этот сценарий содержит шесть транспортных средств, включая автомобиль, оборудованный датчиком. Функция сценария также задает их траектории. В этом сценарии автомобиль, оборудованный датчиком имеет ведущее транспортное средство в своем маршруте. В маршруте справа от автомобиля, оборудованного датчиком целевые транспортные средства, обозначенные в зеленом и синем цвете, перемещаются в том же направлении. В маршруте слева от автомобиля, оборудованного датчиком целевые транспортные средства, обозначенные в желтом и фиолетовом цвете, перемещаются в противоположном направлении.
helperSLForwardVehicleSensorFusionSetup("scenarioFcnName","scenario_LFACC_03_Curve_StopnGo");
Симулируйте тестовую модель.
sim('ForwardVehicleSensorFusionTestBench');
Симуляция открывает 3D окно Simulation, которое отображает сценарий, но не отображает покрытие датчика или обнаружения. Используйте окно Bird's-Eye Scope, чтобы визуализировать агента эго, целевых агентов, покрытие датчика и обнаружения и подтвержденные дорожки. Чтобы визуализировать только данные о датчике, выключите 3D окно Simulation в процессе моделирования путем очистки Display 3D simulation window
параметр в Симуляции 3D Блок Configuration Сцены.
Во время симуляции, выходных параметров модели метрика GOSPA и ее компоненты. Модель регистрирует метрики, с подтвержденными дорожками и информацией об основной истине, к переменной logsout
базового рабочего пространства. Можно построить значения в
logsout
при помощи helperPlotForwardVehicleSensorFusionResults
функция.
helperPlotForwardVehicleSensorFusionResults(logsout);
Графики показывают, что ошибка локализации в основном составляет метрику GOSPA. Заметьте, что пропущенный целевой компонент первоначально начинает с более высокого значения из-за задержки установления средства отслеживания и понижается, чтобы обнулить через какое-то время. Другой peaks в пропущенной кривой целевых значений происходит из-за той же задержки, когда желтые и фиолетовые целевые транспортные средства входят в зоне охвата датчиков.
Можно использовать процедуру в этом примере, чтобы исследовать эти другие сценарии, которые совместимы с 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
при различных условиях.
Этот пример показал, как симулировать и оценить эффективность cочетания датчиков и компонента отслеживания для автоматизированного ведущего приложения. Эта модель уровня компонента позволяет вам стресс-тест ваш проект в виртуальной среде разомкнутого контура и помогает в настройке параметров средства отслеживания путем оценки метрик GOSPA. Следующий логический шаг должен интегрировать эту модель уровня компонента в системе с обратной связью как магистральный маршрут после.
Scenario Reader | Vehicle To World | Simulation 3D Scene Configuration | Cuboid To 3D Simulation | Multi-Object Tracker