• Nie Znaleziono Wyników

Przykład zastosowania ´srodowiska testowego

W dokumencie Index of /rozprawy2/11566 (Stron 74-83)

10. Symulator autonomicznego robota lataj ˛ acego oraz testy przeprowadzone z jego wyko-

10.2. Przykład zastosowania ´srodowiska testowego

Rysunek 10.1: Schemat architektury systemu oraz komunikacji w ´srodowisku symulatora.

funkcje ni˙zszego rz˛edu zapewnione s ˛a przez jednostk˛e steruj ˛ac ˛a, jak wspomniany wcze´sniej PX4 lub APM 2.6.

10.2. Przykład zastosowania ´srodowiska testowego

Przedstawiony w tym rozdziale przykład ma za zadanie ukaza´c mo˙zliwo´sci, jakie mo˙ze da´c symu-lowane ´srodowisko testowe w kontek´scie rozwoju i testowania autonomicznego robota oraz systemów kognitywnych. Przedstawiony poni˙zej test wykorzystuje oraz pokazuje sposób zastosowania cz˛e´sci spo-´sród opisanych wcze´sniej w niniejszej pracy algorytmów - wektoryzacji, rozpoznawania obrazu oraz konstrukcji trójwymiarowego modelu okre´slonego obiektu. Jak ju˙z zostało wspomniane w niniejszej pracy, metody preprocessingu i ekstrakcji obiektów ze zdj˛e´c sceny znajduj ˛a si˛e poza zakresem bada´n. Z tego wzgl˛edu przyj˛ete zostało, ˙ze obiekty na scenie s ˛a w kolorach ˙zółtym, niebieskim, czerwonym lub fioletowym, co umo˙zliwi łatwe ich wydobycie z tła. Scenariusz testu zawiera si˛e w nast˛epuj ˛acych krokach:

1. Wprowadzenie do pami˛eci obrazu obiektu widzianego od góry, który ma zosta´c zlokalizowany na scenie w wirtualnym ´srodowisku.

10.2. Przykład zastosowania ´srodowiska testowego 75

Rysunek 10.2: Obiekt przeznaczony do zlokalizowania na wirtualnej scenie.

2. Start robota i wzniesienie si˛e na wyznaczon ˛a wysoko´s´c ponad scen˛e, tak, aby k ˛at widzenia wirtu-alnej kamery obj ˛ał wszystkie obiekty na scenie.

3. Wykonanie zdj˛ecia pogl ˛adowego sceny, aby zlokalizowa´c obiekty na scenie.

4. Obliczenie marszruty maj ˛acej na celu odwiedzenie lokalizacji ka˙zdego z obiektów na scenie. 5. Przelot i zawi´sni˛ecie nad kolejnymi obiektami w celu wykonania dokładnego zdj˛ecia od góry. 6. W momencie, gdy pierwszy z obiektów zostanie zidentyfikowany jako odpowiadaj ˛acy kształtem

załadowanemu na pocz ˛atku do pami˛eci,moduł przetwarzania obrazu wylicza miejsca z których powinny zosta´c wykonane zdj˛ecia obiektu, aby umo˙zliwi´c konstrukcj˛e jego modelu 3-D.

7. Przemieszczenie si˛e robota w wyznaczone pozycje i pobranie obrazu z wirtualnej kamery. 8. Konstrukcja modelu 3-D na podstawie wykonanych zdj˛e´c.

Rys. 10.2 i 10.3 przedstawiaj ˛a odpowiednio szukany obiekt wprowadzony do pami˛eci oraz jego model wektorowy. Obiekt ten przekazany jest do robota w celu zlokalizowania na wirtualnej scenie.

Rys. 10.4 przedstawia pierwszy obraz pobrany z wirtualnej kamery, obejmuj ˛acy wszystkie obiekty na szukanej scenie. Przed jego wykonaniem robot wzniósł si˛e na wysoko´s´c h = 45 metrów. Na kolejnym

10.2. Przykład zastosowania ´srodowiska testowego 76

Rysunek 10.3: Wektorowy model obiektu przeznaczonego do zlokalizowania na wirtualnej scenie.

rysunku (Rys. 10.5) znajduje si˛e model wektorowy uzyskany na podstawie obrazu z kamery. Dysponu-j ˛ac tym zdj˛eciem oraz przy pomocy funkcji calcMoveToTargetHorizont() opisanej w rozdziale 9 robot wylicza lokalizacje, w które musi si˛e uda´c, aby wykona´c dokładne zdj˛ecia obiektów od góry. Zdj˛ecia te zostan ˛a nast˛epnie porównane ze wzorcem przekazanym na pocz ˛atku do pami˛eci.

