• Nie Znaleziono Wyników

Algorytmy wysokiej dokładności śledzenia trajektorii robota przemysłowego

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy wysokiej dokładności śledzenia trajektorii robota przemysłowego"

Copied!
25
0
0

Pełen tekst

(1)

Algorytmy wysokiej dokładności śledzenia trajektorii

robota przemysłowego

05.12.2019

mgr inż. Wojciech Zwonarz

promotor: prof. dr hab. inż. Andrzej Turnau

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie

AGH University of Science and Technology

(2)

Agenda

● Trajektorie w robotyce

● Interpolacje Beziera dla zmniejszenia ilości obliczeń

● Kinematyka i dynamika robotów

● Typowe algorytmy regulacji

● Sterowanie predykcyjne dla śledzenia trajektorii

● Funkcje kary za zbliżanie się do przeszkody i ograniczeń oraz za niedokładne śledzenie

● Podsumowanie

(3)

Trajektoria ruchu

W pracy opisano trzy elementarne trajektorie:

 Helisa – linia śrubowa

 Elipsa

 Prosta

(4)

Interpolacja krzywymi Beziera

Interpolacja typu spline

krzywymi Beziera drugiego rzędu okazała się być

najdokładniejszym

sposobem odwzorowania trajektorii w prostej postaci wielomianowej.

X(t

0

)

X(t

1

) X(t

k

)

X(t

2

)

P

2

P

1

P

3

(5)

Krzywe Beziera drugiego rzędu

Krzywe B-sklejane są to ,,sklejone'' wielomiany

niskiego stopnia, zwykle nie większego niż trzeci. Są one regularne w rzędzie zależnym od stopnia wielomianu.

Podstawowe wzory opisujące aproksymowaną drogę

efektora mają podaną postać.

p ( t ) = ∑

i=0 m−n−1

p

i

N

in

( t ) , t ∈ ⟨u

n

,u

m−1

N

i

0 ( t ) = { 1 dla t 0 dla t [ [ u u

ii

,u ,u

i+1i+ 1

] ] }

N

in

( t ) = t−u

i

u

i+n

−u

i

N

in−1

( t ) + u

i+n+ 1

−t

u

i+n+ 1

−u

i+1

N

i+1n−1

( t ) , dla n> 0 p (t)= [ P 1 P 2 P 3 ] [ −2 1 1 −2 1 2 0 0 0 ] [ t 1 t 2 ]

P

i

= { v 2 X X ( ( t ( t t

i−1ii

) ) –X –X ) ( ( v t t

i −1i −1

( t

i

) ) ) –v dla v ( t

i

) t

i

( t +v

i−1

( ) t =v

i −1

( ) t t

ii −1

) dla v ( t

i−1

) v ( t

i

) }

(6)

Kinematyka i dynamika robotów

Macierz transformacji

pomiędzy członami i oraz i–1.

Dynamika uzyskana przy pomocy równania Eulera- Lagrange'a. Na podstawie kinematyki uzyskanej przy pomocy notacji DH.

Wynikowe równanie jest nieliniowe względem

zmiennych przegubowych.

L=E kE p d dt

L

∂ ˙q − ∂ L

q

D(q) ¨q+C(q , ˙q) ˙q+g(q)+f (q , ˙q)=τ E K ( q , ˙q)= 1

2 ˙q Ti=1 n [ m i J v

i

( q) T J v

i

( q)

+ J ω

i

( q) T R i ( q) I i R i ( q) T J ω

i

( q) ] ˙q

E P (q)= ∑ i=1 n g T r ci m i

A i i−1 = RotZ (Θ i ) TranZ (d i ) TranX (a i ) RotX (α i ) Dynamika:

Kinematyka:

(7)

Sterowniki robotów

Typy regulatorów

omawiane w pracy

 Klasyczne

 Adaptacyjne

 Neuronowe

 Predykcyjne

(8)

Regulatory neuronowe

Regulatory wzbogacone o sieci neuronowe zwykle składają się z członu PD oraz sieci neuronowej ze sprzężeniem w przód, która pozwala na

redukcję błędu od

elementów nieliniowych

dynamiki.

(9)

Regulatory predykcyjne

Regulator predykcyjny składa się z bloku predykcyjnego oraz bloku poszukiwania minimum funkcji kosztu sterowania.

¯y (t ) y (t)

˙y (t ) v(t) u(t)

¯ u(t)

Wyznaczone sterowanie Zadana trajektoria

Próbne sterowanie Wyjście obiektu

Wyjście modelu obiektu

Pochodna po czasie wyjścia obiektu C Regulator

O ¯ Model obiektu

(10)

Wybór najlepszego sterowania

Robot dwuczłonowy jako obiekt regulacji

predykcyjnej.

(11)

Funkcja kosztu

Koszt sterowania można opisać jako błąd na

zadanym horyzoncie czasowym predykcji.

J ( u 1 ,u 2 ,h ) =

t= 0 h

|q ( t ) − v ( t ) | 2 dt

(12)

Predykcja numeryczna

Predykcja używa metod numerycznych.

Najprostsza predykcja:

q i+1 =q i + ˙q id sim

(13)

Poszukiwanie minimum

Metoda Powella jest

iteracyjną bezgradientową metodą poszukiwania

minimum funkcji wielowymiarowej.

Jako metody poszukiwania na prostej, użyto złotego podziału. Jest ona prosta w implementacji oraz

szybka w wykonaniu.

(14)

Sterowanie przy pomocy funkcji kary

Użycie funkcji kary pozwala na zwiększenie liczby źródeł błędu. Oznacza to, że podczas poszukiwania minimum możliwym jest jednoczesne podążanie za trajektorią oraz omijanie przeszkód.

