ZAKAAD PROJEKTOWANIA TECHNOLOGII
Laboratorium:
Elastyczne systemy produkcyjne
Instrukcja 4
Temat: Systemy identyfikacji wizyjnej
w elastycznej produkcji
Opracował: mgr inż. Jakub Wojciechowski
I. Wprowadzenie do systemów wizyjnych
Systemy wizyjne są środkami automatyzacji dążącymi do zastępowania wykonywanych
przez pracowników operacji kontrolnych i pomiarowych na realizowane przy pomocy kamer i
obróbki obrazu. Możliwość skrócenia czasu trwania procesu i podniesienia jakości produkcji
sprawia, że są szeroko stosowanie w wielu gałęziach przemysłu. Podstawowymi zadaniami
wykonywanymi technikami wizji maszynowej sÄ…:
·ð Lokalizacja znalezienie oraz okreÅ›lenie poÅ‚ożenia i orientacji w przestrzeni
elementów, które zostają następnie przenoszone przez manipulatory,
·ð Pomiar ustalenie fizycznych wymiarów badanego przedmiotu, dÅ‚ugoÅ›ci, Å›rednicy,
pola powierzchni, objętości, promieni krzywizny,
·ð Kontrola sprawdzenie poprawnoÅ›ci procesu montażu, pakowania, weryfikacja
obecności niezbędnych elementów,
·ð Identyfikacja odczytywanie kodów, cyfr i ciÄ…gów znaków, w celu rozpoznania
produktu lub weryfikacji znakowania.
W zastosowaniach przemysłowych używane są, w zależności od wymagań, różne typy
kamer. Do wykonywania ściśle określonego zadania, jak segregowanie względem koloru, bądz
odczytywanie ciągu znaków stosuje się wyspecjalizowane czujniki wizyjne. Dzięki temu, że
wykonują tylko jeden typ operacji, ich obsługa jest prosta. W zagadnieniach bardziej
rozbudowanych stosuje się inteligentne kamery przemysłowe. Posiadają one wbudowany
komputer, który można zaprogramować do wykonywania zaplanowanych działań. Najbardziej
wymagające zadania wymagają przetwarzania dużych ilości danych na zewnętrznym
komputerze połączonym z kamerą strumieniową, przesyłającą obraz w czasie rzeczywistym.
Do przeprowadzania obliczeń w systemach fotogrametrycznych wystarczającym modelem
jest model kamery otworkowej, zaprezentowany na rys. 1. Obiektyw ma postać pojedynczej
soczewki skupiającej, której punkt O jest środkiem układu współrzędnych kamery. Jedynymi
parametrami wymaganymi do opisu układu jest ogniskowa f oraz odległość soczewki od
płaszczyzny matrycy światłoczułej b. Najczęściej fotografowane obiekty znajdują się w
odległości znacznie większej od ogniskowej kamery, przez co odległość b dąży do f. Wielkości
powiązane są równaniem soczewki (wzór 1.1).
1 1 1
+ =
(1.1)
Z b f
Rys. 1. Model kamery otworkowej
2
Do geometrycznego śledzenia promieni model upraszcza się jeszcze bardziej, do postaci
jak na rys. 1b. Obraz rzutowany jest na umowną płaszczyznę położoną w odległości ogniskowej
od obiektywu. Nie uwzględnia się w nim odwrócenia obrazu oraz położenia sensora, do opisu
niezbędny jest tylko jeden parametr. Model kamery otworkowej pozwala przeliczać
współrzędne rzeczywiste na współrzędne punktów rzutowanych na płaszczyznę obrazowania.
Dowolny punkt sceny określony w układzie współrzędnych kamery zostaje rzutowany na punkt
na obrazie płaskim w sposób przedstawiony na rys. 2.
Rys. 2. Rzutowanie punktu na płaszczyznę obrazowania
Na podstawie zależności geometrycznych z rys. 1.3 można zapisać równania:
X Z
=
(1.2)
u f
X
u = f
(1.3)
Z
X
éð Å‚ð
u ®ð f
éð Å‚ð
Ä™ð Å›ð
Z
Ä™ð Å›ð
Ä™ð Å›ð
ëðvûð
(1.4)
Ä™ð Å›ð
Y
Ä™ð Å›ð
f
Ä™ð Å›ð
ëð Z ûð
gdzie:
u, v współrzędne danego punktu na obrazie płaskim uzyskanym z kamery, w układzie
obrazu, u , v w układzie sensora
X, Y, Z współrzędne danego punktu w przestrzeni w układzie kamery,
f ogniskowa obiektywu kamery.
Przestrzeń robocza kamery, w której zawierają się punkty mogące zostać rzutowane na
płaszczyznę obrazu ma kształt ściętego ostrosłupa (rys. 3).
3
Rys. 3. Przestrzeń robocza kamery
Jego geometria jest zdeterminowana przez ogniskowÄ… obiektywu i wymiary sensora
kamery. Interesującym parametrem jest pole widzenia w płaszczyznie odległej od kamery o
zadaną wartość. Posługując się proporcją z równania 1.2, podstawiając za u szerokość, za v
wysokość matrycy CCD, można określić pole widzenia FOV (ang. Field Of View).
U
éð Å‚ð
FOV = X = Z
éð Å‚ð
maks
Ä™ð Å›ð
f
Ä™ð Å›ð
Ä™ð Å›ð
Ä™ð Å›ð
ëðYmaks ûð
Ä™ð Å›ð (1.5)
Ä™ð Å›ð
V
Z
Ä™ð Å›ð
f
ëð ûð
Obraz zapisany w postaci cyfrowej jest podzielony na elementy, piksele, które odpowiadają
częściom sensora kamery. Liczba pikseli w pionie i poziomie nazywana jest rozdzielczością
obrazu. Rozdzielczością obiektu jest fizyczny wymiar na badanym przedmiocie
odpowiadajÄ…cy jednemu pikselowi na obrazie. Dana jest ona wzorem:
X Ymaks
maks
k = =
(1.6)
nU nV
gdzie:
X , Y wymiary pola widzenia kanery w rozpatrywanej płaszczyznie,
maks maks
n , n liczba pikseli obrazu odpowiednio w wierszach i kolumnach.
U V
Rozdzielczość obiektów w danej płaszczyznie pozwala w prosty sposób przeliczać
jednostki obrazu, piksele na jednostki rzeczywiste, milimetry według wzoru 1.7:
x u
éð Å‚ð éð Å‚ð
= k ×ð
Ä™ðyÅ›ð Ä™ðvÅ›ð (1.7)
ëð ûð ëð ûð
gdzie:
x, y [mm] współrzędne rzeczywiste w rozpatrywanej płaszczyznie,
u, v [px] współrzędne w płaszczyznie obrazu.
Przemysłowe systemy wizyjne posługują się zwykle obrazami w odcieniach szarości.
Obraz ma postać macierzy, w której każda komórka przechowuje liczbę od 0 do 255, przy czym
4
0 odpowiada czerni, a 255 bieli. Przykładowy obraz przedstawia rys. 4.
Rys. 4. Cyfrowy zapis obrazu w odcieniach szarości
Obraz jest przetwarzany w celu określenia kluczowych obserwowanych obiektów. Obraz
może wymagać wstępnego filtrowania w celu poprawy jego przydatności w zadaniu. Może
ono polegać na korekcie jasności i kontrastu, usunięciu szumu, uwydatnieniu krawędzi, lub
usunięciu nadmiarowych informacji. Często stosowanym zabiegiem jest binaryzacja, która
polega na przekształcenie obrazu w odcieniach szarości na obraz czarno-biały, w którym
piksele przyjmują wyłącznie wartości 0 i 1. Jest to podejście wystarczające do wykrywania
jasnych obiektów na ciemnym tle i odwrotnie. Zwykle analizie nie musi być poddawany cały
obraz, a jedynie jego fragment. Wybór obszaru, w którym znajdują się kluczowe dla analizy
elementy, (ang. Region of Interest, ROI) ogranicza ilość koniecznych do wykonania obliczeń,
rys. 5.a.
Rys. 5. Podstawowe techniki analizy obrazu
Do podstawowych narzędzi stosowanych w analizie obrazu należy wykrywanie krawędzi,
rys. 5a. Rozpatrywana są poszczególne kolumny lub wiersze obrazu, krawędz zostanie
rozpoznania, jeżeli wystąpi na niej wystarczająco duża różnica między barwą tła, a barwą
przedmiotu. Analiza plam, rys 5b, analizuje zbiory połączonych ze sobą pikseli o poziomie
szarości wyraznie różnym od poziomu tła. Wykryte plamy można segregować względem
wielkości i położenia, zatem do dalszego badania przekazywać jedynie obszary określonego
typu. Biorąc pod uwagę złożoność obliczeń, bardziej skomplikowaną operacją jest
rozpoznawanie schematów. Algorytm wyszukuje zadanego próbką szablonu, przy czym mogą
być również odnajdywane elementy innej wielkości i obrócone, rys. 5c. Analiza obrazu może
również polegać na odczytywaniu różnorodnych kodów, oraz na rozpoznawaniu i weryfikacji
ciągów znaków alfanumerycznych, rys. 5d.
5
System wizyjny może komunikować się z operatorem wyświetlając raporty na ekranie lub
wymieniać dane z innymi elementami automatyki. Komunikacja przeprowadzana jest poprzez
standardowe wejścia i wyjścia cyfrowe bądz jeden z przemysłowych protokołów
komunikacyjnych. System może być również podłączony do lokalnej Ethernet i przekazywać
dane do podłączonych komputerów PC.
II. Przebieg ćwiczenia
1) Ustalenie wspólnego układu współrzędnych dla manipulatora robota przemysłowego
i kamery
Współpraca robota przemysłowego z systemem wizyjnym jest możliwa, gdy znane jest
wzajemne położenie manipulatora i kamery. Proces określenia tych wielkości nazywany
jest kalibracjÄ….
a) Uruchomić podgląd obrazu kamery dwukrotnie klikając na nazwie urządzenia (rys. 6)
w programie IVC Studio.
Rys. 6. Główne okno programu IVC Studio
b) Umiejscowić na palecie, pod kamerą systemu wizyjnego, kartkę papieru formatu A3.
Narysować na niej krzyże w miejscach będących narożnikami obrazu widocznego w
podglądzie (rys. 7). Jeżeli obraz nie mieści się na ekranie, należy przesuwać go przy
pomocy pasków bocznych, tak aby uzyskać skrajne punkty obrazu. Wzorzec nie może
przesuwać się po palecie podczas nanoszenia punktów.
Rys. 7. Wspólny układ współrzędnych dla systemu wizyjnego i manipulatora
6
Początek układu współrzędnych znajduje się w lewym górnym narożniku obrazu, oś X
skierowana jest w prawo, a Y w dół.
c) Przy pomocy narzędzia Chwytak Cylindra zostanie zdefiniowany nowy układ
współrzędnych robota, tożsamy z układem kamery. W tym celu należy zamocować w
chwytaku narzędzie zakończone stożkiem (proszę zwrócić się o pomoc do
prowadzącego zajęcia). Wskazane jest sprawdzenie poprawności definicji narzędzia,
ustalenia jego punktu roboczego TCP (ang. Tool Center Point). W kontrolerze robota
wybrać ABBPoruszanie (rys. 8) i następnie ustawić narzędzie: ChwytakCylindra,
układ współrzędnych: narzędzia oraz rodzaj ruchu: reorientacja. Przez poruszanie
drążkiem zmieniana zostaje orientacja narzędzia. Skontrolować, czy punkt roboczy
narzędzia, wierzchołek stożka, pozostaje nieruchomy podczas tego ruchu.
Rys. 8. Okna kontrolera przy ręcznym sterowaniu ruchami robota
d) Ustawić narzędzie tak, aby można było wskazywać przy pomocy narzędzia punkty na
palecie, oś narzędzia powinna być pionowa, stożek skierowany w dół. Przejść w
kontrolerze robota do Menu Dane programu wobjdata. Dane typu wobjdata
przechowują informację o układach współrzędnych zdefiniowanych przez
użytkownika. Zadaniem jest zdefiniowanie układu robota tożsamego z wcześniej
ustalonym układem kamery. W tym celu należy wybrać polecenie Nowy oraz wybrać
łatwą do zapamiętania nazwę. Wciśnięcie przycisku oznaczonego trzema kropkami
wyświetla klawiaturę ekranową. Zatwierdzić klawiszem ok.
e) Następnie należy zaznaczyć utworzony układ i wybrać polecenia Edytuj Zdefiniuj.
Wybrać metodę 3-punktowo. Ekran powinien wyglądać jak na rys. 9.
7
Rys. 9. Definiowanie nowego układu współrzędnych robota.
f) Przełączając się pomiędzy zakładkami Poruszanie oraz Dane Programu należy
wskazać najpierw dwa punkty na osi X układu. Będą to punkty na opracowanym wzorcu
odpowiadające górnemu lewemu i górnemu prawemu narożnikowi obrazu. W zakładce
Poruszanie ustawić narzędzie: ChwytakCylindra, układ współrzędnych: bazowy,
rodzaj ruchu: liniowy. Punkt roboczy narzędzia będzie poruszał się liniowo wzdłuż osi
wewnętrznego układu współrzędnych robota. W celu wskazania punktu należy
posługiwać się małymi wychyleniami drążka, skutkującymi małymi prędkościami
przemieszczeń manipulatora. Po wskazaniu punktu odpowiadającego górnemu lewemu
narożnikowi obrazu zaznaczyć Punkt użytkownika X1 oraz wybrać polecenie
Modyfikacja pozycji. Podobnie postąpić dla pozostałych dwóch punktów. Po
wskazaniu wszystkich niezbędnych pozycji zatwierdzić przyciskiem ok. Teraz możliwy
jest już wybór zdefiniowanego układu współrzędnych w zakładce Poruszanie.
g) Sprawdzić, czy wskazywane są odpowiednie wartości pozycji narzędzia X, Y i Z oraz
czy ruch odbywa się w wcześniej założonych kierunkach. Wyjąć wskaznik z chwytaka.
Rys. 10. Pomiar pola widzenia kamery w płaszczyznie palety
h) Należy zdjąć wzorzec z palety i zmierzyć odległości między punktami jak na rys. 10
oraz obliczyć rozdzielczość obiektu k, jako średnią daną wzorem:
8
1 5ØKÜ5ØZÜ5ØNÜ5ØXÜ5Ø`Ü1 5ØKÜ5ØZÜ5ØNÜ5ØXÜ5Ø`Ü2 5ØLÜ5ØZÜ5ØNÜ5ØXÜ5Ø`Ü1 5ØLÜ5ØZÜ5ØNÜ5ØXÜ5Ø`Ü2
5ØXÜ = Å" ( + + + ) (2.1)
4 5Ø[Ü5ØHÜ 5Ø[Ü5ØbÜ 5Ø[Ü5ØcÜ 5Ø[Ü5ØcÜ
gdzie:
X , X , Y , Y zmierzone wymiary pola widzenia kamery
maks1 maks2 maks1 maks2
w płaszczyznie bazowej,
n , n liczba pikseli obrazu, dla kamery Sick 2d-m1131: 5Ø[Ü5ØbÜ = 1600, 5Ø[Ü5ØcÜ = 1200.
u v
Parametr k jest rozdzielczością obiektów znajdujących się w płaszczyznie bazowej,
pozwala on przeliczać długości na obrazie dane w pikselach, na rzeczywiste wymiary w
milimetrach. Jednemu pikselowi odpowiada k milimetrów w rozpatrywanej płaszczyznie.
2) Program wykrywania obiektu w środowisku IVC Studio
a) W oknie głównym programu IVC Studio (rys. 6) utworzyć nowy program, klikając
prawym przyciskiem myszy na ikonie Programs, wybierajÄ…c przycisk New program
i przypisując rozpoznawalną nazwę. Podobnie utworzyć tabele danych klikając ppm na
ikonie Tables i wybierając przycisk New table. Kliknąć na nowo utworzony program,
potwierdzić przypisanie programu i tabeli do urządzenia. Pokazane zostanie nowe okno
tworzenia programu kamery.
b) W zakładkach (rys. 11.) pogrupowane są funkcje jakie mogą być użyte w
opracowywanym programie.
Rys. 11. Funkcje kamery w programie Sick IVC Studio
c) Wstawić z zakładki Image funkcje Grab Setup (rys. 12). Definiuje ona ustawienia zdjęć
wykonywanych przez kamerÄ™.
Rys. 12. Ustalanie parametrów zdjęć kamery Sick IVC 2D-m1131
Parametr Exposure time odpowiada za czas ekspozycji i tym samym ilość światła
padającego na sensor i jasność zdjęć. Ustawienie parametru Strobe enable na true i
ustalenie czasu w parametrze Strobe time sprawi, że przy każdym zdjęciu będzie
uruchamiane dodatkowe oświetlenie. Wstawić funkcję Grab z zakładki Image. Każdy
9
krok programu można wywołać zaznaczając go i wciskając klawisz F5. Zaznaczyć
funkcję Grab Setup i wywołać ją, zaznaczyć funkcję Grab i również wywołać
klawiszem F5. Obraz z kamery powinien pojawić się w oknie oznaczonym cyfrą 0 nad
oknem programu. Dopasować omówione parametry, aby uzyskać odpowiednią jasność
i kontrast ujęcia.
d) Kolejnym krokiem jest ustalenie fragmentu obrazu, który będzie dalej przetwarzany. Z
zakładki Region of Interest wybrać funkcję ROI Rectangle. W tym przypadku
rozpatrywany będzie cały uzyskany obraz, dlatego region został zdefiniowany jako
prostokąt pokrywający całe ujęcie. Wymiary podawane są pikselach. Uzupełnić
parametry kroku tak jak na rys. 13.
Rys. 13. Ustawienie dalej przetwarzanego obszaru obrazu
e) Z zakładki Filter wybrać funkcję Binarize. Służy ona do ograniczenia liczby kolorów
obrazu z 256 stopni szarości do czerni i bieli. Jest to krok, którego parametry można
zmieniać przy pomocy konfiguratora dostępnego po wybraniu przycisku Setup. Należy
wybrać numer kroku w którym zdefiniowano ROI oraz wartości graniczne algorytmu
binaryzacji. Dobrać parametry tak, aby tło było czarne, a elementy na palecie były białe.
Sprawdzić powtarzalność efektów w przypadku zmiany oświetlenia zewnętrznego (np.
odsłonięcia rolet okiennych).
10
Rys. 14. Konfiguracja parametrów binaryzacji obrazu
f) Zadaniem jest wykrywanie położenia zadanych obiektów na palecie w celu uchwycenia
ich przez manipulator robota. Przydatna do tego jest funkcja Shape Locator z zakładki
Matching. Konfigurator kroku przedstawiono na rys. 15a. Po wciśnięciu przycisku Edit
Shape pokazuje się okno definicji poszukiwanego kształtu (rys. 15b). Należy zaznaczyć
kształt prostokątem oraz podać współrzędne punktu referencyjnego. W podstawowym
oknie definicji kroku należy zaznaczyć możliwość skalowania i obrotu (allow scaled
objects, allow rotation). Danymi wyjściowymi algorytmu są współrzędne punktu
referencyjnego poszukiwanego obiektu. Należy sprawdzić działanie algorytmu
przestawiając przedmiot w różne położenia na palecie.
11
Rys. 15. Wyszukiwanie zadanego kształtu
g) Dla wybranego położenia obiektu odczytać jego położenie na obrazie. Przekształcić
współrzędne dane w pikselach na rzeczywiste, mierzone w milimetrach. Posłużyć się
zależnościami:
5ØeÜ = 5ØXÜ Å" 5ØbÜ (2.2)
12
5ØfÜ = 5ØXÜ Å" 5ØcÜ (2.3)
gdzie:
x, y współrzędne w rzeczywistym układzie współrzędnych kamery i robota.
u, v współrzędne na płaszczyznie obrazu.
h) Przy pomocy kontrolera przemieścić manipulator na obliczoną pozycję (przyjąć
z = 120 mm). Sprawdzić, czy jest możliwe uchwycenie obiektu jedynie przy pomocy
danych uzyskanych z kamery.
VI. Zawartość sprawozdania
1) Algorytm ustalania wspólnego układu współrzędnych dla kamery i robota
przemysłowego.
2) Algorytm wykrywania zadanych elementów przez system wizyjny.
3) Omówienie wpływu zmienianych na zajęciach parametrów na działanie programu
identyfikacji wizyjnej.
4) Wnioski na temat przydatności opracowanego rozwiązania w praktycznych
zastosowaniach.
VII. Zagadnienia
1) Wymienić zadania, które można zrealizować przy użyciu systemów wizji maszynowej.
2) Omówić rodzaje kamer stosowanych w przemysłowych systemach wizyjnych.
3) Przedstawić model kamery otworkowej.
4) Omówić przestrzeń roboczą kamery.
5) Jaka jest różnica między rozdzielczością kamery, a rozdzielczością obiektu?
6) Omówić techniki filtrowania obrazu.
7) Omówić techniki analizy obrazu.
8) Omówić cyfrową reprezentację obrazu.
9) Przedstawić sposoby komunikacji systemów wizyjnych z innymi elementami
automatyki.
13
Wyszukiwarka
Podobne podstrony:
Cyfrowy system nadzoru wizyjnegoi transmisji obrazuAnalogowy system nadzoru wizyjnego obiektów transportowychSystem identyfikacji bezstykowej z układami PCF7930o systemie identyfikacji i rejestracji zwierzątLogo w sieci – systemy identyfikacji wizualnej dla biznesów internetowychWykorzystanie systemu identyfikacji dla rozszerzenia oddziaływaniaIdentyfikacja cementów portlandzkich produkowanych w Polsce na podstawie zawartości składników akcesAIS Automatyczny System identyfikacjiOpracowanie systemu HCCP dla zakładu produkcji ciastkarskiejAnalogowy system nadzoru wizyjnego obiektów transportowych4 PPC systemy planowania i sterowania produkcjąmakuchowski,Elastyczne Systemy Montażowe,PytaniaMLM system produktsystem produkcyjny w gospodarce rynkowej (13 stron)więcej podobnych podstron