AVSI – Hladká interpolace trajektorie

Symbol blokuPotřebná licence: ADVANCED
PIC

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)

1 ....

lineární

2 ....

polynom 3. řádu

3 ....

polynom 5. řádu

4 ....

aproximace polynomem 3.řádu (B-spline)

5 ....

aproximace polynomem 5.řádu (B-spline)

6 ....

vše lineární

7 ....

vše 3.řád

8 ....

9 ....

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

2024 © REX Controls s.r.o., www.rexygen.com