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