Отправьте и получите данные сцены изменения Двойного Маршрута

Этот пример показывает вам, как использовать Simulation 3D Message Set и блоки Simulation 3D Message Get, чтобы связаться с 3D средой визуализации, когда вы запускаете маневр изменения двойного маршрута. А именно, вы используете:

  • Блок Simulation 3D Message Get, чтобы получить, сколько конусов транспортное средство совершает нападки во время маневра.

  • Блок Simulation 3D Message Set, чтобы управлять световым индикатором трафика.

Для минимального оборудования, требуемого запускать пример, смотрите 3D Требования Engine Визуализации и Ограничения.

Запустите маневр изменения Двойного Маршрута, который поражает конусы

С 3D включенной средой визуализации запустите маневр изменения двойного маршрута, который поражает конусы.

  1. Создайте и откройтесь, рабочая копия двойного маршрута изменяют проект примера готовых узлов.

  2. Включите 3D среду визуализации. В подсистеме Визуализации откройте маску блока 3D Engine и выберите Enabled. Примените изменения и сохраните модель.

    В качестве альтернативы в командной строке MATLAB®, введите этот код.

     См. код, который включает 3D среду

  3. В верхнем уровне модели, устанавливает параметры блоков Lane Change Reference Generator так, чтобы транспортное средство успешно не завершало маневр. Установите эти параметры блоков, примените изменения и сохраните модель.

    • Maneuver start time к 5.

    • Longitudinal entrance velocity setpoint к 36.

    В качестве альтернативы в командной строке MATLAB, введите этот код.

     См. код, который устанавливает параметры

  4. Запустите маневр в течение 30 секунд. Когда симуляция запускается в окне AutoVrtlEnv, вы видите, что транспортное средство врезается в конусы.

     См. код, который запускает симуляцию

Используйте блок Simulation 3D Message Get, чтобы получить конические данные

Используйте блок Simulation 3D Message Get, чтобы получить, сколько конусов транспортное средство совершает нападки во время маневра. По умолчанию маневр использует сцену изменения двойного маршрута.

  1. Перейдите к Визуализации> 3D Подсистемы двигателей. Щелкните правой кнопкой по блоку 3D Engine и выберите Mask> Look Under Mask. В Визуализации> 3D Engine> 3D Подсистемы двигателей, вставьте эти блоки:

    • Simulation 3D Message Get

    • Display

    • Math Function

  2. Установите параметры блоков Simulation 3D Message Get так, чтобы блок получил конические данные от сцены изменения двойного маршрута. Установите эти параметры блоков, примените изменения и сохраните модель.

    • Signal name, SigName к NumOfConesHit

    • Data type, DataType к boolean

    • Message size, MsgSize к [2 15]

    • Sample time к -1

    В качестве альтернативы в командной строке MATLAB, введите этот код.

     См. код, который устанавливает параметры

  3. Установите блок Math Function параметр Output dimensionality на transpose. Когда вы запускаете симуляцию, блок Math Function выводит [15 2] массив.

    В качестве альтернативы в командной строке MATLAB, введите этот код.

     См. код, который устанавливает параметры

  4. Соедините Simulation 3D Message Get, Math Function и блоки Display как показано. Подтвердите параметры блоков. Сохраните модель.

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

    • Simulation 3D Scene Configuration0

    • Simulation 3D Message Get1

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

  6. Запустите маневр. Когда симуляция запускается, обновления блока отображения с ReadMsg булево значение 1 когда транспортное средство врезается в соответствующий конус.

    Результаты показывают, что транспортное средство врезается в SM_Cone20 и SM_Cone30 во время маневра.

    Эта таблица обеспечивает, Двойной Маршрут Изменяют название конуса сцены, которое соответствует ReadMsg элемент массива.

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

    Unreal® Editor Cone Name

    Элемент блочного массива 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

Используйте блок Simulation 3D Message Set, чтобы управлять световым индикатором трафика

  1. Перейдите к Визуализации> 3D Подсистемы двигателей. Щелкните правой кнопкой по блоку 3D Engine и выберите Mask> Look Under Mask. В Визуализации> 3D Engine> 3D Подсистемы двигателей, вставьте эти блоки:

    • Simulation 3D Message Set

    • Repeating Sequence Stair

  2. Установите параметры блоков Simulation 3D Message Set так, чтобы блок отправил данные сигнала трафика в сцену изменения двойного маршрута. Установите эти параметры блоков, примените изменения и сохраните модель.

    • Signal name, SigName к TrafficLight1

    • Sample time к -1

    Эта таблица обеспечивает цвет светового индикатора трафика сцены, который соответствует WriteMsg значение в Двойной сцене Изменения Маршрута.

    Блок Simulation 3D Message Set WriteMsg Значение

    TrafficLight1 Цвет

    0Red
    1Yellow
    2Green

    В качестве альтернативы в командной строке MATLAB, введите этот код.

     См. код, который устанавливает параметры

  3. Установите параметры блоков Repeating Sequence Stair отправлять команду, которая соответствует красным, желтым, и зеленым сигналам светофора. Установите эти параметры блоков, примените изменения и сохраните модель.

    • Vector of output values: к [0 0 0 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2].'

    • Sample time к 1

    • Output data type к int32

    В качестве альтернативы в командной строке MATLAB, введите этот код. Примените изменения блока и сохраните модель.

     См. код, который устанавливает параметры

  4. Соедините блоки как показано. Подтвердите параметры блоков и связи сигнала. Сохраните модель.

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

    • Simulation 3D Scene Configuration0

    • Simulation 3D Message Set-1

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

  6. Запустите маневр. Когда симуляция запускается в окне AutoVrtlEnv, вы видите TrafficLight1 легкое изменение от красного до желтого к зеленому.

    Область (области) значений времени

    WriteMsg Значение

    TrafficLight1 Цвет

    0–3

    0Red

    3–5

    1Yellow

    5–30

    2Green

Смотрите также

| | | |

Связанные примеры

Больше о