background image

 

 
 

PODSTAWY  ROBOTYKI  

 

JW 8a 

background image

 

Układy sterowania robotów przemysłowych 

 

Układ sterowania robota przemysłowego powinien zapewniać współdziałanie wszyst-

kich  jego  zespołów  konstrukcyjnych  (układów  napędowych,  sensorycznych,  efektora),  pro-
gramowanie pracy i niezawodne wykonanie zaprogramowanych czynności. 

Omawiając układy sterowania 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 więcej robotów, obrabiarki, przenośniki, pojemniki na części, szafy 
sterownicze itp. Na wyŜszym poziomie stanowiska czy systemy mogą być połączone w linie i 
sieci produkcyjne obejmujące całą fabrykę w taki sposób, Ŝeby komputer centralny mógł ste-
rować  całym  przebiegiem  produkcji  danego  zakładu.  Stąd  sterowanie  robotów  przemysło-
wych  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. Robot jako obiekt sterowania 

 
 

W teorii regulacji przez sterowanie rozumiemy automatyczną realizację ogółu oddzia-

ływań, ukierunkowanych na podtrzymanie lub polepszenie działania sterowanego obiektu w 
odniesieniu do celu sterowania. 
 

Robot jako obiekt sterowania jest skomplikowanym systemem elektromechanicznym, 

złoŜonym z wieloczłonowej konstrukcji mechanicznej (mechanizmu roboczego), urządzenia 
wykonawczego i elektronicznego układu sterującego (rys. 1). Mechanizm roboczy bezpośred-
nio oddziałuje na obiekt lub środowisko. Urządzenie wykonawcze składa się ze zbioru urzą-
dzeń napędowych z odpowiednimi czujnikami sprzęŜenia zwrotnego oraz elementami 
wzmacniającymi, przekształcającymi i korygującymi.  
 

 

Rys. 1. Schemat funkcjonalny układu wykonawczego sterowania robotem 

 

 

background image

 

Zadanie sterowania robotem polega na spowodowaniu takich działań silników wyko-

nawczych,  które  zapewnią  ruch  chwytaka  urządzenia  wykonawczego  po  zadanym  torze  z 
zadaną dokładnością. 

 

2. 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. ustale-
nie 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 da-
lej programowaniem, zaleŜy od występowania i stopnia złoŜoności zadań dal-
szych 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  ko-
ordynacja pomiędzy ruchami wykonywanymi jednocześnie w dwóch lub wię-
cej  osiach;  zadanie  to  będzie  określone  jako  sterowanie  w  osiach  pozycjono-
wanych płynnie lub numerycznie. 

4.

 

Sterowanie i koordynacja podsystemów składowych stanowiska pracy robota obejmu-
jąca: 

-

 

oczekiwanie  na  spełnienie  warunków  koniecznych  do  zakończenia  określone-
go 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ługiwa-
nego 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 identycz-
nie jak napędy dwustanowe, np. sygnalizatory dwustanowe, inicjatory czynno-
ś

ci towarzyszących, napędy urządzeń zewnętrznych 

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  –  wybór  jednego  z  dopuszczalnych  wariantów  dalszego  funkcjo-
nowania.  Zadanie  to  będzie  nazywane  jako  rozgałęzienia  programu  lub  kolejności 
dalszego działania.
 

 
 
2.1. Reagowanie na działalność operatora 
 
 

Programowanie  robota  przemysłowego  polega  na  nauczaniu  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 przestrzenie 
roboczej do drugiego. Ruchy, które robot musi przy tym wykonać, są często nauczane przez 

background image

 

pokazanie mu odpowiednich przemieszczeń i zapisanie ich do pamięci jego układu sterowa-
nia. Jednak są takŜe inne części programu, które nie opisują  ruchu  robota. Te elementy  pro-
gramu  obejmują  interpretację  danych  pochodzących  od  czujników,  uruchamianie  efektora, 
którym  jest  chwytak  lub  narzędzie,  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. 2 
 

 

 

Rys. 2. Klasyfikacja metod programowania robotów przemysłowych 

 
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  wielo-
ogranicznikowego,  np.  wielolistwowego  lub  bębnowego  układu  zderzakowego,  dla 
kilku programów 

-

 

pośrednio w układzie sterowania, w którym wartości przemieszczeń zostają nastawio-
ne ręcznie za pomocą zadajników wartości. 

W  pierwszym  przypadku,  osiągnięcie  wartości  granicznej  jest  sygnalizowane  układowi  ste-
rowania przez dwustanowy przetwornik pomiarowy przemieszczenia, odpowiednio powiąza-
ny  konstrukcyjnie  z  połoŜeniem  ogranicznika  ruchu.  W  drugim  przypadku  natomiast,  układ 
sterowania wykorzystuje relację sygnału układu pomiarowego przemieszczeń i sygnałów ge-
nerowanych przez zadajnik wartości. 
 

Układy  sterowania  programowane  ręcznie,  zwane  czasem  układami  z  programowa-

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

Podstawową, najbardziej rozpowszechnioną metodą programowania robotów jest pro-

gramowanie przez nauczanie. 
 

Układy sterowania programowane przez nauczanie wymagają od programisty ręczne-

go  lub  mechanicznego  przemieszczania  manipulatora  wzdłuŜ Ŝądanego  toru  i  wprowadzania 
tego toru do pamięci układu sterowania. W literaturze metoda ta określana jest 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: 

background image

 

-

 

programowanie dyskretne 

-

 

programowanie ciągłe 

Podczas  programowania  dyskretnego  wykorzystuje  się  sterownik  ręczny  (TP  –  Teach  Pen-
dant)  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 przemiesz-
czeń manipulatora od punktu do punktu (PTP – Point To Point), które są właśnie programo-
wane  tą  metodą.  Dotyczy  to  na  przykład  takich  zastosowań,  jak  przemieszczanie  części,  za-
kładanie przedmiotów na maszyny technologiczne i ich wyjmowanie po obróbce oraz zgrze-
wanie punktowe. 
 

 Programowanie  ciągłe  (CP  –  Continuous  Path)  jest  wykorzystywane  tam,  gdzie  są 

wymagane płynne ruchy ramienia robota wzdłuŜ toru będącego skomplikowaną krzywą. Naj-
częściej spotykanym przykładem tego rodzaju zastosowania robota jest malowanie natrysko-
we, 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  malo-
wanej  powierzchni.  Podczas  programowania  ciągłego  programista  ręcznie  przemieszcza  ra-
mię 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ądzenia (fantom) zastę-
pujące rzeczywistego robota. To urządzenie charakteryzuje się taką samą geometrią jak robot, 
lecz jest łatwiejsze w manipulowaniu podczas programowania. Przycisk nauczania jest zwy-
kle umieszczony w pobliŜu kiści robota (lub modelu). Przycisk ten jest wciśnięty, gdy są wy-
konywane ruchy manipulatora, które mają stać się częścią programowanego cyklu pracy. Po-
zwala to programiście na wykonanie 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ą  zapisy-
wane w pamięci układu sterowania. 
 

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

przebiegu  programu.  Tryb  uczenia  wykorzystywany  jest  do  zaprogramowania  robota,  a  tryb 
przebiegu do wykonania programu. 
 
2.2. Sterowanie w osiach dyskretnych 
 
 

Grupa  urządzeń  dwustanowych  obejmuje  zderzakowo  pozycjonowane  zespoły  ruchu 

jednostki  kinematycznej  robota  oraz  większość  stosowanych  obecnie  chwytaków.  Z  punktu 
widzenia  układu  sterowania  analogicznie  funkcjonuje  cześć  urządzeń  zewnętrznych,  stano-
wiących  elementy  procesu  obsługiwanego  przez  maszynę  lub  współpracujące  z  nią  przy  jej 
obsłudze. Sygnalizatory stanu pracy robota lub obsługiwanego procesu są takŜe urządzeniami 
dwustanowymi. 
 

Niektóre  urządzenia  maszyny  manipulacyjnej  lub  urządzenia  technologiczne  mogą 

być traktowane jako zespoły urządzeń dwustanowych. Typowym przykładem jest numerycz-
nie  pozycjonowany  zespół  ruchu  z  słownikowym  napędem  hydraulicznym  i  trójpołoŜenio-
wym zaworem rozdzielającym, 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 dwóm urządzeniom dwustanowym. 
 

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

bilnych połoŜeniach są trywialne i sprowadzają się do przedstawionych juŜ zadań przełącza-
nia urządzeń dwustanowych, Kształtowanie charakterystyk ruchu takich zespołów nie wykra-
cza z reguły poza ograniczanie maksymalnych wartości prędkości i przyspieszeń i dokonywa-

background image

 

ne jest na ogół w samym układzie napędowym nie powodując wzrostu złoŜoności układu ste-
rowania. 
 

Do  sterowania  kaŜdego  urządzenia  dwustanowego  wystarcza  pojedynczy  sygnał  bi-

narny:  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 kolej-
nych  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 dodatko-
wym  zabiegom,  np.  zabezpieczaniu  przed  wprowadzeniem  przez  nie  zakłóceń  z  urządzeń 
zewnętrznych do układu (optoizolacja). 
 
