piątek, 5 września 2014

[8] Budujemy quadcopter - Podstawowe tryby lotu ArduCoptera

Mały zielony obszar w środku - nasze małe pole do testów koptera
Pierwsze testy różnego rodzaju trybów lotów (póki co nie wszystkich, bo jest ich całkiem sporo) ArduCoptera mamy już za sobą. Jedne okazały się pomocne, inne były tylko utrudnieniem podczas lotu (przynajmniej dla nas). Tak czy inaczej - zamierzamy je tutaj opisać łącznie z osobistymi refleksami na ich temat. Ich omówienie podzielimy prawdopodobnie na 2 wpisy, bo za sobą mamy na razie testy połowy z nich. Chcecie wiedzieć więcej? Czytajcie dalej! 


Generalnie podręcznik on-line o ArduCopterze dzieli wszystkie tryby na podstawowe i dodatkowe (tutaj można w oryginale o nich poczytać):

http://copter.ardupilot.com/wiki/flight-modes/

Na chwilę obecną udało nam się przetestować wszystkie tryby podstawowe i niektóre dodatkowe. Zacznijmy od tych pierwszych pięciu.

STABILIZE - podstawowy tryb ze stabilizacją w poziomie

Śmiem twierdzić, że to najlepszy tryb lotu do nauki latania quadcopterem mimo, że ArduCopter posiada jeszcze tryby Simple i Super Simple (o tym później). W trybie Stabilize quadcopter w locie jest stabilizowany w poziomie czyli zapewni podstawową równowagę podczas lotu. Zatem do naszych "obowiązków" jako pilota należy nadawanie i utrzymywanie kierunku lotu, obrotów, przechyleń i zmian wysokości poprzez zmianę gazu. Warto pamiętać, że fakt, iż quadcopter jest stabilizowany w poziomie nie oznacza, że po puszczeniu drążków będzie stał w miejscu - wystarczy, że dron jest lekko przeważony na jedną stronę (np. kamerą lub złym rozkładem masy na konstrukcji) lub wieje delikatny wiatr a wtedy cały quadcopter będzie się przemieszczał mimo, że nadal będzie w stanie stabilizacji. Co więcej tryb STABILIZE wymaga od nas stałego kontrolowania obrotów silnika samodzielnie. Jest to zatem tryb, który angażuje pilota-operatora drona w największym stopniu jeśli chodzi o sterowanie (oczywiście prócz trybów ekstremalnych takich jak Acro = Akrobacyjny ;), jest jednocześnie najlepszym sposobem poznania całej mechaniki sterowania kopterami.

Ciekawe zdanie a propos tego trybu znajduje się w ArduCopter Wiki:
Always switch into a manual mode such as stabilize if the autopilot fails to control the vehicle. Maintaining control of your copter is your responsibility.
Operator, który od początku nastawia się na latanie dronem w trybie autopilota niejako unika odpowiedzialności za sterowanie - a jest to obowiązek i podstawowa umiejętności pilota, aby w sytuacjach awaryjnych samemu objąć stery i wyprowadzić kopter z niebezpieczeństwa, a nie ratować się wtedy autopilotem.

Więcej o tym trybie przeczytacie tutaj.

ALT HOLD - skrót od Altitude Hold

Jak chyba łatwo się domyślić po nazwie trybu Altitude Hold włączony w trakcie lotu spowoduje, że ArduCopter zapamięta wysokość na jakiej aktualnie znajduje się kopter i będzie ją utrzymywał podczas lotu. Ważne aby po włączeniu trybu Alt Hold drążek gazu utrzymywać m/w w środku, w przedziale 40-60% mocy silników - wtedy ArduCopter zachowa ustaloną wysokość. Jednocześnie w tym trybie można wykonywać dowolnie lot w każdym kierunku, obracać się i skręcać - nawet wznosić i opadać. W skrajnych położeniach drążka gazu w tym trybie przy ustawieniach default'owych quadcopter będzie opadał 2,5m/s (jeśli drążek damy całkiem w dół) lub wznosił się 2,5m/s (jeśli drążek gazu damy maksymalnie w górę).

UWAGA: przy przełączaniu się z Alt Hold na tryb STABILIZE należy pamiętam o tym, żeby jednak drążek był na ok. 60% i więcej, bo w trybie stabilizacji ArduCopter odzyskuje znów normalne sterowanie obrotami silników.

W naszym odczuciu tryb Alt Hold jest jednym z przyjemniejszych trybów do latania, bo nie musimy martwić się o utrzymywanie stałej wysokości lotu ręcznie - ArduCopter robi to za nas a my cieszymy się lotem - szczególnie jeśli w pobliżu nie ma żadnych przeszkód terenowych w postaci drzew czy budynków - można poszaleć.

