• Nie Znaleziono Wyników

Pomiar wartości kąta przechyłu z wykorzystaniem akcelerometru i żyroskopu / PAR 11/2009 / 2009 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka

N/A
N/A
Protected

Academic year: 2021

Share "Pomiar wartości kąta przechyłu z wykorzystaniem akcelerometru i żyroskopu / PAR 11/2009 / 2009 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka"

Copied!
4
0
0

Pełen tekst

(1)

Pomiary Automatyka Robotyka 11/2009

10



Pomiar wartości kąta przechyłu

z wykorzystaniem akcelerometru i żyroskopu



Mateusz Nowik

Pomiar kąta pochylenia robota balansującego jest jed-nym z zagadnień pomiarowych ściśle związanych z je-go sterowaniem. Często stosuje się układy obliczające wartość kąta poprzez badanie odległości od podłoża przed lub za osią robota za pomocą czujnika laserowe-go lub ultradźwiękowelaserowe-go [1]. W takich przypadkach duży wpływ na jakość pomiaru ma rodzaj, kolor i fak-tura podłoża. Trudności określenia kąta pojawiają się również w momencie, gdy robot znajduje się na po-chyłej powierzchni.

Trudniejszą w implementacji, lecz bardziej efek-tywną metodą, wykazującą odporność na wymienio-ne czynniki jest estymacja kąta odchylenia od pionu bazująca na sygnałach pochodzących z akcelerome-tru i żyroskopu. Jest ona stosowana m.in. w zaawan-sowanych technicznie transporterach, jak Segway [2]. Aktualnie spora część robotów balansujących lub kroczących posiada jeden, dwa lub więcej czuj-ników przyspieszenia liniowego (akcelerometrów) i/lub prędkości kątowej (żyroskopów mikromecha-nicznych). Pozwalają one na pośredni pomiar kąta obrotu wokół wybranych osi obiektu. Do obróbki sy-gnałów pochodzących z czujników powszechnie sto-sowany jest filtr Kalmana [3, 4] – narzędzie matema-tyczne o bardzo dużych możliwościach, wymagające jednak złożonych operacji obliczeniowych.

W artykule przedstawiono alternatywną metodę. Polega ona na stosowaniu w torze przetwarzania od-powiednio dobranych filtrów tłumiących wybrane składowe sygnałów pochodzących z czujników. Za-proponowany algorytm jest łatwy w implementacji i nie wymaga dużej mocy obliczeniowej procesora do przetwarzania danych. Aby potwierdzić skuteczność opracowanej metody, użyto jej do estymacji kąta po-chylenia jednoosiowego robota balansującego.

W artykule przedstawiona została metoda pomiaru kąta pochylenia robota

balansującego bazująca na filtracji sygnałów z akcelerometru i żyroskopu.

Dla określenia dokładności pomiaru przeprowadzono symulację działania

algorytmu w programie Matlab. Następnie zbudowany został prosty robot

balansujący, wykorzystujący zaproponowaną metodę do uzyskania

stabi-lizacji w pionie.

Obiekt pomiarowy – robot balansujący

Model eksperymentalny robota składa się z belki o przekroju prostokątnym, na końcu której zamo-cowany jest silnik krokowy (rys. 1). Mikrokontroler, czujniki oraz obwody sterujące prądami w cewkach silnika zostały przytwierdzone w centralnej części belki.

mgr inż. Mateusz Nowik – Katedra Metrologii, Akademia Górniczo-Hutnicza

Kraków

Rys. 1. Model robota balansującego służący do testowania

algorytmu (widok z boku i z przodu)

Silnik krokowy Koła przytwierdzone bezpośrednio do wału silnika

Środek ciężkości

