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.