Skip to content

Симуляція Flightgear

WARNING

Цей симулятор підтримується та підтримується спільнотою. Це може працювати або не працювати з поточними версіями PX4.

Дивіться Встановлення інструментарію для інформації про середовища та інструменти, які підтримуються основною розробницькою командою.

FlightGear - це симулятор польоту з потужними моторами FDM. Це дозволяє FlightGear моделювати вертольоти в різних метеорологічних умовах (тому спочатку міст між ними був розроблений компанією ThunderFly s.r.o.).

Ця сторінка описує використання FlightGear з одним транспортним засобом у реальному часі на віртуальному полігоні (SITL). Для отримання інформації про багатокористувацьке використання дивіться: Багатокористувацька симуляція з FlightGear.

Підтримувані Транспортні Засоби: Автожир, Літак, Рухомий об'єкт.

Mermaid Graph

Дивіться Симуляція для загальної інформації про симулятори, середовище симуляції та конфігурацію симуляції (наприклад, підтримувані транспортні засоби).

Встановлення (Ubuntu Linux)

INFO

Ці інструкції були перевірені на Ubuntu 18.04

  1. Установіть звичайне Середовище розробки на Ubuntu LTS / Debian Linux.

  2. Встановити FlightGear:

    sh
    sudo add-apt-repository ppa:saiarcot895/flightgear
    sudo apt update
    sudo apt install flightgear

    Це встановить останню стабільну версію FlightGear зі сховища PAA разом із пакетом FGdata.

TIP

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

  1. Перевірте, що ви можете запустити FlightGear:

    sh
    fgfs --launcher
  2. Установіть дозволи на запис до папки Protocols у каталозі встановлення FlightGear:

    sh
    sudo chmod a+w /usr/share/games/flightgear/Protocol

    Налаштування дозволів потрібне, оскільки PX4-FlightGear-Bridge розміщує тут файл визначення зв’язку.

Додаткові інструкції для встановлення можна знайти на FlightGear wiki.

Запуск симуляції

Запустіть симуляцію, запустивши PX4 SITL та вказавши конфігурацію повітряного каркасу на ваш вибір.

Найпростіший спосіб зробити це - відкрити термінал у кореневій директорії репозиторію PX4 PX4-Autopilot і викликати make для потрібної цілі. Наприклад, для запуску симуляції літака:

sh
cd /path/to/PX4-Autopilot
make px4_sitl_nolockstep flightgear_rascal

Нижче перелічено підтримувані транспортні засоби та команди make (клацніть по посиланнях, щоб побачити зображення транспортного засобу).

Транспортний засібКоманда
Стандартний літакmake px4_sitl_nolockstep flightgear_rascal
Автомобіль Акермана (UGV/Rover)make px4_sitl_nolockstep flightgear_tf-r1
Автогироmake px4_sitl_nolockstep flightgear_tf-g1

Вищенаведені команди запускають єдиний засіб з повним користувацьким інтерфейсом. QGroundControl повинна автоматично підключатися до симульованого транспортного засобу.

Для повного списку цілей побудови FlightGear (виділені) виконайте:

sh
make px4_sitl_nolockstep list_vmd_make_targets | grep flightgear_

Для отримання додаткової інформації див. : Літальні апарати FlightGear (це включає інформацію про "непідтримувані" літальні апарати та додавання нових літальних апаратів).

Посібник Встановлення файлів і коду є корисним довідником якщо виникнуть помилки збірки.

Підйом у небо

Згадані вище команди make спочатку створюють PX4, а потім запускають його разом із симулятором FlightGear.

Після запуску PX4 запуститься оболонка PX4, як показано нижче. Ви повинні вибрати enter, щоб відкрити командний рядок.

sh
______  __   __    ___
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [param] selected parameter default file eeprom/parameters_1034
I'm Mavlink to FlightGear Bridge
Target Bridge Freq: 200, send data every step: 1
4
  5   -1
  7   -1
  2   1
  4   1
[param] Loaded: eeprom/parameters_1034
INFO  [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes
INFO  [simulator] Waiting for simulator to accept connection on TCP port 4560
INFO  [simulator] Simulator connected on TCP port 4560.
INFO  [commander] LED: open /dev/led0 failed (22)
INFO  [commander] Mission #3 loaded, 9 WPs, curr: 8
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [airspeed_selector] No airspeed sensor detected. Переключитися в режим, що не використовує швидкість повітря.
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] Opened full log file: ./log/2020-04-28/22_03_36.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> StatsHandler::StatsHandler() Setting up GL2 compatible shaders
Now checking for plug-in osgPlugins-3.4.1/osgdb_nvtt.so
PX4 Communicator: PX4 Connected.

pxh>

Консоль буде виводити статус поки PX4 завантажує файли ініціалізації та параметрів для певного планера, чекати та (підключатися) до симулятора. Як тільки з'явиться вивід INFO що [ecl/EKF] commencing GPS fusion рухомий засіб готовий до роботи. На цьому етапі ви повинні побачити вікно FlightGear з якоюсь видимою частиною літака.

Ви можете змінити вид, натиснувши Ctrl+V.

FlightGear UI

Ви можете підняти його у повітря надрукувавши:

sh
pxh> commander takeoff

Використання/Налаштування

Ви можете налаштувати вашу FG установку/налаштування за допомогою наступних змінних середовища:

  • FG\_BINARY - абсолютний шлях до виконавчого файлу FG. (Це може бути AppImage)
  • FG\_MODELS\_DIR - абсолютний шлях до теки, що містить вручну завантажені моделі літаків, які слід використовувати для симуляції.
  • FG\_ARGS\_EX - будь-які додаткові параметри FG.

Відображення частоти кадрів

У FlightGear ви можете відобразити частоту кадрів, увімкнувши її в: Перегляд > Параметри перегляду > Показати частоту кадрів.

Встановлення власного місця зльоту

Місце зльоту в SITL FlightGear можна встановити за допомогою додаткових змінних. Встановлення змінної перевищить місце вильоту за замовчуванням.

Змінні, які можна встановити, наведено нижче: --airport, --runway та --offset-distance. Інші варіанти можна знайти на FlightGear wiki

Наприклад:

sh
FG_ARGS_EX="--airport=PHNL"  make px4_sitl_nolockstep flightgear_rascal

Як приклад вище запускає моделювання на Міжнародний аеропорт Honolulu

Використання джойстика

Джойстики та пальцевий джойстик підтримуються через QGroundControl (інструкції з налаштування тут).

Вхід джойстика в FlightGear слід вимкнути, в іншому випадку виникне "конфлікт умов" між введенням джойстика FG та командами PX4.

Розширення та персоналізація

Для розширення та налаштування інтерфейсу симуляції, відредагуйте файли у директорії Tools/simulation/flightgear/flightgear_bridge . Код доступний у репозиторії PX4-FlightGear-Bridge на Github.

Подальша інформація