Komputer pokładowy dla bezzałogowych obiektów latających

Dariusz Nowak, Tomasz Żabiński drukuj

Rys. 1. Konfiguracja platformy quadrotora

Rys. 1. Konfiguracja platformy quadrotora

Bezzałogowy obiekt latający to mechaniczna konstrukcja wykonana z lekkich materiałów, która do lotu nie wymaga obecności człowieka na pokładzie i nie może przewozić pasażerów. Zwykle jest to statek powietrzny o stosunkowo niewielkich wymiarach, sterowany zdalnie przez człowieka lub autonomicznie przez odpowiednio zaprogramowany komputer umieszczony na pokładzie. Może być wykonany jako samolot lub śmigłowiec.

 

Bezzałogowe aparaty latające znalazły zastosowanie w armii i są standardowym wyposażeniem wojsk większości krajów. Wyposażone w przyrządy nawigacyjne i optoelektroniczne mogą wykonywać specjalistyczne zadania: zwiad obrazowy w czasie rzeczywistym, naprowadzanie artylerii, ocenę skuteczności ostrzału, rekonesans i inwigilację, rozpoznanie i klasyfikację celów oraz obserwację pola walki. Dzięki zdalnemu przesyłaniu danych i wykonywaniu zdjęć o dużej rozdzielczości, bezzałogowe aparaty latające mogą być wykorzystywane w monitorowaniu terenu przez służby porządkowe, straż pożarną i naukowców prowadzących badania w dziedzinie nauk przyrodniczych.

Obiekt latający może przyjąć lokalizację wyznaczonego punktu w przestrzeni i z tej pozycji wykonywać zdjęcia, które są przydatne w realizacji planów konstrukcyjnych i modeli 3D budynków, map ukształtowania terenu, planów miast itp. Innowacyjnym rozwiązaniem może okazać się latająca stacja meteorologiczna rejestrująca parametry pogodowe za pomocą sprzętu pomiarowego umieszczonego na pokładzie. Zastosowanie urządzeń nawigacyjnych i czujników odległości umożliwia precyzyjne poruszanie się obiektu latającego w ciasnych pomieszczeniach i wykonywanie zadań w miejscach trudnodostępnych i niebezpiecznych dla człowieka. Bezzałogowe aparaty latające o większych rozmiarach mogą przenosić ładunki o masie do 1000 kg ułatwiając pracę w budownictwie lub przemyśle.

Celem projektu realizowanego w Politechnice Rzeszowskiej przez koła naukowe ROBO i Lotników jest skonstruowanie komputera pokładowego dla obiektów latających. Aktualnie prowadzone są prace nad komputerem pokładowym dla modelu samolotu oraz quadrotora (rodzaj wiropłatu napędzanego czterema silnikami). Projekt zakłada stworzenie uniwersalnej i innowacyjnej platformy komputera pokładowego dla urządzeń mobilnych, nie tylko latających. Skonstruowany system będzie również wykorzystany w robocie typu Johnny 5 oraz inteligentnym wózku dla osób niepełnosprawnych. Autorzy projektu mają nadzieję, że ich prace wzbudzą zainteresowanie polskich firm produkujących bezzałogowe obiekty latające.

Samoloty, najpowszechniej wykorzystywane obiekty latające, utrzymują się w powietrzu dzięki sile nośnej wytwarzanej za pomocą nieruchomych względem statku skrzydeł. Aby siła ta mogła być wytworzona, obiekt musi osiągnąć wystarczającą prędkość. Sterowanie prędkością statku powietrznego polega na zmianie prędkości obrotowej silników. Sterowanie wysokością i kierunkiem lotu odbywa się za pomocą tzw. powierzchni sterowych. Są to zewnętrzne, ruchome elementy (lotki, ster wysokości i ster kierunku [1]) zmieniające kierunek przepływu strumienia powietrza, a w efekcie wartości sił i momentów aerodynamicznych, generując ruch statku wokół własnej osi wzdłużnej, poprzecznej i pionowej.

