• Nie Znaleziono Wyników

ALGORYTMY STEROWANIA QUADROTORA

N/A
N/A
Protected

Academic year: 2023

Share "ALGORYTMY STEROWANIA QUADROTORA"

Copied!
174
0
0

Pełen tekst

Wstęp

Badany obiekt

  • Własności obiektu

Układ współrzędnych

Cel pracy

Badania przeprowadzono zarówno dla metod integracji stałokrokowej (takich jak metody Matlaba (ode1, ode4, ode8) jak i metod zmiennokrokowych (ode23, ode23s, ode45). Błędy współrzędnych położenia – algorytm PID, śledzenie trajektorii uzyskane z dynamiki model po zastosowaniu algorytmu całkowania wstecznego. Błędy współrzędnych orientacji – algorytm PID podążający po trajektorii uzyskanej z dynamiki modelu, po zastosowaniu algorytmu całkowania wstecznego.

Błąd współrzędnych pozycji – algorytm H∞ śledzący trajektorię uzyskaną z dynamiki modelu po zastosowaniu algorytmu całkowania wstecznego. Błąd współrzędnych orientacji – algorytm H∞ śledzący trajektorię uzyskaną z dynamiki modelu po zastosowaniu algorytmu całkowania wstecznego. Indywidualne wskaźniki jakości dla algorytmu PID – śledzenie ścieżki uzyskanej z dynamiki modelu po zastosowaniu algorytmu integracji wstecznej.

Błędy współrzędnych pozycji – algorytm całkowania wstecznego, podążający za trajektorią uzyskaną z dynamiki modelu, po zastosowaniu PID. Błędy współrzędnych położenia – algorytm całkowania wstecznego, podążanie za trajektorią uzyskaną z dynamiki modelu, po zastosowaniu algorytmu H∞.

Podstawy teoretyczne

Wprowadzenie

Równania Eulera-Lagrange’a

Można go stosować we wszystkich współrzędnych opisujących układ, a otrzymane równania dynamiczne mają postać jawną. M(qi) ¨qi+C(qi,q˙i) ˙qi+D(qi) = Fi, (2.5) gdzie M,C i D są macierzami bezwładności, sił odśrodkowych i Coriolisa oraz sił grawitacyjnych obiektu odpowiednio.

Momenty niezachowawcze

Współrzędne położenia

Współrzędne kątowe

  • Energia kinetyczna
  • Energia potencjalna
  • Równanie Eulera-Lagrange’a

Służy do odczytu prędkości i przyspieszeń kątowych związanych z układem ciała robota. Z tego powodu w modelu (2.26) prędkości ˙φ,theta,˙ psi˙ zastępujemy przez IMU i oznaczamy przez ωX, ωY, ωZ.

Przyjęty model

Modelowanie matematyczne

  • Modelowanie matematyczne ciągu
    • Modelowanie ciągu
    • Modelowanie silników prądu stałego
    • Zaburzenia oddziałujące na quadrotor
  • Numeryczne metody rozwiązywania równań różniczkowych
    • Wstęp do całkowania numerycznego
    • Klasy równań różniczkowych
    • Szacowanie błędu
    • Metoda Eulera
    • Metoda Rungego-Kutty
    • Równania sztywne
    • Podwajanie kroku
    • Zmienny krok całkowania

Efekt sufitu modeluje się często według tego samego wzoru, co efekt bliskości gruntu. b) Zaburzenia ciągu wynikające ze zmiany kąta natarcia łopaty – siła nośna zależy od kąta natarcia śmigła. Matematyczne modelowanie ciągu 25 c) Zaburzenia ciągu na skutek drgań łopatek (trzepotanie łopatek) – zmiana geometrii śmigła na skutek drgań łopatek podczas lotu poziomego. Większe zmiany wysokości są niemożliwe ze względu na małą pojemność akumulatorów stosowanych w popularnych konstrukcjach. g) Zaburzenia ciągu wynikające z turbulencji powietrza powodowanych przez inne maszyny latające - zauważalne podczas lotu w zwartym szyku.

