+ All Categories
Home > Documents > Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná...

Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná...

Date post: 19-Dec-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
23
Průběžná zpráva Název projektu: Výzkum, vývoj a validace univerzální technologie pro potřeby moderních ultrazvukových kontrol svarových spojů komplexních potrubních systémů jaderných elektráren (Číslo projektu: TA01020457) Dílčí cíle: SW pro řízení pohybu robota Název zprávy: Algoritmy řízení pro vybranou variantu manipulátoru pro NDT - návrh realizace Zapsáno (místo, datum): KKY, 11. prosince 2013 Autor: Martin Švejda
Transcript
Page 1: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Průběžná zpráva

Název projektu:

Výzkum, vývoj a validace univerzální technologie pro potřeby moderních ultrazvukovýchkontrol svarových spojů komplexních potrubních systémů jaderných elektráren

(Číslo projektu: TA01020457)

Dílčí cíle:

SW pro řízení pohybu robota

Název zprávy:

Algoritmy řízení pro vybranou variantu manipulátorupro NDT - návrh realizace

Zapsáno (místo, datum):

KKY, 11. prosince 2013

Autor:

Martin Švejda

Page 2: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Tento dokument je součástí projektu TAČR Alfa TA02020414 „Nová robotická dálkově ovládaná technologie pro dia-gnostiku a opravu ponořených zařízení“ realizovaného za finanční spoluúčasti Technologické agentury České republiky.

Page 3: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

1 Úvod

Předložená zpráva se zabývá návrhem řídícího softwaru (SW) 4DoF manipulátoru určeného propolohování ultrazvukové sondy v aplikacích nedestruktivního zkoušení (NDT) svarů komplexníchpotrubních systémů v JE.

Manipulátor je tvořen třemi rotačními aktuátory a jedním aktuátorem prizmatickým (manipulá-tor typu RRPR). První kloub manipulátoru reprezentuje pojezd po potrubí kruhového průřezu.Koncový efektor manipulátoru umožňuje posunutí UZ sondy libovolně v prostoru (3 translačníDoF) a její orientaci vzhledem k svislé ose pojezdu (1 rotační DoF). Obrázek 1 znázorňuje sché-matické uspořádání manipulátoru včetně zavedených souřadných systémů, viz [5], [10], dle D-Húmluvy, viz Tabulka. 1. CAD model prototypu manipulátoru je znázorněn na Obrázku 2.

LINK i di θi ai αi1 0 θ1 a1 −π

2

2 0 θ2 0 π2

3 d3 0 0 −π2

4 0 θ4 a4 0

Tabulka 1: D-H parametry souřadných systémů příslušných ramen, tučně vyznačeny aktivníkloubové souřadnice (aktuátory)

home position

circ

umfe

rent

ial t

rave

l

LINK 1

LINK 2

LINK 3

LINK 4

Obrázek 1: Sériový manipulátor - Varianta 2 (BEZ kompenzace polohy konc. efektoru)

Stránka 3 z 23

Page 4: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Obrázek 2: CAD model prototypu manipulátoru

Kompenzace polohy koncového efektoru:

Vzhledem k tomu, že se předpokládá umístění UZ sondy v nějaké definované poloze, která nemusíbýt identická s umístěním posledního s.s. manipulátoru F4, zavádíme tzv. kompenzaci polohy kon-cového efektoru T 4

e .1 Jedná se o transformaci z polohy s.s. F4 (posledního ramena manipulátoru)na s.s. Fe (s.s. koncového efektoru = s.s. UZ sondy), viz Obrázek 3.

Transformační matice T 4e:

T 4e =

R4e O4

e

0 0 0 1

, kde R4e =

cos(φk) − sin(φk) 0sin(φk) cos(φk) 0

0 0 1

, O4e =

xkykzk

(1)

1Xba označuje bod či transformační matici Xa vyjádřená vzhledem k s.s. Fb

Stránka 4 z 23

Page 5: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

kde xk, yk, zk definují posunutí s.s. konc. efektoru Fe vzhledem k s.s. posledního ramene mani-pulátoru F4 a φ je úhel natočení s.s. Fe vzhledem k s.s. F4 okolo osy z4.

longitudinal axis of the pipe

Obrázek 3: Kompenzace polohy konc. efektoru

Polohy kloubů manipulátoru jsou určeny kloubovými souřadnicemi Q jako:

Q =[θ1 θ2 d3 θ4

]T (2)

Návrhové parametry manipulátoru ξ představují délky jednotlivých ramen a parametry kompen-zace polohy koncového efektoru:

ξ =[a1 a4 xk yk zk φk

]T (3)

kde a1, a4 a xk, yk, zk a φk jsou parametry kompenzace polohy konc. efektoru (umístění NDTsondy), viz dále.

Poloha koncového efektoru lze popsat zobecněnými souřadnicemi X:

X =[X Y Z φ

]T (4)

kde X, Y , Z jsou souřadnice bodu Oe vzhledem k s.s. F0 a φ je vzájemné natočení s.s. Fe a F1

okolo osy z1, tedy matice rotace R1e = Rot(z, φ).

Podrobné informace o kinematickém modelu manipulátoru lze nalézt v [8].

Definice významných souřadných systémů

• Bázový s.s. (světový) F0; O0 − x0y0z0S.s., který je pevně spojen s potrubím, na kterém je manipulátor připoután. S.s. je určenv okamžiku nasazení manipulátoru na potrubí a to tak, že střed s.s. leží v průniku osypotrubí a roviny ležící kolmo k ose potrubí a procházející počátkem O1 s.s. F1. Osa z0leží ve směru osy potrubí s kladnou orientací od měřeného svaru a osa x0 leží s kladnouorientací ve směru pojezdu manipulátoru, tzn. prochází bodem O1.

• S.s.koncového efektoru Fe; Oe − xeyezeS.s. definující pozici a orientaci UZ sondy. Jeho poloha je ovlivněna nastavením kloubovýchsouřadnic Q a parametry kompenzace polohy koncového efektoru xk, yk, zk, φk. Polohovésouřadnice X, Y , Z koncového efektoru jsou apriori vyjádřeny a uvažovány vzhledem k bá-zovému s.s. F0. Orientace koncového efektoru φ je definována vzhledem k s.s. F1.

Pro návrh realizace SW řídícího systému uvažovaného manipulátoru byly využity dosavadnízkušenosti s podobnými zařízeními. Řídící systém manipulátoru sestává z několika základníchbloků. Grafické znázornění struktury SW řídícího systému lze graficky interpretovat Obrázkem 4.Ve schématu je znázorněna část hardwaru manipulátoru (HW manipulátoru), která není náplní

Stránka 5 z 23

Page 6: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

