воскресенье, 24 июня 2012 г.

К небесам с FlightGear

Интервью Кристофера фон Эйтцена с Кертисом Олсоном, одним из создателей и координаторов проекта FlightGear.

FlightGear - это авиасимулятор с открытыми исходными кодами, который работает под Windows, Mac OS X, Linux и другими операционными системами. Проект впервые был выпущен в 1997 году и с тех пор активно развивался, до текущей версии 2.6.0, выпущенной в феврале этого года.

Как начался проект и чем он станет в будущем? Портал The H поговорил об этом с Кертисом Олсоном.

The H: Как долго вы занимаетесь проектом и какова ваша текущая должность в нем?


Олсон, один из основателей FlightGear, разрабатывает беспилотных дронов, когда не работает над проектом

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

The H: Как вы начали создание FlightGear?

КО: Мы начали разработку FlightGear в 1996 году – это было почти чудачеством - выяснить, а сложно ли написать летный симулятор? Со временем мы поняли как же мы были молоды и наивны, у нас получилось немного, но мы просто продолжали пахать дальше. :-)

The H: Что вы делаете сейчас, когда не работаете над проектом? Что делали раньше?

КО: Прямо сейчас я работаю на небольшую технологическую компанию на Аляске под названием Airborne Technologies. В основном мы создаем маленькие беспилотники-дроны. Я всегда любил самолеты сколько себя помню и я стал очарован компьютерами, как только я увидел первый в своей жизни компьютер. "Воздушная робототехника" это манящий способ скомбинировать интересы моей жизни и заставить меня изучить и развить те области, в которых я еще слаб (например, электроника и прочее оборудование).


Grumman A-6 Intruder в FlightGear 2.6

Когда идея FlightGear возникла в 1996 году, я работал администратором Unix систем в GE Medical Systems и поигрывал в FS5 в свободное время. После краткого пребывания в GE, я перешел на механический факультет университета Миннесоты и участвовал в больших исследовательских проектах на базе автосимулятора, который мы создали. Симулятор включал настоящий автомобиль, 6 проекторов образующих 200-градусный обзор, высококачественное аудио, генераторы вибрации и подвижное основание. Симулятор продолжает использоваться для изучения влияния человеческого фактора. Также во время работы в университете Миннесоты, я помогал аэрокосмическому факультету в нескольких проектах по исследованию беспилотных систем.

The H: Что вы думаете о коммерческих симуляторах как Microsoft Flight Simulator, Flight или X-Plane?

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


Утилита MPMap показывает самолеты и взлетные полосы на карте мира

The H: Кроме открытых кодов, что еще на ваш взгляд отличает FlightGear от них?

КО: FlightGear имеет открытый исходный код и я думаю это его ключевое отличие. И это наша природа, которая ведет нас при разработке FlightGear. (Простите, если я комкаю вместе все прочие коммерческие симуляторы и сравниваю с ними всеми в общем – не все сравнения подходят для всех коммерческих симуляторов).

    FlightGear активно развивается энтузиастами со всей планеты – мы развиваем ядро симулятора, работаем над новыми графическими эффектами, создаем новые модели самолетов и совершенствуем имеющиеся, создаем и улучшаем сценарии и инструменты для работы с ними. Нам не нужно беспокоиться, что какая-то крупная компания остановится разработку по коммерческим причинам, и нам не нужно беспокоиться, что кого-то из разработчиков собъет условным автобусом.

    FlightGear использует открытые APIs и стандартные XML файлы для всех настроек. Вам не нужно компилировать код, чтобы создать свою приборную доску или отдельный прибор.

    FlightGear включает мощный механизм скриптов, которые имеют доступ ко всем внутренним данным симулятора. Вы можете смоделировать и заскриптовать всякие интересные штуки без компиляции кода. К примеру, в одном проекте я смоделировал систему автопосадки на авианосец для нашего F-14. Система автопосадки учитывала движение авианосца и ветер. Я сделал все используя встроенный язык скриптов FlightGear. Другие разработчики моделируют поведение различных приборов, встраивают интерактивное обучение, создают 3D анимации, и даже моделируют всю систему управления и систему стабилизации, используя скриптовый движок.

    FlightGear работает под Windows, Mac OS X, Linux и FreeBSD.

    FlightGear бесплатен.



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

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


Boeing 747 взлетающий из лондонского аэропорта Гатвик

