Skip to content

Конфігурація Gimbal(стабілізатора)

Ця сторінка пояснює, як налаштувати та контролювати стабілізатор, що має приєднану камеру (або будь-який інший вантаж).

Загальний огляд

PX4 містить універсальний драйвер керування кріпленням/гімбалем, який підтримує різні методи введення та виведення:

  • Метод введення визначає протокол, який використовується для керування gimbal mount який керується PX4. Це може бути контролер RC, команда MAVLink, надіслана GCS, або обидва — автоматичне перемикання між ними.
  • Метод виведення визначає, як PX4 взаємодіє з підключеним гімбалем. Рекомендований протокол — MAVLink v2, але ви також можете підключитися безпосередньо до виходного порту шим контролера польоту.

PX4 приймає вхідний сигнал і маршрутизує/перекладає його для відправлення на вивід. Будь-який метод введення може бути обраний для керування будь-яким виводом.

Як вхід, так і вихід налаштовуються за допомогою параметрів. Вхід встановлюється за допомогою параметра MNT_MODE_IN. За замовчуванням це встановлено як Вимкнено (-1), і драйвер не запускається. Після вибору режиму введення перезавантажте транспортний засіб, щоб запустити драйвер кріплення.

Ви повинні встановити MNT_MODE_IN одним із наступних: RC (1), Протокол гімбала MAVLink v2 (4) або Авто (0) (інші варіанти застарілі). Якщо ви виберете Авто (0), гімбал автоматично вибере вхід RC або MAVLink відповідно до останнього введення. Зверніть увагу, що для автоматичного перемикання з MAVLink на RC потрібен великий рух ручкою!

Вихід налаштовується за допомогою параметра MNT_MODE_OUT. Усталеним налаштування виходу PXM є (AUX (0)). Якщо ваш гімбал підтримує Протокол гімбала MAVLink v2, ви повинні замість цього вибрати Протокол гімбала MAVLink v2 (2).

Повний список параметрів для налаштування драйвера кріплення можна знайти в Довідці параметрів > Кріплення. Нижче наведено відповідні налаштування для декількох поширених конфігурацій гімбалів.

Кожен фізичний пристрій гімбала в системі повинен мати свій власний високорівневий менеджер гімбала, який може бути виявлений наземною станцією за допомогою протоколу MAVLink для гімбалів. Наземна станція надсилає високорівневі команди MAVLink Gimbal Manager менеджеру гімбала, який вона хоче керувати, а менеджер, в свою чергу, надсилає відповідні команди нижчого рівня "пристрою гімбала", щоб керувати гімбалом.

PX4 може бути налаштований як менеджер гімбала для керування одним пристроєм гімбала (which can either be physically connected or be a MAVLink gimbal that implements the gimbal device interface).

Щоб увімкнути гімбал по протоколу MAVLink, спочатку встановіть параметр MNT_MODE_IN на Протокол гімбала MAVLink v2 і MNT_MODE_OUT на Протокол гімбала MAVLink v2..

