Projekt autonomicznego robota inspekcyjnego

Karol Majek*, Michał Pełka*, Janusz Będkowski*, Maciej Cader **, Andrzej Masłowski*

* Instytut Automatyki i Robotyki, Politechnika Warszawska, **Przemysłowy Instytut Automatyki i Pomiarów PIAP w Warszawie

Streszczenie: W artykule przedstawiono projekt autonomicznego robota inspekcyjnego. Ze względu na fakt, że komercyjne rozwiązania nie oferują satysfakcjonującej funkcjonalności w stosunkowo niskiej cenie zdecydowano się zaprojektować autonomicznego robota inspekcyjnego na bazie komercyjnej platformy wyposażonej w autorskie rozwiązanie laserowego systemu pomiarowego 3D. Projekt lasera 3D wykonano z wykorzystaniem technik szybkiego prototypowania metodą druku 3D. Autonomiczny robot mobilny nawigowany jest na podstawie systemu IMU (Inertial Measurement Unit) ze zintegrowanym GPS (Global Positioning System). Opracowane rozwiązanie dostarcza użytkownikowi danych w postaci map lokalnych 3D wraz z częściową analizą semantyczną (obliczanie wektorów normalnych dla chmury punktów metodą PCA Principal Component Analysis) w trybie on-line. Przeprowadzono eksperymenty weryfikujące poprawność działania systemu. W rezultacie powstało nowoczesne stanowisko badawcze, które może być wykorzystane do kolejnych badań z wykorzystaniem mobilnych systemów inspekcyjnych.

Słowa kluczowe: robot inspekcyjny, laserowy system pomiarowy 3D, PCA (Principal Component Analysis)

1. Wstęp

Zagadnieniem badawczym w artykule jest opracowanie systemu inspekcyjnego robota mobilnego. Na podstawie istniejących rozwiązań można stwierdzić, że problem dostarczania danych 3D (chmura punktów) jest ciągle postrzegany jako zagadnienie o charakterze badawczym, a niekoniecznie jako rozwiązanie komercyjne, i to mimo że dostępne są laserowe systemy pomiarowe 3D (Velodyne [1], Riegl [2]). Zastosowanie tych sensorów wiąże się często ze znacznym wydatkiem wykraczającym często poza przyjęty budżet. Dostępne są, oczywiście, tańsze rozwiązania komercyjne[3], jednak dokładność pomiarów oraz dostępność aktualnego oprogramowania znacznie utrudniają ich zastosowanie. Warto zwrócić uwagę na przeznaczenie proponowanego rozwiązania. Prezentowany system może być stosowany w systemach wspomagania projektowania przestrzennego [4], jak i zastosowaniach USAR (Urban Search and Res-cue) [5], [6]. Autonomiczny robot mobilny wyposażony w laserowy system pomiarowy 3D oraz IMU(Inertial Measurement Unit) ze zintegrowanym odbiornikiem GPS(Global Positioning System) umożliwia zdalne gromadzenie danych w postaci chmury punktów 3D. Dodatkowo komputer pokładowy robot realizuje wstępne przetwarzanie tych danych, w rezultacie udostępnione są wektory normalne obliczane metodą PCA (Principal Component Analysis) podobnie jak w pracy [7]. W rezultacie powstało nowoczesne mobilne stanowisko badawcze, które może być wykorzystane do dalszych prac nad stworzeniem autonomicznego robota inspekcyjnego.

2. Architektura systemu

Proponowany system jest rozproszony zrealizowany w architekturze klient-serwer. Każdy element systemu posiada serwer danych z możliwością subskrycji przez inne programy klienckie, a także inne serwery danych. Na rysunku 1 przedstawiono architekturę systemu akwizycji danych z układów sensorycznych robota.

Rys. 1. Architektura rozproszonego systemu akwizycji danych dla robota inspekcyjnego
Fig. 1. Architecture of distributed data acquisition system for an inspection robot

3. System akwizycji danych 3D

3.1. Laserowy system pomiarowy 3D

Prezentowana konstrukcja wykorzystuje komercyjny laserowy system pomiarowy 2D – SICK LMS100. LMS100 przekazuje informacje o odległościach dla 541 punktów pomiarowych rozmieszczonych co 0,5°. W celu uzyskania chmury punktów 3D należy obracać układem LMS100 wokół osi prostopadłej do osi obrotu zwierciadła. Uzyskana chmura punktów w sferycznym układzie współrzędnych . W związku z tym opracowano głowicę obrotową poruszającą się w trybie ciągłym (rysunek 2).

Rys. 2. Model laserowego systemu pomiarowego 3D
Fig. 2. Model of 3D laser measurement system

Chmura punktów jest przekształcana do współrzędnych kartezjańskich za pomocą następującej formuły:

(1)

