CHRAPEK,podstawy robotyki, Sterowanie robotów przemys owych

background image

1


PODSTAWY ROBOTYKI

JW 8






Sterowanie robotów przemysłowych

background image

2

Sterowanie robota przemysłowego powinno zapewniać współdziałanie wszystkich

jego zespołów konstrukcyjnych (układów napędowych, sensorycznych, efektora),
programowanie pracy i niezawodne wykonywanie zaprogramowanych czynności.

Omawiając sterowanie robotów, należy pamiętać, że stanowią one tylko jeden z

podsystemów zautomatyzowanego stanowiska, gniazda lub systemu produkcyjnego, które
mogą zawierać jeden lub kilka robotów, obrabiarek, przenośników itp. Na wyższym poziomie
stanowiska czy systemy mogą, być połączone w sieci produkcyjne obejmujące całą fabrykę w
taki sposób, żeby komputer centralny mógł sterować całym przebiegiem produkcji danego
zakładu. Stąd sterowanie robotów przemysłowych jest często związane z szerszym
problemem współpracy wielu połączonych ze sobą maszyn i urządzeń w zautomatyzowanym
zakładzie produkcyjnym.

1.

Zadania układów sterowania

Omówienie układów sterowania robotów wymaga wyodrębnienia wypełnianych przez

nie zadań sterowania. Są to:

1)

Reagowanie na działalność operatora, a szczególnie:
- umożliwienie ręcznego sterowania napędami,
- umożliwienie wprowadzenia żądanego programu działania robota, tzn. ustalenie
kolejności ruchów, ich uwarunkowań czasowych oraz procesowych, a także
współrzędnych punktów charakterystycznych toru ruchu,
- pamiętanie wprowadzonego programu; zakres zadania tego typu, zwanego dalej
programowaniem, zależy od występowania i stopnia złożoności dalszych czterech
typów zadań.

2)

Włączanie i wyłączanie napędów dwustanowych, szczególnie dwustanowych
zespołów ruchu oraz chwytaków; zadanie to będzie określone jako sterowanie w
osiach dyskretnych.

3)

Sterowanie zespołami ruchu pozycjonowanymi w całym zakresie przemieszczeń:
- ustalanie kierunków, prędkości i ewentualnie przyspieszeń ruchu, a także
koordynacja między ruchami wykonywanymi jednocześnie, w dwóch lub więcej
osiach; zadanie to będzie określone jako sterowanie w osiach pozycjonowanych
płynnie
lub numerycznie.

4)

Sterowanie i koordynacja podsystemów składowych stanowiska pracy robota,
obejmująca:
- oczekiwanie na spełnienie warunków koniecznych do zakończenia określonego
fragmentu pracy robota, np. oczekiwanie na osiągnięcie zadanego położenia
chwytaka,
- oczekiwanie na osiągnięcie określonych wartości sygnałów stanu obsługiwanego
procesu lub maszyny,
- oczekiwanie przez określony czas, włączanie i wyłączanie współpracujących z
robotem maszyn technologicznych i innych urządzeń. Zadanie to będzie określane
jako sterowanie wejść i wyjść technologicznych. Często tego typu urządzenia mogą
być sterowane identycznie jak napędy dwustanowe.

5)

Ustalenie kolejności dalszego działania po wykonaniu określonego fragmentu pracy
w zależności od wartości sygnałów stanu obsługiwanego procesu, obiektu
manipulacji lub samej maszyny. Zadanie to będzie określone jako rozgałęzienia
programu
lub ustalanie kolejności dalszego działania.


1.1. Reagowanie na działalność operatora

background image

3

Programowanie robota przemysłowego polega na nauczeniu go cyklu pracy, jaki ma

później wykonywać. Znaczna część programu jest przeznaczona na opis trajektorii ruchu,
wzdłuż której robot ma przemieszczać części lub narzędzia z jednego punktu w przestrzeni
roboczej do drugiego. Ruchy, które robot musi przy tym wykonać, są często nauczane przez
zapamiętanie odpowiednich przemieszczeń i zapisanie ich do pamięci jego układu sterowania.
Jednak są także inne części

programu, które nie opisują ruchu robota. Te elementy programu

obejmują interpretację danych pochodzących od czujników, uruchamianie efektora, wysyłanie
sygnałów do innych elementów wyposażenia stanowiska pracy, odbieranie danych od innych
urządzeń oraz prowadzenie obliczeń. Podział metod programowania robotów przemysłowych
przedstawiono na rys. 1.

Rys. 1. Klasyfikacja metod programowania robotów

Zadawanie

wartości

poszczególnych

elementarnych

przemieszczeń

robota

programowanego ręcznie może być realizowane:

- bezpośrednio w układzie robota, przez przestawienie mechanicznych ograniczników
ruchu (zderzaków) dla każdego nowego programu lub w przypadku układu o wielu
zderzakach, np. bębnowego układu zderzakowego dla kilku programów,
-

pośrednio w układzie sterowania, w którym wartości przemieszczeń będą
nastawione ręcznie za pomocą zadajników wartości.

W pierwszym przypadku osiągnięcie wartości granicznej jest sygnalizowane układowi

sterowania przez dwustanowy przetwornik pomiarowy przemieszczenia, odpowiednio
powiązany konstrukcyjnie z położeniem ogranicznika ruchu. W drugim natomiast układ
sterowania wykorzystuje relację sygnału układu pomiarowego przemieszczeń i sygnałów
generowanych przez zadajnik wartości.

Układy

sterowania

programowane

ręcznie,

zwane

czasem

układami

z

programowaniem mechanicznym, mogą, być stosowane tylko w przypadku prostych robotów
wykonujących nieskomplikowane zadania (np. przenoszenie części z jednego miejsca na
drugie), których program zawiera ograniczoną, niewielką, liczbę kroków.

Podstawową, najbardziej rozpowszechnioną metodą. Programowania robotów jest

programowanie przez nauczanie.

background image

4

Układy sterowania programowane przez nauczanie wymagają od programisty

ręcznego lub mechanicznego przemieszczania manipulatora wzdłuż żądanego toru i
wprowadzenia go do pamięci układu sterowania. W literaturze metoda ta jest określana jako
teach-by-showing lub teach-in. Podczas programowania robota metodą uczenia jest on
przemieszczany wzdłuż zadanej trajektorii w celu zapisania jej do pamięci układu sterowania.

Metodę tę można podzielić na:
-

programowanie dyskretne,

-

programowanie ciągłe.

Podczas programowania dyskretnego wykorzystuje się sterownik ręczny (TP – teach

pendant) do sterowania silnikami wykonawczymi robota, w celu mechanicznego prowadzenia
robota przez szereg punktów w przestrzeni. Każdy punkt jest wczytywany do pamięci układu
sterowania w celu późniejszego odtworzenia całego toru podczas cyklu pracy. Spośród
wszystkich metod programowania robotów programowanie dyskretne jest obecnie najbardziej
rozpowszechnione. Znaczna liczba zastosowań robotów przemysłowych wymaga
przemieszczeń manipulatora od punktu do punktu (PTP –point to point), które są właśnie
programowane tą. Metodą. Dotyczy to na przykład takich zastosowań, jak przemieszczanie
części, zakładanie przedmiotów na maszyny technologiczne i ich wyjmowanie po obróbce
oraz zgrzewanie punktowe.

Programowanie ciągłe (CP – continuous path) jest stosowane tam, gdzie są wymagane

płynne ruchy ramienia robota wzdłuż toru będącego skomplikowaną krzywą. Najczęściej
spotykanym przykładem tego rodzaju zastosowania robota jest malowanie natryskowe,
podczas którego kiść robota, z dołączonym do niej pistoletem do malowania stanowiącym
efektor, musi wykonać płynne, regularne ruchy w celu równomiernego pokrycia całej
malowanej powierzchni. Podczas programowania ciągłego programista ręcznie przemieszcza
ramię robota (i efektor) wzdłuż żądanego toru. Jeżeli robot jest zbyt duży i ciężki, aby można
go było przemieszczać ręcznie, wykorzystuje się często specjalne urządzenie (fantom)
zastępujące rzeczywistego robota. To urządzenie charakteryzuje się taką samą geometrą jak
robot, lecz jest łatwiejsze w manipulowaniu podczas programowania. Przycisk nauczania jest
zwykle umieszczony w pobliżu kiści robota (lub modelu). Przycisk ten jest wciśnięty, gdy są
wykonywane ruchy manipulatora, które mają być częścią programowanego cyklu pracy.
Umożliwia to operatorowi (programiście) wykonywanie ramieniem robota dodatkowych
ruchów, które nie będą zawarte w końcowym programie. Cały cykl przemieszczeń jest
podzielony na setki, a nawet tysiące pojedynczych, położonych blisko siebie punktów wzdłuż
toru. Punkty te są zapisywane w pamięci układu sterowania.

Układy sterowania programowane metodą uczenia pracują w dwóch trybach: uczenia i

wykonywania programu. Tryb uczenia jest wykorzystywany do zaprogramowania robota, a
tryb wykonywania do realizacji programu.


1.2. Sterowanie w osiach dyskretnych


Grupa urządzeń dwustanowych obejmuje pozycjonowane za pomocą zderzaków zespoły

ruchu jednostki kinematycznej robota oraz większość stosowanych obecnie chwytaków. Pod
względem układu sterowania analogicznie funkcjonuje część

urządzeń zewnętrznych,

stanowiących elementy obsługiwane przez robota lub współpracujące z nim przy jego
obsłudze. Sygnalizatory stanu pracy robota lub obsługiwanego procesu są także urządzeniami
dwustanowymi.

Niektóre urządzenia robota lub urządzenia technologiczne mogą być traktowane jako

zespoły urządzeń dwustanowych. Typowym przykładem jest numerycznie pozycjonowany
zespół ruchu z siłownikiem hydraulicznym i trójpołożeniowym zaworem rozdzielającym,

background image

5

charakteryzujący się trzema stanami pracy: ruchem w dwóch kierunkach oraz zatrzymaniem
(przez odcięcie obu komór siłownika). Dla układu sterowania zespół ten jest równoważny
dwom urządzeniom dwustanowym.

Zadania sterowania związane z pozycjonowaniem zespołów ruchu o tylko dwóch

stabilnych położeniach są, trywialne i sprowadzają

SIĘ

do przedstawionych już zadań

przełączania urządzeń dwustanowych. Kształtowanie charakterystyk ruchu takich zespołów
nic wykracza z reguły poza ograniczanie maksymalnych wartości prędkości i przyspieszeń i
jest dokonywane na ogół w samym układzie napędowym, nie powodując wzrostu złożoności
układu sterowania.

Do sterowania każdego urządzenia dwustanowego wystarcza pojedynczy sygnał binarny:

jedna jego wartość wymusza stan włączenia, druga - wyłączenia. Zmiany sygnałów (wyjść) są
wymuszane przez tą

CZĘŚĆ

układu sterowania, która ustala porządek i rytm kolejnych kroków

działania robota zgodnie z założeniami przyjętymi w trakcie programowania. Sygnały
wyjściowe muszą być ponadto wzmacniane energetycznie oraz poddawane dodatkowym
zabiegom, np. zabezpieczeniu przed wprowadzeniem przez nie zakłóceń z urządzeń
zewnętrznych do układu (optoizolacja).


1.3. Sterowanie w osiach pozycjonowanych płynnie


Sterowanie zespołami ruchu pozycjonowanymi w całym zakresie przemieszczeń jest

bardziej złożone niż sterowanie napędów dwustanowych. Oczywiście układy napędowe tych
zespołów muszą zapewnić możliwość osiągania stabilnych położeń w dowolnych punktach
całego zakresu przemieszczeń. Napędy spełniające to wymaganie są nazywane
serwonapędami, tzn. układami programowej lub nadążnej regulacji położenia. Cechą
charakterystyczną urządzeń tej klasy jest możliwość takiego kształtowania ruchu, że prędkość
przemieszczania jest funkcją ciągłą różnicy położeń: aktualnego i zadanego (przynajmniej w
pewnym otoczeniu zerowej wartości tej różnicy).

Ze względu na charakter zmian wartości zadanej wyróżnia się dwa typy regulacji

położenia:

- przestawianie,

- nadążanie.

Przestawianie (rys. 2) jest typowe dla pozycjonowanych zespołów ruchu jednostek

kinematycznych robotów o sterowaniu punktowym i może być realizowane przez
serwonapędy przełączalne lub impulsowe. Charakteryzuje się ono wymuszaniem następnej
wartości zadanej dopiero po uzyskaniu, z określoną dokładnością poprzedniej wartości
zadanej.

background image

6

Rys. 2. Regulacja położenia w zadaniu przestawiania; 1 – z przeregulowaniem, 2 – bez

przeregulowania, ∆x

z

– skok zadanej wartości położenia, x(t) – zmiany położenia, t

r1

, t

r2

czasy regulacji,ε

s

– odchyłka statyczna regulacji położenia


W konwencjonalnych zastosowaniach wymaga się, aby dla dowolnych skokowych

zmian wartości zadanej ∆x

z

z zakresu dopuszczalnego, po czasie t

r

