← Усі інструменти

Пояснення повідомлень і помилок

Що означає повідомлення ArduPilot і що з ним робити

English

Коефіцієнт контролера орієнтації нульовий або від'ємний

Не даєAutoTune і керування

Що пише ArduPilot:

Перед армуванням ArduPilot перевіряє коефіцієнти контролера орієнтації. Кутові коефіцієнти ATC_ANG_RLL_P, ATC_ANG_PIT_P і ATC_ANG_YAW_P мають бути більшими за нуль. У контролерах кутової швидкості крену, тангажа й рискання (ATC_RAT_RLL_P, ATC_RAT_RLL_I, ATC_RAT_RLL_D і так само з PIT та YAW) P та I мають бути більшими за нуль, хіба що ця вісь має feed-forward більший за нуль (ATC_RAT_RLL_FF) — тоді вони можуть бути нульовими, але не від'ємними; D може бути нулем, але ніколи не від'ємним. Повідомлення називає перший коефіцієнт, що це порушує, як «PreArm: Bad parameter: …».

Що робити: найімовірніше спершу

  1. Коефіцієнт задали 0 під час ручного тюнінгу: прибрали I, «щоб спершу налаштувати P», або помилилися при введенні.

    ПеревіртеПодивіться коефіцієнт, названий у повідомленні.

    ВиправтеЗнову задайте додатне значення. Чистий Copter має ATC_ANG_RLL_P 4.5, ATC_RAT_RLL_P і ATC_RAT_RLL_I 0.135, ATC_RAT_RLL_D 0.0036 (для тангажа так само), ATC_RAT_YAW_P 0.18 і ATC_RAT_YAW_I 0.018.

  2. Ручка тюнінгу на пульті стоїть унизу свого діапазону, а TUNE_MIN дорівнює 0.

    ПеревіртеTUNE не 0, а названий коефіцієнт змінюється, коли крутите ручку.

    ВиправтеПоверніть ручку вище або задайте TUNE_MIN більшим за нуль; коли тюнінг закінчено, задайте TUNE 0, щоб ручка більше нічого не змінювала.

  3. Коефіцієнти прийшли з файлом параметрів іншого апарата або записалися лише частково.

    Перевірте«Порівняння й міграція параметрів» покаже, що відрізняється від вашого попереднього файлу.

    ВиправтеЗавантажте власну резервну копію або наведені вище значення й налаштовуйте вже від них.

Параметри, на які варто глянути

ПараметрЩо це
ATC_ANG_RLL_PRoll axis angle controller P gain
ATC_ANG_PIT_PPitch axis angle controller P gain
ATC_ANG_YAW_PYaw axis angle controller P gain
ATC_RAT_RLL_PRoll axis rate controller P gain
ATC_RAT_RLL_IRoll axis rate controller I gain
ATC_RAT_RLL_DRoll axis rate controller D gain
ATC_RAT_PIT_PPitch axis rate controller P gain
ATC_RAT_YAW_PYaw axis rate controller P gain
Код, який це надсилає

…_…_D must be >= 0

libraries/AC_AttitudeControl/AC_AttitudeControl.cpp AC_AttitudeControl::pre_arm_checks() · Відкрити в ArduPilot Copter-4.7.1

…_…_P must be >= 0

libraries/AC_AttitudeControl/AC_AttitudeControl.cpp AC_AttitudeControl::pre_arm_checks() · Відкрити в ArduPilot Copter-4.7.1

…_…_I must be >= 0

libraries/AC_AttitudeControl/AC_AttitudeControl.cpp AC_AttitudeControl::pre_arm_checks() · Відкрити в ArduPilot Copter-4.7.1

…_…_P must be > 0

libraries/AC_AttitudeControl/AC_AttitudeControl.cpp AC_AttitudeControl::pre_arm_checks() · Відкрити в ArduPilot Copter-4.7.1

І ще 1 повідомлень, що надсилаються з тих самих місць.

Тут написано для: Коптер, 4.6. В інструменті можна вибрати свій апарат і версію, побачити значення власних параметрів поруч із названими тут і перетягнути лог польоту, щоб отримати пояснення до кожного повідомлення в ньому.

Відкрити в інструменті