zdalne sterowanie robotem przemysłowym poprzez sieć internet

Transkrypt

zdalne sterowanie robotem przemysłowym poprzez sieć internet
Nr 60
59
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych
Politechniki Wrocławskiej
Nr 60
59
Studia i Materiały
Nr 27
26
2006
Internet, zdalne sterowanie,
roboty przemysłowe, manipulator
Czesław T. KOWALSKI*, Mateusz DYBKOWSKI *, Grzegorz BUKAŁO
F
F
ZDALNE STEROWANIE ROBOTEM
PRZEMYSŁOWYM POPRZEZ SIEĆ INTERNET
W artykule omówiono możliwości wykorzystania sieci Internet do zdalnego sterowania robotami
przemysłowymi. Jako obiekt sterowania wykorzystano robota ramieniowego RV2AJ firmy Mitsubishi. Przedstawiono możliwości sterowania tego typu robota poprzez sieć komunikacyjną Internet. Zostało scharakteryzowane oprogramowanie do komunikacji pomiędzy robotem a klientem, umożliwiające zdalne sterowanie przemieszczaniem się ramienia manipulatora w dowolny zadany punkt.
Protokół transmisji danych powiązany został z oprogramowaniem do gry w warcaby w taki sposób,
że ruchy pionkami wykonywane były przez robota. Zastosowane oprogramowanie umożliwia jednoczesną transmisję obrazów z dwóch zainstalowanych na manipulatorze kamer internetowych.
1. WPROWADZENIE
W dzisiejszych czasach koszty, jakość oraz elastyczność reagowania na zmienne
potrzeby odbiorcy decydują o rynkowej konkurencyjności producenta, dlatego też
coraz częściej praca człowieka zostaje zastępowana pracą skomplikowanych maszyn
roboczych.
Zrobotyzowane systemy produkcyjne pozwalają na efektywne wykorzystanie kwalifikacji i pracy ludzi oraz posiadanego parku maszynowego, ochronę środowiska,
poprawę jakości i ilości produkcji. Przeznaczone są one zarówno dla małych, jak i
średnich producentów. Roboty są w stanie przenosić ciężkie elementy, wykonywać
precyzyjne prace spawalnicze lub montażowe, wspomagając lub wyręczając człowieka w wielu trudnych, męczących i monotonnych zadaniach, pracując dokładniej bez
przerw, w hałasie, zapyleniu czy też w niezdrowych oparach. Roboty pracują w najróżniejszych dziedzinach przemysłu, między innymi: w metalowym, samochodowym,
__________
*
Instytut Maszyn, Napędów i Pomiarów Elektrycznych, Politechnika Wrocławska, 50-370 Wrocław,
ul. Smoluchowskiego 19, czesł[email protected] , [email protected]
HU
UH
HU
UH
ciężkim, stoczniowym, budowy maszyn i taboru kolejowego, a także spożywczym i
chemicznym. Coraz częściej parki maszynowe sterowane są na odległość dzięki możliwością transmisji danych poprzez różnego rodzaju sieci przesyłowe. Jedną z najbardziej rozbudowanych oraz dostępnych sieci jest Internet. Mimo wielu wad tego środowiska coraz częściej producenci dążą do tego, aby maszyny wykonawcze były
sterowane poprzez Internet. W niniejszej pracy przedstawiono rozwiązanie pozwalające na zdalną komunikację z robotem przemysłowym RV2AJ firmy Mitsubishi [1], [2].
2. SIEĆ INTERNET JAKO NARZĘDZIE DO STEROWANIA ROBOTAMI
PRZEMYSŁOWYMI
Do realizacji stosunkowo skomplikowanego zadania, jakim jest sterowanie poprzez
Internet, wykorzystano robota przemysłowego Mitsubishi RV2AJ. Jest on ręko podobnym robotem o pięciu osiach swobody, wyróżniającym się najnowszą technologią
zastosowaną przy konstrukcji ramienia i układu sterowania. Wysokiej precyzji serwo silniki AC zapewniają pewną i bezawaryjną pracę. Technologia absolutnych przetworników położenia pozwala w każdej chwili na wyłączenie robota i ponowne rozpoczęcie pracy z dokładnie tej samej pozycji, bez straty czasu na szukanie zerowego
punktu odniesienia i unikając tym samym ryzyka kolizji. Mózgiem tego kontrolera jest
64 - bitowa jednostka centralna CPU, która w trybie wielozdaniowym może wykonywać do 32 zadań jednocześnie. Robot wyposażony jest w standardowy interfejs RS232 oraz 16 cyfrowych wejść i wyjść I/0, niezbędnych do komunikacji z otaczającym
go sprzętem. Dodatkowy sieciowy moduł (z protokołem TCP/IP) pozwala na zintegrowanie robota RV-2AJ z siecią Ethernet. Wysokie osiągi tej sieci pozwalają na
szybką wymianę danych i bardzo szybkie czytanie oraz wpisywanie współrzędnych
pozycji. Na rys. 1 przedstawiono widok i schemat robota przemysłowego RV-2AJ.
Schemat ideowy stanowiska laboratoryjnego do testowania sterowania robotem i
przesyłania obrazu przedstawiono na rysunku 2. Do komunikacji z robotem wykorzystano dwa interfejsy. Pierwszy RS232, stanowiący połączenie środowiska programistycznego Cosimir z robotem, oraz drugi interfejs Ethernet, służący do przesyłu informacji pomiędzy oprogramowaniem robota a programem typu Serwer pracującym
na komputerze PC. Oprogramowanie Serwer, pełni rolę „tłumacza” informacji zarówno tych wysłanych z robota do serwera, w celu przekazania w użytecznej formie do
programów typu Klient, jak i w drugą stronę od Klienta poprzez Serwer do robota.
Realizacja takiego zadania wymagała zastosowania wielu dodatkowych rozwiązań
sprzętowych i programowych. Komputer PC został wyposażony w dwie karty sieciowe Ethernet, jedną do komunikacji z robotem, drugą do połączenia z siecią Internet.
W celu prawidłowej kontroli robota przemysłowego konieczne było zastosowanie
strumieniowego przesyłu danych [6]. Taka metoda przesyłu informacji umożliwia
bieżącą kontrolę zjawisk zachodzących w maszynie oraz w jej otoczeniu dzięki zastosowanym kamerom internetowym.
Rys. 1. Robot Mitsubishi RV2AJ
Fig. 1. Robot Mitsubishi RV2AJ
Rys. 2. Schemat połączeń stanowiska laboratoryjnego (a), schemat przesyłu strumieniowego obrazu
wideo (b)
Fig. 2. Laboratory set up scheme a), video transmition scheme b)
Do przesyłania danych poprzez Internet w formacie ASF, wykorzystano pakiet firmy Microsoft Windows Media Technologies [6], [7] ( rys. 3). Dane przesyłane tą metodą odtwarzane są na bieżąco, w miarę napływania kolejnych pakietów danych z
sieci Ethernet. Nie ma zatem potrzeby pobierania pliku w całości. Dzięki temu możliwa jest m.in. transmisja dźwięku, wideo i obrazu w "czasie rzeczywistym".
Rys. 3. Okno programu Windows Media Encoder
Fig. 3. Windows Media Encoder application window
W celu sprawdzenia możliwości opracowanego oprogramowania komunikacyjnego
typu Klient–Serwer zastosowano je do realizacji internetowej wersji gry w warcaby.
Rozwiązanie to umożliwiło zilustrowanie ogromnych możliwości wynikających z
połączenia robotów przemysłowych z siecią Ethernet. Może ono zostać przeniesione,
po zapewnieniu odpowiednich standardów bezpieczeństwa, do przemysłu do innych
bardziej wymagających i zaawansowanych zastosowań.
Program Klienta internetowego, przedstawiony na rys. 4a, zbudowany został w
oparciu o konstrukcję modułową. Głównym modułem jest część odpowiedzialna za
komunikację z Serwerem gry i monitoringu. To przez nią komunikują się z serwerem
takie moduły jak: Gra „Warcaby”, Komunikator, Monitoring parametrów robota.
Moduły wideo są elementami, łączącymi się niezależnie z serwerem strumieniowego
wideo. Panel komunikacji z serwerem, przedstawiony na rys. 4b oraz 4c, zawiera ustawienia adresów IP serwera komunikacji i serwera wideo oraz portów, przez które komunikacja jest ustanawiana. Znajdują się na nim także listingi logów serwera, czyli
komunikatów, błędów i komend przekazywanych z serwera do klienta.
Rys. 4. Oprogramowanie Klient – a) internetowa gra „Warcaby”, b)panel komunikacji z serwerem,
c)panel ustawień komunikacji
Fig. 4. Internet game “Warcaby” – client, communication panel, setup panel
Technicznie komunikacja została rozwiązana w oparciu o komponenty, zawarte w
środowisku programistycznym Borland Delphi, w którym został napisany program
Klienta i Serwera. Komponenty wykorzystane do komunikacji to ClientSocket i ServerSocket. Pozwalają one, za pomocą protokołu TCP, na prostą komunikację tekstową pomiędzy aplikacjami internetowymi oraz bardziej zaawansowaną komunikację
strumieniową. W aplikacji Klienta wykorzystano prostszy sposób komunikacji, poprzez komunikaty tekstowe. Mechanizm działania komunikacji jest tak zbudowany, że
każdy z modułów aplikacji przesyła komunikaty tekstowe do modułu komunikacyjnego, ten dalej do aplikacji Serwera, a ten następnie do pozostałych podłączonych klientów, w których przez moduł komunikacji z serwerem, dane są przekazywane do odpowiednich modułów. W drugim module odbywa się rozgrywka w Warcaby oraz
zdalne sterowanie robotem i monitoring jego parametrów (statusu, pozycji). Składa się
on z okna szachownicy, na której odbywa się gra (rys. 4a) i sterowanie robotem, oraz
z okna informacyjnego, w którym możliwe jest obejrzenie parametrów zarówno gry
jak i robota. Połączenie ze sobą możliwości gry w Warcaby i sterowania robotem niesie ze sobą wiele problemów. Jednym z nich jest konieczność blokowania funkcji
sterowania na czas, gdy robot wykonuje ruch w grze. Innym problemem jest konieczność blokowania gry u klientów na czas ruchów robota lub sterowania robotem przez
jednego z graczy. Powyższe problemy niosą ze sobą konieczność pełnej synchroniza-
cji danych pomiędzy wszystkimi składnikami systemu, czyli Klientami, Serwerem i
Robotem. I właśnie przy zagadnieniu synchronizacji, występuje problem powstających opóźnień w przesyle danych.
3. SERWER JAKO MOST POMIĘDZY KLIENTEM A ROBOTEM
Oprogramowanie komputera stanowiącego serwer komunikacyjny można nazwać
mostem pomiędzy podłączonymi klientami a robotem. Jego zadaniem jest odbieranie
danych z jednej strony i przekazywanie ich drugiej stronie w użytecznej postaci. Czyli
jeśli klient wykona ruch to do serwera zostanie przekazana komenda ruchu, która zostanie przesłana zarówno do przeciwnika, jak i po przetworzeniu, do robota w formie
komendy zrozumiałej dla programu robota. Podobnie w drugą stronę, jeśli robot wyśle
swoją pozycję do serwera, ten po przetworzeniu na użyteczny format – zrozumiały dla
programu Klienta jako komenda z pozycją – wyśle ją do klientów.
Rys. 5. Okno główne aplikacji Serwer
Fig. 5. The main window of the Server application
Okno programu Serwer, przedstawione na rysunku 5, składa się z trzech części.
Pierwsza z nich to grupa ustawień. Znajdują się w niej takie dane jak adres IP komputera, na którym uruchomiono program, porty do których będą podłączali się klienci,
opóźnienie kolejki wysyłania, Adres IP robota, oraz port komunikacji z robotem. Widoczne są tu także statusy każdego z portów. Ważną do omówienia funkcją w tej gru-
pie jest funkcja opóźnienia wysyłania. Opcja ta stworzona została z konieczności
kompensacji opóźnień występujących podczas wysyłania danych przez Internet.
Jeśli program dostawał jedną informację do wysłania a zaraz po niej drugą to do
Klienta docierała informacja „sklejona” z dwóch wysłanych. Aby uniknąć takiego
„sklejania” stworzono kolejkę wysyłania typu FIFO (First In – First Out) taktowaną
wg ustawionego opóźnienia. Informacje dodane w dowolnym czasie wysyłane są
przez to w równych odstępach czasu. Kolejną grupę stanowią okna, w których znajdują się informacje o klientach podłączonych przez port komend i komunikatora. Można
sprawdzić ile osób i z jakich adresów łączy się z serwerem. Ostatnią grupę stanowią
logi komunikacyjne. W osobnych zakładkach ukryte są informacje o przebiegu komunikacji pomiędzy poszczególnymi częściami „Systemu”, czyli pomiędzy aplikacjami
Klient – Serwer, Server – Robot oraz dodatkowe logi informujące o działaniu komunikatora.
4. OPROGRAMOWANIE ROBOTA PRZEMYSŁOWEGO
Oprogramowanie robota zostało opracowane w środowisku COSIMIR Professional
(rys. 6.). Środowisko to jest bardzo silnym narzędziem do programowania
i wizualizacji pracy robotów a nawet całych procesów przemysłowych [4]. Pozwala
ono wykonywać powyższe czynności nawet, gdy użytkownik nie posiada dostępu do
programowanego robota dzięki czemu nie ma potrzeby programowania on-line. Pozwala to także na uniknięcie przypadkowego uszkodzenia robota lub innych obiektów
w otoczeniu robota, gdyż możliwe jest wcześniejsze wirtualne przetestowanie napisanego programu.
Program został napisany w języku Melfa Basic IV. Działania programu można opisać następująco w uproszczony sposób:
– program inicjuje połączenie z serwerem i oczekuje na komendy tekstowe,
– po rozpoznaniu komendy realizuje wybraną część podprogramu,
– jeżeli nie są przysyłane komendy i nie są wykonywane żadne zadania, robot przesyła do serwera informacje o swoim statusie i pozycji.
Jak można zauważyć, program jest tylko narzędziem wykonującym za pomocą robota, komendy wydawane przez klientów, po uprzednim przetłumaczeniu ich, przez
aplikację serwera, do formatu zrozumiałego przez robota.
Powyższy sposób jest jednym z prostszych rozwiązań tego zagadnienia. Za pomocą środowiska COSIMIR i posiadanego robota, można stworzyć aplikacje dużo bardziej rozbudowane, działające na zasadzie wielowątkowości i przerwań.
Rys. 6. Środowisko programistyczne Cosimir
Fig. 6. Programming environment Cosimir
5. PODSUMOWANIE
Zdalne sterowanie robotem przemysłowym poprzez ogólnodostępną sieć Internet
rozszerza istotnie jego możliwości techniczne i aplikacyjne.
Mobilność zastosowanej aplikacji pozwala na zaadaptowanie systemu na praktycznie każdym robocie, programowanym poprzez komputer klasy PC, spełniającym pewne warunki:
– połączenie typu Ethernet między robotem i komputerem,
– możliwość rozpoznawania przez kontroler komunikatów tekstowych.
Zastosowanie kamer internetowych w połączeniu ze zdalnym sterowaniem robotem przemysłowym sprawia, że istnieje praktycznie nieograniczona możliwość w sterowaniu złożonymi układami regulacji na odległość oraz nadzorowania ich działania.
Wadą przedstawionego rozwiązania jest konieczność stosowania bardzo szybkich
komputerów, które umożliwią przesyłanie w sposób ciągły danych i obrazu na drodze
Klient – Server.
LITERATURA
[1]
[2]
[3]
[4]
[5]
[6]
[7]
Materiały szkoleniowe „Seria MOVEMASTER” , Mitsubishi Electric Polska 2000
Melfa RV-2AJ Training documents, Mitsubishi Electric 2001
Ethernet Interface CRn-500 Series, Mitsubishi Electric 2002
COSIMIR – Getting Started, EF-Robotertechnik 2000
Spong M. W, Vidyasagar M., Dynamika i sterowanie robotów, WNT 1989
Lee R. H, Protokoły i Usługi TCP/IP systemu Windows 2000, Microsoft Press 2002
McEvoy S., Fundamentals of Programming the Microsoft Windows Media Platform,
Microsoft Press 2003
THE REMOTE CONTROL OF THE INDUSTRIAL ROBOTS
THROUGH THE INTERNET
In the article possibilities of the utilization of the Internet to the remote control industrial robots were
presented. Arm robot RV2AJ of the firm Mitsubishi was steering by the Internet.
The techniques for this type of robot control via Internet were discussed. The software for communication between the robot and the client, enabling the remote control of the robot arm movement was
described. The data transmission protocol was verified in the checkers game, where the pawns relocation
was realized by robot. The used software enables the simultaneous transmission of images provided by
two internet cameras mounted on the manipulator.

Podobne dokumenty