2.3. Sterowanie w osiach pozycjonowanych płynnie 
 

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

bardziej  złoŜone  niŜ  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  za-
kresu przemieszczeń. Napędy spełniające to wymaganie są nazywane układami programowej 
lub nadąŜnej regulacji połoŜenia. Cechą charakterystyczną większości 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.  3)  jest  typowe  dla  pozycjonowanych  zespołów  ruchu  jednostek  kinema-
tycznych 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. 
 

 

 

Rys. 3. Regulacja połoŜenia w zadaniu przestawiania; 1 – z przeregulowaniem, 2 – bez prze-

regulowania, x

– połoŜenie zadane, 

x

– skok zadanej wartości połoŜenia, x

i

(t) – zmiany 

połoŜenia, tr1, tr2 – czasy regulacji, 

ε

s

 – odchyłka statyczna regulacji połoŜenia 

 
W  konwencjonalnych  zastosowaniach  wymaga  się  (rys.  3),  aby  dla  dowolnych  sko-

kowych zmian wartości zadanej 

x

z

, z zakresu dopuszczalnego, po czasie t, zwanym czasem 

regulacji, róŜnica między wartością aktualną x

i

(t), a zadaną x

z

 nie przekraczała, co do warto-

background image

 

ś

ci  bezwzględnej  pewnej  ustalonej  wartości 

ε

s

,  zwanej  odchyłką  statyczną  regulacji  połoŜe-

nia. 

Ze  względu  na  współpracę  maszyny  z  innymi  urządzeniami  technologicznymi  prze-

stawienia  te  powinny  być  realizowane  aperiodycznie  bez  przeregulowania  (przebieg  2  na 
rys.3).  Dla  zespołów  ruchu  maszyn  manipulacyjnych  zamiast  czasu  regulacji  t,  określa  się 
zwykle dopuszczalną największą prędkość ruchu v

max

„ = x

max

. Jedynie przy zadawaniu skoor-

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

NadąŜanie  jest  charakterystyczne  dla  zespołów  ruchu  jednostek  kinematycznych  ma-

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

ε

oraz 

dopuszczalna  prędkość  zmian  wartości  zadanej.  Oznacza  to,  ze  dla  dowolnych  dopuszczal-
nych zamian  wartości zadanych róŜnica 

ε

(t) między połoŜeniem aktualnym x

i

 (t) a zadanym 

x

(t) (rys. 4) nie moŜe co do wartości bezwzględnej przekraczać wartości 

ε

d

 

 

 

 

Rys. 4. Regulacja połoŜenia w przypadku nadąŜania: x

z

 (t) – zmiana wartości zadanej połoŜe-

nia, x

i

 (t) – zmiany połoŜenia, 

ε

(t) – odchyłka regulacji 

 

PoniewaŜ robot wykonuje ruchy w kilku osiach połączonych ze sobą, uzyskanie zada-

nej drogi w przestrzeni wymaga, aby robot przemieszczał swoje ramiona przez róŜne połoŜe-
nia przegubów. Dla robota o sześciu stopniach swobody kaŜdy punkt toru jest opisany za po-
mocą  sześciu  wartości  współrzędnych  KaŜda  wartość  odpowiada  połoŜeniu  jednego  przegu-
bu.  JeŜeli  myślimy  o  punkcie  w  przestrzeni  w  programie  robota  jako  o  połoŜeniu  efektora, 
istnieje zwykle więcej niŜ jeden układ ramion robota umoŜliwiający osiągnięcie tego punktu  

Biorąc powyŜsze pod uwagę, naleŜy stwierdzić, Ŝe specyfikacja punktu w przestrzeni 

nie definiuje jednoznacznie współrzędnych przegubów robota. Odwrotnie jednak, specyfika-
cja współrzędnych przegubów robota określa tytko jeden punkt w przestrzeni, który odpowia-
da temu zespołowi wartości współrzędnych. Z tego względu sterowanie robota (koordynację 
ruchów napędów) moŜna określić jako sekwencję współrzędnych (połoŜeń) przegubów, a nie 
jako drogę w przestrzeni. 

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 

background image

 

osiach i o dwóch punktach moŜliwych do zaprogramowania na kaŜdej osi. Rysunek 5 pokazu-
je cztery moŜliwe do osiągnięcia punkty w prostokątnej przestrzeni roboczej robota. 

 

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

moŜliwych do zaprogramowania na kaŜdej z osi (wielkości a, b, c omówiono w tekście) 

 

Pojawia się pytanie: jaką drogę wybierze robot? Są cztery moŜliwości: 

1.

 

Ruch  w  obu  osiach  odbywać  się  będzie  równocześnie  w  jednakowym  czasie  i  wtedy 
efektor będzie przemieszczał się po przekątnej a. 

2.

 

Ruch w obu osiach zaczynać się będzie równocześnie z jednakową prędkością w kaŜ-
dej osi i wtedy efektor będzie przemieszczał się po linii łamanej b- c, której kształt bę-
dzie zaleŜny od drogi w kaŜdej z osi 

3.

 

W  danym  czasie  ruch  będzie  odbywać  się  tylko  w  jednej  osi  i  efektor  będzie  prze-
mieszczał się po obwodzie prostokąta przez punkt 1,2. 

4.

 

W  danym  czasie  ruch  odbywać  będzie  się  tylko  w  jednej  osi  i  efektor  będzie  prze-
mieszczał się po obwodzie prostokąta przez punkt 2,1. 

Pytanie o to, którą drogę wybierze robot, nie jest wcale trywialne,  gdyŜ pomiędzy punktami 
1,1 i 2,2 mogą znajdować się przeszkody. Dla programisty znajomość odpowiedzi na to pyta-
nie  jest  konieczna  w  celu  prawidłowego  zaplanowania  trajektorii.  Niestety  nie  ma  reguły, 
która spełniałyby wszystkie układy 

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

danie  przestawiania  i  programowanych  najczęściej  ręcznie,  przemieszczenia  mogą  odbywać 
się w obu osiach równocześnie i z jednakową prędkością (linia łamana b- c na rys. 5) lub po 
kolei.  Wtedy  zwykle  jako  pierwsze  odbywają  się  przemieszczenia    w  osiach  oznaczonych 
niŜszymi numerami. Czyli w przykładzie bardziej prawdopodobna byłaby droga przez punkt 
1,2. Jednak w przemyśle nie ma w tym przypadku Ŝadnych standardów. 

Roboty z układami sterowania współpracującymi z impulsowymi napędami serwome-

chanizmowymi,  programowane  metodą  uczenia,  najczęściej  przemieszczają  się  we  wszyst-
kich  osiach  równocześnie,  czyli  w  podanym  przykładzie  efektor  poruszałby  się  pomiędzy 
punktami 1,1 i 2,2 po przekątnej a. 

Proces generowania drogi nazywa się interpolacją. Istnieją róŜne schematy interpola-

cji, z których robot moŜe korzystać przy przemieszczaniu się z jednego punktu do drugiego. 
W  wielu  robotach  programista  moŜe  określić,  który  schemat  interpolacyjny  chce  stosować. 
MoŜliwości są następujące: 

-

 

interpolacja przegubowa 

-

 

interpolacja prostoliniowa 

background image

 

-

 

interpolacja kołowa 

-

 

nieregularne gładkie przemieszczenia (programowanie przez ręczne obwiedzenie toru) 

 

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  realizowanego  dla  kaŜdego 
przegubu  Bazując na znajomości czasu ruchu i  wartości przemieszczeń  wymaganych dla in-
nych 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ę równocześnie. 
Dla  wielu  robotów  interpolacja  przegubowa  jest  standardową,  procedurą  wykorzystywaną 
przez  układ  sterowania.  Oznacza  to,  Ŝe  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 

pomiędzy  dwoma  punktami  określonymi  w  programie  (co  odpowiada  prostej  a  na  rys.  5)  i 
następnie generuje wewnętrzne punkty blisko tego toru, jak to jest tylko moŜliwe. Tor wyni-
kowy  jest  aproksymacją  linii  prostej.  Dokładność  aproksymacji  zaleŜy  od  liczby  punktów  i 
przy większej liczbie punktów adresowalnych aproksymacja jest dokładniejsza. 
W przypadku robota kartezjańskiego, który ma tylko przeguby (pary kinematyczne) liniowe, 
interpolacja  przegubowa  pokrywa  się  z  interpolacją  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  ro-

boczej robota. Wykonywane jest to najczęściej poprzez specyfikację trzech punktów leŜących 
na  obwodzie  tego  okręgu.  Układ  sterowania  następnie  tworzy  aproksymacje  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  prostoli-
niowych.  Stąd  interpolacja  kołowa  tworzy  liniową  aproksymację  okręgu.  JeŜeli  siatka  punk-
tów adresowalnych jest wystarczająco gęsta, liniowa aproksymacja wygląda tak, jakby to był 
okrąg.  Programowanie  interpolacji  kołowej  jest  łatwiejsze  przy  uŜyciu  tekstowych  języków 
programowania niŜ technikami uczenia. 
 

W programowaniu przez obwiedzenie toru, gdy programista przemieszcza kiść mani-

