Реализация на Python нелинейной модели динамики полета самолета 6DOF GARTEUR RCAM.
Европейская группа авиационных исследований и технологий (GARTEUR) - Исследования моделей гражданских самолетов (RCAM). http://garteur.org/wp-content/reports/FM/FM_AG-08_TP-088-3.pdf
В качестве руководств использовались отличные туториалы Кристофера Лама (для Matlab/Simulink):
1 – Уравнения/Моделирование: https://www.youtube.com/watch?v=bFFAL9lI2IQ
2 - реализация Matlab: https://www.youtube.com/watch?v=m5sEln5bWuM
Программа запускает цикл интеграции с заданной пользователем частотой кадров, адаптируя шаги интеграции к доступным вычислительным циклам для визуализации данных в реальном времени в FlightGear.
Выходные данные отправляются в FlightGear (FG) через UDP с заданной пользователем частотой кадров. Интерфейс FG использует класс, реализованный Эндрю Тригелем:
fgFDM: https://github.com/ArduPilot/pymavlink/blob/master/fgFDM.py
В настоящее время UDP-адрес установлен на локальном компьютере.
Запустите эту программу в одном терминале и из отдельного терминала запустите FG одной из следующих команд (в зависимости от установленных аддонов самолета):
fgfs --airport=KSFO --runway=28R --aircraft=ufo --native-fdm=socket,in,60,,5500,udp --fdm=null
fgfs --airport=KSFO --runway=28R --aircraft=Embraer170 --aircraft-dir=./FlightGear/Aircraft/E-jet-family/ --native-fdm=socket,in,60,,5500,udp --fdm=ноль
fgfs --airport=KSFO --runway=28R --aircraft=757-200-RB211 --aircraft-dir=~/.fgfs/Aircraft/org.flightgear.fgaddon.stable_2020/Aircraft/757-200 --native- fdm=сокет,in,60,,5500,udp --fdm=null
fgfs --airport=KSFO --runway=28R --aircraft=757-200-RB211 --aircraft-dir=~/.fgfs/Aircraft/org.flightgear.fgaddon.stable_2020/Aircraft/757-200 --native- fdm=сокет,in,60,,5500,udp --fdm=null --enable-hud --turbulence=0.5 --in-air --enable-rembrandt
Для работы ТРЕБУЕТСЯ джойстик. Протестировано с USB-накопителем Logitech.