MODELOWANIE INśYNIERSKIE ISSN 1896-771X 36, s. 87-94, Gliwice 2008
IDENTYFIKACJA MODELU MATEMATYCZNEGO ROBOTA INSPEKCYJNEGO
J
ÓZEFG
IERGIEL, K
RZYSZTOFK
URCKatedra Mechaniki Stosowanej i Robotyki, Politechnika Rzeszowska e-mail: bartek@prz.edu.pl, kkurc@prz.edu.pl
Streszczenie. W pracy do identyfikacji modelu matematycznego robota inspekcyjnego zastosowano sztuczne sieci neuronowe z radialnym rozszerzeniem funkcyjnym w postaci funkcji Gaussa. Rozwiązanie problemu zostało przeprowadzone na drodze numerycznej.
1. WSTĘP
Przy modelowania manipulatorów i robotów popełnia się wiele niedokładności związanych np. z ocenami parametrów modelu lub nieuwzględniania niektórych zjawisk. Z reguły model matematyczny nie jest dokładnie znany. Poprawna analiza dynamiki układów złoŜonych, do jakich zalicza się roboty inspekcyjne, wymaga identyfikacji dynamicznych równań ruchu [4][6]. Postać matematyczną opisu zjawisk fizycznych uzyskano, stosując równanie Lagrange’a II rodzaju.
2. IDENTYFIKACJA MODELU MATEMATYCZNEGO
Do opisu ruchu robota inspekcyjnego (rys.1.a) przyjęto model pokazany na (rys.1.b).
Rys.1. a) Robot inspekcyjny, b) model zastępczy robota
P
Do badań wykorzystano dynamiczne równanie ruchu robota inspekcyjnego wyprowadzone przez autorów w pracach [1][2][3][5]. Ma ono postać:
( ) ( ) ( ) ( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
2 2 2 2 2 2 2
4 1 2 3 4
2 2 2 2 2 2
1 4 4 2
2 2 2 2 2 2 2 2 2
4
4 4 5 4
2 2 2 2
2 2 2 2 2 2
3600 3 10800
60 1 2 sin
3 cos
3600 3 cos
cos cos cos cos
Fy s
s Gx s
k k k s
By s Cy s
s s
k k k k
I z
l r z tg m m m I l r z tg
z z r z m l l r z tg
I z I z l
m l r z tg m z l
z z z z r
ϕ ϕ
π π ϕ
ϕ α
ϕ ϕ
π δ δ δ δ
+ + + +
+ +
+ −
+
+ + + + +
&& ( ( ))
( ) ( ) ( ) ( )( ) ( ) ( )( )
( ) ( )( ) ( ) ( )( )
( )
( ) ( ( ) )
( )
( ) ( )
1 1 4 1 4 2 4
2
4 5 2 2
3 4 4 4
180 180 sin 60 sin
cos cos
3cos sin
60 sin 60 sin
cos cos
k
s s s
k k k
s s s
k k k
z
z tg N f l r z tg G l r G z tg l r
z r z z
z l G r N f M
G z tg l r G z tg l r
z z z r
ψ β
π
ϕ ϕ β β ϕ
π π π ϕ
δ
ϕ π γ
β ϕ γ ϕ
π π δ π δ
+ + +
+ +
++ + + + + + =
&&
(1)
gdzie: m1, m2, m3, m4, m5 to masy podzespołów robota, IBy, IBz, ICy, ICz, IFy, IFz, IGx to masowe momenty bezwładności podzespołów robota określone względem odpowiednich osi, N1, N2 to siły nacisku kół, f1, f2 to ramiona oporu toczenia kół, M to moment napędowy silnika, l4 to odległość wynikająca z geometrii układu, r to promień kół.
Po przekształceniach równanie (1) zapisano w przestrzeni stanu:
(
, ,) (
, ,)
( )A B f G u t
α& = α+ α β γ + α β γ (2)
lub w postaci wektorowej:
( )
1 1 4
2 3
2 2 1 1
0 1 0 1
0 0 1 ( )
s s s u t
s s
α α
α α β
= + − + +
& &&
& (3)
gdzie:
( ) ( ) ( ) ( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
2 2 2 2 2 2 2
4 1 2 3 4
1 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
4
4 4 5 4
2 2 2 2
2 2 2 2 2 2
3600 3 10800
3 cos
3600 3 cos
cos cos cos cos
Fy s
s Gx s
k k k
By s Cy s
s s
k k k k
I z
l r z tg m m m I l r z tg
s z z r z
I z I z l
m l r z tg m z l
z z z z r
ϕ ϕ
π π
ϕ
ϕ ϕ
π δ δ δ δ
+ + + +
= + + +
+ + + +
( ) ( ) ( ( ) )
1 4 4 2
60 s 1 2sin
k
m l l r z tg
s z
ϕ ψ
π
+ −
=
( ) ( ) ( ) ( )( ) ( ) ( )( )
( ) ( )( ) ( ) ( )( )
( )
( ) ( ( ) )
( )
1 1 4 1 4 2 4
3
4 5 2 2
3 4 4 4
180 180 sin 60 sin
3cos sin
60 sin 60 sin
cos cos
s s s
k k k
s s s
k k k
z tg N f l r z tg G l r G z tg l r
s z r z z
z l G r N f
G z tg l r G z tg l r
z z z r
ϕ ϕ β β ϕ
π π π
ϕ π γ
β ϕ γ ϕ
π π δ π δ
+ + +
= + + +
+ + +
+ +
( ) ( )
2
4
cos s cosϕ
= δ
W zaleŜnościach s1, s2, s3, s4 występują nieliniowe parametry: , ,β γ δ . Występujące w równaniu (2) f
(
α β γ, ,)
i G(
α β γ, ,)
to nieliniowe funkcje:( ) (
2 3)
1
, , 1
f s s
α β γ = −s β&&+
( )
41
, , s
G α β γ = s
a u t
( )
=M t( )
to wymuszenie.Do rozwiązania zadania identyfikacji modelu matematycznego robota zastosowano sztuczne sieci neuronowe z radialnym rozszerzeniem funkcyjnym w postaci funkcji Gaussa.
Zapisano dynamiczne równanie ruchu robota inspekcyjnego w postaci (2).
Dodając i odejmując od równania (2) wyraŜenie Amα, gdzie Am jest odpowiednio dobraną stabilną macierzą projektową [6], otrzymano:
( ) (
, ,) (
, ,)
m m
A A A B f G u
α&= α+ − α + α β γ + α β γ (4)
Równanie to definiuje strukturę identyfikatora
( )
ˆ(
ˆ) (
ˆ ˆ)
ˆ Amˆ A Am B f , ,ˆ G , ,ˆ u
α&= α+ − α + α β γ + α β γ (5)
gdzie: ˆα jest estymatą wektora stanu α , zaś fˆ
(
α β γ, ,ˆ ˆ)
i Gˆ(
α β γ, ,ˆ ˆ)
to estymaty nieliniowych funkcji występujących w równaniu (4).Błąd estymacji stanu zdefiniowano jako α α α% = − ˆ.
Odejmując równanie (5) od równania (4), otrzymano opis analizowanego zadania identyfikacji w przestrzeni błędów
(
, , , ,ˆ ˆ) (
, , , ,ˆ ˆ)
Am B f G u
α&% = α%+ % α β γ β γ + % α β γ β γ (6) gdzie:
m m mˆ
A α% = Aα −A α (7)
(
, , , ,ˆ ˆ) (
, ,)
ˆ(
, ,ˆ ˆ)
f% α β γ β γ = f α β γ − f α β γ (8)
(
, , , ,ˆ ˆ) (
, ,)
ˆ(
, ,ˆ ˆ)
G% α β γ β γ =G α β γ −G α β γ (9)
Do wyznaczenia funkcji fˆ
(
α β γ, ,ˆ ˆ)
i Gˆ(
α β γ, ,ˆ ˆ)
zastosowano sieci neuronowe.PoniewaŜ funkcje f
(
α β γ, ,)
i G(
α β γ, ,)
mają być aproksymowane za pomocą sieci neuronowych, więc:(
, ,)
fT f(
, ,)
f(
, ,)
f α β γ =W S α β γ +ε α β γ (10)
(
, ,)
GT G(
, ,)
G(
, ,)
G α β γ =W S α β γ +ε α β γ (11)
gdzie:
(
, ,)
ε α β γf i ε α β γG
(
, ,)
- niedokładność aproksymacji funkcji f(
α β γ, ,)
i G(
α β γ, ,)
przez sieci neuronowe,
Wf i WG - macierz wag połączeń neuronowych,
(
, ,)
Sf α β γ i SG
(
α β γ, ,)
- wektory funkcji bazowych.Sieci te mają strukturę sieci z radialnym rozszerzeniem funkcyjnym w postaci funkcji Gaussa:
( )
exp -(
- 2)
j j
S x = β x c (12)
gdzie: cj oznacza j-te centrum.
Ogólna struktura tego układu jest pokazana na rys.2.
Rys.2. Struktura sieci radialnych realizujących aproksymację funkcji fˆ
(
α β γ i , ,ˆ ˆ)
Gˆ(
α β γ , ,ˆ ˆ)
Przyjmując estymaty funkcji występujących w równaniach (8) i (9) w postaci
( ) ( )
ˆ , ,ˆ ˆ ˆfT f , ,ˆ ˆ
f α β γ =W S α β γ (13)
( ) ( )
ˆ , ,ˆ ˆ ˆGT G , ,ˆ ˆ
G α β γ =W S α β γ (14)
ZaleŜności (8) i (9) zapisano w postaci
(
, , , ,ˆ ˆ)
fT f(
, , , ,ˆ ˆ)
f(
, ,)
f% α β γ β γ =W S% α β γ β γ +ε α β γ (15)
(
, , , ,ˆ ˆ)
GT G(
, , , ,ˆ ˆ)
G(
, ,)
G% α β γ β γ =W S% α β γ β γ +ε α β γ (16) gdzie:
(
, ,)
ε α β γf i ε α β γG
(
, ,)
- to błędy aproksymacji sieci, W% i f W% - błędy estymacji wag sieci. GRównanie (6) będzie miało postać
(
, , , ,ˆ ˆ) (
, , , ,ˆ ˆ)
T T
m f f G f G
A B W S W S B R R
α&% = α%+ % α β γ β γ + % ∆ α β γ β γ + + (17) gdzie:
(
, ,)
f f
R =ε α β γ , RG =ε α β γG
(
, ,)
u, S∆(
α β γ β γ, , , ,ˆ ˆ)
= ⊗u SG(
α β γ β γ, , , ,ˆ ˆ)
.Stabilność układu zbadano na podstawie kryterium stabilności Lapunowa. Wiadomo, Ŝe układ dynamiczny będzie stabilny, jeŜeli istnieje dla niego funkcja Lapunowa [4][6].
Funkcję tę przyjmuje się w postaci:
1 1
1 1 1
2 2 2
T T T
f f f G G G
V = α α% P%+ trW F W% − % + trW F W% − % (18)
Aby funkcja ta była funkcją Lapunowa, jej pochodna musi być ujemna.
(
, , , ,ˆ ˆ) (
, , , ,ˆ ˆ)
1 1T T T T T T
f f G f G f f f G G G
V&= −α α α% Q%+ % PB W S % α β γ β γ +W S% ∆ α β γ β γ +R +R +trW F W% − %& +trW F W% − &% Uczenie wag sieci przebiega zgodnie z zaleŜnościami:
(
, , , ,ˆ ˆ)
Tf f f
W&% = −F S α β γ β γ α% PB (19)
(
, , , ,ˆ ˆ)
TG G
W&% = −F S∆ α β γ β γ α% PB (20) Z macierzowego równania Lapunowa:
E PT +PE= − = − Q I (21)
określono macierz hermitowską:
1 2
2 3
p p
P p p
=
(22)
rozwiązując równanie:
1 2 1 2
11 21 11 12
2 3 2 3
12 22 21 22
-1 0 0 -1
p p p p
e e e e
p p p p
e e e e
+ =
Ostatecznie algorytm uczenia wag (19) i (20) ma postać:
(
ˆ)
ˆf f f , , , , ˆ T
W& =F S α β γ β γ α% h (23)
(
ˆ)
ˆG G G , , , , ˆ T
W& =F S α β γ β γ α% h (24)
3. SYMULACJA NEURONOWA IDENTYFIKACJI MODELU
Zaproponowana procedura identyfikacji parametrycznej ruchu mobilnego robota inspekcyjnego z zastosowaniem sieci neuronowych w procesie identyfikacji układów nieliniowych została wygenerowana w pakiecie Matlab/Simulink według struktury pokazanej na rys.3.
M(t)
u(t)
u(t) Al
Obiekt dynamiczny
Al~
Al u(t)
Al^
Identyfikacja
Al~
Al^
Al
Rys.3. Struktura identyfikatora Strukturę bloku identyfikacji przedstawiono na rys.4.
1 Al^
f(u)
Al^
Al~
G^
Siec 2
Al^
Al~
f ^
Siec 1
Mux 1
s K*u
I K*u
B K*u
Am1
K*u
Am K*u
A
3 u(t)
2 Al
1 Al~
Rys.4. Struktura bloku identyfikacji Symulacja 1:
Przy dobranej macierzy projektowej diagonalnej Am=diag
(
− −2, 35)
przeprowadzono identyfikację modelu matematycznego robota. W celu weryfikacji zaproponowanegorozwiązania, przeprowadzono eksperyment numeryczny. W symulacji za sygnał wymuszający przyjęto moment napędowy wygenerowany z zadania odwrotnego dynamiki [2] pokazany na (rys.5). Przebiegi uzyskane z modelu dynamicznego przedstawiono na rys.6.
Rys.5. Przebieg sygnału wymuszającego
Rys.6. Przebiegi z obiektu dynamicznego Rys.7. fˆ
(
α β γ i , ,ˆ ˆ)
Gˆ(
α β γ, ,ˆ ˆ)
uRys.7 przedstawia estymaty nieliniowych funkcji równań (13) i (14).
Rys.8. Przebiegi estymowane
Na rys.8 przedstawiono przebiegi estymowane nieliniowych funkcji obiektu dynamicznego (rys.6) aproksymowane przez sieci neuronowe z radialnym rozszerzeniem funkcyjnym w postaci funkcji Gaussa. Przebiegi te odjęto od siebie i uzyskano błąd estymacji stanu zdefiniowano jako α α α% = − ˆ (rys.9).
Rys.9. Błędy identyfikacji neuronowej Rys.10. Wybrane wagi sieci
Rys.10 przedstawia jak zmieniały się wagi sieci podczas uczenia ich według zaleŜności (23), (24), przyjmując podczas symulacji zerowe wagi początkowe (Wˆf0 = ) i (0 WˆG0 =0).
Symulacja 2:
Dobierając na drodze eksperymentalnej inne współczynniki macierzy projektowej diagonalnej Am=diag
(
− −5, 260)
przeprowadzono identyfikację modelu matematycznego robota przy tym samym wymuszeniu (rys.5) i tych samych przebiegach z obiektu dynamicznego (rys.6).Rys.11.fˆ
(
α β γ i , ,ˆ ˆ)
Gˆ(
α β γ, ,ˆ ˆ)
uTak jak w symulacji nr 1 przedstawiono estymaty nieliniowych funkcji (rys.11), błąd estymacji stanu zdefiniowano jako α α α% = − ˆ (rys.12) i zmieniany wag sieci podczas ich uczenia (rys.13).
Rys.12. Błędy identyfikacji neuronowej Rys.13. Wybrane wagi sieci
Uzyskane rozwiązania w symulacji nr 1 i 2 są ograniczone, a ich dokładność moŜna zwiększyć poprzez odpowiedni dobór macierzy projektowej Am co znacznie zmniejszyło błąd identyfikacji neuronowej (rys.12) w porównaniu do rys.9.
4. PODSUMOWANIE
Zaproponowana procedura identyfikacji modelu matematycznego robota inspekcyjnego umoŜliwia zastosowanie sieci neuronowych w procesie identyfikacji układów nieliniowych.
Uzyskane rezultaty numeryczne wskazują, Ŝe układ został odpowiednio pobudzony przez moment silnika napędowego podczas realizacji zadanej trajektorii ruchu. Zastosowanie tego podejścia moŜe zostać wykorzystane do monitorowania obciąŜeń, wykrywania uszkodzeń itp.
LITERATURA
1. Giergiel J., Kurc K.: Construction, analysis and simulation of the inspective robot.
“Machine Dynamics Problems” 2006, Vol. 30, No 3, p.115-123.
2. Giergiel J., Kurc K.: Modeling of dynamics of the inspective robot. 10th international seminar of applied mechanics. Politechnika Śląska, s. 31-34.
3. Giergiel J., Kurc K.: Mechatronics of the inspective robot. “Mechanics and Mechanical Engineering” 2006, Vol. 10, No. 1 s. 56-73.
4. Giergiel J., Hendzel Z., śylski W.: Kinematyka, dynamika i sterowanie mobilnych robotów kołowych w ujęciu mechatronicznym. Kraków : AGH, 2000. Monografie.
5. Giergiel J., Kurc K.: Mechatroniczne projektowanie robota inspekcyjnego.”Pomiary, automatyk, kontrola” 2007, Vol. 53, nr 6, s. 74-77.
6. Hendzel Z., Giergiel M., śylski W.: Modelowanie i sterowanie mobilnych robotów kołowych. Warszawa: Wyd. Nauk. PWN, 2002.
IDENTIFICATION OF THE MATHEMATICAL MODEL INSPECTION ROBOT
Summary. To identification of the mathematical model inspection robot were used artificial neural networks with the radial broaden functional in the form of Gauss' function. Presented problem was solved on the numerical way.
Praca wykonana w ramach projektu badawczego nr N N501 0108 33