Podproblémy Paden – Kahan - Paden–Kahan subproblems

Podproblémy Paden – Kahan je soubor řešených geometrických problémů, které se často vyskytují v inverzní kinematika běžných robotických manipulátorů.[1] Ačkoli soubor problémů není vyčerpávající, lze jej použít ke zjednodušení inverzní kinematické analýzy pro mnoho průmyslových robotů.[2]

Strategie zjednodušení

Pro strukturní rovnici definovanou součin exponenciálů Metoda, Paden – Kahanovy dílčí problémy lze použít ke zjednodušení a vyřešení inverzní kinematické úlohy. Je pozoruhodné, že exponenciály matice nejsoukomutativní.

Obecně se subproblémy používají k řešení konkrétních bodů úlohy inverzní kinematiky (např. Průsečík os kloubů) za účelem řešení úhlů kloubů.

Eliminace otáček kloubů

Zjednodušení je dosaženo zásadou, že rotace nemá žádný vliv na bod ležící na její ose. Například pokud jde o bod je na ose otáčení otáčení , jeho poloha není ovlivněna aktivací zákrutu. K vtipu:

Tedy pro strukturní rovnici

kde , a jsou všechny zvraty s nulovou roztečí, aplikující obě strany rovnice na bod který je na ose (ale ne na osách nebo ) výnosy
Zrušením , to přináší
který, pokud a protínají, lze vyřešit dílčím problémem 2.

Norma

V některých případech může být problém také zjednodušen odečtením bodu od obou stran rovnice a převzetím normy výsledku.

Například řešit

pro , kde a protínají se v bodě , lze na bod aplikovat obě strany rovnice to není na ose . Odečítání a brát normu obou stran výnosy
To lze vyřešit pomocí dílčího problému 3.

Seznam dílčích problémů

Každý dílčí problém je prezentován jako algoritmus založený na geometrickém důkazu. Kód pro řešení daného dílčího problému, který by měl být zapsán pro případy s více řešeními nebo bez řešení, může být integrován do inverzních kinematických algoritmů pro širokou škálu robotů.

Podproblém 1: Rotace kolem jedné osy

Ilustrace prvního dílčího problému Paden – Kahan.
Nechat být twist s nulovým stoupáním s jednotkovou velikostí a být dva body. Nalézt takhle

V tomto dílčím problému bod se otáčí kolem dané osy tak, že se shoduje s druhým bodem .

Ilustrace promítaného kruhu v prvním dílčím problému Paden – Kahan.

Řešení

Nechat být bodem na ose . Definujte vektory a . Od té doby je na ose , Proto,

Dále vektory a jsou definovány jako projekce a na rovinu kolmou k ose . Pro vektor ve směru osy ,

a
V případě, že , a oba body leží na ose otáčení. Subproblem proto v tomto případě přináší nekonečné množství možných řešení.

Aby problém měl řešení, je nutné, aby projekce a na osy a na rovinu kolmou na mají stejnou délku. Je nutné zkontrolovat, že:

a to

Pokud jsou tyto rovnice splněny, hodnota úhlu spoje lze najít pomocí atan2 funkce:

Pokud , měl by tento dílčí problém přinést jedno řešení pro .

Subproblem 2: Rotation around two subsequent axes

Ilustrace Paden – Kahan Subproblem 2. Subproblem přináší dvě řešení v případě, že se kružnice protínají ve dvou bodech; jedno řešení, pokud jsou kružnice tangenciální; a žádné řešení, pokud se kruhy neprotínají.
Nechat a být dva zvraty s nulovým stoupáním s jednotkovou velikostí a protínajícími se osami Nechat být dva body. Nalézt a takhle

Tento problém odpovídá rotaci kolem osy podle , poté jej otočíte kolem osy podle , takže konečné umístění je shodný s . (Pokud osy a jsou shodné, pak se tento problém redukuje na dílčí problém 1 a připouští všechna taková řešení .)

Řešení

Za předpokladu, že obě osy nejsou rovnoběžné (tj. ), nechť být takovým bodem

Jinými slovy, představuje bod, ke kterému se otáčí kolem jedné osy, než se otáčí kolem druhé osy, aby se shodovalo s . Každá jednotlivá rotace je ekvivalentní k dílčímu problému 1, je však nutné určit jedno nebo více platných řešení pro za účelem řešení rotací.

Nechat být průsečíkem dvou os:

Ilustrace Paden – Kahanova dílčího problému 2, ukazující tangenciální případ, ve kterém dílčí problém přináší pouze jedno řešení.

Definujte vektory , a . Proto,

To z toho vyplývá , , a . Od té doby , a jsou lineárně nezávislé, lze psát jako

Hodnoty koeficientů lze vyřešit takto:

Ilustrace Paden – Kahanova dílčího problému 2, znázorňující případ se dvěma protínajícími se kruhy, a tedy se dvěma řešeními. Obě řešení (c, c2) jsou zvýrazněna.

, a
Subproblém získá dvě řešení v případě, že se kružnice protínají ve dvou bodech; jedno řešení, pokud jsou kružnice tangenciální; a žádné řešení, pokud se kruhy neprotínají.

Podproblém 3: Rotace na danou vzdálenost

Nechat být twist s nulovým stoupáním s velikostí jednotky; nechat být dva body; a nechte být reálné číslo větší než 0. Najít takhle

V tomto problému bod se otáčí kolem osy dokud není bod vzdáleností z bodu . Aby mohlo existovat řešení, kruh je definován rotací kolem musí protínat kouli o poloměru se středem na .

Řešení

Nechat být bodem na ose . Vektory a jsou definovány tak, že

Projekce a jsou a „Projekce“ úsečkového segmentu definovaná se zjistí odečtením složky v směr:

Úhel mezi vektory a je nalezen pomocí atan2 funkce:
Úhel spoje se nachází podle vzorce
Tento dílčí problém může přinést nula, jedno nebo dvě řešení, v závislosti na počtu bodů, ve kterých je poloměr kruhu protíná kruh o poloměru .

Subproblem 4: Rotation around two axes to a given distance

Nechat a být dva zvraty s nulovým stoupáním s jednotkovou velikostí a protínajícími se osami Nechat být body. Nalézt a takhle

Tento problém je analogický k dílčímu problému 2, až na to, že konečný bod je omezen vzdálenostmi ke dvěma známým bodům.

Podproblém 5: Překlad na danou vzdálenost

Nechat být zkroucením velikosti jednotky o nekonečné výšce; dva body; a reálné číslo větší než 0. Najít takhle

Reference

  1. ^ Paden, Bradley Evan (1985). "Kinematika a řízení robotických manipulátorů". Ph.D. Teze. Bibcode:1985PhDT ........ 94P.
  2. ^ Sastry, Richard M. Murray; Zexiang Li; S. Shankar (1994). Matematický úvod do robotické manipulace (PDF) (1. [Dr.] ed.). Boca Raton, Florida .: CRC Press. ISBN  9780849379819.