Ćwiczenie PAR5
Budowa, sterowanie i programowanie robota
Spis treści 1. Wprowadzenie
2. Konstrukcja robota przemysłowego RV- M1 2.1. Opis konstrukcji
2.2. Opis jednostki sterującej 2.3. Opis panelu programowania
3. Sterowanie i programowanie robota RV-M1 z ręcznego panelu 4. Przykładowy przebieg ćwiczenia
5. Programowanie robota RV-M1 z wykorzystaniem programu Cosimir®
2 1. Wprowadzenie
Robot przemysłowy MOVEMASTER EX RV-M1 jest produkowany przez japońską firmę Mitsubishi Electric. Cechą charakterystyczną tego robota jest jego zwarta budowa oraz mała masa 19 kg. Manipulatory RV-M1 chętnie stosowane są przy robotyzacji zadań transportowych, przy takich czynnościach jak np.: podawanie i odbieranie, pakowanie i paletyzacja obiektów, obsługa maszyn i różnych urządzeń.
Robot MOVEMASTER EX RV-M1 składa się z:
manipulatora, sztywno mocowanego do podłoża,
jednostki sterującej, połączonej przewodami z robotem,
ręcznego panelu programowania manipulatora.
Rys. 1. Schemat stanowiska z robotem RV-M1:
manipulator, jednostka sterująca, ręczny panel programowania 2. Konstrukcja robota przemysłowego RV- M1
2.1. Opis konstrukcji
Rys. 2. Część manipulacyjna robota przemysłowego RV-M1: 1 – podstawa, 2 – korpus obrotowy, 3 – ramię dolne, 4 – ramię górne, 5 – przegub
1 2 4 3
5
3
Na podstawie 1, która może być mocowana na stałe do podłoża lub umieszczona na torze jezdnym, jest obrotowy korpus 2, do którego przymocowane jest ramię dolne 3, do niego dołączone jest ramię górne 4. Do końca ramienia górnego przymocowany jest przegub 5, do którego mogą być mocowane chwytaki lub narzędzia.
Poszczególne zespoły umożliwiają realizowanie następujących ruchów robota:
- obrót wokół osi pionowej, kąt α, - pochylenie ramienia dolnego, kąt β, - pochylenie ramienia górnego, kąt γ, - pochylenie przegubu, kąt τ,
- obrót przegubu, kąt υ.
Napęd zespołu korpusu α umieszczony jest w podstawie manipulatora i składa się z silnika prądu stałego wraz z przekładnią falową. Pochylenie ramienia dolnego β, realizowane jest przy pomocy przekładni falowej napędzanej przez pasek zębaty, który współpracuje z silnikiem prądu stałego umieszczonego w tylniej części ramienia dolnego. Na wałku wejściowym przekładni falowej umieszczono hamulec elektromagnetyczny. Pochylenie ramienia górnego γ odbywa się za pomocą silnika prądu stałego umieszczonego w tylniej części ramienia dolnego, który napędza przekładnie falową za pomocą paska zębatego. Do wałka wyjściowego przekładni dołączony jest wodzik, który wpływa na obrót ramienia górnego, natomiast do wałka wejściowego dołączony jest hamulec elektromagnetyczny.
Pochylenie τ oraz obrót υ przegubu realizowane są podobnie jak poprzednie osie, z tym że układy napędowe umieszczone są na ramieniu górnym. Zakres przemieszczeń poszczególnych zespołów robota RV-M1 jest wyznaczony mechanicznymi ogranicznikami końcowymi. Każda oś manipulatora zaopatrzona jest w optyczny enkoder, który przesyła informację do jednostki sterującej o danym położeniu robota. Stanowisko z robotem RV-M1 wyposażone jest w chwytak z napędem elektrycznym, o sztywnych końcówkach chwytnych.
Tabl. 1 Dane techniczne części manipulacyjnej robota RV-M1 Liczba stopni swobody pięć Zakres przemieszczeń:
obrót korpusu α
pochylenie ramienia dolnego ß
pochylenie ramienia górnego γ
pochylenie przegubu τ
obrót przegubu υ
300º 130º 110º 90º 180º
Prędkość maksymalna 1m/s
Dokładność pozycjonowania ± 0.3 mm
Masa robota 19 kg
Warunki otoczenia:
- temperatura 5 ... 40º C
Tabl. 2 Dane techniczne chwytaka elektrycznego
Typ HM-01
Napęd silnik prądu stałego
Zakres przemieszczeń końcówek chwytnych 0 – 60 mm
Siła chwytu 35 N
Udźwig 1.2 kg
Waga 600g
Żywotność 300000 operacji
Zasilanie 24 V DC
Moc 6.5 W
4
Rys. 3. Konstrukcja robota RV-M1: 1,4,9,14,18 – silnik DC, 2,6,16,19 – przekładnia falowa, 3,8,13,17,20 – wyłącznik krańcowy, 5,10,15 – pasek zębaty, 7,12 – hamulec elektromagnetyczny,
11 – wodzik
5 2.2. Opis jednostki sterującej
Jednostka sterująca robota przemysłowego RV-M1 zawiera: procesor, płytę główną, pamięci RAM oraz EPROM.
Rys. 4. Jednostka sterująca robota RV-M1: a) przednia strona, b) tylna strona Jednostka sterująca zawiera następujące bloki i przyciski funkcjonalne:
1 zasilanie (lampka),
2 STOP AWARYJNY (przycisk) – natychmiastowe zatrzymanie robota, 3 błąd (lampka) – sygnalizuje wykrycie przez system błędu,
4 praca (lampka) – sygnalizuje, że robot jest w trakcie wykonywania programu, 5 start (przycisk) – naciśnięcie powoduje wystartowanie programu,
6 stop (przycisk) – wciśniecie powoduje zatrzymanie wykonywanego programu,
7 reset (przycisk) – kasowanie wykonywanego programu, służy także do kasowania błędu.
8 złącze Centronics – złącze umożliwiające połączenie jednostki z komputerem PC, 9 złącze RS- 232C – złącze szeregowe umożliwiające połączenie jednostki sterującej z PC, 10 złącze I/O – złącze do podłączenia zewnętrznych urządzeń, np. wyłączniki, kontrolery, 11 złącze ręcznego panelu programowania,
12 złącze zasilania – do podłączenia kabla zasilania do robota, 13 złącze sygnałowe – do podłączenia jednostki sterującej z robotem, 14 złącze dodatkowego przycisku STOP AWARYJNY,
15 uziemienie,
16 przycisk wyboru chwytaka – AC (napęd pneumatyczny), DC (napęd elektryczny), 17 bezpieczniki – (10A),
18 przycisk zasilania,
19 złącze zasilania jednostki sterującej.
2.3. Opis panelu programowania
Ręczny panel programowania ułatwia programowanie robota RV-M1 i uwalnia operatora od konieczności korzystania z komputera PC. Dzięki niemu możliwe jest uzyskanie wszystkich potrzebnych funkcji umożliwiających napisanie programu a także jego monitorowanie.
Ręczny panel programowania składa się z przycisków, które oznaczają:
1 przycisk zasilania – w momencie naciśnięcia klawisze panelu stają się dostępne; kiedy korzystamy z komputera PC należy panel wyłączyć,
2 przycisk STOP AWARYJNY,
3 INC (+ENT ) – przesunięcie manipulatora do pozycji o jeden numer większej od obecnej, 4 DEC (+ENT ) –przesunięcie manipulatora do pozycji o jeden numer mniejszej od obecnej,
6
5 P.S (+NUMER+ENT) – definiowanie numeru pozycji, który przypisany będzie do aktualnej pozycji robota; jeśli ten sam numer zostanie przypisany do np. dwóch różnych pozycji manipulatora to pod tym numerem będzie aktywna ostatnia zapisana pozycja, 6 P.C (+NUMER+ENT) – kasowanie numeru pozycji wybranej przez operatora, 7 NST (+ ENT) – bazowanie robota,
8 ORG (+ENT) – przemieszczenie manipulatora do pozycji w układzie kartezjańskim, 9 TRN (+ENT) – zapisanie programu przechowywanego na EPROM-ie operatora do
pamięci RAM jednostki sterującej,
10 WRT (+ENT) – zapisanie programu przechowywanego w pamięci RAM jednostki sterującej do EPROM-u operatora,
11 MOV (+NUMER+ENT) – przemieszczenie robota do zdefiniowanej pozycji ze stałą prędkością SP4,
12 STEP (+NUMER+ENT) – wykonywanie programu krok po kroku poczynając od pozycji zdefiniowanej przez operatora,
13 PTP – włączenie pracy robota w układzie biegunowym (układ odniesienia regionalny), 14 XYZ – włączenie pracy robota w układzie kartezjańskim (układ odniesienia globalny), 15 TOOL – układ odniesienia lokalny, dotyczący przemieszczania chwytaka robota, 16 ENT – przycisk zatwierdzający wszystkie komendy,
Rys. 5. Ręczny panel programowania
17 X+/B+ – przemieszczenie chwytaka robota w lewo patrząc od przodu dla układu
kartezjańskiego, lub obrót korpusu w kierunku zgodnym z ruchem wskazówek zegara dla układu biegunowego,
7
18 X-/B- – przemieszczenie chwytaka robota w prawo patrząc od przodu dla układu
kartezjańskiego, lub obrót korpusu w kierunku przeciwnym do ruchu wskazówek zegara dla układu biegunowego,
19 Y+/S+ – przemieszczenie chwytaka robota do przodu patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie ramienia dolnego w górę dla układu biegunowego,
20 Y-/S- – przemieszczenie chwytaka robota do tyłu patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie ramienia dolnego w dół dla układu biegunowego,
21 Z+/E+4 – przemieszczenie chwytaka robota do góry patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie ramienia górnego w górę dla układu biegunowego;
klawisz służy także jako przycisk numeryczny „4”,
22 Z-/E-9 – przemieszczenie chwytaka robota do dołu patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie ramienia górnego w dół dla układu biegunowego; klawisz służy także jako przycisk numeryczny „9”,
23 P+3 – przemieszczenie chwytaka robota do przodu patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie przegubu w górę dla układu biegunowego; klawisz służy także jako przycisk numeryczny „3”,
24 P-8 – przemieszczenie chwytaka robota do tyłu patrząc od przodu robota dla układu kartezjańskiego, lub pochylenie przegubu w dół dla układu biegunowego; klawisz służy także jako przycisk numeryczny „8”,
25 R+2 – obrót przegubu w kierunku zgodnym z ruchem wskazówek zegara patrząc od przodu robota; klawisz służy także jako przycisk numeryczny „2”,
26 R-7 – obrót przegubu w kierunku przeciwnym do ruchu wskazówek zegara patrząc od przodu robota; klawisz służy także jako przycisk numeryczny „7”,
27 OPTION+1 – przemieszczenie dodatkowej osi w kierunku dodatnim; klawisz służy także jako przycisk numeryczny „1”,
28 OPTION-6 – przemieszczenie dodatkowej osi w kierunku ujemnym; klawisz służy także jako przycisk numeryczny „6”,
29 ◄O► 0 – otwarcie chwytaka; klawisz służy także jako przycisk numeryczny „0”, 30 ►C◄ 5 – zamknięcie chwytaka; klawisz służy także jako przycisk numeryczny "5".
Wyświetlacz LED 4-cyfrowy informuje operatora o:
a) numerze linii programu aktualnie wykonywanego, b) informuje o poprawnym wprowadzeniu komendy, c) informuje o niepoprawnym wprowadzeniu komendy.
3. Sterowanie i programowanie robota RV-M1 z ręcznego panelu
Programowanie robota RV-M1 odbywa się przy pomocy ręcznego panelu sterowania lub przy pomocy komputera klasy PC.
Po włączeniu zasilania jednostki sterującej oraz panelu programowania należy przeprowadzić bazowanie robota (kombinacja klawiszy ręcznego panelu sterowania NST+ENT). Robot RV-M1 programowany jest metodą uczenia, tj. w ten sposób, że za pomocą przycisków 17 - 26 do naprowadzania robota w wymagane położenie, można sterować serwonapędami każdej osi robota w przestrzeni roboczej, doprowadzając do żądanego położenia i orientacji chwytaka. Przez przyciśniecie przycisku 5 wpisuje się do pamięci układu sterowania informacje o pozycjach poszczególnych osi robota w danym punkcie. Przyciskami ruchu doprowadzamy robota do zajęcia kolejnego położenia, ponownie naciskamy przycisk 5 - położenie to ponownie zostaje zapamiętane. I tak postępując dalej można zaprogramować wymagany tor ruchu robota, który następnie należy przesłać do pamięci jednostki sterującej.
8 4. Przykładowy przebieg ćwiczenia
Rys. 6 Widok stanowiska z robotem RV-M1
Na stanowisku z robotem RV-M1 (rys. 6) realizować można różnorodne zadania transportowe w przestrzeni będącej w zasięgu ramion robota (gdy robot ma nieruchomą podstawę) oraz w przestrzeni robota poruszającego się po torze jezdnym. Na stanowisku można zainstalować system wizyjny (kamera na wysięgniku nad stolikiem) i realizować zadania związane z analizą obrazu.
Podstawowe zadania wykonywane podczas ćwiczenia laboratoryjnego realizowane są w ustalonym położeniu robota, bez korzystania z toru jezdnego i systemu wizyjnego.
Przykładowe zadania do zrealizowania podczas ćwiczenia:
1. zaprogramować robota realizującego zadanie paletyzacji sześciu elementów ustawionych w stosie,
2. zaprogramować robota realizującego zadanie depaletyzacji sześciu elementów i ustawianie ich w stos,
3. korzystając z pisaka trzymanego przez chwytak robota zaprogramować robota wykonującego proste napisy lub rysunki figur geometrycznych.
9
Przykładowe zdefiniowanie pozycji przy pomocy ręcznego panelu sterowania:
doprowadza się manipulator robota do żądanej pozycji, następnie zapisuje się jako pozycja np. 10 za pomocą klawiszy panelu: P.S 10 ENT. Jeśli chce się zweryfikować pozycje naciska się kombinację klawiszy MOV 10 ENT. Aby program wykonywał się w sposób automatyczny należy przepisać zawartość pamięci RAM do EPROM-u zainstalowanego w jednostce sterującej.
5. Programowanie robota RV-M1 z wykorzystaniem programu Cosimir®
Jednostka sterująca robota Mitsubishi RV-M1 może realizować około 60 rozkazów, ale tylko z 13 można korzystać za pomocą ręcznego panelu sterowania. Resztę rozkazów można wykorzystać tworząc projekty sterowania robotem za pomocą programu Cosimir® na komputerze PC. Dzięki tym rozkazom możliwe jest tworzenie programów sekwencyjnych oraz programów korzystających z wyspecjalizowanych funkcji. Instrukcja obsługi programu Cosimir® w załączniku nr 1.
Wszystkie rozkazy można pogrupować w sześć podstawowych kategorii, które przedstawione są poniżej w formie tabel z zamieszczonymi dodatkowymi komentarzami. Nie wszystkie rozkazy są odpowiednie do użycia we wszystkich pisanych programach i nie wszystkie są dostępne z ręcznego panelu sterowania.
Komentarze w tabelach 3 – 6 w rubryce funkcje rozkazów:
„Proste” – proste zadania wykonywane na robocie, redagując program lub podczas uczenia robota,
„Złożone” – rozkazy z tą nominacją mogą być używane bez ograniczeń w robocie,
„Basic funkcje” – rozkazy w kategorii "podstawowe funkcje" ułatwiają projektowanie prostych programów robota (nie jest możliwe programowanie złożonych programów);
te rozkazy są szczególnie odpowiednie dla szybkiego zaznajomienia się z robotem,
„Dodatkowe funkcje" – dodatkowe funkcje zawierają wszystkie rozkazy logiczne dla zapewnienia wewnętrznej kontroli programu robota; z tymi funkcjami możliwe jest rozdzielenie program robota oraz definiowanie pętli wykonywanych wielokrotnie,
"Specjalne funkcje"– rozkazy w kategorii "Specjalne funkcje" zwiększają osiągnięcia kontrolera robota; te rozkazy upraszczają na przykład programowanie zadań paletyzowania.
Tabela 3. Instrukcje kontroli portu wejścia/wyjścia
Rozkaz Funkcja Ręczny
panel ster. Funkcje rozkazów ID Wczytuje dane z portu wejścia (nie
musi być spełniony żaden warunek). nie Złożone Dodatkowa funkcje IN
Pobiera synchronicznie dane z portu wejścia (używa linii kontrolnych
sygnału). nie
Złożone Specjalne funkcje
OB Ustawia w odpowiedni stan
określony bit w porcie wyjścia nie Złożone Basic funkcje
OD Wysyła dane do portu wyjścia nie Złożone
Specjalne funkcje OT
Wysyła synchronicznie dane do portu wyjścia (używa linii
kontrolnych sygnału). nie
Złożone Specjalne funkcje
TB
Powoduje skok warunkowy do określonej linii, jeśli dany bit na
porcie wejścia jest taki sam jak wartość w rejestrze wewnętrznym
nie
Złożone Specjalne funkcje
10
Tabela 4. Instrukcje ruchu (rozkazy te sterują ruchem ramienia robota) Roz
kaz Funkcja
Ręcz ny panel ster.
Funkcje rozkazów
DP Ustawia robota w zdefiniowanej pozycji o numerze mniejszym niż aktualny.
<DE C>
Złożone Basic funkcje DW Przesuwa koniec chwytaka do pozycji odległej od
aktualnej o odległości w osiach X, Y, Z nie Złożone Basic funkcje HE Definiuje współrzędne aktualnej pozycji poprzez
nadanie jej numeru
<P.S
>
Złożone Basic funkcje HO Ustala pozycję odniesienia w kartezjańskim
układzie współrzędnych nie Proste
Dodatkowe funkcje IP Ustawia robota w zdefiniowanej pozycji o
numerze większym niż aktualna <IN
C>
Złożone Basic funkcje MA
Przesuwa koniec chwytaka z aktualnej pozycji do innej pozycji odległej o wartość współrzędnych drugiej pozycji od pierwszej
nie
Złożone Specjalne funkcje
MC
Polecenie to przestawia robota w sposób ciągły przez zdefiniowane pozycje pomiędzy dwoma określonymi pozycjami
nie
Złożone Basic funkcje
MJ Obraca każdy wybrane połączenie o określony kąt
z aktualnej pozycji nie Złożone
Basic funkcje MO Przesuwa koniec chwytaka do określonej pozycji <M
OV>
Złożone Basic funkcje MP Przesuwa koniec chwytaka do punktu, którego
współrzędne i kąt są określone w instrukcji nie Złożone Basic funkcje MS
Ustawia robota w określonej pozycji poprzez określoną liczbę punktów pośrednich; ruch między punktami po liniach prostych
nie
Złożone Basic funkcje
MT
Przesunąć koniec chwytaka z aktualnej pozycji o określoną liczbę jednostek w kierunku
wyznaczonym przez oś narzędzia nie
Złożone Basic funkcje
NT Ustawia robota w pozycji bazowej <NS
T>
Złożone Basic funkcje OG Ustawia robota w pozycji odniesienia w
kartezjańskim układzie współrzędnych
<OR G>
Proste Dodatkowe funkcje PA Definiuje liczbę punktów w siatce kolumn i
wierszy dla określonej palety nie Złożone
Specjalne funkcje PC Kasuje współrzędne wybranej pozycji lub
wybranych współrzędnych
<P.
C>
Proste Basic funkcje PD Definiuje współrzędne i kąt pozycji o danym
numerze nie Proste
Specjalne funkcje PL Przyporządkowuje współrzędne jednej pozycji
drugiej pozycji nie Proste
Specjalne funkcje PT
Oblicza współrzędne siatki punktów na określonej palecie oraz przypisuje współrzędne odnoszącym
się do danej palety nie
Złożone Specjalne funkcje
PX Zamienia współrzędne dwóch określonych pozycji
nie Proste
Specjalne funkcje SF Zmienia współrzędne określonej pozycji o wartość
współrzędnych drugiego punktu nie Proste
Specjalne funkcje SP Ustawia prędkość oraz czas przyspieszenia i de
akceleracji robota nie Złożone
Basic funkcje TI Zatrzymuje ruch robota na określony czas nie Złożone
11
Basic funkcje
Tabela 5. Instrukcje programowe
Rozkaz Funkcja Ręczny
panel ster.
Funkcje rozkazów CP Ładuje wartość określonego licznika do
wewnętrznego rejestru porównawczego nie Złożone
Dodatkowe funkcje DA Wyłącza przerwanie wywoływane bitem z
zewnętrznego urządzenia nie Złożone
Dodatkowe funkcje DC Odejmuje l od wartości określonego licznika nie Złożone
Dodatkowe funkcje DL Kasuje zawartość określonej linii lub
określonych linii nie Proste
Basic funkcje
EA
Włącza przerwanie wywoływane bitem z zewnętrznego urządzenia i określa numer linii, do której następuje skok, gdy zostanie podany sygnał
nie
Proste
ED Kończy program nie Złożone
Basic funkcje EQ
Powoduje skok w programie, gdy zawartość wewnętrznego rejestru jest równa
porównywanej wartości
nie
Złożone Dodatkowe funkcje
GS Pozwala na skok do podprogramu, który
zaczyna się linią o określonym numerze nie Złożone Dodatkowe funkcje GT Pozwała na nie uwarunkowany skok do
dowolnej linii programu nie Złożone
Dodatkowe funkcje IC Dodaje l do wartości określonego licznika nie Złożone
Dodatkowe funkcje LG
Powoduje skok w programie, gdy zawartość wewnętrznego rejestru jest większa od
porównywanej wartości nie
Proste
NE
Powoduje skok w programie, gdy zawartość wewnętrznego rejestru nie jest równa
porównywanej wartości nie
Złożone Dodatkowe funkcje
NW Kasuje cały program i dane dotyczące
pozycji nie Proste
Basic funkcje NX Określa zasięg pętli w programie
wykonywanej po poleceniu RC nie Proste
Dodatkowe funkcje RC Powtarza pętlę określoną przez polecenie
NX określoną liczbę razy nie Tnie
Basic funkcje RN Wykonuje określoną część instrukcji
programu nie Proste
Basic funkcje RT Kończy podprogram i wraca do programu
głównego nie Złożone
Dodatkowe funkcje S.C. Ładuje określoną wartość do określonego
licznika nie Złożone
Dodatkowe funkcje SM
Powoduje skok w programie, gdy zawartość wewnętrznego rejestru jest mniejsza od porównywanej wartości
nie
Złożone Dodatkowe funkcje
12 Tabela 6. Instrukcje obsługi chwytaka
Rozkaz Funkcja Ręczny
panel ster. Funkcje rozkazów
GC Zamyka chwytak <O> Złożone
Basic funkcje GF
Definiuje stan chwytaka (zamknięty/otwarty) - używany
łącznie z poleceniem PD. nie
Złożone Basic funkcje
GO Otwiera chwytak >C< Złożone
Basic funkcje GP
Definiuje siłę chwytu, gdy robot zaopatrzony jest w chwytak napędzany silnikiem
nie
Złożone Specjalne funkcje
13 Problemy i zadania do rozwiązania:
o Narysować schemat kinematyczny manipulatora RV-M1.
o Obliczyć ruchliwość i manewrowość manipulatora RV-M1.
o Narysować schemat napędu górnego ramienia manipulatora.
o Narysować dowolny schemat kinematyczny chwytaka o równoległym ruchu końcówek chwytnych – wyznaczyć liczbę stopni swobody układu
przeniesienia napędu.
o Narysować przestrzeń roboczą robota RV-M1.
o Narysować schemat kinematyczny oraz wyznaczyć manewrowość robota umieszczonego na torze jezdnym (rysunek)
o Narysować schemat kinematyczny chwytaka robota RV-M1 (na rysunku widok od czoła)
14
Dodatek
Instrukcja użytkowania programu COSIROP 95
Programowanie robota RV-M1 firmy Mitsubishi
Warszawa 2009