Zalecam jednak branie poprawki na wysokość i nie robienie popisów metr nad ziemią - kopter przy agresywnych lotach szczególnie z dużym nachyleniem w przód lub w tył ma pewną tendencję do wytracania wysokości, po wyrównaniu lotu ArduCopter zwiększy obroty i wróci na swoją zapamiętaną wysokość, ale trzeba sobie zdawać sobie z tego sprawę, żeby nie zaryć śmigłami w ziemi.

Więcej o ALT HOLD przeczytacie tutaj.


LOITER - poszerzony tryb Altitude Hold o utrzymanie pozycji GPS




LOITER to tryb lotu, w którym kopter prócz zapamiętania wysokości (przy użyciu barometru) zapamiętuje również pozycję (przy użyciu GPS). Po przełączeniu na ten tryb dron będzie utrzymywał się nie tylko na danej wysokości, ale również dokładnie w zapamiętanej przez ArduCopter pozycji pobranej z GPS. Dobre rozwiązanie gdy chcemy na moment przerwać lot i np. odebrać telefon. Pamiętajmy, że w takiej sytuacji włączenie samego ALT HOLD nie gwarantuje nam, że dron utrzyma pozycję, a jedynie wysokość - jeśli wieje spory wiatr to nasz kopter może przemieszczać się w jego kierunku. W trybie LOITER kopter powinien zachować dokładną pozycję z GPS i każde wytrącenie z tej pozycji będzie korygowane przez ArduCopter by do niej powrócić.

WAŻNE: tryb LOITER to najprostszy tryb, w którym wymagane jest poprawne działania KOMPASU!!! Należy o tym pamiętać i działanie kompasu sprawdzić już na ziemi podpinając drona do komputera i sprawdzając wskazania kierunków kompasu w Mission Plannerze. Bez tego, ani Loiter, ani RTL ani tryb Auto nie będą działać poprawnie.

Co więcej - tryb LOITER pozwala na normalne latania i sterowanie dronem (podobnie jak w ALT HOLD). Puszczenie całkiem drążków powinno znów spowodować, że ArduCopter zapisze pozycję i będzie ją utrzymywać - z tego względu jest to jeden z bezpieczniejszych trybów latania. Kopter w trybie LOITER nie ma "bezwładności", którą można poczuć w STABILIZE tzn. po puszczeniu drążków kopter staje niemalże w miejscu. W takiej sytuacji w standardowym trybie STABILIZE dron siłą bezwładności przemieszcza się jeszcze w kierunku lotu i sami musimy nim hamować. Jednak jak zawsze jest "coś za coś". Dla tych, którzy z czasem będą chcieli poszaleć i latać bardziej agresywnie (a jest w tym sporo frajdy) latanie w trybie LOITER będą uważali za nieco "mułowate" - zarówno skręcanie, przechylanie, obroty jak i zmiana wysokości są tu spowolnione podobnie jak w ALT HOLD. Co kto woli.

Podsumowując: do nauki latania tryb Loiter jest trybem bardzo bezpiecznym, ale proponuję się do niego nie przyzwyczajać i po wyczuciu drona i wyuczeniu pierwszych poprawnych nawyków w sterowaniu lepiej przesiąść się na STABILIZE.

Więcej o trybie LOITER można przeczytać tutaj.

RTL - Return-To-Launch, czyli powrót do miejsca startu



Kolejny przydatny tryb lotu - po jego włączeniu kopter rozpocznie procedurę powrotu do miejsca, w którym ArduCopter został uzbrojony oraz lądowania w tym punkcie. To oznacza, że nasz quadcopter wraca w miejsce (zapamiętane współrzędne GPS), w którym ArduCopter/silniki zostały uzbrojone i w którym GPS się znalazł odpowiednią ilość satelit i zapisał pozycję.



