Tryby stabilizacji w OpenPilot

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
sitas
Posty: 39
Rejestracja: środa 04 mar 2015, 18:49
Lokalizacja: W-wa

Tryby stabilizacji w OpenPilot

Post autor: sitas »

W wolnej chwili opisałem podstawowe tryby stabilizacji zaimplementowane w OpenPilot. Na oficjalnym wiki projektu i innych witrynkach coś jest ale stwierdziłem że może to będzie bardziej przystępne i po polskiemu. Może rozpoczynającym przygodę z OpenPilot coś to pomoże a bardziej doświadczeni jakieś Tips and Trics dopiszą.



TRYB RATE
Tryb Rate działa tak, że dąży do osiągnięcia zadanej prędkości obrotowej wokół danej osi (ustalona prędkość kątowa). Wykorzystuje w tym celu zainstalowany w modelu żyroskop. Działa na wszystkich osiach X, Y, Z (Roll, Pitch, Yaw). Pożądana wartość prędkości kątowej jest ustalana poprzez pozycję wychylenia drążka w aparaturze RC. Kiedy drążek sterowania odpowiedzialny za daną oś (np. Roll) jest w pozycji neutralnej, OpenPilot będzie tak ustalać prędkość silników aby na tej osi prędkość kątowa wynosiła zero - 0 (multikopter przestanie się obracać w danej osi i będzie trzymać ustalony wcześniej kąt). Im wychylenie drążków sterowania będzie większe tym prędkość kątową z jaką multikopter będzie wykonywał obrót w danej osi (dynamika obrotu) będzie większa. Jeśli multikopter będzie lecieć z określonym kątem przechylenia w danej osi (np. pochylenie w przód czy przechylenie na lewą lub prawą stronę) to powrót do pozycji poziomej wymaga manualnego skorygowania lotu przez takie wychylenie drążka odpowiedzialnego za daną oś obrotu aż multikopter powróci do pozycji poziomej do ziemi. Ważny przy tym jest oczywiście kierunek ruchu drążka oraz zakres i czas trwania jego wychylenia. Warto mieć ustawione dodatnie EXPO aby przy małych wychyleniach poziom obrotu był stosunkowo mały. Tryb ten jest adekwatny do metody pilotażu modeli samolotów czy śmigłowców RC, gdzie mocne wychylenie drążka na aparaturze powoduje silne wychylenie powierzchni sterowych a w konsekwencji dużą dynamikę zmiany lotu.
Osobiście uważam, że nawet osoby rozpoczynające przygodę z modelami latającymi RC ale z ambicjami aby latać FPV lub LOS dynamicznie czy wręcz akrobatycznie / sportowo powinny jak najszybciej trenować właśnie w tym trybie. Nabycie przyzwyczajeń z trybu Attitute stanowi później istotny problem. Pewnym pośrednim trybem pomiędzy Rate a Attitude jest Ratitude (o tym trybie poniżej).

Ważne: w trybie Rate nie ma automatycznego poziomowania i ustawienie drążków w pozycji neutrum nie spowoduje automatycznego ustawienia modelu w pozycji poziomej do ziemi!