Środek ciężkości znajdujący się nad punktem pod-parcia sprawia, że robot bez odpowiedniego stero-wania traci równowagę i przewraca się. Utrzymanie konstrukcji w pionie wymaga ciągłego pomiaru po-chylenia i dokonywania korekty położenia podwozia, aby środek ciężkości znajdował się nad osią wału sil-nika. Pod względem zachowania oraz budowy robot przypomina odwrócone wahadło – typowy przykład obiektu niestabilnego. Sygnał sterujący prędkością sil-nika pochodzi z regulatora PID, na którego wejście po-dawana jest estymowana wartość kąta pochylenia.

Charakterystyka czujników

Idea algorytmu zrodziła się pod wpływem obserwa-cji własności akcelerometrów i żyroskopów. Badając wartości przyspieszeń mierzone przez akcelerometr wzdłuż osi X i Y wywołane działaniem pola grawitacyj-nego można wnioskować o kącie pochylenia wokół osi Z (prostopadłej do X, Y i zarazem do wektora przyspie-szenia ziemskiego). W przypadku kalibracji statycznej (przykład w pracy [5]), otrzymana wartość jest bardzo

(2)

Pomiary Automatyka Robotyka 11/2009

11

dokładna ale tylko przy założeniu, że jedyną siłą

dzia-łającą na układ jest grawitacja. W przypadku obiektów poruszających się ruchem niejednostajnym, takie zało-żenie jest błędne. Należy zauważyć, że średni kąt wska-zywany przez akcelerometr będzie poprawny. Można zauważyć pewną analogię do wahadła zamocowanego na poruszającym się obiekcie. Pomimo ciągłych wychy-leń ze stanu równowagi powodowanych przez zmianę przyspieszenia obiektu i siły bezwładności samego wa-hadła, przy odpowiednio długim czasie uśredniania wskazywanego przez nie kierunku, można z zadowa-lającą dokładnością określić orientację wektora przy-spieszenia ziemskiego [6].

Żyroskop mikromechaniczny (np. model LISY300AL firmy STMicroelectronics, zastosowany w opisywanym projekcie) jest urządzeniem mierzącym prędkość kąto-wą. Na drodze całkowania możliwe jest otrzymanie war-tości kąta obrotu wokół aktywnej osi czujnika. Błędy zera żyroskopu powodują tzw. dryft polegający na sys-tematycznym wzroście wartości kąta, nawet gdy obiekt z czujnikiem znajdują się w spoczynku. Ta cecha nie po-zwala na stosowanie żyroskopu mikromechanicznego do pomiaru wartości statycznych kąta, natomiast ma zni-komy wpływ podczas obserwacji szybkich zmian. Do-datkowo czujnik ten jest praktycznie zupełnie nieczuły na przyspieszenia liniowe, jakim jest poddany.

Zasada działania algorytmu

W algorytmie w ykorzysty wane są filtry cyfrowe górno- i dolnoprzepustowe mające za zadanie wydo-bycie informacji z sygnałów oraz stłumienie zakłóceń charakterystycznych dla każdego z czujników, zgod-nie z wcześzgod-niej omówionymi obserwacjami. Na rys. 2 przedstawiono schemat blokowy algorytmu.

Na podstawie w yników pomiaru przyspieszeń wzdłuż osi X i Y akcelerometru wyliczany jest kąt zgodnie z zależnością: a= ⎛ ⎝⎜ ⎞ ⎠⎟ arctg a a Y X (1) gdzie: – odchylenie od pionu, aY – przyspieszenie wzdłuż

osi Ay, aX – przyspieszenie wzdłuż osi Ax Sygnał o wartości kąta pochylenia jest następnie po-dawany na wejście filtra dolnoprzepustowego o czę-stotliwości granicznej fgr równej 0,15 Hz. Zadaniem filtra jest tłumienie wysokoczęstotliwościowej czę-ści widma obejmującej szumy czujnika oraz drgania i wahania robota.

Sygnał z żyroskopu w pierwszej fazie jest pozbawiany wartości średniej, następnie poddawany całkowaniu. Na wyjściu integratora znajduje się filtr górnoprzepu-stowy o częstotliwości granicznej równej – podobnie jak w przypadku filtra w torze przetwarzania sygnału z akcelerometru – fgr. Filtry (Butterwortha I rzędu) zo-stały zaprojektowane dla częstotliwości próbkowania równej 100 Hz (rys. 3).

