Д. Ф. Устинова выпускная квалификационная работа Милушкова Виталия Игоревича Фамилия, Имя, Отчество студента Тема диплом

Вид материалаДиплом

Содержание


1.6 Разработка программного обеспечения визуализации
2 Технологический раздел
2.1.1 Отладка визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии при подключении к автоно
2.1.2 Отладка визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии при подключении к стенду
2.2.1 Simulink-модель визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии
2.2.2 Визуализатор выхода автономного необитаемого аппарата на источник экологической аномалии
Подобный материал:
1   2   3   4   5   6   7   8   9   10

1.6 Разработка программного обеспечения визуализации


Разработка программного обеспечения визуализатора велась в несколько этапов.

Этап разработки динамической модели визуализатора в Matlab-Simulink (рисунок 24) и этап создания моделей визуализации в V-Realm Builder (рисунок 25).

В зависимости от заданных параметров среды и экологической обстановки, а также сигналов, полученных после обработки данных имитаторов гидрофизических полей рассчитываются параметры движения АНПА и аномалии. Выходами модели движения являются:
  • границы области ЭА или координаты обнаруженного источника загрязнения;
  • скорость движения источника ЗВ в случае его подвижности;
  • углы отклонения руля высоты и направления;
  • ресурс хода;
  • угловые скорости вращения ОУ;
  • параметры углового движения (углы крена, дифферента);
  • нормальная и поперечная перегрузки ОУ;
  • проекции линейной скорости ОУ.

Рассмотрим этап разработки динамической модели визуализатора в Matlab-Simulink На рисунке 18 изображена модель визуализации поиска АНПА экологической аномалии. Динамическая модель визуализации довольно проста: получая входные данные, анализирует полученную информацию, и через специальный блок VR-Sink производит визуализацию полученной информации.



Рисунок 25 - Динамическая модель визуализатора в Matlab-Simulink

Разработка визуализатора (источник ЭА, движение АНПА) производилась в V-Realm Builder. На рисунке 26 изображена разработка визуализации моделей АНПА и аномалии в V-Realm Builder.

При открытии V-Realm Builder создается новый проект "New World". Далее необходимо выбрать фон сцены. Можно создать надводный и подводный фоны, задавая при этом цвета сторон света. Следующим шагом будет создание модели АНПА, либо с помощью графических примитивов, либо инструментом "Indexed Face Set", либо импортированием уже созданной модели. После этого создается источник аномалии и она сама, если это необходимо. Источник аномалии может быть выполнен виде трубы или растекающейся жидкости, при этом способы создания источника аномалии идентичны способу создания АНПА. После этого если необходимо можно создать дно инструментом "Elevation Grid". И последним шагом будет добавление информационных меток.



Рисунок 26 - Разработка моделей визуализации в V-Realm Builder


2 ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ

2.1 Отладка программного обеспечения визуализации выхода автономного необитаемого подводного аппарата на источник экологических аномалий


Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки [12]. Для нахождения ошибок необходимо:
  • знание текущих значений переменных;
  • знание, по какому пути выполняется программа.

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

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

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

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

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

Конечной целью любого процесса тестирования является обеспечение такого ёмкого (совокупного) понятия как качество, с учётом всех или наиболее критичных для данного конкретного случая составляющих.

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

Более полный список атрибутов и критериев можно найти в самом стандарте ISO 9126 Международной организации по стандартизации. Состав и содержание документации, сопутствующей процессу тестирования, определяется стандартом IEEE 829-1998 Standard for Software Test Documentation.

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

2.1.1 Отладка визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии при подключении к автономной модели


На ранних стадиях разработки программы визуализации или адаптации ее к стенду математического моделирования, проводилась отладка визуализации результатов моделирования на автономной модели. При этом задавались входные данные, как то:
  • границы области источника экологической аномалии;
  • скорость движения источника экологической аномалии, в случае его подвижности;
  • углы отклонения руля высоты и направления;
  • ресурс хода;
  • угловые скорости вращения АНПА;
  • параметры углового движения (углы крена, дифферента);
  • нормальная и поперечная перегрузки АНПА;
  • проекции линейной скорости АНПА.