TRYB ATTITUDE
Tryb Attitude stabilizuje multikoptera w żądanej pozycji względem poziomu ziemi. Stabilizacja wykorzystuje zainstalowane w modelu dwa czujniki: żyroskop i akcelerometr. Działa tylko dla osi X i Y.
Stabilizacja działa tak, że pozycja (kąt) dla każdej z osi jest ustalana adekwatnie do poziomu wychylenia drążka w aparaturze RC (wprost proporcjonalnie lub zgodnie z parametrami D/R ustawionymi w aparaturze lub OpenPilot). Wychylenie w aparaturze RC drążka sterowania o zadany kąt (i utrzymanie go w danej pozycji) bezpośrednio zdeterminuje kąt ustawienia / lotu multikoptera względem poziomu ziemi. Ustawienie drążków sterowania w pozycji neutrum stabilizować będzie multikopter do lotu poziomego. Ta cecha jest najbardziej charakterystyczna dla tego trybu i opisowo można go przedstawiać jako tryb automatycznego poziomowania (w rozwiązaniach Baseflight czy Cleanflight podobny tryb stabilizacji wręcz nazywa się Horizon).
Dzięki takiemu rozwiązaniu, w awaryjnej sytuacji wystarczy puścić drążki sterowania i model ustawi się automatycznie do lotu w poziomie co może uchronić nas przed niebezpiecznym uderzeniem w ziemię (tryb polecany dla początkujących pilotów). Należy mieć jednak na uwadze, że powrót multikoptera do pozycji poziomej nie zatrzyma od razu lecącego modelu – przy dużej prędkości i masie modelu wytrącenie energii kinetycznej w trakcie „wyhamowywania” może spowodować duże przemieszczenie modelu. Ponadto tryb ten nie eliminuje efektu dryfowania, spowodowanego np. wiatrem. Nie gwarantuje też utrzymania stałej wysokości. W OpenPilot jest zaimplementowany tryb Altitiude Hold ale on jest dotępny tylko gdy masz wersję kontrolera OpenPilot Revolution (w Revo jest zdecydowanie wydajniejszy chip STM32F4) - nie mam, nie testowałem.

TRYB AXIS LOCK
Jest to w zasadzie tryb podobny do Rate, z tą różnicą, że OpenPilot próbuje utrzymywać ustaloną pozycję nawet gdy model z różnych powodów jej nie utrzymuje np. w wyniku siły wiatru.
Tryb ten jest bardzo dobry do zastosowania kontroli kierunku czyli osi Z (Yaw). W sytuacji, gdy drążki sterowania są w neutrum a model zmienia (ucieka) z ustalonej pozycji (kąta), OpenPilot próbuje ustaloną wcześniej pozycję automatycznie utrzymać. OpenPilot analizuje czy model nie zmienił pozycji w danej osi w sposób niepożądany (wartości graniczne określone są przez parametry: Max Axis Lock oraz Max Axis Lock Rate) i próbuje to skorygować. Ogólnie można przedstawić to tak, że OpenPilot w trybie Axis Lock na bieżąco odczytuje pozycję modelu, a gdy drążki sterowania są w neutrum stara się tą odczytaną i zapamiętaną pozycję utrzymać. Powiem tak, dla kierunku to naprawdę fajny wybór stabilizacji.
Domyślne ustawienie parametru Max Axis Lock wynosi 15 stopni. Wartość ta oznacza, że OpenPilot będzie automatycznie korygować zmianę kąta modelu o ile nie będzie ona większa niż 15 stopni. W warunkach silnego i zmiennego wiatru można tą wartość zwiększyć w pozostałych warunkach jest wystarczająca.

TRYB WEAKLEVELING
Tryb WeakLeveling to w zasadzie tryb Rate , w którym następuje powolne stabilizowanie modelu w poziomie (tak jak w trybie Attitude). W trybie WeakLeveling, gdy położenie modelu nie będzie zmieniane przez pilota, OpenPilot będzie wymuszać wolne powracanie do położenia poziomego. Tryb ten można też nazwać trybem Rate ze wspomaganiem.
Tryb ten nie jest zalecany dla osi kierunku Z (Yaw) ponieważ OpenPilot będzie po wykonaniu obrotu o dany kąt (skręcie o x stopni) ponownie wracać do pierwotnego ustawienia (czyli model będzie zawsze chciał lecieć w jednym ustalonym na początku kierunku).

TRYB RATITUDE
Tryb Ratitude jest podobny to zaimplementowanego w Baseflight czy CleanFlight trybu Horizon. Działa tak, że w przypadku małych wychyleń drążków pracuje jak tryb Attitude a dla dużych wychyleń zachowuje się jak tryb Rate. Wartość wychylenia drążka, która decyduje kiedy jesteśmy w trybie Attitude a kiedy w Rate domyślnie ustawiona jest na 80% (można ją zmienić na zakładce Stabilization - Expert - Ratitude parametr ModeTransition)

