Помощь в написании студенческих работ
Антистрессовый сервис

Математическое моделирование системы управления лазерной индикацией в среде MatLab

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Simulink-модель визуализатора осциллографа Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю… Читать ещё >

Математическое моделирование системы управления лазерной индикацией в среде MatLab (реферат, курсовая, диплом, контрольная)

Курсовая работа по информатике на тему:

«Математическое моделирование системы управления лазерной индикацией в среде MatLab»

СОДЕРЖАНИЕ ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ ВВЕДЕНИЕ

1.СИСТЕМЫ УПРАВЛЕНИЯ ЛАЗЕРНОЙ ИНДИКАЦИЕЙ

1.1 Лазерные средства отображения информации

2. ЭЛЕМЕНТАРНЫЕ СВЕДЕНИЯ О ПАКЕТЕ MATLAB

2.1 Структура пакета

2.2 Начало работы

3. ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ VRT ДЛЯ ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ В СРЕДЕ MATLAB-SIMULINK

3.1 Особенности сопряжения имитационной модели Matlab-Simulink и программное обеспечение визуализации

3.2 Возможности средств разработки виртуальных миров, использующих VRML, для визуализации моделирования системы

4. РАЗРАБОТКА ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ ВИЗУАЛИЗАЦИИ

4.1 Разработка ПО визуализации

4.2 Simulink-модель визуализатора САУ ЛЛ

4.3 Визуализатор выхода САУ ЛЛ

4.4 Предложения по направлениям дальнейшего совершенствования разработанного программного продукта ЗАКЛЮЧЕНИЕ СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

1. ЭВМ — Электронно-вычислительная машина

2. VRML — Virtual reality modeling language

3. VRT — Virtual reality toolbox

4. ПО — Программное обеспечение

5. СОИ — Системы отображения информации

6. САУ ЛЛ — Системы управления лазерной индикацией ВВЕДЕНИЕ В последние годы активно проводятся исследования возможности использования лазеров для построения системы отображения информации коллективного пользования. Применение лазеров для отображения информации считается перспективным.

Главной проблемой, стоящей перед разработчиками лазерных устройств отображения, является проблема управления световым лучом. Известные методы отклонения светового луча не обеспечивают такой гибкости управления, как, например, метод управления электронным лучом. Механические способы отклонения луча с помощью качающихся и вращающихся зеркал и призм обладают большой инерционностью и используются сравнительно редко.

Цель работы: математическое моделирование системы управления лазерной индикацией в среде Matlab.

Объект работы: система управления лазерной индикацией.

Предмет работы: ПО Matlab-Simulink.

В данной работе выполняются следующие задачи:

1. Моделирование динамической модели САУ ЛЛ.

2. Создание 3-D модели САУ ЛЛ.

1. СИСТЕМЫ УПРАВЛЕНИЯ ЛАЗЕРНОЙ ИНДИКАЦИЕЙ

1.1 Лазерные средства отображения информации В последние годы активно проводятся исследования возможности использования лазеров для построения СОИ коллективного пользования. Применение лазеров для отображения информации считается перспективным.

Главной проблемой, стоящей перед разработчиками лазерных устройств отображения, является проблема управления световым лучом. Известные методы отклонения светового луча не обеспечивают такой гибкости управления, как, например, метод управления электронным лучом. Механические способы отклонения луча с помощью качающихся и вращающихся зеркал и призм обладают большой инерционностью и используются сравнительно редко. Электрические способы имеют малую чувствительность, но считаются более перспективными.

Применительно к СОИ представляют интерес следующие свойства излучения лазеров: пространственная когерентность, временная когерентность, цвет и яркость.

Когерентность — высокая степень согласованности фаз колебаний, образующих волновой фронт. Пространственная когерентность означает жесткую взаимосвязь фаз колебаний в двух точках пространства, лежащих в плоскости, перпендикулярной фронту волны. Временная когерентность означает жесткую взаимосвязь фаз колебаний, разделенных временным интервалом, и равнозначна узкополосности по частоте.

Лазер представляет собой когерентный источник света. Путем подбора трех источников света с соответствующими основными цветами и введения их в схему аддитивного образования цветов можно воспроизвести широкую гамму цветов. Для получения основных цветов могут быть использованы гелий-неоновый и аргоновый лазеры.

Пиковая яркость (кд/м2) рассматриваемого участка изображения:

где — световой КПД оптической системы, — коэффициент экрана, — пиковое значение светового потока, лм, — коэффициент заполнения, равный отношению времени пребывания луча лазера на любом элементе изображения ко времени воспроизведения этого изображения, — площадь рассматриваемого элементарного участка изображения, .

Пиковое значение светового потока:

где — выходная мощность лазера, , — значение функции относительной видности для излучения источника света, — коэффициент пересчета, .

Если длина волны .

На рис. 1 показана схема СОИ с использованием лазера. Лазер Л, оптический модулятор МО, дефлектор. Д, схема управления модулятором СУМ, схема управления дефлектором СУД и источник питания ИП образуют лазерный проектор. Отображается информация на экране Э. Вспомогательное оборудование, в которое входит ЭВМ и буферно-преобразовательное запоминающее устройство БЗУ, лазерный проектор и экран обеспечивают управление процессом отображения информации, а также долговременное и кратковременное ее хранение.