Гімбал можна підключити до будь-якого вільного послідовного порту, використовуючи інструкції у розділі Послідовні пристрої MAVLink (GCS/OSD/Компаньйон) (див. також Конфігурація послідовного порту). Наприклад, якщо порт TELEM2 на контролері польоту не використовується, ви можете підключити його до гімбала і встановити наступні параметри PX4:

  • MAV_1_CONFIG на TELEM2 (якщо MAV_1_CONFIG вже використовується для компаньйонного комп'ютера (скажімо), використовуйте MAV_2_CONFIG).
  • MAV_1_MODE до NORMAL
  • SER_TEL2_BAUD на рекомендовану виробником швидкість передачі даних.

Підтримка декількох Gimbal

PX4 може автоматично створити менеджер гімбала для підключеного гімбала з PWM або першого пристрою гімбала MAVLink з тим самим ідентифікатором системи, який виявляється на будь-якому інтерфейсі. Він не автоматично створює менеджер гімбала для будь-яких інших пристроїв гімбала MAVLink, які виявляються.

You can support additional MAVLink gimbals provided that they:

  • Implement the gimbal manager protocol.
  • Становлять видимими для наземної станції та PX4 у мережі MAVLink. Це може вимагати налаштування пересилання трафіку між PX4, НЗП та гімбалем.
  • Have a unique component id, and this component id must be in the range 7 - 255.

Gimbal з FC PWM Output (MNT_MODE_OUT=AUX)

Gimbal також можна контролювати шляхом підключення до трьох портів польоту контролера польоту і налаштування режиму виводу в MNT_MODE_OUT=AUX.

Вихідні піни, які використовуються для керування гімбалем, встановлюються в Конфігурація приводів > Виведення, вибравши будь-які три невикористані виводи приводів та призначивши їм наступні функції виводу:

  • Gimbal Roll: вихід керує поворотом gimbal.
  • Gimbal pitch: вихід контролює крок підвісу.
  • Gimbal Yaw: Output controls Gimbal yaw.

Наприклад, у вас можуть бути наступні налаштування для призначення кочення, тангажу та рида гімбала на виведення AUX1-3.

Gimbal Actuator config

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

Gimbal Control in Missions

Gimbal Manager commands may be used in missions if supported by the vehicle type. For example MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW is supported in multicopter mission mode.

In theory you can address commands to a particular gimbal, specifying its component id using the "Gimbal device id" parameter. However at time of writing (December 2024) this is not supported: all mission commands are sent to the (only) gimbal managed by the PX4 gimbal manager (if this is a MAVLink gimbal, it will be the gimbal with component id defined in the parameter MNT_MAV_COMPID, which is set by default to MAV_COMP_ID_GIMBAL (154)).

Gimbal movement is not immediate. To ensure that the gimbal has time to move into position before the mission progresses to the next item (if gimbal feedback is not provided or lost), you should set MIS_COMMAND_TOUT to be greater than the time taken for the gimbal to traverse its full range. After this timeout the mission will proceed to the next item.

Simulation / SITL

The following simulation environments come with a preconfigured simulated gimbal. You can test the gimbal using the QGroundControl UI or by sending driver commands

TIP

If you only need to test the gimbal driver, then you can do this on any model or simulators. Just make sure that the driver runs, using gimbal start in the MAVLink console, then configure the driver parameters.

Gazebo

To run the Gazebo simulation Quadrotor(x500) with gimbal (Front-facing) in Gazebo, use:

sh
make px4_sitl gz_x500_gimbal

Quadrotor(x500) with gimbal (Front-facing) in Gazebo

Gazebo Classic

To run the Gazebo Classic simulation Typhoon H480 model, use:

sh
make px4_sitl gazebo-classic_typhoon_h480

Typhoon H480 in Gazebo Classic

Gazebo Gimbal Simulation

Тестування

QGC Testing

The on-screen gimbal control can be used to move/test a connected MAVLink camera:

  1. Start your preferred simulator or connect to a real device.

  2. Open QGroundControl and enable the on-screen camera control (Application settings).

    Quadrotor(x500) with gimbal (Front-facing) in Gazebo

  3. Make sure the vehicle is armed and flying, e.g. by entering with commander takeoff.

  4. To change gimbal target position, click in the QGC GUI up, down, left, right, or use the buttons on the gimbal control (Center, Tilt 90, Yaw lock).

Driver Testing

You can test a gimbal by sending gimbal driver commands in the QGroundControl MAVLink Console:

  1. Start your preferred simulator or connect to a real device.
  2. Open QGroundControl and connect to your vehicle.
  3. Open the MAVLink Console using the menu: Analyze > Mavlink Console.
  4. Make sure the vehicle is armed and flying, e.g. by entering the command: commander takeoff.

To check gimbal status enter:

sh
gimbal status

To set the gimbal yaw to 30 degrees, use the command:

sh
gimbal test yaw 30

More generally, you can set the angle or angular rate command using a command with this format:

sh
gimbal test <axis> <value>
  • axis:
    • <roll|pitch|yaw> for angles
    • <rollrate|pitchrate|yawrate> for angular rates
  • value:
    • <degrees> for angles
    • <degrees / second> for angular rates

To set the MAVLink component that is in primary control of the gimbal:

sh
gimbal primary-control <sys_id> <comp_id>
  • sys_id: MAVLink system ID
  • comp_id: MAVLink component ID

For other commands, see the gimbal driver module document.

The gimbal can be tested by sending MAVLink gimbal manager commands using MAVSDK or some other MAVLink library.

Зверніть увагу, що симульований гімбал стабілізується самостійно, тому якщо ви надсилаєте команди MAVLink, встановіть прапори стабілізації на значення false.