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

В этом примере показано, как реализовать симуляцию синтетических данных для отслеживания и слияния датчиков в Simulink ® с использованием среды симуляции Unreal Engine ® из Epic Games ®. Он внимательно следит за Sensor Fusion Using Synthetic Radar and Vision Data в примере Simulink.

Введение

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

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

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

  1. Извлеките местоположения центра из фрагмента дороги в сцене Define Road Layouts Programmatically 3D с помощью методов, введенных в разделе Select Waypoints for Unreal Engine Simulation.

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

  3. Задайте несколько движущихся транспортных средств на дороге, которые имеют траектории, подобные таковым в сценарии, заданном в Sensor Fusion Using Synthetic Radar и Vision Data в Simulink.

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

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

Положения актёра, предусмотренные блоком Scenario Reader, используются блоками Simulation 3D Vehicle with Ground Following для определения местоположения автомобиля , оборудованного датчиком, ведущего автомобиля и других транспортных средств на каждом временном шаге симуляции.

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

open_system('SimulateSensorsIn3DEnvironmentModel');

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

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

Подсистема Ego Sensors содержит один блок Simulation 3D-видение Detection Generator и шесть блоков Simulation 3D Probabilistic Radar, которые моделируют ранее описанные датчики. Выходы блоков радара конкатенируются с помощью блока Detection Concatenation. В модели верхнего уровня выход радара затем сокатенируется выходом зрения, чтобы создать один поток обнаружений, которые будут сплавлены блоком Multi-Object Tracker.

open_system('SimulateSensorsIn3DEnvironmentModel/Ego Sensors')

Вероятностные радары «видят» не только физические размерности актёра (например, длину, ширину и высоту), но также чувствительны к электрическому размеру актёра. Электрический размер актёра упоминается как его радиолокационное поперечное сечение (RCS). Шаблоны RCS для транспортных средств в симуляции заданы с помощью блока Simulation 3D Probabilistic Radar Configuration.

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

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

Обнаружения, сгенерированные автомобилем , оборудованным датчиком набором радаров, предварительно обрабатываются с помощью блока helper Detection Clustering до их слияния с использованием блока Мультиобъекта Tracker. Многообъектный трекер сконфигурирован с теми же параметрами, что и в соответствующем примере Simulink, Sensor Fusion Using Synthetic Radar и Vision Data in Simulink. Выходы блока Multi-Object Tracker представляют собой список подтвержденных треков.

Отображение

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

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

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

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

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

close_system('SimulateSensorsIn3DEnvironmentModel');

См. также

Приложения

Блоки

Похожие темы