При разработке СОИ на лазерах используются следующие методы: визуальная лазерная индикация, когда на экран направляется собственный свет лазера; индикация с активным экраном, когда луч лазера применяется лишь для управления световым излучением некоторого активного материала экрана; лазерно-лучевой световой клапан, когда луч лазера обеспечивает местное управление оптическими параметрами некоторого материала (его коэффициентом отражения или коэффициентом пропускания), а отдельный источник обычного типа дает свет для проекции на экран; лазерный генератор изображения с непосредственным воздействием на объемный резонатор (такой генератор позволяет получать двумерное изображение непосредственно от лазерного источника).

виртуальный моделирование программный визуализация Рис. 1. Устройство отображения информации с использованием лазера При отображении информации используют способ «последовательной выдачи», когда луч лазера последовательно обходит все точки поверхности экрана, либо способ «выборочного отображения», когда луч лазера направляется только на те элементы экрана, в которые вводится информация.

Модулятор света предназначен для наложения изменяющейся во времени информации на излучение лазера путем изменения во времени его яркости. Если изменения информации синхронизированы с перемещением луча дефлектора, то информация превращается в зрительно воспринимаемое изображение. К основным характеристикам модулятора относят ширину полосы частот, характеристики светопропускания и воспроизведения полутонов, контрастные характеристики, рассеиваемую мощность, линейность и требования к модулирующему сигналу. Требуемая полоса частот модулятора зависит от необходимого качества изображения и способа отображения. При последовательной выдаче число строк:

где — ширина полосы частот или верхняя граничная частота модулятора, — отношение времени обратного хода к полному времени развертки, — частота смены кадров, , — разрешающая способность по строкам,, 0,75 — коэффициент, учитывающий формат кадра, равный 4:3. Коэффициент 2 учитывает, что переход от черного элемента развертки к соседнему белому происходит за время одного периода модулирующего сигнала.

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

Характеристики светопропускания модулятора в значительной степени определяют его надежность, так как рассеяние даже нескольких процентов мощности лазера может привести к перегреву кристаллических элементов, из которых изготовляют модуляторы.

Контраст характеризуется отношением максимальной мощности, проходящей через модулятор, находящийся в возбужденном состоянии, к минимально достижимому значению мощности, которая тем меньше, чем меньше расходимость луча. Используя лучи с минимальным угловым расхождением, можно за счет ухудшения светопропускания повысить контраст. Для получения пяти градаций полутонов требуется контрастность больше 20 и линейная модуляционная характеристика. Этими требованиями можно пренебречь, если устройство должно отображать знаки, а не полутоновые изображения.

Для изменения интенсивности луча лазера используются различные способы. Необходимость воспроизведения широкой полосы частот с целью получения высокой разрешающей способности требует быстродействующих устройств, в качестве которых используют электрооптические модуляторы с линейным или квадратичным эффектом.

Дефлекторы, осуществляющие управление лучом, основаны на различных способах отклонения луча: механическом, рефракционном, дифракционном, когерентной оптической фазовой решетки, двоичного электрооптического управления положением луча.

Механический способ реализуется с помощью применения двух вращающихся многогранных призм или зеркал с весьма высоким коэффициентом отражения, перемещаемых по горизонтали и вертикали пьезоэлектрическим и гальванометрическим приводами. Способ обеспечивает относительно большие рабочие углы отклонения (до 10°-12°) и достаточно высокий оптический коэффициент полезного действия. Быстродействие таких устройств мало, поэтому их можно использовать лишь при режиме последовательной выдачи. Кроме того, им свойственны нестабильность, жесткие допуски на элементы, трудности синхронизации и т. д.

Рефракционный способ реализует известное оптическое свойство — отклонение светового луча вследствие преломления (рефракции) на границе двух прозрачных сред. В этом случае применяют электрооптическую призму или ультразвуковую рефракционную ячейку.

Дифракционный способ может быть использован, если диаметр падающего светового пучка существенно больше длины ультразвуковой волны, когда возникает дифракция света (при растровой развертке). Он обеспечивает малые рабочие углы (до нескольких градусов) и низкую эффективность отклонения.

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

Способ двоичного электрооптического управления световым лучом основан на использовании свойства двойного лучепреломления некоторых веществ. В таких веществах обычный неполяризованный луч света расщепляется на два луча. Один из лучей называется обыкновенным, а другой — необыкновенным. Эти лучи линейно поляризованы, причем плоскости их поляризации взаимно ортогональны. Если свет, падающий на вещество с двойным лучепреломлением (по нормали), полностью линейно поляризован и его плоскость поляризации совпадает с плоскостью поляризации обыкновенного луча, то свет проходит не отклоняясь. Если свет линейно поляризован в плоскости необыкновенного луча, выходной луч оказывается смещенным относительно точки выхода обыкновенного луча. Величина такого смещения пропорциональна толщине кристалла с двойным лучепреломлением (КДП). В качестве такого вещества используют кальцит. Кристалл такого рода может выполнять функцию двоичного переключения линейно поляризованного света, преобразующего обыкновенный О-луч в необыкновенный Н-луч путем введения фазового запаздывания на 180° при воздействии на кристалл напряжения полуволнового запаздывания.

На рис. 2 показана схема двоичного переключателя. Когда на кристалл падает линейно поляризованный свет, плоскость поляризации которого совпадает с плоскостью поляризации О-луча (приложенное к электрооптическому кристаллу ЭОК напряжение равно нулю), — переключатель открыт. В этом случае свет через кристалл кальцита КДП проходит не отклоняясь, а точка выхода света соответствует точке выхода О-луча.

