I4 Systemy identyfikacji wizyjnej w elastycznej produkcji

background image

Z

AKŁAD

P

ROJEKTOWANIA

T

ECHNOLOGII

Laboratorium:

Elastyczne systemy produkcyjne

Instrukcja 4

Temat: Systemy identyfikacji wizyjnej

w elastycznej produkcji

Opracował: mgr inż. Jakub Wojciechowski

background image

2

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ądź
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).

f

=

b

+

Z

1

1

1

(1.1)

Rys. 1. Model kamery otworkowej

background image

3

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.

Na podstawie zależności geometrycznych z rys. 1.3 można zapisać równania:

f

Z

=

u

X

(1.2)

Z

X

f

=

u

(1.3)

Z

Y

f

Z

X

f

v

u

(1.4)

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).

Rys. 2. Rzutowanie punktu na płaszczyznę obrazowania

background image

4

Jego geometria jest zdeterminowana przez ogniskową obiektywu i wymiary sensora

kamery. Interesującym parametrem jest pole widzenia w płaszczyźnie 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).

Z

f

V

Z

f

U

=

Y

X

=

FOV

maks

maks

(1.5)

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:

V

maks

U

maks

n

Y

=

n

X

=

k

(1.6)

gdzie:

X

maks

, Y

maks

– wymiary pola widzenia kanery w rozpatrywanej płaszczyźnie,

n

U

, n

V

– liczba pikseli obrazu odpowiednio w wierszach i kolumnach.

Rozdzielczość obiektów w danej płaszczyźnie pozwala w prosty sposób przeliczać

jednostki obrazu, piksele na jednostki rzeczywiste, milimetry według wzoru 1.7:

v

u

k

=

y

x

(1.7)

gdzie:

x, y [mm]– współrzędne rzeczywiste w rozpatrywanej płaszczyźnie,

u, v [px] – współrzędne w płaszczyźnie 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

Rys. 3. Przestrzeń robocza kamery

background image

5

0 odpowiada czerni, a 255 bieli. Przykładowy obraz przedstawia rys. 4.

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.

Do podstawowych narzędzi stosowanych w analizie obrazu należy wykrywanie krawędzi,

rys. 5a. Rozpatrywana są poszczególne kolumny lub wiersze obrazu, krawędź 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 wyraźnie 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.

Rys. 4. Cyfrowy zapis obrazu w odcieniach szarości

Rys. 5. Podstawowe techniki analizy obrazu

background image

6

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ądź 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

background image

7

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ć ABB→Poruszanie (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 MenuDane programuwobjdata. 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 EdytujZdefiniuj.

Wybrać metodę 3-punktowo. Ekran powinien wyglądać jak na rys. 9.

background image

8

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ąć wskaźnik z chwytaka.

Rys. 10. Pomiar pola widzenia kamery w płaszczyźnie 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:

background image

9

𝑘 =

1
4

⋅ (

𝑋

𝑚𝑎𝑘𝑠1

𝑛

𝑈

+

𝑋

𝑚𝑎𝑘𝑠2

𝑛

𝑢

+

𝑌

𝑚𝑎𝑘𝑠1

𝑛

𝑣

+

𝑌

𝑚𝑎𝑘𝑠2

𝑛

𝑣

)

(2.1)

gdzie:

X

maks1

, X

maks2

, Y

maks1

, Y

maks2

– zmierzone wymiary pola widzenia kamery

w płaszczyźnie bazowej,

n

u

, n

v

– liczba pikseli obrazu, dla kamery Sick 2d-m1131:

𝑛

𝑢

= 1600,

𝑛

𝑣

= 1200.

Parametr k jest rozdzielczością obiektów znajdujących się w płaszczyźnie 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łaszczyźnie.

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

background image

10

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).

background image

11

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.

background image

12

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:

𝑥 = 𝑘 ⋅ 𝑢

(2.2)

background image

13

𝑦 = 𝑘 ⋅ 𝑣

(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łaszczyźnie 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.


Wyszukiwarka

Podobne podstrony:
Jak stworzyc system identyfikacji wizualnej firmy
Identyfikacja cementów portlandzkich produkowanych w Polsce na podstawie zawartości składników akces
o systemie identyfikacji i rejestracji zwierząt
Opracowanie systemu HCCP dla zakładu produkcji ciastkarskiej
Przykład wykorzystania w praktyce systemów GIS, Zarządzanie i inżynieria produkcji, Semestr 4, Gospo
System identyfikacji wizualnej przedsiębiorstwa, Reklama Technik Organizacji Reklamy
Żołnierka, teoria systemów, IDENTYFIKACJA, rozpoznawanie
Jak stworzyc system identyfikacji wizualnej firmy
AIS Automatyczny System identyfikacji
Materiały na Systemy sensoryczne i wizyjne analiza obrazu i dźwięku 1
Jak stworzyc system identyfikacji wizualnej firmy
bez żywności 13 Europejski system wczesnego ostrzegania o niebezpiecznych produktach żywnościowych (
IDENTYFIKACJA ZABURZEŃ PROCESU PRODUKCYJNEGO W OPARCIU O ANALIZĘ BŁĘDÓW GRUBYCH – STUDIUM PRZYPADKU
Badania dotyczące wpływu na bezpieczeństwo i poczucie bezpieczeństwa rzeczywistych systemów monitori
Okres rozliczeniowy w systemach czasu pracy – elastyczne planowanie dni i godzin pracy
Vigo System we wrześniu ruszy produkcja półprzewodników

więcej podobnych podstron