RTL nazwałem "procedurą powrotu do domu" ponieważ jest to bardziej skomplikowany tryb niż ALT HOLD czy LOITER. Wymaga wcześniejszego ustawienia (lub chociażby zapoznania się) kilku parametrów, by nie być potem zaskoczonym. Są to parametry:

  • RTL_ALT - wysokość, na którą wzniesie się kopter przed rozpoczęciem powrotu do domu (0 - aktualna wysokość, ustawiania: 1-8000 centymetrów, default'owa - 1500 cm)
  • RTL_ALT_FINAL - wysokość, na której ma się znaleźć kopter gdy dotrze nad miejsce oznaczone jako "dom" (0 - automatyczne lądowanie po dotarciu, default - 1000 cm)
  • RTL_LOIT_TIME - czas zawisu, w którym kopter będzie unosił się nad "domem" (od 0 do 60 sekund)
  • WP_YAW_BEHAVIOR - kontrolowanie "yaw" czyli obrotu koptera - orientacji, w której kopter będzie leciał "do domu" (0 - bez zmiany, 1 - lot przodem w kierunku domu, 2 - lot przodem po waypointach z wyjątkiem RTL - to jest opcja również dla trybu AUTO stąd brzmi niezrozumiale)
  • LAND_SPEED - prędkość pionowa podczas końcowego lądowania w punkcie oznaczonym jako "dom" (od 20 cm/s do 200cm/s)
Co z tych parametrów wynika w dużym skrócie? Ano tyle, że po włączeniu RTL nasz quadcopter odczyta parametr WP_YAW_BEHAVIOR aby określić czy ma lecieć do domu przodem czy w takiej pozycji w jakiej był, gdy włączono RTL, następnie wzniesie się (lub opadnie) na wysokość RTL_ALT i na tej wysokości rozpocznie powrót po czym po dotarciu nad punkt oznaczony jako "dom" quadcopter obniży wysokość do RTL_ALT_FINAL i  zawiśnie nad "domem" przez czas określony parametrem RTL_LOIT_TIME, następnie po upływie tego czasu rozpocznie lądowanie z prędkością LAND_SPEED i... ostatecznie sam wyląduje. Proste! ;)

W rzeczywistości na parametry lotu w RTL wpływa jeszcze kilka innych parametrów i czynników (np. prędkość powrotu "do domu"). Nie wiem czy jest sens je omawiać (po polsku), bo prostym angielskim zostały zawarte w opisie RTL Mode na stronie ArduCopter Wiki (na dole "Notes").

To, o czym jeszcze warto wspomnieć to fakt, że w trybie RTL można w ograniczonym stopniu sterować quadcopterem - dokładniej można sterować drążkiem gazu i w ten sposób zwiększać i zmniejszać wysokość lotu w trakcie powrotu do domu oraz w trakcie zawisu (Loiter) nad punktem lądowania. Obroty silników zmieniają się podobnie jak w trybie ALT HOLD - czyli nie proporcjonalnie do wychyleń drążka (tak jak to ma miejsce w trybie STABILIZE).

AUTO - lot autonomiczny (w pełni sterowany autopilotem) po ustalonej trasie




Tryb AUTO to gratka dla tych, co lubią planować trasy lotów, ustawiać różne parametry i obserwować wszystko z boku bardziej niż... pilotować ręcznie kopter. Tryb AUTO służy bowiem do planowania misji od A do Z w trybie autonomicznym czyli z pełną kontrolą ArduCoptera nad całą misją. Mowa tutaj (w odróżnieniu od samolotów) o samodzielnym starcie koptera, locie po określonych punktach (Waypoint'ach) i samodzielnym lądowaniu. To naprawdę fajna zabawa szczególnie dla tych, co jeszcze nie mieli do czynienia z opcją pełnego autopilota. My już polataliśmy całkiem sporo na autopilocie w przypadku samolotów więc nie było już takiej adrenaliny, ale mimo wszystko tryb AUTO dla koptera trzeba było przetestować, bo jest w nim kilka nowości. Zatem rozplanowaliśmy sobie misję na bardzo małym obszarze, bo tylko na takim mogliśmy go testować:

Sorry za jakość, ale na szybko psrtykaliśmy zdjęcie... ekranu z Mission Plannerem

Jak widać misja na 5 WayPoint'ów z czego w ostatnim zaplanowaliśmy lądowanie. Od razu napiszę, że testy odbywały się z ręcznym startem i wzniesieniem koptera, po czym dopiero w locie był uruchamiany tryb AUTO (to dla bezpieczeństwa, żeby sprawdzić czy generalnie ArduCopter potrafi w pełni sterować naszym kopterem samodzielnie). Aby sprawdzić dodatkowo jak kopter leci do WP (WayPointów) o różnych wysokościach dla WP1 daliśmy dużo większą wysokość (30m z tego co pamiętam) niż dla pozostałych WP (10m) dlatego na logach widać ładne wznoszenie do WP1 a następnie opadanie do WP2. Generalnie logi po dwóch lotach wyglądają następująco:



A same loty przebiegały tak:



I kolejny z perspektywy drona:



Jak widać misja wykonana z powodzeniem bez większych przygód - wszystko tak, jak zostało zaprogramowanie w Mission Plannerze.

Podsumowując tryb AUTO:

  • planowanie i loty w trybie AUTO w przypadku ArduCoptera są dużo prostsze niż w przypadku ArduPilot'a, są przewidywalne i łatwo się je planuje (o tym napiszemy w oddzielnym poście)
  • w tym trybie dron może samodzielnie wystartować jak i wylądować z powrotem w Home (gdy jako ostatnią komendę damy RTL) lub w wyznaczonym miejscu (ostatni WP jako LAND)
  • dron może lecieć do każdego kolejnego WP przodem lub w pozycji, w której sami go ustawimy - default'owo zawsze ustawia się przodem do kolejnych WP (co widać na filmach powyżej)
  • w trakcie lotu w trybie AUTO można sterować jedynie obrotem (Yaw) - inne ruchy drążków tj. przechyły na boki (Roll), pochylenia wprzód lub w tył (Pitch) oraz manewrowanie gazem (Throttle) są ignorowane przez ArduCopter
  • przerwanie misji w trakcie jej wykonywania (przełączenie na inny tryb) a następnie ponownie włączenie AUTO skutkuje tym, że kopter wykona ponownie misję od początku
  • po wylądowaniu autonomicznym drona w trybie AUTO operator musi dać drążek gazu na 0, żeby ArduCopter miał sygnał, że wylądował i mógł rozbroić silniki
  • jeśli misja zakłada jako pierwszy punkt autonomiczny start drona, a my już jesteśmy w powietrzu ;) to ArduCopter zignoruje start (rozpozna, że już jest w powietrzu) i poleci do pierwszego WP 