Рис. 2. Переключатель с двойным лучепреломлением Если к ЭОК приложить напряжение, то переключатель закрыт, падающий О-луч превращается в Н-луч, и свет распространяется по пути, соответствующему пути H-луча. Комбинация ЭОК и КПД представляет собой двоичное электрооптическое устройство управления положением светового луча.

Если свет пропускать через n переключателей, то можно получить управляемых положением луча. Чтобы получить двумерную систему отклонения, необходимо использовать вторую систему переключателей, которая должна обеспечивать смещение луча в направлении, перпендикулярно первому.

Этот способ управления лучом — перспективен. Для обеспечения максимальной четкости изображения в СОИ с большими экранами применяют лазеры непрерывного действия с мощностью в несколько ватт, в качестве КДП — кристаллический кварц и исландский шпат.

Многоцветное изображение может быть получено использованием нескольких лазеров, работающих параллельно и имеющих различные спектральные линии излучения, причем у каждого лазера своя система отклонения, настроенная на соответствующую линию излучения.

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

Достоинства СОИ коллективного пользования на лазерах: отображение информации в реальном масштабе времени, высокая разрешающая способность, получение многоцветных изображений, отсутствие промежуточных носителей, возможность создания экрана практически любых размеров для коллективного пользования.

К недостаткам их следует отнести сложность, низкую эффективность, малую надежность и наличие искрения изображения.

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

2. ЭЛЕМЕНТАРНЫЕ СВЕДЕНИЯ О ПАКЕТЕ MATLAB

2.1 Структура пакета Пакет MATLAB широко используется во всем мире при решении задач, связанных с матричными вычислениями. Название пакета образовано путем сокращения от MATrix LABoratory (матричная лаборатория). Операции и команды в MATLAB достаточно естественны и аналогичны математической записи формул на бумаге. MATLAB создавался как пакет программ, реализующих наиболее эффективные вычислительные алгоритмы линейной алгебры. Он организован таrим образом, чтобы пользователь имел возможность применять при работе обычный математический язык.

В настоящее время пакет MATLAB представляет собой развитую интегральную программную среду, включающую собственный язык программирования. Он дает пользователю возможность быстро выполнять различные операции над векторами и матрицами, такие как умножение и обращение матриц, вычисление определителей, нахождение собственных чисел и векторов. Кроме того, в MATLAB входят операции вычисления обычных функций (алгебраических, тригонометрических, логических), решения алгебраических и дифференциальных уравнений, операции построения графиков и ряд других.

MATLAB является языком высокого уровня. По отдельным его командам можно выполнять такие сложные операции, как нахождение корней полиномов, решение линейных и нелинейных алгебраических уравнений, моделирование линейных динамических систем.

Указанные операции являются элементарными функциями MATLAB.

Помимо ядра, содержащего вычислительные алгоритмы общего назначения, в пакете MATLAB реализовано несколько десятков так называемых тулбоксов (библиотек специализированных подпрограмм), предназначенных для решения разнообразных практических задач. Например, тулбокс SYMBOLIC предназначен для выполнения символьных вычислений, а тулбокс CONTROL — для расчета и моделирования систем автоматического управления.

Вместе с пакетом MATLAB поставляется также среда для визуального моделирования (VRT) структурных схем SIMULINK, технология работы в которой в значительной степени копирует технику моделирования на аналоговых вычислительных машинах.

2.2 Начало работы Запуск и элементарные операции При запуске MATLAB, как правило, открывается интерфейс, который содержит меню, панель инструментов и два окна — командное окно (Command Window) и окно рабочего пространства (Workspace).

В случае если командное окно или окно рабочего пространства отсутствует, их можно активизировать во вкладке меню «View».

Команды вводятся в диалоговом режиме непосредственно в командное окно. Например, для того чтобы вычислить значение sin30_, надо в командном окне набрать текст sin (pi/6) и нажать клавишу Enter. На экране появится ответ ans=0.5. Если мы хотим построить график функции y=sint на интервале 0 _ t _10, то сначала следует сформировать массив значений аргумента (для этого в командном окне набираем t=0:.1:10;), а затем набираем текст y=sin (t); plot (t, y). Разделительный знак «точка с запятой» ставится, чтобы не выводить на экран результаты промежуточных вычислений. После нажатия Enter в графическом окне появится график синусоиды. При желании его можно снабдить надписями и нанести координатную сетку (команда grid).

В дальнейшем обе переменные t, y (каждая из них представляет собой массив из 101 числа) сохраняются в рабочем пространстве MATLAB и доступны для использования.

Вместо того чтобы набирать команды в окне MATLAB, их можно записать в текстовый файл с расширением .m (он называется m_файл или файл_сценарий). Имя файла может быть любым, например vova.m. Для того чтобы запустить файл сценарий, достаточно набрать его имя (без расширения) в командном окне: >> vova

Чтобы MATLAB «увидел» файл, либо поместите его в стандартный рабочий каталог, например C: MATLAB work, либо укажите путь к нему.

В разобранном примере использовалась функция sin. В состав MATLAB входят команды для вычисления более 50 элементарных функций.

Для оперативного получения справок об этих и других командах используется команда help. Например, набрав

>> help sind,