pulatora,  aby  nauczyć  go  np.  malowania  natryskowego  lub  spawania  łukowego,  przemiesz-
czenia zwykle składają się z gładkich odcinków ruchu. Te odcinki są czasem w przybliŜeniu 
proste, czasem zakrzywione (lecz nie koniecznie kołowo), często określane mianem nieregu-
larnych  gładkich  ruchów  (irregular  smooth  motions).  
Proces  interpolacyjny  mający  na  celu 
ich  osiągniecie  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 programo-
wania. Interpolowana trajektoria moŜe składać się z tysięcy punktów, które robot musi odtwo-
rzyć podczas późniejszego wykonywania programu. 
 
2.4. Sterowanie wejść technologicznych 
 

background image

 

10 

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

nywane  w  ustalonym  a  priori  rytmie  czasowym,  tzn.  w  układzie  otwartym,  czyli  procesowo 
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 jego pracy z działaniem współpracujących maszyn i  przebiegiem obsłu-
giwanego przezeń 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łania  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. Jego 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 z po-
szczególnych stanów pracy robota i maszyny

 

moŜe  być dokonywane w trakcie programowa-

nia. 

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

bota  lub  obsługiwanej  maszyny  przez  określony  czas,  np.  w  celu  rozpoczynania  kolejnego 
stanu pracy z określonym odstępem czasowym, gwarantującym zakończenie zadań stanu po-
przedniego w  warunkach nie kontrolowania tego  zakończenia. Dla układu sterowania jest to 
równieŜ  zadanie  oczekiwania  na  warunek  -  na  sygnał  binarny  potwierdzający  odmierzenie 
zaprogramowanie czasu. 
 
2.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   d z i a ł a n i a robotów przemysłowych: 

-

 

programy  liniowe,  w  których  obowiązuje  stały  porządek  następowania  po  sobie  po-
szczegó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ść ta 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  pro-

gramu  robota  na  jedną  lub  więcej  gałęzi.  Rozgałęzienie  pozwala  podzielić  program  na  wy-
godne 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ń pozwala identyfi-
kować  lub  oznaczać  podprogramy  za  pomocą  jednej  z  wcześniej  ustalonych  grup  nazw. 
Większość  sterowników  pozwala  uŜytkownikowi  na  określenie,  czy  sygnał  powinien  prze-
rwać  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. 

background image

 

11 

Gałąź  błędów  jest  wywoływana,  gdy  sygnał  wejściowy  wskazuje,  Ŝe  nastąpiło  nie-

normalne  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    dla  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  środki.  Powszechnie  wykonywane  jest  to  przez  wykorzystanie  zewnętrznych 
sygnałów pochodzących 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ń. 
 

3. Klasyfikacja układów sterowania 

 

RóŜnorodność zadań spełnianych, czy wymaganych do spełnienia przez układy stero-

wania robotów wskazuje na duŜą róŜnorodność rozwiązań systemowych i technicznych tych 
układów. 

Klasyfikację układów sterowania robotów przemysłowych przedstawiono na rys. 6 

 

 

Rys. 6. Klasyfikacja sterowania robotów przemysłowych 

 

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

opierające  się  na  zasadach  działania  przekaźników.  Są  to  układy  działające  na  sygnałach  o 
naturze  mechanicznej,  elektrycznej,  hydrauliczne  bądź  kombinowanej.  W  ogólności  moŜna 
wyróŜnić  sterowanie  zaleŜne  da  czasu  i  sterowanie  według  zadanych  czynności.  W  pierw-
szym  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.  Ten  sposób  ste-
rowania jest stosowany częściej, gdyŜ zapewnia lepsze współdziałanie robota ze współpracu-
jącymi z nim urządzeniami. 

Z punktu widzenia sposobu przemieszczania ramion robota, a więc typu programowa-

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

background image

 

12 

-

 

sterowanie punktowe, w literaturze określane skrótem PTP (Point To Point) 

-

 

sterowanie ciągłe w literaturze znane jako CP (Continuous Path). 

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

-

 

analogowe 

-

 

numeryczne 

Według sposobu programowania układy sterowania dzieli się na układy: 

-

 

o stałym programie 

-

 

układy programowane 

Roboty z układami o stałym programie (tzw. pick and place, czyli weź i  połóŜ) wyko-

nują  czynności  według  programu  określonego  samą  konstrukcją  układu  sterującego.  Stałe 
programy  moŜna  wymienić  stosownie  do  wymagań  uŜytkownika  robota  przemysłowego. 
Wykonywanie czynności robota według zaprogramowanej kolejności zapewnia się przez do-
konanie  zapisu  na  odpowiednim  nośniku  informacji.  Poprzednio  uŜywanymi  nośnikami  in-
formacji  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  ste-

rowania  o  strukturze  komputerowej.  Rozwój  technologii  scalonych  monolitycznie  układów 
półprzewodnikowych  doprowadził  we  wczesnych  latach  siedemdziesiątych  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.  Algo-
rytmy funkcjonowania tych zespołów zaleŜą nie tylko od ich konstrukcji i sposobu połączenia 
z systemem, lecz równieŜ od ustaleń dokonanych programowo. 
 

4. Układy sterowania teleoperatorów 

 

Układy  sterowania  teleoperatorów,  w  których  człowiek  stanowi  jeden  z  elementów 

procesu  sterowania,  ze  względu  na  sposób  realizacji  zamierzeń  operatora  moŜna  sklasyfiko-
wać na: 

-

 

przyciskowe 

-

 

kopiujące zadawaną pozycję 

-

 

kopiujące zadawaną pozycją z siłowym sprzęŜeniem zwrotnym 

-

 

 bioelektryczne. 

 

Sterowanie  przyciskowe  jest  zbliŜone  do  programowania  dyskretnego  robotów,  gdy 

wykorzystuje się sterownik ręczny z przyciskami do uruchamiania silników wykonawczych, 
w  celu  mechanicznego  prowadzenia  efektora  przez  szereg  punktów  w  przestrzeni.  Przy  ste-
rowaniu 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ądze-

niem  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  joy-
stickiem jest jednakŜe dla operatora trudniejsze i nie zapewnia duŜej dokładności). Ruchy te 
są kopiowane następnie przez układ wykonawczy teleoperatora. Liczba odpowiednich ruchów 
elementów  urządzenia  sterującego  jest  równa  liczbie  ruchów  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 

background image

 

13 

efektora jest proporcjonalny do wektora odchylenia od połoŜenia zerowego urządzenia stero-
wanego 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 znacz-

nym  udoskonaleniem.  Informacja  zwrotna  o  siłach  i  momentach  w  układzie  wykonawczym, 
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 moŜ-
liwość reagowania na  gwałtowny  wzrost obciąŜenia, uderzenie, błąd podczas sterowania- co 
zabezpiecza jednostkę kinematyczną teleoperatora przed złamaniem lub zgięciem. 

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

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

5. Programowalne sterowniki logiczne PLC 

 

Programowalne  sterowniki  logiczne  PLC  (ang.  Programmable  Logic  Controller)  są 

przeznaczone  głownie  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  stero-
wania  stanowiska  pracy,  a  programowalność  –  łatwe  przystosowanie  do  kaŜdego  nowego 
zadania (rys. 7) 

 

 

Rys. 7. Struktura sterownika PLC 

 
 
 
 

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

zapewnia prawidłowy przebieg ruchów i czynności poprzez włączanie i wyłączanie działania 
elementów  wykonawczych.  Układy  te  sterując  włączaniem  i  wyłączaniem  poszczególnych 

background image

 

14 

członów  wykonawczych  rozwiązują  odpowiednie  równania  logiczne  wprowadzone  do  ich 
pamięci za pomocą programu. 
System PLC, którego strukturę pokazano na rys. 7, 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  obiektem  (robotem,  urządzeniem  pomocniczym)  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 sygna-
lizującymi stan obiektu (lampki, diody świecące, głośniki itd.). W pamięci programu zestawia 
się  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źni-
kowej  jest  realizowany  przez  połączenia  zestyków  elementów  wejściowych,  przekaźników 
pomocniczych  wyjściowych  z  cewkami  przekaźników  wyjściowych.  Wszystkie  połączenia, 
tworzące  program  sterowania  w  przekaźnikowej  wersji  układu,  są  zastąpione  dwoma  rodza-
jami instrukcji: 

-

 

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

-

 

instrukcjami wykonawczymi włączania i wyłączania wyjść. 

KaŜdy  stan  określonego  wyjścia  musi  być  zaprogramowany  w  formie  zdania  logicz-

nego.  Instrukcje programu sterowania są odczytywane przez jednostkę centralną i w niej de-
kodowane  instrukcje  sprawdzania  zmiennych  wejściowych  i  wyjściowych  są  kierowane  do 
jednostki  logicznej,  w  której  informacje  o  wzajemnym  powiązaniu  zmiennych.  Np

jako  ilo-

czynu logicznego lub sumy logicznej, powodują wykonanie odpowiednich działań. 

Systemy  sterowania  programowane  połączeniowo  na  ogół  pozwalają  realizować  w 