Tyle spostrzeżeń na początek latania w AUTO. Tryb przyjemny w testowaniu, choć po pewnym czasie może się znudzić ;). Dobre do nagrywania filmów np. budynków dookoła - można ustawić WP dookoła obiektu i zaprogramować kąt pod jakim ma ArduCopter lecieć do kolejnego WP albo samemu sterować "kadrem" podczas filmowania i nie przejmować się już samym sterowaniem.

Do następnego wpisu!

17 komentarzy:

  1. A można w powietrzu zmienić tryb lotu?
    Np latam sobie stabilizem i przyjdzie kolega, przed którym chciałbym się pochwalić jakąś sztuczką i chciałbym przełączyć się na acro bez lądowania.
    Domyślam się, że aparatura powinna mieć wolny jakiś kanał. Jakaś mała instrukcja by się znalazła? Jakby co to mam hiteca.

    OdpowiedzUsuń
    Odpowiedzi
    1. Po części opisaliśmy łączenie tutaj: http://zrobsobiedrona.blogspot.com/2013/11/podlaczanie-ardupilota-do-modelu-rc.html - wprawdzie dotyczyło samolotu, ale połączenie jest to samo. Zatem: jeden kanał musi zostać wolny w odbiorniku, łączymy kablem ten kanał z jego odpowiednikiem w APM. Na aparaturze ustawiamy, który przełącznik ma go obsługiwać (opisane w linku). Następnie w Mission Plannerze mamy w Mandatory Hardware >> Flight Modes i tutaj sobie ustawiamy co pod którą pozycją przełącznika ma się znajdować. Oczywiście w pozycji pierwszej przełącznika (podstawowej) zawsze powinien być tryb stabilizacji, tak dla bezpieczeństwa.

      Usuń
    2. Dzięki za link, ale coś mi to nie idzie.
      Podłączyłem 8 kanał z odbiornika pod 8 input w apm. W aparaturze przypisałem jeden z przełączników (trzy pozycje ma ten przełącznik) pod 8 kanał. W mission plannerze w mandatory hardware -> flight modes na trzech pierwszych pozycja wybrałem różne tryby lotu, na pierwszej mam stabilize. Skąd mam wiedzieć, że po przełączeniu przełącznika, tryb został zmieniony?
      Dodatkowo rozwijana lista na pozycji flight mode 4 jest cała zielona. Ma to jakieś znaczenie?

      Usuń
    3. Proszę podłączyć APM pod komputer i nawiązać połączenie z Mission Plannerem. Kolor zielony pokazuje aktualną pozycję przełącznika, gdy pan go przełączy na inną pozycję na ekranie ustawien trybów powinien przeskoczyć zielony na inne pole, pod którym można zmienić tryb lotu.

      Usuń
    4. Kolor zielony nie chce przeskoczyć. Kiedy przełączam przełącznik to na ekranie radio calibration pasek pod kanałem 8 się przesuwa, więc kanał w aparaturze jest dobrze ustawiony i połączenia kablowe też są ok.
      W takim razie w czym problem?

      Usuń
    5. A proszę sprawdzić jeszcze zakres częstotliwości sygnału PWM w zakładce Radio Calibration (http://plane.ardupilot.com/wp-content/uploads/sites/3/2013/02/PX4radioConfig.png) podczas zmieniania położenia przełącznika i porównać go z zakresem w zakładce Flight Modes (http://plane.ardupilot.com/wp-content/uploads/sites/3/2013/02/mpmodes1.png) i zobaczyć się pokrywają/zawierają w sobie?

      Usuń
    6. Zakresy się zawierają w podanych obok trybów lotu. Co prawda nie są po kolei, bo bodajże pierwszy, czwarty i szósty. Poszczególne pozycje przełącznika pokazują takie liczby: 1113, 1518, 1922. W zakładce flight modes aktualny pwm pokazuje 1552 i przy żadnym przełączniku się nie zmienia. Próbowałem przypisać różne przełączniki do kanału 8.

      Usuń
    7. Problem rozwiązany. Nie wiem jaką mam wersję apm, ale u mnie na piątym inpucie jest zmiana trybów lotu.

      Usuń
    8. Wygląda na to, że wersja APM nie ma tu znaczenia, chyba tylko na 5-tym kanale w APM da się zdefiniować przełącznik (sprawdzałem inne u siebie i nie działają tzn. można podpinać różne kanały na odbiorniku RC, ale jedynie kanał 5-ty w APM odbiera prawidłowo przełącznik).

      Usuń
  2. witam,żeby odczytać taki wykres lotu to trzeba mieć telemetrie??

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie trzeba, APM zapisuje w swojej pamięci wszystkie loty (tzn. ma pamięć wbudowaną, po przekroczeniu objętości zaczyna nadpisywać poprzednie). W Mission Plannerze > Terminal > Connect APM >Odczytanie Logu i trzeba wybrać nr lotów lub ściągnąć/odczytać wszystkie. Dodatkowo z każdego lotu można utworzyć plik KML, który jest symulacją lotu z pierwszej osoby. Wykresy + KML odczytuje się w Google Earth.

      Usuń
  3. Witam
    W jaki sposób uruchomić tryb Auto - do samodzielnego startu i wykonania misji ??
    Wczytałem misję, (1 punkt to Takeoff a ostatni to RTL) przełączam na AUTO - dodaję gazu i nic się nie dzieje (Satki oczywiście załapane).
    Proszę o pomoc.

    OdpowiedzUsuń
  4. Ok doszedłem :]
    Uzbrojenie silników np w STABILIZE, przełączenie na AUTO. gaz np do połowy.

    Pozdrawiam :]

    OdpowiedzUsuń
    Odpowiedzi
    1. Otóż to ;) Polecam przed trybem Auto testować RTL, najlepiej mieć wtedy pod ręką trzy zaprogramowane tryby: STABILIZE, RTL i AUTO. Jakby coś w AUTO szło nie tak to RTL albo STAB uratuje nam kopter. Pozdrawiam!

      Usuń
  5. Interesuje mnie funkcja FollowMe - http://copter.ardupilot.com/wiki/ac2_followme/

    Czy testowaliscie cos takiego?

    OdpowiedzUsuń
  6. Witam czy mógłby mi ktoś wytłumaczyć jak ustawić kanały na aparaturze żeby można było ustawić 4 tryby latania? Krok po kroku. Z góry dziękuję

    OdpowiedzUsuń
    Odpowiedzi
    1. Musisz ustawić mixy, tzn. wybór trybów masz na jednym kanale, gdzie masz przełącznik trój-pozycyjny i łączysz (miksujesz) go przez odpowiednie zaprogramowanie w aparaturze z innym przełącznikiem trój/dwu-pozycyjnym i w ten sposób jeden kanał z przełącznikiem trój-pozycyjnym działa jakby miał pięć pozycji.
      Co do szczegółów, to sporo zależy, jaką aparaturę masz - Futaba, HiTec, Grauprunner, Turnigy, FlySky itp.
      Sprawdź na YouTube - nie zrozum mnie źle. Nie chcę Cię odwoływać w stylu "nie łaska zapytać google", ale sam swoją Aurorę mixowałem dzięki YouTube, bo na filmie wszystko jest dobrze i zrozumiale wytłumaczone :)

      Usuń

Popularne posty

Nasze zdjęcia dronów:

Created with flickr badge.