FlightGear

Материал из База знаний
Перейти к: навигация, поиск

FlightGear — свободный авиасимулятор с открытым исходным кодом. Распространяется на условиях лицензии GPLv2. Работает на платформах Microsoft (R) Windows (TM), GNU/Linux, Mac OS, FreeBSD, IRIX, Solaris и др.

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

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

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

Возможности

  • FlightGear используется на нескольких профессиональных авиатренажерах, сертифицированных FAA.
  • В FlightGear округлая (сферическая?) модель земного шара. Используется WGS-84.
  • В FlightGear неровные (не плоские) взлетно-посадочные полосы, как в реальной жизни. Превышения двух торцов одной полосы может сильно отличаться.
  • Расположение основных небесных светил (звезд и планет) в FlightGear очень точное и зависит от вашего положения на земле и небе, а также от текущих даты и времени.
  • Исходный код автопилота FlightGear автономно использовался в реальных БПЛА для реальных полетов.
  • Динамика полета вертолетов в FlightGear является одной из самых реалистичных среди авиасимуляторов для персональных компьютеров.

в FlightGear можно летать экипажем

Технически FlightGear позволяет осуществлять совместное управление самолетом и летать по сети экипажем. Практически это реализовано на нескольких моделях - на Cessna 127P, Blackburn Buccaneer, Grumman F-14 Tomcat и на дирижаблях Submarine Scout и Zeppelin NT. Также есть планы по внедрению управления экипажем на ПТ Ту-154Б. (подробнее на англ.)

FlightGear имеет подвижную камеру обзора

Вы можете как угодно крутить "головой", двигаться по кабине/салону в любом направлении, пересаживаться с одного места на другое. Симулятор позволяет добавить неограниченное количество своих "видов". Наиболее наглядно это реализовано в проекте портирования ПТ Ту-154Б, где нажимая цифры 1-2-3-4-5 вы перемещаетесь на место КВС, второго пилота, штурмана или бортинженера, а нажатие тильды (~) "приближает" определенный участок приборной панели самолета. Камерой можно управлять с помощью скриптов.

FlightGear умеет разделять изображение по нескольким мониторам

Графический движок OpenSceneGraph, на основе которого работает FlightGear, позволяет использовать несколько мониторов/проекторов для вывода графического изображения.

FlightGear умеет включать реальные ветры на эшелонах

Небольшое расширение позволяет использовать реальные данные о направлении и силе ветра на больших эшелонах. Данные берутся с сервера Jeppesen.

в FlightGear можно "цеплять" и "тянуть" планеры

В трех летательных аппаратах реализована возможность цеплять и тянуть планеры (Beaver, Rallye-MS893E, J3), а три модели планеров могут к ним цепляться (ASK21, Bocian, DG-300). Цепляться можно как в онлайновом мультиплеере, так и в оффлайне с помощью AI-бота. (подробнее на англ.)

FlightGear имеет мощный встроенный скриптовый язык программирования

Скриптовый объектно-ориентированный язык программирования Nasal имеет синтаксис, схожий с ECMA/JavaScript, Python и Perl. Он позволяет сильно расширить возможности моделей летательных аппаратов, используя сложные логические условия, циклы и функции. Гидро- и электро-системы могут быть реализованы в крайней степени реалистично, благодаря Nasal.

FlightGear позволяет осуществлять дозаправку в воздухе

В симуляторе реализованы два самолета-заправщика (KC135-E, KA6-D) и несколько самолетов (A4F, A-6E, A-10, F-14 Tomcat, Lightning, F-117 Nighthawk и T38), которые могут заправляться от них в воздухе. Заправка может осуществляться как в онлайне, когда заправщиком и заправляемым управляют два реальных человека по сети, так и в оффлайне, запустив соответствующий сценарий при запуске FlightGear. (подробнее на англ.)

FlightGear имеет встроенный веб-интерфейс, телнет и сервер скриншотов

Запустив FlightGear с соответствующими параметрами, к нему затем можно подключиться различными способами. Включив веб-интерфейс, вы (или кто-то другой по сети) можете "зайти" в параметры FG с помощью любого веб-браузера, исследовать дерево свойств, изменить необходимые значения. Включив телнет-сервер вы можете подключить к симулятору программу или скрипт, используя протокол Telnet. Включив JPEG-сервер вы можете: расшаривать текущий обзор (статично); расшаривать текущие скриншоты в виде слайд-шоу (динамично) на веб-страничке; автоматически делать скриншоты с определенной периодичностью и сохранять их в локальную директорию.

FlightGear позволяет создавать собственные протоколы обмена данными

Симулятор позволяет создавать произвольные протоколы обмена данными на основе сетевых протоколов TCP и UDP, либо сохранять в файл необходимые данные в необходимой форме с необходимой периодичностью (например, для моделирования МСРП). При этом протоколы могут быть как текстовыми (ASCII), так и бинарными. Создание собственного протокола осуществляется в стандартной для FG форме - при помощи обычных XML-файлов. (подробнее на англ.)

FlightGear использует несколько уникальных моделей динамики полета