kaŜdej  chwili  wszystkie  zaprogramowane  połączenia,  natomiast  układy  programowane  pa-
mięciowo mogą w danej chwili czasowej wykonywać tylko jedną operacje - wynika to z sze-
regowej zasady pracy. Przejście do wykonywania następnej instrukcji odbywa się niezaleŜnie 
od wyniku instrukcji poprzedniej. Po wykonaniu ostatniej instrukcji następuje ponowny (cy-
kliczny)  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  (rzędu  2-10  ms  dla  1000  instrukcji),  proces  sterowany  jest 
tak, jak gdyby kolejne (w rzeczywistości szeregowo wykonywane instrukcje) były realizowa-
ne jednocześnie. 

Sterowniki PLC mają zwykle budowę modułową i istnieje moŜliwość dobierania okre-

ś

lonej konfiguracji układu w zaleŜności od wymagań uŜytkownika. 

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

dziesią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ść i wyjść. drugiej strony 
rozwój  techniki  mikroprocesorowej  umoŜliwia  budowę  układów  o  bardziej  złoŜonych  funk-
cjach, 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  naj-

liczniej  reprezentowana  na  rynkach  światowych  W  grupie  tej  występuje  wyraźnie  zróŜnico-
wanie funkcji realizowanych przez sterowniki oraz stopni rozbudowy sprzętu programujące-
go. 

background image

 

15 

Większość układów ogranicza się do podstawowych funkcji, logicznych, czasowych i 

licznikowych. Dla tych układów przeznaczone są tzw. programatory walizkowe. Dla sterow-
ników, które obok funkcji podstawowych mogą realizować działania arytmetyczne, mają wej-
ś

cia i wyjęcia CD oraz analogowe, programowaną regulację PID oraz funkcje sterowania sil-

nikiem  krokowym,  są  przeznaczone  stanowiska  programowania  wyposaŜone  w  monitory 
ekranowe oraz urządzenia umoŜliwiające automatyczne sporządzanie dokumentacji technicz-
nej, stanowiska te są budowane z wykorzystaniem mikro- lub minikomputera  Bardzo często 
te same sterowniki mogą być łączone zamiennie z programatorami walizkowymi lub stanowi-
skami do programowania, umoŜliwiając dobór sprzętu do konkretnego zadania. 

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

staw  instrukcji  umoŜliwiających  zamianę  na  program  zadania  postawionego  w  formie  sche-
matu ze stykowego lub schematu narysowanego  przy uŜyciu symboli funktorów logicznych. 
RóŜnice  są  związane  z  zakresem  funkcji  dodatkowych  realizowanych  przez  sterownik.  Sys-
temy  wyposaŜone  w  proste  programatory  wymagają  tworzenia  programu  w  postaci  mnemo-
nicznych rozkazów opisujących schemat ze stykowy bądź logiczny. Programatory z monito-
rami ekranowymi umoŜliwiają bezpośrednie tworzenie schematu. NiezaleŜnie od stopnia roz-
budowy  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,  EAROM).  MoŜliwości  dodatkowe,  typu  wymuszanie  stanów 

wejść/wyjść, blokowanie fragmentów programu, krokowe uruchamianie programu mają duŜe 
znaczenie przy testowaniu programu. Wydruki programu, listy adresowej, schematów ze sty-
kowych, sieci logicznych zwalniają od ręcznego wykonywania dokumentacji. 

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

wzroście zastosowań układów PLC. Konstruktorzy tych układów połoŜyli bowiem nacisk na 
to, aby  oprócz prostoty ich stosowania przez projektantów przyzwyczajonych do konwencjo-
nalnych  układów  sterowania  wykorzystać  moŜliwości  dodatkowe,  wynikające  z  komputero-
wej struktury. Niektóre układy mają moŜliwość bezpośredniej współpracy z innymi urządze-
niami  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 PLC jako najniŜszego ogni-
wa w łańcuchu sterowania, zapewniającego powiązanie pracy robota z komputerowym stero-
waniem wyŜszego poziomu. 
 

6. Układy sterowania numerycznego komputerowego 

 

Jak juŜ wcześniej wspomniano, najnowocześniejszymi numerycznymi systemami ste-

rowania robotów są układy sterowania o strukturze komputerowej CNC (Computer Numerical 
Control
)Naturalną drogą budowy sterowań CNC stało się wykorzystanie układów mikropro-
cesorowych. Układy te są „otwarte" na nowe funkcje sterowania, które mogą być realizowane 
przez odpowiednie oprogramowanie systemowe (software). 
 
 
 
6.1. Architektura systemu mikroprocesorowego 

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

systemu. Powinna uwzględniać nie tylko wymagania funkcjonalne, lecz równieŜ stan obecny 

background image

 

16 

oraz tendencje rozwojowe techniki cyfrowej. Przykładową architekturę mikroprocesorowych 
układów sterowania CNC robotów przemysłowych przedstawia rys. 8. 
Mikroprocesorowe sterowanie robotów ma następujące zalety: 

-

 

łatwe  i  szybkie  wprowadzanie,  poprawianie,  wymienianie  i  przechowywanie  progra-
mów pracy robota. 

-

 

dla tego samego układu sterowania moŜna zrealizować róŜne warianty sterowań CNC 
przy  pomocy  róŜnych  programów  (np.  róŜne  roboty  mogą  mieć  ten  sam  układ  stero-
wania, a realizować mogą róŜne warianty strategii sterowania). 

Istnieje wiele moŜliwości wprowadzania i wyprowadzania danych jak przy uŜyciu taśmy ma-
gnetycznej  dyskietek,  dysku  twardego,  sieci  komputerowych  (łatwość  komunikowania  się  z 
innymi sterowaniami). 

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

jest  welomikroprocesorowa  struktura  mieszana  składająca  się  z  mikroprocesorów  8  i  16-
bitowych (dzisiaj 16- i 32-bitowych). Jest to jak się wydaje, konfiguracja szczególnie poŜąda-
na w wysoce niezawodnych systemach sterowania robotami. Mikroprocesory 8-bitowe mogą 
bowiem  pełnić  rolę  układów  sterowania  wyróŜnionymi  elementami  robotów.  Z  kolei  mikro-
procesory  16-  i  32-bitowe  są  wykorzystywane  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 robo-
tów  za  pośrednictwem  odpowiednich  modułów  aktywnych  umoŜliwia  nadrzędne  sterowanie 
procesem produkcyjnym. 

 

 

 

Rys. 8. Architektura wielomikroprocesorowych układów sterowania robotów przemysłowych 

 

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

figurowania  systemów  o  wymaganych  własnościach.  Dla  najprostszych  zastosowań  moŜna 
tworzyć układy jednoprocesorowe z dodatkowymi modułami aktywnymi i biernymi. Bardziej 
złoŜoną konfiguracją jest jednorodna struktura welomikroprocesorowa. W zaleŜności od wy-

background image

 

17 

maganej niezawodności czy mocy obliczeniowej systemu moŜna zwiększyć liczbę mikropro-
cesorów lub stosować mikroprocesory o odpowiednio duŜej mocy obliczeniowej. 
 
6.2. Parametry i funkcje modułów układu sterowania mikroprocesorowego 
 

Przejdziemy  obecnie  do  krótkiego  scharakteryzowania  modułów  tworzących  system 

sterowania  robotem  pokazany  na  rys.  8  (numeracja  omawianych  modułów  jest  zgodna  z  ry-
sunkiem 8). 

Podstawowym elementem architektonicznym układu jest centralna magistrala systemowa, 

która  realizuje  połączenie  między  modułami  (zespołami).  Zespoły  komunikują  się  miedzy 
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 
16 dwukierunkowych linii sygnałowych, 

-

 

szynę  sterującą,  której  poszczególne  linie  wykorzystywane  są  min.  do  ustalania  kie-
runku przepływu danych, aktywizacji i synchronizacji odpowiedniego zespołu. 

 
6.2.1. Podzespoły układu bazowego 
 
•        Podstawowym  modułem  systemu  jest  8-,  16-  lub  32-bitowy  procesor  centralny  (4) 
(rys.6.7), mający własną pamięć operacyjną (pamięć danych i pamięć programu), podstawo-
we układy wejścia/wyjścia (interfejs szeregowy V24) oraz system przerwań  - pełniący  funk-
cje komputera centralnego.  Mimo pełnej zgodności architektonicznej występują róŜnice po-
między modułami procesorów 8-, 16- i 32-bitowych, w szczególności dotyczące maksymalnej 
pojemności pamięci typu RAM. 
•    Pakiet EPROM + RAM (5) zawiera pamięć danych pojemności n słów 16-bitowych oraz 
pamięć programu o pojemności m słów 16-bitowych. SłuŜy on do przechowywania programu 
sterującego  oraz  programu  uŜytkownika,  który  zostaje  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  opera-

cyjnej (zwykle 256 kB) mogą tworzyć pamięć wspólną systemów o duŜej pojemności. 
•        Kolejnym  waŜnym  modułem  aktywnym  jest  sterownik  pamięci  dyskowych  (9).  Stanowi  
on  specjalizowany   procesor, który  zapewnia   obsługę  dowolnych jednostek pamięci ma-
sowej  lub  pamięci  na  dyskach  elastycznych,  uŜywanych  do  przechowywania  programów 
uŜytkownika 
• Pakiet kontroli (1) spełnia w układzie sterowania następujące podstawowe funkcje: 