Quadrotor(quadrokopter, wirolot) to obiekt latający należący do wiropłatów, ma cztery umieszczone naprzeciwlegle wirniki napędzane silnikami elektrycznymi. W tej konstrukcji dwa naprzeciwległe śmigła obracają się zgodnie z ruchem wskazówek zegara, a dwa poprzeczne w przeciwną stronę. Poprzez zmianę prędkości obrotowej każdego z nich można sterować wysokością i kierunkiem lotu obiektu. Każdy z czterech wirników wytwarza siłę ciągu o kierunku równoległym do siły grawitacji i o przeciwnym zwrocie (rys. 1). Zmiana wartości sił F1 i F3 powoduje zmianę wartości kątów przechylenia sprzężonych z ruchem bocznym obiektu, a zmiana kątów pochylenia jest efektem modyfikacji wartości sił F4 i F2 powiązanych z przemieszczaniem się obiektu w przód i w tył [2, 3].

Platforma sprzętowa

W ramach projektu realizowane są dwie koncepcje konfiguracji sprzętowej autopilota. Jedna z nich jest przeznaczona dla samolotu, a druga dla obiektu latającego quadrotor. Koncepcje różnią się liczbą oraz typem zastosowanych urządzeń pomiarowych i wykonawczych. Częścią wspólną obu rozwiązań jest platforma TS-7300 [4, 5] – kontroler wbudowany z procesorem ARM9 – główna jednostka wykonująca obliczenia i algorytmy sterowania.

Podstawowe parametry procesora to:

  • częstotliwość pracy 200 MHz
  • pobór mocy mniej niż 2 W
  • 32-bitowa architektura
  • pięciostopniowy potok przetwarzania instrukcji
  • 16 KB pamięci podręcznej instrukcji.

Kontroler może uruchamiać systemy operacyjne Linux i WinCE. Jego interfejsy pozwalają podłączyć zewnętrzne moduły wejścia/wyjścia, co zwiększa elastyczność i niezawodność. Część funkcjonalności kontrolera została zaimplementowana w układzie FPGA, dzięki temu do komputera można podłączyć myszkę, klawiaturę i monitor. Dostęp do 55 wejść/wyjść cyfrowych (DIO) umieszczonych na platformie umożliwia sterowanie i pobieranie danych z różnych urządzeń wykorzystujących komunikację za pomocą interfejsów I2C lub SPI [4].

Pokładowe urządzenia pomiarowe

Różnice w budowie i zasadzie działania quadrotora i samolotu zmuszają do stosowania odmiennych urządzeń pomiarowych. Służą one do pomiaru wielkości fizycznych, na podstawie których są wyznaczane parametry lotu: kąty Eulera, wysokość, prędkość, położenie geograficzne, kierunek lotu.

Urządzenia pomiarowe samolotu

AHRS (Attitude Heading Reference System) – Układ Odniesienia Położenia i Kursu dostarcza informacji o położeniu i kursie samolotu. Układem AHRS wykorzystanym w projekcie samolotu jest 3DM-GX1 firmy Micro Strain. W skład systemu wchodzą czujniki temperatury, trzyosiowe żyroskopy, magnetometry i akcelerometry, multiplexer, szesnastobitowy przetwornik analogowo-cyfrowy, pamięć EEPROM, mikroprocesor filtrujący i przetwarzający dane. Komunikację z urządzeniem umożliwiają zaimplementowane dwa interfejsy RS-232, RS-485 oraz opcjonalnie cztery wyjścia analogowe. Zbieranie danych pomiarowych polega na wysyłaniu do mikroprocesora odpowiedniej komendy, w odpowiedzi na którą odsyłany jest wymagany zestaw danych.

Jednostka areometryczna – urządzenie realizujące pomiar wysokości i prędkości samolotu dzięki wykorzystaniu czujników ciśnienia atmosferycznego i dynamicznego. Ciśnienie atmosferyczne zmienia się wraz ze wzrostem wysokości i na tej podstawie określana jest wysokość samolotu. Ciśnienie dynamiczne to siła wytworzona przez strugi powietrza napierające na samolot w ruchu, co stanowi podstawę do pomiaru prędkości. Komunikację z urządzeniem umożliwia interfejs I2C.

Urządzenia pomiarowe quadrotora