předkládané technické zprávy, nicméně hraje podstatnou roli pro pochopení řídícího systémujako celku. Více podrobností o hardwarovém vybavení prototypu manipulátoru lze nalézt v [7].

Software manipulátoru lze dále rozdělit na bloky realizující vlastní řízení a na bloky zprostřed-kovávající interakci řídícího systému s obsluhou, tzv. uživatelské rozhraní - vizualizace. Vlastníuživatelské rozhraní v tomto případě opět není součástí předkládané zprávy. Předpokládá se,že tento vizualizační systém (obecně HMI - Human Machine Interface) bude vyvíjen částečněodděleně od řídícího systému s respektováním definováním komunikačního rozhraní (standardníkomunikační protokoly), viz [6]. Vizualizační systém může být implementován ve standardníchnástrojích, např. Genesis32 od firmy ICONICS či ve formě „tenkých“ klientů v standardníchprohlížečích (Mozilla Firefox, Google Chrome, atd.). Vzhledem k podstatě aplikace je pravdě-podobné, že vizualizační systém bude umístěn na hardwarové platformě (PC, notebook), kterábude oddělena od hardwaru řídícího počítače realizující vlastní řídící algoritmy.

2 Realizace softwaru řídícího systému

Celý řídící systém bude vyvíjen v řídícím systému reálného času REX, viz [4]. REX je vyspělýnástroj pro návrh a realizaci řídících algoritmů, který obsahuje celou řadu základních i velmipokročilých funkcí pro realizaci algoritmů automatického řízení. Celý program řídícího algoritmuje realizován prostřednictvím rozsáhlé knihovny funkčních bloků, které mohou být ve vestavě-ném grafickém editoru přidávány do schématu řízení. Řídící systém REX podporuje celou řaducílových platforem (windows XP/vista/7, Windows CE, GNU/Linux, atd.) a hardwarů (AlixPC Engines, Moxa, WinPAC, atd.). Samozřejmostí je podpora běžných průmyslových komuni-kačních protokolů (Ethernet POWERLINK, EtherCAT, Modbus TCP/IP, Modbus RTU, CAN,OPC Data Access 2.0 a 3.0, RS-232). V současnosti REX nabízí možnost realizace logickéhoi sekvenčního řízení, řízení procesů prostřednictvím PID regulátorů (včetně automatických tu-nerů) i pokročilých regulátorů a filtrů. Systém REX je vybaven kvalitním nástrojem RexViewpro servisní vizualizaci a správu algoritmu řízení s možností monitoringu a aktivního zásahuuživatele do procesu řízení. V nedávné době byl systém REX rozšířen o další knihovnu pokroči-lých bloků za účelem realizace algoritmů řízení pohybu, a to v jedné ose i více osách (analogiek systému vačkových mechanismů) a koordinovaného pohybu ve více osách (vhodné pro aplikacev robotice). S ohledem na univerzálnost a kompatibilitu jsou bloky knihovny pro řízení pohybuplně ve shodě s normou PLCopen Motion Control, viz [3]. Právě podpora bloků Motion Controldělá z řídícího systému REX silný nástroj, který lze použít pro realizaci řídících algoritmů ko-ordinovaného pohybu uvažovaného manipulátoru. Bloky realizující vlastní řídící algoritmy jsoupopsány v následujících kapitolách.

2.1 Logické a sekvenční řízení

Realizuje základní řídící algoritmus logického a sekvenčního řízení. V tomto bloku jsou zpracoványpovely z uživatelského rozhraní, které komunikují s dalšími bloky a zajišťují koordinovaný chodcelého řízení. V současnosti jsou komponenty logického a sekvenčního řízení ve stádiu vývoje.Finální verze bude moci být plně dokončena až v okamžiku realizace prototypu a možnostiprovádět zkušební experimenty. Blok logického a sekvenčního řízení bude realizován funkčnímibloky systému REX.

2.2 Generování trajektorií pohybu koncového efektoru manipulátoru

Pro NDT testování svarů komplexních potrubních systémů v JE jsou uvažovány následující typysvarů: obvodový svar, podélný svar, podélný svar v kolenu a svar nátrubku, viz Obrázek 5.

Stránka 6 z 23

Page 7: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Uživatelské rozhranívizualizace

Pohony manipulátoru Senzorika

Frekvenční měniče pohonǔ

Regulátory pohonǔ jednotlivých os manip.

Generování pohybu jednotlivých os manip.(koordinovaný pohyb)

Generování trajektorií pohybu konc. ef. robotu

Logické a sekvenční řízení

Mechanická konstrukce(vlastní manipulátor)

HW manipulátoru

Standardizované prǔmyslovékomunikace

Komunikace setpointǔ pro regulátory

řídící sekvenceregulátorǔm

řídící sekvencekoordinovanému pohybu

data plánované trajektorie pohybu

komunikace s operátorským rozhraním

SW manipulátoru

real-time

Obrázek 4: Schéma řídícího systému robotu

Stránka 7 z 23

Page 8: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

obvodový svar

obvodový svar

podélný svar v kolenu

svar nátrubku

Obrázek 5: Uvažované typy svarů

S ohledem na předpokládané metody NDT je požadováno, aby manipulátor generoval dva zá-kladní pohyby podél testovaného svaru. Jednoduchý pohyb, který zajišťuje pouze posun UZ sondypodél svaru a samotné testování je realizováno UZ sondou vybavenou technologií Phased Array.Sonda Phased Array umožňuje realizovat pouze jednoduchý pohyb díky svému vnitřnímu uspo-řádání, kde je svazek UZ paprsků elektronicky rozmítán a tím je dosaženo požadovaného pros-kenování celé roviny svaru. V případě, že je použita pouze jednoduchá sonda, případně sondas několika konstantními UZ paprsky, je nutné sondu polohovat tzv. menadrovitým pohybem, kterýse skládá z fáze přejezdu podél uvažovaného svaru a z fáze měření odpovídající kolmému pohybuna rovinu uvažovaného svaru. Jednoduchý i meandrovitý pohyb je znázorněn na Obrázku 6.

měřící fáze

fáze přejezdu

Obrázek 6: Uvažované typy pohybů podél svaru, jednoduchý pohyb (bez rozmítání) a meandro-vitý pohyb (s rozmítáním) pro svar nátrubku

Algoritmy pro generátory trajektorií pro jednotlivé typy svarů byly implementovány v progra-movém prostředí Matlab [1] ve formě funkcí. Předpokládá se, že prostřednictvím těchto funkcíbudou vygenerovány požadované polohy koncového efektoru manipulátoru pro všechny uvažo-vané svary (typy a rozměry). Tato data budou uložena ve formě datových souborů a následněvolána v řídícím algoritmu manipulátoru. Funkce pro generování příslušných trajektorií svarůjsou uvedeny dále. Podrobný popis jejich implementace lze nalézt v [9].