-

 

kontrole, wartości napięć zasilających, generację przerwań od zaniku zasilania 

-

 

kontrolę prawidłowego przekazywania sygnałów po liniach magistrali. 

-

 

konsolę działania jednostek centralnych. 

•   Jeden pakiet wejść i wyjść dwustanowych (10) zwykle zawiera 16 wejść dwustanowych o 
parametrach 24 V DC, 20mA oraz 16 wyjść dwustanowych o parametrach 24 V DC, 0,5 A. 
Wejścia  i  wyjścia  są  oddzielone  galwanicznie  od  magistrali  kasety.  W  układzie  sterowania 
CNC pakiety (10) 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 sygnalizacyj-
nych umieszczonych na tym panelu. 

background image

 

18 

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  pozwalają  dostosować  w  łatwy 
sposób własności systemu do specyfikacji konkretnego zastosowania. 
zawiera kanały wejść sygnałów analogowych 
•        Pakiet  wejść  analogowych  (11)  zawiera  kanały  wejść  analogowych  o  zakresie:  -10V.. 
.+10V.  Wejścia  te  są  oddzielone  galwanicznie  od  magistrali  kasety.  W  układzie  sterowania 
pakiet  (11)  moŜe  być  stosowany  takŜe  jako  opcja  do  przyjmowania  sygnałów  z  czujników 
analogowych. 
•    Pakiet kontrolera sterownika komunikacyjnego (12) zapewnia połączenie układu sterowa-
nia robota z wielodostępną magistralą systemową. Pakiety (12) są stosowane w układzie ste-
rowania CNC jako opcja, w przypadku gdy robot pracuje w elastycznych systemach produk-
cyjnych. Moduł sterownika sieci lokalnej jest przewidywany przede wszystkim do wykorzy-
stania w elastycznych systemach produkcyjnych bądź innych zastosowaniach robota wymaga-
jących, np. inicjacji pracy lub zewnętrznego programowania autonomicznych  stanowisk pro-
dukcyjnych. 
 
6.2.2. Podzespoły specjalizowane 
 
•    Paktu interfejsu  V-24  (2) jest stosowany jako opcja  w  przypadkach konieczności komu-
nikacji  z  urządzeniami  zewnętrznymi  (układ  wizyjny,  komputer  nadrzędny  itp.).  Ma  odpo-
wiednią liczbę kanałów transmisji szeregowej V-24. 
•    Stosowany opcyjnie procesor PLC (3) umoŜliwia zintegrowanie układu CNC 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 sterow-
nik  PLC  (poprzedni  punkt),  bądź  funkcje  UDS  realizuje  specjalizowany  układ  przekaźniko-
wo- stycznikowy. 
•    Procesor sterowania ruchami osi serwo (6) przyjmuje od procesora centralnego (4) współ-
rzędne  docelowego  połoŜenia  osi  robota,  oraz  dane  określające  rodzaj  trajektorii  i  prędkości 
ruchu.  Po  odpowiednim  przeliczeniu  tych  danych  przesyła  je  do  sterowników  połoŜenia  osi 
(13)  oraz  kontroluje  przebieg  ruchu  poprzez  dobieranie  danych  o  bieŜącym  połoŜeniu  stero-
wanego zespołu w osi robota. 
•    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) pozwala na zaprogramowa-
nie  większości  zastosowań  robotów.  W  panelu  programatora  znajduje  się  wyświetlacz  alfa-
numeryczny słuŜący do przekazywania treści instrukcji programu uŜytkowego, informowania 
operatora o stanie robota, wyświetlanie informacji dodatkowych itp. 
•   Sterownik połoŜenia osi (13) słuŜy do sterowania ruchami robota. Sterownik przyjmuje z 
procesora  centralnego  (4),  lub  wyspecjalizowanego  procesora  (6)  informacje  o  przyrostach 
ruchu,  jaki  ma  być  wykonany  w  jednostce  czasu.  Drugą  informacją  wejściową  jest  sygnał 
rzeczywistego  połoŜenia  wału  osi  silnika,  którą  otrzymuje  się  z  układu  pomiarowego  prze-
mieszczenia. Zadaniem sterownika połoŜenia osi jest obliczenie rzeczywistego błędu połoŜe-
nia.  Cyfrowe  wartości  tego  błędu  są  przetwarzane  na  sygnał  analogowy-10V..+  l0V,  który 
podawany jest na sterownik mocy (14) jako wartość prędkości zadanej. W układzie sterowania 
robota moŜe znajdować się od 3 do 9 sterowników serwonapędów – zaleŜnie od liczby stero-
wanych osi. 

 
 

7. Programowanie robotów przez nauczanie 

 

background image

 

19 

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

rzyć  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  dys-

kretne  PTP),  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  stero-
wać połoŜeniem chwytaka. Przez przyciśniecie przycisku wpisuje się do pamięci układu ste-
rowania 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 zajmu-
je się kolejną pozycję, ponownie naciska przycisk instrukcyjny pozycji - połoŜenie to ponow-
nie  zostaje  zapamiętane  i  tak  postępując  dalej  moŜna  zaprogramować  wymagany  tor  ruchu 
robota.  Między  instrukcjami  pozycyjnymi  mogą  być  odpowiednio  wstawiane  do  programu 
inne instrukcje z  grupy  instrukcyjnej .  Zaprogramowane instrukcje są wykonywane  w kolej-
ności, w jakiej zostały wczytane do pamięci. Niektóre instrukcje mogą te kolejność zmienić, 
np. SKOK. 
Zestaw instrukcji moŜna podzielić na dwie grupy: 

-

 

instrukcje z argumentem 

-

 

instrukcje bez argumentu. 

Instrukcje z argumentem to takie, które wymagają określenia parametru cyfrowego (argumen-
tu) 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 stero-

wania  podczas  programowania  automatycznie  przydziela  numery  kolejnym  instrukcjom  w 
postaci  liczb  będących  wielokrotnością  dziesięciu.  W  ten  sposób  jest  pozostawione  miejsce 
dla  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  juŜ  w  czasie 

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

 

8. Układy sterowania ruchem człowieka, a układy sterowania robota 

 

Badania  biomechaniczne  nad  strukturą  budowy  anatomicznej  i  strukturą  rozkładów 

napędów  mięśniowych  dostarczyły  wiele  danych  do  konstrukcji  manipulatorów  i  robotów 
antropomorficznych, 
czyli urządzeń o budowie i funkcjach zbliŜonych do budowy człowieka 
a  szczególnie  jego  kończyn.  Podobnie  wyniki  współczesnych  badań  neurofizjologicznych 
dostarczają stale nowych danych o działaniu układu motorycznego człowieka. 

Budowa coraz to bardziej inteligentnych robotów nowych generacji, poza oczywiście 

ciągłym  doskonaleniem  ich  struktury  mechanicznej  oraz  napędów,  będzie  wymagać  przede 
wszystkim doskonalenia ich układów sterowania. Jedna droga to coraz szersze wykorzystanie 
maszyn  cyfrowych  z  coraz  lepszym,  efektywniejszym  oprogramowaniem.  Inna,  to  szukanie 
nowych rozwiązali dla układów sterowania. Taką nową drogą mogą być badania nad rozwo-
jem  manipulatorów  i  robolów  bionicznych.  Bionizacja  układów  sterowania,  wykorzystanie 
niektórych  rozwiązań  z  zakresu  sztucznej  inteligencji,  usamodzielnienie  i  zwiększenie  uni-
wersalności robota poprzez wyposaŜenie go w zmysły, a szczególnie najistotniejszy ze zmy-
słów - wzrok, przez konstrukcję, dobrych, wydajnych układów rozpoznających, powinny być 
drogą rozwoju dla nowych generacji robotów. 

Badania  nad  wykorzystaniem  sztucznych  sieci  neuronowych  do  konstrukcji  układów 

sterowania robotami, szczególnie dzięki ogromnemu rozwojowi techniki mikroprocesorowej, 

background image

 

20 

wydają się stwarzać moŜliwość zbudowania układów o szerszych niŜ obecnie moŜliwościach 
oraz większej skuteczności działania. 

Powiązania  biologii  i  techniki  stworzyły  nowe  moŜliwości  rozwoju  naszej  wiedzy  o 

organizmach Ŝywych, ale równocześnie bionika, jako nauka zajmująca się badaniem budowy 
oraz  zasadami  działania  organizmów  Ŝywych  w  celu  wykorzystania  tych  wyników  do  kon-
strukcji urządzeń technicznych, stworzyła zupełnie nowe kierunki badań, zasugerowała nowe, 
efektywne  rozwiązania.  Układ  sterowania  ruchem  zwierząt  wyŜszych  jest  modelem  systemu 
sterowania  ruchem  dla  robotów  i  manipulatorów.  Pomimo  licznych  kontrowersji  wiemy  juŜ 
dzisiaj  sporo  o  jego  strukturze  i  mamy  pewne  zasady  działania.  Rezultaty  bardzo  licznych 
badań nad ośrodkami nerwowymi związanymi ze sterowaniem ruchem doprowadziły do usta-
lenia poglądów na temat ich lokalizacji i powiązań, pozostały natomiast liczne niejasności na 
temat  funkcji  poszczególnych  ośrodków.  Obecnie  przyjmuje  się,  Ŝe  jest  to  struktura  hierar-
chiczna,  w  której  zazwyczaj  wyróŜnia  się  pięć  poziomów  hierarchii  z  oddziaływaniami  po-
między  sąsiadującymi  poziomami  oraz  z licznymi    bezpośrednimi    połączeniami    nawet  po-
przez kilka poziomów, co ma istotny wpływ na dokładność i szybkość przepływu informacji. 