zwanym czasem regulacji,

różnica między aktualną. wartością a zadaną x

z

nie przekraczała, co do wartości bezwzględnej

pewnej ustalonej wartości ε

s

, zwanej odchyłką statyczną regulacji położenia.

Dla zespołów ruchu maszyn manipulacyjnych zamiast czasu regulacji t

r

określa się

zwykle dopuszczalną największą prędkość ruchu υ

max

= x’

max

. Jedynie przy zadawaniu

skoordynowanych przemieszczeń kilku zespołów jednostki kinematycznej ustala się czas
regulacji, tzw. czas przejścia, który już jednak podczas programowania jest przeliczany na
wartości prędkości poszczególnych zespołów, zapewniających np. prostoliniowość toru.

Nadążanie jest charakterystyczne dla zespołów ruchu jednostek kinematycznych

maszyn o sterowaniu ciągłym. Występuje także w tych rozwiązaniach robotów, w których jest
możliwa do uzyskania synchronizacja poszczególnych ruchów składowych w celu realizacji
przemieszczenia po określonej linii ciągłej (na ogół prostej) między parami kolejnych
punktów toru. W odróżnieniu od przestawiania nadążanie cechuje się ciągłymi zmianami
zadanej pozycji. Jego parametrami są: dopuszczalna wartość odchyłki dynamicznej ε

d

,

oraz

dopuszczalna prędkość zmian wartości zadanej. Oznacza to, ze dla dowolnych
dopuszczalnych zmian wartości zadanych różnica ε(t) między położeniem istniejącym x

i

(t) a

zadanym x

z

(t) (rys. 3) nie może co do wartości przekraczać wartości ε

d

.

Rys. 3. Regulacja położenia w przypadku nadążania; x

z

(t) – położenie zadane, x

i

(t) –

położenie istniejące, ε(t) – odchyłka regulacji

Ponieważ robot wykonuje ruchy w kilku osiach połączonych ze sobą, uzyskanie

zadanej drogi w przestrzeni wymaga, aby robot przemieszczał swoje ramiona przez różne
położenia przegubów. Dla robota o sześciu stopniach swobody każdy punkt toru jest opisany
za pomocą sześciu wartości współrzędnych. Każda wartość odpowiada położeniu jednego
przegubu. Jeżeli punkt w przestrzeni w programie robota jest położeniem efektora, to istnieje
zwykle więcej niż jeden układ ramion robota umożliwiający osiągnięcie tego punktu.
Przykładem są dwa różne położenia robota umożliwiające osiągnięcie tego samego zadanego
punktu.

Biorąc to pod uwagę, należy stwierdzić, że specyfikacja punktu w przestrzeni nie

definiuje jednoznacznie współrzędnych przegubów robota. Odwrotnie jednak, specyfikacja
współrzędnych przegubów robota określa tylko jeden punkt w przestrzeni, który odpowiada
temu zespołowi wartości współrzędnych. Z tego względu sterowanie robota (koordynacje
ruchów napędów) można określić jako sekwencje współrzędnych (położeń) przegubów,
której efektem jest droga w przestrzeni.

background image

7

Zatrzymajmy się nad problemem określenia sekwencji punktów w przestrzeni. Dla

uproszczenia weźmy pod uwagę robota w układzie kartezjańskim, sterowanego w dwóch
osiach i o dwóch punktach możliwych do zaprogramowania na każdej osi. Na rys. 4 pokazano
możliwe do osiągnięcia punkty w prostokątnej przestrzeni roboczej robota.

Rys. 4. Przestrzeń robocza robota kartezjańskiego o dwóch osiach i dwóch

zaprogramowanych punktach na każdej osi

Pojawia się pytanie: jak zaprogramować wybraną drogę między punktami 1 i 2? Są tu różne
możliwości:

1.

W danym czasie ruch będzie się odbywać tylko w jednej osi i efektor będzie

przemieszczał się po bokach a', b' prostokąta przez punkt 1,2.
2.

W danym czasie ruch będzie się odbywać tylko w jednej osi i efektor będzie

przemieszczał się po bokach b", a" prostokąta przez punkt 2,1.
3.

Ruch w obu osiach będzie się zaczynać jednocześnie z jednakową prędkością w

każdej osi i wtedy efektor będzie przemieszczał się po linii łamanej c-d, której odcinek c
jest pochylony pod kątem 45°.
4.

Ruch w obu osiach będzie się odbywać jednocześnie w jednakowym czasie i

efektor będzie przemieszczał się po linii prostej - przekątnej e.
5.

Ruch w obu osiach będzie się odbywać jednocześnie w jednakowym czasie i

efektor będzie przemieszczał się po torze będącym fragmentem okręgu koła f.
6.

Ruch w obu osiach będzie się odbywać jednocześnie w jednakowym czasie i

efektor będzie przemieszczał się po dowolnym torze g.

Pytanie, którą drogę wybrać nie jest wcale trywialne, gdyż tor ruchu jest istotny ze

względu na zadanie realizowane przez robota lub pomiędzy punktami 1 i 2 mogą znajdować
się przeszkody.

W nieskomplikowanych robotach z napędami typu przełączalnego, realizujących zadanie

przestawiania, i programowanych najczęściej ręcznie przemieszczania następują, po kolei.
Wtedy zwykle jako pierwsze następują przemieszczenia w osiach oznaczonych niższymi
numerami. Czyli w przykładzie bardziej prawdopodobna byłaby droga przez punkt 1,2.
Przemieszczania mogą być tez w obu osiach jednocześnie i z jednakową prędkością (linia
łamana c-d ).Roboty z układami sterowania współpracującymi z impulsowymi napędami
serwomechanizmowymi, programowane metodą uczenia, najczęściej przemieszczają się we
wszystkich osiach jednocześnie, czyli w podanym przykładzie efektor poruszałby się między
punktami 1 i 2 po torze określonym liniami e,f lub g.

background image

8

Proces generowania drogi nazywa się interpolacją. Istnieją różne schematy interpolacji, z

których robot może korzystać podczas przemieszczania się z jednego punktu do drugiego.

W wielu robotach programista może określić, który rodzaj interpolacji chce stosować.

Możliwe są interpolacje:

- przegubowa,
- prostoliniowa,
- kołowa,
- typu Spline.

W interpolacji przegubowej układ sterowania oblicza, jaką drogę musi przebyć

każdy przegub w celu przemieszczenia robota z jednego punktu zdefiniowanego w programie
do drugiego. Następnie wybiera przegub, dla którego przemieszczenie przy zadanej prędkości
będzie trwało najdłużej. Określa to czas całego przemieszczenia dla każdego przegubu.
Bazując na znajomości czasu ruchu i wartości przemieszczeń wymaganych dla innych osi,
układ sterowania dzieli ruch na mniejsze inkrementy (elementarne przyrosty drogi) w ten
sposób, że ruch we wszystkich osiach zaczyna i kończy się jednocześnie.
Dla wielu robotów interpolacja przegubowa jest standardową procedurą wykorzystywaną
przez układ sterowania. Oznacza to, ze interpolacja przegubowa toru będzie wykonywana
dopóki programista nie postanowi skorzystać z innego schematu interpolacyjnego.

W interpolacji prostoliniowej układ sterowania konstruuje hipotetycznie idealny tor

między dwoma punktami określonymi w programie (co odpowiada prostej e) i następnie
generuje wewnętrzne punkty tak blisko tego toru, jak to jest tylko możliwe. Tor wynikowy
jest aproksymacją linii prostej. Dokładność aproksymacji zależy od liczby punktów i im
liczba punktów adresowalnych jest większa, tym aproksymacja dokładniejsza. W przypadku
robota kartezjańskiego, który ma tylko przeguby (pary kinematyczne) liniowe, interpolacja
przegubowa pokrywa się. z interpolacja prostoliniową. Dla innych robotów z kombinacją
przegubów obrotowych i liniowych (struktura cylindryczna i sferyczna) lub z wszystkimi
przegubami obrotowymi (struktura przegubowa) interpolacja prostoliniowa daje inny tor niż
interpolacja przegubowa.

Interpolacja kołowa wymaga od programisty zdefiniowania okręgu w przestrzeni

roboczej robota. Wykonywane jest to najczęściej przez specyfikację trzech punktów lezących
na obwodzie tego okręgu. Układ sterowania następnie tworzy aproksymację tego okręgu
przez wybranie szeregu punktów adresowalnych, leżących najbliżej zdefiniowanego okręgu.
Ruch wykonywany w rzeczywistości przez robota składa się

z krótkich odcinków

prostoliniowych. Stąd interpolacja kołowa tworzy liniową aproksymację okręgu. Jeżeli siatka
punktów adresowalnych jest wystarczająco gęsta, liniowa aproksymacja wygląda tak, jakby to
był fragment okręgu f.

Interpolacja typu Spline umożliwia uzyskanie bardzo gładkiego przebiegu krzywej, gdy

dysponuje się opisem tylko niektórych punków pomocniczych zadanym konturze. Punkty
pomocnicze łączone są wielomianem od 1 do 3 stopnia. Powstają dzięki temu gładkie
przejścia, nie następuje pogorszenie chropowatości przedmiotu i nie występują duże wartości
przyspieszeń (zwiększenie trwałości maszyny). Interpolacja Spline umożliwia przy tym
istotne zmniejszenie liczby bloków programowych. Rozróżnia się trzy typy interpolacji
Spline:

1.

A-Spline. Tworzy krzywą przechodzącą po stycznej przez zaprogramowane
punkty pomocnicze (wielomian trzeciego stopnia). Powinna być stosowana
wówczas, gdy szczególnie istotne są gładkie przejścia przez punkty pomocnicze.

2.

B-Spline. Zaprogramowane punkty nie są punktami pomocniczymi, lecz tylko
punktami kontrolnymi. Powstała krzywa nie przechodzi przez punkty kontrolne,
lecz w ich pobliżu (odpowiednio wielomian 1., 2. lub 3. stopnia). Każdemu

background image

9

punktowi kontrolnemu można przyporządkować wagę, określającą zdolność
„przyciągania" krzywej przez punkt kontrolny. Dzięki temu osiąga się dokładne
odwzorowanie krzywych, będących przekrojami kuli (okrąg, parabola, hiperbola,
elipsa). Przeznaczona jest szczególnie do obróbki powierzchni swobodnych.

3.

C-Spline. Jest najbardziej znaną i najczęściej stosowaną interpolacją typu Spline.
Przebiegi przez punkty pomocnicze przechodzą po stycznej lub w sposób łukowy.
Stosowane są wielomiany 3 stopnia. Powinna być ona stosowana wówczas, gdy są
wymagane przejścia krzywych po łuku.

Interpolacja typu Spline jest stosowana w programowaniu ciągłym (przez obwiedzenie

toru), gdy programista przemieszcza efektor robota, aby nauczyć go np. malowania
natryskowego lub spawania łukowego, przemieszczenia zwykle składają się z gładkich
odcinków ruchu. Te odcinki są czasem w przybliżeniu proste, czasem zakrzywione (lecz
niekoniecznie kołowo), często określane mianem nieregularnych gładkich ruchów (ang.
irregular smooth motions). Proces interpolacyjny mający na celu ich osiągnięcie jest bardzo
złożony. Aby wykonać aproksymację nieregularnego, gładkiego modelu nauczanego przez
programistę, należy podzielić trajektorię ruchu na sekwencję blisko siebie położonych
punktów, których współrzędne są zapisywane do pamięci sterowania. Te punkty stanowią
punkty adresowalne, najbliższe trajektorii wykonywanej podczas programowania.
Interpolowana trajektoria może składać się z tysięcy punktów, które robot musi odtworzyć
podczas późniejszego wykonywania programu.



1.4. Sterowanie wyjść i wejść technologicznych

Najprostsze zadania manipulacyjne (np. zadanie typu weź i połóż) mogą być

wykonywane w ustalonym a priori rytmie czasowym, tzn. w układzie otwartym,
czyli procesowe niezależnie. W pozostałych, o wiele liczniejszych, przypadkach musi istnieć
kontrola efektów oddziaływania układu sterowania na poszczególne zespoły jednostki
kinematycznej robota oraz synchronizacja z działaniem współpracujących maszyn i
przebiegiem obsługiwanego procesu.

Decyzja o kontynuowaniu albo zakończeniu aktualnie wymuszonego stanu pracy jest

podejmowana najczęściej na podstawie wartości pojedynczych logicznych sygnałów stanu
samego robota lub stanu procesu czy stanu maszyny.

Nie wszystkie wymagające kontroli skutki działaniu systemów sterowania są

bezpośrednio i jednoznacznie związane z efektem sterowania. Kontroli mogą wymagać także
pewne wielkości, na które robot nie ma bezpośredniego wpływu. W takich sytuacjach
oczekiwanie na spełnienie warunku może być odrębnym zadaniem układu sterowania.
Wykonanie następuje w chwili, gdy warunek -wskazany dla danego stanu pracy robota, czy
obsługiwanej maszyny - osiągnie założoną wartość. Ustalanie numerów oraz wartości
sygnałów oczekiwanych w poszczególnych stanach pracy robota i maszyny może być
dokonywane w trakcie programowania.

