Симулируйте датчики видения и радара в нереальной среде Engine

В этом примере показано, как реализовать синтетическую симуляцию данных для отслеживания и сплава датчика в Simulink® с использованием Нереальной среды симуляции Engine® от Epic Games®. Это сопровождает Fusion Датчика Используя Синтетические Данные о Радаре и Видении в примере Simulink.

Введение

Automated Driving Toolbox обеспечивает инструменты для авторской разработки, симуляции и визуализации виртуальных ведущих сценариев. С этими сценариями можно симулировать редкие и потенциально опасные события, сгенерировать синтетический радар и обнаружения видения из сценариев, и использовать синтетические обнаружения, чтобы протестировать алгоритмы транспортного средства. Этот пример покрывает целый синтетический рабочий процесс данных в Simulink с помощью 3D среды симуляции.

Setup и обзор модели

До выполнения этого примера дороги, агенты и траектории в сценарии были созданы с помощью этой процедуры:

  1. Извлеките центральные местоположения из фрагмента дороги в Размещениях Дефайн-Роуд, Программно 3D сцена, с помощью методов, введенных в, Выбирает Waypoints for Unreal Engine Simulation.

  2. Создайте дорогу в Driving Scenario Designer, который имеет эти извлеченные местоположения как его дорожные центральные значения.

  3. Задайте несколько движущихся транспортных средств на дороге, которые имеют траектории, похожие на тех в сценарии, заданном в Fusion Датчика Используя Синтетические Данные о Радаре и Видении в Simulink.

  4. Сохраните файл сценария, curved_road.mat, от Driving Scenario Designer и загрузите их в модель с помощью блока Scenario Reader.

  5. Выведите положения транспортных средств от блока Scenario Reader и преобразуйте их в мировые координаты. Используйте блок Cuboid to 3D Simulation, чтобы преобразовать в X, Y, и Рыскание, требуемое 3D блоком транспортного средства.

Положения агента, обеспеченные блоком Scenario Reader, используются Симуляцией 3D Транспортное средство с Землей После блоков, чтобы задать местоположения автомобиля, оборудованного датчиком, ведущего транспортного средства и других транспортных средств на каждом временном шаге симуляции.

close;
if ~ispc
    error(['3D Simulation is supported only on Microsoft', char(174), ' Windows', char(174), '.']);
end

open_system('SimulateSensorsIn3DEnvironmentModel');

Симуляция обнаружений датчика

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

Подсистема Датчиков Эго содержит один блок Simulation 3D Vision Detection Generator и шесть Симуляций 3D Вероятностные Радарные блоки, которые моделируют ранее описанные датчики. Выходные параметры радарных блоков конкатенированы с помощью блока Detection Concatenation. В модели верхнего уровня радар вывел, затем cocatenated с видением выход, чтобы создать единый поток обнаружений, которые будут сплавлены блоком Multi-Object Tracker.

open_system('SimulateSensorsIn3DEnvironmentModel/Ego Sensors')

Вероятностные радары "видят" не физические размерности только агента (e.g., длина, ширина и высота), но также чувствительны к электрическому размеру агента. Электрический размер агента упоминается как его радарное поперечное сечение (RCS). Шаблоны RCS для транспортных средств в симуляции заданы с помощью Симуляции 3D Вероятностный Радарный Блок Configuration.

Используйте этот блок, чтобы задать шаблоны RCS для всех агентов в симуляции. Любые агенты, которые не имеют заданного шаблона RCS, используют значение RCS по умолчанию.

Отслеживание и Fusion датчика

Обнаружения, сгенерированные набором автомобиля, оборудованного датчиком радаров, предварительно обрабатываются с помощью блока Detection Clustering помощника, прежде чем они будут сплавлены с помощью блока Multi-Object Tracker. Мультиобъектное средство отслеживания сконфигурировано теми же параметрами, используемыми в соответствующем примере Simulink, Fusion Датчика Используя Синтетические Данные о Радаре и Видении в Simulink. Выход от блока Multi-Object Tracker является списком подтвержденных дорожек.

Отображение

Bird ' s-Eye Scope является инструментом визуализации уровня модели в Simulink, открытом от панели инструментов Simulink. После открытия осциллографа нажмите Find Signals, чтобы настроить сигналы. Затем запустите симуляцию, чтобы отобразить агента эго, радар и обнаружения видения и дорожки. Следующее изображение показывает отображение осциллографа для этого примера.

Когда симуляция запускается, несколько секунд необходимы, чтобы инициализировать Нереальную среду симуляции Engine, особенно при выполнении ее впервые. Если эта инициализация завершена, среда симуляции открывается в отдельном окне. Следующее изображение является снимком состояния окна симуляции, соответствующего снимку состояния Bird ' s-Eye Scope, показанного в предыдущем изображении.

Симулированные транспортные средства показывают в окне симуляции. Обнаружения и дорожки, сгенерированные симуляцией, появляются только в Bird ' s-Eye Scope.

Сводные данные

В этом примере вы изучили, как извлечь дорожные центры из 3D сценария для использования в приложении Driving Scenario Designer. Вы также изучили, как экспортировать траектории транспортного средства, созданные из дорожных сегментов для использования в 3D среде симуляции в Simulink. Вы затем изучили, как сконфигурировать вероятностную модель камеры и несколько вероятностных радарных моделей в Нереальной среде Engine и как плавить обнаружения от нескольких датчиков, расположенных вокруг периметра автомобиля, оборудованного датчиком с помощью мультиобъектного средства отслеживания. Подтвержденные дорожки, сгенерированные средством отслеживания, могут затем использоваться для алгоритмов управления, таких как адаптивный круиз-контроль (ACC) или прямое предупреждение столкновения (FCW).

close_system('SimulateSensorsIn3DEnvironmentModel');

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

Приложения

Блоки

Похожие темы