1
PODSTAWY ROBOTYKI
JW 8
Sterowanie robotów przemysłowych
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
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.
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,
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.
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.
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.
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
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.
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.
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
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,
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) są
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.
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.
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
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
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
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).
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
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).
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).
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.
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
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
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:
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
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.
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
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
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.
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
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.
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.
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
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
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.