Równania PDE różnią się od ODE tym, że po całkowaniu jest więcej zmiennych niż w przypadku ODE. Przykładem takiego równania może być 3,12. Do oszacowania błędu poszczególnych metod rozwiązywania równań różniczkowych stosuje się notację O(h); jego użycie jest bardzo intuicyjne: jeśli po podzieleniu kroku o połowę błąd całkowania zmniejszy się o połowę, będzie to klasa O(h), a jeśli zmniejszy się czterokrotnie, będzie to klasa O(h2) i tak dalej. Metoda ta jest najprostszą i najbardziej intuicyjną metodą całkowania, jej błąd silnie zależy od przyjętego kroku całkowania i sztywności równania.

Cała rodzina metod Runge-Kutty drugiego rzędu opiera się na założeniu jednego punktu pośredniego (można to jednak zdefiniować intuicyjnie: są to równania, które po całkowaniu niektórymi metodami numerycznymi okazują się niestabilne numerycznie).

Algorytmy sterowania

  • Regulator PID
    • Implementacja regulatora PID dla quadrotora
  • Algorytm całkowania wstecznego
    • Przegląd literatury
    • Schemat algorytmu
    • Sterownik
  • Algorytm H ∞
    • Sterowanie układu algorytmem H ∞
    • Sterowanie układu quadrotora algorytmem H ∞

Algorytm integracji wstecznej został zaproponowany w 1990 roku przez Petara V. Pozwala on na stabilizację układów kaskadowych i znalazł zastosowanie przy realizacji zadań sterowania różnymi obiektami. Algorytm całkowania wstecznego 35 W takim układzie funkcje fi i gi w i-tym podsystemie zależą wyłącznie od zmiennych xj, dla których j ¬ i oraz zmienna xi+1 pełnią rolę kontrolną. Jeżeli postąpimy analogicznie do systemów obejmujących coraz większą liczbę podsystemów, dotrzemy do punktu, w którym osiągniemy formę sterowania.

Algorytm integracji wstecznej 37 Powstały system ma postać łańcucha - a dokładniej można go rozpatrywać jako sześć podsystemów łańcuchowych ze zmiennymi xi i ixi+1. Ostatecznie uzyskano układ sterowania o dwunastu regulowanych parametrach α1 – α12, które umożliwiają śledzenie trajektorii w przestrzeni zadaniowej wyznaczonej przez położenie i kąt quadrotora. Założenia (III) i (IV) są wystarczające, aby zapewnić, że układ nie zostanie wytrącony z równowagi, a jego elementy nie wpadną do obszaru niestabilnego.

Standardowy problem sterowania algorytmem H∞ dla układu pokazanego na rysunku 4.11 sprowadza się do znalezienia wszystkich K regulatorów, które minimalizują. Dla układu 4.11, przy założeniach (I)-(VI), istnieje sterownik spełniający nierówność (4.40) wtedy i tylko wtedy, gdy: i) X∞0 jest rozwiązaniem algebraicznego równania Riccatiego.

Rysunek 4.2. Schemat ideowy regulatora PID–IND
Rysunek 4.2. Schemat ideowy regulatora PID–IND

Zadania realizowane przez quadrotor

  • Śledzenie trajektorii
    • Krzywe Lissajous
    • Krzywe B´ eziera
    • Krzywa łańcuchowa
  • Sterowanie do punktu

Krzywa łańcucha odzwierciedla krzywiznę niesprężystej, idealnie luźnej liny o niezerowej masie, która jest zawieszona pomiędzy dwoma podporami. Jego kształt zmniejsza energię potencjalną takiego układu, dlatego można go wyznaczyć z równania Eulera-Lagrange'a (2.3). Sterowanie punktowe ma na celu dotarcie i utrzymanie zadanego punktu przestrzeni zadaniowej przez robota mobilnego w badanych współrzędnych.

Warto zaznaczyć, że choć przykład podaje stałe wartości w czasie, to quadrotor będzie poruszał się we współrzędnych x i y.

Rysunek 5.1. Krzywe Lissajous
Rysunek 5.1. Krzywe Lissajous

