После того, как вы создадите виртуальный мир и модель Simulink®, чтобы иметь виртуальный мир взаимодействуют с симуляцией динамической системы, соединяют модель и виртуальный мир с помощью блоков Simulink 3D Animation™.
Чтобы использовать данные моделирования из модели, чтобы взаимодействовать с виртуальным миром, включайте блок VR Sink в модель. Для получения дополнительной информации смотрите Выходные Данные моделирования к Виртуальному миру.
Чтобы использовать информацию от виртуального мира, чтобы взаимодействовать с моделью, включайте блок VR Source в модель. Для получения дополнительной информации смотрите Входные Данные о Виртуальном мире к Модели.
Симуляция модели Simulink генерирует данные сигнала для динамической системы. К выходным данным из модели, чтобы управлять и анимировать виртуальный мир, используйте блок VR Sink.
В этом примере показано, как использовать данные моделирования из модели, чтобы отобразить динамическую визуализацию симуляции. Пример симулирует плоский взлет и позволяет вам просмотреть его в виртуальном мире. Этот пример принимает, что вы используете Средство просмотра Simulink 3D Animation.
Для других примеров того, как использовать блок VR Sink, см. Модель Магнитной левитации и Превращающуюся Геометрию.
В Командном окне MATLAB® ввести
vrtut2
Модель Simulink открывается без блока Simulink 3D Animation, который соединяет модель с виртуальным миром.
Симулируйте модель путем нажатия на Run в разделе Simulate вкладки Simulation в панели инструментов Simulink.
Наблюдайте результаты симуляции в окнах scope.
Справа от модели щелкните левой кнопкой и введите VR Sink
. В диалоговом окне выберите блок the 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 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 с виртуальным миром. Смотрите Входные Данные о Виртуальном мире к Модели.
Дважды кликните блок 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 Signal Expander соединяется с одним входом.
В Средстве просмотра Simulink 3D Animation, в меню Simulation, запускают симуляцию снова и наблюдают симуляцию.
vredit
| vrjoystick
| vrlib
| vrspacemouse