Beruflich Dokumente
Kultur Dokumente
Igor Cizelj
Zagreb, 2008
Sadraj
1 Uvod
22
5 Zakljuak
43
6 Matlab kodovi
44
1 Uvod
Slika 3: Monocikl
Ako uzmemo x y ravninu kao ravninu po kojoj se robot kree moemo zapisati
kinematiki model monocikla odnosno mobilnog robtoa s diferencijalnim pogonom
x cos
0
y = sin v1 + 0 v2
0
1
(1.1)
x cos
0
y = sin v + 0 v
tan / l 1 0 2
0
1
(1.2)
x (t ) = f ( x (t ) , u (t ) , t ) ,
x ( t0 ) = x0
t0 t t f
(1.3)
tf
J = x ( t f ) , t f + F ( x ( t ) , u ( t ) , t ) dt
t0
(1.4)
x ( t f ) , t f te poprima oblik
tf
J = F ( x ( t ) , u ( t ) , t ) dt
(1.5)
H ( x (t ) , u (t ) , (t ) , t ) = F ( x (t ) , u (t ) , t ) + T (t ) f ( x (t ) , u (t ) , t )
(1.6)
t0
Definira se Hamiltonian
J = H ( x ( t ) , u ( t ) , ( t ) , t ) + T ( t ) x ( t ) dt
t0
(1.7)
Ako se uzme prva varijacija funkcije cilja u ovisnosti o varijaciji vektora upravljanja i
vektora stanja, oko optimalnog vektora upravljanja i vektora stanja, dobiva se
tf
J = x
T
x
T
t = t0
t =t f
H
H
+
+ x +
u dt
x
x
t0
(1.8)
H
H
J =
+ x +
u dt
x
x
(1.9)
x=
H
x
(1.10)
(1.11)
H
=0
u
(1.12)
x ( t0 ) = x0 ,
(1.13)
Ovi uvjeti vrijede za sluaj bez ogranienja na vektor stanja i upravljanja. Sustav
jednadbi (1.10) - (1.12) moe se rijeiti ako je Hamiltonian kvadratina funkcija po
upravljakim varijablama. Ukoliko je Hamiltonian linearna funkcija po upravljakim
varijablama ili ne ovisi eksplicite o njima, te ako jo imamo ogranienja na upravljake
varijable, tada za odreivanje rjeenja koristimo Pontryaginov princip maksimuma:
(1.14)
x=
H
x
(1.15)
1
J = ( k1v12 + k2 v2 2 )dt
20
Funkcija cilja pomnoena je s
(1.16)
1
, to e olakati daljnje raunanje, a ne utjee na
2
efikasnost metode.
Uvoenjem Hamiltonove jednadbe ista ima oblik
H=
1
1
k1v12 + k2 v2 2 + 1v1 cos + 2 v1 sin + 3v2
2
2
(1.17)
H
= k1v1 + 1 cos + 2 sin = 0
v1
H
= k2 v2 + 3 = 0
v2
(1.18)
(1.19)
1
k1
cos
v2 =
2
k1
sin
3
k2
(1.20)
(1.21)
H
= 1 = 0
x
(1.22)
H
= 2 = 0
y
(1.23)
10
H
= 3 = 1v1 sin 2 v1 cos
(1.24)
x = v1 cos
(1.25)
y = v1 sin
(1.26)
= v2
(1.27)
Varijabla
Poetna vrijednost
Krajnja vrijednost
11
5.5
5
4.5
4
3.5
3
2.5
2
1.5
1
1
1.5
2.5
3.5
4.5
Iz Slike 5 vidljiv je put kojim se je robot gibao prilikom pozicioniranja iz toke (1,1) u
toku (5,5). Poto je robot prvotno bio orjentiran za kut - u odnosu na x os, vidljivo je
da se je veliki dio puta gibao unatrag, te se je prije konanog pozicioniranja okrenuo za
(petlja, gore desno) kako bi bio orjentiran za 0 u odnosu na x os kako je bilo definirano
u krajnjoj vrijednosti za . To se moe zakljuiti i sa Slike 6 jer je vidljivo da je
upravljaka varijabla u1 dijelom negativna to znai da se je robot gibao unatrag.
12
2
1
0
-1
Y
5
0
0
10
vrijeme (sec)
-0.6623
-1
-2
0
10
time (sec)
-0.6623
0
10
vrijeme (sec)
-0.5
-1
-0.6623
-4
0
10
-0.6623
vrijeme (sec)
-2
-3
-1.5
-2
10
time (sec)
-2.5
0
10
time (sec)
13
1
k1v12 + k2 v2 2 )dt
(
20
(1.28)
1
1
1
k1v12 + k2 v2 2 + 1v1 cos + 2 v1 sin + 3 tan v1 + 4 v2
2
2
l
(1.29)
J=
Hamiltonova jednadba:
H=
Upravljaka varijabla v1 :
H
1
= k1v1 + 1 cos + 2 sin + 3 tan = 0
l
v1
k1
k1
(1.30)
Upravljaka varijabla v2 :
H
= k2 v2 + 4 = 0
v2
1
v2 = 4
k2
(1.31)
Diferencijalne jednadbe:
x = v1 cos
(1.32)
y = v1 sin
1
l
= tan v1
(1.33)
(1.34)
= v2
H
= 1 = 0
x
14
(1.35)
(1.36)
H
= 2 = 0
y
(1.37)
H
= 3 = 1v1 sin 2v1 cos
(1.38)
1 + cos ( 2 )
H
1
= 4 = 3v1
= 3v1
2
l cos
2l
(1.39)
Poetna vrijednost
Krajnja vrijednost
Dakle, mobilni robot sa stranjim pogonom treba iz toke (6,6), u kojoj je njegova
uzduna os odklonjena za kut
15
2
0
Iz Slike 7 vidljivo je da robot prvo dio puta vozi unatrag (poto je poetna orijentacija
robota
16
6
4
2
0
0
2
0
vrijeme (sec)
0.2
0.1
vrijeme (sec)
-1
-2
0
-0.1
-3
0
-0.2
0
vrijeme (sec)
vrijeme (sec)
1.6393
0.5664
0.5664
1.6393
1.6393
1.6393
0
0.5664
0.5664
0
vrijem (sec)
vrijem (sec)
-2
-4
0
-2
0
vrijem (sec)
vrijem (sec)
17
5.5
5
4.5
4
3.5
3
2.5
2
1.5
1
1
1.5
2.5
3.5
4.5
x ( 0 ) = 1, y ( 0 ) = 1, ( 0 ) = / 2
x (T ) = 5, y ( T ) = 5, (T ) = 0
5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
1.5
2.5
3.5
4.5
x ( 0 ) = 1, y ( 0 ) = 1, ( 0 ) = / 5
x (T ) = 5, y (T ) = 5, (T ) = 0
Na ovoj stranici su dani rezultati dviju simulacija optimalnog pozicioniranja mobilnog
robota sa stranjim pogonom kod kojih su rubni uvjeti identini, a poetni se uvjeti
razlikuju samo u orijentaciji. Vidljivo je da se trajektorije gibanja koje se postiu
razlikuju ovisno o poetnim i rubnim uvjetima.
18
J=
1
k1v12 + k2 v2 2 + k3 ( x x f
20
+ k3 ( y y f
)dt
(1.40)
1 = k3 ( x x f )
(1.41)
2 = k3 ( y y f )
(1.42)
(1.43)
x = v1 cos
(1.44)
y = v1 sin
(1.45)
= v2
(1.46)
Varijabla
Poetna vrijednost
Krajnja vrijednost
19
Sljede rezulati simulacija, na lijevoj strani rezulati simulacije u kojoj je koritena funkcija
cilja (1.16), te uz to odgovarajui sustav diferencijalnih jednadbi (1.22) - (1.27), a na
desnoj strani rezultati simulacije u kojoj je koritena funkcija cilja (1.40), te sustav
diferencijalnih jednadbi (1.41) - (1.46) ime bi se trebao osigurati optimalni put prilikom
pozicioniranja.
6
6.5
6
5.5
5.5
4.5
4.5
4
4
3.5
3.5
3
2.5
1
1.5
2.5
3.5
4.5
2.5
0.5
1.5
2.5
1.0679
1.0679
1.0679
10
time (sec)
10
-1.5
0
vrijeme (sec)
0.8855
0.8855
0.8855
2
0
10
-4
0
0
0
10
vrijeme (sec)
5
10
time (sec)
10
vrijeme (sec)
-2
0
10
time (sec)
0.5
-2
10
0
0
0.8855
0
10
vrijeme (sec)
0.8855
time (sec)
vrijeme (sec)
2
0
10
4
3
-1
1
0
vrijeme (sec)
4.5
-0.5
0.5
3.5
0
0
-5
time (sec)
10
-10
0
10
time (sec)
i Lagrangeovi multiplikatori
i Lagrangeovi multiplikatori
20
21
x = u1 cos
(1.47)
y = u1 sin
(1.48)
= u2
(1.49)
x cos
y = sin
0
0
u
0 1 ,
u
1 2
(1.50)
odnosno
X = G ( X )u
(1.51)
u = G T ( X ) G ( X ) G T ( X ) X d ,
(1.52)
odnosno
u = G# ( X ) X d
(1.53)
sin
0
0
1
te je stoga upravljake varijable prema (1.53) mogue izraziti matrino kako sljedi
22
(1.54)
u1 cos
u = 0
2
sin
0
xd
0
yd
1
d
(1.55)
u1 = xd cos + yd sin
(1.56)
u2 = d
(1.57)
yd
xd
sin d
= tan d
cos d
(1.58)
a iz (1.58) slijedi da je
d = atan
yd
(1.59)
xd
2
yd
1
J
Uz uvjet optimalnosti J = k atan , te ako vrijedi da je =
dobiva
2
x
d
se izraz
yd
= k atan
xd
(1.60)
Na temelju (1.56), (1.57) i (1.60) moe se definirati konaan oblik upravljakih varijabli
u1 = k p xd cos + yd sin
(1.61)
y
d
u2 = k atan
xd
(1.62)
Kao referentna trajektorija odabrana je Gaussova krivulja koja odgovara situaciji u kojoj
mobilni robot zaobilazi neku prepreku. Trajektoriju zadajemo pomou pozicije robota u
23
xd ( t ) = t
2
x (t ) x
yd ( t ) = e ( d 0 )
10
2
X
Xref
0
0
5
t,s
10
0.8
0.6
0.4
0.2
Y
Y
ref
-0.2
0
5
t,s
24
10
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
ref
-0.8
-1
0
5
t,s
10
0.8
0.6
0.4
0.2
-0.2
0
feedback
referentna trajektorija
2
10
12
X-Xref
0.02
0.01
0
-0.01
0
5
t,s
10
5
t,s
10
Y-Yref
0.05
-0.05
0
x ( 0 ) = 0 , y ( 0 ) = 0 te ( 0 ) = 0 .
26
x cos
sin
y =
tan
l
0
0
0
u1
0 u 2
(1.63)
l 2 cos
cos 2 l 2 + sin 2 l 2 + tan 2
l 2 sin
cos 2 l 2 + sin 2 l 2 + tan 2
0
(1.64)
l tan
cos l + sin 2 l 2 + tan 2
0
2
l 2 cos
l 2 sin
l tan
u1 = k f
x
+
y
+
d
d
d
2
2
2
2
2
cos 2 l 2 + sin 2 l 2 + tan 2
cos 2 l 2 + sin 2 l 2 + tan 2
cos l + sin l + tan
(1.65)
u2 =
(1.66)
= k ( d )
27
(1.67)
tan
u1 nakon transformacije dobiva se potrebni
l
izraz
d = atan
cos d d l
(1.68)
xd
cos
l
d
d
u 2 =k atan
xd
(1.69)
y
d
xd
xd
yd
X-Xref
0.05
-0.05
0
5
t,s
10
5
t,s
10
0.15
Y-Yref
0.1
0.05
0
-0.05
0
28
1
0
0
5
t,s
10
0.8
0.6
0.4
0.2
-0.2
0
Y
Yref
1
5
t,s
29
10
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
ref
1
5
t,s
10
0.8
0.6
0.4
0.2
-0.2
0
feedback
referentna trajektorija
1
30
10
-3
15
x 10
X-Xref
10
5
0
-5
0
5
t,s
10
5
t,s
10
0.03
Y-Yref
0.02
0.01
0
-0.01
0
31
k3 ( x xref
+ k3 ( y y f
+ k3 ( y yref
, zamjenjuje se izrazom
) , pri emu su x
2
ref
1
J = k1v12 + k2 v2 2 + k3 ( x xref
20
+ k3 ( y yref
)dt
(1.70)
1 = k3 ( x xref )
(1.71)
2 = k3 ( y yref )
(1.72)
(1.73)
x = v1 cos
(1.74)
y = v1 sin
(1.75)
= v2
32
(1.76)
x ( 0 ) = 0, y ( 0 ) = 0, ( 0 ) = 0, 1 ( 0 ) = 0, 2 ( 0 ) = 0, 3 ( 0 ) = 0
(1.77)
k1 = 0.9, k2 = 0.9, k3 = 15 .
Sljede rezultati simulacije:
1.2
Y [m]
0.8
0.6
0.4
0.2
-0.2
0
referentna trajektorija
feedback
1
X [m]
Slika 28: Praenje trajektorije
33
10
10
1
0.5
0.5
0
0
10
-0.5
-0.5
0
time (sec)
-1
0
10
time (sec)
0.5
-1
time (sec)
10
10
1
-0.5
time (sec)
-1
0
-2
0
time (sec)
10
-0.5
0
10
time (sec)
Na Slici 28 vidljivo je da mobilni robot (plava krivulja) prati referentnu krivulju (crvena
krivulja), ali s odreenom grekom. Dakle, poto je u funkciji cilja ogranienje i na
upravljake varijable kao i zahtjev za minimalnim odstupanjem, rezultat simulacije je
svojevrstan kompromis na zahtjeve. Sa Slike 29 vidljivo je da poetni i rubni uvjeti
odgovaraju onima zadanim (1.77). Vidljivo je da je greka praenja vea nego u
poglevlju 4.1.
34
1.2
Y [m]
0.8
0.6
0.4
0.2
-0.2
0
referentna trajektorija
feedback
1
10
X [m]
k1 = k2 = 20, k3 = 100, k3 / k1 = 5
1.2
Y [m]
0.8
0.6
0.4
0.2
-0.2
0
referentna trajektorija
feedback
1
10
X [m]
k1 = k2 = 1, k3 = 20, k3 / k1 = 20
Na ovoj stranici dani su rezultati dviju simulacija praenja zadane trajektorije mobilnim
robotom s diferencijalnim pogonom uz zahtjev minimalnog odstupanja. Identini su
poetni uvjeti, ali razlika je u omjeru koeficijenata k3 / k1 . U prvom primjeru k3 je 5 puta
vei nego k1 a u drugom primjeru je k3 20 puta vei od k1. Ako se pogleda funkcija cilja
(1.70) to bi znailo da je u prvom sluaju manji naglasak na minimiziranje odstupanja
nego u drugom primjeru to je i podkrepljeno rezultatima simulacije jer je manje
odstupanje u drugom primjeru nego u prvom.
35
tf
J=
1
k1v12 + k2 v2 2 + k3 ( x xref
20
+ k3 ( y yref
)dt
(1.78)
Upravljake funkcije su
v1 =
1
k1
cos
sin
k1
3
k1
tan
1
l
(1.79)
1
4
k2
(1.80)
x = v1 cos
(1.81)
v2 =
y = v1 sin
1
l
= tan v1
(1.82)
(1.83)
= v2
(1.84)
1 = k3 ( x xref )
(1.85)
2 = k3 ( y yref )
(1.86)
(1.87)
4 = 3v1
1 + cos ( 2 )
2 l
(1.88)
36
x ( 0 ) = 0, y ( 0 ) = 0, ( 0 ) = 0, ( 0 ) = 0, 1 ( 0 ) = 0, 2 ( 0 ) = 0, 3 ( 0 ) = 0, 4 ( 0 ) = 0 (1.89)
a pojaanja sustava su nakon nekoliko podeavanja postavljena na
k1 = 10, k2 = 10, k3 = 10 , a duljina robota je l=0.02.
1
0.9
0.8
0.7
Y [m]
0.6
0.5
0.4
0.3
0.2
referentna trajektorija
feedback
0.1
0
0
10
X [m]
Slika 30: Praenje trajektorije
37
2
-5
0
-2
-10
0
-4
0
10
time (sec)
0.02
0.2
0.1
-0.02
-0.04
0
10
time (sec)
0
-0.1
-0.2
0
10
time (sec)
10
time (sec)
0.8
0.6
5
0.4
0.2
0
0
0
0
10
time (sec)
10
time (sec)
-3
0.4
5
0
0.2
0
-5
-0.2
-0.4
0
x 10
-10
0
10
time (sec)
10
time (sec)
38
(1.90)
x d = vd 1 cos d
(1.91)
y d = vd 1 sin d
(1.92)
1
l
d = tan d vd 1
(1.93)
d = vd 2
(1.94)
vd 1 ( t ) = x d ( t ) + y d ( t )
(1.95)
yd (t ) xd (t )
d ( t ) = atan
,
vd 1 ( t ) vd 1 ( t )
(1.96)
varijabla v d 1 dobije se
y d (t ) x d (t ) x d (t ) y d (t )
d (t ) =
vd21 ( t )
39
(1.97)
l y d ( t ) x d ( t ) x d ( t ) y d ( t )
d ( t ) = atan
3
vd 1 ( t )
(1.98)
( / 2, / 2 ) .
2
y d x d x d y d vd 1 3 y d x d x d y d x d x d y d y d
vd 2 ( t ) = l vd 1
2
vd61 + l 2 y d x d x d y d
(1.99)
Izrazi (1.95) - (1.99) ovise samo o vrijednstima referentne trajektorije (1.90) i o njezinim
derivacijama, i to do derivacije treeg reda. Dakle, da bi se zagarantirala funkcionalnost
ove metode potrebno je da referentna trajektorija bude tri puta derivabilna.
Kao primjer razmotriti e se krunica radijusa R kao referentna trajektorija
xd ( t ) = R sin t ,
yd ( t ) = R(1 cos t )
(1.100)
(1.101)
i iz tih ogranienja slijede poetni uvjeti sustava koji osiguravaju praenje zadane
trajektorije.
xd ( t ) = 0, yd ( t ) = 0, d ( t ) = 0, d ( t ) = atan
Sljede rezultati simulacije:
40
l
,
R
(1.102)
20
20
15
10
10
0
X
Xref
-10
0
5
t,s
Y
Yref
5
0
0
10
5
t,s
10
10
8
6
4
ref
0
0
5
t,s
10
2
0
-10
-5
10
15
-5
x 10
X-Xref
2
0
-2
-4
0
5
t,s
10
5
t,s
10
-5
x 10
Y-Yref
2
0
-2
-4
0
Vidljivo je da je praenje zadane trajektorije vrlo dobro. Metoda se moe koristiti kada je
trajektorija unaprijed poznata i na osnovu nje je potrebno izvriti poetno pozicioniranje
robota.
42
5 Zakljuak
43
6 Matlab kodovi
Uz seminar su priloeni kodovi koji su koriteni za pozicioniranje odnosno za praenje
zadane trajektorije kod mobilnog robota sa stranjim pogonom :
44
%----------Ispis rjeenja----------------------------------figure(1)
subplot(2,2,1), plot(xint,Sxint(1,:), 'linewidth',1.5),
ylabel('X','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,2), plot(xint,Sxint(2,:), 'linewidth',1.5),
ylabel('Y','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,3), plot(xint,Sxint(3,:), 'linewidth',1.5),
ylabel('\theta','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,4), plot(xint,Sxint(4,:), 'linewidth',1.5),
ylabel('\Phi','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
figure(2)
subplot(2,2,1), plot(xint,Sxint(5,:), 'linewidth',1.5),
ylabel('\lambda_1','FontSize',12,'FontName','Times'),
xlabel('vrijem (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,2), plot(xint,Sxint(6,:), 'linewidth',1.5),
ylabel('\lambda_2','FontSize',12,'FontName','Times'),
xlabel('vrijem (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,3), plot(xint,Sxint(7,:), 'linewidth',1.5),
ylabel('\lambda_3','FontSize',12,'FontName','Times'),
xlabel('vrijem (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
45
%
subplot(2,2,4), plot(xint,Sxint(8,:), 'linewidth',1.5),
ylabel('\lambda_4','FontSize',12,'FontName','Times'),
xlabel('vrijem (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%=================================================
figure(3)
plot(Sxint(1,:), Sxint(2,:), 'linewidth',1.5),
ylabel('Y','FontSize',12,'FontName','Times'),
xlabel('X','FontSize',12,'FontName','Times');
%=================================================
figure(4)
subplot(2,2,1), plot(xint,u1, 'linewidth',1.5),
ylabel('u_1','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
%
subplot(2,2,2), plot(xint,u2, 'linewidth',1.5),
ylabel('u_2','FontSize',12,'FontName','Times'),
xlabel('vrijeme (sec)','FontSize',12,'FontName','Times');
46
f5 = 0;
f6 = 0;
f7 = Lambda1*u1*sin(Theta) - Lambda2*u1*cos(Theta);
f8 = -Lambda3*u1/((1/2)*(1+cos(2*Phi)));
dydx = [f1; f2; f3; f4; f5; f6; f7; f8];
47
48
49
50
Theta = Sxint(3,:); Phi = Sxint(4,:); Lambda1 = Sxint(5,:); Lambda2 = Sxint(6,:); Lambda3 = Sxint(7,:);
Lambda4 = Sxint(8,:);
u1 = -Lambda1.*cos(Theta)/k1 - Lambda2.*sin(Theta)/k1 - Lambda3.*tan(Phi)/(l*k1);
u2 = -Lambda4/k2;
%----------------------Ispis rjeenja-------------------------------figure(1)
subplot(2,2,1), plot(xint,Sxint(1,:), 'linewidth',1.5),
ylabel('X','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,2), plot(xint,Sxint(2,:), 'linewidth',1.5),
ylabel('Y','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,3), plot(xint,Sxint(3,:), 'linewidth',1.5),
ylabel('\theta','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,4), plot(xint,Sxint(4,:), 'linewidth',1.5),
ylabel('\Phi','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
figure(2)
subplot(2,2,1), plot(xint,Sxint(5,:), 'linewidth',1.5),
ylabel('\lambda_1','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
subplot(2,2,2), plot(xint,Sxint(6,:), 'linewidth',1.5),
ylabel('\lambda_2','FontSize',12,'FontName','Times'),
xlabel('time (sec)','FontSize',12,'FontName','Times');
set(findobj(gcf,'tag','legend'),'fontsize',10,'FontName','Times');
%
51
52
53
54
subplot(2,2,3),
plot(tT,y(:,3),'b',tT,ThetaRef,':r','linewidth',1.5), legend('\theta','\theta_{ref}',4), xlabel('t,s')
figure(2)
% subplot(2,2,4),
plot(y(:,1),y(:,2),'b',Xref,Yref,':r','linewidth',1.5), legend('feedback','referentna trajektorija',4)
figure(3)
subplot(2,1,1), plot(tT,y(:,1)-Xref','b','linewidth',1.5), xlabel('t,s'), ylabel('X-X_{ref}')
subplot(2,1,2), plot(tT,y(:,2)-Yref','r','linewidth',1.5), xlabel('t,s'), ylabel('Y-Y_{ref}')
55
Literatura
[1]
Shuzhi Same Ge, Frank L. Lewis, Autonomous Mobile Robots, (Taylor & Francis
Group, 2006)
[2]
[3]
[4]
[5]
[6]
[7]
56