Для всех примеров, которые имеют модель Simulink®, используйте следующую процедуру, чтобы запустить пример и просмотреть модель:
В Командном окне MATLAB® введите имя модели Simulink. Например, введите:
vrbounce
Окно Simulink открывается блок-схемой для модели. По умолчанию виртуальный мир также открывается в Средстве просмотра Simulink 3D Animation™ или вашем HTML5-поддерживающем веб-браузере. Если вы закрываете окно виртуального мира, дважды кликаете блок VR Sink, чтобы отобразить его снова.
Если средство просмотра не открывает, дважды кликает блок VR Sink в модели Simulink. В Средстве просмотра Simulink 3D Animation, в меню Simulation, нажимают Block Parameters
. Диалоговое окно Block Parameters открывается. Открытое средство просмотра автоматически флажок должно быть выбрано по умолчанию. Когда вы дважды кликаете блок VR Sink, этот выбор позволяет окну виртуального мира открыться.
В окне Simulink, в меню Simulation, нажимают Run. (В качестве альтернативы в Средстве просмотра Simulink 3D Animation, в меню Simulation, нажимают Start.)
Симуляция начинает запускаться, и виртуальный мир анимирован с помощью данных сигнала от симуляции.
В следующей таблице перечислены примеры Simulink, которым предоставляют продукт Simulink 3D Animation. Описания примеров следуют таблице.
Пример | Готовый Simulink Coder™ | Приемник VR | Источник VR | Джойстик | Мышь пробела |
---|---|---|---|---|---|
sl3dex_rigidbodytree | X | ||||
sl3dex_uav | X | X | X | ||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
vr_octavia_2cars | X | ||||
vr_octavia_graphs | X | ||||
vr_octavia_mirror | X | ||||
| X | ||||
| X | X | |||
| X | X | |||
| X | X | |||
| X | X | |||
| X | ||||
| X | ||||
| X | X | |||
vrcollisions_lidar | X | X | |||
| X | X |
sl3dex_uav
пример показывает, как виртуальные датчики столкновения могут использоваться, чтобы в интерактивном режиме управлять симуляцией и изменить внешний вид объектов виртуального мира с помощью Simulink® 3D Animation™. Пример представляет простую проблему беспилотного воздушного транспортного средства (UAV).
Сцена соревнования UAV основана на Соревнованиях Рейса IMAV, проведенных в 2 013 в Тулузе, Франция. (http://www.imav2013.org)
sl3dex_rigidbodytree
пример демонстрирует функциональность
блока Simulink 3D Animation VR RigidBodyTree. Этот пример требует Robotics System Toolbox™
Блок VR RigidBodyTree вставляет визуальное представление объекта Robotics System Toolbox RigidBodyTree в виртуальном мире и отображает его в средстве просмотра виртуальной реальности. В процессе моделирования дерево твердого тела впоследствии анимировано согласно настройке, заданной во входе Config.
В этом примере настройка манипулятора обеспечивается блоком Robotics System Toolbox Inverse Kinematics. Можно использовать ползунки, чтобы сменить положение исполнительного элемента конца робота и ориентацию об одной оси.
vrbounce
пример представляет шар, возвращающийся от пола. Шар деформируется, когда он поражает пол, сохраняя объем шара постоянным. Деформация достигается путем изменения поля шкалы шара.
vrcrane_joystick
пример иллюстрирует, как модель Simulink может взаимодействовать с виртуальным миром. Портала движущие силы подъемного крана моделируются в интерфейсе Simulink и визуализируются в виртуальной реальности. Модель использует блок Joystick Input, чтобы управлять заданным значением. Джойстик 3 оси управляют положением заданного значения и кнопкой 1, запускает подъемный кран. Этот пример требует стандартного джойстика по крайней мере с тремя независимыми осями, соединенными с PC.
Чтобы минимизировать количество сигналов, переданных между моделью Simulink и миром виртуальной реальности, и сохранить модель максимально простой и гибкой, только, минимальный набор перемещения свойств объектов отправляется от модели до блока VR Sink. Все другие значения, которые необходимы, чтобы описать перемещение объектов виртуальной реальности, вычисляются из этого минимального набора с помощью VRMLScript в связанном виртуальном мире 3D файл.
Для получения дополнительной информации о том, как иерархия модели подъемного крана и логика сценариев реализованы, смотрите связанный прокомментированный виртуальный мир 3D файл portal_crane.wrl
.
vrdemo_panel
пример показывает использование обнаружения объектов, которые доступны в библиотеке Components 3D World Editor. Эти объекты комбинируют датчики виртуального мира с логикой, которая изменяет их общий вид на основе ввода данных пользователем. Значения датчика могут быть считаны в Simulink Исходным блоком VR. Логика реализована с помощью Скриптов VRML и Маршрутов.
Панель управления содержит кнопку, кнопку переключателя, переключите переключатель и 2D область выбора заданного значения. Выходные параметры этих элементов читаются в модель Simulink и впоследствии отобразили приемники стандарта использования или использовали в качестве входных параметров блоков, которые управляют назад некоторыми объектами в виртуальном мире.
Кнопка, кнопка переключателя и переключатели переключателя имеют выходные параметры состояния, которые имеют булев тип. Их значения отображены с помощью Осциллографа.
Два выходных параметров 2D области заданного значения используются, чтобы достигнуть следующего поведения. Значение "SetPoint_Changed" eventOut постоянно обновляется, когда указатель по области датчика. Это значение инициировано вторым выходом - "isActive", который верен только при нажатии кнопки указателя. Инициированное значение - координаты активной точки на плоскости датчика отображены с помощью Графика XY и переданы обратно в виртуальный мир двумя способами: как положение зеленого конического маркера и как текст, который блок VR Text Output отображает на панели управления.
vrcrane_traj
пример основан на vrcrane_joystick
пример, но вместо интерактивного управления, это имеет предопределенную траекторию загрузки. vrcrane_traj
модель иллюстрирует метод, чтобы создать визуальное впечатление от присоединения и разделения движущихся объектов в виртуальном мире.
Магнит подъемного крана присоединяет поле загрузки, перемещает его в другое место, затем выпускает поле и возвращается к исходному положению. Этот эффект достигается с помощью дополнительного, геометрически идентичного теневого объекта, который помещается как независимый объект за пределами иерархии объектов подъемного крана. В любой момент времени, только один из Load
или Shadow
объекты отображены, с помощью двух Switch
узлы соединяются ROUTE
оператор.
После того, как подъемный кран перемещает загрузку в новое положение, во время релиза загрузки, скрипт VRMLScript присваивает новое теневое положение объекта согласно текущему Load
положение. Shadow
объект становится видимым. Поскольку это независимо от остальной части иерархии подвижных частей подъемного крана, это остается в своем положении, когда подъемный кран переезжает.
vrlights
пример использует источники света. В сцене можно переместить Sun (смоделированный как DirectionalLight
) и лампа (смоделированный как PointLight
) объекты вокруг модели Simulink. Это перемещение создает иллюзию изменений между днем и ночью и ночным освещением ландшафта. 3D файл связанного виртуального мира задает несколько точек зрения, которые позволяют вам наблюдать постепенные изменения в свете с различных точек зрения.
vrmaglev
пример показывает взаимодействие между динамическими моделями в окружении Simulink и виртуальных мирах. Модель Simulink представляет HUMUSOFT® CE 152 Magnetic Levitation образовательная масштабная модель / масштабная модель представления. Моделью объекта управления управляет ПИД-регулятор с feedforward, чтобы справиться с нелинейностью системы магнитной левитации. Чтобы более легко наблюдать и контролировать мяч, установите средство просмотра виртуального мира на Камеру 3 точки зрения.
Можно установить заданное значение положения шара двумя способами:
Используя блок Signal Generator
Нажатие в сцене виртуальной реальности в положении, которое вы хотите
Чтобы достигнуть эффекта перетаскивания, используйте PlaneSensor
присоединенный к геометрии шара с ее выходом, ограниченным <0,1> в вертикальной координате и обработанный блоком VR Sensor Reader. vrextin
S-функция обеспечивает информационное соединение.
Для получения дополнительной информации о том, как считать значения из виртуальных миров программно, смотрите, Добавляют Датчики к Виртуальным мирам.
В дополнение к vrmaglev
пример, vrmaglev_sldrt
пример работает непосредственно с фактическим оборудованием CE 152 масштабной модели в режиме реального времени. Эта модель, чтобы работать с платой HUMUSOFT MF 624 сбора данных и программным обеспечением Simulink Coder и Simulink Desktop Real-Time™. Однако можно адаптировать эту модель к другим целям и платам приобретения. Цифровой БИХ-фильтр, от библиотеки DSP System Toolbox™, фильтрует физическую систему выход. Можно обойти физическую систему при помощи встроенной модели объекта управления. Выполнение этой модели в режиме реального времени является примером, показывающим возможности продукта Simulink в проекте систем управления и быстром прототипировании.
После включения удаленного представления в диалоговом окне блока Приемника VR можно управлять моделью Simulink даже от другого (удаленного) клиентского компьютера. Это управление может быть полезно для распределения вычислительной мощности между моделью Simulink в реальном времени, работающей на одной машине и рендерингом мира виртуальной реальности на другой машине.
Чтобы работать с этой моделью, используйте максимально мощную машину или разделите вычисление и рендеринг более чем двух машин.
vrmanipul
пример иллюстрирует использование программного обеспечения Simulink 3D Animation для прототипирования виртуальной реальности и тестирования жизнеспособности проектов перед фазой реализации. Кроме того, этот пример иллюстрирует использование входа мыши пробела для управления объектами в виртуальном мире. Необходимо было ввести мышь пробела, чтобы запустить этот пример.
Модель виртуальной реальности представляет ядерный горячий манипулятор емкости. Этим управляет простая модель Simulink, содержащая блок Space Mouse Input. Эта модель использует все шесть степеней свободы мыши пробела для управления механической рукой и использует кнопку мыши 1, чтобы закрыть власть челюстей манипулятора.
Мышь пробела является устройством ввода данных с шестью степенями свободы. Это полезно для навигации и управления объектами в виртуальном мире. Мышь пробела также подходит как общее устройство ввода данных для моделей Simulink. Можно использовать мышь пробела в более высоких производительных приложениях и пользовательском комфорте. Вход мыши пробела поддерживается через блок Space Mouse Input, который включен в библиотеку блоков Simulink 3D Animation для окружения Simulink.
Блок Space Mouse Input может действовать в трех режимах, чтобы покрыть самое типичное использование такого устройства в 3D контексте:
Скорости
Положения
Координаты точки зрения
vrmanipul_global
пример иллюстрирует использование глобальных координат в моделях Simulink 3D Animation. Можно использовать глобальные координаты в модели во многих отношениях, включая:
Объектное отслеживание и манипуляция
Простое обнаружение столкновений
Симуляция относящихся к осязанию эффектов
Поддержки Исходного блока VR с помощью глобальных координат в объектах в виртуальном мире. Для каждого Преобразования в сцене структурный вид в диалоговом окне параметра Исходного блока VR отображает Extensions
ветвь. В той ветви можно выбрать translation_abs
и rotation_abs
поля . Поля с _abs
суффикс содержит глобальные координаты объекта. Поля без _abs
снабдите суффиксом вводит их данные в локальные координаты объекта модели Simulink (относительно их родительских объектов в иерархии модели).
Модель виртуальной реальности представляет ядерный горячий манипулятор емкости. Манипулятор перемещает загрузку от одной серой цилиндрической платформы до другого. Траектория для исполнительного элемента конца манипулятора предопределена с помощью Signal Builder. Каждая часть руки манипулятора независимо приводится в движение с помощью анализируемых компонентов траектории, с помощью блоков Расширителя VR (см. VR Transformations
подсистема).
Исходный блок VR в дереве виртуальной сцены на левых глобальных координатах получений всех объектов, важных для манипуляции с загрузками:
Контрольная точка власти манипулятора (центр зажима)
Целевая контрольная точка
Исходное положение загрузки
Положение власти манипулятора следует из комплексного перемещения частей руки манипулятора, которые формируют иерархическую структуру. Обычно это очень затрудняет, чтобы вычислить глобальные координаты для таких объектов, затронутых иерархическими отношениями в сцене. Однако Simulink 3D Animation обеспечивает простой способ считать глобальные координаты объектов, затронутых иерархическими отношениями в модель Simulink.
На основе наличия глобальных координат всех важных объектов можно реализовать простую управляющую логику манипулятора.
vrmemb1
пример похож на vrmemb
пример, но в vrmemb1
пример связанный виртуальный мир управляется из модели Simulink.
vrmorph
пример иллюстрирует, как можно передать матричный тип или данные сигнала переменного размера между интерфейсом Simulink и миром виртуальной реальности. С этой возможностью можно выполнить значительные цветные изменения или превращение. Эта модель превращает куб в октаэдр и затем возвращает его к кубу.
vr_octavia
пример иллюстрирует преимущества визуализации комплексной динамической модели в среде виртуальной реальности. Это также показывает Simulink 3D Animation 3-D оффлайновую функциональность записи анимации.
Этот пример расширяет vr_octavia
пример, чтобы показать нескольким - возражает визуализации сценария.
Предварительно вычисленные данные моделирования представляют маневр стандартного двухместного изменения маршрута, проводимый в настройках 2D транспортного средства. Одна настройка затрагивает блок управления Электронной программы устойчивости. Другая настройка выключает тот блок управления. Пример отправляет два набора данных о динамике аппарата параллельно к сцене виртуальной реальности, чтобы управлять двумя различными транспортными средствами.
Модели транспортных средств используют EXTERNPROTO
механизм. В основном виртуальном мире, сопоставленном с блоком VR Sink, можно создать несколько идентичных транспортных средств как экземпляры общего 3-D объекта. Этот подход значительно упрощает авторскую разработку виртуального мира. Например, очень легко создать третье транспортное средство, чтобы одновременно визуализировать другой сценарий симуляции. octavia_scene_lchg_2cars.wrl
виртуальный мир, код после определения PROTOS
иллюстрирует подход для легко задаваемых допускающих повторное использование объектов.
В дополнение к свойствам транспортного средства, которыми управляют в vr_octavia
пример, прототипы транспортного средства также позволяют вам задавать цвет транспортного средства и шкалу. Эти свойства отличают отдельные автомобильные экземпляры (цвет) и избегают неприятного визуального взаимодействия двух почти выровненных 3-D объектов (шкала). При масштабировании одного из автомобилей небольшим количеством, охватывает один автомобиль в другого так, чтобы их поверхности не отсекали случайным образом, на основе текущих данных моделирования в каждом шаге симуляции.
Чтобы визуализировать транспортные средства рядом друг с другом, добавьте смещение к положению одного транспортного средства.
vr_octavia_graphs
пример расширяет vr_octavia
пример путем показа, как объединить холст виртуальной реальности в одной фигуре с другими объектами графического интерфейса пользователя. В этом случае виртуальный мир отображает три графика, которые обновляются на каждом главном шаге времени симуляции.
vr_octavia_mirror
пример расширяет vr_octavia
пример путем показа возможности блока VR Sink обработать видеопоток на входе. В виртуальном мире, PixelTexture
текстурная карта задана при транспортном средстве, оставленном заднее зеркало. Пример помещает 2D изображение с точки зрения в том же (смотрящем назад) положении. То изображение циклично выполняется назад в тот же виртуальный мир и проецируется на заднем зеркальном стекле, создавая впечатление от живого отражения. Изображения структуры могут иметь различные форматы (соответствующий доступному SFImage
определения согласно стандарту VRML97). Этот пример использует изображение RGB, которое имеет тот же формат как выход от VR до блока Video. В виртуальном мире 3D файл сопоставил со сценой, можно задать только тривиальную структуру (в этом случае, шахматная доска на 4x4 пикселя), который изменен в процессе моделирования, согласно текущему размеру сигнала на входе. Смотрите, что Плоская Манипуляция Использует Мышь Пробела пример Объекта MATLAB.
vr_octavia_video
пример иллюстрирует, как использовать видеовыход от блока VR To Video. Эта модель выполняет простые операции на видеовыходе. Это требует продукта Computer Vision Toolbox™.
vrpend
пример иллюстрирует различные способы, динамическая модель в интерфейсе Simulink может взаимодействовать со сценой виртуальной реальности. Это - модель двумерного инвертированного маятника, которым управляет ПИД-регулятор. Что различает, эта модель из общих инвертированных моделей маятника методы для установки сетбола. Вы визуализируете и взаимодействуете с виртуальным миром при помощи Графика Траектории и блоков Приемника VR. Блок Trajectory Graph позволяет вам отслеживать историю положения маятника и изменять сетбол тремя способами:
Мышь — Перетаскивание указатель мыши в Графике Траектории двумерное окно
Вход Input Signal — External Trajectory Graph в этой модели (управляемый генератором случайных чисел)
Датчик VR — Активирует вход от VRML TouchSensor
Когда манипулятор в средстве просмотра виртуального мира отодвигается активная область TouchSensor, изменения формы курсора. Логика инициирования в этой модели собирается применить новое заданное значение щелчком левой кнопкой мыши.
Заметьте псевдоортогональное представление, заданное в связанном виртуальном мире 3D файл. Вы достигаете этого эффекта путем создания точки зрения, которая расположена далекая от предмета интереса с очень узким представлением, заданным FieldOfView
параметр. Ортогональное представление полезно для устранения панорамного искажения, которое происходит, когда вы используете широкоугольный объектив. Недостаток этого метода - то, что определение местоположения точки зрения на расстоянии делает стандартную навигацию средства просмотра хитрой или трудной в некоторых режимах навигации, таких как режим Examine. Если вы хотите перейти вокруг виртуального места размещения маятника, необходимо использовать некоторую другую точку зрения.
vrplanets
пример показывает динамическое представление первых четырех планет солнечной системы, Луны, движущейся по кругу вокруг Земли и самого Sun. Модель использует действительные свойства небесных тел. Только относительные размеры планеты и расстояние между Землей и Луной настроены, чтобы обеспечить интересное представление.
Несколько точек зрения заданы в виртуальном мире, и статическом и присоединенном к наблюдателю на Земле. Вы видите, что тела планеты не представлены как совершенные сферы. Используя Sphere
графический примитив, который представляется этим путем, упростил модель. Если вы хотите сделать планеты более реалистичными, вы могли бы использовать более комплексный IndexedFaceSet
тип узла.
Взаимные ускорения силы тяжести тел вычисляются с помощью информационной поддержки матричного типа Simulink.
vrtkoff
пример представляет упрощенный самолет, взлетающий со взлетно-посадочной полосы. Несколько точек зрения заданы в этой модели, и статической и присоединенной к плоскости, позволив вам видеть взлет от различных перспектив.
Модель показывает метод объединения нескольких объектов, импортированных или полученных из других источников (пакеты CAD, общие 3-D средства моделирования, и так далее) в сцену виртуальной реальности. Обычно необходимо для вас перенести такие импортированные объекты с дополнительным Transform
узел. Эта обертка позволяет вам устанавливать соответственно масштабирование, положение и ориентацию объектов поместиться в сцену. В этом примере модель самолета от Ligos® V-Realm Builder Object Library включена в сцену. Файл vrtkoff2.wrl
использует ту же сцену с другим типом самолета.
vrtkoff_trace
вариант vrtkoff
пример, который иллюстрирует, как проследить траекторию движущегося объекта (плоскость) в сцене. Это использует блок VR Tracer. Используя предопределенный шаг расчета, этот блок позволяет вам помещать маркеры в текущем положении объекта. Когда симуляция останавливается, маркеры указывают на путь к траектории объекта. Этот пример использует октаэдр в качестве маркера.
vrtkoff_hud
пример иллюстрирует, как отобразить значения сигналов как текст в виртуальном мире и простом Главном отображении (HUD). Это - вариант vrtkoff
пример.
Пример отправляет текст в виртуальный мир с помощью блока VR Text Output. Этот блок форматирует входной вектор с помощью строки формата, заданной в ее маске (см. sprintf
для получения дополнительной информации), и отправляет получившую строку в 'string'
поле связанного Text
узел в сцене.
Пример достигает поведения HUD (поддерживающий постоянное относительное положение между пользователем и Text
узел) путем определения ProximitySensor
. Этот датчик обнаруживает пользовательское положение и ориентацию, когда это перешло через сцену и направляет эту информацию к переводу и вращению объекта HUD (в этом случае, Transform
это содержит Text
узел).
vrcollisions
пример показывает простой путь, как реализовать обнаружение столкновений.
В виртуальном мире, X3D LinePickSensor
задан. Этот датчик обнаруживает аппроксимированные столкновения нескольких лучей (смоделированный как IndexedLineSet
) с произвольными конфигурациями в сцене. Для геометрических примитивов обнаруживаются точные столкновения. Один из LinePickSensor
выходные поля \\поле, которое становится TRUE
как только столкновение между любым из лучей и окружающими объектами сцены обнаруживается.
Робот в комнате с несколькими препятствиями. Во время симуляции робот продвигается, пока его датчик не возвращается в стенку или препятствие. Используйте кнопки Left и Right, чтобы повернуть робота так, чтобы был свободный путь вперед, и робот начинает перемещаться снова.
Модель задает и VR Sink и блоки VR Source, сопоставленные с той же виртуальной сценой. VR Source читает датчик isActive
предупредите и текущее положение робота. Блок VR Sink устанавливает положение робота, вращение и цвет.
В виртуальном мире существует две заданные точки зрения - одна статическая и один присоединенный к роботу.
vrcollisions_lidar
пример показывает как LinePickSensor
может использоваться к поведению датчика лидара модели в Simulink 3D Animation.
В простом виртуальном мире задан колесный робот с датчиком лидара, смонтированным на его верхней части. Этот датчик лидара реализован с помощью LinePickSensor
это обнаруживает столкновения нескольких лучей (смоделированный как IndexedLineSet
) с окружающими объектами сцены. Датчик pickedRange
и pickedPoint
поля используются в этой модели в целях визуализации только, но вместе с информацией о положении робота они могут использоваться в Одновременной локализации и отображении (SLAM) и других подобных целях.
Линии обнаружения датчика отображаются, показавшие прозрачными зелеными линиями. Существует 51 распознающийся луч, равномерно расположенный с интервалами в горизонтальной плоскости между-90 и 90 градусами. область значений лидара составляет 10 метров.
Для того, чтобы визуализировать датчик лидара выход, существует прокси визуализации LineSet
заданный с линиями, идентичными линиям, заданным как LinePickSensor
обнаружение геометрии. Линии визуализации являются синими. Комбинация pickedPoint
и pickedRange
LinePickSensor
выходные параметры используются, чтобы визуализировать точки столкновения. pickedPoint
выведите содержит координаты точек, которые столкнулись с окружающими объектами. Этот выход имеет переменный размер в зависимости от того, сколько лучей датчика столкнулось. pickedRange
выведите размер, фиксируется, равен количеству обнаружения лучей. Выход возвращает расстояние от источника датчика лидара до точки столкновения для каждой линии обнаружения. Для лучей, которые не сталкиваются, этот выход возвращается-1. pickedRange
используется, чтобы определить индексы линий, для которых точки столкновения возвращены в pickedPoint
датчик выводится. В действительности синие линии сокращены так, чтобы только линейный сегмент между источником вентилятора луча и точкой столкновения был отображен для каждой линии.
Траектория робота моделируется в тривиальном способе использовать Signal Builder и блоки Ramp. В Signal Builder простая квадратная траектория на 1x1 метр задана в течение первых 40 секунд симуляции. После возврата его исходному положению робот только вращается неопределенно.
В модели, существуют и VR Sink и блоки VR Source, заданные, сопоставленные с тем же виртуальным миром. VR Source используется, чтобы считать сигналы датчика. VR Sink используется, чтобы установить положение Робота / вращение и координаты конечных точек датчика визуальные линии прокси.
В виртуальном мире существует несколько заданных точек зрения, и статических и присоединенных к роботу, позволяя наблюдать визуализацию лидара с разных точек зрения.
vrmaze
пример показывает, как можно использовать обнаружение столкновений, чтобы симулировать вертевшего робота дифференциала, который решает проблему лабиринта. Алгоритм управления робота использует информацию от виртуальных сверхзвуковых датчиков, которые обнаруживают расстояние до окружающих объектов.
Вертевший робот простого дифференциала оборудован двумя виртуальными сверхзвуковыми датчиками. Один из датчиков смотрит вперед, и другой направлен слева от робота. Датчики упрощены, их активная область значений представлена зелеными линиями. Датчики реализованы как X3D LinePickSensor
узлы. Эти датчики обнаруживают аппроксимированные столкновения лучей (смоделированный как IndexedLineSet
) с произвольными конфигурациями в сцене. Для геометрических примитивов обнаруживаются точные столкновения. Один из LinePickSensor
выходными полями является isActive
поле, которое становится TRUE
как только столкновение между его лучом и окружающими объектами сцены обнаруживается. Когда активировано, линии датчика изменяют свой цвет от зеленого до красного использования скрипта, написанного непосредственно в виртуальном мире.
В модели, существуют и VR Sink и блоки VR Source, заданные, сопоставленные с той же виртуальной сценой. VR Source читает датчики isActive
сигналы. VR Sink устанавливает положение робота и вращение в виртуальном мире.
Алгоритм управления робота реализован с помощью графика Stateflow®.
В следующей таблице перечислены примеры интерфейса MATLAB, которым предоставляют программное обеспечение. Описания примеров следуют таблице. Примеры интерфейса MATLAB отображают виртуальные миры в вашем средстве просмотра по умолчанию. Если вашим значением по умолчанию является Средство просмотра Simulink 3D Animation, некоторые кнопки недоступны. В частности, кнопки симуляции для симуляции и записи недоступны.
Пример | Перемещение Объекты | Превращение Объекты | Текст | Запись | vrml () Функциональное Использование | Мышь пробела |
---|---|---|---|---|---|---|
vrcar | X | |||||
vrheat | X | X | ||||
vrheat_anim | X | X | X | |||
vrmemb | X | X | X | |||
vrterrain_simple | X | |||||
vrtkoff_spacemouse | X | X |
Этот пример иллюстрирует использование продукта Simulink 3D Animation с интерфейсом MATLAB. В пошаговом руководстве это показывает команды для навигации по виртуальному автомобилю вдоль пути через горы.
В Командном Окне MATLAB введите
vrcar
Учебный скрипт начинает запускаться. Следуйте инструкциям в Окне Команды MATLAB.
Этот пример иллюстрирует использование продукта Simulink 3D Animation с интерфейсом MATLAB для управления сложными объектами.
В этом примере данные матричного типа передаются между программным обеспечением MATLAB и миром виртуальной реальности. Используя эту функцию, можно достигнуть значительных цветных изменений или превращения. Это полезно для представления различных физических процессов. Предрасчетные данные основанного на времени температурного распределения в L-образном металлическом блоке используются. Данные затем отправляются в виртуальный мир. Это формирует анимацию с относительно большими изменениями.
Это - постепенный пример. Показанный следующие функции:
Изменение объекта
Применение цветовой палитры, чтобы представлять распределенные параметры через форму объекта
Работа с VRML или текстовыми объектами X3D
Анимация сцены с помощью интерфейса MATLAB
Синхронизация нескольких свойств сцены
В конце этого примера можно сохранить объект виртуального мира в рабочем пространстве MATLAB, затем сохранить получившуюся сцену в соответствующий виртуальный мир 3D файл или провести другие последующие операции на нем.
Этот пример иллюстрирует использование интерфейса C Simulink 3D Animation, чтобы создать 2D оффлайновые файлы анимации.
Можно управлять оффлайновым механизмом записи анимации путем установки соответствующего vrworld
и vrfigure
свойства объектов. Необходимо использовать Средство просмотра Simulink 3D Animation, чтобы записать анимации. Однако прямое управление записью также возможно.
Этот пример использует данные о распределении тепла из vrheat
пример, чтобы создать файл анимации. Можно позже распределить этот файл анимации, который будет независимо просматриваться другими. Для этого вида визуализации, где статическая геометрия представлена IndexedFaceSet
узел окрашен на основе симуляции некоторого физического явления, это подходит, чтобы создать 2D .avi
файлы анимации. Программное обеспечение использует VideoWriter
MATLAB возразите, чтобы записать 2D анимацию, как это появляется в фигуре средства просмотра.
Существует несколько методов, которые можно использовать, чтобы записать анимации. В этом примере мы используем запланированную запись. Когда запланировано запись активна, период времени зарегистрирован в файл анимации с каждой установкой виртуального мира Time
свойство. Запись завершается, когда вы задаете тон время в конце или вне предопределенного интервала записи.
При использовании интерфейса Simulink 3D Animation MATLAB вы задаете тон время, как желаемый. Это обычно - с точки зрения симулированного явления равноотстоящие времена. Это - наиболее важное различие от записи анимаций для виртуальных миров, которые сопоставлены с моделями Simulink, где время сцены соответствует непосредственно времени Simulink.
Время сцены может представлять любое независимое количество, вдоль которого вы хотите анимировать вычисленное решение.
Это - постепенный пример. Показанный следующие функции:
Запись 2D оффлайновых анимаций с помощью интерфейса MATLAB
Применение цветовой палитры, чтобы визуализировать распределенные параметры через форму объекта
Анимация сцены
Проигрывание созданного 2D файла анимации с помощью системы проигрыватель AVI
В конце этого примера, получившийся файл vrheat_anim.avi
остается в рабочей папке для дальнейшего использования.
vrmemb
пример показывает, как использовать 3-D графический объект, сгенерированный средой MATLAB с продуктом Simulink 3D Animation. Мембрана была сгенерирована logo
функционируйте и сохраненный в формате VRML с помощью стандартного vrml
функция. Можно сохранить все объекты Handle Graphics® этот путь и использовать их с программным обеспечением Simulink 3D Animation как компоненты связанных виртуальных миров.
После запуска примера вы видите панель управления с двумя ползунками и тремя флажками. Используйте ползунки, чтобы вращать и масштабировать мембрану, в то время как вы используете флажки, чтобы определить ось, чтобы вращаться вокруг.
В виртуальной сцене заметьте текстовый объект. Это - дочерний элемент Billboard
узел. Можно сконфигурировать этот узел так, чтобы его локальная ось z перешла к вопросу к средству просмотра в любом случае. Это может быть полезно для моделирования виртуальных панелей управления и возглавить отображения (КОЖУРА).
Этот пример иллюстрирует преобразующие доступные Цифровые Модели Вертикального изменения в формат VRML для использования в сценах виртуальной реальности.
Как источник данных о ландшафте, использовалась модель South San Francisco DEM (включенный в программное обеспечение Mapping Toolbox™). Простая модель Boeing® 747® включена в сцену, чтобы показать метод создания виртуальных миров из нескольких источников на лету.
Этот пример требует программного обеспечения Mapping Toolbox от MathWorks®.
Этот пример иллюстрирует, как использовать мышь пробела с помощью интерфейса MATLAB. После того, как вы запустите этот пример, виртуальный мир с самолетом отображен в Средстве просмотра Simulink 3D Animation. Можно переместиться по плоскости в сцене с помощью устройства ввода данных мыши пробела. Нажмите кнопку 1, чтобы поместить маркер в текущем плоском положении.
Этот пример требует мыши пробела или совместимого устройства.