You are on page 1of 21

Uvod v Hom.

Transformacije

Serijska veriga
• Značilnost vseh človeku podobnih robotskih mehanizmov (rok, prstov, nog) je
serijska veriga segmentov in sklepov
• Serijska veriga je sistem togih teles, kjer je vsak člen povezan z dvema
sosednjima.
• V osnovi nas zanima lega (pozicija in orientacija)vrha k.s. glede na osnovni k.s.
• Pozicija – vektor, ki povezuje izhodišči koordinatnih sistemov
• Orientacija – zasuk enega k.s. glede na drugi k.s.

Gibljivi koordinatni sistem vrha robota

Osnovni (referenčni) mirujoč koordinatni sistem


Homogene Transformacije

Vizualna predstavitev
• Lego in premik lahko opišemo z enotnim matematičnim orodjem: homogeno
transformacijsko matriko (HTM)
• HTM je matrika reda 4 x 4 z naslednjo grafično podobo

• 9 črnih krogcev (matrika 3 x 3) označuje ortogonalno matriko (inverz enak


transponirani matriki)
- Elementi so smerni kosinusi kotov med posameznimi osmi koordinatnih
sistemov
- ko govorimo o legi, matrika predstavlja orientacijo, kadar nas zanima
premik, matrika predstavlja rotacijo.
• 3 črni kvadratki (matrika 3 x 1) predstavljajo pozicijo, ko govorimo o legi in
translacijo kadar nas zanima premik.
• 3 prazni kvadratki (matrika 1 x 3) predstavljajo perspektivično transformacijo
(pomembna v računalniški grafiki). V robotiki imamo na tem mestu 3 ničle.
Homogene Transformacije

Rotacija
• Rotacija ali vrtenje pomeni krožno gibanje okoli osi (npr. točko a zasučemo za kot
alfa okoli poljubne osi, ki poteka skozi koordinatno izhodišče mirujočega k.s.).
• Desnosučni k.s. -> pozitivna rotacija je usmerjena v nasprotni smeri vrtenja
urinega kazalca (pravilo desne roke).
1 0 0 0
0 𝑐𝑜𝑠 𝜗 −𝑠𝑖𝑛 𝜗 0
𝑅𝑥 = 𝑅𝑜𝑡 𝑥, 𝜗 =
0 𝑠𝑖𝑛 𝜗 𝑐𝑜𝑠 𝜗 0
0 0 0 1

𝑐𝑜𝑠 𝜗 0 𝑠𝑖𝑛 𝜗 0
𝑅𝑦 = 𝑅𝑜𝑡 𝑦, 𝜗 = 0 1 0 0
−𝑠𝑖𝑛 𝜗 0 𝑐𝑜𝑠 𝜗 0
0 0 0 1

𝑐𝑜𝑠 𝜗 −𝑠𝑖𝑛 𝜗 0 0
𝑅𝑧 = 𝑅𝑜𝑡 𝑧, 𝜗 = 𝑠𝑖𝑛 𝜗 𝑐𝑜𝑠 𝜗 0 0
0 0 1 0
0 0 0 1
Homogene Transformacije

Naloga 3
Podano imamo točko A. Katero točko B dobimo, če točko A zavrtimo v nasprotni
smeri urinega kazalca za 90°okoli z-osi?

𝐴 =7i+3j+0k
Homogene Transformacije

Translacija
• Za translacijo, ki jo podaja vektor 𝑑 = 𝑎 ∙ 𝑖 + 𝑏 ∙ 𝑗 + 𝑐 ∙k
je homogena transformacijska matrika definirana kot H:
1 0 0 𝑎
𝑇 = 𝑇𝑟𝑎𝑛𝑠 𝑎, 𝑏, 𝑐 = 0 1 0 𝑏
0 0 1 𝑐
0 0 0 1

• Pri delu z HMT poljuben vektor zapišemo v naslednji obliki: 𝑥


