Symulator radaru statku powietrznego
|
|
- Dariusz Kaczmarczyk
- 6 lat temu
- Przeglądów:
Transkrypt
1 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Rok akademicki 2011/2012 PRACA DYPLOMOWA INŻYNIERSKA Michał Pawłowski mgr inż. Zbigniew Szymański Ocena: Podpis Przewodniczącego Komisji Egzaminu Dyplomowego
2 Specjalność: Inżynieria Systemów Informatycznych Data urodzenia: Data rozpoczęcia studiów: Życiorys Urodziłem się 2 lipca 1989 roku w Warszawie. Po ukończeniu szkoły podstawowej oraz gimnazjum kontynuowałem naukę w Liceum Ogólnokształcącym im. I Dywizji Kościuszkowskiej w Piasecznie w klasie o profilu matematyczno - fizyczno - geograficznym. W 2008 roku zdałem egzamin maturalny i rozpocząłem studia na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W trakcie studiów wyjechałem na 4 miesiące do Korei Południowej w ramach wymiany studenckiej, w trakcie której odbyłem praktyki w firmie Duck Yang Industry. W kwietniu 2012 roku rozpocząłem pracę jako programista w firmie Business Management Software.... Podpis studenta EGZAMIN DYPLOMOWY Złożył egzamin dyplomowy w dniu r z wynikiem... Ogólny wynik studiów:... Dodatkowe wnioski i uwagi Komisji:
3 Praca inżynierska - Pawłowski Michał STRESZCZENIE W pracy przedstawiono zaprojektowany symulator radiowego detektora przeszkód wchodzącego w skład systemu unikania kolizji AURA (autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujący aktywną metodę teledetekcji obiektów), który może zostać użyty w bezzałogowych środkach latających. Symulator może posłużyć do testowania skuteczności algorytmów antykolizyjnych oraz metody tworzenia modelu otoczenia. Ponadto symulator pozwala na dostosowanie parametrów pracy detektora, dzięki czemu możliwe jest przeprowadzenie testów, których wykonanie byłoby bardzo trudne lub niemożliwe przy użyciu rzeczywistego statku powietrznego. W pracy opisano również podstawowe urządzenia wchodzące w skład systemu antykolizyjnego, układ współrzędnych w którym wykonane zostały używane mapy cyfrowe oraz graficzny interfejs użytkownika przedstawiający animację lotu. Słowa kluczowe: symulator, radar, bezzałogowy, statek powietrzny, samolot, AURA, OpenGL, wykrywanie kolizji PC simulator of radar and environment model for unmanned flying vehicles SUMMARY This papers describes designed simulator of radar, which is part of AURA (Autonomous collision avoidance system for unmanned flying vehicles based on active teledetection method) collision avoidance system that can be used in unmanned aerial vehicles. The simulator can be used to generate data required for testing of collision avoidance algorithms and environment model creation methods. The program allows adjusting operating parameters of the simulated device to provide possibility of preparing such test cases which would be very difficult or even impossible to prepare when using real aircraft. Moreover, the paper includes description of basic modules of the device, coordinate system in which digital maps used in the program were created and graphical user interface. Keywords: simulator, radar, unmanned, flying vehicle, aircraft, AURA, OpenGL, collision detection 3
4 SPIS TREŚCI ROZDZIAŁ 1 WSTĘP Wprowadzenie Cel pracy Podział pracy... 8 ROZDZIAŁ 2 PODSTAWY TEORETYCZNE Sposób działania radaru Elementy radaru Parametry działania Wykonanie symulatora Przyjęte założenia Parametry działania symulatora Algorytm wykrywania kolizji Sposób wyświetlania obiektów Mapy cyfrowe ROZDZIAŁ 3 OPIS SYMULATORA Środowisko i wybrane narzędzia Informacje o GUI Pliki wejściowe Pliki konfiguracyjne Mapy cyfrowe Plik trajektorii Pliki wyjściowe Plik z wykrytymi obiektami Mapa percepcyjna Struktura programu Diagram przypadków użycia Diagram klas Diagram czynności Testowanie Wykrywanie omijanej przeszkody Przelatywanie nad przeszkodami
5 Praca inżynierska - Pawłowski Michał Kolizja z przeszkodą ROZDZIAŁ 4 INSTRUKCJA OBSŁUGI Instalacja Okno główne Obsługa symulatora ROZDZIAŁ 5 ZAKOŃCZENIE Podsumowanie Perspektywy kontynuacji BIBLIOGRAFIA DODATEK A OPIS KLAS ORAZ METOD
6 ROZDZIAŁ 1 WSTĘP 1.1 Wprowadzenie Samoloty są obecnie jednym z najbardziej rozpowszechnionych środków transportu. Na co dzień są one sterowane przez pilotów, jednak od jakiegoś czasu coraz częściej słyszy się o samolotach bezzałogowych, które mogą być kontrolowane przez człowieka z ziemi lub nawet zdolnych do podejmowania samodzielnych decyzji. Najczęściej są one wykorzystywane do celów militarnych, takich jak obserwacja i rozpoznanie terenu, a także do celów naukowych w sytuacjach, w których wykonanie pomiaru normalnymi metodami nie jest proste (np. w przypadku wykonywania pomiarów grubości warstwy ozonowej na Antarktydzie). Prowadzone są także prace nad stworzeniem bezzałogowych statków bojowych. Obecność bezzałogowych środków latających w ogólnodostępnej przestrzeni powietrznej zacznie być w najbliższej przyszłość znaczącym problemem. Spowoduje ona konieczność opracowania nowych metod zarządzania ruchem powietrznym, a także podniesienie standardów bezpieczeństwa. Ich podstawą będzie zasada Sense and Avoid będąca odpowiednikiem zasady See and Avoid stosowanej w przypadku jednostek latających pilotowanych przez ludzi [8]. Przykładem systemu antykolizyjnego realizującego tę zasadę 6
7 Praca inżynierska - Pawłowski Michał jest system AURA (autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujący aktywną metodę teledetekcji obiektów) opracowywany przez Instytut Lotnictwa oraz Politechniką Warszawską. Składa się on z trzech elementów: radiowego detektora przeszkód, radiowysokościomierza oraz modułu odpowiedzialnego za unikanie kolizji [1]. Każdy z nich wyposażony jest w procesor ARM Cortex A8 odpowiedzialny za przetwarzanie danych. Pozycja samolotu ustalana jest przy pomocy urządzenia Attitude and Heading Reference System (AHRS). System ten jest także odpowiedzialny za dostarczanie informacji o składowych prędkości liniowej, składowych przyspieszenia liniowego, składowych prędkości kątowej oraz kątów nachylenia samolotu. Umożliwia on również synchronizację radiowego detektora przeszkód z radiowysokościomierzem. Głównym celem modułu odpowiedzialnego za unikanie kolizji jest tworzenie modelu otoczenia oraz wykonywanie manewrów antykolizyjnych. Model otoczenia jest generowany na podstawie map cyfrowych oraz danych zbieranych w czasie wykrywania przeszkód przez urządzenia znajdujące się na pokładzie samolotu. Zawiera informacje o rozmieszczeniu obiektów w sąsiedztwie statku powietrznego i jest wykorzystywany przez algorytmy unikania kolizji. 1.2 Cel pracy Celem pracy jest zaprojektowanie środowiska testowo symulacyjnego będącego w stanie wygenerować dane dostarczane przez radiowy detektor przeszkód, radiowysokościomierz oraz AHRS. Będą one następnie służyły jako dane wejściowe dla algorytmów wykrywania kolizji. Symulator musi umożliwiać zmianę wszystkich parametrów pracy detektora przeszkód, aby umożliwić znalezienie optymalnej konfiguracji. Elementem pracy jest również utworzenie graficznego interfejsu użytkownika, który umożliwi szybką interpretację uzyskiwanych wyników oraz dostarczy podstawowe informacje na temat lotu i położeniu statku powietrznego. 7
8 1.3 Podział pracy Praca podzielona jest na pięć rozdziałów. W rozdziale drugim omówione zostaną podstawy budowy symulowanego radaru, algorytmy użyte do wykonania symulatora, różne metody wyświetlania obiektów przy użyciu biblioteki OpenGL oraz podstawowe informacje o układzie współrzędnych PUWG 1992, w którym sporządzone zostały zastosowane mapy cyfrowe. W trzecim rozdziale przedstawiony zostanie sposób działania utworzonej aplikacji wraz z dokładnym opisem graficznego interfejsu użytkownika, plików wejściowych niezbędnych do działania programu oraz generowanych plików wyjściowych. Zawiera on także diagramy UML modelujące budowę i działanie aplikacji. Czwarty rozdział zawiera instrukcję użytkownika, w której przedstawiony zostanie sposób instalacji symulatora, sposób jego obsługi oraz opis dostępnych operacji. W dodatku A znajduje się opis podziału kodu programu na pliki i funkcje. 8
9 Praca inżynierska - Pawłowski Michał ROZDZIAŁ 2 PODSTAWY TEORETYCZNE W tym rozdziale omówione zostaną podstawy budowy symulowanego radaru, algorytmy użyte do wykonania symulatora, opis różnych metod wyświetlania obiektów przy użyciu biblioteki OpenGL oraz podstawowe informacje o układzie współrzędnych PUWG 1992, w którym sporządzone zostały zastosowane mapy cyfrowe. 2.1 Sposób działania radaru Elementy radaru Podstawowymi elementami radiowego detektora przeszkód są: obrotowa głowica detektora radarowego, układ napędowy z układem sterowania obrotowej głowicy oraz zasilacz [1]. Detektor przeszkód realizuje funkcję detekcji obiektów znajdujących się na drodze statku powietrznego przy pomocy mikrofalowych modułów nadawczo-odbiorczych. Następnie, na podstawie analizy widma, określana jest ich prędkość oraz odległość od statku powietrznego. Na podstawie uzyskanych informacji tworzone są drzewa decyzyjne modelujące otoczenie samolotu. Stanowią one układ wejściowy dla sieci ARTMAP, która jest 9
10 odpowiedzialna za podejmowanie decyzji. Jest to ucząca się, rekurencyjna sieć neuronowa., składająca się ona z: klasyfikatora rozpoznanych sytuacji (blok wejściowy) klasyfikatora manewrów antykolizyjnych (blok wyjściowy) bloku kojarzenia rozpoznania przeszkody i manewru antykolizyjnego Parametry działania Detekcja przeszkód jest realizowana w przedniej półsferze określonej kątem w azymucie ±78º i kątem w elewacji od -12º do +36º, co odpowiada 13 strefom o szerokości 12º w azymucie oraz dwu sektorom o kącie 24º w elewacji (tab. 2.1, rys. 2.1, rys 2.2) [1]. Przestrzeń określoną kątami od 78º do 90º oraz od -78º do -90º w azymucie zajmują dwie dodatkowe strefy służące do ustalenia warunków pracy oraz do redukcji błędów wynikających z budowy radaru. Parametr Wartość Rozdzielczość skanowania w azymucie 12º Rozdzielczość skanowania w elewacji 24º Szerokość skanowanej półsfery w azymucie ±78 º Szerokość skanowanej półsfery w elewacji -12 º - 36º Ilość wydzielonych stref w azymucie 13 Ilość wydzielonych stref w elewacji 2 Zasięg Czas skanowania jednej strefy 200m 11ms Tabela 2.1. Parametry działania radiowego detektora przeszkód [1]. 10
11 Praca inżynierska - Pawłowski Michał Rysunek 2.1. Układ wydzielonych stref w płaszczyźnie poziomej, cytat [2]. Rysunek 2.2. Układ wydzielonych stref w płaszczyźnie pionowej, cytat [2]. 2.2 Wykonanie symulatora Przyjęte założenia Głównym zadaniem projektowanego symulatora jest realizacja wykrywania przeszkód na drodze statku powietrznego. Nie będzie się on zajmował dokładnym odzwierciedleniem procesów zachodzących podczas skanowania, jak również obliczaniem obecnej pozycji oraz trajektorii lotu samolotu. Wszystkie informacje niezbędne do działania programu tj. mapy cyfrowe oraz opis trajektorii przekazywane są do programu przy pomocy plików wejściowych. 11
12 2.2.2 Parametry działania symulatora Parametry pracy symulatora nieznacznie różnią się od parametrów pracy rzeczywistego urządzenia. Ze względów implementacyjnych skanowanie wszystkich stref odbywa się jednocześnie, a czas jednego pełnego skanowania można zdefiniować w pliku konfiguracyjnym radaru. Ponadto ilość stref w azymucie została ograniczona jedynie do stref, w których zachodzi detekcja przeszkód. W związku z możliwością zmiany parametrów pracy radiowego detektora przeszkód symulator umożliwia zmianę ich wartości w pliku konfiguracyjnym (rozdz ) Algorytm wykrywania kolizji Wykrywanie obiektów odbywa się przy pomocy promieni wewnętrznych generowanych w każdej strefie (ich liczba może zostać zdefiniowana w pliku konfiguracyjnym). Każdy z nich ma swój początek w miejscu położenia głowicy radaru oraz długość równą jego zasięgowi (rys. 2.3). Rysunek 2.3. Pojedyncza strefa radaru z zaznaczonymi czterema promieniami wewnętrznymi. 12
13 Praca inżynierska - Pawłowski Michał Po utworzeniu promieni należy dla każdego obiektu znajdującego się w zasięgu radaru sprawdzić, czy przynajmniej jedna z jego ścian nie przecina któregoś z nich. Jeśli tak, oznacza to, że w strefie do której dany promień należał wykryto przeszkodę. Metoda ta umożliwia również stwierdzenie, jak duża część sfery pokryta przez obiekty. W tym celu należy sprawdzić, przy użyciu ilu promieni zostały one wykryte. W celu zbadania, czy promień przecina jedną ze ścian obiektu, należy najpierw znaleźć równanie płaszczyzny do której ta ściana należy oraz punkt jej przecięcia z promieniem. Jeśli punkt znajduje się wewnątrz danej ściany, oznacza to, że promień ją przecina i w odpowiadającej mu strefie został wykryty obiekt (rys. 2.4). Rysunek 2.4. Sprawdzanie, czy promień przecina ścianę. W powyższym wypadku kolizja nie zostaje wykryta, ponieważ punkt P znajduje się poza oznaczonym czworokątem. 13
14 2.2.4 Sposób wyświetlania obiektów Biblioteka OpenGL udostępnia wiele funkcji pozwalających na wyświetlenie obiektów [7]. Najprostszą z nich jest funkcja glvertex3f(), która przy każdym wywołaniu określa położenie kolejnego wierzchołka (tab. 2.2). Nie jest to jednak zachowanie optymalne, biorąc pod uwagę ilość wierzchołków wyświetlanych podczas tworzenia wizualizacji terenu. Znacznie wydajniejszym mechanizmem jest tzw. Vertex Array. glbegin(gl_triangles); glvertex3f(x0,y0,z0); glvertex3f(x1,y1,z1); glvertex3f(x2,y2,z2); glend(); Tabela 2.2. Wyświetlenie trójkąta przy pomocy funkcji glvertex3f() Dzięki Vertex Array możliwe jest przesłanie informacji o położeniu wielu wierzchołków przy pomocy pojedynczej funkcji. Informacje o współrzędnych, kolorach i teksturach wierzchołków oraz o normalnych rysowanych powierzchni przechowywane są w tablicach, które następnie są przekazywane jako argumenty funkcji rysującej (tab. 2.3). Ponadto, w przypadku wielokrotnego wykorzystania tego samego wierzchołka, możliwe jest zdefiniowanie jego współrzędnych tylko raz i odwoływanie się do niego przy pomocy przypisanego do niego numeru. Pozwala to na optymalizacje przesyłania danych pomiędzy procesorem a kartą graficzną, co znacznie poprawia wydajność. GLfloat vertices[] = {x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3}; GLubyte indices[] = {0, 1, 2, 1, 2, 3}; glenableclientstate(gl_vertex_array); glvertexpointer(3, GL_FLOAT, 0, vertices); gldrawelements(gl_triangles, 6, GL_UNSIGNED_BYTE, indices); gldisableclientstate(gl_vertex_array); Tabela 2.3. Wyświetlenie czworokąta złożonego z dwóch trójkątów przy pomocy Vertex Array 14
15 Praca inżynierska - Pawłowski Michał Wadą obu tych metod pozostaje jednak przesyłanie informacji o wyświetlanych wierzchołkach z procesora do karty graficznej przy każdym wywołaniu funkcji rysującej. Aby temu zapobiec należy użyć Vertex Buffer Object. Mechanizm ten pozwala na jednorazowe przesłanie tablic z informacjami o wierzchołkach do karty graficznej, a następnie na odwoływanie się do nich poprzez przypisane identyfikatory (tab. 2.4). GLuint vboverticesid, vboindicesid; GLfloat vertices[] = {x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3}; GLubyte indices[] = {0, 1, 2, 1, 2, 3}; glgenbuffers(1, &vboverticesid); glgenbuffers(1, &vboindicesid); glbindbuffer(gl_array_buffer, vboverticesid); glbindbuffer(gl_element_array_buffer, vboindicesid); glbufferdata(gl_array_buffer, sizeof(glfloat) * 12, vertices, GL_STATIC_DRAW); glbufferdata(gl_array_buffer, sizeof(glubyte) * 6, indices, GL_STATIC_DRAW); glenableclientstate(gl_vertex_array); glvertexpointer(3, GL_FLOAT, 0, 0); gldrawelements(gl_triangles, 6, GL_UNSIGNED_BYTE, 0); gldisableclientstate(gl_vertex_array); Tabela 2.4. Wyświetlenie czworokąta złożonego z dwóch trójkątów przy pomocy Vertex Buffer Object Mapy cyfrowe Do utworzenia wizualizacji samolotu oraz jego otoczenia niezbędne są informacje o terenie nad jakim znajduje się statek powietrzny. Będą one dostarczane przez pliki zewnętrzne, będące odpowiednio przygotowanymi mapami cyfrowymi zawierającymi dane o rodzaju terenu nad jakim znajduje się samolot, przewidywanej wysokości względna, poniżej 15
16 której jego ruch nie jest wskazany oraz ewentualnych przeszkodach lotniczych wraz z wysokościami na jakich się one znajdują. Wszystkie mapy są wykonane w układzie współrzędnych PUWG-1992 [4]. Jest to układ współrzędnych płaskich prostokątnych utworzony przez Państwowy Układ Współrzędnych Geodezyjnych opracowany w 1992 roku. Jest to obecnie jedyny układ obowiązujący w Polsce dla opracowań małoskalowych. Układ ten powstał w wyniku zastosowania odwzorowania Gaussa-Krügera na elipsoidę WGS-84 (elipsoida określająca kształt kuli ziemskiej, znajdująca szerokie zastosowanie w kartografii oraz systemach nawigacji satelitarnej). Ze względu na zniekształcenia sięgające do 90cm/km (rys. 2.5), układ ten jest przeznaczony do sporządzania map w skalach 1: i mniejszych. Rysunek 2.5. Rozkład zniekształceń długości w PUWG 1992 (w cm/km ), cytat [5] 16
17 Praca inżynierska - Pawłowski Michał ROZDZIAŁ 3 OPIS SYMULATORA W tym rozdziale przedstawiony zostanie sposób działania utworzonej aplikacji wraz z dokładnym opisem graficznego interfejsu użytkownika, plików wejściowych niezbędnych do działania programu oraz generowanych plików wyjściowych. Rozdział zawiera także diagramy UML modelujące budowę i działanie aplikacji. 3.1 Środowisko i wybrane narzędzia Symulator jest realizowany w języku C++. Do utworzenia graficznego interfejsu użytkownika jest używana biblioteka OpenGL. Wybór ten podyktowany jest faktem, że za jej pomocą można zarówno w prosty sposób tworzyć animacje jak i zrealizować podstawowe zarządzanie oknami aplikacji [6]. 17
18 3.2 Informacje o GUI Głównym celem tworzonej wizualizacji jest umożliwienie użytkownikowi szybkiej interpretacji uzyskiwanych wyników, a także obserwacji aktualnego położenia i trajektorii lotu statku powietrznego. W jej skład wchodzą: statek powietrzny teren znajdujący się w jego najbliższym otoczeniu siatka przedstawiająca strefy radaru rzuty perspektywiczne wybranych warstw siatki radaru informacje o trajektorii lotu przedstawiane w trybie tekstowym Teren przedstawiony na wizualizacji (rys. 3.1) tworzony jest przy pomocy map cyfrowych. Jest on budowany z sześcianów, których kolor oraz wysokość zależy od rodzaju terenu oraz wysokości, na jakiej ruch powietrzny nie jest dla danego terenu wskazany (wysokość ta będzie uważana przez radar oraz wysokościomierz za poziom ziemi). Radar wyświetlany jest w postaci siatki zbudowanej z ostrosłupów. każdy z nich reprezentuje jedną strefę radaru. W przypadku wykrycia obiektu w danej strefie, zostanie ona oznaczona kolorem czerwonym (rys. 3.2). Ze względu na rozmiar map cyfrowych, podczas pokazywania całego terenu niemożliwe okazało się płynne działanie radaru. W związku z tym wprowadzona została możliwość zmiany promienia pola widzenia w zakresie 1000~2500m, co pozwala znacznie poprawić efektywność działania aplikacji. 18
19 Praca inżynierska - Pawłowski Michał Rysunek 3.1. Widok podstawowy graficznego interfejsu użytkownika. Rysunek 3.2. W przypadku wykrycia przeszkody strefa zostaje oznaczona kolorem czerwonym. 19
20 3.3 Pliki wejściowe Pliki konfiguracyjne Pliki konfiguracyjne stanowią podstawę działania programu. Dzięki nim podczas uruchamiania ustalane są parametry działania symulatora oraz pozycja startowa statku powietrznego. Ponadto są w nich zawarte ścieżki plików wejściowych i wyjściowych. Dla przejrzystości utworzone zostały trzy pliki konfiguracyjne: config.txt zawierający informacje o lokalizacji wszystkich plików wejściowych i wyjściowych (w tym pozostałych dwóch plików konfiguracyjnych) (tab. 3.1), plik konfiguracyjny samolotu zawierający informacje o jego pozycji startowej (tab. 3.2) oraz plik konfiguracyjny radaru umożliwiający zmianę jego parametrów(tab. 3.3). Parametry symulatora, które nie są definiowane w pliku konfiguracyjnym tj. rozdzielczość skanowania w azymucie i w elewacji oraz szerokość skanowanej półsfery w azymucie wyznaczane są automatycznie. AIRPLANE_CONFIG config/airplane_config.dat RADAR_CONFIG config/radar_config.dat TERRAIN_TYPE_MAP maps/clutter.txt TERRAIN_HEIGHT_MAP maps/clutter_h.txt AIR_OBSTACLE_MAP maps/air_obstacles.txt PERCEPTION_MAP maps/perception_map.txt TRAJECTORY trajectory/wynik_zakret50ms.dat DETECTION_RESULTS detection_results.dat INCLUDE_TERRAIN_DETECTING false Tabela 3.1. Przykładowy plik konfiguracyjny config.txt. 20
21 Praca inżynierska - Pawłowski Michał Znaczenie pól w pliku konfiguracyjnym: AIRPLANE_CONFIG lokalizacja pliku konfiguracyjnego statku powietrznego, RADAR_CONFIG lokalizacja pliku konfiguracyjnego radaru, TERRAIN_TYPE_MAP lokalizacja pliku wejściowego zawierającego mapy cyfrowe z danymi o typie terenu TERRAIN_HEIGHT_MAP lokalizacja pliku wejściowego zawierającego mapy cyfrowe z danymi o wysokości terenu AIR_OBSTACLE_MAP lokalizacja pliku wejściowego zawierającego mapy cyfrowe z danymi o przeszkodach lotniczych PERCEPTION_MAP - lokalizacja pliku wyjściowego zawierającego mapy cyfrowe z danymi o prawdopodobieństwie wykrycia przeszkody TRAJECTORY - lokalizacja pliku wejściowego zawierającego informacje o trajektorii lotu DETECTION_RESULTS - lokalizacja pliku wyjściowego zawierajacego infromacje o wynikach detekcji obiektów INCLUDE_TERRAIN_DETECTING - informacja dla symulatora, czy w detekcji obiektów należy uwzględniać elementy terenu (zalecane dla symulacji przy niskim pułapie lotu). Możliwe wartości: "true", "false". START_POS_X START_POS_Y Tabela 3.2. Przykładowy plik konfiguracyjny statku powietrznego. Znaczenie pól w pliku konfiguracyjnym statku powietrznego: START_POS_X współrzędna x pozycji startowej (w układzie PUWG 1992), START_POS_Y współrzędna y pozycji startowej (w układzie PUWG 1992). 21
22 ZONES_IN_AZIMUTH 13 ZONES_IN_ELEVATION 2 LINES_IN_AZIMUTH 2 LINES_IN_ELEVATION 2 EL_MAX_SPHERE_WIDTH 36 EL_MIN_SPHERE_WIDTH -12 RANGE 200 TIME 0.08 Tabela 3.3. Przykładowy plik konfiguracyjny radaru. Znaczenie pól w pliku konfiguracyjnym radaru: ZONES_IN_AZIMUTH ilość wydzielonych stref w azymucie, ZONES_IN_ELEVATION ilość wydzielonych stref w elewacji, LINES_IN_AZIMUTH ilość promieni wewnętrznych w azymucie przypadających na jedną strefę, LINES_IN_ELEVATION ilość promieni wewnętrznych w elewacji przypadających na jedną strefę, EL_MAX_SPHERE_WIDTH - kąt określający położenie skanowanej półsfery w elewacji EL_MIN_SPHERE_WIDTH - kąt określający położenie skanowanej półsfery w elewacji RANGE - zasięg radaru TIME - czas skanowania wszystkich stref Mapy cyfrowe Mapy cyfrowe są liczbową reprezentacją terenu, nad którym porusza się statek powietrzny. Każda z map składa się z nagłówka określającego położenie opisywanego terenu oraz ciągu wartości liczbowych (tab. 3.4), który określa wysokość lub rodzaj terenu. Każdy rodzaj terenu posiada numer identyfikacyjny interpretowany przez mapy oraz przypisaną, typową wysokość względną, przy której ruch powietrzny nie jest wskazany (tab. 3.5). 22
23 Praca inżynierska - Pawłowski Michał ncols 485 nrows 762 xllcorner yllcorner cellsize 20 NODATA_value Tabela 3.4. Przykładowy nagłówek mapy cyfrowej wraz z jej fragmentem. Znaczenie pól w nagłówku mapy: ncols rozmiar mapy w poziomie (liczba komórek), nrows rozmiar mapy w pionie (liczba komórek), xllcorner współrzędna x dolnego lewego rogu mapy(w układzie PUWG1992 jest to współrzędna y), yllcorner - współrzędna y dolnego lewego rogu mapy (w układzie PUWG1992 jest to współrzędna x), cellsize rozmiar pojedynczej komórki mapy w metrach, NODATA_value wartość oznaczająca brak danych o wysokości/typie terenu w danej komórce. 23
24 Oznaczenie Rodzaj terenu Wysokość 1 Woda 0 16 Tereny wyasfaltowane 0 80 Tereny otwarte Drzewa/teren otwarty przemiennie Lasy mieszane Lasy liściaste Lasy iglaste Zabudowa podmiejska Ogródki działkowe Zabudowa miejska Zabudowa wysoka Zabudowa gęsta Obszary przemysłowe 20 Tabela 3.5. Rodzaje terenu interpretowane przez symulator Plik trajektorii Do animacji lotu samolotu potrzebne są także informacje o trajektorii lotu. Zawarte są one w pliku trajektorii, którego pierwsza linia podaje rodzaj i kolejność danych znajdujących się w pliku, a następne zawierają ciąg wartości liczbowych oddzielanych przecinkiem. W pliku mogą pojawić się następujące dane: x1, y1 położenie liniowe samolotu w płaszczyźnie (względem położenia początkowego) [m], z1=-h wysokość samolotu ze znakiem minus [m], składowa pozioma prędkości liniowej [m/s], składowa poprzeczna prędkości liniowej[m/s], składowa pionowa prędkości liniowej [m/s], składowa prędkości kątowej wzdłuż podłużnej osi samolotu [deg/s], składowa prędkości kątowej wzdłuż poprzecznej osi samolotu [deg/s], 24
25 Praca inżynierska - Pawłowski Michał składowa prędkości kątowej wzdłuż pionowej osi samolotu [deg/s], kąt przechylenia samolotu [deg], kąt pochylenia samolotu [deg], kąt odchylenia samolotu [deg]. Do działania symulatora wymagane są jedynie: położenie liniowe samolotu, wysokość oraz kąt pochylenia w każdej z płaszczyzn, jednak plik trajektorii jest plikiem wyjściowym innego elementu systemu antykolizyjnego, w związku z czym aplikacja musi być w stanie wybrać z niego interesujące ją informacje [1]. 3.4 Pliki wyjściowe Plik z wykrytymi obiektami Podczas animacji symulator zbiera dane o wykrytych obiektach. Są one zapisywane do pliku wyjściowego, którego każda linia odpowiada jednemu skanowaniu stref radaru. Zawarte są w niej informacje o aktualnej pozycji i rotacji statku powietrznego oraz numery identyfikacyjne oraz stopień pokrycia obiektami każdej ze stref (w szczególności 0 oznacza brak obiektów wykrytych w danej strefie) Mapa percepcyjna Drugi z tworzonych plików jest to mapa percepcyjna utworzona o strukturze podobnej do wcześniej przedstawionych map cyfrowych [2]. Jest ona budowana zgodnie z ideą siatki pewności (certainty grid) i zawiera informacje o prawdopodobieństwie wykrycia obiektów w danym miejscu w oparciu o poprzednio wykonywane skanowania (tab 3.6). Za każdym razem kiedy radar wykryje obiekt w danym obszarze, prawdopodobieństwo wykrycia go ponownie rośnie. Zebrane w ten sposób informacje mogą sprawić, że przy następnym przelocie system antykolizyjny zdecyduje się zmienić trajektorię lotu zanim jeszcze przeszkoda zostanie wykryta przez radar. 25
26 Możliwe jest wyświetlenie utworzonej przez program mapy percepcyjnej. Jest to mapa o dokładności i parametrach identycznych jak mapa przeszkód lotniczych, przedstawiona w skali szarości. Prawdopodobieństwo wykrycia przeszkody w danym obszarze jest tym wyższe, im ciemniejszy jest jego kolor. ncols 485 nrows 762 xllcorner yllcorner cellsize 20 NODATA_value Tabela 3.6. Przykładowy nagłówek mapy percepcyjnej wraz z jej fragmentem. 26
27 Praca inżynierska - Pawłowski Michał 3.5 Struktura programu Diagram przypadków użycia 27
28 3.5.2 Diagram klas 28
29 Praca inżynierska - Pawłowski Michał Diagram czynności 29
30 3.6 Testowanie Do testowania programu posłużyły dane zapisane w mapie percepcyjnej. Zostały one porównane z odpowiadającymi im obszarami mapy przeszkód lotniczych Wykrywanie omijanej przeszkody W tym teście celem radaru było wykrycie przeszkód podczas manewru skręcania (rys. 3.3). Pełne wykrycie pierwszej przeszkody było niemożliwe, ponieważ duża jej część znajdowała się poza zasięgiem radaru (rys. 3.4). Rysunek 3.3. Przeszkody lotnicze wykrywane podczas manewru skrętu w lewo. Rysunek 3.4. Mapa percepcyjna wygenerowana podczas manewru skrętu w lewo Przelatywanie nad przeszkodami W tym teście sprawdzona została efektywność radaru podczas przelatywania tuż nad przeszkodami podczas identycznego skrętu w lewo (rys. 3.5). W związku z rozmieszczeniem stref radaru w elewacji przeszkody były widoczne tylko przez chwilę, co spowodowało niską wartość gęstości prawdopodobieństwa wpisaną do mapy cyfrowej w miejscu położenia 30
31 Praca inżynierska - Pawłowski Michał przeszkody (rys. 3.6). Po zmianie parametrów pracy radaru na 3 strefy w elewacji wykrywające w zakresie uzyskane wyniki dużo lepiej oddają położenie przeszkód (rys. 3.7). Rysunek 3.5. Przeszkody lotnicze wykrywane podczas manewru skrętu w lewo podczas przelatywania nad przeszkodami znajdującymi się po lewej stronie rysunku. Rysunek 3.6. Mapa percepcyjna wygenerowana podczas manewru skrętu w lewo podczas przelatywania nad przeszkodami znajdującymi się po lewej stronie rysunku. Rysunek 3.7. Mapa percepcyjna wygenerowana podczas manewru skrętu w lewo podczas przelatywania nad przeszkodami znajdującymi się po lewej stronie rysunku po zmianie parametrów pracy radaru. 31
32 3.6.3 Kolizja z przeszkodą W tym teście pokazane zostały dane generowane podczas kolizji z przeszkodą podczas lotu prosto (rys 3.8). W związku z niedużą odległością przeszkody symulator jest w stanie oznaczyć ją na mapie percepcyjnej dużo lepiej niż w poprzednich testach (rys. 3.9). Rysunek 3.8. Przeszkody lotnicze znajdujące się w polu widzenia podczas kolizji z przeszkodą znajdującą się po prawej stronie. Rysunek 3.9. Mapa percepcyjna wygenerowana podczas kolizji z przeszkodą. 32
33 Praca inżynierska - Pawłowski Michał ROZDZIAŁ 4 INSTRUKCJA OBSŁUGI Ten rozdział zawiera instrukcję użytkownika, w której przedstawiony zostanie sposób instalacji symulatora, sposób jego obsługi oraz opis dostępnych operacji. 4.1 Instalacja W katalogu, w którym znajduje się program należy utworzyć folder config, a w nim plik config.dat (o ile nie istnieje) według schematu podanego w rozdziale 3.3.1, w którym należy uzupełnić wszystkie wymagane pola. Następnie można uruchomić program przy pomocy pliku wykonywalnego RadarSimulator.exe. 33
34 4.2 Okno główne Po uruchomieniu programu użytkownik może zobaczyć okno główne składające się z widoku perspektywicznego oraz panelu bocznego znajdującego się po prawej stronie ekranu. W widoku perspektywicznym widoczny jest statek powietrzny wraz z jego najbliższym otoczeniem oraz siatką symulowanego radaru. W panelu bocznym znajdują się cztery okna, przedstawiające informacje o aktualnie wykrywanych obiektach oraz trajektorii lotu. W dwóch górnych oknach znajduje się rzut perspektywiczny kolejnych stref radaru w azymucie. W trzecim oknie przedstawiany jest widok radaru z boku, natomiast w czwartym oknie przedstawione są informacje o trajektorii lotu w trybie tekstowym. Istnieje możliwość wyświetlenia mapy przeszkód lotniczych oraz utworzonej mapy percepcyjnej poprzez wybranie odpowiedniego trybu w zakładce "View" menu kontekstowego. Spowoduje to zatrzymanie animacji i niemożność jej wznowienia, dopóki program nie zostanie ponownie przełączony w tryb widoku perspektywicznego. 4.3 Obsługa symulatora możemy: Obsługa programu odbywa się przy pomocy menu kontekstowego. Za jego pomocą wznowić/zatrzymać animację (skrót klawiszowy: P) włączyć/wyłączyć tryb podążania kamery za statkiem powietrznym (skrót klawiszowy: M) zwiększyć/zmniejszyć promień widzenia (skróty klawiszowe: +/-) wybrać tryb wyświetlania (skrót klawiszowy: V) zakończyć działanie aplikacji (skrót klawiszowy: ESC) 34
35 Praca inżynierska - Pawłowski Michał ROZDZIAŁ 5 ZAKOŃCZENIE 5.1 Podsumowanie W ramach pracy inżynierskiej został wykonany symulator radaru statku powietrznego spełniający wszystkie wymagania funkcjonalne ujęte w zakresie pracy. Umożliwia on sprawdzenie sposobu działania radaru przy użyciu różnych ustawień i porównanie ich na podstawie plików wyjściowych. Może on zostać wykorzystany w projekcie AURA bez potrzeby ingerencji w pliki, ani w strukturę tego systemu. Poza przeprowadzaniem samych symulacji, utworzona aplikacja może posłużyć także do zaprezentowania działania całego systemu antykolizyjnego. W tym wypadku jako pliki wejściowe powinny posłużyć dane wygenerowane podczas lotu. Dzięki temu poza wykrywanymi obiektami, będzie można także zaobserwować podejmowane przez system decyzje o zmianie trajektorii lotu. Temat pracy został zaprezentowany 30 maja na konferencji XXX-th IEEE-SPIE Joint Symposium Wilga 2012 [3]. 35
36 5.2 Perspektywy kontynuacji Pomimo spełnienia wszystkich wymagań pracy, nadal istnieje wiele możliwości ulepszenia utworzonego symulatora. Obecnie program obsługuje tylko jedną mapę cyfrową, której ścieżka jest podana w pliku konfiguracyjnym. W momencie opuszczenia przez statek powietrzny terenu opisywanego przez mapę animacja ulega zatrzymaniu. W kolejnej wersji programu możliwe mogłoby być wykrycie tego typu sytuacji i wczytanie kolejnego pliku z mapami z odpowiedniego katalogu lub pobranie odpowiednich map z Internetu. Kolejną możliwą ścieżką rozwoju jest utworzenie narzędzia do samodzielnego definiowania przeszkód lotniczych oraz prostych trajektorii lotu, dzięki któremu testowanie zachowania radaru będzie wymagało mniejszego wkładu pracy. Możliwe jest także poprawienie wydajności programu poprzez minimalizację informacji przesyłanych z procesora karty graficznej. W tym celu należałby zmienić sposób wyświetlania elementów terenu w taki sposób, aby analizowane były tylko te widoczne w scenie oraz zastosować mechanizm Vetrex Buffer Objects. 36
37 Praca inżynierska - Pawłowski Michał BIBLIOGRAFIA [1] "Autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujący aktywną metodę teledetekcji obiektów - Koncepcja systemu antykolizyjnego", Instytut Lotnictwa, [2] Stanisław Jankowski, Zbigniew Szymański, Jan Szczyrek, "Metoda tworzenia modelu otoczenia z pomiarów Radarowego Detektora Przeszkód w systemie unikania kolizji", w druku. [3] Michał Pawłowski, Zbigniew Szymański, "Environment model for unmanned flying vehicles based on simulated radar data", w druku. [4] R. Pażus, J. Bosy, "Państwowy system odniesień przestrzennych. Część 1: systemy i układy odniesienia w Polsce", Główny Urząd Geodezji I Kartografii [5] Układ współrzędnych PUWG 1992, [6] Mark J. Kilgard, "The OpenGL Utility Toolkit (GLUT) Programming Interface", [7] Mark Segal, Kurt Akeley, "The OpenGL Graphics System: A Specification (Version 4.2)", [8] J. D. Grithy, M. J. Kochenderferz, J. K. Kuchar, "Electro-Optical System Analysis for Sense and Avoid", AIAA Guidance - Navigation and Control Conference and Exhibit, American Institute of Aeronautics and Astronautics, 1-11 (2008) 37
38 DODATEK A OPIS KLAS ORAZ METOD W plikach OpenGL.cpp oraz OpenGL.hpp (nagłówkowy) zawarte są funkcje pozwalające zarządzać budową oraz wyświetlaniem okien. Służą jako kontroler całej aplikacji. Nazwa funkcji Argumenty Wartość Opis zwracana initanimation() Argumenty wywołania programu (int, int**) - Inicjalizuje zmienne i wczytuje pliki wejściowe startanimation() - - Rozpoczyna animacje przy pomocy funkcji glutmainloop() close() - - Zamyka program createmenus() menu() menumap() menufollow() - - Inicjalizacja i zarządzanie menu kontekstowym 38
39 Praca inżynierska - Pawłowski Michał createwindows() init() idle() timer() reshapesubwindows() reshapemainwindow() displaymain() inputkey() specialkey() displaytoplayer() displaybotlayer() displayside() displayperspective() displayobjects() - - Inicjalizacja i zarządzanie podoknami aplikacji - - Definicja skrótów klawiszowych - - Wyświetlenie rzutów perspektywicznych w trzech górnych pod oknach aplikacji - - Wyświetlenie widoku perspektywicznego displayinfo() - - Wyświetlenie żądanych informacji w dolnym podoknie aplikacji drawstring Tekst, Kolor, Czcionka (char*, flaot*, void*) - Wyświetla podany tekst w wybranym kolorze oraz przy użyciu wybranej czcionki calculatefps() - - Oblicza ilosć wyświetlanych klatek na sekundę na podstawie numeru klatki Tabela 1. Funkcje w plikach OpenGL.cpp oraz OpenGL.hpp. 39
40 Klasa Radar zawarta jest w plikach Radar.cpp oraz Radar.hpp (nagłówkowy). Pozwala ona wykrywać obiekty znajdujące się na liście pobliskich przeszkód lotniczych, a także wyświetlić wyniki detekcji na ekranie. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Radar:: Radar() Nazwa pliku konfiguracyjnego (std::string) - Tworzy obiekt reprezentujący radar na podstawie pliku konfiguracyjnego Radar:: drawzones() Radar:: drawinnerlines() - - Wyświetla strefy radaru - - Wyświetla promienie wewnętrzne w każdej ze sfer Radar:: drawlayer() Numer warstwy siatki radaru (int) - Wyświetla rzut perspektywiczny w poziomie wybranej warstwy siatki radaru Radar:: drawside() - - Wyświetla rzut perspektywiczny w pionie siatki radaru Radar:: Odległość w jakiej Prawda/Fałsz Sprawdza, czy podana odległość isinrange() znajduje się inny obiekt (bool) jest mniejsza od zasięgu radaru (float) Radar:: detect() Lista przeszkód (Obstacles*) - Sprawdza, czy przeszkody znajdujące się na liście zostaną wykryte przez radar Tabela 2. Metody publiczne klasy Radar. 40
41 Praca inżynierska - Pawłowski Michał Klasa Altimeter zawarta jest w plikach Altimeter.cpp oraz Altimeter.hpp (nagłówkowy). Reprezentuje ona wysokościomierz i pozwala obliczyć wykrywaną przez niego wysokość. Nazwa klasy:: Argumenty Wartość Opis Nazwa metody zwracana Altimeter:: Altimeter Mapa cyfrowa (DigitalMap*) - Tworzy obiekt reprezentujący wysokościomierz, który będzie pobierał dane z podanej mapy cyfrowej Altimeter:: Indeksy aktualnej pozycji float Zwraca wartość wysokości getdetectedheight() w podanej mapie cyfrowej, wykrywaną przez aktualna wysokość wysokościomierz (int, int, float) Tabela 4. Metody publiczne klasy Altimeter. Klasa Airplane zawarta jest w plikach Airplane.cpp oraz Airplane.hpp (nagłówkowy). Przechowuje ona informacje o aktualnym położeniu samolotu w przestrzeni. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Airplane:: Airplane() Nazwa pliku konfiguracyjnego (std::string) - Tworzy obiekt reprezentujący statek powietrzny Airplane:: draw() - - Wizualizuje obiekt przy pomocy biblioteki OpenGL Tabela 4. Metody publiczne klasy Airplane. 41
42 Klasa Trajectory zawarta jest w plikach Trajectory.cpp oraz Trajectory.hpp (nagłówkowy). Przechowuje ona informacje o trajektorii lotu statku powietrznego. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Trajectory:: Trajectory() Nazwa pliku konfiguracyjnego (std::string) - Tworzy obiekt reprezentujący trajektorię lotu Trajectory:: scale() Skala (float) - Przeskalowanie wszystkich parametrów trajektorii wyrażonych w metrach Trajectory:: reset() - - Ustawia pozycję początkową jako aktualną pozycję Trajectory:: printtrajectory() Nazwa pliku (std::string) - Zapisuje trajektorię do pliku o wskazanej nazwie Tabela 3. Metody publiczne klasy Trajectory. 42
43 Praca inżynierska - Pawłowski Michał Klasa DigitalMap zawarta jest w plikach DigitalMap.cpp oraz DigitalMap.hpp (nagłówkowy). Służy ona do reprezentacji wszystkich map cyfrowych używanych w czasie działania aplikacji. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody DigitalMap:: DigitalMap() Wartości nagłówka mapy cyfrowej (int, int, float, float, float, float) - Tworzy obiekt reprezentujący mapę cyfrową o podanych parametrach i wartościach równych NODATA_value DigitalMap:: DigitalMap() Nazwa pliku z mapą cyfrową (std::string) - Tworzy obiekt reprezentujący mapę cyfrową na podstawie podanego pliku DigitalMap:: printmap() - - Zapisuje mapę cyfrową do pliku o wcześniej podanej nazwie DigitalMap:: printmap() Nazwa pliku docelowego (std::string) - Zapisuje mapę cyfrową do podanego pliku DigitalMap:: scale() Skala (float) - Skaluje wartości nagłówka wyrażone w metrach i wartości mapy cyfrowej, jeśli są wyrażone w metrach Tabela 5. Metody publiczne klasy DigitalMap. 43
44 Pliki Geometry.cpp oraz Geometry.hpp (nagłówkowy) zawierają klasy reprezentujące punkt, linię, odcinek, czworokąt, trójkąt, płaszczyznę oraz wektor. Każda z nich umożliwia wykonywanie operacji matematycznych, dzięki którym realizowany jest algorytm wykrywania obiektów. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Point:: Point() - - Tworzy obiekt reprezentujący punkt o współrzędnych (0, 0, 0) Point:: Point() Współrzędne punktu (float, float, float) - Tworzy obiekt reprezentujący punkt o podanych współrzędnych Point:: Point() Punkt (Point*) - Tworzy obiekt reprezentujący punkt o współrzędnych równych współrzędnym podanego punktu Point:: rotate() Kąty obrotu w osiach OX, OY oraz OZ (float, flaot, float) - Obraca punkt wokół punktu (0, 0, 0) static Point:: rotate() Punkt, kąty obrotu w osiach OX, OY oraz OZ (Point*, float, flaot, float) - Obraca podany punkt wokół punktu (0, 0, 0) Point:: Punkt Odległość od Oblicza odległość od podanego distance() (Point*) podanego punktu punktu (float) static Point:: Punkt, Punkt Odległość pomiędzy Oblicza odległość pomiędzy distance() (Point*, Point*, dwoma punktami dwoma punktami Point*) (float) 44
45 Praca inżynierska - Pawłowski Michał Point:: Współrzędne punktu Prawda/Fałsz Sprawdza, czy współrzędne isequal() (float, float, float) (bool) punktu są równe podanym współrzędnym Point:: Punkt Prawda/Fałsz Sprawdza, czy współrzędne isequal() (Point*) (bool) punktu są równe współrzędnym podanego punktu Point:: gldraw() - - Wykonuje funkcję glvertex3f() przy użyciu współrzędnych punktu Tabela 6. Metody publiczne klasy Point. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody LineSegment:: LineSegment() - - Tworzy obiekt reprezentujący odcinek LineSegment:: LineSegment() Punkt, Punkt (Point*, Point*) - Tworzy obiekt reprezentujący odcinek o punktach początkowym i końcowym równym podanym pounktom LineSegment:: LineSegment() Odcinek (LineSegment*) - Tworzy obiekt reprezentujący odcinek o identyczny do podanego LineSegment:: gldraw() - - Wyświetla linię przy pomocy biblioteki OpenGL Tabela 7. Metody publiczne klasy LineSegment. 45
46 Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Vector:: Vector() - - Tworzy obiekt reprezentujący wektor o współrzędnych (0, 0, 0) Vector:: Vector() Współrzędne punktu (float, float, float) - Tworzy obiekt reprezentujący wektor o podanych współrzędnych Vector:: Vector() Punkt, Punkt (Point*, Point*, Point*) - Tworzy obiekt reprezentujący wektor o początku w punkcie pierwszym i końcu w punkcie drugim Vector:: Vector() Wektor (Vector*) - Tworzy obiekt reprezentujący wektor o współrzędnych równych współrzędnym podanego wektora Vector:: Współrzędne wektora Prawda/Fałsz Sprawdza, czy współrzędne isequal() (float, float, float) (bool) wektora są równe podanym współrzędnym Vector:: Wektor Prawda/Fałsz Sprawdza, czy współrzędne isequal() (Vector*) (bool) wektora są równe współrzędnym podanego wektora Vector:: Wektor Iloczyn wektorowy Oblicza iloczyn wektorowy crossproduct() (Vector*) (Vector*) static Vector:: Wektor, Wektor Iloczyn wektorowy Oblicza iloczyn wektorowy crossproduct() (Vector*, Vector*) (Vector*) dwóch wektorów Tabela 8. Metody publiczne klasy Vector. 46
47 Praca inżynierska - Pawłowski Michał Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Line:: Line() - - Tworzy obiekt reprezentujący prostą Line:: Line() Punkt, Punkt (Point*, Point*) - Tworzy obiekt reprezentujący prostą przechodzącą przez podane punkty Line:: Line() Punt, Wektor kierunkowy prostej (Point*, Vector*) - Tworzy obiekt reprezentujący prostą o podanym wektorze kierunkowym, która przechodzi przez dany punkt Line:: Line() Linia (Line*) - Tworzy obiekt reprezentujący prostą identyczną do podanej Line:: Punkt Prawda/Fałsz Sprawdza, czy podany punkt belong() (Point*) (bool) należy do prostej Line:: Punkt Punkt będący rzutem Rzutuje punkt na prostą project() (Point*) punktu podanego jako argument funkcji (Point*) Tabela 9. Metody publiczne klasy Line. 47
48 Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Plane:: Plane() - - Tworzy obiekt reprezentujący płaszczyznę Plane:: Plane() Parametry równania ogólnego płaszczyzny (float, float, float) - Tworzy obiekt reprezentujący płaszczyznę o podanych parametrach równania ogólnego Plane:: Plane() Punkt, Punkt, Punkt (Point*, Point*, Point*) - Tworzy obiekt reprezentujący płaszczyznę przechodzącą przez podane punkty Plane:: Plane() Płaszczyzna (Plane*) - Tworzy obiekt reprezentujący płaszczyznę identyczną do podanej Plane:: Punkt Prawda/Fałsz Sprawdza, czy podany punkt belongs() (Point*) (bool) należy do płaszczyzny Plane:: Linia Punkt przecięcia Oblicza punkt przecięcia podanej crosspoint() (Line*) prostej z płaszczyzną prostej z płaszczyzną (Point*) Plane:: getnormal() - Wektor prostopadły do płaszczyzny (Vector*) Zwraca wektor prostopadły do płaszczyzny Tabela 10. Metody publiczne klasy Plane. 48
49 Praca inżynierska - Pawłowski Michał Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Triangle:: Triangle () - - Tworzy obiekt reprezentujący trójkąt Triangle:: Triangle () Punkt, Punkt, Punkt (Point*, Point*, Point*) - Tworzy obiekt reprezentujący trójkąt składający się z podanych punktów Triangle:: Triangle () Trójkąt (Triangle *) - Tworzy obiekt reprezentujący trójkąt identyczny do podanego Triangle:: getnormal() - Wektor prostopadły do trójkąta (Vector*) Zwraca wektor prostopadły do trójkąta Triangle:: gldraw() - - Wyświetla trójkąt przy pomocy biblioteki OpenGL Triangle:: gldraw () Wektor (Vector*) - Wyświetla trójkąt przy pomocy biblioteki OpenGL przyjmując podany wektor jako jego normalną Tabela 11. Metody publiczne klasy Triangle. 49
50 Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Quadrilateral:: Quadrilateral() - - Tworzy obiekt reprezentujący czworokąt Quadrilateral:: Quadrilateral() Punkt, Punkt, Punkt, Punkt (Point*, Point*, Point*, Point*) - Tworzy obiekt reprezentujący czworokąt składający się z podanych punktów Quadrilateral:: Quadrilateral() Czworokąt (Quadrilateral*) - Tworzy obiekt reprezentujący czworokąt identyczny do podanego Quadrilateral:: Punkt Prawda/Fałsz Sprawdza, czy punkt należy do belongs() (Point*) (bool) czworokąta Quadrilateral:: getnormal() - Wektor prostopadły do czworokąta (Vector*) Zwraca wektor prostopadły do czworokąta Quadrilateral:: gldraw() - - Wyświetla czworokąt przy pomocy biblioteki OpenGL Quadrilateral:: gldraw () Wektor (Vector*) - Wyświetla czworokąt przy pomocy biblioteki OpenGL przyjmując podany wektor jako jego normalną Tabela 12. Metody publiczne klasy Quadrilateral. 50
51 Praca inżynierska - Pawłowski Michał Klasa Complex zawarta jest w plikach Complex.cpp oraz Complex.hpp (nagłówkowy). Pozwala ona na wykonywanie operacji na liczbach zespolonych. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Complex:: Complex() Część rzeczywista i część urojona (float float) - Tworzy obiekt reprezentujący liczbę zespoloną o części rzeczywistej i urojonej równej podanym Complex:: Complex() Liczba zespolona (Complex&) - Tworzy obiekt reprezentujący liczbę zespoloną równą podanej liczbie zespolonej Operatory Liczba zespolona Liczba zespolona Tworzy obiekt będący wynikiem +, -, *, / (Complex&) (Complex) podanej operacji na dwóch liczbach zespolonych Operatory Liczba zespolona Liczba zespolona Wykonuje operację na dwóch +=, -=, *=, /= (Complex&) (Complex&) liczbach zespolonych Complex:: Liczba zespolona Odległość pomiędzy Oblicza odległość pomiędzy distance() (Complex&) dwoma liczbami zespolonymi dwoma liczbami zespolonymi (float) Complex:: Liczba zespolona, Odległość pomiędzy Oblicza odległość pomiędzy distance() Liczba zespolona dwoma liczbami dwoma liczbami zespolonymi (Complex&, zespolonymi Complex&) (float) Tabela 13. Metody publiczne klasy Complex. 51
52 Klasa FileWriter zawarta jest w plikach FileWriter.cpp oraz FileWriter.hpp (nagłówkowy). Służy ona do przechowywania i zapisu do pliku dowolnych operacji. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody FileWriter:: FileWriter() - - Tworzy nowy obiekt do przechowywania informacji FileWriter:: FileWriter() Nazwa pliku docelowego (std::string) - Tworzy nowy obiekt do przechowywania informacji FileWriter:: addline() Następna linia pliku (std::string) - Dodaje do przechowywanych informacji kolejną linię FileWriter:: createfile() - Tworzy nowy plik o nazwie podanej podczas tworzenia obiektu FileWriter:: createfile() Nazwa pliku docelowego (std::string) - Tworzy nowy plik o podanej nazwie Tabela 14. Metody publiczne klasy FileWriter. 52
53 Praca inżynierska - Pawłowski Michał Klasa Obstacles zawarta jest w plikach Obstacles.cpp oraz Obstacles.hpp (nagłówkowy). Służy ona do przechowywania listy znajdujących się w pobliżu przeszkód. Nazwa klasy:: Argumenty Wartość zwracana Opis Nazwa metody Obstacles:: Obstacles() - - Tworzy nową listę przeszkód Obstacles:: begin() - Pierwsza przeszkoda z listy (Obstacle*) Zwraca wskazanie na pierwszą przeszkodę z listy Obstacles:: end() - Ostatnią przeszkoda z listy (Obstacle*) Zwraca wskazanie na ostatnią przeszkodę z listy Obstacles:: add() Punkt, Punkt, Punkt, Punkt (Point*, Point*, Point*, Point*) - Tworzy nową przeszkodę o podanych współrzędnych i dodaje ją do listy Obstacles:: add() Czworokąt (Quadrilateral*) - Tworzy nową przeszkodę o współrzędnych równych współrzędnym czworokąta i dodaje ją do listy Obstacles:: clear() - - Usuwa wszystkie przeszkody z listy Obstacles:: isempty() - Prawda/Fałsz (bool) Sprawdza, czy lista przeszkód jest pusta Obstacles:: size() - Ilość obiektów znajdujących się w liście Zwraca informację o ilości przeszkód znajdujących się na liście Tabela 15. Metody publiczne klasy Obstacles. 53
METOdA TWORzENiA MOdELU OTOCzENiA z POMiARóW RAdAROWEgO detektora PRzESzkód W SYSTEMiE UNikANiA kolizji
PRACE instytutu LOTNiCTWA 224, s. 20-30, Warszawa 2012 METOdA TWORzENiA MOdELU OTOCzENiA z POMiARóW RAdAROWEgO detektora PRzESzkód W SYSTEMiE UNikANiA kolizji StaNISłaW JaNkoWSkI*, ZbIgNIeW SZymańSkI*,
SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink. Celem ćwiczenia jest symulacja działania (w środowisku Matlab/Simulink) sterownika dla dwuosiowego robota
Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30
Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego
KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH
Wstęp Ten multimedialny program edukacyjny zawiera zadania konstrukcyjne pozwalające na samodzielne ćwiczenie i sprawdzenie wiadomości w zakresie konstrukcji podstawowych figur geometrycznych. Jest przeznaczony
MODEL STANOWISKA DO BADANIA OPTYCZNEJ GŁOWICY ŚLEDZĄCEJ
Mgr inż. Kamil DZIĘGIELEWSKI Wojskowa Akademia Techniczna DOI: 10.17814/mechanik.2015.7.232 MODEL STANOWISKA DO BADANIA OPTYCZNEJ GŁOWICY ŚLEDZĄCEJ Streszczenie: W niniejszym referacie zaprezentowano stanowisko
PRACA DYPLOMOWA MAGISTERSKA
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres
Wizualizacja płomienia
Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Wizualizacja płomienia Autor: Weronika Matlakiewicz Opiekun projektu: dr inż. Bogdan Kreczmer 4 czerwca
POMOC / INSTRUKCJA OBSŁUGI
POMOC / INSTRUKCJA OBSŁUGI 1. Powiększanie mapy 2. Plakat 3. Schemat lekcji 4. Broszura informacyjna 5. Instrukcja obsługi Pasek narzędzi i menu wyboru Zmiana skali mapy Mini mapa - podgląd na położenie
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.
1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a
Rysowanie precyzyjne. Polecenie:
7 Rysowanie precyzyjne W ćwiczeniu tym pokazane zostaną różne techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2010, między innymi wykorzystanie punktów charakterystycznych. Z uwagi na
OPROGRAMOWANIE DEFSIM2
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych OPROGRAMOWANIE DEFSIM2 Instrukcja użytkownika mgr inż. Piotr Trochimiuk, mgr inż. Krzysztof Siwiec, prof. nzw. dr hab. inż. Witold Pleskacz
Projektowanie systemów zrobotyzowanych
ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium Projektowanie systemów zrobotyzowanych Instrukcja 4 Temat: Programowanie trajektorii ruchu Opracował: mgr inż. Arkadiusz Pietrowiak mgr inż. Marcin Wiśniewski
Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL
Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n
2.2 Opis części programowej
2.2 Opis części programowej Rysunek 1: Panel frontowy aplikacji. System pomiarowy został w całości zintegrowany w środowisku LabVIEW. Aplikacja uruchamiana na komputerze zarządza przebiegiem pomiarów poprzez
Tworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
VetLINK moduł MAPA Instrukcja obsługi
VetLINK moduł MAPA Instrukcja obsługi Spis treści Wstęp...1 Przeglądanie i filtrowanie danych...3 Dodawanie nowych obiektów...3 Dodawanie miejsca...3 Dodawanie ogniska...3 Dodawanie obszaru...4 Wstęp Moduł
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie
KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012
Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować
Spis treści. 1 Moduł Mapy 2
Spis treści 1 Moduł Mapy 2 1.1 Elementy planu............................. 2 1.1.1 Interfejs widoku......................... 3 1.1.1.1 Panel sterujacy.................... 3 1.1.1.2 Suwak regulujacy przybliżenie...........
Trójwymiarowa grafika komputerowa rzutowanie
Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie
Pasek menu. Ustawienia drukowania
Polecenie Ustawienia drukowania... z menu Plik pozwala określić urządzenie drukujące poprzez jego wybór z pola kombi. Urządzenie można skonfigurować poprzez przycisk właściwości. Otwiera się wówczas okno
Instrukcja obsługi programu Do-Exp
Instrukcja obsługi programu Do-Exp Autor: Wojciech Stark. Program został utworzony w ramach pracy dyplomowej na Wydziale Chemicznym Politechniki Warszawskiej. Instrukcja dotyczy programu Do-Exp w wersji
Systemy uczące się Lab 4
Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego
Wybór manewru antykolizyjnego metodą ARTMAP
Rok akademicki 2012/2013 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INŻYNIERSKA Adam Antoniuk Wybór manewru antykolizyjnego metodą ARTMAP
Wprowadzenie do rysowania w 3D. Praca w środowisku 3D
Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać
Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN
Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN Program GEOPLAN umożliwia zmianę układu współrzędnych geodezyjnych mapy. Można tego dokonać przy udziale oprogramowania przeliczającego
Badanie ruchu złożenia
Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.
BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły
BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły Po uruchomieniu programu Blender zawsze ukaże się nam oto taki widok: Jak
10.3. Typowe zadania NMT W niniejszym rozdziale przedstawimy podstawowe zadania do jakich może być wykorzystany numerycznego modelu terenu.
Waldemar Izdebski - Wykłady z przedmiotu SIT 91 10.3. Typowe zadania NMT W niniejszym rozdziale przedstawimy podstawowe zadania do jakich może być wykorzystany numerycznego modelu terenu. 10.3.1. Wyznaczanie
dr inż. Tomasz Krzeszowski
Microsoft Robotics Developer Studio dr inż. Tomasz Krzeszowski 2017-05-20 Spis treści 1 Przygotowanie do laboratorium... 3 2 Cel laboratorium... 3 3 Microsoft Robotics Developer Studio... 3 3.1 Wprowadzenie...
Projektowanie systemów zrobotyzowanych
ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium Projektowanie systemów zrobotyzowanych Instrukcja 2 Temat: Rozpoczęcie pracy z programem RobotStudio Opracował: mgr inż. Arkadiusz Pietrowiak mgr inż. Marcin
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:
Ćwiczenie 1 Automatyczna animacja ruchu
Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Ćwiczenie 2 Numeryczna symulacja swobodnego spadku ciała w ośrodku lepkim (Instrukcja obsługi interfejsu użytkownika)
Ćwiczenie 2 Numeryczna symulacja swobodnego spadku ciała w ośrodku lepkim (Instrukcja obsługi interfejsu użytkownika) 1 1 Cel ćwiczenia Celem ćwiczenia jest rozwiązanie równań ruchu ciała (kuli) w ośrodku
Rzutowanie z 4D na 3D
Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Rzutowanie z 4D na 3D Autor: Daniel Piłat Opiekun projektu: dr inż. Bogdan Kreczmer 15 czerwca 2010
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Temat: Platforma Systemowa Wonderware cz. 2 przemysłowa baza danych,
Obróbka po realnej powierzchni o Bez siatki trójkątów o Lepsza jakość po obróbce wykańczającej o Tylko jedna tolerancja jakości powierzchni
TEBIS Wszechstronny o Duża elastyczność programowania o Wysoka interaktywność Delikatne ścieżki o Nie potrzebny dodatkowy moduł HSC o Mniejsze zużycie narzędzi o Mniejsze zużycie obrabiarki Zarządzanie
Julia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu...
Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.
UKŁADY GEODEZYJNE I KARTOGRAFICZNE
UKŁADY GEODEZYJNE I KARTOGRAFICZNE Jarosław Bosy Instytut Geodezji i Geoinformatyki Uniwersytet Przyrodniczy we Wrocławiu Model ZIEMI UKŁAD GEODEZYJNY I KARTOGRAFICZNY x y (f o,l o ) (x o,y o ) ZIEMIA
INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG
INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG dla Państwowy Instytut Geologiczny Państwowy Instytut Badawczy 1. Uruchomienie aplikacji. a. Wprowadź nazwę użytkownika w miejsce Nazwa użytkownika b. Wprowadź hasło
Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu
Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Instrukcja obsługi Aplikacja wizualizuje obszar projektu tj. Dorzecze Środkowej Odry będące w administracji Regionalnego Zarządu
Unity 3D - pierwsze skrypty
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest napisanie pierwszych, prostych skryptów, m.in wyświetlających upływający czas gry oraz jej stan. Wykorzystamy projekt z poprzednich
Animacje z zastosowaniem suwaka i przycisku
Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można
Część II Wyświetlanie obrazów
Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer
str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk
str 1 WYMAGANIA EDUKACYJNE (2017-2018) - matematyka - poziom podstawowy Dariusz Drabczyk Klasa 3e: wpisy oznaczone jako: (T) TRYGONOMETRIA, (PII) PLANIMETRIA II, (RP) RACHUNEK PRAWDOPODOBIEŃSTWA, (ST)
Ćw. nr 31. Wahadło fizyczne o regulowanej płaszczyźnie drgań - w.2
1 z 6 Zespół Dydaktyki Fizyki ITiE Politechniki Koszalińskiej Ćw. nr 3 Wahadło fizyczne o regulowanej płaszczyźnie drgań - w.2 Cel ćwiczenia Pomiar okresu wahań wahadła z wykorzystaniem bramki optycznej
Studia Podyplomowe Grafika Komputerowa i Techniki Multimedialne, 2017, semestr II Modelowanie 3D - Podstawy druku 3D. Ćwiczenie nr 4.
Ćwiczenie nr 4 Metaobiekty 1 Materiały ćwiczeniowe Wszelkie materiały ćwiczeniowe: wykłady, instrukcje oraz ewentualne pliki ćwiczeniowe dla potrzeb realizacji materiału dydaktycznego z przedmiotu Modelowanie
odwzorowanie równokątne elipsoidy Krasowskiego
odwzorowanie równokątne elipsoidy Krasowskiego wprowadzony w 1952 roku jako matematyczną powierzchnię odniesienia zastosowano elipsoidę lokalną Krasowskiego z punktem przyłożenia do geoidy w Pułkowie odwzorowanie
Projektowanie graficzne. Wykład 2. Open Office Draw
Projektowanie graficzne Wykład 2 Open Office Draw Opis programu OpenOffice Draw OpenOffice Draw umożliwia tworzenie prostych oraz złożonych rysunków. Posiada możliwość eksportowania rysunków do wielu różnych
PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM
Mostefa Mohamed-Seghir Akademia Morska w Gdyni PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM W artykule przedstawiono propozycję zastosowania programowania dynamicznego do rozwiązywania
Π 1 O Π 3 Π Rzutowanie prostokątne Wiadomości wstępne
2. Rzutowanie prostokątne 2.1. Wiadomości wstępne Rzutowanie prostokątne jest najczęściej stosowaną metodą rzutowania w rysunku technicznym. Reguły nim rządzące zaprezentowane są na rysunkach 2.1 i 2.2.
1. Prymitywy graficzne
1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy
5.2. Pierwsze kroki z bazami danych
5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,
KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN. Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów
POLITECHNIKA OPOLSKA KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów Przetwarzanie obrazu: skalowanie miary i korekcja perspektywy. Opracował:
Program V-SIM tworzenie plików video z przebiegu symulacji
Program V-SIM tworzenie plików video z przebiegu symulacji 1. Wprowadzenie Coraz częściej zdarza się, że zleceniodawca opinii prosi o dołączenie do opracowania pliku/ów Video z zarejestrowanym przebiegiem
ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI SYSTEMAMI AUTOMATYCZNEGO STEROWANIA
ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI SYSTEMAMI AUTOMATYCZNEGO STEROWANIA Jerzy Graffstein Instytut Lotnictwa, Al. Krakowska 110/114, 02-256 Warszawa Streszczenie Wzrastające wymagania
Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała
Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, 43-305 Bielsko-Biała NIP 937-22-97-52 tel. +48 33 488 89 39 zwcad@zwcad.pl www.zwcad.pl Aplikacja do rysowania wykresów i oznaczania
GPS NAVIGATION SYSTEM QUICK START USER MANUAL
GPS NAVIGATION SYSTEM QUICK START USER MANUAL POLISH Rozpoczynanie pracy Gdy uruchamiasz program nawigacyjny po raz pierwszy, zostanie automatycznie uruchomiony początkowy proces konfiguracji. Wykonaj
Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016
Wymagania na poszczególne oceny szkolne z matematyki dla uczniów klasy IIIa i IIIb Gimnazjum im. Jana Pawła II w Mętowie w roku szkolnym 2015/2016 DZIAŁ 1. FUNKCJE (11h) Uczeń: poda definicję funkcji (2)
Skrócona instrukcja obsługi czujników Fast Tracer firmy Sequoia.
Skrócona instrukcja obsługi czujników Fast Tracer firmy Sequoia. Spis treści 1. Instalacja 2. Konfiguracja 3. Pomiar 4. Zarządzanie danymi 1. Instalacja. W celu rozpoczęcia pracy z urządzeniem FastTracer
Układy współrzędnych
Układy współrzędnych Układ współrzędnych matematycznie - funkcja przypisująca każdemu punktowi danej przestrzeni skończony ciąg (krotkę) liczb rzeczywistych zwanych współrzędnymi punktu. Układ współrzędnych
Spis treści. Wydajność i stabilność... 6 Nowe ustawienia / opcje... 7
Spis treści ADVANCE CONCRETE 2012 CZĘŚĆ PAKIETU GRAITEC BIM... 5 OGÓLNE... 6 Wydajność i stabilność... 6 Nowe ustawienia / opcje... 7 MODEL... 8 Zakończenia elementów widoczne przy zaznaczeniu... 8 Zestawienia
1 Tworzenie brył obrotowych
1 Tworzenie brył obrotowych Do tworzenia brył obrotowych w programie Blender służą dwa narzędzia: Spin i SpinDup. Idea tworzenia brył obrotowych jest prosta i polega na narysowania połowy przekroju poprzecznego
Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.
Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc 1, Ciągi zna definicję ciągu (ciągu liczbowego); potrafi wyznaczyć dowolny wyraz ciągu liczbowego określonego wzorem ogólnym;
Wymagania dla klasy szóstej Treści na 2 na 3 na 4 na 5 na 6 Uczeń: Uczeń: Uczeń: Uczeń: Uczeń: Mnożenie ułamków zwykłych
Wymagania dla klasy szóstej Treści na 2 na 3 na 4 na 5 na 6 Uczeń: Uczeń: Uczeń: Uczeń: Uczeń: Mnożenie ułamków zwykłych Dzielenie ułamków zwykłych Liczby całkowite na osi liczbowej Dodawanie liczb całkowitych
Załącznik nr 8. do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej województwo podkarpackie
MINISTERSTWO ROZWOJU REGIONALNEGO Załącznik nr 8 do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej Instrukcja obliczania wskaźnika pokrycia. Strona 2 z 24 Studium Wykonalności projektu
DesignCAD 3D Max 24.0 PL
DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez
Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.
Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu
ARCHICAD 21 podstawy wykorzystania standardu IFC
ARCHICAD 21 podstawy wykorzystania standardu IFC IFC (Industry Foundation Classes) to otwarty format wymiany danych. Powstał z myślą o ułatwieniu międzydyscyplinarnej współpracy z wykorzystaniem cyfrowych
Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16
Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja
Dokumentacja WebMaster ver 1.0
1 Wstęp Dokumentacja WebMaster ver 1.0 Dokumentacja ta przeznaczona jest dla webmasterów, grafików, programistów. Przedstawia ona strukturę aplikacji SOTEeSKLEP, opisuje działanie oraz wyjaśnia m.in. jak
Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium
Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium Ćwiczenie 5 Detektor upadku pacjenta wykorzystujący akcelerometr z interfejsem I 2 C 1. Cel ćwiczenia
I. Potęgi. Logarytmy. Funkcja wykładnicza.
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY I. Potęgi. Logarytmy. Funkcja wykładnicza. dobrą, bardzo - oblicza potęgi o wykładnikach wymiernych; - zna
Dokładny opis instalacji programów RFD można znaleźć w pliku PDF udostępnionym na stronie w zakładce Downland > AutoCAD > Instalacja
Kratka Dokładny opis instalacji programów RFD można znaleźć w pliku PDF udostępnionym na stronie www.rfd.pl w zakładce Downland > AutoCAD > Instalacja Menu programu wywołujemy poleceniem. Command: kkm
Górnicki Mateusz 17681
Streszczenie referatu pt.: Obróbka i montaż wideo w programie Sony Vegas -ścieżki audio/wideo, przejścia, filtry, rendering i inne Tytuł streszczenia: Maskowanie i animacja w programie Sony Vegas Pro Data
Aleksandra Zając. Raport. Blender. Pokemon: Eevee
Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
E-geoportal Podręcznik użytkownika.
PROCAD SA E-geoportal Podręcznik użytkownika. gis@procad.pl 2 Spis treści 1. Wstęp.... 3 2. Ikony narzędziowe.... 4 2.1. Ikony narzędziowe przesuwanie obszaru mapy.... 5 2.2. Ikony narzędziowe informacja
Jak rozpocząć pracę? Mapa
Jak rozpocząć pracę? SWDE Manager jest aplikacją służącą do przeglądania graficznych i opisowych danych ewidencji gruntów i budynków zapisanych w formacie SWDE (.swd,.swg,.swde). Pracując w SWDE Managerze,
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.
POZYSKIWANIE INFORMACJI Z AUTOCADa: ODLEG _DIST, POLE _AREA, ID (współrzędne), LISTA _LIST, STAN _STATUS, _TIME
POZYSKIWANIE INFORMACJI Z AUTOCADa: ODLEG _DIST, POLE _AREA, ID (współrzędne), LISTA _LIST, STAN _STATUS, _TIME Odległość ODLEG _DIST Użytkownik może szybko wyświetlić poniższe informacje dla dwóch punktów
Sposób odwzorowania wymiarów w wypadku eksportowania z programu Revit do programu AutoCAD
Sposób odwzorowania wymiarów w wypadku eksportowania z programu Revit do programu AutoCAD Parametr wymiaru programu Revit Wymiar wyrównany Wymiar liniowy Wymiar kątowy Wymiar promieniowy Wymiar długości
MentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
3.4. Opis konfiguracji layoutów.
Definicja layout-ów dla tablicy odczytywana jest z tabeli w bazie danych: [UnitId_System] Gdańsk = 42, Gdynia = 43 [UnitId_Subsytem] 6 = TZT, 7 = ZZT [UnitId_Unit] identyfikator obiektu [Update_TimeStamp]
IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6
Informatyka I Lab 6, r.a. / prow. Sławomir Czarnecki Zadania na laboratorium nr. 6 Po utworzeniu nowego projektu, dołącz bibliotekę bibs.h.. Największy wspólny dzielnik liczb naturalnych a, b oznaczamy
Praca w programie Power Draft
Praca w programie Power Draft I. Przygotowanie foldera roboczego 1. Na ostatnim (alfabetycznie np. D) dysku komputera: - sprawdzić czy istnieje folder Geomat (jeŝeli nie proszę go utworzyć); - w folderze
1.1 Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:
1.1 Zakładka Mapa Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy: Rys. 1 Zakładka Mapa Zakładka "Mapa" podzielona została na sześć części: 1. Legenda, 2. Pasek narzędzi, 3. Panel widoku
Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D
Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D autorzy: Michał Dajda, Łojek Grzegorz opiekun naukowy: dr inż. Paweł Rotter I. O projekcie. 1. Celem projektu było stworzenie