Pierwszym  poziomem  jest  ośrodek  nadrzędny  -  kora  mózgowa  będąca  układem  aso-

cjacyjno-decyzyjnym, w którym następuje ustalenie: 

-

 

celu   ruchu   w   formie   rozkazu   uruchamiającego specjalny  program wykonywa-
nia poszczególnych faz ruchu 

-

 

kryterium optymalności, które ustala m.in. sposób wykonania ruchu 

-

 

ograniczeń związanych z oceną istniejącej sytuacji 

Drugi  poziom  hierarchii  to  zespół  jąder  podkorowych  będący  ośrodkiem,  programującym, 
koordynującym i generującym stereotypy ruchowe. 

Poziom trzeci to zespół ośrodków nadrdzeniowych głównie w pniu mózgu oraz móŜ-

dŜek tworzący ośrodek koordynacyjno-decyzyjny zapewniający właściwą dynamikę ruchu. 

Poziom  czwarty  tworzy  rdzeń  kręgowy  wraz  z  nerwami  obwodowymi  odpowiadają-

cymi za właściwą współpracę odpowiednich grup mięśniowych. 

Na  poziomie  piątym-  najniŜszym  szczeblu  -  znajdują  się  zespoły  pętli  obwodowo-

rdzeniowych  obejmujących  neurony  znajdujące  się  w  rdzeniu,  mięśnie  oraz  odpowiednie 
czujniki połoŜenia, szybkości i sil zapewniające optymalny lub prawie optymalny skurcz mię-
ś

nia. NaleŜy jednak pamiętać, ze podział ten nie jest stały, a funkcje poszczególnych szczebli 

często uzupełniają się bądź nakładają. 

Jeśli spojrzymy na ten schemat budowy i działania układu sterowania ruchem u zwie-

rząt o wyŜszym stadium rozwoju i porównamy z typowymi problemami i zadaniami stojący-
mi przed konstruktorami analogicznych urządzeń technicznych, jakŜe podobne mamy rozwią-
zania, z jak wielu rzeczy juŜ dzisiaj korzystamy i jak wiele jeszcze moŜna z duŜym poŜytkiem 
zaadaptować. Analiza ruchów realizowanych przez organizmy Ŝywe pozwala na wydzielenie 
dwóch typów zadań ruchowych. 

Pierwszy  typ  to  ruchy  stereotypowe,  w  których  odpowiedni  sygnał  (np.  nazwa  .  ru-

chu),  powoduje  uruchomienie  odpowiedniego  zestawu  sygnałów  dających  w  wyniku  Ŝądaną 
trajektorię  ruchu.  Z  badań  neurofizjologicznych  wiadomo,  Ŝe  dzięki  ogromnej  liczbie  połą-
czeń  tworzących  złoŜone  pętle,  w  układach  piramidowych  i  pozapirarnidowych  (są  to  drogi 
połączeń  między  nadrzędnymi  a  niŜszymi  ośrodkami)  jest  zakodowanych  wiele  róŜnych  ze-
stawów ruchów i stereotypów przestrzenno-czasowych. Szczególnie istotne sugestie dotyczą-
ce  koordynacji  czasowo-przestrzennej  i  omówionej  w  dalszej  części  koncepcji  sterowania 
dwustanowego zawiera analiza roli móŜdŜku. 

Typ drugi, to ruchy zmienne nadrzędnie korygowane na bieŜąco, na ogól pod kontrola 

wzroku  i  oceną  przebiegu  ruchu  przez  układ  asocjacyjno-decyzyjny.  Ruchy  te  mogą  takŜe 
zawierać pewne stereotypowe składowe jako elementy do budowy ruchów złoŜonych. Sygna-
ły sterujące wypracowane na wyŜszych szczeblach hierarchii docierają drogami piramidowy-

background image

 

21 

mi  i  pozapiramidowymi  do  rdzenia,  ustawiając  parametry  i  uruchamiając  pętle  obwodowo-
rdzeniowe tworzące układy sprzęŜenia zwrotnego sterujące skurczem odpowiednich mięśni. 

PowyŜsze  rozwaŜania  i  koncepcje  nie  pozwalają  jeszcze  na  skonstruowanie  jedno-

znacznych modeli układu ruchowego, wymagają bowiem takiego sprecyzowania zadania, aby 
moŜna je było sformalizować i przedstawić w postaci równań obiektu oraz algorytmów prze-
twarzania podejmowanych decyzji na odpowiednie sygnały sterowania tymi obiektami. 

Nawet  dla  tak  stosunkowo  prostego  układu,  jakim  jest  dwuczłonowy  robot  o  4  stop-

niach swobody, równania opisujące ruch są bardzo trudne do rozwiązania. Intuicja wskazuje, 
Ŝ

e  problem  optymalności  ruchu  w  organizmach  Ŝywych  jest  bardzo  istotny  i  Ŝe  został  on 

przez  naturę  rozwiązany  w  stopniu  co  najmniej  zadowalającym.  W  odniesieniu  do  robotów 
problem ten był przez długie lata praktycznie zupełnie pomijany i większość algorytmów ste-
rowania  (szczególnie  w  przypadku  robotów  przemysłowych)  uwzględnia  go  w  bardzo  nie-
wielkim  stopniu.  Jest  rzeczą  zastanawiającą,  Ŝe  większość  istniejących  robotów  przemysło-
wych  ma  konstrukcję  mechaniczną,  która  mniej  lub  bardziej  przypomina  rękę,  natomiast 
układy sterowania tylko w znikomym stopniu wykorzystują zasady działania systemu nerwo-
wego. Typowa struktura układu sterowania ogranicza się zazwyczaj do programatora ruchów 
narzucającego  kolejne  etapy  ruchu,  bądź  bardzo  rzadko  przewiduje  się  wykorzystanie  omó-
wionych  układów  sztucznej  inteligencji,  mogących  podejmować  decyzje.  Jednak  pomiędzy 
poziomom  programatora  a  poziomem  układów  sztucznej  inteligencji  mamy  wyraźną  lukę 
funkcjonalną, którą powinno wypełnić postawienie i rozwiązanie problemu optymalizacji. 

Jedną  z  koncepcji  układu  sterowania  moŜe  być  zastąpieni:  układu  cyfrowego  przez 

warstwową  sieć  zbudowaną  z  elementów  neuropodobnych,  a  takŜe  zastosowanie  sterowania 
opartego na teorii zbiorów rozmytych (Fuzzy Logic). 
 

9. Sieci neuronowe jako układy sterowania ruchem robotów 

 
9.1. Budowa sieci neuronowych 
 

Jednym z moŜliwych bionicznych rozwiązań układów sterowania robota jest zastąpie-

nie  maszyny  cyfrowej  sterującej  członami  wykonawczymi  przez  sztuczną  sieć  neuronową 
zbudowaną z elementów neuropodobnych (perceptronów) 

Komórka  nerwowa  (neuron)  jest  układem  bardzo  złoŜonym.  Najczęściej  przedstawia 

się  ją  jako  komórkę  z  wystającymi  kilkoma  dendrytami  i  aksonem  zakończonym  kilkoma 
synapsami (rys. 9)

 

 

Rys. 9. Uproszczony schemat budowy neuronu; 1 – cytoplazma komórki, 2 – jądro 

komórkowe, 3 – akson, 4 – dendryt, 5 - synapsa 

W  rzeczywistości  komórka  nerwowa  ma  kilka  tysięcy  dendrytów,  a  z  innymi  neuro-

nami kontaktuje się poprzez miliony połączeń. Powierzchnia neuronu nie jest zwykłą gładką 
błoną. Znajduje się na mej około miliona tzw. sodowo-potasowych pomp adenozynotrójfosfa-
tazowych,  
odpowiedzialnych  za  utrzymanie  na  wewnętrznej  stronie  błony  potencjału  -70mV 

background image

 

22 

względem  otoczenia.  Odbywa  się  to  poprzez  wypompowywanie  jonów  sodu  z  wnętrza  ko-
mórki,  a  wpuszczanie  jonów  potasu.  Proces  ten  musi  przebiegać  ciągle,  gdyŜ  błona  komór-
kowa jest nieszczelna i nie zapobiega zjawisku odwrotnemu prowadzącemu do zniwelowania 
tej róŜnicy potencjałów. 

Bodziec dostarczony do komórki powoduje zmianę jej stanu elektrycznego przebiega-

