• Nie Znaleziono Wyników

Zasada działania skanera

W dokumencie W POLITECHNIKA POZNAŃSKA (Stron 47-57)

3. Zrobotyzowany skaner laserowy

3.2. Zasada działania skanera

3.2.1 Zależności geometryczne

Proponowany układ, przedstawiony na rys. 3.1. pokrywa się z często spotykanym, typowym rozmieszczeniem elementów na stanowisku zrobotyzowanym, wraz z kamerą umieszczoną na stałe,

nad przestrzenią pracy manipulatora, przez co wdrożenie systemu nie wymaga zazwyczaj zmian strukturalnych i modyfikacji aktualnie działających programów. Na ramieniu robota instalowany jest wskaźnik laserowy o wadze nie większej niż 0,2 kg, co pozwala na umieszczenie go równolegle z chwytakiem, głowicą spawalniczą lub innym efektorem. Rysunek 3.1. przedstawia także układy współrzędnych używane w obliczeniach, U – układ użytkownika, M – układ interfejsu mechanicznego, L – układ lasera, K – układ kamery.

Skaner wykrywa położenie punktów badanego przedmiotu obliczając miejsce przecięcia prostej i płaszczyzny (rys. 3.2). Płaszczyzną przybliżona jest wiązka światła laserowego, a prosta powstaje w wyniku połączenia środkowego punktu obiektywu KP0 i rozpatrywanej plamki na płaszczyźnie obrazowania KPs. Taką półprostą można wyznaczyć dla każdego piksela pobranego obrazu, przy czym pełna informacja o współrzędnych zostanie uzyskana jedynie dla punktów oświetlonych światłem lasera.

Rys. 3.1. Elementy zrobotyzowanego stanowiska wyposażonego w skaner laserowy

Rys. 3.2. Rekonstrukcja przestrzennego położenia punktów w skanerze laserowym P0

kv r V

U f

ku PS sv

su Px

PL Lx

Ly

Lz

Współrzędne tych punktów w układzie kamery można wyrazić następująco:

P0

K =

[

000

]

(3.1)

Ps

K =

[

KKfuv

]

(3.2)

gdzie:

f [mm] – ogniskowa obiektywu,

Ku

, vK [mm] – współrzędne rozpatrywanego punktu na płaszczyźnie obrazowania.

Położenie punktu odczytanego ze zdjęcia określone jest w układzie współrzędnych sensora.

Natomiast, aby dokonać transformacji na układ kamery należy zastosować proporcję między fizycznymi wymiarami sensora kamery, a liczbą elementów światłoczułych, na które został podzielony (liczbą pikseli):

k

[

mmpx

]

=nUU

=V

nV (3.3)

gdzie:

U, V [mm] – wymiary sensora kamery,

nu, nv [px] – odpowiednio liczba pikseli w wierszu i kolumnie.

Układ sensora ma swój początek w pierwszym pikselu zdjęcia, przez to ich numeracja przybiera zawsze wartości nieujemne, co wynika z macierzowego zapisu obrazu. Macierz transformacji między układami, składająca skalowanie i translacje określa wzór 3.4:

TSK=

[

k 0 −U /20 k −V /20 0 1

]

(3.4)

Półprosta P0PS opisana jest położeniem punktu KP0 i wektorem kierunkowym r:

r = PK sKP0 (3.5)

Pojedynczy obraz jest w stanie dostarczyć informacji o rozpatrywanym punkcie, który leży na półprostej P0PS. Zastosowanie światła strukturalnego pozwala wnioskować, w którym dokładnie

miejscu tej półprostej leży rozpatrywany punkt. Wiązkę światła laserowego można traktować jako płaszczyznę, która jest definiowana przez punkt na niej leżący i wektor normalny w tym punkcie.

Dla wygody obliczeń, stosuje się do zapisu notację Hessa, w której płaszczyzna opisana jest równaniem (3.6):

n ∙ P +d=0 (3.6)

gdzie:

n – wektor normalny płaszczyzny,

d – odległość płaszczyzny od początku układu współrzędnych.

Wielkości te odczytywane są z układu sterowania robota i transformowane z układu narzędzia na układ współrzędnych kamery przez macierz transformacji TLK , która jest uzyskana w procesie kalibracji wskaźnika laserowego. Punkt Px, którego położenie jest określane, leży na przecięciu płaszczyzny lasera oraz półprostej P0PS. Punkt przecięcia, poszukiwany punkt Px jest rozwiązaniem układu równań 3.7 i 3.8.

n ∙ Px+d=0 (3.7)

P0+r ∙ t=Px (3.8)

Równanie 3.7 zapewnia, że punkt Px leży w płaszczyźnie światła laserowego, a równanie 3.8 jest warunkiem tego, że punkt Px znajduje się na półprostej P0Ps. Rozwijając powyższe równania otrzymuje się układ 4 równań liniowych:

[

n100x n010y n0 −r0 −r1 −rz 0xyz

]

[

PPPtrxxxyxz

]

=

[

−dPPP0 x0 y0 z

]

(3.9)

W celu uzyskania chmury punktów układ powyższy rozwiązuje się dla wszystkich punktów na obrazie oświetlonych wiązką światła laserowego. Parametry P0x,P0y i P0z pozostają stałe, nx, ny, nz

oraz d zależą od położenia źródła wiązki lasera i są odczytywane z układu sterowania robota przemysłowego, rx, ry i rz wynikają z analizy obrazu uzyskanego przez kamerę. Złożenie tych danych pozwala uzyskać wszystkie trzy współrzędne położenia punktu w przestrzeni oraz parametr tr definiujący położenie punktu na promieniu r.

Przestrzeń, w której zawierają się punkty mogące zostać rzutowane na płaszczyznę obrazu kamery ma kształt ściętego ostrosłupa (rys. 3.3).

Geometria przestrzeni jest zdeterminowana przez ogniskową obiektywu i wymiary sensora kamery. Posługując się proporcjami można określić pole widzenia FOV (ang. Field Of View), czyli pole widzenia w płaszczyźnie odległej od kamery o zadaną wartość.

[

FOVFOVxy

]

=

[

UVff ∙ Z∙ Z

]

(3.10)

gdzie:

U – szerokość sensora kamery [mm], V – wysokość sensora kamery [mm], f – ogniskowa obiektywu [mm], Z – odległość od kamery [mm].

Mając zadane wymiary gabarytowe obiektu pomiarów, można przy pomocy tych zależności dobrać odpowiedni obiektyw kamery, bądź oszacować wymaganą odległość kamery od przedmiotu.

O przydatności skanera do zadań technologicznych w dużej mierze decyduje rozdzielczość skanera, czyli liczba pikseli przypadających na rzeczywistą jednostkę długości mierzonego przedmiotu.

Zależy ona od objętości jego przestrzeni roboczej i od liczby punktów, jakie przechwytuje kamera w ramach jednego zdjęcia. Do pewnego stopnia można zwiększać rozdzielczość skanera przez zawężanie jego pola roboczego zmieniając ustawienia optyki kamery. Zwiększanie rozdzielczości kamery, czyli liczby pikseli na obrazie, nie zawsze jest możliwe, ze względu na rosnący wraz z tym parametrem koszt kamery, a także czas obliczeń i przesyłu danych.

Rozdzielczość skanera nie jest jednakowa we wszystkich kierunkach. Wymiary leżące w płaszczyznach równoległych do płaszczyzny obrazowania mają stałą rozdzielczość daną zależnością 3.11:

Rys. 3.3. Przestrzeń robocza kamery

f Z

X

Y v u

v' u'

FOVX

FOVY

∆ x=∆ y=FO Vx

nx =FO Vy

ny (3.11)

gdzie:

∆ x , ∆ y – rozdzielczość kamery w płaszczyźnie pomiaru, odpowiednio w kierunku x i y [mm],

