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ęć