получим справку:

SIND Sine of argument in degrees. SIND (X) is the sine of the elements of X,

expressed in degrees.

For integers n, sind (n*180) is exactly zero, whereas sin (n*pi) reflects the

accuracy of the floating point value of pi.

See also asind, sin.

Ввод числовых данных Перечислим несколько простых команд для ввода числовых данных в виде векторов и матриц. Самый простой способ формирования векторов и матриц в MATLAB заключается в непосредственном вводе их элементов с клавиатуры. Например, набирая на клавиатуре данные Х =[1 2 _3 8 5 6], получаем одномерный массив (вектор_строку) Х из шести элементов.

Формирование вектора строки из равноотстоящих значений аргумента выполняется с помощью команды x=x0:h:xn. По умолчанию шаг h принимается равным 1. Например, команда x=0:10 дает целые числа от 0 до 10, а x=0:0.1:10 задает набор значений аргумента от нуля до 10 с шагом 0.1.

Двумерные массивы задаются в виде матриц, при этом строки разделяются символом «точка с запятой». Элементы одной и той же строки могут разделяться как пробелами, так и запятыми:

>> a=[1 2 3; 4 5 6; 7 8 9] >> a=[1, 2, 3; 4, 5, 6; 7, 8, 9]

a =1 2 3 a = 1 2 3

4 5 6 4 5 6

7 8 9 7 8 9

Для доступа к элементам массива используются круглые скобки:

>> a (1,1) >> a (3,3) >> b=[1 2 3 4 5]; b (4)

ans = 1 ans = 9 ans = 4

Для получения строки или столбца матрицы используется символ «двоеточие»:

>> a (, 1) >> a (2:) >> b (1:3) >> b (3:end)

ans = 1 ans = 4 5 6 ans = 1 2 3 ans = 3 4 5

3. ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ VIRTUAL REALITY TOOLBOX ДЛЯ ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРООВАНИЕ В СРЕДЕ MATLAB-SIMULINK

3.1 Особенности сопряжения имитационной модели Matlab-Simulink и программное обеспечение визуализации

3.1.1 Обзор Virtual Reality Toolbox

VR Toolbox это пакет, решающий задачи взаимодействия и управления виртуальными моделями динамических систем во времени. Он является расширением возможностей MATLAB и SIMULINK в мир графики виртуальной реальности.

Рассмотрим основные понятия, связанные с рассматриваемой технологией:

Виртуальный мир (Virtual World) — трехмерная сцена, созданная с помощью VRML (Virtual Reality Modeling Language) технологии.

Динамическая система (Dynamic sistem) — система, созданная с помощью MATLAB или SIMULINK, описывающая систему объектов созданных с помощью VRML.

Анимация (Animation) — изменяющаяся под воздействием сигналов из SIMULINK трехмерная сцена.

Манипуляция (Manipulation) — изменение позиций или свойств объектов виртуального мира в процессе моделирования Вместе с пакетом MATLAB поставляется удобный в использовании редактор V-Realm Builder, но создавать виртуальные миры можно даже в обычный текстовом редакторе.

Для просмотра виртуальных сцен используется VRML браузер (viewer) или Web-браузер при установке дополнительного программного модуля (plug-in).

Virtual Reality Toolbox предоставляет много возможностей для создания и просмотра моделей динамических систем в виртуальной реальности, а также возможность взаимодействия с этими моделями в реальном времени:

поддержка VRML;

поддержка интерфейса MATLAB;

поддержка интерфейса SIMULINK;

VRML-браузеры;

VRML-редакторы;

поддержка SimMechanics;

поддержка клиент-серверной архитектуры.

Построив модель динамической системы в SIMULINK с помощью VR Toolbox, можно наблюдать имитацию ее поведения в реальном времени в 3D реальности.

VR Toolbox содержит блоки, которые позволяют непосредственно соединить и передавать сигналы от SIMULINK к построенному виртуальному миру. Такой подход позволяет воспроизвести динамическую модель как трехмерную анимацию.

С помощью блоков SIMULINK можно использовать многие возможности предоставляемые VR Toolbox. Достаточно поместить блок на SIMULINK диаграмму и выбрать виртуальный мир, которому будут посылаться сигналы. VR Toolbox автоматически проверяет виртуальный мир на доступные VRML узлы, которые SIMULINK сможет использовать.

Все доступные VRML узлы будут представлены в виде иерархического дерева. Также можно указать степень свободы для управления из SIMULINK. После закрытия диалогового окна Block Parameters SIMULINK изменит параметры блока вместе со входами и выходами в соответствии с выделенными узлами виртуального мира. После того как такие входы преобразуются в соответствующие SIMULINK сигналы можно будет наблюдать полученную сцену в VRML-браузере. Т. е. SIMULINK позволяет управлять и манипулировать объектами виртуальной реальности с использованием блоков предоставляемых VR Toolbox.

Рассмотрим поддержку VRML в VR Toolbox.

VRML — это открытый стандарт, разработанный ISO (International Organization for Standartization). Язык VRML является обычным текстом, использующим WWW-ориентированный формат. Создаваемый с помощью VRML виртуальный мир можно просмотреть с помощью VRML-браузера и затем связать VRML-модель с моделью SIMULINK.

Последней на текущий момент спецификацией VRML является VRML97, стандарт ISO/IEC 14 772−1:1997. Спецификация содержит описание создания 3D-сцен, звуков, локальной и удаленной работы с VRML.

