Přednáška 6 Inovace výuky předmětu Robotika v lékařství Paradigmata kinematického řízení a ovládání otevřených kinematických řetězců. Kinematickým zákonem řízení rozumíme předpis, který na základě direktiv pohybu w (žádaná poloha koncového bodu řetězce v kartézských souřadnicích, nebo poloha řetězce v zobecněných souřadnicích), a jejich derivací, vytváří kinematické řídící veličiny u pro pohony v jednotlivých kinematických dvojicích řetězce ruky, za účelem dosažení stavu kde direktivy pohybu jsou totožné se skutečnými kinematickými veličinami ruky, viz obr.6.1. u Obr. 6.1: Blokové schéma kinematického řízení pomocí transponovaného jakobiánu Kde veličiny mají následující význam : x d souřadnicích (direktiva pohybu), x = x d je žádaná poloha koncového bodu paže v kart. x je regulační odchylka mezi žádanou a skutečnou polohou koncového bodu paže, u je řídící veličina představující akční zásah pohonů a v našem paradigmatu řízení má rozměr zobecněných rychlostí, které pohony musí na reálném řetězci odpracovat, viz. vztah (6.2), q je vektor aktuálních zobecněných souřadnic (polohy jednotlivých kinematických dvojic) který je možno měřit na reálné soustavě pomocí k realizuje podle vztahu (6.3) úlohu přímé inkrementálních snímačů na osách pohonů, blok ( ) kinematiky a transformuje zobezněné souřadnice na jim odpovídající polohu koncového bodu paže v kartézských souřadnicích. (6.2) r M M 1 = Tn 1 rn (6.3) Toto schéma je obecné schéma zpětnovazebního řízení. Nezaručuje stabilitu a přesnost sledování trajektorie, protože kinematické řízení nenastavuje parametry regulátoru ze znalosti dynamického popisu regulované soustavy. Proto se kinematické řízení používá pouze v případech, kdy rychlosti soustavy jsou malé a hmotnosti elementů soustavy zanedbaletné. Stránka 1 z 7
Experimentální ověření kinematického řízení pomocí transponovaného jakobiánu v prostředí Matlab/Simulink. Na základě paradigmatu kinematického řízení (obr.6.1) sestavíme v prostředí Matlab/Simulink regulační obvod, kde regulovanou soustavu můžeme nahradit integrátorem za předpokladu, že zobecněné rychlosti představující akční zásah regulátoru budou skutečnými pohony odpracovány, pokud ne zmenšíme hodnoty zisků K p v diagonální matici proporcionálního regulátoru. Obr. 6.2 : Kinematické řízení paže v prostředí Matlab/Simulink. Bloky realizující vztahy (6.2) a (6.3) tedy úlohu transformace rychlostí na zobecněné rychlosti a úlohu přímé kinematiky, tj. zobrazení polohy paže v zobecněných souřadnicích na polohu koncového bodu paže v kartézských souřadnicích v Simulinku realizujeme pomocí bloků Matlab function. V nich máme možnost uživatelsky definovat funkci (m-fail), která se bude volat z prostředí Simulink. Jak je patrné z obr.6.2 každá uživatelsky naprogramovaná fce přijímá na vstupu proměnné se kterými se volá a na výstup posílá výsledky, viz. následující kód (m-fail) realizující přímou úlohu kinematiky: Stránka 2 z 7
function kartpoloha=transformace(zobecnene); % konstanty y54 =.31; y76 =.29; y7m =.11; % zobecněné promennne (aktuální polohy v kin. dvojicích) fi21 = zobecnene(1); fi32 = zobecnene(2); fi43 = zobecnene(3); fi54 = zobecnene(4); fi65 = zobecnene(5); fi76 = zobecnene(6); % pruvodice mezi kinem dvojicemi r54=[; y54; ; 1]; r76=[; y76; ; 1]; r7m=[; y7m; ; 1]; % transformacni matice TT21 = [cos(fi21) sin(fi21) ; 1 ;-sin(fi21) cos(fi21) ; 1]; % rotace v y-ove ose o fi21 TT32 = [1 ; cos(fi32) -sin(fi32) ; sin(fi32) cos(fi32) ; 1]; % rotace kolem x-ove osy o fi32 TT43 = [cos(fi43) -sin(fi43) ;sin(fi43) cos(fi43) ; 1 ; 1]; % rotace kolem z-ove osy o fi43 TT54 = [1 ; cos(fi54) -sin(fi54) y54; sin(fi54) cos(fi54) ; 1]; % rotace kolem x-ove osy o fi54 TT65 = [cos(fi65) sin(fi65) ; 1 ;-sin(fi65) cos(fi65) ; 1]; % rotace kolem y-ove osy o fi65 TT76 = [1 ; cos(fi76) -sin(fi76) y76; sin(fi76) cos(fi76) ; 1]; % rotace kolem x-ove osy o fi76 % výsledná transformacni matice z prostoru telesa 7 do prostoru telesa 1 TT71=TT21*TT32*TT43*TT54*TT65*TT76; % poloha koncového bodu paže vůči rámu v kartézských souřadnicích pol=tt71*r7m; kartpoloha=[pol(1:3)]; end tedy fce načítá vektor šesti zobecněných souřadnic zobecněne(1 6) a vrací vypočtenou polohu koncového bodu v kartézských souřednicích kartpoloha(1 3). Stejným způsobem realizujeme další uživatelsky definované funkce v prostředí Simulink. Parametry proporcionálního maticového regulátoru volíme s ohledem na dobu regulace a charakter regulačního děje (kmitavý, aperiodický), a také s ohledem zda generované řízení regulátorem mající význam rychlosti v pohonech jsou těmito pohony realizovatelné. Dále si ukážeme vliv velikosti zisků na průběh regulačního děje a průběh akční veličiny pro dvě varianty nastavení zisků proporcionálního regulátoru. Stránka 3 z 7
Varianta 1: zisk proporcionálního regulátoru.15 souřadnicích w =.2..3 K p 5 = 5, žádaná hodnota v kart. 5 Odpovídající průběhy regulované veličiny (poloha konc. bodu řetězce), akční veličiny (zobecněná rychlost pohonů), a regulační odchylky. Stránka 4 z 7
Varianta 2: zisk proporcionálního regulátoru K p 3 = 3, žádaná hodnota v kart. 3.15 souřadnicích w =.2..3 Stránka 5 z 7
Stránka 6 z 7
Vidíme, že čím větší zisk tím kratší doba regulace a větší hodnota akční veličiny. Stránka 7 z 7