Simulation 3D Message Get

Получение данных из окружения визуализации Unreal Engine

  • Библиотека:
  • Динамика автомобиля Blockset/Сценарии автомобиля/ Sim3D/ Sim3D Ядро

  • Simulation 3D Message Get block

Описание

Блок Simulation 3D Message Get извлекает данные из Unreal Engine® 3D окружения визуализации. В вашей модели убедитесь, что блок Simulation 3D Scene Configuration находится на том же уровне, что и блок Simulation 3D Message Get.

Совет

Проверьте, что блок Simulation 3D Scene Configuration выполняется перед блоком Simulation 3D Message Get. Таким образом, окружение визуализации 3D Unreal Engine подготавливает данные до того, как блок Simulation 3D Message Get получит их. Чтобы проверить порядок выполнения блока, щелкните правой кнопкой мыши блоки и выберите Properties. На вкладке General подтвердите следующие Priority настройки:

  • Simulation 3D Scene Configuration0

  • Simulation 3D Message Get1

Для получения дополнительной информации о порядке выполнения смотрите Управление и Отображение порядка выполнения.

Сконфигурируйте сцены для отправки данных

Чтобы использовать блок, вы должны сконфигурировать сцены в среде Unreal Engine, чтобы отправить данные в Simulink® модель:

  1. Установите Настройте 3D сцены для симуляций динамики аппарата.

  2. В нереальном® Редактор, следуйте этим общим рабочим процессам, чтобы отправить данные в Simulink. Для получения дополнительной информации смотрите Запуск Связь с Окружением визуализации Unreal Engine.

    Нереальный пользователь Engine

    Рабочий процесс

    Проект

    1. Создайте экземпляр Sim3DSet актёр, который соответствует типу данных, которые вы хотите отправить в модель Simulink. Этот пример показывает Unreal Editor Sim3DSet типы данных.

      Image of Unreal Engine options

    2. Задайте имя тега актёра, которое соответствует параметру Simulation 3D Message Get block Signal name.

    3. Перейдите к концептуальному проекту уровня.

    4. Найдите метод концептуального проекта для Sim3DSet класс актёра на основе типа данных и размера, заданных параметрами Simulation 3D Message Get block Data type и Message size.

      Для примера в Unreal Редактора эта схема показывает, что Write Array Boolean является методом для Sim3DSetBoolean класс актёра, который отправляет логический тип данных массивов размера 30.

      Image of Unreal Engine bluepring connections

    5. Скомпилируйте и сохраните сцену.

    Примечание

    По умолчанию сцена «Смена двойного маршрута» имеет Sim3DSetBoolean актёр с именем тега NumOfConesHit.

    Класс C++

    1. Создайте новый класс актёра для mesh или актива, с которым вы хотите взаимодействовать в модели Simulink. Выведите его из ASim3dActor.

    2. В новом классе актёра:

      • Объявите указатель на имя сигнала как поле класса.

      • Получите тег класса.

      • Создайте средство записи сигнала и назначьте указатель в методе Sim3dSetup.

      • В методе Sim3dStep, активируйте WriteSimulation3DMessage функция для записи данных в модель Simulink.

      • Удалите средство записи сигнала в методе Sim3dRelease актёра.

    Дополнительные сведения о редакторе Unreal см. в документации Unreal Engine 4.

Порты

Выход

расширить все

Данные, извлеченные из данных сцены окружения визуализации 3D. В среде Unreal Engine можно использовать Sim3DSet класс, чтобы сконфигурировать актёров сцены, чтобы отправить данные в модель Simulink.

Для примера в редакторе Unreal у сцены Double Lane Change есть Sim3DSetBoolean актёр с именем тега NumOfConesHit. Используйте его, чтобы извлечь количество конусов, которые транспортное средство поражает во время маневра двухполосного переключения.

В этой таблице приведено имя конуса сцены смены двойного маршрута, которое соответствует ReadMsg элемент массива.