Zwykle pożądana jest także zdolność układu sterowania do wstrzymywania pracy

robota lub obsługiwanej maszyny przez określony czas, np. w celu rozpoczęcia kolejnego
stanu pracy z określonym odstępem czasowym, gwarantującym zakończenie zadań stanu
poprzedniego w warunkach niekontrolowanego zakończenia. Dla układu sterowania jest to
również zadanie oczekiwania na warunek na sygnał binarny, potwierdzający odmierzenie
zaprogramowanego czasu.

background image

10

1.5. Ustalanie kolejności dalszego działania

Ze względu na sposób wymuszania poszczególnych stanów pracy wyróżnia się dwa

typy programów działania robotów przemysłowych:

- programy liniowe, w których obowiązuje stały porządek następowania po sobie
poszczególnych stanów,
- programy rozgałęzione, w których o kolejności wykonywania poszczególnych
stanów decydują - przynajmniej w niektórych przypadkach -wartości warunków
(najczęściej binarnych), wynikających np. ze stanu i parametrów procesu.
Możliwość rozgałęzienia programu stanowi warunek konieczny obsługi wielu

procesów (np. wymagających zróżnicowanej obsługi w zależności od kontrolowanego
parametru obiektu manipulacji). W wielu innych przypadkach możliwość (a znacznie
zmniejsza konieczną liczbę różnych stanów pracy maszyny przez wyodrębnienie jako
podprogramów, powtarzających się wielokrotnie sekwencji stanów dotyczących, np.
pobierania obiektów z palety.

Większość układów sterowania robotów przemysłowych umożliwia podzielenie

programu robota na jedną lub więcej gałęzi. Rozgałęzienie umożliwia podzielenie programu
na wygodne segmenty, które mogą być wykonywane w programie. Gałąź może być
traktowana jako podprogram, który jest wywoływany jeden lub więcej razy podczas
wykonywania programu. Podprogram może być wykonywany albo przez odgałęzienie
prowadzące do niego, albo przez testowanie sygnałów wejściowych dla rozgałęzienia. Liczba
zasad podejmowania decyzji zmienia się w zależności od rodzaju sterowania. Jednak
większość sterowań umożliwia identyfikację lub oznaczanie podprogramów za pomocą jednej
z wcześniej ustalonych grup nazw. Większość sterowników umożliwia użytkownikowi
określenie czy sygnał powinien przerwać aktualnie wykonywaną gałąź programu, czy czekać
dopóki wykonywanie tej gałęzi się nie zakończy. Zdolność przerywania jest wykorzystywana
głównie w gałęziach błędów. Gałąź błędów jest wywoływana, gdy sygnał wejściowy
wskazuje, że nastąpiło nienormalne działanie (np. niebezpieczne warunki eksploatacji). W
zależności od przypadku i projektu gałęzi robot albo podejmie działania korygujące, albo
przerwie ruch i prześle sygnał do operatora.

Rozgałęzienia są często stosowane, gdy robot jest programowany do wykonania więcej

niż jednego zadania. W tym przypadku oddzielne gałęzie są stosowane do każdego,
pojedynczego zadania. śeby umożliwić sterowanie tymi zadaniami, muszą być zastosowane
odpowiednie sygnały. Powszechnie wykorzystuje się do tego celu zewnętrzne sygnały
pochodzące od czujników i innych urządzeń. Bardziej złożone wymagania rozgałęzienia
programu mogą być - i zwykle są - sprowadzane do sekwencji prostych rozgałęzień.

2.

Klasyfikacja układów sterowania


Klasyfikację układów sterowania robotów przemysłowych wraz z. możliwościami

realizacji wymienionych wcześniej zadań sterowania i sposobów programowania
przedstawiono na rys. 5.

Szczególnie dużą różnorodnością rozwiązań charakteryzują się układy sterowania oparte

na zasadach działania przekaźników. Są to układy działające na sygnałach o naturze
mechanicznej, elektrycznej, hydraulicznej, pneumatycznej bądź kombinowanej. W ogólności
można wyróżnić sterowanie zależne od czasu i sterowanie według zadanych czynności. W
pierwszym przypadku kolejność wykonywanych czynności jest określona programem
czasowym, np. krzywkami poruszającymi się ze stałą prędkością, zapisem na taśmie
magnetycznej bądź dziurkowanej. W drugim przypadku nie korzysta się ze źródła impulsów
w funkcji czasu, a czynności robota są uzależnione od czynności w procesie manipulacyjnym.

background image

11

Ten sposób sterowania jest stosowany częściej, gdyż zapewnia lepsze współdziałanie robota
ze współpracującymi z nim urządzeniami.

Rys. 5. Klasyfikacja układów sterowania robotów przemysłowych wraz z możliwościami

realizacji wymienionych wcześniej zadań i sposobów programowania

Pod względem sposobu przemieszczania ramion robota, a więc typu programowania

układu sterowania, rozróżnia się:

sterowanie punktowe, w literaturze określone PTP (ang. point to point)

sterowanie ciągłe, w literaturze znane jako CP (ang. continous path)

Według sposobu przetwarzania wielkości sterujących układy sterujące dzieli się na:

analogowe

numeryczne

Według sposobu programowania:

układu o stałym programie

układy programowane

background image

12

Roboty z układami o stałym programie (tzw. pick and place, czyli weź i połóż) wykonują

czynności według programu określonego samą konstrukcją układu sterującego. Stale
programy można wymienić stosownie do wymagań użytkownika robota przemysłowego.
Wykonywanie czynności robota według zaprogramowanej kolejności zapewnia się przez
dokonanie zapisu na odpowiednim nośniku informacji. Poprzednio używanymi nośnikami
informacji były bębny programowe z kołkami, tablice wtykowe, pamięci półprzewodnikowe,
bębny i taśmy magnetyczne.

Najnowocześniejszymi numerycznymi systemami sterowania robotami są układy o

strukturze

komputerowej.

Rozwój

technologii

scalonych

monolitycznie

układów

półprzewodnikowych doprowadził we wczesnych latach siedemdziesiątych ubiegłego wieku
do powstania standardowych bloków cyfrowych, m.in. mikroprocesorów, pamięci
półprzewodnikowych, a także innych elementów, umożliwiających zestawienie kompletnego
mikrokomputera. Algorytmy funkcjonowania tych zespołów zależą nie tylko od ich
konstrukcji i sposobu połączenia z systemem, ale również od ustaleń dokonanych
programowo.

3.

Układy sterowania teleoperatorów


Układy sterowania teleoperatorów, gdzie człowiek stanowi jeden z elementów procesu

sterowania, ze względu na sposób realizacji zamierzeń operatora można sklasyfikować na:

- przyciskowe,
- kopiujące zadawaną pozycję,
- kopiujące zadawaną pozycję z sitowym sprzężeniem zwrotnym,
- bioelektryczne.
Sterowanie przyciskowe jest zbliżone do programowania dyskretnego robotów, gdzie

wykorzystuje się sterownik ręczny z przyciskami do uruchamiania silników wykonawczych,
w celu mechanicznego prowadzenia efektom przez szereg punktów w przestrzeni. W
sterowaniu przyciskowym teleoperatorów ruchy organu roboczego są śledzone przez
człowieka, a korekcji tego ruchu dokonuje się stosownie do istniejącej sytuacji. Wadą jest
konieczność skupienia uwagi na operowaniu właściwymi przyciskami, co sprzyja znużeniu
operatora.

Dużo łatwiejsze w obsłudze jest sterowanie kopiujące zadawaną pozycję. Urządzeniem

sterującym (zwanym także fantomem) jest kinematycznie podobny układ ramion, jaki ma
teleoperator (kopia organu roboczego w pewnej podziałce) lub w nowszych rozwiązaniach
joystick. Operator, obserwując położenie i zachowanie się części wykonawczej, „kształtuje"
ramiona urządzenia sterującego bądź odpowiednio manipuluje joystickiem (sterowanie
joystickiem jest jednakże dla operatora trudniejsze i nie zapewnia dużej dokładności). Ruchy
te są następnie kopiowane przez układ wykonawczy teleoperatora. Liczba odpowiednich
ruchów elementów urządzenia sterującego jest równa ruchom elementów organu roboczego
manipulatora, a prędkość każdego z ruchów elementów urządzenia sterującego jest wartością
prędkości jednego napędu roboczego organu wykonawczego ręki. Bez dodatkowych urządzeń
można tu stosować mnemoniczność sterowania manipulatorem, przy czym wektor prędkości
efektora jest proporcjonalny do wektora odchylenia od położenia zerowego urządzenia
sterowanego ręcznie. Prędkość ruchu przemieszczanych części, ściśle związanych z ruchem
ręki, jest więc proporcjonalna do ruchu elementów urządzenia sterującego. W ten sposób jest
możliwe bardzo precyzyjne sterowanie makroruchów obiektu za pomocą mikroprzemieszczeń
elementów urządzenia sterującego. Fizyczne obciążenie operatora jest bardzo małe.

Sterowanie kopiujące zadawaną pozycję z siłowym sprzężeniem zwrotnym jest znacznym

udoskonaleniem. Informacja zwrotna o siłach i momentach w układzie wykonawczym,

background image

13

powstających jako reakcje od wykonywanej pracy, jest przekształcana na wyczuwane przez
operatora siły na elementach sterownika. Ważną zaletą takiego sposobu sterowania jest
reagowanie na gwałtowny wzrost obciążenia, uderzenie, błąd podczas sterowania - co zabez-
piecza jednostkę kinematyczną teleoperatora przed złamaniem lub zgięciem.

Układy sterowania, w których do sterowania będą użyte prądy bioelektryczne człowieka

wykonującego ruchy, są w stadium opracowań teoretycznych i laboratoryjnych.


4. Programowalne sterowniki logiczne PLC


Programowalne sterowniki logiczne PLC (ang. programmable logic controller)

przeznaczone głównie do sterowania dwupołożeniowych urządzeń wykonawczych, których
stan jest opisany przez funkcje logiczne zmiennych procesowych, sygnalizowanych przez
łączniki drogowe. Struktura sterowników PLC umożliwia połączenie ich z systemem
sterowania stanowiska pracy, a programowalność łatwe przystosowanie do każdego nowego
zadania – rys. 6.

Sterowanie takie w zastosowaniu do robotów oraz obrabiarek, maszyn i urządzeń

technologicznych zapewnia właściwy przebieg ruchów i czynności, odpowiadający
sterowaniu odcinkowemu lub punktowemu - przez włączanie i wyłączanie działania
elementów wykonawczych. Układy te, sterując włączaniem i wyłączaniem poszczególnych
członów wykonawczych, rozwiązują odpowiednie równania logiczne wprowadzone do ich
pamięci za pomocą programu.

Dzięki rozwojowi układów mikroelektroniki są one konkurencyjne cenowo i niezawodne,

a dzięki uzależnieniu działania od wprowadzonego programu i dzięki modułowej budowie są
wygodne do aplikacji, diagnozowania i do ewentualnych modyfikacji.

background image

14

Rys. 6. Struktura sterownika PLC

System PLC, którego struktury pokazano na powyższym rysunku, zawiera:
- jednostkę centralną (procesor z układami sterującymi i logicznymi)
- centralną pamięć programu
, z której system pobiera program sterowania zapisany

przez użytkownika,

- moduły wejściowe i wyjściowe,

- moduły funkcji dodatkowych.

Jednostka centralna jest połączona z robotem przez moduły wejściowe. Do wejść

systemu przyłącza się elementy informujące o stanie obiektu (łączniki drogowe, przyciski
ręczne itp.). Wyjścia systemu łączy się z elementami sterującymi obiektu (stycznikami,
zaworami rozdzielającymi elektropneumatycznymi lub elektrohydraulicznymi itp.) i
elementami sygnalizującymi stan obiektu (lampki, diody świecące, głośniki itd.).

W pamięci programu są zestawione instrukcje (polecenia), które są „przepisem"

łączenia wejść i wyjść. Taki „przepis" jest równoważny równaniom logicznym zapisanym w
algebrze Boole'a, a w technice przekaźnikowej jest realizowany przez połączenia zestyków
elementów wejściowych i przekaźników pomocniczych z cewkami przekaźników
wyjściowych.

background image

15

Każdy stan określonego wyjścia musi być zaprogramowany w formie zdania

logicznego. Instrukcje programu sterowania są odczytywane przez jednostkę centralną i w
niej dekodowane. Instrukcje sprawdzania zmiennych wejściowych i wyjściowych są
kierowane do jednostki logicznej, w której informacje o wzajemnym powiązaniu zmiennych,
np. jako iloczynu logicznego lub sumy logicznej, powodują wykonanie odpowiednich działań.

Systemy sterowania programowane połączeniowo na ogół umożliwiają realizację w

każdej chwili wszystkich zaprogramowanych połączeń, natomiast układy programowane
pamięciowo mogą w danej chwili czasowej wykonywać tylko jedną operację - wynika to z
szeregowej zasady pracy. Przejście do wykonywania następnej instrukcji odbywa się
niezależnie od wyniku instrukcji poprzedniej. Po wykonaniu ostatniej instrukcji następuje
ponowny (cykliczny) powrót do pierwszej instrukcji i kolejny obieg programu. Ze względu na
krótki, w porównaniu z czasem trwania czynności, procesowy czas jednokrotnego obiegu
wszystkich instrukcji zapisanych w pamięci (ok. 2+ 10 ms dla 1000 instrukcji), proces
sterowany jest tak, jak gdyby kolejne (w rzeczywistości szeregowo wykonywane) instrukcje
były realizowane jednocześnie.

Sterowniki poszczególnych firm różnią się nic tylko rozwiązaniami technicznymi, ale

również językami programowania, co może powodować trudności podczas stosowania
układów różnych producentów. W celu uniknięcia tych niedogodności jest opracowywana
międzynarodowa norma IEC [N 14], która jest podstawą polskiej normy PN-IEC [N13].
Norma dopuszcza i formalizuje pięć sposobów opisu programu:

- lista instrukcji (ang. IL - instruction list),

- tekst strukturalny (ang. ST – structured text),
- schemat zestykowy (ang. LD – ladder diagram)

- funkcjonalny schemat blokowy (ang. FBD – function block diagram),

- schemat sekwencji funkcji (ang. SFC - sequential function chart).

Założeniem przy tej normalizacji jest niezależność programu od sprzętu -program

powinien mieć charakter uniwersalny i umożliwiać sterowanie z zastosowaniem PLC różnych
firm. Większość producentów układów PLC dostosowuje obecnie swoje wyroby do normy.
Sterowniki PLC mają zwykle budowę modułową i jest możliwość dobierania określonej
konfiguracji układu w zależności od wymagań użytkownika.

Za przykład zastosowania i programowania układów PLC przyjęto metodę schematu

zestykowego (przekaźnikowego) do sterowania ruchem robota bramowego, dla którego
schemat działania i rozmieszczenie łączników drogowych pokazano na rys. 7.

Rys. 7. Schemat działania robota bramowego liniowego







background image

16

Tablica 1. Funkcje spełnione przez urządzenia elektryczne zainstalowane w robocie z rys. 7

Oznaczenie
urządzenia

Oznaczenie styków

Funkcja

Sl

SI1.S12

Stycznik włączający silnik M 1 do przesuwu w prawo

S2

S2I, S22

Stycznik włączający silnik Ml do przesuwu w lewo

S 3

831,832

Stycznik włączający silnik M2 do opuszczenia
chwytaka

S4

S4I.S42

Stycznik włączający silnik M2 do podniesienia
chwytaka

S5

S5I

Stycznik włączający silnik M3 do zamknięcia
chwytaka

S6

S6I

Stycznik włączający silnik M3 do otwarcia chwytaka

Kl

Kil, K12

Łącznik określający położenie wózka w pozycji lewo

K2

K2t,K22

Łącznik określający położenie wózka w pozycji
prawo

K.3

K31, K32

Łącznik określający położenie kolumny w pozycji dół
nad paletą nr 1

K4

K4 1 , K42

Łącznik określający położenie kolumny w pozycji dół
nad paletą nr 1

L _K5

K5I.K52

Łącznik określający położenie kolumny w pozycji na
górze

K6

K61

Łącznik określającego obecność przedmiotu na
palecie nr 1

K7

K71

Łącznik określający obecność przedmiotu na palecie
nr 2

K8

K81,K82, KX3

Łącznik określający stan chwytaka (otwarty)

K.9

K9I.K92, K93

Łącznik określający stan chwytaka (zamknięty)

W przedstawionym przykładzie zadaniem robota jest pobranie przedmiotu z palety nr l

i przeniesienie go na paletę nr 2. Robot rozpoczyna ruch z pozycji bazowej z chwilą
pojawienia się przedmiotu na palecie nr l. Na rys. 7 pokazano cykl ruchów wykonywanych
przez robota. Ruch wózka wzdłuż bramy w lewo i w prawo uzyskuje się od silnika M l, ruch
pionowy kolumny z chwytakiem w górę i w dół od silnika M2, a zamykanie i otwieranie

background image

17

szczek chwytaka od silnika M3. Na stanowisku zamontowano łączniki drogowe, które
współpracując ze zderzakami, sygnalizują osiągnięcie zadanych pozycji.

Urządzenia elektryczne podane na rys. 7 spełniają funkcje podane w tabl. 5.

Na rys. 8 pokazano schemat zestykowy układu sterującego pracą robota, który będzie

zaprogramowany w układzie PLC.

Rys. 8. Schemat zestykowy programowego układu


Przedstawiony dalej program jest uproszczony, gdyż ma na celu pokazanie jedynie

zasady działania sterownika PLC. W pozycji bazowej chwytak jest otwarty i znajduje się w
pozycji początkowej, tj. są naciśnięte łączniki K l i K5. Gdy na palecie Pl znajdzie się
przedmiot, naciśnięty zostanie łącznik K6. Od tej chwili następuje (stycznik S3 jest zasilany
przez styk samopodtrzymania S31 w linii nr 2) opuszczenie chwytaka nad pierwszą paletę, do
chwili osiągnięcia

łącznika K.3 - linia nr 1. Zamknięcie styku K31 powoduje zamykanie

chwytaka i jest pobierany przedmiot - linia nr 4. Po zamknięciu chwytaka, co jest sygnali-
zowane łącznikiem K9, chwytak jest podnoszony do góry, aż do chwili naciśnięcia łącznika
K5 - linia nr 5. W chwili kiedy chwytak z przedmiotem znajdzie się w położeniu
początkowym, a chwytak jest zamknięty, w linii nr 8 następuje wzbudzenie stycznika S l i

background image

18

przesunięcie wózka w prawo, aż do chwili osiągnięcia łącznika K.2 - linia nr 8. Następnie,
jeśli druga paleta jest wolna, kolumna z chwytakiem jest opuszczana linia nr 3. Po otwarciu
chwytaka i zwolnieniu przedmiotu - linia nr 10, chwytak jest podnoszony do góry, aż do
chwili osiągnięcia łącznika K5 linia nr 7. Na końcu następuje powrót do położenia startowego
linia nr 12. Chwytak zatrzyma się po osiągnięciu łącznika Kl, a nowy cykl rozpocznie się
dopiero w chwili pojawienia się kolejnego przedmiotu, co zapewnia automatyczną pracę
robota.

W pokazanym układzie jest wykonywane działanie, które można przed-stawić

opisowo:

Linie (l, 2, 3) Jeżeli (Kl l i Kół i K.81 i K51 lub S31 lub K21 i K.91 i nic K7I i nie K51) i
nie K3l i nie K4l i nie S42 to S3

Linia (4) Jeżeli K31 i nie Sól i nie K92 to S5

Linie (5, 6, 7) Jeżeli (K32 i K92 lub S41 lub K52 i S32) i nic K52 i nie S32 to S4

Linie (N, 9) Jeżeli (Kll i K93 lub Sl 1) i nic S22 i nie K22 to S l

Linia (10) Jeżeli K42 i nie S5I i nie K82 to S6

Linie (11 l 12) Jeżeli (S2I lubK2l i K83) i nie SI2 i nie KI2 toS2

Aby procesor mógł wykonać te działania, należy dokonać przekształcenia zawartych

w opisie związków logicznych na ciąg rozkazów. Elementami programowania sterowników
logicznych są: adresy argumentów rozkazów i symbole operacji logicznych wg reguł algebry
Boole'a. Przykładowo dla sterowników przyjmuje się następujące adresy:

I wejście (Input),

O wyjście (Output)

oraz symbole operacji logicznych:

·

działanie typu i,

+ działanie typu lub,
/ negacja,
() nawiasy,
= wykonanie.

Wszystkie połączenia, tworzące program sterowania w przekaźnikowej wersji układu,

są więc zastąpione dwoma rodzajami instrukcji:

- instrukcjami sprawdzania stanu wejścia i łączenia sygnałów wejściowych w
odpowiednie warunki,

- instrukcjami wykonawczymi włączania i wyłączania wyjść. Każdy stan określonego
wyjścia musi być zaprogramowany w formie zdania logicznego, a wprowadzone
instrukcje mają formę, w której będą zapisane w pamięci programu działania (rys. 9).

background image

19

Rys. 9. Połączenia zestyków urządzeń elektrycznych do sterownika PLC

Instrukcje programu sterowania są odczytywane przez jednostkę centralną i w niej

dekodowane. Instrukcje sprawdzania zmiennych wejściowych i wyjściowych są kierowane do
jednostki logicznej, w której informacje o wzajemnym powiązaniu zmiennych, np. jako
iloczynu logicznego lub sumy logicznej, powodują wykonanie odpowiednich działań.

Ciągły rozwój mikroelektroniki ugruntowuje zapoczątkowane w końcu lat

siedemdziesiątych dwa kierunki rozwoju układów PLC. Z jednej strony coraz tańsze elementy
umożliwiają budowę małych, tanich układów o niewielkiej liczbie wejść/wyjść. Z drugiej zaś
rozwój techniki mikroprocesorowej umożliwia budowę układów o bardziej złożonych
funkcjach,

przypisywanych

dotychczas

komputerom,

przy

zachowanej

zasadzie

programowania w języku zorientowanym na realizację sterowań logicznych.

Grupa sterowników średnich (o liczbie wejść/wyjść równej od 128 do 512) jest

najliczniejsza na rynkach światowych. W grupie tej występuje wyraźnie zróżnicowanie
funkcji realizowanych przez sterowniki oraz stopni rozbudowy sprzętu programującego.
Większość układów ogranicza się do podstawowych funkcji: logicznych, czasowych i

background image

20

licznikowych. Dla tych układów są przeznaczone tzw. programatory walizkowe. Dla
sterowników, które oprócz funkcji podstawowych mogą realizować działania arytmetyczne
mają wejścia i wyjścia cyfrowe oraz analogowe, programowaną regulację PID oraz funkcje
sterowania silnikiem krokowym, są przeznaczone stanowiska programowania wyposażone w
monitory ekranowe oraz urządzenia umożliwiające automatyczne sporządzanie dokumentacji
technicznej. Stanowiska te są budowane z wykorzystaniem mikro- lub minikomputera.
Bardzo często te same sterowniki mogą być łączone zamiennie z programatorami
walizkowymi lub stanowiskami do programowania, umożliwiając dobór sprzętu do
konkretnego zadania.

Języki programowania zorientowane na realizację sterowań logicznych zawierają

zestaw instrukcji umożliwiających zamianę na program zadania postawionego w formie
schematu zestykowego lub schematu narysowanego z użyciem symboli funktorów
logicznych. Różnice są związane z zakresem funkcji dodatkowych realizowanych przez
sterownik. Systemy wyposażone w proste programatory wymagają tworzenia programu w
postaci mnemonicznych rozkazów opisujących schemat zestykowy bądź logiczny.
Programatory z monitorami ekranowymi umożliwiają bezpośrednie tworzenie schematu.
Niezależnie od stopnia rozbudowy programatora, zbiór podstawowych zadań jest podobny i
zawiera: pracę on-line w połączeniu programator-sterownik-obiekt, automatyczną zmianę
adresów przy dopisywaniu i wybieraniu rozkazów z programu, bateryjne podtrzymywanie
zawartości pamięci RAM, wyszukiwaniu rozkazów na podstawie związanych z rozkazem
argumentów, sygnalizację stanu wybranych argumentów przy pracy on-line, przepisywanie
programu na docelowy nośnik (EPROM, EEROM, FLASH). Możliwości dodatkowe, typu
wymuszanie stanów wejść/wyjść, blokowanie fragmentów programu, krokowe uruchamianie
programu, mają duże znaczenie podczas testowania programu. Wydruki programu, listy
adresowej, schematów zestykowych, sieci logicznych zwalniają od ręcznego wykonywania
dokumentacji.

Nie tylko możliwość programowej realizacji układu sterowania decyduje o ciągłym

wzroście zastosowania układów PLC. Konstruktorzy tych układów zwrócili szczególną
uwagą na to, aby oprócz prostoty ich stosowania przez projektantów przyzwyczajonych do
konwencjonalnych układów sterowania, wykorzystać możliwości dodatkowe, wynikające z
komputerowej struktury. Niektóre układy mają możliwość bezpośredniej współpracy z
innymi urządzeniami systemu poprzez układy wzajemnych połączeń, co w przypadku
zastosowania ich w robotyce ma bardzo istotne znaczenie. Możliwe jest też hierarchiczne
łączenie sterownika z komputerem nadrzędnym. Stwarza to możliwość wykorzystania
sterownika PLC jako najniższego ogniwa w łańcuchu sterowania, zapewniającego powiązanie
pracy robota z komputerowym sterowaniem wyższego poziomu, omówionym w następnym
podrozdziale.

5. Układy sterowania numerycznego komputerowego

Jak już wcześniej wspomniano, najnowocześniejszymi numerycznymi systemami

sterowania robotów są układy sterowania o strukturze komputerowej CNC (ang. computer
numerical control).
Do budowy sterowań CNC wykorzystano układy mikroprocesorowe. Są
to układy otwarte na nowe funkcje sterowania, które mogą być realizowane przez
odpowiednie oprogramowanie systemowe (software).



background image

21

5.1. Architektura systemu mikroprocesorowego


Architektura sterowania mikroprocesorowego istotnie rzutuje na efektywność całego

systemu. Powinna uwzględniać nie tylko wymagania funkcjonalne, ale również stan obecny
oraz tendencje rozwojowe techniki cyfrowej. Przykładową architekturę mikroprocesorowych
układów sterowania CNC robotów przemysłowych przedstawiono na rys. 10.

Mikroprocesorowe sterowanie robotów ma następujące zalety:
- łatwe i szybkie wprowadzanie, poprawianie, wymienianie i przechowywanie
programów pracy robota,
- to samo oprogramowanie może być stosowane do różnych układów sterowania,
- dla tego samego układu sterowania można zrealizować różne warianty sterowań
CNC za pomocą różnych programów (np. różne roboty mogą mieć ten sam układ
sterowania, a realizować mogą różne warianty strategii sterowania),
- istnieje wiele możliwości wprowadzania i wyprowadzania danych, jak: za pomocą
taśmy magnetycznej, dyskietek, dysku twardego, sieci komputerowych (łatwość
komunikowania się z innymi sterowaniami).

background image

22

Rys. 10. Architektura wielomikroprocesorowych układów sterowania robotów

przemysłowych

Najskromniejszą konfiguracją układów CNC stosowanych w robotach przemysłowych

jest wieloprocesorowa struktura składająca się z mikroprocesorów 8-, 16-bitowych.
Mikrokomputery 8- lub 16-bitowe mogą pełnić rolę kładów sterowania wyróżnionymi
elementami robotów. Nowoczesną konfiguracją układów stosowanych w robotach
przemysłowych i innych maszynach jest wieloprocesorowa struktura oparta na
mikroprocesorach 32- lub 64-bitowych ( Pentium II, III, IV). Jest to, jak się wydaje,
konfiguracja szczególnie pożądana w wysoce niezawodnych systemach sterowania robotami.
Procesory 32- i 64-bitowe są szczególnie przydatne do zadań wymagających znacznie
większej mocy obliczeniowej, jak np.: realizacja algorytmów rozpoznawania obrazów,
wyznaczanie złożonych transformat, sterowanie nadrzędne i optymalizacja. Ponadto
utworzenie sieci robotów za pośrednictwem odpowiednich modułów aktywnych umożliwia
nadrzędne sterowanie procesem produkcyjnym.

background image

23

Ważną cechą architektury układów mikroprocesorowych jest otwartość i łatwość

konfigurowania systemów o wymaganych własnościach. W zależności od wymaganej
niezawodności czy mocy obliczeniowej systemu można zwiększyć liczbę mikroprocesorów
lub stosować mikroprocesory o odpowiednio dużej mocy obliczeniowej. Wobec rosnącej
mocy procesorów, współcześnie powstają układy jednoprocesorowe z dodatkowymi
modułami aktywnymi i biernymi.


5.2. Parametry i funkcje modułów układu sterowania mikroprocesorowego

Obecnie krótko scharakteryzujemy zestaw modułów tworzących układ sterowania

robotem – rys. 10 (numeracja omawianych modułów jest zgodna z rysunkiem).

Podstawowym elementem architektonicznym układu jest centralna magistrala

systemowa, która realizuje połączenie między modułami (zespołami).
Zespoły komunikują się między sobą za pośrednictwem trzech grup linii sygnałowych
tworzących:

- szynę adresową, za pośrednictwem której procesor może adresować komórkę
pamięci lub właściwy z układów wejścia lub/i wyjścia,
- szynę danych, służącą do przesyłania danych między procesorem a pamięcią wraz z
układami wejścia i wyjścia; w mikrokomputerach szyna danych zawiera zwykle 8 lub
l6 dwukierunkowych linii sygnałowych,
- szynę sterującą, której poszczególne linie są wykorzystywane m.in. do ustalania
kierunku przepływu danych, aktywizacji i synchronizacji odpowiedniego zespołu.

Podzespoły układu mikroprocesorowego

Podstawowym modułem systemu jest procesor centralny ( l ) (rysunek 10), mający
własną pamięć operacyjną (pamięć danych i pamięć programu), podstawowe układy
wejścia/wyjścia (interfejs szeregowy V24) oraz system przerwań pełniący funkcję
komputera centralnego. W nowoczesnych układach jest to procesor Intel Pentium II,
III lub IV na płycie głównej komputera PC, działający pod typowym systemem
operacyjnym, najczęściej pod systemem Windows.

Pakiet EPROM + RAM (2) zawiera pamięć danych, służącą do przechowywania
programu sterującego oraz programu użytkownika, który jest ułożony i zapisany w
trakcie uczenia robota. W układzie sterowania pakiety RAM są stosowane opcyjnie w
przypadku konieczności rozszerzania pojemności pamięci użytkownika. W
szczególności moduły pamięci operacyjnej mogą tworzyć pamięć wspólną systemów
o dużej pojemności.

Pakiet kontroli (3) spełnia w układzie sterowania następujące podstawowe funkcje:
- kontrolę wartości napięć zasilających, generację przerwań od zaniku zasilania,
- kontrolę właściwego przekazywania sygnałów po liniach magistrali.
- kontrolę działania jednostek centralnych.

Kolejnym ważnym modułem aktywnym jest sterownik pamięci dyskowych (4).
Stanowi on specjalizowany procesor, który zapewnia obsługę dowolnych jednostek
pamięci masowej lub pamięci na dyskach elastycznych, używanych do
przechowywania programów użytkownika.

Interfejs komunikacji z innymi komputerami lub układami sterowania (5) jest
stosowany jako opcja w przypadkach konieczności komunikacji przez sieć
komputerową z urządzeniami zewnętrznymi (komputer nadrzędny, układ sterowania
współpracującej maszyny itp.). Moduł sterownika sieci lokalnej jest przewidywany

background image

24

przede wszystkim do wykorzystania w elastycznych systemach produkcyjnych bądź
innych zastosowaniach, wymagających np. inicjacji pracy lub zewnętrznego
programowania autonomicznych stanowisk produkcyjnych.

Stosowany opcyjnie procesor PLC (6) umożliwia zintegrowanie układu sterownia
robota z układami dopasowująco-sterującymi (UDS), mającymi na celu
przystosowanie układu sterowania do określonego typu robota i urządzeń
pomocniczych. UDS-y stanowią bądź wydzielony sterownik PLC (patrz poprzedni
punkt), bądź specjalizowany układ przekaźnikowo-stycznikowy.

Interfejs programatora (7) służy do sprzęgnięcia sterownika ręcznego (8) z układem
CNC. Podstawowy zbiór funkcji dostępny z panelu programowania (8) umożliwia
programowanie robota. W panelu programatora znajduje się wyświetlacz
alfanumeryczny, służący do przekazywania treści instrukcji programu użytkowego,
informowania operatora o stanic robota, wyświetlania informacji dodatkowych itp.

Pakiet wejść i wyjść dwustanowych; (9) zawiera zwykle wejścia o parametrach 24 V
DC, 20 mA oraz wyjścia dwustanowe o parametrach 24 V DC, 0,5 A. Wejścia i
wyjścia są oddzielone galwanicznie od magistrali kasety. W układzie sterowania
robota pakiety (9) służą do:

- połączenia układu sterowania z urządzeniami zewnętrznymi, przekazując
informacje o stanie tych urządzeń i służąc do ich włączenia, przyjmowania sygnałów z
układów sensorycznych (czujników),
- przyjmowania sygnałów z panelu operacyjnego i do sterowania lampek
sygnalizacyjnych umieszczonych na tym panelu.
Liczba użytych w układzie sterowania pakietów we/wy zależy od wymaganej liczby

wejść i wyjść do urządzeń zewnętrznych. Moduły wejścia/wyjścia umożliwiają
dostosowanie w łatwy sposób własności systemu do specyfikacji 136 konkretnego
zastosowania.

Pakiet wejść i wyjść analogowych (10) zawiera kanały sygnałów analogowych o
zakresie: -10V.....+ 10V. Wejścia są oddzielone galwanicznie od magistrali kasety. W
układzie sterowania robota pakiety (10) mogą być stosowane do:

- przyjmowania sygnałów z czujników analogowych,
- podawania sygnału sterującego do serwonapędów analogowych. W drugim
przypadku żądana prędkość ruchu jest podawana standardowym, analogowym
sygnałem napięciowym, który może zmieniać się w granicach +/- 10 V. Połączenie
takie zostało przyjęte przez wszystkich producentów. Dotyczy to zarówno
producentów układów sterowania, jak i producentów serwonapędów.

Pakiety interfejsu wejść i wyjść cyfrowych (11) mogą być stosowane do:

- przyjmowania sygnałów z czujników cyfrowych,
- wysyłania sygnałów cyfrowych do sterowania zespołów robota,
- komunikacji między układem sterowania a cyfrowymi zespołami
serwonapędowymi.

Napędy cyfrowe są rozwiązaniem istotnie ulepszającym sterowanie ruchami w osiach
serwonapędowych. Umożliwiło to znacznie lepszą więź między nimi i większe
możliwości wpływania przez układ na realizację ruchów dzięki monitorowaniu i
bieżącym dostosowywaniu parametrów regulatorów napędów. Jednak ta postępowa
innowacja wpłynęła niekorzystnie na otwartość systemu jako całości. Opracowano co
prawda uzgodnienia w odniesieniu do interfejsów tego rodzaju (najbardziej znanym
jest opracowany przez firmy europejskie standard SERCOS), jednakże często są
stosowane, niezgodne z nimi, rozwiązania firmowe. Jednym z powodów może być to,
ż

e jest to dziedzina nowa, rozwijająca się i normalizacja byłaby przedwczesna. Innym

powodem takiego stanu może być możliwość prostszych rozwiązań w przypadkach

background image

25

indywidualnych, bez uwzględniania wymagań ogólnych. Lecz najpoważniejszą
przeszkodą wydaje się niechęć dużych firm (np. Famie czy Siemens), produkujących
zarówno sterowniki, jak i serwonapędy, do standaryzacji. W ich interesie jest, aby
kupowano od nich łącznie oba te wyroby, a można to wymusić, stosując
indywidualne, niestandardowe rozwiązanie interfejsów.

Procesor sterowania ruchami w osiach pozycjonowanych płynnie spełnia funkcję
interpolatora (12). Interpolator przyjmuje od procesora centralnego (l) współrzędne
docelowego położenia przegubów robota i prędkości ruchu oraz dane określające
rodzaj trajektorii (rodzaj interpolacji). Po odpowiednim przeliczeniu tych danych są
one przesyłane do sterowników położenia osi (13 lub 14) jako wielkości sterujące -
funkcje zależności drogi od czasu. Ruch w poszczególnych osiach sterowanych musi
być realizowany w sposób ściśle zsynchronizowany, a generowanie przemieszczeń
(interpolowanie pośrednich punktów) odbywa się zgodnie z zasadami określonymi
przez podany rodzaj interpolacji.

Sterownik serwonapędów (13) służy do sterowania ruchami w poszczególnych osiach
robota. Sterownik przyjmuje z procesora centralnego (4) lub z wyspecjalizowanego
procesora (12) informacje o generowanych przyrostach przemieszczeń, jakie mają być
wykonane w jednostce czasu. Drugą informacją wejściową jest sygnał rzeczywistego
przemieszczenia

przegubu,

którą

otrzymuje

się

z

układu

pomiarowego

przemieszczenia. Zadaniem sterownika położenia osi jest obliczenie rzeczywistego
błędu położenia. W układzie sterowania robota może znajdować się od 3 do 9
sterowników serwonapędów - zależnie od liczby sterowanych osi. Cyfrowe wartości
tego błędu mogą być podawane przez interfejs wyjść cyfrowych (10) do napędów
cyfrowych lub są przetwarzane na sygnał analogowy -10 V...+10 V i podawane przez
interfejs wyjść analogowych (11) jako wartość prędkości zadanej.

Sterownik napędów z silnikami skokowymi (14) spełnia funkcję sterowania silnikami
skokowymi, generując liczbę impulsów (skoków) proporcjonalną do przemieszczenia
obliczonego przez interpolator (12).


6. Programowanie robotów przez nauczanie


6.1. Informacje ogólne

Jeśli robot ma wykonywać czynności na konkretnym stanowisku pracy, trzeba

utworzyć program opisujący kolejność czynności, które gwarantują wymagane jego działanie
i współpracujących z nim urządzeń peryferyjnych.

Zakładając, że ruchy robota są programowane metodą uczenia (programowanie

dyskretne FTP), to za pomocą przycisków do naprowadzania robota w wymagane położenie,
można uruchomić ruch w płynnie sterowanych osiach w przestrzeni roboczej robota i
sterować położeniem chwytaka. Przez przyciśnięcie przycisku wpisuje się do pamięci układu
sterowania odpowiednią instrukcję, której częścią są dane o pozycjach w poszczególnych
osiach robota w danym punkcie. Następnie przyciskami ruchu w płynnie sterowanych osiach
osiąga się kolejną pozycję efektora, ponownie naciska przycisk instrukcyjny pozycji poło-
ż

enie to ponownie zostaje zapamiętane, i tak postępując kolejno można zaprogramować

wymagany tor ruchu robota. Między instrukcjami pozycyjnymi mogą być wsławiane
odpowiednio do programu inne instrukcje z grupy sterowania programem lub czynności
robota. Zaprogramowane instrukcje są wykonywane w kolejności, w jakiej zostały wczytane
do pamięci. Niektóre instrukcje mogą tę kolejność zmienić, np. SKOK.

Zestaw instrukcji można podzielić na dwie grupy:

background image

26

- instrukcje z argumentem,
- instrukcje bez argumentu.
Instrukcje z argumentem to takie, które wymagają określenia parametru cyfrowego

(argumentu) wraz z zaprogramowaniem instrukcji. Parametr ten zapisuje się w instrukcji.

Instrukcje bez argumentu programuje się tylko przez wciśnięcie przycisku

instrukcyjnego.

Każda instrukcja ma swój numer (na ogół w przedziale od 10 do 9999) Układ

sterowania podczas programowania automatycznie przydziela numery kolejnym
instrukcjom w postaci liczb będących wielokrotnością dziesięciu W ten sposób jest
pozostawione miejsce do dodania kolejnych instrukcji bez potrzeby zmiany numeru już
istniejących. Instrukcje programu są uporządkowane w pamięci według swoich numerów w
porządku wstępującym.

Podczas wykonywania programu kolejna instrukcja jest przygotowana w czasie

wykonywania poprzedniej instrukcji, co uwidacznia się zwłaszcza podczas ruchów robota
zaprogramowanych przez kilka instrukcji pozycyjnych.

6.2. Opis instrukcji

W tym punkcie podamy podstawowe informacje oraz opis działania typowych instrukcji
stosowanych najczęściej w układach sterowania punktowego.

Instrukcje można podzielić na trzy grupy:
- Instrukcje ruchowe, ew. pozycyjne, które programują ruchy robota. Są to instrukcje:
DOKŁADNIE, ZGRUBNIE, LINIOWO i CHWYTAK.
- Instrukcje sterowania programem, które mogą zmieniać kolejność wykonywania
instrukcji. Do tej grupy należą instrukcje: SKOK, CYKL, KONIEC CYKLU, WEZWIJ
PODPROGRAM, KONIEC PODPROGRAMU, KONIEC.

- Instrukcje do łączności systemu z otoczeniem i synchronizacji czynności robota z
urządzeniami peryferyjnymi. Są to instrukcje: WYJŚCIE WŁĄCZ, WYJŚCIE WYŁĄCZ,
TEST CZEKAJ, TEST KONIEC, TEST SKOK
i CZEKAJ.
Instrukcja DOKŁADNIE „Przejdź z pozycji, w której jesteś, na pozycję

zaprogramowaną (zapisaną w instrukcji) z zaprogramowaną prędkością. Nieważny jest kształt
drogi. Kolejną instrukcję wykonaj dopiero po osiągnięciu zaprogramowanego punktu".
Instrukcją ruchową DOKŁADNIE programuje się ruch robota. Podczas programowania
instrukcji operator najpierw naprowadza robota, za pomocą przycisków, do ruchu w płynnie
sterowanych osiach, na wymagane położenie. Częścią zapisanej instrukcji są również
wybrane położenia w płynnie sterowanych osiach robota i automatycznie wybrana prędkość
ruchu. Robot może zacząć wykonywać następną instrukcję programu dopiero wówczas, gdy
nastąpi pozycjonowanie w zaprogramowanym położeniu. Stąd nazwa instrukcji
DOKŁADNIE.

Podczas wykonywania tej instrukcji ruch we wszystkich osiach odbywa się z taką

samą prędkością linia c-d na rysunek 4. Dlatego droga, którą opisuje chwytak robota podczas
wykonywania instrukcji DOKŁADNIE, jest ogólnie kilkakrotnie łamaną krzywą. Stąd też
instrukcji DOKŁADNIE używa się jedynie do nieskomplikowanych przemieszczeń, gdy nie
jest wymagany ruch chwytaka po zdefiniowanej drodze (np. po prostej).

Instrukcja ZGRUBNIE - „Przejdź z pozycji, w której jesteś, na zaprogramowaną

pozycję z zaprogramowaną prędkością. Nieważny jest kształt drogi. W chwili kiedy w
ostatniej poruszającej się osi rozpocznie się hamowanie, zacznij wykonywać następną
instrukcję".

Tę instrukcję programuje się i wykonuje tak samo jak instrukcję DOKŁADNIE, z tą

różnicą, że instrukcję ZGRUBNIE uważa się za wykonaną w chwili, kiedy następuje

background image

27

hamowanie w ostatniej poruszającej się osi. Robot jest już wtedy bardzo blisko
zaprogramowanego punktu i zaczyna wykonywać kolejną instrukcję programu. Jeśli jest to
następna instrukcja pozycyjna, to rozpoczyna się kolejny nich i robot nie zatrzyma się w
zaprogramowanym punkcie.

Jeśli po instrukcji ZGRUBNIE jest instrukcja nieruchowa (np. CZEKAJ), robot dojdzie

do zaprogramowanego punktu, podobnie jak w instrukcji DOKŁADNIE.

Instrukcja LINIOWO - „Przejdź z pozycji, w której jesteś, na zaprogramowaną

pozycję w linii prostej w czasie określonym w argumencie instrukcji. W chwili kiedy w
ostatniej poruszającej się osi rozpocznie się hamowanie, zacznij wykonywać następną
instrukcję".

Instrukcja LINIOWO jest instrukcją pozycyjną, którą są programowane prostoliniowe

ruchy efektora. Programuje się ją podobnie jak instrukcje DOKŁADNIE i ZGRUBNIE.
Operator, używając przycisków ruchu płynnie sterowanych osi, naprowadza robota na
pozycję. Zasada wykonywania instrukcji LINIOWO jest następująca. Układ sterowania dla
każdej osi oblicza drogę, która musi być wykonana, żeby robot zajął zaprogramowaną
pozycję. Następnie są obliczane prędkości ruchu w poszczególnych osiach jako iloraz tych
dróg i czasu wykonywania ruchu. W ten sposób jest zagwarantowane, że ruch we wszystkich
osiach zakończy się jednocześnie i że końcowy ruch efektora (chwytaka) będzie bardzo
zbliżony do prostej (interpolacja liniowa).

Jeśli w ruchu bierze udział oś obrotowa, to wraz z rosnącą odległością między

zaprogramowanymi punktami kształt wykonywanej trajektorii coraz bardziej różni się od
idealnej prostej, mimo iż prostoliniowość ruchu jest zagwarantowana precyzyjnymi
obliczeniami. Odwrotnie, jeśli w ruchu biorą udział jedynie liniowe osie, trajektoria ruchu
końcowego jest prostą. Instrukcję LINIOWO uważa się za skończoną w chwili, gdy w
ostatniej z osi zaczyna się hamowanie (podobnie jak w instrukcji ZGRUBNIE}.

Instrukcja CHWYTAK - „Zajmij położenie w dyskretnie sterowanej osi (zapisane w

instrukcji) i czekaj przez czas określony w argumencie instrukcji".

Instrukcja CHWYTAK służy do programowania ruchów w dyskretnie sterowanych

osiach. Postępowanie podczas programowania jest podobne jak w przypadku pozostałych
instrukcji pozycyjnych. Operator najpierw naprowadza (obraca) chwytak w wymagane
położenie, potem wybiera czas oczekiwania 140 i naciśnięciem przycisku instrukcyjnego
CHWYTAK zapisuje instrukcję do pamięci. W pamięci układu sterowania zostają zapamiętane
nastawione położenia chwytaka (ogólnie w dyskretnie sterowanych osiach). Kolejna
instrukcja będzie wykonywana dopiero po upłynięciu czasu oczekiwania, który określił
operator podczas programowania instrukcji CHWYTAK.

Instrukcja SKOK - „Kontynuuj instrukcję, której numer jest określony w argumencie

instrukcji".

Instrukcja SKOK nakazuje kontynuację programu od instrukcji o numerze zapisanym

w postaci argumentu, którym jest numer instrukcji wykonywanej jako następna.

Instrukcje CYKL - „Zapamiętaj numer następnej instrukcji i nastaw licznik cykli na

wartość określoną przez argument instrukcji" i KONIEC CYKLU - „Jeśli wartość licznika
cykli równa się jeden, kontynuuj wykonywanie programu kolejną instrukcją. W innym
przypadku obniż wartość licznika o jeden i skocz do instrukcji, której numer został
zapamiętany podczas wykonywania instrukcji CYKL".

Jeśli trzeba powtórzyć wykonanie części programu kilkakrotnie, wystarczy przed tą

część wstawić instrukcję CYKL, a za ostatnią instrukcję powtarzającego się ciągu
wprowadzić instrukcję KONIEC CYKLU. Podczas wykonywania programu, w którym jest
zaprogramowany cykl, instrukcja KONIEC CYKLU dokonuje skoku do instrukcji znajdującej
się po instrukcji CYKL. Gdy robot wykona wymaganą liczbę cykli, program jest
kontynuowany dalej za instrukcją KONIEC CYKLU.

background image

28

Programowanie cyklu w instrukcji CYKLU nie jest dozwolone!

Instrukcje WEZWIJ PODPROGRAM - „Zapamiętaj numer następnej instrukcji i

skocz na początek programu (do instrukcji, której numer jest podany w argumencie
instrukcji)"/ KONIEC PODPROGRAMU - „Przeprowadź powrót z podprogramu, tzn. skocz
do instrukcji, której numer był zapamiętany podczas wykonywania instrukcji WEZWIJ
PODPROGRAM".

Instrukcje WEZWIJ PODPROGRAM i KONIEC PODPROGRAMU umożliwiają

używanie podprogramów. Instrukcja WEZWIJ PODPROGRAM jest realizowana jako skok
na początek podprogramu. Powrót z podprogramu jest realizowany instrukcją KONIEC
PODPROGRAMU. Jest to instrukcja bez argumentu, programuje się ją tylko wciśnięciem
przycisku instrukcyjnego. Jeśli w programie są użyte instrukcje WEZWIJ PODPROGRAM I
KONIEC PODPROGRAMU, taki program jest logicznie podzielony na tzw. program główny
i podprogramy. Podprogramy są relatywnie samodzielnymi modułami, które mogą być
wywoływane instrukcją WEZWIJ PODPROGRAM z dowolnego miejsca w programie
głównym. Często dozwolone jest wzywanie podprogramu z podprogramu, co nazywa się
zanurzaniem podprogramów.

Instrukcja KONIEC - „Jest to koniec programu, skocz na początek kolejnego

programu pamięci".

Instrukcją KONIEC musi być zakończony każdy program. W jednym programie może

być tylko jedna instrukcja KONIEC i musi być ona ostatnią w programie. Przy próbie
zaprogramowania drugiej instrukcji KONIEC system zgłasza błąd operatora. Jeśli
zaprogramuje się instrukcję KONIEC z numerem niższym od numerów już
zaprogramowanych instrukcji, wszystkie instrukcje o wyż-szych numerach będą wymazane z
pamięci. W ten sposób można wymazać część programu użytkowego. Instrukcja KONIEC nic
ma argumentu i dlatego jest programowana tylko przez naciśnięcie przycisku.

Instrukcje WYJŚCIE WŁĄCZ/WYJŚCIE WYŁĄCZ - „Włącz wyjście, określone

przez argument instrukcji"/,,Wyłącz wyjście, określone przez argument instrukcji".

Para instrukcji WYJŚCIE WŁĄCZ/WYJŚCIE WYŁĄCZ jest używana do

nastawiania wyjść technologicznych, programowania przyspieszenia ruchów robota, a także
ustawiania wewnętrznych dwuwartościowych zmiennych (flag). Instrukcje WYJŚCIE
WŁĄCZ/WYJŚCIE WYŁĄCZ wymagają określenia argumentu (którym jest numer wyjścia)
przed ich zaprogramowaniem.

Instrukcja TEST CZEKAJ — „Czekaj, dopóki nie włączy się wejście, określone

przez argument instrukcji".

Instrukcja TEST CZEKAJ jest używana do synchronizowania czynności robota i

urządzeń peryferyjnych na stanowisku pracy. Jest to instrukcja z argumentem, którym jest
czas czekania. Instrukcja jest wykonywana następująco. Układ sterowania sprawdza wartość
podanego wejścia. Jeśli wejście ma wartość l, co zwykle oznacza potwierdzenie wykonania
czynności (np. otwarcie uchwytu tokarskiego), to jest kontynuowane wykonywanie programu
wg następnej instrukcji. Jeśli wejście ma wartość O, to układ sterowania czeka na
potwierdzenie, a potem kontynuuje wykonywanie programu zgodnie z następną instrukcją.
Instrukcją TEST CZEKAJ można też czasami zaprogramować czekanie na włączenie czujni-
ków, które rejestrują końcowe położenia w dyskretnie sterowanych osiach.

Instrukcja TEST KONIEC - „Kontynuuj kolejną instrukcję programu, jeśli wejście

(określone przez argument) jest włączone. W przypadku przeciwnym skocz na początek
kolejnego włączonego programu".

Instrukcja TEST KONIEC funkcjonuje, więc podobnie jak TEST CZEKAJ, chociaż

zamiast czekania można wykonywać inne programy. Instrukcję tę programuje się tak samo

background image

29

jak TEST CZEKAJ, argumentem jest także numer wejścia. Podczas wykonywania tej
instrukcji układ sterowania testuje podane wejście i podejmuje decyzje zależne od jego stanu.

Instrukcja TEST SKOK - „Kontynuuj kolejną instrukcję programu, jeśli wejście (określone
przez argument) jest włączone. Jeśli jest wyłączone, pomiń następną instrukcję".

Instrukcja TEST SKOK jest używana do testowania:

- wejść,

- położenia zespołów w dyskretnie sterowanych osiach,

flag i rejestrów wewnętrznych.

W zależności od wyników testu program jest kontynuowany- następna instrukcja jest

wykonywana albo jest opuszczana. Na podstawie sygnałów z czujników położenia w osiach
dyskretnych układ sterowania sprawdza, czy zespoły znajdują się w wymaganym położeniu.

Instrukcja CZEKAJ - „Czekaj przez czas określony przez argument instrukcji".

Instrukcja CZEKAJ jest instrukcją z argumentem. Przed zaprogramowaniem instrukcji

należy wybrać za pomocą klawiatury argument, który określa czas czekania. Instrukcja jest
wykonywana w taki sposób, że układ sterowania odlicza podany czas i dopiero po jego
upłynięciu przejdzie do wykonania następnej instrukcji programu.


6.3. Przykład programowania robota


Przykładowy program (tablica 2) opisujący przemieszczanie dwóch wałków,

znajdujących się początkowo w punktach 6 i 8, po następującym torze: 6-7, 8-5, 7-8, 5-6- rys.
11. Program rozpoczyna się w chwili, gdy chwytak jest otwarty. Przykład ten ilustruje
działanie większości opisanych w poprzednim punkcie instrukcji programowania.

Rys. 11. Przykład programowania robota przemieszczającego dwa wałki (w celu ułatwienia

punkty określono numerami wejść technologicznych, z którymi są one połączone)

Tablica 2. Program przemieszczania dwóch wałków na stanowisku pokazanym na rys. 11

Nr instrukcji

Typ instrukcji

Argument

Uwagi

0010

DOKŁADNIE

Punkt wyj

ś

ciowy

0020

SKOK

0110

Przej

ś

cie do głównego programu

0030

CZEKAJ

0099

Zatrzymanie wykonywania programu na 9,9 s

0040

SKOK

0170

Ponowienie testowania wej

ś

cia nr 7

0050

CZEKAJ

0099

Zatrzymanie wykonywania programu na 9,9 s

0060

SKOK

0290

Ponowienie testowania wej

ś

cia nr 5

0070

CZEKAJ

0099

Zatrzymanie wykonywania programu na 9,9 s

0080

SKOK

0410

Ponowienie testowania wej

ś

cia nr 8

0090

CZEKAJ

0099

Zatrzymanie wykonywania programu na 9,9 s

0100

SKOK

0530

Ponowienie testowania wej

ś

cia nr 6

background image

30

0110

DOKŁADNIE

Punkt poło

ż

ony nad punktem 6

0120

TEST CZEKAJ

0006

Czekanie na wałek

0130

LINIOWO

Zej

ś

cie do wałka

0140

Chwytak

0020

Zamkni

ę

cie chwytaka

0150

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 6

0160

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 7

0170

TEST SKOK

0007

Sprawdzenie, czy w punkcie 7 znajduje si

ę

wałek

0180

SKOK

0030

Je

ż

eli w punkcie 7 jest wałek, robot musi zaczeka

ć

0190

LINIOWO

Zej

ś

cie do punktu 7

0200

TEST CZEKAJ

0007

Sprawdzenie wła

ś

ciwego poło

ż

enia wałka

0210

CHWYTAK

0020

Otwarcie chwytaka

0220

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 7

0230

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 8

0240

TEST CZEKAJ

0008

Czekanie na wałek

0250

LINIOWO

Zej

ś

cie do wałka

0260

CHWYTAK

0020

Zamkni

ę

cie chwytaka

0270

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 8

0280

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 5

0290

TEST SKOK

0005

Sprawdzenie, czy w punkcie 5 znajduje si

ę

wałek

0300

SKOK

0050

Je

ż

eli w punkcie 5 jest wałek, robot musi zaczeka

ć

0310

LINIOWO

Opuszczenie wałka do punktu 5

0320

TEST CZEKAJ

0005

Sprawdzenie wła

ś

ciwego poło

ż

enia wałka

0330

CHWYTAK

0020

Otwarcie chwytaka

0340

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 5

0350

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 7

0360

TEST CZEKAJ

0007

Oczekiwanie na wałek

0370

LINIOWO

Zej

ś

cie wałka

0380

CHWYTAK

0020

Zamkni

ę

cie chwytaka

0390

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 7

0400

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 8

0410

TEST SKOK

0008

Sprawdzenie, czy w punkcie 8 znajduje si

ę

wałek

0420

SKOK

0070

Je

ż

eli w punkcie 8 jest wałek, robot musi zaczeka

ć

0430

LINIOWO

Opuszczenie wałka do punktu 8

0440

TEST CZEKAJ

0008

Sprawdzenie wła

ś

ciwego poło

ż

enia wałka

0450

CHWYTAK

0020

Otwarcie chwytaka

0460

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 8

0470

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

nego nad punktem 5

0480

TEST CZEKAJ

0005

Czekanie na wałek

0490

LINIOWO

Zej

ś

cie wałka

0500

CHWYTAK

0020

Zamkni

ę

cie chwytaka

0510

LINIOWO

Odej

ś

cie od punktu poło

ż

nego nad punktem 5

0520

DOKŁADNIE

Doj

ś

cie do punktu poło

ż

onego nad punktem 6

0530

TEST SKOK

0006

Sprawdzenie czy w punkcie 6 znajduje si

ę

wałek

0540

SKOK

0090

Je

ż

eli w punkcie 6 jest wałek, robot musi zaczeka

ć

0550

LINIOWO

Opuszczenie wałka do punktu 6

0560

TEST CZEKAJ

0006

Sprawdzenie wła

ś

ciwego poło

ż

enia wałka

0570

CHWYTAK

0020

Otwarcie chwytaka

0580

LINIOWO

Odej

ś

cie od punktu poło

ż

onego nad punktem 6

0590

KONIEC

Uwagi:

Każdorazowo przed próbą podniesienia wałka następuje sprawdzenie, czy znajduje się

on we właściwym miejscu, natomiast przed próbą opuszczenia wałka następuje sprawdzenie,
czy w pryzmie nie znajduje się już inny wałek. Podczas odkładania wałka jest sprawdzane
także jego właściwe położenie przed otwarciem chwytaka.

background image

31

7. Sterowanie autonomicznych robotów mobilnych

Sterowanie autonomicznych robotów mobilnych sprowadza się przede wszystkim do ich

prowadzenia po wymaganym torze po powierzchni hali produkcyjnej. Można wyróżnić
techniki prowadzenia: z pasywną lub aktywną linią prowadzącą oraz bez linii prowadzącej –
rys. 12.

Techniki pasywne (bierne) wymagają użycia namalowanych albo przyklejonych na

podłodze hali produkcyjnej barwnych pasków lub taśm stalowych, wytyczających tor ruchu
pojazdu. Śledzenie toru ruchu jest oparte na zasadach fotooptycznych lub wykrywania metalu.
W każdym z tych układów w mechanizmie jezdnym robota znajduje się głowica sensoryczna
(fotokomórki, fotodiody, wykrywacze metalu), a prowadzenie polega na takim pobudzaniu
sensorów, aby tor jazdy odbywał się po wytyczonej linii.

Rys. 12. Techniki prowadzenia autonomicznych robotów mobilnych

W metodzie fotooptycznej są stosowane fotokomórki lub fotodiody, umieszczone w

mechanizmie koła kierunku jazdy (koła skrętnego), reagujące na natężenie światła odbitego
od namalowanej linii. Układ regulacji kierunku jazdy dąży do tego, aby natężenie oświetlenia
obu fotodiod było zawsze jednakowe, co oznacza prowadzenie wózka wzdłuż namalowanej
linii.

Istotą metody Littona, która jest rodzajem metody optycznej jest pobudzenie

ultrafioletem cząstek znajdujących się na pasku umieszczonym na powierzchni podłogi, które
emitują światło o widmie niespotykanym w otoczeniu. Głowica skanuje za pośrednictwem
oscylujących lusterek wyznaczoną drogę sterowania, przekazując dane do mikroprocesora,
który po zinterpretowaniu należenia światła decyduje o tym, czy pojazd zbacza z drogi
(ciemniej), czy też znajduje się w centrum, dokładnie nad pasem wyznaczającym drogę.

W metodzie wykorzystującej detekcję metalu pojazd jest wyposażony w detektory

metalu i podąża za stalową taśmą ułożoną na lub pod podłogą hali. Typowy system
sterowania wymaga dwóch zestawów sensorów, po pięć sensorów każdy. Umieszczone są
one na obu końcach wózka (tył i przód). Trzy sensory centralne umożliwiają utrzymywanie
się w środku drogi, a dwa pozostałe - pokonywanie krzywizny toru.

Techniki aktywne. Stosowanym w praktyce przemysłowej sposobem transportu jest

prowadzenie indukcyjne. Jest to technika aktywnego śledzenia drogi, która wymaga użycia
przewodu prowadzącego, zasilanego prądem elektrycznym o niskim napięciu i natężeniu oraz

background image

32

wysokiej częstotliwości. Autonomiczne roboty mobilne poruszają się wówczas torami
wyznaczonymi przez przewody elektryczne zagłębione pod podłogą hali o przebiegu
odzwierciedlającym kształt potrzebnej sieci dróg transportowych. Przewód ten po zasileniu
napięciem wytwarza zmienne pole elektromagnetyczne, indukujące napięcia w cewkach
wózka.

Układ regulacji kierunku jazdy dąży do tego, aby napięcia w obydwu cewkach były

zawsze takie same, co występuje wówczas, gdy przewód prowadzący przebiega dokładnie w
ś

rodku między cewkami. Układ steruje wiec ustawieniem skrętnego koła tak, aby zawsze ten

stan utrzymać, powodując w konsekwencji jazdę po zadanym torze.

Wymienione techniki prowadzenia autonomicznych robotów mobilnych nie

zapewniają niestety dokładnego pozycjonowania pojazdu w krytycznych punktach, np.
podczas zatrzymywania w pobliżu miejsc składowania lub stanowisk obróbkowych w celu
przekazania lub pobrania materiałów. W tych miejscach umieszcza się w związku z tym
specjalne „znaczniki" (elektroniczne nadajniki impulsów), które ułatwiają pojazdowi
określenie jego rzeczywistej pozycji i po porównaniu z zapamiętaną w pamięci komputera
pozycją zadaną dokonują odpowiedniej korekty położenia. Innym rozwiązaniem jest
umieszczenie wzdłuż drogi (w odpowiednich punktach) znaków terenowych, utworzonych po
obu stronach linii prowadzącej z bocznych kresek (odchodzących pod kątem prostym od
głównej linii wyznaczającej tor ruchu). Pojazd czyta i interpretuje binarny kod tych kresek
(rys. 13).

Rys. 13. Znaczniki binarne na drodze robota: a) znacznik punktu zatrzymania, b) kod funkcji,