Po wyliczeniu współrz˛ednych miejsc, gdzie robot musi si˛e uda´c, ich lista zostaje przekazana do modułu kontrolnego, a nast˛epnie zainicjowana zostaje akcja odwiedzenia ka˙zdego z tych miejsc. Pre-definiowana wysoko´s´c, na jakiej robot powinien znale´z´c si˛e nad ka˙zdym z obiektów, została przyj˛eta jako h2 = 20 metrów. Po dotarciu w kolejne z nich robot wykonuje zdj˛ecie, generuje model wekto-rowy kształtu, a nast˛epnie, posługuj ˛ac si˛e metod ˛a strukturaln ˛a rozpoznawania obrazów, weryfikuje czy odwiedzony w aktualnym momencie obiekt odpowiada kształtem szukanemu. W tym te´scie została wy-korzystana metoda rozpoznawania obrazów opisana w rozdziale 6. Decyzja o zastosowaniu tej metody zamiast tej, która została opisana w rozdziale 5 podyktowana była faktem, ˙ze o ile kształty obiektów s ˛a dobrze zdefiniowane i wyra´zne to wpływ perspektywy powoduje, ˙ze boczne ´sciany brył widoczne s ˛a równie˙z w pewnym stopniu na zdj˛eciach od góry. Powoduje to, ˙ze kształt bryły na zdj˛eciu bywa zabu-rzony wzgl˛edem prawdziwego kształtu górnej ´sciany bryły, a co za tym idzie, liczba kraw˛edzi w modelu wektorowym takiego wizerunku mo˙ze posiada´c ró˙zn ˛a liczb˛e kraw˛edzi wzgl˛edem wzorcowego kształtu podanego do pami˛eci robota, mimo ˙ze prawdziwy kształt górnej ´sciany byłby identyczny.

10.2. Przykład zastosowania ´srodowiska testowego 77

Rysunek 10.4: Obraz wirtualnej sceny uzyskany widzianej od góry, uzyskany z wysoko´sci 45 metrów.

wraz z ich modelami wektorowymi. Jednocze´snie obiekt przedstawiony na Rys. 10.9 został rozpoznany jako obiekt przekazany na wst˛epie do odszukania na scenie (Rys. 10.2). W momencie, gdy szukany obiekt zostanie odnaleziony, jego kolor zostaje pobrany ze zdj˛ecia oraz przechowany w pami˛eci w for-macie RGB wraz z reprezentacj ˛a wektorow ˛a obiektu. Informacja o kolorze posłu˙zy w dalszym etapie misji, w którym ma miejsce konstrukcja trójwymiarowego modelu odnalezionego budynku, w celu eks-trakcji wła´sciwego obszaru ze zdj˛ecia wykonanego kamer ˛a zorientowan ˛a w poziomie. Jest to istotne ze wzgl˛edu na fakt, ˙ze na zdj˛eciu wykonanym w poziomie niektóre z pozostałych obiektów na scenie mog ˛a by´c widoczne w tle.

W zaprezentowanym te´scie okazało si˛e, ˙ze budynek czerwony, który został rozpoznany, odwiedzony był jako ostatni, a wi˛ec wszystkie budynki na scenie zostały odwiedzone przez robota. W bardziej ogól-nym przykładzie odwiedzenie ka˙zdego z obiektów nie jest niezb˛edne, a po odnalezieniu na scenie szu-kanego budynku, proces odwiedzania kolejnych zostałby przerwany.

Po tym, jak szukany obiekt został odnaleziony, robot inicjuje podzadanie maj ˛ace na celu zbudowa-nie trójwymiarowego modelu tego obiektu. Aby tego dokona´c,moduł kontrolny robota, posługuj ˛ac si˛e funkcj ˛a calcHeadingChangeForImage() opisan ˛a w rozdziale 9, wylicza współrz˛edne docelowych pozy-cji robota, w których musi si˛e on znale´z´c, aby wykona´c zdj˛ecia obiektu od przodu oraz od prawego boku. Dodatkowo, obraz wektorowy obiektu zostaje obrócony, aby umo˙zliwi´c jego wykorzystanie w algoryt-mie konstrukcji modelu trójwymiarowego. Rys. 10.10 przedstawia wektorowy model obiektu obrócony o

