Skip to content

Симуляція кількох літальних апаратів з FlightGear

WARNING

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

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

Цей розділ пояснює як моделювати кілька транспортних засобів за допомогою FlightGear в SITL. Всі екземпляри транспортних засобів мають параметри, визначені їхніми сценаріями запуску.

Це найбільш екологічно реалістичний спосіб моделювання роботи кількох транспортних засобів PX4 і дозволяє легко тестувати різні типи транспортних засобів. Це підходить для тестування підтримки кількох транспортних засобів у QGroundControl, MAVSDK, тощо.

Багатофункціональне моделювання транспортних засобів з Gazebo Classic слід використовувати замість: імітації рою з багатьма транспортними засобами та тестування функцій, таких як комп'ютерне зорове спостереження, які підтримуються лише Gazebo Classic.

Як запустити кілька екземплярів

Для запуску кількох екземплярів (на окремих портах та ID):

  1. Перевірте гілку PX4, яка підтримує кілька транспортних засобів (у ThunderFly-aerospace):

    sh
    git clone https://github.com/ThunderFly-aerospace/PX4Firmware.git
    cd PX4Firmware
    git checkout flightgear-multi
  2. Побудуйте прошивку PX4 за допомогою стандартного інструментарію (з встановленим FlightGear).

  3. Запустіть перший екземпляр, використовуючи попередньо визначені скрипти:

    sh
    cd ./Tools/flightgear_bridge/scripts
    ./vehicle1.sh
  4. Почніть наступні екземпляри, використовуючи інший скрипт:

    sh
    ./vehicle2.sh

Кожен екземпляр повинен мати свій власний запусковий скрипт, який може представляти абсолютно різний тип транспортного засобу. Для підготовлених сценаріїв вам слід отримати наступний вигляд.

Multi-vehicle simulation using PX4 SITL and FlightGear

Наземні станції, такі як QGroundControl, підключаються до всіх екземплярів за допомогою звичайного UDP-порту 14550 (весь трафік йде на один порт).

Кількість одночасно працюючих екземплярів обмежена в основному ресурсами комп'ютера. FlightGear є однопотоковим додатком, але розв'язувачі аеродинаміки споживають багато пам'яті. Отже, розбиття на кілька комп'ютерів та використання багатокористувацького сервера ймовірно потрібно для запуску багатьох екземплярів транспортних засобів.

Додаткові ресурси

  • Дивіться Симуляція для отримання додаткової інформації щодо налаштування порту.