Stránka 8 z 23

Page 9: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

2.2.1 Obvodový svar

Parametry obvodového svaru, viz 7, a trajektorie (rozmítání) jsou dány jako: (pokud L = 0předpokládá se generování trajektorie bez rozmítání)

ξos = { R z0k d L N φstart nebo O0e start vmaxprejezd amaxprejezd , vmaxmereni amaxmereni }

R . . . . . . . . . . . . . . . poloměr válce, na kterém je nasazen manipulátorz0k . . . . . . . . . . . . . .vzdálenost pojezdu manipulátoru od svarud . . . . . . . . . . . . . . . vzdálenost mezi úseky rozmítání podél trajektorie svaruL . . . . . . . . . . . . . . . délka úseku rozmítáníN . . . . . . . . . . . . . . časová diference mezi generovanými body (rozlišení generování trajektorie)φstart, O0

e start . . . parametr určující počáteční bod generování trajektorievmaxprejezd . . . . . . max. rychlost přejezdu mezi úseky měřeníamaxprejezd . . . . . . max. tečné zrychlení přejezdu mezi úseky měřenívmaxmereni . . . . . . .max. rychlost měřeníamaxmereni . . . . . . max. tečné zrychlení měření

pojezd

vedení pojezdu

(ve směru osy )

osa svaru

(a) Bez rozmítání

pojezd

vedení pojezdu

(ve směru osy )

(b) S rozmítáním

Obrázek 7: Generovaná trajektorie obvodového svaru

Stránka 9 z 23

Page 10: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Implementovaná funkce v Matlabu: Vstupem funkce jsou výše uvedené parametry a výstu-pem funkce je poloha, rychlost a zrychlení pozice (translační) koncového efektoru manipulátoruO0e. Orientace φ je v tomto případě volena konstantní. V případě rozmítání je navíc vracen vektor

indexů reprezentující pořadí bodu polohy konc. efektoru O0e, ve které dochází k rozmítání.

function varargout = trajectoryGenerator_obvodovySvar(par,Oe0_start,constraints)% generator trajektorie obvodoveho svaru%% parametry obvodoveho svaru - par% R ... polomer potrubi% z0 ... vzdalenost pojezdu manipulatoru od trajektorie svaru%% parametry trajektorie% d ... vzdalenost mezi rozmitanim na trajektorii natrubku% L ... delka primky rozmitani, pro L = 0 ... bez rozmitani% N ... casova diference mezi interpolovanymi body (rozliseni algoritmu)%% Oe0_start ... pocatecni bod mereni vzhhledem k s.s. F0 (nemusi lezet presne na obvodovem svaru)% pokud length(Oe0_start) = 1 ... Oe0_start ... uhel posunu pocatecniho% bodu mereni kolem z0%% varargout = {[Oe0;dOe0;ddOe0],time,Oe0_index_prejezd}% Oe0 ... vektor bodu (polohy) koncoveho efektoru manipulatoru vzhledem k% s.s. F0% time ... vektor casovych okamziku v generovanych bodech, vzhledem na% pozadovana omezeni constraints% Oe0_index_prejezd ... indexy bodu na zmenach mezi rozmitanim a prejezdy% (pouze ve variante s rozmitanim)%% constraints = [v_max_prejezd;a_max_prejezd;v_max_mereni;a_max_mereni] ...% omezeni na generovani trajektorie

Stránka 10 z 23

Page 11: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

2.2.2 Podélný svar

Parametry podélného svaru, viz 8, a trajektorie (rozmítání) jsou dány jako: (pokud L = 0předpokládá se generování trajektorie bez rozmítání)

ξps = { r z0k l d L N vmaxprejezd amaxprejezd , vmaxmereni amaxmereni }

r . . . . . . . . . . . . . . . poloměr potrubíz0k . . . . . . . . . . . . . .vzdálenost pojezdu manipulátoru od počátku svarul . . . . . . . . . . . . . . . . délka svarud . . . . . . . . . . . . . . . vzdálenost mezi úseky rozmítání podél trajektorie svaruL . . . . . . . . . . . . . . . délka úseku rozmítáníN . . . . . . . . . . . . . . časová diference mezi generovanými body (rozlišení generování trajektorie)vmaxprejezd . . . . . . max. rychlost přejezdu mezi úseky měřeníamaxprejezd . . . . . . max. tečné zrychlení přejezdu mezi úseky měřenívmaxmereni . . . . . . .max. rychlost měřeníamaxmereni . . . . . . max. tečné zrychlení měření

pojezd

vedení pojezdu

počáteční bod měření

osa svaru

(a) Bez rozmítání

pojezd

vedení pojezdu

počáteční bod měření

(b) S rozmítáním

Obrázek 8: Generovaná trajektorie podélného svaru

Stránka 11 z 23

Page 12: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Implementovaná funkce v Matlabu: Vstupem funkce jsou výše uvedené parametry a výstu-pem funkce je poloha, rychlost a zrychlení pozice (translační) koncového efektoru manipulátoruO0e. Orientace φ je v tomto případě volena konstantní. V případě rozmítání je navíc vracen vektor

indexů reprezentující pořadí bodu polohy konc. efektoru O0e, ve které dochází k rozmítání.

function varargout = trajectoryGenerator_podelnySvar(par,constraints)% generator trajektorie podelneho svaru%% parametry podelneho svaru v kolenu - par% r ... polomer potrubi% z0 ... vzdalenost pojezdu manipulatoru od pocatku trajektorie svaru% l ... delka podelneho svaru%% parametry trajektorie% d ... vzdalenost mezi rozmitanim% L ... delka rozmitani, pro L = 0 ... bez rozmitani% N ... casova diference mezi generovanymi body (perioda vzorkovani)%% varargout = {[Oe0;dOe0;ddOe0],time,Oe0_index_prejezd}% Oe0 ... vektor bodu (polohy) koncoveho efektoru manipulatoru vzhledem k% s.s. F0% time ... vektor casovych okamziku v generovanych bodech, vzhledem na% pozadovana omezeni constraints% Oe0_index_prejezd ... indexy bodu na zmenach mezi rozmitanim a prejezdy% (pouze ve variante s rozmitanim)%% constraints = [v_max_prejezd;a_max_prejezd;v_max_mereni;a_max_mereni] ...% omezeni na generovani trajektorie

Stránka 12 z 23

Page 13: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

2.2.3 Podélný svar v kolenu

Parametry podélného svaru v kolenu, viz 9, a trajektorie (rozmítání) jsou dány jako: (pokudL = 0 předpokládá se generování trajektorie bez rozmítání)

ξpsk = { R r z0k γ d L c N vmaxprejezd amaxprejezd , vmaxmereni amaxmereni }

