Коефіцієнт регулятора нульовий або від'ємний
Що пише ArduPilot:
- PreArm: Bad parameter: …
Регулятор позиції (параметри PSC) і регулятор орієнтації (параметри ATC) перед армуванням перевіряють власні коефіцієнти. Повідомлення називає той, що не проходить, і яким він має бути, наприклад «PSC_POSXY_P must be > 0». Коефіцієнти P позиції, висоти й кута мають бути більшими за нуль; P та I регуляторів кутової швидкості — більшими за нуль (або невід'ємними, якщо задано feed-forward), а D — невід'ємним. З таким коефіцієнтом регулятор не втримає коптер.
Що робити: найімовірніше спершу
Параметри взято з іншого апарата, іншої версії або з недописаного файлу.
Перевірте«Порівняння й міграція параметрів» показує, що відрізняється від типових значень, і переводить файл 4.6 на назви й одиниці 4.7.
ВиправтеПоверніть названий параметр до типового значення, а потім перевірте решту цієї групи.
Коефіцієнт вводили вручну під час тюнінгу, і туди потрапив нуль чи мінус.
ВиправтеПоверніться до стартових значень для розміру вашого коптера й тюнінгуйте знову від них.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
PSC_POSXY_P | Position (horizontal) controller P gain |
PSC_POSZ_P | Position (vertical) controller P gain |
PSC_VELZ_P | Velocity (vertical) controller P gain |
PSC_ACCZ_P | Acceleration (vertical) controller P gain |
PSC_ACCZ_I | Acceleration (vertical) controller I gain |
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 |
Де це зробити:Порівняння й міграція параметрівСтартові параметри
Код, який це надсилає
PreArm: Bad parameter: …
ArduCopter/AP_Arming.cpp AP_Arming_Copter::parameter_checks() · Відкрити в ArduPilot Copter-4.6.3
ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::parameter_checks() · Відкрити в ArduPilot Copter-4.7.1
ArduPlane/AP_Arming.cpp AP_Arming_Plane::quadplane_checks() · Відкрити в ArduPilot Plane-4.6.3