Симуляція кількох літальних апаратів з FlightGear
WARNING
Цей симулятор підтримується та утримується спільнотою. Це може працювати або не працювати з поточними версіями PX4.
Дивіться Встановлення інструментарію для отримання інформації про середовища та інструменти, які підтримуються основною командою розробників.
Цей розділ пояснює як моделювати кілька транспортних засобів за допомогою FlightGear в SITL. Всі екземпляри транспортних засобів мають параметри, визначені їхніми сценаріями запуску.
Це найбільш екологічно реалістичний спосіб моделювання роботи кількох транспортних засобів PX4 і дозволяє легко тестувати різні типи транспортних засобів. Це підходить для тестування підтримки кількох транспортних засобів у QGroundControl, MAVSDK, тощо.
Багатофункціональне моделювання транспортних засобів з Gazebo Classic слід використовувати замість: імітації рою з багатьма транспортними засобами та тестування функцій, таких як комп'ютерне зорове спостереження, які підтримуються лише Gazebo Classic.
Як запустити кілька екземплярів
Для запуску кількох екземплярів (на окремих портах та ID):
Перевірте гілку PX4, яка підтримує кілька транспортних засобів (у ThunderFly-aerospace):
shgit clone https://github.com/ThunderFly-aerospace/PX4Firmware.git cd PX4Firmware git checkout flightgear-multi
Побудуйте прошивку PX4 за допомогою стандартного інструментарію (з встановленим FlightGear).
Запустіть перший екземпляр, використовуючи попередньо визначені скрипти:
shcd ./Tools/flightgear_bridge/scripts ./vehicle1.sh
Почніть наступні екземпляри, використовуючи інший скрипт:
sh./vehicle2.sh
Кожен екземпляр повинен мати свій власний запусковий скрипт, який може представляти абсолютно різний тип транспортного засобу. Для підготовлених сценаріїв вам слід отримати наступний вигляд.
Наземні станції, такі як QGroundControl, підключаються до всіх екземплярів за допомогою звичайного UDP-порту 14550 (весь трафік йде на один порт).
Кількість одночасно працюючих екземплярів обмежена в основному ресурсами комп'ютера. FlightGear є однопотоковим додатком, але розв'язувачі аеродинаміки споживають багато пам'яті. Отже, розбиття на кілька комп'ютерів та використання багатокористувацького сервера ймовірно потрібно для запуску багатьох екземплярів транспортних засобів.
Додаткові ресурси
- Дивіться Симуляція для отримання додаткової інформації щодо налаштування порту.