𝑦 𝑇
q= = 𝑥 𝑦 𝑧 1
𝑧
1
• Translacijsko premaknjen vektor v dobimo na naslednji način:
1 0 0 𝑎 𝑥 𝑥+𝑎
𝑣 =𝑇∙𝑞 = 0 1 0 𝑏 ∙ 𝑦 = 𝑦+𝑏
0 0 1 𝑐 𝑧 𝑧+𝑐
0 0 0 1 1 1

• Translacija predstavlja vsoto dveh vektorjev


Homogene Transformacije

Naloga 4
Vektor S translacijsko premaknemo za razdaljo, ki jo predstavlja vektor F. V
katero točko (koordinate) se prestavi vektor S?

S = 2𝑖 + 3𝑗 + 2𝑘

𝐹 = 4𝑖 − 3𝑗 + 7𝑘
Homogene Transformacije

Lega in Premik
• Lega telesa – pozicija in orientacija telesa v prostoru
• Premik telesa – rotacija in translacija telesa v prostoru
• Kadar želimo podati pozicijo telesa v prostoru, potrebujemo referenčno točko na
telesu (težišče, vogal, …).
• Lego ali premik telesa opišemo s homogeno transformacijsko matriko, ki združuje
orientacijo in pozicijo oz. rotacijo in translacijo v eni matriki.
0 0 0 𝑇
0
𝐻1 = 𝑅1 𝑑1 1
𝐻0 = 0
𝐻1−1 = 𝑅1 − 0𝑅1𝑇 ∙ 0𝑑1
0 1 0 1
• Kadar izvajamo homogene transformacije glede na referenčni koordinatni
sistem izvajamo premultiplikacijo zaporednih homogenih transformacijskih
matrik.

• Kadar izvajamo homogene transformacije glede na trenutni koordinatni sistem


izvajamo postmultiplikacijo zaporednih homogenih transformacijskih matrik.

• Za H.T. je značilno, da lahko element (točka, vektor, lik, …) poljubnokrat


transformiramo (preslikujemo).
Homogene Transformacije

H. T. glede na Referenčni koordinatni sistem


• Postopek Izračuna:
- Vsaka homogena transformacijska matrika (HTM) na začetku predstavlja
1 rotacijo ali 1 translacijo.
- Zaporedne rotacije oz. translacije v obliki HTM med seboj pomnožimo da
dobimo skupno HTM (vsebuje več rotacij, translacij v eni sami matriki)
- Vrstni red množenja: premultiplikacija zaporednih homogenih
transformacijskih matrik.
𝑁 𝑁 𝑁−1 3 2 1
Prva transformacija
𝐻0 = 𝐻𝑁−1 ∙ 𝐻𝑁−2 ⋯ 𝐻2 ∙ 𝐻1 ∙ 𝐻0(rotacija, translacija)

Druga transformacija

• Transformacija Vektorja ali Točke


𝑝𝑡𝑟𝑎𝑛𝑠 = 𝑁𝐻0 ∙ 𝑝𝑧𝑎𝑐

• Transformacija Lika ali Koordinatnega sistema


𝐿𝑡𝑟𝑎𝑛𝑠 = 𝑁𝐻0 ∙ 𝐿𝑧𝑎𝑐
Homogene Transformacije

Naloga 5 - Transofrmacija Vektorja ali Točke


Za podani vektor V izvedi 3 x preslikavo in sicer:
1.) rotacija za 90° okoli z-osi [Rot(z,90°)]
2.) rotacija za 90° okoli y-osi [Rot(y,90°)]
3.) translacija za vektor k [Trans(4,-3,7)]
V katero točko (koordinate) se prestavi vektor V glede na referenčni koordinatni
sistem?
𝑇
𝑉 = 7,3,2,1
Homogene Transformacije

Naloga 6 - Transofrmacija Vektorja ali Točke


Za podani vektor a (enotski vektor i) izvedi 3 x preslikavo in sicer:
1.) rotacija v smeri vrtenja urinega kazalca za 90° okrog z-osi [Rot(z,-90°)]
2.) translacija za 2 v pozitivni smeri osi y [Trans(0,2,0)]
3.) rotacija v nasprotni smeri urinega kazalca za 90° okrog x-osi [Rot(x,90°)]
V katero točko (koordinate) se prestavi vektor a glede na referenčni koordinatni
sistem?
𝑇
𝑎 = 1,0,0,1
Homogene Transformacije

