ParallelLab obrácený svět

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.

Dopředná úloha: průsečík tří koulí

Teď opačně: úhly motorů jsou známé, hledá se plošina. Tady se ta „snadnost" obrátí — a u delty se to naštěstí obrátí jen napůl.

Trik, který to zachrání

Z úhlů se spočítají tři lokty, to je přímočaré. Každý přípojný bod plošiny pak leží l od svého lokte. Jenže ty tři přípojné body nejsou totéž místo — jsou to tři různé rohy plošiny.

A tady pomůže, že se plošina neotáčí. Když se od každého lokte odečte příslušný odsazovací vektor plošiny, přesunou se všechny tři podmínky na tentýž neznámý bod — na střed plošiny:

‖p − (loket_i − P_i)‖ = l, i = 1,2,3tři koule, jeden neznámý bod

Zbývá najít bod ve vzdálenosti l od tří známých středů. To je klasická trilaterace a má uzavřený tvar.

Kdyby se plošina otáčela, tenhle krok by nešel — odsazovací vektory by závisely na neznámé orientaci a rovnice by se svázaly. Přesně to se stane u Stewartovy platformy, a proto tam žádný uzavřený tvar není.

Dvě řešení, a jak se vybere

Tři koule se protínají obecně ve dvou bodech, zrcadlově podle roviny proložené jejich středy. Jeden je nad tou rovinou, druhý pod ní. Fyzikálně platí ten dolní, protože plošina delty visí pod základnou — a to je informace zvenčí, ne z rovnic.

Když se koule nepotkají

Solver hlásí no-intersection a o kolik chybí. Stává se to při nesmyslné kombinaci úhlů, kterou by skutečný stroj nedokázal zaujmout — což je užitečné, protože to odhalí chybu v zadání dřív, než se z ní stane nesmyslný výsledek.

A ověření, které nic nestojí

Protože inverzní úloha je uzavřený vzorec a dopředná trilaterace, dá se jedna složit s druhou. Musí vyjít identita — a v testech vychází na 1e-9 mm přes stovky bodů. Tohle je nejsilnější kontrola v celé labce a nic v kódu ji nezařizuje.

Vzorce v této kapitole

— — tři koule
‖p − (loket_i − P_i)‖ = l [mm] jen díky nulové rotaci
— — dvě řešení
zrcadlově podle roviny středů [—] platí to dolní
— — kontrola kruhem
FK(IK(p)) = p na 1e-9 mm [mm] dvě různé metody