Żyroskop jednoosiowy – służy do pomiaru prędkości kątowej, poprzez całkowanie otrzymuje się wartości kąta obrotu wokół aktywnej osi czujnika i odchylenie statku powietrznego od płaszczyzny rzeczywistego horyzontu. Stosując trzy odpowiednio zamontowane żyroskopy jednoosiowe można mierzyć kąty przechylenia, pochylenia i odchylenia obiektu latającego. Pomiar polega na odczycie napięcia proporcjonalnego do zmiany prędkości kątowej. W projekcie będą wykorzystane trzy żyroskopy mikromechaniczne [2, 3].

Akcelerometr trzyosiowy – czujnik przyspieszenia liniowego, służy do pomiaru przyspieszenia wzdłuż osi X, Y lub Z. Umożliwia określanie kierunku poruszania się obiektu latającego. Układ ten inicjacjuje pracę żyroskopów podczas startu - wstępną autokalibrację i nadanie punktu odniesienia po podłączeniu zasilania. Komunikacja z urządzeniem odbywa się przez interfejsy I2C oraz SPI [2, 3].

Czujnik ciśnienia statycznego – służy do pomiaru wysokości na podstawie zmiany ciśnienia atmosferycznego, które spada wraz ze zwiększaniem się odległości obiektu latającego od powierzchni Ziemi. Może być bezpośrednio podłączony do mikroprocesora za pomocą interfejsu I2C.

Czujnik magnetyczny – czujnik pola magnetycznego Ziemi zostanie wykorzystany do korekcji kąta odchylenia względem osi Z. Jest to dwuosiowy kompas o małych wymiarach z interfejsem komunikacyjnym I2C oraz wbudowanym mikroprocesorem wykonującym algorytmy kalibracji danych. Komunikacja z urządzeniem jest realizowana za pomocą komend w postaci ciągu znaków ASCII.

Samolot oraz quadrotor będą wyposażone w moduł GPS pobierający dane o położeniu geograficznym, prędkości, wysokości oraz aktualnym czasie. Układ ma wbudowany interfejs komunikacyjny RS-232, dane odebrane z satelity są aktualizowane i wysyłane do komputera pokładowego z częstotliwością 5 Hz za pomocą protokołu NMEA 0183 [2, 3].

Pokładowe urządzenia wykonawcze

Pokładowe urządzenia wykonawcze umożliwiają kształtowanie parametrów lotu obiektu. W przypadku samolotu są to serwomechanizmy modelarskie oraz silniki trójfazowe z regulatorami prędkości. Sterowanie samolotem wymaga zamontowania pięciu serwomechanizmów oraz dwóch silników trójfazowych. Cztery serwomechanizmy sterują wychyleniem lotek, steru wysokości oraz steru kierunku. Jeden serwomechanizm odpowiada za otwieranie komory spadochronowej podczas lądowania. Silniki trójfazowe z zamontowanymi śmigłami sterują prędkością obiektu [1]. Na pokładzie quadrotora nie ma potrzeby montowania serwomechanizmów do zmiany parametrów lotu. Służą do tego cztery trójfazowe silniki, a sterowanie odbywa się przez zmianę prędkości obrotowej każdego z nich.

Sterowanie serwomechanizmem modelarskim polega na podawaniu na jego wejście impulsu PWM o częstotliwości 50 Hz i wypełnieniu o wartości z przedziału od 1 ms do 2 ms. Kąt wychylenia ramienia serwomechanizmu jest proporcjonalny do wartości współczynnika wypełnienia. Przy współczynniku wypełnienia równym 1 ms, oś serwomechanizmu zostaje wychylona maksymalnie o kąt -90°, natomiast przy współczynniku wypełnienia równym 2 ms oś przyjmuje kąt wychylenia maksymalnie 90°, położenie zerowe (0°) jest uzyskiwane przy współczynniku wypełnienia 1,5 ms.

Kontrola prędkości obrotowej silnika trójfazowego realizowana jest za pośrednictwem regulatora prędkości obrotowej. Sterowanie odbywa się za pomocą modulacji PWM. Przy zerowym wypełnieniu silnik nie jest napędzany, w miarę wzrostu współczynnika wypełnienia silnik zwiększa obroty aż do osiągnięcia wymaganej prędkości lub docelowego momentu obrotowego. W modelarstwie stosowane są silniki bezszczotkowe ze względu na ich małą wagę i rozmiary oraz znaczną żywotność.

Urządzenia komunikacyjne

