Передайте Fusion датчика транспортного средства

В этом примере показано, как симулировать сплав датчика и отслеживающий в 3D среде симуляции для автоматизированных ведущих приложений. Пример также показывает, как использовать показатели производительности, чтобы оценить эффективность средства отслеживания в среде разомкнутого контура.

Введение

Автономное транспортное средство использует несколько датчиков, включая камеры и радар, чтобы чувствовать окружающую среду. Однако каждый датчик имеет свои собственные ограничения. Плавление информации от различных датчиков может сделать восприятие транспортного средства более устойчивым. Сплав датчика и отслеживание являются центральными к процессу принятия решений в различных системах, включая магистральный маршрут после и прямое предупреждение столкновения. При помощи модели сплава и отслеживания датчика в этом примере можно запустить тесты на критических сценариях, которые в действительности затрудняют реализацию. В этом примере вы выполняете следующие шаги.

  1. Исследуйте тестовую модель — модель содержит датчики, сплав датчика и алгоритм отслеживания и метрики, чтобы оценить функциональность. Эквивалентная Нереальная сцена Engine® используется к обнаружениям модели от радарного датчика и датчика видения.

  2. Сконфигурируйте датчики и среду — Настроенный ведущий сценарий, который включает автомобиль, оборудованный датчиком с датчиком камеры и радара. Постройте зону охвата каждого датчика с помощью видимого с большого расстояния осциллографа.

  3. Выполните сплав датчика и отслеживающий — информация об Объединении от этих двух датчиков с помощью средства отслеживания мультиобъекта объединенной вероятностной ассоциации данных (JPDA), чтобы отследить объекты вокруг автомобиля, оборудованного датчиком.

  4. Оцените эффективность средства отслеживания — Использование обобщенное оптимальное присвоение подшаблона (GOSPA) метрика, чтобы оценить эффективность средства отслеживания.

  5. Симулируйте тестовую модель и анализируйте результаты — можно сконфигурировать тестовую модель для различных сценариев. По умолчанию модель конфигурирует сценарий, где целевые транспортные средства близко подходят друг к другу перед автомобилем, оборудованным датчиком в трех смежных маршрутах и ставят проблему перед системой слежения. Симулируйте модель и анализируйте компоненты метрики GOSPA, чтобы изучить эффективность средства отслеживания.

Этот пример тестирует алгоритм сплава и отслеживания датчика в 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('FVSFTestBench.zip', 'workDir', pwd);

Откройте тестовую модель.

open_system('ForwardVehicleSensorFusionTestBench');

Открытие этой модели запускает helperSLForwardVehicleSensorFusionSetup скрипт, который инициализирует сценарий с помощью drivingScenario объект в базовом рабочем пространстве. Это также конфигурирует параметры сплава и отслеживания датчика, параметры транспортного средства и сигналы шины Simulink®, требуемые для определения вводов и выводов для ForwardVehicleSensorFusionTestBench модель. Тестовая модель содержит эти подсистемы:

  • Датчики и Среда — Эта подсистема задают сцену, транспортные средства и датчики, используемые для симуляции.

  • Передайте Fusion Датчика Транспортного средства — Эта подсистема реализует радарную кластеризацию, конкатенацию обнаружения, сплав и отслеживание алгоритмов.

  • Оцените Метрики Средства отслеживания — Эта подсистема оценивает эффективность средства отслеживания с помощью метрики 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]

Видимый с большого расстояния осциллограф отображает покрытия датчика при помощи представления кубоида. Радарная зона охвата и обнаружения находятся в красном. Зона охвата видения и обнаружения находятся в синем.

Выполните Fusion датчика и отслеживание

Модель Forward Vehicle Sensor Fusion является образцом модели, что видение процессов и радарные обнаружения и генерируют положение и скорость дорожек относительно автомобиля, оборудованного датчиком. Откройте Прямой образец модели Fusion Датчика Транспортного средства.

open_system('ForwardVehicleSensorFusion');

Прямой образец модели Fusion Датчика Транспортного средства содержит эти блоки:

  • Кластеризация обнаружения — Кластер несколько радарных обнаружений, поскольку средство отслеживания ожидает самое большее одно обнаружение на объект на датчик.

  • Конкатенация обнаружения — Объединение видение и радарные обнаружения на одну выходную шину.

  • Средство отслеживания JPDA — Выполняет сплав и управляет дорожками стационарных и движущихся объектов.

Блок JPDA Tracker является ключевым блоком Прямого образца модели Fusion Датчика Транспортного средства. Средство отслеживания плавит информацию, содержавшуюся в конкатенированных обнаружениях, и отслеживает объекты вокруг автомобиля, оборудованного датчиком. Средство отслеживания выводит список подтвержденных дорожек. Эти дорожки обновляются во время предсказания, управляемое электронными часами в подсистеме Среды и Датчиках.

Оцените эффективность средства отслеживания

Оценивать Метрическая подсистема Средства отслеживания вычисляет различные метрики, чтобы оценить эффективность средства отслеживания. Откройте Оценивать Метрическую подсистему Средства отслеживания.

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');
          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]

Симуляция открывает 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 при различных условиях.

Заключение

Этот пример показал, как симулировать и оценить эффективность компонента сплава и отслеживания датчика для автоматизированного ведущего приложения. Эта модель уровня компонента позволяет вам стресс-тест ваш проект в виртуальной среде разомкнутого контура и помогает в настройке параметров средства отслеживания путем оценки метрик GOSPA. Следующий логический шаг должен интегрировать эту модель уровня компонента в системе с обратной связью как магистральный маршрут после.

Смотрите также

| | | |

Похожие темы