Akcelerometr nie mierzy wprost „przyspieszenia pojazdu względem Ziemi”. Mierzy siłę właściwą działającą na swoją masę próbną. Dlatego nieruchomy na stole sensor pokazuje około 1 g, a idealnie swobodnie spadający — około zera. To rozróżnienie jest fundamentem nawigacji inercyjnej, wyznaczania orientacji i diagnostyki drgań. Błędny znak grawitacji albo pomylenie osi może spowodować natychmiastową rozbieżność estymatora.
Spis treści#
- Wielkość mierzona
- Zasada działania MEMS
- Model pomiaru
- Grawitacja i orientacja
- Zakres, czułość i clipping
- Bias, skala i nieortogonalność
- Kalibracja sześciopozycyjna
- Kalibracja pełnomacierzowa
- Szum, pasmo i random walk
- Drgania i aliasing
- Vibration rectification
- Temperatura i naprężenia
- Filtry, ODR, FIFO i czas
- Lever arm i ruch obrotowy
- Od siły właściwej do nawigacji
- Kiedy akcelerometr nie wskazuje pionu
- Zastosowanie w regulatorze
- Testy i diagnostyka
- Procedura uruchomienia
- Powiązane tematy
- Przypisy
Wielkość mierzona#
Siła właściwa f jest niegrawitacyjną siłą na jednostkę masy. W typowej konwencji nawigacyjnej:
f = a - g
gdzie a jest przyspieszeniem kinematycznym względem ramki nawigacyjnej, a g wektorem przyspieszenia grawitacyjnego. Znaki zależą od definicji wektorów i układów, dlatego równanie w kodzie musi być spójne z konwencją NED/ENU oraz body.
Na stole przyspieszenie kinematyczne jest bliskie zeru. Podłoże wywiera jednak siłę podtrzymującą przeciwną do grawitacji, więc akcelerometr rejestruje około 1 g. W swobodnym spadku zarówno obudowa, jak i masa próbna podążają podobną trajektorią; sensor pokazuje blisko zera mimo przyspieszenia względem powierzchni Ziemi.
Jednostką SI jest m/s². Datasheety często używają g, gdzie standardowa wartość g0 = 9,80665 m/s². Lokalne przyspieszenie grawitacyjne różni się z szerokością i wysokością. Dla typowego sterowania UAV przybliżenie wystarcza, lecz precyzyjna INS może stosować model grawitacji zależny od pozycji.
Zasada działania MEMS#
Wewnątrz sensora mikromechaniczna masa jest zawieszona na sprężystych belkach. Przyspieszenie obudowy powoduje względne przemieszczenie masy. Zmiana pojemności między ruchomymi i stałymi elektrodami jest demodulowana przez tor analogowy. W układzie z zamkniętą pętlą siła elektrostatyczna może utrzymywać masę blisko położenia zerowego, a wymagany sygnał kompensujący staje się miarą przyspieszenia.
Model jednowymiarowy masy, tłumienia i sprężyny ma postać:
m x¨ + c x˙ + kx = -m a_input
Rezonans mechaniczny ogranicza pasmo i wpływa na zachowanie przy drganiach. Producent dobiera tor analogowy i cyfrowy tak, by użyteczne pasmo leżało poniżej krytycznych częstotliwości struktury. Uderzenie poza zakresem pomiarowym może chwilowo nasycić tor, a bardzo duży wstrząs przekroczyć odporność mechaniczną mimo przetrwania elektroniki.
Model pomiaru#
Trójosiowy pomiar można zapisać:
a_m = M f_body + b + n
M obejmuje skale, nieortogonalność i sprzężenia osi, b jest biasem, a n szumem. Przed użyciem w estymatorze wektor przechodzi transformację z ramki sensora do ramki kadłuba.
Model może wymagać składnika temperaturowego, nieliniowości skali i vibration rectification error. Prosty bias jest użyteczny w ograniczonym zakresie, lecz nie wyjaśnia wszystkich różnic między pomiarem na stole a pracą obok wirujących napędów.
Pomiar akcelerometru obejmuje również ruch wynikający z położenia sensora poza środkiem obrotu. Nie jest to błąd układu: sensor poprawnie mierzy lokalną siłę właściwą w swoim punkcie.
Grawitacja i orientacja#
Gdy pojazd jest nieruchomy albo porusza się ze stałą prędkością, kierunek wektora akcelerometru pozwala wyznaczyć roll i pitch względem grawitacji. Nie pozwala wyznaczyć yaw, ponieważ obrót wokół pionu nie zmienia obserwowanego wektora.
W dynamicznym locie pomiar jest sumą wpływu ruchu i podtrzymania przeciw grawitacji. Podczas przyspieszania do przodu wektor nie wskazuje już wyłącznie pionu. Filtr komplementarny wykorzystuje zwykle żyroskop dla szybkich zmian, a akcelerometr do wolnej korekty przechylenia. EKF modeluje przyspieszenie i dobiera wagę obserwacji na podstawie stanu oraz kowariancji.
Reguła „znormalizuj akcelerometr i nazwij wynikiem gravity” działa tylko przy małym przyspieszeniu translacyjnym. W zakręcie skoordynowanym siła właściwa odzwierciedla obciążenie, a nie prosty pion geodezyjny. Samolot może utrzymywać pozornie stabilny wektor w body mimo zmiany kierunku w przestrzeni.
Zakres, czułość i clipping#
Typowe zakresy IMU obejmują ±2, ±4, ±8 i ±16 g. Mniejszy zakres daje drobniejszą kwantyzację, ale szybciej się nasyca. Zakres należy dobrać z pomiaru nie tylko normalnego lotu, ale też startu, lądowania, turbulencji i rezonansów. Szczyt w pojedynczej osi może być znacznie większy od średniego obciążenia pojazdu.
ICM‑42688‑P oferuje zakresy do ±16 g i gęstość szumu akcelerometru podawaną przez producenta jako 70 µg/√Hz w określonym trybie. Jest to parametr szumu, nie gwarantowana dokładność całego systemu. BMI088 jest przykładem układu stosowanego tam, gdzie ważna jest odporność na drgania. Wybór musi uwzględniać pasmo, opóźnienie, temperaturę i zachowanie po nasyceniu.
Clipping ucina wartości przy granicy zakresu. Średnia przyciętego przebiegu może zostać przesunięta, zwłaszcza gdy dodatnie i ujemne szczyty nie są symetryczne. Estymator powinien otrzymać informację o saturacji i obniżyć zaufanie, zamiast traktować ograniczoną wartość jako dokładny pomiar.
Format 16- lub 20-bitowy nie oznacza takiej samej liczby efektywnych bitów. Szum wejściowy, pasmo i tor analogowy wyznaczają ENOB. Nadpróbkowanie może poprawić rozdzielczość dla białego szumu, ale nie usuwa biasu ani nieliniowości.
Bias, skala i nieortogonalność#
Bias akcelerometru jest szczególnie groźny w nawigacji. Po odjęciu grawitacji stały błąd przyspieszenia całkuje się do błędu prędkości rosnącego liniowo i pozycji rosnącej w przybliżeniu kwadratowo:
δv ≈ b_a t
δp ≈ 1/2 b_a t²
Bias 10 mg, czyli około 0,098 m/s², po 10 s bez korekty może dać niemal 1 m/s błędu prędkości i około 4,9 m błędu pozycji. To pokazuje, dlaczego tani IMU nie zapewnia długotrwałej autonomicznej pozycji bez obserwacji zewnętrznych.
Błąd skali sprawia, że 1 g jest raportowane jako na przykład 0,99 lub 1,01 g. Nieortogonalność oznacza, że fizyczne osie nie tworzą idealnie prostopadłej bazy. Cross-axis sensitivity powoduje odpowiedź osi niepobudzanej. Te składniki można zebrać w macierzy 3×3.
Nieliniowość oznacza zmianę skali z wartością wejścia. Kalibracja wyłącznie przy ±1 g dobrze opisuje zakres używany do orientacji statycznej, ale nie gwarantuje dokładności przy kilku g. Do walidacji dynamicznej potrzebne jest kontrolowane przyspieszenie lub wirówka.
Kalibracja sześciopozycyjna#
Grawitacja stanowi wygodny wzorzec o znanym module. Umieszczenie kolejno każdej osi w kierunku w górę i w dół daje sześć pozycji: +X, -X, +Y, -Y, +Z, -Z. Dla uproszczonego modelu bez cross-axis w osi X:
b_x = (m_x+ + m_x-) / 2
scale_x = 2g0 / (m_x+ - m_x-)
Analogicznie oblicza się Y i Z. W każdej pozycji trzeba odczekać na uspokojenie, zebrać serię i odrzucić ruch. Powierzchnia nie musi być idealnie wypoziomowana, jeżeli korzysta się z pełnego wektora i rozwiązania optymalizacyjnego, ale prosty wzór zakłada dobre ustawienie osi.
Kalibracja sześciopozycyjna nie mierzy dobrze nieortogonalności, jeżeli każda pozycja jest ustawiana niedokładnie. Większa liczba różnych, nieruchomych orientacji pozwala dopasować elipsoidę. Dla poprawnie skalibrowanego sensora punkty statyczne powinny leżeć na sferze o promieniu g.
Nie wolno „kalibrować” przez wymuszenie normy każdego pomiaru do 1 g w locie. Usuwa to rzeczywiste przyspieszenia i zniekształca dane. Normalizacja jest narzędziem obserwacji kierunku w szczególnych warunkach, nie korekcją surowego sensora.
Kalibracja pełnomacierzowa#
Pełny model korekcji może mieć postać:
f_corr = C(a_raw - b)
Macierz C kompensuje trzy skale i elementy nieortogonalności. Parametry dopasowuje się minimalizując różnicę między normą skorygowanego wektora a znanym g dla wielu orientacji. Problem ma niejednoznaczności rotacyjne, dlatego należy zdefiniować, czy wynik ma kalibrować sensor do idealnej ramki sensora, czy jednocześnie ustalać orientację względem body.
Lepszy proces rozdziela kalibrację wewnętrzną od alignmentu montażowego. Pierwsza opisuje deformację przestrzeni pomiarowej sensora, druga jest czystym obrotem. Macierz kalibracji nie musi być ortonormalna, natomiast macierz rotacji musi.
Jakość ocenia się na osobnym zbiorze orientacji. Mały błąd na danych dopasowania nie wystarcza; model o zbyt wielu parametrach może wchłonąć błędy stanowiska.
Szum, pasmo i random walk#
Gęstość szumu akcelerometru jest zwykle podawana w µg/√Hz. Szum RMS po filtrze rośnie z pierwiastkiem efektywnego pasma. Całkowanie białego szumu daje velocity random walk, a kolejne całkowanie — rosnącą niepewność pozycji.
Uśrednianie nieruchomych próbek poprawia estymację biasu tylko do czasu, gdy zaczną dominować wolne procesy i temperatura. Analiza Allana pomaga rozdzielić biały szum, niestabilność biasu i random walk. Warunki pomiaru muszą być stabilne, a log wystarczająco długi.
Kowariancja przekazana do EKF powinna odpowiadać rzeczywistemu pasmu i decymacji. Wartość z datasheetu nie jest automatycznie wariancją pojedynczej próbki firmware. Po filtrze próbki są skorelowane, co narusza proste założenie białego, niezależnego szumu.
Drgania i aliasing#
Akcelerometr jest bezpośrednio wrażliwy na drgania liniowe ramy. Częstotliwość przejścia łopat i jej harmoniczne zmieniają się z RPM. Luźny element, niewyważone śmigło albo rezonans ramienia może wielokrotnie podnieść poziom w wąskim paśmie.
Jeśli energia powyżej Nyquista dotrze do próbnika, pojawi się w niższym paśmie jako alias. Filtr zastosowany przez MCU po odczycie nie usunie faktu pomylenia częstotliwości. Znaczenie ma filtr przed decymacją wewnątrz sensora i mechaniczne ograniczenie drgań.
W logu warto badać dane surowe lub minimalnie filtrowane. Wartość RMS po mocnym filtrze może wyglądać dobrze, podczas gdy przed filtrem sensor jest blisko saturacji. Porównanie osi wskazuje kierunek dominującego pobudzenia, a korelacja z RPM pomaga rozróżnić napęd od innych źródeł.
Miękkie mocowanie zmniejsza część pasma, lecz dodaje rezonans układu masa–sprężyna. Przewody mogą mostkować izolatory i przenosić drgania. Temperatura oraz starzenie elastomeru zmieniają jego sztywność. Rozwiązanie należy sprawdzić w całym zakresie obrotów.
Vibration rectification#
Rzeczywisty tor nie jest idealnie liniowy. Wysokoczęstotliwościowe drganie o średniej zero może po przejściu przez nieliniowość wytworzyć składową stałą. Jest to vibration rectification error. Estymator widzi wtedy pozorne długotrwałe przyspieszenie, mimo że filtr usunął widoczną część drgań.
VRE zależy od sensora, amplitudy, częstotliwości i osi. Datasheet może podawać współczynnik dla określonych warunków, ale gotowa płytka wymaga testu systemowego. Najskuteczniejsze jest ograniczenie drgań u źródła: wyważenie wirnika, sztywność połączeń, dobre łożyska i prawidłowy dobór śmigła. Filtr programowy jest kolejną warstwą, nie zamiennikiem mechaniki.
Temperatura i naprężenia#
Bias i skala zmieniają się z temperaturą. Sensor nagrzewa się po włączeniu, a przepływ powietrza może chłodzić płytkę nierównomiernie. Wysoka moc przetwornicy lub MCU obok IMU tworzy gradient termiczny. Kalibrację temperaturową wykonuje się dla każdej osi i zapisuje razem z konfiguracją sprzętu.
Lutowanie obudowy LGA, ugięcie PCB i docisk śrub wprowadzają naprężenia. Zmiana mocowania po kalibracji może przesunąć bias. Wycięcie w PCB i kontrola warstw w pobliżu sensora bywają elementem projektu mechanicznego, nie wyłącznie elektrycznego.
Temperatura raportowana przez IMU jest użyteczna do kompensacji, ale nie zawsze dokładnie odpowiada temperaturze elementu czułego. Dynamiczny model może wymagać opóźnienia. Histereza oznacza, że ta sama odczytana temperatura podczas grzania i chłodzenia nie musi dawać identycznego biasu.
Filtry, ODR, FIFO i czas#
ODR sensora, częstotliwość przerwania, tempo odczytu i częstotliwość estymatora to odrębne wartości. Sterownik powinien znać opóźnienie filtra wewnętrznego. Zmiana trybu lub bandwidth w locie bez powiadomienia estymatora zmienia zarówno szum, jak i latency.
FIFO zabezpiecza serię próbek, gdy MCU jest chwilowo zajęty. Po odczycie burst każda próbka nadal ma własny czas fizycznego powstania. Oznaczenie wszystkich czasem zakończenia transferu tworzy sztuczny jitter. Jeżeli sensor udostępnia timestamp lub licznik, należy go związać z zegarem autopilota.
Filtr antyaliasingowy powinien poprzedzać decymację. Notch związany z RPM może usuwać zmieniające się linie, ale wymaga wiarygodnej telemetrii i kontroli opóźnienia. Zbyt wiele kaskadowych filtrów może ograniczyć pasmo estymatora i przesunąć fazę regulatora.
Lever arm i ruch obrotowy#
Sensor odległy o wektor r od punktu referencyjnego mierzy dodatkowe przyspieszenie wynikające z obrotu:
a_sensor = a_origin + α × r + ω × (ω × r)
Pierwszy dodatkowy składnik jest styczny i zależy od przyspieszenia kątowego α, drugi jest dośrodkowy i zależy od kwadratu prędkości kątowej. Dla małej płytki odległość jest niewielka, ale przy IMU na końcu wysięgnika, antenie GNSS albo rozproszonej awionice efekt staje się istotny.
Kompensacja wymaga znanego lever arm, zsynchronizowanego żyroskopu i oszacowania przyspieszenia kątowego. Różniczkowanie zaszumionego ω wymaga filtracji. W wielu małych UAV lepiej umieścić IMU blisko środka rotacji niż rozbudowywać model.
Od siły właściwej do nawigacji#
Schemat strapdown INS jest następujący:
f_body → obrót body-to-navigation → dodanie grawitacji → całkowanie prędkości → całkowanie pozycji
Orientacja musi być poprawna. Mały błąd przechylenia przenosi część wektora grawitacji do osi poziomej. Dla błędu kąta δθ pozorne przyspieszenie poziome jest w przybliżeniu g·δθ dla małych kątów. Błąd jednego stopnia daje około 0,17 m/s², znacznie więcej niż bias dobrego sensora konsumenckiego.
Dlatego jakość żyroskopu i obserwacji orientacji bezpośrednio wpływa na nawigację z akcelerometru. Fuzja GNSS, barometru, przepływu optycznego i wizyjnej odometrii nie jest opcjonalnym dodatkiem, lecz mechanizmem ograniczania nieobserwowalnego dryfu.
Kiedy akcelerometr nie wskazuje pionu#
Nie należy używać wektora jako pionu bezwarunkowo podczas:
- przyspieszania i hamowania;
- skoordynowanego zakrętu;
- silnego podmuchu;
- gwałtownego zwiększania ciągu;
- pracy na elastycznej ramie;
- kontaktu z podłożem;
- saturacji lub intensywnych drgań.
Prosty detektor quasi-statyczny porównuje normę do oczekiwanego g, analizuje wariancję oraz prędkość kątową. Norma bliska 1 g nie gwarantuje braku przyspieszenia — przyspieszenie może zmienić kierunek wektora bez dużej zmiany modułu. Estymator powinien korzystać z modelu ruchu, nie tylko progu normy.
Zastosowanie w regulatorze#
Akcelerometr uczestniczy w estymacji attitude, prędkości pionowej i pozycji. Może też służyć do wykrywania startu, lądowania, kolizji oraz drgań. Bezpośrednie sprzężenie mocno zaszumionego przyspieszenia do sterowania zwiększa wrażliwość na rezonanse.
W multirotorze całkowity ciąg jest związany z siłą właściwą w osi pionowej body, ale opór, przechylenie, dynamika silnika i podmuchy utrudniają prostą identyfikację. Log akcelerometru jest jednak wartościowy do oceny odpowiedzi na skok ciągu i jakości modelu hover thrust.
Testy i diagnostyka#
Test statyczny obejmuje sześć orientacji, normę wektora, bias i rozrzut. Test powtarzalności wykonuje się po wielu restartach i cyklach temperatury. Test dynamiczny bada odpowiedź na znany obrót i drgania.
W logach należy obserwować:
- liczbę clippingów każdej osi;
- RMS i PSD przed oraz po filtracji;
- normę w spoczynku;
- bias i skalę względem temperatury;
- różnicę między redundantnymi sensorami po transformacji;
- korelację linii widmowych z RPM;
- przerwy timestampów i overflow FIFO;
- innowacje EKF dla obserwacji związanych z przyspieszeniem.
Stały błąd normy we wszystkich orientacjach wskazuje skalę. Zależność od znaku osi sugeruje bias. Zależność od konkretnej orientacji i osi może ujawniać nieortogonalność. Błąd pojawiający się dopiero po uruchomieniu silników wskazuje drgania, VRE, zasilanie albo zmianę temperatury.
Procedura uruchomienia#
- Sprawdź identyfikator i konfigurację rejestrów po resecie.
- Wybierz zakres z marginesem wobec zmierzonych szczytów.
- Ustal ODR, filtr i synchronizację z żyroskopem.
- Potwierdź jednostki oraz znaki osi testem ręcznym.
- Wykonaj kalibrację sześciopozycyjną i walidację na dodatkowych orientacjach.
- Zbadaj rozgrzewanie i powtarzalność po restartach.
- Zarejestruj długi postój do analizy szumu.
- Zbadaj widmo dla pełnego zakresu RPM na bezpiecznym stanowisku.
- Zweryfikuj clipping przy zdarzeniach granicznych.
- Dopiero po tych testach ustal kowariancje i progi odrzucania w estymatorze.
Powiązane tematy#
- IMU w dronie
- Żyroskop MEMS
- Układy współrzędnych w UAV
- Filtr Kalmana w UAV
- Diagnostyka logów i wibracji
- Montaż flight controllera
Przypisy#
- TDK InvenSense, ICM‑42688‑P — zakresy, szum, ODR, filtry i interfejsy współczesnego IMU.
- Bosch Sensortec, BMI088 — parametry sensora przeznaczonego do zastosowań o dużych drganiach.
- Analog Devices, AN‑1041 — bias, temperatura, uśrednianie i analiza Allana.
- Analog Devices, The Basics of MEMS IMU/Gyroscope Alignment — kalibracja osi i błędy ustawienia.
- ROS, REP 145 — konwencje ramek i jednostek danych IMU.
Utworzono: 15 sierpnia 2026. Ostatnia aktualizacja: 15 sierpnia 2026. Źródła zweryfikowano: 15 sierpnia 2026.
Źródła z centralnego rejestru
- TDK InvenSense: ICM-42688-P [datasheet]
- Bosch Sensortec: BMI088 [datasheet]
- Analog Devices AN-1041: iSensor IMU Quick Start Guide and Bias Optimization Tips [nota aplikacyjna producenta]
- Analog Devices: The Basics of MEMS IMU/Gyroscope Alignment [artykuł techniczny producenta]
- ROS REP 145: Conventions for IMU Sensor Drivers [standard projektu open source]