TRYB CRUISE CONTROL
Tryb stosowany dla kontroli siły ciągu. Bardzo przydany gdy latasz akrobacje - w trakcie wykonania beczki lub pętli, gdy model jest w pozycji odwróconej sam zatrzymuje obroty silnika chroniąc model przed ciągiem w kierunki ziemi. Jeśli ktoś lata na śmigłach 3D to OpenPilot w tym trybie możne uruchomić odwrócony ciąg – niestety jeszcze nie testowałem.

TRYB ACRO+
Tryb stabilizacji Acro+ działa tak, że w przypadku małych wychyleń drążków pracuje jak tryb Rate, a dla dużych wychyleń działa jak manual (nic nie stabilizuje i przepuszcza sygnał źródłowy do regulatorów). Parametr „Factor” decyduje o sile tłumienia wartości odczytywanych z żyroskopu. Jak ustawimy parametr „Factor = 100” to stabilizacja Rate bazującą na prędkości kątowej kontrolowanej przez żyroskop zostanie wyeliminowana i pozostanie czysty tryb manual. Acro+ wymaga dobrego zgrania parametrów „Factor” oraz „Rate mode response”.
Ostatnio zmieniony niedziela 11 paź 2015, 22:18 przez sitas, łącznie zmieniany 2 razy.
pozdrawiam,
SitasRC

_______________________________________________________________
6 x 250 Race FPV z kontrolą CC3D <> Naze <> APM, Taranis 9D + OpenLRS by MarcinB
Awatar użytkownika
grzegorz2906
Posty: 117
Rejestracja: środa 15 kwie 2015, 15:52
Lokalizacja: Racibórz

Re: Tryby lotu w OpenPilot

Post autor: grzegorz2906 »

Wielkie dzięki za ten poradnik, przyda się. Więcej tego typu porad poproszę ;)
Awatar użytkownika
qlf
Posty: 810
Rejestracja: poniedziałek 04 paź 2010, 15:29
Lokalizacja: IRL

Re: Tryby lotu w OpenPilot

Post autor: qlf »

sitas pisze: (w tym może pomóc tryb Altitiude Hold i zamontowany czujnik barometryczny lub GPS ale to działa podobno tylko w wersji kontrolera CC3D Revolution a takiego nie testowałem).
Tu masz błąd, cc3d i revolution to dwa różne kontrolery, miało być OpenPilot Revolution.
Grzegorz
Awatar użytkownika
grzegorz2906
Posty: 117
Rejestracja: środa 15 kwie 2015, 15:52
Lokalizacja: Racibórz

Re: Tryby lotu w OpenPilot

Post autor: grzegorz2906 »

a jeszcze widzę, że jest tryb Acro+, opiszesz go też?
Awatar użytkownika
sitas
Posty: 39
Rejestracja: środa 04 mar 2015, 18:49
Lokalizacja: W-wa

Re: Tryby lotu w OpenPilot

Post autor: sitas »

grzegorz2906 pisze:Tu masz błąd, cc3d i revolution to dwa różne kontrolery, miało być OpenPilot Revolution.
thx, poprawione.
pozdrawiam,
SitasRC

_______________________________________________________________
6 x 250 Race FPV z kontrolą CC3D <> Naze <> APM, Taranis 9D + OpenLRS by MarcinB
Awatar użytkownika
sitas
Posty: 39
Rejestracja: środa 04 mar 2015, 18:49
Lokalizacja: W-wa

Re: Tryby lotu w OpenPilot

Post autor: sitas »

grzegorz2906 pisze:a jeszcze widzę, że jest tryb Acro+, opiszesz go też?
postaram się coś dopisać
pozdrawiam,
SitasRC

_______________________________________________________________
6 x 250 Race FPV z kontrolą CC3D <> Naze <> APM, Taranis 9D + OpenLRS by MarcinB
slaweks
Posty: 316
Rejestracja: wtorek 28 sty 2014, 18:11
Lokalizacja: Siewierz