c) kod położenia

Miejsce dokładnego zatrzymania się pojazdu jest zwykle długą metalową płytą na

podłodze. Gdy zbliża się do punktu stopu, włącza się detektor metalu, zwalnia i po
osiągnięciu końca płyty zatrzymuje się. Dokładność zatrzymania wynosi od 0,75 mm do 0,25
mm.

Nawigacja wirtualna - to rodzaj techniki sterowania bez ścieżki prowadzącej. W

pamięci procesora pokładowego pojazdu jest zapamiętana dwuwymiarowa mapa bitowa
ś

wiata zewnętrznego, tzn. hali fabrycznej z zaznaczonymi wszystkimi stałymi obiektami

(przeszkodami). Komputer pojazdu generuje trajektorię ruchu od punktu startowego do celu, a
następnie według niej prowadzi wózek, sterując mechanizmami kierowania i napędu. Podczas
jazdy konieczne jest sprawdzanie zgodności rzeczywistego toru ruchu z wygenerowanym, a
także wykrywanie nieprzewidzianych przeszkód (ludzi, przedmiotów).

Dlatego też nawigacja wirtualna musi być łączona z innymi metodami, umożli-

wiającymi lokalizację położenia pojazdu w hali i wykrywanie przeszkód.

background image

33

Przyrostowa lokalizacja położenia polega na wykorzystaniu sygnałów z

