8. Numerická IK a tlumení
Pro obecné rameno se IK řeší iterativně: spočítej chybu polohy, zeptej se Jakobiánu, jak ji zmenšit, udělej krok, opakuj.
Tři způsoby, jak udělat ten krok
| Metoda | Krok | Chování |
|---|---|---|
| Transpozice | Δq = α JT e | vždy stabilní, ale pomalá |
| Pseudoinverze | Δq = J+ e | rychlá, ale v singularitě exploduje |
| Tlumené nejmenší čtverce | Δq = JT(J JT + λ²I)−1 e | rychlá i tam, kde ostatní selžou |
Nástroj používá tlumené nejmenší čtverce (Levenberg–Marquardt; v robotice Nakamura a Wampler). Člen λ² na diagonále je celý trik: v singularitě je J JT neinvertovatelná a pseudoinverze žádá nekonečnou rychlost kloubu, kdežto λ² tu matici udrží invertovatelnou — zaplatí se za to kouskem přesnosti sledování.
Kolik tlumit
Tedy vůbec, dokud je rameno dobře podmíněné, a náběh až v okolí singularity.
Dvě věci navíc, bez kterých to není spolehlivé
- Omezení kroku. Lineární model platí lokálně; bez stropu na |Δq| umí jeden krok přehodit rameno přes celý pracovní prostor.
- Půlení kroku. Zhoršila se chyba? Zkus poloviční krok, až osmkrát. Levné a je to rozdíl mezi „obvykle konverguje“ a „konverguje“.
Chyba orientace se nepočítá odečtením úhlů
Rotační část chyby je osa a úhel rotace RteďTRcíl, ne rozdíl Eulerových úhlů. Ten by u přetečení dal nesmysl — viz RotLab, kapitola 9.