R . . . . . . . . . . . . . . . vnitřní poloměr ohybu kolener . . . . . . . . . . . . . . . poloměr potrubíz0k . . . . . . . . . . . . . .vzdálenost pojezdu manipulátoru od počátku svaruγ . . . . . . . . . . . . . . . natočení osy potrubí V1 okolo osy z0d . . . . . . . . . . . . . . . vzdálenost mezi úseky rozmítání podél trajektorie svaruL . . . . . . . . . . . . . . . délka úseku rozmítáníc . . . . . . . . . . . . . . . .vzdálenost počátku oblouku rozmítání od svaruN . . . . . . . . . . . . . . časová diference mezi generovanými body (rozlišení generování trajektorie)vmaxprejezd . . . . . . max. rychlost přejezdu mezi úseky měřeníamaxprejezd . . . . . . max. tečné zrychlení přejezdu mezi úseky měřenívmaxmereni . . . . . . .max. rychlost měřeníamaxmereni . . . . . . max. tečné zrychlení měření

pojezd

vedení pojezdu

osa svaru (horní nejkratší hrana potrubí)

počáteční bod měření

poloměr ohybukolene

(a) Bez rozmítání

pojezd

vedení pojezdu

osa svaru (horní nejkratší hrana potrubí)

počáteční bod měření

poloměr ohybukolene

(b) S rozmítáním

Obrázek 9: Generovaná trajektorie podélného svaru v kolenu

Stránka 13 z 23

Page 14: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Implementovaná funkce v Matlabu: Vstupem funkce jsou výše uvedené parametry a výstu-pem funkce je poloha, rychlost a zrychlení pozice (translační) koncového efektoru manipulátoruO0e a jeho orientace φ. V případě rozmítání je navíc vracen vektor indexů reprezentující pořadí

bodu polohy konc. efektoru O0e, ve které dochází k rozmítání.

function varargout = trajectoryGenerator_podelnySvarVKolenu(par,constraints)% generator trajektorie podelneho svaru v kolenu%% parametry podelneho svaru v kolenu - par% R ... radius ohybu kolene (vnitrni)% r ... polomer potrubi% z0 ... vzdalenost pojezdu manipulatoru od pocatku trajektorie svaru% gamma ... natoceni kolene, dane pripevnenim manipulatoru k potrubi%% parametry trajektorie% d ... vzdalenost mezi rozmitanim na trajektorii podelneho svaru v kolenu% L ... delka primky rozmitani, pro L = 0 ... bez rozmitani% c ... vzdalenost pocatku oblouku rozmitani od trajektorie podelneho svaru% v kolenu% N ... casova diference mezi generovanymi body (perioda vzorkovani)%% varargout = {[Oe0;dOe0;ddOe0],time,Oe0_index_prejezd}% Oe0 = [Oe0x;Oe0y;Oe0z;phi] ... vektor bodu (polohy + orientace)% koncoveho efektoru manipulatoru vzhledem k s.s. F0% phi ... uhel odklonu od osy x0% time ... vektor casovych okamziku v generovanych bodech, vzhledem na% pozadovana omezeni constraints% Oe0_index_prejezd ... indexy bodu na zmenach mezi rozmitanim a prejezdy% (pouze ve variante s rozmitanim)%% constraints = [v_max_prejezd;a_max_prejezd;v_max_mereni;a_max_mereni] ...% omezeni na generovani trajektorie

Stránka 14 z 23

Page 15: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

2.2.4 Svar nátrubku

Parametry svaru nátrubku, viz 10, a trajektorie (rozmítání) jsou dány jako: (pokud L = 0předpokládá se generování trajektorie bez rozmítání)

ξnat = { R1 R2 z0k γ d L c N φstart nebo O0e start }

R1 . . . . . . . . . . . . . . poloměr válce, na kterém je nasazen manipulátorR2 . . . . . . . . . . . . . . poloměr průběžného válceγ . . . . . . . . . . . . . . . natočení válcové plochy průběžného potrubí okolo osy z0z0k . . . . . . . . . . . . . .vzdálenost pojezdu manipulátoru od osy průběžného válced . . . . . . . . . . . . . . . vzdálenost mezi úseky rozmítání podél trajektorie průsečíku válcových plochL . . . . . . . . . . . . . . . délka úseku rozmítáníc . . . . . . . . . . . . . . . .vzdálenost trajektorie od průsečíku válcových plochN . . . . . . . . . . . . . . vzdálenost mezi generovanými body (rozlišení generování trajektorie)φstart, O0

e start . . . parametr určující počáteční bod generování trajektorie

pojezdvedení pojezdu

(ve směru osy )

(a) Bez rozmítání

pojezdvedení pojezdu

(ve směru osy )

(b) S rozmítáním

Obrázek 10: Generovaná trajektorie svaru nátrubku

Stránka 15 z 23

Page 16: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Implementovaná funkce v Matlabu: Vstupem funkce jsou výše uvedené parametry a vý-stupem funkce je poloha (translační) koncového efektoru manipulátoru O0

e a jeho orientace φ.V případě rozmítání je navíc vracen vektor indexů reprezentující pořadí bodu polohy konc. efek-toru O0

e, ve které dochází k rozmítání. Funkce generující pohyb po trajektorii nátrubku vrací,na rozdíl od výše uvedených případů, pouze polohové souřadnice konc. efektoru manipulátoru.

function varargout = trajectoryGenerator_natrubek(par,Oe0_start)% generator trajektorie svaru natrubku - par%% parametry natrubku% R1 ... polomer potrubi, na kterem je pripoutan robot% R2 ... polomer prubezneho potrubi, R1 < R2% z0 ... vzdalenost pojezdu manipulatoru od osy prubezneho potrubi (dane% pripevnenim manipulatoru)% gamma ... natoceni podelneho potrubi v ose z0 (dane pripevnenim manipulatoru)%% parametry trajektorie% d ... vzdalenost mezi rozmitanim na trajektorii natrubku (priblizne)% L ... delka oblouku rozmitani (priblizne), pro L = 0 ... bez rozmitani% c ... vzdalenost pocatku oblouku rozmitani od trajektorie natrubku (priblizne)% N ... priblizna vzdalenost mezi interpolacnimi body (rozliseni generovani% trajektorie)% Oe0_start ... pocatecni bod mereni vzhhledem k s.s. F0 (nemusi lezet presne na natrubku)% pokud length(Oe0_start) = 1 ... Oe0_start ... uhel posunu pocatecniho% bodu mereni kolem z0%% varargout = [Oe0,Oe0_index_prejezd]% Oe0 ... vektor bodu (polohy) koncoveho efektoru manipulatoru vzhhledem k% s.s. F0% Oe0_index_prejezd ... indexy bodu na zmenach mezi rozmitanim a prejezdy

