• No results found

Inverzní kinematická úloha v robotice

3 Výpočet inverzní kinematické úlohy v robotice

3.4 Inverzní kinematická úloha v robotice

Inverzní kinematická úloha v robotice [9] je zobrazení z prostoru polohy koncového bodu kinematické struktury do prostoru kloubových souřadnic . To znamená, že známe polohu koncového bodu v kartézském souřadnicovém systému , resp. homogenní matici transformace , a hledáme polohy všech rotačních vazeb = ( 0, 1,…, ) (viz obr. 24 a rovnice 57).

= ( ) (57)

Než se pustíme do řešení inverzní kinematické úlohy v robotice pomocí metody relaxace úhlu, uděláme si ještě krátký přehled známých a často používaných metod. Z matematického hlediska znamená řešení inverzní kinematické úlohy v robotice hledání řešení nelineárních rovnic. Přesně těch, které získáme přímou kinematickou úlohou v robotice. Rozdíl je v tom, že poloha rotačních vazeb je pro nás v tomto případě neznámá. Nejjednodušší a nejpřesnější strategií řešení inverzní kinematické úlohy v robotice je upravit nelineární rovnice tak, abychom neznámé mohli explicitně vyjádřit.

V odborné literatuře [21] se můžeme setkat s pojmenováním geometrická, nebo také vektorová, metoda.

Problém je v tom, že pro složitější nelineární rovnice nebude explicitní vyjádření jednoduché. Takovou pomyslnou hranicí jsou přibližně tři neznámé rotační vazby. Existují také výjimky pro některé speciální kinematické struktury, kde i pro větší počet rotačních vazeb je explicitní vyjádření stále možné.

Typickým příkladem je angulární kinematická struktura robota s šesti rotačními vazbami.

Kinematickou dekompozicí [19] můžeme rozdělit řešení na dvě samostatné úlohy. Jedna úloha bude pro osy robota 1-3 (manipulátor) a druhá pro osy robota 4-6 (zápěstí). Každá úloha pak bude mít maximálně tři neznámé, tzn. dojde k výraznému ulehčení výpočtu. Další významnou skupinou jsou metody postavené na numerickém řešení nelineárních rovnic. Z obecně známých numerických algoritmů řešení soustav nelineárních rovnic je to např. Newtonova metoda [3], nebo Gradientní metoda [3]. Tak jako Newtonova metoda, tak i další numerické algoritmy v robotice vycházejí ze znalosti Jacobiho matice, např. metoda pseudoinverze Jacobiho matice [20], metoda transponované Jacobiho matice [20], nebo metoda nejmenších čtverců s tlumením, známá jako algoritmus Levenberg-Marquardt [20]. Metody, které jsou postaveny na Jacobiho matici, vycházejí nejčastěji z rovnice 53. Numerické metody použijeme tehdy, pokud nejsme schopni explicitně hledanou polohu rotačních vazeb vyjádřit, tzn. pro čtyři a více neznámých rotačních vazeb, pokud uvážíme naše přibližné omezení pro explicitní vyjádření. Poslední kategorií řešení inverzní kinematické úlohy v robotice jsou metody heuristické, které jsou vhodné jako alternativní řešení problému, pokud jsou klasické numerické metody příliš řešení, pokud ostatní metody selhávají. Jsou to metody

než CCD. Je však nutné poznamenat, že neexistuje univerzální metoda. Vždy najdeme výjimky, jako v případě kinematické dekompozice pro angulární kinematickou strukturu. Proto musíme při výběru vhodné metody vycházet ze znalosti kinematické struktury a z požadavků aplikace. Naše rozdělení metod do tří základních skupin je znázorněné na obrázku 28. Toto rozdělení není obecným pravidlem.

Slouží pouze pro názornost této práce.

Obr. 28: Metody řešení inverzní kinematické úlohy v robotice – jednoduché rozdělení

Abychom mohli použít metodu relaxace úhlu pro řešení inverzní kinematické úlohy v robotice, zaměříme se na postupy, které vychází ze znalosti Jacobiho matice, tzn. na Newtonovu metodu, metodu pseudoinverze Jacobiho matice a algoritmus Levenberg-Marquardt. Vybrané metody upravíme do podoby soustavy lineárních rovnic ∙ = , aby byly naším novým algoritmem relaxace úhlu řešitelné.

