1
PODSTAWY ROBOTYKI
JW 8a
2
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
3
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
4
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:
5
-
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-
6
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
z
– położenie zadane,
∆
x
z
– 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-
7
ś
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
ε
d
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
z
(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
8
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
9
-
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
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.
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ę:
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
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
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ść. Z 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.
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
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-
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.
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
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,
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-
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
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.
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.
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.
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) i 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
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
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