jącą następnie wzdłuŜ aksonu. Dzieje się to jednak nie na drodze przewodnictwa elektryczne-
go,  a  poprzez  ekspansje  lokalnych  zmian  stanu  elektrycznego  błony  komórkowej.  Zmiany 
potencjału  błony  są  skutkiem  jej  zmiennej  przepuszczalności  dla  jonów  sodowych  i  potaso-
wych. Po przejściu impulsu błona powraca do normalnego stanu. Dojście impulsu do synapsy 
(połączenia  akson  -  dendryt  lub  dendryt  z  inną  komórką)  powoduje  uwolnienie  z  komórki 
pobudzającej neurotransmitera, który z kolei jest przyczyną pobudzenia komórki odbierającej 
impuls.  Neurotransmiter  to  związek  chemiczny  przekazujący  informację  miedzy  neuronami. 
Pobudzenie neuronu odbierającego sygnał jest rym większe, im więcej neurotransmitera wy-
dzieli się z kolbki synaptycznej komórki pobudzającej. Łączne pobudzenie komórki nerwowej 
jest  sumą  pobudzeń  na  wszystkich  połączeniach  synaptycznych.  Fakt  ten  ma  bardzo  duŜe 
znaczenie  przy  tworzeniu  modelu  neuronu  i  jest  podstawą  teorii  sztucznych  sieci  neurono-
wych. 

W  praktyce  budowy  sztucznych  sieci  neuronowych  przyjmuje  się  model  neuronu  w 

postaci pokazanej na rys. 10 

 

 

 

Rys. 10. Model neuronu

 

 

W modelu tym zmiana wagi synaptycznej neuronu podczas przejścia z chwili j do j+1 

zaleŜy od jego stanu y oraz stanu wejścia x. 

W procesie samo uczenia opisanym powyŜszym modelem, modyfikacji podlegają tyl-

ko wagi tych połączeń, które są aktywne w czasie pobudzenia komórki. Oznacza to, Ŝe neuron 
z upływem czasu staje się coraz bardziej podatny na to wymuszenie, które uaktywnia go naj-
częściej. 

Neurony tworzą siec, czyli układ nerwowy. Dopiero pewien złoŜony układ neuronów 

jest  w  stanie  realizować  funkcje  charakterystyczne  dla  systemów  nerwowych  organizmów 
Ŝ

ywych. 

Sieć  neuronalna  w  pierwszej  fazie  jest  wykorzystywana  jako  układ  uczący  się  opty-

malnego sterowania obiektem (bądź stanem wyjściowym obiektu), natomiast w fazie drugiej 
umoŜliwia  wykonanie  zadanego  ruchu  (uzyskanie  określonego  stanu),  przez  proste  wygene-
rowanie  wektora  sygnałów  zerojedynkowych,  dającego  na  wyjściu  sieci  odpowiedni  zestaw 
sygnałów sterujących stereotypową pracą obiektu. 

background image

 

23 

W ogólnym przypadku numer stereotypowego ruchu musi za pomocą sieci zostać za-

mieniony  na  sygnał  sterujący  obiektem  w  taki  sposób,  aby  otrzymać  proces  jak  najbardziej 
zbliŜony  do  zadanego  wzorca.  Celem  układu  uczącego  się  jest  wygenerowanie  w  moŜliwie 
malej  liczbie  kroków  takich  sygnałów,  aby  wartość  błędu  była  dostatecznie  mała.  W  skład 
takiego układu (rys. 11) wchodzą następujące bloki: 

-

 

generator binarnych sygnałów wejściowych, 

-

 

adaptacyjna sieć zbudowana z elementów o sterowanych parametrach 

-

 

nieznany  obiekt  sterowania,  o  którym  zakładamy  jedynie,  Ŝe  spełnia  pewne  warunki 
sterowalności 

-

 

urządzenie porównujące (komparator),w którym sygnały wyjściowe są  porównywane 
z wzorcowymi i określany jest sygnał błędu. 

-

 

układ automatycznego sterowania sprzęŜeniami (wartościami współczynników sprzę-
Ŝ

eń) w sieci, w zaleŜności od sygnału błędu 

-

 

układ automatycznego doboru oraz generacji sygnałów wejściowych 

 

Rys. 11. Schemat blokowy układu uczącego się 

 

Sam mechanizm adaptacyjnego procesu uczenia składa się z dwóch etapów. 
Etap pierwszy polega na wstępnej identyfikacji cech nieznanego, nieliniowego obiektu stero-
wania. Połączony jest on z doborem optymalnego sygnału wejściowego sterującego siecią. Na 
podstawie  wyników  tej  identyfikacji,  w  etapie  drugim  jest  dokonywana  przebudowa  sieci  w 
taki sposób, aby w moŜliwie krótkim czasie i przy spełnieniu nałoŜonych ograniczeń, na wyj-
ś

ciu sieci otrzymać zespól sygnałów bliski wzorcowemu. 

Przeprowadzone badania i modelowania wykorzystujące sieci omawianego typu wykazały, Ŝe 
sieci uczące się pozwalają na bardzo szybkie dostosowanie się urządzenia do zmiennych wa-
runków działania i zmiennych zadań. 

Progowe  sieci  neuronalne  są  w  technice  robotyzacyjnej  na  ogół  stosowane  w  dwóch  ob-

szarach: 

-

 

do rozwiązywania zadań kinematyki i dynamiki robotów  

-

 

do  przetwarzania  informacji  pochodzących  z  czujników  (przede  wszystkim  w  urzą-
dzeniach rozpoznających obrazy). 

 
 
9.2. Sterowanie ruchem robota 
 

Rozpatrzmy przykład sterowania ruchem dwóch członów wykonawczych robota prze-

gubowego, sterowania opartego na zasadzie działania układów biologicznych i wykorzystują-
cego  warstwowe  sieci  neuronalne.  Zadaniem  układu  będzie  kompensacja  błędów  trajektorii 
ruchu, które mogą być spowodowane  wpływem  warunków  rzeczywistych, poprzez „naucze-
nie się" niezbędnych poprawek. 

background image

 

24 

Układ  sterowania  z  kompensacyjną  siecią  neuronalną  pozwalającą  umieścić  efektor 

robota w wymaganym połoŜeniu pokazano na rys. 12. 

 
 

 

 

Rys. 12. Układ sterowania z kompensacyjną siecią neuronalną 

 

Uczenie  sieci  polegało  na  ustaleniu  wag  połączeń  dla  zbioru  punktów  x,  y  w  prze-

strzeni roboczej robota. Stwierdzono, Ŝe uczenie sieci nawet na jednym tylko punkcie powo-
duje  poprawę  dokładności  o  ok.  50%,  natomiast  po  8  punktowej  serii  uczącej,  dokładność 
pozycjonowania wzrastała dziesięciokrotnie.  Bardzo krotki czas uczenia pozwala na szybkie 
dostosowanie urządzenia do zmieniających się warunków pracy - przykładowo w przypadku 
niewielkich przesunięć robota. 
 

10. Sterowanie rozmyte FC (Fuzzy Control) 

 
10.1. Wprowadzenie 
 

Pojęcie  „Fuzzy"  pojawiło  się  po  raz  pierwszy  w  roku  1965.  Twórcą  teorii  zbiorów 

rozmytych  był  Lofti  Zadeh  Podstawową  ideą  tej  teorii  jest  dąŜenie  do  odtworzenia  sposobu 
myślenia  właściwego  człowiekowi,  które  bazuje  na  jeŜyku  naturalnym  i  nie  da  się,  opisać 
tradycyjnym  aparatem  matematycznym.  Matematyka  tradycyjna  ma  całkiem  jednoznaczną 
interpretacje, podczas  gdy  człowiek w swoim języku naturalnym korzysta z wieloznacznych 
interpretacji. Zadaniem nowej teorii jest więc znalezienie rozmytych odpowiedników dla po-
jęć matematycznych i w ten sposób stworzenie nowego aparatu pozwalającego na modelowa-
nie ludzkiego myślenia. Badania w teorii zbiorów rozmytych rozwinęły się w dwóch kierun-
kach.  Jednym  z  nich  było  przeniesienie  tych  pojęć,  które  moŜna  uznać  za  „rozmyte"  na 
wszystkie działy matematyki klasycznej. Tak powstały „rozmyte" całki, równania, algorytmy, 
itd. Drugim kierunkiem badań jest badanie samej natury „rozmytości" i definiowanie „rozmy-
tych” obiektów. 

W  teorii  zbiorów  rozmytych  istnieje  wiele  sposobów,  aby  sformalizować  pojęcia 

„rozmyte". Jednym z nich jest przejście od klasycznej binarnej logiki, w której element inter-
pretowany jest albo jako prawdziwy, albo jako fałszywy, do logiki ciągłej. Według tej logiki 
oszacowuje  się  stopień  przynaleŜności  kaŜdego  elementu  do  określonego  zbioru  rozmytego. 
Metody  formalizacji  pojęć  rozmytych  dopuszczają  przybliŜony  opis  skomplikowanych  ukła-
dów, nie są analizowane metodami matematyki klasycznej. W sytuacjach, w których rozwią-
zanie jest niezbędne, występują przewaŜnie subiektywne cele, ograniczenia i kryteria wyboru 
i nie są one jednoznacznie konstatowane. Zachodzi to takŜe wtedy, gdy istniejące informacje 
są  niepełne  lub  nie  w  pełni  prawdziwe.  Z  tej  teŜ  przyczyny  korzystanie  z  logiki  „rozmytej” 
jest konieczne przy opisywaniu właśnie takich przypadków.  
 

