Соедините виртуальные миры и модели

После того, как вы создаете виртуальный мир и Simulink® модель, чтобы иметь виртуальный мир взаимодействуют с симуляцией динамической системы, соединяют модель и виртуальный мир с помощью блоков Simulink 3D Animation™.

Симуляция модели Simulink генерирует данные сигнала для динамической системы. К выходным данным из модели, чтобы управлять и анимировать виртуальный мир, используйте блок VR Sink.

Выведите данные моделирования к виртуальному миру

В этом примере показано, как использовать данные моделирования из модели, чтобы отобразить динамическую визуализацию симуляции. Пример симулирует плоский взлет и позволяет вам просмотреть его в виртуальном мире. Этот пример принимает, что вы используете Средство просмотра Simulink 3D Animation.

Совет

Для других примеров того, как использовать блок VR Sink, см. Модель Магнитной левитации и Превращающуюся Геометрию.

  1. В MATLAB® Командное окно, ввести

    vrtut2
    

    Модель Simulink открывается без блока Simulink 3D Animation, который соединяет модель с виртуальным миром.

  2. Симулируйте модель путем нажатия на Run в разделе Simulate вкладки Simulation в панели инструментов Simulink.

    Наблюдайте результаты симуляции в окнах scope.

  3. Справа от модели щелкните левой кнопкой и введите VR Sink. В диалоговом окне выберите блок the VR Sink.

  4. Выберите виртуальный мир для визуализации вашей симуляции. Дважды кликните блок VR Sink. Нажмите Browse и выберите vrtkoff.wrl.

  5. Сопоставьте виртуальный мир с моделью. В текстовом поле Source File кликните по Кнопке обзора. Диалоговое окно Select World открывается. Найдите папку matlabroot\toolbox\sl3d\sl3ddemos. Выберите файл vrtkoff.wrl и нажмите OK.

  6. В текстовом поле Description исследуйте краткое описание модели. Это описание появляется в списке доступных миров, подаваемых сервером Simulink 3D Animation.

  7. Выберите параметр Open Viewer automatically и нажмите Apply. Диалоговое окно VR Sink отображается дерево узла виртуальной сцены, показывая структуру объединенного виртуального мира.

  8. Расширьте Plane (Transform) узел.

    Список характеристик плоскости может управляться от интерфейса Simulink. Эта модель вычисляет положение и тангаж плоскости.

  9. В Plane (Transform) дерево, выберите translation и rotation поля, которые представляют положение и тангаж плоскости, соответственно. Нажмите OK.

    В схеме Simulink блок VR Sink обновляется с двумя входными параметрами.

    Первым входом является Plane rotation. Задайте вращение с четырехэлементным вектором. Первые три числа задают ось вращения. В этом примере это [1 0 0] для оси X (см. Pitch Axis of Rotation блокируйтесь в модели). Тангаж плоскости описывается вращением вокруг оси X. Последний номер является углом поворота вокруг оси X в радианах. Вращение в терминах ориентации объекта на пробеле относительно его родительского узла.

  10. В модели Simulink соединитесь, линия, идущая в блок Scope, пометила Display Pitch к Plane rotation входной параметр.

    Вторым входом является Plane translation. Этот вход описывает положение плоскости в виртуальном мире. Это положение состоит из трех координат, x, y, z. Связанный вектор должен иметь три значения. В этом примере взлетно-посадочная полоса находится в x-z плоскости (использование блока VR Signal Expander). Ось Y задает высоту плоскости.

  11. В модели Simulink соединитесь, линия, идущая в блок Scope, пометила Display Position к Plane translation входной параметр.

    Удалите блоки Scope. Ваша модель выглядит похожей на показанную фигуру.

  12. Дважды кликните блок VR Sink. Окно средства просмотра, содержащее виртуальный мир плоскости, открывается.

    Совет

    Когда вы затем открываете модель, связанная виртуальная сцена открывается автоматически. Это поведение происходит, даже если блок Simulink 3D Animation, сопоставленный с виртуальной сценой, находится в подсистеме модели.

  13. Запустите симуляцию. В Средстве просмотра Simulink 3D Animation, в меню Simulation, нажимают Run.

    Плоскость, перемещаясь справа налево, взлетает.