Stránka 16 z 23

Page 17: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

2.2.5 Implementace generátoru trajektorie v řídícím systému

Generátory trajektorie obvodového svaru, podélného svaru a podélného svaru v kolenu poskytujíkompletní informaci o průběhu pohybu koncového efektoru ve smyslu požadované polohy, rych-losti a zrychlení podél trajektorie svaru s omezením na max. rychlost a zrychlení. Z důvodů uvede-ných ve zprávě [8] nelze jednoduše analyticky generovat průběhy rychlostí a zrychlení koncovéhoefektoru manipulátoru v případě svaru nátrubku (nepřirozená parametrizace křivek). Vzhledemk podstatě úlohy NDT lze předpokládat, že rychlosti a zrychlení konc. efektoru manipulátorubudou relativně nízké a celá úloha se velmi podobá problematice víceosého obrábění. Z tohovyplývá, že generování požadované rychlosti a zrychlení jako veličin pro dopřednou složku vestandardním kaskádním uspořádání regulátorů jednotlivých aktuátorů manipulátoru (regulátorpolohy - rychlosti - zrychlení/proudu) nebude třeba využívat (příslušné regulátory v kaskádnímzapojení budou poskytovat dostatečně přesnou regulaci). Předpokládejme proto, že dále využi-jeme pouze datové body trajektorie příslušného svaru reprezentující požadovanou polohu O0

e aorientaci φ koncového efektoru. V takovém případě je tedy podobnost k víceosému obrábění velmiblízká a nabízí se možnost využít standardního postupu plánování pohybu koncového efektorumanipulátoru ze zadaných datových bodů prostřednictvím tzv. G-kódu, viz [2]. G-kód obsahujeřídící příkazy (rychlost posuvu, prodlevu mezi posuvy, atd.) a datové body, které mají být pro-jety konc. efektorem manipulátoru. Funkční blok, který generuje pohyb ze zápisu v G-kódu jeimplementován v řídícím systému REX pod názvem RM_Gcode. Blok interně provádí interpolacimezi zadanými datovými body s ohledem na předepsanou rychlost posuvu a maximální povolenézrychlení.

Zápis programu v G-kódu z datových bodů získaných z generátorů trajektorií vypadá následovně:

N1... pořad. č. řádku (pro diagnostiku), F0.3 ... pracovni posuv s rychlostí 0.3 jednotek / s)

G04 P5 ... zastavení pohybu všech os na 5 ms

měřící fáze

datové body: pozice konc. ef datové body: orientace konc. ef

fáze přejezdu

Obrázek 11: Příklad zápisu G-kódu v bloku RM_Gcode pro meandrovitý pohyb konc. ef. mani-pulátoru (O0

e = [X,Y, Z], φ = u)

Výsledný blok generování trajektorií pohybu konc. ef. robotu bude tedy realizován offline a budeposkytovat soubor datových podkladů pro pohyb koncového efektoru v zobecněných souřadnicích(pozice a orientace konc. efektoru ve formátu G-kódu) pro jednotlivé typy a parametry svarů.

Stránka 17 z 23

Page 18: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Tato data budou interpretována v real-time části řídícího systému pomocí bloku RM_Gcodeřídícího systému REX.

2.3 Real-time část řídícího systému (koordinovaný pohyb manipulátoru)

Koordinovaný pohyb manipulátoru spočívá v řízení jeho jednotlivých kloubů takovým způsobem,aby byl zajištěn pohyb koncového efektoru podél požadované trajektorie. Jinými slovy, k realizacikoordinovaného pohybu je nezbytná znalost tzv. inverzního geometrického modelu (IGM) - prozobrazení z prostoru zobecněných souřadnic X do prostoru kloubových souřadnic Q, případněinverzní okamžité kinematické úlohy (IOKÚ) - pro zobrazení z prostorů rychlostí X resp. zrych-lení X zobecněných souřadnic do prostoru rychlostí Q resp. zrychlení Q souřadnic kloubových.Matematicky je možné tyto relace zapsat jako:

Q = F−1(X) IGM (5)

Q = J−1(Q) · X (IOKÚ - rychlosti) (6)

Q = J−1

(Q, Q) · X + J−1(Q) · X (IOKÚ - zrychlení) (7)

kde J(Q) = ∂F(Q)∂Q resp. J = ∂2F(Q)

∂Q2 je kinematický jakobián resp. jeho časová derivace a funkceF(Q) je přímý geometrický model DGM manipulátoru. Více informací a úplné matematickéodvození lze nalézt [9].

Koordinovaný pohyb je realizován v řídícím systému REX pomocí knihovny funkčních blokůMotion Control, viz [4]. Stručný popis funkcí jednotlivých bloků je následující:

• RM_AxisZákladní blok pro nastavení jednotlivých os manipulátoru (aktivní klouby, pohony). Před-stavuje sdílenou strukturu, ve které jsou uloženy všechny stavy a parametry osy. Realizujezákladní funkce požadované normou PLCopen Motion Control, např. kontrola nastavenýchmezí polohy, rychlosti, zrychlení, jerku, ošetření havarijních stavů - odchylka skutečného apožadovaného stavu osy⇒ zajištění správné funkce regulátoru (není součástí tohoto bloku)⇒ havarijní zastavení, atd. Blok je použit pro každou osu nezávisle (neřeší koordinovanýpohyb)

• RM_TrackImplementuje některé funkce pro nezávislé řízení jedné osy, např.: najetí na požadovanoupolohu, rychlost, pojíždění s osou v ručním režimu pomocí tlačítek NAHORU/DOLŮ. Tovše s respektováním zadaných limitů na max. rychlost, zrychlení, jerk.

• MCP_MoveAbsolutePohyb osy do zadané absolutní polohy s respektováním omezení na rychlost, zrychlení,jerk. V bloku jsou implementovány pokročilé funkce pro správu řízení postupného pohybuos (převzetí řízení os, napojování pohybu os, atd.).

• MC_PowerBlok musí být použit s každou osou a jako jediný převádí osu ze stavu disabled do stavuStandStill, t.j. osa je aktivní. V případě vypnutí osy v okamžiku, kdy je aktivní (vyko-nává nějaký pohyb) je nejprve vykonána zastavovací sekvence (dle parametrů nastavenýchv bloku RM_Axis).

• MC_HomeBlok spolupracující s blokem RM_Axis definuje, jakým způsobem bude nastaven výchozíbod pohybu osy, případně zajišťuje sekvenci tzv. homování osy (např. dle koncových spí-načů, mechanického dorazu, atd.) V našem případě slouží po zapnutí napájení k načtenípolohy absolutního snímače polohy v jednotlivých pohonech.

Stránka 18 z 23