VR Toolbox анализирует структуру виртуального мира, определяет какие для него доступны типы сигналов и делает возможным посылку этих сигналов из MATLAB и SIMULINK. Встроенный в VR Toolbox VRML-браузер поддерживает большинство узлов описанных в стандарте VRML97, позволяя осуществлять полный контроль созданным виртуальным миром. В любом случае существует множество plug-in'ов к Webбраузерам, которые поддерживают все возможные узлы.

Благодаря VR Toolbox все изменения, сделанные в виртуальном мире, отражаются и в MATLAB или SIMULINK. Например, если изменить расположение камеры в виртуальном мире, то и изменится соответствующее свойство объекта vr-world в MATLAB или SIMULINK. Также VR Toolbox содержит функции позволяющие читать и изменять свойства объектов виртуального мира.

Рассмотрим поддержку интерфейса MATLAB в VR Toolbox.

VR Toolbox поддерживает гибкий MATLAB интерфейс для работы с виртуальным миром. После создания объектов в MATLAB и ассоциирования их с виртуальным миром, можно осуществлять управление этим виртуальным миром посредством предоставленных для этого функций и методов. Из MATLAB можно изменять позиции и свойства VRML объектов, связать те или иные действия с графическим интерфейсом пользователя (GUIs) посредством так называемых callback функций. Можно также просматривать мир посредством VRML-браузера и устанавливать значения для всех доступных узлов и их полей.

VR Toolbox также предоставляет функции для чтения и изменения свойств виртуального мира и сохранения VRML файлов с текущей конфигурацией виртуального мира.

Рассмотрим поддержку интерфейса SIMULINK в VR Toolbox.

Построив модель динамической системы в SIMULINK с помощью VR Toolbox можно наблюдать имитацию ее поведения в реальном времени в 3D реальности.

VR Toolbox содержит блоки, которые позволяют непосредственно соединить и передавать сигналы от SIMULINK к построенному виртуальному миру. Такой подход позволяет воспроизвести динамическую модель как трехмерную анимацию.

С помощью блоков SIMULINK можно использовать многие возможности предоставляемые VR Toolbox. Достаточно поместить блок на SIMULINK диаграмму и выбрать виртуальный мир, которому будут посылаться сигналы. VR Toolbox автоматически проверяет виртуальный мир на доступные VRML узлы, которые SIMULINK сможет использовать.

Все доступные VRML узлы будут представлены в виде иерархического дерева. Также можно указать степень свободы для управления из SIMULINK. После закрытия диалогового окна Block Parameters SIMULINK изменит параметры блока вместе со входами и выходами в соответствии с выделенными узлами виртуального мира. После того как такие входы преобразуются в соответствующие SIMULINK сигналы можно будет наблюдать полученную сцену в VRML-браузере.

Т.е. SIMULINK дает средства для управления и манипуляции объектами виртуальной реальности с использованием блоков предоставляемых VR Toolbox.

Рассмотрим поддержку VRML-браузеров в VR Toolbox.

VR Toolbox содержит встроенный браузер (браузер по умолчанию) для просмотра виртуальных миров. Этот браузер поддерживается на компьютерах с операционной системой UNIX, MAC OS X и Linux платформах. Если вы установили VRML plug-in, то для отображения процесса моделирования VR Toolbox устанавливает связь MATLAB и SIMULINK с активным VRML-браузером, используя протокол TCP/IP. Такой подход позволяет просматривать процесс моделирования не только с локального узла, где были запущены MATLAB и SIMLINK, но и с любого удаленного узла через интернет-соединение.

В VR Toolbox применяются VRML-редакторы — это редакторы, использующиеся для создания 3D сцен с помощью языка VRML.

Рассмотрим поддержку SimMechanics в VR Toolbox.

VR Toolbox также можно использовать для исследования поведения модели, созданной с помощью SimMechanics. Сначала проектируется модель механизма в Simulink при помощи блоков SimMechanics. Затем создается ее детальная картина в виртуальном мире. После чего созданный мир подключается к выходному элементу SimMechanics и поведение модели или ее части можно просматривать в VRML-браузере.

Рассмотрим поддержку клиент-серверной архитектуры в VR Toolbox.

Как уже было сказано VR Toolbox подключает MATLAB и SIMULINK к активному VRML-браузеру используя протокол TCP/IP. Сам Toolbox может быть использован в 2-х конфигурациях:

? одного компьютера. Simulink, MATLAB и изображение сцены в виртуальном мире запущены на одном компьютере.

? сетевой компьютер. Анимационная картинка с виртуальным миром просматривается, будучи запущенной на удаленном от компьютера на котором запущен VR Toolbox сервер узле. К этому одному серверу могут подключаться много клиентов. Изменять необходимые параметры можно в том числе.

3.1.2 Взаимодействие имитационной модели и ПО визуализации при передаче модельных данных Графическая модель в Matlab Simulink содержит ряд блоков. Каждый блок имеет наглядное общепринятое обозначение в виде прямоугольника, треугольника и т. д. Блоки имеют входы и выходы и описываются различными математическими зависимостями. Блоки соединяются друг с другом линиями со стрелками, причем стрелка указывает направление от выходов одних их блоков ко входам других. Имеются также текстовые комментарии и средства для вывода подсказок и открытия окон справочной системы.

