Як швидко зчитується IMU
Що пише ArduPilot:
- IMUN:…… sampling N.NkHz/N.NkHz
- IMUN: fast sampling enabled N.NkHz/N.NkHz
Рядок запуску для кожного IMU (мікросхеми гіроскопа й акселерометра; нумерація від 0), який каже, як його зчитують. Дві форми подають числа у зворотному порядку. «IMU0: fast sampling 1.6kHz/3.2kHz» (ICM-42688, ICM-45686 і їхня родина): спершу частота, з якою відліки надходять до фільтрів гіроскопа ArduPilot, потім частота, на якій працює сама мікросхема. «IMU0: fast sampling enabled 8.0kHz/1.0kHz» (старіша родина MPU-6000 та ICM-20602): спершу власна частота мікросхеми, потім частота, що доходить до фільтрів. «normal» замість «fast» означає, що мікросхему зчитують на базовій частоті, а «hi-res» — що вона надсилає точніші 20-бітні відліки. Виправляти нічого.
INS_FAST_SAMPLE вибирає, які IMU зчитувати швидко (по біту на кожен; працює лише для IMU на SPI), а INS_GYRO_RATE — наскільки швидко: кожен крок подвоює частоту, що доходить до фільтрів, наскільки дозволяє мікросхема. Вища частота дає фільтрам гіроскопа й notch-фільтрам працювати на вищих частотах і коштує процесорного часу; обидва параметри діють після перезавантаження. Частота після фільтрації має бути щонайменше вдвічі вищою за найвищу частоту фільтра, яку ви задали.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
INS_FAST_SAMPLE | Fast sampling mask |
INS_GYRO_RATE | Gyro rate for IMUs with Fast Sampling enabled |
Код, який це надсилає
IMUN:…… sampling N.NkHz/N.NkHz
libraries/AP_InertialSensor/AP_InertialSensor_Invensensev3.cpp AP_InertialSensor_Invensensev3::get_output_banner() · Відкрити в ArduPilot Copter-4.7.1
IMUN: fast sampling enabled N.NkHz/N.NkHz
libraries/AP_InertialSensor/AP_InertialSensor_Invensense.cpp AP_InertialSensor_Invensense::get_output_banner() · Відкрити в ArduPilot Copter-4.7.1
libraries/AP_InertialSensor/AP_InertialSensor_Invensensev2.cpp AP_InertialSensor_Invensensev2::get_output_banner() · Відкрити в ArduPilot Copter-4.7.1