Page 19: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

• RM_AxesGroupZákladní blok pro koordinovaný pohyb. Představuje sdílenou strukturu, ve které jsou ulo-ženy všechny stavy a parametry skupiny os. Blok zajišťuje kontrolu nastavených mezí rych-losti, zrychlení, jerku, havarijní zastavení, předávání dat z a do bloku RM_Axis podřízenýchos. Definuje počet translačních a rotačních os kvůli interpolaci pohybu dle předepsanýchprofilů.

• MC_AddAxisToGroupBlok přidává vybranou osu do skupiny za účelem realizace koordinovaného pohybu skupinypřidaných os.

• MC_SetKinTransform_NDTBlok realizující kinematickou transformaci, respektive IGM a IOKÚ, viz rovnice (5 - 7).Parametry bloku jsou návrhové geometrické parametry manipulátoru.

• MC_GroupEnableBlok aktivuje skupinu os. Koordinovaný pohyb je potom realizován prostřednictvím vyge-nerovaného G-kódu s pomocí bloku RM_Gcode.

• RM_GroupTrackBlok vykonávající podobné funkce jako blok RM_Track, ovšem pro koordinovaný pohyb os.Jinými slovy, je možné manuálně přejíždět s osami manipulátoru koordinovaně dle zadanéhodnoty polohy/rychlosti zobecněných souřadnic manipulátoru.

• MC_GroupSetOverrideBlok slouží k zastavení pohybu manipulátoru prostřednictvím přenásobení aktuální poža-dované rychlosti/zrychleni/jerku zadaným faktorem. Např. pro faktor roven nule je pohybzastaven a při opětovném nastavení nenulové hodnoty je pohyb opět obnoven z aktuálnípozice, tzn. pohyb není přerušen a nezačíná tak od začátku sekvence.

• MCP_GroupHaltBlok sloužící ke koordinovanému zastavení všech os ve skupině. Dojde k zastavení pohybudle zadaných omezení na tečnou rychlost, zrychlení a jerk ve směru původního pohybu.Pokud toto nelze realizovat, je aktivováno nezávislé zastavení v rámci jednotlivých os (ne-koordinovaně).

• RM_VecOut, RM_VectorBloky sloužící k zadávání či získávání vektoru dat (polohy, rychlosti, atd.) ze skupiny os.

• RM_AxisOutBlok, který zpřístupňuje důležité stavy bloku RM_Axis.

Výčet obsahuje pouze nejdůležitější použité bloky knihovny PLCopen Motion Control pro koordi-novaný pohyb více os implementované v řídícím systému REX. Více informací a popisu ostatníchbloků ve schématu řízení, viz Obrázek 12, lze nalézt v uživatelské příručce systému REX [4] čipřímo ve specifikaci PLCopen [3].

Stránka 19 z 23

Page 20: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

ueeeeeueeueeeueeeeeeeeeeeeueeeee

euee

eeeeeeeeeeeeeeueeeeee

)eueee)eeee)))

___

1112

Y_Y

___ 1

1112

Y_Y

___ 2

1112

Y_Y

___ 3

1112

Y_Y

___ 4

1112

Y_Y

11_) 1

)T_)TY

ee

_1 DD)_

ee

_1 E D_E

eff

_1 ET)_ K

eff _1 E_1)E

eff

_1 EDRE)

ee

_1 T)__

ee

ee

_1

4

_)

1

111 111 111 111

E__11E1

2

E__11E2

4

E__11E3

7

E__11E4

11

E__11E_1

1

E__11E_2

4

E__11E_3

7

E__11E_4

11

T)__ D_

T)__ D_

1TD1 1

e11111213

eeY1Y1Y2Y3

E Eeeee eee

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

E eee_)eeeeee1

e_pee

Epeeeee

e_pee_eee

euueee_)eeeee1eee_eeeeeEeeee

Eeeee1_

E eee_)eeeeee2

e_pee

Epeeeee

e_pee_eee

euueee_)eeeee1eee_eeeeeEeeee

Eeeee1_

_ee_peeTeEeeee1

e_peeEeeee

e_pee

Epeeeee

1eeee1eEeeee

e_peeEeeee

e_pee

_eee

1eee

Eeeee

Eeeee1_ _ee_peeTeEeeee2

e_peeEeeee

e_pee

Epeeeee

1eeee1eEeeee

e_peeEeeee

e_pee

_eee

1eee

Eeeee

Eeeee1_ _ee_peeTeEeeee3

e_peeEeeee

e_pee

Epeeeee

1eeee1eEeeee

e_peeEeeee

e_pee

_eee

1eee

Eeeee

Eeeee1_ _ee_peeTeEeeee4

e_peeEeeee

e_pee

Epeeeee

1eeee1eEeeee

e_peeEeeee

e_pee

_eee

1eee

Eeeee

Eeeee1_

Eeeee_eee)ee

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

1eee

Eeeee

Eeeee1_

EeeeeEee)ee 1

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

1eee

Eeeee

Eeeee1_

Eeeee)eeee

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

1eee

Eeeee

Eeeee1_

Eeeee)eeDeeeeeee

e_peeEeeee

Eee)ee

reereeeee

_eereeeee

reeereeeee

e_peeEeeee

Eee)eee

1eee

Eeeee

Eeeee1_

eue1

e_pee

Epeeeee

reeeeeee

_eeeeeeeeeee

Teetee1euee

Teue1euee

_eeeeeee1euee

Eeeeeeee

_eeeeeeee

eueee eee

e_pee

_eee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

eue2

e_pee

Epeeeee

reeeeeee

_eeeeeeeeeee

Teetee1euee

Teue1euee

_eeeeeee1euee

Eeeeeeee

_eeeeeeee

eueee eee

e_pee

_eee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

eue3

e_pee

Epeeeee

reeeeeee

_eeeeeeeeeee

Teetee1euee

Teue1euee

_eeeeeee1euee

Eeeeeeee

_eeeeeeee

eueee eee

e_pee

_eee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

eue4

e_pee

Epeeeee

reeeeeee

_eeeeeeeeeee

Teetee1euee

Teue1euee

_eeeeeee1euee

Eeeeeeee

_eeeeeeee

eueee eee

e_pee

_eee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

Ee1ee1

e_pee

Eee)ee

e_pee)eeeee1eee_eeeeeEeeee

Eeeee1_

Ee1ee2

e_pee

Eee)ee

e_pee)eeeee1eee_eeeeeEeeee

Eeeee1_

Ee1ee3

e_pee

Eee)ee

e_pee)eeeee1eee_eeeeeEeeee

Eeeee1_

Ee1ee4

e_pee

Eee)ee

e_pee)eeeee1eee_eeeeeEeeee

Eeeee1_

)eeee1

e_pee

