interpolacje projekt2, Automatyka i Robotyka, Semestr 1, Podstawy Sterowania, projekt1-Interpolacja


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

0x08 graphic

Wzory:

0x01 graphic

0x01 graphic

Alfa teoretyczne wynosi: 1.186137080

0x01 graphic

0x01 graphic

Beta wynosi: 0.684713185

0x01 graphic

a [szacowane] wynosi: 22.607240677

a wynosi: 23

0x08 graphic

Alfa rzeczywista wynosi: 1.165881991

0x01 graphic
-> gamma

0x01 graphic
-> xn

0x01 graphic
-> 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

0x01 graphic



Wyszukiwarka