Коефіцієнт контролера орієнтації нульовий або від'ємний
Що пише ArduPilot:
- …_…_D must be >= 0
- …_…_P must be >= 0
- …_…_I must be >= 0
- …_…_P must be > 0
- …_…_I must be > 0
Перед армуванням 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: …».
Що робити: найімовірніше спершу
Коефіцієнт задали 0 під час ручного тюнінгу: прибрали I, «щоб спершу налаштувати P», або помилилися при введенні.
ПеревіртеПодивіться коефіцієнт, названий у повідомленні.
ВиправтеЗнову задайте додатне значення. Чистий Copter має
ATC_ANG_RLL_P4.5,ATC_RAT_RLL_PіATC_RAT_RLL_I0.135,ATC_RAT_RLL_D0.0036 (для тангажа так само),ATC_RAT_YAW_P0.18 іATC_RAT_YAW_I0.018.Ручка тюнінгу на пульті стоїть унизу свого діапазону, а
TUNE_MINдорівнює 0.ПеревіртеTUNE не 0, а названий коефіцієнт змінюється, коли крутите ручку.
ВиправтеПоверніть ручку вище або задайте
TUNE_MINбільшим за нуль; коли тюнінг закінчено, задайте TUNE 0, щоб ручка більше нічого не змінювала.Коефіцієнти прийшли з файлом параметрів іншого апарата або записалися лише частково.
Перевірте«Порівняння й міграція параметрів» покаже, що відрізняється від вашого попереднього файлу.
ВиправтеЗавантажте власну резервну копію або наведені вище значення й налаштовуйте вже від них.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
ATC_ANG_RLL_P | Roll axis angle controller P gain |
ATC_ANG_PIT_P | Pitch axis angle controller P gain |
ATC_ANG_YAW_P | Yaw axis angle controller P gain |
ATC_RAT_RLL_P | Roll axis rate controller P gain |
ATC_RAT_RLL_I | Roll axis rate controller I gain |
ATC_RAT_RLL_D | Roll axis rate controller D gain |
ATC_RAT_PIT_P | Pitch axis rate controller P gain |
ATC_RAT_YAW_P | Yaw 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 повідомлень, що надсилаються з тих самих місць.