Epeeeee

e_pee_eee1eeeEeeee

Eeeee1_

)eeee2

e_pee

Epeeeee

e_pee_eee1eeeEeeee

Eeeee1_

)eeKeeTeeeefeeu __T2

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

1eee

Eeeee

Eeeee1_

1eeeeee_ee_pee

e_peeEeeee

Epeeeee

e_peeEeeee

_eee

1eee

Eeeee

Eeeee1_

E E)TDE

Y

E rDE_4

Y

E rDEE4

Y

E )1

Y

E )E)ET

Y

_DT 1

1 Y

_DT 2

1 Y

_DT 3

1 Y

_DT 4

1 Y

D) 1

1112

Y_Y

D) 2

1112

Y_Y

D) 3

1112

Y_Y

D) 4

1112

Y_Y

D) 5

1112

Y_Y D) )E)ET

11

12

Y

_Y

)E)ET1

3

)E)ET2

5

)E)ET3

8

)E)ET4

11

) _pee1

1_

_eeeeeEee

_eeeeereeeeeee

_eeeeeTeetee

11 _

11 Z

11 E

epee)ef

euueeeeeEeeeeeee

euueeeeereeeeeee

euueeeee_eeeeeeeeeee

euueeeeeTeetee

e)eeee

Eeeee1_

) _pee2

1_

_eeeeeEee

_eeeeereeeeeee

_eeeeeTeetee

11 _

11 Z

11 E

epee)ef

euueeeeeEeeeeeee

euueeeeereeeeeee

euueeeee_eeeeeeeeeee

euueeeeeTeetee

e)eeee

Eeeee1_

) _pee3

1_

_eeeeeEee

_eeeeereeeeeee

_eeeeeTeetee

11 _

11 Z

11 E

epee)ef

euueeeeeEeeeeeee

euueeeeereeeeeee

euueeeee_eeeeeeeeeee

euueeeeeTeetee

e)eeee

Eeeee1_

) _pee4

1_

_eeeeeEee

_eeeeereeeeeee

_eeeeeTeetee

11 _

11 Z

11 E

epee)ef

euueeeeeEeeeeeee

euueeeeereeeeeee

euueeeee_eeeeeeeeeee

euueeeeeTeetee

e)eeee

Eeeee1_

) Eeeee

e_peeEeeee

Epeeeee

1eeee)eee

e_peeEeeee_eee

euueee_)eeeee1eee_eeeeeEeeee

Eeeee1_ eeeeee

eeeTeeeEpeeeeeee1eee)eeeeee)eeee

) EeeeeTeeee

e_peeEeeee

eeeeee

T)_ KE

T)_ Kr

e_peeEeeee

1eTeeee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

) Teeee1

e_pee

eeeeee

T)_ KE

T)_ Kr

rDEE

rDE_

e_pee

1eTeeee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

) Teeee2

e_pee

eeeeee

T)_ KE

T)_ Kr

rDEE

rDE_

e_pee

1eTeeee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

) Teeee3

e_pee

eeeeee

T)_ KE

T)_ Kr

rDEE

rDE_

e_pee

1eTeeee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

) Teeee4

e_pee

eeeeee

T)_ KE

T)_ Kr

rDEE

rDE_

e_pee

1eTeeee

euueee_)eeeee

1eee

_eeeee

Eeeee

Eeeee1_

) reeDee 1

eefree

e1

e2

e3

e4

e5

e6

e7

e8

) reeeee

ereee1e2e3e4e5e6e7e8

eree

))R

e1e2)R

e

T)__ 1

e1e2e3e4)1_)1

e1

e2

e3

e4

eE

T)__ 2

e1e2e3e4)1_)1

e1

e2

e3

e4

eE

T)__ 3

e1e2e3e4)1_)1

e1

e2

e3

e4

eE

e)eEee1

13

e)eEee2

14

e)eEee3

15

e)eEee4

16

eeeEee1

2

eeeEee2

5

eeeEee3

8

eeeEee4

11

eeeree1

3

eeeree2

6

eeeree3

9

eeeree4

12

eee1

1

eee2

6

eee3

9

eee4

12

eef_E

13

u) _peeEeeee 1

eefEeeee

eefEee

e)eeee

Eeeee1_

uuu1

e_pee

eee1eee1eee1eet1eee1eee1eee1eet1eee2eee2eee2eet2

e)eeeeEeeee1_eTeee

uuu2

e_pee

eee1eee1eee1eet1eee1eee1eee1eet1eee2eee2eee2eet2

e)eeeeEeeee1_eTeee

uuu3

e_pee

eee1eee1eee1eet1eee1eee1eee1eet1eee2eee2eee2eet2

e)eeeeEeeee1_eTeee

uuu4

e_pee

eee1eee1eee1eet1eee1eee1eee1eet1eee2eee2eee2eet2

e)eeeeEeeee1_eTeee

Obrázek 12: Blokové schéma hlavního úlohy (tasku, viz [4]) řízení manipulátoru v řídícím systémuREX

Kromě hlavního tasku na Obrázku 12 musí konfigurace řídícího systému REX obsahovat ještě

Stránka 20 z 23

Page 21: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

task pro vlastní řízení pohonů manipulátoru, viz Obrázek 13 a ovladače pro komunikaci s reál-nými pohony prostřednictvím sběrnice Ethernet POWERLINK, CAN či další komunikace prosběr dat ze snímačů. Více podrobností ke konfiguraci ovladačů v systému REX lze nalézt v [4]a v příslušných manuálech hardwarového vybavení manipulátoru [7]. Regulátory pohonů jednot-livých os manipulátoru, viz Obrázek 4, můžou být implementovány jako součást řídícího sys-tému REX, nebo je možné využít standardní PID kaskádní regulace (regulátor polohy, rychlosti,proudu) implementované ve firmwaru řídících jednotek pohonů, viz HW manipulátoru [7]. V sou-časné konfiguraci v řídícím systému REX jsou regulátory skutečně vynechány a je využito jejichimplementace v řídících jednotkách. Řídící systém REX posílá prostřednictvím komunikačníhoprotokolu pouze požadované polohy aktuátorů manipulátoru.

3 Závěr