H.T. glede na ref. K. S. (Opis Lege koordinatnega sistema)


• Kadar Homogena matrika H opisuje lego, tedaj rotacijska matrika R pomeni
orientacijo, medtem ko stolpec d predstavlja pozicijo.
0 0
0
𝐻1 = 𝑅 1 𝑑1
0 1
• Primer zapisa H transformacije novega k.s. glede na ref. k .s.
𝑥1 𝑦1 𝑧1
0 0 1 4 𝑥𝑜
1 0 0 −3 𝑦0
0 1 0 7 𝑧0
0 0 0 1 ′

• Če bomo v osnovnem koordinatnem sistemu imeli


neko telo na katerega bomo pripeli koordinatni sistem
potem lahko s pridobljenim znanjem neposredno
zapišemo homogeno transformacijo, ki opisuje lego
telesa glede na osnovni koordinatni sistem.
Homogene Transformacije

H.T. glede na ref. K. S. (Premik koordinatnega sistema)


• Kadar Homogena matrika H opisuje premik, tedaj rotacijska matrika R pomeni
rotacijo, medtem ko stolpec d predstavlja translacijo. 0
0
𝑅 0
𝑑1
𝐻1 = 1
0 1

𝐻 = 𝑇𝑟𝑎𝑛𝑠 4, −3,7 ∙ 𝑅𝑜𝑡 𝑦, 90° ∙ 𝑅𝑜𝑡 𝑧, 90° =

1 0 0 4 0 0 1 0 0 −1 0 0
= 0 1 0 −3 ∙ 0 1 0 0 ∙ 1 0 0 0 =
0 0 1 7 −1 0 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1

0 0 1 4
= 1 0 0 −3
0 1 0 7
0 0 0 1
Homogene Transformacije

H.T. glede na referenčni (fiksni) koordinatni sist. (Povzetek)


• Premultiplikacija HTM
• Množenje vektorja p, ki pomeni položaj točke v prostoru, s homogeno matriko H
premakne vektor v nov položaj, ki ga opisuje produkt Hp. Torej imamo produkt
matrike in stolpca (vektor).

𝑝𝑡𝑟𝑎𝑛𝑠 = 𝐻 ∙ 𝑝𝑧𝑎𝑐

• Lego L telesa ali k.s. v prostoru opišemo s HTM.


• Premik P telesa ali k.s. v prostoru opišemo s HTM.
• Množenje (premultiplikacija) lege L telesa, ki je predstavljena z lastnim
koordinatnim sistemom, s premikom P, premakne telo v novo pozicijo glede na
referenčni (fiksni) koordinatni sistem.

𝐿𝑡𝑟𝑎𝑛𝑠 = 𝑃 ∙ 𝐿𝑧𝑎𝑐
Homogene Transformacije

Naloga 7 – Transformacija koordinatnega sistema lika


Zapiši HTM za Lego in Premik glede na referenčni koordinatni sistem ter
izračunaj končno Lego iz podatkov podanih na spodnji sliki.
Homogene Transformacije

Naloga 8 – Transformacija koordinatnega sistema lika


Zapiši HTM za Lego in Premik lika glede na referenčni koordinatni sistem ter
izračunaj končno Lego lika iz podatkov podanih na spodnji sliki.

Začetni položaj Končni položaj


Homogene Transformacije

H. T. glede na Trenutni (lokalni) koordinatni sistem


• Postopek Izračuna:
- Vsaka homogena transformacijska matrika (HTM) na začetku predstavlja
1 rotacijo ali 1 translacijo.
- Zaporedne rotacije oz. translacije v obliki HTM med seboj pomnožimo da
dobimo skupno HTM (vsebuje več rotacij, translacij v eni sami matriki)
- Vrstni red množenja: postmultiplikacija zaporednih homogenih
transformacijskih matrik.
0
𝐻𝑁 = 0𝐻1 ∙ 1𝐻2 ∙ 2𝐻3 ⋯ 𝑁−2𝐻𝑁−1 ∙ 𝑁−1𝐻𝑁
Prva transformacija
Druga transformacija
(rotacija, translacija)

