MC_SetKinTransform_Lin – Nastavení kinematické transformace
Symboly blokůPotřebná licence: COORDINATED MOTION
Popis funkce
Bloky MC_MovePath a MCP_MovePath mají naprosto shodnou funkci, jediným rozdílem
je, že MCP_ varianta bloku má méně vstupů a potřebné konstanty se zadávají jako
parametry bloku.
Blok MC_SetKinTransform_Lin slouží pro nastavení kinematické transformace. To je transformace mezi polohou motorů a kartezkými souřadnicemi koncového efektoru stroje. Pro různé typy strojů má tato funkce různý charakter a parametry. Tento blok slouží pro případy, kdy je transformace prázdná, tj. polohy motorů přímo odpovídají kartézkým souřadnicím koncového efektoru (to je typické pro obráběcí stroje nebo portálové manipulátory) nebo lineární (např. struktura T-bot).
Systém motion control obsahuje 3 souřadnice polohy, kvaternion pro určení orientace a několik dalších (tzv. aux) souřadnic. Blok MC_SetKinTransform_Lin umožňuje nadefinovat, kolik používáme polohových souřadnic, (např. některý stroj se pohybuje jen v ploše a pak používá jen 2 polohové souřadnice nebo stroj se může jen natáčet a pak nemá žádnou polohovou souřadnici), zda stroj používá natočení v 3D prostoru, kolik a jakých (posuvné nebo rotační) dalších os je použito. Počet polohových os definuje parametr npos. Orientace je interně vždy reprezentována kvaternionem. Jak se bude zadávat do parametrů bloků určuje parametr RotMode. Lze ji zadávat buď kvaternionem nebo pomocí Eulerovo úhlů (ty si lze představit jako souřadnice na zeměkouli: zeměpisná délka, zeměpisná šířka, azimut). Protože tato kinematika je lineární, stejná čísla, která se zadávají do parametrů odpovídající požadované orientaci, jsou pak i polohy odpovídajících os/motorů.
Parametry A a b. slouží pro lineární transformaci. Pokud polohy os/motorů přímo odpovídají kartézkým souřadnicím, transformace se neuplatňuje a je potřeba ponechat původní nastavení, tj. A=[1], b=[0]. Pro manipulátor struktury T-bot platí X=M1+M2, Y=M1-M2. Pak je potřeba nastavit A=[1 1; 1 -1], b=[0 0]. Platí, že MCS=A*ACS+b, kde ACS jsou polohy motorů a MCS jsou kartézké souřadnice. Matice A musí být čtvercová a regulární, aby bylo možné určovat polohy motorů z kartézkých souřadnic.
Poznámka 1: pokud stroj používá natáčení jen v jedné (někdy i dvou) ose, bývá výhodnější nepoužít orientaci, ale přidat natočení jako dodatečnou (aux) osu. Poznámka 2: čtyři souřadnice kvaternionu přímo mapovat na osy/motory reálně asi nejde. Pro různé simulace a testování a také proto, že u jiných kinematik se to vyskytuje, tak je to podpořeno i zde.
Vstupy
uAxesGroup | Odkaz na skupinu os | Reference |
Execute | Náběžná hrana aktivuje blok | Bool |
Parametry
npos | počet použitých polohových os 0 3 3 | Long (I32) |
RotMode | Volba reprezentace orientace 1 | Long (I32) |
|
|
|
naux | Počet doplňkových os 0 3 | Long (I32) |
fcyc | čísla/pořadí doplňkových os, které jsou rotační. Pro rotační doplňkové osy se poloha zadává v radiánech nebo ve stupních a normalizuje se na interval -180 až +180 (resp. ekvivalent v radiánech) 0 | Long (I32) |
A | transformační matice. Platí, že MCS=A*ACS+b. Matice musí být čtvercová, regulární a správné dimenze. [1.0] | Double (F64) |
b | transformační vektor. Platí, že MCS=A*ACS+b. Vektor musí být správné dimenze. [0.0] | Double (F64) |
Výstupy
yAxesGroup | Odkaz na skupinu os | Reference |
Done | Příznak dokončení algoritmu | Bool |
Busy | Příznak, že algoritmus ještě neskončil | Bool |
Error | Příznak chyby | Bool |
ErrorID | Výsledek poslední operace | Error |
|
|
|
[Předchozí] [Na začátek] [Výše] [Další]
2023 © REX Controls s.r.o., www.rexygen.com