Symulacja numeryczna

Symulacja działania algorytmu została wykonana z użyciem programu Matlab Simulink. Zamodelowa-no czujniki pomiarowe oraz cały tor przetwarzania sygnałów (rys. 4, rys. 5). Otrzymane przebiegi są na-stępnie przeliczane zgodnie z zaproponowanym algo-rytmem i ostatecznie porównywane z war-tością zadaną pochylenia.

W symulacjach założono, że sygnały wyj-ściowe z czujników nie są obarczone błę-dem dynamicznym, a jedynie addytywnym szumem o rozkładzie normalnym. Zamode-lowany akcelerometr jest czuły na przyspie-szenie ziemskie oraz na wstrząsy działające na obiekt. Rozkład poszczególnych przyspie-szeń na odpowiednie osie został

przedsta-Akcelerometr Żyroskop Y/X Arctg() Y X LP Wart. śr. _ ∫dx HP θ + + +

Rys. 2. Schemat algorytmu estymacji kąta pochylenia na podstawie

sygnałów z akcelerometru i żyroskopu

Rys. 3. Charakterystyka amplitudowa i fazowa filtrów: a)

dolno-przepustowego, b) górnoprzepustowego dla częstotliwości znormalizowanej względem częstotliwości próbkowania fpr = 100 Hz a) b) 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 -100 -80 -60 -40 -20 0

Normalized Frequency (×π rad/sample)

P s a hg e d( er e e s ) 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 -40 -20 0

Normalized Frequency (×π rad/sample)

Ma i n g t ( e d ud B ) 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0 20 40 60 80

Normalized Frequency (×π rad/sample)

P s a hg e d( e re e s ) 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 -8 -6 -4 -2 0

Normalized Frequency (×π rad/sample)

Ma i n gt ( e d u d B)

(3)

Pomiary Automatyka Robotyka 11/2009

12

wiony w pracy [5]. Na jego podstawie obliczany jest kąt pochylenia. W przedstawionej implementacji na wyjściu żyroskopu pojawia się sygnał proporcjonalny do prędkości obrotowej obiektu i nie jest w żaden spo-sób zakłócany przez przyspieszenia liniowe. Czujnik ma natomiast stały dryft o wartości 0,01 rad/s.

