Hamish Willee 88d623bedb
Move PX4 Guide source into /docs (#24490)
* Add vitepress tree

* Update existing workflows so they dont trigger on changes in the docs path

* Add nojekyll, package.json, LICENCE etc

* Add crowdin docs upload/download scripts

* Add docs flaw checker workflows

* Used docs prefix for docs workflows

* Crowdin obvious fixes

* ci: docs move to self hosted runner

runs on a beefy server for faster builds

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: don't run build action for docs or ci changes

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* ci: update runners

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Add docs/en

* Add docs assets and scripts

* Fix up editlinks to point to PX4 sources

* Download just the translations that are supported

* Add translation sources for zh, uk, ko

* Update latest tranlsation and uorb graphs

* update vitepress to latest

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-03-13 16:08:27 +11:00

9.8 KiB
Raw Blame History

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

:::warning HITL is community supported and maintained. Це може працювати або не працювати з поточними версіями PX4.

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

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

PX4 supports HITL for multicopters (using jMAVSim or Gazebo Classic) and VTOL (using Gazebo Classic).

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

The set of compatible airframes vs simulators is:

Планер SYS_AUTOSTART Gazebo Classic jMAVSim
HIL Quadcopter X 1001 Y Y
HIL Standard VTOL QuadPlane 1002 Y
Generic Quadrotor x copter 4001 Y Y

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

У симуляції з апаратним забезпеченням у контурі (HITL) звичайна прошивка PX4 виконується на реальному обладнані. JMAVSim або Gazebo Classic (які працюють на комп'ютері розробки) підключені до пристрою польотного контролера через USB/UART. The simulator acts as gateway to share MAVLink data between PX4 and QGroundControl.

:::info The simulator can also be connected via UDP if the flight controller has networking support and uses a stable, low-latency connection (e.g. a wired Ethernet connection - WiFi is usually not sufficiently reliable). For example, this configuration has been tested with PX4 running on a Raspberry Pi connected via Ethernet to the computer (a startup configuration that includes the command for running jMAVSim can be found here). :::

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

  • A HITL configuration is selected (via QGroundControl) that doesn't start any real sensors.
  • jMAVSim or Gazebo Classic are connected to the flight controller via USB.
  • The simulator is connected to QGroundControl via UDP and bridges its MAVLink messages to PX4.
  • Gazebo Classic and jMAVSim can also connect to an offboard API and bridge MAVLink messages to PX4.
  • (Optional) A serial connection can be used to connect Joystick/Gamepad hardware via QGroundControl.

HITL Setup - jMAVSim and Gazebo Classic

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

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

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

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

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

Конфігурація PX4

  1. Connect the autopilot directly to QGroundControl via USB.

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

    1. Open Setup > Safety section.

    2. Enable HITL mode by selecting Enabled from the HITL Enabled list:

      QGroundControl HITL configuration

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

    1. Open Setup > Airframes

    2. Select a compatible airframe you want to test. Then click Apply and Restart on top-right of the Airframe Setup page.

      Select Airframe

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

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

    1. Under the General tab of the settings menu, uncheck all AutoConnect boxes except for UDP.

      QGC Auto-connect settings for HITL

  6. (Необов'язково) Налаштуйте джойстик та запобіжник відмови. Set the following parameters in order to use a joystick instead of an RC remote control transmitter:

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

    :::tip The QGroundControl User Guide also has instructions on Joystick and Virtual Joystick setup.

:::

Once configuration is complete, close QGroundControl and disconnect the flight controller hardware from the computer.

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

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

Gazebo Classic

:::info Make sure QGroundControl is not running! :::

  1. Build PX4 with Gazebo Classic (in order to build the Gazebo Classic plugins).

    cd <Firmware_clone>
    DONT_RUN=1 make px4_sitl_default gazebo-classic
    
  2. Open the vehicle model's sdf file (e.g. Tools/simulation/gazebo-classic/sitl_gazebo-classic/models/iris_hitl/iris_hitl.sdf).

  3. Replace the serialDevice parameter (/dev/ttyACM0) if necessary.

    ::: info The serial device depends on what port is used to connect the vehicle to the computer (this is usually /dev/ttyACM0). An easy way to check on Ubuntu is to plug in the autopilot, open up a terminal, and type dmesg | grep "tty". Останній показаний пристрій і буде тим що потрібно.

:::

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

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

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

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

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

:::info Make sure QGroundControl is not running! :::

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

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

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

    ::: info Replace the serial port name /dev/ttyACM0 as appropriate. On macOS this port would be /dev/tty.usbmodem1. На Windows (включно з Cygwin) це буде COM1 або інший порт - перевірте з'єднання в менеджері пристроїв Windows.

:::

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

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

You should be able to use QGroundControl to run missions and otherwise control the vehicle.