AVSI – Hladká interpolace trajektorie
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Funkční blok AVSI - Akcelerace (A), Rychlost (V ), Vzdálenost (S) Interpolace (I) - je
navržen pro interpolaci signálů, zejména v aplikacích řízení pohybu. Jeho hlavní
účel spočívá v generování hladkých sekvencí polohy (vzdálenosti), rychlosti a
zrychlení na základě diskrétních vstupních hodnot. Tento blok je inspirován
funkcionalitou z RM_AxisSpline a nabízí podobné interpolační
metody.
Blok AVSI přijímá na svých vstupech sn (polohu), vn (rychlost) a an (zrychlení), které jsou generovány externí funkcí (mimo tento blok) s určitou periodou definovanou parametrem RemTs. Hodnoty se na vstupu bloku aktualizují na náběžné hraně signálu SET.
Interpolace mezi jednotlivými vstupy se provádí s cílem vytvořit plynulé přechody a zajistit kontinuální řízení pohybu nebo jiné aplikace vyžadující regulaci signálu a jeho derivací. Blok podporuje různé interpolační metody určené parametrem Mode, které odpovídají možnostem v RM_AxisSpline. Podporované metody jsou:
- linear: Poloha interpolována lineárně, rychlost jako derivace polohy, zrychlení 0 (tj. rychlost je po částech konstantní funkce se skoky).
- cubic spline: Poloha je polynom 3. řádu, vypočtený na základě polohy a rychlosti na začátku a konci intervalu; rychlost je derivace polohy, zrychlení derivace rychlosti.
- quintic spline: Poloha je polynom 5. řádu, vypočtený na základě polohy, rychlosti a zrychlení na začátku a konci intervalu; rychlost je derivace polohy, zrychlení derivace rychlosti.
- cubic aproximation (B-spline): Poloha je polynom 3. řádu, vypočtený na základě dvou poloh před a dvou poloh za aktuálním intervalem; proložená funkce nemusí přesně procházet zadanými body; rychlost je derivace polohy, zrychlení derivace rychlosti.
- quintic aproximation (B-spline): Poloha je polynom 5. řádu, vypočtený na základě tří poloh před a tří poloh za aktuálním intervalem; proložená funkce nemusí přesně procházet zadanými body; rychlost je derivace polohy, zrychlení derivace rychlosti.
- all linear: Poloha, rychlost i zrychlení jsou interpolovány lineárně navzájem nezávisle, tj. rychlost neodpovídá přesně derivaci polohy a zrychlení neodpovídá přesně derivaci rychlosti.
- all cubic: Poloha i rychlost jsou interpolovány polynomem 3. řádu navzájem nezávisle, tj. rychlost neodpovídá přesně derivaci polohy.
- rezervováno pro pozdější použití.
- rezervováno pro pozdější použití.
Vzhledem k principu činnosti blok AVSI zavádí zpoždění signálu, kde aktivní generování hodnot začíná až po dvou kompletních periodách RemTs od první náběžné hrany signálu SET. Pro B-spline interpolační metody je potřeba větší množství vzorků pro zahájení interpolace.
Blok AVSI je primárně určen pro aplikace řízení pohybu, ale lze jej použít i pro jiné typy signálů a jejich derivace. Jeho implementace umožňuje efektivnější a plynulejší přechody mezi jednotlivými stavovými hodnotami bez nutnosti složitého externího řízení.
Při použití je důležité správně nastavit periodu RemTs odpovídající generátoru vstupních hodnot a zvolit vhodný Mode pro požadovaný typ interpolace.
Tento blok propaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
an | Zrychlení v příštím (velkém) tiku [unit/s^2] | Double (F64) |
vn | Rychlost v příštím (velkém) tiku [unit/s] | Double (F64) |
sn | Poloha v příštím (velkém) tiku [unit] | Double (F64) |
SET | Vstupy jsou použity při náběžné hraně | Bool |
R1 | Reset bloku | Bool |
dm | Maximální povolené zpomalení při chybě[m/s^2] | Double (F64) |
Parametr
RemTs | Perioda pomalejšího (vzdáleného) signálu 0.0 | Double (F64) |
Mode | Algoritmus pro interpolaci 9 | Long (I32) |
|
|
|
Výstup
a | Zrychlení [unit/s^2] | Double (F64) |
v | Rychlost [unit/s] | Double (F64) |
s | Poloha [unit] | Double (F64) |
RDY | Příznak platnosti/připravenosti výstupu | Bool |
iE | Kód chyby | Bool |
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com