f p ( t ) =f q ( x ( t ) ) +f R ( x ( t ) ) +f o ( x ( t ) )

f p f q

f R f o Funkcja kary

Kara od położenia

Kara od ograniczeń robota

Kara od przeszkód

(15)

Kary od położenia końcowego i ograniczeń robota

Odległość pomiędzy położeniem końcówki robota

w danym ruchu oraz docelowym położeniem w kroku.

f ¯ x ( ¯x ( t n ) x ( t n ) ) 2

Kara która jest nakładana na regulator za przekroczenie ograniczeń konstrukcyjnych robota. Przykład dla

maksymalnej dopuszczalnej zmiany położenia w jednym kroku.

f R ( x ( t n ) ρ x v ( t n−1 ) ) 4

(16)

Kara od przeszkody

Kara za zbytnie zbliżenie się do przeszkody o zadanej wielkości.

Przykład jednowymiarowy.

f o 1 ( x ( t n ) ) =arctan ( ξ n ( x ( t n ) ( o −r̅ o ) ) ) +

− arctan ( ξ n ( x ( t n ) ( o +r̅ o ) ) )

(17)

Kara dla wielowymiarowej przeszkody

Przykład jednowymiarowy można z łatwością rozszerzyć do N wymiarów:

Dla M przeszkód w N wymiarowej przestrzeni funkcja kary przyjmuje postać:

f o N = ∏

i=1 N

f o i ( x ( t ) )

f o = ∑

i=1 M

f o N ( x ( t ) )

Kara dla wielu przeszkód

(18)

Funkcja kary w przestrzeni 2D

Dla przestrzeni dwu-

wymiarowej możliwym jest narysowanie wykresu funkcji kary.

Funkcja kary z jedną

przeszkodą w zasięgu ruchu

manipulatora.

(19)

Detekcja przeszkód

Detekcja ruchu

Detekcja koloru

Wykryta przeszkoda

(20)

Obliczanie pozycji 3D

Wyznaczenie położenia przy pomocy prostego przekształcenia geometrycznego

X 1 =F C

1

+ ⃗ a 1 − ( a 1 · ⃗ a 2 ) ( a 2 · ⃗f ) + ( a 1 · ⃗f )( a 2 · ⃗ a 2 ) ( a 1 ·⃗ a 1 )( a 2 · ⃗ a 2 ) ( a 1 · ⃗ a 2 ) ( a 1 · ⃗ a 2 )

X 2 =F C

2

+⃗ a 2 − ( a 1 · ⃗ a 2 )( a 1 · ⃗f ) + ( a 2 · ⃗f ) ( a 1 · ⃗ a 1 ) ( a 1 · ⃗ a 1 ) ( a 2 · ⃗ a 2 ) ( a 1 · ⃗ a 2 ) ( a 1 · ⃗ a 2 )

X est = X 1 +X 2

2

(21)

Pomiary rzeczywiste z dwóch kamer

(22)

Błąd podczas manewru omijania

Funkcja błędu lepiej obrazuje faktyczne zachowanie robota.

W pierwszej fazie robot zwalniał aby nie uderzyć w przeszkodę.

Gdy przeszkoda została

ominięta robot, znów

mógł przyspieszyć.

(23)

Manewr omijania

Wynik eksperymentu rzeczywistego

omijania przeszkody znajdującej się na torze ruchu.

Regulator omija przeszkodę bez interwencji

operatora.

(24)

Kara w trakcie trwania ruchu

Funkcja kary osiąga maksimum w chwili mijania przeszkody.

Po manewrze

ominięcia funkcja

kary maleje.

(25)

Podsumowanie

Oryginalnym wkładem autora jest:

implementacja złożonej procedury polegającej na przejściu od planowanej trajektorii, z zastosowaniem punktów kontrolnych, przez równania kinematyki odwrotnej do przestrzeni

przegubowej robota, a następnie konstrukcji trajektorii

interpolacyjnej przy użyciu krzywych Beziera, co pozwala na jej użycie w funkcji kary,

eksperymentalna generacja sterowań, prowadzona przy użyciu optymalizacji on-line, dla unikania przeszkód na

ścieżce ruchu robota oraz dla uwzględnienia ograniczeń pola

ruchu geometrią konstrukcji robota.

Cytaty

Powiązane dokumenty

Uroczyście zapraszam na publiczną obronę mojej rozprawy doktorskiej pt.. Algorytmy wysokiej dokładności śledzenia trajektorii

Estymacja SNR przy użyciu filtrów cyfrowych dla łączy … 195 Wpływ zakłóceń pochodzenia dyspersyjnego jest na tyle znaczący, że długo- dystansowa transmisja optyczna

Dla idealnie sprężystych ciał naprężenia w nich wywoływane są jednoznacznymi funkcjami odkształceń.. Przy niewielkich odkształceniach własności

Problemu tego można uniknąć, dzieląc przedział całkowania na m podprzedziałów, w których przeprowadza się całkowanie kwadaraturami niższych rzędów a wyniki całkowania

Problemu tego można uniknąć, dzieląc przedział całkowania na m podprzedziałów, w których przeprowadza się całkowanie kwadaraturami niższych rzędów a wyniki całkowania

Problemu tego można uniknąć, dzieląc przedział całkowania na m podprzedziałów, w których przeprowadza się całkowanie kwadaraturami niższych rzędów a wyniki całkowania

Problemu tego można uniknąć, dzieląc przedział całkowania na m podprzedziałów, w których przeprowadza się całkowanie kwadaraturami niższych rzędów a wyniki całkowania

3.. W sprawozdaniu należy dodatkowo: a) przedyskutować dokładność oszacowania wartości całki ze względu na stopień wielomianu podcałkowego i liczbę użytych węzłów,