Przyjęto arbitralnie przebiegi wymuszeń (pochyle-nia oraz przyspiesze(pochyle-nia liniowego) uznanych za kry-tyczne (rys. 6). Są to:

– wartość stała kąta pochylenia (ze względu na dryft żyroskopu)

– szybka zmiana kąta pochylenia (ze względu na cha-rakter robota, którego sterowanie wymaga szybkiej reakcji na zmianę kąta odchylenia od pionu) – wpływ wstrząsów (ze względu na zakłócenie pracy

akcelerometru).

Wynikiem symulacji są przebiegi sygnałów zmierzo-nych przez czujniki oraz dane końcowe będące

esty-matą kąta odchylenia od pionu (rys. 7). Dzięki znajo-mości wartości zadanej kąta możliwe jest określenie niepewności otrzymanych wyników. Różnica wartości obliczonej i zadanej została przedstawiona dla trzech przypadków: gdy jest stosowany albo tylko akcelero-metr, albo żyroskop, albo algorytm bazujący na sygna-łach z obu czujników (rys. 7).

Występowanie wstrząsów o wartości przyspieszeń do kilku m/s2 spowodowało błąd obliczania kąta na

podsta-wie danych pochodzących z akcelerometru o wartości dochodzącej do ok. 0,5 rad. Sygnał wyjściowy z żyrosko-pu ma tendencję do narastania w czasie. Dzięki zastoso-waniu przedstawionego zestawu filtrów, zwiększono odporność na wstrząsy (wartość błędu zniwelowano do ok. 0,08 rad) oraz wyeliminowano dryft.

Pomiary na obiekcie rzeczywistym

Algorytm zasymulowany w środowisku Matlab zo-stał zaimplementowany w programie przeznaczonym dla mikrokontrolera ARM 7TDMI (AT91SAM7S256). Korzystając ze sprzętowego interfejsu szeregowe-go UART, dane zostały przesłane do komputera PC. Obiekt, na którym zamontowano czujniki, wykony-wał ruchy obrotowe wokół osi żyroskopu, poddano go również działaniu przyspieszeń liniowych. Na rys. 8 przedstawione zostały przebiegi wartości kąta na pod-stawie danych z akcelerometru oraz z żyroskopu, po wykonaniu całkowania. Fragment przedstawiony na wykresie obejmuje rejestrację wolnych zmian pochy-lenia (czas 1-2 s), szybkich zmian pochypochy-lenia (czas 2–2,5 s) oraz potrząsania obiektem (czas 2,5–4 s). Rys. 5. Moduły obliczające kąt

na podstawie danych z akcelerometru (a) i żyroskopu (b)

Rys. 6. Zadane sygnały wejściowe

0 2 4 6 8 10 12 14 16 18 20 -0.4 -0.2 0 0.2 0.4 0.6

Z adany sygnał pochylenia

Czas [s] a K[ tr a d ] 0 2 4 6 8 10 12 14 16 18 20 -10 -5 0 5 10

Z adany sygnał prz y spie sz enia lin iowego

Czas [s] P rz ysp eis z e n ei[ m/ s 2]

Rys. 7. Sygnały otrzymane w wyniku symulacji

Rys. 8. Wartość kąta pochylenia w czasie wyliczana osobno

za pomocą akcelerometru i żyroskopu

Rys. 4. Symulacja zaimplementowana w programie Matlab

(4)

Pomiary Automatyka Robotyka 11/2009

13

Na kolejnych wykresach zaznaczono również

estymo-waną przez algorytm wartość kąta. Skupiono się na przy-padkach wymuszeń uznanych wcześniej za krytyczne: – powolnej zmianie kąta

– szybkiej zmianie kąta

– wpływie przyspieszenia liniowe-go zakłócająceliniowe-go pomiar. Wyniki filtracji zostały przedsta-wione na (rys. 9, 10 i 11). Na każdym z nich zaznaczono kąt wyliczony ze wzoru (1) („Akcelerometr”), sygnał pochodzący bezpośrednio z żyro-skopu („Żyroskop”), wartość na wyjściu filtra dolnoprzepustowe-go („Filtr_LP”), wartość na wyjściu filtra górnoprzepustowego („Filtr_ HP”), wartość kąta wyliczoną przez kompletny algorytm („Wynik”). Rys. 9. Powolne zmiany pochylenia

Rys. 10. Szybkie zmiany pochylenia

Rys. 11. Oddziaływanie na obiekt przyspieszenia liniowego

przy stałym pochyleniu

Rys. 12. Robot balansujący wykorzystujący zaproponowany

algorytm pomiaru kąta pochylenia

Po zaimplementowaniu regulatora PID i jego dostroje-niu [7] uzyskano stabilizację robota w pozycji pionowej (rys. 1). Dodatkowym utrudnieniem dla układu badające-go pochylenie jest fakt zastosowania jako napędu silnika krokowego. Przy małej prędkości poruszania się robo-ta, skokowe przełączanie cewek wprowadza cały układ w drgania. Filtr dolnoprzepustowy ogranicza jednak ich wpływ i umożliwia poprawny pomiar kąta.

Wnioski

W każdym z rozpatrywanych w symulacji przypadków zastosowanie przedstawionego algorytmu spowodowało zmniejszenie niedokładności pomiaru kąta pochylenia obiektu. Filtry IIR niskiego rzędu wprowadzają znikome opóźnienie propagacji sygnału, co pozwala na stosowa-nie ich w aplikacjach, w których sterowastosowa-nie jest krytycz-ne czasowo – takich jak roboty balansujące lub inkrytycz-ne urzą-dzenia mające utrzymywać równowagę. Przyczyniają się one również (wraz z operacją całkowania) do znaczne-go tłumienia szumów własnych czujników. Dzięki małej liczbie współczynników filtrów (dla filtra Butterwortha I rzędu ich liczba wynosi 3) filtracji mogą dokonywać procesory typu AVR lub ARM, niemające wyspecjalizo-wanych instrukcji DSP (np. MAC – multiply – acumula-te). Kompletny algorytm zapisany w pamięci mikrokon-trolera AT91SAM7S25 zajmuje niecałe 2 KB (operacje na zmiennych typu „double”, kompilator YAGARTO - GCC 4.3.2, opcja optymalizacji – o01).

Zaproponowany układ dwóch czujników sprzęgnię-tych prezentowanym algorytmem obliczeniowym po-siada jako całość dobrą dynamikę (charakterystyczną dla żyroskopu) oraz nie wykazuje dryftu w stanie statycz-nym. Robot balansujący wykorzystujący przedstawioną w artykule metodę pomiaru jest w stanie utrzymywać równowagę i powracać do stanu stabilnego po wystą-pieniu zakłócenia.

Bibliografia

1. NASA Telerobotics Program Home Page http://ranier. hq.nasa.gov/.

2. Segway Personal Transporter http://www.segway. com.

3. Zieliński T. P.: Od teorii do cyfrowego przetwarzania sy-gnałów. Wydział EAIiE AGH, Kraków 2002.

4. Kędzierski J.: Filtr Kalmana – zastosowania w prostych układach sensorycznych. Artykuł koła naukowego KoNaR Politechnika Wrocławska.

5. Nowik M.: Zastosowanie czujników przyspieszeń do po-miarów parametrów ruchu pojazdu. Praca magisterska pod kierunkiem dr. hab. inż. A. Bienia. Wydział EAIiE AGH, Kraków 2008.

6. Blackwell Trevor website http://www.tlb.org/.

7. Sawicki J., Piątek K.: Wstęp do teorii sterowania cyfro-wego. Uczelniane Wydawnictwa Naukowo-Dydaktyczne AGH, Kraków 2004.

1) Opcja optymalizacji „o0” dla kompilatora oznacza „nie optymalizować”

