Transcript Kinematika

Kinematika
Kinematika nagrinėja kaip elgiasi
mechaninės sistemos
Kaip paskaičiuoti judėjimą
tokiam daiktui ?
pvz:
jeigu įjungsime kairį
vaikliuką 2 greičiu, o
dešinį 4 ?
O tokiam ??
pvz:
jeigu įjungsime pirmą
varikliuką 2 greičiu,
antrą 4 greičiu, trečią
6?
Roboto pozicija:
 = [ x, y, q]
Nagrinėsime judėjimą visiškai plokščiame
paviršiuje
{XI,YI} – globali
atskaitos sistema
{XR,YR} – lokali
atskaitos sistema
 cosq
R(q ) =  sin q
 0
sin q
cosq
0
0
0
1
Ši formulė naudojama perkelti judėjimo
koordinates tarp atskaitos sistemų
{XI,YI} -> {XR,YR}
Pavyzdys:
kampas = p / 2
 0 1 0
p
R( ) =  1 0 0
2
 0 0 1
 0 1 0  x   y 
  1 0 0  y  =   x 

   
 0 0 1 q   q 
Du valdomi ratai
 x
 I =  y  = f (l , r , q , 1 ,  2 )
q 
l – rato atstumas nuo centro
r – rato diametras
1 ,  2 - rato sukimosi greitis
Kiekvienas ratas valdomas atskirai, ir tai
sukelia atskiras situacijas, kaip kad
sukimasis ratu. Toks modelis skiriasi nuo
nevaldomų savaime besisukančiu ratų arba
abiejų vienodai besisukančių ratų.
Roboto sukimosi greitis
r1
l =
2l
r2
l =
 2l
Kinematikos modelis robotui su
dviem valdomais ratais
 r1 r2 

 2

2
1 

 I = R (q )
0
 r  r 
1
2



2l 
 2l
Atvirkštinė matricą
cosq

1
R(q ) =  sin q
 0
 sin q
cosq
0
0

0
1
q = p/2
r=1
l=1
1 = 4
2 = 2
cosq
R(q ) 1 =  sin q
 0
 sin q
cosq
0
 r1 r2 
 2  2 

 I = R (q ) 1 
0
 r  r 
 1  2
2l 
 2l
 x  0  1 0   3  0 








 =  y  = 1 0 0   0  =  3 
q  0 0 1 1 1
 - rato sukimosi greitis
l – rato atstumas nuo centro
r – rato diametras
0
0
1
O dabar panašų dalyką pati pabandysime
padaryti sudėtingu būdu
Prielaidos
•
•
•
•
•
Robotas juda visiškai lygiu paviršiumi
Judant ratai nepraslysti
Judant robotas neslysta į šalį
Ratai nesideformuoja
Ratų padėtis neturi laisvumo
Penki ratų tipai ir lygtys jiems
•
•
•
•
•
Fiksuotas ratas
Valdomas ratas
Paslinktas ratas
Švediškas ratas
Sferinis ratas
Fiksuotas ratas
Judėjimo lygtis - apribojimas
Sukimosi apribojimas:
[sin(   )  cos(   )(l ) cos ]R(q )I  r = 0
x
y
q
R dalis yra performuoti  koordinates į roboto atskaitos sistemą,
nes (,,q) yra skaičiuojamos roboto atskaitos sistemos
koordinatėmis
Mūsų judėjimas visgi turi būti lygus rato pasisukimui
Slydimo lygtis - apribojimas
[cos(   ) sin(   )l sin  ]R(q )I = 0
Ir visai apribojame judėjimą ortogonalia kryptimi
Lygties pavyzdys
[cos(   ) sin(   )l sin  ]R(q )I = 0
 = 0,  = 0, q=0
1 0 0   x 
 x