Simulation 3D Message Get блок- ReadMsg Значение

Нереальное имя конуса редактора

Simulation 3D Message Get Блока Элемента массива

Нереальное имя конуса редактора

ReadMsg(1,1)SM_Cone5ReadMsg(2,1)SM_Cone10
ReadMsg(1,2)SM_Cone4ReadMsg(2,2)SM_Cone09
ReadMsg(1,3)SM_Cone3ReadMsg(2,3)SM_Cone08
ReadMsg(1,4)SM_Cone2ReadMsg(2,4)SM_Cone07
ReadMsg(1,5)SM_Cone01ReadMsg(2,5)SM_Cone06
ReadMsg(1,6)SM_Cone15ReadMsg(2,6)SM_Cone20
ReadMsg(1,7)SM_Cone14ReadMsg(2,7)SM_Cone19
ReadMsg(1,8)SM_Cone13ReadMsg(2,8)SM_Cone18
ReadMsg(1,9)SM_Cone12ReadMsg(2,9)SM_Cone17
ReadMsg(1,10)SM_Cone11ReadMsg(2,10)SM_Cone16
ReadMsg(1,11)SM_Cone25ReadMsg(2,11)SM_Cone30
ReadMsg(1,12)SM_Cone24ReadMsg(2,12)SM_Cone29
ReadMsg(1,13)SM_Cone23ReadMsg(2,13)SM_Cone28
ReadMsg(1,14)SM_Cone22ReadMsg(2,14)SM_Cone27
ReadMsg(1,15)SM_Cone21ReadMsg(2,15)SM_Cone26

Параметры

расширить все

Задает имя сигнала в 3D окружении визуализации. В среде Unreal Engine используйте Sim3DSet свойство класса актёра 'Tags', расположенное на панели 'Details'.

Для примера можно получить данные из сцены двухполосного изменения, которые указывают, попадают ли конусы во время маневра двухполосного изменения. Чтобы получить данные о попадании конуса из сцены двухполосного изменения, установите этот параметр равным NumOfConesHit. В двухполосной сцене смены графика Sim3DSet для свойства класса актёра 'Tags' задано значение NumOfConesHit.

3D типа данных окружения визуализации. Поддерживаемые типы данных зависят от рабочего процесса Unreal Engine.

Рабочий процесс

Поддерживаемые типы данных

Проект

single

int32

Boolean

* Класс C++

double

single

int8

uint8

int16

uint16

int32

uint32

Boolean

В среде Unreal Engine создайте экземпляр Sim3DSet класс актёра для типа данных, которые вы хотите отправить в модель Simulink. Для примера можно получить данные из сцены двухполосного изменения, которые указывают, попадают ли конусы во время маневра двухполосного изменения. Чтобы получить данные о попадании конуса из сцены двухполосного изменения, установите этот параметр равным boolean. В двухполосной сцене смены графика Sim3DSetBoolean класс актёра создается для отправки совпадения или пропуска логических данных конуса.

3D размерности сигнала окружения визуализации. В проекте окружения Unreal Engine установите вход в узел Sim3DSet класс актёра, чтобы задать размерности данных, которые вы хотите отправить в модель Simulink.

Для примера можно получить данные из сцены двухполосного изменения, которые указывают, попадают ли конусы во время маневра двухполосного изменения. Чтобы получить данные о попадании конуса из сцены двухполосного изменения, установите этот параметр равным [2 15]. В двухполосной сцене изменения, вход в узел концептуального проекта для Sim3DSetBoolean класс актёра устанавливается равным 30, количество конусов в сцене.

Шаг расчета, в с. Темп системы координат графики является обратным шагом расчета. Если вы задаете значение шага расчета -1, блок использует шаг расчета, заданный в блоке Simulation 3D Scene Configuration.

Введенный в R2019b
Для просмотра документации необходимо авторизоваться на сайте