Введение
FlightGear Flight Simulator (часто сокращается до FlightGear или FGFS) — бесплатный многоплатформенный симулятор полетов с открытым исходным кодом, разрабатываемый проектом FlightGear с 1997 года. Дэвид Мурр начал этот проект 8 апреля 1996 года. Первая версия проекта была выпущена в 1997 году, и разработка продолжается. Существуют специальные сборки для различных операционных систем, включая Microsoft Windows, macOS, Linux, IRIX и Solaris. FlightGear — это симулятор атмосферных и орбитальных полетов, используемый в аэрокосмических исследованиях и промышленности. Его движок динамики полета (JSBSim) был использован NASA в 2015 году в качестве эталона для оценки нового симуляционного кода в соответствии со стандартами космической отрасли.
FlightGear Flight Simulator (often shortened to FlightGear or FGFS) is a free, open source multi platform flight simulator developed by the FlightGear project since 1997. David Murr started this project on April 8, 1996. This project had its first release in 1997 and continued in development. It has specific builds for a variety of different operating systems including Microsoft Windows, macOS, Linux, IRIX, and Solaris. FlightGear is an atmospheric and orbital flight simulator used in aerospace research and industry. Its flight dynamics engine (JSBSim) is used in a 2015 NASA benchmark to judge new simulation code to the standards of the space industry.
История
FlightGear начался как онлайн-предложение в 1996 году, сделанное Дэвидом Мурром, проживающим в Соединенных Штатах. Он был недоволен проприетарными, коммерческими симуляторами, такими как Microsoft Flight Simulator, указывая на то, что интересы компаний не совпадают с интересами игроков ("симеров"), и предложил разработать новый симулятор полета силами волонтеров через интернет. Симулятор был создан с использованием собственного 3D-графического кода. Разработку версии на основе OpenGL возглавил Кертис Олсон, начиная с 1997 года. FlightGear достиг версии 1.0 в 2007 году, версии 2.0 в 2010 году, и после этого было выпущено 9 основных версий под номерами 2.x и 3.x, последней из которых по прежней системе нумерации была "3.4", поскольку выпуск "3.6" был отменен. С 2016 года проект перешел на регулярный цикл выпуска релизов – 4 релиза в год, при этом первой версией, выпущенной по новой схеме наименований, стала "2016.1". Примерно в это же время графический интерфейс "FlightGear Launch Control", также известный как "FGRun", был заменен на встроенный лаунчер на Qt. Исходный код FlightGear распространяется на условиях лицензии GNU General Public License и является свободным программным обеспечением с открытым исходным кодом. Проект FlightGear был номинирован SourceForge и впоследствии выбран сообществом как проект месяца в 2015, 2017 и 2019 годах.
Физика
Силы, действующие на летящий самолет, зависят от изменяющегося во времени состояния потока атмосферной жидкости вдоль траектории полета. Атмосфера является жидкостью, способной обмениваться энергией, влагой или частицами, изменять фазовое состояние или другие характеристики и оказывать воздействие на границы, образованные поверхностями. Поведение жидкости часто характеризуется вихрями и вихревыми структурами различных масштабов, вплоть до микроскопического, однако наблюдать их затруднительно, поскольку воздух прозрачен, за исключением изменений фазы влаги, таких как конденсационные следы или облака. Взаимодействие атмосферы и рельефа подчиняется законам гидродинамики, но протекает в существенно различающихся масштабах, при этом "погода" представляет собой планетарный пограничный слой. Взаимодействие поверхности самолета с окружающей средой происходит по тем же законам, но в более ограниченном диапазоне масштабов. Следовательно, силы, действующие на самолет в любой точке траектории полета, являются результатом сложных атмосферных процессов в различных пространственных масштабах и сложного обтекания поверхности летательного аппарата. Самолеты также испытывают изменение гравитационной силы, обусловленное трехмерной формой гравитационного потенциала и не сферической формой Земли.
Атмосферная и экологическая физика
FlightGear может моделировать атмосферу, начиная от поступления и расхода энергии в систему, например, от солнца или вулканических источников, и заканчивая движением жидкости в различных масштабах и изменением ее состояния. FlightGear способен моделировать различные характеристики поверхности, такие как нагрев или охлаждение, а также обмен теплом и влагой с атмосферой в зависимости от таких факторов, как направление ветра или точка росы. FlightGear моделирует непрерывно развивающийся жизненный цикл атмосферных явлений в различных масштабах, обусловленный взаимодействием воздушных потоков с рельефом местности. Эти явления варьируются от турбулентности различных масштабов и отдельных термиков до гроз, движущихся воздушных слоев и воздушных масс, простирающихся на тысячи километров. Атмосферная вода в FlightGear моделируется, начиная с изменения ее состояния, такого как конденсация в облака или туманные слои, и энергии, выделяемой скрытой теплотой для поддержания конвективного движения жидкости, и заканчивая осадками в виде дождевых капель, снега или града. Процесс создания подъемной силы генерирует турбулентность с вихрями, и FlightGear моделирует следовую турбулентность, возникающую при сбросе концевых вихрей крыльев как пилотируемых, так и управляемых ИИ самолетов. FlightGear также использует менее точную с физической точки зрения модель, основанную на обновлениях погоды METAR различной частоты, предназначенную для обеспечения безопасной эксплуатации аэродромов. Эта модель непрерывно корректирует атмосферу, основываясь на предположениях о происходящих процессах, которые ограничены близостью и плотностью станций наблюдения, а также малым масштабом, ограниченностью, округлением, неплавностью изменения и необходимой точностью информации. Настройки промежуточных точек маршрута, моделирующие поведение ветра на больших высотах, могут быть синхронизированы с обновлениями от Jeppeson. FlightGear включает симуляцию планет Солнечной системы, используемую, например, для моделирования погодных условий, зависящих от широты и солнечного излучения, а также яркости и положения звезд для астронавигации. Существует модель гравитации, основанная на не сферической форме Земли, и летательные аппараты могут испытывать различную силу гравитации в разных частях своего корпуса, что создает крутящий момент. FlightGear также включает модель наблюдаемых изменений в сложном магнитном поле Земли и возможность, в определенной степени, моделировать распространение радиоволн при взаимодействии с различными типами местности. FlightGear использует точную, не сферическую модель Земли и способен моделировать полеты в полярных регионах и в арктических или антарктических аэропортах без ошибок симулятора, связанных с проблемами систем координат.
Динамика полета
FlightGear поддерживает несколько движков динамики полета с различными подходами, а также внешние источники, такие как MATLAB/Simulink, и пользовательские модели полета для аэростатов и космических аппаратов.
JSBSim
JSBSim – это движок динамики полета, основанный на данных, с ядром на C++, разработанный для проекта FlightGear с 1996 года для замены LaRCSim от NASA и интегрированный в FlightGear в качестве стандартного с 1999 года. Летные характеристики сохраняются даже при низкой частоте кадров, поскольку физика JSBSim отделена от рендеринга и работает по умолчанию с частотой 120 Гц. Это также поддерживает высокое ускорение времени, так как рендеринг не нужно выполнять быстрее, что может привести к тому, что графический процессор станет узким местом. JSBSim, текущий стандартный движок динамики полета, поддерживаемый FlightGear, может использовать баланс масс, реакции на землю, тягу, аэродинамику, силы плавучести, внешние силы, атмосферные силы и гравитационные силы для определения летных характеристик. JSBSim поддерживает атмосферы, отличные от земных, и используется NASA для моделирования беспилотных полетов в атмосфере Марса. Результаты, полученные от 6 участников, включая Ames Research Center NASA (VMSRTE), Armstrong Flight Research Center (Core), Johnson Space Center (JEOD), Langley Research Center (LaSRS++, POST II), Marshall Space Flight Center (MAVERIC) и JSBSim, были анонимными, поскольку NASA стремилась стимулировать участие. Однако оценка показала согласие по всем тестовым случаям среди большинства участников, различия между остальными были объяснимы и могли быть устранены, а результаты орбитальных тестов были в "достаточно хорошем" согласовании для всех участников. В отличие от этого, автономные подходы, такие как JSBSim, могут включать данные аэродинамических труб. Они также могут включать результаты вычислительной гидродинамики, точность которых ограничена только природой задачи и современными вычислительными ресурсами. FlightGear также поддерживает LaRCsim и UIUC.
Ускорение времени
FlightGear способен ускорять и замедлять время, увеличивая или уменьшая скорость симуляции. Ускорение времени — важнейшая функция для моделирования длительных полетов и космических миссий. Во всех взаимодействиях с симулятором оно позволяет пользователям ускорять неинтересные этапы и получать больше опыта (принимать решения и решать проблемы). Это также означает, что автоматизированные симуляции, используемые для исследований, завершаются быстрее, что облегчается благодаря безголовому режиму FlightGear. FlightGear поддерживает высокие коэффициенты ускорения времени, позволяя различным частям симуляции работать с разной скоростью. Это позволяет экономить ресурсы ЦП и графического процессора, замедляя менее важные элементы симуляции, такие как визуальные эффекты или системы самолета, не требующие высокой точности по времени. Это также повышает производительность. Для физики JSBSim, различных компонентов систем самолета, а также для моделирования окружающей среды как в крупном (небесная механика), так и в мелком (физика погоды) масштабах доступны отдельные таймеры.
Отображение атмосферы
Атмосферное отображение FlightGear способно предоставлять постоянно меняющиеся визуальные подсказки о процессах, влияющих на динамику атмосферных потоков, и их вероятное развитие и историю, что позволяет прогнозировать условия в будущем или при возвращении в более позднее время. Моделирование направленного рассеяния света системой Advanced Light Scattering в атмосфере отображает трехмерное распределение, слоистость, геометрию и даже статистическую ориентацию частиц в различных режимах рассеяния, таких как Ми или Рэлея. Это относится к различным влажным каплям, смогу, кристаллам льда различной формы в облаках или гало.
Облачное рендеринг
Трехмерное распределение плотности влаги в облаках (или конденсационном следе), визуализированное FlightGear, служит подсказкой для соответствующей трехмерной структуры потока жидкости, например, петли восходящих и нисходящих потоков в штормовой ячейке, внутренних гравитационных волн, формирующих волнистые облачные полосы, указывающие на приближение холодного фронта, или сдвига ветра, формирующего перистые облака на больших высотах.
Редеринг окружающей среды
Система FlightGear Advanced Light Scattering моделирует местоположения не только в пространстве, но и во времени. Симуляция окружающей среды отображает сезонные изменения, когда листья различных видов деревьев, кустарников и травы меняют цвет или опадают. Симулированное покачивание травы, деревьев и ветроуказателей дает представление о процессах, изменяющих ветровое поле у земли, а симуляция волн – о происходящем у воды. Начиная с версии FlightGear 2020.1, появилась возможность подключения к VATSIM с использованием open-source клиента Swift Pilot. Несколько экземпляров FlightGear можно синхронизировать для создания многомониторной конфигурации.
Погода
FlightGear использует данные METAR для создания динамических погодных условий в реальном времени. Подробные настройки погоды позволяют отображать трехмерные облака, различные типы облаков и осадки. Осадки и рельеф местности влияют на турбулентность и формирование облаков. Настройки воздушных точек позволяют моделировать поведение ветра на больших высотах на основе данных о погоде в реальном времени, а также моделировать термики.
Критический прием
Хотя FlightGear и не разрабатывался и обычно не анализируется исключительно как игра в традиционном понимании, он тем не менее был рассмотрен во многих онлайн- и печатных изданиях и получил положительные отзывы как авиасимулятор. FlightGear 1.0.0 был отмечен как впечатляющий проект, над которым работали более десяти лет, предлагающий широкий выбор самолетов и возможностей. PC Magazine отметила, что он разработан с учетом простоты добавления новых самолетов и ландшафтов. Linux Format рассмотрел версию 2.0 и оценил её на 8/10.
Противоречия
В июне 2014 года юристы Honda направили запрос об удалении контента, в котором утверждалось, что модель HondaJet в симуляторе нарушает товарные знаки Honda. Впоследствии HondaJet стал первой моделью, удаленной из симулятора по юридическим основаниям. Журналист по играм Тим Стоун в своей колонке о симуляторах The Flare Path раскритиковал практику, когда третьи лица пытаются нажиться на работе волонтеров, участвующих в проекте, указав на обманные действия по краже медиафайлов из других симуляторов, доступных в сети, с целью искажения впечатления о VirtualPilot3d, а также обратил внимание на предположительно поддельные отзывы клиентов. В 2018 году Тим Стоун опубликовал вторую колонку, в которой вновь подверг критике "этические нормы" и "исключительную готовность лгать ради продаж", демонстрируемые в рекламе другой игры, использовавшей скриншоты из FlightGear.
Применение и использование
FlightGear использовался в различных проектах в академической среде и промышленности (включая NASA). Приложение также применялось для обучения пилотов и в качестве платформы для исследований и разработок различными организациями и университетами. Симулятором пользовались многочисленные институты и компании, такие как NASA/Ames Human Centered System Lab, Pragolet s. r. o. и проект Endless Runway – консорциум нескольких европейских аэрокосмических институтов.
Проект бесконечной взлетно-посадочной полосы
Проект "Бесконечная взлётно-посадочная полоса", консорциум нескольких европейских аэрокосмических институтов.