przetworników obrotowo-impulsowych, zainstalowanych na kołach jezdnych i kołach
skrętnych. Znając liczbę impulsów wygenerowanych przez każde koło, komputer sterujący
może zgrubnie określić przemieszczenie wózka w dwóch osiach współrzędnych, czyli w
konsekwencji jego położenie. Obliczenia tego typu umożliwiają bieżące sterowanie wózkiem,
są jednak obarczone błędami, kumulującymi się po każdym przemieszczeniu. Ponadto ten
sposób pomiaru przemieszczenia uniemożliwia wykrywanie nieprzewidzianych przeszkód na
trasie jazdy.

W metodzie lokalizacji optycznej stosuje się kamerę CCD zainstalowaną pod sufitem

hali oraz naniesione znaki optyczne na górnej powierzchni wózka. Komputerowa analiza
obrazu z kamery umożliwia dokładne określenie położenia wózka i przeszkód, warunkiem
jest jednak praca programu rozpoznawania obrazów w czasie rzeczywistym, co wymaga
stosowania bardzo szybkich komputerów.

Lokalizacja na podczerwień i ultradźwiękowa - pojazd jest wyposażony w nadajnik

ś

wiatła podczerwonego lub ultradźwięków i odbiornik sygnałów odbitych (rys. 14).

