KineLab kinematika ramene
Otevřít interaktivní verzi →

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

3. DH parametry a dvě konvence

Obecná transformace mezi dvěma rámci má šest čísel. Denavit a Hartenberg si všimli, že mezi dvěma osami kloubů stačí čtyři — když se rámce umístí chytře.

osa kloubu i osa kloubu i+1 společná kolmice a — délka kolmice d — posun po ose α — úhel mezi osami θ — otočení kolem osy
Čtyři čísla na kloub, a ani jedno není libovolné: os kloubů se dotýká právě jedna společná kolmice a ta určuje všechno ostatní. a je její délka, α je úhel mezi osami měřený kolem ní, d je posun podél osy kloubu a θ je úhel kolem téže osy. Právě proto stačí na obecnou transformaci mezi dvěma osami čtyři čísla místo šesti.

Trik je v tom, že mezi dvěma mimoběžnými přímkami existuje právě jedna společná kolmice. Položí-li se rámce na ni, dvě z těch šesti čísel jsou nutně nulová a zbydou čtyři: a (délka kolmice), α (úhel mezi osami), d (posun po ose kloubu) a θ (otočení kolem ní). U rotačního kloubu je proměnná θ, u posuvného d.

daxyzrámec {i−1}rámec {i}
0.819-0.2870.4970.660.5740.410-0.7090.460.0000.8660.5000.400001
Tahej jedním jezdcem a dívej se, co se v matici hne. θ a d patří ose z rámce {i−1}, a a α společné kolmici. Čtyři čísla, a přesto obecná poloha i orientace — protože rámce nejsou umístěné libovolně.
Tohle je ta část, kterou se vyplatí osahat. Táhni jedním jezdcem a dívej se, co dělá rámec {i} a co se hne v matici. θ otáčí kolem staré osy z, d po ní posouvá, a teprve pak jde a po společné kolmici a α kolem ní. Čtyři čísla v tomhle pořadí — a je z toho obecná poloha i natočení.

A teď ta past

Konvence jsou dvě, obě se jmenují „DH parametry“ a dávají různé výsledky:

Standardní (Siciliano, Spong)kloub ikloub i+1{i}rámec {i} na DALEKÉM konci článku iModifikovaná (Craig)kloub ikloub i+1{i}rámec {i} na BLÍZKÉM konci článku i
Tytéž čtyři osy, dvě umístění rámce. Vlevo standardní konvence: rámec {i} sedí na vzdáleném konci článku a jeho z leží na ose kloubu i+1. Vpravo Craigova modifikovaná: rámec {i} sedí na blízkém konci a jeho z leží na ose kloubu i. Táž tabulka čísel tedy popisuje dva různé roboty — a Jakobián se liší v tom, ze kterého rámce se čte osa kloubu.
[S]   Ai = Rotzi) · Transz(di) · Transx(ai) · Rotxi)standardní
[M]   Ai = Rotxi−1) · Transx(ai−1) · Rotzi) · Transz(di)modifikovaná, Craig
 StandardníModifikovaná (Craig)
Rámec {i} ležína dalekém konci článku ina blízkém konci článku i
zi je osa kloubui+1i
Pořadí v součinunejdřív z, pak xnejdřív x, pak z
Indexy u α, aii−1
Kde se potkášSiciliano, Spong, většina učebnicCraig, hodně firemní dokumentace
Tabulka DH parametrů bez uvedení konvence je nepoužitelná. Tatáž čtyři čísla popisují dva různé roboty. Nástroj konvenci přepíná a hned je vidět, o kolik se poloha nástroje liší — bývá to desítky centimetrů, ne zaokrouhlovací chyba.

Co DH neumí

Pro dvě rovnoběžné osy není společná kolmice jednoznačná, takže volba a a d je libovolná a malá odchylka v reálném robotu ji divoce rozhodí. Proto se ke kalibraci používají jiné parametrizace (Hayati) a proto Modern Robotics prosazuje součin exponenciál — ten žádné mezirámce nepotřebuje a téhle degenerace se vyhne úplně.

Vzorce v této kapitole

A_i [S] — standardní DH transformace
A_i = Rot_z(θ_i)·Trans_z(d_i)·Trans_x(a_i)·Rot_x(α_i) [—] Siciliano, Spong
A_i [M] — modifikovaná DH transformace (Craig)
A_i = Rot_x(α_{i−1})·Trans_x(a_{i−1})·Rot_z(θ_i)·Trans_z(d_i) [—] Craig