FOVx, FOVy – pole widzenia, odpowiednio w kierunku x i y [mm], nx, ny – liczba elementów obrazu, pikseli, odpowiednio w kierunku x i y.

Wymiar głębokości Z charakteryzuje się rozdzielczością wynikającą z zależności geometrycznej i zależy od nie tylko od kamery, ale również jej położenia względem wiązki światła laserowego:

∆ z= ∆ x

tg(α) (3.12)

gdzie:

∆ z – rozdzielczość skanera w kierunku głębokości kamery [mm], α – kąt triangulacji (rys. 3.4).

Duże kąty triangulacji prowadzą do wyższej rozdzielczości w kierunku Z, jednak nie zawsze ich stosowanie jest możliwe, ze względu na zmniejszenie widocznej dla skanera powierzchni przedmiotu.

Światło generowane przez laserową diodę półprzewodnikową ma postać wiązki stożkowej.

Nadanie światłu postaci płaszczyzny wymaga rozproszenia w jednym kierunku, przy braku zmiany toru światła w kierunku prostopadłym. Dokonuje się tego poprzez zastosowanie soczewki walcowej, która może mieć postać małego, lekkiego elementu z tworzywa sztucznego, pasującego do kompaktowej obudowy lasera. Uzyskana linia zachowuje jednak cechy kołowej wiązki światła padającego na soczewkę, jest bardzo rozciągniętą w jednym kierunku elipsą. Skutkiem tego jest większa grubość linii i jej jasność w środkowej części, co może stanowić utrudnienie przy

Rys. 3.4. Rozdzielczość skanera w kierunku głębokości α

Δz Δx

konstrukcji algorytmów wyszukujących linię, a zwłaszcza przy określaniu progów jasności, po przekroczeniu których obszar jest uznawany za oświetlony wiązką lasera. Parametrami charakteryzującymi źródło linii laserowej jest moc, długość emitowanej fali oraz odległość w jakiej następuje maksymalne skupienie wiązki. Moc lasera decyduje o odporności urządzenia na zmienne warunki oświetlenia zewnętrznego, do opisywanych zastosowań odpowiednie są lasery o mocy pomiędzy 5, a 10 mW. Kolor światła ma mniejsze znaczenie, lasery czerwone są tańsze, ale niektóre kamery są bardziej wrażliwe na światło zielone, dlatego wiązka zielona będzie lepiej widoczna na zdjęciach niż wiązka czerwona, mimo tej samej mocy. Grubość wiązki lasera jest zmienna w funkcji odległości od źródła i zależy od jej odległości od punktu w którym wiązka jest skupiona.

W przypadku skanerów optycznych nie jest konieczne zapewnienia skupienia wiązki lasera na mierzonym przedmiocie, gdyż algorytm wykrywający środek wiązki działa dokładniej dla wiązek szerszych, o płynniejszych zmianach jasności. Zbyt szeroka linia może jednak prowadzić do maskowania pewnych szczegółów na przedmiocie.

3.2.2 Wykrywanie wiązki lasera na obrazie

Odnalezienie z odpowiednią dokładnością środka linii lasera na obrazie (rys. 3.5a) nie zawsze jest oczywistym zadaniem. Poszukiwanie maksimum intensywności oświetlenia w każdej kolumnie obrazu, któremu powinien odpowiadać środek wiązki lasera (rys. 3.5b) oraz szukanie górnej i dolnej krawędzi linii przez sprawdzanie warunku przekroczenia pewnej wartości, bezwzględnego, arbitralnie ustalonego progu (rys. 3.5c) okazują się nieskuteczne, ze względu na zakłócenie charakteru rozkładu jasności punktów w obrębie wiązki na obrazie w stosunku do modelowego rozkładu wiązki Gaussa. Przykładowy, silnie zakłócony rozkład pokazano na rys. 3.5d.