Na pokładzie obu obiektów latających zostanie umieszczony radiomodem, którego zadaniem będzie wysyłanie danych o parametrach lotu do stacji naziemnej oraz odbieranie informacji nawigacyjnych. W razie awarii platformy sprzętowej, kontrolę nad obiektem może przejąć człowiek za pomocą aparatury RC podłączonej do mikroprocesora pokładowego.

Warstwa programowa komputera pokładowego

Aplikacja realizująca funkcje komputera pokładowego działa w systemie operacyjnym Linux Debian 3.1. dostarczonym przez producenta platformy sprzętowej na zasadach licencji GNU. Ważną cechą tej dystrybucji jest krótki czas uruchamiania podstawowej wersji systemu (1,69 s), czas ten zwiększa się odpowiednio w miarę wzrostu liczby dodatkowych modułów programowych. System operacyjny może pracować jako system o twardych wymaganiach czasowych [4], co gwarantuje zastosowany pakiet RTAI (Real Time Application Interface) [5]. Zaletą RTAI jest możliwość realizacji zadań czasu rzeczywistego nie tylko w warstwie jądra, lecz i na poziomie oprogramowania użytkownika.

Oprogramowanie komputera pokładowego składa się z trzech ściśle powiązanych elementów: rejestratora parametrów lotu, stabilizatora lotu oraz modułu nawigacji. Zadaniem rejestratora jest pobieranie danych z urządzeń pomiarowych umieszczonych na pokładzie, zapisywanie ich na karcie SD (Secure Digital) komputera i wysyłanie przez radiomodem do stacji naziemnej. Operacja ta powinna być zsynchronizowana, by dane były uaktualniane w sposób ciągły. Wiąże się to z obsługą i kontrolą pokładowych urządzeń pomiarowych, np. wysyłanie komend w określonych odcinkach czasu do modułu AHRS.

Na podstawie pobranych informacji wykonywana jest stabilizacja lotu, czyli zapobieganie samowolnym zmianom położenia modelu, niezależnie od przyczyn, które je powodują. Stabilizacja uwzględnia również zamierzone ruchy obiektu latającego - lot w górę, lot w dół, w prawo, w lewo - i koryguje położenie statku podczas wykonywania manewrów.

Ze stacji naziemnej do komputera pokładowego wysyłane są dane o zadanych trasach, prędkości i wysokości lotu. Na podstawie tych informacji oraz danych pobranych z GPS, rejestratora parametrów lotu i stabilizatora, komputer pokładowy wyznacza kurs, wysokość i prędkość lotu.

Podsumowanie

Nadrzędnym celem projektu jest stworzenie w pełni funkcjonalnego statku latającego typu quadrotor z możliwością przesyłania obrazu video zarówno z dużych wysokości jak i z ciasnych pomieszczeń. Projekt zakłada wykorzystanie opracowanej platformy komputera pokładowego również dla bezzałogowego samolotu zbudowanego przez Koło Naukowe Lotników Politechniki Rzeszowskiej.

Funkcje rejestracji parametrów lotu komputera pokładowego zostały wstępnie przetestowane podczas lotów próbnych modelu samolotu skonstruowanego przez koło Lotników. Obecnie trwają prace nad pomiarem i rejestracją dodatkowych parametrów, stabilizacją lotu oraz modyfikacją platformy sprzętowej (zastosowanie dodatkowych mikroprocesorów). Zaprojektowano i wykonano prototyp konstrukcji quadrototra, pierwsze loty próbne zaplanowano do przeprowadzenia w marcu 2010 r.

Wykonane prace mogą przyczynić się do upowszechnienia bezzałogowych obiektów latających w zastosowaniach istotnych dla codziennego życia społeczeństwa.

Bibliografia

  1. Gruszecki J. (red.): Bezpilotowe aparaty latające. Systemy sterowania i nawigacji. OW Politechniki Rzeszowskiej, 2002.
  2. Wolferl Open Source QuadCopter
  3. Wiki: MiKroKopter.de
  4. TS-7300 High-Security Linux FPGA Embedded Single Board Computer
  5. Skiba G., Żabiński T., Bożek A.: Rapid Control Prototyping with Scilab/Scicos/RTAI for ARM-based Embedded Platform. Real-Time Workshop – International Multiconference on Computer Science and Information Technology, 2008.

Dariusz Nowak, dr inż. Tomasz Żabiński – SKN ROBO