[1 0 0] 0 1 0   y  = [1 0 0]  y  = 0
0 0 1 q 
q 
Valdomas ratas
Lygtys
[sin(   )  cos(   )  (l ) cos ]R(q )  r = 0
[cos(   ) sin(   )l sin  ]R(q )I = 0
Tačiau –  jau nebe fiksuotas, o valdomas dydis
Paslinktas ratas (castor wheel)
Lygtys
[sin(   )  cos(   )  (l ) cos ]R(q )  r = 0
[cos(   ) sin(   )d  l sin  ]R(q )I  d = 0
Švediškas ratas
Lygtys
[sin(     )  cos(     )  (l ) cos(   )]R(q )  r cos = 0
[cos(     ) sin(     )l sin(   )]R(q )I  r sin   rswsw = 0
Elgesena labai priklauso nuo 
Jeigu = 0 , tai gauname standartinį ratą
Sferinis ratas
Lygtys
[sin(   )  cos(   )  (l ) cos ]R(q )  r = 0
[cos(   ) sin(   )l sin  ]R(q )I = 0
Nežiūrint į tai, kad lygis yra lygiai ta pati, kaip ir fiksuotam ratui,
tačiau jos prasmė yra visai kita.   yra nepriklausomas
kintamasis apskaičiuojamas iš antros lygties.
Atvejis – robotas juda YR kryptimi, tada lygis susiprastina iki
sin(   ) = 0
Iš ko gauname b = 
Kaip apskaičiuoti viso roboto
judėjimo ribojimus ?
• Turime viso N ratų, iš kurių Nf fiksuotų ir
Nv valdomų
• s(t) pažymime valdomų ratų kampus
• f pažymime fiksuotų ratų kampus
• Askiriame valdomus ir nevaldomus atvėjus
 f (t )
 s (t )
 f (t ) 
=

  s (t ) 
Bendra sukimosi ribojimų
formulė
J1 (s ) R(q ) I  J 2 = 0
[sin(   )  cos(   )(l ) cos ]R(q )I  r = 0
J2 yra matrica sudaryta iš ratų spindulių - r (NxN)
J1 ( s ) yra matrica su visų ratų judėjimais pagal jų
individualias plokštumas, kuri yra funkcija nuo s
 J1 f 
J1 (  s ) = 

J
(

 1s s ) 
 J1 f 
J1 (  s ) = 

 J1s (  s ) 
J1 f yra konstantų matrica, visoms ratų
projekcijoms jos dydis yra N f  3 , kurių
kiekviena eilutė sudaryta iš trijų skaičių
paimtų iš pradinės lygties.
Bendra slydimo ribojimo
forumulė
C1 ( s ) R(q ) I = 0
[cos(   ) sin(   )l sin  ]R(q )I = 0
 C1 f 
C1 (  s ) = 

C
(

)
 1s s 
Diferencinis robotas
J1 (s ) R(q ) I  J 2 = 0
C1 ( s ) R(q ) I = 0
 C

C1 (  s ) =  1 f 
C1s (  s ) 
 J1 f 
J1 (  s ) = 

 J1s (  s ) 
 J1 (  s ) 
 J 2 
R
(
q
)

=
I
C (  )
 0 


 1 s 
Ratukas yra nevaldomas, todėl į jį
neatsižvelgiame. Abu ratai
nesukiojami, tad priklausomybių nuo
 neturėsim
Skaičiavimai
 ir  ?
= p/2
= p
= p/2
= 0
 kryptis turi sutapti su judėjimo kryptimi
= p/2
= p
= p/2
= 0
 J1 (  s ) 
 J 2 
C (  ) R(q ) I =  0 


 1 s 
1 0 l  

 R(q ) =  J 2 

I
 0 
1 0  l  


 [0 1 0] 
 r1 r2 
 2  2 
1 

 I = R (q )
0
 r  r 
1
2



2l 
 2l
J1 (s ) R(q ) I  J 2 = 0
Robotas neturi valdomų ratų, tad J1(s)
susiprastina iki J1f.
Mums pasisekė - švediškų ratų  = 0
[sin(     )  cos(     )  (l ) cos(   )]R(q )  r cos = 0
[sin(   )  cos(   )(l ) cos ]R(q )I  r = 0
Reikia apskaičiuoti ,,q
•  = p / 3 ,  = p ,  = p / 3
•  = 0 visiems ratams
[sin(   )  cos(   )(l ) cos ]R(q )I  r = 0
l=1, r = 1, q=0 Jeigu ratų greičiai bus 1=4, 2=1, 3=2,
tai kur judės robotas ?