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

Текст S-функции "synchronizer.c" приведен в приложении 2

Данную функцию необходимо откомпилировать при помощи команды mex synchronizer.c . В случае успешного выполнения команды будет получен файл с именем synchronizer.dll, представляющий собой динамическую библиотеку функций, вызываемых из Simulink.

В свойствах добавленного в модель блока S-Function необходимо указать в качестве имени S-функции имя созданной библиотеки (synchronizer), а в качестве параметра S-функции - число, которое будет отвечать за соотношение между реальным и имитационным временем.

Окно свойств блока S-function

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

Выполнение S-функции будет начинаться одновременно с запуском процесса моделирования. Ограничений на используемые методы решения у программы отсутствуют, но практическое применение показало, что наиболее точные результаты получаются при использовании фиксированного шага порядка 0,002 с.

2.3.9  Вычисление прогноза положения самолета

Для вычисления прогноза положения самолета воспользуемся следующей системой уравнений:

2.5.1

где х0, y0, z0- выходные параметры блока traekt ( система уравнений 2.3.5)

Dt – время прогноза.

Прогноз вычисляется по следующему принципу: Для текущего положения самолета определяются значения скорости и ускорения путем дифференцирования сигнала блока traekt. Для заданного интервала времени вычисляется приращение к текущей координате ( координаты через время Dt, при неизменном управлении).

В пакете Simulink прогноз вычисляется при помощи подфункции:

Для вычисления уравнения 2.5.1 используется блок Matlab function следующего вида:

Окно свойств блока Matlab function

U(i) – входные параметры блока, где i порядковый номер переменной.

3.  Система визуализации вычислений.

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

Для выполнения первой задачи используется, поставляемое вместе с пакетом Matlab 6.5, программное обеспечение V-Realm Builder. Данная программа позволяет объектно-ориентированным методом программировать на языке создания виртуальных миров WRML. Конечным результатом использования программы является трехмерная электронная модель участка местности, которая и используется для проведения эксперимента.

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

3.1  Создание пространственной модели местности

Весь процесс создания пространственной модели можно разделить на 3 основных этапа:

3.1.1  Анализ пространственной модели.

На данном этапе требуется определить непосредственный вид модели: число и тип входящих в нее объектов, координаты этих объектов, способ взаимодействия объектов модели между собой.

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

Примем в качестве координаты начала полосы точку {0,0,-1010}. В данной работе за единицу расстояния было решено принять 10м, отсюда следует, что полоса будет находиться на уровне моря, на удалении 10100 м от точки отчета системы координат.