10.2. Przykład zastosowania ´srodowiska testowego 78

Rysunek 10.5: Wektorowy model sceny widzianej od góry.

(a) (b)

Rysunek 10.6: ˙Zółty budynek widziany od góry, (a) - obraz z wirtualnej kamery, (c) - wektorowy model obiektu.

wła´sciwy k ˛at, gotowy do u˙zycia w budowie modelu 3-D. Kolejne rysunki (Rys. 10.11 oraz 10.12) przed-stawiaj ˛a zdj˛ecia bryły wykonane odpowiednio od przodu oraz od prawego boku, wraz z wektorowymi modelami kształtów. Na tym etapie został wykorzystany wzorzec koloru RGB przechowany w pami˛eci

10.2. Przykład zastosowania ´srodowiska testowego 79

(a) (b)

Rysunek 10.7: Fioletowy budynek widziany od góry, (a) - obraz z wirtualnej kamery, (c) - wektorowy model obiektu.

(a) (b)

Rysunek 10.8: Niebieski budynek widziany od góry, (a) - obraz z wirtualnej kamery, (c) - wektorowy model obiektu.

w momencie, gdy szukany obiekt został odnaleziony na scenie. Dzi˛eki temu, wła´sciwy obiekt mógł by´c wyodr˛ebniony z obu poziomych zdj˛e´c poprzez filtracj˛e koloru, w tym przypadku czerwonego.

Po uzyskaniu reprezentacji wektorowych przedstawionych na Rys. 10.10, 10.11b oraz 10.12b, mo-duł przetwarzania obrazu konstruuje model trójwymiarowy badanego budynku. Wynik budowy tego modelu przedstawiony został z dwóch ró˙znych stron na Rys. 10.13. Dodatkow ˛a funkcjonalno´sci ˛a, która została zaimplementowana w systemie sztucznego ´srodowiska testowego, jest mo˙zliwo´s´c podgl ˛adu trasy, jak ˛a w obszarze wirtualnej sceny przemierzył robot wykonuj ˛ac misj˛e. Na obrazie podgl ˛adu (Rys. 10.14) mo˙zna zauwa˙zy´c, ˙ze robot bezpo´srednio po zainicjowaniu misji wzniósł si˛e na du˙z ˛a wysoko´s´c, aby wy-kona´c zdj˛ecie pogl ˛adowe sceny (Rys. 10.4). Nast˛epnie, z ni˙zszego pułapu, wykonał on dokładne zdj˛ecia ka˙zdego z budynków w kolejno´sci: ˙zółty, fioletowy, niebieski, czerwony. Rys. 10.14a przedstawia

dodat-10.2. Przykład zastosowania ´srodowiska testowego 80

(a) (b)

Rysunek 10.9: Czerwony budynek widziany od góry, (a) - obraz z wirtualnej kamery, (c) - wektorowy model obiektu.

Rysunek 10.10: Znaleziony obiekt obrócony o wła´sciwy k ˛at tak by frontowa jego cz˛e´s´c znajdowała si˛e u góry. Reprezentacja gotowa do u˙zycia do budowy modelu 3-D.

kowo punkty z których wykonane zostały zdj˛ecia słu˙z ˛ace do skonstruowania modelu 3-D znalezionego budynku.

10.2. Przykład zastosowania ´srodowiska testowego 81

(a) (b)

Rysunek 10.11: Obraz z wirtalnej kamery otrzymany po przemieszeniu si˛e robota do lokalizacji na wprost budynku, (a) - obraz z wirtualnej kamery, (c) - wektorowy model frontu budynku.

(a) (b)

Rysunek 10.12: Obraz z wirtalnej kamery otrzymany po przemieszeniu si˛e robota do lokalizacji z prawej strony budynku, (a) - obraz z wirtualnej kamery, (c) - wektorowy model prawej strony budynku.

10.2. Przykład zastosowania ´srodowiska testowego 82

(a) (b)

Rysunek 10.13: Obraz modelu trójwymiarowego obiektu zlokalizowanego na wirtualnej scenie, ukazany pod ró˙znymi k ˛atami.

(a) (b)

Rysunek 10.14: Droga, jak ˛a robot pokonał w wirtualnym ´srodowisku testowym podczas wykonywania misji.

83

11. Konstrukcja robota lataj ˛acego oraz testy przeprowadzone

W dokumencie Index of /rozprawy2/11566 (Stron 74-83)