Первые версии FG основывались на модели динамики полета (FDM) LaRCsim, созданной NASA. С 2000 года моделью динамики по-умолчанию стала JSBSim. Для просчета динамики полета она использует введенные в конфигурацию модели параметры о поведении реального ЛА в соответствующих условиях. В 2002 году добавилась ещё одна модель динамики - YASim. Эта FDM просчитывает динамику полета на основе просчёта поверхностей ЛА. Модель динамики UIUC, разработанная Applied Aerodynamics Group в Университете Иллиноиса, также используется в FlightGear. Изначально эта FDM разрабатывалась для проекта Smart Icing System Project. FLightGear может также использовать данные внешних FDM в качестве источника динамики полета, например, данные из программы Matlab. Существует также модель динамики, используемая для летательных аппаратов легче воздуха (аэростатов). В целом же FG позволяет моделлерам крайне реалистично воссоздать динамику полета ЛА и поддерживает авторотацию, воздушную подушку, любое количество двигателей и многое другое. (подробнее на англ.)


История

Проект был создан в 1996 году, а в 1997 года вышел первый релиз симулятора, основанный на OpenGL. Проект возглавляется Кёртисом Олсеном (Curtis Olsen). В декабре 2007 года вышел последний релиз, основанный на графическом движке Plib - версия 1.0. 21 декабря 2008 года вышел релиз 1.9, основанный на новом графическом движке - библиотеке OpenSceneGraph (OSG).

Версия 2.0

FlightGear 2.0.0 основан на OpenSceneGraph, как и предыдущий релиз 1.9.0. Наряду с множеством внутренних изменений в исходном коде симулятора, версия 2.0.0 содержит множество улучшений в графике и озвучке. Что нового в FG 2.0:

Звук

  • Полностью переписанный код звуковой подсистемы
  • Эффекты Допплера
  • Учет дистанции до источника звука
  • 3D-позиционированные источники звука
  • Назначение звуков внешним объектам (например, AI-самолетам)
  • Выбор звуковой карты пользователем
  • Визуальные эффекты
  • Использование шейдеров для динамических текстур
  • Использование отдельных Effects-файлов
  • Улучшенные 3D-облака
  • Изменения цвета объекта, основанные на погодных условиях
  • Динамические эффекты воды
  • Текстовая анимация, основанная на OSGText

Юзабилити

  • Возможность сохранения скриншотов в большем количестве форматов
  • Использование выбранного пользователем звукового устройства
  • Более понятные настройки погоды через GUI и/или командную строку
  • Внутренние улучшения
  • Улучшенное дерево свойств (property tree)
  • Более эффективный «ground cache»
  • Множественные улучшения в планировщике полета
  • Очищенный от большого количества предупреждений компилятора код
  • Улучшена модель атмосферы

Окружение

  • Более реалистичное поведение ILS
  • Улучшения автопилота
  • Базовая функция «autobrake»
  • Воздушные потоки в горной местности, используемые для полетов на планерах
  • Планировщик полетов стал удобнее
  • Лесные пожары, которые можно гасить с помощью пожарных самолетов в т. ч. в онлайне
  • Частоты станций и радиалы могут быть отправлены в Atlas

Утилиты

  • Новый Python-скрипт, позволяющий визуализировать поверхности YaSim-конфигурации в 3D-редакторе Blender

AI

  • Трафик теперь может взлетать и садиться в том же аэропорту
  • Возможность добавления различного наземного транспорта – автомобилей, грузовиков, поездов
  • Для некоторых самолетов стали доступны буксировщики (push-back)
  • Улучшена функциональность радара – теперь он показывает и сопровождающие AI-самолеты
  • AI-объекты теперь цельные
  • Предварительная (тестовая) поддержка SID/STAR-процедур для AI-самолетов

Версия 1.9

Версия FlightGear 1.9.0 выпущена на основе кода, основательно переписанного за два года. После выпуска релиза 1.0.0 в декабре 2007 года, сообщество разработчиков FlightGear направило все свои усилия на завершение работы, начатой в октябре 2006, когда было принято решение о создании ветки, основанной на новом графическом движке — библиотеке OpenSceneGraph. Данный движок расширяет графические возможности симулятора FlightGear.

Релиз 1.9.0 содержит много новых замечательных возможностей, некоторые из которых перечислены ниже:

Основные улучшения
  • Тщательный пересмотр графической части кода, учитывая переход на библиотеку OpenSceneGraph
  • Простая настройка мульти-дисплейных систем при единственном запущенном процессе FlightGear
  • Многопоточная подгрузка 3D-моделей
  • Природные осадки, основанные на новой системе частиц (particle system)
  • Новые динамически настраиваемые 3D-облака
  • Анимация "pick", позволяющая создавать более удобные кликабельные панели инструментов
  • Изменения в графическом меню для удобства полетов на онлайн-серверах
  • Теперь можно запускаться с парковки, а не с взлетно-посадочной полосы
  • Рендеринг деревьев и леса, основанный на шейдерах (shader)
  • Поддержка PNG-текстур (раньше можно было только SGI/RGB)
  • Более 200 типов самолетов теперь доступны для скачивания
  • Появились линии электропередач
  • Возможность летать в строе с ведомыми, управляемыми компьютером самолетами
Улучшения в коде
  • Улучшена динамика полета
  • Небольшие изменения в анимации
  • Улучшено поведение AI-самолетов при рулении
  • Множество изменений в графическом интерфейсе
  • Значительно улучшен код, отвечающий за полеты по маршрутам
  • Улучшена безопасность Nasal-кода (скриптового языка)
  • Улучшена поддержка GPS-приборов
  • Создавать AI-объекты стало проще
  • Берега в сценариях стали ещё более точными

См. также

Ссылки