• Transformacija Vektorja ali Točke


𝑝𝑡𝑟𝑎𝑛𝑠 = 0𝐻𝑁 ∙ 𝑝𝑧𝑎𝑐

• Transformacija Lika ali Koordinatnega sistema


𝑳𝒕𝒓𝒂𝒏𝒔 = 𝑳𝒛𝒂𝒄 ∙ 𝟎𝑯𝑵
Homogene Transformacije

Naloga 9 - Transofrmacija Vektorja ali Točke


Za podani vektor V izvedi 3 x preslikavo in sicer:
1.) rotacija za 90° okoli trenutne z-osi [Rot(z,90°)]
2.) rotacija za 90° okrog trenutne y-osi [Rot(y,90°)]
3.) translacija za vektor k [Trans(4,-3,7)] glede na trenutni koordinatni sistem
V katero točko (koordinate) se prestavi vektor V glede na začetni (referenčni)
koordinatni sistem?
𝑇
𝑉 = 7,3,2,1
Homogene Transformacije

H.T. glede na trenutni K. S. (Premik koordinatnega sistema)


𝑥1 𝑦1 𝑧1 Kadar opravljamo premike glede na
relativni k.s. beremo HTM iz leve proti
0 0 1 4 𝑥𝑜
desni, kadar opravljamo premike glede
1 0 0 −3 𝑦0
na fiksni k.s. beremo HTM iz desne
0 1 0 7 𝑧0
proti levi.
0 0 0 1 ′
𝐻 = 𝑇𝑟𝑎𝑛𝑠 4, −3,7 ∙ 𝑅𝑜𝑡 𝑦, 90° ∙ 𝑅𝑜𝑡 𝑧, 90° =

1 0 0 4 0 0 1 0 0 −1 0 0
= 0 1 0 −3 ∙ 0 1 0 0 ∙ 1 0 0 0 =
0 0 1 7 −1 0 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1

0 0 1 4
= 1 0 0 −3
0 1 0 7
0 0 0 1
Homogene Transformacije

H.T. glede na trenutni (relativni) koordinatni sist. (Povzetek)


• Postmultiplikacija HTM
• Množenje vektorja p, ki pomeni položaj točke v prostoru, s homogeno matriko H
premakne vektor v nov položaj, ki ga opisuje produkt Hp. Torej imamo produkt
matrike in stolpca (vektor).

𝑝𝑡𝑟𝑎𝑛𝑠 = 𝐻 ∙ 𝑝𝑧𝑎𝑐

• Lego L telesa ali k.s. v prostoru opišemo s HTM.


• Premik P telesa ali k.s. v prostoru opišemo s HTM.
• Množenje (postmultiplikacija) lege L telesa, ki je predstavljena z lastnim
koordinatnim sistemom, s premikom P, premakne telo v novo pozicijo glede na
trenutni koordinatni sistem.

𝐿𝑡𝑟𝑎𝑛𝑠 = 𝐿𝑧𝑎𝑐 ∙ 𝑃
Homogene Transformacije

Naloga 10 – Transformacija koordinatnega sistema lika


Zapiši HTM za Lego in Premik glede na trenutni koordinatni sistem ter izračunaj
končno Lego iz podatkov podanih na spodnji sliki.
Homogene Transformacije

Naloga 11 – Transformacija koordinatnega sistema lika


Zapiši HTM za Lego in Premik lika iz naloge 8 z upoštevanjem trenutnega
koordinatnega sistema lika ter izračunaj končno Lego lika iz podatkov podanih
na spodnji sliki.

Začetni položaj Končni položaj

Možen je direkten zapis HMT za Premik!!! – robotsko sestavljanje

You might also like