Vehicle Dynamics Blockset™ прибывает установленный с предварительно созданными 3D сценами, в которых можно симулировать и визуализировать транспортные средства, смоделированные в Simulink®. Эти 3D сцены визуализируются с помощью Нереального Engine® из Epic Games®. При помощи Редактора Unreal® можно настроить эти сцены или симулировать в сценах из собственного проекта.
С пользовательскими сценами вы можете co-simulate в Simulink и Нереальном Редакторе так, чтобы можно было изменить сцены между запусками симуляции. Можно также группировать сцены в исполняемый файл и симулировать без Нереального Редактора. Исполняемые файлы не требуют, чтобы открытие Нереального Редактора симулировало вашу сцену. Вместо этого сцена запускается при помощи Нереального Engine, который прибывает установленный с Vehicle Dynamics Blockset.
Чтобы настроить 3D сцены, необходимо быть знакомы с созданием и изменением сцен в Нереальном Редакторе. Чтобы симулировать с этими пользовательскими сценами, в вашей модели Simulink, необходимо установить параметры блоков Simulation 3D Scene Configuration Scene source на Unreal Executable
или Unreal Editor
.
Эта таблица обеспечивает шаги для настройки сцен.
Шаг | Описание |
---|---|
Проверьте требования программного и аппаратного обеспечения (одноразовый шаг) | Проверьте требования программного и аппаратного обеспечения. |
Установите пакет поддержки и сконфигурируйте индивидуальную настройку сцены (одноразовый шаг) | Используйте Add-On Explorer, чтобы установить пакет поддержки, который содержит Нереальный файл Engine 4.23 проекта. |
Настройте 3D среду симуляции, чтобы использовать файл проекта. | |
Переместите проекты, разработанные Используя предшествующие пакеты поддержки (Необязательно) | Переместите проект, что вы разработали использование предшествующего релиза Интерфейса Vehicle Dynamics Blockset для Нереального Engine 4 пакета поддержки Проектов. |
Установите связь между Нереальным Редактором, MATLAB® и Simulink так, чтобы можно было отредактировать сцены. | |
Создайте или измените сцены в нереальном редакторе | Используйте Нереальный Редактор, чтобы настроить сцены в проекте. Можно использовать Simulation 3D Message Set и блоки Simulation 3D Message Get, чтобы отправить и получить данные сцены от Нереального Engine 3D среда визуализации. Необходимо сконфигурировать среду визуализации, чтобы связаться с данными модели Simulink. Для получения информации см. документацию блока и файл пакета поддержки QuickStart_Message_Get_Set. |
Сцена Ко-Симулэйта в нереальном редакторе и Simulink | Симулируйте пользовательскую сцену и в Нереальном Редакторе и в Simulink. |
Симулируйте пользовательскую сцену Используя исполняемый файл (Необязательно) | Создайте Нереальный исполняемый файл проекта Engine, который содержит ваши обновления. |
Прежде, чем создать пользовательские сцены, убедитесь, что ваша среда удовлетворяет минимальные требования программного и аппаратного обеспечения.
Windows® 64-битная платформа — 3D среда симуляции не поддержан на платформах Linux® и Mac.
Нереальный Редактор 4.23 — Чтобы настроить сцены, у вас должна быть эта определенная версия Нереального установленного Редактора. Чтобы загрузить эту версию, смотрите Нереальный веб-сайт Engine.
Визуальный Studio® 2017 или выше — Это программное обеспечение требуется для использования Нереального Редактора, чтобы настроить сцены.
Microsoft® DirectX® — Если это программное обеспечение уже не установлено на вашей машине, и вы пытаетесь симулировать в 3D среде, Vehicle Dynamics Blockset предлагает вам устанавливать его. Если вы устанавливаете программное обеспечение, необходимо перезапустить симуляцию.
Интерфейс Vehicle Dynamics Blockset для Нереального Engine 4 Пакета Поддержки Проектов — Для инструкций по установке и настройке, смотрите Пакет Поддержки Установки и Сконфигурируйте Индивидуальную настройку Сцены (Одноразовый Шаг).
3D среда симуляции также требует:
Видеокарта (графический процессор) — Готовый к виртуальной реальности графический процессор с 8 Гбайт встроенного RAM
Процессор (центральный процессор) — 2,60 ГГц
Память (RAM) — 12 Гбайт
На вкладке MATLAB Home, в разделе Environment, выбирают Add-Ons> Get Add-Ons.
В окне Add-On Explorer ищите Интерфейс Vehicle Dynamics Blockset для Нереального Engine 4 пакета поддержки Проектов. Нажмите Install.
У вас должно быть разрешение записи для папки установки.
Пакет поддержки включает:
Нереальный проект Engine, AutoVrtlEnv.uproject
, и его связанные файлы. Проект включает доступные для редактирования версии предварительно созданных 3D сцен, которые можно выбрать из параметра Scene description блока Simulation 3D Scene Configuration. Чтобы использовать этот проект, необходимо скопировать файл в папку на локальной машине.
Сменный файл, MathWorkSimulation.uplugin
. Этот плагин устанавливает связь между MATLAB и Нереальным Редактором и требуется для co-симуляции. Необходимо скопировать этот плагин в локальную установку редактора.
Чтобы скопировать проект в локальную папку и плагин к вашей Нереальной установке Редактора, выполните эти одноразовые шаги. Используйте Код, Который Конфигурирует Настройку Сцены (Шаги 1-4).
Шаг | Описание |
---|---|
1 | Задайте местоположение файлов проекта пакета поддержки и локального места назначения папки. ПримечаниеУ вас должно быть разрешение записи для локального места назначения папки. |
2 | Задайте местоположение Нереальной установки Engine, например |
3 | Скопируйте |
4 | Скопируйте папку пакета поддержки, которая содержит |
%% STEP1 % Specify the location of the support package project files and a local folder destination % Note: Only one path is supported. Select latest download path. dest_root = "C:\Local"; src_root = fullfile(matlabshared.supportpkg.getSupportPackageRoot, ... "toolbox", "shared", "sim3dprojects", "automotive"); %% STEP2 % Specify the location of the Unreal Engine installation. ueInstFolder = "C:\Program Files\Epic Games\UE_4.23"; %% STEP3 % Copy the MathWorksSimulation plugin to the Unreal Engine plugin folder. mwPluginName = "MathWorksSimulation"; mwPluginFolder = fullfile(src_root, "PluginResources", "UE423"); % choose UE version uePluginFolder = fullfile(ueInstFolder, "Engine", "Plugins"); uePluginDst = fullfile(uePluginFolder, "Marketplace", "MathWorks"); cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName + ".uplugin"); if ~isempty(foundPlugins) numPlugins = size(foundPlugins, 1); msg2 = cell(1, numPlugins); pluginCell = struct2cell(foundPlugins); msg1 = "Plugin(s) already exist here:" + newline + newline; for n = 1:numPlugins msg2{n} = " " + pluginCell{2,n} + newline; end msg3 = newline + "Please remove plugin folder(s) and try again."; msg = msg1 + msg2 + msg3; warning(msg); else copyfile(mwPluginFolder, uePluginDst); disp("Successfully copied MathWorksSimulation plugin to UE4 engine plugins!") end %% STEP4 % Copy the support package folder that contains the AutoVrtlEnv.uproject % files to the local folder destination. projFolderName = "AutoVrtlEnv"; projSrcFolder = fullfile(src_root, projFolderName); projDstFolder = fullfile(dest_root, projFolderName); if ~exist(projDstFolder, "dir") copyfile(projSrcFolder, projDstFolder); end
Если ваша модель Simulink использует Нереальный исполняемый файл Engine, или проект разработал использование предшествующего релиза Интерфейса Vehicle Dynamics Blockset для Нереального Engine 4 пакета поддержки Проектов, необходимо переместить проект сделать его совместимым с Нереальным Редактором 4.23. Выполните эти шаги:
Откройте Нереальный Engine 4.23. Например, перейдите к C:\Program Files\Epic Games\UE_4.23\Engine\Binaries\Win64
и открытый UE4Editor.exe
.
Используйте Нереальный Браузер Проекта, чтобы открыть проект, который вы хотите переместить.
Следуйте за подсказками, чтобы открыть копию проекта. Редактор создает папку нового проекта в том же месте как оригинал, добавленный с 4,23. Закройте редактор.
В файловом менеджере удалите пробел на перемещенное имя папки проекта. Например, переименуйте MyProject 4.23
к MyProject4.23
.
Используйте MATLAB, чтобы открыть перемещенный проект в Нереальном Редакторе 4.23. Например, если у вас есть перемещенный проект, сохраненный в C:/Local
папка, используйте этот код MATLAB:
path = fullfile('C:','Local','MyProject4.23','MyProject.uproject'); editor = sim3d.Editor(path); open(editor);
Пакет поддержки R2020a включает изменения в реализацию некоторых агентов. Поэтому, если исходный проект содержит агентов, которые помещаются в сцену, некоторые из них не могут полностью мигрировать на Нереальный Редактор 4.23. Чтобы проверять, исследуйте Выходной Журнал.
Журнал может содержать сообщения об ошибке. Для получения дополнительной информации см. Нереальную документацию Engine 4 или свяжитесь с MathWorks Technical Support.
Опционально, после того, как вы перемещаете проект, можно использовать проект создать Нереальный исполняемый файл Engine. Смотрите Сцену Пакета в Исполняемый файл Используя Нереальный Редактор.
При редактировании пользовательских сцен, если вы открываете файл проекта непосредственно в Нереальном Редакторе, MATLAB и Simulink не устанавливают связь с редактором. Поэтому вы не можете позже симулировать с этими сценами в Simulink. Вместо этого вы должны, необходимо открыть редактор из MATLAB при помощи sim3d.Editor
функция. Эта функция создает Editor
объект, который содержит путь к вашему файлу проекта. Можно затем вызвать open
функция на этом объекте открыть редактор из MATLAB и начать редактировать ваш проект.
В первый раз, когда вы открываете Нереальный Редактор из MATLAB, вас можно попросить восстановить UE4Editor
Файлы DLL. Нажмите Yes, чтобы восстановить их.
AutoVrtlEnv
Проект, содержащий предварительно созданные сценыОткрыть AutoVrtlEnv.uproject
файл, который был скопирован с Интерфейса Vehicle Dynamics Blockset для Нереального Engine 4 пакета поддержки Проектов, задает путь туда, где вы скопировали этот проект. Например, если вы скопировали AutoVrtlEnv.uproject
к C:/Local/AutoVrtlEnv
, как показано в предыдущем разделе, используйте этот код:
path = fullfile('C:','Local','AutoVrtlEnv','AutoVrtlEnv.uproject'); editor = sim3d.Editor(path); open(editor);
Редактор открывает AutoVrtlEnv.uproject
файл. По умолчанию проект отображает сцену Straight Road.
Чтобы открыть проект, что вы разработали использование предшествующего релиза пакета поддержки, смотрите, Перемещают Проекты, Разработанные Используя Предшествующие Пакеты Поддержки.
Чтобы открыть ваш собственный проект, используйте те же команды, используемые, чтобы открыть AutoVrtlEnv.uproject
файл. Обновите path
переменная с путем к вашему .uproject
файл. Например, если у вас есть проект, сохраненный в C:/Local
папка, используйте этот код:
path = fullfile('C:','Local','myProject','myProject.uproject'); editor = sim3d.Editor(path); open(editor);
Если это - ваш первый раз, открывающий пользовательский проект в Нереальном Редакторе 4.23, вы, возможно, должны сопоставить, или reparent, этот проект с проектом уровня Sim3dLevelScriptActor, используемым в Vehicle Dynamics Blockset. level blueprint управляет, как объекты взаимодействуют когда-то помещенные в в Нереальной среде. Если вы не повторно порождаете проект к этому проекту уровня, симуляция возвращает ошибку.
Повторно порождать проект уровня:
На панели инструментов Unreal Editor выше окна редактора выберите Blueprints> Open Level Blueprint.
В окне Level Blueprint выберите File> Reparent Blueprint.
Кликните по проекту Sim3dLevelScriptActor и закройте окно Level Blueprint.
Если вы не видите этот проект, убедитесь, что у вас есть MathWorksSimulation
установленный плагин и включил.
Перейдите назад к окну редактора. На панели инструментов выше этого окна выберите Settings> Plugins.
В окне Plugins проверьте, что плагин MathWorks Interface появляется. Этот плагин относится к MathWorksSimulation.uplugin
файл, что вы скопировали в свою локальную Нереальную установку Редактора с Пакета Поддержки Vehicle Dynamics Blockset для Нереального Engine 4 Проекта.
Если вы, установка редактора включает плагин, то, когда вы открываете проект в редакторе впервые, вам предлагают включить этот плагин. Если вы не видите плагин MathWorks Interface в этом окне, повторите шаги под и вновь откройте редактор из MATLAB.
Установите флажок Enabled.
Закройте редактор, вновь откройте его из MATLAB и повторите шаги, чтобы повторно породить проект.
После того, как вы откроете редактор из MATLAB, можно изменить сцены в проекте перед co-симуляцией. Можно также создать сцены в проекте.
В Нереальном Редакторе сцены в рамках проекта упоминаются как levels, и определенный тип уровня для этих сцен известен как maps.
Открыть предварительно созданную сцену из AutoVrtlEnv.uproject
файл, в панели Content Browser ниже окна редактора, перешел к папке Content> Maps. Затем выберите карту, которая соответствует сцене, которую вы хотите изменить.
Сцена Vehicle Dynamics Blockset | Нереальная карта редактора |
---|---|
Кервед-Роуд |
|
Двойное изменение маршрута |
|
Открытая поверхность |
|
Большая парковка |
|
Парковка |
|
Стрэайт-Роуд |
|
Городской квартал США |
|
Магистраль США |
|
AutoVrtlEnv.uproject
файл не включает сцену Virtual Mcity.
Чтобы открыть сцену в рамках вашего собственного проекта, в панели Content Browser, перешли к папке, которая содержит ваши сцены.
Блок Simulation 3D Message Get получает данные от Нереального Engine 3D среда визуализации. Чтобы использовать блок, необходимо сконфигурировать сцены в Нереальной среде Engine, чтобы отправить данные в модель Simulink.
Для получения дальнейшей информации об использовании блока, чтобы настроить сцены, смотрите файл пакета поддержки QuickStart_Message_Get_Set
и документация Simulation 3D Message Get.
Блок Simulation 3D Message Set отправляет данные в Нереальный Engine 3D среда визуализации. Чтобы использовать блок, необходимо сконфигурировать сцены в Нереальной среде Engine, чтобы получить данные из модели Simulink.
Для получения дальнейшей информации об использовании блока, чтобы настроить сцены, смотрите файл пакета поддержки QuickStart_Message_Get_Set
и документация Simulation 3D Message Set.
Чтобы создать сцену в вашем проекте, из главного меню редактора, выбирают File> New Level.
В качестве альтернативы можно создать сцену из существующей. Этот метод полезен, например, если вы хотите использовать одну из предварительно созданных сцен в AutoVtrlEnv
проект как начальная точка для создания вашей собственной сцены. Чтобы сохранить версию в настоящее время открытой сцены к вашему проекту, из главного меню редактора, выбирают File> Save Current As. Новая сцена сохранена в то же местоположение как существующая сцена.
Можно изменить сцены в проекте путем перетаскивания объектов сцены в Нереальном Редакторе. В качестве альтернативы можно выбрать объект сцены в окне редактора и затем изменить его свойства в панели Details справа. Например, чтобы сменить положение, ориентация или размер объекта, в панели Details, использует опции в разделе Transform.
Нереальный Редактор использует левый Z - система координат, где Y - ось указывает направо. При расположении объектов в сцену помните об этом различии в системе координат.
Дополнительные сведения об изменении сцен в Нереальном Редакторе см. в Нереальной документации Engine 4.
Чтобы добавить объекты в сцену, можно просмотреть или искать объекты в панели Content Browser в нижней части и перетащить их в окно редактора.
При добавлении объектов в сцену в AutoVrtlEnv
проект (или сцена в проекте, который базировался от этого проекта), можно выбрать из библиотеки связанных с управлением объектов. Эти объекты, известные как static meshes, начинаются с префиксного sm_
. Ищите эти объекты в панели Content Browser в нижней части.
Например, чтобы добавить конус трафика в сцену в AutoVrtlEnv
проект:
В панели Content Browser в нижней части редактора перейдите к папке Content.
В панели поиска ищите SM_Cone
. Перетащите конус от Content Browser в окно редактирования. Можно затем сменить положение конуса в окне редактирования или на панели Details справа в разделе Transform.
Переместить эти объекты, также известные как assets, от AutoVrtlEnv
- основанный проект в ваш собственный файл проекта, смотрите Мигрирующие Активы в Нереальной документации Engine.
После того, как вы откроете пользовательскую сцену в Нереальном Редакторе, можно симулировать эту сцену и в редакторе и в Simulink. При помощи этой среды co-симуляции можно добавить транспортные средства и датчики к модели Simulink, и затем воспроизвести эту симуляцию в пользовательской сцене. Этот вид рабочего процесса симуляции позволяет вам настроить свою пользовательскую сцену на основе результатов симуляции прежде, чем группировать сцену в исполняемый файл.
Чтобы настроить co-симуляцию Simulink с Нереальным Редактором, в вашей модели Simulink, дважды кликают блок Simulation 3D Scene Configuration. Установите Scene source на Unreal Editor
.
Чтобы запустить симуляцию, в Simulink, нажимают Run. Прежде чем вы будете нажимать Play в Нереальном Редакторе, будете ожидать, пока окно Diagnostic Viewer не отображает это подтверждающее сообщение:
In the Simulation 3D Scene Configuration block, you set the scene source to 'Unreal Editor'. In Unreal Editor, select 'Play' to view the scene.
По умолчанию Нереальный Редактор отображает сцену из источника сцены. Чтобы отобразить сцену с точки зрения транспортного средства, в блоке Simulation 3D Scene Configuration, выбирают имя транспортного средства из параметра Scene view. В следующий раз вы симулируете в рамках редактора, отображений сцены от источника транспортного средства, который находится на земле ниже геометрического центра транспортного средства. Чтобы изменить это представление, используйте цифровую клавиатуру в редакторе.
Ключ | Поле зрения камеры | |
---|---|---|
1 | Назад оставленный |
|
2 | Назад | |
3 | Обратное право | |
4 | Левый | |
5 | Внутренний | |
6 | Право | |
7 | Передняя сторона оставлена | |
8 | Передняя сторона | |
9 | Переднее право | |
0 | Наверху |
Чтобы перезапустить симуляцию, нажмите Run в модели Simulink, ожидайте, пока Диагностическое Средство просмотра не отображает подтверждающее сообщение, и затем нажмите Play в редакторе.
Если вы - co-симуляция пользовательский проект, для цифровой клавиатуры, чтобы работать в редакторе, копируете DefaultInput.ini
файл от папки установки пакета поддержки до вашей пользовательской папки проекта. Например, скопируйте DefaultInput.ini
от:
C:\ProgramData\MATLAB\SupportPackages\R2020a\toolbox\shared\sim3dprojects\automotive\AutoVrtlEnv\Config
C:\<yourproject>.project\Config
Когда вы удовлетворены своей пользовательской сценой, можно группировать файл проекта, содержащий эту сцену в исполняемый файл. Можно затем сконфигурировать модель, чтобы симулировать от этого исполняемого файла при помощи блока Simulation 3D Scene Configuration. Исполняемые файлы могут улучшать производительность симуляции и не требуют, чтобы открытие Нереального Редактора симулировало вашу сцену. Вместо этого сцена запускается при помощи Нереального Engine, который прибывает установленный с Vehicle Dynamics Blockset.
Симулировать сцену при помощи исполняемого файла, первый пакет проект, который содержит сцену в исполняемый файл. Затем симулируйте эту сцену в своей модели Simulink.
Откройте проект, который содержит сцену в Нереальном Редакторе. Используйте sim3d.Editor
функция. Для получения дополнительной информации смотрите раздел Open Unreal Editor from MATLAB.
В меню выше окна редактора выберите Settings> Project Settings, чтобы открыть окно Project Settings.
На левой панели, на разделе Project, нажимают Packaging.
В разделе Packaging, набор эти опции:
Упаковка опции | Включить или отключить? |
---|---|
Use Pak File | Включить |
Cook everything in the project content directory (ignore list of maps below) | Отключить |
Cook only maps (this only affects cookall) | Включить |
Create compressed cooked packages | Включить |
Exclude editor content while cooking | Включить |
Если вы не видите, что все эти опции, в нижней части раздела Packaging, кликают по расширителю Show Advanced.
Задайте сцену из проекта, который вы хотите группировать в исполняемый файл.
В опции List of maps to include in a packaged build нажмите кнопку Adds Element.
Задайте путь к сцене, которую вы хотите включать в исполняемый файл. По умолчанию Нереальный Редактор сохраняет карты в /Game/Maps
папка. Поэтому, если /Game/Maps
папка имеет сцену под названием myScene
то, что вы хотите включать в исполняемый файл, введите /Game/Maps/myScene
.
Добавьте или удалите дополнительные сцены по мере необходимости.
Упаковка проекта в исполняемый файл может занять несколько минут. Чем больше сцен, которые вы включаете в исполняемый файл, тем дольше упаковочные взятия.
Закройте окно Project Settings.
В главном меню редактора выберите File> Package Project> Windows> Windows (64-bit). Выберите локальную папку, в которой можно сохранить исполняемый файл, такой относительно корня файла проекта. Например, C:/Local/myProject
.
Если упаковка завершена, папка, где вы сохраненный пакет содержите WindowsNoEditor
папка, которая включает исполняемый файл. Этот файл имеет то же имя как файл проекта.
Например, предположите, что вы группируете сцену, которая является от myProject.uproject
файл и сохраняет исполняемый файл в C:/Local/myProject
папка. Редактор создает файл с именем myProject.exe
с этим путем:
C:/Local/myProject/WindowsNoEditor/myProject.exe
Если вы повторно группируете проект в ту же папку, новая исполняемая папка перезаписывает старый.
Чтобы улучшать производительность co-симуляции, рассмотрите конфигурирование блока Simulation 3D Scene Configuration к co-simulate с исполняемым файлом проекта.
В вашей модели Simulink откройте блок Simulation 3D Scene Configuration.
Установите эти параметры:
Scene source к Unreal Executable
.
File name к имени Нереального исполняемого файла Engine в виде допустимого исполняемого имени. Можно или просмотреть файл или задать полный путь к файлу при помощи обратных косых черт. Например:
C:\Local\myProject\WindowsNoEditor\myProject.exe
Scene к имени сцены из в исполняемом файле в виде пути к допустимому имени сцены. Например:
/Game/Maps/myScene
Запустите симуляцию. Модель симулирует в пользовательской сцене, которую вы создали.
Если при запуске Нереальный двигатель, не выполняя шаги в Открытом Нереальном Редакторе от Сцены MATLAB and Co-Симулэйта в Нереальном Редакторе и Simulink, можно получить предупреждение, которое читает: Warning: Integration with MATLAB/Simulink is not active
. Нереальный Engine может отказать, если вы затем продолжаете работать с Нереальным Редактором.
Создать исполняемый файл проекта, MathWorksSimulation
плагин должен быть расположен в Нереальной папке плагина Engine. Проверяйте что MathWorksSimulation
плагин не находится в AutoVrtlEnv
папка или подпапки. Настройте среду путем выполнения шагов в Открытом Нереальном Редакторе из MATLAB.
Simulation 3D Message Get | Simulation 3D Message Set | Simulation 3D Scene Configuration | Виртуальный Макити | sim3d.Editor