Partnerzy:

Projekt badawczy/konstrukcyjny/oprogramowanie - Zrzut ładunku, wykrywanie celu oraz Signal Fusion

Termin realizacji: 18
Liczba osób realizujących: 3
Tematyka: Sztuczna inteligencja w bezzałogowych aparatach latających
Opis:

Projekt obejmował trzy zagadnienia:

-Zrzut ładunku do celu wykrytego przez system wizyjny lub określonego za pomocą współrzędnych GPS
-Filtracja oraz analiza obrazu uzyskanego przez system wizyjny
-Problem pomiaru stanu obiektu sterowania ( Data Fusion, obsługa czujników)

Pierwsze dwa zagadnienia związane są bezpoś rednio z zadaniami, które będziemy realizować w ramach konkursu na bezzałogowiec w Bezmiechowej. Tymi zadaniami są: rozpoznanie terenu z pomocą systemu wizyjnego oraz dostarczenie ładunku w zadany punkt oznaczony markerem. Trzecie zagadnienie jest natomiast podstawowym problemem dla każdego typu UAV. W celu poprawnego sterowania obiektem potrzebujemy dokładnych pomiarów jego stanu, jednakże czujnki, na przykład w postaci jednostki IMU (Intertial Measurement Unit), złożonej z akcelerometru, żyroskopu oraz magnetometru, nie mierzą bezpośrednio wartości niezbędnych dla komputera pokładowego. Dane z czujników należy przetworzyć aby stały się użyteczne.

W wyniku prac przeprowadzonych przez autorów w ramach projektu zaimplementowano oraz sprawdzono modele matematyczne zrzutu ładunku z powietrza. Przetestowano rózne srodowiska symulacyjne, sprawdzono jakie sa zalety oraz wady kazdego z nich. Modele matematyczne zweryfikowano za pomoca silników fizycznych. W przyszłosci zostanawykorzystane zarówno na stacji naziemnej jak i komputerze pokładowym. Symulacja w Unity dowiodła, duzych mozliwosci tego srodowiska. W razie potrzeby zostanie ona rozbudowana oraz wykorzystana do planowania misji offline. Silnik ODE z kolei, skonfigurowany w jezyku Python, ma mozliwosc integracji z programami napisanymi na komputer pokładowy. Badania zrzutu z róznych trybów dały wyniki zgodne z oczekiwanymi. Przed konkursem zostanie opracowany algorytm zrzutu z lotu nurkowego z uwzglednieniem krytycznego kata natarcia. Dodatkowo, wyznaczono wartosci wysokosci oraz predkosci granicznej. Wprzypadku zmiany parametrów ładunku, zaimplementowane funkcje moga szybko okreslic nowe parametry. W trakcie pracy pojawiło sie kilka problemów. Pierwszym napotkanym przez autorów w trakcie realizacji tej czesci projektu był problem konfiguracji oraz instalacji własciwych wersji bibliotek oraz pakietów w jezyku Python. Instalowanie pakietów przez GUI wbudowane w oprogramowanie powodowało wystepowanie błedów. Konieczne było instalowanie reczne z poziomu konsoli. Głównym problemem jednakze, okazało sie modelowanie oporów powietrza oraz siły wiatru. Zagadnienie te jest szeroko opisywane w literaturze i dokładne modele moz˙na wyciagnac jedynie po testach fizycznych układów. Problematyczny dla autorów okazał sie brak mozliwosci testowego zrzutu z motoszybowca. Rejestracja wyników testu rzeczywistego umozliwiłaby porównanie z symulacja. Dalsze prace zwiazane z ta czescia wiaza sie˛ z przeprowadzeniem dodatkowej weryfikacji modelu, a dalej kompensacji błedów. Gotowe modele nalezy przekształcic do postaci uzytecznej dla komputera pokładowego. System mozna ulepszyc o algorytm wykorzystujacy dane o terenie. Nalezy równiez pamietac o przeanalizowaniu zagadnienia metody wyrzutu ładunku oraz jej wpływu na tor lotu.