Cytaty

Powiązane dokumenty

Podsumowanie W kontekście prowadzonych rozważań problematyka wsparcia pracownika przez organizację, przy budowaniu przez niego równowagi pomiędzy życiem oso­ bistym a zawodowym,

Emisja obligacji ma równie˝ pewne wady, z których najwi´ksze to: – koszty emisji, – obowiàzki informacyjne takie same dla wszystkich emitentów i pozwalajàce ujawniç o wiele

Odległe miejsce powiatu tatrzańskiego według liczby ludności, pracujących i zatrudnionych nie przekładało się na bardzo wysoką ocenę przedsiębiorczości, potencjału rozwojowego

przy których brak dostosowań cen nominalnych okazuje się optyma lną reakcją na szoki nomin;llne I 9 • Po l ożenie przez nowych keynesislów nacisku na interakcje między

Strategia marketingowa powinna zawierać przede wszystkim opis przyszłych działml na podstawie elementów mm'ketingu-mix: produkt usługa, cena, promocja, dystrybucja, ludzie,

Wnioski Termin rządzenie, do którego odnosimy się w tym artykule, koncentruje się na dwóch elementach: pierwszy mówi o tym, że niekompletność lub częściowość każdego

Powracając do naszego królestwa wyobraźni, znaków, orientacji, granic i inskrypcji charakte- rystycznych dla państwa terytorialnego znajdu- jącego się na lądzie,

Zawarta w MSR 16 definicja rzeczowych aktywów trwałych ma charakter bardziej ogólny niż definicja przyjęta w ustawie. Definicja standardu odnosi się głównie do środków