Realizacja w środowisku MATLAB

  • Interfejs danych
    • Wymiana danych w modelu
    • Dobór interfejsu danych
    • Opis struktur zawartych w projekcie
    • Funkcja pomocnicza generująca struktury
  • Model
    • Opis wejść/wyjść
    • Inicjalizacja
    • Przykład uruchomienia
    • Implementacja
  • Implementacja sterownika PID
  • Algorytm całkowania wstecznego
    • Inicjalizacja
  • Implementacja algorytmu H ∞ dla quadrotora
    • Model dynamiki quadrotora opisany równaniami stanu
    • Architektura sterownika H ∞
  • Interfejs użytkownika
    • Wprowadzenie
    • Struktura GUI
    • Uruchamianie GUI
    • Struktura GUI z punktu widzenia użytkownika
    • Generator trajektorii
    • Połączenie algorytmu z GUI
  • Obsługa interfejsu użytkownika
    • Uruchamianie GUI
    • Ustawienia parametrów modelu quadrotora
    • Wybór algorytmu sterowania
    • Ustawienia parametrów algorytmu sterowania
    • Generowanie trajektorii zadanej
    • Uruchomienie symulacji
    • Prezentacja wyników
    • Zapisywanie i odczytywanie wyników

Efektem pracy, oprócz poprawnie działających modeli i sterowników umożliwiających testowanie, jest przejrzysta struktura całego systemu sterowania, prezentująca różne bloki funkcjonalne i przepływ informacji. Aby model działał dla różnych metod integracji (krok stały i zmienny), zdecydowano się zastosować bloki pamięci (odczyt, zapis i rezerwacja miejsca na dane), w których można ustawić zmienny czas. blokada opóźnienia). Parametry można tworzyć przy pomocy przygotowanych skryptów: BackSteppingParam.m, który tworzy strukturę BSP z opisem parametrów sterownika oraz BackStep.m, który inicjuje wektor BSparam wartościami ustawionymi w BSP, jak pokazano na wydrukach 6.9 i 6.10.

Zastosowany w nim blok fcn do obliczenia modelu spowodował wykrycie zależności pomiędzy całkowaniem pozycji wejściowych x, y i wyjściowym (położenia, kąty KKM), która nie była konieczna do linearyzacji modelu i powodowała problemy w rozwiązywaniu podwójnego algebraicznego równania Riccatiego (druk 6.11). Usunięcie nieużywanych na tym etapie bloków całkujących i zresetowanie wartości x i y wraz z ich pochodnymi nadal generowało błędny model podczas linearyzacji - nawet przy wybraniu w opcjach linearyzacji usunięcia nieużywanych bloków do pominięcia. Wykresy na rysunku 6.16 przedstawiają porównanie odpowiedzi częstotliwościowej modelu quadrotora przed i po filtracji wykonanej za pomocą W1 i W2 zgodnie z wytycznymi z rozdziału 4.3.2 oraz [25] i [9].

Ponownie konieczne było skorygowanie błędów modelu związanych z całkowaniem współrzędnych, które nie zostały wykorzystane na tym etapie projektowania sterownika. Aby przezwyciężyć podobne problemy, zdecydowano się stworzyć graficzny interfejs użytkownika (GUI), który pozwoli na zarządzanie funkcjonalnościami opisanymi w tej pracy w całkowicie powtarzalny i niezawodny sposób. Zmiana parametru w tabeli nie powoduje bezpośrednio jego zmiany w obszarze roboczym Matlaba - po dokonaniu zmian należy je zaakceptować przyciskiem Aktualizuj dane.

W lewej tabeli znajdują się kontrole określone równaniem 2.30, natomiast w prawej tabeli znajdują się kontrole określone równaniem 2.31. Po wygenerowaniu odpowiednich wektorów są one zapisywane w przestrzeni roboczej Matlaba za pomocą polecenia przypisania. Po zakończeniu symulacji wszystkie uzyskane w ten sposób dane gromadzone są w jednej strukturze zwanej GUIOut, która następnie zapisywana jest w przestrzeni roboczej Matlaba za pomocą polecenia przypisania.

Tak przygotowane elementy konstrukcji są następnie wyświetlane za pomocą poleceń plot i plot3 w wywołaniu zwrotnym zdefiniowanym dla przycisku Wyświetl. Pamiętaj, aby po dokonaniu wszystkich niezbędnych zmian nacisnąć przycisk Aktualizuj dane (rysunek 6.37), aby zmiany były widoczne w planowanej symulacji. Po uruchomieniu symulacji możesz zapisać powstałą trajektorię quadrotora i wykorzystać ją do dalszych symulacji za pomocą przycisku Zapisz tr.

