1. Podstawowe podzespoły robota.
Robotem nazywamy uniwersalny system techniczny zastępujący przez swoje działanie
kinematyczne i intelektualne funkcje człowieka. Podstawowe podzespoły robota to:
-
Manipulator – utworzony przez szereg ogniw połączonych złączami, które wspólnie
tworzą łańcuch kinematyczny. Poszczególne złącza są napędzane odpowiednimi
zespołami napędowymi, które zapewniają ruchy efektora manipulatora w róŜnych
kierunkach.
-
Układ zasilania – przetwarza energię pierwotną dostarczaną do robota (najczęściej
elektryczną) na odpowiedni rodzaj energii stosownie do rodzaju zespołów napędowych
manipulatora. W przypadku robotów z napędami elektrycznymi jest to zwykle zestaw
wzmacniaczy mocy. W przypadku zespołów napędowych pneumatycznych lub
hydraulicznych jest to zewnętrzny kompresor z zespołem filtrów i zaworów.
-
System sensoryczny – dostarcza sterownikowi robota informacji o stanie manipulatora i
jego otoczenia. MoŜe być to realizowane w sposób ciągły poprzez pomiar pozycji
poszczególnych osi, lub tylko przez przesyłanie informacji z dyskretnych czujników
połoŜenia. Sensory we współczesnych robotach dzielą się na dwie grupy: sensory
wewnętrzne i zewnętrzne. Wewnętrzne związane są z łańcuchem kinematycznym
manipulatora i słuŜą do pomiaru wzajemnych przemieszczeń i prędkości poszczególnych
złączy. Zewnętrzne słuŜą do pomiarów wzajemnych połoŜeń efektora robota i elementów
otoczenia.
-
Sterownik – realizuje następujące funkcje: przechowuje w pamięci sekwencje danych
dotyczących poŜądanych ruchów manipulatora; zbiera i przetwarza informacje z systemu
sensorycznego robota; inicjuje i koordynuje ruchy poszczególnych zespołów napędowych
manipulatora; komunikuje się z innymi podzespołami zrobotyzowanego stanowiska.
2. Klasyfikacja struktur kinematycznych robotów.
Manipulatory klasyfikowane są jako: kartezjańskie, cylindryczne, sferyczne, typu SCARA lub
wyłącznie ze złączami obrotowymi (stawowe).
-
Manipulator kartezjański – najprostszy, wszystkie złącza są liniowe i zapewniają ruchy
wzdłuŜ osi X, Y, Z układu kartezjańskiego. Ruchy odbywają się w ograniczonym zakresie,
ale obszar pracy manipulatora jest bardzo duŜy w porównaniu z innymi strukturami.
Przestrzeń robocza ma kształt prostopadłościanu.
-
Manipulator cylindryczny – poziome ramie jest zamontowane na obrotowej kolumnie i
porusza się w kierunku pionowym i poziomym. Kolumna wykonuje ruch obrotowy,
najczęściej ograniczony do kąta pełnego. Ramie moŜe być podnoszone lub opuszczane
wzdłuŜ kolumny oraz moŜe się wysuwać w kierunku radialnym. Przestrzeń robocza tego
manipulatora jest fragmentem pionowego cylindra (wydrąŜonego walca).
-
Manipulator sferyczny – powstaje gdy drugie łącze manipulatora cylindrycznego zastąpimy
złączem obrotowym. Ramie moŜe poruszać się liniowo w kierunku radialnym i moŜe się
pochylać względem kolumny i wraz z nią obracać się w płaszczyźnie poziomej. Przestrzeń
robocza jest fragmentem sfery kulistej.
-
Manipulator typu SCARA – posiada dwa pierwsze złącza obrotowe i trzecie liniowe. Osie
złączy obrotowych są równoległe. Pierwsze złącze realizuje obrót ramienia wokół
podstawy. Drugie złącze obrotowe realizuje ruchy obrotowe przedramienia wokół osi
pionowej. Złącza obrotowe realizują ruch w przestrzeni poziomej. Ruch pionowy zapewnia
trzecie złącze o charakterze liniowym.
-
Manipulator stawowy – wszystkie jego złącza są obrotowe. Zaletą jest duŜa przestrzeń
robocza, która ma kształt zbliŜony do sfery kulistej. MoŜliwe jest osiągnięcie punktów w
pobliŜu środka tej sfery oraz dotarcie do wielu punktów poza przeszkodami
umieszczonymi w polu roboczym.
Zwykle na końcu ostatniego ogniwa umieszczana jest kiść, która umoŜliwia zamocowanie
odpowiedniego narzędzia (efektora manipulatora). Kiść jest wyposaŜona w dodatkowe
zespoły napędowe, które pozwalają na uzyskanie odpowiedniej orientacji efektora.
3. Opis punktu w róŜnych układach współrzędnych oraz transformacja przesunięcia.
Niech połoŜenie wybranego dowolnie punktu A będzie opisana w układzie podstawowym {0}
przy pomocy wektora
0
r
A
= [
0
r
xA
0
r
yA
0
r
zA
]
T
, a jednocześnie połoŜenie tego punktu będzie
określone w układzie przesuniętym {1} za pomocą wektora
1
r
A
= [
1
r
xA
1
r
yA
1
r
zA
]
T
. Do
wzajemnego określenia połoŜenia obu układów wystarczy podać wektor
0
p
l
= [
0
p
xl
0
p
yl
0
p
zl
]
T
,
wyraŜony w układzie podstawowym i podający połoŜenie początku układu {1}.Te trzy
wektory połączone są zaleŜnością:
−
=
zA
yA
xA
zl
yl
xl
zA
yA
xA
r
r
r
p
p
p
r
r
r
1
1
1
0
0
0
0
0
0
,
która moŜe być zapisana w zwartej postaci jako:
A
l
A
r
p
r
1
0
0
+
=
.
4. Podstawowe obroty wokół osi X, Y, Z
Przekształcenie obrotu wygodnie jest przedstawić za pomocą macierzy. Wektor
współrzędnych punktu mnoŜymy przez macierz obrotu i mamy wektor współrzędnych po
obrocie.
PołoŜenie punktu A w układzie współrzędnych poprzedzającym (0):
[
]
T
zA
yA
xA
r
r
r
rA
0
0
0
0
=
Macierze obrotu:
Dla osi X
−
=
θ
θ
θ
θ
θ
cos
sin
0
sin
cos
0
0
0
1
)
,
( X
R
Dla osi Y
=
θ
θ
θ
θ
θ
cos
0
sin
0
1
0
sin
0
cos
)
,
(Y
R
Dla osi Z
−
=
1
0
0
0
cos
sin
0
sin
cos
)
,
(
θ
θ
θ
θ
θ
Z
R
PołoŜenie punktu A w układzie współrzędnych następującym:
[
]
T
zA
yA
xA
r
r
r
rA
1
1
1
1
=
Transformacja obrotu:
A
A
r
R
r
1
1
0
0
=
Przykład: obrót wokół osi X o kąt θ:
−
=
zA
yA
xA
zA
yA
xA
r
r
r
r
r
r
1
1
1
0
0
0
cos
sin
0
sin
cos
0
0
0
1
θ
θ
θ
θ
lub w zwartej postaci:
A
A
r
X
R
r
1
0
)
,
(
θ
=
5. Podstawowe właściwości macierzy rotacji
- KaŜda z trzech podstawowych macierzy rotacji jest ortonormalna. Po ludzku: macierz
odwrotna do macierzy ortonormalnej jest równa macierzy transponowanej. MoŜna to
udowodnić przemnaŜając macierz rotacji i transpozycję tej macierzy.
- Końcowy wynik złoŜenia macierzy obrotów (w rotacjach złoŜonych) zaleŜy od kolejności
ich wymnaŜania,
- Macierz rotacji złoŜonej będącej iloczynem macierzy rotacji podstawowych jest macierzą
ortonormalną (prawdziwe dla dowolnej liczby złoŜeń rotacji podstawowych)
- Dowolny obrót w układzie współrzędnych moŜe być przedstawiony jako złoŜenie 3
kolejnych obrotów wokół osi bieŜących układów. NaleŜy podawać nazwy tych osi i kąty
obrotu wokół nich (np.: XYZ, ZXZ). Kąty tych obrotów to kąty Eulera. MoŜliwe jest 12
takich kombinacji. Wszystkie moŜliwości są poprawne, jednak naturalne jest XYZ:
−
=
=
β
β
β
β
α
α
α
α
γ
β
α
γ
β
α
cos
0
sin
0
1
0
sin
0
cos
cos
sin
0
sin
cos
0
0
0
1
)
,
(
)
,
(
)
,
(
)
,
,
(
,
,
Z
R
Y
R
X
R
R
Z
Y
X
−
1
0
0
0
cos
sin
0
sin
cos
γ
γ
γ
γ
6. Rotacja wokół dowolnej osi o zadany kąt. (str. 23)
Przypadek rotacji o zadany kąt
θ
wokół dowolnie wybranej osi przechodzącej przez początek
układu współrzędnych to przypadek bardziej ogólny. Oś taka moŜe być jednoznacznie
określona przez przyjęcie na niej wektora jednostkowego u= [u
X
u
Y
u
Z
]
T
. Wektor ten oraz
jego składowe pokazane są poniŜej:
Rotacja w takim przypadku moŜe być traktowana jako złoŜenie pięciu kolejnych
podstawowych rotacji:
-
dwóch początkowych rotacji, najpierw o kąt
α
wokół osi Z, a następnie o kąt
β
wokół
bieŜącej osi Y. Po tych początkowych rotacjach bieŜąca oś Z pokrywa się z kierunkiem
wektora u;
-
rotacji głównej o kąt
θ
wokół bieŜącej osi Z;
-
dwóch końcowych rotacji, przeciwnych do rotacji początkowych, najpierw o kąt (-
β
)
wokół bieŜącej osi Y, potem o kąt (-
α
) wokół bieŜącej osi Z.
Stąd wzór na macierz rotacji złoŜonej: R(u,
θ
) = R(Z,
α
)R(Y,
β
)R(Z,
θ
)R(Y, -
β
)R(Z, -
α
)
Następnie do powyŜszego wzoru naleŜy podstawić macierze rotacji podstawowych,
powoduje to powstanie macierzy, w której występują funkcje sinus i cosinus kątów
α
,
β
i
θ
.
Aby uzyskać ostateczną postać tej macierzy naleŜy skorzystać z relacji pomiędzy
składowymi wektora u a funkcjami trygonometrycznymi kątów
α
i
β
:
2
2
cos
Y
X
X
u
u
u
+
=
α
2
2
sin
Y
X
Y
u
u
u
+
=
α
Z
u
=
β
cos
2
2
sin
Y
X
u
u
+
=
β
u
z
u
z
u
y
y
u
x
x
αααα
ββββ
θθθθ
7. Sprawdź czy podana macierz moŜe być macierzą rotacji
Macierze rotacji wokół poszczególnych osi:
−
=
a
a
a
a
X
R
cos
sin
0
sin
cos
0
0
0
1
)
0
,
(
−
=
a
a
a
a
Y
R
cos
0
sin
0
1
0
sin
0
cos
)
0
,
(
−
=
1
0
0
0
cos
sin
0
sin
cos
)
0
,
(
a
a
a
a
Z
R
By sprawdzić czy macierz jest macierzą rotacji naleŜy sprawdzić czy nie jest jedną z tych albo
ich wymnoŜeniem.
8. Kąty jaw, pitch, roll.
Podstawowym złoŜeniem obrotów wokół stałych osi są trzy kolejne obroty wokół osi
0
X,
0
Y,
0
Z, odpowiednio o kąty α, β, γ. Układ ten utoŜsamiamy w tym przypadku z układem
współrzędnych związanym z ostatnim ogni-wem ruchów regionalnych. Aby odpowiednio
zoriento-wać narzędzie w przestrzeni, naleŜy wykonać obroty o odpowiednie kąty wokół osi
tego układu współrzęd-nych. Zwyczajowo kąty te zwane są yaw (po osi X) pitch (po osi Y)
oraz roll (po osi Z). Kąt yaw odpowiada za odchylenie kierunkowe narzędzia, kąt pitch za
pochylenie narzędzia, a roll za jego obrót.
yaw
pitch
roll
Na podstawie rysunku moŜna określić wypadkową postać macierzy rotacji złoŜonej jako:
(
)
( ) (
) (
)
γ
β
α
γ
β
α
,
,
,
,
,
0
2
0
1
0
0
k
R
j
R
i
R
R
roll
pitch
yaw
=
−
−
9. Transformacje jednorodne – homogeniczne
Najbardziej ogólnym przepadkiem połoŜenia dwóch układów jest przesunięcie i rotacja.
Przesuwamy o wektor
0
P
1
i mamy nowy układ dokonując obrotu tego układu zgodnie z
macierzą rotacji
0
R
1
otrzymuje się układ ostateczny.
Związek pomiędzy opisem dowolnego punktu A w obu układach:
0
r
A
=
0
P
1
+
0
R
1
*
1
r
A
Związek ten jest bardziej złoŜony przy składaniu tego typu przekształceń gdyŜ wyraŜenia
tracą jednorodność i coraz bardziej się komplikują. Aby zachować jednorodność opisu dla
dowolnych przypadków wzajemnych połoŜeń układów współrzędnych ostatni związek
zapisuje się w postaci zwartej jako:
=
1
1
0
1
1
1
0
1
0
0
A
A
r
p
R
r
Wektory o wymiarach 4x1 i postaci
=
1
r
r)
są nazywane
uogólnionymi wektorami połoŜenia, a niekiedy nazywane są równieŜ wektorami
jednorodnymi lub homogenicznymi. Macierz transformacji o wymiarach 4x4
=
1
0
p
R
A
nazywamy jednorodną (homogeniczną) przekształcenia.
10. Notacja Denavita-Hartenberga
Manipulator robota składa się z szeregu ogniw połączonych złączami. Z kaŜdym złączem
łańcucha kinematycznego moŜna związać kartezjański układ współrzędnych. Przyjmuje się Ŝe
za podstawę manipulatora ogniwo 0 a kolejne numeruje się od 1 do n. Złącza numeruje się
kolejno od 1 (przy podstawie manipulatora) do n.
Dwa kolejne złącza wraz z układami współrzędnych które są związane z ogniwami zgodnie z
notacją Denavita-Hartenberga. Z ogniwem i-tym związany jest i – ty układ współrzędnych
taki sposób Ŝe:
Oś
i
Z jest osią (i+1) złącza a jej zwrot moŜe być przyjęty dowolnie.
Os
i
X jest wspólną normalną do osi złączy i – tego i (i+1) i skierowana jest w stronę ogniw o
wyŜszych numerach.
Oś
i
Y jest uzupełnieniem dwóch poprzednich osi do prawoskrętnego kartezjańskiego układu
współrzędnych. PoniewaŜ jest ona jednoznacznie określona przez połoŜenia osi
i
Z i
i
X
pomija się ją by zwiększyć czytelność rysunku
Zgodnie z notacją Denavita-Hartenberga tylko 4 charakterystyczne wielkości słuŜą
jednoznacznemu określeniu połoŜenia kolejnego układu współrzędnych względem
poprzedniego. Wielkości te to:
- kąt skręcania ogniwa α
i
mierzony wokół osi
i
X od
i-1
Z do
i
Z, zgodnie z zasadą śruby
prawoskrętnej.
- długość ogniwa a
i
mierzona wzdłuŜ osi
i
X od
i-1
Z do
i
Z
- przesunięcie liniowe w złączu d
i
mierzone wzdłuŜ osi
i-1
Z od
i-1
X do
i
X
- kąt złącza θ
i
mierzony wokół osi
i-1
Z od
i-1
X do
i
X zgodnie z zasadą próby
prawoskrętnej.
11,12: Kinematyka odwrotna: ogólne problemy i przykład postępowania. Problem
znajdowania wartości kolejnych zmiennych złączowych przy narzuconym połoŜeniu i
orientacji narzędzia. MoŜliwość rozwiązania zadania kinematyki odwrotnej jest niezwykle
istotna ze względu na efektywność sterowania manipulatorem robota przemysłowego.
Zadania do wykonania przez robota są bowiem w sposób naturalny formułowane w
kategoriach poŜądanych połoŜeń i orientacji narzędzia, wyraŜonych w układzie kartezjańskim
związanym z podstawą robota. Podwaliny do rozwiązania zadania kinematyki odwrotnej
stanowi znajomość kinematyki prostej manipulatora. Wektor zmiennych złączowych q jest
wyraŜony w podzbiorze n-wymiarowej rzeczywistej przestrzeni wektorowej R
n
(przestrzeń
złączowa). PołoŜenie i orientacja narzędzia są związane z podzbiorem przestrzeni R
6
(przestrzeń konfiguracji narzędzia). Do określenia konfiguracji narzędzia moŜe słuŜyć wektor
x naleŜący do R
6
. Trzy składowe tego wektora określają połoŜenie narzędzia, pozostałe trzy
określają orientację narzędzia i są z reguły kątami typu yaw-pitch-roll. W odwrotnym
problemie kinematycznym nie istnieje bezpośrednia i systematyczna procedura pozwalająca
na jego rozwiązanie. W związku z tym kaŜdy robot musi być traktowany indywidualnie. Jest
jednakŜe kilka cech które mają właściwości ogólne:
Istnienie rozwiązań:
- jeŜeli manipulator ma operować w przestrzeni kartezjańskiej, to liczba stopni swobody
łańcucha kinematycznego musi wynosić co najmniej sześć (odstępstwo: narzędzie osiowo
symetryczne – manipulator o pięciu stopniach swobody, do operowania na płaszczyźnie –
trzy stopnie swobody);
- przestrzeń robocza – kształt i wymiary zaleŜą od struktury manipulatora oraz
dopuszczalnych zakresów zmiennych złączowych.
Jednoznaczność rozwiązań:
Przyczyny niejednoznaczności:
- nadmiarowość stopni swobody łańcucha kinematycznego kinematycznego stosunku do
wymiarów przestrzeni zadania;
- występowanie złączy obrotowych w łańcuchu kinematycznym.
Metody rozwiązywania:
Nie moŜna określić ogólnego algorytmu przydatnego do rozwiązywania odwrotnego
zagadnienia kinematycznego dla kaŜdego manipulatora. Metody moŜna podzielić na
analityczne i numeryczne:
- rozwiązania analityczne wykorzystują metodę algebraiczną (przekształcenia
trygonometryczne) lub geometryczną (wykorzystującą geometryczne właściwości figur
płaskich lub przestrzennych do wyznaczania związków pomiędzy zbiorami rozwiązań).
Manipulatory dla których istnieją rozwiązania analityczne charakteryzują się tym, Ŝe kąty
skręcania ich ogniw są wielokrotnością kąta π/2. Rozwiązania te są proste, jeŜeli trzy kolejne
osie złączy w odcinku ruchów lokalnych przecinają się w jednym punkcie.
Przy podejściu geometrycznym konieczne jest zdekompowanie przestrzennego zagadnienia
geometrycznego do szeregu zagadnień planarnych.
13 Proste i odwrotne zagadnienie kinematyczne dla prędkości
Ruchy manipulatora robota są określane zwykle w przestrzeni konfiguracji narzędzia. W
przestrzeni tej połoŜenie i orientacja narzędzia jest wyraŜana przez wektor jreR
6
. JednakŜe
wykonywanie załoŜonych ruchów nie odbywa się w sposób bezpośredni, gdyŜ sterowanie
robota jest realizowane przez układ napędowy robota, który oddziaływuje na poszczególne
złącza manipulatora. Konfiguracja łańcucha kinematycznego jest określona przez wektor
zmiennych złączowych
n
R
q
∈
. Relacja pomiędzy wektorem zmiennych złączowych i
wektorem konfiguracji narzędzia jest określona przez równanie kinematyki prostej
manipulatora
x = f(q)
Zwykle narzucona jest funkcja czasu x(t), którą naleŜy realizować. Wymaga to przeliczenia
tej funkcji na odpowiadającą jej zaleŜność q(t) w przestrzeni złączowej. Sposób przeliczania
zmiennych dla wybranej chwili czasowej omówiono w poprzednim rozdziale i pokazano, Ŝe
zadanie takie moŜe być stosunkowo trudne. JeŜeli jednak narzucona funkcja x(t) jest
dostatecznie gładka, to moŜna analizować zaleŜności róŜniczkowe dla obu tych funkcji.
UŜytecznym będzie zwłaszcza znalezienie związku pomiędzy pochodnymi względem czasu
tych funkcji, czyli prędkościami złączowymi i kartezjańskimi.
Ostatnie równanie wektorowe moŜe być zapisane w postaci zbioru sześciu równań
skalarnych o postaci
zatem róŜniczki zupełne składowych wektora x będą określane przez wyraŜenia
Prawe strony tych równań są liniowymi funkcjami przyrostów kolejnych zmiennych
złączowych. Zatem ostatnie równania mogą być zapisane w zwartej postaci wektorowo-
macierzowej jako
dx=J(q)dq.
Tutaj J (q) jest macierzą o wymiarach 6xn zawierającą pochodne cząstkowe funkcji
wektorów ej f (q). Macierz taka znana jest w analizie matematycznej pod nazwą macierzy
Jakobiego i przyjmuje następującą postać
W robotyce macierz J(q) jest nazywana krótko jakobianem manipulatora. Jakobian moŜe być
traktowany jako transformacja wektora prędkości złączowych dq/dt na wektor prędkości w
przestrzeni konfiguracji narzędzia dx/dt, zachodzi bowiem zaleŜność
Lewa strona powyŜszego związku moŜe być przedstawiona w postaci dwóch składowyd
prędkości. Pierwszą z nich jest prędkość liniowa narzędzia, a drugą jego prędkość kątowa
W przypadku niektórych manipulatorów jakobian jest macierzą o mniejszej niŜ sześć liczbie
wierszy.
Ze względu na poŜądany przebieg trajektorii narzędzia niezbądne jest w wielu
przypadkachznalezienie zaleŜności wektora prędkości złączowych dq/dt w funkcji wektora
prędkości kartezjańskich dx/dt. Tak sformułowany problem nazywa się odwrotnym
zagadnieniem kinematycznym dla prędkości.
JeŜeli jakobian manipulatora jest kwadratową macierzą ieosobliwą, to rozwiązanie tego
zagadnienia jest szczególnie proste i wyraŜa się wzorem
Jednym z potencjalnych niebezpieczeństw związanych z wykorzystaniem tej zaleŜności jest
utrata rzędu jakobianu, wtedy nie istnieje rozwiązanie odwrotnego zagadnienia
kinematycznego dla prędkości, gdyŜ nie moŜna wyznaczyć macierzy odwrotnej J
-1
(q).
Konfiguracje, przy których macierz jakobian traci rząd, są nazywane konfiguracjami
osobliwymi, a odpowiadające im punkty w przestrzeni złączowej lub przestrzeni
konfiguracji narzędzia są nazywane punktami osobliwymi.
JeŜeli jakobian jest macierzą kwadratową, to zbiór punktów osobliwych otrzymuje się
rozwiązując równanie
Det(J(q)) = 0
14. Metoda wyznaczania modelu dynamiki manipulatora – podstawy. ZłoŜone układy
zawierające podzespoły mechaniczne moŜna modelować stosując formalizm Lagrange’a.
Bazuje on na zdefiniowaniu uogólnionych współrzędnych określających połoŜenie mas i
uogólnionych sił działających na te masy. Dla manipulatora składającego się z szeregu ogniw
połączonych złączami, które zapewniają n stopni swobody mechanicznej definiuje się
uogólniony wektor połoŜenia q=[q
1
q
2
… q
n
]
T
.
Podobnie definuje się wektor uogólnionych sił
działających działających kolejnych złączach τ=[τ
1
τ
2
... τ
n
]
T
, przy czym składowa τi wektora
sił odpowiada składowej qi wektora połoŜeń, tzn. Ŝe są one albo wielkościami
charakterystycznymi dla ruchu liniowego (siła i połoŜenie) albo obrotowego (moment siły i
połoŜenie kątowe). Niech Ek i Ep oznaczają energię kinetyczną i potencjalną wszystkich mas
układu. Definiuje się funkcję Lagrange’a jako róŜnicę pomiędzy całkowitą energią kinetyczną
układu a jego całkowitą energią potencjalną.
)
(
)
,
(
)
,
(
q
E
q
q
E
q
q
L
p
k
−
≡
&
&
E
k
– zaleŜy od wektora połoŜeń i wektora prędkości
E
p
– zaleŜy od wektora połoŜeń
Ogólne związki pomiędzy funkcją Lagrange’a i siłami działającymi w złączach mogą być
wyraŜone w postaci układu n równań skalarnych postaci
n
i
l
q
L
q
L
dt
d
i
i
i
≤
≤
=
∂
∂
−
∂
∂
,
)
(
τ
&
nazywanych równaniami Eulera-Lagrange’a. NaleŜy pamiętać, Ŝe przy wyznaczaniu
pochodnych cząstkowych funkcji Lagrange’a zmienne q
i
i q
i
(z kropką na górze) traktowane
są jako wzajemnie niezaleŜne.
15. Ogólna postać modelu dynamiki manipulatora.
Zakładamy Ŝe manipulator posiada n stopni swobody, a z jego łańcuchem kinematycznym
związane są lokalne układy współrzędnych. Aby wyznaczyć równanie modelu, naleŜy
najpierw określić ogólną postać funkcji Lagrangea a następnie skorzystać z równań Eulera -
Lagrangea. W i – tym lokalnym układzie współrzędnych energia kinetyczna poruszającego
się elementu jest równa: dE
ki
=0.5||v||
2
dm
i
= 0.5(v
x
2
+v
y
2
+v
z
2
)dm
i
… całkowitą energię
kinetyczną i – tego moŜna uzyskać poprzez scałkowanie elementarnej energii po wszystkich
elementach tego ogniwa. W przypadku gdy ogniwo moŜe być traktowane jako ciało sztywne
jedynym źródłem energii potencjalnej jest grawitacja. Niech g =[gx, gy, gz 0]
T
oznacza
uogólniony wektor grawitacji wyraŜony w układzie podstawowym. Wtedy energia
potencjalna elementu dm
i
którego połoŜenie w układzie jest określone przez wektor r = T
i
*
i
r
przyjmuje postać: dE
pi
=-g
T
*r dm = -g
T
T
i
i
r dm ... energia potencjalna ogniwa i jest
otrzymywana po scałkowaniu wyraŜenia po całej masie ogniwa.
i
i
i
T
mi
mi
i
i
T
pi
m
r
T
g
dm
r
T
g
dE
E
ˆ
ˆ
−
=
−
=
=
∫
∫
równania na energię kinetyczną i potencjalną pozwalają na określenie postaci funkcji
Lagranga całego manipulatora. Funkcję tą wstawiamy do l-tego równania Eulera-Lagranga i
wykonujemy wskazane przez nią całkowania. Kolejne róŜniczkowe równania skalarne dla
wartości l=1,2…n mogą być ostatecznie zestawione w jedno równanie wektorowo
macierzowe, które stanowi pełny opis dynamiki manipulatora:
τ
=
+
+
)
(
)
,
(
)
(
q
h
q
q
c
q
q
B
&
&
&
B-macierz inercji operatora nxn, c(q,q) wymiar nx1 wektor sprzęŜeń predkościowych lub sił
Coriolisa i sił dośrodkowych, h(g) – wektor sił grawitacyjnych,
τ
wymiar nx1 zawiera
uogólnione siły generowane przez zespoły napędowe w kolejnych złączach – wektor sił
złączowych.
16.Rodzaje pracy robota przemysłowego:
-ruch PTP (point to point) wystempuje w prostych czynnosciach manipulacyjnych jak
przenoszenie obiektów .Wartosci zadane w tego typu ruchu to połoŜenie końcowe i oriętacja
efektora oraz czas trwania ruchu .nie istotny jest kształt toru.
-ruch MP multipoints wielopunktowy: gdy na drodze występują przeszkody naleŜy je ominąć
wprowadzając dodatkowe punkty pośrednie oraz przyjmując poŜądane czasy trwania etapów
między punktami ,dązymy do minimalizacji czasu trwania.
-ruch PC (path control) odtwarzanie zadanej ciągłej ścieŜki (malowanie spawanie) tylko w
robotach o moŜliwości płynnego stewrowania kaŜdej z osi.
17.
Planowanie trajektorii przy pomocy metody wielomianów stopnia trzeciego.
Zostanie rozwaŜony problem przemieszczenia efektora z połoŜenia początkowego do
zadanego połoŜenia końcowego przy narzuconym czasie ruchu (t
f
-t
o
). Rozwiązując zadania
kinematyki odwrotnej dla obu krańcowych punktów moŜna otrzymać wektory zmiennych
złączowych
q
o
i
q
f
. Istnieje nieskończenie wiele gładkich funkcji
q
r
(t), które mogą być uŜyte
do interpolacji pomiędzy punktami. Funkcja powinna być moŜliwie prosta, aby generowanie
jej nie obciąŜało nadmiernie sterownika robota. Istnieją co najmniej cztery węzły narzucone
na q
r
(t), w chwilach t
o
i t
f
. Dwa pierwsze wynikają z narzuconych połoŜeń w tych chwilach,
czyli q
r
(t
o
)=q
o
i q
r
(t
f
)=q
f.
Dwa pozostałe wynikają z faktu, Ŝe w obu krańcowych połoŜeniach
prędkości powinny być równe zeru, czyli q(to)=q(tf)=0. Te cztery warunki mogą być
spełnione na przykład przez wielomian stopnia trzeciego o ogólnej postaci: q
r
(t)=a
o
+a
1
(t-
t
o
)+a
2
(t-t
o
)
2
+a
3
(t-t
o
)
3
. RóŜniczkując względem czasu tę funkcję otrzymuje się przebieg zadanej
prędkości: q
r
(t)=a
1
+2a
2
(t-t
o
)+3a
3
(t-t
o
)
2
. Postać gładkiej trajektorii łączącej oba końcowe
punkty
3
0
3
0
2
0
2
0
0
)
(
)
(
)
(
2
)
(
)
(
)
(
3
)
(
t
t
t
t
q
q
t
t
t
t
q
q
q
t
q
f
o
f
f
o
f
r
−
−
−
−
−
−
−
+
=
stąd prędkość na tej trajektorii
będzie wielomianem stopnia drugiego
2
0
3
0
0
2
0
0
)
(
)
(
)
(
6
)
(
)
(
)
(
6
)
(
t
t
t
t
q
q
t
t
t
t
q
q
q
t
q
f
o
f
f
o
f
r
−
−
−
−
−
−
−
+
=
•
a przyśpieszenie będzie miało charakter liniowy
)
(
)
(
)
(
12
)
(
)
(
6
)
(
0
3
0
2
0
0
t
t
t
t
q
q
t
t
q
q
q
t
q
f
o
f
f
o
f
r
−
−
−
−
−
−
+
=
•
•
Z ostatniej postaci wynika, Ŝe na obu końcach trajektorii zadanej będą występowały skoki
przyśpieszenia, co oczywiście jest wadą zastosowanego podejścia.
18. Planowanie trajektorii metodą odcinków liniowych ze złączkami parabolicznymi.
Najprostszą postacią funkcji łączącej punkt początkowy z końcowym dla trajektorii
jednosegmentowej jest:
f
f
f
r
t
t
t
t
t
t
t
q
t
t
a
a
q
t
q
>
≤
≤
<
−
+
=
0
0
0
1
0
0
)
(
)
(
Tylko Ŝe funkcja ta charakteryzuje się skokami prędkości zadanej w punktach początkowym i
końcowym. Aby wygenerować dostatecznie gładką funkcję moŜna do tego liniowego
przebiegu dodać dwa paraboliczne połączenia które zapewnią ciągłość prędkości na takiej
trzyodcinkowej trajektorii. Na odcinkach parabolicznych prędkość zmiana się liniowo w
czasie a przyśpieszenie ma wartość stałą.
ZałoŜenia początkowe: oba połączenia paraboliczne charakteryzują się taką samą
bezwzględną wartością przyśpieszenia
m
q
..
wtedy przebieg q(t) będzie symetryczny względem
punktu
(
) (
)
+
+
f
f
q
q
t
t
0
0
2
1
,
2
1
. Odcinki paraboliczne muszą być tak dobrane aby
spełniać więzy dla prędkości
( )
0
)
(
.
=
=
f
t
q
t
q
&
. Przebieg taki przedstawia rysunek:
Podstawą wyznaczenia zaleŜności pozwalających na zaplanowanie jednosegmentowej
trajektorii jest porównanie prędkości na końcu odcinka parabolicznego z prędkością na
odcinku liniowym z uwzględnieniem symetrii względem punktu środkowego.
Ostatecznie otrzymujemy równanie kwadratowe w którym niewiadomą jest czas trwania
odcinka parabolicznego
∆
t:
0
)
(
)
(
0
2
=
−
+
∆
−
∆
q
q
t
q
t
q
f
m
m
τ
&
&
&
&
gdzie
0
t
t
f
−
=
τ
Tylko jedno rozwiązanie posiada sens fizyczny:
m
f
q
q
q
t
&
&
0
2
2
2
−
−
−
=
∆
τ
τ
Aby wyraŜenie podpierwiastkowe było dodatnie naleŜy przyjąć wystarczająco długi czas
trwania segmentu:
m
f
q
q
q
&
&
0
2
−
⋅
≥
τ
Gdy w ostatnim wzorze zachodzi równość to czas trwania części liniowej spada do zera i
trajektoria składa się z faz rozpędzania i hamowania.
W bardziej ogólnym przypadku projektowania naleŜy rozwaŜyć trajektorię wielosegmentową
gdzie pod uwagę bierzemy niezaleŜnie kaŜdą składową wektora q
r
(t). JednakŜe wówczas
naleŜy mieć na uwadze Ŝe wewnętrzne punkty trajektorii stają się punktami przybliŜonymi. W
związku z tym zakłada się Ŝe trajektoria powinna w zasadniczych fragmentach kaŜdego z
segmentów przebiegać wzdłuŜ prostych łączących punkty węzłowe a w pobliŜu kaŜdego
punktu węzłowego wprowadzane jest połączenie paraboliczne pozwalające na gładkie
przejście do kolejnego segmentu.
Odchylenie od punktów pośrednich maleje w miarę wzrostu przyśpieszeń zespołów
napędowych które oczywiście mają zawsze ograniczone wartości .
Taki sposób nie budzi zastrzeŜeń w przypadku punktów pośrednich które wprowadzamy
tylko w celu ominięcia przeszkód.
Jednak metodę tę moŜna udoskonalić tak by zapewnić dokładne przejście przez punkt
węzłowy. W tym celu wprowadza się pseudo-punkty leŜące na prostej przechodzącej przez
zadany punkt i znajdujące się po obu jego stronach.
Minimalna odległość między tymi punktami musi być tak dobrana aby oba odcinki
paraboliczne połączyły się w punkcie węzłowym. Jest oczywiste Ŝe wprowadzenie dwóch
punktów pośrednich wydłuŜa czas realizacji trajektorii.
19. Ogólna struktura układu sterowania pozycyjnego robota.
Podstawowym zadaniem układu sterowania robota jest takie sterowanie zespołów
napędowych, aby efektor robota moŜliwie najdokładniej realizował zadaną trajektorię.
Najpopularniejszym rodzajem pracy robota jest realizacja ruchów jego manipulatora w
przestrzeni swobodnej, bez kontaktu z elementami otoczenia. Takie operacje jak przenoszenie
detali zawierają oczywiście fragmenty ruchów, w których występuje kontakt z otoczeniem,
lecz czas tego kontaktu jest stosunkowo niewielki w porównaniu do ogólnego czasu ruchu
efektora. Zatem warto tak planować trajektorię ruchów swobodnych i realizować ją w sposób
moŜliwie dokładny, aby zwiększyć szybkość wykonywania operacji technologicznych.
Układ sterowania robota, podobnie jak układ sterowania kaŜdego obiektu dynamicznego,
składa się z szeregu typowych podzespołów tworzących razem zamknięty układ regulacji.
Cechą zamkniętego układu regulacji jest bieŜące porównanie zachowania się przebiegów
wyjściowych układu z załoŜonymi i takie sterowanie obiektu, aby minimalizować uchyb
regulacji.
Ogólna struktura zamkniętego układu sterowania pozycyjnego robota.
Manipulator jest wielowymiarowym obiektem regulacji, stąd wszystkie zaznaczone na tym
rysunku sygnały są n – wymiarowymi wektorami, a przedstawione produkty są faktycznie
złoŜone z n podzespołów. Zespoły napędowe manipulatora są zasilane ze wzmacniaczy mocy,
w sposób narzucony przez regulator. Z kolei regulator wypracowuje swój sygnał wyjściowy
na podstawie porównania trajektorii zadanej z trajektorią rzeczywistą. Najczęściej
porównanie to ma postać wypracowania aktualnego wektora uchybu regulacji
e(t) = q
r
(t) - q(t), chociaŜ w niektórych układach regulacji uwzględnia się historię przebiegu
tego uchybu lub prędkość zmian uchybu regulacji
20.Klasyczny układ sterowania robota.
Większość robotów przemysłowych jest wyposaŜona w zespoły napędowe z silnikami prądu
stałego i przekładniami redukującymi prędkość obrotową. KaŜdy zespół napędowy jest
sterowany w układzie zamkniętym ze sprzęŜeniem pozycyjnym tworząc tak zwany
serwonapęd pojedynczej osi. Typową strukturę tego układu przedstawia poniŜszy rysunek.
Silnik prądu stałego jest sterowany prądowo ze wzmacniacza mocy generującego I
a
, moment
bezwładności wirnika J
m
. Wirnik silnika jest połączony ramieniem manipulatora przez
przekładnie mechaniczną o przełoŜeniu 1:k. Wielkość J
i
jest efektywną bezwładnością
ramienia widzianą z wału wyjściowego przekładni a b
f
jest współczynnikiem tarcia
wiskotycznego. Układ sensoryczny słuŜy do pomiaru połoŜenia złącza q(t) i jej prędkości
q*(t). Liniowy sterownik składa się ze wzmacniacza mocy, a jego sygnał wyjściowy jest
generowany na podstawie uchybu połoŜenia uwzględnianego ze współczynnikiem wagowym
k
p
i sprzęŜenia prędkościowego uwzględnianego ze współczynnikiem wagowym k
p
.
21.Metoda wyznaczonego momentu.
Model dynamiki sztywnego manipulatora: B(q)q’’+c(q,q’)+h(q)+f(q,q’)=
τ
gdzie B(q) inercja
manipulatora, c(q,q’) siły sprzeŜeń prędkościowych h(q) siły grawitacyjne f(q,q’) siły
tarcia.Na podstawie tego równania moŜemy dla kaŜdej zadanej trajektorii qr(t) wyznaczyć
odpowiadający jej przebieg wektora uogólnionych sił napędowych
τ
r(t) gdy trajektoria jest
dostatecznie gładka to moŜliwe jest wygenerowanie przebiegu wektora sił napędowych przez
zespół napędowy robota.
23.Struktura układu napędowego oraz ogólne właściwości napędów robotów.
Podstawowymi podzespołami systemu napędowego robota są: źródło energii pierwotnej,
konwerter energii, zespoły sterowanych zaworów, elementy wykonawcze – którymi są
siłowniki lub silniki wraz z przekładami, układy pomiarowe, regulatory poszczególnych osi
oraz sterownik nadrzędny. Pokazana struktura systemu napędowego robota nie zaleŜy od
tego jaki jest rodzaj napędu (elektryczny, hydrauliczny, pneumatyczny). W tych 3
przypadkach są inne elementy wykonawcze, zespoły sterowanych zaworów oraz konwerter
energii. Pozostałe elementy będą bardzo podobne, dotyczy to zwłaszcza sterownika
nadrzędnego i regulatorów osi. Urządzenia do pomiaru połoŜenia i prędkości osi w zasadzie
nie zaleŜą od czynnika energetycznego przekształcanego na pracę mechaniczną, a związane
są raczej z rodzajem złącza. Podstawowe właściwości napędów: Całkowita sprawność, Moc z
jednostki masy napędu, maksymalna siła z jednostki powierzchni czynnej.
24. Cechy charakterystyczne napędów elektrycznych robotów.
Napędy elektryczne są powszechnie stosowane w robotach stacjonarnych i mobilnych.
Spowodowane to jest m. in. następującymi ich zaletami:
-
Prosty sposób dostarczania i konwersji energii
-
Dobre dostosowanie do sterowania elektronicznego
-
Wysoka sprawność energetyczna
-
Dokładność i powtarzalność lepsza niŜ w przypadku napędów płynowych
-
Nie zanieczyszczanie środowiska i stosunkowo cicha praca
Napędy elektryczne stosowane w robotyce charakteryzują się zakresem generowanych
momentów napędowych od 0.1 – 100 Nm i mocą 0.1 – 10 kW. Kw. W odróŜnieniu od
silników elektrycznych ogólnego stosowania,
silniki do robotów musza posiadać
następujące cechy:
-
Mała bezwładność wirnika
-
DuŜa wartość momentu generowanego w stosunku do masy silnika
-
DuŜa wartość stosunku momentu szczytowego do nominalnego
-
DuŜy zakres regulowanej prędkości obrotowej
-
Gładki ruch wirnika z ograniczoną pulsacja prędkość i momentu
-
Wysoka precyzja pozycjonowania napędu
-
Czterokwadrantowa praca, czyli praca silnikowa lub prądnicowa w obu kierunkach
(moŜliwa do uzyskania dzięki zastosowaniu wzmacniaczz z modulacją szerokości
impulsów)
Charakterystyka zespołu napędowego zaleŜy takŜe od podzespołów mechanicznych i
elektronicznych oraz sposobu wewnętrznego sterowania. PoŜądane jest, aby układ napędowy
zachowywał się w przybliŜeniu jak element proporcjonalny, czyli aby sygnał wyjściowy
stosunkowo szybko i bez przeregulowań dochodził do zadanej wartości określonej przez
poziom sygnały wejściowego.
Istnieją 2 grupy napędów elektrycznych stosowanych w robotyce:
-
Napędy z wysokoobrotowym silnikiem i przekładnią redukcyjną – najpopularniejsze;
przekładnia redukuje prędkość i powiększa generowaną siłę; najczęściej stosowane są
silniki o 1500-6000 obr/min i przekładni 1:50 – 1:200
-
Bezprzekładniowe napędy z wysokomomentowym silnikiem
Rodzaje silników stosowanych w napędach z przekładnią redukcyjną:
-
Silniki pradu stałego z mechanicznym komutatorem i magnesami trwałymi
-
Bezszczotkowe silniki z magnesami trwałymi – większa niezawodność, bo nie ma
komutatora, mniejsze zakłócenia el-magn., lepsze odprowadzanie ciepła z uzwojeń,
mniejsza inercja wirnika, waga i wymiary niŜ klasyczny silnik
-
Silniki krokowe – z magnesami trwałymi na wirniku – mała sprawność <- ograniczony
zakres generowanych momentów, uŜywane w małych robotach; o zmiennej reluktancji –
przyspieszenie wirnika nieciągłe, wymagają specjalnej procedury sterującej zasilaniem
poszczególnych cewek, uŜywane w robotach specjalnych precyzyjnych
-
Silniki indukcyjne – prosta konstrukcja, niezawodność, duŜy zakres prędkości obrotowej i
moment napędowy przy zatrzymanym wirniku, duŜa sprawność energetyczna, trudne
sterowanie -> wąskie zastosowanie
25.Cechy napędów pneumatycznych.
Napędy pneumatyczne są obecnie stosowane w lekkich manipulatorach robotów
przemysłowych o stosunkowo małej dokładności i robotach kroczących bez względu na ich
strukturę kinematyczną. Podstawową zaletą układów pneumatycznych jest prostota
konstrukcji, niski koszt i wysoka niezawodność pracy. Napędy te mogą być równieŜ z
powodzeniem stosowane w środowiskach wybuchowych lub naraŜonych na promieniowanie
radioaktywne, gdzie stosowanie napędu elektrycznego jest wykluczone.
Cechy napędów pneumatycznych robotów: siłowniki jednostronnego działania ze spręŜyną
zwrotną, siłowniki dwustronnego działania, siłowniki beztłoczyskowe o sprzęŜeniu
magnetycznym.
26.Czujniki połoŜenia i prędkości stosowane w robotyce.
Podstawowymi sensorami wewnętrznymi pośrednimi są czujniki połoŜenia. Najczęściej
stosowane są następujące rodzaje czujników: potencjometry, transformatorowe czujniki
połoŜenia kątowego (resolwery), przetworniki kodowe, przetworniki obrotowe-impulsowe.
Prędkość w ruchu obrotowym czy liniowym moŜe być otrzymywana przez róŜniczkowania
połoŜenia względem czasu. W zasadzie moŜna stosować tę metodę w dwóch wariantach. W
pierwszym róŜniczkowanie odbywa się w sposób analogowy, w drugim cyfrowy. Obie te
metody są wykorzystywane we współczesnych robotach przemysłowych. Do pomiaru
prędkości z wykorzystaniem róŜniczkowania analogowego stosowane są prądniczki
tachometryczne (liniowy związek pomiędzy siłą elektromotoryczną indukowaną w cewce a
pochodną strumienia magnetycznego skojarzonego z tą cewką). Do cyfrowego stosuje się
przetworniki obrotowo-impulsowe lub obrotowo kodowe i opiera się na przybliŜaniu
pierwszej pochodnej połoŜenia kątowego przez odpowiednią róŜnicę pierwszego rzędu.
27.Czujniki sił i momentów stosowane w robotyce.
głównie stosujemy metody bezpośrednie –nadgarstkowy czujnik sił uogólnionych czujnik jest
przed uchwytem narzędzia czujnik ten zawiera element o kształcie krzyŜa na kaŜdym z
ramion są czujniki odkształceń działające na zasadzie zmienej rezystancji na podstawie
pomiaru rezystancji moŜna wnioskować o siłach działających w 3 kierunkach. Ortogonalnych
oraz momentow sił wokół tych osi.-czujniki palcowe umieszczane na wewnętrznych
częsciach chwytaka są to elementy z pasków elastycznych przewodzących na podstawie
pomiaru rezystancji uzyskujemy informacje o pochwyceniu elementu .Bardziej wyrafinowana
wersja to zespół pasków lub walcow łączonych w wiersze i kolumny co ułatwia ich
polączenie i zastosowanie.
28.Kierunki rozwoju systemów sensorycznych robotów.
Współczesny rozwój robotyki wskazuje na potrzebę szerszego wykorzystania zewnętrznych
sensorów połoŜenia. Są nimi zwykle czujniki optoelektroniczne, w tym laserowe, czujniki
ultradźwiękowe oraz systemy wizyjne, Szczególne nadzieje związane są z systemami
wizyjnymi robotów przemysłowych. Istnieje juŜ wiele udanych aplikacji przemysłowych z
wykorzystaniem kamer CDD. Zwykle stosowany jest standard telewizyjny polegający na
akwizycji obrazów z częstotliwością 25Hz. Systematycznie tanieją kamery i przetworniki o
bardzo duŜych szybkościach akwizycji obrazów (do 1000 na sekundę), które pozwalają juŜ na
efektywną realizację sprzęŜenia wizyjnego w torze sterowania robota przemysłowego.
29.Metody programowania robotów.
Programowanie robota to wprowadzenie do pamięci sterownika wszystkich informacji
niezbędnych do realizacji poŜądanych trajektorii i interakcji z otoczeniem. Metody
programowania robotów moŜna podzielić na trzy grupy: programowanie sekwencyjne,
programowanie przez uczenie, programowanie tekstowe.
Cechy programowania sekwencyjnego.
Programowanie sekwencyjne było powszechnie stosowane w starszych konstrukcjach
robotów z napędami hydraulicznymi lub pneumatycznymi i jest w dalszym ciągu stosowane
w konstrukcjach, które nie posiadają moŜliwości pomiaru bieŜących wartości zmiennych
złączowych. Na kaŜdej osi robota umieszczony jest zestaw mikro-wyłączników
mechanicznych lub fotoelektrycznych. Po zadaniu pozycji ograniczników ruchu osi,
programowanie sprowadza się do zadawania kolejności ruchów osi oraz zaciskania lub
zwalniania chwytaka. W kaŜdym kroku wykonywany jest ruch tylko jednej osi określonego
połoŜenia. W pierwszych robotach wykorzystujących tą metodę, programowanie odbywało
się za pomocą matrycy diodowej – wiersze odpowiadały poszczególnym osiom manipulatora,
a kolumny kolejnym krokom programu. Później matryca diodowa została zastąpiona
pamięciami elektrycznymi programowanymi przy uŜyciu prostej klawiatury.
Zaletą tej metody programowania jest bardzo duŜa prostota i czytelność struktury programu.
Podstawową wadą jest brak moŜliwości koordynacji ruchów w kilku złączach. Zatem metoda
ta jest odpowiednia do programowania prostych, powtarzalnych czynności manipulacyjnych,
typowych dla obsługi maszyn. Nie moŜna jednak realizować ruchów po zadanych torach,
gdyŜ naleŜałoby przedstawić je w postaci dyskretnych punktów w przestrzeni roboczej, a na
to nie pozwala z reguły pojemność pamięci.
Programowanie przez uczenie.
Polega na przeprowadzeniu manipulatora wzdłuŜ zadanej trajektorii przy jego ręcznym
sterowaniu, z wykorzystaniem panelu sterowania i zapamiętaniu tej trajektorii. Panel
sterowania słuŜy do niezaleŜnego zadawania ruchu poszczególnych osi, przy czym w fazie
uczenia sterowanie osi odbywa się w torze otwartym. Sygnały wyjściowe systemu sensorów
wewnętrznych są wykorzystywane do zapamiętywania trajektorii z dostatecznie duŜą
rozdzielczością. Panel sterowania często jest wyposaŜony w joystick ułatwiający
sprowadzenie efektora do poŜądanej pozycji. Z panelu sterowania wprowadzane są równieŜ
instrukcje dodatkowe: otwieranie i zamykanie chwytaka, czekanie przez określony czas,
nadawanie odpowiednich wartości dwustanowym wyjściom zewnętrznym uruchamiającym
inne urządzenia. Kolejne instrukcje podstawowe i dodatkowe są zapamiętywane w pamięci
programu i w trakcie jego wykonywania są poddawane interpretacji. Programowanie przez
uczenie zapewnia kontrolowanie procesu tworzenia instrukcji, umoŜliwia ich graficzne
przedstawianie na odpowiednich wyświetlaczach oraz poprawianie wprowadzonych
instrukcji.
Programowanie tekstowe.
Polega na tworzeniu w trybie off-line symbolicznego zestawienia poŜądanych operacji robota
przy uŜyciu języka programowania. Instrukcje języka opisują podstawowe ruchy robota,
działanie chwytaka i obsługę wejść i wyjść układu sterowania. Poszczególne pozycje
manipulatora są reprezentowane przez zmienne nazwowe stanowiące parametry formalne
instrukcji. Instrukcje wprowadzania danych przyporządkowują tym zmiennym wartości
rzeczywiste. Języki programowania tekstowego zawierają standardowe instrukcje skoków
bezwarunkowych i warunkowych, tworzenia pętli, arytmetyczne i logiczne. W zaleŜności od
wykorzystywanej metody opisu operacji wykonywanych przez robota, języki programowania
moŜna podzielić na:
– Języki programowania powstałe w wyniku rozszerzenia lub modyfikacji typowych
języków,
nazywane językami robotycznie-zorientowanymi.
– Języki programowania obiektowo-zorientowane.
30. Języki programowania robotów
Wykorzystywane są w programowaniu tekstowym. W zaleŜności od wykorzystywanej
metody opisu operacji wykonywanych przez robota, języki programowania dzielimy na 2
grupy:
♦
Języki programowania powstałe w wyniku rozszerzenia lub modyfikacji typowych języków,
nazywane językami robotycznie zorientowanymi (robot-oriented programming languages) –
program składa się z szeregu instrukcji zwanych makro-ruchami, które mogą dotyczyć opisu
przemieszczania poszczególnych ogniw łańcucha kinematycznego lub w zaawansowanych
wypadkowego ruchu efektora. Syntaktyka przypomina np. BASIC, FORTRAN, PASCAL,
LISP. Przykładowe języki to AL, VAL
♦
Języki programowania obiektowo-zorientowane (object-oriented lub task-level
programming languages) – bazują na zdefiniowaniu modelu otoczenia robota. Poszczególne
obiekty otrzymują nazwy i parametry określające ich kształt i wymiary oraz
przyporządkowanie lokalnych układów współrzędnych. W programie określa się kolejno,
które z obiektów mają być przemieszczane i w jaki sposób (pozycyjnie z zadaną wartością lub
siłowo w określonym kierunku). System programowania posiada edytor, kompilator lub
interpreter oraz interfejs wprowadzania danych obiektowych, np. z baz danych. Organizacja
przesyłu danych powinna być zgodna z systemami CAD/CAM. Przykład: AUTOPAS