Skip to content

Симуляція з апаратним забезпеченням в контурі (HITL)

HITL

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

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

Апаратне забезпечення в контурі (HITL або HIL) режим симуляції в якому звичайна прошивка PX4 виконується на реальному пристрої польотного контролера. Цей підхід має перевагу у вигляді можливості тестування більшості коду для польоту на реальному апаратному забезпеченні.

PX4 підтримує HITL для мультикоптерів (за допомогою jMAVSim або Gazebo Classic) та ВЗІП (за допомогою Gazebo Classic).

Планери сумісні з HITL

Поточний набір сумісних планерів проти симуляторів:

ПланерSYS_AUTOSTARTGazebo ClassicjMAVSim
HIL квадрокоптер у конфігурації X1001YY
HIL ВЗІП квадроплан стандартний1002Y
Загальний квадрокоптер у конфігурації X4001YY

Середовище симуляції HITL

У симуляції з апаратним забезпеченням у контурі (HITL) звичайна прошивка PX4 виконується на реальному обладнані. JMAVSim або Gazebo Classic (які працюють на комп'ютері розробки) підключені до пристрою польотного контролера через USB/UART. Симулятор діє як шлюз для спільного використання даних MAVLink між PX4 та QGroundControl.

Симулятор також може бути підключений за допомогою UDP якщо політний контролер має підтримку мережі та використовує стабільне з'єднання з низькою затримкою (наприклад дротове Ethernet підключення, WiFi підключення зазвичай недостатньо надійне). Наприклад, ця конфігурація була перевірена з PX4, що виконується на Raspberry Pi який підключений через Ethernet до комп'ютера (налаштування запуску яке включає команди для запуску jMAVSim можна знайти тут).

Діаграма нижче показує середовище симуляції:

  • Обрано конфігурацію HITL (у QGroundControl), яка не запускає ніяких реальних датчиків.
  • jMAVSim або Gazebo Classic підключені до політного контролера через USB.
  • Симулятор підключено до QGroundControl через UDP і передає повідомлення MAVLink до PX4.
  • Gazebo Classic та jMAVSim можуть також підключатися до зовнішнього API та передавати повідомлення MAVLink до PX4.
  • (Необов'язково) Для підключення джойстика/геймпада через QGroundControl може бути використано послідовне з'єднання.

Налаштування HITL - jMAVSim та Gazebo Classic

HITL у порівнянні з SITL

SITL працює на комп'ютері розробки в модельованому середовищі та використовує прошивку спеціально створену для цього середовища. Крім драйверів симуляції для забезпечення підроблених даних середовища від симулятора система поводиться як зазвичай.

На противагу, HITL виконує звичайну прошивку PX4 в "режимі HITL" на звичайному обладнані. Дані симуляції потрапляють в систему в іншій точці ніж для SITL. Основні модулі на кшталт командного або датчиків мають режими HITL, що оминають частину звичайної функціональності при старті.

Підсумовуючи, HITL виконує PX4 на реальному обладнанні за допомогою стандартної прошивки, а SITL фактично більше виконує стандартний системний код.

Налаштування HITL

Налаштування PX4

  1. З'єднайте автопілот безпосередньо з QGroundControl за допомогою USB.

  2. Увімкніть режим HITL

    1. Відкрийте розділ Налаштування > Безпека.

    2. Увімкніть режим HITL обравши Увімкнено в переліку HITL увімкнено:

      Налаштування QGroundControl HITL

  3. Оберіть планер

    1. Відкрийте Налаштування > Планери

    2. Оберіть сумісний планер який потрібно перевірити. Потім натисніть Застосувати та перезапустити у верхній правій частині сторінки Налаштування планера.

      Вибір планера

  4. При необхідності відкалібруйте пульт РК або джойстик.

  5. Налаштування UDP

    1. У вкладці Загальне меню налаштувань приберіть усі прапорці AutoConnect окрім UDP.

      Параметри автоматичного підключення QGC для HITL

  6. (Необов'язково) Налаштуйте джойстик та запобіжник відмови. Встановіть наступні параметри для того щоб використовувати джойстик замість передавача РК пульту:

    • COM_RC_IN_MODE у "Joystick/No RC Checks". Це дозволить керування джойстиком та відключить перевірки пульту РК.
    • NAV_RCL_ACT у "Вимкнено". Це гарантує, що ніякі дії запобігання відмові не будуть перешкоджати коли не виконується HITL з радіо керуванням.

TIP

Посібник користувача QGroundControl має інструкції для налаштування Джойстика та Віртуального джойстика.

Як тільки налаштування завершене, закрийте QGroundControl та від'єднайте політний контролер від комп'ютера.

Налаштування відповідних симуляторів

Дотримуйтесь відповідних кроків для певного симулятора в наступних розділах.

Gazebo Classic

Переконайтеся, що QGroundControl не запущено!

  1. Зберіть PX4 з Gazebo Classic (щоб зібрати плагіни Gazebo Classic).

    sh
    cd <Firmware_clone>
    DONT_RUN=1 make px4_sitl_default gazebo-classic
  2. Відкрийте sdf файл моделі рухомого засобу (наприклад Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/iris_hitl/iris_hitl.sdf).

  3. Якщо необхідно, замінить параметр serialDevice (/dev/ttyACM0).

    Пристрій послідовного порту залежить від порту, що використано для під'єднання засобу до комп'ютера (зазвичай це /dev/ttyACM0). Простий спосіб перевірити це на Ubuntu - під'єднати автопілот, відкрити термінал та ввести dmesg | grep "tty". Останній показаний пристрій і буде тим що потрібно.

:::

  1. Налаштуйте змінні середовища:

    sh
    source Tools/simulation/gazebo-classic/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default

    та запустіть Gazebo Classic в режимі HITL:

    sh
    gazebo Tools/simulation/gazebo-classic/sitl_gazebo-classic/worlds/hitl_iris.world
  2. Запустіть QGroundControl. Воно повинно автоматично підключитися до PX4 та Gazebo Classic.

jMAVSim (тільки квадрокоптер)

Переконайтеся, що QGroundControl не запущено!

  1. Під'єднайте політний контролер до комп'ютера та дочекайтесь коли він завантажиться.

  2. Запустіть jMAVSim в режимі HITL:

    sh
    ./Tools/simulation/jmavsim/jmavsim_run.sh -q -s -d /dev/ttyACM0 -b 921600 -r 250

    Замінить ім'я послідовного порту /dev/ttyACM0 на відповідний. На macOS цей порт буде /dev/tty.usbmodem1. На Windows (включно з Cygwin) це буде COM1 або інший порт - перевірте з'єднання в менеджері пристроїв Windows.

:::

  1. Запустіть QGroundControl. Воно повинно автоматично підключитися до PX4 та jMAVSim.

Політ за автономним завданням у HITL

Ви повинні мати можливість використовувати QGroundControl для запуску політних завдань та іншим чином керувати рухомим засобом.