Z powodu tych ograniczeń, algorytm poszukiwania środka wiązki laserowej na obrazie uzyskanym przez skaner jest dwuetapowy. W pierwszym kroku poszukuje się granic wiązki, tak jak Rys. 3.5. Analiza śladu wiązki światła: a) widok linii lasera, b) wykrywanie maksymalnej jasności,

c) wyznaczanie środka szerokości wiązki, d) rzeczywista zniekształcona wiązka

na rys. 3.5c. Próg jest ustalany dynamicznie, na podstawie analizy histogramu wartości pikseli obrazu. Następnie uzyskana linia łamana jest wygładzana poprzez aproksymację wielomianem.

Uzyskane krzywe są uśrednione, przez co traci się część danych, między innymi o ostrych krawędziach, ale pozwala to w ogólnym przypadku usunąć błąd przypadkowy, związany z niepewnością położenia środka linii. Wyniki wygładzenia wiązki światła (kolor czerwony) wykrytej metodą progową (linia zielona) przedstawiono na rys. 3.6. Wiązka w przykładzie padała na płaszczyznę, dlatego jej ślad powinien być prostą na obrazie.

Algorytm wykrywa położenie środka wiązki z dokładnością σL = 0,1 mm (mierzone jako odchylenie od prostej). Ta wartość zależy od rozdzielczości kamery, dokładności kalibracji i jednorodności światła laserowego

3.2.3 Kalibracja kamery

Celem kalibracji kamery jest określenie jej parametrów umożliwiających odniesienie uzyskanych za jej pomocą zdjęć do świata zewnętrznego. Parametry te można podzielić na dwie grupy. Parametry zewnętrzne określają położenie kamery w przestrzeni, ulokowanie jej układu współrzędnych. Położenie i orientację układu współrzędnych względem układu nadrzędnego można wyrazić przy pomocy uogólnionej macierzy transformacji, która uwzględnia zarówno obroty jak i przemieszczenia. Przekształcenie położenia układów współrzędnych dokonuje się przez mnożenie macierzy. Parametry wewnętrzne mają za zadanie powiązać położenie obiektywu względem płaszczyzny obrazowania. Poszukiwana macierz parametrów wewnętrznych wiąże współrzędne uzyskane na obrazie ze współrzędnymi rzeczywistych punktów w przestrzeni. Obiektyw kamery nie jest w rzeczywistych warunkach idealnie wykonany i zamontowany względem matrycy elementów światłoczułych. Wprowadza to pewne zniekształcenia obrazu, które jednak mogą być korygowane przez współczynniki uzyskane na etapie kalibracji. Błędy kształtu obiektywu powodują zniekształcenia promieniowe, które można obserwować jako beczkowatość lub siodłowatość obrazu. Przesunięcie punktu zależy od jego odległości od środka obrazu. Zniekształcenia styczne wynikają z braku równoległości między płaszczyzną soczewki obiektywu, a matrycą sensorów

Rys. 3.6. Wyniki wykrywania wiązki lasera

kamery. Macierz współczynników wewnętrznych i wektor współczynników korygujących są na stałe przypisane do układu kamera – obiektyw. Konfiguracja skanera optycznego przewiduje kamerę umocowaną nieruchomo na wysięgniku, dlatego wszystkie współczynniki obu macierzy pozostają stałe i nie są zmieniane podczas trwania pomiarów. Kalibracja zostaje wykonana jednokrotnie i obowiązuje dla wszystkich przeprowadzanych pomiarów do czasu wymiany obiektywu i zmiany wielkości przestrzeni roboczej lub przesunięcia kamery względem robota. Do przeprowadzenia kalibracji zastosowano algorytm obliczający jednocześnie parametry macierzy wewnętrznej, położenie kamery względem układu użytkownika i wektor współczynników korekcyjnych na podstawie serii zdjęć wzorca o znanych wymiarach [95]. Parametry macierzy kamery mogą być obliczone na podstawie jednej fotografii, jednak dla współczynników korygujących jest już potrzebna ich cała seria, przy różnych pozycjach elementu odniesienia na fotografii. Jako szablon wzorcowy posłużono się kartką z nadrukowaną szachownicą o znanym wymiarze siatki. Elementem rozpoznawanym przez program są naroża kwadratów. Zastosowano korekcję zniekształceń promieniowych, proporcjonalnych do kwadratu odległości od środka obrazu.

