Калібрування не вдалося: компас спрямований не так, як задано в налаштуваннях
Що пише ArduPilot:
- Mag(N) bad orientation: N/N N.N
- Mag(N) internal bad orientation: N N.N
Наприкінці калібрування ArduPilot перебирає всі орієнтації встановлення й лишає ту, за якої поле Землі найменше змінюється, коли ви повертаєте апарат. Перше число — компас, рахуючи від 0. «bad orientation: a/b c» означає, що він не зміг вибрати між орієнтаціями a і b (c показує, наскільки краще підходить найкраща). «internal bad orientation: a» означає, що він знайшов орієнтацію a, відмінну від заданої, але не змінить її: компас внутрішній, або COMPASS_AUTO_ROT дорівнює 1 (лише перевірка). В обох випадках калібрування відхилено, і зазвичай воно саме починається знову.
Що робити: найімовірніше спершу
Апарат повертали не в усіх положеннях, або калібрували поруч зі сталлю.
ВиправтеКалібруйте надворі й повільно повертайте апарат довкола кожної осі: носом униз, носом угору, кожним боком униз, догори дном, роблячи повний оберт у кожному положенні.
Орієнтація, за якою оцінюють компас, неправильна: акселерометри не відкалібровано, або
AHRS_ORIENTATIONне відповідає тому, як встановлено плату.ПеревіртеКоли апарат стоїть рівно, горизонт у наземній станції рівний; нахиліть ніс униз — він показує ніс униз, нахиліть праворуч — показує праворуч.
ВиправтеЗадайте
AHRS_ORIENTATION, перезавантажте, відкалібруйте акселерометри, потім знову відкалібруйте компас.Компас на кабелі вважається внутрішнім, тому його орієнтацію не можна виправити.
Перевірте
COMPASS_EXTERNAL(для другого компаса —COMPASS_EXTERN2) дорівнює 0.ВиправтеЗадайте 1 або 2 (за 2 автовизначення його вже не змінить); перезавантажте й відкалібруйте. З
COMPASS_AUTO_ROT2 орієнтацію тоді буде знайдено й збережено.COMPASS_AUTO_ROTдорівнює 1: орієнтацію перевіряють, але ніколи не виправляють.ВиправтеЗадайте
COMPASS_AUTO_ROT2 і відкалібруйте знову або самі впишіть орієнтацію з повідомлення вCOMPASS_ORIENT.
Числа орієнтації — це значення COMPASS_ORIENT (0 без повороту, 2 Yaw90, 4 Yaw180, 6 Yaw270, 8 Roll180). Іншу орієнтацію приймають, коли вона підходить більш ніж у 4 рази краще за наступну або більш ніж у 2 рази, якщо порівнюють лише повороти на чверть оберту.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
COMPASS_AUTO_ROT | Automatically check orientation |
COMPASS_ORIENT | Compass orientation |
COMPASS_EXTERNAL | Compass is attached via an external cable |
AHRS_ORIENTATION | Board Orientation |
COMPASS_ORIENT2 | Compass2 orientation |
COMPASS_EXTERN2 | Compass2 is attached via an external cable |
Де це зробити:Налаштування й тюнінгНалаштування й тюнінгНалаштування й тюнінг
Код, який це надсилає
Mag(N) bad orientation: N/N N.N
libraries/AP_Compass/CompassCalibrator.cpp CompassCalibrator::calculate_orientation() · Відкрити в ArduPilot Copter-4.7.1
Mag(N) internal bad orientation: N N.N
libraries/AP_Compass/CompassCalibrator.cpp CompassCalibrator::calculate_orientation() · Відкрити в ArduPilot Copter-4.7.1