Акселерометри двох IMU не узгоджуються
Що пише ArduPilot:
- PreArm: Accels inconsistent
На платі з двома чи більше IMU кожен акселерометр, що використовується, порівнюється з першим. Різниця, де вертикальна вісь рахується наполовину, має лишатися меншою за ARMING_ACCTHRESH: типово 0.75 м/с², а для третього IMU — утричі більше. Після будь-якої невдачі вони мають збігатися 10 с поспіль, перш ніж перевірка пройде, тож повідомлення тримається ще 10 с після зникнення причини.
Що робити: найімовірніше спершу
Апарат щойно ввімкнули або щойно рухали, і 10 с узгодженості ще не минули.
ВиправтеНе рухайте його 15 с.
Калібрування більше не підходить: воно старе, зроблене при зовсім іншій температурі, або плата прогрівається нерівномірно.
ПеревіртеКоли апарат стоїть рівно й нерухомо, подивіться необроблені прискорення кожного IMU в наземній станції: кожен має показувати близько 9.8 м/с² на вертикальній осі й майже 0 на інших. Повідомлення може зникнути саме після кількох хвилин прогріву.
ВиправтеВідкалібруйте акселерометри знову, приблизно при тій температурі, при якій літаєте; на платі з нагрівачем спершу дайте їй набрати температуру.
Один акселерометр пошкоджено, зазвичай після аварії.
ПеревіртеОдин IMU показує далеко від 9.8 м/с², хоч як повертайте плату, а нове калібрування не вдається або не допомагає.
ВиправтеЗамініть польотний контролер.
Більший ARMING_ACCTHRESH лише приховує розбіжність: EKF і далі отримуватиме дві різні картини гравітації.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
ARMING_ACCTHRESH | Accelerometer error threshold |
INS_USE | Use first IMU for attitude, velocity and position estimates |
INS_USE2 | Use second IMU for attitude, velocity and position estimates |
INS_USE3 | Use third IMU for attitude, velocity and position estimates |
BRD_HEAT_TARG | Board heater temperature target |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
PreArm: Accels inconsistent
libraries/AP_Arming/AP_Arming.cpp AP_Arming::ins_checks() · Відкрити в ArduPilot Copter-4.7.1