Открытая поверхность 3D окружение
Сцена Open Surface содержит 3D окружение открытого, черного дорожного покрытия. Сцена визуализируется с помощью Unreal Engine® из эпических игр®.
Чтобы симулировать алгоритм вождения в этой сцене:
Добавьте блок Simulation 3D Scene Configuration к Simulink® модель.
В этом блоке установите параметр Scene source равным Default Scenes
.
Установите параметр enabled Scene name равным Open surface
.
Исследуйте сцену 3D Открыть поверхность (Open Surface) и смотрите ее размерности с помощью соответствующего изображения 2D виде сверху сцены.
Можно использовать это изображение для просмотра сцены перед симуляцией и выбора начальных координат для транспортных средств. Для получения дополнительной информации об использовании этих изображений для выбора точек пути для следующих по пути приложений, смотрите пример выбора точек пути для Unreal Engine Simulation.
Загрузите 2D пространственный объект привязки, который соответствует сцене. Этот imref2d
объект описывает отношение между пикселями в изображении и мировыми координатами сцены.
data = load('sim3d_SpatialReferences.mat');
spatialRef = data.spatialReference.OpenSurface
spatialRef = imref2d with properties: XWorldLimits: [-130.5500 894.4500] YWorldLimits: [-567.2500 457.7500] ImageSize: [4845 4845] PixelExtentInWorldX: 0.2116 PixelExtentInWorldY: 0.2116 ImageExtentInWorldX: 1025 ImageExtentInWorldY: 1025 XIntrinsicLimits: [0.5000 4.8455e+03] YIntrinsicLimits: [0.5000 4.8455e+03]
Отображение изображения, соответствующего сцене. Используйте пространственный объект привязки для отображения осей в мировых координатах сцены. Модули измерения указаны в метрах.
По умолчанию в imshow
функция отображает значения оси Y, которые увеличиваются сверху вниз. Чтобы выровнять по системе координат Automated Driving Toolbox™ world, установите направление Y равным 'normal'
так что значения оси Y увеличиваются снизу вверх.
Разместите маркер в источник сцены.
figure fileName = 'sim3d_OpenSurface.jpg'; I = imshow(fileName,spatialRef); set(gca,'YDir','normal') xlabel('X (m)') ylabel('Y (m)') hold on plot(0,0,'o','MarkerFaceColor','r','MarkerEdgeColor','k','MarkerSize',8) offset = 10; % px text(offset,offset,'(0,0)','Color','w','FontWeight','bold','FontSize',12) hold off
Если у вас есть пакет поддержки Automated Driving Toolbox™ Interface для Unreal Engine 4 Projects, можно изменить эту сцену. В файле проекта Unreal Engine, который поставляется с пакетом поддержки, эта сцена называется BlackLake
.
Для получения дополнительной информации о настройке сцен смотрите Настройка нереальных сцен Engine для автоматического вождения.