background image

 

25 

10.2. Podstawy sterowania rozmytego 
 

Sterowanie rozmyte (ang.  Fuzzy  Control) jest sposobem  zastosowania  wnioskowa-

nia,  opartego  na  teorii  zbiorów  rozmytych,  do  sterowania  wykonywaniem  między  innymi 
takŜe funkcji w układach mechanicznych. Opiera się ono na spostrzeŜeniu, Ŝe skomplikowane 
zagadnienia mogą być rozłoŜone na zbiór prostych, niezaleŜnych funkcji. Proces wnioskowa-
nia  rozmytego  składa  się  wice  z  kilku  reguł  (procesów  podstawowych)  i  pojedynczej  sumy 
logicznej. Procesy podstawowe są podzielone na warunki (bloki warunkowe) wnioski (bloki 
wynikowe).  
Na  rys.  13  pokarano  prostą,  chociaŜ  efektywną  metodę  operacji  wnioskowania 
rozmytego. 

Jak  moŜna  zauwaŜyć,  zachodzi  tutaj  kilka  procesów  podstawowych,  z  których  kaŜdy 

oparty jest na innych stanach danych wejściowych. KaŜdy z nich jest w zasadzie niezaleŜny, 
gdyŜ  wpływa  tylko  na  końcową  sumę  logiczną.  Podczas  gdy  pojedyncze  procesy  są  proste 
(nieskomplikowane),  to  połączenie  ich  pozwala  na  wykonanie  skomplikowanych  i  dokład-
nych  procedur  sterowania.  Procesy  te  łączą  się.  w  operacji  sumowania  logicznego.  Wyniki 
podlegają następnie „de  rozmywaniu", czyli przetwarzaniu wartości rozmytych na dyskretne 
w przetworniku F/D w którym obliczana jest końcowa wartość funkcji sterującej. Taki proces 
wnioskowania  charakteryzuje  się  równoległym  przetwarzaniem  danych  (ma  strukturę  prze-
twarzania równoległego), które jest typowe dla sposobu myślenia człowieka. 

 
 

 

 

Rys. 13.  Schemat blokowy procesu wnioskowania w sterowaniu rozmytym 

 

Proces wnioskowania (rys. 13) polega w pierwszym etapie na poszukiwaniu minimum 

wartości dla kaŜdej przyjętej reguły, tzn. wyborze najmniejszej wartości spośród znaczników 
danych  wejściowych  objętych  analizowaną  regułą.  Blokiem  wynikowym  (rys.  13)  jest  zbiór 

background image

 

26 

rozmyty Y, mający miano określonej wielkości fizycznej. W bloku „Suma logiczna" następuje 
końcowe  wnioskowanie  oparte  na  kaŜdej  z  zasad  podstawowych  w  ten  sposób,  ze  końcową 
wartością  jest  maksimum  spośród  podstawowych  zbiorów  rozmytych.  Ustalenie  maksimum 
pozwala na uwzględnienie wszystkich zasad (reguł) podstawowych. Taki proces wnioskowa-
nia nosi nazwę zasady min/max i jest podobny do myślenia człowieka 
 
10.3. Przykład sterowania ruchem osi robota 
 

Sygnał do sterowania silnikiem jest wyznaczany w regulatorach połoŜenia i prędkości 

które mogą pracować jako układy analogowe bądź cyfrowe. Dalej pokazano jak przy wyko-
rzystaniu  tych  samych  informacji  pochodzących  z  czujników  połoŜenia  i  prędkości  moŜna 
sterować pracą silnika (zrealizować zadanie pozycjonowania) przy uŜyciu sterownika rozmy-
tego.  Na  rys.  14  pokazano  schemat  blokowy  doświadczalnego  układu  sterowania  rozmytego 
w  pojedynczej  osi  robota.  W  układne  zastosowano  mikroprocesor  firmy  NeuraLogic 
NLX23O. 

 

 

 

Rys. 14. Schemat blokowy sterowania pojedynczej osi robota  

 

Wielkościami  wejściowymi  do  sterownika  są  uchyb  połoŜenia  i  prędkość  ruchu,  a 

wielkością  wyjściową  jest  przyrost  prędkości.  Wielkości  wejściowe  pobierane  są  z  licznika 
rewersyjnego,  w  którym  wyliczane  są  one  na  podstawie  impulsów  generowanych  w  prze-
tworniku obrotowo-impulsowym, przy czym liczba impulsów odpowiada przemieszczeniu, a 
ich częstotliwość - prędkości. Procesor jednoukładowy odczytuje aktualne przemieszczenie z 
licznika rewersyjnego, porównuje je z zadanym, a następnie wylicza uchyb połoŜenia. Wyli-
czone  wielkości  są  podawane  do  sterownika  rozmytego.  W  odpowiedzi  sterownik  generuje 
przyrost prędkości, który poprzez przetwornik C/A jest podawany do analogowego regulatora 
prędkości. Opisana pętla jest powtarzana co 1 ms. 

Układ NLX130 znajduje wygrywającą regułę uŜywając min/max metody wnioskowa-

nia. Dla kaŜdej reguły, spośród termów w niej ujętych, zostaje wyznaczony term, dla którego 
funkcja przynaleŜności ma najmniejszą wartość. Następnie z termów otrzymanych w ten spo-
sób zastaje znaleziony term maksymalny. Reguła, z której pochodzi znaleziony w ten sposób 
term, jest regułą wygrywającą i odpowiadająca jej wartość zostaje podana na wyjście 
 

background image

 

27 

10.4. Zalety sterowania rozmytego 
 

Proces  wnioskowania  w  sterowaniu  rozmytym  charakteryzuje  się  równoległym  prze-

twarzaniem danych (ma strukturę przetwarzania równoległego), które jest typowe dla sposobu 
myślenia  człowieka.  W  odniesieniu  do  układów  mechanicznych  ma  to  wiele  zalet,  pokaza-
nych poniŜej. 

Konwencjonalne  systemy  sterowania  wymagają  ścisłych  algorytmów  przetwarzania 

danych. JednakŜe niektóre rodzaje sterowań są albo bardzo trudne, albo wręcz niemoŜliwe do 
algorytmizacji  Sterowanie  „Fuzzy"  pozwala  na  pokonanie  tych  problemów.  W  większości 
przypadków  „Fuzzy"  wymaga  1/10,  a  czasami  nawet  mniej  informacji  niŜ  sterowanie  kon-
wencjonalne.  Zmniejsza  to  bardzo  znacznie  czas  projektowania  podsystemu  sterowania 
zautomatyzowanych maszyn, układów mechanicznych, czy tez systemów produkcyjnych. 

Proces sterowania rozmytego nie wymaga wykonywania obliczeń, stad tez jego szyb-

kość realizacji jest większa niŜ sterowania dyskretnego. Szybkość przetwarzania zwiększa się 
równieŜ  dlatego,  poniewaŜ  kaŜdy  proces  podstawowy  przebiega  oddzielnie  i  wszystkie  te 
procesy  mogą  przebiegać  równolegle  i  jednocześnie  Dodatkową  zaletą  jest  to,  Ŝe  wszystkie 
procesy  podstawowe  mogą  być  osobno  sprawdzane.  Na  przykład  pojedyncza  cześć  procesu 
podstawowego,  która  wywiera  tylko  niewielki  wpływ  na  ostateczny  wynik,  moŜe  być  testo-
wana w taki sposób, ze tylko jej prawidłowy wynik wpłynie na wartość sumy logicznej. Pew-
ność działania zwiększona jest równieŜ dlatego iŜ zdeterminowane systemy sterowania prze-
twarzają równania szeregowo i jeŜeli choć w jednym z nich wystąpi błąd, to końcowy rezultat 
będzie błędny. PoniewaŜ w sterowaniu rozmytym kaŜdy z procesów podstawowych odbywa 
się oddzielnie, to wpływ pojedynczego procesu na końcowy wynik jest minimalny. W rezul-
tacie system sterowania jako całość jest bardzo odporny na błędy i zakłócenia. 
 
 

Bibliografia 

 

1)

 

Honczarenko Jerzy – „Roboty przemysłowe. Elementy i zastosowanie”  WNT 
Warszawa 1996

 

2)

 

Honczarenko Jerzy – „Wprowadzenie do robotyki” Szczecin 1994

 

3) 

Wrotny Lucjan Tadeusz – „Sterowanie w technice robotyzacyjnej i w elastycz-
nych systemach produkcyjnych” WNT Warszawa 1991 

4) 

John J. Craig – „Wprowadzenie do robotyki – Mechanika i sterowanie” Tłuma-
czenie- Józef Knapczyk      WNT Warszawa 1993 

5) 

M. W. Spong, M.Vidyasagar– „Dynamika i sterowanie robotów” WNT Warszawa 
1997