Триває навчання температурного калібрування IMU
Що пише ArduPilot:
- PreArm: temperature cal running
- TCAL[N]: started calibration t=N.NC tmax=N.NC
- TCAL finished all IMUs
- TCAL[N]: failed fit
- TCAL[N]: completed calibration tmin=N.N tmax=N.N
INS_TCALn_ENABLE дорівнює 2 для одного з IMU: плата записує, як змінюються нулі її гіроскопів і акселерометрів під час прогріву — від температури на старті до INS_TCALn_TMAX. Поки це триває, апарат не заармується. «started» і «completed» позначають початок і кінець для кожного IMU (нумерація від 1), а «TCAL finished all IMUs» — кінець усього процесу; параметр тоді сам стає 1. «failed fit» означає, що з даних не вдалося отримати калібрування, і параметр установлено в 0.
Що робити: найімовірніше спершу
Температурне калібрування запустили навмисно, і воно ще не досягло цільової температури.
ПеревіртеСтежте, як температура IMU в наземній станції зростає до INS_TCALn_TMAX; вона має піднятися щонайменше на 10 °C від початкової.
ВиправтеДайте йому завершитися: тримайте плату цілком нерухомо, поки вона гріється. Потім перезавантажте.
Параметр установили в 2 помилково, або плата за цих умов не може досягти INS_TCALn_TMAX.
ВиправтеПоверніть INS_TCALn_ENABLE на 1, якщо калібрування вже є, або на 0, якщо його немає, і перезавантажте.
«failed fit»: плату рухали під час прогріву або охоплений діапазон температур був замалий.
ВиправтеДобре охолодіть плату (пакет для заморожування вбереже від вологи), задайте INS_TCALn_ENABLE 2, увімкніть її на нерухомій поверхні й не торкайтеся до «TCAL finished all IMUs».
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
INS_TCAL1_ENABLE | Enable temperature calibration |
INS_TCAL1_TMIN | Temperature calibration min |
INS_TCAL1_TMAX | Temperature calibration max |
INS_TCAL_OPTIONS | Options for temperature calibration |
Код, який це надсилає
PreArm: temperature cal running
libraries/AP_Arming/AP_Arming.cpp AP_Arming::ins_checks() · Відкрити в ArduPilot Copter-4.7.1
TCAL[N]: started calibration t=N.NC tmax=N.NC
libraries/AP_InertialSensor/AP_InertialSensor_tempcal.cpp AP_InertialSensor_TCal::update_accel_learning() · Відкрити в ArduPilot Copter-4.7.1
TCAL finished all IMUs
libraries/AP_InertialSensor/AP_InertialSensor.cpp AP_InertialSensor::update() · Відкрити в ArduPilot Copter-4.7.1
TCAL[N]: failed fit
libraries/AP_InertialSensor/AP_InertialSensor_tempcal.cpp AP_InertialSensor_TCal::Learn::finish_calibration() · Відкрити в ArduPilot Copter-4.7.1
І ще 1 повідомлень, що надсилаються з тих самих місць.