Wyniki symulacji można obejrzeć naciskając przycisk Widok (rysunek 6.46), co skutkuje prezentacją wykresów (rysunek 6.48) wybranych za pomocą przycisków selekcji (rysunek 6.47) lub okna ze wskaźnikami jakości. Aby zapisać wyniki uzyskane podczas symulacji do dalszej pracy, należy skorzystać z przycisku Zapisz do pliku (rysunek 6.49).

Rysunek 6.1. Struktury
Rysunek 6.1. Struktury

Badania

  • Regulator PID
    • Człon proporcjonalny P
    • Człon całkujący I
    • Człon różniczkujący D
    • Badania – sterowanie do punktu i śledzenie wybranych trajektorii
    • Podsumowanie
  • Algorytm całkowania wstecznego
    • Trajektorie
    • Dobór parametrów sterownika
    • Przegląd wyników symulacji dla różnych nastaw sterownika
    • Przegląd wyników symulacji dla różnych trajektorii
    • Podsumowanie
  • Badania jakości sterowania H ∞ dla quadrotora
    • Wpływ zmian trajektorii współrzędnej z i kąta myszkowania
    • Wpływ zmian trajektorii współrzędnych x i y na jakość sterowania
    • Wpływ zmian kąta myszkowania na jakość sterowania
    • Przypadek na granicy stabilności układu
    • Podsumowanie
  • Badania metod numerycznych
    • Stałe sterowania
    • Sterowanie zmienne
    • Wyniki badań
    • Wnioski
  • Badania porównanwcze algorytmów sterowania
    • Wstęp
    • Porównanie algorytmów sterowania
    • Wnioski

Z przeprowadzonych symulacji wynika, że ​​sterownik wykorzystujący algorytm integracji wstecznej bardzo dobrze realizuje zadanie śledzenia trajektorii. Warto zwrócić uwagę na wartości kontrolne z rysunku 7.58, które w przypadku trajektorii (7.1) odpowiadają wartościom kontrolnym uzyskanym dla algorytmu całkowania wstecznego. Jeżeli nie ma ograniczeń co do stałej długości kroku całkowania, zaleca się wybranie metody 23 z ustawionym maksymalnym krokiem całkowania.

Błędy poszczególnych zmiennych kontroli wewnętrznej dla algorytmu PID przedstawiono na wykresach 7.98 i 7.99, dla algorytmu całkowania wstecznego w 7.100 i 7.101, a dla H∞ w 7.102 i 7.103. Błędy współrzędnych pozycji – algorytm integracji wstecznej, śledzenie trajektorii uzyskane z dynamiki modelu, po zastosowaniu algorytmu całkowania. Błędy współrzędnych orientacji – algorytm całkowania wstecznego, śledzenie trajektorii uzyskane z dynamiki modelu, po zastosowaniu algorytmu całkowania.

Indywidualne wskaźniki jakości algorytmu całkowania wstecznego – śledzenie trajektorii uzyskanej z dynamiki modelu po zastosowaniu algorytmu całkowania. Indywidualne wskaźniki jakości dla algorytmu H∞ – śledzenie trajektorii uzyskanej z dynamiki modelu, po zastosowaniu algorytmu całkowania wstecznego. Błędy współrzędnych orientacji – algorytm całkowania wstecznego, podążanie za trajektorią uzyskaną z dynamiki modelu, po zastosowaniu algorytmu PID.

Błąd współrzędnych orientacji – algorytm całkowania wstecznego, śledzący trajektorię uzyskaną z dynamiki modelu po zastosowaniu algorytmu H∞. Indywidualne wskaźniki jakości dla algorytmu integracji wstecznej – śledzenie trajektorii uzyskanej z dynamiki modelu po zastosowaniu algorytmu H∞.

Rysunek 7.2. Uchyb śledzenia trajektorii dla parametrów K p =0.1
Rysunek 7.2. Uchyb śledzenia trajektorii dla parametrów K p =0.1

Obraz

Rysunek 4.9. Przykład implementacji algorytmu (za: [10])
Rysunek 5.1. Krzywe Lissajous
Rysunek 5.4. Krzywa B´ eziera zrealizowana w środowisku Simulink
Rysunek 6.1. Struktury
+7

Cytaty

Powiązane dokumenty

W naszym przekonaniu miała ona jednak tylko substytutowy charakter, co było spowodowane: wywiezieniem mebli na pocza˛tku paz´dziernika tego roku; sprzecznymi, a nawet