FlightGear также имеет более простой движок под названием "YASim". Он также создан на базе тщательно сконструированного физического движка. Концептуально он похож на физическую модель X-Plane с некоторыми отличиями. Чтобы смоделировать самолет в YASim, вы описываете геометрию самолета и весовые данные (подобно X-Plane). Но в YASim вы также указываете крейсерскую скорость и высоту, а также параметры захода на посадку. В YASim есть встроенный рассчетный алгоритм, который создает крыло с соответствующим отношением подъемной силы к сопротивлению чтобы достичь нужных показателей скорости при заданных физических размерах и весе самолета. В этом отличие от X-Plane, где вы сами указываете параметры крыла, а X-Plane решает насколько быстро и высоко будет летать самолет. В любом случае, дизайнеру самолета нужно будет потратить некоторое количество времени на настройку параметров, чтобы достичь реалистичных летных характеристик для своего самолета.

The H: Расскажите о движке используемом FlightGear.

КО: Графический движок FlightGear использует OpenGL и Open Scene Graph как движок для 3D графики. Ключевая причина использования OpenGL и OSG - то что они переносятся на другие платформы и их политика лицензирования хорошо стыкуется с открытой лицензией FlightGear.


Сверхзвуковой транспортник Aerospatiale-BAC

The H: Насколько велико сообщество FlightGear? Сколько активных разработчиков сейчас? Насколько велико ядро команды?

КО: Из-за открытой и свободной структуры участия и вклада в проект, очень сложно определить точное число участников. Мы не требуем ни откого регистраций. Мы не требуем покупки программ или наборов разработчика. Мы не запрещаем распространение программы (за исключением ограничений в лицензии GPL). Так что трудно всех сосчитать. В течение проекта были сотни (возможно тысячи) людей, которые многое сделали для проекта.

The H: Насколько известно FlightGear - это ПО с открытым исходным кодом. Что еще вы можете добавить про ваше лицензирование?

КО: Я начну с того, что я не юрист. Я понимаю проблемы лицезирования постольку, поскольку они касаются FlightGear, но не более того. С начала нашей разработки FlightGear распространялся на условиях GPLv2 (схемы окраски самолетов - ливреи в FlightGear также лицензированы по GPLv2). Если кратко суммировать GPLv2 - мы предлагаем программу бесплатно для всех и требуем того же от всех кто использует или распространяет программу (даже если они внесли в нее собственные модификации).


Кокпит A-10 Thunderbolt II

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

Примером может быть SimGear (это набор библиотек на базе которых выстроен FlightGear). SimGear лицензируется по LGPL (более свободная лицензия чем GPL). Так что мы можем включать SimGear под капот FlightGear, мы можем по прежнему распространять FlightGear по GPL, но ничто не мешает кому либо взять SimGear из FlightGear и использовать его по оригинальной лицензии LGPL.

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

Клоны и недавние разработки

The H: Некоторые люди и организации перепаковывают FlightGear и пытаются продать его как коммерческий продукт (Flight Pro Sim, Pro Flight Simulator и т.п.). Что сделал проект, когда это обнаружилось?

КО: Я не хочу много обсуждать негативные темы. В мире всегда найдутся люди, которые сделают все что угодно ради денег. Насколько известно команде FlightGear, действия этих "Flight Pro Sim" парней технически легальны в терминах лицензии GPL. Но легальность не имеет ничего общего с этикой и моралью. Я просто посоветую читателям самим изучить вопрос, подумать и самим сделать соответствующие выводы и решения.

The H: Какие недавние разработки внутри проекта FlightGear наиболее вам заметны?


FlightGear имеет реалистичные эффекты воды, такие как солнечные блики

КО: В последний год мы сделали значительный прорыв в области графических эффектов и реализовали более правильный и реалистичный рендеринг мира.
У нас теперь реалистичные эффекты воды и океана, которые включают такие веши как отблески солнца, барашки на волнах, различные цвета моря, интенсивность волн и направление волн в соответствии с погодными условиями. В своей штатной работе, я использовал это моделирование океана, как средство для улучшения и тестирования пакета компьютерного зрения, который будет работать на реальных автоматических беспилотниках и использоваться для поиска загрязнений. Люди могут называть это "графическим эффектов", но для меня это незаменимый инструмент в ежедневной работе!

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

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

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

Источник: http://h-online.com/-1612243

0 коммент.:

Отправить комментарий