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

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

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

English

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

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

Що пише ArduPilot:

Тут пояснено ще: 4
  • …_ACCZ_P must be > 0
  • …_NE_POS_P must be > 0
  • …_D_POS_P must be > 0
  • …_D_ACC_I must be > 0

Перед армуванням ArduPilot перевіряє п'ять коефіцієнтів контролера позиції: PSC_POSXY_P, PSC_POSZ_P, PSC_VELZ_P, PSC_ACCZ_P і PSC_ACCZ_I. Кожен має бути більшим за нуль; з нулем коптер не зможе тримати місце чи висоту в режимах, які роблять це за вас (AltHold, Loiter, Auto). Повідомлення називає перший, що не такий, — «PreArm: Bad parameter: …».

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

  1. Коефіцієнт задали 0 вручну або ручкою тюнінгу.

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

    ВиправтеЗнову задайте додатне значення. Чистий Copter має PSC_POSXY_P 1.0, PSC_POSZ_P 1.0, PSC_VELZ_P 5.0, PSC_ACCZ_P 0.5 і PSC_ACCZ_I 1.0.

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

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

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

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

ПараметрЩо це
PSC_POSXY_PPosition (horizontal) controller P gain
PSC_POSZ_PPosition (vertical) controller P gain
PSC_VELZ_PVelocity (vertical) controller P gain
PSC_ACCZ_PAcceleration (vertical) controller P gain
PSC_ACCZ_IAcceleration (vertical) controller I gain
Код, який це надсилає

…_POSZ_P must be > 0

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

…_VELZ_P must be > 0

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

…_ACCZ_I must be > 0

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

…_POSXY_P must be > 0

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

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

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

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