Введите данные о виртуальном мире к модели

Можно использовать блок VR Source, чтобы обеспечить интерактивность между виртуальным миром и симуляцией модели Simulink. Взаимодействие с пользователем регистров блока VR Source с виртуальным миром и передачами, что данные к модели, чтобы влиять на симуляцию модели. Блок VR Source читает значения из полей виртуального мира, заданных в диалоговом окне блока и входных параметрах их значения к модели. Используя блок таким образом, вы можете:

  • Используйте данные о датчике из виртуального мира, чтобы управлять симуляцией.

  • Обеспечьте интерактивность между пользовательской навигацией и взаимодействием в виртуальном мире и симуляции модели.

  • Имейте симуляцию, реагируют на события виртуального мира, такие как метки деления времени или выходные параметры из скриптов.

  • Используйте статическую информацию от виртуального мира, такого как размер поля, чтобы управлять симуляцией.

Например, можно задать заданные значения в виртуальном мире, так, чтобы пользователь мог указать, что местоположение виртуального мира возражает в интерактивном режиме. Симуляция затем отвечает на измененное местоположение объекта. Блок VR Source может читать в события модели из виртуального мира, такие как метки деления времени или выходные параметры из скриптов. Блок VR Source может также читать в статическую информацию модели о виртуальном мире (например, размер поля, заданного в виртуальном мире 3D файл). Для примеров моделей, которые используют блок VR Source, смотрите Магнитную левитацию и Виртуальная Панель управления Модели.

Чтобы использовать глобальные координаты для объекта виртуального мира, включайте Transform узел в том объекте. Откройте второе окно средства просмотра путем двойного клика по VR Source блок. Во втором окне средства просмотра (который может перекрыть первое окно), выберите Simulation> Block Parameters. Для узла Преобразования объекта выберите в ветви Extensions один или оба из этих расширений Simulink 3D Animation для преобразования вращения и значений перевода в глобальные координаты: rotation_abs и translation_abs.

Смотрите, что Манипулятор Перемещает Загрузку с Использованием примера Глобальных координат. Для получения дополнительной информации об использовании Исходного блока VR и других подходов для обеспечьте интерактивность в модели, смотрите Датчики Использования.

Измените связанный виртуальный мир

Можно сопоставить различный виртуальный мир с моделью Simulink или соединить различные сигналы.

После того, как вы сопоставите виртуальный мир с моделью Simulink, можно выбрать другой виртуальный мир или изменить сигналы, соединенные с виртуальным миром. Этот пример принимает, что вы соединили vrtut2 Модель Simulink с виртуальным миром. Смотрите Входные Данные о Виртуальном мире к Модели.

  1. Дважды кликните блок VR Sink в модели. Средство просмотра открывается.

  2. Откройте диалоговое окно Block Parameters блока VR Sink путем выбора Simulation> Block Parameters.

  3. В текстовом поле Source File кликните по Кнопке обзора. Найдите папку matlabroot\toolbox\sl3d\sl3ddemos. Выберите файл vrtkoff2.wrl, и нажмите ОК. В диалоговом окне VR Sink нажмите Apply.

    Дерево виртуальной сцены появляется на правой стороне, сопоставляя различный виртуальный мир с моделью.

  4. Расширьте Plane (Transform) узел.

    Plane Transform дерево расширяется. Теперь вы видите, какими характеристиками плоскости можно управлять от интерфейса Simulink. Эта модель вычисляет положение.

  5. В Plane Transform дерево, выберите translation полевой флажок. Очистите rotation полевой флажок. Нажмите OK.

    Блок VR Sink обновляется и превращается во всего один вход, Plane translation. Блок VR Sink готов использовать новыми заданными параметрами.

  6. Проверьте, что правильный выход соединяется с вашим блоком VR Sink. Соединитесь выход от VR Signal Expander соединяется с одним входом.

  7. В Средстве просмотра Simulink 3D Animation, в меню Simulation, запускают симуляцию снова и наблюдают симуляцию.

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

Функции

Блоки

Похожие темы