Взаимодействие имитационной модели и ПО визуализации при передачи модельных данных осуществляется в Matlab-Simulink с помощью специальных блоков, в которых имитационная модель передает различные данные в ПО визуализации, на основании которых ПО визуализации будет визуализировать результаты моделирования.

3.1.3 Преобразование системы координат при передачи навигационного сигнала в визуализатор В визуализаторе используется правосторонняя Декартова система координат.

Система координат визуализатора (рис. 5) отличается от той, которая в MATLAB (рис. 6). Эта разница легко видна из рисунков 8 и 9. Различать системы координат необходимо в ситуациях, когда приходится делать преобразования из одной из этих систем в другую. SimMechanics, например, использует координатную систему, принятую в VRML.

Поворот в VRML происходит по правилу «правого винта» (рис. 7).

Дочерние объекты — объекты в визуализаторе имеют иерархическую структуру. Позиция и ориентация дочернего объекта определяется в локальной системе координат, связанной с родителем, т. е. определяемой позицией и ориентацией родителя. Движение родителя вызывает вместе с тем и движение дочернего объекта. В визуализаторе все длины и дистанции измеряются в метрах, а все углы в радианах.

Рис. 3. Система координат в визуализаторе Рис. 4. Система координат в MatLab

Рис. 5. Преобразование поворота в VRML

3.2 Возможности средств разработки виртуальных миров, использующих VRML, для визуализации результатов моделирования системы В окне VR Builder отображается меню, панели с основными элементами, в левой части в виде иерархического дерева отображаются все узлы виртуального мира. Большую часть занимает область отображения сцены, которая может быть представлена одновременно видами из 4х различных ракурсов.

На панели представлены наиболее часто используемые компоненты. Такие как:

? Background — фон, схематически представляющий землю и небо;

? узлы, представляющие основные пространственные фигуры (Box, Cone, Cylinder, Sphere);

? комплексные узлы, позволяющие построить практически любую трехмерную фигуру (Extrusion, IndexedFaceSet) или поверхность (ElevationGrid).

Veiwpoint — один из наиболее востребованных объектов — позволяет добавлять различные позиции, с которых будет вестись наблюдение в виртуальном мире. К точке наблюдения, как и к любому другому именованному узлу, может осуществятся доступ из модели Simulink. Ее можно перемещать, менять ориентацию так, что движущийся объект всегда будет находиться в поле зрения .

Часто требуется вывести на экран какое-либо сообщение, текстовую метку или значение сигнала из модели. Для этого необходимо воспользоваться узлом Text.

Иерархическая структура файла позволяет группировать объекты и создавать дочерние узлы.

VR Builder обладает множеством других полезных возможностей: добавление источников света, создание материалов, наложение текстовых и видео-структур.

4. РАЗРАБОТКА ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ ВИЗУАЛИЗАЦИИИ

4.1 Разработка ПО визуализации Разработка программного обеспечения визуализатора велась в несколько этапов. Этап разработки математического описания САУ, динамической модели визуализатора в Matlab-Simulink и этап создания моделей визуализации в V-Realm Builder .

Математическое описание САУ ЛЛ:

Рассмотрим этап разработки динамической модели визуализатора в Matlab-Simulink. На рис. 6 изображена динамическая модель САУ ЛЛ.

На экране осциллографа (в среде Simulink блок, под названием scope) мы можем увидеть следующую картину :

1) График отображающий изменение напряжения;

2) График отображающий изменение тока

3) График отображающий изменение угла

4) График отображающий изменение угловой скорости

Рис. 7. Выходы модели на scope (осциллограф): 1-U (t), 2-I (t), 3-, 4-w (t)

Принцип работы динамической модели довольно прост: поступившие входные данные, анализируются, и через специальный блок VR-Sink производит 3d визуализацию полученной информации.

Разработка визуализатора производится в V-Realm Builder. На рис. 8 изображена разработка визуализации моделей САУ в V-Realm Builder.

При открытии V-Realm Builder создается новый проект «New World». По желанию есть возможность выбрать фон сцены. Следующий шаг создание 3d модели осциллографа, либо с помощью графических примитивов, либо инструментом «Indexed Face Set», либо импортированием уже созданной модели. После этого создается источник аномалии и она сама, если это необходимо.

С левой стороны окна V-Realm Builder мы можем увидеть древо элементов входящих в состав нашей 3d модели.

Рис. 8. Визуализация САУ ЛЛ

4.2 Simulink-модель визуализатора осциллографа Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области в которой он работает.

Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, Virtual Reality Toolbox — пакет, решающий задачи взаимодействия и управления виртуальными моделями динамических систем во времени).

Перед построением модели необходимо предварительно загрузить систему Matlab и запустить подсистему Simulink. В том и другом случае откроется окно «Simulink Library Browser» (система просмотра библиотек Simulink).

В верхней части этого окна две крайние левые кнопки служат, соответственно, для создания новой и открытия существующей модели. После нажатия левой кнопки на экране появится окно для построения новой модели, изображенное на рис. 9

Рис 9. Дерево библиотеки Simulink

Процесс построения модели Simulink включает в себя компоновку модели и задание необходимых параметров. Компоновка заключается в выборе из библиотек Simulink необходимых блоков, их размещение в открывшемся окне (рис. 10) и соединение между собой (рис. 11).

