Wstęp:
W wyniku realizacji algorytmu sterującego napędem robota (przestawianie dla układów klasy PTP i MP lub nadążanie dla układów CP), Tor rzeczywisty nie pokrywa się dokładnie z kształtem toru zaprogramowanego. Jest to wynikiem faktu, że zmiany kształtu trajektorii nie zachodzą w sposób ciągły. Odwzorowanie programowanej drogi nie jest płynne i często nie do końca pokrywa się z torem zadanym. W nowoczesnych układach sterowania błąd ten wynosi ok. 0.1 mm, co jest wartością w zupełności wystarczającą dla typowych zastosowań technologicznych, dla których istotne jest programowanie robota po złożonych trajektoriach, np. podczas spawania).
Do wyznaczenia parametrów zaprogramowanego kształtu trajektorii sterowanie ciągłe (CP) wymaga zastosowania w układzie sterowania specjalnego bloku programowego, tzw. interpolatora trajektorii, do określania współrzędnych pośrednich toru manipulatora (pomiędzy zadanymi wartościami współrzędnych pozycji początku i końca drogi), tzn. pozycji podporowych, gwarantujących zachowanie odpowiedniego jego kształtu.
A więc zadanie interpolatora polega na obliczaniu - zgodnie z odpowiednim algorytmem - punktów pośrednich xa x]t x2,......x„ trajektorii zgodnie z zadanym wzorcem drogi robota, co określane jest jako rodzaj interpolacji.
Rodzaj interpolacji (kształt trajektorii) wskazuje, według jakiego „szablonu", czyli wzorca matematycznego określającego kształt drogi, zostaną określone punkty pośrednie. Do podstawowych, stosowanych w sterowaniu robotów, rodzajów interpolacji należy interpolacja
a) liniowa - ruch robota „po linii prostej",
b) kołowa - ruch robota „po łuku okręgu",
c) TCP (Tool Centered Point) - interpolacja punktu charakterystycznego narzędzia robota (ruch robota bez zmiany miejsca, z zaczepionym w jednym miejscu punktem charakterystycznym narzędzia robota, ze zmianą orientacji.
Założenia ogólne ruchu interpolowanego
Ruch wzdłuż każdej z osi kartezjańskiego układu współrzędnych można zapisać w rozbiciu na składowe wektorowe przemieszczenia określonych względem każdej osi układu współrzędnych wg następujących relacji
Interpolacja liniowa polega na tym, że zmiana wartości sterujących podawanych na wyjściu interpolatora jest zależna od różnicy zadanej - programowanej prędkości v z chwilową wartością prędkości stycznej do toru ruchu robota,
Dane i rysunek poglądowy
Punkt P |
Prosta L |
Okrąg |
Odchyłka |
||||
X |
Y |
α |
L |
R |
δ |
I |
A |
-80 [mm] |
-25° |
40° |
110 [mm] |
140 [mm] |
-55° |
0,02 |
0,01 |
Wzory:
Alfa teoretyczne wynosi: 1.186137080
Beta wynosi: 0.684713185
a [szacowane] wynosi: 22.607240677
a wynosi: 23
Alfa rzeczywista wynosi: 1.165881991
-> gamma
-> xn
-> yn
Teraz liczymy ale tylko te z lokalnego układu
Poczatek luku interpolowanego:
Gamma: 0
x: -140.01
y: 0
n wynosi: 0
Gamma wynosi: 0.684713185
x wynosi: -140.000000000
y wynosi: 1.673149586
n wynosi: 1
Gamma wynosi: 3.016477108
x wynosi: -139.815994263
y wynosi: 7.367765903
n wynosi: 2
Gamma wynosi: 5.348241329
x wynosi: -139.400466919
y wynosi: 13.050181389
n wynosi: 3
Gamma wynosi: 7.680005550
x wynosi: -138.754089355
y wynosi: 18.710985184
n wynosi: 4
Gamma wynosi: 10.011769295
x wynosi: -137.877929688
y wynosi: 24.340805054
n wynosi: 5
Gamma wynosi: 12.343533516
x wynosi: -136.773437500
y wynosi: 29.930315018
n wynosi: 6
Gamma wynosi: 14.675295830
x wynosi: -135.442459106
y wynosi: 35.470252991
n wynosi: 7
Gamma wynosi: 17.007061005
x wynosi: -133.887176514
y wynosi: 40.951461792
n wynosi: 8
Gamma wynosi: 19.338825226
x wynosi: -132.110168457
y wynosi: 46.364852905
n wynosi: 9
Gamma wynosi: 21.670589447
x wynosi: -130.114395142
y wynosi: 51.701461792
n wynosi: 10
Gamma wynosi: 24.002353668
x wynosi: -127.903152466
y wynosi: 56.952449799
n wynosi: 11
Gamma wynosi: 26.334117889
x wynosi: -125.480094910
y wynosi: 62.109127045
n wynosi: 12
Gamma wynosi: 28.665880203
x wynosi: -122.849250793
y wynosi: 67.162940979
n wynosi: 13
Gamma wynosi: 30.997644424
x wynosi: -120.014953613
y wynosi: 72.105545044
n wynosi: 14
Gamma wynosi: 33.329410553
x wynosi: -116.981910706
y wynosi: 76.928741455
n wynosi: 15
Gamma wynosi: 35.661174774
x wynosi: -113.755149841
y wynosi: 81.624542236
n wynosi: 16
Gamma wynosi: 37.992935181
x wynosi: -110.340011597
y wynosi: 86.185157776
n wynosi: 17
Gamma wynosi: 40.324699402
x wynosi: -106.742141724
y wynosi: 90.603057861
n wynosi: 18
Gamma wynosi: 42.656463623
x wynosi: -102.967506409
y wynosi: 94.870918274
n wynosi: 19
Gamma wynosi: 44.988227844
x wynosi: -99.022354126
y wynosi: 98.981674194
n wynosi: 20
Gamma wynosi: 47.319992065
x wynosi: -94.913223267
y wynosi: 102.928520203
n wynosi: 21
Gamma wynosi: 49.651756287
x wynosi: -90.646911621
y wynosi: 106.704902649
n wynosi: 22
Gamma wynosi: 51.983520508
x wynosi: -86.230484009
y wynosi: 110.304580688
n wynosi: 23
Gamma wynosi: 54.315284729
x wynosi: -81.671264648
y wynosi: 113.721603394
Koniec luku interpolowanego:
Gamma: 55
x: -80.306427002
y: 114.689476013
Koniec prostej L:
Punkt konca odcinka L to: (4.264888287 , 45.706638336)
Wektor przesuniecia
Xn+144.274887085
Yn + 45.706638336
Teraz liczymy układ globalny
Przesuniety poczatek luku interpolowanego:
x: 4.264892578
y: 45.706638336
n wynosi: 0
przesuniety x wynosi: 4.274887085
przesuniety y wynosi: 47.379787445
n wynosi: 1
przesuniety x wynosi: 4.458892822
przesuniety y wynosi: 53.074405670
n wynosi: 2
przesuniety x wynosi: 4.874420166
przesuniety y wynosi: 58.756820679
n wynosi: 3
przesuniety x wynosi: 5.520797729
przesuniety y wynosi: 64.417625427
n wynosi: 4
przesuniety x wynosi: 6.396957397
przesuniety y wynosi: 70.047439575
n wynosi: 5
przesuniety x wynosi: 7.501449585
przesuniety y wynosi: 75.636955261
n wynosi: 6
przesuniety x wynosi: 8.832427979
przesuniety y wynosi: 81.176895142
n wynosi: 7
przesuniety x wynosi: 10.387710571
przesuniety y wynosi: 86.658096313
n wynosi: 8
przesuniety x wynosi: 12.164718628
przesuniety y wynosi: 92.071487427
n wynosi: 9
przesuniety x wynosi: 14.160491943
przesuniety y wynosi: 97.408096313
n wynosi: 10
przesuniety x wynosi: 16.371734619
przesuniety y wynosi: 102.659088135
n wynosi: 11
przesuniety x wynosi: 18.794792175
przesuniety y wynosi: 107.815765381
n wynosi: 12
przesuniety x wynosi: 21.425636292
przesuniety y wynosi: 112.869583130
n wynosi: 13
przesuniety x wynosi: 24.259933472
przesuniety y wynosi: 117.812179565
n wynosi: 14
przesuniety x wynosi: 27.292976379
przesuniety y wynosi: 122.635375977
n wynosi: 15
przesuniety x wynosi: 30.519737244
przesuniety y wynosi: 127.331176758
n wynosi: 16
przesuniety x wynosi: 33.934875488
przesuniety y wynosi: 131.891799927
n wynosi: 17
przesuniety x wynosi: 37.532745361
przesuniety y wynosi: 136.309692383
n wynosi: 18
przesuniety x wynosi: 41.307380676
przesuniety y wynosi: 140.577560425
n wynosi: 19
przesuniety x wynosi: 45.252532959
przesuniety y wynosi: 144.688308716
n wynosi: 20
przesuniety x wynosi: 49.361663818
przesuniety y wynosi: 148.635162354
n wynosi: 21
przesuniety x wynosi: 53.627975464
przesuniety y wynosi: 152.411544800
n wynosi: 22
przesuniety x wynosi: 58.044403076
przesuniety y wynosi: 156.011215210
n wynosi: 23
przesuniety x wynosi: 62.603622437
przesuniety y wynosi: 159.428237915
Przesuniety koniec luku interpolowanego:
x: 63.968460083
y: 160.396118164
//Rysunek //
Wnioski
Strategia działań interpolacyjnych polega na podziale całego odcinka realizowanej drogi / pomiędzy pozycjami początku Pf i końca na etapy, zwane sekcjami, wyznaczanymi w stałych odcinkach czasu. Sekcje wyznaczają kolejne pozycje pośrednie - podporowe trajektorii, czyli położenia w przestrzeni, przez które musi przejść planowana trajektoria, aby pożądany jej kształt został osiągnięty. Etap ten nazywany jest planowaniem trajektorii.
Uzyskiwane na podstawie' przeliczeń interpolacyjnych współrzędne pozycji pośrednich (podporowych) są wartościami dyskretnymi, a nie ciągłymi. Wszystkie parametry potrzebne do wyliczeń są ustalane dla konkretnych warunków czasu i miejsca. Otrzymujemy w ten sposób współrzędne początku i końca poszczególnych sekcji. W następnym kroku dokonuje się, zgodnie z algorytmem obliczeń kinematyki odwrotnej, obliczeń położeń poszczególnych osi manipulatora Ppi i Pja, dla których układ sterowania wysyła rozkazy realizacji ruchu dla każdej z osi układu kinematycznego manipulatora, czyli formułuje wektor sterowania q. "Rozkazy te wysyłane są zgodnie z wymaganym algorytmem sterowania napędami w danym ruchu. Oczywiście, mechanizm ten nie jest idealny. Położenia współrzędnych początku P/>i i końca sekcji Pu nie decydują wyłącznie o jakości trajektorii (gładkości), ale wpływają na to, że jest ona realizowana dokładnie z przyjętym wzorcem drogi. W obrębie każdej sekcji, tj. pomiędzy dwoma kolejnymi położeniami wyznaczającymi jej początek i koniec, realizowane zadanie ruchu robota jest zadaniem typowym, tzn. dokonującym się zgodnie z podstawowym algorytmem sterowania PTP i osiąganym odpowiednio do możliwości ruchowych manipulatora (inaczej dla struktur translacyjnych, inaczej dla rotacyjnych, a jeszcze inaczej dla translacyjno-rotacyjnych T/R).
Dokładność odtworzenia wzorca pożądanej trajektorii ej (odchyłka dynamiczna) zależy głównie od programowanej szybkości ruchu manipulatora (oczywiście, przy założeniu, że model matematyczny maszyny i jej ruchu jest wystarczająco dokładny). Istotnym parametrem podziału planowanej drogi robota na sekcje jest stały interwał czasowy względem którego dokonywane jest wyznaczanie kolejnych sekcji niezależnie od szybkości robota, Interwał czasowy jest podwielokrotnością taktu zegara układu sterowania (dla typowych częstotliwości zegara układów sterowania w granicach kilkudziesięciu MHz - jest to wartość w zupełności wystarczająca do uzyskania pożądanej dokładności odwzorowania trajektorii robota). Częstotliwość wyznaczania punktów kontroli trajektorii Pu i Pa, czyli wyznaczania sekcji ustala się doświadczalnie, osobno dla każdego typu sterownika, na etapie jego projektowania i konfiguracji. O jakości, opisywanej tzw. gładkością trajektorii interpolowanej, decyduje ilość wyznaczanych punktów pośrednich dla stałego interwału czasowego, dla którego dokonywane jest wyznaczanie kolejnej sekcji. Zatem im szybszy ruch robota po zadanej trajektorii w ruchu interpolowanym, tym mniej sekcji, czyli mniej punktów podporowych związanych z zadanym wzorcem drogi (rodzajem interpolacji), a tym samym mniej gładka trajektoria. Zatem zależność odwrotna drogi, prędkości i liczby punktów podporowych też jest prawdziwa.
5