gdzie: – kąt odczytany z en kodera, – kąt obrotu LMS100, – przesunięcie osi LMS100 od osi obrotu głowicy, – odległość zmierzona przez LMS100.

Rys. 3. Konstrukcja urządzenia; 1 – motoreduktor DC; 2 – pasek zębaty; 3 – enkoder inkrementalny z wałem przelotowym; 4 – elektryczne złącze obrotowe
Fig. 3. Device construction; 1 – DC gearmotor; 2 – toothed belt; 3 – incremental encoder; 4 – electric rotary connector

Napędem zainstalowanym w konstrukcji jest miniaturowy motoreduktor z silnikiem DC. Silnik komutatorowy z przekładnią redukcyjną o dużym przełożeniu zapewnia niskie i stałe obroty głowicy. Zmianę prędkości uzyskuje się przez zmianę wypełnienia przebiegu PWM zasilającego silnik. Na wale motoreduktora osadzone jest pasowe koło zębate, które za pośrednictwem przekładni z pakiem zębatym napędza wał, na którym osadzono głowicę skanera 2D. Wał ten jest łożyskowany za pomocą zespołu dwóch łożysk (łożyska kulkowe zwykłe), tak by zapewnić przenoszenie złożonych obciążeń. Wał urządzenia sprzęgnięty jest z enkoderem inkrementalnym (uwzględniającym położenie zerowe), dokonującym pomiaru kąta obrotu głowicy. W podobnych konstrukcjach często spotyka się enkoder sprzęgnięty z wałem silnika DC. Takie rozwiązanie ma szereg zalet zapewnia zmniejszenie rozmiarów, możliwość regulacji prędkości obrotów ze sprzężeniem zwrotnym, jednak pomiar aktualnego kąta obrotu głowicy jest obarczony błędem systematycznym wynikającym z luzu przekładni. Zastosowanie enkodera o dużej rozdzielczości na wspólnym z głowicą lasera wałem rozwiązuje ten problem. Na rysunku 4 przedstawiono wizualizację wygenerowanej sztucznie chmury punktów za pomocą przyjętej konfiguracji lasera 2D. W rezultacie zagęszczenie punktów występuje bezpośrednio nad/pod układem pomiarowym.

Rys. 4. 270° × 360° – pole widzenia laserowego systemu pomiarowego 3D
Fig. 4. 270° × 360° – 3D laser measurement system’s field-of-view

Przez wał urządzenia przeprowadzona jest wiązka przewodów, która zapewnia komunikację oraz zasilanie skanerowi 2D. Jednym z najważniejszych założeń było zapewnienie głowicy ciągłego ruchu obrotowego, co za tym idzie zasilania i komunikacji z pozostającą w ciągłym ruchu obrotowym głowicą. Konieczne było zastosowania złącza obrotowego. Na rynku spotyka się dwa rozwiązania. Pierwsze z nich korzysta ze szczotek ślizgających się po wirujących pierścieniach. Rozwiązanie to stosuje się w asynchronicznych silnikach pierścieniowych. Drugie bazuje na wypełnieniu złącza rtęcią. To rozwiązanie znajduje zastosowanie w dużych generatorach. Zastosowano miniaturowe złącze zapewniające bezawaryjną komunikację z LMS-100 za pośrednictwem Ethernetu (TX-Base100).

Szkieletem urządzenia jest jego obudowa, w której zapewniono możliwość montażu elementów urządzania (osadzenie łożysk, montaż silnika). Ponadto obudowa zapewnia łatwy montaż urządzenia do profili aluminiowych na platformie mobilnej. Ze względu na złożoną geometrię tego detalu oraz prototypowy charakter konstrukcji wykorzystano technologię osadzania topionego materiału (FDM Fused Deposition Modeling).

3.1. Wyznaczanie wektorów normalnych

W serwerze danych 3D obliczane są wektory normalne do powierzchni za pomocą analizy głównych składowych (PCA – Principal Component Analysis) oraz rozkładu według wartości własnych (SVD – Singular Value Decomposition).

Algorytm wyznaczania wektorów normalnych dla chmury punktów:

Dla każdego punktu Pi :

1. Wyznaczenie zbioru sąsiadów odległych nie więcej niż lmax od Pi.

2. Obliczenie macierzy kowariancji dla zbioru sąsiadów.

3. Znalezienie kierunków głównych za pomocą rozkładu według wartości osobliwych SVD

4. Zapisać wektor normalny ni=U3.

Dane z obracającego się skanera laserowego traktowane są jako zorganizowana chmura punktów. Analiza sąsiedztwa obejmuje 100 punktów. Do obliczenia wektorów normalnych wykorzystywane jest n poprzednich i następnych pomiarów lasera 3D. Efekt działania algorytmu został pokazany na rysunku 5.