V předložené zprávě je ve stručnosti shrnut základní přístup k realizaci řídícího softwaru vyví-jeného manipulátoru pro NDT svarů komplexních potrubních systémů JE. SW řídícího systémuje rozdělen do několika bloků, které implementují jeho dílčí funkční celky. Pro celý řídící systémse předpokládá, že subsystém uživatelského rozhraní a vizualizace bude implementován na cílovéplatformě (PC, notebook) odlišné od platformy (Alix, Moxa, atd.) vlastního real-time řídícíhoSW. Vzájemná komunikace bude realizována na principu standardních komunikačních protokolůpoužívaných v systémech HMI. Bloky generování trajektorií pohybu konc. ef. manipulátoru bu-dou poskytovat datové soubory pro uvažovanou množinu testovaných svarů (typ svaru, velikost,lokalizace, atd.) ve formátu G-kódu. Tato data budou dále interpretovány real-time částí ří-zení. Celý řídící systém zahrnující logické a sekvenční řízení a real-time část (generování pohybujednotlivých os manipulátoru) bude realizován řídícím systémem REX. Pro řízení pohybu (co-ordinovaný pohyb ve více osách) budou využity bloky knihovny Motion Control (MC_SINGLE,MC_COORD) jejichž implementace je ve shodě s normou PLCopen Motion Control.

Stránka 21 z 23

Page 22: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

0x2030 current mode setting value

0x6064 postion actual value(in steps = 4 x encoder counts per revolution)

0x6041 statusword

0x6040 contolword

switched on

ready to switch on

switch on disabled

absolute position in [rad]

0x6078 actual current [mA]

actual velocity in [rad/s]

0x2062 target position in ???on motor axis before gears, INT32

0x606C motor velocity actual value [rpm]docasne 0x1013 high resolution timer

quickstop not active

warning

vendor specific

remote (e.g. controled by CAN)

target reach

internal limit active

vendor specific

vendor specific

mode specific

mode specific

operation enabled

fault (if also bit0-2 = true, fault reaction active)

motor power voltage is on

Stavovy stroj motoru!!!!!!dodelat

switch on

enable voltage

not quick stop

enable operation

mode specific

mode specific

fault reset

reserved

reserved

vendor specific

vendor specific

vendor specific

vendor specific

vendor specific

vendor specific

(operation start/enable) mode specific

ATMT1

R1ns0SETHLDC0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15

Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9

Q10Q11Q12Q13Q14Q15ksa

tstepTOUT

ActI3

ActVel2

CNB_5on

on

CNI0

ERR6

ONENABLED

READY

FAULTnSTOPED

SWITCH_ON

nSTOP

OPER

RESET

CAN__I0x2000S2

CAN__I0x2000S1

CAN__I0x2000S4

CAN__I0x2000S3

CAN__I0x2001S3

SWITCH_ONnSTOP

WARNING

OPERRESET

DISABLED

CAN__I0x2001S1

READY

ON

CAN__I0x2001S2

ENABLED

nSTOPED

FAULT

HEXDBD

iu

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Y10

Y11

Y12

Y13

Y14

Y15

HEXDBM

U0

U1

U2

U3

U4

U5

U6

U7

U8

U9

U10

U11

U12

U13

U14

U15

iy

ITOI1

kU0U1U2U3

nkY0Y1Y2Y3

ITOI2

kU0U1U2U3

nkY0Y1Y2Y3

LIN_2u y

LIN_posu y

LIN_velu y

OFF4

ON5

RESET4

RM_AxisSpline_2

uAxis

posveltrq

iState

SELQUAD

u0u1u2u3iSWSW0SW1

ySG_pos

y

START2

STOP3

TRND_pos

u1

u2

u3

u4

RUN

R1

y1

y2

y3

y4

iE

actPos1

osa1

pos5

0x6060 modes of operation - otaceni

0x1001 kod chyby - naklon

0x1003:1 error history1 - naklon

0x6060 modes of operation - naklon

0x1001 kod chyby - otaceni

0x1003:1 error history1 - otaceni

ActVel12

CNE_15: Operational

CNE_mode255: position

ENABLE12

ENABLED13

ErrorHistory1X7

ErrorHistory1Y5

ErrorRegisterX6

ErrorRegisterY4

CAN__NODE3__Status

CAN__NODE2__Status

CAN__I0x2012S1

CAN__I0x2013S1

CAN__I0x2012S2

CAN__I0x2013S2

CAN__I0x2000S1__Fresh

CAN__I0x2012S3

CAN__I0x2013S3

CAN__NODE1__Status

NOT_U Y

actPos11

motor1

osa

START

STOP

RESET

pos

actPos

ActVel

ActI

OFF

ON

ERR

osa11

Obrázek 13: Blokové schéma tasku řízení jednoho motoru manipulátoru v řídícím systému REX

Stránka 22 z 23

Page 23: Průběžná zpráva - zcu.czhome.zcu.cz/~msvejda/_publications/2013/7_UJV_ridici...Průběžná zpráva Názevprojektu: Výzkum, vývoj a validace univerzální technologie pro potřeby

Alg. řízení - návrh realizace Průběžná zpráva, projekt č.: TA01020457

Reference

[1] The MathWorks, Matlab. http://www.mathworks.com/.

[2] Oberg, E.; Jones, F.; Horton, H.; aj.: Machinery’s Handbook: A Reference Book for the Me-chanical Engineer, Designer, Manufacturing Engineer, Draftsman, Toolmaker, and Machi-nist. Machinery’s Handbook: A Reference Book for the Mechanical Engineer, Designer, Ma-nufacturing Engineer, Draftsman, Toolmaker, and Machinist, Industrial Press, 2004, ISBN9780831127374.URL http://books.google.cz/books?id=31eWvgTgD7oC

[3] PLCopen: Motion Control. 2013.URL http://www.plcopen.org/pages/tc2_motion_control/index.htm

[4] REX Controls s.r.o.: Řídící systém REX. 2013.URL http://www.rexcontrols.cz

[5] Sciavicco, L.; Siciliano, B.: Modelling and Control of Robot Manipulators. Springer, druhévydání, 2000, ISBN 978-1-85233-221-1.

[6] Severa, O.: Nástroje pro ovládání a diagnostiku manipulátoru. Technická zpráva, Katedrakybernetiky, FAV, ZČU v Plzni, 2013.

[7] Uhlíř, J.; Vlček, P.: Hardware manipulátoru Sáva. Technická zpráva, ÚJV Řež, a.s., 2013.

[8] Švejda, M.: Kinematická a dynamická analýza robotických architektur pro potreby moder-ních ultrazvukových kontrol svarových spoju komplexních potrubních systému jadernýchelektráren. 2011, Katedra kybernetiky, ZČU v Plzni.URL http://home.zcu.cz/~msvejda/_publications/2011/2_UJVKinematikaManipulatoru.pdf

[9] Švejda, M.: Manipulátor pro NDT, varianta 2: RRPR manipulátor, implementacní po-známky. 2013, Katedra kybernetiky, ZČU v Plzni.URL http://home.zcu.cz/~msvejda/_publications/2013/6_generatoryUJVrobot.pdf

[10] W. Khalil, E. D.: Modeling, Identification and Control of Robots. Butterworth-Heinemann,2004, ISBN 190399666X.

Stránka 23 z 23


Recommended