После того, как вы создадите виртуальный мир и модель Simulink®, чтобы иметь виртуальный мир взаимодействуют с симуляцией динамической системы, соединяют модель и виртуальный мир с помощью блоков Simulink 3D Animation™.
Чтобы использовать данные моделирования из модели, чтобы взаимодействовать с виртуальным миром, включайте блок VR Sink в модель. Для получения дополнительной информации смотрите Выходные Данные моделирования к Виртуальному миру.
Чтобы использовать информацию от виртуального мира, чтобы взаимодействовать с моделью, включайте Исходный блок VR в модель. Для получения дополнительной информации смотрите Входные Данные о Виртуальном мире к Модели.
Симуляция модели Simulink генерирует данные сигнала для динамической системы. К выходным данным из модели, чтобы управлять и анимировать виртуальный мир, используйте блок VR Sink.
Этот пример показывает, как использовать данные моделирования из модели, чтобы отобразить динамическую визуализацию симуляции. Пример моделирует плоский взлет и позволяет вам просмотреть его в виртуальном мире. Этот пример принимает, что вы используете Средство просмотра Simulink 3D Animation.
Для других примеров того, как использовать блок VR Sink, см. Модель Магнитной левитации и Превращающуюся Геометрию.
В Командном окне MATLAB® ввести
vrtut2
Модель Simulink открывается без блока Simulink 3D Animation, который соединяет модель с виртуальным миром.
Моделируйте модель путем нажатия на Simulation> Run.
Наблюдайте результаты симуляции в окнах scope.
Справа от модели щелкните левой кнопкой и введите VR Sink
. В диалоговом окне выберите блок VR Sink.
Выберите виртуальный мир для визуализации вашей симуляции. Дважды кликните блок VR Sink. Нажмите Browse и выберите vrtkoff.wrl
.
Сопоставьте виртуальный мир с моделью. В текстовом поле Source File кликните по Кнопке обзора. Диалоговое окно Select World открывается. Найдите папку matlabroot\toolbox\sl3d\sl3ddemos
. Выберите файл vrtkoff.wrl
и нажмите OK.
В текстовом поле Description исследуйте краткое описание модели. Это описание появляется в списке доступных миров, подаваемых сервером Simulink 3D Animation.
Выберите параметр Open Viewer automatically и нажмите Apply. Диалоговое окно VR Sink отображается дерево узла виртуальной сцены, показывая структуру объединенного виртуального мира.
Расширьте узел Plane (Transform)
.
Список характеристик плоскости может управляться от интерфейса Simulink. Эта модель вычисляет положение и подачу плоскости.
В дереве Plane (Transform)
выберите поля translation
и rotation
, которые представляют положение и подачу плоскости, соответственно. Нажмите OK.
В схеме Simulink блок VR Sink обновляется с двумя входными параметрами.
Первым входом является Plane rotation
. Задайте вращение с четырехэлементным вектором. Первые три числа задают ось вращения. В этом примере это [1 0 0] для оси X (см. блок Pitch Axis of Rotation
в модели). Подача плоскости выражается вращением вокруг оси X. Последний номер является углом поворота вокруг оси X в радианах. Вращение с точки зрения ориентации объекта на пробеле относительно его родительского узла.
В модели Simulink соединитесь, строка, идущая в блок Scope, маркировала Display Pitch
к входу Plane rotation
.
Вторым входом является Plane translation
. Этот вход описывает положение плоскости в виртуальном мире. Это положение состоит из трех координат, x, y, z. Связанный вектор должен иметь три значения. В этом примере взлетно-посадочная полоса находится в x-z плоскости (использование блока VR Signal Expander). Ось Y задает высоту плоскости.
В модели Simulink соединитесь, строка, идущая в блок Scope, маркировала Display Position
к входу Plane translation
.
Удалите блоки Scope. Ваша модель выглядит подобной показанной фигуре.
Дважды кликните блок VR Sink. Окно средства просмотра, содержащее виртуальный мир плоскости, открывается.
Когда вы затем открываете модель, связанная виртуальная сцена открывается автоматически. Это поведение происходит, даже если блок Simulink 3D Animation, сопоставленный с виртуальной сценой, находится в подсистеме модели.
Запустите симуляцию. В Средстве просмотра Simulink 3D Animation, из меню Simulation, нажимают Run.
Плоскость, перемещаясь справа налево, взлетает.
Можно использовать Исходный блок VR, чтобы обеспечить интерактивность между виртуальным миром и симуляцией модели Simulink. Исходный блок VR указывает взаимодействие с пользователем с виртуальным миром и передает те данные модели, чтобы влиять на симуляцию модели. Исходный блок VR читает значения из полей виртуального мира, заданных в диалоговом окне блока и входных параметрах их значения к модели. Используя блок таким образом, вы можете:
Используйте данные о датчике из виртуального мира, чтобы управлять симуляцией.
Обеспечьте интерактивность между пользовательской навигацией и взаимодействием в виртуальном мире и симуляции модели.
Имейте симуляцию, реагируют на события виртуального мира, такие как метки деления времени или выходные параметры из скриптов.
Используйте статическую информацию от виртуального мира, такого как размер поля, чтобы управлять симуляцией.
Например, можно задать заданные значения в виртуальном мире, так, чтобы пользователь мог указать, что местоположение виртуального мира возражает в интерактивном режиме. Симуляция затем отвечает на измененное местоположение объекта. Исходный блок VR может читать в образцовые события из виртуального мира, такие как метки деления времени или выходные параметры из скриптов. Исходный блок VR может также читать в статическую информацию модели о виртуальном мире (например, размер поля, заданного в виртуальном мире 3D файл). Для примеров моделей, которые используют Исходный блок VR, смотрите Магнитную левитацию Образцовая и Виртуальная Панель управления.
Чтобы использовать глобальные координаты для объекта виртуального мира, включайте узел Transform
в тот объект. Откройте второе окно средства просмотра путем двойного клика по блоку VR Source
. Во втором окне средства просмотра (который может перекрыть первое окно), выберите Simulation> Block Parameters. Для узла Преобразования объекта выберите в ответвлении Extensions один или оба из этих расширений Simulink 3D Animation для преобразования вращения и значений перевода в глобальные координаты: rotation_abs
и translation_abs
.
Смотрите, что Манипулятор Перемещает Загрузку с Использованием примера Глобальных координат. Для получения дополнительной информации об использовании Исходного блока VR и других подходов для обеспечьте интерактивность в модели, смотрите Датчики Использования.
Можно сопоставить различный виртуальный мир с моделью Simulink или соединить различные сигналы.
После того, как вы сопоставите виртуальный мир с моделью Simulink, можно выбрать другой виртуальный мир или изменить сигналы, соединенные с виртуальным миром. Этот пример принимает, что вы соединили модель vrtut2
Simulink с виртуальным миром. Смотрите Входные Данные о Виртуальном мире к Модели.
Дважды кликните блок VR Sink в модели. Средство просмотра открывается.
Откройте диалоговое окно Block Parameters блока VR Sink путем выбора Simulation> Block Parameters.
В текстовом поле Source File кликните по Кнопке обзора. Найдите папку matlabroot\toolbox\sl3d\sl3ddemos
. Выберите файл vrtkoff2.wrl
и нажмите ОК. В диалоговом окне VR Sink нажмите Apply.
Дерево виртуальной сцены появляется на правой стороне, сопоставляя различный виртуальный мир с моделью.
Расширьте узел Plane (Transform)
.
Дерево Plane Transform
расширяется. Теперь вы видите, какими характеристиками плоскости можно управлять от интерфейса Simulink. Эта модель вычисляет положение.
В дереве Plane Transform
установите флажок поля translation
. Снимите флажок поля rotation
. Нажмите OK.
Блок VR Sink обновляется и изменяется всего на один вход, Plane translation
. Блок VR Sink готов использовать с новыми заданными параметрами.
Проверьте, что правильный вывод соединяется с вашим блоком VR Sink. Соединитесь вывод от Расширителя Сигнала VR соединяется с одним входом.
В Средстве просмотра Simulink 3D Animation, из меню Simulation, запускают симуляцию снова и наблюдают симуляцию.
vredit
| vrjoystick
| vrlib
| vrspacemouse