Рис. 10. Новое рабочее окно подсистемы Simulink при создании модели Рис. 11. Рабочее окно подсистемы Simulink созданной модели Далее для каждого блока устанавливаются соответствующие параметры (рис. 12), отвечающие требованиям моделируемой системы. Для того чтобы построить модель Simulink, необходимо знать, какие типы блоков предоставляются пользователю.

Рис. 12. Окно параметров подсистемы Simulink

Процедура поиска и перемещения блоков из библиотек Simulink в окно модели во многом напоминает операции копирования и перемещения файлов в среде Windows. Для этого в окне Simulink Library Browser необходимо выбрать пункт Simulink, затем выбрать соответствующий пункт в открывшемся списке библиотек и раскрыть его. Для перемещения курсор мышки устанавливается на нужный блок. Затем, нажав и удерживая левую клавишу мышки на нужном блоке, переместить его в окно модели. После того, как блок появился в окне построения модели, можно установить для него соответствующие параметры.

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

Для повышения наглядности модели сложные функциональные зависимости целесообразно объединять в отдельные подсистемы (Subsystems). Блок-схема механической системы, т. е. ее Simulink-модель, создается путем соединения входов и выходов соответствующих блоков.

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

Разработанная программа в виде схемы Simulink проста в эксплуатации, и рассчитана даже на неопытного пользователя, имеет интуитивно понятный интерфейс Рассмотрим кнопки элементов управления на панели управления, изображенные на рис. 13.

Рис. 13. Кнопки элементов управления на панели управления Цифрами на рис. 13 обозначены следующие кнопки:

1. — Создать новую схему Simulink;

2. — Открыть созданную ранее схему Simulink;

3. — Сохранить изменения и поправки с текущий схеме Simulink;

4. — Печать текущей схемы Simulink;

5. — Начать симуляцию текущей схемы Simulink;

6. — Время симуляции текущей схемы Simulink;

7. — Обновление блоков модели текущей схемы Simulink;

8. — Обновление диаграмм и проверка на ошибки текущей схемы Simulink;

9. — Открытие браузера визуализации текущей схемы Simulink;

Первое, что необходимо сделать, открывая разработанную схему в Simulink, это определить, что будет визуализироваться: результаты моделирования при подключении к автономной модели, либо при подключении к стенду математического моделирования. Для этого необходимо поставить блоки. Следующим шагом будет открытие окна визуализатора, дважды щелкнув по блоку «VR Sink» .

Для анимации в Simulink-модели должен присутствовать блок VR Sink пакета Virtual Reality Toolbox (рис. 14), входными параметрами которого выступают обобщенные координаты объекта. В окне данного блока, раскрывающемся при двойном щелчке по блоку VR Sink, необходимо указать имя файла с расширением *.wrl, который описывает пространственный объект, анимацию которого необходимо осуществить, и сцену анимации.

Рис. 14. Параметры блока VR Sink

Также необходимо в окне блока VR Sink расставить флажки в полях, соответствующих обобщенным координатам объекта, после чего у блока VR Sink появится столько входов, сколько было проставлено флажков. В рассматриваемом случае число флажков (и входов блока VR Sink) не будет равно числу обобщенных координат, т. к. три первые обобщенные координаты, в отличие от всех остальных, заданы одним общим флажком в поле «rotation».

Рис. 15. Блок параметров VR Sink с загруженной моделью Нетрудно заметить, что структура в подокне имеет форму дерева. Каждая строка с собственным уникальным названием обозначает систему координат и может иметь одну или несколько дочерних (children) систем координат, которые:

1) либо не имеют степеней свободы относительно родительской системы координат;

2) либо имеют одну или несколько степеней свободы относительно родительской системы координат.

В последнем случае в одном из полей дочерней системы координат должен быть поставлен флажок. Флажки, задающие относительные перемещения систем координат (рис. 16), проставлены только в полях «rotation» (вращение), т. к. другие поля задают иные свойства систем координат и связанных с ними геометрических тел (translation — перемещение объекта по заданной траектории) и в рассматриваемом случае не используются.

Рис. 16. Выбор параметров блока VR Sink

Каждой системе координат может быть поставлено в соответствие («привязано») тело определенной геометрической формы (шар, параллелепипед, конус, цилиндр, фасонная поверхность заданной формы). Данные о числе систем координат, их иерархии и поставленных им в соответствие геометрических телах описываются в файле с расширением wrl.

Для создания и редактирования подобных файлов необходимо нажать на кнопку Edit окна блока VR Sink (рис. 17). Нажатие вызовет загрузку встроенного в оболочку системы MATLAB редактора виртуальных анимационных сцен V-Realm Builder

Рис. 17. Редактора виртуальных анимационных сцен V-Realm Builder

Редактор имеет простой, интуитивно понятный интерфейс, а также встроенную справку на английском языке. Любая система координат может быть названа уникальным именем, скопирована (со всеми дочерними системами), удалена, вставлена, переименована, причем сделать это можно только в редакторе V-Realm Builder.

В окне блока VR Sink уже невозможны никакие изменения, кроме простановки флажков в нужных полях. Поля для простановки флажков появятся лишь в том случае, если какая-либо система координат будет названа собственным уникальным именем.