W ramach części dotyczącej filtracji i analizy obrazu autorzy zaimplementowali oraz przetestowali wykorzystanie pod katem wymagan konkursu na bezzałogowy statek powietrzny MIWL trzechróznych algorytmów wykrywania celu. W ramach pracy zbadano ich własciwosci i stwierdzono ich potencjał do dalszych modyfikacji. Na podstawie przeprowadzonych działan wyciagnie to szereg wniosków dotyczacych metod ORB, klasyfikatora Haar’a oraz własnego algorytmu. Algorytm ORB okazał sie nieadekwatny do postawionych przed nim zadan. W celu poprawnego działania potrzebuje dobrej jakosci zdjecia wzorcowego, najlepiej z całym obiektem oraz dobrej jakosci filmu. Szukany obiekt musi posiadac odpowiednio duza liczbe krawedzi i charakterystycznych punktów, w zwiazku z czym nie sprawdza sie dobrze w wykrywaniu białej płachty o jednolitym kształcie. Wynika to z zasady działania tego algorytmu, który uwzgl˛ednia przebieg charakterystycznych krawedzi na badanym obrazie. Na rysunku 24 przedstawiono dwa zdjecia wykonane podczas prób z mostu kolejowego. Algorytm ORB lepiej opisał zdjecie z zakłóceniami, poniewaz znalazł na nim wiecej charakterystycznych punktów. Do niewatpliwych zalet algorytmu ORB nalezy krótki czas obliczen oraz pewna uniwersalnosc reprezentowana przez łatwe wczytywanie obrazów wzorcowych. Algorytm ten najlepiej radzi sobie z wykrywaniem bogatych w szczegóły obiektów, na przykład budynków lub ksia˛z˙ek, przedstawionych na jednolitym tle, niezalez˙nie od kata widzenia kamery. Autorzy zdecydowali sie napisac równiez własny algorytm, dedykowany pod wymagania konkursu. Wykorzystywał on proste operacje morfologiczne oraz uwzgledniał skale barw, rozmiar oraz kształt obiektu. Obiekt testowany był na ograniczonej bazie zdjec, wiec niemozliwe jest jednoznaczne stwierdzenie jego przydatnosci. Jest to jeden z punktów pozostałych do zrealizowania. Na podstawie dostepnej bazy zdjec stwierdzono, ze gorzej radzi sobie w przypadku zdjec, na których cel jest czesciowo przysłoniety. Ostatnim testowanym algorytmem był klasyfikator Haar’a. Jest to uniwersalny algorytm o duzej szybkosci działania. Wramach niniejszej pracy przetestowano jego działanie z udostepnionymi w bibliotece OpenCV klasyfikatorami oraz wytrenowano własny algorytm i go przetestowano. Do zalet algorytmu nalezy zaliczyc jego szybkosc oraz duze prawdopodobienstwo wykrycia obiektu. Niestety, koniecznosc wykrycia obiektu nie zdefiniowanego w bibliotece wymaga wytrenowania klasyfikatora. Jest to proces długotrawły, wymaga wydajnego komputera, duzej liczby zdjec oraz duzo czasu. Nie jest równiez gwarantowana dobra jakosc działania uzyskanego klasyfikatora. Niestety, w ramach projektu nie udało sie przetestowac w pełni badanych algorytmów. Wynikało to z zaleznosci autorów od osoby trzeciej, która posiadała stosowny pojazd oraz licencje na jego pilotowanie. W czasie próbnego lotu, UAV ladował przymusowo. Zakonczyło sie to awaria, która wyeliminowała pojazd na dłuzszy okres czasu i uniemozliwiła testy w pózniejszym terminie z powodu pogorszenia pogody. Udało sie odzyskac jedynie niewielki fragment nagranego do testów materiału. Wzwiazku z tym, przed autorami stoi zadanie przetestowania napisanych algorytmów w praktyce i zastosowania ewentualnych poprawek. Dodatkowo, perspektywicznym posunieciem wydaje sie stworzenie bazy danych zdjec, która pozwoliłaby na kontynuowanie prac zwiazanych z algorytmem klasyfikatorów kaskadowych.

 

 

Projekt oraz wykonanie: sigmeo.pl