Professional Documents
Culture Documents
Robottechnika Trajektoria
Robottechnika Trajektoria
Trajektóriatervezés
Magyar Attila
Pannon Egyetem
Műszaki Informatika Kar
Villamosmérnöki és Információs Rendszerek Tanszék
amagyar@almos.vein.hu
2009 október 8.
Trajektóriatervezés
Áttekintés
1 Út és trajektória
2 Csuklóváltozók trajektóriája
Út és trajektória
Minimális követelmény: a manipulátor egy kezdeti pózból eljusson egy (általunk
megadott) végső pózba
Különbség van út és trajektória között:
Út: a csuklóváltozók terében, vagy a műveleti térben definiált ponthalmaz (pálya),
melyet a manipulátornak érintenie kell a mozgás során - tisztán geometriai
mozgásleírás
Trajektória: olyan út, amelyhez időfüggés is tartozik (pl. bizonyos útponthoz meg
van adva a sebesség/gyorsulás értéke, vagy a teljes menetidő, sebesség-, és
gyorsuláskorlátok)
Trajektóriatervező algoritmus bemenetei
Út leírása
Útpontokhoz rendelt korlátozások, pl. akadályok a munkatérben, stb. - ezek a
műveleti térben jobban kezelhetőek
Manipulátor dinamika
Trajektóriatervező algoritmus kimenetei
A csuklóváltozók (vagy a végszerszám) trajektóriája egy időbeli sorozatként, az
egyes időpontban felvett pozíció, sebesség és gyorsulás értékekkel
Ha a műveleti térben adott a trajektória, akkor valamilyen inverz kinematikai
algoritmussal meg kell határozni a csuklóváltozó-trajektóriát
Áttekintés
1 Út és trajektória
2 Csuklóváltozók trajektóriája
Pont-pont mozgás
Út mozgás
Csuklóváltozók trajektóriája
Pont-pont mozgás
Feladat: egy kezdeti qi csuklókonfigurációból tf idő alatt kell eljutni egy végső qf
csuklókonfigurációba, mindegy milyen úton.
A tervező algoritmusok rendszerint valamilyen performancia kritérium szerint optimális
megoldást adnak
Például: forgó merev test
Z t
f I : tehetetlenségi nyomaték
I ω̇ = τ, ω(t)dt = qf − qi ,
0
q̇ = ω : szögsebesség
Z tf
τ 2 (t)dt → min
0 τ : motor által szolgáltatott nyomaték
A megoldás alakja: ω(t) = at 2 + bt + c
Köbös csuklópozíció: q(t) = a3 t 3 + a2 t 2 + a1 t + a0
Négyzetes sebességprofil: q̇(t) = 3a3 t 2 + 2a2 t + a1
Lineáris gyorsulásprofil: q̈(t) = 6a3 t + 2a2
Négy ismeretlen együtthatót kell meghatározni, négy egyenlet kell hozzá:
qi = a0 kezdeti csuklópozíció
qf = a3 tf3 + a2 tf2 + a1 tf + a0 végső csuklópozíció
q̇i = a1 kezdeti csuklósebesség (általában 0)
q̇f = 3a3 tf2 + 2a2 tf + a1 végső csuklósebesség (általában 0)
a0 = 0, a1 = 0, a2 = 3π, a3 = −2π
Pont-pont mozgás
Pont-pont mozgás
Út mozgás
Kettőnél több pontból álló pontsorozattal (útpontok) van megadva a manipulátor által
bejárandó pálya
N útpontra illeszthető egy N − 1-edfokú polinom, de ez a megoldás nem előnyös
Nem lehet megadni a kezdeti és a végsebességeket
Magas fokszám esetén oszcilláló megoldások
Nehezen megoldható, nagy egyenletrendszerek is adódhatnak
Ha egy útpont megváltozik, az egészet újra kell számolni
Helyette több alacsonyabb fokú polinomot használatos, az útpontokban folytonos
Harmadfokú interpolációs polinomokkal garantálható a folytonos sebesség
A csuklópozíció időfüggvényét N − 1
harmadfokú polinom sorozatával adjuk meg
Különböző változatok
sebesség korlátozások
folytonos gyorsulás
Πk (tk ) = qk
Πk (tk+1 ) = qk+1
, k = 1, . . . , N − 1
Π̇k (tk ) = q̇k
Π̇k (tk+1 ) = q̇k+1
N útpont: q1 , . . . , qN
Az interpolációs polinom qk és qk+1 között Πk (t), k = 1, . . . , N − 1
Az alábbi feltételeknek kell teljesülniük az közbenső pontokra (4(N − 2) egyenlet)
Πk−1 (tk ) = qk
Πk−1 (tk ) = Πk (tk )
, k = 2, . . . , N − 1
Π̇k−1 (tk ) = Π̇k (tk )
Π̈k−1 (tk ) = Π̈k (tk )
További feltételek a végpontokra:
Π0 (t1 ) = qi , ΠN (tf ) = qf , Π̇0 (t1 ), Π̈0 (t1 ), Π̇N (tf ), Π̈N (tf )
Áttekintés
1 Út és trajektória
2 Csuklóváltozók trajektóriája
Út alapelemek
Út (Γ) - paraméterezett térbeli görbe: p = f (σ), σ ∈ [σi , σf ]
Ha p(σf ) = p(σi ), akkor az út zárt, egyébként nyitott
Áttérés ívhosszparaméterre: a p-hez tartozó paraméter σ helyett a Γ út p i és p pontok
közti ívhossza (s) lesz:
p = f (s)
Minden p ponthoz tartozik 3 egységvektor (kísérő triéder)
dp
t= ds
érintő egységvektor
d 2 p/ds 2
n= ||d 2 p/ds 2 ||
főnormális egységvektor
b = t × n binormális egységvektor
O pedig a p-beli simulósík
Pozíció
Legyen p = f (s) a végszerszámhoz illesztett koorinátarendszer origóga által bejárandó Γ
útvonal paraméterezése
Γ a p i és a p f pontokat köti össze, miközben a paraméter s = 0 (t = 0) és
s = sf (t = tf ) között változik
Γ bejárásának időbeli lefolyását az s(t) függvény határozza meg (interpolációval
meghatározható)
Adott s(t)-vel az útvonal bejárásának dinamikája: p sebessége
dp ds
ṗ = = ṡt
ds dt
pi és pf pontokat összekötő szakasz
ṡ
ṗ = ||p −p ||
(p f − p i ) = ṡt
f i
s̈
p̈ = ||p −p ||
(p f − p i ) = s̈t
f i
Kör esetében a sebesség iránya t, a gyorsulás pedig egy n és t irányú komponensből áll elő
Orientáció
Miután a műveleti térbeli útvonal és trajektória (azaz p(s(t)) és φ(s(t))) megvan, inverz
kinematikai algoritmussal határozzuk meg a csuklóváltozók q(t) trajektóriáját
Áttekintés
1 Út és trajektória
2 Csuklóváltozók trajektóriája
q̈(t) = ṙ 2 q 00 (r ) + r̈ q 0 (r )
Lineáris skálázás esetén r (t) = c · t (c > 1)
τ (t)
τ (t) = c 2 τ (ct) ⇒ τ (ct) =
c2
1
A nyomatékok nagysága c2
-ed része lett azon az áron, hogy t f > tf