На рисунке 27 показана отладка программы визуализации результатов моделирования при подключении к автономной модели, выполненная в Matlab-Simulink. В блоках 1-8 задаются параметры границы области источника экологической аномалии, ресурс хода, границы области источника экологической аномалии, и другие. Блоки 9-11 нужны для задержки сигнала. Они, суммируясь в блоке 12 с сигналами без задержки, подаются в блок 13, где происходит подсчет углов отклонения руля высоты и направления, угловые скорости вращения АНПА, а также параметры углового движения (углы крена, дифферента). На рисунке 28 приведен пример подачи сигнала координат по оси У. В блоке "Coordinats" подсчитывается расстояние от АНПА до источника аномалии, и передаются в следующий блок 14 "VR text out", который выводит эту информацию на экран пользователю. Блок 15 отвечает за вывод траектории движения АНПА. Блок "Color" осуществляет подсветку АНПА в визуализаторе, когда она находится в аномалии и ищет её источник. Блок "VR Sink" нужен для связи Matlab-Simulink с моделями, разработанными в V-Realm Builder.



Рисунок 27 - Программа визуализации результатов моделирования при подключении к автономной модели



Рисунок 28 - Пример установки сигнала координат по оси У

2.1.2 Отладка визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии при подключении к стенду математического моделирования


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



Рисунок 29. Блоки передачи переменных в Matlab-Simulink

В общем виде схема отладки визуализатора АНПА при подключении к стенду математического моделирования (Рисунок 30) идентична схеме отладки визуализатора АНПА работающего автономно (Рисунок 27). На ней присутствуют те же функциональные компоненты.



Рисунок 30 - Схема визуализатора при подключении к стенду математического моделирования


2.2 Разработка документации по работе с программным обеспечением визуализации

2.2.1 Simulink-модель визуализатора выхода автономного необитаемого аппарата на источник экологической аномалии


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

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


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


Рисунок 31 - Дерево библиотек Simulink

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




Рисунок 32 - Рабочее окно подсистемы Simulink при создании модели


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



Рисунок 33 – Новое рабочее окно подсистемы Simulink при создании модели

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



Рисунок 34 - Рабочее окно подсистемы Simulink созданной модели







Рисунок 35 – Окно параметров подсистемы Simulink

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

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

Для повышения наглядности модели сложные функциональные зависимости целесообразно объединять в отдельные подсистемы (Subsystems). В результате можно добиться того, что имитационная модель визуализатора будет иметь вид сходный стенду математического моделирования выхода АНПА на источник экологической аномалии.

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

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

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

Рассмотрим кнопки элементов управления на панели управления, изображенные на рисунке 36.



Рисунок 36 - Кнопки элементов управления на панели управления

Цифрами на рисунке обозначены следующие кнопки:
  1. – Создать новую схему Simulink;
  2. – Открыть созданную ранее схему Simulink;
  3. – Сохранить изменения и поправки с текущий схеме Simulink;
  4. – Печать текущей схемы Simulink;
  5. – Начать симуляцию текущей схемы Simulink;
  6. – Время симуляции текущей схемы Simulink;
  7. – Обновление блоков модели текущей схемы Simulink;
  8. – Обновление диаграмм и проверка на ошибки текущей схемы Simulink;
  9. – Открытие браузера визуализации текущей схемы Simulink;

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

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



Рисунок 37 - Параметры блока VR Sink

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

На рисунке 38 приведено полное содержание подокна с прокруткой.



Рисунок 38 - Блок параметров VR Sink с загруженной моделью

Нетрудно заметить, что структура в подокне имеет форму дерева. Каждая строка с собственным уникальным названием (например, anpa, torpedo2, markStart и т. п.) обозначает систему координат и может иметь одну или несколько дочерних (children) систем координат, которые:

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

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

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



Рисунок 39 - Выбор параметров блока VR Sink

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

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



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

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

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

Исходный код разработанной программы приведен в приложении А.

2.2.2 Визуализатор выхода автономного необитаемого аппарата на источник экологической аномалии


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

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



Рисунок 41 - Окно визуализации

Рассмотрим кнопки элементов управления на панели управления, изображенные на рисунке 41. Цифрами на рисунке обозначены следующие кнопки:
  1. – Список камер;
  2. – Увеличение масштаба;
  3. – Уменьшение масштаба;
  4. – Старт записи текущей визуализации в файл;
  5. – Старт симуляции;

По умолчанию кнопка записи видео-файла визуализации не активна (рисунок 41). Для её активации необходимо зайти в меню "Recording", выбрать пункт "Capture and Recording Parameters…". На рисунке 42 изображено окно параметров записи видео-файлов.



Рисунок 42. Окно параметров записи видео-файлов

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

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

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