Autonomiczny robot mobilny określa swoje położenie wzglądem stałych przeszkód,
zapamiętanych w mapie bitowej. Wykrywane są też inne obiekty, co umożliwia zmiany
kursu, zapewniając omijanie nieprzewidzianych przeszkód. Cel musi być widoczny przez
system lokalizacji w linii prostej. Każda zmiana wzorca lub przechodzący człowiek
przerywający promień powoduje zatrzymanie się pojazdu.

Rys. 14. Orientowanie ultradźwiękowe autonomicznych robotów mobilnych

Lokalizacja za pomocą skanera laserowego polega na „omiataniu" przestrzeni wokół

pojazdu promieniem laserowym w zakresie 180° lub 360° z zadaną rozdzielczością, np. 0,5°.
Dalmierz laserowy umożliwia identyfikację położenia robota względem stałych obiektów
zapisanych w mapie bitowej i wykrywanie nieprzewidzianych przeszkód.

Lokalizacja żyroskopowa - robot ma zainstalowany żyroskop pokładowy, który

umożliwia orientowanie się w aktualnej pozycji podczas ruchu.

Zastosowanie jednej lub kilku opisanych metod lokalizacji pojazdu i wykrywania

przeszkód umożliwia korekcje, położenia i następnie wygenerowanie nowej trajektorii ruchu,
uwzględniającej i omijającej nowe obiekty znajdujące się w hali.

