AUTOMATYKA 2005 Tom 9 Zeszyt 3 Jacek Nowakowski *, Daniel Kaczorowski * Modelowanie œrodowiska 3D z danych pomiarowych** 1. Wprowadzenie Jednym z obszarów mo liwego wykorzystania symulacji komputerowej jest projektowanie mobilnych robotów przemys³owych. Przyk³adem mo e byæ mobilny robot wyposa- ony w trzy niezale ne urz¹dzenia (projekt prowadzony jest przy wspó³pracy z Instytutem Obrabiarek i TBM Politechniki ódzkiej) [1]. Robot doœwiadczalny, dla którego budowany bêdzie system, wyposa ony jest w skaner SICK o k¹cie dzia³ania 180 o oraz dalmierz laserowy z opatentowanym systemem skanowania przestrzennego obszaru naoko³o robota. Trzecim rodzajem systemu skanuj¹cego bêdzie system stereowizyjny. Dla wy ej wymienionych systemów skanuj¹cych mo na zbudowaæ programy symulacyjne, które bêd¹ spe³nia³y to samo zadanie. Robot, dla którego budowany jest zestaw wy ej wymienionych programów symulacyjnych, przedstawiony jest na rysunku 1. Rys. 1. Robot mobilny bêd¹cy przedmiotem badañ * Katedra Informatyki Stosowanej, Politechnika ódzka; jacnow@kis.p.lodz.pl, dkaczor@kis.p.lodz.pl ** Czêœæ prac badawczych by³o wykonywanych w ramach grantu MNiI w latach 2004 2006 437
438 Jacek Nowakowski, Daniel Kaczorowski Z przodu robota zainstalowany jest skaner laserowy SICK, którego obszar dzia³ania to 180 o. Skaner ten ma za zadanie okreœlanie odleg³oœci znajduj¹cych siê przed robotem przeszkód. Ze wzglêdu na zainstalowanie urz¹dzenia na robocie oraz doœæ znaczne rozmiary robota, wiêc prace nad systemem sterowania musz¹ byæ prowadzone z wykorzystaniem robota. Jest to oczywiœcie mo liwe, jednak bardzo uci¹ liwe. Najlepszym rozwi¹zaniem jest zbudowanie programu symulacyjnego, który bêdzie generowa³ takie same dane jak zamontowany skaner. W ramach prowadzonych prac powsta³y dwa programy symulacyjne SICKSimulator oraz SICKSimulator-Server. Pierwszy jest programem symulacyjnym umo liwiaj¹cym wygenerowanie danych takich samych jak skaner SICK. Drugi natomiast jest programem odbieraj¹cym i sprawdzaj¹cym wygenerowane dane przez pierwszy program. 2. SICKSimulator, SICKSimulator-Server Programem, który symuluje pracê skanera, jest SICKSimulator. Program ten umo liwia zbudowanie przestrzeni, w której bêdzie poruszaæ siê robot. Przestrzeñ ta mo e byæ odpowiednio modelowana. Dodatkowo mo na rozmieœciæ przeszkody w postaci figur symuluj¹cych ustwione w przestrzeni przedmioty. Mo liwoœæ modelowania przestrzeni i rozmieszczania przeszkód pozwala na budowanie obszaru bardzo zbli onego do przestrzeni roboczej, w której bêdzie porusza³ siê robot. Program posiada tak e mo liwoœæ zapisywania do pliku oraz ³adowania zbudowanej przestrzeni roboczej z pliku. Rys. 2. G³ówne okno programu SICKSimulator z zamodelowan¹ przestrzeni¹ robocz¹ i wykonaniem skanowania
Modelowanie œrodowiska 3D z danych pomiarowych 439 Tego typu funkcjonalnoœæ pozwala na stworzenie kilku przestrzeni roboczych i zachowania ich do póÿniejszych testów. W symulowanej przestrzeni roboczej programu znajduje siê obiekt reprezentuj¹cy skaner. W programie mamy mo liwoœæ ustawienie skanera w ka dym miejscu naszej przestrzeni roboczej, z którego chcemy wykonaæ skanowanie. Poniewa program ma za zadanie symulacjê pracy skanera umieszczonego na robocie mobilnym, z tego te wzglêdu u ytkownik ma mo liwoœæ wyznaczenia trajektorii ruchu robota. W odpowiednich punktach wyznaczonych przez u ytkownika bêdzie dokonywane skanowanie. W trakcie pracy z programem mo na wykonywaæ jednorazowe skanowanie lub uruchomiæ procedurê automatycznego przemieszczania siê skanera i wykonywania pomiaru w okreœlonych punktach kontrolnych. Przyk³adowa przestrzeñ robocza oraz rezultaty skanowania przedstawione s¹ na rysunkach 2 i 3. Rys. 3. Okno przedstawiaj¹ce wyniki skanowania Rys. 4. Program SICKSimulator-Server
440 Jacek Nowakowski, Daniel Kaczorowski SICKSimulator dokonuje symulowanych obliczeñ i otrzymane wyniki albo zapisuje do pliku, albo wysy³a przez sieæ komputerow¹ do SICKSimulator-Server. Program ten obiera i wyœwietla otrzymane wyniki w postaci przestrzeni roboczej promieni lasera oraz w postaci wykresu. Program ten zosta³ przedstwiony na rysunku 4. 3. PipeWithOil Wizualizacja trójwymiarowa procesów przedstawia w bardziej przejrzysty sposób otrzymane dane pomiarowe. Programem, który realizuje takie zadanie jest PipeWithOil. Program ten po uprzednim przetworzeniu obrazów, bêd¹cych w tym przypadku danymi pomiarowymi, tworzy trójwymiarowy obraz b¹belków oleju p³yn¹cych wraz z wod¹ w rurze. Pierwszym etapem jest wskazanie w odpowiedniej kolejnoœci obrazy, które bêd¹ stanowi³y sekwencje danych Ÿród³owych. Kolejn¹ czynnoœci¹ jest komputerowe przetworzanie obrazów. Dostêpne procedury przetwarzania powy szych obrazów to binaryzacja, filtracja filtrem medianowym, dylatacja i erozja. Odpowiednia sekwencja powy szych procedur umo liwia stworzenie obrazów, które bêd¹ najlepiej odwzorowywa³y dane, na podstawie których bêdzie tworzona trójwymiarowa scena. Gdy obraz zostanie ju odpowiednio przygotowany, u ytkownik musi okreœliæ wielkoœæ siatki pomiarowej. Powy sze operacje realizowane s¹ na pierwszym obrazie, jaki zosta³ za³adowany do programu. Dla pozosta³ych obrazów operacje bêd¹ przebiega³y automatycznie bez ingerencji u ytkownika. Po przetworzeniu wszystkich obrazów generowana jest scena trójwymiarowa. G³ówne okno programu oraz przyk³adowy wynik przedstawiaj¹ rysunki 5 i 6. Rys. 5. G³ówne okno programu PipeWithOil z za³adowanymi obrazami oraz ustawion¹ sekwencj¹ procedur przetwarzania obrazów
Modelowanie œrodowiska 3D z danych pomiarowych 441 Rys. 6. Scena trójwymiarowa b¹bli oleju w rurze 4. Wizualizacja zalewania terasy Program umo liwiaj¹cy zobrazowanie zalewania terasy zalewowej wykorzystuje do wygenerowania sceny trójwymiarowej zdjêcia mapy geodezyjnej i zdjêæ lotniczych (rys. 7). Wymienione w artykule programy zosta³y zbudowane i wstêpnie sprawdzone pod wzglêdem ich przydatnoœci dla wspomnianych zagadnieñ. Pierwsze wyniki uzyskane przez te programy potwierdzi³y du ¹ rolê, jak¹ mog¹ wnieœæ systemy symulacyjne oraz wizualia) b) Rys. 7. Obraz terasy zalewowej (a) oraz wygenerowana scena trójwymiarowa terasy (b) 5. Podsumowanie
442 Jacek Nowakowski, Daniel Kaczorowski zacyjne w pracach badawczych. W ramach dalszych prac programy te bêd¹ dalej rozbudowywane. W przypadku programu symulacyjnego do³¹czona zostanie mo liwoœæ generowania sceny trójwymiarowej przestrzeni roboczej robota. Program PipeWithOil rozbudowany zostanie do generowania animacji przep³ywu mieszaniny p³ynów w rurze. Program generuj¹cy scenê trójwymiarow¹ terasy wyposa ony zostanie w interfejs umo liwiaj¹cy interakcjê z u ytkownikiem. Dziêki temu bêdzie mo na wp³ywaæ na ró nego rodzaju parametry zwi¹zane z procesem zalewania. Rozbudowany zostanie tak e modu³ generuj¹cy obszar 3D ze zdjêæ lotniczych. Literatura [1] Nowakowski J.: Rekonstrukcja œrodowiska 3D przy wykorzystaniu systemów stereowizyjnych. XII Konferencja Sieci i Systemy Informatyczne, Politechnika ódzka, ódÿ 2004