Rys. 5. 541 wektorów normalnych obliczonych dla danych z laserowego systemu pomiarowego 3D
Fig. 5. 541 normal vectors computed for data from 3D laser measurement system

Obliczenie macierzy kowariancji pozwala na wyznaczenie kierunków głównych dla badanej chmury punktów. Macierz kowariancji wyznaczana jest następująco:

(2)

(3)

(4)

(5)

Rozkład według wartości własnych (SVD – Singular Value Decomposition) – każdą macierz rzeczywistą Am×n można przedstawić jako rozkład wartości własnych.

(6)

gdzie ma postać

(7)

(8)

to niezerowe wartości szczególne macierzy A.

Algorytm znajdowania SVD dla macierzy :

1. Wyznaczenie wartości własnych macierzy

2. Określenie liczbę r niezerowych wartości własnych macierzy

3. Znalezienie ortonormalnych wektorów własnych macierzy odpowiadających znalezionym wartościom własnym.

4. Z wektorów własnych uporządkowanych malejąco powstają kolejne kolumny macierzy ortogonalnej

5. Umieszczając pierwiastki kwadratowe z wartości własnych macierzy w porządku malejącym na diagonalnej macierzy

6. Wyznaczenie pierwszych r wektorów kolumnowych macierzy z równań

7. Dodanie do macierzy U pozostałych m-r wektorów.

Tab. 1. Struktura pakietu zawierającego informację o współrzędnych punktów
Tab. 1. Structure of packet with information about position of 3D points

Nagłówek

Współrzędne 541 punktów

0x64 („d”)

x0 (4 b)

y0 (4 b)

z0 (4 b)

…

x540

y540

z540

Rys. 6. Chmura punktów z wektorami normalnymi uzyskana z systemu akwizycji danych 3D
Fig. 6. A point cloud with normal vectors obtained from the 3D data acquisition system

3.3. Transfer danych

Dane sensoryczne z laserowego systemu pomiarowego 3D będą przesyłane w dwóch pakietach. Pierwszy pakiet zawiera informacje o współrzędnych punktów. Pakiet składa się z jednobajtowego nagłówka i pola danych, jak w tabeli 1. Pole danych zawiera informację o 541 punktach – po trzy współrzędne czterobajtowe typu float.

Drugi rodzaj pakietu zawiera informację o współrzędnych wektorów normalnych do powierzchni dla każdego punktu. Struktura pakietu (tab. 2) jest analogiczna jak w przypadku przesyłania współrzędnych punktów.

Tab. 2. Struktura pakietu zawierającego informację o kierunkach wektorów normalnych
Tab. 2. Structure of packet with information about direction of normal vectors

Nagłówek

Współrzędne 541 wektorów normalnych

0x6E

(„n”)

xn0

(4 b)

yn0

(4 b)

zn0

(4 b)

…

x540

y540

z540

4. Serwer danych IMU oraz GPS

Serwer danych IMU oraz GPS odbiera dane sensoryczne z układu IMU i GPS oraz przelicza położenie robota mobilnego na współrzędne w układzie UTM (Universal Transverse Mercator). Nagłówek pakietu jest analogiczny jak w pakietach z danymi 3D – jednobajtowy symbol pakietu.

Tab. 3. Struktura pakietu zawierającego informację o pozycji i orientacji robota
Tab. 3. Structure of packet with information about robot position and orientation

Nagłówek

Długość i szerokość geograficzna

Kąty Eulera

Pozycja UTM

0x70

(„p”)

lattitude (8 b)

longitude (8 b)

yaw (8 b)

pitch (8 b)

roll (8 b)

E (8 b)

N (8 b)

Sign (3 b)

5. Eksperyment

Celem eksperymentu była inspekcja wybranego fragmentu środowiska outdoor. Robot miał za zadanie dostarczenie informacji przestrzennej wzbogaconej o wektory normalne (rysunki 7 i 8). System przetwarza dane w trybie on-line. Dostęp do danych z poziomu stacji dowodzenia został zapewniony poprzez zastosowaną architekturę rozproszoną.

Rys. 7. Robot inspekcyjny w środowisku outdoor
Fig. 7. Inspection robot in outdoor environment

Rys. 8. Chmura punktów z wektorami normalnymi otrzymana w środowisku outdoor z rys. 7
Fig. 8.  Point cloud with normals obtained in outdoor environment from fig. 7

6. Podsumowanie

W pracy przedstawiono projekt autonomicznego robota inspekcyjnego. Przeprowadzony eksperyment pokazał poprawność działania systemu, który dostarcza do stacji dowodzenia informacji przestrzennej w postaci chmury punktów 3D z naniesionymi wektorami normalnymi obliczonymi w trybie on-line. Zaprojektowano orz wykonano laserowy system pomiarowy 3D w technologii druku 3D. Zaproponowany system robota mobilnego jest nowoczesnym mobilnym stanowiskiem pomiarowym, które może być wykorzystane w dalszych pracach badawczych nad stworzeniem nowoczesnego systemu inspekcyjnego.