Generowanie trajektorii ruchu robota jest najważniejszym zadaniem nawigacji

wirtualnej. W zależności od zakresu dostępnej informacji o otoczeniu robota podczas
planowania ruchu metody planowania dzieli się globalne i lokalne.

Metody globalne to:

- propagacji fali,
- diagramów Woronoia,
- grafu widoczności.

background image

34

W metodach globalnych zakłada się znajomość rozkładu wszystkich przeszkód przed

przystąpieniem do planowania. Zaletą metod globalnych jest (możliwa) optymalność, jej ceną
jest zwielokrotnienie nakładów obliczeniowych i mata odporność na zmiany warunków
początkowych zadania, np. w wyniku nieoczekiwanego pojawienia się przeszkód ruchomych.
Ze względu na dużą czasochłonność metody globalne są stosowane we wstępnym planowaniu
ruchu.

Metody lokalne zapewniają głównie bezkolizyjność ruchu z ewentualną optymalizacją

lokalnej jakości ruchu. Zaletą metod lokalnych jest bardzo szybkie planowanie ruchu, nawet
w trybie czasu rzeczywistego, a wiedza o przeszkodach może być ograniczona do
bezpośredniego otoczenia robota. Zalicza się do nich metody:

- pól potencjałowych,
- elastycznej wstęgi.