Iterační předpis pro Newtonovu metodu s pseudoinverzí Jacobiho matice ( ) je popsán vztahem 58. Obecný princip Newtonovy metody je uveden např. zde [3]. První krok Newtonovy metody vychází z počátečního odhadu . Abychom vlivem nesprávného počátečního odhadu nekonvergovali k nějakému lokálnímu minimu, tzn. ke špatnému řešení, doporučuje se volit na základě známého postavení kinematické struktury, které bude blízké žádané hodnotě. Obecně pro numerické metody platí, že při řešení inverzní kinematické úlohy v robotice vycházíme ze známé pozice kinematické struktury a hledáme řešení v nějakém blízkém okolí. Pro velké změny žádané hodnoty nemusí iterační předpis kvůli nelinearitě rovnic fungovat. Toto se v praxi řeší rozdělením změny žádané hodnoty do několika menších kroků, které nás postupně dovedou k cíli. Úprava iteračního předpisu Newtonovy metody do podoby soustavy lineárních rovnic ∙ = je popsána vztahem 59.

= − ( )( ) (58)

( )∙ = ( )+ ( ) (59)

Metoda pseudoinverze Jacobiho matice vychází z již výše uvedené rovnice 53. Po její linearizaci v nějakém malém okolí koncového bodu kinematické struktury získáme rovnici 60. Změna koncového bodu ∆ mezi aktuální a žádanou hodnotou je vlastně reziduum , které chceme minimalizovat (viz obr. 29). Chceme najít takovou změnu ∆ , kterou když přičteme k aktuální hodnotě , tak dosáhneme požadovaného cíle. Tomuto principu odpovídá iterační předpis metody

pseudoinverze Jacobiho matice 61. Často se uvádí v podobě, která odpovídá řešení pomocí metody nejmenších čtverců, tzn. rovnice 61 je ještě vynásobena z obou stran ( ). To pak vede na iterační předpis 62.

( )∙ ∆ == (60)

= + ( ) ∙ (61)

= + ( ) ∙( ( )( ) ) ∙ (62)

Obr. 29: Rozdíl žádané a aktuální polohy koncového bodu kinematické struktury. Pro velké je nutné rozdělit dráhu na několik menších úseků kvůli nelinearitě, obrázek převzat z [29]

Opět můžeme vztah 61 upravit do podoby soustavy lineárních rovnic ∙ = (viz iterační předpis 63). Je nutné konstatovat, že pro potřeby řešení pomocí metody relaxe úhlu je tento vztah daleko výhodnější, než předpis vycházející z metody nejmenších čtverců (62). Metoda nejmenších čtverců zbytečně zhoršuje výslednou podmíněnost matice soustavy. Metoda nejmenší čtverců je výhodná pro nasazení pseudoinverze, jelikož získáváme potřebnou symetrickou pozitivně definitní matici již v základním iteračním předpisu ( ) ∙ ( ). Budeme proto preferovat čistou lineární závislost, která z hlediska podmíněnosti matice povede k lepším časovým výsledkům.

( )∙ ∆ =

= + ∆ (63)

Třetí a poslední metodu, kterou upravíme, bude algoritmus Levenberg-Marquardt (64). Nejedná se o nic jiného, než o metodu nejmenších čtverců s tlumením. Iterační předpis 62 je navíc vybaven konstantou , která se v robotice používá pro omezení velkých skokových změn v oblasti singularity.

Při úpravě vztahu 64 do podoby soustavy lineárních rovnic se budeme opět snažit obejít zbytečné navýšení čísla podmíněnosti výsledné matice soustavy. Metodu nejmenších čtverců zredukujeme na lineární závislost, ale konstantu tlumení ponecháme. Ve výsledku se nejedná o nic jiného, než o rozšíření soustavy o několik dalších rovnic (65). Zapracování konstanty tlumení nás bude stát nějaký iterační čas navíc, jelikož výsledná soustava lineárních rovnic bude o něco větší.

( )

∙ ∙ ∆ =

= + ∆

(65)

Related documents