4.3 Визуализатор выхода осциллографа При запуске процесса моделирования Simulink-модели, в которой присутствует блок VR Sink, автоматически открывается окно анимации, на котором видны все перемещения объекта. Точка наблюдения может быть изменена во время моделирования прямо в этом окне при помощи панели управления в нижней части окна. Положение точки наблюдения по умолчанию должно быть задано в файле .wrl в редакторе V-Realm Builder путем установки специальной системы координат. В свойствах «orientation» и «position» данной системы координат устанавливаются ориентация и позиция точки наблюдения в абсолютной системе координат.

Окно визуализации просто в эксплуатации, и рассчитано даже на неопытного пользователя, имеет интуитивно понятный интерфейс (рис. 18)

Рис. 18. Окно визуализации Рассмотрим кнопки элементов управления на панели управления, изображенные на рис. 18. Цифрами на рис. 19 обозначены следующие кнопки:

1. — Список камер;

2. — Увеличение масштаба;

3. — Уменьшение масштаба;

4. — Старт записи текущей визуализации в файл;

5. — Старт симуляции;

Рис. 19. Окно визуализации По умолчанию кнопка записи видео-файла визуализации не активна (рисунок 18,19). Для е? активации необходимо зайти в меню «Recording», выбрать пункт «Capture and Recording Parameters…». На рис. 20 изображено окно параметров записи видео-файлов.

Рис. 20. Окно параметров записи видео-файлов Для активации записи файла, необходимо нажать галочку «Record to AVI» или «Record to VRML». Ниже приведенная строка с параметрами качества видео-файла — «FPS», «Compression», «Quality». Она предназначена для экспертов и не рекомендована к изменению. В свойстве «Record mode» можно выбрать режим записи видео-файла, по умолчанию стоит «Manual» — ручной режим записи. Существует также режим записи визуализации «Scheduled» — запись по расписанию.

Для старта визуализации необходимо нажать на кнопку «Старт визуализации». По мере выполнения визуализации, возможно переключение камер с помощью меню «список камер», увеличение-уменьшение масштаба текущей сцены, с помощью соответствующих функциональных клавиш, описанных выше, а также запись визуализации в видео-файл с расширением AVI или VRML.

Разработанная при помощи пакета Virtual Reality Toolbox анимационная сцена автокрана позволяет визуализировать сложные пространственные перемещения автокрана в рабочем режиме при моделировании, что упрощает анализ моделирования .

4.4 Предложения по направлениям дальнейшего совершенствования разработанного программного продукта В разработанный программный продукт не рассчитан на неподготовленного пользователя, без знаний основ программирования, Matlab и Simulink. Запуск визуализатора осуществляется только из среды Matlab Стоимость ПО Matlab существенна, поэтому отказ от Matlab и создание кроссплатформенности, более дружественного интерфейса один из вариантов дальнейшего развития.

Вместо Matlab-Simulink планируется использование С++ и технологии OpenGL.

OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и тр? хмерную компьютерную графику. Включает более 250-ти функций для рисования сложных тр? хмерных сцен из простых примитивов.

На базовом уровне, OpenGL — это просто спецификация, то есть документ, описывающий набор функций и их точное поведение. Производители оборудования на основе этой спецификации создают реализации — библиотеки функций, соответствующих набору функций спецификации. Реализация использует возможности оборудования там, где это возможно. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители должны пройти специфические тесты (conformance tests — тесты на соответствие) прежде чем реализация будет классифицирована как OpenGL реализация.

Эффективные реализации OpenGL существуют для Windows, Unix-платформ и Mac OS. Эти реализации обычно предоставляются изготовителями видеоадаптеров и активно используют возможности последних.

OpenGL ориентируется на следующие две задачи:

Скрыть сложности адаптации различных 3D-ускорителей предоставляя разработчику единый API.

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

Основным принципом работы OpenGL является получение наборов векторных графических примитивов в виде точек, линий и многоугольников с последующей математической обработкой полученных данных и построением растровой картинки на экране и/или в памяти. Векторные трансформации и растеризация выполняются графическим конвейером (graphics pipeline), который по сути представляет из себя дискретный автомат. Абсолютное большинство команд OpenGL попадают в одну из двух групп: либо они добавляют графические примитивы на вход в конвейер, либо конфигурируют конвейер на различное исполнение трансформаций.

OpenGL является низкоуровневым процедурным API, что вынуждает программиста диктовать точную последовательность шагов, чтобы построить результирующую растровую графику (императивный подход). Это является основным отличием от дескрипторных подходов, когда вся сцена передается в виде структуры данных (чаще всего дерева), которое обрабатывается и строится на экране.

ЗАКЛЮЧЕНИЕ

Целью данной курсовой работы было математическое моделирование системы управления лазерной индикацией среде MatLab.

В связи с этим были выполнены следующие этапы:

1. Краткое описание САУ ЛЛ, его устройство, назначение, технические характеристики

2. Краткое описание основных возможностей программного пакета Matlab

3. Описание языка VRML, который используется для визуализации объектов в среде MatLab

4. Используя Simulink, создали динамическую модель САУ ЛЛ и его 3D модель СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

1. Авраамова, О. Д. Язык VRML. Практическое руководство/ О. Д. Авраамова.-М.: ДИАЛОГ-МИФИ, 2010.-288 с.

2. Титтел, Э. Создание VRML — миров./ Титтел Э., Сандерс К., Скотт Ч., Вольф П. Создание — СПб.: BHV, 2009. — 320 с.

Показать весь текст
Заполнить форму текущей работой