Wyróżnia się również planowanie ruchu inspirowane biologicznie, wśród nich metodę

ewolucyjną i wykorzystującą kolonie mrówek jako medium poszukiwań. Godna uwagi jest
również metoda symulowanego odprężenia, nic mająca samodzielnego znaczenia, jednak
nadająca się do wykorzystywania w wielu metodach planowania jako sposób opuszczania
minimów lokalnych.

Metoda propagacji fali

W metodzie propagacji lali zakłada się, że robot mobilny porusza się na płaszczyźnie

w dowolnym kierunku z jednakową łatwością, a więc jest holonomiczny. Działanie metody
polega na podziale dwuwymiarowej przestrzeni konfiguracyjnej robota na elementarne
komórki, zwykle tworzące jednorodną siatkę. Planowanie odbywa się przez przypisanie
każdej komórce znacznika oraz wagi. Znacznikiem „zajęta" opatruje się te komórki, które
odpowiadają obszarom przestrzeni konfiguracyjnej zajętym przez przeszkody (waga = -2),
pozostałym komórkom zaś nadaje się status komórki wolnej (waga = -1). Załóżmy, że roz-
ważany obszar przestrzeni konfiguracyjnej jest spójny i o skończonej liczbie elementarnych
komórek, co automatycznie implikuje rozwiązalność zadania. Status komórki „wypełnionej"
będą miały komórki o wagach nieujemnych. W pierwszej fazie przygotowującej do
właściwego planowania, następuje zapełnienie wagami wszystkich komórek wolnych i
zajętych. Komórce początkowej jest nadawana waga O, jej sąsiadom (o ile nie są komórkami
zajętymi) waga l, ich sąsiadom waga 2 itd. Droga jest wyznaczana przez poszukiwanie wśród
sąsiadów wybranej komórki, nazwijmy ją bieżącą, takiej, która ma wagę o jeden mniejszą. Z
kolei ta komórka staje się bieżącą i proces poszukiwania drogi odbywa się iteracyjnie, aż
będzie znaleziona droga do celu, czyli do komórki inicjującej. Optymalna droga przebiega
przez wszystkie wyznaczone komórki bieżące.

Zastosowanie metody propagacji fal jest ograniczone do środowisk stacjonarnych i

zamkniętych. Podczas implementacji metody ważny jest sposób dyskretyzacji przestrzeni
konfiguracyjnej. Liczba komórek elementarnych powinna być umiarkowana.

Metoda diagramu Woronoia

Metoda diagramu Woronoia jest metodą planowania skrajnie bezpiecznych torów

robotów mobilnych poruszających się na płaszczyźnie. Zwykle bywa wykorzystywana w
ś

rodowisku o niezbyt licznych przeszkodach stacjonarnych. Na podstawie mapy otoczenia

robota, w której znajdują się przeszkody, nanosi się krzywe równoległe do przeszkód. Dla
przeszkód w kształcie wielokątów krzywymi są odcinki lub łuki parabol. Łukom powstałego
grafu są przypisywane wagi równe długościom toru między wierzchołkami mierzonym
wzdłuż linii równoodległych od przeszkód (odległość ta jest zazwyczaj dłuższa od odległości

background image

35

euklidesowej między wierzchołkami). W drugiej fazie planowania jest przeszukiwany
utworzony nieskończony graf, np. wg algorytmu Dijkstry, w celu znalezienia najkrótszej
drogi łączącej wierzchołek początkowy z końcowym. Główną zaletą metody diagramu
Woronoia jest bezpieczeństwo wynikowego toru ruchu, tym bardziej, że informacja o
odległościach od przeszkód (konieczna podczas tworzenia linii równoległych do przeszkód)
może podwyższać wagi niektórych łuków. Jednakże może prowadzić do torów nawet
przesadnie bezpiecznych, a przez to zbyt długich. Do wad metody należy zaliczyć trudność w
uwzględnieniu zmian środowiska, np. w wyniku ruchu przeszkód. Czasem także najkrótsza
droga w grafie niekoniecznie musi być łatwa do realizacji przez poruszającego się robota.

Graf widoczności

W pewnym sensie własności komplementarne do metody diagramu Woronoia ma

metoda bazująca na grafie widoczności. Tym sposobem planuje efektywnie optymalny tor
ruchu robota mobilnego na płaszczyźnie, na której znajdują się jedynie przeszkody w
kształcie wieloboków wypukłych. Tworzony graf konfiguracji powstaje przez łączenie
wierzchołków, których incydencja jest określona na podstawie kryterium widoczności.
Wierzchołkowi początkowemu jest nadawana ocena równa zeru. Wierzchołek docelowy jest
traktowany jako wierzchołek przeszkody. Rozpoczyna się od wierzchołka początkowego.
Bieżący wierzchołek, wybrany na podstawie oceny jego jakości, jest łączony gałęziami z
wierzchołkami przeszkód widocznymi z rozwijalnego wierzchołka. Relacja widoczności
oznacza bezkolizyjność toru między parą wierzchołków, a gałęzi je łączącej jest
przypisywana waga równa długości euklidesowej toru między nimi. Metoda grafu
widoczności jest na tyle efektywna czasowo, że może być stosowana nawet w trybie czasu
rzeczywistego z ruchomymi przeszkodami, o ile tylko mapa otoczenia robota jest
uaktualniana odpowiednio często. Bardzo dobre efekty uzyskuje się w połączeniu z metodą
elastycznej wstęgi.

Metoda pól potencjałowych

Jest to metoda lokalna, niewrażliwa na kształt przeszkód. Zakłada się w niej, że ruch

robota jest wypadkową działających nań sił. Siły pochodzące od przeszkód odpychają robota,
natomiast siły pochodzące od punktu docelowego przyciągają. Siły odpychające powinny
mieć wartość stosunkowo małą, gdy robot jest z dala od przeszkód, i rosnąć praktycznie do
nieskończoności na brzegach przeszkód. Wypadkowa siła nadaje chwilowy kierunek ruchu
robota. W żądanym kroku czasowym ruch w kierunku wyznaczonym siłą wypadkową
przemieszcza robot o stałą i małą odległość. W wielu przypadkach siły wyznacza się na
podstawie modelowania układu robot-przeszkody jako wynik oddziaływania „ładunków
elektrycznych" umieszczonych na robocie, przeszkodach i punkcie docelowym. Ogólnie
zarysowana metoda ma jeden podstawowy mankament - problem z minimami lokalnymi.

Metoda elastycznej wstęgi

Kolejną metodą planowania toru robota mobilnego traktowanego jako punkt

materialny jest metoda elastycznej, wstęgi. Metoda łączy dwa podejścia: metodę ciągłej
deformacji i metodę pól potencjałowych. Dopuszcza ona do wielu inwencji w projekcie
konkretnego planera ruchu. Zadanie dla planera nic polega na znalezieniu bezkolizyjnego toru
łączącego punkty początkowy i końcowy ruchu. ponieważ taki tor jest daną wejściową dla
metody, lecz na znalezieniu takiego odkształcenia toru inicjującego działanie metody, by

background image

36

nowy tor był łatwiejszy do śledzenia przez rzeczywistego robota lub by mógł być
modyfikowany w zależności od ruchomych przeszkód na drodze do robota.

SINAS – system nawigacyjny dla automatycznych robotów serwisowych

Firma SIEMENS, przodująca w dziedzinie sterowań numerycznych, oferuje system

nawigacyjny SIN AS dla niezależnych, mobilnych robotów serwisowych. Jest to system o
budowie modułowej. Pakiet nawigacyjny składa się z następujących komponentów:
sterownika z instalacją, pakietu oprogramowania. skanera laserowego, optycznego żyroskopu
i systemu sensorów ultradźwiękowych.

System nawigacyjny SINAS może współpracować z robotami o różnych

charakterystykach kinematycznych i geometrycznych, do których może być łatwo
konfigurowalny i dopasowany. Dzięki zastosowaniu skanera laserowego o wysokiej
dokładności i optycznego żyroskopu możliwa jest nawigacja w halach o dużej powierzchni.
Sensory ultradźwiękowe umożliwiają określenie minimalnej odległości poruszającego się
pojazdu od ściany, wynoszącej ok. 10 cm. Dzięki tym sensorom system nawigacyjny ma
aktualny obraz pola swojego działania i może planować trasę i generować optymalną ścieżkę
poruszania się.


Bibliografia

1.

Honczarenko J.: Roboty przemysłowe. WNT Warszawa, 2004.

2.

Zasoby Internetu.

3.

Materiału uzyskane dzięki uprzejmości firmy Astor sp. z o. o. w Gdańsku.


Wyszukiwarka

Podobne podstrony:
CHRAPEK,podstawy robotyki, Rozwój robotów
CHRAPEK,podstawy robotyki, Urz dzenia chwytaj ce i g owice technologiczne robotów przemys owych cz 2
CHRAPEK,podstawy robotyki, Przyk ady konstrukcji robotów przemys owych
CHRAPEK,podstawy robotyki, Urz dzenia chwytaj ce i g owice technologiczne robotów przemys owych cz 2
CHRAPEK,podstawy robotyki, Metodyka wprowadzania robotów do przemys u
CHRAPEK,podstawy robotyki, elementy sk adowe i struktura robotów
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy pneumatyczne
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy hydrauliczne
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy elektryczne
CHRAPEK,podstawy robotyki, Roboty przemys owe jako narz dzia

więcej podobnych podstron