Pominięto korygowanie zniekształceń promieniowych wyższych rzędów i zniekształceń stycznych, uzasadniając tą decyzję ich niewielką wartością i mniejszą stabilnością. Jednocześnie z kalibracją kamery ustala się wspólny układ współrzędnych dla urządzenia. Ideę powiązania układu współrzędnych kamery z układem globalnym przedstawia rys. 3.7.

Przy użyciu zdjęcia algorytm ustala położenie kamery względem wzorca, czego wynikiem jest macierz TwK. Następnie przy pomocy skalibrowanego narzędzia robota, stożkowego wskaźnika, ustala się położenie układu współrzędnych wzorca względem układu globalnego z wykorzystaniem standardowej procedury definiowania nowego układu współrzędnych, polegającej na wskazaniu

Rys. 3.7. Kalibracja kamery względem globalnego układu współrzędnych

trzech punktów, w tym środka układu współrzędnych wzorca, czego wynikiem jest macierz TGW. Transformację między układem użytkownika, a kamery ustala się mnożąc uzyskane wcześniej macierze:

TUK=TUW⋅TWK (3.13)

Opisany ciąg działań pozwala uzyskać wszystkie dane niezbędne do określenia zależności między punktami na obrazie, a rzeczywistymi przedmiotami.

3.2.4 Kalibracja generatora linii laserowej

Rzutnik linii laserowej nie jest klasycznym narzędziem i nie podlega standardowym, stykowym procedurom kalibracyjnym przewidzianym przez producenta robota. Możliwość szerokiej i płynnej regulacji uchwytu lasera nie umożliwia także pomiaru przed montażem uchwytu i samodzielnego wprowadzenia wymiarów narzędzia do układu sterowania robota. Opracowano z tych powodów własną procedurę pozwalającą na ustalenie macierzy transformacji między położeniem punktu centralnego interfejsu mechanicznego robota, a położeniem płaszczyzny światła laserowego.

Zależność ta jest stała dopóki nie wprowadzi się zmian w nastawach uchwytu, co wymusza powtórzenie procedury.

W pierwszej kolejności, z obrazu uzyskanego z kamery odczytuje się położenie widocznej linii laserowej. Do odczytania linii posłużono się płytą pomiarową, na której określony został układ współrzędnych użytkownika oraz wzorcem o znanej grubości (rys. 3.8).

Na odczytanej linii wybierane są punkty P1, P2 i P3 . Wiedząc, że leżą one odpowiednio na płaszczyźnie z=0 oraz z=−h, można przy pomocy zależności (3.7) i (3.8) określić ich

Rys. 3.8. Kalibracja położenia wiązki lasera w układzie kamery

współrzędne w układzie U. Na podstawie trzech punktów można określić płaszczyznę i macierz transformacji TUL między układem użytkownika U, a układem płaszczyzny lasera L. Znając TUM, położenie układu interfejsu mechanicznego robota, które zostaje odczytane z układu sterowania, można obliczyć transformację między układem interfejsu mechanicznego, a płaszczyzną lasera, która określona jest zależnością 3.14.

TML=TUM−1⋅TUL (3.14)

Macierz ta, po przekształceniu do odpowiedniej formy jest wpisywana jako parametry geometryczne narzędzia do kontrolera robota. W procedurze kalibracji nie jest uwzględniana optymalna odległość źródła światła laserowego od obiektów mierzonych. Zwykle dąży się do tego, aby wiązka lasera była skupiona na powierzchni, na którą pada. Odległość ogniskowa układu optycznego rzutnika linii laserowej jest podawana przez producenta urządzenia.

W dokumencie W POLITECHNIKA POZNAŃSKA (Stron 47-57)