Статья опубликована в рамках: XLII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 31 мая 2016 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
МОДЕЛИРОВАНИЕ ПОЛЕТА ЛЕТАТЕЛЬНОГО АППАРАТА ДЛЯ ANDROID УСТРОЙСТВА
На сегодняшний день, когда мобильные устройства по своей производительности достигли стационарных компьютеров, появилась возможность в создании имитационных моделей и для мобильных платформ. В данном случае будет разработано приложение для платформы Android -системы, под которой сегодня работают миллионы мобильных устройств.
Целью работы является разработать приложение для смартфона под управлением операционной системы Android, способное моделировать полет летательного аппарата, при этом в ходе работы над проектом должно быть разработано следующее:
- 3-D модель летательного аппарата
- Трехмерное пространство окружающее летательный аппарат
- Элементы трехмерной анимации природных явлений
- Возможность управления летательным аппаратом под Android устройством
Так же модель должна позволять воспроизводить все основные этапы полета с выполнением основных задач (взлета, набора высоты, полета по маршруту, возвращения в район аэродрома, захода на посадку)
Данная модель в будущем может помочь решить некоторые задачи, среди которых:
- Анализ поведение летательного аппарата
- Возможность симуляции полета летательного аппарата
Обычно полёт самолёта рассматривают как движение в пространстве абсолютно жёсткого тела.
Рисунок 1. Система координат, связанная с самолетом
Вводится понятие связанной системы координат OXYZ, начало которой помещено в центре масс ЛА, и считается неподвижным относительно корпуса самолёта.
Ось ОX связанной системы координат проводится параллельно хорде крыла и называется продольной осью самолета. Ось OY перпендикулярна оси OX и направлена вверх. Ось OZ дополняет систему и проводится по крыльям летательного аппарата.
Вращение в трехмерном пространстве представляет собой композицию поворотов вокруг трех ортогональных осей связанной системы координат. Для этого используется система углов Эйлера [2] поворачивающих самолёт по тангажу, крену и рысканию. При этом углы соответствуют следующей системе поворотов:
Рисунок 2. Система углов поворота
Рисунок
- поворот на угол φ вокруг продольной оси OX – крен;
- поворот на угол θ вокруг поперечной оси OZ – тангаж;
- поворот на угол ψ вокруг вертикальной оси OY - рыскание.
На летательный действуют следующие силы: сила тяжести, сила сопротивления воздуха, сила тяги.
Сила тяжести G, которая рассчитывается по формуле:
где m – масса самолета, которая задается в среде;
g – ускорение свободного падения, равное 9.8 м/с2.
Общую формулу воздействующих сил можно записать так:
где P – подъемная сила, – угол атаки, Х – сила сопротивления воздуха
, где угол тангажа
Угол тангажа — угол между продольной осью летательного аппарата или судна и горизонтальной плоскостью.
В качестве платформы для разработки мною была выбрана Unitу 3D [3], которая позволяет осуществлять разработку игр различной сложности. Моделью летательного аппарата был выбран одномоторный самолет, на который будут воздействовать три силы: сила тяги, сила сопротивления воздуха и сила тяжести. Все вышеописанные силы будут обработаны движком Unitу. Описание исходной задачи будет состоять из следующих основных частей:
- Описание и разработка модели движения самолета и окружающего мира;
- Разработка 3D модели;
- Моделирование полета;
- Разработка системы управления с помощью стиков джойстика;
- Природные явления
- Сценарии разработанные для игрового мира
Игровой мир создан в среде Unitу и представляет собой заданную игровую поверхность (Terrain), модель неба (Skybox) и Sea(море).
Местность, на которой представлена игра, представляет собой пустынный остров посреди моря. Начальной площадкой игры служит оазис у берега моря, где имеется взлётная площадка, позволяющая самолету беспрепятственно набрать нужную скорость для взлёта.
Модель движения самолета в проекте задается следующим образом: по осям x и y ограничение наложено областью ландшафтного движка. По оси z вниз ограничение наложено нулевой позицией, т.е. поверхностью Terrain. Вверх ограничения не задано.
Модель самолета была нарисована в программе 3-D Max и импортирована в игровой мир стандартными методами, представленными средой Unitу.
Основными компонентами модели являются: физическая модель и визуальная модель, так же отдельно необходимо выделить компонент пропеллер самолета.
Изначально летательный аппарат находится в неподвижном состоянии. При движении на него действуют три силы: сила тяжести, сила сопротивления воздуха и сила тяги. Далее для того чтобы заставить летательный аппарат начать движение необходимо запустить двигатель, появится сила тяги. После того как сила тяги преодолеет некоторый порог (станет больше силы сопротивления воздуха), самолет начнет движение. Управляя стиками джойстика, пользователь управляет направлением движения аппарата. Для снижения скорости самолеты, нужно отключить двигатель, сила тяги постепенно начнет падать.
Так как программа изначально должна была представлять собой мобильное приложение, то передо мной стояла задача доработать разработанное приложение под возможность управления непосредственно с мобильного устройства. Для осуществления данной возможности были рассмотрены различные варианты и был выбран метод управления с помощью стиков джойстика.
Левый стик отвечает за управление камерой, следующей за самолетом. С его помощью можно осмотреть всю область вокруг самолета. Правый стик отвечает за управления самолетом, при движении стика вверх самолет начинает набирать высоту, вниз соответственно снижается. При движении влево самолет выполняет вираж влево, иначе вправо. Особенностью управления стиками является, то что чем дальше отводишь стик от центра тем сильнее самолет будет кренится в сторону или набирать (снижать) высоту.
Взаимодействие на программном уровне осуществляется при помощи библиотеки Extensible Input Manager [1]. Данное расширение предоставляет возможность взаимодействовать при помощи стиков джойстика с различными объектами игрового мира. Был использован метод класса InputManager для считывания текущего значения положения стика джойстика.
В ходе выполнения проекта, была разработана программа для Android устройства, способная моделировать полет летательного аппарата. В процессе были проработаны следующие моменты: 3-D модель летального аппарата, трехмерная окружающая среда, трехмерные элементы анимации природных явлений и возможность управления летательным аппаратом под Android устройством.
Также разработанная модель позволяет воспроизводить все основные этапы полета с выполнением основных задач (взлета, набора высоты, полета по маршруту, возвращения в район аэродрома, захода на посадку).
Список литературы:
- Герасимов В. Unitу 3.x Scripting. – Packt Publishing, 2011 – 292 с.
- Углы Эйлера // Wikipedia. — 2016. — [электронный ресурс] — Режим доступа. — URL: https://ru.wikipedia.org/wiki/Углы_Эйлера (дата обращения 26.05.2016)
- Unity (игровой движок) // Wikipedia. — 2016. — [электронный ресурс] — Режим доступа. — URL: https://ru.wikipedia.org/wiki/Unity_(игровой_движок) (дата обращения 26.05.2016)
дипломов
Оставить комментарий