DynaLab dynamika ramene

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.

Newton-Eulerova rekurze

Existují dvě cesty, jak z popisu ramene dostat momenty. Tahle je ta doslovná: pro každý článek napiš druhý Newtonův zákon, pro každý článek napiš Eulerovu rovnici otáčení, a pak to poskládej. Vyjde z toho postup, který se dá projít prstem po obrázku.

dopředný průchod: rychlosti a zrychlení, od základny venzpětný průchod: síly a momenty, od konce dovnitřčlánek 1článek 2článek 3q₁q₂q₃ω, ω̇, af, μ → τ
Rekurze má dva průchody a jde jimi jedna vlna: nejdřív ven, s rychlostmi a zrychleními, a pak zpátky, se silami a momenty. Jedna cesta tam a zpět je jeden kompletní výpočet momentů v jednom okamžiku.

Dopředný průchod: kdo se jak hýbe

Začne se u základny, kde se neděje nic, a jde se ven. Každý kloub přidá k tomu, co už dělá jeho předchůdce, svůj vlastní příspěvek:

ωi = RT·(ωi−1 + q̇i·z)otáčení: sečti a přepočítej do svého rámce
ω̇i = RT·(ω̇i−1 + q̈i·z + q̇i·ωi−1 × z)ten třetí člen je to, co se snadno zapomene
ai = RT·ai−1 + ω̇i × r + ωi × (ωi × r)zrychlení počátku rámce
aci = ai + ω̇i × rc + ωi × (ωi × rc)a odtud na těžiště

Třetí člen v ω̇ stojí za vysvětlení, protože není samozřejmý: osa kloubu i se sama otáčí, jak ji nese předchozí článek. I kdyby kloub zrychloval rovnoměrně, jeho osa mění směr, a to je taky úhlové zrychlení. Kdo tenhle člen vynechá, dostane správný výsledek jen u ramene, jehož všechny osy jsou rovnoběžné.

Ty poslední dva vzorce jsou MotionLab slovo od slova. Tam se jim věnuje celá kapitola i s tím, co který člen fyzicky znamená; tady se jen používají, ve smyčce přes celý řetěz a přes celý čas.

Zpětný průchod: kdo co nese

Teď se jde od konce dovnitř. Poslední článek nemá za sebou nic, takže síla, kterou musí jeho kloub dodat, je přesně ta, co ho zrychluje. Předposlední musí zvládnout tohle a k tomu ještě sebe. A tak dál až k základně:

fi = fi+1 + mi·(aci − g)Newton
μi = μi+1 + fi+1 × rc − fi × (r + rc) + I·ω̇ + ω × (I·ω)Euler

Z každého kloubu tak vypadne celý silový klíč — tři složky síly a tři momentu. Motor z toho ale dělá jenom jednu jedinou: tu podél své osy. Zbytek nesou ložiska a konstrukce.

τi = μi · zi−1u rotačního kloubu; u posuvného fi · z

Ten zbytek není odpad. Radiální síla jde do BearingLabu, ohybový moment do ShaftLabu a BeamLabu. Rekurze je počítá stejně poctivě jako moment na ose — jen se v téhle labce nedívají na obrazovku, protože ji zajímá pohon.

Proč se to dělá právě takhle

Protože je to lineární v počtu kloubů. Šestiosé rameno stojí šestkrát tolik co jednoosé, ne třicet šestkrát. Uzavřený vzorec pro moment v prvním kloubu šestiosého ramene má tisíce členů a v roce 1974 se v JPL odvozoval ručně; rekurze se naprogramuje na jedno odpoledne a běží v regulátoru na kilohertzech. Symbolický zápis a rekurze dají naprosto totéž — jen jeden z nich se vejde na papír a druhý do procesoru.

Vzorce v této kapitole

ω — úhlová rychlost článku
ωᵢ = Rᵀ(ωᵢ₋₁ + q̇ᵢ·z) [rad/s] De Luca, NE, slide 7
ω̇ — úhlové zrychlení článku
ω̇ᵢ = Rᵀ(ω̇ᵢ₋₁ + q̈ᵢ·z + q̇ᵢ·ωᵢ₋₁×z) [rad/s²] De Luca, NE, slide 7
a_c — zrychlení těžiště
a_c = a + ω̇×r_c + ω×(ω×r_c) [m/s²] De Luca, NE, slide 7
f — síla v kloubu (Newton)
fᵢ = fᵢ₊₁ + mᵢ(a_cᵢ − g) [N] De Luca, NE, slide 10
μ — moment v kloubu (Euler)
μᵢ = μᵢ₊₁ + fᵢ₊₁×r_c − fᵢ×(r+r_c) + Iω̇ + ω×(Iω) [N·m] De Luca, NE, slide 10
τ — projekce na osu kloubu
τᵢ = μᵢᵀ·zᵢ₋₁ [N·m] De Luca, NE, slide 10