CHRAPEK,podstawy robotyki, Sterowanie robotów przemysłowych


PODSTAWY ROBOTYKI
JW 8
Sterowanie robotów przemysłowych
1
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
2
Programowanie robota przemysłowego polega na nauczeniu go cyklu pracy, jaki ma
pózniej 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.
3
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ózniejszego 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,
4
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.
5
Rys. 2. Regulacja poło\enia w zadaniu przestawiania; 1  z przeregulowaniem, 2  bez
przeregulowania, "xz  skok zadanej wartości poło\enia, x(t)  zmiany poło\enia, tr1, tr2 
czasy regulacji,µs  odchyÅ‚ka statyczna regulacji poÅ‚o\enia
W konwencjonalnych zastosowaniach wymaga siÄ™, aby dla dowolnych skokowych
zmian wartości zadanej "xz z zakresu dopuszczalnego, po czasie tr zwanym czasem regulacji,
ró\nica między aktualną. wartością a zadaną xz 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 tr 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 xi(t) a
zadanym xz(t) (rys. 3) nie mo\e co do wartoÅ›ci przekraczać wartoÅ›ci µd.
Rys. 3. Regulacja poło\enia w przypadku nadą\ania; xz(t)  poło\enie zadane, xi(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.
6
Zatrzymajmy się nad problemem określenia sekwencji punktów w przestrzeni. Dla
uproszczenia wezmy 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.
7
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
8
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ózniejszego wykonywania programu.
1.4. Sterowanie wyjść i wejść technologicznych
Najprostsze zadania manipulacyjne (np. zadanie typu wez 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.
9
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łąz 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łąz 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łąz 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 przekazników. Są to układy działające na sygnałach o naturze
mechanicznej, elektrycznej, hydraulicznej, pneumatycznej bądz 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ądz dziurkowanej. W drugim przypadku nie korzysta się ze zródła impulsów
w funkcji czasu, a czynności robota są uzale\nione od czynności w procesie manipulacyjnym.
10
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
11
Roboty z układami o stałym programie (tzw. pick and place, czyli wez 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Ä…dz 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,
12
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.
13
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 przekaznikowej jest realizowany przez połączenia zestyków
elementów wejściowych i przekazników pomocniczych z cewkami przekazników
wyjściowych.
14
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 (przekaznikowego) 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
15
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
Stycznik włączający silnik M2 do opuszczenia
S 3 831,832
chwytaka
Stycznik włączający silnik M2 do podniesienia
S4 S4I.S42
chwytaka
Stycznik włączający silnik M3 do zamknięcia
S5 S5I
chwytaka
S6 S6I Stycznik włączający silnik M3 do otwarcia chwytaka
Kl Kil, K12 Aącznik określający poło\enie wózka w pozycji lewo
Aącznik określający poło\enie wózka w pozycji
K2 K2t,K22
prawo
Aącznik określający poło\enie kolumny w pozycji dół
K.3 K31, K32
nad paletÄ… nr 1
Aącznik określający poło\enie kolumny w pozycji dół
K4 K4 1 , K42
nad paletÄ… nr 1
Aącznik określający poło\enie kolumny w pozycji na
L _K5 K5I.K52
górze
Aącznik określającego obecność przedmiotu na
K6 K61
palecie nr 1
Aącznik określający obecność przedmiotu na palecie
K7 K71
nr 2
K8 K81,K82, KX3 Aącznik określający stan chwytaka (otwarty)
K.9 K9I.K92, K93 Aą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
16
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
17
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 przekaznikowej 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).
18
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 wyraznie 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
19
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ądz 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).
20
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).
21
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.
22
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
23
przede wszystkim do wykorzystania w elastycznych systemach produkcyjnych bÄ…dz
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Ä…dz wydzielony sterownik PLC (patrz poprzedni
punkt), bądz specjalizowany układ przekaznikowo-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ęz 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
24
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:
25
- 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:
DOKAADNIE, 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 WACZ, WYJÅšCIE WYACZ,
TEST CZEKAJ, TEST KONIEC, TEST SKOK i CZEKAJ.
Instrukcja DOKAADNIE  Przejdz 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Ä… DOKAADNIE 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
DOKAADNIE.
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 DOKAADNIE, jest ogólnie kilkakrotnie łamaną krzywą. Stąd te\
instrukcji DOKAADNIE u\ywa się jedynie do nieskomplikowanych przemieszczeń, gdy nie
jest wymagany ruch chwytaka po zdefiniowanej drodze (np. po prostej).
Instrukcja ZGRUBNIE -  Przejdz 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Ä™ DOKAADNIE, z tÄ…
ró\nicą, \e instrukcję ZGRUBNIE uwa\a się za wykonaną w chwili, kiedy następuje
26
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 DOKAADNIE.
Instrukcja LINIOWO -  Przejdz 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 DOKAADNIE 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.
27
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 -  Przeprowadz 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 WACZ/WYJŚCIE WYACZ -  Włącz wyjście, określone
przez argument instrukcji"/,,Wyłącz wyjście, określone przez argument instrukcji".
Para instrukcji WYJÅšCIE WACZ/WYJÅšCIE WYACZ 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
WACZ/WYJŚCIE WYACZ 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
28
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 DOKAADNIE 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
29
0110 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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 DOKAADNIE 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.
30
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
31
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.
32
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 ultradzwiękowa - pojazd jest wyposa\ony w nadajnik
światła podczerwonego lub ultradzwię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 ultradzwię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.
33
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łaszczyznie
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łaszczyznie. 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. Aukom 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
34
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łaszczyznie, 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
35
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 ultradzwię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 ultradzwię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.
36


Wyszukiwarka

Podobne podstrony:
CHRAPEK,podstawy robotyki, Przyk?y konstrukcji robotów przemys owych
CHRAPEK,podstawy robotyki, Definicje i klasyfikacja robotów przemysłowych
CHRAPEK,podstawy robotyki, Metodyka wprowadzania robotów do przemysłu
CHRAPEK,podstawy robotyki, Urz dzenia chwytaj? i g owice technologiczne robotów przemys owych cz 2
CHRAPEK,podstawy robotyki, elementy sk?owe i struktura robotów
CHRAPEK,podstawy robotyki, Roboty przemysłowe jako narzędzia
(STEROWANIE ROBOTÓW PRZEMYSLOWYCH)
9013901 kontroler robotow przemyslowych
PSWE W7 Podstawy teorii sterowania
(Sterowanie robotów odpowiedzi)
Podstawy Robotyki
Podstawy Robotyki PR W 31 33
wer 7 Podstawy Robotyki skrypt 13 Kopiuj
Wykład 10 Podstawowe algorytmy sterowania

więcej podobnych podstron