Systemy wizyjne w robotyce - Automatyka i Robotyka
Transkrypt
Systemy wizyjne w robotyce - Automatyka i Robotyka
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rozszerzony konspekt wykładu do przedmiotu „Systemy wizyjne w robotyce” dr hab. inż. Barbara Putz, prof. PW mgr inż. Jan Klimaszewski mgr inż. Maciej Przybylski Instytut Automatyki i Robotyki Wydział Mechatroniki Politechnika Warszawska Rozszerzony konspekt nowego przedmiotu Systemy wizyjne w robotyce Studia II stopnia (magisterskie) na Wydziale Mechatroniki PW Kierunek: Automatyka i Robotyka Specjalność: Robotyka Autorzy (Instytut Automatyki i Robotyki PW): prof. nzw. dr hab. inż. Barbara Putz mgr inż. Jan Klimaszewski (doktorant, asystent 1/2 etatu) mgr inż. Maciej Przybylski (doktorant) Wykład: 15 godzin Ćwiczenia laboratoryjne: 10 godzin Ćwiczenia projektowe: 5 godzin Przewidywane efekty kształcenia Znajomość najnowszych kierunków rozwoju systemów wizyjnych robotyki przemysłowej i robotyki mobilnej. Umiejętność implementacji wysokoi niskopoziomowej podstawowych algorytmów związanych z systemami wizyjnymi. Zakres wykładu 1. Wprowadzenie – podstawy przetwarzania obrazów (4 godziny) ● ● ● ● ● ● Elementy teorii barw przestrzenie barw Podstawowe operacje na obrazach obraz jako macierz przekształcenia geometryczne ■ translacja ■ korekcja zniekształceń ■ interpolacja Metody segmentacji metody punktowe metody krawędziowe metody obszarowe metody hybrydowe Transformacje obrazu transformacje punktowe transformacje lokalne transformacje globalne Operacje morfologiczne operacje morfologiczne pierwszego rzędu szkieletyzacja i inne operacje drugiego rzędu Wprowadzenie do biblioteki OpenCV, przegląd najważniejszych algorytmów 2. Podstawy stereowizji (3 godziny) ● ● ● ● ● ● Podstawy geometrii rzutowej Podstawy geometrii epipolarnej Zagadnienia kalibracji układu kamer Przegląd technik i algorytmów stosowanych w układach stereoskopowych Wykorzystanie wielorozdzielczej reprezentacji obrazu Programowanie dynamiczne Rozwiązywanie problemów związanych z przysłanianiem Implementacja sprzętowa algorytmów stereowizji (układy FPGA, procesory sygnałowe) Zasady rekonstrukcji sceny w układach wielokamerowych 3. Współczesny sprzęt i kierunki rozwoju systemów wizyjnych (2 godziny) Systemy wizyjne 2D ● ● ● ● ● ● różnice między kamerami CCD i CMOS, kamery dookólne, interfejsy sprzętowe transmisji obrazu, akwizycja sygnału video (frame grabbery), sprzętowa obróbka sygnału video (procesory sygnałowe, układy FPGA), zintegrowane, inteligentne, aktywne systemy wizyjne. Systemy wizyjne 2.5D ● kamery 2D z punktowymi dalmierzami laserowymi Systemy wizyjne 3D ● ● ● ● układy do stereowizji, kamery 3D (wykorzystujące pomiar czasu lotu wiązki światła - time-of-flight, w tym z układami PMD – Photonic-Mixer-Device), skanery laserowe 3D wykorzystujące pomiar czasu lotu wiązki światła - time-of-flight, oparte na metodzie triangulacji skanery 3D oparte na analizie przesunięcia fazy (Phase Shifting Based 3D Systems) 4. Systemy wizyjne robotów przemysłowych (2 godziny) ● ● ● Rodzaje systemów wizyjnych stosowanych w robotyce przemysłowej systemy wbudowane i niezależne, systemy 2D i 3D, systemy jedno i wielokamerowe. Zasady konfiguracji systemu kamera zamontowana na chwytaku lub niezależna, kalibracji kamer, dobór oświetlenia. Zastosowania systemów wizyjnych w robotyce przemysłowej, korekcja pozycji narzędzia, korekcja pozycji przedmiotu w chwytaku, paletyzacja, wyszukiwanie elementów. 5. Systemy wizyjne robotów mobilnych (3 godziny) Systemy wizyjne 2D ● ● Zastosowanie kamer w samolokalizacji robotów mobilnych Zastosowanie kamer dookólnych Systemy wizyjne 3D ● ● ● ● Zastosowania systemów wizyjnych 3D Metody reprezentacji pojedynczych pomiarów 3D mapa głębi (reprezentacja 2.5D) chmura punktów (reprezentacja 3D) Metody reprezentacji trójwymiarowych map otoczenia w robotyce mobilnej mapy metryczne ■ mapy zajętości ■ siatki wielokątów mapy cech mapy łączące informacje metryczne i mapy cech Podstawowe zagadnienia budowania map 3D akwizycja danych algorytmy rozpoznawania powierzchni w pomiarach 3D ■ metody obszarowe, ■ algorytmy typu “split and merge”, łączenie pomiarów (scanmatching), ■ algorytm ICP ■ algorytmy oparte na szukaniu podobieństwa w grafach 6. Zaliczenie (1 godzina) Zakres ćwiczeń laboratoryjnych Ćwiczenia laboratoryjne będą się odbywać w laboratorium komputerowym oraz w nowo powstałym Laboratorium Robotów Przemysłowych i Systemów Wizyjnych FANUC. 1. Wprowadzenie do biblioteki OpenCV (2 godziny) Przeprowadzenie ćwiczeń programistycznych z analizy i przetwarzania obrazów z wykorzystaniem biblioteki OpenCV. 1. Informacje ogólne 1.1. Opis instalacji biblioteki OpenCV 1.2. Opis funkcjonalności i przedstawienie możliwości biblioteki OpenCV 2. Elementarna analiza obrazu 2.1. Realizacja filtracji przykładowego obrazu przy użyciu przedstawionych poniżej filtrów (do wyboru przez prowadzącego) a) Filtr dolnoprzepustowy (dowolna realizacja) b) Filtr górnoprzepustowy (dowolna realizacja) c) Filtr statystyczny (medianowy, maksymalny, minimalny lub inne) 2.2. Detekcja krawędzi i narożników 2.3. Realizacja przykładowych operacji morfologicznych a) Erozja b) Dylatacja 2. Wykorzystanie systemu wizyjnego w zadaniu śledzenia linii przez robota mobilnego (2 godziny) Ćwiczenie polega na napisaniu programu sterującego robota mobilnego podążającego za linią. 1. Wprowadzenie 1.1. Zapoznanie z systemem Player 1.2. Zapoznanie z prostą biblioteką programistyczną przygotowaną na potrzeby ćwiczenia 2. Tworzenie programu sterującego robotem mobilnym 2.1. Nawiązanie komunikacji z robotem z poziomu pisanego programu (wykorzystanie przygotowanych komponentów) 2.2. Akwizycja obrazu z systemu wizyjnego (wykorzystanie przygotowanych komponentów) 2.3. Obróbka obrazu - wyszukanie i określenie kierunku linii 2.4. Napisanie algorytmu sterowania na podstawie przetworzonego obrazu (wykorzystanie przygotowanych komponentów) 3. Zastosowanie systemu FANUC iRVision 2D do korekcji położenia (2 godziny) Celem ćwiczenia jest nauczenie studentów programowania robota przemysłowego z wykorzystaniem wbudowanego systemu FANUC iRVision2D. Zadanie polega na stworzeniu elastycznego programu kompensującego położenie robota w zależności od położenia obiektu. 1. Wprowadzenie 1.1. Środki bezpieczeństwa w pracy z robotem przemysłowym 1.2. Podstawy programowania robota 2. Zestawienie stanowiska laboratoryjnego 3. Konfiguracja systemu wizyjnego 3.1. Konfiguracja ustawień kamery 3.2. Ustawienie centralnego punktu narzędzia TCP 3.3. Kalibracja kamery 3.4. Ustawienie układu współrzędnych użytkownika 3.5. Uczenie wzorca 4. Programowanie robota w wykorzystaniem systemu wizyjnego 4. Zastosowanie systemu FANUC iRVision 2D w zadaniu paletyzacji (2 godziny) Celem ćwiczenia jest nauczenie studentów programowania robota przemysłowego z wykorzystaniem wbudowanego systemu FANUC iRVision2D. Zadanie polega na stworzeniu programu realizującego zadanie paletyzacji i depaletyzacji z wykorzystaniem trybu kompensacji 2.5 wymiarowej. 1. Wprowadzenie 1.1. Środki bezpieczeństwa w pracy z robotem przemysłowym 1.2. Podstawy programowania robota 2. Zestawienie stanowiska laboratoryjnego 3. Konfiguracja systemu wizyjnego 3.1. Konfiguracja ustawień kamery 3.2. Ustawienie centralnego punktu narzędzia TCP 3.3. Kalibracja kamery 3.4. Ustawienie układu współrzędnych użytkownika 3.5. Uczenie wzorca 4. Programowanie robota z wykorzystaniem systemu wizyjnego 5. Wprowadzenie do programowania układów typu FPGA (2 godziny) Zapoznanie z budową i możliwościami układów typu FPGA w szczególności do analizy i przetwarzania obrazów. 1. Informacje ogólne 1.1. Opis przykładowych parametrów sprzętowych 1.2. Przegląd dostępnych na rynku rozwiązań (m. in. Xlinx, Altera) 1.3. Opis funkcjonalności układów FPGA i CPLD 2. Przedstawienie środowiska projektowego (przykładowe przedstawione poniżej, do wyboru przez prowadzącego) 2.1. ISE WebPACK Design Software 2.2. Quartus II Web Edition Software 3. Przedstawienie języków projektowania (do wyboru przez prowadzącego) 3.1. VHDL 3.2. Verilog 4. Projektowanie i programowanie układu do analizy obrazu 4.1. Projektowanie układu 4.2. Implementacja zaprojektowanego układu Zakres ćwiczeń projektowych Projekt w postaci zadania programistycznego (5 godzin) Opracowanie wybranego projektu. Przy realizacji projektu student powinien wykazać się dużą samodzielnością. Implementacja projektów (udostępnienie stanowiska laboratoryjnego) odbędzie się za zgodą prowadzącego projekt. Przykładowe projekty przedstawiono poniżej. 1. Filtracja, segmentacja obrazu, operacje morfologiczne z wykorzystaniem biblioteki OpenCV Realizacja podstawowych i bardziej zaawansowanych metod przetwarzania obrazu dla potrzeb realizacji zadania określonego przez prowadzącego projekt. 2. Implementacja podstawowych algorytmów do nawigacji robota mobilnego z wykorzystaniem biblioteki OpenCV Realizacja wybranego zadania z zakresu nawigacji robota mobilnego w oparciu o bibliotekę OpenCV. 3. Implementacja wybranego zadania w systemie Fanuc iRVision 2D (kalibracja, inne) Realizacja zadania zaproponowanego przez prowadzącego projekt z wykorzystaniem robotów przemysłowych i systemu Fanuc IRVision 2D. 4. Implementacja algorytmu wyszukiwania powierzchni płaskich w mapie głębi Implementacja prostego algorytmu ekstrakcji powierzchni płaskich w danych pomiarowych 3D pochodzących ze skanera laserowego. 5. Modyfikacje aplikacji do stereowizyjnego widzenia Implementacja wybranych algorytmów wykorzystywanych do stereowizji na przykładowych parach obrazów stereoskopowych. 6. Implementacja algorytmu przetwarzania obrazów dla układów typu FPGA Przygotowanie projektu systemu przetwarzania obrazu do realizacji zadanego algorytmu przetwarzania obrazów dla układów typu FPGA. Literatura 1. Cyganek B.: Komputerowe przetwarzanie obrazów trójwymiarowych. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2002. 2. Davies E.R.: Machine Vision: Theory, Algorithms, Practicalities. Elsevier 2005. 3. Florczyk S.: Robot Vision. Wiley 2005. 4. Hartley R., Zisserman A.: Multiple View Geometry in Computer Vision. Cambridge U. Press 2006. 5. Honczarenko J.: Roboty przemysłowe. Budowa i zastosowanie. WNT, 2004. 6. Malina W., Smiatacz M.: Metody cyfrowego przetwarzania obrazów. Akademicka Oficyna Wydawnicza, EXIT 2005. 7. Tadeusiewicz R., Korohoda P.: Komputerowa analiza i przetwarzanie obrazów. FPT, Kraków 1997. 8. Ciesielski P. , Sawoniewicz J.: Elementy robotyki mobilnej. Warszawa: Wydaw. Polsko-Japońskiej Wyższej Szkoły Technik Komputerowych 2004. 9. Strona internetowa: http://www.xilinx.com/support/mysupport.htm 10. Strona internetowa: http://opencv.willowgarage.com/wiki/ 11. Dodatkowe zasoby w Internecie - informacje dostarczane w trakcie zajęć