Re: Tryby lotu w OpenPilot

Post autor: slaweks »

Czekamy na dalsze tłumaczenia :-)
Awatar użytkownika
sitas
Posty: 39
Rejestracja: środa 04 mar 2015, 18:49
Lokalizacja: W-wa

Re: Tryby stabilizacji w OpenPilot

Post autor: sitas »

tryb Acro+ dopisany :-)
pozdrawiam,
SitasRC

_______________________________________________________________
6 x 250 Race FPV z kontrolą CC3D <> Naze <> APM, Taranis 9D + OpenLRS by MarcinB
Awatar użytkownika
grzegorz2906
Posty: 117
Rejestracja: środa 15 kwie 2015, 15:52
Lokalizacja: Racibórz

Re: Tryby stabilizacji w OpenPilot

Post autor: grzegorz2906 »

sitas pisze:tryb Acro+ dopisany :-)
Wielkie dzięki ;) dobra robota


Wysłane z iPhone 6 za pomocą Tapatalk
Krzychoo
Posty: 12
Rejestracja: czwartek 01 paź 2015, 10:08
Lokalizacja: Zgorzelec

Re: Tryby stabilizacji w OpenPilot

Post autor: Krzychoo »

Wielkie dzięki, w końcu ktoś dokładnie to opisał i wytłumaczył :)
Reptile Aphid x450
Zmr250
Awatar użytkownika
papiok
Posty: 43
Rejestracja: wtorek 26 sty 2016, 20:07
Lokalizacja: konstantynów łódzki

Re: Tryby stabilizacji w OpenPilot

Post autor: papiok »

no i dzieki takim poradnikom na starcie tacy jak ja maja checi bawic sie dalej w tym kierunku a nie odrazu dolowac niewiedza ;) dzieki
Czas zapier.. . a my jak małe dzieci '-_-'
____________________________
ZMR250, TAROT280;\
Lejna
Posty: 86
Rejestracja: piątek 19 lis 2010, 15:58

Re: Tryby stabilizacji w OpenPilot

Post autor: Lejna »

Super poradnik na pewno się przyda !
Dzięki ;-)
Awatar użytkownika
sitas
Posty: 39
Rejestracja: środa 04 mar 2015, 18:49
Lokalizacja: W-wa

Re: Tryby stabilizacji w OpenPilot

Post autor: sitas »

Dzięki za takie opinie. Piszcie co jeszcze istotnego z OP by was interesowało - może jeszcze nie wszyscy posiadacze CC3D przeszli na CF.
pozdrawiam,
SitasRC

_______________________________________________________________
6 x 250 Race FPV z kontrolą CC3D <> Naze <> APM, Taranis 9D + OpenLRS by MarcinB
Awatar użytkownika
zefir
Posty: 46
Rejestracja: poniedziałek 19 paź 2015, 19:13
Lokalizacja: Poznań

Re: Tryby stabilizacji w OpenPilot

Post autor: zefir »

Parafrazując klasyka:

ggoood jooob :)
Nauka In Progress... :)
ZMR 250 - CC3D, EMAX 1806
Turnigy 9XR + FrSky
szczemp
Posty: 64
Rejestracja: niedziela 06 wrz 2015, 14:38

Re: Tryby stabilizacji w OpenPilot

Post autor: szczemp »

Super.
Jak dla mnie przydałyby się jeszcze jakieś zalecenia. Np ja nie uważam się za super pilota, ale latałem trochę na apm. Głównie na stabilize, na początku nauki na althold i trochę ze wspomaganiem gps. Zatem jakie ustawienia byłyby dobre np dla uzyskania w openpilocie trybu podobnego do althold albo stabilize w apm?
Stabilize - stabilizuje koptera w poziomie, nie utrzymuje wysokości ani pozycji.
Althold - stabilizuje koptera w poziomie i utrzymuje wysokość, nie utrzymuje pozycji.
ODPOWIEDZ