Bibliografia

1. Pellenz J., Lang D et al., Real-time 3d mapping of rough terrain: A field report from disaster city. „IEEE International Workshop on Safety Security and Rescue Robotics (SSRR)”, Bremen, Germany(2010).

2. Elseberg, J., D. Borrmann et al., Efficient processing of large 3D point clouds, „XXIII International Symposium on Information, Communication and Automation Technologies (ICAT)”, Sarajevo, Bosnia (2011).

3. http://www.3d-scanner.net/

4. Będkowski J., Intelligent Mobile Assistant for Spatial Design Support, „Journal of Automation in Constrution”, 2012, DOI http://dx.doi.org/10.1016/j.autcon.2012.09.009.

5. Bedkowski J., Maslowski M., De Cubber G., Real time 3D localization and mapping for USAR robotic application, „Industrial Robot: An International Journal”, Vol. 39, No. 5, 2012.

6. Surmann H., Worst R. et al., RoboCup Rescue - Robot League Team KURT3D, Rescue Robot League Competition RoboCup2004, New Orleans, Louisiana, USA (2004)

7. Rusu R.B., Marton Z.C., Blodow N., Beetz M., Learning informative point classes for the acquisition of object model maps, [in:] „Proc. 10th International Conference on Control, Automation, Robotics and Vision ICARCV”, 2008, 643–650.

Project of autonomous inspection robot

Abstract: In the article the project of autonomous inspection robot is shown. Instead of commercial applications, proposed approach with relatively lower prize offer satisfactory functionality. Proposed approach is based on State of the Art mobile platform equipped with developed 3D laser measurement system 3D. Laser 3D is developed based on Fused Deposition Modeling FDM technology. Autonomous mobile robot is using IMU (Inertial Measurement Unit) wit GPS (Global Positioning System) to navigate in outdoor environment. The approach offers 3D cloud of points augmented by normal vectors looking form user point of view. Normal vectors are computed using PCA (Principal Component Analysis) method in on-line fashion. The proof of concept was demonstrated based on the experiment in the real environment. As a result the modern research platform is developed, which can be used for further inspection systems’ analysis.

Keywords: inspection robot, laser measurement system 3D, PCA (Principal Component Analysis)

Karol Majek

Student trzeciego roku Wydziału Mechatroniki Politechniki Warszawskiej specjalności Robotyka. Zajmuje się programowaniem równoległym w technologii CUDA, robotyką mobilną oraz tworzeniem systemów Augmented Reality.

e-mail: karolmajek@gmail.com

Michał Pełka

Student wydziału Mechatroniki Politechniki Warszawskiej na kierunku Automatyka i Robotyka. Interesuje się konstrukcją urządzeń mechatronicznych, elektroniką oraz robotyką. Zatrudniony w przedsiębiorstwie zajmującym się automatyzacją procesów produkcyjnych.

e-mail: michalpelka@gmail.com

dr inż. Janusz Będkowski

Doktorat w dziedzinie Automatyki I Robotyki, Adiunkt w Instytucie Automatyki i Robotyki Politechniki Warszawskiej, współpraca z Przemysłowym Instytutem Automatyki i Pomiarów oraz Instytutem Maszyn Matematycznych. Zakres prac badawczych: jakościowa reprezentacja wiedzy dla aplikacji robotycznych, trening operatorów platform mobilnych, 6DLSAM.

e-mail: januszbedkowski@gmail.com

mgr inż. Maciej Cader

Absolwent wydziały Mechanicznego Energetyki i Lotnictwa Politechniki Warszawskiej. Pracownik Przemysłowego Instytutu Automatyki i Pomiarów PIAP. Zajmuje się konstruowaniem, zaawansowanymi symulacjami komputerowymi i technologiami przyrostowymi. Współautor kilkunastu publikacji o tematyce związanej z robotyką mobilną.

e-mail: mcader@piap.pl

prof. dr hab. inż. Andrzej Masłowski

Andrzej Masłowski, profesor w dziedzinie Automatyki i Robotyki w Instytucie Automatyki i Robotyki, Politechniki Warszawskiej. Zakres prac badawczych: inteligentne systemy mobilne, systemy wielorobotowe dla aplikacji RISE, e-Training. Członek IFIP, IFAC, IMACS, IMEKO TC-17 Measurement and Control in Robotics. Od 2006 reprezentant Polski w programie Joint Coordinating Forum International Advanced Robotics Programme.

e-mail: a.maslowski@mchtr.pw.edu.pl