Pomiary Automatyka Robotyka 3/2019

Page 1

PAR P O M I A RY • A U T O M AT Y K A • R O B O T Y K A

3/2019 ISSN 1427-9126 Indeks 339512

Cena 25,00 zł w tym 5% VAT

Technical Sciences Quarterly | ( ) * !

W numerze:

3 5

Od Redakcji Maria Wrzuszczak, Janusz Wrzuszczak

11

Sebastian Dudzik

17

27

!"

# $ $ !" !"

# % !" ! ! ! $ !" & $ ' ! !" !

Ponadto: Informacje dla Autorów – 81 | Nasze monografie – 85 | 86 | Kalendarium – 89 | Intelligent Autonomous Vehicles 2019 – 90 | ! "# 94 | $% & ! " # 97 | $% & ' ! (') *+*+,-. *+*+ /*+ 345 ! ! ! " ! " 98 | $% & ' ! 6 7 ! *+*+ -,*+*+4 ! ! ! 99 | Nasze wydawnictwa – 100


Rada Naukowa Rok 23 (2019) Nr 3(233) ISSN 1427-9126, Indeks 339512

Redaktor naczelny

, - ) ! ! H " '. & '. $ '. FL , ( . Z [ " \ $ ]@ ' ^

! " # $

, / 0 G " >$ '. G " $ '. _$`

& ! !

% & $ ' "

, 12

3, 4 A $ < '. ' $ Z [ " H . ]/ ' ^

$ !

5

62

2 Z [ " ]A '"^

% * " " + ' '. / 8 " " * % & $ ' " 8 " "' "; " "' " & < 8 $ ! " # $ 8 = "

+ $ ! !" ! > &

, + $ 7 ! @ E ' F ' 8 " " G " H " L GH + , 8 ), 7 " 2 A " Z " ' [ ]Z ^ , 6 #, 7 +"% @ # f

g'

Druk

, -, / ( !" $" '. ' G ] $ ^

# " / ?' < '" @ A BCC

, - ! (

! Z [ " ]@ ' ^ , ) ( $ A H ' @ E +

Wydawca @ E ' F ' 8 " " G " H " K L GH H$ * $ OCO COQTUB +

Kontakt ' $ Q '. ' " H " = " H$ * $ OCO COQTUB + $ OO UVT CX TB Y $

$

Pomiary Automatyka Robotyka ' Q '. ' " = 'Q " " XppV XU $ " g g' H $

" " $ " " ' `' " "' K "' "'. ' Q= ' "'. " = " $ $ Q '. ' " " H " = " " K = '. H#<>!m / $ @'. $ GA >q !f > AG!Z@ ]G!v OCXBw Vx OT^ K % K = "'. = % "'. $ '. ' $ ' "'. H GHA<H ' &A @+ =$ ' " U ] XOTT^ " `' `' g $ ' f A g " = " " " =$ K $ Q '. ' " " H " = " + ` ` ] '" `^ ' &A @+ =$ ' $ " H " = " " = ' OC ] " ' "'. ' "'. L ' g " "'. xX $ ' OCXp OVpCO^ " " '" $ " Q " $ '. $

+" $ " H " = " Q ?

K '. " pCV; Q ZA;OCXp L & A @ $ ' +"% ' "'. $ E '. `'` g

3 9, ( Z [ " ]/ ' ^ , - ! : +" # ` $ '. ' , . ), : 2 2 G ! $ @' ' & ] ^ , + " # " h [ [ $" '. 'j A $ Z [ " ]Z ^ , 1 * ! +" G %" # ` +"% @ > $ # ` + , - + ! $ Z [ " ] ^ , * + !" ! l Z [ " ]+ $ " ^ , + +" G %" ' " $ '. f $ . + ! H< 8 G H $ @" < '. $ " / =m ]A '"^ , 1 ; < +" & '. ' " < '. $ ' " $ '. _$` , # =2 ! @$ [ H' " @' ' ]@ ' ^ , 7 /!" < G " G " H " = " $ '. + ' , ! !" $ &G< Z [ " & $= ]H $ ^ , 1 /, 3 h " [ $" '. 'j A $ Z [ " ]Z ^


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

3

Od Redakcji

5

Maria Wrzuszczak, Janusz Wrzuszczak

Application of Wavelet Analysis in Defectoscopy with Pulsed Eddy Current

11

Sebastian Dudzik

Detection of Defects Using Active Thermography and k-Means Algorithm

17

! "

" Review of Discrete Time Sliding Mode Reaching Laws

27

! #

" $ " %

Comparison of Various Controller Parameters Optimization Strategies for Industrial Processes Using Different Control Performance Assessment Indexes

41

+ + ' '. @ " ' & ' @ ' " + ' '. & " Â? & ' +g @ " ! " # $ & ' ! ( ) * $ + ,- The Use of Rolling Stock as a Carrier of Sensors in the Field of Environmental Monitoring

55

#" '. + * ' '. $ . " - ( $ + ,- "

/ # Extended Method for Evaluation Uncertainties of Indirect Multiparameter & ! ' . & X G $ ' Correlation and Uncertainties of Processing Function – Basic Formulas

65

" @ " " !. L Quality Management in Research Institutes

71

Jacek Dunaj 0 $ Control of Robot Movement to the Starting Position in Automatic Mode

81

1 &

X


@ G@ < >_!G

85

Nasze monografie

86

Wspomnienia Profesor $ !

89

Kalendarium

90

Konferencje | Relacja Intelligent ) 3 " !

HJLM

94

Konferencje | Relacja 51. ( & !

7 ! (

97

$ ' `% Metrologia $

98

$ ' `% AutoCAD HJHJ V 8/ HJHJ XHJLYZ[, # ! !

99

$ ' `% ) 6 2 HJHJ #8 V HJHJZ, #

100 : !

O

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


f > H !*G

Drodzy Czytelnicy, $ " $ naukowo-technicznego Pomiary H " = " < " L% " $ ' " " " `' =$ " g L "'. "'. ] ` ?' ^ ` g ' " ' '. `' g " '. "'. # = " $ ' " " `'" $` "'. '. " "'. ` "= $ $ " " " " $ ' $ L ' L " "'. ' L$ " $g ” L ' " ' # '.g' " % ' " ' " A $ !"= = ' ' " $ $ + "' = "' "' " " = " + " L % " ` ' ` " '. = ' "'. " ` ' A '. $ ' $ " + + ' 8 $ " E * ' + = %`'" " $ ' % "'. 8 "$ $ $ 8 ' w GHv OCXp & & OCXp + +" '" 8 @ ' ' F ' 8 " G " H " L GH + 8 `' $ " numeru.

Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka . = % ! " # $

3


4

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 5–9, DOI: 10.14313/PAR_233/5

- & - .& .& / & Maria Wrzuszczak, Janusz Wrzuszczak 0 4 $ 6 8 $ 0 9 () ;/ & <$ =>?(>@ 4

Streszczenie: W publikacji przedstawiono zastosowanie przekształcenia falkowego do analizy sygnałów uzyskanych w wyniku badań metali nieferromagnetycznych z wykorzystaniem zjawiska prądów wirowych techniką PEC. Badania przeprowadzono na próbkach metali i stopów o znanej konduktywności z wadami wzorcowymi w formie nacięć o znanych (zmierzonych) wymiarach geometrycznych. Zarejestrowane przebiegi napięć wyjściowych z przetwornika wiroprądowego poddano analizie z wykorzystaniem transformat falkowych ciągłej i dyskretnej. +$ ! \ & - .& .& / & $ -

1. Wprowadzenie Badania metodÄ… prÄ…dĂłw wirowych naleşą do grupy badaĹ„ nieniszczÄ…cych (NDT) i speĹ‚niajÄ… waĹźnÄ… rolÄ™ w badaniach diagnostycznych metali i stopĂłw oraz wszelkich produktĂłw z nich wytworzonych. Badania takie moĹźna przeprowadzać w sposĂłb bezstykowy, bezpoĹ›rednio w procesie produkcji, jak rĂłwnieĹź później, w fazie uĹźytkowania produktu. SÄ… szeroko stosowane w celu zapewnienia bezpieczeĹ„stwa Ĺ›rodkĂłw transportu (lotnictwo, kolej, transport morski), w energetyce, w przemyĹ›le chemicznym i petrochemicznym a takĹźe w badaniach wytrzymaĹ‚oĹ›ci metalowych konstrukcji. Przetwornik do badaĹ„ metodÄ… prÄ…dĂłw wirowych skĹ‚ada siÄ™ z cewki indukcyjnej wytwarzajÄ…cej pole elektromagnetyczne (tak zwanej cewki wzbudzajÄ…cej) oraz czujnika do pomiaru pola elektromagnetycznego, ktĂłrym moĹźe być rĂłwnieĹź cewka lub dwie cewki w ukĹ‚adzie róşnicowym, wzglÄ™dnie czujnik Halla lub czujnik magnetorezystancyjny AMR. MetodÄ… prÄ…dĂłw wirowych moĹźna wykrywać wady typu pÄ™kniÄ™cia lub inne nieciÄ…gĹ‚oĹ›ci materiaĹ‚u na bardzo wczesnym etapie ich zaistnienia, zarĂłwno na powierzchni metalu jak rĂłwnieĹź niewidocznych, leşących w warstwie przypowierzchniowej. Obserwacja w czasie propagacji wad, uĹ‚atwia personelowi technicznemu podjÄ™cie decyzji, co do dalszej eksploatacji lub koniecznoĹ›ci wymiany elementu lub części konstrukcji. Okresowe badania waĹ‚Ăłw duĹźych maszyn elektrycznych, badania Ĺ‚oĹźysk, Ĺ‚opatek wirnikĂłw, spawĂłw, pozwalajÄ… zapobiegać awariom i katastrofom oraz zapewnić bezpieczeĹ„stwo personelowi.

) ! \ " # $ % ) $ ! & '( !) *!'+ $ & & !+ !+ *!'+

!

W badaniach diagnostycznych metodÄ… prÄ…dĂłw wirowych waĹźne jest nie tylko wykrycie wady, ale rĂłwnieĹź klasyfikacja (jaki jest to rodzaj wady materiaĹ‚owej) oraz jakie sÄ… jej wymiary. Naturalne wady mogÄ… mieć oczywiĹ›cie róşne ksztaĹ‚ty. Defekty wystÄ™pujÄ…ce w materiaĹ‚ach przewodzÄ…cych moĹźna podzielić w ogĂłlnoĹ›ci na: nieciÄ…gĹ‚oĹ›ci materiaĹ‚u typu pÄ™kniÄ™cia, szczeliny, pustki oraz wtrÄ…cenia obce (o innej konduktywnoĹ›ci). PÄ™kanie materiaĹ‚u rozpoczyna siÄ™ najczęściej od wady powierzchniowej, stÄ…d waĹźność wykrywania wĹ‚aĹ›nie tego typu defektĂłw. Kolejnym zagadnieniem jest klasyfikacja wykrytych wad, okreĹ›lenie (zmierzenie) ich rozmiarĂłw geometrycznych oraz w przypadku wad podpowierzchniowych podanie, na jakiej leşą gĹ‚Ä™bokoĹ›ci. Tak wiÄ™c detekcja, klasyfikacja oraz pomiar to trzy etapy badaĹ„ diagnostycznych. Klasyfikacja wad w metalach i stopach oraz pomiar wielkoĹ›ci charakteryzujÄ…cych je ciÄ…gle stawia sporo wyzwaĹ„ przed personelem wykonujÄ…cym te badania. Jako jedno z moĹźliwych rozwiÄ…zaĹ„ jest zastosowanie w badaniach metodÄ… prÄ…dĂłw wirowych techniki impulsowej PEC (ang. Pulsed Eddy Current) [1–3].

H, . Cewka wzbudzająca przetwornika wiroprądowego jest zwykle zasilana prądem lub napięciem sinusoidalnie zmiennym o wybranej częstotliwości. Niejednokrotnie konieczne jest wykonanie badań z uşyciem kilku częstotliwości wzbudzenia. Przyjmuje się, şe głębokość wnikania prądów wirowych, a więc równieş moşliwość wykrycia wad, zaleşy od częstotliwości prądu wzbudzenia według wzoru

δ =

1

Ď€ f Îź0 ÎźrĎƒ

(1)

gdzie: d – gĹ‚Ä™bokość wnikania prÄ…dĂłw wirowych, ÂŚ – czÄ™stotliwość prÄ…du wzbudzenia, m0 – przenikalność magnetyczna próşni, mr – przenikalność magnetyczna wzglÄ™dna materiaĹ‚u (przewodnika), s – konduktywność materiaĹ‚u.

5


# $ " $ ` $ " ` =

Umownie przyjÄ™ta wielkość, zwana gĹ‚Ä™bokoĹ›ciÄ… wnikania prÄ…dĂłw wirowych, jest to odlegĹ‚ość od powierzchni metalu, na ktĂłrej gÄ™stość prÄ…du maleje do wartoĹ›ci 1/e wartoĹ›ci poczÄ…tkowej na powierzchni metalu. Po podaniu sygnaĹ‚u impulsowego prostokÄ…tnego na cewkÄ™ wzbudzajÄ…cÄ… uzyskuje siÄ™ zĹ‚oĹźony sygnaĹ‚ odpowiedzi przetwornika (zwany dalej sygnaĹ‚em wyjĹ›ciowym), ktĂłry jest sumÄ… wielu harmonicznych, a wiÄ™c uzyskuje siÄ™ informacje o zaburzeniach pola elektromagnetycznego tak, jak podczas badaĹ„ z uĹźyciem prÄ…dĂłw sinusoidalnych o róşnych czÄ™stotliwoĹ›ciach (tzw. badaniach wieloczÄ™stotliwoĹ›ciowych). W artykule przedstawiono doĹ›wiadczenia wĹ‚asne autorĂłw nabyte podczas badaĹ„ przeprowadzonych na wzorcach wykonanych z metali nieferromagnetycznych (aluminium i jego stopĂłw, mosiÄ…dzu) z wadami nieciÄ…gĹ‚oĹ›ci w postaci nacięć i rowkĂłw o znanych rozmiarach. Na rysunku 1 przedstawiono schemat blokowy ukĹ‚adu badawczego. Zastosowano w nim przetwornik wiroprÄ…dowy wĹ‚asnej konstrukcji, skĹ‚adajÄ…cy siÄ™ z cewki wzbudzajÄ…cej pole elektromagnetyczne oraz z dwu cewek w obwodzie wyjĹ›ciowym w ukĹ‚adzie róşnicowym, peĹ‚niÄ…cych funkcjÄ™ czujnika zmian pola elektromagnetycznego. Do badaĹ„ metali i stopĂłw technikÄ… PEC zaprojektowano i wykonano ukĹ‚ad elektroniczny pozwalajÄ…cy wygenerować krĂłtki impuls prÄ…dowy. UkĹ‚ad ten wyzwalany jest sygnaĹ‚em prostokÄ…tnym z generatora. SygnaĹ‚ wyjĹ›ciowy z przetwornika jest wzmacniany, a nastÄ™pnie prze-

chodzi przez filtr dolnoprzepustowy. Do rejestracji sygnaĹ‚u wykorzystano oscyloskop cyfrowy. Badania prowadzono na prĂłbkach w ksztaĹ‚cie prostopadĹ‚oĹ›cianu wykonanych z metalu lub stopu o znanej konduktywnoĹ›ci, w ktĂłrych wykonano wady wzorcowe w formie nacięć o róşnych rozmiarach. W tabeli 1 zestawiono wymiary wad wzorcowych w jednym z pĹ‚askownikĂłw wykonanym z aluminium o konduktywnoĹ›ci 35 MS/m. Wady wzorcowe w formie rowkĂłw zostaĹ‚y wykonane metodÄ… elektroiskrowÄ…. Metoda ta wykorzystuje zjawisko erozji materiaĹ‚u podczas powstawania wyĹ‚adowania elektrycznego miÄ™dzy elektrodÄ… a elementem przewodzÄ…cym, wywoĹ‚anego napiÄ™ciem impulsowym. W publikacji [4] opisano rĂłwnieĹź inne moĹźliwe do zastosowania techniki wykonania wad wzorcowych do badaĹ„ nieniszczÄ…cych metodÄ… prÄ…dĂłw wirowych oraz przedstawiono sposoby zmierzenia rozmiarĂłw geometrycznych tak uzyskanych sztucznych wad w metalach, miÄ™dzy innymi z wykorzystaniem mikroskopu. Podczas badaĹ„ metodÄ… PEC rejestrowano sygnaĹ‚ odpowiedzi przetwornika wiroprÄ…dowego umieszczanego kolejno nad wadami powierzchniowymi o znanych rozmiarach geometrycznych w róşnych prĂłbkach metali lub stopĂłw. Jako sygnaĹ‚ odniesienia uĹźyto sygnaĹ‚ zarejestrowany z badaĹ„ prĂłbki materiaĹ‚u bez wad.

Y, ) !" $ Pakiet plików zawierających zarejestrowane sygnały, uzyskanych w wyniku przeprowadzonych badań nad zestawem próbek z wybranego materiału poddano analizie z wykorzystaniem narzędzia Wavelet Analyzer będącego integralną częścią przybornika MATLAB Wavelet Toolbox ver. 5.2. Metody analizy falkowej, bazujące na ciągłej CWT oraz dyskretnej DWT analizie falkowej, znajdują coraz szersze spektrum zastosowań w analizie i przetwarzaniu sygnałów [5–8]. W omawianym przypadku poddano analizie sygnały jednowymiarowe typu 1D reprezentujące przebiegi napięcia w dziedzinie czasu (rys. 2). Wykorzystano właściwości transformaty falkowej do analizy sygnałów niestacjonarnych [7]. Na rysunkach 3 i 4 przedstawiono dekompozycję falkową sygnału wyjściowego z przetwornika wiroprądowego zarejestrowanego nad wadą typu rowek (nieciągłość) w płaskowniku wykonanym ze stopu aluminium o konduktywności 35 MS/m. Ograniczono się do pięciu poziomów dekompozycji.

Rys. 1. Schemat blokowy układu badawczego Fig. 1. Block diagram of investigation system

Tab. 1. Wymiary wad wzorcowych (wzorzec nr 1) materiał: aluminium o konduktywności 35 MS/m Tab. 1. Dimensions of flaws in aluminum samples with conductivity 35 106 S/m (width and depth)

*åĊERNRĞß >PP@

Numer wady

6]HURNRĞß >PP@

1

0,2

0,8

2

0,4

0,8

3

0,6

0,8

4

0,8

0,8

5

1,0

0,8

6

1,5

0,8

7

2.0

0,8

8

2,5

0,8

9

3,0

0,8

10

3,5

0,8

Rys. 2. Sygnał wyjściowy z przetwornika wiroprądowego PEC diagnozującego wzorzec aluminiowy z wadą o głębokości 1,5 mm poddany analizie falkowej Fig. 2. Output signal from PEC transducer for flaw of 1.5 mm depth in Al probe investigated by wavelet methods

Śródło: dane własne

6

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Maria Wrzuszczak, Janusz Wrzuszczak

Rys. 4. Analiza falkowa sygnału z rys.2 z zastosowaniem eliminacji progowej Fig. 4. Wavelet decomposition of signal from Fig. 2 with threshold elimination

Rys. 3. Analiza falkowa dla pięciu poziomów dekompozycji Fig. 3. Five level wavelet decomposition of signal

Sygnał badany można przedstawić w postaci sumy ważonej współczynników falkowych wfa ⎡⎣b ⎤⎦ i falek ψ t

()

a ,b

( ) ∑ ( f ,ψ )ψ

f t =

a ,b

a ,b

a ,b

=

∑ ∑ wf a

b

a

()

⎡⎣b ⎤⎦ψ t

a ,b

(2)

gdzie nawias oznacza iloczyn skalarny funkcji f i falki o współczynnikach a i b, natomiast falki

ψ (t )

a ,b

=

1 a

⎛t −b ⎞ ⎟ ⎝ a ⎠

ψ⎜

(3)

są składowymi wektora bazowego rozwinięcia funkcji f(t) w szereg, uzyskane przez operacje skalowania i translacji w dziedzinie czasu przeprowadzone na tzw. falce macierzystej mother wavelet (t). Grupując składniki sumy rozwinięcia względem kolejnych wartości współczynników skali i analizując odpowiadające im wagi można wykryć wzajemne uwarunkowania występowania podobieństwa kształtu falki o danym współczynniku skali w kolejnych interwałach czasu. Na rysunku 5 przedstawiono przebiegi czasowe trzech sygnałów z przetwornika wiroprądowego PEC diagnozującego wady typu rowki w aluminium o różniących się głębokościach. Przy-

Rys. 5. Przebieg czasowy trzech sygnałów wyjściowych z przetwornika PEC rozpoznającego wady w aluminium oznaczone jako a5, a7, a9 Fig. 5. Time response from PEC transducer for defects a5, a7, a9

jęto oznaczenia: a5 – wada o głębokości 1 mm, a7 – wada o głębokości 2 mm, a9 – wada o głębokości 3 mm. Sygnały te poddano analizie falkowej dyskretnej i ciągłej (rys. 6). Z kolei na rysunku 7 przedstawiono mapy współczynników dekompozycji trzech sygnałów wad różniących się głębokością. Analizę można rozszerzyć o badanie rozkładu mocy poszczególnych składowych dekompozycji w wybranych interwałach czasu. Jeśli wybrane sygnały charakteryzują określone rodzaje defektów, to wyróżnikiem informacji może być przesunięcie

7


# $ " $ ` $ " ` =

Rys. 8. Mapa współczynnikĂłw korelacji szeĹ›ciu sygnaĹ‚Ăłw (piÄ™ciu sygnaĹ‚Ăłw wad róşniÄ…cych siÄ™ gĹ‚Ä™bokoĹ›ciÄ… i sygnaĹ‚u szĂłstego Fig. 8. Map of correlation coefficients for six signals (five testing signals from flaws with different depth and one from Al test sample without flaw) Rys. 6. Mapy współczynnikĂłw dekompozycji po zastosowaniu transformacji falkowych dyskretnej i ciÄ…gĹ‚ej jednego z sygnaĹ‚Ăłw (a7) z wykorzystaniem falki sym8 dla poziomĂłw 1–5 Fig. 6. Maps of decomposition coefficients for discrete and continuous wavelet transform for signal a7 using sym8 wavelet with 5 levels

Ĺ‚Ăłw w dziedzinie czasu i czÄ™stotliwoĹ›ci. W obecnoĹ›ci niektĂłrych rodzajĂłw wad stwierdzono zaleĹźność miÄ™dzy amplitudÄ…, ksztaĹ‚tem lub przesuniÄ™ciem w czasie sygnaĹ‚u badanego i referencyjnego. Transformacja falkowa jest szczegĂłlnie przydatna do analizy cech sygnaĹ‚Ăłw niestacjonarnych. NarzÄ™dzia wykorzystujÄ…ce technikÄ™ falkowÄ… pozwalajÄ… rĂłwnieĹź na odfiltrowanie zakĹ‚ĂłceĹ„ na podstawie doboru progĂłw filtrĂłw (rÄ™cznie, metodÄ… optymalizacji lub z wykorzystaniem innych algorytmĂłw eliminacji progowej) dla róşnych poziomĂłw dekompozycji.

^ 1. He Y., Luo F., Pan M., Weng F., Hu X., Gao J., Liu B., Pulsed eddy current technique for defect detection in aircraft riveted structures. Elsevier, “NDT & E Internationalâ€?, Vol. 43, No. 2, 2010, 176–181, DOI: 10.1016/j.ndteint.2009.10.010. 2. Sophian A., Tian G.Y., Taylor D., Rudlin J., Design of a pulsed eddy current sensor for detection of defects in aircraft lap-joins. Elsevier, “Sensors and Actuators Aâ€?, Vol. 101, No. 1–2, 2002, 92–98, DOI: 10.1016/S0924-4247(02)00195-4. 3. Wrzuszczak M., Wrzuszczak J., Badania diagnostyczne metali i stopĂłw metodÄ… PEC, „Zeszyty Naukowe WydziaĹ‚u Elektrotechniki i Automatyki Politechniki GdaĹ„skiejâ€?, Nr 59, 2018, 215–218, DOI: 10.32016/1.59.47. 4. Wrzuszczak M., Wytwarzanie wzorcĂłw wad w materiaĹ‚ach przewodzÄ…cych dla celĂłw diagnostyki wiroprÄ…dowej, „Pomiary Automatyka Robotykaâ€?, R. 14, Nr 12, 2010, 138–141. 5. Lingqi Li, Kazuhiko Tsukada, Koichi Hanasaki, Zheng Liu, Fusion of Multi-Frequency Eddy Current Signals by using Wavelet Analysis Method. ISIF 2002, 108–113. 6. Sasi B., Rao B.P.C., Thirunavukkarasu S., Jayakumar T., Kalyanasundaram P., Wavelet transform based method for eddy current testing of cladding tubes. NDE 2002, Predict, Assure, Improve, National Seminar of ISNT Chennai, www. nde2002.org. 7. BiaĹ‚asiewicz J.T., Falki i aproksymacje, Wydawnictwo Naukowo-Techniczne, Warszawa 2000. 8. Ewert P., DorosĹ‚awska A., Zastosowanie analizy falkowej do wykrywania uszkodzeĹ„ Ĺ‚oĹźysk tocznych, „PrzeglÄ…d Elektrotechnicznyâ€?, R. 93, Nr 1, 2017, 305–310, DOI: 10.15199/48.2017.01.72.

Rys. 7. Porównanie amplitud współczynników dekompozycji dla trzech sygnałów wad w aluminium, oznaczonych a5, a7, a9 Fig. 7. Comparison of decomposition coefficients for signals a5, a7, a9 of Al defects

fazowe sygnaĹ‚u badanego wzglÄ™dem sygnaĹ‚u referencyjnego (pochodzÄ…cego z materiaĹ‚u bez wady) wyznaczane metodami korelacji. Na rysunku 8 przedstawiono mapÄ™ wartoĹ›ci współczynnikĂłw korelacji szeĹ›ciu sygnaĹ‚Ăłw, z ktĂłrych pięć jest sygnaĹ‚ami wad, a ostatni – szĂłsty pochodzi od prĂłbki bez wady. NajmniejszÄ… wartość współczynnika korelacji uzyskano dla pary sygnaĹ‚Ăłw a2 i a3. Im mniejsza wartość współczynnika korelacji tym wiÄ™ksze sÄ… róşnice w sygnaĹ‚ach, co moĹźna wykorzystać do klasyfikacji wad materiaĹ‚owych.

], <!

Przedstawione wyniki badań pozwalają stwierdzić duşą przydatność ciągłej i dyskretnej transformaty falkowej do wykrywania i klasyfikacji wad w metalach z wykorzystaniem techniki PEC poprzez wyodrębnienie charakterystycznych cech sygna-

8

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Maria Wrzuszczak, Janusz Wrzuszczak

8 - # 8 E - 0 & B&& Abstract: In the paper there are presented the results of an experimental research oriented towards solving defectoscopy problems applying continuous and discrete wavelet transform (CWT and DWT) for pulsed eddy current response analysis. The investigations has been performed on some sets of categories of material flaws made of different metals of, with various depth, width and regular/ non regular shapes fabricated in form surface and subsurface defects. Detecting and recognizing selected types of flaws and classifying them due to derivation of distinguished features of the tested materials has been performed in an environment of MATLAB Wavelet Toolbox ver. 5.2 in the framework of Wavelet Analyzer functionality. The certain part of analysis was made out with Multiple 1D tool and Regression Estimation 1-D support taking advantage of their facilities. In fact some families of signal records exhibited correlation between lag versus reference signal and flaw properties, while in the other cases the amplitude or shape of the signal was the crucial thing. The proposed approach seems as affective tool for PEC defectoscopy and defectometry. Keywords\ & && A$ 0B $

< = % > ?

% ;

% & ORCID: 0000-0001-7236-8259

% & ORCID: 0000-0002-6487-5995

F - & # & B $ 8 6 - ? 0 4 # *!'* ? G & / ? A F . / 9 . & / ? A $ - & $ - A 9 / & 9 &. .&9

0 6 8 # & B $ 8 6 - 0 4 F / 9 & / $ ? 9 $ & ? &9 & $ A

9


NR 3/2015

10

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 11–15, DOI: 10.14313/PAR_233/11

# & - 9 A H A ? & Sebastian Dudzik 0 $ # & B $ 6 4 9 0 $ 8 I '($ =*?*!!

Streszczenie: W pracy przedstawiono nową metodę wykrywania defektów materiałowych z wykorzystaniem termografii aktywnej. W celu zwiększenia kontrastu cieplnego dokonano przetwarzania wstępnego zarejestrowanej sekwencji termogramów metodami morfologii matematycznej. Do wykrywania defektów zastosowano algorytm k-średnich. W pracy zbadano wpływ miary odległości uşywanej w opisywanym algorytmie oraz doboru danych wejściowych na efektywność opisywanej metody. Eksperyment przeprowadzono dla próbki wykonanej z kompozytu zbrojonego włóknem węglowym (CFRP). W badaniach stwierdzono, şe najmniejsze błędy wykrywania defektów za pomocą opisywanej metody uzyskuje się dla kwadratowej odległości euklidesowej. +$ ! \ A k? & $ & - 9 $ A H

1. Wprowadzenie 1.1. Zastosowanie metod grupowania $ !" Do wykrywania defektĂłw w obiektach – bez zmiany wĹ‚aĹ›ciwoĹ›ci materiaĹ‚Ăłw, z ktĂłrych zostaĹ‚y one wykonane – stosowane sÄ… róşne metody, w tym metody ultradĹşwiÄ™kowe, magnetyczno-proszkowe lub wizualne [1]. W przypadku, gdy defekty znajdujÄ… siÄ™ w strefie przypowierzchniowej (w praktyce nie gĹ‚Ä™biej niĹź jeden centymetr, zaleĹźnie od dyfuzyjnoĹ›ci cieplnej materiaĹ‚u i energii ĹşrĂłdĹ‚a wymuszenia) moĹźliwe jest zastosowanie termografii aktywnej [2–5]. W kaĹźdej z metod termografii aktywnej badany obiekt (prĂłbkÄ™ materiaĹ‚u) nagrzewa siÄ™ za pomocÄ… wybranej metody wymuszenia (np.: fotoelektrycznie lub za pomocÄ… drgaĹ„ mechanicznych). W wyniku nagrzewania, w zaleĹźnoĹ›ci od wĹ‚aĹ›ciwoĹ›ci cieplnych materiaĹ‚u, warunkĂłw poczÄ…tkowych i brzegowych ustalonych w eksperymencie, na powierzchni badanego obiektu powstaje nieustalony rozkĹ‚ad temperatury. RozkĹ‚ad ten jest nastÄ™pnie rejestrowany z okreĹ›lonÄ… czÄ™stotliwoĹ›ciÄ… prĂłbkowania za pomocÄ… kamery termowizyjnej [6] w formie sekwencji termogramĂłw. W dalszej kolejnoĹ›ci, w celu wykrycia defektu, zarejestrowana sekwencja jest poddawana przetwarzaniu, z wykorzystaniem wybranych metod, w tym metod uczenia maszynowego [7–10]. W tracie przetwarzania zarejestrowane pole temperatury przybiera formÄ™

) ! \ / E & $ /& &% ) $ ! & !+ !( *!'+ $ & & '! !+ *!'+

!

przebiegĂłw czasowych dla kaĹźdego z pikseli znajdujÄ…cych siÄ™ w polu widzenia termogramu powierzchni badanego obiektu. Z punktu widzenia metod uczenia maszynowego przebiegi te stanowiÄ… wielowymiarowe obserwacje, ktĂłre moĹźna interpretować jako punkty w n-wymiarowej przestrzeni cech, przy czym cechy to chwile czasowe wynikajÄ…ce z czÄ™stotliwoĹ›ci prĂłbkowania. JednÄ… z metod uczenia maszynowego, w grupie tzw. metod bez nadzoru jest analiza skupieĹ„, zwana rĂłwnieĹź klasteryzacjÄ… lub grupowaniem [11, 12]. Analiza skupieĹ„ polega na podziale zbioru obiektĂłw na podzbiory, przy czym w poszczegĂłlnych podzbiorach znajdujÄ… siÄ™ obiekty „podobneâ€? do siebie. PodobieĹ„stwo okreĹ›la siÄ™ na podstawie specjalnej metryki (funkcji podobieĹ„stwa), ktĂłrej wartość uzyskiwana jest z wykorzystaniem poszczegĂłlnych cech grupowanych obiektĂłw. Ostatecznie w wyniku grupowania powstaje k zbiorĂłw obiektĂłw, wykazujÄ…cych podobieĹ„stwo w sensie kryterium okreĹ›lonego metrykÄ… podobieĹ„stwa. Istnieje wiele metod grupowania, w tym: metody hierarchiczne [13], metody k-Ĺ›rednich oraz metody grupowania rozmytego [14]. W niniejszej pracy zastosowano algorytm k-Ĺ›rednich. Podstawowa postać algorytmu dziaĹ‚a w nastÄ™pujÄ…cy sposĂłb [14]: Etap 1. Inicjalizacja a. Przyjmuje siÄ™, Ĺźe przynaleĹźność poszczegĂłlnych obiektĂłw do grup nie jest znana. ZaĹ‚óşmy, Ĺźe zbiĂłr obiektĂłw opisany jest nastÄ™pujÄ…cÄ… macierzÄ… o wymiarach n Ă— d:

⎛ x11 x12 ! x1d ⎞ ⎜ âŽ&#x; ⎜ x 21 x 22 ! x 2d âŽ&#x; âŽ&#x;, O=⎜ ⎜ # # # # âŽ&#x; ⎜ âŽ&#x; ⎜x âŽ&#x; x ! x nd ⎠âŽ? n1 n 2

(1)

gdzie: n – liczba obiektów, d – liczba cech.

11


+" " L " " ? " $ " Q '.

b. OkreĹ›la siÄ™ liczbÄ™ skupieĹ„ (grup) k oraz rozmieszcza siÄ™ centroidy reprezentujÄ…ce grupy w poĹ‚oĹźeniach poczÄ…tkowych w przestrzeni cech. NaleĹźy podkreĹ›lić, czÄ…tkowe rozmieszczenie centroidĂłw ma duĹźy wpĹ‚yw na ostateczny wynik grupowania i moĹźe decydować o ostatecznym czasie wykonania algorytmu. c. Na podstawie odlegĹ‚oĹ›ci miÄ™dzy poszczegĂłlnymi punktami danych a centroidami oblicza siÄ™ poczÄ…tkowÄ… macierz odlegĹ‚oĹ›ci. Do obliczeĹ„ uĹźywane sÄ… róşne miary odlegĹ‚oĹ›ci, w tym np. odlegĹ‚ość euklidesowa [11]. W dalszej kolejnoĹ›ci kaĹźdy obiekt ze zbioru O przypisuje siÄ™ do centroidu. Niech O bÄ™dzie zbiorem danych, zawierajÄ…cych n przypadkĂłw i reprezentowanym za pomocÄ… macierzy (1), a {C1, C2, ‌, Ck} bÄ™dzie oznaczać zbiĂłr k rozĹ‚Ä…cznych grup w zbiorze O. Obiekt x przypisuje siÄ™ do grupy poczÄ…tkowej C i0 , speĹ‚niajÄ…cej nastÄ™pujÄ…cy warunek:

{

}

( ( )) ≤ L ( x, Îź (C )) , ∀j,

C i0 = x : L x, Îź C i0

1< j <k ,

0 j

reprezentującymi obszar tła (obszar pozbawiony defektu). Do ilościowego oszacowania dokładności wykrywania defektu zastosowano następujące kryteria: 1. Błąd w obszarze defektu:

(6)

gdzie: Nd – liczba pikseli w grupie przypisanej obszarowi defektu, tj. pikseli, które przez algorytm k-średnich zostały wskazane jako piksele reprezentujące obszar powierzchni nad defektem, Nwd – całkowita liczba pikseli w obszarze defektu. 2. Błąd w obszarze tła: (7)

(2)

gdzie: Ns – liczba pikseli w grupie przypisanej obszarowi tła, tj. pikseli, które przez algorytm k-średnich zostały wskazane jako piksele reprezentujące obszar powierzchni, pod którym nie występują defekty, Nws – całkowita liczba pikseli w obszarze tła.

( )

gdzie: Ο C j0 – początkowe połoşenie centroida j-tej grupy, L(‌) – odległość między obiektami w przestrzeni cech.

Wartości Nwd i Nws we wzorach (6), (7) zostały wyznaczone na podstawie mapy defektów stworzonej w oparciu o pomiary rzeczywistych wymiarów i połoşeń defektów wytworzonych w badanej próbce, której schemat zaprezentowano na rys. 2.

Etap 2. Iteracja a. Przeprowadza się aktualizację połoşenia centroidów. Nowe współrzędne centroidów w kroku t + 1 oblicza się jako średnią arytmetyczną współrzędnych wszystkich obiektów naleşących do grupy reprezentowanej przez ten centroid w kroku t, zgodnie z zaleşnością:

)

(

t +1 Îź C i( ) =

∑

∈C it

C

2. Badania eksperymentalne H,L, ( <

x

,

t i

(3)

Badania eksperymentalne przeprowadzono na stanowisku do wykrywania defektĂłw metodami termografii aktywnej. Schemat stanowiska zaprezentowano na rys. 1.

w szczególności, w pierwszej iteracji t = 0, tj. nowe współrzędne centroidów oblicza się na podstawie początkowych połoşeń centroidów w kaşdej z początkowych grup. b. Oblicza się macierz odległości i przypisuje się obiekty do nowych centroidów w kroku t + 1, przy czym nowe grupy spełniają warunek: (t +1)

Ci

{ ( ( )) ≤ L ( x, Îź (C )) , ∀j, (t +1)

(t +1)

= x : L x, Îź C i

j

}

1< j <k ,

(4) c. Kroki 2a i 2b są powtarzane tak długo, jak długo centroidy zmieniają swoje połoşenia. Prowadzi to do minimalizacji następującej funkcji błędu:

E =

∑ ∑ L ( x, Îź (C ) ). k

(5)

i

i =1 x∈C i

Opisany algorytm zastosowano do grupowania danych reprezentujÄ…cych przebiegi czasowe temperatur powierzchni zarejestrowane w badaniach eksperymentalnych.

1.2. Zastosowanie metod grupowania $ !"

Rys. 1. Schemat stanowiska do wykrywania defektĂłw metodami termografii aktywnej Fig. 1. Diagram of the defect detection station by active thermography methods

Celem badaĹ„ prezentowanych w niniejszej pracy byĹ‚o okreĹ›lenie przydatnoĹ›ci algorytmu k-Ĺ›rednich do grupowania danych pochodzÄ…cych z pomiarĂłw termowizyjnych. Z kolei grupowanie miaĹ‚o za zadanie rozróşnienie miÄ™dzy pikselami pola widzenia termogramu reprezentujÄ…cymi obszary defektu i pikselami

W skład stanowiska wchodzą następujące elementy: 1 – przemysłowa kamera termowizyjna IRS336-NDT o rozdzielczości geometrycznej 240 px × 320 px z niechłodzonym detektorem bolometrycznym o rozdzielczości termicznej NETD < 30 mK,

12

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Sebastian Dudzik

2 – lampa halogenowa o mocy 1 kW, 3 – moduĹ‚ sterowania ĹşrĂłdĹ‚ami wymuszeĹ„ cieplnych, 4 – moduĹ‚ sprzÄ™towy AT IRXBOX odpowiedzialny za sprzÄ™towe wyzwalanie rejestracji termogramĂłw oraz sterowanie ĹşrĂłdĹ‚ami wymuszenia cieplnego (moduĹ‚ jest z kolei sterowany za poĹ›rednictwem karty cyfrowej akwizycji danych DAC) i ĹşrĂłdĹ‚a wymuszenia cieplnego wraz z kartÄ… cyfrowej akwizycji danych, 5 – komputer stacjonarny wyposaĹźony w oprogramowanie IRNDT do rejestracji sekwencji termogramĂłw oraz sterowania ĹşrĂłdĹ‚em wymuszenia cieplnego, 6 â€“ prĂłbka badanego materiaĹ‚u. Jak wspomniano wczeĹ›niej opisywanÄ… metodÄ™ przetestowano dla prĂłbki wykonanej z kompozytu CFRP. Kompozyt ten z uwagi na swoje wĹ‚aĹ›ciwoĹ›ci (wysoka sztywność, wysoka odporność chemiczna i cieplna itp.) znajduje zastosowanie w wielu gaĹ‚Ä™ziach przemysĹ‚u, w tym w przemyĹ›le samochodowym, budownictwie, sprzÄ™cie sportowym a takĹźe w przemyĹ›le lotniczym. Z tego powodu, bardzo waĹźne staje siÄ™ opracowanie i rozwijanie metod wykrywania defektĂłw w kompozytach CFRP. NaleĹźy podkreĹ›lić, Ĺźe kompozyty CFRP wykazujÄ… anizotropiÄ™ z punktu widzenia wĹ‚aĹ›ciwoĹ›ci cieplnych (róşne wartoĹ›ci dyfuzyjnoĹ›ci cieplnej zaleĹźnie od kierunku), dlatego teĹź wykrywanie defektĂłw metodami termografii aktywnej jest trudniejsze niĹź w innych materiaĹ‚ach. W niniejszej pracy badaniom poddano prĂłbkÄ™ w ksztaĹ‚cie prostokÄ…ta o gruboĹ›ci 5 mm, wykonanÄ… z opisanego kompozytu. W prĂłbce wykonano sztuczne defekty w ksztaĹ‚cie nieprzelotowych, pĹ‚askodennych otworĂłw kwadratowych. Wymiary prĂłbki i rozmieszczenie defektĂłw przedstawiono na rys. 2. Defekty zlokalizowano na gĹ‚Ä™bokoĹ›ciach z1 = 3,6 mm, z2 = 2,6 mm, z3 = 1,9 mm i z4 = 1,2 mm wzglÄ™dem wierzchniej (nagrzewanej) strony prĂłbki.

W trakcie eksperymentu próbka była nagrzewana za pomocą lamp halogenowych przez 120 s. Po tym czasie działanie wymuszenia zostało zatrzymane i w ciągu następnych 120 s fazy stygnięcia prowadzona była rejestracja nieustalonego pola temperatury na powierzchni próbki z częstotliwością próbkowania 5 Hz. W wyniku rejestracji uzyskano sekwencję termogramów powierzchni. Wyniki eksperymentu zaprezentowano w dalszej części pracy.

2.2. Wyniki Wyniki badaĹ„ eksperymentalnych zaprezentowano na rys. 3, 4. Na rys. 3. przedstawiono termogram sekwencji obrazujÄ…cy pole temperatury badanej prĂłbki zarejestrowane w chwili Ď„ = 0 s wzglÄ™dem poczÄ…tku fazy stygniÄ™cia. Termogram sekwencji obrazujÄ…cy pole temperatury zarejestrowane w chwili Ď„ = 20 s wzglÄ™dem poczÄ…tku fazy stygniÄ™cia zaprezentowano na rys. 4.

Y, + !

Y,L, ( < W wyniku badaĹ„ eksperymentalnych przeprowadzonych na stanowisku przedstawionym na rys. 1 uzyskano sekwencjÄ™ termogramĂłw powierzchni badanej prĂłbki. W dalszym ciÄ…gu przeprowadzono przetwarzanie sekwencji w nastÄ™pujÄ…cych krokach: 1. ZwiÄ™kszenie kontrastu kaĹźdego z termogramĂłw sekwencji z wykorzystaniem przeksztaĹ‚cenia morfologicznego obrazu TOP-HAT [15, 16]. Do przetwarzania termogramĂłw zastosowano element strukturalny typu DIAMOND wielkoĹ›ci r = 48 px. 2. Zastosowanie algorytmu k-Ĺ›rednich do grupowania danych reprezentujÄ…cych przebiegi czasowe temperatury zarejestrowane dla kaĹźdego z pikseli pola widzenia termogramu powierzchni badanej prĂłbki kompozytu. W trakcie grupowania zastosowano dwie metryki odlegĹ‚oĹ›ci:

(

( ) ) = ( x − Îź (C ) ) ( x − Îź (C ) )

LÎľ x, Îź C i

Rys. 2. Wymiary prĂłbki i schemat rozmieszczenia defektĂłw Fig. 2. Dimensions of defects and material sample

(

i

( ) ) = ∑ x − Îź (C ) ,

LM x, Îź C i

(

i

T

,

(8)

d

i

(9)

j =1

( ))

– kwadratowa odległość euklidesowa, gdzie: Lξ x, Ο C i LM x, Ο C i – odległość typu Manhattan (odległość miejska).

(

Rys. 3. Termogram powierzchni próbki w chwili τ = 0 s względem początku fazy stygnięcia Fig. 3. Thermogram of the sample surface at τ = 0 s from the beginning of the cooling phase

( ))

Dodatkowo, w badaniach przyjęto dwa warianty danych wejściowych: I przebiegi temperatury na powierzchni badanej próbki dla kaşdego piksela w polu widzenia termogramu, rejestrowane od początku fazy stygnięcia przez kolejne 120 s, II przebiegi temperatury na powierzchni badanej próbki dla kaşdego piksela w polu widzenia termogramu, rejestrowane od chwili τ = 20 s względem zakończenia fazy nagrzewania przez kolejne 100 s fazy stygnięcia. 3. Wyznaczenie błędów wykrywania defektów, opisanych zaleşnościami (6), (7). 4. Analiza wyników badań i sformułowanie wniosków.

3.2. Wyniki Rys. 4. Termogram powierzchni próbki w chwili τ = 20 s względem początku fazy stygnięcia Fig. 4. Thermogram of the sample surface at τ = 20 s from the beginning of the cooling phase

Przykładowe wyniki działania opisanego wyşej algorytmu grupowania zaprezentowano na rys. 5–8. Na rys. 5 i 6 przedstawiono mapy defektów wygenerowane przez algorytm k-średnich z zastosowaniem pierwszego wariantu danych wejściowych

13


+" " L " " ? " $ " Q '.

dla kwadratowej odległości euklidesowej oraz odległości typu Manhattan, wyraşonych odpowiednio zaleşnościami (8) i (9). Z kolei mapy defektów wygenerowane dla drugiego wariantu danych wejściowych zaprezentowano na rys. 7 i 8. Waşnym etapem badań było oszacowanie dokładności wykrywania defektów w odniesieniu do liczby wykrytych pikseli. Z tego powodu w pracy, dla kaşdego wariantu danych wejściowych i obu metryk odległości wyznaczono błędy opisane zaleşnościami (6) i (7). Wartości błędów zebrano w tabeli 1.

Rys. 6. Wynik grupowania algorytmem k-średnich dla pierwszego wariantu danych wejściowych i odległości LM Fig. 6. The result of clustering using the k-means algorithm for the first input data case and LM distance metrics

Tabela 1. Wartości błędów wyraşonych zaleşnościami (6) i (7) Table 1. The values of errors described by (6) and (7) Wariant danych

Metryka

wejściowych

odległości

I

II

dd [%]

ds [%]

LÎľ

45,6

3,0

LM

7,0

13,0

LÎľ

7,8

9,6

LM

1,5

39,0

Rys. 7. Wynik grupowania algorytmem k-średnich dla drugiego wariantu danych wejściowych i odległości Lξ Fig. 7. The result of clustering using the k-means algorithm for the second input data case and Lξ distance metrics

Rys. 5. Wynik grupowania algorytmem k-średnich dla pierwszego wariantu danych wejściowych i odległości Lξ Fig. 5. The result of clustering using the k-means algorithm for the first input data case and Lξ distance metrics

Rys. 8. Wynik grupowania algorytmem k-średnich dla drugiego wariantu danych wejściowych i odległości LM Fig. 8. The result of clustering using the k-means algorithm for the second input data case and LM distance metrics

Y, <!

rejestrowane od chwili τ = 20 s względem zakończenia fazy nagrzewania przez kolejne 100 s fazy stygnięcia) – tabela 1. Analizując otrzymane wyniki badań naleşy stwierdzić, şe uzyskane wartości błędów, zarówno w obszarze defektu, jak i tła zdefiniowane wzorami (8) i (9) nie przekraczają 10% mimo tego, şe grupowanie prowadzone było dla materiału anizotropowego. Z tego powodu moşna uznać, şe opisywany algorytm stanowi uşyteczne narzędzie przetwarzania danych w zastosowaniu do wykrywania defektów z wykorzystaniem termografii aktywnej.

W pracy przedstawiono badania algorytmu k-Ĺ›rednich do wykrywania defektĂłw w kompozycie CFRP z uĹźyciem termografii aktywnej. Na podstawie wynikĂłw sformuĹ‚owano nastÄ™pujÄ…ce wnioski: − WstÄ™pne przetwarzanie sekwencji termogramĂłw z uĹźyciem przeksztaĹ‚ceĹ„ morfologicznych znacznie zwiÄ™ksza kontrast cieplny, a co za tym idzie efektywność grupowania algorytmem k-Ĺ›rednich. − Zastosowanie algorytmu k-Ĺ›rednich przetwarzajÄ…cego przebiegi czasowe temperatury zarejestrowane dla poszczegĂłlnych pikseli pola widzenia termogramu powierzchni prĂłbki pozwala na automatyczne rozróşnienie miÄ™dzy obszarami defektĂłw i obszarami pozbawionymi defektĂłw (obszarami tĹ‚a). − W trakcie badaĹ„ zaobserwowano duşą wraĹźliwość algorytmu k-Ĺ›rednich na zastosowanÄ… metrykÄ™ odlegĹ‚oĹ›ci. − Dodatkowo, stwierdzono, Ĺźe efektywność wykrywania defektu w duĹźym stopniu zaleĹźy od wariantu danych wejĹ›ciowych, tj. od tego, jaka faza procesu cieplnego zostanie poddana grupowaniu. − Najlepsze wyniki w sensie wystÄ™pujÄ…cych jednoczeĹ›nie najmniejszych bĹ‚Ä™dĂłw zdefiniowanych zaleĹźnoĹ›ciami (8) i (9) w obszarze defektu i obszarze tĹ‚a uzyskano dla kwadratu odlegĹ‚oĹ›ci euklidesowej LÎľ i drugiego wariantu danych wejĹ›ciowych (przebiegi temperatury na powierzchni badanej prĂłbki dla kaĹźdego piksela w polu widzenia termogramu,

14

P

O

M

I

A

R

Y

•

A

U

T

O

M

^ 1. LewiĹ„ska-Romicka A., Badania nieniszczÄ…ce. Podstawy defektoskopii, WNT, Warszawa 2001. 2. Maldague X.P., Theory and practice of infrared technology for nondestructive testing, John Wiley & Sons Interscience, New York 2001. 3. Gleiter A., Spiessberger C., Busse G., Phase angle thermography for depth resolved characterization, Proc. 9th International Conference on Quantitative Infrared Thermography QiRT, KrakĂłw, July 2–5, 2009, 435−441, DOI: 10.1063/1.3114300. 4. Dudzik S., A simple method for defect area detection using active thermography, “Opto-Electronics Reviewâ€?, Vol. 17, No. 4, 2009, 338−344, DOI: 10.2478/s11772-009-0016-9. 5. Grys S., Minkina W., Vokorokos L., Automated characterisation of subsurface defects by active IR thermographic testing A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Sebastian Dudzik

– Discussion of step heating duration and defect depth determination, “Infrared Physics & Technologyâ€? Elsevier, Vol. 68, 2015, 84–91, DOI: 10.1016/j.infrared.2014.11.005. 6. Minkina W., Dudzik S., Infrared Thermography – Errors and Uncertainties, John Wiley & Sons, Chichester 2009. 7. Russ J.C., Image Processing Handbook, CRC Press LLC 2002. 8. Dudzik S., Two-stage neural algorithm for defect detection and characterization uses an active thermography, “Infrared Physics and Technologyâ€?, Vol. 71, 2015, 187–197, DOI: 10.1016/j.infrared.2015.03.003. 9. TrĂŠtout H., David D., Martin J., Dissenter Y., Court M., Avenas-Payan M., An evaluation of artificial neural networks applied to infrared thermograph inspection of composite aerospace structures, Review of Progress in Quantitative, Nondestructive Evaluation (14A), 827−834, DOI: 10.1007/978-1-4615-1987-4_103. 10. BenĂ­tez H.D., Loaiza H., Caicedo E., Ibarra-Castanedo C., Bendada A., Maldague X.P., Defect characterization in infrared non-destructive testing with learning machines,

“NDT & E Internationalâ€?, Vol. 42, No. 7, 2009, 630−643, DOI: 10.1016/j.ndteint.2009.05.004. 11. Witten I.H., Eibe F., Data Mining. Practical Machine Learning Tools and Techniques, Elsevier 2005. 12. Everitt B.S., Landau S., Leese M., Stahl D., Cluster analysis, John Willey & Sons 2011. 13. Jain A.K., Dubes R.C., Algorithms for clustering data, Prentice Hall, Englewood Cliffs N.J., 1998. 14. Guojun G., Ma C., Wu J., Data Clustering: Theory, Algorithms, and Applications, ASA-SIAM Series on Statistics and Applied Probability, SIAM, Philadelphia, ASA, Alexandria, VA, 2007. 15. Malina W., Smiatacz M., Cyfrowe przetwarzanie obrazĂłw, Akademicka Oficyna Wydawnicza EXIT, Warszawa 2008. 16. Dudzik S., Zastosowanie transformacji TOP-HAT do przetwarzania sekwencji termogramĂłw, „Zeszyty Naukowe WydziaĹ‚u Elektrotechniki i Automatyki Politechniki GdaĹ„skiejâ€?, Nr 54, 2017, 35–38, XLIX MiÄ™dzyuczelniana Konferencja MetrologĂłw, CzÄ™stochowa/KoszÄ™cin, 4–6 wrzeĹ›nia 2017.

E - E - A 8 J A & ?" 8 A Abstract: The paper presents a new method of detecting material defects using active thermography. In order to increase the thermal contrast, preprocessing of the recorded sequence of thermograms was carried out using mathematical morphology methods. The k-means algorithm was used to detect defects. The work examined the impact of distance measure used in the described algorithm and the selection of input data on the effectiveness of the described method. The experiment was carried out for a sample made of carbon fiber reinforced composite (CFRP). Studies have shown that the smallest errors in defect detection using the described method are obtained for the square Euclidean distance. Keywords\ ? A $ & - & $ A

< = % @ = ! ) /& &% ORCID: 0000-0002-9559-7115 E / K / E & A - & ? A9 A & A - / & G ? . A - & F 9 A - A & 9 A - $ K & & & 9 A - & $ ? A - A 9 A & & ? K F 9 . A ? & K & ? A & & & & F 9 ? 9 & 0 L0

15


NR 3/2015

16

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 17–25, DOI: 10.14313/PAR_233/17

0 A .& A .A / A A & & ! - B 0 N9& $ 6 8 $ O - A '@P**$ +!?+*= N9&Q

@! & StosujÄ…c znane reguĹ‚y osiÄ…gania trybu Ĺ›lizgowego, rozpoczyna siÄ™ dziaĹ‚anie od okreĹ›lenia poşądanego przebiegu zmiennej Ĺ›lizgowej. NastÄ™pnie projektowany jest regulator gwarantujÄ…cy, Ĺźe zmienna Ĺ›lizgowa ukĹ‚adu bÄ™dzie podÄ…Ĺźać za wybranym przebiegiem. PrzewagÄ… tej metody nad „klasycznymâ€? sterowaniem Ĺ›lizgowym jest zapewnienie lepszej kontroli nad dynamikÄ… ukĹ‚adu i speĹ‚nienie ograniczeĹ„ zmiennych stanu juĹź podczas fazy osiÄ…gania trybu Ĺ›lizgowego. W artykule przedstawiony zostanie przeglÄ…d prac naukowych dotyczÄ…cych reguĹ‚ osiÄ…gania trybu Ĺ›lizgowego dla ukĹ‚adĂłw czasu dyskretnego. Wskazane i omĂłwione zostanÄ… róşnice i podobieĹ„stwa miÄ™dzy przebiegami stosowanymi przez badaczy. +$ ! \ & A $ A .A / A A

1. Wprowadzenie Niniejszy artykuł jest przetłumaczoną na język polski, uaktualnioną i rozszerzoną wersją referatu konferencyjnego [22]. Sterowanie ślizgowe jest szeroko znaną metodą projektowania regulatorów [16, 30, 37], stosowaną równieş do nieliniowych, zmiennych w czasie systemów, których parametry nie muszą być dokładnie znane. Głównymi jej zaletami jest odporność na zakłócenia oraz wymaganie niewielkiej mocy obliczeniowej. Sterowanie ślizgowe zostało najpierw opracowane na potrzeby układów ciągłych. Jednak współcześnie, niemal zawsze regulator implementowany jest w cyfrowym urządzeniu (np. mikrokontrolerze, sterowniku PLC). Z tego powodu dyskretne sterowanie ślizgowe szybko zostało istotnym kierunkiem badań. Przy zastosowaniu sterowania ślizgowego wybrana zostaje hiperpowierzchnia ślizgowa w przestrzeni stanu, do której trajektoria stanu zostanie ograniczona. Kształt i orientacja tej hiperpowierzchni będą miały kluczowe znaczenie dla dynamiki otrzymanego układu zamkniętego. Pojęciem blisko powiązanym z tą powierzchnią jest zmienna ślizgowa. Jej wartość jest dodatnia, gdy stan jest po jednej stronie powierzchni, ujemna po drugiej stronie oraz równa zero, jeśli stan jest dokładnie na hiperpowierzchni. Bezwzględna wartość tej zmiennej rośnie, jeśli stan oddala się od powierzchni ślizgowej. Zadanie sprowadzenia i utrzymania stanu układu na hiperpowierzchni ślizgowej moşna sprowadzić do zadania wyzerowania wartości zmiennej ślizgowej. Jedną z niewielu wad sterowania ślizgowego jest ryzyko wystąpienia tzw. chatteringu, czyli gwałtownych oscylacji stanu

wokół powierzchni ślizgowej. Przy odpowiednim zaprojektowaniu regulatora moşna to zjawisko ograniczyć lub wyeliminować. W klasycznym sterowaniu ślizgowym proponuje się regulator, a następnie wykazuje, şe zapewnia on zbieşność do hiperpowierzchni w skończonym czasie stanu i pozostanie na niej. Stosując alternatywne podejście projektowania regulatora, czyli reguły osiągania trybu ślizgowego, kolejność postępowania jest w pewnym sensie odwrócona. Najpierw wybierany jest poşądany przebieg zmiennej ślizgowej, dla układów ciągłych zwykle jako zaleşność między pochodną zmiennej ślizgowej a jej aktualną wartością, a dla układów dyskretnych zaleşność między zmienną ślizgową w następnej chwili a jej aktualną wartością. Następnie dobierany jest regulator, który zapewni uzyskanie wybranego przebiegu. Nie jest konieczne wykazywanie stabilności ruchu ślizgowego, gdyş wynika ona bezpośrednio z zastosowanej reguły. Dodatkowo podejście to umoşliwia większą kontrolę nad dynamiką układu i maksymalnymi wartościami zmiennych stanu w fazie osiągania trybu ślizgowego. Niniejsza praca dotyczy sterowania ślizgowego układami dyskretnymi, które moşna przedstawić w postaci

(

)

( ) ( ) ( )

x ⎥⎣ k + 1 T ⎤⎌ = f ⎥⎣x kT , u kT ,d kT , kT ⎤⎌ ,

gdzie x oznacza wektor stanu, u – sygnał sterujący, d – wektor zakłóceń działających na obiekt, k oznacza indeks kolejnej chwili dyskretyzacji, a T – czas dyskretyzacji. Wiele z wymienionych dalej prac dotyczy liniowych układów stacjonarnych, czyli takich, w których ogólny wzór przybiera postać

(

)

( )

( )

( )

x ⎥⎣ k + 1 T ⎤⎌ = Ax kT + bu kT + d kT , ) ! \ 0 M $ % & ) $ ! & '* !( *!'+ $ & & '* !+ *!'+

!

(1)

(2)

gdzie A to macierz stanu, b to wektor wejścia. Reguły osiągania trybu ślizgowego moşna podzielić na przełączające i nieprzełączające, w zaleşności od tego, czy zapewniają przekraczanie płaszczyzny ślizgowej w trakcie ruchu ślizgowego. Grupy te zostaną omówione w dwóch kolejnych rozdziałach.

17


$` ` "= $ '. " "'.

H, # $ ! ! $

zmienne stanu (odksztaĹ‚cenia elementĂłw konstrukcji) sÄ… trudne do zmierzenia. Z tego powodu rozbudowano zaproponowane podejĹ›cie o róşnookresowe sprzęşenie od wyjĹ›cia (ang. multirate output feedback), ktĂłre pozwala na estymowanie zmiennych stanu. Ostatnim krokiem byĹ‚o zaprojektowanie regulatora Ĺ›lizgowego w oparciu o reguĹ‚Ä™ zaproponowanÄ… w pracy [18]. Rezultaty zostaĹ‚y zweryfikowane w symulacjach komputerowych oraz na stanowisku laboratoryjnym. Natomiast w pracy [33] omĂłwiono zaprojektowany Ĺ›lizgowy regulator predykcyjny, wykorzystujÄ…c reguĹ‚Ä™ opracowanÄ… w artykule [18]. W pracy [29] przeanalizowany zostaĹ‚ wpĹ‚yw czasu dyskretyzacji na Ĺ›lizgowe sterowanie ukĹ‚adami o wielu wejĹ›ciach i wielu wyjĹ›ciach. Autorzy zaĹ‚oĹźyli, Ĺźe elementy macierzy sprzęşeĹ„ zwrotnych zmieniajÄ… siÄ™ miÄ™dzy dwiema wartoĹ›ciami, zaleĹźnie od znaku odpowiedniej zmiennej Ĺ›lizgowej. WartoĹ›ci te nie mogÄ… być zbyt maĹ‚e, gdyĹź muszÄ… kompensować zakĹ‚Ăłcenia dziaĹ‚ajÄ…ce na obiekt, ani zbyt duĹźe (co nie wystÄ™puje w ukĹ‚adach ciÄ…gĹ‚ych), gdyĹź mogĹ‚yby wzbudzić niepoşądane oscylacje w ukĹ‚adzie. Autorzy wyznaczyli wartość gĂłrnego i dolnego ograniczenia w zaleĹźnoĹ›ci od czasu dyskretyzacji. JeĹ›li czas ten dÄ…Ĺźy do zera, ukĹ‚ad dziaĹ‚a w sposĂłb coraz bardziej zbliĹźony do ukĹ‚adu ciÄ…gĹ‚ego i jedno z ograniczeĹ„ dÄ…Ĺźy do Âąâˆž. Gdy czas ten roĹ›nie, wartość tego ograniczenia zbliĹźa siÄ™ do drugiego, bÄ™dÄ…cego funkcjÄ… zakĹ‚ĂłceĹ„ dziaĹ‚ajÄ…cych na ukĹ‚ad. Przy pewnej wartoĹ›ci czasu dyskretyzacji oba ograniczenia zrĂłwnujÄ… siÄ™ ze sobÄ…, przez co niemoĹźliwe jest uzyskanie stabilnego ruchu Ĺ›lizgowego dla wiÄ™kszych wartoĹ›ci czasu dyskretyzacji. Autorzy proponujÄ… zastosowanie sygnaĹ‚u sterujÄ…cego skĹ‚adajÄ…cego siÄ™ z liniowego sprzęşenia od zmiennych stanu oraz nieliniowej funkcji wymuszajÄ…cej zbieĹźność do pĹ‚aszczyzny Ĺ›lizgowej, mimo zakĹ‚ĂłceĹ„ dziaĹ‚ajÄ…cych na ukĹ‚ad. NastÄ™pnie projektujÄ… dwa regulatory, jeden z nich oparty na regule (4), a drugi na jej modyfikacji przez zastÄ…pienie funkcji signum funkcjÄ… nasycenia, w celu zmniejszenia chatteringu. DziaĹ‚anie wszystkich trzech regulatorĂłw jest porĂłwnane w symulacjach komputerowych. W pracy [24] zaprojektowano Ĺ›lizgowy regulator napiÄ™cia w sieci DC. Autorzy rozwaĹźajÄ… zastosowanie podejĹ›cia z pracy [18], jednak skutkowaĹ‚oby ono nadmiernym chatteringiem. Aby zredukować ten niekorzystny efekt, zaproponowano zmianÄ™ dziaĹ‚ania w pobliĹźu powierzchni Ĺ›lizgowej. Kiedy wartość |s| spada poniĹźej pewnego progu, staĹ‚y parametr e w rĂłwnaniu (3) zostaje zastÄ…piony wyraĹźeniem b|s(kT)|l, gdzie b i l sÄ… staĹ‚ymi parametrami. PoniewaĹź to wyraĹźenie maleje, gdy zmienna Ĺ›lizgowa dÄ…Ĺźy do zera, modyfikacja ta pozwala znaczÄ…co zredukować chattering. NastÄ™pnie wykazano, Ĺźe w przypadku braku zakĹ‚ĂłceĹ„ zewnÄ™trznych, ruch quasi-Ĺ›lizgowy zaproponowany w [18] jest zapewniony. Ponadto wiÄ™kszość fazy osiÄ…gania trybu Ĺ›lizgowego przebiega poza wprowadzonym pasmem, wiÄ™c modyfikacja ta nie wpĹ‚ywa znaczÄ…co na czas regulacji. Natomiast w pracy [35] zaproponowano nastÄ™pujÄ…cÄ… reguĹ‚Ä™ osiÄ…gania trybu Ĺ›lizgowego

Stosowanie reguĹ‚ osiÄ…gania trybu Ĺ›lizgowego zostaĹ‚o po raz pierwszy zaproponowane [17] dla ukĹ‚adĂłw czasu ciÄ…gĹ‚ego. Opracowano tam trzy reguĹ‚y, w ktĂłrych prÄ™dkość zbieĹźnoĹ›ci byĹ‚a: staĹ‚a, staĹ‚a plus proporcjonalna do wartoĹ›ci zmiennej Ĺ›lizgowej, oraz powiÄ…zana ze zmiennÄ… Ĺ›lizgowÄ… funkcjÄ… potÄ™gowÄ…. NastÄ™pnie autorzy rozszerzyli swoje rozwaĹźania [18] na ukĹ‚ady czasu dyskretnego. W ukĹ‚adach dyskretnych niemoĹźliwe jest wymuszenie idealnego ruchu Ĺ›lizgowego (wymagaĹ‚oby to znajomoĹ›ci wartoĹ›ci zakĹ‚Ăłcenia oddziaĹ‚ujÄ…cego w kolejnej chwili), zatem autorzy zaproponowali ruch quasi-Ĺ›lizgowy, zdefiniowany nastÄ™pujÄ…co: − Stan ukĹ‚adu musi zbiegać monotonicznie do powierzchni Ĺ›lizgowej z dowolnego poĹ‚oĹźenia poczÄ…tkowego i przeciąć jÄ… w skoĹ„czonym czasie. − Po pierwszym przeciÄ™ciu, stan musi przecinać powierzchniÄ™ w kaĹźdym kolejnym okresie dyskretyzacji. − Amplituda wynikajÄ…cych z pkt. 2 oscylacji nie moĹźe rosnąć, a stan musi pozostać w okreĹ›lonym otoczeniu powierzchni, nazwanym pasmem ruchu quasi-Ĺ›lizgowego. NastÄ™pnie autorzy zaproponowali reguĹ‚Ä™, w ktĂłrej szybkość zbieĹźnoĹ›ci jest sumÄ… dwĂłch wyraĹźeĹ„: staĹ‚ego i proporcjonalnego do aktualnej wartoĹ›ci zmiennej Ĺ›lizgowej (odpowiednik reguĹ‚y „staĹ‚ej plus proporcjonalnejâ€? [17]). Dla ukĹ‚adu bez zakĹ‚ĂłceĹ„ zbieĹźność ta jest dana wzorem

(

)

(

) ( )

( )

s ⎥⎣ k + 1 T ⎤⎌ = 1 − qT s kT − ÎľT sgn ⎥⎣s kT ⎤⎌ ,

(3)

w ktĂłrym s oznacza zmiennÄ… Ĺ›lizgowÄ…, e > 0 i q ∈ (0, 1/T) to parametry regulatora. Dla ukĹ‚adu poddanego zakĹ‚Ăłceniom, przebieg ten jest zmieniony w nastÄ™pujÄ…cy sposĂłb:

(4) gdzie S , F sÄ… nieznanymi wpĹ‚ywami niepewnoĹ›ci modelowania i zakĹ‚ĂłceĹ„ zewnÄ™trznych na zmiennÄ… Ĺ›lizgowÄ…; S1 i F1 oznaczajÄ… Ĺ›rednie wartoĹ›ci tych funkcji, a S2 i F2 odpowiadajÄ… najwiÄ™kszym moĹźliwym róşnicom miÄ™dzy wartoĹ›ciÄ… Ĺ›redniÄ… a rzeczywistÄ…. NastÄ™pnie wykazano [2], Ĺźe parametry reguĹ‚y (4) muszÄ… speĹ‚niać warunek

qT ÎľT

(

2 1 − qT

)

> S 2 + F2

(5)

aby istnienie ruchu quasi-ślizgowego było zapewnione.

(

18

P

O

M

I

A

R

Y

•

A

U

T

O

M

)

( )

( )

s ⎣⎥ k + 1 T ⎌⎤ − s kT = −qTs kT −

Reguła (4) jest często stosowana w aktualnych pracach, zarówno w oryginalnej [28, 29, 33], jak i zmodyfikowanej [24, 34, 35, 38, 40, 42] postaci. W referacie [28] rozwaşono sterowanie tzw. inteligentną strukturą. Składa się ona z bazowej konstrukcji, na której umieszczone zostają czujniki, siłowniki i regulatory. Głównym zadaniem sterowania jest ograniczenie oscylacji, w szczególności o częstotliwościach zblişonych do częstotliwości drgań własnych konstrukcji. Aby zaprojektować regulator optymalny, wprowadzony został rozszerzony wektor stanu, z dodatkowymi zmiennymi będącymi wyjściami filtrów pasmowo przepustowych, dostrojonych do częstotliwości drgań własnych. Następnie zastosowano „klasyczne� kryterium LQR, ze zwiększonymi wagami odpowiadającymi wyjściom filtrów. W rozwaşanych układach

( ) T sgn ⎥s

s kT

Ď

( )

⎤ ⎣ kT ⎌ . (6)

PorĂłwnujÄ…c zaleĹźność (6) z (3) moĹźna zauwaĹźyć, Ĺźe staĹ‚y parametr e zostaĹ‚ zastÄ…piony przez wyraĹźenie |s(kT)|/r. RĂłwnanie (6) jest jednak niepotrzebnie skomplikowane, gdyĹź jego prawa strona moĹźe zostać zapisana jako –(q + 1 / r)Ts(kT). Oznacza to, Ĺźe nie ma sensu wybierać parametrĂłw q i r niezaleĹźnie, gdyĹź tylko wartość (q + 1 / r) bÄ™dzie miaĹ‚a wpĹ‚yw na dziaĹ‚anie regulatora. Zatem (6) moĹźna potraktować jako reguĹ‚Ä™ (3), w ktĂłrej e = 0 i dopuszczamy moĹźliwość qT > 1. W pracy [38] przeanalizowano sterowanie prÄ™dkoĹ›ciÄ… maszyny PMSM. ZaĹ‚oĹźono, Ĺźe poĹ‚oĹźenie wirnika jest mierzone za pomocÄ… enkodera, a prÄ™dkość kÄ…towa jest estymowana metodÄ… Eulera. Zaproponowano reguĹ‚Ä™ osiÄ…gania trybu Ĺ›lizgowego, w ktĂłrej A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


przestrzeń stanu podzielona jest na dwa obszary. W pierwszym, składającym się z punktów dalszych od powierzchni ślizgowej niş pewna wartość progowa, szybkość zbieşności s jest duşa. Prędkość ta jest redukowana w obszarze w poblişu powierzchni ślizgowej. Odpowiada to regule (3) przy doborze q = 0 i przełączaniu parametru e między dwiema wartościami. W ten sposób moşna zapewnić szybką zbieşność, wybierając duşą wartość e w „zewnętrznym� obszarze, jednocześnie utrzymując chattering na dopuszczalnym poziomie, przez małą wartość e w poblişu powierzchni ślizgowej. W artykule [42] autorzy proponują regułę wykorzystującą dwie funkcje potęgowe zmiennej ślizgowej

(sposób doboru nie został w şaden sposób uzasadniony) niş jej „prawdziwą� przewagą. W artykule [34] reguła (3) została rozszerzona o kompensację zakłóceń, przy załoşeniu ograniczonej szybkości ich zmian. Autorzy pominęli wymaganie przekraczania płaszczyzny ślizgowej w kaşdym kolejnym kroku. Zamiast niego wyznaczyli górne ograniczenie czasu między dwoma przekroczeniami. Dzięki tym modyfikacjom udało się uzyskać węşsze pasmo ruchu quasi-ślizgowego niş w pracy [18]. W pracy [6] autorzy zaproponowali następującą regułę

(8) (7) gdzie e1, e2 sÄ… dodatnimi parametrami, q ∈ (0, 1/T), a âˆˆ(0, 1), a b > 1. MoĹźna zauwaĹźyć, Ĺźe rĂłwnanie (7) pĹ‚ynnie przechodzi miÄ™dzy dwoma potÄ™gowymi reguĹ‚ami. Kiedy |s(kT)|< 1, wyraĹźenie zawierajÄ…ce parametr a ma wiÄ™ksze znaczenie, natomiast gdy |s(kT)| > 1 wyraĹźenie z b przyjmuje wiÄ™ksze wartoĹ›ci. Ponadto parametr q, ktĂłry we wszystkich wczeĹ›niej omĂłwionych pracach byĹ‚ staĹ‚y, moĹźe przyjmować dwie róşne wartoĹ›ci, dla zmiennych Ĺ›lizgowych o wartoĹ›ci bezwzglÄ™dnej wiÄ™kszej lub mniejszej od 1. Na rĂłwnanie (7) moĹźna wiÄ™c spojrzeć jak na rozbudowanie reguĹ‚y wprowadzonej w pracy [24]. RóşnicÄ… jest to, Ĺźe w obu rejonach wykorzystana jest funkcja potÄ™gowa, a przejĹ›cie miÄ™dzy dwoma róşnymi prÄ™dkoĹ›ciami zbieĹźnoĹ›ci jest bardziej pĹ‚ynne. Autorzy wykazali, Ĺźe zastosowanie reguĹ‚y (7) gwarantuje uzyskanie ruchu Ĺ›lizgowego, jeĹźeli na obiekt nie dziaĹ‚ajÄ… zakĹ‚Ăłcenia. Aby zastosować tÄ™ reguĹ‚Ä™ do prawdziwych obiektĂłw, ktĂłre zawsze sÄ… pod wpĹ‚ywem zakĹ‚ĂłceĹ„, wprowadzili oni sieć neuronowÄ… do ich estymacji i kompensacji. W obszernych symulacjach komputerowych autorzy porĂłwnali dziaĹ‚anie kilku reguĹ‚ (3), pojedynczej reguĹ‚y potÄ™gowej (rĂłwnania (7) przyjmujÄ…c e2 = 0) i podwĂłjnej reguĹ‚y potÄ™gowej (7), zarĂłwno w wersji podstawowej, jak i po rozbudowaniu o kompensacjÄ™ zakĹ‚ĂłceĹ„. Podobne podejĹ›cie do przedstawionego w [42] zostaĹ‚o zastosowane w referacie [14], gdzie reguĹ‚a (3) jest zmodyfikowana przez zastÄ…pienie staĹ‚ego parametru e funkcjÄ… pierwiastkowÄ… wartoĹ›ci bezwzglÄ™dnej zmiennej Ĺ›lizgowej, tzn. rĂłwnanie (7) przy e1 âˆˆ (0, 1), e2 = 0. W symulacjach komputerowych autorzy porĂłwnujÄ… swoje rozwiÄ…zanie z (3) i wykazujÄ…, Ĺźe pozwala ono znacznie zmniejszyć szerokość pasma quasi-Ĺ›lizgowego. W artykule [41] zastosowano reguĹ‚Ä™ [14] opracowanÄ… do zadania Ĺ›ledzenia punktu pracy maksymalnej mocy dla turbiny wiatrowej. Zaproponowany regulator porĂłwnany jest z „klasycznymâ€? regulatorem Ĺ›lizgowym, w ktĂłrym nie zastosowano reguĹ‚y osiÄ…gania trybu Ĺ›lizgowego podczas testĂłw laboratoryjnych. DziaĹ‚anie turbiny wiatrowej „zasymulowaneâ€? jest przez dodatkowy silnik indukcyjny, sterowany przez oddzielny mikrokontroler. Oba regulatory zapewniajÄ… osiÄ…gniÄ™cie punktu maksymalnej mocy, jednak zaproponowane podejĹ›cie zmniejsza znieksztaĹ‚cenia napiÄ™cia i czas regulacji. W pracy [40] funkcja signum w regule (3) zostaĹ‚a zastÄ…piona przez funkcjÄ™ tangens, w celu zmniejszenia chatteringu. Udowodniono, Ĺźe mimo tej zmiany, przy odpowiednim doborze parametrĂłw, nadal zapewnione jest istnienie przeĹ‚Ä…czajÄ…cego ruchu quasi-Ĺ›lizgowego. W symulacjach komputerowych reguĹ‚a ta miaĹ‚a mniejsze pasmo nawet od nieprzeĹ‚Ä…czajÄ…cej reguĹ‚y opracowanej w pracy [27], ktĂłra zostanie omĂłwiona w nastÄ™pnym rozdziale. Wydaje siÄ™ jednak, Ĺźe przewaga ta zostaĹ‚a uzyskana raczej przez korzystniejszy dobĂłr parametrĂłw dla nowej reguĹ‚y

Pierwsze wyraşenie po prawej stronie równania (8) maleje, gdy wartość zmiennej ślizgowej dąşy do zera. Osłabia to działanie nieciągłej części sygnału sterującego i ogranicza chattering. Ponadto reguła (8), w przeciwieństwie do większości rozwiązań, gwarantuje górne ograniczenie prędkości zmian zmiennej ślizgowej, niezaleşne od warunków początkowych. Dla wielu układów jest to równoznaczne z ograniczeniem maksymalnych wartości sygnału sterującego i przynajmniej niektórych zmiennych stanu. Następnie autorzy porównują swoje rozwiązanie z (3), zarówno dla układu nominalnego jak i poddanego zakłóceniom. Nowe podejście skutkuje węşszym pasmem ruchu quasi-ślizgowego oraz mniejszymi wartościami kryteriów IAE i ISE. W pracy [7] autorzy nieznacznie modyfikują regułę (8), aby zastosować ją do sterowania przepływem towarów w układzie logistycznym. Istotne właściwości, takie jak zapewnienie pełnego zaspokojenia popytu są wykazane analitycznie oraz w symulacjach komputerowych. W referacie [19] zaproponowano połączenie nowej reguły zawierającej funkcję secans hiperboliczny z nieliniową powierzchnią ślizgową. Wykazano, na drodze symulacji komputerowych sterowania pozycją wirnika silnika DC, şe zapewnia ona lepszą odporność na zakłócenia niş reguła (3) i rozwiązanie opracowane w pracy [11] (omówionej w kolejnym rozdziale). Niestety, autorzy nie przedstawili şadnych analitycznych rozwaşań, a w symulacjach komputerowych nie uzasadnili metody doboru parametrów trzech reguł. Oznacza to, şe przewaga ich rozwiązania mogłaby okazać się mniejsza, jeśli parametry wszystkich reguł wybrane byłyby optymalnie. Sterowanie z modelem odniesienia jest stosunkowo dobrze znaną metodologią. Polega ona na zaprojektowaniu regulatora sterującego w odpowiedni (np. optymalny) sposób modelem matematycznym obiektu. Drugi regulator, na podstawie wyjść modelu i rzeczywistego obiektu dąşy do tego, aby stan obiektu podąşał za stanem modelu. Podejście to zostało połączone z regulacją ślizgową w pracy [3]. Załoşono w niej, şe modelem steruje regulator ślizgowy zaprojektowany zgodnie z regułą (3), a regulator działający na obiekt dąşy do zrównania zmiennych ślizgowych obiektu i modelu. Dokładne zrównanie tych zmiennych nie jest w ogólnym przypadku moşliwe, poniewaş nieznane zakłócenie zewnętrzne działa na obiekt, ale nie na model. Wprowadzono teş kompensację zakłóceń, przy załoşeniu ograniczonej szybkości ich zmian. W pracy wykazano, şe zaproponowane rozwiązanie pozwala na poprawę odporności na zakłócenia, przy jednoczesnym zmniejszeniu generowanych wartości sygnału sterującego. Stosunkowo nowym i interesującym kierunkiem badań jest połączenie reguł osiągania trybu ślizgowego ze zmiennymi ślizgowymi o wyşszym względnym rzędzie [12]. Zmienna ślizgowa o rzędzie równym jeden zmienia swoją wartość pod wpływem sygnału sterującego po jednym okresie dyskretyzacji. Podobnie

19


$` ` "= $ '. " "'. zmienna Ĺ›lizgowa o rzÄ™dzie r zmienia swojÄ… wartość po r okresach. W ten sposĂłb wartoĹ›ci s(k + 1), s(k + 2), ‌, s(k + r â€“ 1) sÄ… znane w chwili k i mogÄ… być uĹźyte do wygenerowania wartoĹ›ci sygnaĹ‚u sterujÄ…cego u(k). WybĂłr zmiennej Ĺ›lizgowej o wyĹźszym rzÄ™dzie moĹźe być wymuszony wzglÄ™dami praktycznymi (brak pomiaru zmiennych stanu, na ktĂłre sygnaĹ‚ sterujÄ…cy bezpoĹ›rednio wpĹ‚ywa), moĹźe teĹź być decyzjÄ… projektanta ukĹ‚adu sterowania. W pracy [5] autorzy modyfikujÄ… reguĹ‚Ä™ (4), zastÄ™pujÄ…c staĹ‚e wyraĹźenie (1 â€“ qT) funkcjÄ… h(s):

⎧⎪ 1 dla s ≼ s0 h s =⎨ , ⎪⎊ s s0 dla s < s0

()

modyfikacjÄ™ wprowadzono w regule (3). Wykazano, Ĺźe w obu przypadkach nastÄ™puje poprawa odpornoĹ›ci ukĹ‚adu regulacji. RozwiÄ…zanie zaproponowane w pracy [13] zostaĹ‚o porĂłwnane z reguĹ‚Ä… (3) w symulacjach komputerowych i eksperymentach laboratoryjnych ukĹ‚adu przetwornicy DC-DC [36]. W celach porĂłwnawczych przedstawiono rĂłwnieĹź sterowanie zaprojektowane na podstawie modelu w czasie ciÄ…gĹ‚ym i reguĹ‚y opracowanej w [17]. Wykazano, Ĺźe uwzglÄ™dnienie dyskretnej natury sygnaĹ‚u sterujÄ…cego znacznie poprawia dziaĹ‚anie otrzymanego regulatora, tzn. oba regulatory dyskretne zapewniajÄ… znacznie mniejsze wartoĹ›ci kryteriĂłw caĹ‚kowych uchybu niĹź regulator zaprojektowany w czasie ciÄ…gĹ‚ym. Ponadto zastosowanie zmiennej Ĺ›lizgowej o wzglÄ™dnym rzÄ™dzie rĂłwnym dwa pozwoliĹ‚o dodatkowo poprawić jakość regulacji. Kolejna modyfikacja reguĹ‚y (10) zostaĹ‚a zaproponowana w pracy [39], w ktĂłrej powiÄ…zano wartość funkcji sd(kT) z aktualnÄ… wartoĹ›ciÄ… zmiennej Ĺ›lizgowej s(kT). PozwoliĹ‚o to na skrĂłcenie fazy osiÄ…gania trybu Ĺ›lizgowego. Trzeba jednak zauwaĹźyć, Ĺźe wadÄ… tego podejĹ›cia jest zmniejszenie odpornoĹ›ci w trakcie tej fazy. W pracy [21] opracowano regulator Ĺ›lizgowy tĹ‚umiÄ…cy oscylacje pĹ‚ynu w zbiorniku. PoruszajÄ…cy siÄ™ pĹ‚yn zostaĹ‚ zamodelowany jako wahadĹ‚o. NastÄ™pujÄ…ca wykĹ‚adnicza reguĹ‚a zostaĹ‚a zaproponowana: ⎛ ⎞ ⎛ ⎞ −1 âŽ&#x; (11) s ⎥⎣ k + 1 T ⎤⎌ = ⎜ β1 exp ⎜ + β 2 âŽ&#x; s kT , ⎜⎜ âŽ&#x;âŽ&#x; ⎜ s kT âŽ&#x; âŽ? ⎠âŽ? âŽ

(9)

gdzie s0 jest stałym parametrem. Pozwala to ograniczyć prędkość zmian s, a przez to równieş wartość sygnału sterującego. Autorzy wykazali, şe ich podejście zapewnia istnienie ruchu quasi-ślizgowego wg definicji w pracy [18]. Wyznaczyli równieş otoczenie stanu zadanego, do którego stan układu będzie zbiegać. Następnie zaadaptowali swoją regułę dla zmiennych ślizgowych o rzędzie względnym równym 2. Wszystkie zalety reguły zostały zachowane, ponadto pozwoliło to na zmniejszenie szerokości pasma ruchu quasi-ślizgowego i uchybu wyjścia. W artykule [4] reguła (3) została uogólniona dla dowolnego rzędu zmiennej ślizgowej. Wybór zmiennej ślizgowej o rzędzie r został uproszczony przez przekształcenie układu do postaci Frobeniusa. Zaproponowano zmienną w czasie płaszczyznę ślizgową, eliminując fazę osiągania trybu ślizgowego. Wykazano, şe zwiększenie względnego rzędu zmiennej ślizgowej skutkuje większą precyzją sterowania.

(

W pracy [1] definicja ruchu quasi-ślizgowego, zaproponowana w [18] została zmodyfikowana przez pominięcie wymogu przekraczania płaszczyzny ślizgowej w kaşdym okresie sterowania. Załoşono, şe wpływ zakłóceń zewnętrznych i niepewności modelowania spełnia warunki dopasowania. Oznacza to, şe jeşeli wpływ sygnału sterującego na wektor stanu wynosi bu(kT), to wpływ zakłócenia moşna wyrazić jako bd(kT), gdzie d to nieznana skalarna funkcja. Zaproponowana została reguła

(

)

( )

(

)

, (12) gdzie qi ∈(0, 1/T) dla i = 1, 2, siga[s(kT)] = sgn[s(kT)]|s(kT)|a, a âˆˆ (0, 1) a b(kT) oznacza róşnicÄ™ miÄ™dzy zakĹ‚Ăłceniem w chwili k i w poprzedniej, k â€“ 1. Autorzy wykazali, Ĺźe ruch quasiĹ›lizgowy zostanie osiÄ…gniÄ™ty w skoĹ„czonym czasie i wyznaczyli zaleĹźność tego czasu od warunkĂłw poczÄ…tkowych. NastÄ™pnie porĂłwnali swoje rozwiÄ…zanie z reguĹ‚Ä… (1) i wykazali, Ĺźe pozwala ono na osiÄ…gniÄ™cie duĹźo lepszej odpornoĹ›ci na zakĹ‚Ăłcenia. NaleĹźy jednak zaznaczyć, Ĺźe porĂłwnanie to nie jest w peĹ‚ni obiektywne, gdyĹź nowa reguĹ‚a nie gwarantuje istnienia przeĹ‚Ä…czajÄ…cego trybu Ĺ›lizgowego.

(10)

gdzie d(kT) oznacza wpĹ‚yw zakĹ‚ĂłceĹ„ zewnÄ™trznych i niepewnoĹ›ci modelowania na zmiennÄ… Ĺ›lizgowÄ…, d0 jest Ĺ›redniÄ… wartoĹ›ciÄ… tej funkcji, a sd(kT) jest poşądanym przebiegiem zmiennej Ĺ›lizgowej. Funkcja sd(kT) musi speĹ‚niać nastÄ™pujÄ…ce wymogi: 1. Jej poczÄ…tkowa wartość rĂłwna jest poczÄ…tkowej wartoĹ›ci zmiennej Ĺ›lizgowej, sd(0) = s(0). 2. Funkcja sd(kT) nigdy nie zmienia znaku. 3. Wartość bezwzglÄ™dna sd(kT) maleje w kaĹźdym kolejnym kroku co najmniej o 2 dd, dla |sd(kT)| > 2 dd, gdzie dd oznacza najwiÄ™kszÄ… moĹźliwÄ… róşnicÄ™ miÄ™dzy d(kT) i d0. Zgodnie z trzecim wymogiem, bÄ™dzie istniaĹ‚a chwila k*, w ktĂłrej nierĂłwność |sd[(k* âˆ’ 1)T]| d 2 dd zostanie speĹ‚niona, nastÄ™pnie sd(kT t k*T) = 0. W przedstawionym przypadku sd(kT) zostaĹ‚a wybrana jako funkcja liniowa, istnieje jednak wiele innych moĹźliwoĹ›ci speĹ‚niajÄ…cych wymagania 1–3. Wykazano, Ĺźe nowe podejĹ›cie gwarantuje wiÄ™kszÄ… odporność na zakĹ‚Ăłcenia niĹź (3). Ponadto zaproponowano kompensacjÄ™ zakĹ‚Ăłcenia, opartÄ… na zaĹ‚oĹźeniu o ograniczonej szybkoĹ›ci jego zmian. Kompensacja ta pozwoliĹ‚a na dalszÄ… poprawÄ™ odpornoĹ›ci algorytmu sterowania. W pracy [13] rezultaty z [1] zostaĹ‚y rozszerzone dla zmiennych Ĺ›lizgowych o wzglÄ™dnym rzÄ™dzie rĂłwnym dwa. PodobnÄ…

20

P

O

M

I

A

R

Y

•

A

U

T

O

M

( )

( )

gdzie b1, b2 to dodatnie parametry, ktĂłrych suma nie przekracza 1 i b2 < b1. ReguĹ‚a (11) zostaĹ‚a nastÄ™pnie porĂłwnana do rozwiÄ…zaĹ„ z prac [1, 39] w symulacjach komputerowych. Wykazano, Ĺźe zapewnia ona najmniejszÄ… wartość normy euklidesowej i maksymalnej wartoĹ›ci sygnaĹ‚u sterujÄ…cego. NastÄ™pnie w referacie [20] reguĹ‚a (11) zostaĹ‚a uĹźyta w projekcie dwĂłch regulatorĂłw Ĺ›lizgowych dla dwuosiowego skanera umieszczonego na rakiecie. Skaner ma podÄ…Ĺźać za spiralnÄ… trajektoriÄ…, aby znaleźć cel rakiety w koĹ„cowym etapie lotu. Regulatory sÄ… rozbudowane przez kompensacjÄ™ zakĹ‚ĂłceĹ„, aby poprawić ich odporność. DziaĹ‚anie zaproponowanego podejĹ›cia jest zobrazowane w symulacjach komputerowych. Natomiast w artykule [15] autorzy zaproponowali reguĹ‚Ä™

Y, : $ ! ! $

s ⎥⎣ k + 1 T ⎤⎌ = d kT − d 0 + sd ⎥⎣ k + 1 T ⎤⎌ ,

)

W pracy [27] autorzy zaproponowali regułę

(13) w ktĂłrej q âˆˆ (0, 1/T), a l jest dodatnim parametrem. Nieliniowe wyraĹźenie ÎŚ (kT) ∈(d, 1) dla pewnego d > 0 dÄ…Ĺźy do jedynki, w miarÄ™ jak zmienna s(kT) maleje, aby uzyskać lepszy kompromis miÄ™dzy krĂłtkÄ… fazÄ… osiÄ…gania trybu Ĺ›lizgowego A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


i niewielkim chatteringiem. Ostatnie wyraĹźenie we wzorze sĹ‚uĹźy do kompensowania zakĹ‚Ăłcenia f (dimf = n Ă— 1) przy zaĹ‚oĹźeniu, Ĺźe róşnica drugiego rzÄ™du funkcji f jest ograniczona. Jest to ciekawe podejĹ›cie, gdyĹź wiÄ™kszość prac zakĹ‚ada ograniczenie samej wartoĹ›ci zakĹ‚Ăłcenia lub jego róşnicy pierwszego rzÄ™du. Mimo tego, Ĺźe autorzy wykorzystujÄ… reguĹ‚Ä™ zbliĹźonÄ… do (3), wcale nie wymagajÄ… oni przekraczania pĹ‚aszczyzny Ĺ›lizgowej w kaĹźdym kolejnym kroku. W symulacjach komputerowych porĂłwnujÄ… swoje rozwiÄ…zanie do tego zaproponowanego w [33]. Rezultaty potwierdzajÄ… uzyskanie wiÄ™kszej odpornoĹ›ci ukĹ‚adu zamkniÄ™tego. W pracy [26] autorzy zaproponowali nastÄ™pujÄ…cÄ… modyfikacjÄ™ wczeĹ›niej opracowanej przez nich reguĹ‚y (13)

płynny sposób zmieniać szybkość zbieşności zmiennej ślizgowej. W [25] zaproponowano regułę analogiczną do (7), w której wprowadzono trzecie wyraşenie zawierające potęgę wartości bezwzględnej zmiennej ślizgowej. Autorzy, w porównaniu do pracy [42], zrezygnowali równieş z wymogu przekraczania powierzchni ślizgowej w kaşdym kolejnym kroku ruchu quasi-ślizgowego. Wykazali oni, analitycznie oraz w symulacjach komputerowych, przewagę swojego rozwiązania nad regułą z jedną funkcją potęgową [15]. Przewaga ta polega na jednoczesnym uzyskaniu szybszej zbieşności oraz redukcji chatteringu. Autorzy [32] zaproponowali następujące warunki zapewniające istnienie ruchu quasi-ślizgowego:

(15)

(14)

Oznaczenia we wzorze (14) zostaĹ‚y zmienione w stosunku do pracy [26], Ĺźeby lepiej uwidocznić porĂłwnanie z reguĹ‚Ä… (10). Jak widać, jedynÄ… róşnicÄ… jest przeskalowanie wyraĹźenia przeĹ‚Ä…czajÄ…cego o pierwiastek wartoĹ›ci bezwzglÄ™dnej zmiennej Ĺ›lizgowej. Taka modyfikacja nie ma diametralnego wpĹ‚ywu na generowany sygnaĹ‚ sterujÄ…cy, gdyĹź juĹź wczeĹ›niej wyraĹźenie to nie byĹ‚o staĹ‚e (wystÄ™pujÄ…ce w mianowniku wyraĹźenie ÎŚ(kT) zaleĹźy od wartoĹ›ci zmiennej Ĺ›lizgowej). W symulacjach komputerowych autorzy porĂłwnali swojÄ… reguĹ‚Ä™ z zaproponowanÄ… w pracy [15] i wykazali, Ĺźe pozwala ona jednoczeĹ›nie zmniejszyć czas osiÄ…gania trybu quasi-Ĺ›lizgowego, jak i zmniejszyć szerokość pasma tego ruchu. Jako przykĹ‚ad zastosowania reguĹ‚y (14) w praktyce autorzy zilustrowali jej dziaĹ‚anie na stanowisku laboratoryjnym z siĹ‚ownikiem piezoelektrycznym, ponownie porĂłwnujÄ…c jÄ… do pracy [15]. Eksperymenty, podobnie jak wyniki symulacji, potwierdziĹ‚y przewagÄ™ nowego rozwiÄ…zania. NaleĹźy nadmienić, Ĺźe przewaga ta zostaĹ‚a częściowo uzyskana dziÄ™ki zaĹ‚oĹźeniu ograniczonej wartoĹ›ci róşnicy drugiego rzÄ™du zakĹ‚Ăłcenia, podczas gdy regulator z pracy [15] nie wymagaĹ‚ takiego zaĹ‚oĹźenia. W pracy [23] autorzy zaproponowali reguĹ‚Ä™ niemal toĹźsamÄ… z (13), pomijajÄ…c zmianÄ™ oznaczeĹ„. GĹ‚ĂłwnÄ… róşnicÄ… jest to, Ĺźe funkcja ÎŚ(kT) jest w nieco inny sposĂłb zaleĹźna od wartoĹ›ci zmiennej Ĺ›lizgowej, lecz zbiĂłr wartoĹ›ci tej funkcji jest taki sam. DÄ…Ĺźy ona do ustalonego d dla duĹźych wartoĹ›ci bezwzglÄ™dnych zmiennej Ĺ›lizgowej, a do jedynki, gdy zmienna Ĺ›lizgowa dÄ…Ĺźy do zera. Niestety, autorzy nie odwoĹ‚ujÄ… siÄ™ do (10) i nie prĂłbujÄ… porĂłwnać z tÄ… reguĹ‚Ä… swojego rozwiÄ…zania. Wydaje siÄ™ jednak, Ĺźe róşnice byĹ‚yby bardzo nieznaczne. GĹ‚ĂłwnÄ… wartoĹ›ciÄ… tej pracy jest natomiast wykazanie, Ĺźe otrzymana reguĹ‚a zapewnia szybszÄ… zbieĹźność i węşsze pasmo ruchu quasi-Ĺ›lizgowego niĹź rozwiÄ…zanie opracowane w pracy [34]. Autorom udaĹ‚o siÄ™ to zademonstrować nie tylko w symulacjach komputerowych (jak w pracy [27]), lecz rĂłwnieĹź analitycznie. W pracy [8] zaproponowano reguĹ‚Ä™ osiÄ…gania trybu Ĺ›lizgowego otrzymanÄ… przez modyfikacjÄ™ (3). UsuniÄ™to wyraĹźenie przeĹ‚Ä…czajÄ…ce, aby zmniejszyć efekt chatteringu, a staĹ‚y parametr q zastÄ…piono funkcjÄ… wartoĹ›ci bezwzglÄ™dnej zmiennej Ĺ›lizgowej. Wykazano, Ĺźe zastosowanie otrzymanego regulatora do sterowania przepĹ‚ywem danych w sieciach teleinformatycznych zapewnia korzystne wĹ‚aĹ›ciwoĹ›ci, takie jak peĹ‚ne wykorzystanie dostÄ™pnego pasma oraz znajomość maksymalnej iloĹ›ci danych zgromadzonych w buforze, co pozwala uniknąć ryzyka jego przepeĹ‚nienia. ZauwaĹźajÄ…c korzyĹ›ci z wprowadzenia dwĂłch funkcji potÄ™gowych zamiast jednej [42], naturalnym kolejnym krokiem byĹ‚o zastosowanie trzech funkcji potÄ™gowych, aby w jeszcze bardziej

Według nich, spełnienie (15) gwarantuje zbieşność w skończonym czasie do obszaru |s(kT)| e. Jednak po dokładniejszym ich przeanalizowaniu, moşna zauwaşyć, şe samo spełnienie (15) nie gwarantuje zbieşności do tego obszaru. Moşe się okazać, şe

tylko dla pewnego sg > e. JeĹźeli poczÄ…tkowa wartość zmiennej Ĺ›lizgowej jest wiÄ™ksza niĹź sg, to zmienna Ĺ›lizgowa bÄ™dzie zbiegać do sg. Zatem punkt opisujÄ…cy nie znajdzie siÄ™ w otoczeniu powierzchni Ĺ›lizgowej, mimo Ĺźe warunki (15) sÄ… speĹ‚nione. Autorzy proponujÄ… nastÄ™pujÄ…cÄ… reguĹ‚Ä™

(

)

( )

(

)

( )

s ⎥⎣ k + 1 T ⎤⎌ − s kT = d x , kT − d0 − ds sgn ⎥⎣s kT ⎤⎌ ,

(16)

w ktĂłrej d(x, kT) jest nieznanym wpĹ‚ywem zakĹ‚Ăłcenia, d0 to Ĺ›rednia wartość tej funkcji, a ds to najwiÄ™ksza moĹźliwa rozbieĹźność miÄ™dzy d(x, kT) a Ĺ›redniÄ…. Zatem (16) moĹźe być rozwaĹźane jako szczegĂłlny przypadek (4), w ktĂłrym q = e = 0, a zbieĹźność jest zapewniona tylko przez przeestymowanie ds. W pracy [11] autorzy przedstawili ogĂłlnÄ… postać reguĹ‚y osiÄ…gania trybu Ĺ›lizgowego. Gwarantuje ona zbieĹźność do znanego obszaru wokół s(kT) = 0 i pozostanie w nim. Niestety, autorzy nie pokazujÄ…, w jaki sposĂłb moĹźna byĹ‚oby ich rozwiÄ…zanie zastosować w konkretnym ukĹ‚adzie sterowania, analizujÄ… tylko sam przebieg zmiennej Ĺ›lizgowej. W pracy [11] przeanalizowano, jak dobierać funkcje, z ktĂłrych skĹ‚ada siÄ™ uogĂłlniona reguĹ‚a osiÄ…gania trybu Ĺ›lizgowego, aby otrzymać poşądanÄ… szerokość pasma ruchu quasi-Ĺ›lizgowego. Ci sami autorzy w [10] rozszerzyli swoje wyniki, wykazujÄ…c jak zmiana wymienionych funkcji wpĹ‚ynie na tempo zmian zmiennej Ĺ›lizgowej przed rozpoczÄ™ciem ruchu quasi-Ĺ›lizgowego. W referacie [9] dokĹ‚adnie przeanalizowano korzyĹ›ci pĹ‚ynÄ…ce ze stosowania zmiennej Ĺ›lizgowej o rzÄ™dzie wzglÄ™dnym wiÄ™kszym niĹź jeden. Wykazano, Ĺźe wybĂłr zmiennej Ĺ›lizgowej o rzÄ™dzie r = n pozwala nie tylko osiÄ…gnąć ruch Ĺ›lizgowy w skoĹ„czonym czasie, ale rĂłwnieĹź zbieĹźność wszystkich zmiennych stanu do zera w skoĹ„czonym czasie, o ile na ukĹ‚ad nie dziaĹ‚a zakĹ‚Ăłcenie. „Klasyczneâ€? sterowanie Ĺ›lizgowe zapewnia wyĹ‚Ä…cznie pierwszÄ… z tych zalet. W przypadku oddziaĹ‚ywania zakĹ‚Ăłcenia zbieĹźność stanĂłw do zera jest zastÄ…piona przez zbieĹźność do okreĹ›lonego otoczenia zera. Wykazano, Ĺźe wielkość wspomnianego otoczenia maleje, w miarÄ™ jak wybieramy zmienne Ĺ›lizgowe o coraz wyĹźszym rzÄ™dzie, co oznacza poprawÄ™ odpornoĹ›ci na zakĹ‚Ăłcenia. Jedynym problemem zaproponowanego rozwiÄ…zania jest niemoĹź-

21


$` ` "= $ '. " "'.

Rys. 1. Przebiegi zmiennej ślizgowej Fig. 1. Sliding variable transients

Rys. 2. Przebiegi sygnału sterującego Fig. 2. Control signal transients

ność zastosowania go do układów, w których nie są spełnione warunki dopasowania. Porównanie wielu wyşej wymienionych algorytmów sterowania na przykładzie serwonapędu zostało przedstawione w pracy [31].

Dla wszystkich reguł zmienna ślizgowa zostanie określona jako s kT = cT x kT ,

( )

( )

(18)

cT = ⎥⎣0,05 1⎤⎌ .

(19)

gdzie

], # $ !

Powyşsza postać wektora c zapewni dynamikę typu dead-beat w trakcie ruchu ślizgowego, czyli zanik uchybu w skończonym czasie. Załoşono, şe na układ działa zakłócenie postaci d(kT) = Bd(kT), co oznacza, şe spełnia ono warunki dopasowania, przy czym |d(kT)|  0,1. Zakłócenie przez pierwsze trzy sekundy równe jest –0,1, a przez ostatnie trzy 0,1. Początkowy stan układu to x(0) = [4 0]T. Porównane zostaną reguły: (4), (7), (10) i (11). Załoşono, şe bezwzględna wartość sygnału sterującego kaşdego z regulatorów nie moşe przekraczać wartości 42, a regulatory (4), (7) mają zapewnić istnienie przełączającego trybu ślizgowego. Przy tych załoşeniach parametry wszystkich regulatorów zostały tak dobrane, aby zmienna ślizgowa jak najszybciej osiągnęła okolice zera (tym samym osiągnąć jak naj-

Porównanie rezultatów symulacji wszystkich przedstawionych w artykule reguł byłoby bardzo trudne, chociaşby z uwagi na ograniczenie miejsca. Ponişej przedstawione zostaną, dla ilustracji, rezultaty otrzymane przy zastosowaniu czterech wybranych reguł. Rozwaşone będzie sterowanie integratorem drugiego rzędu, po zdyskretyzowaniu z okresem T = 0,1 sekundy i zastosowaniu ekstrapolatora zerowego rzędu. Taki układ moşe być opisany równaniem (2), w którym

⎥1 0,1⎤ ⎥0,005⎤ A=⎢ ⎼, B = ⎢ ⎼. ⎣0 1 ⎌ ⎣ 0,1 ⎌

22

P

O

M

I

A

R

Y

(17)

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Rys. 3. Przebiegi pierwszej zmiennej stanu Fig. 3. First state variable transients

krĂłtszy czas regulacji), a niekorzystny efekt chatteringu byĹ‚ jak najmniejszy. DoprowadziĹ‚o to do nastÄ™pujÄ…cych wartoĹ›ci parametrĂłw: dla reguĹ‚y (4): q = 1, e = 3,7, dla reguĹ‚y (7): q = 1, a = 0,01, b = 1,4, e1 = 3, e2 = 0,00002. W przypadku reguĹ‚y (10) przebieg sd zostaĹ‚ wybrany jako liniowy spadek do zera o nachyleniu 84 jednostek na sekundÄ™. Dla reguĹ‚y (11) wybrane zostaĹ‚y wartoĹ›ci parametrĂłw b1 = 0,54, b2 = 0,36. Wyniki symulacji pokazano na rysunkach 1–3. Analiza wynikĂłw symulacji wskazuje, Ĺźe reguĹ‚a (4) zapewnia najmniej korzystne dziaĹ‚anie ukĹ‚adu – dĹ‚ugi czas regulacji, najwiÄ™ksze oscylacje sygnaĹ‚u sterujÄ…cego w trakcie ruchu Ĺ›lizgowego oraz maĹ‚Ä… odporność na zakĹ‚Ăłcenia. ReguĹ‚a (7), dziÄ™ki zastosowaniu funkcji potÄ™gowych, pozwala na lepsze dostrojenie jej parametrĂłw – oscylacje zostajÄ… zmniejszone, przy bardzo nieznacznie wydĹ‚uĹźonym czasie regulacji. WyraĹşnie poprawione dziaĹ‚anie uzyskuje siÄ™ natomiast przez zastosowanie reguĹ‚ nieprzeĹ‚Ä…czajÄ…cych (10) i (11). DziÄ™ki pominiÄ™ciu wymogu przekraczania pĹ‚aszczyzny Ĺ›lizgowej moĹźna znacznie zredukować chattering. Przy zachowaniu tej samej maksymalnej wartoĹ›ci sygnaĹ‚u sterujÄ…cego, reguĹ‚a (10) zapewnia najkrĂłtszy czas regulacji, dzieje siÄ™ to jednak kosztem wystÄ…pienia krĂłtkiej, duĹźej wartoĹ›ci sygnaĹ‚u sterujÄ…cego, niewystÄ™pujÄ…cej przy zastosowaniu pozostaĹ‚ych reguĹ‚.

b, #

Porównując wyniki stosowania wymienionych reguł, moşna wyciągnąć pewne ogólne wnioski. Reguły nieprzełączające generalnie pozwalają osiągnąć węşsze pasmo ruchu quasi-ślizgowego, a zatem równieş większą odporność na zakłócenia zewnętrzne. Jedyną przewagą reguł przełączających jest zagwarantowanie tego, şe między kolejnymi chwilami próbkowania w trakcie ruchu quasi-ślizgowego stan w pewnym momencie znajdzie się dokładnie na powierzchni ślizgowej. Przewaga ta wydaje się jednak czysto teoretyczna i nie widać jej przełoşenia na praktyczne aspekty sterowania. Ciekawym i stosunkowo nowym kierunkiem rozwoju wydaje się natomiast zastosowanie zmiennych ślizgowych o rzędzie względnym większym niş jeden. Bez tej metody w niektórych układach zastosowanie sterowania ślizgowego moşe być niemoşliwe, np. z powodu braku pomiaru zmiennych stanu, na które sygnał sterujący bezpośrednio oddziałuje. Nawet, jeşeli ten problem nie występuje, w wielu przypadkach zwiększenie

rzędu zmiennej ślizgowej moşe pozwolić na poprawę odporności układu zamkniętego.

^ 1.

Bartoszewicz A., Discrete-time quasi-sliding-mode control strategies, â€?IEEE Transactions on Industrial Electronicsâ€?, Vol. 45, No. 4, 1998, 633–637, DOI: 10.1109/41.704892. 2. Bartoszewicz A., Remarks on ‘Discrete-time variable structure control systems’, “IEEE Transactions on Industrial Electronicsâ€?, Vol. 43, No. 1, 1996, 235–238. 3. Bartoszewicz A., Adamiak K., Model reference discrete-time variable structure control, â€?International Journal of Adaptive Control and Signal Processingâ€?, Vol. 32, No. 10, 2018, 1440–1452, DOI: 10.1002/acs.2922. 4. Bartoszewicz A., LatosiĹ„ski P., Generalization of Gao’s reaching law for higher relative degree sliding variables, â€?IEEE Transactions on Automatic Controlâ€?, Vol. 63, No. 9, 2018, 3173–3179, DOI: 10.1109/TAC.2018.2797193. 5. Bartoszewicz A., LatosiĹ„ski P., Reaching law for DSMC systems with relative degree 2 switching variable, â€?International Journal of Controlâ€?, Vol. 90, No. 8, 2017, 1626– 1638, DOI: 10.1080/00207179.2016.1216606. 6. Bartoszewicz A., LatosiĹ„ski P., Discrete time sliding mode control with reduced switching – a new reaching law approach, “International Journal of Robust and Nonlinear Controlâ€?, Vol. 26, No. 1, 2016, 47–68, DOI: 10.1002/rnc.3291. 7. Bartoszewicz A., LatosiĹ„ski P., Reaching law based discrete time sliding mode inventory management strategy, “IEEE Accessâ€?, Vol. 4, 2016, 10051–10058, DOI: 10.1109/ACCESS.2016.2633618. 8. Bartoszewicz A., LeĹ›niewski P., Reaching law-based sliding mode congestion control for communication networks, “IET Control Theory and Applicationsâ€?, Vol. 8, No. 17, 2014, 1914–1920, DOI: 10.1049/iet-cta.2014.0503. 9. Chakrabarty S., Bandyopadhyay B., Moreno J.A., Fridman L., Discrete sliding mode control for systems with arbitrary relative degree output, 14th International Workshop on Variable Structure Systems, 2016, 160–165, DOI: 10.1109/VSS.2016.7506909. 10. Chakrabarty S., Bandyopadhyay B., A generalized reaching law with different convergence rates, “Automaticaâ€?, Vol. 63 2016, 34–37, DOI: 10.1016/j.automatica.2015.10.018.

23


$` ` "= $ '. " "'. 28. Mehta A., Bandyopadhyay B., The design and implementation of output feedback based frequency shaped sliding mode controller for the smart structure, Proc. IEEE International Symposium on Industrial Electronics, 2010, 353–358, DOI: 10.1109/ISIE.2010.5637696. 29. Mija S., Susy T., Reaching law based sliding mode control for discrete MIMO systems, Proc. IEEE International Conference on Control, Automation, Robotics and Vision, 2010, 1291–1296, DOI: 10.1109/ICARCV.2010.5707278. 30. Milosavljević ÄŒ., General conditions for the existence of a quasisliding mode on the switching hyperplane in discrete variable structure systems, Automation and Remote Control, Vol. 46, No. 3, 1985, 307–314. 31. Milosavljević ÄŒ., PeruniÄ?ić-DraĹženović B., Veselić B., Mitić D., Sampled data quasi-sliding mode control strategies, Proc. IEEE Internernational Conference on Industrial Technology, 2006, 2640–2645, DOI: 10.1109/ICIT.2006.372711. 32. Niu Y., Ho D.W.C., Wang Z., Improved sliding mode control for discrete-time systems via reaching law, IET Control Theory and Applications, Vol. 4, No. 11, 2010, 2245–2251, DOI: 10.1049/iet-cta.2009.0296. 33. Perez M., Jimenez E., Camacho E.F., Design of an explicit constrained predictive sliding mode controller, IET Control Theory and Applications, Vol. 4, No. 4, 2010, 552–562, DOI: 10.1049/iet-cta.2009.0057. 34. Qu S., Xia X., Zhang J., Dynamics of discrete-time sliding-mode-control uncertain systems with a disturbance compensator, IEEE Transactions on Industrial Electronics, Vol. 61, No. 7, 2014, 3502–3510, DOI: 10.1109/TIE.2013.2279369. 35. Ren Y., Liu Z., Liu X., Zhang Y., A chattering free discrete-time global sliding mode controller for optoelectronic tracking system, Mathematical Problems in Engineering, 2013, DOI: 10.1155/2013/951492. 36. Samantaray J., Chakrabarty S., Digital implementation of sliding mode controllers with DC-DC buck converter system, 15th International Workshop on Variable Structure Systems, 2018, 255–260, 10.1109/vss.2018.8460257. 37. Utkin V.I., Variable structure systems with sliding modes, IEEE Transactions on Automatic Control, Vol. 22, No. 2, 1977, 212–222, DOI: 10.1109/TAC.1977.1101446. 38. Veselić B., PeruniÄ?ić-DraĹženović B., Milosavljević ÄŒ., Improved discrete-time sliding-mode position control using Euler velocity estimation, IEEE Transactions on Industrial Electronics, Vol. 57, No. 11, 2010, 3840–3847, DOI: 10.1109/TIE.2010.2042416. 39. Viveknandan C., Prabhakar R. A redefined discrete quasi-sliding mode strategy, “International Journal of Recent Trends in Engineeringâ€?, Vol. 1, No. 3, 2009, 92–96. 40. Xu Q., Du H.P., He B., Yan T.H., Li W.H., Sun S.S., A novel reaching law for sliding mode control of uncertain discrete-time systems, Mathematical Problems in Engineering, Vol. 2018, 2018, DOI: 10.1155/2018/6158492. 41. Yazici I., Yaylaci E.K., Maximum power point tracking for the permanent magnet synchronous generator-based WECS by using the discrete-time integral sliding mode controller with a chattering-free reaching law, IET Power Electronics, Vol. 10, No. 13, 2017, 1751-1758, DOI: 10.1049/iet-pel.2017.0232. 42. Zhao Y.X., Wu T., Ma Y., A double power reaching law of sliding mode control based on neural network, “Mathematical Problems in Engineeringâ€?, Vol., 2013, 2013, DOI: 10.1155/2013/408272.

11. Chakrabarty S., Bandyopadhyay B., A generalized reaching law for discrete time sliding mode control, “Automaticaâ€?, Vol. 52, 2015, 83–86, DOI: 10.1016/j.automatica.2014.10.124. 12. Chakrabarty S., Bandyopadhyay B., Bartoszewicz A., Discreteâ€?time sliding mode control with outputs of relative degree more than one, Recent Developments in Sliding Mode Control Theory and Applications, InTech, 2017, DOI: 10.5772/intechopen.68931. 13. Chakrabarty S., Bartoszewicz A., Improved robustness and performance of discrete time sliding mode control systems, “ISA Transactionsâ€?, Vol. 65, 2016, 143–149, DOI: 10.1016/j.isatra.2016.08.006. 14. Du H., Yang C., Li S., Non-smooth control-based reaching law for discrete-time sliding mode control, 14th International Workshop on Variable Structure Systems (VSS), 240–245, 2016, DOI: 10.1109/VSS.2016.7506923. 15. Du H., Yu X., Chen M., Li S., Chattering-free discrete-time sliding mode control, “Automaticaâ€?, Vol. 68, 2016, 87–91, DOI: 10.1016/j.automatica.2016.01.047. 16. Furuta K., Sliding mode control of a discrete system, “Systems & Control Lettersâ€?, Vol. 14, No. 2, 1990, 145–152, DOI: 10.1016/0167-6911(90)90030-X. 17. Gao W., Hung J., Variable structure control of nonlinear systems: A new approach, IEEE Transactions on Industrial Electronics, Vol. 40, No. 1, 1993, 45–55, DOI: 10.1109/41.184820. 18. Gao W., Wang Y., Homaifa A., Discrete-time variable structure control systems, IEEE Transactions on Industrial Electronics, Vol. 42, No. 2, 1995, 117–122, DOI: 10.1109/41.370376. 19. Hou H., Yu X., Zhang Q., Huang J., Reaching law based sliding mode control for discrete time system with uncertainty, IEEE 27th International Symposium on Industrial Electronics, 2018, 1155–1160, DOI: 10.1109/ISIE.2018.8433844. 20. Kurode S., Balajiwale S., Discrete sliding mode control of seeker scan loop using adaptive reaching law, IEEE International Conference on Control Applications, 2013, 704–709, DOI: 10.1109/CCA.2013.6662832. 21. Kurode S., Bandyopadhyay B., Gandhi P., Discrete sliding mode control for a class of underactuated systems, Proc. 37th Annual Conference of the IEEE Industrial Electronics Society, 2011, 3936–3941, DOI: 10.1109/IECON.2011.6119952. 22. LeĹ›niewski P., Discrete time reaching law based sliding mode control: a survey, Proc. 22nd International Conference on System Theory, Control and Computing, 2018, 734–739, DOI: 10.1109/ICSTCC.2018.8540782 23. Lin S., Zhang W., Controller designed via an adaptive reaching law for DSMC systems, IEEE Transactions on Circuits and Systems II: Express Briefs (Early Access), 2019, DOI: 10.1109/TCSII.2019.2907296. 24. Liu B., Ding Z., Zhao H., Jin D., Active power filter DC bus voltage piecewise reaching law variable structure control, Mathematical Problems in Engineering, 2014. 25. Ma H., Li Y., Multi-power reaching law based discrete-time sliding-mode control, IEEE Access, Vol. 7, 2019, 49822–49829, DOI: 10.1109/ACCESS.2019.2904103. 26. Ma H., Li Y., Xiong Z., Discrete-time sliding-mode control with enhanced power reaching law, IEEE Transactions on Industrial Electronics, Vol. 66, No. 6, 2019, 3936–3941, DOI: 10.1109/TIE.2018.2864712. 27. Ma H., Wu J., Xiong Z., A novel exponential reaching law of discrete-time sliding-mode control, IEEE Transactions on Industrial Electronics, Vol. 64, No. 5, 2017, 3840–3850, DOI: 10.1109/TIE.2017.2652390.

24

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


L - E J & A " & L A M '= ! !& In the reaching law approach one first specifies the desired evolution of the sliding variable. Then, a sliding mode controller that ensures this evolution is derived. The main advantage of this method with respect to “classical� sliding mode control is better control of the system dynamics and state constraints during the reaching phase. In this paper, a review of recent results on discrete time reaching laws is presented. The differences and similarities between them are discussed. Keywords\ & & A & $ A

% ! - B % & ORCID: 0000-0003-4131-6928 8/ # & B $ B ? $ 6 - 8 0 ? N9& # *!'* ? & A K $ *!') G & & ? & / F A A 9 & ? A $ & A ?

25


NR 3/2015

26

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 27–39, DOI: 10.14313/PAR_233/27

0 9 9K /9 A 9 A & Q 9 C " > C ! E > ) ) F 0 # $ 6 8 6 - $ R '>P'+$ !!?))> #

Streszczenie: Jakość regulacji jest kluczowym zagadnieniem w nowoczesnym przemyĹ›le. Zadaniem inĹźyniera jest nie tylko dobĂłr parametrĂłw regulacji, ale rĂłwnieĹź bieşące nadzorowanie jej jakoĹ›ci tak, aby maksymalizować wydajność procesu a takĹźe dbać o stan aparatury i urzÄ…dzeĹ„ wykonawczych. W zdecydowanej wiÄ™kszoĹ›ci rozwiÄ…zaĹ„ praktycznych stosowany jest kwadratowy wskaĹşnik jakoĹ›ci, zarĂłwno w procesie strojenia jak i oceny jakoĹ›ci regulacji. W artykule zostaĹ‚y zaproponowane inne wskaĹşniki, cechujÄ…ce siÄ™ wiÄ™kszÄ… odpornoĹ›ciÄ…. ZostaĹ‚y one zastosowane do dwĂłch zadaĹ„: projektowania nastaw regulatora oraz oceny jakoĹ›ci juĹź pracujÄ…cej struktury sterowania. W pracy uwzglÄ™dnione zostaĹ‚y rozwiÄ…zania dla róşnych wersji podstawowego algorytmu regulacji w przemyĹ›le procesowym, tj. PID. Róşne strategie regulacji PID zostaĹ‚y rĂłwnieĹź porĂłwnane z algorytmem sterowania predykcyjnego typu MPC. Analiza symulacyjna wykorzystuje przemysĹ‚owy benchmark ukĹ‚adu sterowania systemem chĹ‚odniczym wykorzystujÄ…cym zjawisko kompresji pary. +$ ! \ $ 06E$ "0 $ & S $ LP

1. Wprowadzenie Jakość pracy układu sterowania ma istotny wpływ na ogólną efektywność procesu wytwarzania. Widoczne to jest szczególnie w obecnych czasach, gdy zagadnienia zwiększania wydajności, ochrony środowiska czy teş zarządzania energią wymagają bezpiecznej, niezakłóconej i nad wyraz dokładnej pracy jak najblişej ograniczeń technologicznych – koncept Przemysł 4.0. Obiekty rzeczywiste podlegają nieustannym zmianom i modyfikacjom, stając się procesami silnie niestacjonarnymi. Tym samym jednorazowa inicjatywa dotycząca projektu i strojenia układu sterowania jest skuteczna jedynie w krótkim horyzoncie. Chcąc zapewnić poprawne działanie w długim okresie, jesteśmy zmuszeni realizować ciągły elastyczny nadzór i monitoring. Istnieje wiele opracowań pokazujących korzyści finansowe uzyskane w wyniku poprawnej struktury i zestrojenia układu sterowania [1–3].

) ! \ 0 E E G $ & % & ) $ ! & ') !> *!'+ $ & & ! !+ *!'+

!

Niniejszy artykuĹ‚ prezentuje kompleksowe wykorzystanie odpornych wskaĹşnikĂłw oceny jakoĹ›ci regulacji zastosowanych zarĂłwno do projektowania jak i oceny sterowania nieliniowym procesem. W pracy zostanÄ… uwzglÄ™dnione rĂłwnolegĹ‚e oraz szeregowe postaci najbardziej popularnych struktur, tj.: PI, PD i PID, jak teĹź rozwiniÄ™te rĂłwnolegĹ‚e struktury: PID z filtrem róşniczkowania, PID z róşniczkowaniem przefiltrowanego wyjĹ›cia oraz PID z waĹźeniem wartoĹ›ci zadanej [4]. KaĹźda ze struktur bÄ™dzie strojona przy pomocy algorytmu optymalizacji globalnej na przykĹ‚adzie algorytmu genetycznego, w ktĂłrej funkcjÄ… celu bÄ™dzie jeden ze wskaĹşnikĂłw jakoĹ›ci liczony z uchybu miÄ™dzy wyjĹ›ciami a wartoĹ›ciami zadanymi. WybĂłr algorytmu byĹ‚ wtĂłrny. Istotna jest moĹźliwość prowadzenia optymalizacji globalnej, jako Ĺźe nieliniowy model oznacza wielomodalny charakter wskaĹşnika jakoĹ›ci, z wieloma ekstremami lokalnymi. Efektywność optymalizacji lokalnej nie jest celem niniejszych badaĹ„ i tym samym wybĂłr algorytmu genetycznego zapewnia proste speĹ‚nienie wymagaĹ„ strojenia. UwzglÄ™dnione zostanÄ… wskaĹşniki: bĹ‚Ä…d Ĺ›redniokwadratowy MSE (ang. Mean Square Error), Ĺ›redni moduĹ‚ bĹ‚Ä™du IAE (ang. Integral Absolute Error), mediana bĹ‚Ä™du oraz odpornoĹ›ciowy współczynnik skali w postaci M-estymatora z logistycznÄ… funkcjÄ… Ďˆ. Celem tego etapu pracy jest porĂłwnanie wpĹ‚ywu wskaĹşnika oceny na jakość otrzymanych nastaw róşnych struktur regulacji klasy PID. Ciekawa byĹ‚aby obserwacja, czy odporność przyjÄ™tego wskaĹşnika oceny ma wpĹ‚yw na otrzymanÄ… jakość sterowania. Zadanie strojenia regulatorĂłw, w tym regulatora typu PID istnieje w automatyce praktycznie od jej zarania. Pierwsze usys-

27


L L% "'. =L " $ ' $ ' ' L " "'. $g " 2. problemy i awarie osprzÄ™tu automatyki, 3. wpĹ‚yw zakĹ‚ĂłceĹ„ procesowych poĹ‚Ä…czony z rzadkim odsprzÄ™ganiem, 4. niedopasowany projekt systemu automatyki, czÄ™sto wynikajÄ…cy z kopiowania szablonĂłw i nastaw z wczeĹ›niejszych rozwiÄ…zaĹ„. PodsumowujÄ…c, nadzĂłr realizowany przez czĹ‚owieka jest niewystarczajÄ…cy. Tym samym istnieje rosnÄ…ce zapotrzebowanie na metody i rozwiÄ…zania wspierajÄ…ce ten proces. MuszÄ… one speĹ‚nić wiele wymagaĹ„, aby uzyskać akceptacjÄ™ przemysĹ‚u. W szczegĂłlnoĹ›ci muszÄ… pracować autonomicznie wykorzystujÄ…c dane z codziennej pracy bez koniecznoĹ›ci realizacji jakichkolwiek specjalizowanych testĂłw oraz muszÄ… być sformuĹ‚owane w oparciu o jasno zdefiniowane i wiarygodne miary (wskaĹşniki oceny). Analiza statystyczna pokazuje [17], iĹź rzeczywiste dane przemysĹ‚owe bardzo czÄ™sto cechujÄ… siÄ™ charakterem gruboogonowym, co uzasadniĹ‚o postawienie hipotezy, Ĺźe parametry rozkĹ‚adĂłw gruboogonowych, w szczegĂłlnoĹ›ci a-stabilne, mogÄ… stanowić rozsÄ…dnÄ… alternatywÄ™ dla najpopularniej stosowanego odchylenia standardowego rozkĹ‚adu normalnego. Tym samym w pracy zweryfikowano moĹźliwość oceny ukĹ‚adu sterowania za pomocÄ… róşnych niestandardowych wskaĹşnikĂłw oceny sterowania. Z jednej strony zaproponowane zostaĹ‚y do porĂłwnania róşne moĹźliwe do zrealizowania w sposĂłb przemysĹ‚owy struktury sterowania, poczÄ…wszy od jednopÄ™tlowej regulacji PID, przez uwzglÄ™dnienie odsprzÄ™gania zakĹ‚ĂłceĹ„, aĹź po predykcyjnÄ… regulacjÄ™ wielowymiarowÄ… klasy MPC (ang. Model Predictive Control). OpierajÄ…c siÄ™ na tak przygotowanym materiale odniesienia porĂłwnane zostaĹ‚y podstawowe wskaĹşniki oceny jakoĹ›ci sterowania, czyli czas sterowania, przeregulowanie, bĹ‚Ä…d Ĺ›redniokwadratowy (MSE) oraz moduĹ‚ bĹ‚Ä™du (IAE) dla uchybu regulacji wraz ze wskaĹşnikiem fraktalnym w postaci wykĹ‚adnika Hursta. W celu poprawy jakoĹ›ci porĂłwnania zostaĹ‚a zaprezentowana wielokryterialna metoda prezentacji wynikĂłw w postaci wykresu radarowego.

tematyzowane prace nastÄ…piĹ‚y po okresie empirycznych metod prĂłb i bĹ‚Ä™dĂłw. RozwaĹźania teoretyczne dotyczÄ…ce charakterystyk czÄ™stotliwoĹ›ciowych Bodego (1930) czy teĹź w oparciu o wykresy Nyquista zaowocowaĹ‚y podejĹ›ciem Zieglera-Nicholsa [5] wykorzystujÄ…cym cykl graniczny (1942). Cohen i Coon (1953) zaproponowali prostÄ… metodÄ™ wykorzystujÄ…cÄ… identyfikacjÄ™ jednoinercyjnego modelu z opóźnieniem i wyprowadzenie sugestii nastaw regulatora PID dla takiego obiektu [6]. Owe metody w zasadzie nie wymagaĹ‚y stosowania komputera. Inne, obecnie uznawana za kanoniczne, podejĹ›cia oraz metodologie strojenia moĹźna odnaleźć w pozycjach [7–9] czy teĹź bogaty wybĂłr zebrany w [10]. PodejĹ›cie optymalizacyjne rĂłwnieĹź byĹ‚o rozwaĹźane w literaturze [11]. DobĂłr nastaw regulatora dokonywany jest w oparciu o okreĹ›lony wskaĹşnik jakoĹ›ci. Najczęściej moĹźna znaleźć przykĹ‚ady stosowania kwadratowego wskaĹşnika jakoĹ›ci MSE lub caĹ‚ki z wartoĹ›ci bezwzglÄ™dnej IAE. Drugi z wymienionych wskaĹşnikĂłw czÄ™sto wystÄ™puje w wersji rozszerzonej o element czasu w postaci ITAE (ang. Integral of the Time-weighted Absolute Error). MoĹźna znaleźć wiele pozycji literatury, w ktĂłrych rozwaĹźane sÄ… takie podejĹ›cia. OgĂłlnie wskaĹşnik kwadratowy karze duĹźe bĹ‚Ä™dy (kwadrat), podczas gdy ITAE karze bĹ‚Ä™dy, ktĂłre trwajÄ… przez dĹ‚uĹźszy czas. Tym samym jest on najczęściej stosowany. OgĂłlnie ISE generuje najbardziej agresywne nastawy, podczas gdy IAE znajduje rozwiÄ…zania miÄ™dzy tymi powolnymi i bez przeregulowania, znalezionymi przez ITAE i MSE. Jednak wskaĹşniki te majÄ… jednÄ… powaĹźnÄ… wadÄ™. Analiza regresyjna dobitnie pokazuje [12], Ĺźe estymator minimalno-kwadratowy, jak i IAE, nie sÄ… odporne na wystÄ™powanie wartoĹ›ci odstajÄ…cych (ang. outliers). Autorzy w swojej pracy proponujÄ… stosowanie innych estymatorĂłw, jak np. mediany, ktĂłra jest odporna. RozwaĹźania nad odpornoĹ›ciÄ… estymacji doprowadziĹ‚y do powstania caĹ‚ej dziedziny statystyk odpornoĹ›ciowych (ang. robust statistics) [13]. JednÄ… z najbardziej popularnych jest M-estymator wykorzystujÄ…cy logistycznÄ… Ďˆ funkcjÄ™. W niniejszym opracowaniu wykorzystywana jest implementacja zaproponowana w [14] – funkcja mscalelogist. Niniejsze opracowanie skupi siÄ™ na porĂłwnaniu dwĂłch klasycznych wskaĹşnikĂłw caĹ‚kowych, tj. ISE oraz IAE oraz dwĂłch odpornych, tj. mediany bĹ‚Ä™du oraz jego odpornej M-estymaty. Wybrane cztery wskaĹşniki bÄ™dÄ… stosowane do dostrojenia róşnych struktur typu PID dla wielowymiarowego symulowanego nieliniowego procesu. Nieustanne utrzymywanie wysokiej jakoĹ›ci sterowania wymaga wypracowania i stosowania metodologii oceny pracy ukĹ‚adu regulacji wraz z miarami umoĹźliwiajÄ…cymi iloĹ›ciowe porĂłwnanie. W praktyce jest to najczęściej codzienna praca inĹźynierĂłw automatykĂłw odpowiedzialnych za dziaĹ‚anie instalacji. Niestety w przypadku skomplikowanych obiektĂłw, kiedy koniecznym staje siÄ™ nadzĂłr nad setkami czy teĹź tysiÄ…cami pÄ™tli, pojawiajÄ… siÄ™ wymagania zatrudnienia odpowiedniej liczby doĹ›wiadczonych pracownikĂłw. Ograniczenia ujawniajÄ… siÄ™ w przypadku ograniczonego dostÄ™pu do wysoko wyksztaĹ‚conych inĹźynierĂłw. Efekt ten jest widoczny juĹź na poziomie automatyki bazowej wykorzystujÄ…cej jednopÄ™tlowe czy teĹź kaskadowe struktury PID. W przypadku rozwiÄ…zaĹ„ automatyki wykorzystujÄ…cych ukĹ‚ady sterowania zaawansowanego lub optymalizacji [15] wystÄ™puje istotne ograniczenie stosowalnoĹ›ci. Literatura przedmiotu pokazuje, Ĺźe znaczÄ…ca część przemysĹ‚owych pÄ™tli sterowania pracuje Ĺşle. 60% bazowych pÄ™tli SISO jest bĹ‚Ä™dnie zestrojona, a nawet wiÄ™ksza ich część (85%) ma nieadekwatnÄ… strukturÄ™ [16]. MoĹźna wymienić wiele przyczyn tego zjawiska: 1. bĹ‚Ä™dne zestrojenie pÄ™tli sterowania wynikajÄ…ce z niestacjonarnoĹ›ci, niewystarczajÄ…cego nadzoru, konserwatywnego zestrojenia na najgorszy przypadek, czÄ™stych zmian punktĂłw pracy instalacji czy teĹź zmiennoĹ›ci urzÄ…dzeĹ„ wykonawczych i pomiarowych,

28

P

O

M

I

A

R

Y

•

A

U

T

O

M

H, Ponişej zostanie opisany nieliniowy proces systemu chłodniczego, którego model stanowi podstawę analiz symulacyjnych oraz wykorzystywane w pracy algorytmy i proponowane algorytmy obliczeniowe, tzn. struktury sterowania PID oraz predykcyjne MPC, metody ich strojenia oraz wskaźniki stosowane do ich oceny.

H,L, 5 ! ChĹ‚odzenie z wykorzystaniem kompresji pary jest obecnie wiodÄ…cÄ… technologiÄ… w chĹ‚odnictwie, zarĂłwno w klimatyzacji, ochĹ‚adzaniu bÄ…dĹş zamraĹźaniu [51]. Utrzymywanie niskiej, zadanej temperatury jest kluczowe w wielu aspektach, takich jak komfort ludzi, przechowywanie i transport ĹźywnoĹ›ci oraz w procesach przemysĹ‚owych. StÄ…d pojawia siÄ™ potrzeba dogĹ‚Ä™bnego badania i analizy struktur regulacji temperatury oraz ich rozwijania. Schemat cyklu chĹ‚odniczego zostaĹ‚ przedstawiony na rys. 1. Jego gĹ‚Ăłwne elementy to zawĂłr, kompresor, parownik oraz skraplacz. Celem cyklu jest usuwanie ciepĹ‚a z przepĹ‚ywu wtĂłrnego (ang. secondary flux) w parowniku i odrzucanie ciepĹ‚a z kondensatora do przepĹ‚ywu wtĂłrnego. ChĹ‚odziwo o niskiej temperaturze i niskim ciĹ›nieniu wpĹ‚ywa do parownika i paruje, usuwajÄ…c ciepĹ‚o z przepĹ‚ywu wtĂłrnego parownika. NastÄ™pnie kompresor podnosi ciĹ›nienie i temperaturÄ™ chĹ‚odziwa, ktĂłre wpĹ‚ywa do skraplacza. Tam poczÄ…tkowo temperatura spada, nastÄ™puje kondensacja pary i ciepĹ‚o jest przekazane do przepĹ‚ywu wtĂłrnego. ZawĂłr wyrĂłwnuje róşnice ciĹ›nieĹ„ miÄ™dzy parownikiem a skraplaczem. A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


modelu. Przebiegi szumów zostały wygenerowane raz, a następnie były wczytywane z pliku. Takie podejście pozwoliło na zachowanie powtarzalności eksperymentów. W celu odzwierciedlenia rzeczywistych, trudnych niegaussowskich warunków sterowania wprowadzone zostały szumy o charakterze gruboogonowym generowane jako szum a-stabilny. Cechują się one moşliwością uwzględnienia wartości odstających (ang. outliers), które bardzo często występują w systemach przemysłowych. Wykorzystano szum niegaussowski, gruboogonowy o współczynniku skali wynoszącym a = 1,9. Wygenerowane zostały dwa ciągi po 1200 próbek dla obu wyjść obiektu. Zastosowanie takiego rozkładu umoşliwia obserwację zachowania systemu na pojedyncze, duşe odchyłki podczas pomiaru wyjść, co odwzorowuje obserwacje odstające. Rys. 1. Schemat cyklu chłodniczego wykorzystującego zjawisko kompresji pary [51] Fig. 1. Schematic diagram of refrigeration system based on vapour compression

H,Y, + W pracy wykorzystane zostaĹ‚y dwie klasy algorytmĂłw regulacji: struktury typu PID oraz algorytm predykcyjny klasy MPC. 2.3.1. Struktury PID Na jczęściej sp otykanym w zastosowaniach przemysĹ‚owych algorytmem regulacji jest ukĹ‚ad regulatora proporcjonalno-caĹ‚kujÄ…co-róşniczkujÄ…cego (PID). Algorytm ten ma dĹ‚ugÄ… historiÄ™, jest bardzo popularny oraz powszechnie znany. Róşne jego wersje wystÄ™pujÄ… w prawie kaĹźdym regulatorze przemysĹ‚owym. Jako podstawowy ukĹ‚ad w pojedynczej pÄ™tli sprzęşenia zwrotnego, regulator PID cechuje siÄ™ duşą odpornoĹ›ciÄ… oraz uniwersalnoĹ›ciÄ… zastosowaĹ„. W trakcie opisywanych badaĹ„ analizowane byĹ‚y nastÄ™pujÄ…ce jednopÄ™tlowe struktury regulacji z rodziny PID:

Rys. 2. Model systemu chłodniczego w środowisku MATLAB/Simulink Fig. 2. MATLAB model of the refrigeration system

Do badaĹ„ wykorzystano zmodyfikowany model systemu chĹ‚odniczego (rys. 2) przygotowany w Ĺ›rodowisku MATLAB/Simulink przez naukowcĂłw Uniwersytetu w Sewilli na potrzeby konferencji IFAC PID 2018, ktĂłry jest ogĂłlnie dostÄ™pny [50]. Jego dokĹ‚adny opis jest umieszczony w [51]. GĹ‚Ăłwnym celem regulacji jest zapewnienie odpowiedniej mocy chĹ‚odzÄ…cej Q e [51]. Aby generowanie tej mocy byĹ‚o jak najbardziej wydajne, naleĹźy utrzymywać wĹ‚aĹ›ciwy stopieĹ„ przegrzania cieczy (ang. degree of superheating) TSH, czyli róşnicÄ™ miÄ™dzy temperaturÄ… cieczy przegrzanej (o temperaturze wyĹźszej niĹź temperatura wrzenia przy danym ciĹ›nieniu) a temperaturÄ… cieczy nasyconej (pozostajÄ…cej w rĂłwnowadze termodynamicznej z innÄ… fazÄ… tej samej substancji) [52]. Zapotrzebowanie na chĹ‚odzenie moĹźe być rĂłwnieĹź wyraĹźone za pomocÄ… temperatury wyjĹ›ciowej przepĹ‚ywu wtĂłrnego w parowniku Te,sec,out. Otrzymujemy wtedy ukĹ‚ad z dwoma zmiennymi procesowymi TSH i Te,sec,out oraz dwoma zmiennymi sterujÄ…cymi pochodzÄ…cymi od urzÄ…dzeĹ„ wykonawczych, czyli prÄ™dkość obrotowa pracy kompresora N i otwarcie zaworu Av. Temperatury, przepĹ‚ywy masowe oraz ciĹ›nienia przepĹ‚ywĂłw wtĂłrnych na wejĹ›ciach parownika i skraplacza nie bÄ™dÄ… regulowane, sÄ… one potraktowane w modelu jako zakĹ‚Ăłcenia, podobnie jak temperatura otoczenia kompresora.

H,H, +

W celu przetestowania odporności regulatorów na występowanie błędów pomiarowych zostały one dodane do istniejącego

− PI szeregowy ⎛ T ⎞ GPI,series = P ⎜ 1 + I s âŽ&#x; , z −1⎠âŽ?

(1)

⎛ z −1⎞ GPD,series = P ⎜ 1 + D âŽ&#x;, Tsz ⎠âŽ?

(2)

− PD szeregowy

− PID szeregowy ⎛ T ⎞⎛ z −1⎞ GPID,series = P ⎜ 1 + I s âŽ&#x; ⎜ 1 + D âŽ&#x;, z − 1 Tsz ⎠âŽ? ⎠âŽ?

(3)

− PI rĂłwnolegĹ‚y GPI,parallel = P + I

Ts , z −1

(4)

GPD,parallel = P + D

z −1 , Tsz

(5)

Ts z −1 +D , z −1 Tsz

(6)

− PD rĂłwnolegĹ‚y

− PID rĂłwnolegĹ‚y GPID,parallel = P + I

29


L L% "'. =L " $ ' $ ' ' L " "'. $g " wszystkie pary zostaĹ‚y nastrojone przy uĹźyciu jednego z czterech wskaĹşnikĂłw jakoĹ›ci: − MSE, − IAE, − mediana, − mscalelogist (odporny współczynnik skali rozkĹ‚adu prawdopodobieĹ„stwa). Ze wzglÄ™du na zĹ‚oĹźoność modelu czas jednej symulacji waha siÄ™ od okoĹ‚o 120 sekund dla dobrze dobranego regulatora, do godziny dla ukĹ‚adĂłw niestabilnych. PodjÄ™te zostaĹ‚y prĂłby strojenia regulatora bezpoĹ›rednio na obiekcie metodÄ… gradientowÄ…. Przy takim podejĹ›ciu ujawniajÄ… siÄ™ dwa kolejne problemy. Po pierwsze ze wzglÄ™du na nieliniowość obiektu oraz wielomodalność przestrzeni przeszukiwaĹ„ rezultat mocno zaleĹźy od wybranego punktu startowego. JeĹźeli juĹź na starcie regulator wpadaĹ‚ w oscylacje, oznaczaĹ‚o to, Ĺźe metoda nie jest w stanie znaleźć parametrĂłw stabilnego regulatora. Drugim problemem, jaki siÄ™ pojawia, jest czas trwania optymalizacji. Dla dwĂłch regulatorĂłw PI, czyli jedynie czterech parametrĂłw, procedura trwaĹ‚a kilkanaĹ›cie godzin. Z tych wzglÄ™dĂłw ta metoda zostaĹ‚a porzucona. W zwiÄ…zku z tym wykorzystano model liniowy obiektu. W tym celu zastosowano model z literatury, ktĂłry jest opisany za pomocÄ… czterech transmitancji [20]. Transmitancje modelu liniowego przedstawia wzĂłr (10). Nie uwzglÄ™dnia on dziaĹ‚ania zakĹ‚ĂłceĹ„, jednak umoĹźliwia szybkie odnajdywanie parametrĂłw. Czas wykonania symulacji zostaĹ‚ skrĂłcony do wartoĹ›ci rzÄ™du uĹ‚amkĂłw sekundy. UmoĹźliwiĹ‚o to zastosowanie metod optymalizacji globalnej. DziÄ™ki takiemu podejĹ›ciu moĹźliwe jest sprawdzanie nawet kilkudziesiÄ™ciu tysiÄ™cy punktĂłw w znacznie krĂłtszym czasie

− PID rĂłwnolegĹ‚y z filtrem róşniczkowania GPID,filter,parallel = P + I

Ts +D z −1

N 1 + N â‹… Ts

1 z −1

(7)

,

− PID rĂłwnolegĹ‚y z róşniczkowaniem wyjĹ›cia

⎛ T ⎞ N GPID,weighting,parallel = ⎜ P + I s âŽ&#x; r − y − D y, 1 1 z − âŽ? ⎠(8) 1 + N â‹… Ts z −1 − PID rĂłwnolegĹ‚y z waĹźeniem wartoĹ›ci zadanej

(

)

(9)

2.3.2. Algorytm predykcyjny MPC Regulator predykcyjny MPC (Model Predictive Control) dziaĹ‚a w ukĹ‚adzie regulacji z modelem. Swoje dziaĹ‚anie opiera na wyznaczaniu w kaĹźdej iteracji algorytmu przyszĹ‚ych wartoĹ›ci sygnaĹ‚u sterujÄ…cego oraz wektora przyrostĂłw tego sygnaĹ‚u [18]. W tym celu wymagana jest znajomość modelu dynamicznego procesu (w postaci odpowiedzi skokowej, rĂłwnania róşnicowego lub rĂłwnaĹ„ stanu), pomiarĂłw sygnaĹ‚Ăłw wejĹ›ciowych oraz wyjĹ›ciowych zarĂłwno z aktualnej chwili czasu, jak i z przeszĹ‚oĹ›ci oraz znajomość trajektorii zadanej. Najczęściej spotykanymi algorytmami regulacji predykcyjnej sÄ…: − algorytm DMC (Dynamic Matrix Control), wykorzystujÄ…cy model obiektu w postaci odpowiedzi skokowych, − algorytm GPC (General Predictive Control), dla obiektĂłw opisanych za pomocÄ… rĂłwnaĹ„ róşnicowych, − algorytm MPCS (Model Predictive Control with State equations), dla modeli obiektu w postaci rĂłwnaĹ„ stanu. Sterowanie predykcyjne znalazĹ‚o w dzisiejszych czasach zastosowanie m.in. w przemyĹ›le rafineryjnym oraz procesach destylacji. Jego gĹ‚Ăłwnymi zaletami sÄ…: − moĹźliwość uwzglÄ™dnienia ograniczeĹ„ sygnaĹ‚Ăłw, − moĹźliwość uwzglÄ™dnienia wewnÄ™trznych interakcji miÄ™dzy wyjĹ›ciami i wejĹ›ciami procesu czy teĹź zakĹ‚Ăłceniami wpĹ‚ywajÄ…cymi na proces, − moĹźliwość zaprojektowania funkcji celu indywidualnie, specjalnie na potrzeby regulowanego procesu. W celu zaprojektowania regulatora predykcyjnego posĹ‚uĹźono siÄ™ narzÄ™dziem oprogramowania MATLAB – Model Predictive Control Toolbox. Jest to bardzo wygodne oraz intuicyjne w obsĹ‚udze narzÄ™dzie do projektowania ukĹ‚adĂłw sterowania wykorzystujÄ…cych regulatory predykcyjne w Ĺ›rodowisko MATLAB/Simulink. Zawiera aplikacjÄ™ MPC Designer umoĹźliwiajÄ…cÄ… uzyskanie modelu obiektu w postaci rĂłwnaĹ„ stanu, projektowanie, testowanie oraz porĂłwnywanie dziaĹ‚ania regulatorĂłw predykcyjnych. Do obliczania wartoĹ›ci sygnaĹ‚Ăłw sterujÄ…cych wykorzystuje on algorytm MPCS, a funkcja celu zdefiniowana jest jako suma czterech skĹ‚adnikĂłw: Ĺ›ledzenia wartoĹ›ci zadanej, Ĺ›ledzenia sygnaĹ‚Ăłw sterujÄ…cych, kary za przyrosty sygnaĹ‚Ăłw sterujÄ…cych oraz kary za przekroczenie ograniczeĹ„ sygnaĹ‚Ăłw wejĹ›ciowych oraz wyjĹ›ciowych [19].

⎥ −0,2219s − 0,004757 ⎢ 2 ⎢ s + 5,834s + 0,2373 G s =⎢ −2, 425 ⎢ ⎢⎣ s 2 + 2,099s + 6,634

()

Problemem związanym z modelem liniowym było to, şe źle odwzorowywał on zachowanie dla wartości sygnałów oddalonych od punktu pracy, w którym został stworzony. Dlatego na potrzeby wyznaczania parametrów, oryginalny przebieg wartości zadanych wyznaczający cykl pracy obiegu został przeskalowany w taki sposób, aby skoki były niewielkie i wartości zadane oscylowały wokół punktu pracy. Podczas strojenia nastaw regulatora w warunkach nieliniowych zastosowana została autorska procedura: 1. Optymalizacja na modeli liniowym przy pomocy algorytmu genetycznego. 2. Test na oryginalnym modelu. 3. Jeşeli układ jest stabilny, wykonanie testu na modelu z błędami pomiarowymi. Przy strojeniu struktur będących rozwinięciem równoległego regulatora PID, wzmocnienia członów P, I oraz D zostały wybrane z wyznaczonych nastaw dla podstawowej wersji PID, a dostrajane były jedynie dodatkowe parametry (np. b oraz c dla struktury z waşeniem wartości zadanej).

H,b, ' ! ! Istnieje wiele wskaźników słuşących do oceny jakości regulacji. Najpopularniejszymi z nich są przeregulowanie k, które informuje o oscylacjach procesu oraz czas regulacji Tr dostarczający informacji o szybkości stabilizacji sygnału wokół wartości zadanej. Dodatkowo, bardzo często uşywa się wskaźników całkowych, takich jak IAE (Integral Absolute Error), MSE (Mean Square Error) lub ISE (Integral Square Error) oraz wskaźników statystycznych, takich jak średnia oraz wariancja uchybu regulacji (oznaczone odpowiednio m i s).

H,], + #6. ! ! & Optymalizacja parametrów była wykonywana przy pomocy algorytmu genetycznego ga z pakietu Global Optimization Toolbox dla środowiska MATLAB. Struktury regulatorów były testowane parami, tj. na obu torach sterowania wykorzystywane były te same regulatory dla kaşdej ze struktur. Następnie

30

P

O

M

I

A

R

Y

•

A

U

T

O

M

⎤ −0,004638 ⎼ s 2 + 93,24s + 3,802 ⎼ ⎼ . (10) 1,208s + 0,03219 ⎼ s 2 + 6,743s + 0,1946 ⎼⎌

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


PowyĹźsze wskaĹşniki naleĹźy traktować jako podstawowe. JednakĹźe literatura przedmiotu jest bardzo bogata i moĹźna znaleźć wiele innych podejść, jak na przykĹ‚ad: 1. inne wskaĹşniki wykorzystujÄ…ce odpowiedĹş skokowÄ…, na przykĹ‚ad współczynnik zapominania (ang. decay ratio) lub uchyb ustalony [21], 2. wskaĹşniki wykorzystujÄ…ce odpowiedĹş zakĹ‚ĂłceniowÄ…, na przykĹ‚ad Idle Index [22], Area Index, Output Index [23], R-index [24], 3. inne wskaĹşniki caĹ‚kowe, jak Integral Time Absolute Value (ITAE) [25], Integral of Square Time derivative of the Control input (ISTC) [26], Total Squared Variation (TSV) [27], Amplitude Index (AMP) [21], 4. wskaĹşniki korelacyjne [28, 29], 5. inne wskaĹşniki statystyczne, jak skoĹ›ność, kurtoza [30], variance band [31] oraz współczynniki innych rozkĹ‚adĂłw [32], 6. metody wykorzystujÄ…ce modelowanie, w tym podejĹ›cie minimalno-wariacyjne [33, 34], 7. podejĹ›cia hybrydowe [35], np. Exponentially Weighted Moving Averages (EWMA) [36], 8. metody czÄ™stotliwoĹ›ciowe wykorzystujÄ…ce charakterystyki Bodego, Nyquista i Nicholsa wraz z zapasami moduĹ‚u i fazy [37] aĹź po bardziej zaawansowane metody wykorzystujÄ…ce przeksztaĹ‚cenie Fouriera [38], 9. metody alternatywne wykorzystujÄ…ce przeksztaĹ‚cenie falkowe [39], ortogonalne funkcje Laguerre’a [40], sztuczne sieci neuronowe [41], wykĹ‚adnik Hursta [42], miary persystencji [43], czy entropii [44], 10. róşnorakie wskaĹşniki czysto biznesowe [45, 2].

H,h, ) $ !" ! Niestety bĹ‚Ä…d regulacji bardzo rzadko moĹźna przybliĹźyć rozkĹ‚adem Gaussa, stÄ…d parametry m oraz s niedokĹ‚adnie bÄ™dÄ… oceniać jakość regulacji. AnalizujÄ…c histogram uchybu regulacji (rys. 3) moĹźna zauwaĹźyć, Ĺźe wĹ‚aĹ›ciwoĹ›ci obiektu znacznie lepiej moĹźna przybliĹźyć wykorzystujÄ…c do tego celu rozkĹ‚ad a-stabilny LĂŠvy’ego bÄ…dĹş rozkĹ‚ad normalny wyznaczajÄ…c jego parametry metodami statystyki odpornoĹ›ciowej (ang. Robust Statistics). RozkĹ‚ad a-stabilny naleĹźy do rozkĹ‚adĂłw gruboogonowych (ang. heavy-tailed distribution) i ma 4 parametry: a ∈ (0, 2] – parametr stabilnoĹ›ci, b ∈ [−1, 1] – parametr skoĹ›noĹ›ci, g ∈ (0, ∞) – parametr skali, d ∈ (−∞, ∞) – parametr poĹ‚oĹźenia.

Warto nadmienić, Ĺźe w przypadku, gdy a = 2 oraz b = 0 mamy do czynienia z rozkĹ‚adem gaussowskim ‍(ׯ‏g, d), zaĹ› dla a = 1 i b = 0 – z rozkĹ‚adem Cauchy’ego. Metody statystyki odpornoĹ›ciowej sĹ‚uşą do estymacji rozkĹ‚adu prawdopodobieĹ„stwa danych pod kÄ…tem odpornoĹ›ci na odejĹ›cie od zaĹ‚oĹźeĹ„ modelu (ang. outliers) bÄ…dĹş w obecnoĹ›ci zakĹ‚ĂłceĹ„. W tych przypadkach klasyczne estymatory Ĺ›redniej bÄ…dĹş skali nie sÄ… wiarygodne. Odporność na wartoĹ›ci odstajÄ…ce wykazujÄ… rĂłwnieĹź moduĹ‚owe wskaĹşniki statystyczne, np. wskaĹşnik IAE. Aproksymacja rozkĹ‚adu bĹ‚Ä™du regulacji przy uĹźyciu rozkĹ‚adĂłw a-stabilnego oraz normalnego o parametrach wyznaczonych metodami statystyki odpornoĹ›ciowej daje lepsze wyniki niĹź w przypadku rozkĹ‚adu normalnego, dlatego teĹź parametry skali oraz poĹ‚oĹźenia tych rozkĹ‚adĂłw dokĹ‚adniej oceniajÄ… bĹ‚Ä…d regulacji aniĹźeli klasyczne Gaussowskie wskaĹşniki. Istnieje wiele metod dedykowanych dopasowaniu funkcji rozkĹ‚adu prawdopodobieĹ„stwa do histogramu zmiennej [46]. PodejĹ›cie regresyjne Koutrouvelisa [47] pozwala na dopasowanie rozkĹ‚adu a-stabilnego. 2.6.1. Analiza fraktalna PojÄ™cie fraktali (Ĺ‚ac. fractus – zĹ‚amany, czÄ…stkowy) zostaĹ‚o wprowadzone przez Benoit Mandelbrodta. Fraktale sÄ… obiektami samopodobnymi, najprostsza metoda ich powstawania jest wielokrotne powtarzanie tej samej reguĹ‚y, ktĂłra generuje ksztaĹ‚t. KsztaĹ‚ty fraktalne wykazujÄ… samopodobieĹ„stwo wzglÄ™dem przestrzeni, natomiast szeregi czasowe – wzglÄ™dem czasu. PrzykĹ‚adem ksztaĹ‚tu fraktalnego sÄ… np. pĹ‚atki Ĺ›niegu lub trĂłjkÄ…t SierpiĹ„skiego. Jednym z narzÄ™dzi stosowanych do analizy fraktalnej szeregĂłw czasowych jest wykĹ‚adnik Hursta. Harold Edwin Hurst byĹ‚ hydrologiem, pracowaĹ‚ przy budowie tamy na Nilu majÄ…c dostÄ™p do danych historycznych dotyczÄ…cych wylewĂłw tej rzeki. Na potrzeby swojej pracy opracowaĹ‚ nowe narzÄ™dzie statystyczne: wykĹ‚adnik Hursta (H) [48]. W celu obliczenia współczynnika i porĂłwnywania szeregĂłw czasowych róşnego typu naleĹźy dokonać analizy przeskalowanego zasiÄ™gu R/S (ang. Rescaled Range analysis). Zakres szeregu (róşnica miÄ™dzy maksymalnÄ… a minimalnÄ… wartoĹ›ciÄ… szeregu) dzieli siÄ™ przez odchylenie standardowe tego zbioru, co sprawia, Ĺźe wykĹ‚adnik ten jest uniwersalnym narzÄ™dziem do analizy wszelkich szeregĂłw czasowych. Oblicza siÄ™ go na podstawie nachylenia wykresĂłw logarytmĂłw R/S w zaleĹźnoĹ›ci od dĹ‚ugoĹ›ci danych N na skali podwĂłjnie logarytmicznej. R = a â‹…NH, S

(11)

gdzie: R – zakres szeregu czasowego, S – odchylenie standardowe, N – liczba obserwacji, a – stała estymowana na p o dstawie nachylenia wykresu R/S, H – wykładnik Hursta.

Rys. 3. Aproksymacja rozkładu statystycznego uchybu regulacji przy pomocy rozkładu Gaussa, ι-stabilnego oraz Gaussa z parametrami odpornościowymi Fig. 3. Control error histogram with fitted Gauss, ι-stable and robust probabilistic density functions

Po obustronnym zlogarytmizowaniu równania (11) moşna obliczyć wykładnik H. Niestety jedna prosta w większości przypadków niedokładnie aproksymuje dane na wykresie przeskalowanego zasięgu, stąd teş podejmuje się próby aproksymacji danych łamaną z dwoma punktami przegięcia (ang. crossover), co zostało szerzej opisane w [43]. W procesie oceny działania regulatora kluczowy jest począt-

31


L L% "'. =L " $ ' $ ' ' L " "'. $g "

− mscalelogist – PID z waĹźeniem wartoĹ›ci zadanej nastrojony przy pomocy IAE. AnalizujÄ…c cztery wskaĹşniki, wybrane zostaĹ‚y w sumie trzy róşne przypadki. Trzy z tego wzglÄ™du, Ĺźe do regulatora z róşniczkowaniem wyjĹ›cia zostaĹ‚y wybrane parametry rĂłwnolegĹ‚ego PI, a optymalizacja przy pomocy IAE wyznaczyĹ‚a zerowe wzmocnienia dla czĹ‚onu róşniczkowania. SprowadziĹ‚a ona w ten sposĂłb regulator PID z róşniczkowaniem wyjĹ›cia do rĂłwnolegĹ‚ego regulatora PI. PorĂłwnujÄ…c jakoĹ›ciowo oba te przebiegi moĹźna zauwaĹźyć, Ĺźe regulator PI mocniej oscyluje wokół wartoĹ›ci zadanych. PoniewaĹź wskaĹşnik MSE jest mniej odporny i bardziej uwzglÄ™dnia pojedyncze duĹźe wahania, wyznaczyĹ‚ on wĹ‚aĹ›nie takie parametry. Warto zwrĂłcić uwagÄ™ na fakt, Ĺźe optymalizacja sprowadziĹ‚a regulator bardziej zaawansowany, o wiÄ™kszej liczbie stopni swobody i współczynnikĂłw, do formy prostszej zerujÄ…c część jego parametrĂłw.

Rys. 4. Przykład analizy R/S danych; H 0 jest wykładnikiem Hursta obliczonym na podstawie aproksymacji danych prosta; współczynniki H1, H 2 oraz H 3 oznaczają wykładniki Hursta obliczone na podstawie danego odcinka łamanej o punktach przegięcia cr1 i cr 2 Fig. 4. R/S extended range analysis: H 0 denotes single Hurst exponent; multiple exponents H1, H2 , H3 denote muliti persistent approximation separated with crossover points cr1 and cr2

kowy odcinek krzywej aproksymujÄ…cej dane. W przypadku maĹ‚ej iloĹ›ci dostÄ™pnych danych (N) wykĹ‚adnik Hursta moĹźe zĹ‚udnie oceniać szereg czasowy. PrzykĹ‚ad analizy przeskalowanego zakresu danych moĹźna zobaczyć na rys. 4. WykĹ‚adnik Hursta jest miarÄ… korelacji elementĂłw szeregu czasowego. Przyjmuje on wartoĹ›ci z zakresu ⌊0; 1âŒŞ: − gdy H ∈ ⌊0; 0,5) to szereg jest ergodyczny (antypersystentny); jego wartoĹ›ci powracajÄ… do Ĺ›redniej; w odniesieniu do oceny jakoĹ›ci regulacji oznacza to, Ĺźe regulator jest szybki (ang. aggressive) [49]; − gdy H ∈ (0,5; 1âŒŞ to szereg jest persystentny; jego wartoĹ›ci odbiegajÄ… od Ĺ›redniej; oznacza to, Ĺźe regulator jest powolny (ang. sluggish), a regulowany proces moĹźe być niestabilny; − gdy H = 0,5 to wszystkie elementy szeregu sÄ… niezaleĹźne, nieskorelowane; wartość ta stanowi punkt odniesienia w procesie projektowania regulatorĂłw.

Y, % ' W pierwszej kolejnoĹ›ci analizie zostaĹ‚y poddane moĹźliwoĹ›ci strojenia algorytmĂłw regulacji PID przy wykorzystaniu róşnych wskaĹşnikĂłw jakoĹ›ci. BiorÄ…c pod uwagÄ™ wielorakość wskaĹşnikĂłw oraz wersji algorytmĂłw regulacji trudno w pracy zamieĹ›cić wszystkie wyniki. Dlatego zamieszczono tylko przykĹ‚adowe wyniki, zaĹ› podsumowanie zaprezentowano w postaci tabelarycznej. Dla przykĹ‚adu pokazany zostanie przebieg badania dla rĂłwnolegĹ‚ego regulatora PI dla wskaĹşnika MSE. Najpierw na modelu liniowym zostaje uruchomiona optymalizacja metodÄ… ga. Po 64 pokoleniach i 3250 symulacjach algorytm skoĹ„czyĹ‚ dziaĹ‚anie i zwrĂłciĹ‚ parametry: PTsec,evap,out = 24,3883, I Tsec,evap,out = 24,8822, PTSH = 5,0567, I TSH = 5,0184. Przebiegi na modelu liniowym dla tych parametrĂłw sÄ… przedstawione na rys. 5. Po znalezieniu parametrĂłw zostaĹ‚ wykonany test na oryginalnym modelu. PoniewaĹź uĹźycie uzyskanych wynikĂłw daĹ‚o regulator stabilny, ukĹ‚ad zostaĹ‚ uruchomiony na modelu z bĹ‚Ä™dami pomiarowymi. Oba eksperymenty zostaĹ‚y przedstawione na rys. 7.

Rys. 5. Równoległy regulator PI strojony z uşyciem MSE – symulacja na modelu liniowym Fig. 5. Parralel PI controller tuned according to MSE – linear model simulation– process variables

Y,L, # ! Dla modelu z zakĹ‚Ăłceniami zostaĹ‚y wybrane struktury, ktĂłre uzyskaĹ‚y najlepszÄ… jakość regulacji pod wzglÄ™dem kaĹźdego ze wskaĹşnikĂłw. − MSE – PI rĂłwnolegĹ‚y nastrojony przy pomocy MSE, − IAE – PID z waĹźeniem wartoĹ›ci zadanej nastrojony przy pomocy IAE, − mediana – PID z waĹźeniem wartoĹ›ci zadanej nastrojony przy pomocy IAE,

32

P

O

M

I

A

R

Y

•

A

U

T

O

M

Rys. 6. Równoległy regulator PI strojony z uşyciem MSE – symulacja na modelu liniowym – przebiegi sygnałów sterujących Fig. 6. Parralel PI controller tuned according to MSE - linear model simulation - manipulated variables

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Y,H, # ' ! Biorąc pod uwagę analizę wszystkich wskaźników, najlepszy wynik został uzyskany dla regulatorów strojonych przy pomocy IAE. Jednak, aby uwzględnić więcej czynników, zostaną równieş porównane inne aspekty. Zgodnie z tabelą 1 wskaźnik MSE zwrócił 8/9 stabilnych regulatorów, IAE 7/9, mediana 4/9, a statystyka odpornościowa 5/9. Tab. 1. Stabilność wyznaczonych regulatorów dla modelu bez błędów pomiarowych Tab. 1. Stability of controllers designed without disturbances 1

2

3

4

5

6

7

8

9

MSE

8

9

9

9

9

9

9

9

9

IAE

8

9

9

9

9

8

9

9

9

mediana

8

8

8

9

8

8

9

9

9

mscalelogist

9

8

8

9

8

8

9

9

9

Rys. 7. Równoległy regulator PI strojony z uşyciem MSE w wersji z zakłóceniami i bez Fig. 7. Parralel PI controller tuned according to MSE, with and without disturbances – process variables

Rys. 8. Równoległy regulator PI strojony z uşyciem MSE w wersji z zakłóceniami i bez – przebiegi sygnałów sterujących Fig. 8. Parralel PI controller tuned according to MSE, with and without disturbances – manipulated variables

Analizując, jaki wskaźnik uşyty podczas strojenia dał najlepsze przebiegi dla kaşdej ze struktur okazuje się, şe dominują tu wskaźniki MSE oraz IAE. Strojenie za pomocą statystyki odpornościowej najlepiej zadziałało dla równoległego regulatora PD, natomiast mediana nie dała najlepszego rezultatu dla şadnej ze struktur. Strojenie przy pomocy mediany oraz statystyki odpornościowej dało średnio gorsze układy niş MSE oraz IAE. Naleşy wziąć równieş pod uwagę, şe nie są tutaj uwzględnione układy niestabilne, poniewaş nie były one testowane na modelu z błędami pomiarowymi, co jeszcze bardziej pokazuje przewagę wskaźników MSE oraz IAE. Prezentacja wszystkich wskaźników umieszczona jest w tablicy 4.

], ^ ! ! ! Po porĂłwnaniu wpĹ‚ywu wykorzystania wskaĹşnika oceny na jakość otrzymanego regulatora analizie zostaĹ‚y poddane same wskaĹşniki oceny oraz to, jak one pozwalajÄ… odzwierciedlić róşne modyfikacje struktur regulacji. W ramach badaĹ„ przeprowadzono eksperymenty majÄ…ce na celu zaprojektowanie regulatora optymalnego PI oraz MPC. Ponadto w celu optymalizacji dziaĹ‚ania regulatora PI jego strukturÄ™ rozszerzano o dodatkowe mechanizmy majÄ…ce na celu poprawienie jakoĹ›ci regulacji, tj. anti-windup oraz kompensacjÄ™ zakĹ‚ĂłceĹ„ przy pomocy sprzęşenia feedforward. Mechanizm anti-windup wykorzystuje algorytm clamping, czyli koĹ„czy caĹ‚kowanie w momencie, gdy przekroczone zostanÄ… ograniczenia sygnaĹ‚u sterujÄ…cego oraz sygnaĹ‚ sterujÄ…cy i wyjĹ›ciowy sÄ… tego samego znaku [19]. CzĹ‚on feedforward zostaĹ‚ zaimplementowany w strukturze przemysĹ‚owej przedstawionej na rys. 9. Taka struktura, o trzech parametrach: T1, T2 oraz K, przy czym T2 > T1 nie wymaga modelu sygnaĹ‚Ăłw zakĹ‚ĂłcajÄ…cych do ich kompensacji, skÄ…d znalazĹ‚a swoje zastosowanie w przemyĹ›le. StaĹ‚a czasowa T1 stanowi o tym, jak szybko bÄ™dzie narastaĹ‚ sygnaĹ‚ uff w odpowiedzi na zmianÄ™ sygnaĹ‚u zakĹ‚ĂłcajÄ…cego, a T2 – jak szybko zostanie ona wytĹ‚umiona. Badania przeprowadzono w dwĂłch Ĺ›rodowiskach: z obecnoĹ›ciÄ… szumu zakĹ‚ĂłceĹ„ oraz przy braku szumu. Szum zakĹ‚ĂłceĹ„ wprowadzony do ukĹ‚adu ma rozkĹ‚ad Gaussa o Ĺ›redniej m = 0 i wariancji s2 = 0,0007. ZostaĹ‚ on dodany do sygnaĹ‚Ăłw zakĹ‚ĂłcajÄ…cych. Regulatory zaimplementowano w Ĺ›rodowisku MATLAB/Simulink. Parametry regulatorĂłw PI oraz czĹ‚onu feedforward dobierano przy pomocy metod optymalizacji lokalnej, minimalizujÄ…c kwadrat uchybu regulacji. Regulator predykcyjny wykorzystuje algorytm MPCS (Model Predictive Control with State equations) i zostaĹ‚ zaprojektowany w aplikacji MPC Designer z przybornika Model Predictive Control Toolbox. Regulator predykcyjny swoje dziaĹ‚anie opiera na modelu w postaci transmitancji (10), ktĂłry zostaĹ‚ szerzej opisany w [20]. Trajektoria zadana dla obu zmiennych procesowych oraz sygnaĹ‚Ăłw zakĹ‚ĂłcajÄ…cych zostaĹ‚a narzucona przez twĂłrcĂłw modelu [51] i nie byĹ‚a modyfikowana na potrzeby badaĹ„.

Rys. 9. Schemat członu kompensującego zakłócenia feedforward; uff – sygnał wyjściowy członu feedforward Fig. 9. Industrial design of disturbance decoupling feedforward; uff feedforward output

33


L L% "'. =L " $ ' $ ' ' L " "'. $g "

Rys. 11. Przebiegi sygnałów wyjściowych procesu dla regulatora optymalnego MPC w warunkach bez szumu zakłóceń Fig. 11. Process variables for optimal MPC controller in the undisturbed scenario

Rys. 10. Wskaźniki jakości regulacji dla regulatorów PI, MPC, PIs oraz MPCs; wskaźniki z indeksem 1 odnoszą się do pętli sterującej zmienną Tsec,evap,out, z indeksem 2 dotyczą pętli sterującej TSH Fig. 10. Multicriteria radar plot for PI, MPC, PIs and MPCs: measures with index 1 apply to Tsec,evap,out loop, index 2 applies to TSH loop

W wyniku badań wybrano cztery najlepiej dostrojone układy sterowania: PI o rozszerzonej strukturze oraz MPC przy obecności szumu zakłóceń, jak i przy ich braku – oznaczone dalej odpowiednio: PI, MPC, PIs oraz MPCs. Wartości badanych wskaźników jakości dla tych regulatorów zebrane są w tabelach 2 oraz 3. Wizualne porównanie wyników przedstawia rysunek 10. Indeksem 1 oznaczono pętlę sterującą zmienną Tsec,evap,out, a indeksem 2 – sterującą zmienną TSH. Wykres radarowy przedstawia stosunek najmniejszej wartości danego wskaźnika jakości uzyskaną spośród wszystkich porównywanych regulatorów do wartości dla danego regulatora. Oznacza to, şe wartość wskaźnika była tym mniejsza, im blişej zewnętrznej części wykresu znajduje się krzywa dotycząca danego regulatora. Na potrzeby wykonania wykresu uśredniono przeregulowania oraz czasy regulacji

Rys. 12. Przebiegi sygnałów wejściowych procesu dla regulatora optymalnego MPC w warunkach bez szumu zakłóceń Fig. 12. Manipulated variables for optimal MPC controller in the undisturbed scenario

dla trzech skoków wartości zadanej zmiennej TSH, oznaczając je odpowiednio k2 i Tr2. Jak widać (rys. 13), mechanizm anti-windup skutecznie eliminuje przeregulowanie wynikające z nadmiernej akcji całkującej podczas osiągania przez sygnał sterujący ograniczeń. Wartości

Tab. 2. Porównanie wartości czasów regulacji i przeregulowań dla regulatorów PI, MPC, PIs oraz MPCs (indeks przy wskaźniku oznacza kolejne skoki wartości zadanej) Tab. 2. Comparison of the settling times and overshoots for PI, MPC, PIs and MPCs controllers (measure index denotes consecutives etpoint steps Tsec,evap,out

TSH

Regulator [%]

Tr [s]

1 [%]

Tr1 [s]

2 [%]

Tr2 [s]

3 [%]

Tr3 [s]

PI

0,93

2

17,79

8

1,02

24

75,92

6

MPC

0,1

2

0,99

8

0,6

23

20,48

4

PIs

0,16

2

3,85

12

1,46

26

9,47

5

MPCs

0,12

2

2,14

8

1,68

22

21,64

4

Tab. 3. Porównanie wartości wskaźników błędu regulacji dla regulatorów PI, MPC, PIs i MPCs Tab. 3. Comparison of control error measures for PI, MPC, PIs and MPCs controllers Tsec,evap,out

TSH

Regulator

34

MSE⋅10–3

IAE⋅10–2

H

MSE

IAE

H

PI

1,496

0,309

0,420

0,368

0,102

0,837

MPC

1,019

0,241

0,523

0,312

0,078

0,651

PIs

1,324

1,125

0,473

0,368

0,158

0,526

MPCs

1,173

0,743

0,389

0,357

0,147

0,586

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Rys. 13. Wpływ działania mechanizmów anti-windup oraz feedforward na jakość pracy regulatora optymalnego PI w warunkach bez szumu zakłóceń Fig. 13. Anti-windup and disturbance decoupling feedforward impact on optimal PI control in the undistrbed scenario

wskaźników jakości uzyskane dla przedstawionych regulatorów są zblişone do siebie, jednak w obu badanych środowiskach nişsze wartości wskaźników uzyskały regulatory predykcyjne. Warto zauwaşyć, şe wykładnik Hursta osiąga wartości zblişone do H = 0,5, czyli do regulacji neutralnej.

b, #

W artykule dokonano analizy wpĹ‚ywu przyjÄ™tej postaci wskaĹşnika jakoĹ›ci jako celu strojenia regulatora na efektywność dziaĹ‚ania otrzymanego regulatora oraz porĂłwnania dziaĹ‚ania regulatorĂłw PID oraz MPC na przykĹ‚adowym obiekcie przy pomocy wybranych wskaĹşnikĂłw jakoĹ›ci, zarĂłwno przy obecnoĹ›ci szumu zakĹ‚ĂłceĹ„, jak i przy jego braku. Z przeprowadzonych eksperymentĂłw moĹźna sprĂłbować wyciÄ…gnąć wnioski na temat architektury regulatorĂłw PID oraz stosowania róşnych wskaĹşnikĂłw jakoĹ›ci przy ich strojeniu. Po pierwsze podstawowa architektura PID potrafi zapewnić dobrÄ… jakość regulacji nawet dla obiektĂłw nieliniowych. Zastosowane regulatory PI przy odpowiednich nastawach daĹ‚y dobrÄ… jakość regulacji, a wskaĹşnik MSE zwracaĹ‚ jÄ… jako najlepszÄ… spoĹ›rĂłd wszystkich struktur. MoĹźna rĂłwnieĹź zauwaĹźyć, Ĺźe wszystkie pozostaĹ‚e wskaĹşniki wskazaĹ‚y na jednÄ… strukturÄ™, czyli regulator PID z waĹźeniem wartoĹ›ci zadanej, nastrojony przy pomocy wskaĹşnika IAE. Jednak biorÄ…c pod uwagÄ™ fakt, Ĺźe istniejÄ… dwa tory sterowania i dwa regulatory, to z czterech parametrĂłw do nastrojenia dla PI, dla PID z waĹźeniem wartoĹ›ci zadanej trzeba dobrać ich dwanaĹ›cie. PorĂłwnujÄ…c wskaĹşniki jakoĹ›ci moĹźemy zauwaĹźyć, Ĺźe wskaĹşnik minimalno-kwadratowy, ktĂłry mocno karze za wszelkie duĹźe odchylenia, znalazĹ‚ najwiÄ™cej zestawĂłw parametrĂłw zapewniajÄ…cych stabilne dziaĹ‚anie, ale jednoczeĹ›nie nie jest to rozwiÄ…zanie idealne. WskaĹşnik IAE, ktĂłry jest bardziej odporny niĹź MSE dla regulatora z waĹźeniem wartoĹ›ci zadanej wyznaczyĹ‚ parametry, ktĂłre w rezultacie daĹ‚y regulatory bardziej odporne na zakĹ‚Ăłcenia. Ostatecznie pozostaĹ‚e dwa, jeszcze bardziej odporne wskaĹşniki, rĂłwnieĹź wskazaĹ‚y go jako najlepszy spoĹ›rĂłd wszystkich, jednak algorytm optymalizacji posĹ‚ugujÄ…c siÄ™ wyĹ‚Ä…cznie nimi dawaĹ‚ gorsze rezultaty. AnalizujÄ…c otrzymane wyniki moĹźna wysnuć przypuszczenie, Ĺźe wskaĹşniki odporne wskazywaĹ‚y na bardziej agresywne regulatory. Finalnie w zwiÄ…zku z tym, Ĺźe ukĹ‚ady strojone byĹ‚y na modelu liniowym, to testowane na oryginalnym obiekcie czÄ™sto okazywaĹ‚y siÄ™ być niestabilne. W obu Ĺ›rodowiskach, niezaleĹźnie od obecnoĹ›ci szumu najniĹźsze wartoĹ›ci wskaĹşnikĂłw jakoĹ›ci uzyskiwaĹ‚y regulatory pre-

dykcyjne. Pomimo faktu, iĹź wykorzystujÄ… one liniowy model procesu do minimalizacji bĹ‚Ä™du regulacji, optymalnie sterujÄ… procesem i kompensujÄ… wpĹ‚yw zakĹ‚ĂłceĹ„ mimo braku uwzglÄ™dniania sygnaĹ‚Ăłw zakĹ‚ĂłcajÄ…cych w modelu i algorytmie regulacji. Regulator PI w wersji podstawowej nie osiÄ…ga najlepszej jakoĹ›ci regulacji. Prostymi dostÄ™pnymi przemysĹ‚owo metodami, takimi jak ograniczanie caĹ‚kowania mechanizmem anti-windup oraz wykorzystanie czĹ‚onu kompensujÄ…cego zakĹ‚Ăłcenia feedforward moĹźna znaczÄ…co poprawić jakość regulacji. Dodatkowo, przedstawiona struktura feedforward jest wygodna z racji, iĹź nie wymaga modelu sygnaĹ‚u zakĹ‚ĂłcajÄ…cego. UĹźywanie róşnych wskaĹşnikĂłw jakoĹ›ci regulacji dostarcza wiele informacji o sterowaniu procesem. Wiele estymatorĂłw, np. bĹ‚Ä…d minimalno-kwadratowy, nie sÄ… odporne na szum ani na odbiegniÄ™cia od modelu i mogÄ… zĹ‚udnie oceniać jakość regulacji. Dlatego warto posĹ‚ugiwać siÄ™ wskaĹşnikami, ktĂłre rzetelnie oceniajÄ… jakość regulacji niezaleĹźnie od warunkĂłw oraz modelu, takimi jak bĹ‚Ä…d IAE lub parametry g i so. RozkĹ‚ady te znacznie lepiej aproksymujÄ… rozkĹ‚ad statystyczny uchybu regulacji. Analiza przeskalowanego zasiÄ™gu jest narzÄ™dziem rzadko stosowanym w automatyce. W warunkach przemysĹ‚owych, przy obecnoĹ›ci szumĂłw i zakĹ‚ĂłceĹ„ oraz braku modelu dynamiki procesu, wartość wykĹ‚adnika Hursta rĂłwna 0,5, ktĂłra odzwierciedla optymalne sterowanie procesem, jest praktycznie nieosiÄ…galna. WykĹ‚adnik ten dostarcza jednak wielu wartoĹ›ciowych informacji na temat pracy regulatorĂłw i moĹźe być bardzo uĹźytecznym, niestandardowym narzÄ™dziem oceny dziaĹ‚ania regulatora. PowyĹźej opisane analizy miaĹ‚y na celu pokazanie potencjalnych moĹźliwoĹ›ci wynikajÄ…cych z rozszerzenia klasycznie stosowanych wskaĹşnikĂłw oceny wykorzystujÄ…cych bĹ‚Ä…d Ĺ›redniokwadratowy o podejĹ›cia odporne. WykorzystujÄ…c wyniki dotyczÄ…ce regresji odpornej, statystyki odpornoĹ›ciowe czy teĹź niegaussowskie miary persystencji zaproponowano i zastosowano do zadania projektowania, jak i oceny jakoĹ›ci sterowania, alternatywne wskaĹşniki w postaci odpornoĹ›ciowego odchylenia standardowego wykorzystujÄ…cego logistycznÄ… Ďˆ funkcjÄ™ so, współczynnika skali g gruboogonowego a-stabilnego rozkĹ‚adu gÄ™stoĹ›ci prawdopodobieĹ„stwa, czy teĹź wykĹ‚adnik Hursta H. Przedstawione wyniki nie wyczerpujÄ… tematu. Ciekawym zagadnieniem byĹ‚oby dalsze systematyczne testowanie proponowanych wskaĹşnikĂłw odpornych, jako wewnÄ™trznego wskaĹşnika jakoĹ›ci regulatora predykcyjnego, jako wskaĹşnika jakoĹ›ci podczas zadania modelowania czy teĹź klasycznej optymalizacji. Owe kierunki badaĹ„ sÄ… raczej bardzo rzadkie w literaturze, a wyniki dotyczÄ…ce wskaĹşnikĂłw odpornych oferujÄ… wysokie efektywnoĹ›ci, szczegĂłlnie w sytuacji wystÄ™powania w danych anomalii oraz wartoĹ›ci odstajÄ…cych.

^ 1. Ordys A., Uduehi D., Johnson M.A., Process Control Performance Assessment – From Theory to Implementation. Springer-Verlag, London 2007. 2. Bauer M., Horch A., Xie L., Jelali M., Thornhill N., The current state of control loop performance monitoring – a survey of application in industry. “Journal of Process Controlâ€?, Vol. 38, 2016, 1–10, DOI: 10.1016/j.jprocont.2015.11.002. 3. DomaĹ„ski P.D., Golonka S., Jankowski R., Kalbarczyk P., Moszowski B., Control rehabilitation impact on production nefficiency of ammonia synthesis installation . “Industrial & Engineering Chemistry Researchâ€?, Vol. 55, No. 39, 2016, 10366–10376, DOI: 10.1021/acs.iecr.6b02907. 4. Häggblom K.E., Process control laboratory. [www.users.abo. fi/khaggblo/PDC/PDC7.pdf] 2017. Accessed: 2019-05-05. 5. Ziegler J.G., Nichols N.B., Optimum settings for automatic controllers. “Transactions ASMEâ€?, Vol. 64, 759–768, 1942. 6. Cohen G.H., Coon G.A., Theoretical consideration of retarded control. “Transactions ASMEâ€?, Vol. 75, 827, 1953.

35


L L% "'. =L " $ ' $ ' ' L " "'. $g " Tab. 4. Wskaźniki jakości dla wszystkich testowanych układów Tab. 4. Control performance measures for all simulated scenarios MSE

IAE

MSE

IAE

med.

mscal

MSE

IAE

med.

mscal

1

4,1751

2,0953

1,1548

2,0325

3,9562

2,0289

1,0144

1,9802

2

8

8

8

8

8

8

8

8

3

0,0101

0,0153

0,0007

0,0011

0,0100

0,0145

0,0005

0,0009

4

0,0128

0,0485

0,0289

0,0443

0,0133

0,0527

0,0326

0,0497

5

0,0101

0,0150

0,0007

0,0009

0,0101

0,0153

0,0006

0,0010

6

0,0128

0,0486

0,0286

0,0443

0,0135

0,0543

0,0331

0,0503

7

0,0849

0,2896

0,3674

0,3955

0,0645

0,2408

0,2944

0,3210

8

0,0863

0,2908

0,3578

0,4005

0,0666

0,2433

0,2858

0,3279

9

0,0101

0,0152

0,0006

0,0008

0,0214

0,0299

0,0010

0,0014

10

0,0128

0,0484

0,0286

0,0440

0,0243

0,0609

0,0278

0,0432

11

0,0102

0,0160

0,0007

0,0011

0,0137

0,0491

0,0013

0,0023

12

0,0129

0,0494

0,0292

0,0446

8

8

8

8

13

0,0101

0,0149

0,0005

0,0007

0,0100

0,0145

0,0008

0,0012

14

0,0133

0,0528

0,0322

0,0491

0,0131

0,0514

0,0320

0,0484

15

0,0101

0,0152

0,0006

0,0009

0,0101

0,0153

0,0007

0,0011

16

0,0128

0,0485

0,0288

0,0443

0,0128

0,0485

0,0289

0,0443

17

0,0101

0,0148

0,0005

0,0008

0,0101

0,0150

0,0007

0,0011

18

0,0160

0,0469

0,0226

0,0347

0,0160

0,0467

0,0225

0,0344

1. PD rĂłwnolegĹ‚y 2. PD rĂłwnolegĹ‚y z bĹ‚Ä™dami pomiarowymi 3. PI rĂłwnolegĹ‚y 4. PI rĂłwnolegĹ‚y z bĹ‚Ä™dami pomiarowymi 5. PID rĂłwnolegĹ‚y 6. PID rĂłwnolegĹ‚y z bĹ‚Ä™dami pomiarowymi 7. PD szeregowy 8. PD szeregowy z bĹ‚Ä™dami pomiarowymi 9. PI szeregowy 10. PI szeregowy z bĹ‚Ä™dami pomiarowymi 11. PID szeregowy 12. PID szeregowy z bĹ‚Ä™dami pomiarowymi 13. PID rĂłwnolegĹ‚y z filtrem róşniczkowania 14. PID rĂłwnolegĹ‚y z filtrem róşniczkowania z bĹ‚Ä™dami pomiarowymi 15. PID rĂłwnolegĹ‚y z róşniczkowaniem wyjĹ›cia 16. PID rĂłwnolegĹ‚y z róşniczkowaniem wyjĹ›cia z bĹ‚Ä™dami pomiarowymi 17. PID rĂłwnolegĹ‚y z waĹźeniem wartoĹ›ci zadanej 18. PID rĂłwnolegĹ‚y z waĹźeniem wartoĹ›ci zadanej z bĹ‚Ä™dami pomiarowymi

7. Ă…strĂśm K.J., Hägglund T., Automatic tuning of simple regulators with specifications on phase and amplitude margins. “Automaticaâ€?, Vol. 20, No. 5, 645–651, 1984, DOI: 10.1016/0005-1098(84)90014-1. 8. McMillan G.K., Good tuning: A pocket guide. ISA, 2 edition, 2006. 9. Visioli A., Practical PID control. Springer Science & Business Media, 2006. 10. ODwyer A., Handbook of PI and PID controller tuning rules. Imperial College Press, 2003. 11. Seborg D.E., Edgar T.F., Mellichamp D.A., Doyle F.J., Process Dynamics and Control, 4th ed. Wiley, 2016. 12. Rousseeuw P.J., Robust regression and outlier detection. Wiley Series in Probability and Mathematical Statistics. John Wiley, New York 1987. 13. Huber P.J., Ronchetti E.M., Robust Statistics. Wiley, Hoboken, 2009. 14. Verboven S., Hubert M., LIBRA: A MATLAB library for robust analysis. “Chemometrics and Intelligent Laboratory Systemsâ€?, Vol. 75, No. 2, 127–136, 2005, DOI: 10.1016/j.chemolab.2004.06.003. 15. Smuts J.F., Hussey A., Requirements for successfully implementing and sustaining advanced control applications. Proceedings of the 54th ISA POWID Symposium, 89–105, 2011.

36

P

O

M

I

A

R

Y

•

A

U

T

O

M

16. Jelali M., Control performance management in industrial automation: assessment, diagnosis and improvement of control loop performance. Springer-Verlag, London 2013. 17. DomaĹ„ski P.D., Non-Gaussian properties of the real industrial control error in SISO loops. Proceedings of the 19th International Conference on System Theory, Control and Computing, 877–882, 2015, DOI: 10.1109/ICSTCC.2015.7321405. 18. Tatjewski P., Sterowanie zaawansowane obiektĂłw przemysĹ‚owych. IBUK Libra, 2016. 19. MathWorks. MATLAB Documentation. The MathWorks Inc., 1994–2018. 20. Cajo R., Zhao S., Ionescu C.M., De Keyser R., Plaza D., Liu S., IMC based PID control applied to the benchmark PID18. “IFAC-PapersOnLineâ€?, Vol. 51, No. 4, 2018, 728–732, DOI: 10.1016/j.ifacol.2018.06.210. 21. Spinner T., Srinivasan B., Rengaswamy R., Data-based automated diagnosis and iterative retuning of proportional-integral (PI) controllers. “Control Engineering Practiceâ€?, Vol. 29, 23–41, 2014, DOI: 10.1016/j.conengprac.2014.03.005. 22. Hägglund T., Automatic detection of sluggish control loops. “Control Engineering Practiceâ€?, Vol. 7, No. 12, 1505–1511, 1999, DOI: 10.1016/S0967-0661(99)00116-1.

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


med.

mscal

MSE

IAE

med.

mscal

MSE

IAE

med.

mscal

4,6029

2,2378

2,6354

2,1693

0,4538

0,7595

0,9985

1,1057

8

8

8

8

0,4569

0,7688

0,9844

1,1191

2,0021

1,2258

0,3704

0,5994

0,2697

0,2804

0,0046

0,0066

8

8

8

8

8

8

8

8

2,3836

1,2882

0,3246

0,5706

2,9242

1,3963

0,2951

0,5354

8

8

8

8

8

8

8

8

0,0143

0,0750

0,0779

0,0859

0,0938

0,2972

0,3488

0,3985

0,0162

0,0798

0,0698

0,0944

0,1145

0,3234

0,3278

0,4309

2,9848

1,4160

0,2829

0,5906

3,3737

1,5223

0,4490

0,8345

8

8

8

8

8

8

8

8

3,4629

1,5161

0,5403

0,7863

3,2850

1,5629

0,4409

0,9075

8

8

8

8

8

8

8

8

0,0101

0,0148

0,0006

0,0008

0,0101

0,0147

0,0005

0,0008

0,0130

0,0502

0,0312

0,0469

0,0132

0,0521

0,0320

0,0483

0,0102

0,0152

0,0006

0,0008

0,0101

0,0152

0,0007

0,0010

0,0128

0,0485

0,0288

0,0442

0,0128

0,0485

0,0288

0,0442

0,1106

0,0732

0,0010

0,0014

0,1471

0,1497

0,1120

0,1357

0,1222

0,1046

0,0251

0,0394

0,1571

0,1801

0,1260

0,1607

23. Visioli A., Method for proportional-integral controller tuning assessment. “Industrial & Engineering Chemistry Research�, Vol. 45, No. 8, 2741–2747, 2006, DOI: 10.1021/ie0508482. 24. Salsbury T.I., A practical method for assessing the performance of control loops subject to random load changes. “Journal of Process Control�, Vol. 15, No. 4, 393–405, 2005, DOI: 10.1016/j.jprocont.2004.08.004. 25. Zhao Y.M., Xie W.F., Tu X.W., Performance-based parameter tuning method of model-driven PID control systems. “ISA Transactions�, Vol. 51, No. 3, 393–399, 2012, DOI: 10.1016/j.isatra.2012.02.005. 26. Zheng B., Analysis and auto-tuning of supply air temperature PI control in hot water heating systems. PhD thesis, Dissertation of University of Nebraska, 2007. 27. Yu Z., Wang J., Performance assessment of static leadlag feedforward controllers for disturbance rejection in PID control loops. “ISA Transactions�, Vol. 64, 67–76, 2016, DOI: 10.1016/j.isatra.2016.04.016. 28. Horch A., A simple method for detection of stiction in control valves. “Control Engineering Practice�, Vol. 7, No. 10, 1221–1231, 1999, DOI: 10.1016/S0967-0661(99)00100-8. 29. Howard R., Cooper D., A novel pattern-based approach for diagnostic controller performance monitoring. “Control Engineering Practice�, Vol. 18, No. 3, 279–288, 2010, DOI: 10.1016/j.conengprac.2009.11.005.

30. Choudhury M.A.A.S., Shah S.L., Thornhill N.F., Diagnosis of poor control-loop performance using higher-order statistics. “Automaticaâ€?, Vol. 40, No. 10, 1719–1728, 2004, DOI: 10.1016/j.automatica.2004.03.022. 31. Li Y., O’Neill Z., Evaluating control performance on building HVAC controllers. International Building Performance Simulation Association, 962–967, Hyderabad, India, 2015. 32. DomaĹ„ski P.D., Statistical measures for proportional–integral–derivative control quality: Simulations and industrial data. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 232(4):428–441, 2018. 33. Harris T.J., Assessment of closed loop performance. “Canadian Journal of Chemical Engineeringâ€?, Vol. 67, No. 5, 856– 861, 1989, DOI: 10.1002/cjce.5450670519. 34. Meng Q.W., Gu J.Q., Zhong Z.F., Ch S., Niu Y.G., Control performance assessment and improvement with a new performance index. 25th Chinese Control and Decision Conference (CCDC), 4081–4084, 2013. 35. Afshar Khamseh S., Khaki Sedigh A., Moshiri B., Fatehi A., Control performance assessment based on sensor fusion techniques. “Control Engineering Practiceâ€?, Vol. 49, 14–28, 2016, DOI: 10.1016/j.conengprac.2016.01.008. 36. Salsbury T.I., Alcala C.F., Two new normalized EWMAbased indices for control loop performance assessment.

37


L L% "'. =L " $ ' $ ' ' L " "'. $g "

37.

38.

39.

40.

41.

42.

43.

44.

45. Knierim-Dietz N., Hanel L., Lehner J., Definition and verification of the control loop performance for different power plant types. Technical report, Institute of Combustion and Power Plant Technology, University of Stuttgart, 2012. 46. Borak S., Misiorek A., Weron R., Models for heavy-tailed asset returns. [In:] Cizek P., Härdle, W. K., Weron R. (eds), Statistical tools for finance and insurance, 21–56. Springer, New York, 2nd edition, 2011. 47. Koutrouvelis I.A., Regression-type estimation of the parameters of stable laws. “Journal of the American Statistical Associationâ€?, Vol. 75, No. 372, 918–928, 1980, DOI: 10.2307/2287182. 48. Peters E.E., Teoria chaosu a rynki kapitaĹ‚owe. WIG Press, Warszawa, 1997. 49. Spinner T., Srinivasan B., Rengaswamy R., Data-based automated diagnosis and iterative retuning of proportional-integral (PI) controllers. “Control Engineering Practiceâ€?, Vol. 29, 23–41, 2014, DOI: 10.1016/j.conengprac.2014.03.005. 50. BENCHMARK PID 2018, Benchmark for PID control of refrigeration systems based on vapour compression (version: july 2017). [http://servidor.dia.uned.es/~fmorilla/benchmarkPID2018]. Accessed: 2019-05-05. 51. Bejarano G., Alfaya J.A., Rodriguez D., Morilla F., Ortega M.G., Benchmark for PID control of refrigeration systems based on vapour compression. “IFAC-PapersOnLineâ€?, Vol. 51, No. 4, 497–502, 2018, DOI: 10.1016/j.ifacol.2018.06.144. 52. Pudlik W., Termodynamika, wydanie III – cyfrowe. [pbc.gda.pl/Content/4098/pbc_termodynamika.pdf]. Accessed: 2019-05-05.

2015 American Control Conference (ACC), 962–967, 2015, DOI: 10.1109/ACC.2015.7170858. Shardt Y., Zhao Y., Qi F., Lee K., Yu X., Huang B., Shah S., Determining the state of a process control system: Current trends and future challenges. “The Canadian Journal of Chemical Engineeringâ€?, Vol. 90, No. 2, 217–245, 2012, DOI: 10.1002/cjce.20653. Schlegel M., Skarda R., Cech M., Running discrete Fourier transform and its applications in control loop performance assessment. 2013 International Conference on Process Control (PC), 113–118, 2013, DOI: 10.1109/PC.2013.6581393. Nesic Z., Dumont G.A., Davies M.S., Brewster D., CD control diagnostics using a wavelet toolbox. Proceedings CD Symposium, IMEKO, Vol. XB, 120–125, 1997. Lynch C.B., Dumont G.A., Control loop performance monitoring. “IEEE Transactions on Control Systems Technologyâ€?, Vol. 4, No. 2, 185–192, 1996. Zhou Y.F., Wan F., A neural network approach to control performance assessment. “International Journal of Intelligent Computing and Cyberneticsâ€?, Vol. 1, No. 4, 617–633, 2008, DOI: 10.1108/17563780810919159. Pillay N., Govender P., A data driven approach to performance assessment of PID controllers for setpoint tracking. “Procedia Engineeringâ€?, Vol. 69, 1130–1137, 2014 DOI: 10.1016/j.proeng.2014.03.101. DomaĹ„ski P.D., Non-Gaussian and persistence measures for control loop quality assessment. “Chaosâ€?, 322(043105), 2016, DOI: 10.1063/1.4946772. Zhang J., Jiang M., Chen J., Minimum entropy-based performance assessment of feedback control loops subjected to non-Gaussian disturbances. “Journal of Process Controlâ€?, Vol. 24, No. 11, 1660–1670, 2015, DOI: 10.1016/j.jprocont.2014.08.003.

- U 0 4 A - 6 & 0 A E V 0 - 8 6 & T Abstract: Control quality is a crucial issue in modern industry. The engineer’s goal is to set control parameters and assess it constantly in order to maximize the efficiency of the process and watch the condition of actuators. The article describes a number of Control Performance Assessment indexes. They are applied to two tasks: controller tuning and the assessment of the quality of an already tuned control strategy. It presents a comparison between different indexes applied to various structures of the PID control algorithm. Finally the results are compared with Model Predictive Control. The analysis uses well known nonlinear industrial benchmark of a refrigeration system based on vapour compression. Keywords\ 0 - 8 $ 06E$ "0 $ S T $ LP

38

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


% C "

% C ! E

&X/ A %

/ %A

8/ 8 L / ? # & B J 6 - 0 # ? . & 66 / . & A 9

8/ 8 L / # & B J 6 - 0 # . & 66 / . & A & 9 A 9

< = % ) ) F & % & ORCID: 0000-0003-4053-3330 6 K $ & 6 8 6 - # & B J 6 - ? 0 # 0 . ? & . Y ? A / . . ? &9 ? & ? &

39


NR 3/2015

40

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 41–54, DOI: 10.14313/PAR_233/41

*+ " +

, " - " . , / / ! 01 $ ÄśČŚÉ ĆžË˜Ç”ȧÇ”ĆŹĘ Ë˜ °Ĺ˜ĘŠÉĄĘ Ë˜Ĺ˜Ç˜Ć™ ÄśÉ Ç–Ć‹Ç”ĆŹĆ‹Ç’ ă˘˿ȭÇ˜Ç”ĆŹËšÇ”Ć‹Ë˜Ć™ Ă€Ĺ˜Ć‹Ç”ĆŹÇ– ÄƒÇœĆŹÇŒĹ˜ČŽĆ‹Ë˜ËżÇ˜Ć™ ÄśÉ Ç–Ć‹Ç”ĆŹĆ‹Ç’ <Ë ĆžĆŹÇ˜Ć™ Ă€Ĺ˜Ç˜ĘŠ˿ȧ hÇ”ǡĹ˜ÇœĆ™ Ă€Ĺ˜Ć‹Ç”ĆŹÇ– ĜDŽǡÇ”ĆŹĘ ĆŹÇ˜Ć™ <Ĺ˜ËšÇ”Ćž ÄƒĆŹĘ ĆŹĆž˿ȎĘŠÇ˜Ç”Ć™ ,ĆŹË˜Ĺ˜Ę Ëż ĹŽÇ”ĆŹÇšÇ”ČŽĘŠÇ˜Ç” .

2 2 " 3

4

5 , 5 * 5 , 6 - $%7$( 8))% 2

ÄƒÇœĘ ĆŹĘŠË˜Ć‹Ë˜ĆŹČ­Ç”ĆŹĆ• Ten dwuczęściowy artykuĹ‚ przedstawia interfejs do Narodowej Platformy CyberbezpieczeĹ„stwa (NPC). Wykorzystuje on gesty i komendy wydawane gĹ‚osem do sterowania pracÄ… platformy. Ta część artykuĹ‚u przedstawia strukturÄ™ interfejsu oraz sposĂłb jego dziaĹ‚ania, ponadto prezentuje zagadnienia zwiÄ…zane z jego implementacjÄ…. Do specyfikacji interfejsu wykorzystano podejĹ›cie oparte na agentach upostaciowionych, wykazujÄ…c Ĺźe podejĹ›cie to moĹźe być stosowane do tworzenia nie tylko systemĂłw robotycznych, do czego byĹ‚o wykorzystywane wielokrotnie uprzednio. Aby dostosować to podejĹ›cie do agentĂłw, ktĂłre dziaĹ‚ajÄ… na pograniczu Ĺ›rodowiska fizycznego i cyberprzestrzeni, naleĹźaĹ‚o ekran monitora potraktować jako część Ĺ›rodowiska, natomiast okienka i kursory potraktować jako elementy agentĂłw. W konsekwencji uzyskano bardzo przejrzystÄ… strukturÄ™ projektowanego systemu. Część druga tego artykuĹ‚u przedstawia algorytmy wykorzystane do rozpoznawania mowy i mĂłwcĂłw oraz gestĂłw, a takĹźe rezultaty testĂłw tych algorytmĂłw. - " . , / / ! !

/ !

+ 9 !

!

9

1. Wprowadzenie Termin cyberbezpieczeństwo odnosi się do zbioru zagadnień związanych z zapewnieniem bezpieczeństwa uşytkowania sieci komputerowych, a w szczególności Internetu. Dotyczy on zabezpieczenia infrastruktury sieciowej uşywanej przez agendy państwa, prywatne korporacje oraz indywidualnych uşytkowników przed cyberatakami. Działania związane z cyberbezpieczeństwem przede wszystkim koncentrują się na zapobieganiu cyberatakom, ale jeşeli one juş nastąpią, to na maksymalnym ograniczeniu ich skutków. Podstawowym celem jest zapobieganie wyciekom danych oraz udaremnianie ataków polegających na uniemoşliwianiu realizacji usług dostarczanych przez sieć. Stopień zaleşności współczesnych państw od systemów teleinformatycznych osiągnął taki poziom, şe przypadkowe lub zamierzone uszkodzenie tej infrastruktury moşe pociągnąć za sobą

! " !

" $% & ' $( ! " " $) ( ' $(

katastrofalne skutki. Dlatego potrzebne sÄ… narzÄ™dzia sĹ‚uşące wykrywaniu, zapobieganiu oraz minimalizacji skutkĂłw dziaĹ‚aĹ„ naruszajÄ…cych bezpieczeĹ„stwo infrastruktury teleinformatycznej istotnej dla funkcjonowania paĹ„stwa oraz jego obywateli. W tym celu tworzona jest Narodowa Platforma CyberbezpieczeĹ„stwa (NPC), ktĂłra umoĹźliwi bieşące monitorowanie funkcjonowania sieci oraz zapewni koordynacjÄ™ w skali kraju dziaĹ‚aĹ„ sĹ‚uşących wykrywaniu i zapobieganiu niepoşądanym sytuacjom w cyberprzestrzeni. Mowa tutaj o sieciach wykorzystujÄ…cych protokoĹ‚y TCP/IP, mobilnych sieciach bezprzewodowych, sieciach tworzÄ…cych Internet Rzeczy (IoT) oraz sieciach automatyki przemysĹ‚owej. Narodowe centra cyberbezpieczeĹ„stwa powstaĹ‚y w wiÄ™kszoĹ›ci paĹ„stw wysokorozwiniÄ™tych, np. w Wielkiej Brytanii, USA czy Holandii [1–3]. Ich zadaniem jest monitorowanie, gromadzenie i analiza danych o podatnoĹ›ciach, zagroĹźeniach i naruszeniach cyberbezpieczeĹ„stwa oraz zapobieganie cyberatakom i reagowanie na incydenty na poziomie paĹ„stwa. PrzykĹ‚adem systemu monitorowania bezpieczeĹ„stwa sieci jest prototypowy system SEQUESTOR zainstalowany w Pacific Northwest National Laboratory (USA) [5]. System korzysta z wielu ĹşrĂłdeĹ‚ danych, w tym programĂłw antywirusowych, narzÄ™dzi sieciowych, analizy zdarzeĹ„ systemowych i ruchu sieciowego. Integracja danych z tak róşnorodnych ĹşrĂłdeĹ‚ stanowi prawdziwe wyzwanie projektowe. SzczegĂłlnie istotna jest czytelna prezentacja tych danych, a to siÄ™ Ĺ‚Ä…czy bezpoĹ›rednio ze sterowaniem przez operatorĂłw sys-

41


!" #$

temu, jak dane majÄ… być przedstawione. Kompleksowa analiza pracy sieci wymaga wykrywania korelacji zachodzÄ…cych zdarzeĹ„, analizy sytuacyjnej oraz dynamicznej i statycznej analizy ryzyka. Aby narzÄ™dzie do takiej analizy byĹ‚o uĹźyteczne, potrzebne sÄ… odpowiednie metody i techniki do wizualizacji wielowymiarowych danych [29, 30]. W systemie SEQUESTOR wizualizacja danych zostaĹ‚a zorganizowana za pomocÄ… SEQViz [5]. Dane sÄ… przedstawiane graficznie w postaci dwĂłch skoordynowanych widokĂłw: ogĂłlnego widoku sieci (w postaci grafu) oraz widoku modelu behawioralnego. Modele sÄ… wzorcami anomalii, czyli zachowaĹ„ wskazujÄ…cych na potencjalne zagroĹźenie lub atak. Aby wspomĂłc analitykĂłw sieci w wykrywaniu wzorcĂłw w danych dotyczÄ…cych dziaĹ‚ania sieci i wykrywaniu anomalii opracowano panel BubbleNet do ich wizualizacji [21]. Panel ten przedstawia dane w róşnych widokach: widoku lokalizacji w postaci mapy z przestrzennÄ… informacjÄ… zakodowanÄ… z uĹźyciem tzw. pseudo-kartogramĂłw Dorlinga [7], widoku czasowego w postaci wykresĂłw sĹ‚upkowych oraz widoku atrybutĂłw przedstawiajÄ…cych graficznie róşne atrybuty danych. W pracy [12] przedstawiono wizualny system interaktywny do wykrywania anomalii w danych czasoprzestrzennych zebranych z róşnych ĹşrĂłdeĹ‚ danych strumieniowych. Interaktywny interfejs graficzny uĹźytkownika tego systemu skĹ‚ada siÄ™ z oĹ›miu gĹ‚Ăłwnych widokĂłw, w tym makro- i mikromapy, widoku czasowego wzorca oraz widoku inspekcji cech. UĹźytkownik za pomocÄ… myszki moĹźe wybrać obszar na makromapie i wyĹ›wietlić na mikromapie listÄ™ anomalii wykrytych dla tego obszaru. MoĹźe rĂłwnieĹź wykonać operacje powiÄ™kszania i przesuwania oraz zmiany trybu wyĹ›wietlania na obu mapach. System VisIDAC [32] umoĹźliwia w czasie rzeczywistym wizualizacje 3D danych o zdarzeniach dotyczÄ…cych cyberbezpieczeĹ„stwa, zebranych przez systemy wykrywania wĹ‚amaĹ„ zainstalowane w róşnych sieciach. Dane o zdarzeniach sÄ… wyĹ›wietlane w postaci graficznej na trzech panelach: dla wejĹ›ciowego, wyjĹ›ciowego i docelowego ruchu sieciowego. W celu Ĺ‚atwego rozróşnienia rodzajĂłw zdarzeĹ„ sÄ… stosowane róşne ksztaĹ‚ty i kolory. Opracowanie systemu do monitorowania sieci pod kÄ…tem jej cyberbezpieczeĹ„stwa pociÄ…ga za sobÄ… konieczność stworzenia wielomodalnego interfejsu operatora umoĹźliwiajÄ…cego mu inteligentne sterowanie obrazowaniem zjawisk zachodzÄ…cych w cyberprzestrzeni. Niniejszy artykuĹ‚ poĹ›wiÄ™cony jest opisowi takiego interfejsu, ktĂłry umoĹźliwia sterowanie zobrazowaniem za pomocÄ… gĹ‚osu i gestĂłw operatora. Gesty tworzone sÄ… przez operatora – ruchy sylwetki, rÄ…k i gĹ‚owy. Oprogramowanie do rozpoznawania mowy i weryfikacji mĂłwcy zapewnia bezpieczny sposĂłb zadawania komend gĹ‚osowych przez uprzywilejowanego operatora systemu obrazowania. Prace badawcze poĹ›wiÄ™cone wielomodalnym interfejsom czĹ‚owiek-komputer sÄ… prowadzone od ponad 40 lat [15, 16, 23, 33]. Celem tych badaĹ„ jest opracowanie metod i technik interakcji ludzi z komputerem w peĹ‚ni wykorzystujÄ…cych sposoby naturalnej komunikacji i interakcji czĹ‚owieka z otoczeniem. Interfejsy wielomodalne charakteryzujÄ… siÄ™ dwiema podstawowymi cechami: Ĺ‚Ä…czeniem wielu typĂłw danych oraz przetwarzaniem tych danych w czasie rzeczywistym przy okreĹ›lonych ograniczeniach czasowych [15]. SposĂłb prezentacji operatorowi oraz analitykom zebranych danych o dziaĹ‚aniu sieci w istotny sposĂłb wpĹ‚ywa na efektywność ich pracy. Wielomodalny interfejs umoĹźliwia im dostosowanie sposobu prezentacji do ich wymagaĹ„. Sterowanie prezentacjÄ… danych za pomocÄ… komend gĹ‚osowych i gestĂłw umoĹźliwia obsĹ‚ugÄ™ systemu przez osoby, ktĂłre nie zostaĹ‚y specjalnie do tego przeszkolone, a co wiÄ™cej, uĹ‚atwia prezentacjÄ™ stanu sieci osobom podejmujÄ…cym decyzje, ktĂłre nie muszÄ… być zaznajomione ze sposobem dziaĹ‚ania interfejsu. Do codziennej obsĹ‚ugi systemu przez przeszkolony personel uĹźywane bÄ™dÄ… standardowe

42

P

O

M

I

A

R

Y

•

A

U

T

O

M

urządzenia wejściowe, takie jak klawiatury i myszki. Ponadto interfejs umoşliwia rozpoznanie mówcy i automatyczną jego autoryzację w systemie. Ten artykuł poświęcony jest sposobowi tworzenia interfejsu do Narodowej Platformy Cyberbezpieczeństwa (NPC), ale sposób ten moşe być wykorzystany takşe do budowy innych interfejsów. Ogólne metody tworzenia oprogramowania są określone przez inşynierię oprogramowania [28]. Niewątpliwie naleşy się do nich stosować, ale konkretne systemy mają swoją specyfikę, która równieş wpływa na architekturę powstającego oprogramowania. Interfejs stanowi styk między otoczeniem fizycznym, w którym znajduje się operator, a platforma NPC. Podobne cechy mają systemy robotyczne, które takşe operują w środowisku fizycznym, z jednej strony wpływając na nie, a z drugiej pozyskując z niego informacje. Podobnie interfejs oddziałuje na operatora, z jednej strony przekazując mu niezbędne dane, a z drugiej pozyskuje od niego informacje, jak konkretnie ma platforma zaprezentować zebrane dane. Dlatego postanowiono skorzystać z bogatego doświadczenia w konstrukcji systemów sterowania robotami i zastosować podejście wykorzystujące agenty upostaciowione [37–40] zarówno do specyfikacji jak i implementacji interfejsu. Prezentacja tej metody zastosowanej do budowy interfejsu jest głównym celem tego artykułu.

W procesie projektowania systemu pierwszym krokiem jest jego wyodrÄ™bnienie ze Ĺ›rodowiska. Tutaj system stanowiÄ… platforma NPC wraz z przedstawianym tu interfejsem do niej. ZaĹ‚oĹźono, Ĺźe kontakt operatora z systemem bÄ™dzie najbardziej naturalny, jeĹźeli bÄ™dzie siÄ™ moĹźna z nim porozumiewać tak, jak ludzie porozumiewajÄ… siÄ™ ze sobÄ…, a wiÄ™c za pomocÄ… gĹ‚osu i gestĂłw. Dlatego interfejs NPC wyposaĹźono w kamery i mikrofony. Ponadto operator w procesie powoĹ‚ywania systemu do Ĺźycia musi go skonfigurować, a nastÄ™pnie nim administrować. W tym celu uĹźywa standardowych urzÄ…dzeĹ„ wejĹ›ciowych komputera, takich jak myszka, klawiatura czy ekran dotykowy (touchpad). Informacja zwrotna wytwarzana przez system przedstawiana jest na ekranie monitora, a konkretnie w okienkach pojawiajÄ…cych siÄ™ na nim, a ponadto interakcja nastÄ™puje za pomocÄ… kursorĂłw przemieszczanych po ekranie. PrzyjÄ™to, Ĺźe operator dziaĹ‚a w Ĺ›rodowisku fizycznym rozszerzonym o ekran monitora. System porozumiewa siÄ™ z operatorem za pomocÄ… wymienionych urzÄ…dzeĹ„ i okienek pojawiajÄ…cych siÄ™ na ekranie. Z uwagi na fakt, Ĺźe dotychczas operator kontaktowaĹ‚ siÄ™ z platformÄ… NPC za pomocÄ… urzÄ…dzeĹ„ wejĹ›ciowych, takich jak: ekrany dotykowe, myszki lub klawiatury, przyjÄ™to iĹź interfejs bÄ™dzie przeksztaĹ‚caĹ‚ komendy gĹ‚osowe i te wydawane za pomocÄ… gestĂłw do formatu komend wprowadzanych z urzÄ…dzeĹ„ wejĹ›ciowych. Gesty zwiÄ…zane sÄ… z ruchem rÄ…k, a wiÄ™c obrazy uzyskiwane z kamer muszÄ… być zbierane z dostatecznie duşą czÄ™stotliwoĹ›ciÄ…. PrzyjÄ™to, Ĺźe przetwarzanie zarĂłwno obrazĂłw jak i mowy powinno być na tyle szybkie, by dla operatora czas miÄ™dzy wydaniem komendy a inicjacjÄ… jej wykonywania byĹ‚ niezauwaĹźalny. W analizie mowy powstaje opóźnienie miÄ™dzy zakoĹ„czeniem wypowiadania komendy a wynikiem analizy. PrzyjÄ™to, Ĺźe dopuszczalne opóźnienie wynosi 1 s, gdyĹź po zakoĹ„czeniu wypowiedzi trzeba odczekać, aby zdecydować, czy pojawi siÄ™ pauza czy wypowiedĹş bÄ™dzie kontynuowana. Na to potrzeba okoĹ‚o 200 ms, a do tego dochodzi jeszcze czas analizy polecenia. W przypadku przetwarzania obrazu uĹźytkownik współpracuje duĹźo Ĺ›ciĹ›lej z systemem – sterujÄ…c poĹ‚oĹźeniem kursora oczekuje duĹźo szybszych reakcji i ciÄ…gĹ‚oĹ›ci jego przemieszczania. Z tego wzglÄ™du przyjÄ™to, Ĺźe A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ +

analiza obrazu powinna odbywać siÄ™ z szybkoĹ›ciÄ… co najmniej 20 klatek na sekundÄ™, natomiast opóźnienie reakcji nie powinno być wiÄ™ksze niĹź 100 ms. Struktura interfejsu operatora musi być dostosowana do wyĹźej sformuĹ‚owanych wymagaĹ„. PoniewaĹź interfejs jest konfigurowany za pomocÄ… standardowych urzÄ…dzeĹ„ wejĹ›ciowych komputera lub pobudzany do dziaĹ‚ania przez operatora wydajÄ…cego komendy gĹ‚osowe lub gestykulacje, a ponadto oddziaĹ‚uje na operatora wyĹ›wietlajÄ…c dane, moĹźna jego strukturÄ™ okreĹ›lić za pomocÄ… agentĂłw upostaciowionych [18, 36], ktĂłre realizujÄ… swoje zadanie zbierajÄ…c dane z otoczenia za pomocÄ… receptorĂłw, by przeksztaĹ‚cić je na oddziaĹ‚ywania na to otoczenie za pomocÄ… efektorĂłw. NaleĹźy jedynie adekwatnie zdefiniować receptory i efektory interfejsu. Dotychczas agenty upostaciowione byĹ‚y wykorzystywane do tworzenia systemĂłw sterowania systemami robotycznymi [37– 40]. Niniejszy artykuĹ‚ pokazuje ich uĹźyteczność w projektowaniu systemĂłw, ktĂłre nie sÄ… zwiÄ…zane z robotykÄ….

! W klasycznym podejściu agent definiowany jest jako twór działający autonomicznie, postrzegający swoje środowisko, mający charakter trwały, a ponadto mający zdolność do dostosowywania się do zmian w swoim środowisku, a co więcej mogący przejąć cel innego agenta [26]. Niemniej jednak tutaj przyjęto definicję bardziej zwięzłą, a jednocześnie ogólniejszą. Przyjęto, şe agent jest tworem dąşącym do realizacji zadania, postrzegającym swoje środowisko i wpływającym racjonalnie na nie. Zadanie stanowi wewnętrzny imperatyw agenta do działania. Jest ono realizowane w środowisku, zgodnie z aktualnie panującymi w nim warunkami, dzięki informacji uzyskiwanej z otoczenia. Tam gdzie środowisko ma charakter fizyczny, agent oddziałuje na nie przez swoje efektory i postrzega je za pomocą swoich receptorów. Agent działający w fizycznym otoczeniu musi mieć fizyczną powłokę (postać), by na nie oddziaływać. W związku z tym zwykło się go zwać agentem upostaciowionym [18, 36]. Agentowa struktura systemu będzie określona dalej. Tutaj wystarczy zauwaşyć, şe działania operatora działającego w środowisku rejestrowane są za pomocą takich receptorów jak kamery czy mikrofony, natomiast system NPC oddziałuje na operatora, traktowanego jako element otoczenia, poprzez okienka oraz kursory pojawiające się na obrazie wyświetlanym na ekranie monitora, a więc zarówno okienka jak i kursory mogą być traktowane jako efektory. Wewnętrznym imperatywem systemu jest rozpoznawanie komend operatora i przekształcanie ich w odpowiednie zobrazowanie danych. Wykorzystanie agentów do określenia struktury systemu ma tę zaletę, şe moşna uşyć formalnej notacji, opracowanej specjalnie do opisu zarówno struktur systemów, jak i sposobów ich działania. Główne elementy tej notacji zostaną opisane ponişej. Agent aj, gdzie j jest jego oznaczeniem, składa się z: efektorów rzeczywistych Ej oddziałujących na środowisko (w przypadku interfejsu NPC są to okienka oraz kursory pojawiające się na ekranie monitora), rzeczywistych receptorów Rj (ściśle mówiąc chodzi o eksteroceptory, gdyş proprioceptory sprzęşone są bezpośrednio z efektorami) zbierających dane o stanie otoczenia oraz systemu sterowania Cj realizującego zadanie przez wpływanie na efektory na podstawie odczytów uzyskiwanych z receptorów (w interfejsie NPC są nimi mikrofony i kamery). System sterowania Cj składa się z trzech typów podsystemów: wirtualnych efektorów ej, wirtualnych receptorów rj oraz podsystemu sterowania cj. Agent moşe zawierać wiele receptorów rzeczywistych Rj,l i wiele receptorów wirtualnych rj,k, gdzie l i k są ich oznaczeniami. Podobnie w jego skład moşe wchodzić wiele efektorów rzeczywistych Ej,m i wiele efektorów wirtualnych ej,n, gdzie m i n są ich oznaczeniami. Wirtualne efektory ej,n

aj cc

j

Tc x j,j

Tc y j,j

cj

ec y j,n

ec x j,n

rc y j,k

rc x j,k

ce x j,n

ce y j,n

cr x j,k

cr y j,k

ee

ej,n

rr

j,n

Ee y j,n

x Ej,m

Ee x j,n

y Ej,m

Ej,m

rj,k

j,k

Rr y j,k

x Rj,l

Rr x j,k

Rj,l

y Rj,l

Rys. 1. OgĂłlna struktura agenta upostaciowionego Fig. 1. General structure of an embodied agent

i receptory rj,k prezentują podsystemowi sterowania cj urządzenia wykonawcze i środowisko w postaci właściwej do określenia sposobu realizacji zadania – w tym przypadku są to polecenia dotyczące sposobu prezentacji wyników analizy, które ma wykonać platforma NPC. Wirtualne efektory dokonują transformacji złoşonych poleceń na elementarne rozkazy sterujące sprzętem (w przypadku NPC są to okienka i kursory), natomiast wirtualne receptory przekształcają odczyty z czujników (w przypadku NPC są to zapisy dźwięku i obrazy) na abstrakcyjne pojęcia niezbędne do zwięzłego wyraşenia realizowanego zadania. Agenty mogą się równieş komunikować między sobą. Na rys. 1 przedstawiono wewnętrzną strukturę agenta upostaciowionego. Podsystemy agenta aj, a więc: podsystem sterowania cj, wirtualne efektory ej,n, wirtualne receptory rj,k, rzeczywiste efektory Ej,m i rzeczywiste receptory Rj,l (rys. 1), kontaktują się ze sobą przez bufory komunikacyjne. Bufory oznaczane są przednim indeksem dolnym: x – wejściowe, y – wyjściowe, natomiast pamięć wewnętrzna podsystemu pozbawiona jest takiego indeksu. Górny lewy indeks przy oznaczeniu bufora określa typ podsystemu, z jakim ten bufor współpracuje. Wszystkie podsystemy agenta działają według tego samego wzorca [37–40]. Kaşdy zawiera automat skończony FSM (ang. Finite State Machine), z którego stanami skojarzono zachowania. Kaşde zachowanie jest sparametryzowane funkcją przejścia oraz warunkami końcowymi i błędu. Zachowanie jest powtarzane do momentu spełnienia dowolnego z wymienionych warunków. Zakończenie wykonania zachowania powoduje przejście automatu skończonego do stanu następnego, który jest wybierany na podstawie warunków początkowych etykietujących łuki skierowane grafu automatu. Czynności związane z zachowaniem zaleşą od postaci funkcji przejścia. Funkcja ta pobiera dane z buforów wejściowych oraz pamięci wewnętrznej podsystemu i oblicza nowe wartości dla buforów wyjściowych oraz pamięci wewnętrznej. Zachowanie, oprócz obliczenia funkcji przejścia, zajmuje się wczytaniem nowych wartości do buforów wejściowych oraz rozesłaniem danych z buforów wyjściowych do innych podsystemów.

43


!" #$

M

I

A

R

Y

•

A

U

T

O

M

Rys. 2. Struktura systemu NPC Fig. 2. Structure of the NCP system

sposobu interakcji interfejsu z platformÄ… NPC. UĹźytkownik moĹźe wydawać polecenia albo za pomocÄ… gĹ‚osu albo za pomocÄ… gestĂłw, a wiÄ™c istniejÄ… dwa oddzielne ĹşrĂłdĹ‚a poleceĹ„, a co za tym idzie dwa odrÄ™bne moduĹ‚y je przetwarzajÄ…ce: audio i wizyjny. NiezaleĹźnie od ĹşrĂłdĹ‚a, wydawane polecenia muszÄ… wpĹ‚ywać bezkonfliktowo na dziaĹ‚anie platformy NPC. Dlatego pojedynczy dysponent platformy, agregujÄ…cy polecenia otrzymywane z róşnych ĹşrĂłdeĹ‚, jest optymalny – jest nim moduĹ‚ prezentacji. W konsekwencji powstaĹ‚a trĂłjmoduĹ‚owa struktura interfejsu. ModuĹ‚ wizyjny sĹ‚uĹźy do przetwarzania poleceĹ„ wydawanych gestami, natomiast moduĹ‚ audio zajmuje siÄ™ komendami wydawanymi gĹ‚osem i identyfikacjÄ… mĂłwcy. ModuĹ‚ prezentacji jest odpowiedzialny za agregacjÄ™ rozkazĂłw pochodzÄ…cych z moduĹ‚Ăłw przetwarzajÄ…cych polecenia uĹźytkownika (tzn. moduĹ‚Ăłw wizji i audio). Efektem dziaĹ‚ania tego moduĹ‚u jest selekcja polecenia operatora, ktĂłre ma być przekazane platformie do realizacji. Opracowany interfejs umoĹźliwia wydawanie poleceĹ„ za pomocÄ… gĹ‚osu i gestĂłw, ktĂłre muszÄ… być przetĹ‚umaczone na postać akceptowanÄ… przez platformÄ™, czyli kody generowane przez tradycyjne urzÄ…dzenia wejĹ›ciowe (klawiatura, mysz, ekran dotykowy itp.). Odbywa siÄ™ to dwuetapowo. Wpierw moduĹ‚y wizyjny i audio zamieniajÄ… odpowiednio gesty bÄ…dĹş komendy gĹ‚osowe na ich identyfikatory, a nastÄ™pnie moduĹ‚ prezentacji zamienia te identyfikatory na kody poleceĹ„ wydawanych przez urzÄ…dzenia wejĹ›ciowe. Identyfikatory urzÄ…dzeĹ„ w systemie operacyjnym komputera, w ktĂłrym uruchomiono interfejs, mogÄ… siÄ™ zmieniać. ModuĹ‚y audio i wizyjny odnoszÄ… siÄ™ do typĂłw imitowanych urzÄ…dzeĹ„ wejĹ›ciowych, natomiast moduĹ‚ prezentacji chcÄ…c wykonać akcjÄ™ musi siÄ™ odwoĹ‚ać do identyfikatora konkretnego urzÄ…dzenia obsĹ‚ugiwanego przez system operacyjny. Identyfikator ten jest zmienny i przez to musi być dostarczony moduĹ‚owi prezentacji. Interfejs przekazuje prezentowanym oknom informacje o elementarnych zdarzeniach, np. dotyku i przesuniÄ™ciu palca po ekranie. Informacja ma postać generowana przez wspomniane urzÄ…dzenia wejĹ›ciowe. Sterownik okna interpretuje te elementarne zdarzenia (a dokĹ‚adniej sekwencje tych zdarzeĹ„) powodujÄ…c np. zoom lub obrĂłt. ZaĹ‚oĹźono, Ĺźe zbiĂłr moĹźliwych akcji uĹźytkownika (gestĂłw i komend gĹ‚osowych) jest ustalony (w przypadku gestĂłw) wzglÄ™dnie ograniczony (w przypadku komend gĹ‚osowych) przez twĂłrcÄ™ systemu. Tablica asocjacji akcji, utworzona przez projektantĂłw systemu, moĹźe być co najwyĹźej modyfikowana przez serwisanta systemu, aby ewentualnie lepiej dostosować konkretnÄ… instalacjÄ™ systemu do potrzeb danego uĹźytkownika/administratora.

System NPC (rys. 2) składa się z platformy, która zbiera dane o aktywności w sieci, analizuje je i prezentuje wyniki, oraz z interfejsu, za pomocą którego uşytkownik instruuje platformę, w jaki sposób te wyniki powinny zostać zaprezentowane. Aby móc sterować prezentacją wyników analizy, interfejs musi być odpowiednio skonfigurowany i zarządzany. Tutaj skoncentrowano się jedynie na sposobie konstrukcji interfejsu. Zawiera on trzy moduły: prezentacji, wizyjny i audio. Kaşdy moduł skomponowany jest z agentów. Liczba modułów wynika ze sposobu interakcji operatora z interfejsem oraz O

%! & $

P

Interfejs do systemu obrazowania informacji NPC odgrywa trzy role, w zaleĹźnoĹ›ci od kategorii operatora, z ktĂłrym wchodzi w interakcje. UmoĹźliwia: − uĹźytkownikowi (np. kierownikowi NPC) dogodne sterowanie wizualizacjÄ… informacji tworzonej przez platformÄ™ NPC, − serwisantowi konfiguracjÄ™ danej instalacji interfejsu, − administratorowi systemu zarzÄ…dzanie zasobami (danymi o gestach, osobach i komendach gĹ‚osowych) oraz tworzenie modeli: gestĂłw, komend gĹ‚osowych i uĹźytkownikĂłw. Role te zwiÄ…zane sÄ… z trzema róşnymi aspektami (trybami) pracy interfejsu: sterowanie, konfigurowanie, administrowanie (tworzenie modeli i zarzÄ…dzanie danymi). UĹźytkownik za pomocÄ… interfejsu zleca platformie wykonanie swoich poleceĹ„, a wiÄ™c przedstawienie danych w odpowiedni sposĂłb. Serwisant zajmuje siÄ™ konfigurowaniem sprzÄ™tu i parametryzacjÄ… oprogramowania do analizy obrazĂłw i mowy. Konfiguracja sprzÄ™towo-programowa kaĹźdego z moduĹ‚Ăłw interfejsu polega na doborze jego parametrĂłw wewnÄ™trznych dla danej instalacji systemu. Administrator zarzÄ…dza modelami gestĂłw, poleceĹ„ i uĹźytkownikĂłw, ale przede wszystkim dostarcza dane treningowe i uruchamia uczenie siÄ™ systemu (tworzenie modeli). Odnosi siÄ™ to zarĂłwno do zarzÄ…dzania informacjÄ… dotyczÄ…cÄ… uĹźytkownikĂłw systemu, jak i danych dotyczÄ…cych poleceĹ„, ktĂłre system moĹźe zrealizować. W tym pierwszym przypadku do systemu moĹźna wprowadzać nowych uĹźytkownikĂłw bÄ…dĹş usuwać tych wczeĹ›niej wprowadzonych oraz edytować dane uĹźytkownika. W drugim przypadku moĹźna dodawać i usuwać polecenia oraz je modyfikować (edytować). Uczenie w systemie zastosowano do zdefiniowania nastÄ™pujÄ…cych przyporzÄ…dkowaĹ„: gestĂłw poleceniom, instrukcji wydawanych gĹ‚osem komendom oraz rozpoznawania mĂłwcy w celu okreĹ›lenia jego uprawnieĹ„. Przewidziano, Ĺźe uĹźytkownicy róşnej rangi bÄ™dÄ… mieli róşne uprawnienia do wydawania poleceĹ„ systemowi. Proces uczenia odbywa siÄ™ w dwĂłch fazach. Wpierw zbierane sÄ… prĂłbki o wĹ‚aĹ›ciwej postaci, a nastÄ™pnie uczony jest odpowiedni klasyfikator. NadzĂłr nad procesem uczenia spoczywa na administratorze systemu. Sterowanie polega na rozpoznawaniu poleceĹ„ uĹźytkownika wydawanych gĹ‚osem lub gestem. Polecenia te sÄ… przeksztaĹ‚cane w bodĹşce zazwyczaj generowane przez myszkÄ™ (ruch kursora, klikniÄ™cie), klawiaturÄ™ (wciĹ›niecie klawisza) bÄ…dĹş ekran dotykowy (dotkniÄ™cia). BodĹşce te oddziaĹ‚ujÄ… na okienka reprezentowane agentami lub na inne programy uruchomione na komputerze. SÄ… one przez te agenty lub programy interpretowane, przykĹ‚adowo jako: obrĂłt obrazu, zbliĹźenie lub oddalenie widoku wyĹ›wietlanego w oknie (zoom). Agenty reprezentujÄ…ce okna mogÄ… być częściami moduĹ‚Ăłw interfejsu lub platformy. Interfejs przeksztaĹ‚ca gesty oraz komendy wydawane gĹ‚osem na polecenia dla platformy.

44

"! # $

'! ( $ '!)! * $ Interfejs jest uĹźywany przez róşne kategorie operatorĂłw zgodnie z przypisanymi im rolami. UĹźytkownicy wykorzystujÄ… go do sterowania sposobem prezentacji danych generowanych przez platformÄ™. PodstawowÄ… formÄ… dziaĹ‚ania interfejsu jest przeksztaĹ‚canie poleceĹ„ uĹźytkownika na poşądany sposĂłb prezenA

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ +

tacji danych. Metoda sterowania okienkami została opisana przy okazji prezentacji poszczególnych modułów interfejsu. Kaşdy z modułów ma interfejs administracyjno-serwisowy zawiadujący własnym oknem GUI (ang. Graphical User Interface). Moduł prezentacji wykorzystuje swoje okno do wyświetlania logów otrzymanych z wszystkich trzech modułów oraz do wysyłania instrukcji do kaşdego z modułów. W odpowiedzi na otrzymane z modułu prezentacji instrukcje, moduły wizji i audio: przechodzą w tryb wstrzymania, wznawiają działanie po wstrzymaniu lub wczytują nową konfigurację. Administrator modułu audio ma moşliwość tworzenia i zarządzania modelami komend głosowych i mówców. Do tego celu wykorzystuje interfejs administracyjno-serwisowy, który uaktywnia funkcje uczenia modułu audio. Komenda głosowa składa się z sekwencji 1–3 słów, wypowiadanych w sposób ciągły bez widocznych przerw między słowami. Pozwala to interpretować tę sekwencję jako pojedynczą izolowaną frazę zdaniową i rozpoznawać ją jako jedną z komend, dla których stworzono model akustyczny. Model akustyczny komendy ma postać sekwencji cech krótkookresowych ramek sygnału i jest oparty na cechach mel-cepstralnych [17] i pochodnych tych cech. Model głosowy mówcy ma postać mieszaniny rozkładów Gaussa w przestrzeni cech ramek. Szczegółowe omówienie tych modeli znajduje się w drugiej części tego artykułu w jego sekcji 2. Rola administratora modułu audio w procesie tworzenia modeli polega na zebraniu próbek głosowych odpowiednich komend i mówców, uruchomieniu procedur uczenia i na zdefiniowaniu tablicy asocjacji treści komend i mówcy z numerami klas udostępnianymi przez moduł audio. Administrator jest przy tym świadomy istnienia tablicy asocjacji komend i ograniczeń, co do maksymalnej liczby dostępnych komend i mówców. Jeśli z tablicy asocjacji komend wynika, şe komenda nr 1 słuşy do wywołania „pochwycenia� elementu graficznego, to administrator moşe nazwać tę komendę jako „pochwyć� lub „drag� lub jeszcze inaczej, w sposób zrozumiały dla uşytkownika. Wtedy ta klasa powinna być uczona na podstawie próbek głosowych zawierających treść „pochwyć� itp.

'! ! ( Zarządzanie modelami przez administratora modułu wizyjnego polega na powiązaniu identyfikatorów gestów z ich klasą. Identyfikatory gestów przekazywane są do modułu prezentacji w trakcie uşytkowania interfejsu. Zbiór gestów i ich forma są ustalone z góry, a system analizy gestów jest dostarczony w postaci juş nauczonej. Administrator nie ma bezpośrednio moşliwości definiowania i uczenia własnych gestów, tak jak to ma miejsce w przypadku modułu audio. Jednak moşe zlecić serwisantowi lub twórcy systemu wykonanie modyfikacji zbioru gestów. Uwzględniając powyşszą moşliwość, bezpośrednie zarządzanie modułem wizji przez administratora polega jedynie na ewentualnej modyfikacji tablicy asocjacji gestów, czyli odwzorowania: moja nazwa gestu numer/klasa gestu w module wizji. Moduł wizyjny, po wczytaniu plików konfiguracyjnych, przygotowany jest do współpracy z uşytkownikiem. Aby sterowanie gestami było skuteczne, uşytkownik musi być widoczny dla kamery. W tym celu moduł wizyjny wyświetla rysunek pokazujący, w jakim obszarze powinien stać uşytkownik, by móc sterować systemem, np. kursorami. Kursory to odwzorowanie dłoni uşytkownika na ekran. Rolą serwisanta systemu wizyjnego jest, oprócz samej sprzętowej instalacji systemu, jego wstępna konfiguracja i kalibracja. Serwisant wprowadza (w plikach konfiguracyjnych) połoşenie i orientację kamery względem układu współrzędnych ustalonego dla punktu odniesienia (np. środka ekranu). Wykonuje teş kalibrację stereo-pary kamer w celu uzyskania zestawu parametrów wewnętrznych (ang. intrinsic parameters) i zewnętrznych (ang.

extrinsic parameters). Do jego zadań naleşy teş wstępne ustawienie parametrów akwizycji tak, aby dopasować je do warunków oświetleniowych panujących w miejscu instalacji.

'! ! ( Moduł audio sprawuje kontrolę nad okienkami umoşliwiającymi administratorowi przełączanie się między następującymi trybami pracy: trybem zarządzania zasobami (zarządzanie poleceniami, uşytkownikami oraz nagraniami; zapisywanie plików konfiguracyjnych i nagrań mowy), uczeniem się modeli mówców i modeli komend (oraz zapisywaniem modeli do plików) i trybem sterującym, umoşliwiającym rozpoczęcie rozpoznawania poleceń oraz identyfikacji uşytkowników (wczytanie modeli mówców oraz komend, rozpoczęcie rozpoznawania komendy/mówcy). Po przejściu w tryb sterowania moduł audio rozpoczyna nasłuch sygnałów z mikrofonów oczekując na polecenia wydawane przez uşytkownika. W trybie tym identyfikatory rozpoznanych poleceń oraz rozpoznanych uşytkowników są przekazywane do modułu prezentacji. Administracja modułem audio polega na: wprowadzaniu lub usuwaniu poleceń, wprowadzaniu lub usuwaniu uşytkowników, nadzorze oraz zlecaniu rejestracji i przechowywania próbek głosu uşytkowników, uaktualnianiu system plików konfiguracyjnych, a ponadto uruchamianiu dla danego uşytkownika lub polecenia procesu uczenia. Podczas czynności administracyjnych uşytkownik wykonuje polecenia administratora. Na jego şądanie uşytkownik podaje swoje dane, umoşliwiając w ten sposób swoją identyfikację, a następnie przechodzi do nagrywania próbek głosowych. Uşytkownik wprowadzony do systemu moşe wydawać polecenia modułowi audio. Administrator modułu audio komunikuje się z nim za pomocą okienek GUI, wybierając za pomocą myszki pola okienek i wprowadzając informację tekstową do wybranych pól okienek.

'!"! * $ Serwisant oddzielnie konfiguruje kaĹźdy z moduĹ‚Ăłw. Konfigurowanie moduĹ‚u prezentacji polega na: ustaleniu rozdzielczoĹ›ci monitora (co wymusza zmianÄ™ wielkoĹ›ci emulowanego ekranu dotykowego), zmianie adresĂłw moduĹ‚Ăłw audio i wizji, zmianie parametrĂłw emulowanego ekranu dotykowego oraz zmianie identyfikatorĂłw przypisanych do bodĹşcĂłw inicjujÄ…cych akcje systemu operacyjnego. KaĹźdy identyfikator okreĹ›la pewnÄ… akcjÄ™, ktĂłra powinna zostać wykonana na oknie graficznym platformy NPC. Jest ona wynikiem polecenia otrzymanego od moduĹ‚u prezentacji, pobudzonego przez moduĹ‚: − audio, ktĂłry rozpoznaĹ‚ komendÄ™ gĹ‚osowÄ…, lub − wizji, ktĂłry rozpoznaĹ‚ gest. Konfigurowanie moduĹ‚u wizji sprowadza siÄ™ do: − wyboru obszaru, w ktĂłrym uĹźytkownik bÄ™dzie mĂłgĹ‚ wykonywać gesty sterujÄ…ce, − kalibracji kamer, − ustalenia zwiÄ…zku miÄ™dzy przestrzeniÄ… trĂłjwymiarowÄ… a jej dwuwymiarowym zobrazowaniem, − modyfikacji tablicy asocjacji akcji/bodĹşcĂłw (dodawanie lub usuwanie przyporzÄ…dkowania rozpoznawanych gestĂłw do identyfikatorĂłw akcji/bodĹşcĂłw (i skrĂłtĂłw klawiszowych) generowanych przez imitowane urzÄ…dzenie wejĹ›ciowe. Konfigurowanie moduĹ‚u audio wymaga od serwisanta wykonania nastÄ™pujÄ…cych czynnoĹ›ci: − instalacji sprzÄ™tu, − ustawienia parametrĂłw karty akwizycji – wybĂłr kanaĹ‚Ăłw akwizycji, − ustawienia parametrĂłw akwizycji sygnaĹ‚u audio, czyli: poziomu szumu, czÄ™stotliwoĹ›ci prĂłbkowania, wielkoĹ›ci ramki sygnaĹ‚u, dĹ‚ugoĹ›ci wektora cech itp., − modyfikacji tablicy asocjacji akcji/bodĹşcĂłw (dodania lub usuniÄ™cia przyporzÄ…dkowania rozpoznawanych komend gĹ‚osowych

45


!" #$

do identyfikatorów akcji/bodźców (i skrótów klawiszowych) generowanych przez imitowaną myszkę. Część z wymienionych czynności wykonywanych jest przez serwisanta bezpośrednio na sprzęcie wchodzącym w skład interfejsu.

+! , Podstawową jednostką kompozycji interfejsu jest moduł. Podział na moduły związany jest z trzema podstawowymi funkcjami, które realizuje interfejs w celu umoşliwienia uşytkownikowi łatwej interakcji z platformą NPC. Są nimi: przekształcanie gestów na polecenia dla platformy NPC, transformacja komend wydawanych głosem na polecenia dla tej platformy oraz integracją poleceń w celu spójnej prezentacji ich skutków na ekranie obserwowanym przez uşytkownika. Kaşdy z tych modułów został skomponowany z agentów. Niektóre z tych agentów reprezentują okna ukazujące się na ekranie monitora traktowanego jako element środowiska.

Rys. 4. Struktura agenta generujÄ…cego bodĹşce; g {mysz, klawiatura, ekran dotykowy}, δ {mainPointer, secPointer, keyExecutor} agent ten ma 3 efektory i 3 receptory Fig. 4. Structure of the agent generating stimulus; g [mouse, keyboard, touchscreen}; δ {mainPointer, secPointer, keyExecutor} this agent has 3 effectors and 3 receptors

siÄ™ agentĂłw: (a = prezGUI, b = prez), (a = audioGUI_nr, b = audio) (gdzie nr ∈ {init, user, command, control}), (a = visionGUI, b = vision). Agent generujÄ…cy bodĹşce aOID (rys. 4) wyposaĹźony jest w receptory rzeczywiste ROID,1,g , takie jak mysz, klawiatura lub ekran dotykowy – tu zbiorczo oznaczone jako g. Pojedynczy wirtualny receptor rOID,1 agreguje informacje uzyskane z tych urzÄ…dzeĹ„ wejĹ›ciowych. Efektorami rzeczywistymi tego agenta sÄ… kursory, a dokĹ‚adniej rzecz ujmujÄ…c, generatory bodĹşcĂłw zazwyczaj inicjowanych wspomnianymi urzÄ…dzeniami wejĹ›cia. Agent aOID ma trzy efektory rzeczywiste EOID, d. Dwa efektory tworzÄ… na ekranie monitora kursory: pierwotny (d= mainPointer) i wtĂłrny (d = secPointer), a jeden efektor (d = keyExecutor) imituje klawiaturÄ™ generujÄ…c bodĹşce, takie jak rzeczywista klawiatura. Informacja do tych trzech efektorĂłw rzeczywistych dostarczana jest przez efektor wirtualny eOID,1. Agent aOID oraz agenty aa (reprezentujÄ…ce okna) wchodzÄ… w interakcje za poĹ›rednictwem stygmergii [6], a wiÄ™c przez zastosowanie komunikacji poprzez Ĺ›rodowisko, ktĂłrego częściÄ… jest ekran monitora. Agenty aa odczytujÄ… bodĹşce generowane przez aOID za pomocÄ… swoich rzeczywistych receptorĂłw R a,1, f. W tym przypadku receptorami rzeczywistymi R a,1, f sÄ… elementy okna (f) czuĹ‚e na bodĹşce zewnÄ™trzne. PrzykĹ‚adowa interakcja miÄ™dzy kursorem a elementami okna realizowana jest w nastÄ™pujÄ…cy sposĂłb. Agent aOID wykorzystujÄ…c jeden ze swoich rzeczywistych efektorĂłw EOID,d (d – element aktywny wytwarzajÄ…cy bodziec) oddziaĹ‚uje na rzeczywisty receptor okna R a,1, f (f – element pasywny odbierajÄ…cy bodziec, np. przyciski lub suwak). NastÄ™pnie agent aa przekazuje uzyskanÄ… informacjÄ™ do kolejnego agenta, ktĂłry zrealizuje akcjÄ™ wywoĹ‚ywanÄ… tym bodĹşcem.

Rys. 3. OgĂłlna struktura agentĂłw reprezentujÄ…cych okna uruchamiane na ekranie komputera; Îą – nazwa agenta reprezentujÄ…cego okno, β – nazwa agenta, z ktĂłrym ten agent siÄ™ komunikuje Fig. 3. General structure of agents representing windows appearing on the computer screen; Îą – name of the agent representing the windows, β – name of the agent with which this agent communicates

OgĂłlnÄ… strukturÄ™ agentĂłw reprezentujÄ…cych okna aa, gdzie a to substytut nazwy agenta, okreĹ›la rys. 3. AgentĂłw tego typu w systemie jest wiele. Rzeczywistymi efektorami Ea, j kaĹźdego takiego agenta sÄ… miejsca sĹ‚uşące wyĹ›wietlaniu informacji w oknie (j). Ta informacja pojawia siÄ™ w Ĺ›rodowisku i w ten sposĂłb oddziaĹ‚uje na operatora. Natomiast rzeczywistymi receptorami Ra,f tego agenta sÄ… obiekty wraĹźliwe na bodĹşce (f) wytwarzane przez efektory agenta aOID (ang. Operator Interface Devices). Agent aa ma po jednym efektorze i receptorze wirtualnym, odpowiednio: ea,1 i ra,1. WspółpracujÄ… one z wieloma efektorami i receptorami rzeczywistymi: Ea, j, Ra,f. Liczba receptorĂłw rzeczywistych zaleĹźy od liczby pĂłl okna, z ktĂłrymi uĹźytkownik moĹźe wejść w interakcjÄ™ (np. przycisk lub suwak). Natomiast liczba efektorĂłw rzeczywistych zaleĹźy od liczby pĂłl, w ktĂłrych moĹźe być wyĹ›wietlana informacja. Agenty okien aa komunikujÄ… siÄ™ bezpoĹ›rednio z innymi agentami ab interfejsu. IstniejÄ… nastÄ™pujÄ…ce pary komunikujÄ…cych

46

P

O

M

I

A

R

Y

•

A

U

T

O

M

+!)! & ModuĹ‚ prezentacji utworzony jest z trzech agentĂłw: aprez (rys. 5), aprezGUI (agent typu aa – rys. 3) i aOID (rys. 4). KomunikacjÄ™ miÄ™dzy tymi agentami w module prezentacji przedstawiono na rys. 6. Podsystem sterowania agenta aprez ma jedynie bufory komunikacji miÄ™dzyagentowej i pamięć wewnÄ™trznÄ…. Bufory komunikacji miÄ™dzyagentowej umoĹźliwiajÄ… interakcjÄ™ nie tylko z dwoma pozostaĹ‚ymi agentami moduĹ‚u prezentacji, ale rĂłwnieĹź z agentami aaudio i avision. Agent aprez wykonuje nastÄ™pujÄ…ce zadania: − tĹ‚umaczenie gestĂłw otrzymanych od agenta avision na odpowiednie imitacje akcji urzÄ…dzeĹ„ wejĹ›cia (myszy, klawiatury, ekranu dotykowego) i przesyĹ‚anie tych zleceĹ„ do agenta aOID, aby ten je zrealizowaĹ‚, A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ +

Rys. 5. Struktura agenta prezentacji Fig. 5. Structure of the presentation agent

aaudioGUI init aaudioGUI user

aaudio aaudioGUI control

aaudioGUI command

Rys. 7. Dekompozycja modułu audio na agenty Fig. 7. Decomposition of the audio module into agents

Rys. 6. Komunikacja międzyagentowa w module prezentacji Fig. 6. Interagent communication in the presentation module

− tĹ‚umaczenie identyfikatorĂłw poleceĹ„ otrzymanych od agenta aaudio na odpowiednie skrĂłty klawiaturowe i przesyĹ‚anie ich do agenta aOID, aby ten je zrealizowaĹ‚, − przesyĹ‚anie poleceĹ„ zmiany trybu pracy do agentĂłw avision i aaudio. Polecenia te podsystem cprez otrzymuje od agenta aprezGUI, − przesyĹ‚anie logĂłw do agenta aprezGUI, aby ten je wyĹ›wietliĹ‚. Logi te pochodzÄ… od samego podsystemu cprez oraz od agentĂłw avision i aaudio. Zadaniem agenta aOID jest wykonywanie odpowiednich operacji za pomocÄ… swych efektorĂłw rzeczywistych EOID,d (kursorĂłw), w celu oddziaĹ‚ywania na inne agenty reprezentujÄ…ce okna, poprzez stygmergiÄ™. Operacje te wyzwalane sÄ… albo poleceniami agenta aprez albo bodĹşcami generowanymi przez rzeczywiste receptory ROID,g, gdzie g ∈ {mysz, klawiatura, ekran dotykowy}. Agent aprezGUI jest odpowiedzialny za wyĹ›wietlanie informacji otrzymanych od agenta aprez oraz odczytywanie bodĹşcĂłw pochodzÄ…cych ze Ĺ›rodowiska, w tym przypadku ekranu komputera, a konkretnie kliknięć myszy lub naciĹ›nięć klawiatury imitowanych przez agenta aOID. BodĹşce te sÄ… przechwytywane za pomocÄ… przyciskĂłw okna – rzeczywistych receptorĂłw agenta aprezGUI.

+! ! & 7.2.1. Struktura

ModuĹ‚ audio skĹ‚ada siÄ™ z piÄ™ciu agentĂłw (rys. 7): podstawowego agenta aaudio oraz agentĂłw pomocniczych zarzÄ…dzajÄ…cych oknami: − agenta aaudioGUI_init reprezentujÄ…cego pojedyncze okno, sĹ‚uşące do wyboru poniĹźej wymienionych okien, − agenta aaudioGUI_user reprezentujÄ…cego okno zarzÄ…dzania uĹźytkownikami, − agenta aaudioGUI_command reprezentujÄ…cego okno zarzÄ…dzania poleceniami oraz

− agenta aaudioGUI_control reprezentujÄ…cego okno sterowania i przeprowadzania uczenia na podstawie posiadanych nagraĹ„. Cztery agenty reprezentujÄ…ce okna majÄ… strukturÄ™ agenta aa, gdzie a ĂŽ {audioGUI_init, audioGUI_user, audioGUI_command, audioGUI_control}, a wiÄ™c ich wewnÄ™trzna struktura odpowiada tej z rys. 3. KaĹźdy z czterech wspomnianych agentĂłw GUI reprezentuje pojedyncze okno wyposaĹźone w przyciski oraz elementy sĹ‚uşące do wyĹ›wietlania odpowiednich informacji zwiÄ…zanych z konkretnym agentem GUI moduĹ‚u audio. Tylko jeden agent GUI moduĹ‚u audio sposrĂłd: aaudioGUI_user, aaudioGUI_command oraz aaudioGUI_control jest aktywny w danym momencie. Struktura wewnÄ™trzna agenta aaudio zostaĹ‚a przedstawiona na rys. 8. Agent aaudio skĹ‚ada siÄ™ z podsystemu sterowania caudio pozyskujÄ…cego informacje z receptora wirtualnego raudio,mic i oddziaĹ‚ujÄ…cego na efektor wirtualny eaudio,ui. Podsystem caudio wyposaĹźony jest w bufory transmisyjne umoĹźliwiajÄ…ce komunikacjÄ™ z agentem aprez oraz wspomnianymi agentami GUI moduĹ‚u audio. Receptor wirtualny raudio,mic agreguje dane z receptora rzeczywistego Raudio,mic, ktĂłry zawiera mikrofony, sprzÄ™towy przetwornik analogowo-cyfrowy oraz sterownik programowy tego przetwornika zainstalowany w systemie operacyjnym. Natomiast efektor wirtualny eaudio,ui steruje efektorem rzeczywistym Eaudio,ui, ktĂłry reprezentuje gĹ‚oĹ›nik komputera, bÄ…dĹş system nagĹ‚oĹ›nienia pomieszczenia.

aaudio T x caudio,prez

T y caudio,prez

caudio e y caudio,ui

r x caudio,mic

T x caudio,audioGUI nr T y caudio,audioGUI nr

c x eaudio,ui

c y raudio,mic

eaudio,ui

raudio,mic

E y eaudio,ui

R x raudio,mic

e x Eaudio,ui

r y Raudio,mic

Eaudio,ui

Raudio,mic

Rys. 8. Struktura agenta audio aaudio, gdzie nr control} Fig. 8. Structure of the audio agent, where nr control}

{init, user, command,

{init, user, command,

47


!" #$ polecenia danych otrzymanych z caudioGUI_init. Po przejĹ›ciu do stanu cS audio uzytkownicy albo cS audio uruchamiane jest zachowanie inicjujÄ…ce odpowiedniego agenta, tj. aaudioGUI_command lub aaudioGUI_user i moĹźliwe jest dodawanie, usuwanie i aktualizowanie danych zawartych w pliku konfiguracyjnym odpowiednio poleceĹ„ i uĹźytkownikĂłw. Po zakoĹ„czeniu dziaĹ‚ania zachowaĹ„ nastÄ™puje zakoĹ„czenie dziaĹ‚ania odpowiedniego agenta GUI. nagrania W stanie cS audio uruchamiany jest agent aaudioGUI_control, dziÄ™ki czemu moĹźliwe jest przeprowadzenie sesji nagraniowej dla wybranego uĹźytkownika. Sesja nagraniowa polega na nagraniu po n prĂłbek (powtĂłrzeĹ„) dla wszystkich poleceĹ„ wczytanych z pliku konfiguracyjnego, gdzie n jest liczbÄ… prĂłbek definiowanÄ… przez administratora moduĹ‚u audio. Podczas sesji nagraniowej caudio komunikuje siÄ™ z wirtualnym receptorem raudio,mic, w celu akwizycji sygnaĹ‚u audio, oraz z podsystemem sterowania agenta aaudioGUI_control, w celu kontrolnej wizualizacji oscylogramu nagrania, a ponadto z eaudio,ui w celu odtworzenia przez gĹ‚oĹ›niki rozpoznanego polecenia. Na koniec tworzony jest plik w formacie wave z nagranÄ… prĂłbkÄ…, bÄ™dÄ…cy elementem wewnÄ™trznej pamiÄ™ci podsystemu sterowania caudio. uczenie W stanie cS audio uruchamiany jest agent aaudioGUI_control i inicjowane jest uczenie, tj. automatyczne tworzenie modeli uĹźytkownikĂłw i poleceĹ„ w oparciu o zebrane wczeĹ›niej prĂłbki gĹ‚osowe (podczas sesji nagraniowych z udziaĹ‚em przyszĹ‚ych uĹźytkownikĂłw). Proces uczenia wykonywany jest prawie wyĹ‚Ä…cznie przez wirtualny receptor raudio,mic, ktĂłry realizuje funkcje: − dekodowania danych w formacie wave, − analizy wstÄ™pnej i parametryzacji sygnaĹ‚u mowy, − tworzenia modeli mĂłwcĂłw i modeli komend, − serializacji modeli nastÄ™pnie zapisywanych do plikĂłw. Zakodowane w formacie wave dane sÄ… przesyĹ‚ane do podsystemu sterowania caudio, a ten wypisuje je do rezydujÄ…cego w jego pamiÄ™ci wewnÄ™trznej systemu plikĂłw. W razie potrzeby podsystem sterowania caudio moĹźe pobrać ze swojej pamiÄ™ci wewnÄ™trznej uprzednio przygotowany plik, przesĹ‚ać jego treść do wirtualnego receptora raudio,mic, ktĂłry zdekoduje dane w formacie wave do postaci wektora prĂłbek sygnaĹ‚u (liczb) i w tej postaci zapamiÄ™ta je na czas przetwarzania.

ModuĹ‚ audio, a dokĹ‚adniej podsystem sterowania caudio agenta aaudio, umoĹźliwia: − administratorowi systemu – tworzenie i zarzÄ…dzanie modelami komend oraz uĹźytkownikĂłw, − uĹźytkownikowi – sterowanie gĹ‚osem platformÄ…. Administrator wpĹ‚ywa na moduĹ‚ audio komunikujÄ…c siÄ™ z agentem aOID za pomocÄ… jego receptorĂłw. Agent ten wykorzystujÄ…c swoje efektory komunikuje siÄ™ z odpowiednim agentem GUI stosujÄ…c stygmergiÄ™. W dalszej kolejnoĹ›ci podsystem sterowania wspomnianego agenta GUI przesyĹ‚a odpowiednie polecenia do podsystemu caudio agenta aaudio. Konfiguracja moduĹ‚u audio polega na odpowiednim ustawieniu sprzÄ™tu oraz stworzeniu odpowiedniego pliku konfiguracyjnego, co wykonywane jest przez serwisanta bez udziaĹ‚u agenta aaudio.

7.2.2. Zachowania Działanie agentów GUI aa, tj. a audioGUI_init, a audioGUI_user, aaudioGUI_command, aaudioGUI_control polega na odbieraniu za pomocą swoich rzeczywistych receptorów informacji ze środowiska (ekranu monitora), np. o wciśniętym przycisku w jednym z odpowiadających im okien, wysyłaniu powyşszych informacji do agenta aaudio, odbieraniu danych z aaudio oraz wyświetlaniu ich za pomocą rzeczywistych efektorów (odpowiednich elementów okien). Działanie agenta aaudio, a dokładniej jego podsystemu sterowania caudio, opisuje automat skończony przedstawiony na rys. 9. Z kaşdym ze stanów automatu związane jest odpowiednie init zachowanie. W stanie początkowym cS audio podsystem caudio oczekuje na polecenie otrzymane z caudioGUI_init. Polecenie to moşe dotyczyć albo przetwarzania komend głosowych albo zarządzania zasobami. Otrzymywane polecenia, powodując zmianę stanu automatu skończonego, powodują tworzenie agentów GUI lub zakończenie ich istnienia – w ten sposób okienka pojawiają się i znikają z ekranu. W konsekwencji prezentowany system ma zmienną strukturę [39], w której agenty pojawiają się i znikają. Polecenie rozpoczęcia rozpoznawania komend, otrzymanie z caudioGUI_init powoduje, şe podsystem caudio przechodzi do stanu c sterowanie , w którym realizuje zachowanie polegające na stwoS audio rzeniu agenta aaudioGUI_command (reprezentującego okno słuşące do sterowania rozpoznawaniem), a następnie dokonuje ciągłej akwizycji sygnału audio i na bieşąco wykonuje detekcję mowy w sygnale oraz analizuje kaşdy izolowany fragment mowy w celu rozpoznania mówcy i komendy. W zaleşności od tego, czy rozpoznano mówcę czy teş nie, stosowany jest dedykowany model komend takiego mówcy lub model ogólny. Zakończenie zachosterowanie wania związanego ze stanem cS audio powoduje unicestwienie agenta aaudioGUI_command, a w związku z tym i okienka, którym zawiaduje. zarzadzanie W stanie cS audio podejmowana jest decyzja, jakimi danymi (zasobami) ma zarządzać caudio. Automat robi to na podstawie c init Saudio

+! ! & ModuĹ‚ wizyjny skĹ‚ada siÄ™ z trzech agentĂłw. GĹ‚Ăłwnym jest agent avision (rys. 10), ktĂłry odpowiada za realizacjÄ™ zadania sterowania gestami. Komunikuje siÄ™ on z agentami avisionGUI oraz avision−database (rys. 11), ktĂłre sÄ… odpowiedzialne za realizacjÄ™ odpowiednio graficznego interfejsu uĹźytkownika oraz bazy danych. Agent avision skĹ‚ada siÄ™ z podsystemu sterowania cvision, wirtualnego receptora rvision oraz dwĂłch rzeczywistych receptorĂłw Rvision,1 i Rvision,2 bÄ™dÄ…cych kamerami RGB zestawionymi w stereoparÄ™. PozostaĹ‚e agenty majÄ… jedynie podsystemy sterowania. Agent avision komunikuje siÄ™ ponadto z agentem aprez. Automat skoĹ„czony podsystemu sterowania cvision agenta wizyjinit nego avision (rys. 12) w swym stanie poczÄ…tkowym cS vision uruchamia zachowanie, ktĂłre komunikuje siÄ™ z agentem avision−database w celu pobrania modeli gestĂłw statycznych i dynamicznych oraz pozostaĹ‚ych danych potrzebnych do pracy agenta (m.in. zapisanych parametrĂłw kamer), a nastÄ™pnie przechodzi do rozpoznaposzukiwanie_twarzy wania gestĂłw. Najpierw w stanie cS vision uruchamiana jest procedura poszukiwania twarzy operatora. JeĹ›li zostanie ona odnaleziona w oczekiwanym miejscu przestrzeni roboczej, poszukiwanie_dloni to automat przechodzi do stanu cS vision , w ktĂłrym ustalane jest poĹ‚oĹźenie obu dĹ‚oni operatora. Po ich poprawnym zlorozpoznawanie_gestĂłw kalizowaniu automat przechodzi do stanu cS vision , w ktĂłrym rozpoznaje i Ĺ›ledzi dĹ‚onie oraz interpretuje gesty statyczne i dynamiczne. W przypadku utraty moĹźliwoĹ›ci Ĺ›ledzenia dĹ‚oni bÄ…dĹş twarzy operatora automat wraca do stanu – odpoposzukiwanie_dloni poszukiwanie_twarzy wiednio cS vision lub cS vision . Trywialne auto-

c sterowanie Saudio

[sterowanie] [zarzadzanie] c uczenie Saudio

c zarzadzanie Saudio

[uczenie]

c nagrania Saudio

[zarzadzaj nagraniami]

[zarzadzaj poleceniami]

[zarzadzaj uzytkownikami] c polecenia Saudio

c uzytkownicy Saudio

Rys. 9. Automat skończony przełączający zachowania podsystemu sterowania c audio Fig. 9. Finite state automaton switching behaviours of the control subsystem caudio

48

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ + maty skoĹ„czone wirtualnego receptora rvision,1 i rzeczywistych receptorĂłw Rvision,1 i Rvision,2 agenta avision przedstawiono na rys. 13. Podsystem sterowania agenta avisionGUI, odpowiedzialnego za wyĹ›wietlanie okna interfejsu uĹźytkownika moduĹ‚u wizyjnego, realizuje tylko jedno zachowanie. Polega ono na wyĹ›wietlaniu w swoim oknie obrazĂłw otrzymywanych od agenta avision oraz przesyĹ‚aniu do tego agenta poleceĹ„ bÄ™dÄ…cych efektem interakcji z agentami wytwarzajÄ…cymi kursory na ekranie albo dostarczajÄ…cymi informacji o wciĹ›niÄ™ciu klawiszy klawiatury bÄ…dĹş innym zdarzeniu wywoĹ‚ywanym przez urzÄ…dzenie wejĹ›ciowe.

-! /0 0 $ 23/

Rys. 10. Struktura agenta wizyjnego Fig. 10. Structure of the vision agent

Rys. 11. Struktura agenta avision-database Fig. 11. Structure of the agent avision-database

Rys. 12. Automat skończony przełączający zachowania podsystemu sterowania c vision Fig. 12. Finite state automaton switching the behaviours of the control subsystem cvision

Agenty upostaciowione, z ktĂłrych skomponowano interfejs NPC, odpowiadajÄ… ogĂłlnej definicji agenta przedstawionej w części 3. tego artykuĹ‚u. Literatura dotyczÄ…ca agentĂłw, zarĂłwno programowych, jak i stosowanych w robotyce, jest bogata i, jak juĹź wspomniano, nie doczekaĹ‚a siÄ™ jednoznacznej definicji tego pojÄ™cia. Definicje tam przedstawione zazwyczaj odnoszÄ… siÄ™ do licznych cech róşnorodnych typĂłw agentĂłw. Warto tutaj spojrzeć na agenta upostaciowionego pod kÄ…tem czÄ™sto wymienianych atrybutĂłw róşnych typĂłw agentĂłw. PojÄ™cie agenta upostaciowionego zostaĹ‚o spopularyzowane przez Rodneya Brooksa (np. [9]) w trakcie debaty dotyczÄ…cej sztucznej inteligencji. Tradycyjna sztuczna inteligencja koncentrowaĹ‚a siÄ™ na modelu Ĺ›rodowiska (jego reprezentacji), by mĂłc wyciÄ…gać wnioski dotyczÄ…ce przyszĹ‚ych akcji do wykonania przez system. Planowanie akcji byĹ‚o gĹ‚Ăłwnym przedmiotem zainteresowania badaczy. Brooks zakwestionowaĹ‚ to podejĹ›cie stwierdzajÄ…c, Ĺźe najlepszym modelem Ĺ›rodowiska jest ono samo, a inteligentne dziaĹ‚anie jest wynikiem ewolucyjnego procesu prowadzÄ…cego do doskonalenia sposobu dziaĹ‚ania systemu [8, 10, 11]. W rozumieniu Brooksa, dwoma podstawowymi cechami agenta jest posiadanie ciaĹ‚a/postaci (ang. embodiment) oraz usytuowanie (ang. situatedness), czyli egzystowanie w realnym otoczeniu, a nie w Ĺ›wiecie abstrakcyjnym (uproszczonym). Wymienia on rĂłwnieĹź inteligencjÄ™ bÄ™dÄ…cÄ… nastÄ™pstwem wyĹ‚aniania (ang. emergence) jako efektu interakcji miÄ™dzy agentem i jego otoczeniem. SpĂłr miÄ™dzy Brooksem i przedstawicielami klasycznej sztucznej inteligencji, dotyczÄ…cy wyĹźszoĹ›ci agentĂłw reaktywnych nad deliberatywnymi, nie zostaĹ‚ jednoznacznie rozstrzygniÄ™ty, bo do inteligentnego dziaĹ‚ania potrzebne jest, w istocie, zarĂłwno wnioskowanie prowadzone w oparciu o model Ĺ›wiata, jak i zachowania reaktywne wykorzystujÄ…ce uogĂłlnianie (ang. subsumption) – powstaĹ‚y wiÄ™c agenty hybrydowe (np. [4]). Co najmniej niektĂłre agenty wykorzystane do stworzenia interfejsu NPC sÄ… upostaciowione, gdyĹź posiadajÄ… ciaĹ‚o, a wiÄ™c mikrofony i ekran monitora, sĹ‚uşące do kontaktu z operatorem znajdujÄ…cym siÄ™ w Ĺ›rodowisku. Ponadto sÄ… usytuowane, poniewaĹź przetwarzajÄ… sygnaĹ‚y dĹşwiÄ™kowe i Ĺ›wietlne bezpoĹ›rednio pochodzÄ…ce z tego otoczenia. SygnaĹ‚ami tymi sÄ… mowa oraz gesty operatora. Mamy tu jednak do czynienia z agentami hybrydowymi, bo sygnaĹ‚y te nie oddziaĹ‚ujÄ… w sposĂłb bezpoĹ›redni na efektory, a wiÄ™c nie jest to system czysto reaktywny. Wpierw te sygnaĹ‚y przetwarzane sÄ… na postać symbolicznÄ… komend, a wiÄ™c wykorzystujÄ… modele wiąşące sygnaĹ‚y z ich znaczeniem.

Rys. 13. Automaty skończone przełączające zachowania rzeczywistych receptorów Rvision,1 i Rvision,2 oraz wirtualnego receptora rvision,1 Fig. 13. Finite state automaton switching the behaviours of real receptor Rvision,1 i Rvision,2 and virtual receptor rvision,1 of the agent avision

49


!" #$ SpĂłr dotyczÄ…cy emergencji inteligencji w systemach doprowadziĹ‚ do rozpowszechnienia pojÄ™cia agenta w Ĺ›rodowisku naukowcĂłw zajmujÄ…cych siÄ™ sztuczna inteligencjÄ…. Klasyczny podrÄ™cznik tej dziedziny [26] zbudowany jest wĹ‚aĹ›nie wokół pojÄ™cia agenta. W najbardziej ogĂłlnej postaci traktuje agenta jako coĹ›, co dziaĹ‚a. Taka definicja jest zbyt ogĂłlna, wiÄ™c dodatkowo wyróşnia poşądane cechy agentĂłw: autonomiczne sterowanie, czyli dziaĹ‚anie bez udziaĹ‚u czĹ‚owieka, zdolność do postrzegania Ĺ›rodowiska, dĹ‚ugotrwaĹ‚ość dziaĹ‚ania, adaptacja do zmian zachodzÄ…cych w Ĺ›rodowisku, zdolność do przejmowania celu dziaĹ‚ania innych agentĂłw. Dodatkowo wymieniane sÄ… agenty racjonalne, a wiÄ™c takie, ktĂłrych dziaĹ‚anie przynosi najlepszy skutek lub najlepszy spodziewany skutek (jeĹźeli mamy do czynienia z niepewnoĹ›ciÄ…). PojawiajÄ… siÄ™ teĹź agenty uczÄ…ce siÄ™ czyli takie, ktĂłre polepszajÄ… wyniki swojego dziaĹ‚ania w miarÄ™ zdobywania nowych doĹ›wiadczeĹ„. Agenty interfejsu NPC, po dostrojeniu modeli przez uczenie, dziaĹ‚ajÄ… autonomicznie, dysponujÄ… zdolnoĹ›ciÄ… do postrzegania Ĺ›rodowiska (zdolność do interakcji z operatorem), niektĂłre istniejÄ… tak dĹ‚ugo, jak dĹ‚ugo istnieje interfejs, a agenty pomocnicze zarzÄ…dzajÄ…ce oknami dziaĹ‚ajÄ… przez czas, kiedy sÄ… niezbÄ™dne do realizacji konkretnej operacji. Nie majÄ… one zdolnoĹ›ci adaptacyjnych i nie mogÄ… przejmować celu dziaĹ‚ania innych agentĂłw. Róşnorodność cech przypisywanych agentom wynika z ewolucji, ktĂłra doprowadziĹ‚a do pojawienia siÄ™ tego pojÄ™cia na gruncie informatyki. W podrÄ™czniku [25] autor wywodzi agenta z pojÄ™cia aktora, ktĂłre stanowi elementarne obliczenie wykonywane rĂłwnolegle z innymi takimi obliczeniami. Aktory zmieniajÄ… swĂłj stan wewnÄ™trzny oraz komunikujÄ… siÄ™ z innymi aktorami. UogĂłlnieniem aktora staĹ‚ siÄ™ aktywny obiekt, dziaĹ‚ajÄ…cy w swym wĹ‚asnym wÄ…tku. UogĂłlnienie aktywnego aktora doprowadziĹ‚o do pojÄ™cia agenta, ktĂłry stanowi autonomicznÄ… jednostkÄ™ dziaĹ‚ajÄ…cÄ… w Ĺ›rodowisku. Jednostka ta dÄ…Ĺźy do realizacji swojego celu, co wymaga wykonywania pewnych czynnoĹ›ci oraz komunikacji z innymi agentami. Efektem tych rozwaĹźaĹ„ historycznych jest okreĹ›lenie agenta w bardzo podobny sposĂłb, jak zdefiniowano agenta upostaciowionego. PodjÄ™to teĹź prĂłbÄ™ mariaĹźu agentĂłw dziaĹ‚ajÄ…cych w cyberprzestrzeni z tymi funkcjonujÄ…cymi w przestrzeni fizycznej [13]. RozwĂłj systemĂłw operacyjnych doprowadziĹ‚ do powstania pojÄ™cia procesu. PoczÄ…tkowo procesy komunikowaĹ‚y siÄ™ ze sobÄ… jedynie wewnÄ…trz systemu operacyjnego, ale wraz z rozwojem sieci komputerowych ta komunikacja musiaĹ‚a zostać rozszerzona, co doprowadziĹ‚o do powstania koncepcji cyberprzestrzeni. Wspomniana praca pokazuje moĹźliwoĹ›ci i konsekwencje przekroczenia granicy cyberprzestrzeni w celu wnikniÄ™cia do przestrzeni rzeczywistej, w ktĂłrej dziaĹ‚ajÄ… urzÄ…dzenia, a wiÄ™c i roboty. PoniewaĹź proces funkcjonuje w obrÄ™bie pojedynczego systemu operacyjnego, to uogĂłlnienie tego pojÄ™cia na cyberprzestrzeĹ„ dla odróşnienia zostaĹ‚o nazwane agentem. CyberprzestrzeĹ„ stanowi Ĺ›rodowisko, w ktĂłrym agent dziaĹ‚a, a wiÄ™c postrzega jÄ… i wpĹ‚ywa na niÄ…. Dalsza ewolucja doprowadziĹ‚a do powstania agentĂłw mobilnych, ktĂłre sÄ… zdolne do przemieszczania siÄ™ w cyberprzestrzeni. PoniewaĹź roboty przemieszczajÄ… siÄ™ w przestrzeni rzeczywistej, dostrzeĹźono tu, z jednej strony paralelÄ™, a z drugiej strony pole ciekawych badaĹ„ na styku tych przestrzeni. PodstawÄ… tych rozwaĹźaĹ„ byĹ‚ rozwĂłj pojęć – od algorytmu przez obiekt do agenta. MotywacjÄ… byĹ‚a konieczność dekompozycji algorytmu, w celu umysĹ‚owego zrozumienia zĹ‚oĹźonoĹ›ci tworzonego systemu przez projektanta. Wspomniana ewolucja zwiÄ™kszaĹ‚a stopieĹ„ autonomii dziaĹ‚ania kolejno wymienionych pojęć. W pracy [13] zdefiniowano M-agenta, ktĂłry na podstawie danych pozyskanych ze Ĺ›rodowiska oraz wewnÄ™trznego modelu sĹ‚uşącego symulacji moĹźliwych zachowaĹ„, wybiera optymalnÄ… strategiÄ™ dziaĹ‚ania i te realizuje wpĹ‚ywajÄ…c na Ĺ›rodowisko. Specyfikacja M-agenta za pomocÄ… opisanego tu agenta upostaciowionego zostaĹ‚a przedstawiona w [35]. Jednak do sterowania platformÄ… za pomocÄ… gestĂłw

50

P

O

M

I

A

R

Y

•

A

U

T

O

M

i mowy nie jest potrzebny wyrafinowany model otoczenia – wystarczÄ… wzorce gestĂłw i komend. Agentom programowym (software’owym) poĹ›wiÄ™cona jest praca [22], w ktĂłrej przytoczono róşne kryteria, wedĹ‚ug ktĂłrych moĹźna sklasyfikować agenty. Wyróşnia siÄ™ agenty statyczne i mobilne, w zaleĹźnoĹ›ci od tego czy mogÄ… siÄ™ one przemieszczać po sieci. Agenty interfejsu NPC sÄ… statyczne. Natomiast praca [22] odnosi siÄ™ do omawianych wyĹźej agentĂłw reaktywnych, deliberatywnych i hybrydowych oraz autonomicznoĹ›ci agentĂłw. Podnosi kwestie uczenia siÄ™ i zdolnoĹ›ci do współpracy miÄ™dzy agentami. Agenty interfejsu NPC uczÄ… siÄ™ jedynie w trakcie ich konfiguracji, natomiast współdziaĹ‚ajÄ… ze sobÄ…, by osiÄ…gnąć wspĂłlny cel. Wspomniana praca sugeruje wykorzystanie jednego wspĂłlnego jÄ™zyka do porozumiewania siÄ™ agentĂłw. Tu taki jÄ™zyk nie zostaĹ‚ stworzony. PoszczegĂłlne agenty porozumiewajÄ… siÄ™ ze sobÄ… dziÄ™ki oddzielnym zestawom przesyĹ‚anych wiadomoĹ›ci. Wreszcie wymieniana jest oddzielna klasa agentĂłw interfejsowych sĹ‚uşących do porozumiewania siÄ™ uĹźytkownikĂłw z systemami. Interfejs NPC speĹ‚nia, jako caĹ‚ość, dokĹ‚adnie tÄ™ rolÄ™. NaleĹźy teĹź zauwaĹźyć, Ĺźe część agentĂłw interfejsu NPC to agenty upostaciowione, a część to agenty czysto programowe. Tekst [24] bazuje na definicji agenta zaproponowanej przez Wooldridge’a [34], mĂłwiÄ…cej Ĺźe agent stanowi system komputerowy, ktĂłry jest usytuowany w pewnym Ĺ›rodowisku i jest zdolny do autonomicznych dziaĹ‚aĹ„ w tym Ĺ›rodowisku w celu realizacji zadaĹ„, dla ktĂłrych zostaĹ‚ zaprojektowany. Praca [24] wymienia poşądane cechy inteligentnego agenta: reaktywność, czyli zdolność do reagowania na zmiany zachodzÄ…ce w Ĺ›rodowisku; proaktywność, czyli dÄ…Ĺźenie do realizacji celu; socjalność, czyli zdolność do wchodzenia w interakcje z innymi agentami; elastyczność, czyli zdolność do osiÄ…gania celĂłw róşnymi sposobami oraz odporność, czyli umiejÄ™tność radzenia sobie z bĹ‚Ä™dami. Agenty wchodzÄ…ce w skĹ‚ad interfejsu NPC do pewnego stopnia majÄ… wszystkie te cechy. Z kolei praca [31] traktuje o programowaniu zorientowanym agentowo, jako uogĂłlnieniu programowania obiektowego, okreĹ›la agenta przez takie wĹ‚aĹ›ciwoĹ›ci jego „umysĹ‚uâ€?, jak: przekonania, zdolnoĹ›ci, wybory oraz zobowiÄ…zania. To podejĹ›cie wywodzi siÄ™ z prac dotyczÄ…cych architektury BDI (ang. belief, desire, intension) [24, 31]. Przekonania dotyczÄ… aktualnego stanu Ĺ›rodowiska i samego agenta, pragnienia wynikajÄ… z celu, ktĂłry ma być osiÄ…gniÄ™ty, natomiast intencje dotyczÄ… pragnieĹ„, do ktĂłrych osiÄ…gniÄ™cia agent siÄ™ zobowiÄ…zaĹ‚, a wiÄ™c dotyczÄ… wyboru planu osiÄ…gniÄ™cia celu. W przypadku agentĂłw interfejsu NPC nie wprowadzono pojÄ™cia „umysĹ‚uâ€?, gdyĹź jest on nadmiarowy w stosunku do potrzeb. W konsekwencji tu prezentowane agenty upostaciowione nie korzystajÄ… z architektury BDI. Na gruncie sztucznej inteligencji prowadzone sÄ… rĂłwnieĹź prace dotyczÄ…ce zdobywania nowej wiedzy przez agenty. PrzykĹ‚adowo praca [27] opisuje system wieloagentowy stosujÄ…cy logikÄ™ niemonotonicznÄ… do wnioskowania, w celu odpowiedzi na zapytania. MĂłgĹ‚by to być ciekawy kierunek rozwoju interfejsu NPC, dajÄ…cy uĹźytkownikowi moĹźliwość nie tylko sterowania prezentacjÄ… wynikĂłw dziaĹ‚ania platformy, ale rĂłwnieĹź kierowania do niej zapytaĹ„. Na gruncie informatyki rozpatrywane sÄ… rĂłwnieĹź masywne systemy wieloagentowe (ang. Massive Multi-Agent Systems), zĹ‚oĹźone z olbrzymiej liczby agentĂłw. W takich systemach gĹ‚Ăłwnym problemem jest skalowalność komunikacji agentĂłw. RozwiÄ…zanie tego problemu w duĹźej mierze zaleĹźy od technologii implementacji agentĂłw jako wÄ…tkĂłw, oraz sposobu realizacji przesyĹ‚ania wiadomoĹ›ci miÄ™dzy agentami. Polem zastosowania takich systemĂłw sÄ…, przykĹ‚adowo, obliczenia ewolucyjne [20]. Chwilowo w systemach robotycznych tak olbrzymie liczby agentĂłw nie wystÄ™pujÄ…, stopieĹ„ współbieĹźnoĹ›ci jest wiÄ™c duĹźo niĹźszy niĹź ten przedstawiony w pracy [20]. NaleĹźy siÄ™ jednak spodziewać, Ĺźe w przyszĹ‚oĹ›ci roje robotĂłw mogÄ… stać siÄ™ ogromne. Wtedy wykorzystanie takich technologii moĹźe być koniecznoĹ›ciÄ…. Informatycy badajÄ… rĂłwnieĹź ewolucyjne systemy wieloagentowe (ang. Evolutionary Multi-Agent Systems), A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ + w których kaşdy z agentów reprezentuje pojedyncze rozwiązanie zadania optymalizacji [19]. Agenty wchodzą w interakcje między sobą (rozmnaşają się, współzawodniczą o zasoby) przekazując sobie skwantowany zasób zwany energią. Z punktu widzenia informatyki istotne jest odseparowanie obliczeń od modelu ich realizacji (sekwencyjnego, równoległego, typu przepływ danych dataflow). Przedstawiany w tym artykule model agenta równieş abstrahuje od jego implementacji, a więc sposobu prowadzenia obliczeń. Na zakończenie dyskusji dotyczącej relacji między prezentowanym tu agentem upostaciowionym i agentami definiowanymi w bardzo bogatej literaturze tematu warto jeszcze wspomnieć o inşynierii systemów wieloagentowych [14]. Podstawą jest rozdzielenie fazy specyfikacji systemu od fazy jego implementacji, czyli realizacja ogólnych zaleceń inşynierii oprogramowania [28]. Istotnym jest dodatkowe zalecenie mówiące, şe specyfikację naleşy sporządzić dla kaşdego agenta oddzielnie, a działanie całości systemu powinno wynikać z interakcji tych agentów. Kolejnym zaleceniem jest przyporządkowanie kaşdej roli lub grupie ról pokrewnych, które system ma pełnić, jednego agenta realizującego te role. Ponadto zaleca się stosowanie automatów skończonych do opisu działania agentów. Specyfikacja i implementacja interfejsu NPC jest zgodna z tymi ogólnymi zaleceniami. Naleşy jednak podkreślić, şe wśród zaleceń brak było wskazówek na temat wewnętrznej struktury i sposobu działania agentów. Prezentowany tu sposób tworzenia systemu wieloagentowego jest konkretniejszy, przez co ułatwia projektantowi stworzenie systemu wieloagentowego. Zarówno struktura, jak i sposób działania określone są wzorcami.

4! 5 $ Jedną z decyzji dotyczących implementacji jest ta odnosząca się do liczby komputerów, które mają realizować zadania systemu. Bezpośredni wpływ na nią ma obliczeniochłonność stosowanych algorytmów. W przypadku relatywnie niskiej obliczeniochłonności kod wszystkich agentów wchodzących w skład projektowanego systemu moşna ulokować na jednym komputerze. Z taką sytuacją mamy do czynienia w przypadku interfejsu NPC. Na rys. 14 przedstawiono ogólną zasadę implementacji

komunikacji zarówno między agentami jak i podsystemami agentów, w przypadku gdy wszystkie agenty i podsystemy wykonywane są przez ten sam komputer. Komunikacja ta odbywa się za pośrednictwem systemu operacyjnego. Schemat ten pokazuje równieş sposób interakcji między podsystemami a sterownikami (ang. driverami) urządzeń oraz między sterownikami a urządzeniami wykorzystywanymi przez interfejs NPC. Jak widać, implementacja zakłada powstanie struktury trójwarstwowej, w której górną warstwę bezpośrednio określa specyfikacja. Ponişej znajduje się warstwa odpowiadająca systemowi operacyjnemu komputera. W tej warstwie rezydują zarówno sterowniki urządzeń – receptorów i efektorów, a takşe oprogramowanie organizujące przekazywanie informacji między wątkami i procesami. Najnişszą warstwę tworzą tylko urządzenia, które same w sobie mogą zawierać oprogramowanie, ale to tworzone jest przez producentów sprzętu i jest ukryte przed projektantem systemu.

)6! 3 ArtykuĹ‚ poĹ›wiÄ™cony jest specyfikacji i implementacji wielomodalnego interfejsu do sterowania prezentacjÄ… wynikĂłw wytwarzanych przez NarodowÄ… PlatformÄ™ CyberbezpieczeĹ„stwa. Ta część artykuĹ‚u koncentruje siÄ™ na opisie struktury i sposobu dziaĹ‚ania interfejsu. Do jego specyfikacji wykorzystano koncepcjÄ™ agentĂłw upostaciowionych. Dotychczas ta metoda specyfikacji stosowana byĹ‚a do systemĂłw robotycznych, a wiÄ™c do opisu urzÄ…dzeĹ„ dziaĹ‚ajÄ…cych w Ĺ›rodowisku fizycznym. Tutaj jednak mamy do czynienia z systemem dziaĹ‚ajÄ…cym na styku Ĺ›rodowiska fizycznego, w ktĂłrym funkcjonuje operator, oraz cyberprzestrzeni, w ktĂłrej tworzone sÄ… wyniki analizy aktywnoĹ›ci w sieci. Ten charakter Ĺ›rodowiska wymagaĹ‚ specyficznego rozdzielenia systemu i Ĺ›rodowiska. W szczegĂłlnoĹ›ci zakwalifikowano ekran monitora do Ĺ›rodowiska, natomiast elementy okienek i kursory pojawiajÄ…ce siÄ™ na tym ekranie zaliczono do receptorĂłw i efektorĂłw reprezentujÄ…cych je agentĂłw. Ponadto agenty zostaĹ‚y pogrupowane w moduĹ‚y, co nadaĹ‚o systemowi hierarchiczny charakter. Wyróşniono trzy takie moduĹ‚y: audio, wizji oraz prezentacji. DziÄ™ki zastosowaniu grup współpracujÄ…cych agentĂłw struktura powstaĹ‚ego interfejsu ma naturÄ™ otwartÄ…. System moĹźe być rozszerzony o kolejne moduĹ‚y, jeĹźeli

1

2 CS2

CS1

V E1

RE1

RE1

RE1

V E2

V R1

RR1

RR1

RR1

V R2

RE2

RE2

RE2

RR2

RR2

RR2

Rys. 14. Schemat komunikacji międzyagentowej i wewnątrzagentowej zastosowanej w interfejsie NPC Fig. 14. Intra-agent and interagent communication employed by the NCP interface

51


!" #$ 13. Cetnarowicz K., Inteligencja wokół nas. WspółdziaĹ‚anie agentĂłw softwareowych, robotĂłw, inteligentnych urzÄ…dzeĹ„, Vol. 15, rozdziaĹ‚ M–agent, 137–167. Wydawnictwo EXIT, 2010. 14. DeLoach S., Wood M., Sparkman C., Multiagent systems engineering. “International Journal of Software Engineering and Knowledge Engineeringâ€?, Vol. 11, No. 3, 2001, 231–258, DOI: 10.1142/S0218194001000542. 15. Dumas B., Lalanne D., Oviatt S.. Human Machine Interaction, Vol. 5440 serii Lecture Notes in Computer Science, rozdziaĹ‚ Multimodal Interfaces: A Survey of Principles, Models and Frameworks, 3–26, Springer, 2009. 16. Jaimes A., Sebe N., Multimodal human–computer interaction: A survey. “Computer Vision and Image Understandingâ€?, Vol. 108, No. 1–2, 2007, 116–134, Special Issue on Vision for Human-Computer Interaction, DOI: 10.1016/j.cviu.2006.10.019. 17. Kasprzak W., Rozpoznawanie obrazĂłw i sygnaĹ‚Ăłw mowy. Oficyna Wydawnicza Politechniki Warszawskiej, 2009. 18. Kornuta T., ZieliĹ„ski C., Robot control system design exemplified by multi-camera visual servoing, “Journal of Intelligent & Robotic Systemsâ€?, Vol. 77, No. 3–4, 2013, 499–524, DOI: 10.1007/s10846-013-9883-x. 19. Krzywicki D., Faber Ĺ ., DÄ™bski R., Concurrent agent-based evolutionary computations as adaptive dataflows. “Concurrency and Computation Practice and Experienceâ€?, Vol. 30, No. 22, 2018, 1–29, DOI: 10.1002/cpe.4702. 20. Krzywicki D., Turek W., Byrski A., Kisiel-Dorohinicki M., Massively concurrent agent-based evolutionary computing. “Journal of Computational Scienceâ€?, Vol. 11, 2015, 153– 162, DOI: 10.1016/j.jocs.2015.07.003. 21. McKenna S., Staheli D., Fulcher C., Meyer M., Bubblenet: A cyber security dashboard for visualizing patterns. Eurographics Conference on Visualization (EuroVis), Vol. 35, No. 3, June 2016, 281–290, DOI: 10.1111/cgf.12904. 22. Nwana H.S., Ndumu D.T., A Brief Introduction to Software Agent Technology, 29–47. Springer Berlin Heidelberg, Berlin, Heidelberg, 1998. 23. Oviatt S., Schuller B., Cohen P., Sonntag D., Potamianos G., Kruger A. (eds), The Handbook of Multimodal-Multisensor Interfaces, Vol. 1: Foundations, User Modeling, and Common Modality Combinations. ACM Books Series. Association for Computing Machinery (ACM), 2017. 24. Padgham L., Winikoff M., Developing Intelligent Agent Systems: A Practical Guide. John Wiley & Sons, 2004. 25. PaĹ‚ka P., Wieloagentowe systemy decyzyjne. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2019. 26. Russell S., Norvig P., Artificial Intelligence: A Modern Approach. Prentice Hall, Upper Saddle River, N.J., 1995. 27. RybiĹ„ski H., Ryzko D., Wiech P., Learning of Defaults by Agents in a Distributed Multi-Agent System Environment, 197–213. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013. 28. Sacha K., InĹźynieria oprogramowania. Wydawnictwo Naukowe PWN, Warszawa 2010. 29. Sethi A., Wills G., Expert-interviews led analysis of EEVi – a model for effective visualization in cybersecurity. 2017 IEEE Symposium on Visualization for Cyber Security (VizSec), Oct 2017, 1–8, DOI: 10.1109/VIZSEC.2017.8062195. 30. Shiravi H., Shiravi A., Ghorbani A., A survey of visualization systems for network security. IEEE Transactions on Visualization and Computer Graphics, Vol. 18, No. 8, 2012, 1313–1329, DOI: 10.1109/TVCG.2011.144. 31. Shoham Y., Agent-oriented programming. “Artificial Intelligenceâ€?, Vol. 60, No. 1, 1993, 51–92. 32. Song B., Choi J., Choi S.-S., Song J., Visualization of security event logs across multiple networks and its application to a CSOC. “Cluster Computingâ€?, 1–12, Nov 2017.

trzeba dodać następne tryby porozumiewania się operatora z systemem, a ponadto kaşdy z modułów moşe być wzbogacany o kolejne agenty realizujące dodatkowe funkcje tych modułów. Obecne tryby porozumiewania się mogą być rozszerzane przez dodawanie nowych komend głosowych oraz gestów sterujących, w tym wykonywanych głową oraz sterowanie mimiką twarzy. Wszystko to umoşliwia względnie proste rozszerzenie struktury, a przez to zwiększenie jej moşliwości. Rozszerzając tę strukturę naleşy wykorzystać to, co juş istnieje, jako wzorzec. Zastosowana metoda projektowa ma swoje korzenie w inşynierii oprogramowania, w szczególności przykłada istotną wagę do dwóch faz tworzenia systemu: fazy specyfikacji odpowiadającej na pytanie, co ma być stworzone, oraz fazy implementacji definiującej, jak to ma być wykonane. To rozdzielenie zainteresowania (ang. separation of concerns) projektanta prowadzi do stworzenia hierarchicznego systemu o przejrzystej architekturze. Wspomniana hierarchia obejmuje następujące warstwy: modułu, agenta, automatu skończonego, funkcji przejścia. Obecnie podstawowymi sposobami komunikacji operatora z interfejsem są polecenia wydawane albo głosem albo gestem. Wprowadzono teş bezpieczny tryb dostępu do platformy wykorzystujący identyfikację mówcy. Wstępne testy wykazały wysoką skuteczność obecnych trybów porozumiewania się z systemem. Druga część artykułu poświęcona będzie zastosowanym algorytmom rozpoznawania: mowy, mówcy i gestów. Ponadto przedstawione zostaną wyniki przeprowadzonych testów.

3 7 Praca wykonana w ramach projektu CYBERSECIDENT /369195/I/NCBR/2017, współfinansowanego przez Narodowe Centrum Badań i Rozwoju w ramach programu CyberSecIdent.

8 9 $ 1. The National Cyber Security Centre, Holandia, https:// www.ncsc.nl [on-line: dostęp 5-04-2019]. 2. The National Cyber Security Centre, Wielka Brytania, https://www.ncsc.gov.uk [on-line: dostęp 5-04-2019]. 3. The National Cybersecurity and Communications Integration Center, USA, https://ics-cert.us-cert.gov [on-line: dostęp 5-04-2019]. 4. Arkin R.C., Behavior-Based Robotics. MIT Press, 1998. 5. Best D.M., Endert A., Kidwell D., 7 key challenges for visualization in cyber network defense. Proceedings of the Eleventh Workshop on Visualization for Cyber Security, VizSec ’14, 33–40, DOI: 10.1145/2671491.2671497. 6. Bonabeau E., Dorigo M., Theraulaz G., Swarm Intelligence: From Natural to Artificial Systems. Oxford University Press, New York, Oxford, 1999. 7. Bostock M., Pseudo-Dorling cartogram, https://bl.ocks. org/mbostock/4055892, 2015. [on-line: dostęp 5-04-2019]. 8. Brooks R.A., Elephants don’t play chess. “Robotics and autonomous systems�, Vol. 6, No. 1–2, 1990, 3–15, DOI: 10.1016/S0921-8890(05)80025-9. 9. Brooks R.A., Intelligence without reason. Artificial intelligence: critical concepts, 3:107–163, 1991. 10. Brooks R.A., Intelligence without representation. Artificial Intelligence, 47(1-3):139–159, January 1991. 11. Brooks R.A., New approaches to robotics. “Science�, Vol. 253, No. 5025, September 1991, 1227–1232, DOI: 10.1126/science.253.5025.1227. 12. Cao N., Lin C., Zhu Q., Lin Y., Teng X., Wen X., Voila: Visual anomaly detection and monitoring with streaming spatiotemporal data. IEEE Transactions on Visualization and Computer Graphics, Vol. 24, No. 1, Jan 2018, 23–33, DOI: 10.1109/TVCG.2017.2744419.

52

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


%$ & %$ ' ($ ' %$ ) ($ * ($ % )$ ' $ + 33. Turk M., Multimodal interaction: A review. “Pattern Recognition Lettersâ€?, Vol. 36, 2014, 189–195, DOI: 10.1016/j.patrec.2013.07.003. 34. Wooldridge M., Multiagent systems. Ch. Intelligent Agents, 27–77. MIT Press, Cambridge, MA, USA, 1999. 35. ZieliĹ„ski C., Inteligencja wokół nas. WspółdziaĹ‚anie agentĂłw softwareowych, robotĂłw, inteligentnych urzÄ…dzeĹ„, wolumen 15, rozd. Formalne podejĹ›cie do programowania robotĂłw – struktura ukĹ‚adu sterujÄ…cego, 267–300, EXIT, 2010. 36. ZieliĹ„ski C., Figat M., Hexel R., Communication within multi-FSM based robotic systems. “Journal of Intelligent & Robotic Systemsâ€?, Vol. 93, No. 3–4, 2019, 787–805, DOI: 10.1007/s10846-018-0869-6. 37. ZieliĹ„ski C., Kornuta T., Diagnostic requirements in multi-robot systems. Korbicz J., Kowal M. (eds), Intelligent Systems in Technical and Medical Diagnostics, wolumen 230 serii Advances in Intelligent Systems and Computing, 345–356. Springer, 2014. 38. ZieliĹ„ski C., Kornuta T., Winiarski T., A systematic method of designing control systems for service and field

robots. 19th IEEE International Conference on Methods and Models in Automation and Robotics, MMAR, 1–14. IEEE, 2014. 39. Zieliński C., Stefańczyk M., Kornuta T., Figat M., Dudek W., Szynkiewicz W., Kasprzak W., Figat J., Szlenk M., Winiarski T., Banachowicz K., Zielińska T., Tsardoulias E.G., Symeonidis A.L., Psomopoulos F.E., Kintsakis A.M., Mitkas P.A., Thallas A., Reppou SE., Karagiannis G.T., Panayiotou K., Prunet V., Serrano M., Merlet J.-P., Arampatzis S., Giokas A., Penteridis L., Trochidis I., Daney D., Iturburu M., Variable structure robot control systems: The RAPP approach. „Robotics and Autonomous Systems�, Vol. 94, 2017, 226–244, DOI: 10.1016/j.robot.2017.05.002. 40. Zieliński C., Winiarski T., Kornuta T., Agent-based structures of robot systems. J. Kacprzyk, et al. (eds), Trends in Advanced Intelligent Control, Optimization and Automation, Vol. 577 AISC, 493–502, 2017, DOI: 10.1007/978-3-319-60699-6_48.

*+ 6 , : " 5 , - / . , ; . $ Ă„Ĺ˝ĘŠÇœĘ Ĺ˜Ć‹ÇœĆ• This two part paper presents an interface to the National Cybersecurity Platform utilising gestures and voice commands as the means of interaction between the operator and the platform. Cyberspace and its underlying infrastructure are vulnerable to a broad range of risk stemming from diverse cyber-threats. The main role of this interface is to support security analysts and operators controlling visualisation of cyberspace events like incidents or cyber-attacks especially when manipulating graphical information. Main visualization control modalities are gesture- and voice-based commands. Thus the design of gesture recognition and speech-recognition modules is provided. The speech module is also responsible for speaker identification in order to limit the access to trusted users only, registered with the visualisation control system. This part of the paper focuses on the structure and the activities of the interface, while the second part concentrates on the algorithms employed for the recognition of: gestures, voice commands and speakers. Keywords - / . , + +

+ +

! +

! +

ÉĄĘ É ÇŒĆ– ĆžĘ Ç’Ĺ˜Ĺ˝Ć– ǔȭ̉Ɩ ÄśČŚÉ ĆžË˜Ç”ȧÇ”ĆŹĘ Ë˜ °Ĺ˜ĘŠÉĄĘ Ë˜Ĺ˜Ç˜

ĆžĘ Ç’Ĺ˜Ĺ˝Ć– ǔȭ̉Ɩ ÄśÉ Ç–Ć‹Ç”ĆŹĆ‹Ç’ ă˘˿ȭÇ˜Ç”ĆŹËšÇ”Ć‹Ë˜

= ! , 2 " 3

4

5 , >23 45? . 8

2 >.2? 2 .2 ! " $((& @/

! . ! : 5* 56 = +

8

/ " / A +

/ 9

+ " ! 8

9

+ = 7 !9 ! " $) ! /

5333 5333 5 6 5333 6: 6 4.@ >5*.B? C*D:

*" 5 * 5 , 8 6 2 " 3 8

4

5 , .

2 + "

! +

/ 9 + !

" / / ! / 9 * !9 ! " ( ! /

/ / "

2 < ! ! " ! ORCID: 0000-0002-4840-8860

2 6 ! " ! ORCID: 0000-0001-6348-1129

53


!" #$

ȧǷʁ ǔȭ̉Ɩ ÀŘƋǔƬǖ ăǜƬnjŘȮƋ˘˿ǘ

ȧǷʁ ǔȭ̉Ɩ ĶɁǖƋǔƬƋǒ <ˁƞƬǘ

*/ 2 " 3

4

5 , .

2 2 ' $

H

' $$ +

H

/ 9H

8

2 ' $$ ! A ! " " 8 " A

! / "

/ 9 @" ' $' ! .

2 8 ! A "

! ! 9 /

D 9

/ A

, 9 / !

= " .

2 5 * 5 , 6 . " " + 8 / "

B*.. >&.B < 3 ! ? 5- *B3 >* " * " E

+ =. < 3 ! ? = +

8

/ A

+ / / 8

+

8 "

ȧǷʁ ǔȭ̉Ɩ ÀŘǘʊ˿ȧ hǔǷŘǜ

ȧǷʁ ǔȭ̉Ɩ ÀŘƋǔƬǖ ĶDŽǷǔƬʁƬǘ

*/ 2 " : - 5 , 2 ' $'

H 8

' $ + > 9H8

? ! K.

9 *C7 *:L = " 2 " 3

4

5 , 8

.

2 >.2? 2 .2 ! " ' $M ! / " " " " ' $G

/ " 8" " 8 + = +

/ " A + "

A " "

! , 9 / 8

+ "

9 / 9 ! " , ! ,

= " .

2 8 5 * 5 , 8 6 . " 8

" + / " 5- *B3 >* " * " E

+ =. < 3 8 ! ? = +

/ A ! F + 8 " "

9 / 9

ȧǷʁ ǔȭ̉Ɩ <Ř˹ǔƞ ăƬʁƬƞ˿Ȯʊǘǔ

ɡʁɁnjƖ ƞʁ ǒŘŽƖ ǔȭ̉Ɩ ,Ƭ˘Řʁ˿ ŎǔƬǚǔȮʊǘǔ

= " 2 " 3

4

5 , >23 45? .

2 >.2? 2 .2 ! " ' $ ! / " 8 " " " ' $G 8" " + = +

/ " / A + "8

A !

H " ! / +

= ! , 2 " 3

4

5 , >23 45? .

2 >.2? 2 .2 ! " $(G% " ' G 9

H . 5 *

. 9 .5*. 2 .2 ! , I ! " " !9 ! " 8

" 23 45 >' ';' %? ! " " 5 * 8 5 , 6 >5* 56? >' %;' G? " 5*56 >' G;' $)? ! " " +9 23 45 >' $);? @" $(()

! B / 5* 56 @" ' & < * B / . * "

- = +

8

/ " A + "

A ! + 8

/ 9

, ! " ! ORCID: 0000-0001-9948-6319

" " ! " ! ORCID: 0000-0001-5326-1034

J, + ! " ! ORCID: 0000-0002-1898-0540

+ + ORCID: 0000-0003-0779-255X

" " " ! " ! ORCID: 0000-0003-2528-6335

54

P

O

M

I

! " ! ORCID: 0000-0001-7604-8834

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 55–63, DOI: 10.14313/PAR_233/55

L & & 9 &9 & 9 Z ' # - [ K & Zygmunt Lech Warsza Z O & N [ 0 6 8 0 9 0680$ 8 F *!*$ !*?=@) #

Jacek Puchalski \ 9 .& " $ B *$ !!?!!' #

Streszczenie: Dwuczęściowa praca przedstawia dotychczasowe wyniki prac autorów dotyczące wyznaczania niepewności pośrednich pomiarów wieloparametrowych. W niniejszej części 1. omówiono zaleşność współczynnika korelacji dwu wielkości od względnego stosunku ich odchyleń od estymatorów menzurandu o niepewnościach typów A i B oraz zaleşność macierzy kowariancji pośrednio wyznaczanego menzurandu wyjściowego przy skorelowaniu wielkości menzurandu wejściowego. Zaproponowano szerszy model matematyczny niş rekomendowany w Suplemencie 2 Przewodnika GUM. Uwzględnia on niepewności i korelację zarówno mierzonych wielkości wejściowych jak i ponadto parametrów funkcji ich przetwarzania. Moşe słuşyć do oceny dokładności nie tylko samych pomiarów wieloparametrowych ale i układów realizujących takie pomiary. W części 2. zostanie omówiony przykład zastosowania modelu rozszerzonego do opisu pośrednich pomiarów parametrów dwójnika poprzez czwórnik pasywny z uwzględnieniem niepewności i skorelowania jego elementów. +$ ! \ $ &$ A $ $ Z$ 9 $ & G 9 8 O$ -

1. Wprowadzenie W 1993 r. w międzynarodowym przewodniku wyznaczania niepewności pomiarów o angielskim akronimie GUM [1] wprowadzono nowe pojęcie „niepewność� do oceny dokładności pomiarów. Pojawiła się wówczas niejednolitość z dotychczas stosowanym opisem dokładności przyrządów, urządzeń i systemów pomiarowych przez błędy pomiarowe. Producenci aparatury pomiarowej podają nadal maksymalny dopuszczalny błąd przyrządu MPE (ang. maximum permissible error) [3]. Przy załoşeniu równomiernego rozkładu odchy-

) ! \

A M # $ '+ )%A ) $ ! & '= !@ *!'+ $ & & *( !+ *!'+

!

leń od estymatora wartości mierzonej, z przedziału ¹ tego błędu wyznacza się odchylenie standardowe jako składową niepewności typu B pomiarów tym przyrządem. Rekomendowana w Suplemencie 2 [2] do przewodnika GUM metoda wyznaczania niepewności pomiarów pośrednich wieloparametrowych powstała głównie z potrzeby jednolitego opisu dokładności pomiarów w obszarze miar i innych pomiarów laboratoryjnych. Jednak dotyczy ona tylko przypadków, w których funkcję przetwarzania wyników tych pomiarów realizuje się obliczeniowo z dokładnością o niepewnościach zwykle pomijalnych w praktyce, czyli wystarczająco dokładnie [5]. Metoda ta nie obejmuje wielu pośrednich pomiarów wieloparametrowych realizowanych całkowicie instrumentalnie przez wyspecjalizowane wieloparametrowe przyrządy lub systemy pomiarowe. Ich dokładność zaleşy zarówno od niepewności i korelacji wielkości bezpośrednio mierzonych na wejściu, jak i od nierozpatrywanych dotychczas niepewności parametrów układu realizującego funkcję przetwarzania pozyskiwanych danych oraz od parametrów torów przesyłu sygnałów. Pierwszy z autorów zainicjował w [8] opracowanie takiego rozszerzenia metody podanej w Suplemencie 2, aby za pomocą niepewności, moşna było jednolicie szaco-

55


' " ' '. L $ "'. L "'. L ! g E X w której UX, UY są macierzami kowariancji menzurandów X i Y. Ich elementy wyznacza się dla estymatorów x i i yj wszystkich wartości Xi i Yj obu menzurandów. Macierze te są następujące:

wać dokładność wieloparametrowych pomiarów pośrednich wykonywanych zarówno kilkoma osobnymi przyrządami z obliczeniami realizowanymi zewnętrznie, jak i wyspecjalizowanych zintegrowanych instrumentalnych układów i systemów pomiarowych realizujących w pełni cały proces tych pomiarów. Wpływ korelacji wielkości bezpośrednio mierzonych omówili autorzy szczegółowo [9–13]. Ponişej przedstawia się rozszerzoną metodę oceny niepewności, która w opisie dokładności wyników pośrednich pomiarach wieloparametrowych uwzględnia zarówno niepewności i korelacje multimenzurandu mierzonego na wejściu.

H, #

! !"

!" Estymatory y1, y2, ‌, ym wartości elementów (ang. observables) mierzonego pośrednio m-wymiarowego menzurandu Y = [Y1, Y2, ‌, Ym]T wyznacza się z estymatorów x1, x2, ‌, xn mierzonych bezpośrednio n-wielkości menzurandu X = [X1, X2, ‌, Xn]T wg ogólnego wzoru [2]: Y = F(X)

UX

⎥ ux21 ! Ď x 1nu1nuxn ⎤ ⎢ ⎼ ⎼, ! ! =⎢ ! ⎢ ⎼ 2 âŽ˘Ď u u ⎼ u ! xn ⎣ xn 1 xn x 1 ⎌

(3a)

UY

⎥ uy21 ! Ď y 1muy 1uyn ⎤ ⎢ ⎼ ⎼. ! ! ! =⎢ ⎢ ⎼ 2 âŽ˘Ď u u ⎼ u ! y m ym y ym 1 1 ⎣ ⎌

(3b)

Wariancje, jako kwadraty standardowych niepewności uxi, uyj znajdują się na głównych przekątnych obu macierzy kowariancji, zaś współczynniki korelacji rxik (i, k = 1, ..., n, i z k) oraz ryjl (j, l = 1, ..., m, j z l) występują w wyrazach niediagonalnych symetrycznie względem tych przekątnych jako iloczyny z niepewnościami. Współczynniki te mają istotne znaczenie, gdy oszacowane wartości i niepewności menzurandu Y będą następnie uşyte wspólnie. W opisie dokładności wielu przyrządów i układów pomiarowych stosuje się teş niepewności względne ureli. Przyrządy cyfrowe i przetworniki o liniowej charakterystyce) mają stałą czułość S w całym zakresie pomiarowym (Xi max –Xi 0 ). Moduł ich maksymalnego dopuszczalnego błędu MPE [3] moşna przedstawić jako sumę, tj.:

(1)

gdzie: F(X) – wielowymiarowa funkcja przetwarzania menzurandu X w okreĹ›lonych warunkach wpĹ‚ywajÄ…cych na pomiary. W metodzie podanej w Suplemencie 2 przewodnika GUM funkcjÄ™ F(X) traktuje siÄ™ jako dokĹ‚adnÄ…. Dotyczy to przypadkĂłw, gdy operacje przetwarzania wynikĂłw pomiarĂłw X wykonywane sÄ… z odpowiednio duşą precyzjÄ…, np. na komputerze zewnÄ™trznym lub teĹź zastosowanym w systemie pomiarowym. Niniejszy tekst dotyczy przetwarzania wynikĂłw pomiarĂłw. Dalej bÄ™dÄ… wiÄ™c stosowane estymatory xi, yj wartoĹ›ci Xi, Yj i = 1, ..., n, j = 1, ..., m parametrĂłw metrologicznych elementĂłw menzurandĂłw X, Y. Niewielkie przyrosty Δxi i Δyj liczone jako odchylenia od estymatorĂłw xi, yj (dawniej zwane bĹ‚Ä™dami pozornymi) powiÄ…zane sÄ… macierzowÄ… zaleĹźnoĹ›ciÄ… liniowÄ… wynikajÄ…cÄ… z róşniczki zupeĹ‚nej:

|ΔX |max = |ΔX | max + |Δ(X i

|

i –Xi 0) max

i0

º|ΔX |max + eSi (Xi –Xi 0). i0

.

gdzie: Xi 0 jest poczÄ…tkiem zakresu dla Xi;

Przy załoşeniu równomiernego rozkładu odchyleń w przedziale ¹|ΔX |max, z odchylenia standardowego wyznacza się dla i przyrostów (Xi –Xi 0) sygnału wyjściowego lub odczytu przyrządu lub kanału pomiarowego względną niepewność

(2)

⎥ S11 ⎢ gdzie: S ≥ ⎢ ! ⎢ ⎢ ⎣Sm 1

⎥ ∂y1 ⎢ ! S1n ⎤ ⎢ ∂x1 ⎼ ⎢ ! !⎼=⎢! ⎼ ⎢ ! Smn ⎌⎼ ⎢ ∂ym ⎢ ∂x ⎣ 1

. Przez proste podstawienia w całym pomiarowym zakresie otrzymuje się dla niepewności równanie (4) podobne do (3) [6]:

∂y1 ⎤ ! ⎼ ∂x n ⎼ ⎼ ! ! ⎼, ⎼ ∂ym ⎼ ! ∂x n ⎼⎌

UdY = Sd(X)¡UdX(X) ¡ Sd(X)T

⎥ ∂y x ⎤ w ktĂłrym Sδ (X ) ≥ ⎢ j i ⎼ dla i = 1, ‌, n oraz j = 1, ‌, m, ⎢⎣ ∂x i y j ⎼⎌ a UdX, UdY – to macierze kowariancji.

czyli

S ji =

NiepewnoĹ›ci wzglÄ™dne δ xi =

∂y j

(2a)

∂x i

UY = S(X)¡UX (X)¡S(X)T P

O

M

I

A

R

Y

(3) •

A

U

T

O

M

uxi , xi

δy = i

uyj yi

znajdujÄ… siÄ™

w tych samych miejscach w macierzach UdX, UdY jak niepewności bezwzględne uxi, uyj w macierzach UX, UY. Moşna teş niepewności bezwzględne odnosić do zakresu oraz stosować wzory niejednorodne, aby z nich, np. wyznaczać bezpośrednio niepewności względne lub vice versa. W ogólnym przypadku pośrednich pomiarów wieloparametrowych, poprzez przetworzenie danych pomiarowych wielkości Xi jako elementów menzurandu X, wyznacza się estymatory wartości yj oraz estymatory ich niepewności uyj i współczynników korelacji ryjl (j, l = 1, ..., m, j z l) dla wszystkich elementów menzurandu Y. Otrzymuje się je po przetworzeniu wielokrotnie powtórzonych surowych wartości obserwacji pomiarowych uzy-

Przyrosty Δxi i Δyj pojedynczych wartoĹ›ci elementĂłw menzurandĂłw X i Y sÄ… liczbami mianowanymi. Natomiast przy opisie dokĹ‚adnoĹ›ci przyrzÄ…dĂłw i ukĹ‚adĂłw pomiarowych czuĹ‚oĹ›ci Sji, zdeterminowane i losowe odchylenia Δxi, Δyj oraz niepewnoĹ›ci uxi, uyj sÄ… funkcjami zaleĹźnymi od wartoĹ›ci xi. PropagacjÄ™ niepewnoĹ›ci w poĹ›rednich pomiarach wieloparametrowych opisuje siÄ™ Ĺ‚Ä…cznie dla wszystkich wielkoĹ›ci macierzowo. Z róşniczki zupeĹ‚nej wielowymiarowego rĂłwnania (1) wynika zaleĹźność (3):

56

(4)

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


#" '. + * ' '. $ skanych w danych warunkach otoczenia przyrzÄ…dĂłw i otoczenia obiektu mierzonego, staĹ‚ych lub zmieniajÄ…cych siÄ™, w tym w okreĹ›lony sposĂłb. Znane, niepoşądane wpĹ‚ywy koryguje siÄ™ przez poprawki. Tak skorygowane dane pomiarowe traktuje siÄ™ juĹź jako losowe i przetwarza siÄ™ je statystycznie. Dla przejrzystoĹ›ci dalszego wywodu przytoczy siÄ™ pokrĂłtce zasady oceny dokĹ‚adnoĹ›ci pomiarĂłw wg przewodnika GUM [1]. Do tego celu sĹ‚uĹźy niepewność rozszerzona U(P) o okreĹ›lonym prawdopodobieĹ„stwie pokrycia P, np. 95% lub 99%. Jest to poĹ‚owa szerokoĹ›ci symetrycznego przedziaĹ‚u wokół estymatora wartoĹ›ci mierzonej, np. wartoĹ›ci Ĺ›redniej dla obserwacji w prĂłbce. JeĹ›li funkcja rozkĹ‚adu gÄ™stoĹ›ci prawdopodobieĹ„stwa jest znana, np. funkcja Gaussa dla rozkĹ‚adu normalnego, to niepewność rozszerzonÄ… U wyznacza siÄ™ analitycznie z odchylenia standardowego Ĺ›redniej z danych prĂłbki i współczynnika rozszerzenia kP dla okreĹ›lonego P. Dla rozkĹ‚adĂłw danych pomiarowych otrzymywanych eksperymentalnie niepewność rozszerzonÄ… U wyznacza siÄ™ numerycznie metodÄ… Monte Carlo wg Suplementu 1 do GUM. Dla kaĹźdej wielkoĹ›ci mierzonej bÄ™dÄ…cej elementem multimenzurandu podstawÄ… do wyznaczenia niepewnoĹ›ci rozszerzonej U jest wg GUM [1] niepewność standardowa u zdefiniowana jako odchylenie standardowe rozkĹ‚adu wypadkowego dla splotu dwĂłch statystycznie niezaleĹźnych rozkĹ‚adĂłw odchyleĹ„ od estymatora wartoĹ›ci tej wielkoĹ›ci o standardowych niepewnoĹ›ciach typu A i typu B, oznaczonych odpowiednio jako uA i uB. Pierwszy z tych rozkĹ‚adĂłw opisuje statystycznie rozrzut eksperymentalnie otrzymanych wartoĹ›ci obserwacji pomiarowych. Drugi jest rozkĹ‚adem hipotetycznym, ktĂłry randomizuje przewidywane zmiany wynikĂłw róşnego pochodzenia, czyli dodatkowe odchylenia, w tym zwykle staĹ‚e albo wolnozmienne w trakcie kolejnego eksperymentu gromadzenia wynikĂłw pomiarĂłw, lecz nieznane co do wartoĹ›ci. Odchylenia te mogÄ… pojawiać siÄ™ jako losowe w dĹ‚ugim okresie uĹźytkowania przyrzÄ…du lub systemu pomiarowego wskutek przypadkowo zmiennych, ale dopuszczalnych warunkĂłw otoczenia, innych niĹź przy kalibracji przyrzÄ…du i w pomiarach kontrolnych oraz jako skutek zmian wewnÄ™trznych parametrĂłw. W modelu matematycznym zastosowanym w GUM [1] przyjÄ™to zaĹ‚oĹźenie, Ĺźe zbiory wartoĹ›ci opisanych oboma rozkĹ‚adami odchyleĹ„ typu A i B sÄ… nieskorelowane, gdyĹź tak zwykle jest w praktyce. WĂłwczas dla kaĹźdej wielkoĹ›ci mierzonej xi standardowa niepewność ui rozkĹ‚adu wypadkowego jako ich splotu i jej skĹ‚adowe uAi i uBi jako odchylenia standardowe obu rozkĹ‚adĂłw, sÄ… sumÄ… geometrycznÄ…: ui = u A2 i + u B2 i

(5)

Estymator xi wartości Xi i jego niepewność składową uAi wyznacza się statystycznie z próbki danych, np. jako wartość średnią dla rozkładu normalnego [1] lub inną dla znanych rozkładów [7]. Niepewność składową uBi szacuje się zaś na podstawie subiektywnej wiedzy o przewidywanych zakresach i rozkładach wielkości wpływających oraz ich oddziaływaniach. Wprowadzenie uBi jest równoznaczne z dodaniem zbioru dodatkowych odchyleń. Niepewność uBi randomizuje spodziewane oddziaływania tych wpływów, których wartości bieşące w przeprowadzanych pomiarach nie są znane i brakuje informacji, aby obliczyć dla nich poprawki i skorygować wartość estymatora. W znanych warunkach pracy o ograniczonym zakresie zmian wielkości wpływających, moşna przyjąć mniejszą wartość niepewności składowej uB niş to wynika z danych producenta dla pełnego zakresu dopuszczalnych warunków pracy przyrządu oraz badanego obiektu [4, 7]. W pomiarach wieloparametrowych, z danych pomiarowych wyznacza się niepewności uAxi dla kaşdej z bezpośrednio mierzonych wielkości xi menzurandu X. Dla danych mierzonych

zbyt gÄ™sto uwzglÄ™dnia siÄ™ autokorelacjÄ™ [6] oraz szacuje siÄ™ heurystycznie niepewnoĹ›ci uBxi i oblicza siÄ™ standardowe niepewnoĹ›ci zĹ‚oĹźone ui wg wzoru (5). NastÄ™pnie tworzy siÄ™ macierz kowariancji UX. Rozrzuty wartoĹ›ci obserwacji dla kaĹźdego elementu xi zaleşą zarĂłwno od wpĹ‚ywĂłw warunkĂłw otoczenia na ukĹ‚ad pomiarowy i obiekt badany, jak i od zmian parametrĂłw wewnÄ™trznych. JeĹ›li wielkoĹ›ci xi multimenzurandu sÄ… skorelowane, to ich współczynniki korelacji wyznacza siÄ™ z wynikĂłw synchronicznie poprowadzonych pomiarĂłw lub z wiedzy o badanym procesie. Skorelowania wystÄ™pujÄ… dla zbiorĂłw odchyleĹ„ opisanych niepewnoĹ›ciami tylko jednego typu: A bÄ…dĹş B. Ich współczynniki korelacji oznaczymy, podobnie jak niepewnoĹ›ci skĹ‚adowe, odpowiednio indeksami dolnymi A i B. Elementy multimenzurandu wejĹ›ciowego X w ogĂłlnym przypadku mogÄ… być w róşnym stopniu skorelowane. Dotyczy to zarĂłwno współczynnika rA, jak i rB. WpĹ‚ywajÄ… one na dokĹ‚adność wynikĂłw pomiaru elementĂłw menzurandu wyjĹ›ciowego Y wyznaczanych poĹ›rednio z pomiarĂłw X. Współczynniki korelacji rA moĹźna wyznaczyć eksperymentalnie, jeĹ›li poprowadzi siÄ™ pomiary menzurandu X tak, by obserwacje mierzonych wielkoĹ›ci uzyskiwać synchronicznie i w znanych chwilach. Wyniki heurystycznych oszacowaĹ„ niepewnoĹ›ci typu B i współczynnikĂłw korelacji rB mogÄ… być zróşnicowane, gdy mierzy siÄ™ róşne wartoĹ›ci, na róşnych zakresach jednego miernika lub róşnymi przyrzÄ…dami pomiarowymi. W ocenie skorelowania odchyleĹ„ opisanych niepewnoĹ›ciami typu B trzeba w jak najwiÄ™kszym stopniu wykorzystać pozyskanÄ… wiedzÄ™ o takich pomiarach i nawet, jeĹ›li jest to celowe, wykonać teĹź uzupeĹ‚niajÄ…ce eksperymenty. WartoĹ›ci wyznaczanych poĹ›rednio estymatorĂłw yi dla wielkoĹ›ci Yi (obserwabli) menzurandu Y oraz macierz kowariancji UY z niepewnoĹ›ciami i współczynnikami korelacji uzyskuje siÄ™ ze wzorĂłw (1)–(4). RozwaĹźania na przykĹ‚adzie menzurandu 2D (n = m = 2) przedstawiono w kolejnym rozdziale.

Y, +

H. Pomiary dwuelementowego (2D) menzurandu X = [X1, X2] są szczególnym przypadkiem pomiarów wieloparametrowych opisywanych ogólnie wzorami (1)–(4). Stosuje się je, gdy kilka wielkości mierzonych jest ze sobą powiązanych w obiekcie pomiarowym lub przez oddziałujące na nich wielkości zewnętrzne. W pomiarach dwuparametrowych (2D) niepewności dwu wielkości X1 i X2, oznaczone jako ux1 i ux2 są sumami geometrycznymi niepewności składowych typu A i B opisanymi równaniami:

ux21 = u12A + u12B

(6a)

ux22 = u 22A + u 22B

(6b)

W ogĂłlnym przypadku wyniki pomiarĂłw X1, X2 majÄ… róşne wartoĹ›ci niepewnoĹ›ci u1A i u2A oraz u1B i u2B. JeĹ›li eksperymenty te odbywajÄ… siÄ™ w jednakowych lub podobnych warunkach wpĹ‚ywajÄ…cych, to wielkoĹ›ci mierzone X1, X2 mogÄ… być skorelowane. Zbiory wartoĹ›ci ich odchyleĹ„ opisane niepewnoĹ›ciami skĹ‚adowymi kaĹźdego typu, tj. u1A, u2A oraz u1B, u2B, mogÄ… być wĂłwczas powiÄ…zane ze sobÄ… współczynnikami korelacji o wartoĹ›ciach 1 > rA > –1 oraz 1 > rB > –1. PrzykĹ‚adem jest tu skorelowanie napięć i prÄ…dĂłw mierzonych dla tego samego obiektu, w tych samych warunkach i przy zasilaniu z niestabilizowanej sieci elektrycznej. NiepewnoĹ›ci i skorelowania odchyleĹ„ wielkoĹ›ci x1, x2 menzurandu 2D ilustruje rys.1. Aby w pomiarach 2D wyznaczyć standardowe niepewnoĹ›ci uy1, uy2 i współczynnik korelacji ry1,2 wykorzysta siÄ™ macierzowy zapis prawa propagacji wariancji (3) lub (4). JeĹ›li wnioski z pomiarĂłw majÄ… dotyczyć warunkĂłw badania oraz uĹźytkowania obiektu

57


' " ' '. L $ "'. L "'. L ! g E X

Z ostatniej postaci macierzy Ux1,2 we wzorze (7) wynika, şe moşna ją przedstawić jako sumę Ux1,2 = Ux1,2A + Ux1,2B

(7a)

Na głównej przekątnej macierzy Ux1,2 występują niepewności zgodne z regułą sumowania wariancji wg (6a) i (6b), czyli dla kwadratów niepewności typu A i typu B obu mierzonych wielkości. Współczynnik korelacji między wielkościami x1 i x2 opisują wzory (9):

Ď x 1,2 =

Ď Au1Au 2A + Ď Bu1Bu 2B u12A + u12B u 22A + u 22B

=

Ď Au1Au 2A ux 1ux 2

+

Ď Bu1Bu 2B ux 1ux 2

.

(8)

Jeśli dla stosunków niepewności składowych i standardowych ux1, ux2 przyjmie się oznaczenia:

0 ≤ k1B ≥

Rys. 1. NiepewnoĹ›ci skĹ‚adowe menzurandu 2D i współczynniki korelacji: Ď A oraz Ď B miÄ™dzy zbiorami odchyleĹ„ obserwacji pomiarowych obu wielkoĹ›ci o niepewnoĹ›ciach uA oraz zbiorami odchyleĹ„ o niepewnoĹ›ciach uB szacowanych heurystycznie Fig. 1. Uncertainties of type A and B of the 2D measurand and correlation coefficient Ď A – between sets of observed data deflections of uncertainties uA and Ď B – of heuristic deflections uB

u1B ≤ 1, ux 1

0 ≤ k 2B ≥

u 2B ≤1 ux 2

to z wzorĂłw (6a, 6b) otrzymuje siÄ™

u1A ≥ k1A = 1 − k12B , ux 1

innych niş podczas kalibracji przyrządu, to oprócz niepewności standardowych u1A, u2A, wyznaczonych z bieşących rozrzutów wartości obserwacji, trzeba teş uwzględnić przewidywane zmiany niepewności u1B, u2B. Macierz kowariancji wg wzoru (3a) dla menzurandu 2D ma następujące postacie:

(9a)

(9b)

Powyşsze stosunki niepewności spełniają warunek 2

2

⎛ uiB ⎞ ⎛ uiA ⎞ 2 2 ⎜ âŽ&#x; +⎜ âŽ&#x; = kiB + kiA = 1, âŽ? uxi ⎠âŽ? uxi âŽ

i = 1, 2

Zaś po przekształceniach otrzymuje się prostszą postać wzoru (8)

Ď x 1,2 = Ď A 1 − k12B 1 − k22B + Ď B k1B k2B .

(7)

(10)

Rys. 2. ZaleĹźnoĹ›ci współczynnika korelacji dwu wielkoĹ›ci Ď y1,2 = f(k1B , k1B) dla trzech współczynnikĂłw korelacji Ď A , Ď B skĹ‚adowych ich odchyleĹ„ o niepewnoĹ›ciach typu A lub B Fig. 2. Relations of correlation coefficient of two quantities Ď y1,2 = f(k1B , k1B) for three pairs of correlation coefficients Ď A , Ď B of their deviation components with uncertainty type A or B

58

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


#" '. + * ' '. $

(

)

ZaleĹźnoĹ›ci współczynnika korelacji Ď y 1,2 = f k12B , k22B dla róşnych wartoĹ›ci par współczynnikĂłw rA, rB przedstawione sÄ… na rysunku 2. SÄ… to skoĹ›nie przebiegajÄ…ce i przecinajÄ…ce siÄ™ pĹ‚aszczyzny krzywoliniowe. Z analizy w [9 -13] wynika, Ĺźe najwiÄ™kszÄ… wartość współczynnika ry1,2 w caĹ‚ym zakresie k1B ma krzywa o rA = 1, rB = 1, gdy k1B = k2B. Zbadano teĹź rzadziej wystÄ™pujÄ…ce w praktyce pomiarowej przypadki o ujemnych współczynnikach korelacji rA < 0, rB < 0. Korelacja miÄ™dzy wynikami pomiarĂłw dwu skojarzonych wielkoĹ›ci, w tym tej samej wielkoĹ›ci mierzonej dwoma róşnymi miernikami lub na dwĂłch róşnych zakresach, czyli o róşnych niepewnoĹ›ciach uB, zaleĹźy od wartoĹ›ci tych niepewnoĹ›ci. Jest ona tym wiÄ™ksza, im wiÄ™ksza jest niepewność pomiaru typu B w stosunku do niepewnoĹ›ci typu A wynikĂłw wielkoĹ›ci mierzonych.

⎥ u12A U x 12A = ⎢ ⎢ Ď Au1Au 2A ⎣

Ď Au1Au 2A ⎤

⎥ u12B U x 12B = ⎢ ⎢ Ď Bu1Bu 2B ⎣

Ď Bu1Bu 2B ⎤

gdzie:

⎥ ux21 U x 1,2 = ⎢ ⎢ Ď x 1,2ux 1ux 2 ⎣

Ď x 1,2ux 1ux 2 ⎤ ⎼ ⎼ ⎌

ux22

ux21 = u12A + u12B , ux22 = u 22A + u 22B ,

Ď x 1,2 =

Ď Au1Au 2A + Ď Bu1Bu 2B ux 1ux 2

.

u 22B

⎼ ⎼ ⎌

⎼ ⎼ ⎌

(11a)

(11b)

W ogólnym przypadku w pomiarach wieloparametrowych o dowolnej liczbie n wielkości mierzonych i m wielkościach pośrednio wyznaczanych, macierze kowariancji UX i UY moşna przedstawić jako dwie sumy:

], : ! $ ! Y Przy stosowaniu przyrzÄ…dĂłw i ukĹ‚adĂłw pomiarowych w róşnych warunkach otoczenia i przy róşnym losowym rozrzucie obserwacji pomiarowych moĹźe być niezbÄ™dne wyodrÄ™bnienie wartoĹ›ci niepewnoĹ›ci skĹ‚adowych uA i uB dla wielkoĹ›ci Yi menzurandu wyjĹ›ciowego Y oraz współczynnikĂłw skorelowania rA, rB dla par odchyleĹ„ tych wielkoĹ›ci. Przedstawi siÄ™ to na przykĹ‚adzie 2D menzurandu X = [X1, X2]T o postaciach macierzy Ux1,2 wg (7), tj. dla

u 22A

UX = UXA + UXB

(12a)

UY = UYA + UYB

(12b)

Składniki obu macierzy kowariancji znajduje się po linearyzacji funkcji Y = F(X) przez macierz S wg wzorów (uproszczono zapis S i UX, nie podkreśla się moşliwości występowania zaleşności od X):

i

UYA = SU XAS T

(12c)

UYB = SU XBS T

(12d)

Macierz kowariancji UY menzurandu wyjĹ›ciowego moĹźna wyznaczać dwojako, tj.: − oszacować, jak poprzednio UX = UXA + UXB i z niej bezpoĹ›rednio otrzymać UY (rys. 3a) lub − najpierw wyznaczyć z macierzy UXA i UXB wyjĹ›ciowe macierze skĹ‚adowe UYA i UYB (rys. 3b). Otrzymuje siÄ™: (13)

Składowe macierze kowariancji Ux12A, Ux12B wg (7a) dla zbiorów odchyleń wielkości wejściowych o niepewnościach uiA oraz uiB (i = 1, 2) wynoszą odpowiednio:

(14)

Rys. 3. Schematy przetwarzania niepewności w wieloparametrowych pomiarach pośrednich i dwa sposoby a, b wyznaczania wyjściowej macierzy kowariancji UY i jej macierzy składowych UYA , UYB wg macierzowego prawa propagacji wariancji Fig. 3. Schemes of uncertainty processing in multi-parameter indirect measurements and two methods: a, b for determining the output covariance matrix UY and its component matrixes UYA , UYB according to the matrix law of variance propagation

59


' " ' '. L $ "'. L "'. L ! g E X

u (x1 −x2 ) = u 02 − 2ux 1ux 2 = ux21 + ux22 − 2ux 1ux 2 = ux 1 − ux 2

Oba sposoby są równowaşne. Sprawdzono to numerycznie dla modelu o 2D menzurandach X i Y. Z macierzy jako składników macierzy UY we wzorze (14) moşna wyznaczyć niepewności składowe elementów menzurandu wyjściowego i współczynniki korelacji zbiorów odchyleń kaşdego z typów A i B. Na przykład dwuelementowy menzurand wyjściowy Y ma macierz kowariancji

U y 1,2

⎥ uy21A + uy21B =⎢ ⎢ Ď yAuy 1Auy 2A + Ď yBuy 1Buy 2B ⎣

Przy uwzglÄ™dnieniu caĹ‚kowitej korelacji wielkoĹ›ci mierzonych, z geometrycznego sumowania niepewnoĹ›ci otrzymuje siÄ™ proste zaleĹźnoĹ›ci algebraiczne, tj. dla sumy tych wielkoĹ›ci sumÄ™ ich niepewnoĹ›ci, a dla róşnicy – moduĹ‚ róşnicy tych niepewnoĹ›ci. b. Nie ma skorelowania miÄ™dzy x1, x2, tj. rx1,2 = 0 NiepewnoĹ›ci sumy i róşnicy sÄ… jednakowe i wynoszÄ…

Ď yAuy 1Auy 2A + Ď yBuy 1Buy 2B ⎤

⎼. ⎼ ⎌

uy22A + uy22B

u ( x1 + x 2 ) = u ( x1 − x 2 ) = u 0 .

c. Odchylenia o niepewnościach u1A, u2A nie są skorelowane gdy (rA = 0; 1 > rB ≠0)

(15) Tę macierz moşna podzielić na następujące macierze składowe typu A i B:

u (x1 + x2 ) = u 02 + 2 Ď Bu1Bu 2B , u (x1 −x2 ) = u 02 − 2 Ď Bu1Bu 2B .

(16) Niepewność sumy wielkoĹ›ci wejĹ›ciowych jest wiÄ™ksza niĹź poprzednio i osiÄ…ga maximum dla rB = 1. ZaĹ› dla róşnicy tych wielkoĹ›ci niepewność jest wĂłwczas najmniejsza.

Na rysunku 3 podano schematy a i b przetwarzania niepewności wejściowych i wyznaczania wyjściowej macierzy kowariancji jako sumy jej macierzy składowych wg macierzowego prawa propagacji wariancji w pomiarach pośrednich wieloparametrowych. Ogólnie w tych pomiarach macierz kowariancji jest sumą przetwarzanych oddzielnie macierzy kowariancji odchyleń wielkości wejściowych o niepewnościach A i B.

d. Pomiary obu wartoĹ›ci x1, x2 wykonuje siÄ™ tym samym, lub zbliĹźonym przyrzÄ…dem albo czujnikiem i w tych samych warunkach. WĂłwczas współczynnik korelacji rB → 1 i moĹźna przyjąć rB = 1. WartoĹ›ci obserwacji nie sÄ… skorelowane (r A = 0). Wypadkowe niepewnoĹ›ci u B sumy i róşnicy wynikajÄ… wĂłwczas z kwadratĂłw dwumianĂłw (u1B Âą u2B) i naleĹźy stosować nastÄ™pujÄ…ce wzory

# $ , NiepewnoĹ›ci menzurandu 2D w postaci sumy i róşnicy wielkoĹ›ci X1, X2 ⎥1 1 ⎤ ⎥ X 1 ⎤ ⎼ ⎢ ⎼ = ⎥X 1 + X 2 Y = S â‹…X = ⎢ ⎢⎣1 −1⎼⎌ ⎢⎣X 2 ⎼⎌ ⎣

T

X 1 − X 2 ⎤⎌ .

(17)

(

)

(18)

(

)

(19)

u (x1 −x2 ) = u 02 − 2 Ď Au1Au 2A + Ď Bu1Bu 2B

u 02 = u12A + u12B + u 22A + u 22B

Ď (x

u2 − u2

1 + x 2 , x1 − x 2

x1 x2 ) =u u x1 + x 2 x1 − x 2

(20)

Rozpatrzone zostanÄ… cztery przypadki szczegĂłlne wzorĂłw (18) i (19):

u1A u 2A . = u1B u 2B

W ogólnym przypadku estymatory wartości, niepewności i współczynników korelacji elementów yj mierzonego pośrednio wieloparametrowego menzurandu Y zaleşą teş od niepewności parametrów pi układu realizującego wielowymiarową funkcję przetwarzania F(X). Parametry tego układu moşna opisać ogól-

u (x1 + x2 ) = u 02 + 2ux 1ux 2 = ux21 + ux22 + 2ux 1ux 2 = ux 1 + ux 2

P

O

M

2

b,L, 5

WĂłwczas:

60

)

b, (

n !" $ ! ! UP x J

a. Współczynnik korelacji wielkości wejściowych rx1,2 = 1, gdy rA = 1, rB = 1 i

(

2

Podobne postacie wzorów otrzymuje się dla niepewności względnych iloczynu i ilorazu x1, x2. Z eksperymentalnych danych pomiarowych wyznaczyć moşna jedynie współczynnik korelacji rA. Uzyskuje się go z wartości synchronicznie pobieranych obserwacji pomiarowych dwu wielkości x1, x2 w stałych warunkach wpływających. Jeśli takich pomiarów nie wykonano, lub nie są one moşliwe, to naleşy przyjąć, şe zbiory odchyleń obu wielkości mierzonych mają najbardziej niekorzystny przypadek współczynnika korelacji rA, tj. dający największą niepewność składową. Oszacowanie wartości współczynnika rB jest heurystyczne i opiera się głównie na wiedzy oraz subiektywnym doświadczeniu wykonującego pomiary. Gdy brakuje informacji jak oszacować liczbowo jego wartości, naleşy przyjmowa najblişszą z wartości krańcowych 1, 0, –1.

gdzie:

oraz

)

u (x1 −x2 ) = u12A + u 22A + u1B − u 2B .

Z zaleĹźnoĹ›ci (3), (6a, b) i (8) wynika, Ĺźe dla estymatorĂłw x1, x2 o parametrach typu A wyznaczonych z pomiarĂłw oraz typu B wyznaczonych heurystycznie otrzymuje siÄ™: u (x1 + x2 ) = u 02 + 2 Ď Au1Au 2A + Ď Bu1Bu 2B

(

u (x1 + x2 ) = u12A + u 22A + u1B + u 2B ,

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


#" '. + * ' '. $

nie k-wymiarowym wektorem P. Mogą one podlegać zmianom deterministycznym i losowym w zaleşności od warunkach pomiarów, uşytych egzemplarzy przyrządów i zastosowanej procedury pomiarowej. W kaşdym z eksperymentów pomiarowych realizacje funkcji F(X) mogą odbiegać od jej postaci znamionowej. Opisuje to zmodyfikowane ogólne równanie (1) dla wartości menzurandu Y oraz równanie (22) dla jego przyrostów: Y = F(X, P)

(21)

ΔY = ΔF(X, P) = SX,P¡[ΔX, ΔP]T

(22)

gdzie: SX,P o wymiarze [m ×(n+k) ] jest macierzą linearyzującą funkcję (21). Dla przetwarzania danych pomiarowych wg funkcji (21) prawo propagacji wariancji ma postać ogólną:

UY ,P = SX ,P â‹…U X ,P â‹… SXT ,P

(23)

gdzie UX,P, UY,P – wyjściowa i wyjściowa macierze kowariancji oraz macierz wraşliwości SX,P. Macierz czułości SX,P ze wzoru (23) linearyzująca funkcję F(X, P) spełnia zaleşności: SX ,P = ⎥⎣S SP ⎤⎌

(23a)

⎥S T ⎤ SXT ,P = ⎢ ⎼ ⎢SPT ⎼ ⎣ ⎌

(23b)

(24) o rozmiarach: S [m Ă— n] ∂y1 ⎤ ⎼ ∂x n ⎼ ⎼ ! ⎼ ⎼ ∂ym ⎼ ∂x n ⎼⎌

⎥ ux21 ! Ď x 1nu1nuxn ⎤ ⎢ ⎼ ⎼, ! ! =⎢ ! ⎢ ⎼ 2 âŽ˘Ď u u ⎼ u ! xn xn x xn 1 1 ⎣ ⎌

(24c)

⎥ u p21 ! Ď p1ku p1u pk ⎤ ⎢ ⎼ ⎼. Up = ⎢ ! ! ! ⎢ ⎼ 2 âŽ˘Ď u u ⎼ u ! pk ⎣ k 1 pk p1 ⎌

(24d)

UX

gdzie upi – niepewnoĹ›ci parametrĂłw ukĹ‚adu przetwarzajÄ…cego; rpij , (i z j, i, j = 1, ..., k) – współczynniki korelacji miedzy nimi, • macierz „kowariancyjnaâ€? korelacji miÄ™dzy wielkoĹ›ciami wejĹ›ciowymi X i parametrami P ukĹ‚adu przetwarzajÄ…cego o rozmiarze [n Ă— k] ⎥ Ď x 1p1ux 1u p1 ! Ď x 1pkux 1u pk ⎤ ⎢ ⎼ ⎼. U =⎢ ! ! ! ⎢ ⎼ âŽ˘Ď u u ⎼ Ď u u ! xnp 1 xn p 1 xnpk xn pk ⎣ ⎌

(24e)

gdzie rxipj (i = 1, ... , n, j = 1, .., k) – współczynniki korelacji wielkości wejściowych i parametrów układu, Po wprowadzeniu oznaczenia V = SUSPT oraz przekształce-

Zrandomizowane odchylenia od estymatorów wartości elementów menzurandu wyjściowego Y powstają jako wynik splotów rozkładów odchyleń menzurandu X i odchyleń parametrów P układu realizującego funkcję F(X, P). Ich macierze kowariancji sumują się. Macierz kowariancji UY wynika z linearyzacji funkcji Y = F(X, P) i w ogólnym przypadku opisana jest następującym równaniem propagacji:

w ktĂłrym: • macierze czuĹ‚oĹ›ci odpowiednio i Sp[m Ă— k], tj.: ⎥ ∂y1 ! ⎢ ⎢ ∂x1 ⎢ S =⎢! ! ⎢ ⎢ ∂ym ! ⎢ ∂x ⎣ 1

• macierze kowariancji wielkości wejściowych o rozmiarze [n × n] i parametrów układu [k × k]

(24a)

(

niach V T = SUSPT

)

T

( )

= S p US

T

= S pU TS T rĂłwnanie (24)

przyjmuje prostszą postać:

UY = SU XS T + S pU pS pT + V + V T

(25)

b,H, #

!"

! ! !" $ przetwarzania Rozpatrzymy przypadek prostszy, często występujący w praktyce pomiarowej, w tym w diagnostyce technicznej schematów elektrycznych, gdy odchylenia mierzonych wielkości X oraz odchylenia parametrów P układu przetwarzającego pomiary nie są ze sobą skorelowane (np. znajdują się w innych miejscach i oddziaływania wielkości zewnętrznych wpływających na kaşde z nich nie są ze sobą powiązane). Wówczas V = VT = 0 i rozszerzona macierz kowariancji menzurandu wejściowego UX,P o wymiarze [(n + k) × (n + k)] ze wzoru (24) ma dwa bloki równe 0, tj.: ⎥U X [0] ⎤ ⎼ U X,P = ⎢ ⎢ [0 ] U p ⎼ ⎣ ⎌

(26)

gdzie przez UX, UP oznaczono odpowiednio macierze kowariancji wielkości wejściowych X o wymiarze [n × n] i parametrów P układu o wymiarze [k × k]. (24b)

Dla niewielkich przyrostĂłw otrzymuje siÄ™ ΔY(X) = ΔF(X, P) = S(X)¡Î”X + SP¡Î”P

(27)

61


' " ' '. L $ "'. L "'. L ! g E X

gdzie macierz S o wymiarze [m × n] i macierz SP o wymiarze [m × k] wynikają z linearyzacji funkcji F(X, P) odpowiednio po zmiennych wejściowych w punkcie X i po parametrach układu.

zaleĹźne i nie sÄ… skorelowane z wartoĹ›ciami wielkoĹ›ci mierzonych na wejĹ›ciu ukĹ‚adu, otrzymuje siÄ™ prostsze dwuskĹ‚adnikowe rĂłwnanie macierzy kowariancji dla niepewnoĹ›ci bezwzglÄ™dnych (28) i jego wariant (30) z wydzielonymi macierzami dla odchyleĹ„ typu A i B. Pierwszy skĹ‚adnik jest taki jak w Suplemencie 2 [2] Przewodnika GUM. RĂłwnania wyjĹ›ciowej macierzy kowariancji (29) i (31) otrzymane dla niepewnoĹ›ci wzglÄ™dnych majÄ… teĹź podobnÄ… strukturÄ™. W części 2. artykuĹ‚u zostanie przedstawiony przykĹ‚ad ilustrujÄ…cy zastosowanie rozszerzonej metody do wyznaczania niepewnoĹ›ci pomiarĂłw poĹ›rednich wieloparametrowych z uwzglÄ™dnieniem niepewnoĹ›ci i korelacji parametrĂłw P ukĹ‚adu realizujÄ…cego funkcjÄ™ przetwarzania. BÄ™dÄ… to czÄ™sto wystÄ™pujÄ…ce w pomiarach przemysĹ‚owych i w diagnostyce technicznej, pomiary za poĹ›rednictwem ukĹ‚adu o strukturze czwĂłrnika. Część 2. bÄ™dzie zawierać teĹź wnioski koĹ„cowe.

Obie macierze kowariancji UX i UP sÄ… symetryczne, a odchylenia elementĂłw typu A kaĹźdej z nich w ogĂłlnym przypadku mogÄ… ze sobÄ… korelować niezaleĹźnie od skorelowania odchyleĹ„ z niepewnoĹ›ciami typu B. RĂłwnanie propagacji wariancji, dla UX,P wg (26) przyjmuje postać ⎥U X [0] ⎤ ⎥S T ⎤ ⎼ â‹… ⎢ ⎼ = S â‹…U X â‹… S T + SP â‹…U P â‹… SPT UY,P = ⎥⎣S SP ⎤⎌ â‹… ⎢ ⎢⎣ [0] U P ⎼⎌ ⎢SPT ⎼ ⎣ ⎌ (28)

^ Podobną postać macierzy kowariancji otrzymuje się dla niepewności względnych, tj.:

U δY,P = Sδ â‹…U δ â‹… SδT + Sδ P â‹…U δ P â‹… SδTP

1. JCGM100:2008, Evaluation of measurement data – Guide to the expression of uncertainty in measurement. 2. JCGM102:2011, Supplement 2 to the ‘GUM – Extension to any number of output quantities‘. 3. EA-4/02 M: 2013 Wyznaczanie niepewnoĹ›ci pomiaru przy wzorcowaniu (Evaluation of the Uncertainty of Measurement in Calibration). 4. Dorozhovets M., Warsza Z.L., Udoskonalenie metod wyznaczania niepewnoĹ›ci wynikĂłw pomiaru w praktyce. „PrzeglÄ…d Elektrotechnikiâ€?, Nr 1, 2007, 1–13. 5. Warsza Z.L., Ezhela V.V., Zarys podstaw teoretycznych wyznaczania i numerycznej prezentacji wynikĂłw pomiarĂłw poĹ›rednich wieloparametrowych. „Pomiary Automatyka Kontrolaâ€?, Vol. 57, Nr 2, 2011, 175–179. 6. Warsza Z.L., ZiÄ™ba A., Niepewność typu A pomiaru o obserwacjach samo-skorelowanych. „Pomiary Automatyka Kontrolaâ€?, Vol. 58, Nr 2, 2012, 157–161. 7. Warsza Z.L., Metody rozszerzenia analizy niepewnoĹ›ci pomiarĂłw. Monografia, Oficyna Wydawnicza PIAP, Warszawa 2016. 8. Warsza Z.L. Part 1; Warsza Z.L., Puchalski J., Part 2, Mat. Konf. (CD): Problems and Progress of Metrology, ppm ’18 Szczyrk 04–06 June 2018 r. Series: Conferences No. 22, Metrology Commission of Katowice Branch of the Polish Academy of Science, ISBN 978-83-7880-541-0. 9. Warsza Z.L., Puchalski J., Udoskonalona metoda wyznaczania niepewnoĹ›ci w pomiarach wieloparametrowych. Część 1. Podstawy teoretyczne dla skorelowanych wielkoĹ›ci mierzonych. „Pomiary Automatyka Robotykaâ€?, R. 23, Nr 1, 2019, 47-58, DOI: 10.14313/PAR_231/47. 10. Warsza Z.L., Puchalski J., Udoskonalona metoda wyznaczania niepewnoĹ›ci w pomiarach wieloparametrowych. Część 2. PrzykĹ‚ady pomiarĂłw wielkoĹ›ci skorelowanych, „Pomiary Automatyka Robotykaâ€?, R. 23, Nr 2, 2019, 29-37, DOI: 10.14313/PAR_232/29. 11. Warsza Z.L., Puchalski J., Vector method of estimation the uncertainties of correlated multi-measurands. Proceedings (Conference Digest) of Quantum and Precision Metrology QPM 2019 Conference Krakow, Poland, 17-19 June 2019, ISBN 978-83-939486-5-9 SIV 4. 12. Warsza Z.L., Puchalski J., Wektorowa metoda wyznaczania niepewnoĹ›ci w pomiarach wieloparametrowych o skorelowanych skĹ‚adowych typu A oraz B menzurandĂłw, „PrzemysĹ‚ Chemicznyâ€?, Nr 7/2019, 1061–1068. 13. Warsza Z.L., Puchalski J., Niepewność wieloparametrowych pomiarĂłw wielkoĹ›ci skorelowanych. Zeszyty Naukowe WydziaĹ‚u Elektrotechniki i Automatyki Politechniki GdaĹ„skiej, Nr 65, 2019, 101-108.

(29)

W przypadku pomiarĂłw poĹ›rednich wieloparametrowych, gdy parametry ukĹ‚adu P i wielkoĹ›ci mierzone X nie sÄ… skorelowane, wzĂłr (26) upraszcza siÄ™ do postaci (28) i z niego wynika wzĂłr (29) dla niepewnoĹ›ci wzglÄ™dnych. WyjĹ›ciowa macierz kowariancji UY,P staje siÄ™ wĂłwczas sumÄ… tylko dwu wyraĹźeĹ„. Pierwszy skĹ‚adnik zaleĹźy od niepewnoĹ›ci menzurandu wejĹ›ciowego X tak, jak w ujÄ™ciu klasycznym wg GUM-S2 [2]. Drugi skĹ‚adnik dotyczy niepewnoĹ›ci i współczynnikĂłw korelacji parametrĂłw P ukĹ‚adu realizujÄ…cego funkcjÄ™ przetwarzania F(X, P). Wyznaczanie macierzy kowariancji UY,P menzurandu wyjĹ›ciowego Y naleĹźy przeprowadzać osobno dla odchyleĹ„ opisanych niepewnoĹ›ciami typu A i typu B. Dla niepewnoĹ›ci bezwzglÄ™dnych otrzymuje siÄ™ wĂłwczas wzĂłr: (30) oraz dla niepewnoĹ›ci wzglÄ™dnych – wzĂłr (31): (31) Stosowanie wzorĂłw (29) i (30) ma dodatkowÄ… zaletÄ™ dla pomiarĂłw tym samym ukĹ‚adem w róşnych warunkach wpĹ‚ywajÄ…cych. Wystarczy jedynie odpowiednio dostosować macierze UXB, UPB opisujÄ…ce niepewnoĹ›ci typu B.

h, # ! & ! L, Opracowano model matematyczny opisu propagacji niepewności w pomiarach pośrednich wieloparametrowych i opisu niepewności układów realizujących takie pomiary. Jest to rozszerzenie modelu rekomendowanego w Suplemencie 2 GUM [2]. Uwzględnia on zarówno niepewności jak i skorelowanie wielkości mierzonych na wejściu oraz parametrów wielowymiarowej funkcji przetwarzania. Estymatory wartości wielkości wyjściowych są takie, jak w Suplemencie 2, gdyş wynikają ze wzoru (1). Natomiast niepewności i współczynniki korelacji wyznaczanych pośrednio wielkości wyjściowych jako elementów menzurandu Y opisane są nową macierzą kowariancji UYP i w ogólnym przypadku są inne. W ogólnym przypadku, gdy funkcja przetwarzania realizowana jest w układzie pomiarowym obarczonym niepewnościami otrzymano czteroskładnikowe równanie (24) dla wyjściowej macierzy kowariancji. Jeśli parametry funkcji przetwarzania nie są

62

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


#" '. + * ' '. $

BT & & " & - B - 6 & " ?0 " & - - " 0 ' 6 f - & - 0 A ` [ O ` Abstract: In the part 1 of article, the current results of the work are briefly presented regarding the impact of correlations in sets of deviations from estimators of directly measured quantities with uncertainty of types A and B on the accuracy of indirectly determined parameters of output multi-memeasurands. An extended mathematical model of the method contained in Supplement 2 of the GUM Guide was presented. This new extended model takes also into account the uncertainties of the processing function in multiparameter measurements and can also be used to describe the accuracy of instruments and systems that perform such measurements. Part 2 presents examples of using the extended method to describe intermediately measured parameters of a two-terminal net through a four-terminal network, considering the uncertainties of its elements. Keywords\ $ &$ A - $ T$ A - $ b $ - & - 8 O$ - A -

% H " ! - <

% ; <

'+ )%A

%A A

8/ # & B A 0 # '+>+$ & ? '+)($ & & '+(! 0 ] 6 B '+>@['+) '++=['++>$ 0 # '+)!['+(!$ 0 a '+(!['+(@ ; A & # & J L & <$ 4 A ? ] 4 & 8 0 6 " A \ & # & '+(@['+@* & 8 0 9 6 0 '+@ ['++* E & " B& R & '++*['++>$ 0 L & '+@ [*!!* 4/ A 9 0 6 8 0 9 0680 8 & =! / $ ) A - $ & / & ? $ '' 9 * & 9 0 0 A J ? " A A 0 08L 8 & " A

8/ # & ` J ? " ;'+@) < # & B ? ;'+@@ < 0 # ? # '+@(['++> 0 # $ '++> / & . I '! / K ? A - & . . . 0 A - & " ? ` 9 & .& G - 4& *!!) \ 9 & " & . A & 9 9 & & A $ / A 9 A & ?

63


NR 3/2015

64

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 65–69, DOI: 10.14313/PAR_233/65

.& . / & ! @! F > ! (< # ! Z O & N [ 0 6 8 0 9 0680$ 8 F *!*$ !*?=@) #

@! & W artykule przedstawiono problemy związane z opracowaniem i wdraşaniem systemu zarządzania jakością w instytutach badawczych oraz przedstawiono stan systemów zarządzania w krajowych instytutach badawczych na przykładzie instytutów skupionych w Sieci Badawczej Šukasiewicz. +$ ! \ .& .$ / & $

1. Wprowadzenie Obecnie firmy na całym świecie wdraşają systemy zarządzania jakością oparte na normie ISO 9001. W przypadku firm produkcyjnych, model systemu zarządzania jakością, który kształtował się i doskonalił przez lata (pierwsza wydanie norm dotyczących zapewnienia jakości to rok 1987) jest dobrze znany i wdroşenie nie stanowi problemu. W ostatnich latach nie tylko producenci są zainteresowani systemami zarządzania jakością (SZJ), ale równieş instytucje edukacyjne i naukowe. Jednym z przykładów wprowadzenia systemu zarządzania jakością w tego typu instytucjach są instytuty badawcze.

H, + !" ! !" GĹ‚Ăłwnymi motywami wprowadzenia systemĂłw zarzÄ…dzania jakoĹ›ciÄ… w instytutach badawczych sÄ…: − znalezienie nowych klientĂłw i rynkĂłw, w tym miÄ™dzynarodowych, − opracowanie i wdroĹźenie dĹ‚ugofalowej strategii rozwoju dla Instytutu, − zmniejszenie wszelkiego rodzaju strat i kosztĂłw, − poprawa dyscypliny technologicznej i wykonawczej, − zarzÄ…dzanie procesami, − wymagania klientĂłw lub wymagania prawne, − pcertyfikacji produktĂłw lub usĹ‚ug. DoĹ›wiadczenie pokazuje, Ĺźe metodologia opracowywania i wdraĹźania SZJ dla zakĹ‚adĂłw produkcyjnych jest bardzo trudna do wykorzystania w instytutach badawczych, ze wzglÄ™du na ich cechy charakterystyczne. Wprowadzenie podstaw jakoĹ›ci do badaĹ„ i rozwoju ma swojÄ… specyfikÄ™ i róşni

) ! \ I - - G $ - % ) $ ! & ! !@ *!'+ $ & & ! !+ *!'+

!

siÄ™ od tego, jak to siÄ™ robi w sektorze produkcyjnym. GĹ‚Ăłwne dziedziny dziaĹ‚alnoĹ›ci instytutĂłw badawczych zgodnie z ustawÄ… o instytutach badawczych [1] to: − prowadzenie badaĹ„ naukowych i prac rozwojowych, − przystosowywanie wynikĂłw badaĹ„ naukowych i prac rozwojowych do potrzeb praktyki, − wdraĹźanie wynikĂłw badaĹ„ naukowych i prac rozwojowych. GĹ‚Ăłwne cechy dziaĹ‚alnoĹ›ci naukowej instytutĂłw badawczych to: − niematerialny charakter podstawowych wartoĹ›ci instytutu badawczego, − trudność w definiowaniu procesĂłw badawczych, − wysoki stopieĹ„ uzaleĹźnienia badaĹ„ naukowych od osobowoĹ›ci naukowca, − brak jednoznacznej zaleĹźnoĹ›ci miÄ™dzy wkĹ‚adem pracy naukowca a produktem koĹ„cowym, − wysokie ryzyko w badaniach, − wysoki stopieĹ„ uzaleĹźnienia od finansowania publicznego badaĹ„, − dziaĹ‚alność naukowa zawierajÄ…ca elementy dziaĹ‚alnoĹ›ci edukacyjnej. Ponadto wiele instytutĂłw badawczych prowadzi dziaĹ‚alność produkcyjnÄ… i usĹ‚ugowÄ…. GĹ‚Ăłwne cechy dziaĹ‚alnoĹ›ci produkcyjnej i usĹ‚ugowej instytutĂłw badawczych to: − produkcja unikalnych urzÄ…dzeĹ„, − róşnorodność wytwarzanych produktĂłw wymagajÄ…ca specyficznej wiedzy, − zaangaĹźowanie klientĂłw na wszystkich etapach tworzenia produktĂłw. Jednym z wymogĂłw systemu zarzÄ…dzania jakoĹ›ciÄ… jest identyfikacja gĹ‚Ăłwnych procesĂłw dziaĹ‚alnoĹ›ci organizacji i udokumentowanie ich. Proces badaĹ„ naukowych jest bardzo trudny do opisania i sformalizowania, gdyĹź jest to proces oparty na ludzkiej myĹ›li, w duĹźym stopniu zaleĹźny od wiedzy i kompetencji naukowcĂłw. Rola lidera w dziedzinie badaĹ„ naukowych jest w peĹ‚ni zgodna z ideologiÄ… ISO 9001, ktĂłra gĹ‚osi zasadÄ™ przywĂłdztwa. Rola lidera w instytucie badawczym ma swojÄ… wadÄ™. OdejĹ›cie naukowego lidera niemal zatrzymuje dziaĹ‚alność naukowÄ… i moĹźe prowadzić do rozpadu zespoĹ‚u badawczego. PrzykĹ‚adowÄ… mapÄ™ procesĂłw instytutu badawczego przedstawiono na rys. 1.

65


# ` ' ` " '. = ' "'.

kierownictwa

Marketing

Planowanie

Doskonalenie

Procesy projektowania

Procesy produkcji

Klient

naukowych Szkolenie specjalistĂłw

Projektowanie

Certyfikacja wyrobĂłw

Klient

naukowych i prac rozwojowych

naukowych Projektowanie wyrobĂłw

Zadowolenie

Wymagania

Zastosowanie

Prowadzenie

Akredytacja laboratoriĂłw

akredytowanych

Projektowanie systemĂłw

Certyfikacja systemĂłw

personelem

Rys. 1. Przykładowa mapa procesów instytutu badawczego Fig. 1. Sample map of the research institute’s processes

Rys. 2. Czynniki wewnętrzne i zewnętrzne specyficzne dla instytutu badawczego Fig. 2. Internal and external factors specific to the research institute

Nowe wydanie normy ISO 9001, które ukazało się w 2015 r. wymagało uzupełnienia istniejących systemów zarządzania jakością o trzy elementy: kontekst organizacji, analizę ryzyka i zarządzanie wiedzą.

w badania mogą nigdy się nie zwrócić lub zwrócić się w odległej przyszłości. W jaki sposób naleşy więc zagwarantować spełnienie wymagań klienta i wziąć pod uwagę wszystkie moşliwe zagroşenia? Norma ISO 9001:2015 nie daje odpowiedzi na to pytanie, ale wskazuje narzędzie do zarządzania ryzykiem zwane analizą ryzyka i szans, która pozwala zminimalizować ewentualne ryzyko i jego wpływ na wyniki badań i ostatecznie na satysfakcję klienta. Zgodnie z normą ISO 9001:2015 organizacja powinna uwzględniać ryzyka i szanse (p. 4.4), a najwyşsze kierownictwo powinno wykazywać przywództwo i zaangaşowanie w odniesieniu do systemu zarządzania jakością przez promowanie stosowania podejścia procesowego oraz opartego na ryzyku (p. 5.1) a takşe zapewnić, aby ryzyka i szanse, które wpływają na zgodność wyrobów i usług oraz na zdolność do zwiększenia zadowolenia klienta, były określone i uwzględnione (p. 5.1.2). Organizacja powinna zaplanować a) działania odnoszące się do ryzyk i szans, b) sposób: 1) integrowania i wdraşania tych działań do procesów SZJ, 2) oceny skuteczności tych działań.

7 ! WedĹ‚ug PN-EN ISO 9000:2015-10: „Zrozumienie kontekstu organizacji jest procesem. W jego wyniku zostajÄ… okreĹ›lone czynniki, ktĂłre wpĹ‚ywajÄ… na sens istnienia organizacji, cele i zdolność do zrĂłwnowaĹźonego rozwoju. W procesie uwzglÄ™dnia siÄ™ czynniki wewnÄ™trzne, takie jak wartoĹ›ci, kultura, wiedza i efekty dziaĹ‚ania organizacji oraz czynniki zewnÄ™trzne, takie jak otoczenie prawne, technologiczne, konkurencyjne, rynkowe, kulturowe, spoĹ‚eczne i ekonomiczne.â€? WyĹźej wymieniona norma nie okreĹ›la sposobu dokumentowania aspektĂłw zwiÄ…zanych z kontekstem organizacji. Na rys. 2. przedstawiono czynniki wewnÄ™trzne i zewnÄ™trzne specyficzne dla instytutu badawczego.

) ! ! W badaniach naukowych istnieje bardzo wysokie ryzyko. Fundusze zainwestowane przez klientĂłw (inwestorĂłw, sponsorĂłw)

66

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" @ " " !. L

PodjÄ™te dziaĹ‚ania odnoszÄ…ce siÄ™ do ryzyk i szans powinny być proporcjonalne do potencjalnego wpĹ‚ywu na zgodność wyrobĂłw i usĹ‚ug. Wyniki analizy powinny być wykorzystane do oceny skutecznoĹ›ci dziaĹ‚aĹ„ podjÄ™tych w celu uwzglÄ™dnienia ryzyk i szans (p. 9.1.3). Na przeglÄ…dzie zarzÄ…dzania powinna być oceniona skuteczność podjÄ™tych dziaĹ‚aĹ„ uwzglÄ™dniajÄ…cych ryzyka i szanse (p. 9.3). W sytuacji wystÄ…pienia niezgodnoĹ›ci, w tym kaĹźdej wynikajÄ…cej z reklamacji, organizacja powinna aktualizować ryzyka i szanse okreĹ›lone podczas planowania, jeĹ›li to konieczne (p. 10.2). Z powyĹźszego wynika, Ĺźe jednym z najwaĹźniejszych punktĂłw na etapie planowania projektu badawczego powinno być zaplanowanie zarzÄ…dzania ryzykiem. Aby być w peĹ‚ni Ĺ›wiadomym zagroĹźeĹ„ wynikajÄ…cych z decyzji o przystÄ…pieniu do realizacji projektu, naleĹźy dokonać identyfikacji ryzyka, jego analizy jakoĹ›ciowej oraz iloĹ›ciowej. Dopiero na podstawie uzyskanych wynikĂłw, moĹźna przystÄ…pić do zaplanowania reakcji na ryzyko i w peĹ‚ni Ĺ›wiadomie przyjąć je na akceptowalnym poziomie [2]. Analiza ryzyka powinna obejmować: • szacowanie ryzyka, w tym: − identyfikacjÄ™ czynnikĂłw ryzyka, − ocenÄ™ ryzyka, • sterowanie ryzykiem, w tym: − redukcjÄ™ ryzyka, − monitorowanie ryzyka, • dokumentowanie zarzÄ…dzania ryzykiem. Punktem wyjĹ›cia, do podejmowania jakichkolwiek dziaĹ‚aĹ„ zwiÄ…zanych z analizÄ… ryzyka jest identyfikacja czynnikĂłw, ktĂłre mogÄ… w znaczÄ…cy sposĂłb zakĹ‚Ăłcić sprawny przebieg prac w projekcie badawczym, a w najgorszym przypadku uniemoĹźliwić jego realizacjÄ™. Wynikiem tych dziaĹ‚aĹ„ jest lista kontrolna zawierajÄ…cÄ… spis zidentyfikowanych czynnikĂłw ryzyka. OpierajÄ…c siÄ™ na czynnikach ryzyka okreĹ›lonych dla projektu realizowanego w uczelni moĹźna zdefiniować nastÄ™pujÄ…ce czynniki ryzyka dla projektu badawczego [3]: − uczestnictwo innych instytucji i przedsiÄ™biorstw biorÄ…cych udziaĹ‚ w projekcie (liczba), − uczestnictwo partnerĂłw zagranicznych (liczba partnerĂłw), − uczestnictwo prywatnych instytucji i przedsiÄ™biorstw współrealizujÄ…cych projekt (liczba), − rola instytutu w projekcie (koordynator, partner, podwykonawca),

Strategia Instytutu

Cele strategiczne i kierunki rozwoju

Tematyka prowadzonych

Procesy badawcze

Ocena kompetencji pracownikĂłw

− solidarna odpowiedzialność partnerĂłw za zrealizowanie projektu (NIE, TAK), − czas trwania projektu (w miesiÄ…cach) – termin realizacji (zbyt krĂłtki, wystarczajÄ…cy), − udziaĹ‚ beneficjentĂłw ostatecznych w projekcie (liczba), − tematyka projektu pokrywa siÄ™ z podstawowÄ… dziaĹ‚alnoĹ›ciÄ… instytutu (pokrywa siÄ™, nie pokrywa siÄ™), − status kierownika projektu (umowa o pracÄ™, umowa cywilnoprawna), − doĹ›wiadczenie kierownika projektu w kierowaniu projektami z danego ĹşrĂłdĹ‚a finansowania, − doĹ›wiadczenie kierownika projektu w kierowaniu projektami z innego ĹşrĂłdĹ‚a finansowania (posiada, nie posiada), − uprawnienia kierownika projektu do zarzÄ…dzania projektami (posiada, nie posiada), − doĹ›wiadczenie zespoĹ‚u projektowego w realizacji projektĂłw z danego ĹşrĂłdĹ‚a finansowania (posiada, nie posiada), − doĹ›wiadczenie zespoĹ‚u projektowego w realizacji projektĂłw z innych ĹşrĂłdĹ‚a finansowania (posiada, nie posiada), − inne (jakie). Do sukcesu projektu badawczego mogÄ… przyczynić siÄ™ nastÄ™pujÄ…ce czynniki [4]: − kompetencje i doĹ›wiadczenie badawcze naukowcĂłw, − kompetencje i doĹ›wiadczenie naukowcĂłw we współpracy z biznesem, − kontakty, partnerstwo i gotowość do współpracy ze strony jednostki, − zaplecze finansowe i infrastrukturalne jednostki.

Norma ISO 9001:2015 bardzo ogólnie określa wymagania dotyczące procesu zarządzania wiedzą, które naleşy wziąć pod uwagę przy wdraşaniu systemu zarządzania jakością. Organizacja analizując źródła wewnętrzne i zewnętrzne powinna określić wiedzę potrzebną do realizacji swoich procesów oraz właściwie nią zarządzać. Wiedza pracowników jest najcenniejszym zasobem instytutów badawczych. Zarządzanie wiedzą powinno obejmować identyfikację potrzebnej wiedzy i informacji, ich przechowywanie i ochronę oraz efektywne wykorzystanie w realizacji procesów badawczych. Przykładowy proces zarządzania wiedzą w instytucie badawczym przedstawiono na rys. 3.

Wymagania

Procesy produkcji i dostarczania

Ocenap osiadanej wiedzy

Baza wiedzy

dodatkowej wiedzy Rozpowszechnianie wiedzy

Utrzymywanie wiedzy

Zdobycie dodatkowej wiedzy Wykorzystywanie wiedzy

Rys. 3. ZarzÄ…dzanie wiedzÄ… w instytucie badawczym Fig. 3. Knowledge management at a research institute

67


# ` ' ` " '. = ' "'. Badania aplikacyjne to prace majÄ…ce na celu zdobycie nowej wiedzy oraz umiejÄ™tnoĹ›ci, nastawione na opracowywanie nowych produktĂłw, procesĂłw lub usĹ‚ug lub wprowadzanie do nich znaczÄ…cych ulepszeĹ„. Prace rozwojowe sÄ… dziaĹ‚alnoĹ›ciÄ… obejmujÄ…cÄ… nabywanie, Ĺ‚Ä…czenie, ksztaĹ‚towanie i wykorzystywanie dostÄ™pnej aktualnie wiedzy i umiejÄ™tnoĹ›ci, w tym w zakresie narzÄ™dzi informatycznych lub oprogramowania, do planowania produkcji oraz projektowania i tworzenia zmienionych, ulepszonych lub nowych produktĂłw, procesĂłw lub usĹ‚ug, z wyĹ‚Ä…czeniem dziaĹ‚alnoĹ›ci obejmujÄ…cej rutynowe i okresowe zmiany wprowadzane do nich, nawet jeĹźeli takie zmiany majÄ… charakter ulepszeĹ„. W skĹ‚ad Sieci wchodzi 38 instytutĂłw badawczych zlokalizowanych w 11 miastach, zatrudniajÄ…cych okoĹ‚o 8000 pracownikĂłw. 20 InstytutĂłw Sieci Badawczej Ĺ ukasiewicz posiada certyfikaty systemu zarzÄ…dzania jakoĹ›ciÄ… zgodnego z normÄ… PN-EN ISO 9001:2015-10. Pierwsze systemy zarzÄ…dzania jakoĹ›ciÄ… (a wĹ‚aĹ›ciwie zapewnienia jakoĹ›ci) instytutĂłw wchodzÄ…cych obecnie w skĹ‚ad Sieci zostaĹ‚y certyfikowane w latach 1999 (Instytut ObrĂłbki Plastycznej w Poznaniu, Instytut Technologii Eksploatacji w Radomiu) i 2000 (PrzemysĹ‚owy Instytut Automatyki i PomiarĂłw PIAP). Trzy Instytuty posiadajÄ… akredytacje do prowadzenia certyfikacji systemĂłw zarzÄ…dzania: − Sieć Badawcza Ĺ ukasiewicz – Instytut Spawalnictwa – OĹ›rodek Certyfikacji (AC 058 od 1999 r.), − Sieć Badawcza Ĺ ukasiewicz – Instytut Mechanizacji Budownictwa i GĂłrnictwa Skalnego – OĹ›rodek Certyfikacji (AC 092 od 2002 r.), − Sieć Badawcza Ĺ ukasiewicz – Instytut Technologii Elektronowej OddziaĹ‚ PREDOM, Biuro Certyfikacji (AC 134 od 2006 r.). 31 InstytutĂłw posiada akredytowane laboratoria prowadzÄ…ce badania, wzorcowania oraz certyfikacjÄ™ wyrobĂłw i osĂłb. Akredytacje PCA posiadane przez Instytuty Sieci to: − Laboratoria badawcze – 42 w odniesieniu do PN-EN ISO/ IEC 17025: 2018-02, − Laboratoria wzorcujÄ…ce – 5 w odniesieniu do PN-EN ISO/ IEC 17025: 2018-02, − Jednostki certyfikujÄ…ce systemy – 3 w odniesieniu do PN-EN ISO/IEC 17021-1:2015-09, − Jednostki certyfikujÄ…ce wyroby – 15 w odniesieniu do PN-EN ISO/IEC 17065:2013-03, − Jednostki certyfikujÄ…ce osoby – 1 akredytacja w odniesieniu do PN-EN ISO/IEC 17024:2012. Instytutowe laboratoria posiadajÄ…ce akredytacje majÄ… wdroĹźone systemy zarzÄ…dzania speĹ‚niajÄ…ce wymagania ww. norm, ktĂłre w zakresie: − dokumentacji systemu zarzÄ…dzania, − nadzoru nad dokumentami i zapisami, − przeglÄ…du zarzÄ…dzania, − auditĂłw wewnÄ™trznych, − dziaĹ‚aĹ„ korygujÄ…cych i zapobiegawczych sÄ… kompatybilne z wymaganiami ISO 9001:2015. Ponadto norma PN-EN ISO/IEC 17025: 2018-02 zawiera wymagania odnoszÄ…ce siÄ™ do ryzyk i szans zwiÄ…zanych z dziaĹ‚alnoĹ›ciÄ… laboratoryjnÄ….

Jest wiele kwestii, ktĂłre naleĹźy wziąć pod uwagÄ™, gdy okreĹ›lamy, jak zidentyfikować, utrzymywać i chronić wiedzÄ™ organizacji: − utrzymywanie wiedzy i doĹ›wiadczeĹ„ ludzi organizacji, − zbieranie wiedzy od dostawcĂłw, klientĂłw i partnerĂłw, − utrzymywanie niezapisanej wiedzy, ktĂłra istnieje w organizacji, − uczenie siÄ™ na podstawie bĹ‚Ä™dĂłw i odniesionych sukcesĂłw, − zapewnienie efektywnej komunikacji zawierajÄ…cej istotne treĹ›ci, − zarzÄ…dzanie danymi i zapisami. Wiedza organizacji moĹźe bazować na: − ĹşrĂłdĹ‚ach wewnÄ™trznych (np. wĹ‚asność intelektualna, wiedza wynikajÄ…ca z doĹ›wiadczenia, wiedza wyniesiona z bĹ‚Ä™dĂłw lub projektĂłw zakoĹ„czonych sukcesem, czy wyniki doskonalenia procesĂłw, wyrobĂłw i usĹ‚ug); − ĹşrĂłdĹ‚ach zewnÄ™trznych (np. normy, publikacje i prace naukowe, konferencje, wiedza pozyskana od klientĂłw i dostawcĂłw zewnÄ™trznych). PrzykĹ‚adem zarzÄ…dzania wiedzÄ… instytutu badawczego jest baza wiedzy (BW) stworzona przez Instytut Spawalnictwa naleşący do Sieci Badawczej Ĺ ukasiewicz. BW jest rozwiÄ…zaniem informatycznym, umoĹźliwiajÄ…cym gromadzenie i udostÄ™pnianie zasobĂłw w postaci cyfrowej [5]. Zasoby w bazie danych podzielone zostaĹ‚y na nastÄ™pujÄ…ce obszary: prac badawczych i rozwiÄ…zaĹ„ technologicznych, potrzeb technologicznych przedsiÄ™biorstw, potencjaĹ‚u badawczego jednostek naukowych, materiaĹ‚Ăłw konstrukcyjnych, badaĹ„ zmÄ™czeniowych, w zakresie inĹźynierii Ĺ›rodowiska w spawalnictwie oraz w zakresie dziaĹ‚alnoĹ›ci szkoleniowej. DostÄ™p do BW moĹźliwy jest dla zarejestrowanych uĹźytkownikĂłw.

Y, + ! !" + ! ^ ! { ! Sieć Badawcza Šukaszewicz została powołana ustawą z dnia 21 lutego 2019 r. o Sieci Badawczej Šukasiewicz [6]. Zawarte w ustawie cele instytutów Sieci Badawczej Šukasiewicz są szersze niş główne dziedziny działalności wynikające z ustawy o instytutach badawczych. Celami Sieci są: 1) prowadzenie badań aplikacyjnych i prac rozwojowych, a w uzasadnionych przypadkach takşe badań podstawowych, w tym na rzecz obronności i bezpieczeństwa państwa, szczególnie waşnych dla realizacji: a) polityki gospodarczej i innowacyjnej państwa określonej w strategiach rozwoju, b) polityki naukowej państwa, o której mowa w art. 6 ustawy z dnia 20 lipca 2018 r. – Prawo o szkolnictwie wyşszym i nauce; 2) transfer wiedzy oraz wdraşanie wyników badań naukowych i prac rozwojowych, o których mowa w pkt 1, do gospodarki; 3) wspieranie polityki gospodarczej państwa, w szczególności przez dokonywanie: a) prognoz trendów i skutków zmian technologicznych, które mogą mieć silny wpływ na społeczeństwo i jego rozwój, b) analiz aktualnego stanu techniki oraz opracowywanie technologicznych map drogowych na potrzeby polityk publicznych; 4) prowadzenie działalności mającej na celu kształtowanie świadomości społecznej na temat zaawansowanych technologii – przez Centrum Šukasiewicz i instytuty Sieci. Zgodnie z definicją zawartą w ustawie z dnia 20 lipca 2018 r. Prawo o szkolnictwie wyşszym i nauce [7]:

68

P

O

M

I

A

R

Y

•

A

U

T

O

M

], #

Ponad 52% instytutów Sieci Badawczej Šukasiewicz posiada certyfikaty SZJ, Laboratoria Instytutów posiadają 66 akredytacji, trzy instytuty nie posiadają certyfikowanych systemów zarządzani, w dwóch przypadkach brak informacji. Z powyşszej analizy wynika, şe w znacznej większości insty-

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" @ " " !. L tutów Sieci Badawczej Šukasiewicz zarządzanie oraz realizacja procesów badawczych spełnia wymagania międzynarodowych norm dotyczących zarządzania, w tym zarządzania jakością określonych w ISO 9001:2015.

^ 1. Ustawa z dnia 30 kwietnia 2010 r. o instytutach badawczych Dz.U. 2010 nr 96 poz. 618. 2. Koszlajda A., Zarządzanie projektami IT. Przewodnik po metodykach. Helion, Gliwice 2008, 41–42. 3. Karbownik A., Wodarski K., Zarządzanie ryzykiem projektu w uczelni, Zeszyty Naukowe Politechniki Śląskiej 2014 Seria: Organizacja i Zarządzanie, z. 70.

4. Prusak A., Zastosowanie metody analitycznego procesu hierarchicznego (AHP) w analizie czynników sukcesu współpracy badawczej jednostek naukowych i przedsiębiorstw, „Przedsiębiorczość i Zarządzanie�, Wydawnictwo SAN, Tom XVI, Zeszyt 12, Część 2, 109–129. 5. http://is.gliwice.pl/strona-cms/baza-wiedzy-bw 6. Ustaw z dnia 21 lutego 2019 r. o Sieci Badawczej Šukasiewicz Dz.U. 2019 poz. 534 7. Ustawa z dnia 20 lipca 2018 r. – Prawo o szkolnictwie wyşszym i nauce Dz.U. 2018 poz. 1668.

h " A L 6 '= ! !& The article introduces problems related to description and initiation of a quality management system in research institutes and presents the state of management systems in national research institutes on the example of institutes clustered in the Ĺ ukasiewicz Research Network. Keywords\ g A $ $

" % ! @! F

% ! (< # !

- %

%

# O & N ? [ 0 6 8 0 9 0680 0 E & F # A I ? 4/ J ? A & O G 0 G

I & & K 9 .? & .$ 8 & &. [ ? H R ==) & / [ I 9 $ & 0680 [ H R *!'!P JL?8#*P BP+> & \ 0

69


NR 3/2015

70

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 23, Nr 3/2019, 71–80, DOI: 10.14313/PAR_233/71

/ & / Jacek Dunaj Z O & N [ 0 6 8 0 9 0680$ 8 F *!*$ !*?=@) #

Streszczenie: W artykule omówiono sposób rozwiązania problemu związanego z obsługą zrobotyzowanego stanowiska, jak prosto i bezpiecznie doprowadzać manipulator z dowolnego połoşenia do pozycji wyjściowej bez potrzeby przełączania się w tryb pracy ręcznej. Przedstawiona metoda bazuje na odczycie aktualnego i docelowego połoşenia kaşdej osi oraz jej obrocie o minimalny kąt w obu kierunkach wykonywany pod nadzorem operatora. Artykuł opisuje jak wykonano program realizujący to zadanie z wykorzystaniem wyświetlanych na panelu programowania komunikatów i okien dialogowych. Przykładowe algorytmy zapisano w języku KRL programowania robotów Kuka, umoşliwiającym generowanie komunikatów uşytkownika i okien dialogowych. +$ ! \ S4"B / $ $ & A $ K $ A ILM

1. Wprowadzenie KaĹźdy, kto miaĹ‚ do czynienia z obsĹ‚ugÄ… robota przemysĹ‚owego, spotkaĹ‚ siÄ™ z terminem „pozycja HOMEâ€?. Termin ten okreĹ›la pewne specyficzne poĹ‚oĹźenie manipulatora dobrane w ten sposĂłb, Ĺźe: − jeĹ›li program robota nie jest wykonywany (robot jest wyĹ‚Ä…czony), to manipulator znajdujÄ…cy siÄ™ w pozycji HOME nie powinien utrudniać dostÄ™pu do samego manipulatora i pozostaĹ‚ych elementĂłw stanowiska robotowego, − w trakcie wykonywania programu robota pozycja HOME jest pozycjÄ… wyjĹ›ciowÄ…, od ktĂłrej ukĹ‚ad sterowania robota powinien rozpoczynać program i do ktĂłrej manipulator ma zostać przesuniÄ™ty przed zakoĹ„czeniem programu. Korzystne jest takie dobranie pozycji HOME, aby manipulator w optymalny sposĂłb mĂłgĹ‚ znaleźć siÄ™ w punktach roboczych, np. w punkcie podjÄ™cia elementu, przed jego przemieszczeniem. DobĂłr pozycji HOME jest pewnym kompromisem. Pozycja ta obowiÄ…zuje niezaleĹźnie od wybranego programu [5, 6], a wiÄ™c dotyczy kaĹźdej aplikacji wykonywanej przez robota. Nie jest jednak pozycjÄ… okreĹ›lonÄ… na staĹ‚e, poniewaĹź w zaleĹźnoĹ›ci od potrzeb moĹźe być modyfikowana podobnie, jak poĹ‚oĹźenie dowolnego innego punktu roboczego. Zmiana pozycji HOME wykonana podczas edycji jednego programu dotyczy wszystkich innych programĂłw. Pozycja HOME manipulatora nie jest zwiÄ…zana z Ĺźadnym ukĹ‚adem współrzÄ™dnych prostokÄ…tnych ani z Ĺźadnym narzÄ™dziem. Jest pozycjÄ… zapamiÄ™tanÄ… jako poĹ‚oĹźenia (kÄ…ty skrÄ™cenia)

) ! \ F E $ & % ) $ ! & ! != *!'+ $ & & * !+ *!'+

!

wszystkich osi manipulatora i potencjalnych osi zewnętrznych. Jeśli manipulator robota ma 6 osi, to jego pozycję HOME określa 6 liczb, z których kaşda określa połoşenie pojedynczej osi. Artykuł ten koncentruje się na problemie przesunięcia robota do pozycji HOME podczas eksploatacji zrobotyzowanego stanowiska oraz przedstawia stosunkowo prosty i bezpieczny sposób związany z programowym uproszczeniem tej czynności. Opis ten odnosi się do aplikacji wykonanych z robotami firmy Kuka, ale z pewnymi modyfikacjami przedstawioną metodę moşna zastosować do robotów innych firm.

H, / !" ! !" ! 45(1 ! !" W jÄ™zyku KRL (ang. Kuka Robot Language) do zdefiniowania poĹ‚oĹźenia osi manipulatora moĹźna wykorzystać dwie zmienne typu struktura [2]: STRUC AXIS REAL A1,A2,A3,A4,A5,A6 STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6, E1,E2,E3,E4,E5,E6 Oba wymienione typy zmiennych zawierajÄ… informacje o poĹ‚oĹźeniu poszczegĂłlnych osi manipulatora. Nie ma tutaj odwoĹ‚ania do Ĺźadnego ukĹ‚adu współrzÄ™dnych prostokÄ…tnych i do Ĺźadnego narzÄ™dzia. Typ E6AXIS jest rozszerzeniem typu AXIS i odnosi siÄ™ do przypadku, kiedy robot obsĹ‚uguje od 1 do 6 dodatkowych osi zewnÄ™trznych zwiÄ…zanych np. z torem jezdnym. JeĹ›li poĹ‚oĹźenie manipulatora robota zostaĹ‚o zadeklarowane jako: DECL E6AXIS PunktPkt przesuniÄ™cie robota do tej pozycji gwarantuje instrukcja: PTP PunktPkt Nie moĹźna tutaj wykorzystać dwĂłch innych dostÄ™pnych w jÄ™zyku KRL instrukcji ruchu – LIN (ruch po prostej) i CIRC (ruch po okrÄ™gu), poniewaĹź ich argumentami nie mogÄ… być zmienne typu AXIS i E6AXIS. Podczas wykonywania instrukcji PTP ruchy wszystkich osi manipulatora sÄ… zsynchronizowane – obrĂłt wszystkich osi jest uruchamiany i zatrzymywany w tym samym momencie. Oznacza

71


@ g' = "' " ' "= '" "' − zmienna $IN_HOME typu SIGNAL (lub BOOL) okreĹ›lajÄ…ca czy manipulator robota znajduje siÄ™ w pozycji HOME: IF ($IN_HOME == TRUE) THEN ; ÂŽ manipulator robota jest w pozycji HOME ELSE ; ÂŽ manipulator robota nie jest w pozycji HOME ENDIF − zmienna $VEL_AXIS[6] – 6-wymiarowa tablica typu INT, ktĂłrej kolejne elementy odpowiadajÄ… osiom od 1 do 6. Zawiera informacje o ustawionych prÄ™dkoĹ›ciach ruchu poszczegĂłlnych osi podczas wykonywania instrukcji PTP. Zmienna $VEL_AXIS[] sĹ‚uĹźy nie tylko do odczytu prÄ™dkoĹ›ci ruchu poszczegĂłlnych osi, ale takĹźe przy jej pomocy moĹźna te prÄ™dkoĹ›ci zadawać. − zmienna $ACC_AXIS[6] – 6-wymiarowa tablica typu INT, ktĂłrej kolejne elementy odpowiadajÄ… osiom od 1 do 6 (indeksowanie tablicy rozpoczyna siÄ™ od 1). Zawiera ona informacje o ustawionych przyspieszeniach ruchu poszczegĂłlnych osi podczas wykonywania instrukcji PTP. Zmienna $ACC_AXIS[] sĹ‚uĹźy do odczytu przyspieszeĹ„ ruchu poszczegĂłlnych osi, umoĹźliwia teĹź zadawanie przyspieszeĹ„.

to, Ĺźe tylko oĹ›, ktĂłra ma wykonać najwiÄ™kszy obrĂłt (oĹ› wiodÄ…ca), jest faktycznie przemieszczana z zaprogramowanÄ… prÄ™dkoĹ›ciÄ… i przyspieszeniem. Wszystkie pozostaĹ‚e osie dostosowujÄ… swojÄ… prÄ™dkość i przyspieszenie do tego, aby osiÄ…gnąć koĹ„cowy punkt ruchu w tym samym momencie, co oĹ› wiodÄ…ca. WprowadzajÄ…c do programu aplikacyjnego instrukcjÄ™ ruchu PTP przy pomocy tzw. formularza jednoczeĹ›nie okreĹ›la siÄ™ jednakowe wartoĹ›ci prÄ™dkoĹ›ci i przyspieszeĹ„ dla wszystkich osi. W programowaniu w trybie expert wartoĹ›ci te moĹźna ustalać indywidualnie dla kaĹźdej osi, ale podczas realizacji instrukcji PTP tylko oĹ› wiodÄ…ca bÄ™dzie poruszaĹ‚a siÄ™ z tymi parametrami. PrÄ™dkość i przyspieszenie sÄ… podawane jako wartoĹ›ci procentowe ich maksymalnych wartoĹ›ci zdefiniowanych w danych maszynowych. Dodatkowo w trakcie wykonywania programu prÄ™dkość i przyspieszenie realizowane instrukcjami ruchu moĹźna zmieniać od 0% do 100% za pomocÄ… panelu programowania. Pozycja HOME w ukĹ‚adzie sterowania robota Kuka jest definiowana jako zmienna typu E6AXIS, wiÄ™c przesuniÄ™cie manipulatora do tej pozycji moĹźliwe jest tylko przy pomocy instrukcji PTP HOME. W podrÄ™cznikach programowania robotĂłw Kuka [5, 6] zaleca siÄ™, aby kaĹźdy program aplikacyjny rozpoczynaĹ‚ i koĹ„czyĹ‚ siÄ™ takÄ… instrukcjÄ…. Jest to jednak rozwiÄ…zanie na tyle bezpieczne, na ile operatorzy stanowiska robotowego sÄ… Ĺ›wiadomi skutkĂłw uruchomienia programu, gdy manipulator pozostaje w przypadkowym poĹ‚oĹźeniu, poniewaĹź takie dziaĹ‚anie moĹźe siÄ™ zakoĹ„czyć kolizjÄ…. Alternatywnym praktycznym zaleceniem jest to, aby aplikacja robota nie dawaĹ‚a siÄ™ uruchomić w trybie pracy automatycznej, jeĹ›li manipulator nie znajduje siÄ™ w poĹ‚oĹźeniu HOME. W obu przypadkach rozwiÄ…zaniem pozostaje rÄ™czne przesuniÄ™cie manipulatora do pozycji HOME (lub w sÄ…siedztwo tej pozycji), co wiÄ…Ĺźe siÄ™ z kĹ‚opotliwymi przeĹ‚Ä…czeniami trybu pracy i ze znajomoĹ›ciÄ… rÄ™cznej obsĹ‚ugi robota, z czym w praktyce róşnie bywa.

! " : Prosty przykĹ‚ad programowej realizacji obrotu osi A1 manipulatora – po zakoĹ„czonym ruchu róşnica miÄ™dzy aktualnym poĹ‚oĹźeniem tej osi (AxisPosition.A1) a jej poĹ‚oĹźeniem w pozycji HOME (HomePosition.A1) byĹ‚a nie wiÄ™ksza niş 1°. Wykorzystano tu dwie zmienne typu REAL: − zmienna D1 okreĹ›la wartość kÄ…ta, o jaki bÄ™dzie zmieniana pozycja osi A1 manipulatora w kolejnych krokach, − zmienna pomocnicza Roznica do wyznaczania róşnicy aktualnego poĹ‚oĹźenia osi A1 i jej poĹ‚oĹźenia w pozycji HOME DECL E6AXIS AxisPosition DECL E6AXIS HomePosition DECL REAL D1 DECL REAL Roznica D1 = 1.0 HomePosition = $H_POS ; odczyt pozycji HOME LOOP AxisPosition = $AXIS_ACT ; odczyt aktualnej pozycji manipulatora Roznica = HomePosition.A1 - AxixPosition.A1 IF (Roznica >= 0.0) THEN IF (Roznica > D1) THEN AxisPosition.A1 = AxisPosition.A1 + D1 ELSE GOTO KONIEC ENDIF ELSE Roznica = -1.0 * Roznica IF (Roznica > D1) THEN AxisPosition.A1 = AxisPosition.A1 - D1 ELSE GOTO KONIEC ENDIF ENDIF PTP AxisPosition ENDLOOP KONIEC:

Y,

UkĹ‚ad sterowania robota Kuka i jÄ™zyk KRL zapewniajÄ… dostÄ™p do tzw. zmiennych systemowych. Zmienne te sÄ… dostÄ™pne w trybie programowania expert i umoĹźliwiajÄ… zintegrowanie programu aplikacyjnego robota z informacjami dostÄ™pnymi w jego ukĹ‚adzie sterowania. Przy ich pomocy moĹźliwy jest m.in. odczyt aktualnej pozycji robota, odczyt aktualnych pozycji kaĹźdej z osi, odczyt aktualnych wartoĹ›ci prÄ™dkoĹ›ci i przyspieszeĹ„ oraz informacji o tym czy robot znajduje siÄ™ w pozycji HOME. W jÄ™zyku KRL nazwy zmiennych systemowych rozpoczynajÄ… siÄ™ od znaku $. PeĹ‚nÄ… listÄ™ zmiennych systemowych wraz z ich opisem moĹźna znaleźć w dokumentacji [3]. W artykule przedstawiono podstawowe informacje na temat zmiennych zastosowanych w programowej realizacji przesuniÄ™cia robota Kuka do pozycji HOME w trybie automatyki. Zmiennymi tymi sÄ…: − zmienna $AXIS_ACT typu E6AXIS zawierajÄ…ca informacjÄ™ o aktualnym poĹ‚oĹźeniu wszystkich osi manipulatora. Pozwala przyporzÄ…dkować informacjÄ™ o poĹ‚oĹźeniu osi do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu E6AXIS: E6AXIS AxisPosition ; deklaracja zmiennej AxisPosition AxisPosition = $AXIS_ACT ; instrukcja przyporzÄ…dkowania − zmienna $H_POS typu E6AXIS zawierajÄ…ca informacjÄ™ o poĹ‚oĹźeniu wszystkich osi manipulatora znajdujÄ…cego siÄ™ w pozycji HOME. Pozwala przyporzÄ…dkować informacjÄ™ o poĹ‚oĹźeniu osi robota znajdujÄ…cego siÄ™ w pozycji HOME do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu E6AXIS: E6AXIS HomePosition ; deklaracja zmiennej HomePosition HomePosition = $H_POS ; instrukcja przyporzÄ…dkowania

72

P

O

M

I

A

R

Y

•

A

U

T

O

M

Podobny ciąg instrukcji moşna zastosować dla pozostałych osi A2–A6. Wówczas przesunięcie manipulatora do pozycji HOME jest „łagodniejsze� niş w przypadku zastosowania pojedynczej instrukcji PTP HOME, ale nadal grozi kolizją, gdyş obroty poszczególnych osi są realizowane poza bezpośrednią kontrolą operatora. Język KRL do programowania robotów A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


* ' Kuka zawiera funkcje biblioteczne, które umoşliwiają realizację takiej kontroli przez generowanie odpowiednich komunikatów uşytkownika (pod pojęciem komunikatów uşytkownika naleşy rozumieć komunikaty generowane przez aplikację, a nie przez układ sterowania) oraz tworzenia okien dialogowych wyświetlanych na panelu programowania robota. Ze względu na pozornie skomplikowany format parametryzacji tych funkcji i ich funkcjonalne ograniczenia są one mało popularne w aplikacjach przemysłowych.

4. Koncepcja programu realizujÄ…cego przesuniÄ™cie robota do pozycji HOME w trybie automatyki BiorÄ…c pod uwagÄ™ ograniczenia zwiÄ…zane z generowaniem komunikatĂłw uĹźytkownika i tworzenia okien dialogowych przyjÄ™to kilka zaĹ‚oĹźeĹ„ dla programu MoveToHomePosition() realizujÄ…cego przesuniÄ™cie robota Kuka do pozycji HOME w trybie automatyki − aplikacja uruchamiana w dowolnym trybie pracy (T1, T2, Automatyka lub ) nie bÄ™dzie rozpoczynaĹ‚a siÄ™ od instrukcji PTP HOME ruchu do pozycji HOME, jak zalecajÄ… to podrÄ™czniki programowania robota. Jej uruchomienie nie bÄ™dzie takĹźe blokowane, jeĹ›li robot nie jest w pozycji HOME. Zamiast tego bÄ™dzie realizowana nastÄ™pujÄ…ca sekwencja instrukcji: WHILE ($IN_HOME == FALSE) MoveToHomePosition() WAIT SEC 0.1 ENDWHILE WywoĹ‚ywany program MoveToHomePosition() ma zapewnić przesuniÄ™cie manipulatora do pozycji HOME sterujÄ…c czynnoĹ›ciami operatora. JeĹ›li manipulator nie znajdzie siÄ™ w pozycji HOME, to program ten bÄ™dzie wywoĹ‚ywany aĹź do skutku, tj. aĹź do momentu, gdy wartość zmiennej systemowej $IN_HOME bÄ™dzie rĂłwna TRUE. − program MoveToHomePosition() zapewnia moĹźliwość sterowanego przez operatora przesuniÄ™cia kaĹźdej z szeĹ›ciu osi manipulatora do pozycji HOME. KaĹźde okno dialogowe bÄ™dzie umoĹźliwiaĹ‚o obrĂłt wybranej osi manipulatora w obu kierunkach wyĹ›wietlajÄ…c jednoczeĹ›nie informacjÄ™ o aktualnym poĹ‚oĹźeniu osi, o jej poĹ‚oĹźeniu w pozycji HOME oraz o wartoĹ›ci kÄ…ta, o ktĂłry nastÄ™puje zmiana pozycji osi. Schemat dziaĹ‚ania programu przedstawiono w tabeli 1. Program MoveToHomePosition() wykorzystuje siedem okien dialogowych (uĹźywanym terminem jest „Menuâ€?, poniewaĹź jÄ™zyk KRL przy tworzeniu okien dialogowych narzuca ograniczenia w dĹ‚ugoĹ›ci wprowadzanych tekstĂłw, termin „menuâ€? jest znacznie krĂłtszy niĹź termin

„okno dialogoweâ€?). KaĹźde okno dialogowe zawiera po sześć przyciskĂłw. Przycisk Key[1]: opisany w kaĹźdym menu jako PREV MENU. Powoduje zmniejszenie o 1 numeru okna dialogowego i w konsekwencji wyĹ›wietlenie menu odpowiadajÄ…cego temu numerowi. JeĹ›li zliczono do 0, to za kolejny numer okna dialogowego przyjmowana jest wartość 7. Przycisk Key[2]: w oknach dialogowych od 1 do 6 jest opisany jako Di MINUS (i = 1, 2, 3, 4, 5, 6). Powoduje zmniejszenie o 1° wartoĹ›ci kÄ…ta, o ktĂłry bÄ™dzie przemieszczana oĹ› i manipulatora. Wartość kÄ…ta Di moĹźe zmieniać siÄ™ od 1° do 10°, wartoĹ›ciÄ… domyĹ›lnÄ… (poczÄ…tkowÄ…) jest 1°. W przypadku okna dialogowego nr 7 przycisk Key[2] opisano jako OTWORZ i przypisano mu funkcjÄ™ potencjalnego wywoĹ‚ania podprogramu otwierajÄ…cego chwytak. Przycisk Key[3]: w oknach dialogowych od 1 do 6 jest opisany jako Ai MINUS (i = 1, 2, 3, 4, 5, 6). Powoduje przemieszczenie osi i manipulatora o kÄ…t Di w kierunku ujemnym, a wiÄ™c wykonanie ciÄ…gu trzech instrukcji: AxisPosition = $AXIS_ACT AxisPosition.Ai = AxisPosition.Ai - Di PTP AxisPosition W przypadku okna dialogowego nr 7 przycisk Key[3] opisano jako ZAMKNIJ i przypisano mu funkcjÄ™ potencjalnego wywoĹ‚ania podprogramu zamykajÄ…cego chwytak. Przycisk Key[4]: w oknach dialogowych od 1 do 6 jest opisany jako Ai PLUS (i = 1, 2, 3, 4, 5, 6). Powoduje przemieszczenie osi i manipulatora o kÄ…t Di w kierunku dodatnim, a wiÄ™c wykonanie ciÄ…gu trzech instrukcji: AxisPosition = $AXIS_ACT AxisPosition.Ai = AxisPosition.Ai + Di PTP AxisPosition W przypadku okna dialogowego nr 7 przycisk Key[4] opisano jako HOME, powoduje wykonanie instrukcji PTP HOME, a wiÄ™c synchroniczny ruch wszystkimi osiami do ich pozycji HOME (ruch ten generuje ukĹ‚ad sterowania robota, jest to ruch poza kontrolÄ… operatora i moĹźe spowodować kolizjÄ™). Przycisk Key[5]: w oknach dialogowych od 1 do 6 jest opisany jako Di PLUS (i = 1, 2, 3, 4, 5, 6). Powoduje zwiÄ™kszenie o 1° wartoĹ›ci kÄ…ta, o ktĂłry bÄ™dzie przemieszczana oĹ› i manipulatora. Wartość kÄ…ta Di moĹźe zmieniać siÄ™ od 1° do 10°, wartoĹ›ciÄ… domyĹ›lnÄ… jest 1°. W przypadku okna dialogowego nr 7 przycisk Key[5] opisano jako ZAKONCZ, jego uĹźycie powoduje zakoĹ„czenie wykonywania programu MoveToHomePosition() i przekazanie sterowania do programu nadrzÄ™dnego. Przycisk Key[6]: opisany w kaĹźdym menu jako NEXT MENU. Powoduje zwiÄ™kszenie o 1 numeru okna dialogowego i w konsekwencji wyĹ›wietlenie menu odpowiadajÄ…cego temu numerowi. JeĹ›li zliczono do 8, to za kolejny numer okna dialogowego przyjmowana jest wartość 1.

Tabela 1. Schemat działania programu MoveToHomePosition() Tab. 1. The scheme of the MoveToHomePosition() program

Key[1]:

Key[2]:

Key[3]:

Key[4]:

Key[5]:

Key[6]:

Menu 1:

PREV MENU

D1 MINUS

A1 MINUS

A1 PLUS

D1 PLUS

NEXT MENU

Menu 2:

PREV MENU

D2 MINUS

A2 MINUS

A2 PLUS

D2 PLUS

NEXT MENU

Menu 3:

PREV MENU

D3 MINUS

A3 MINUS

A3 PLUS

D3 PLUS

NEXT MENU

Menu 4:

PREV MENU

D4 MINUS

A4 MINUS

A4 PLUS

D4 PLUS

NEXT MENU

Menu 5:

PREV MENU

D5 MINUS

A5 MINUS

A5 PLUS

D5 PLUS

NEXT MENU

Menu 6:

PREV MENU

D6 MINUS

A6 MINUS

A6 PLUS

D6 PLUS

NEXT MENU

Menu 7:

PREV MENU

OTWORZ

ZAMKNIJ

HOME

ZAKONCZ

NEXT MENU

73


@ g' = "' " ' "= '" "'

W przypadku panelu współpracującego z układem sterowania KRC4 komunikaty uşytkownika są wyświetlane w górnej części wyświetlacza bezpośrednio pod paskiem stanu (rys. 3). Okna dialogowe mają podobną postać do okien dialogowych znanych z systemów operacyjnych Windows i są prezentowane w centralnej części wyświetlacza. Na panelu jednocześnie mogą być wyświetlane komunikaty uşytkownika i okna dialogowe. Wybór funkcji z okna dialogowego następuje po wskazaniu odpowiedniego obszaru.

b, # ! % !"

!" Roboty KUKA, w zaleĹźnoĹ›ci od ukĹ‚adu sterowania KRC2 i KRC4, współpracujÄ… z dwoma róşnymi panelami programowania (rys. 1–3). W obu przypadkach kod ĹşrĂłdĹ‚owy programu aplikacyjnego do generowania komunikatĂłw uĹźytkownika i tworzenia okien dialogowych jest taki sam, róşnica wynika ze sposobu ich prezentacji na panelu. W przypadku panelu współpracujÄ…cego z ukĹ‚adem sterowania KRC2 komunikaty uĹźytkownika sÄ… wyĹ›wietlane w dolnej części wyĹ›wietlacza bezpoĹ›rednio nad siedmioma przyciskami funkcyjnymi klawiatury (rys. 1). Ten fragment wyĹ›wietlacza sĹ‚uĹźy takĹźe do prezentacji okna dialogowego, a opisy przyciskĂłw tego okna wyĹ›wietlane sÄ… w okienkach bezpoĹ›rednio nad przyciskami funkcyjnymi (rys. 2). Nie ma wiÄ™c moĹźliwoĹ›ci, aby na panelu jednoczeĹ›nie byĹ‚y wyĹ›wietlane komunikaty uĹźytkownika i okna dialogowe. WybĂłr funkcji z okna dialogowego nastÄ™puje po wciĹ›niÄ™ciu odpowiedniego przycisku funkcyjnego.

Rys. 3. Panel programowania robota Kuka dla układu sterowania KRC4 z wyświetlonym komunikatem uşytkownika oraz z oknem dialogowym do przemieszczania osi A1 Fig. 3. Kuka robot programming panel for the KRC4 control system with a user message displayed and a dialog box for moving the A1 axis

Rys. 1. Panel programowania robota Kuka dla układu sterowania KRC2 z wyświetlonym komunikatem uşytkownika Fig. 1. Kuka robot programming panel for the KRC2 control system with a user message displayed

h, # % !" | ! !

Zasady programowania komunikatów uşytkownika i okien dialogowych w języku KRL omawia dokumentacja [3, 4]. W artykule ograniczono się do realizacji programu MoveToHomePosition(). Wykorzystano tu cztery funkcje biblioteczne: BoolVar = Clear_KrlMsg (clear) Handle = Set_KrlMsg (type, name, params[], options) Handle = Set_KrlDlg (name, params[], key[], options) BoolVar = Exists_KrlDlg (Handle, KeyNumber)

Pierwsza z nich, Clear_KrlMsg() uruchomiona z parametrem clear = -99 kasuje wszystkie komunikaty uşytkownika utworzone funkcją S e t _ K r l M s g ( ) . Potwierdzeniem poprawności jej wykonania jest zwracana zmienna BoolVar typu BOOL o wartości TRUE. Druga i trzecia funkcja słuşą odpowiednio do wygenerowania komunikatu uşytkownika oraz do utworzenia okna dialogowego. Obie funkcje zwracają wartość zmiennej Handle typu INT.

Rys. 2. Panel programowania robota Kuka dla układu sterowania KRC2 z wyświetlonym oknem dialogowym do przemieszczania osi A1 Fig. 2. Kuka robot programming panel for the KRC2 control system displayed with a dialog box for moving the A1 axis

74

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


* ' JeĹ›li zwracana wartość Handle jest rĂłwna –1, komunikat uĹźytkownika nie moĹźe zostać wygenerowany (funkcja Set_ KrlMsg()) lub nie moĹźna byĹ‚o utworzyć okna dialogowego (funkcja Set_KrlDlg()). JeĹ›li zwracana wartość Handle jest wiÄ™ksza od 0, to Rys. 4. Okno komunikatĂłw uĹźytkownika wyĹ›wietlane na panelu programowania robota Kuka z ukĹ‚adem dziaĹ‚anie funkcji zakoĹ„czyĹ‚o sterowania KRC2 Fig. 4. User messages window displayed on the Kuka robot programming panel for the KRC2 siÄ™ powodzeniem (poprawnie control system wygenerowano komunikat lub utworzono okno dialogowe), a wartoĹ›ci Handle moĹźna uĹźyć jako parametru dla innych funkcji bibliotecznych. Wybranie dowolnego przycisku w oknie dialogowym Rys. 5. Okno komunikatĂłw uĹźytkownika wyĹ›wietlane na panelu programowania robota Kuka z ukĹ‚adem powoduje jego zamkniÄ™cie. sterowania KRC4 Informacji o tym, ktĂłry Fig. 5. User messages window displayed on the Kuka robot programming panel for the KRC4 przycisk wybrano dostarcza control system funkcja Exists_KrlDlg − w kolumnie Nad. w nawiasach <> wyĹ›wietlany jest tekst Handle, KeyNumber). Jej parametrem wejĹ›ciowym jest wartość Handle, ktĂłrÄ… funkcja Set_KrlDlg() zwrĂłciĹ‚a – element CHAR modul[24] struktury KrlMsg_T name. tworzÄ…c okno dialogowe. Numer przycisku zostaje zwrĂłcony Maksymalna dĹ‚ugość tekstu to 24 znaki, jako parametr wyjĹ›ciowy INT KeyNumber, a potwierdzeniem − w kolumnie Komunikat wyĹ›wietlany jest tekst – element poprawnoĹ›ci wykonania jest wartość BoolVar typu BOOL rĂłwna CHAR msg_txt[80] struktury KrlMsg_T name. TRUE zwracana przez funkcjÄ™. Maksymalna dĹ‚ugość tekstu to 80 znakĂłw Do tekstu moĹźna wprowadzać wartoĹ›ci do trzech zmiennych. Na panelu programowania współpracujÄ…cego z ukĹ‚adem q, # sterowania KRC4 (rys. 5) w oknie komunikatĂłw uĹźytkownika nie ma podziaĹ‚u na kolumny. Jednak wyĹ›wietlany komunikat % zawiera tÄ™ samÄ… informacjÄ™ jak panel programowania ukĹ‚adu sterowania KRC2. Program MoveToHomePosition() wyĹ›wietla komunikaty 3. Parametr params[] typu KrlMsg_Par_T: uĹźytkownika w postaci przedstawionej na rysunkach 4 i 5. Do programowania komunikatĂłw uĹźytkownika wykorzystyJest to parametr typu struktura umoĹźliwiajÄ…cy wana jest funkcja biblioteczna: wprowadzanie do elementu CHAR msg_txt[80] struktury Set_KrlMsg(type, name, params[], options) KrlMsg_T name wartoĹ›ci do trzech róşnych zmiennych. wymagajÄ…ca wyspecyfikowania czterech parametĂłw: Program MoveToHomePosition() nie wprowadza do 1. Parametr type typu wyliczyniowego EkrlMsgType: komunikatĂłw uĹźytkownika wartoĹ›ci zmiennych, ale wartoĹ›ci ENUM EKrlMsgType notify, state, quit, te sÄ… wprowadzane do tekstĂłw wyĹ›wietlanych w oknach dialog, waiting dialogowych. Parametr bÄ™dzie omĂłwiony w części poĹ›wiÄ™conej OkreĹ›la typ generowanego komunikatu, m.in., czy jest to funkcji Set_KrlDlg(). 4. Parametr options typu KrlMsgOpt_t: komunikat uĹźytkownika, czy komunikat o stanie elementĂłw Jest to parametr typu struktura o elementach: ukĹ‚adu sterowania robota, czy komunikat wymaga potwierSTRUC KrlMsgOpt_T BOOL vl_stop, dzenia etc. W programie MoveToHomePosition() wszystBOOL clear_p_reset, kie generowane komunikaty sÄ… komunikatami uĹźytkownika, BOOL clear_p_SAW, za parametr type bÄ™dzie przyjmowana predefiniowana warBOOL log_to_DB tość #Notify [3, 4] 2. Parametr name typu KrlMsg_T: Jej kolejne elementy okreĹ›lajÄ… sposĂłb wyĹ›wietlania, kasowania Jest to parametr typu struktura o elementach: lub rejestrowania komunikatĂłw uĹźytkownika i okien dialogowych w zaleĹźnoĹ›ci od potrzeb: STRUC KrlMsg_T CHAR modul[24], − vl_stop – wartość TRUE (wartość domyĹ›lna) oznacza, INT nr, Ĺźe komunikat uĹźytkownika lub okno dialogowe moĹźe CHAR msg_txt[80] zostać wyĹ›wietlone zanim robot zakoĹ„czy wykonywanie OkreĹ›la, co ma być wyĹ›wietlone w oknie komunikatĂłw na poprzedzajÄ…cej instrukcji ruchu (tryb advance run), panelu programowania robota. Na panelu programowania − clear_p_reset – wartość TRUE (wartość domyĹ›lna) oznacza, Ĺźe komunikaty uĹźytkownika bÄ™dÄ… skasowane współpracujÄ…cego z ukĹ‚adem sterowania KRC2 (rys. 4) okno komunikatĂłw uĹźytkownika podzielono na pięć kolumn: w momencie zresetowania programu lub cofniÄ™cia jego wyboru, − kolumna C... zawiera ikonÄ™ przedstawiajÄ…cÄ… typ − clear_p_SAW – wartość TRUE (domyĹ›lnÄ… wartoĹ›ciÄ… jest generowanego komunikatu. WybĂłr ikony nastÄ™puje na FALSE) oznacza, Ĺźe komunikaty nie bÄ™dÄ…ce komunikatami uĹźytkownika, ale wygenerowane przez funkcjÄ™ bibliotecznÄ… podstawie parametru type, − kolumna Czas okreĹ›la moment wygenerowania komunikatu Set_KrlMsg() zostanÄ… automatycznie usuniÄ™te w trakcie ustalany na podstawie zegara ukĹ‚adu sterowania robota, zaznaczania bloku instrukcji. Komunikaty uĹźytkownika − kolumna Nr okreĹ›la numer komunikatu. Wartość ta nie jest #notify moĹźna usuwać tylko za pomocÄ… przyciskĂłw OK nigdzie modyfikowana, ten sam numer moĹźe być stosowany lub panelu programowania. W przypadku wielokrotnie. Zawartość wyĹ›wietlana w tej kolumnie zaleĹźy od okien dialogowych nie ma moĹźliwoĹ›ci zaznaczania blokĂłw elementu INT nr struktury KrlMsg_T name, instrukcji – wartość clear_p_SAW nie ma znaczenia.

75


@ g' = "' " ' "= '" "'

− log_to_DB – wartość TRUE (domyślną wartością jest

− CHAR modul[24] wyświetlany jest w nawiasach <> po

FALSE) oznacza, że komunikat użytkownika będzie rejestrowany w pliku .LOG W programie MoveToHomePosition() komunikaty użytkownika i okna dialogowe są programowane z domyślnymi ustawieniami parametru Options: Options = {vl_stop TRUE, clear_p reset TRUE, clear_p_SAW FALSE, log_to_DB FALSE} Programowanie komunikatów użytkownika pozornie wydaje się skomplikowane, ale praktycznie sprowadza się do kilku instrukcji. Fragment programu wyświetlający informację (rys. 4 i 5) pokazano w rozdziale 9. Podkreśleniem zaznaczono tam teksty, które będą wyświetlone na panelu programowania robota.

słowie „Źródło”. Maksymalna długość tekstu to 24 znaki. W tej samej linii po słowie „Nr” wyświetlony jest numer okna dialogowego ustalony na podstawie elementu INT nr struktury KrlMsg_T name − pod wierszem ze słowem „Źródło” wyświetlony jest tekst wprowadzony jako element CHAR msg_txt[80] struktury KrlMsg_T name. Może zawierać wartości zmiennych. Na panelu współpracującym z układem sterowania KRC4 (rys. 7) elementy CHAR modul[24] i INT nr struktury KrlMsg_T name są wyprowadzane w tytule okna dialogowego, a tekst wprowadzony jako element CHAR msg_txt[80] zostaje wyświetlony nad przyciskami funkcyjnymi. 2. Parametr params[] typu KrlMsgPar_T: Jest to parametr typu struktura o elementach: STRUC KrlMsgPar_T KrlMsgParType_T par_type, CHAR par_txt[26] INT par_int REAL par_real BOOL par_bool gdzie KrlMsgParType_T jest typem wyliczeniowym: ENUM KrlMsgParType_T value, key, empty

v, # !" Program MoveToHomePosition() wykorzystuje okna dialogowe w postaci przedstawionej na rysunkach 6 i 7. Do programowania okien dialogowych stosowana jest funkcja biblioteczna: Set_KrlDlg (name, params[], key[], options) wymagająca określenia czterech parametów. 1. Parametr name typu KrlMsg_T: Parametr typu struktura identyczny z parametrem o tej samej nazwie dla funkcji bibliotecznej Set_KrlMsg(). Określa, co i w jaki sposób ma być wyświetlone w oknie dialogowym na panelu programowania robota. Na panelu współpracującym z układem sterowania KRC2 (rys. 6) okno dialogowe nie jest podzielone na kolumny, ale zawiera całą informację przyporządkowaną poszczególnym elementom struktury KrlMsg_T name:

Do tekstu CHAR msg_txt[80] struktury KrlMsg_T name można wprowadzać aktualne wartości zmiennych. W oknach dialogowych (rys. 6 i 7) wartościami tych zmiennych są: − położenie osi A1 manipulatora robota w pozycji HOME – wartość typu REAL wyświetlona za tekstem HOME_A1 = , − aktualne położenie osi A1 manipulatora robota – wartość typu REAL wyświetlona za tekstem ACT_A1 = , − aktualna wartość D1, o jaką będzie przemieszczana oś A1 manipulatora robota – wartość typu INT wyświetlona za tekstem D1 = . Wprowadzanie aktualnych wartości zmiennych do elementu CHAR msg_txt[80] struktury KrlMsg_T name należy poprzedzić wprowadzeniem odnośników do tych zmiennych. Odnośnikami są symbole %1, %2 i %3 oznaczające odpowiednio kolejne zmienne (maksymalnie można użyć trzech zmiennych). Instrukcja ustalająca wartość parametru name dla funkcji Set_KrlDlg() będzie miała format jak poniżej (podkreśloną czcionką zaznaczono symbole odwołujące się do zmiennych): name = {modul[] „IN_HOME”, Nr 1, msg_txt[] „MENU 1: Obrot osia A1, HOME_A1 = %1, ACT_A1 = %2, D1 = %3 stopni:”} Do powiązania symbolu odnośnika ze zmienną, a w konsekwencji także do wyboru formatu, w jakim jej wartość będzie wpisania do CHAR msg_txt[80] służy parametr params[]. Do tekstu maksymalnie można wprowadzić wartości trzech zmiennych – po zadeklarowaniu jako 3-elementowa tablica Params[3]: DECL KrlMsgPar_T Params[3]

Rys. 6. Okno dialogowe nr 1 (Menu 1) do poruszania osią A1 manipulatora wyświetlane na panelu programowania robota Kuka z układem sterowania KRC2 Fig. 6. Dialog box No. 1 (Menu 1) to move the axis A1 of the manipulator displayed on the programming panel of the robot Kuka with the control system KRC2

Rys. 7. Okno dialogowe nr 1 (Menu 1) do poruszania osią A1 manipulatora wyświetlane na panelu programowania robota Kuka z układem sterowania KRC4 Fig. 7. Dialog box No. 1 (Menu 1) to move the axis A1 of the manipulator displayed on the programming panel of the robot Kuka with the control system KRC4

76

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


* '

ktĂłrej kolejny element odpowiada kolejnej zmiennej (numeracja 1–3). Element Params[i].par_type struktury okreĹ›la tzw. typ i-tego parametru: − #value: parametr jest wstawiany do tekstu zgodnie z okreĹ›lonym typem zmiennej: text, int, real lub bool, − #key: parametr jest kluczem, ktĂłrego naleĹźy szukać w bazie danych, − #empty: nie przypisano typu parametru. W programie MoveToHomePosition() dla wszystkich zmiennych przyjÄ™to predefiniowanÄ… wartość value [3, 4]. Podczas inicjowania struktury Params[i] wszystkie pozostaĹ‚e elementy, tj. par_txt, par_int, par_real oraz par_bool sÄ… wstÄ™pnie oznaczane jako nieokreĹ›lone. Instrukcja inicjujÄ…ca tÄ™ strukturÄ™ okreĹ›la, ktĂłry jej element bÄ™dzie dalej wykorzystywany i przypisuje mu wartość poczÄ…tkowÄ…. Kolejna instrukcja przyporzÄ…dkowania wpisuje wartość zmiennej do odpowiedniego elementu struktury Params[i]. Aby wyĹ›wietlić wartoĹ›ci zmiennych HomePosition.A1 (typ REAL), AxisPosition. A1 (typ REAL), oraz D1 (typ INT) naleĹźy wykonać nastÄ™pujÄ…ce instrukcje: Params[1] = {par_type #value, par_real 0.0} Params[1].par_real = HomePosition.A1 Params[2] = {par_type #value, par_real 0.0} Params[2].par_real = AxisPosition.A1 Params[3] = {par_type #value, par_int 0} Params[3].par_int = D1 3. Parametr key[] typu KrlMsgDlgSk_t: Jest to parametr typu struktura o nastÄ™pujÄ…cych elementach: STRUC KrlMsgDlgSk_t KrlMsgParType_T sk_Type, CHAR sk_txt[10] gdzie typ danych K r l M s g P a r T y p e _ T jest typem wyliczeniowym: ENUM KrlMsgParType_T value, key, empty Parametr ten definiuje przyciski funkcyjne okna dialogowego. ProgramujÄ…c okna dialogowe w jÄ™zyku KRL naleĹźy pamiÄ™tać, Ĺźe maksymalnie mogÄ… one zawierać siedem przyciskĂłw funkcyjnych. Parametr key[] naleĹźy zadeklarować jako 7-elementowÄ… tablicÄ™ Key[7]: DECL KrlMsgDlgSk_t Key[7] ktĂłrej elementy odpowiadajÄ… kolejnym przyciskom funkcyjnym (1–7). Element Key[i].sk_Type struktury okreĹ›la tzw. typ etykiety i-tego przycisku funkcyjnego, ktĂłremu moĹźna przyporzÄ…dkować jednÄ… z trzech predefiniowanych wartoĹ›ci: − #value: sk_txt[] odpowiada etykiecie przycisku, − #key: sk_txt[] to klucz bazy danych zawierajÄ…cy etykietÄ™ przycisku, − #empty: nie przypisano typu etykiety. W programie MoveToHomePosition() dla wszystkich przyciskĂłw funkcyjnych przyjÄ™to predefiniowanÄ… wartość value [3, 4]. Drugi element Key[i].sk_txt[10] struktury zawiera opis i-tego przycisku funkcyjnego. JeĹ›li wprowadzono tam „pustyâ€? tekst, tj. tekst zawierajÄ…cy same spacje, to przycisk ten nie pojawi siÄ™ w oknie dialogowym. 4. Parametr options typu KrlMsgOpt_t: Parametr ten omĂłwiono w części poĹ›wiÄ™conej funkcji bibliotecznej Set_KrlMsg(). Jak w jÄ™zyku KRL moĹźna zaprogramować przedstawione na rysunkach 6 i 7 okno dialogowe nr 1 (Menu 1) programu MoveToHomePosition() pokazano w punkcie 6 rozdziaĹ‚u 9. Identycznie programuje siÄ™ pozostaĹ‚e okna dialogowe 2–6. W oknie dialogowym nr 7 nie sÄ… wyĹ›wietlane wartoĹ›ci Ĺźadnych zmiennych, wiÄ™c inicjujÄ…c parametry funkcji Set_KrlDlg() moĹźna pominąć ustawienia parameteru params (punkt 8 rozdziaĹ‚u 9).

M, + MoveToHomePosition() Ponişej zawarto fragment programu MoveToHomePosition(). Pominięto fragmenty, w których kod źródłowy powtarzał się (np. tworzenie kolejnych okien dialogowych): 1. Początek programu: Deklaracje uşywanych zmiennych: GLOBAL DEF MoveToHomePosition( ) DECL INT i DECL INT KeyNumber ; numer wybranego przycisku DECL INT MenuNumber ; numer okna dialogowego DECL INT D1, D2, D3, D4, D5, D6 ; przyrosty katow osi i przyspieszen osi: DECL INT STORE_VEL_AXIS [6] DECL INT STORE_ACC_AXIS [6] poszczegolnych osi DECL E6AXIS AxisPosition DECL E6AXIS HomePosition ; Zmienne do tworzenia komunikatow i okien dialogowych DECL INT Handle DECL KrlMsg_t name DECL KrlMsgPar_t Params [3] DECL KrlMsgOpt_t Options DECL KrlMsgDlgSk_t Key [7] 2. Start programu: Odczytanie pozycji wszystkich osi i instrukcja ruchu do odczytanej pozycji (praktycznie manipulator nie wykonuje şadnego ruchu). W przypadku robota Kuka po zmianie trybu pracy na Automatyka (nie dotyczy to trybu ) trzeba utrzymywać wciśnięty przycisk Start programu na panelu programowania robota do momentu wykonania pierwszej instrukcji PTP (w domyśle ma to być instrukcja PTP HOME). Wykonanie ponişszych instrukcji spełnia ten warunek pozwalając jednocześnie na zwolnienie przycisku: AxisPosition = $AXIS_ACT PTP AxisPosition 3. Odczyt i zapamiętanie aktualnie ustawionych wartości prędkości i przyspieszeń realizowanych podczas ruchu PTP przez kaşdą oś (wartości te będą odtworzone na końcu programu), a następnie ustawienie ich mniejszych wartości: FOR i=1 TO 6 STORE_VEL_AXIS[i] = $VEL_AXIS[i] STORE_ACC_AXIS[i] = $ACC_AXIS[i] $VEL_AXIS[i] = 75 $ACC_AXIS[i] = 75 ENDFOR 4. Zainicjowanie zmiennych określających przyrost kąta poszczególnych osi, ustawienie numeru pierwszego menu, odczyt i zapamiętanie połoşenia osi manipulatora w pozycji HOME: D1 = 1 ;--> poczatkowy przyrost kata osi A1 to 1 stopien D2 = 1 ;--> poczatkowy przyrost kata osi A2 to 1 stopien D3 = 1 ;--> poczatkowy przyrost kata osi A3 to 1 stopien D4 = 1 ;--> poczatkowy przyrost kata osi A4 to 1 stopien D5 = 1 ;--> poczatkowy przyrost kata osi A5 to 1 stopien

77


@ g' = "' " ' "= '" "' Handle

D6 = 1 ;--> poczatkowy przyrost kata osi A6 to 1 stopien MenuNumber = 1 HomePosition = $H_POS 5. Początek głównej pętli programu: Skasowanie poprzedniego komunikatu użytkownika, odczyt informacji czy manipulator znajduje się w pozycji HOME i wyświetlenie komunikatu generowanego na podstawie tej informacji (w instrukcjach podkreśloną czcionką zaznaczono to, co zostanie wyświetlone na panelu programowania), odczyt aktualnej pozycji manipulatora: LOOP Clear_KrlMsg (-99) IF ($IN_HOME == TRUE) THEN name = {modul[] „SERVICE”, Nr 1, msg_txt[] „ROBOT JEST W POZYCJI HOME”} ELSE name = {modul[] „SERVICE”, Nr 1, msg_txt[] „ROBOT NIE JEST W POZYCJI HOME”} ENDIF Handle = Set_KrlMsg (#Notify, name, Params[], Options) AxisPosition = $AXIS_ACT 6. Jeśli wartość zmiennej MenuNumber wynosi 1 to wyświetlenie okna dialogowego nr 1 (Menu nr 1) związanego z obsługą obrotu osi A1 manipulatora (patrz także przykład 3): IF (MenuNumber == 1) THEN Key[1] = {sk_Type #value, sk_txt[] „PREV MENU”} Key[2] = {sk_Type #value, sk_txt[] „D1 MINUS”} Key[3] = {sk_Type #value, sk_txt[] „A1 MINUS”} Key[4] = {sk_Type #value, sk_txt[] „A1 PLUS”} Key[5] = {sk_Type #value, sk_txt[] „D1 PLUS”} Key[6] = {sk_Type #value, sk_txt[] „NEXT MENU”} Key[7] = {sk_Type #value, sk_txt[] „ „} IF ($IN_HOME == TRUE) THEN name = {modul[] „IN_HOME”, Nr 1, msg_txt[] „MENU 1: Obrot osia A1, HOME_A1 = %1, ACT_A1 = %2, D1 = %3 stopni:”} ELSE name = {modul[] „NOT_IN_HOME”, Nr 1, msg_txt[] „MENU 1: Obrot osia A1, HOME_A1 = %1, ACT_A1 = %2, D1 = %3 stopni:”} ENDIF Params[1] = {par_type #value, par_real 0.0} Params[1].par_real = HomePosition.A1 Params[2] = {par_type #value, par_real 0.0} Params[2].par_real = AxisPosition.A1 Params[3] = {par_type #value, par_int 0} Params[3].par_int = D1 Options = {vl_stop true, clear_p_reset true, clear_p_SAW false, log_to_DB false}

78

P

O

M

I

A

R

Y

A

U

T

O

M

= Set_KrlDlg (name, Params[], Key[], Options)

ENDIF 7. Jeśli wartość zmiennej MenuNumber wynosi 2, 3, 4, 5 lub 6 to wyświetlenie w analogiczny sposób jak powyżej okna dialogowego nr 2, 3, 4, 5 lub 6 (Menu 2, 3, 4, 5 lub 6) związanego z obsługą obrotu osi A2, A3, A4, A5, A6 manipulatora: IF (MenuNumber == 2) THEN ; Wyswietlenie okna dialogowego nr 2 (Menu 2) ENDIF ------------------------------------------IF (MenuNumber == 6) THEN ; Wyswietlenie okna dialogowego nr 6 (Menu 6) ENDIF 8. Jeśli wartość zmiennej MenuNumber wynosi 7 to wyświetlenie okna dialogowego nr 7 obsługującego wybór podprogramów obsługi chwytaka, ruchu do pozycji HOME wymuszonego przez pojedynczą instrukcją PTP HOME bądź zakończenia wykonywania programu MoveToHomePosition(): IF (MenuNumber == 7) THEN Key[1] = {sk_Type #value, sk_txt[] „PREV MENU”} Key[2] = {sk_Type #value, sk_txt[] „OTWORZ”} Key[3] = {sk_Type #value, sk_txt[] „ZAMKNIJ”} Key[4] = {sk_Type #value, sk_txt[] „HOME”} Key[5] = {sk_Type #value, sk_txt[] „ZAKONCZ”} Key[6] = {sk_Type #value, sk_txt[] „NEXT MENU”} Key[7] = {sk_Type #value, sk_txt[] „ „} IF ($IN_HOME == TRUE) THEN name = {modul[] „IN_HOME”, Nr 1, msg_txt[] „MENU 7: Sterowanie chwytakiem + HOME + ZAKONCZ:”} ELSE name = {modul[] „NOT_IN_HOME”, Nr 1, msg_txt[] „MENU 7: Sterowanie chwytakiem + HOME + ZAKONCZ:”} ENDIF Options = {vl_stop true, clear_p_reset true, clear_p_SAW false, log_to_DB false} Handle = Set_KrlDlg (name, Params[], Key[], Options) ENDIF 9. Jeśli wartości Handle zwracane przez funkcje biblioteczne Set_KrlDlg() do tworzenia okien dialogowych są większe od 0 (poprawnie utworzono okno dialogowe) to należy odczytać numer przycisku, który wybrano w oknie dialogowym. Liczba ta jest zwracana jako zmienna KeyNumber: IF (Handle > 0) THEN WHILE (Exists_KrlDlg (Handle, KeyNumber)) WAIT SEC 0.1 ENDWHILE Okno dialogowe poprawnie zwróciło numer wybranego przycisku wyboru. Początek ciągu instrukcji wykonywanych zgodnie z funkcją przypisaną do okna dialogowego i przycisku: A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


* '

− na jednym z siedmiu okien dialogowych wybrano przycisk

− na jednym z siedmiu okien dialogowych wybrano przycisk

funkcyjny nr 1. We wszystkich oknach oznacza to zwiÄ™kszenie o 1 numeru okna dialogowego, a w konsekwencji wyĹ›wietlenie okna odpowiadajÄ…cego nowemu numerowi: SWITCH KeyNumber CASE 1 MenuNumber = MenuNumber - 1 IF (MenuNumber <= 0) THEN MenuNumber = 7 ENDIF − na jednym z siedmiu okien dialogowych wybrano przycisk funkcyjny nr 2. W oknach dialogowych nr i (i = 1, 2, 3, 4, 5, 6) oznacza to zmniejszenie o 1 stopieĹ„ wartoĹ›ci kÄ…ta, o ktĂłry bÄ™dzie przemieszczana oĹ› i manipulatora (wartość kÄ…ta Di moĹźe zmieniać siÄ™ od 1 do 10°). W przypadku okna dialogowego nr 7 przycisk nr 2 uruchamia podprogram otwierajÄ…cy chwytak: CASE 2 IF (MenuNumber == 1) THEN IF (D1 > 1) THEN D1 = D1 - 1 ENDIF ENDIF ------------------------------------------IF (MenuNumber == 6) THEN IF (D6 > 1) THEN D6 = D6 - 1 ENDIF ENDIF IF (MenuNumber == 7) THEN OtworzChwytak() ENDIF − na jednym z siedmiu okien dialogowych wybrano przycisk funkcyjny nr 3. W oknach dialogowych nr i (i = 1, 2, 3, 4, 5, 6) oznacza przemieszczenie osi i manipulatora o kÄ…t Di w kierunku ujemnym. W przypadku okna dialogowego nr 7 przycisk nr 3 uruchamia podprogram zamykajÄ…cy chwytak: CASE 3 IF (MenuNumber == 1) THEN AxisPosition.A1 = AxisPosition.A1 - D1 PTP AxisPosition ENDIF ------------------------------------------IF (MenuNumber == 6) THEN AxisPosition.A6 = AxisPosition.A6 - D6 PTP AxisPosition ENDIF IF (MenuNumber == 7) THEN ZamknijChwytak() ENDIF − na jednym z siedmiu okien dialogowych wybrano przycisk funkcyjny nr 4. W oknach dialogowych nr i (i = 1, 2, 3, 4, 5, 6) oznacza to przemieszczenie osi i manipulatora o kÄ…t Di w kierunku dodatnim. W przypadku okna dialogowego nr 7 przycisk nr 4 inicjuje wykonanie instrukcji PTP HOME – bezpoĹ›redniego ruchu wszystkimi osiami do pozycji HOME: CASE 4 IF (MenuNumber == 1) THEN AxisPosition.A1 = AxisPosition.A1 + D1 PTP AxisPosition ENDIF ------------------------------------------IF (MenuNumber == 6) THEN AxisPosition.A6 = AxisPosition.A6 + D6 PTP AxisPosition ENDIF IF (MenuNumber == 7) THEN PTP HOME ENDIF

funkcyjny nr 5. W oknach dialogowych nr i (i = 1, 2, 3, 4, 5, 6) oznacza to zwiÄ™kszenie o 1 stopieĹ„ wartoĹ›ci kÄ…ta, o ktĂłry bÄ™dzie przemieszczana oĹ› i manipulatora (wartość kÄ…ta Di moĹźe zmieniać siÄ™ od 1 do 10°). W przypadku okna dialogowego nr 7 przycisk nr 5 powoduje zakoĹ„czenie wykonywania pÄ™tli LOOP ... ENDLOOP i zakoĹ„czenie wykonywania programu MoveToHomePosition(): CASE 5 IF (MenuNumber == 1) THEN IF (D1 < 10) THEN D1 = D1 + 1 ENDIF ENDIF ------------------------------------------IF (MenuNumber == 6) THEN IF (D6 < 10) THEN D6 = D6 + 1 ENDIF ENDIF IF (MenuNumber == 7) THEN GOTO THE_END ENDIF − na jednym z siedmiu okien dialogowych wybrano przycisk funkcyjny nr 6. We wszystkich oknach oznacza to zmniejszenie o 1 numeru okna dialogowego a w konsekwencji wyĹ›wietlenie okna odpowiadajÄ…cego nowemu numerowi: CASE 6 MenuNumber = MenuNumber + 1 IF (MenuNumber > 7) THEN MenuNumber = 1 ENDIF

− przypadek DEFAULT – bĹ‚Ä…d wyboru, zakoĹ„czenie wykonywania programu MoveToHomePosition(): DEFAULT GOTO THE_END 10. Koniec pÄ™tli: ENDSWITCH, koniec pÄ™tli ENDIF, koniec PÄ™tli ENDLOOP ENDSWITCH ENDIF ENDLOOP 11. ZakoĹ„czenie programu: Przywrocenie wartoĹ›ci prÄ™dkoĹ›ci i przyspieszeĹ„ osi sprzed wywolania programu, kasowanie komunikatow uĹźytkownika: THE_END: FOR i=1 TO 6 $VEL_AXIS[i] = STORE_VEL_AXIS[i] $ACC_AXIS[i] = STORE_ACC_AXIS[i] ENDFOR Clear_KrlMsg (-99) WAIT SEC 0.1 END

LJ, } <!

Problem doprowadzania manipulatora robota Kuka do pozycji HOME ze wszystkimi negatywnymi konsekwencjami, w tym z kilkoma kolizjami manipulatora, pojawiĹ‚ siÄ™ w aplikacji wykonanej przez PrzemysĹ‚owy Instytut Automatyki i PomiarĂłw PIAP w Cukrowni NakĹ‚o nad NoteciÄ… [7]. EksploatacjÄ™ zrobotyzowanej linii do nawaĹźania i paletyzacji workĂłw z cukrem uruchomiono zanim osoby majÄ…ce nadzorować jej pracÄ™ zostaĹ‚y gruntownie przeszkolone w obsĹ‚udze robota i nabraĹ‚y doĹ›wiadczenia w obsĹ‚udze caĹ‚ej linii. ByĹ‚o to spowodowane pilnÄ… potrzebÄ… wywiÄ…zania siÄ™ Cukrowni z kontraktu na dostarczenie 4,5 tys. ton cukru w ciÄ…gu zaledwie kilku tygodni. W efekcie

79


@ g' = "' " ' "= '" "'

^

praca linii początkowo była często zatrzymywana, co niekiedy wymagało restartowania programu nadrzędnego sterownika PLC i aplikacji samego robota. Ze względów bezpieczeństwa restart aplikacji robota wymagał, aby manipulator znajdował się w pozycji HOME, co wymuszało konieczność ręcznego doprowadzenia robota do tej pozycji. Powstał pomysł, by do aplikacji dołączyć podprogram umoşliwiający bezpieczne przemieszczanie manipulatora bez potrzeby przełączania się z trybu pracy automatycznej w tryb pracy ręcznej. Ponadto podprogram powinien zapewniać bezpieczny i niezaleşny obrót kaşdej osi z minimalną prędkością i minimalnym przyrostem kąta obrotu oraz wyświetlać informację o aktualnym i docelowym połoşeniu przemieszczanej osi. Wydaje się, şe wymagania te zostały spełnione, poniewaş od momentu włączenia podprogramu do aplikacji nie zanotowano şadnej kolizji, co oczywiście było takşe rezultatem nabrania doświadczenia przez personel nadzorujący pracę linii. Zaprezentowaną procedurę moşna dołączyć do kaşdej aplikacji z robotem Kuka, poniewaş nie odwołuje się ona do şadnego narzędzia ani nie wykorzystuje şadnego układu współrzędnych zdefiniowanego przez uşytkownika. Jej działanie polega tylko na obracaniu o minimalny kąt kaşdej osi z osobna, przez co moşe być bezpiecznie stosowana nawet przez osobę z niewielkim doświadczeniem w obsłudze robota.

1. KUKA System Software KR C2 / KR C3: Expert Programming – Release 5.2, 2003 KUKA Roboter GmbH 2. KUKA System Software KR C‌: System Variables, 2004 KUKA Roboter GmbH 3. KUKA Expert Documentation Programming Messages For KUKA System Software 8.2 and VW System Software 8.2, 2011 KUKA Roboter GmbH 4. KUKA Expert Documentation Programming Messages For KUKA System Software 5.5 and 5.6, 2009 KUKA Roboter GmbH 5. KUKA System Software 8.2: Operating and Programming Instructions for System Integrators, 2011 KUKA Roboter GmbH 6. KUKA System Software 8.3: Instrukcja obsĹ‚ugi i programowania uĹźytkownika koĹ„cowego, 2013 KUKA Roboter GmbH 7. Dunaj J., Programowa realizacja róşnych schematĂłw paletyzacji workĂłw z luĹşnÄ… zawartoĹ›ciÄ… wykonywana robotem przemysĹ‚owym, „Pomiary Automatyka Robotykaâ€?, R. 22, Nr 2, 2018, 49-60, DOI: 10.14313/PAR_228/49.

- L / " A 0 8 " & Abstract: The article concerns with a problem related to the exploration of an industrial robotic station, namely how to simply and safely move the manipulator from any position to the output position without having to switch to the manual mode. The presented method is based on reading the current and the final position of each axis and its rotation by the minimum angle in both directions performed under the supervision of the operator. The article describes how the program performing this task was carried out using messages and dialog boxes displayed on the robot programming panel. Also presented in the KRL language for programming of Kuka robots, how programmer can generate user messages and dialog boxes. ; \ L / j S4"B $ / $ A A & A / T & A $ A A I L / M A A ;ILM<

" % ; ) & % # '+@! G & # & B 0 # $ & '+@> & 0 6 8 0 9 ? A 9K A & ] 9 $ 9 $ 9 / 9 $ 9 K 9 0 A / P kk & 9K 9 # 9 A & .& G ? 0680$ K & K G $ A9 ? A . 9 /. 9K .& G ? A / A ;/ & $ < 8 A / . A / K 9 R & R .

80

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

Informacje dla Autorรณw # " " 8 & A @ $ ' +"% Op OCXx " L "= ' " ' "'. 8 $ %" E " `'" " " $ "'. = '. "' " "' " '. ' " $ = $ "' " `'" " =$ ' L '. ?$ ' ` `'" = ' "

" " g = = ' = ' "

" ' '" $ " ]= =$ ?g^ " L "'. $ ' g % =$

' '. "'. ' '. ?' " $ ' " $ = $` " L % $ " $ = '

Wskazรณwki dla Autorรณw ! !" $ ! H " " =$ ' $ Q '. ' " Pomiary Automatyka Robotyka " E g `' " $ w 8 " " ] ' `'" UC L ^ g " $ $ 8 g H ;H L Q $ ?$ ' ] " ' =$ ' ' $ '" ^ 8 ' " ] = g ' Xย C8OCC L ^ g " $ $ 8 $ ' ]ย 8U . ^ g " $ g " $ $ 8 ' ' g E " 8 g " $ ]$ = $ ^ 8 " " g " $ g " $ 8 " " = $ g " $

g " $ 8 $ ' ; ? ; g' = $ ' ' $ = l

$' ' xCC XCCC $ ' ' ` ? '

H " E = g E L ` ' C B " ' ' E = g ' X " ' ]TC CCC L ' $ = xCCC ' O $ '

L ^ ' U % + " " L ' `'"'. g = g E " ' g ' Nie drukujemy komunikatรณw! " ` ="E `' = ?' " '. H L ] g " " ^ = g ' ย CC8Vย C L '. $ ? ' = " L L " g " "$ "' $ ' "'. =$ ' ` " ' ` ' ` E "

+ ! ! #)* * ! $ ! $ ย ! !" ! !"ย $ ! ! H " ` ' ` $ E E " H " L "'. =$ ' ` $ # L E '" $ ' g' = $ ` E = " H ' " ` ="E '" g ย L 5 ! ) * ! + * ! ! L " $ ' g L $ ' " `' " ' $ %" `E $ $ " `' '. " 8 H L '. ?$ ' g = ?' ' '. "'. ' L " " " g " + " % "'. =$ L " ' `

Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS ;6 U *!')] ( $*=<$ K w bazie naukowych / K ARIANTA. Punktacja MNiSW / @ ; '**=< 0 . . & & 4 R $ & / / w kwartalniku naukowotechnicznym Pomiary Automatyka Robotyka.

UX


GA�f &H!*> H HZ<f ›+

5 ! ! ! ! ! !" ! ! !" & ! ' $ Q '. ' Pomiary Automatyka Robotyka

% `' $ " g & A @ $ ' +"% `'` g "' H L " H ;H L " L " g' "

$

' `' w 1. ! &

! % wymieniowego Autora ! 8 ' $ " $ ' " L h . . j " $ " H L =$ ' L= L "'. =$ ' =" " $= L$ ' 2. ! & & ! !" € $ $ jej powstanie 8 ' $ w 8 % " =" `'

'" " $g $=

L " $= =" L " ; " g ` ' " ' =$ ' 8 % " g " h . j " g " ' L = `' ' "

"

" L " $

g '. " = L

' =$ ' š

UO

P

O

M

I

A

' '" $ $ ' ' " ` g $ ` '. ` " % $ ' ` '. $ " " "= '" "

3. ! & ' $ !" <€ !" ! 8 " ? =$ ' " ' Q= ' " $ = "

" ' ” L $ L g% "'. h? ' $ '$ j 8 ' =$ " $ "' " ' ' =$ ' ' $ = g ? =

$ ! " " =$ " L % " `' $ "'. " '. ' = " . = $ ' " " % $ "'. '. '. 8 " ' % E E # " ' ; $ ' ' "'. ' "'. `% "'.

} $ przeniesienie praw !"

! ! 99 ^Â # '. $` " g' " =$ ' g ` "'. '.

" 'g Z " " ' + " " "'. ' ' " $ `

Redakcja kwartalnika Pomiary Automatyka Robotyka %

! ' '" " L =$ "'. $ Q '. ' " " H " = " " " '. L ` g ' fG w

Maria Wrzuszczak, Janusz Wrzuszczak, Zastosowanie analizy - & - .& .& wzbudzenia, „Pomiary Automatyka Robotyka�, ISSN 1427-9126, R. 23, Nr 3/2019, 5–9, DOI: 10.14313/PAR_233/5.

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


czasopisma

pomiary

sprawdzian

miara

POLSPAR

eksperyment

automatyka PIAP

" "

seminarium

kalendarium

szkolenie

kwartalnik

federacja

nauka

publikacje

automatyka

stowarzyszenie

HORIZON 2020 `% innowacje organizacja projekt konkurs

konferencje

relacja

POLSPAR

POLSA

publikacje

AutoCAD streszczenie

agencja kosmiczna

dr h.c.

innowacje

IFAC

ZPSA

”

profesura

recenzje

relacja

szkolenie

doktorat

robotyka seminarium

sterowanie

.

esa

szkolenie


84

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR

3/2019


NASZE MONOGRAFIE

www.piap.pl

85


1950–2019


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

0 - # # H " = ! B BU> % B *+ X Y[ ! = ! ! > ! > < = %

+ + ' g XO $ Xp C / g $ %"' < % ' " g ` ] XpB ^ ' ` ' g G ' f L$ '`'" ' + " $ '. XpBU8XpBp " g q GG ' f L$ '`'" =" XpBp ' `E +" $ >$ $ '. + " $ %" $ " XpV ! %"' ` $ '. ` + ` XpUB " " '. ' "'. g h& "'. "'. " " ' ' Q "'. j @ " . = $ '. ' "'. $ ] ' $ Ew $ " " ^ " OCCx g h+ $ " ` " j + '

OCXX " " " + ' +" $ >$ ] " +" $ >$ < '. G '" "'.^ =" ` G " $ < $ w %" " "

' OCC 8 "' + OCXp " "' + + ' $ ' " g E "= " ' $ $ * g ` g' = ` ' "'. '" "'. " ` L " L "'. ' " ' g ' " ' " " " '. '. $ ' "'. + $ '. UC '. %" " L "'. g "'. '. " -

L Q $ "'. " " ?' "'. "'. "'. A g " ` g' Q= ' " $ pC =" ' $ '. XppT8Xppp < '. % # ` " H ' ' h@" Q $ "' " L '" "'. XC m 8 XU /m j XppV A ` & > ' A + + ' g " " ' g L `% `'" ' "'. " L "'.w hf ' "'. " L "'.j ] " XppV ^ h/ ' -

+ + ' ' ` $ gE ` "'. A =" " '` ' g % " ' "'. < '. "'. + '

$ $ L '" g " ` ` " $ '. =$ L g $ = ! g " L% " % =" " $ ' `'

+ =" $ + $ ' '. L$

" " ' " ' " L g % + '. < + L% " L "'. $ " $

" %$ " '" % " " ' G " =" h "j A $g "'. $ ` g " L ' '

g' '. '. + =" $ $ = ' H#@ + ] = ' f ' + ^ ' ` '. $ $ ' % ' %" " " + $ $ "'. A " '. " ' " "' ' '. "'. > %" " " * =`

& + "' ` L$ '" $ '. ' + ' $ "'. '. = ' "'. $ ' f @ H % G&> f ' $ E $ ' " $ " ' =$ L ' ' ' E g ' '." " L% `' %" `' $ g ! E * g'

% = F

. = % H &

% H & g

UV


WSPOMNIENIA

"'. " L Q $ "'.j ] " OCCX ^ # qqG g "'. '. "'. " L "'. = `'"'. "'. " L "'. ] " " G ^ " ' " = ' "'. " "'. " '. "'. ] " " ` = "'.^ ' ' $ "'. " L "'. " ' = L $ "' = %" ' % " "'. L

' " =" $ ' " =$ ' '" " " ' '. ] L % $ " *! ^ % = =$ '" " + + ' = OCC "' L "'. $ ' ` g "

? '. % XB " L $ " ?$ $? f L' ' L ] ' ' " "

' ` '. '. $ ^ XO %"'. L = ' Q % "'. ] " ? "'. " '. L =" ^ ' '. = ' "'. ? "'. A &>A + $ ' = ' "'.

' " g % " $ ' + + ' =" g' ' "'. '. '. ' '. '. U = " ' XO ' %" $ E '" ' = ' G>>> ` $ @ " L H " = " f @ H ] ' ' G&> f^ =" % ` ' ` '. "'. "'. $ ' G>>> G&<! ]G & < '. $ " ! ' ^ G>>> G HH!@ ]G $$ H' H [ ' ! @" ^ $ % & $ G&> f ' " ' "'. & $ + @" "

'. A "'. " $ & g " ' $ ' & $ L & ] =$ " & $ ^ + + ' = " " %"' " " +" $ >$ < '. G '" "'. ]OCC 8OCCU^ g '` " "'. G " $ ]XppT8OCCX OCCT8OCC ^

+ Xx OCXp $ % $ % $ " . = % + + ' f '. $ ' L +" $ >$ $ '. + =" ' $ ` " G " $ ] = ' G " $ < '. & $ $ "'.^ $ '. + " ' " ' "' $ ' " ' $ ` g '. ` $ ' $ "' "'. "'. " L "'. + ' =" $ = L $ =$ ' "'. " ' ' " ' '. L "'. = ' Q % "'. L % $ "'. ' ' $ "'. " "'. " "'. " ' ' " = " %$ " " %"' $ ' ` g E "= ` " =$ L = " g L% f $ L ' "'. + " '. $ L g= g / = = E

. = % + + ' =" $ '

g' g " $= " ' $ ` " ' ` + $ '. OCCT8OCXX ' " $ @ " L H " = " f @ H & " ' $ ` " E = =$ A L '" = E = ' * $ = ' L f @ H " L '" "'. ? "'. ' $ $ %" f @ H

g " " " ' G H! G&> f + =" % %"' " $ = ' ] $ ' ^ ' L$ " ' ` $ '. ` + ` * ' ' L ' "'. ' ' g= % $

% ' ]XppX8OCCO^ "'. +" ]Xppx8OCCO^ f OCXB ' g " G " $ < '. & $ $ "'. # ` g' Q= ' " "' + + ' " =" " & X ] " " " $ ^ # " "% # ]Xppp^ @ = ` f ` # # $ @ ]OCCp^ ` # % " $ $ '. + ]OCCp^ " ' " $ ' " $ `'" g "$ " $ L % + ' L$ ' $ %"' " ' $ `' %" " L " " ' % "' ' G g % $ " ` " ` + ' " g " $ " = 8 ' + + ' OCXp L $ ' '. = * = =" g Xx + * '. " ' " '.

& / K 0 O $ - 0#

. = % # $'

. = % #= $

UU

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

Kalendarium wybranych imprez Data konferencji <

& '

Informacje dodatkowe

$ ' @ ' G $ ' RP-RAI 2019

16–18 / 10 / 2019

+ '

$

www: . w;; Q $

16th IFAC Conference on =$ [ ' > = @" @OCXp

29–31 /10 /2019 31 / 05 / 2019

< " +" @ '

15th > + . Advanced Control and ACD 2019

21–22 / 11 / 2019 31 / 05 /2019

Bolonia + '."

www: . w;; [ = ; ' OCXp mail: ' OCXpY =

15th International Conference " ' $ @" <. " H $ ' @<H OCXp

02–05 / 12 / 2019 02 / 06 / 2019

FL ” $

www: . w;; " Q ' ; mail: ' OCXpY " Q '

13th GÂ?H! + . ! $ @" H !f@ OCXp

04–06 / 12 / 2019 31 / 07 / 2019

+ '. + $ "

www: . w;; $ ' ; ;OCXp $' ; mail: Y ' '

! ' > Control Conference ECC 2020

12–15 / 05 / 2020 10 / 10 / 2019

@ =

www: . w;; ''OC mail: Y ''OC

XX Krajowa Konferencja H " H OCOC

22–24 / 06 / 2020 20 / 01 / 2020

FL ” $

www: . w;;

$ $ mail: kka@info.p.lodz.pl

14th International Conference H ' ! $ @ ¢ ! CONTROLO 2020

01–03 / 07 / 2020 01 / 02 / 2020

Bragança $

www: . w;;' $ OCOC = mail: controlo2020@ipb.pt

21 GÂ?H! + $ !

12–17 / 07 /2020 31 / 10 / 2019

Berlin A '"

16. Krajowa Konferencja = " OCOC

02–06 / 09 / 2020 02 / 03 /2020

$ $

™O & g " ' $ ' & $ L MKM 2020

07–09 / 09 / 2020

$ ' $

17th GÂ?H! @" G ! $ =$ & ' INCOM 2021

07–09 / 06 / 2021

+g "

30.08–03 / 09 / 2021

Jokohama Japonia

Nazwa konferencji

qqGGG + $ ! . G $ & Confederation IMEKO 2021

www: . w;; Q' ' mail: $ [ Y =

www: http://www.ifac2020.org www: . w;; $ mail: Y $

www: http://www.imeko2021.org mail: imeko2021@or.knt.co.jp

89


KONFERENCJE | RELACJA

Intelligent Autonomous Vehicles 2019 10. sympozjum IFAC na temat inteligentnych pojazdĂłw autonomicznych, 10th IFAC Symposium on Intelligent Autonomous Vehicles, IAV 2019 = < 3 *+ X ^ F

# $ ' ' " " " ' '. '. $ ' "'. " " % $ " `'$ ` . ` / % " " "'

" " g "'. =L & "' " "'. " = $ L

$g ` $ E " L % = " ` $ '`

@" GÂ?H! $ "'. L ' "'. / $ '. g / ` / +" $ >$ < $ ' G " "

g L ' = ' Q "'. = $ ' $ ' # " = $ = " ` $ %` L "'. L "'. $ '. & ` " ' '. " "'. ' "'. " "'. % L% "'. " '. " "'. '" $ "'. "'. + L '. % " L% E = " L ` E g " $ = E "$ $ "'. ' "'. '. = " "

' ` = " `' % ` E " E g E '" f= ' " = "' ` L% " ' ' " ' = L $ $ + ' ' ' '" " $ = E

pC

P

O

M

I

A

R

E "' "' =$ " " E '" = E %$ ' " "'. = " G�H! " ' + $ " ]Xppx^ � $ ]Xpp™^ m ]XppU^ * ]OCCX^ $ ]OCCT^ � ' ]OCCV^ + '. ]OCXC^ H $ ]OCXx^ A '" ]OCXB^ f= ' $ $ g ]OCXp^ = '. gE " L G�H! " GHv OCXp ` g ' " ' = ' Q "'. = $ "'. L ' "'. ' "'" g " " " = " $` $ L $ " =$ " "' "'. "' "'. $ '" $ $ %$ ' " "'. = # ' `' " $ ` g' = ' = `' g `' = "w '. $ "'. " L ' "'. ]$` "'. '. "'. ' "'.^š $ ' ' ' $ ' "'. L = L š ' ` '. $ L $ = $ ' š " " $ "'. " '. ' "'.š '" "' `'"'. ' " ' ' " " š $ $ š " " $ -

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

Available online at www.sciencedirect.com

ScienceDirect International Federation of Automatic Control 52/8 (2019)

International Federation of Automatic Control

10th IFAC Symposium on Intelligent Autonomous Vehicles IAV 2019 Gdansk, Poland, 3–5 July 2019

PROCEEDINGS

Edited by Bogdan Wiszniewski, Zdzis aw Kowalczuk, and Mariusz Dom alski Gda sk University of Technology

IFAC Proceedings Volumes (IFAC Papers-OnLine) — ISSN 2405-8963

O A& # $ & I $ " E K ;B& <$ 10th IFAC Symposium on Intelligent Autonomous Vehicles IAV 2019, \& G $ 0 &$ [> F *!'+$ 6`8 ?0 4 M $ U >*$ R @$ 6 R] *=!>?@+) $ =(=

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

' L ' "'.š ' ' Q š = " "' = " = " . = $ '" š ' "'. $ "'. L w " L ' " L +"= " "

g `'"'. $ '. '. ' "'.w – Projektowanie Sterowników i Systemy Sterowania CSD ]! $$ ! $ @" ^š – Wizja Robotycka VIS ] = v ^š – Estymacja i Fuzja Sensoryczna EST ]> @ � ^š – Zaawansowane Systemy Wspomagania Kierowcy DAS ]H [ ' [ H ' @" ^š – Inteligentne Systemy Transportowe ITS ]G $$ < @" ^š – ! B # * G

0G&H ] . $ ' $ @ H&^š – Nawigacja i Oczujnikowanie Robotów NAV ] = A [ @ ^š – Systemy Wielopojazdowe VEH ]& $ Qv . '$ @" ^ =" g " $ ] " ` " " GHv $ L ^ f L' '. ' "'. =" " g " ` " " $ '. GHv

" w – Klaus Schilling = ' ÂŁ < $ ' Z " * $ & " $ +¤ = A '" 8 H ' ! = $ A ! $ ! = @ $$ @ $$ š – H G H L > /A@@ H '" =$ ! 8 > /A@@w ! = H v . '$ š – Ikuo Yamamoto A Z [ " A * 8 H Z v . '$ H[ = š – Bogdan Wiszniewski $ H ' ' ÂŁ $ '. / 8 $ $ . @ ' @ ' 8 @ $$ G $ >ÂĽ' $$ ' A $ G [ >' " š – H H H " $ '. 8 H $ & [ .

G $$ H ' $ v . '$ w ! $ ' [ š – Roman Szewczyk @ E ' F ' 8 " " G " H " L GH + 8 G " T C H ' $ < ' ' =" g `'" $ " " " hH ' A ' L 8 & %$ ' +" j ]H A [ v . '$ 8 f !. $$ ^ L " " ' " L= * ' @ $ '. / ''" $ " H$ !. . @ $$ " $ ' $ ` g h@ `' "=L L vOqj ]& @ '. @ ! $$ $ QvOq^ +" g % L= g ` `E ' $ =" %$ ' g L ' = ' "'. = $ ' $ '

/ L " '"

' " g "'. ' "

' >$ [ hG�H!Q f j ]@' ' ' ^ v $ ™O A U X8TVT OCXp " $ " ' @" G�H! GHv L % ' L " " GHv " g ' E =$ ' $ "'. L " ` ` GHv ' $ L " ' $ "'. " $ ` H ' g ' ` $ ` H g A $ < " L H " = " $ < " $ L % GA<> ]GA<> < '. $ " $ ^ " " G " H " L ] = ' ' `'" g '. @ ' ' F ' ^ H $ H >$ ' ' H$ ' % $ L $ "'. '. = ' @ G $$ Z @" $ Q '. ' " " H " = " / @ ' < $ h@ j ' % % '. $ E g

% L L L

pX


KONFERENCJE | RELACJA

L " " ] " " L Gย H!^ L % L = " = L g ' ' "'. ' "'. $ %" & g " " L ' ' '. "' `'"'. " L "'. ' L "'. L " ="

' $ ' " L " & H GHv OCXp ]Gย H! ยฆ H . H ^ +" ' ยฆHH GHH OCXp =" XC ' GHv ยฆHH L g ] ' L "'. ' ' L ^ " ' " L + $ " $g `' " " $ ? '" ] L " "

' ' xC $ $ =

pO

P

O

M

I

A

R

' " ^ " " ย g `'"'. ? $ L Gย H GHv OCXp ยฆHHw 8 H$ ยฅ + '. 'g Vehicle U 0 X G lization for High Performance Race Cars ] L "w < @ .$ * . . ^ A '" 8 ย ยง > $ . $$ 'g Direct Yaw Control Based on a Phase Plan Decomposition for Enhanced Vehicle Stability ] L "w $ f $ & '. $ ^ ย ' 8 @ $ 'g Reconstruction of Ultrasound Signals Using Randomly Acquired Samples in a Sparse Environment ] L "w @ @ '. H " @ H ^ Z@H 8 * ย m 'g Tire-Road Friction ( \ X ( Vehicle Speed Control ] L "w

Y

โ ข

A

U

T

O

M

A

T

Y

K

A

โ ข

R

@ =. . . ยฆ #. ^ 8 ย $ ' $$ 'g Wheel Slip &] '

H Predictive Control for Object Pushing H

. ] L "w ย = @ = ^ + '." f ' ยฆHH GHv OCXp "= $ " " L L= $ ? `'"'. g '

= ' L ' ' ' + " ' " "' g '` Gย H! GHv OCXp ยฆHH H$ ยฅ + '. h> " ' $ " $ $ ' $ '. L " ' "'. " '. ` '.j L

L ` < @ .$ * . . A ' # "' g ' " '" ? $ ' " $ -

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

' "? " ' ' g' + " `' ' GHv '. GHv ]GHv ! ^ OCXp L =" g = H ' ! @ $ '. ' /

g = xC L = = ' L= "' =" " g " "w ' ] $ ^ H $ & @ '. ! ' !. $$ +" X C L=

' "' =" UU L= ] " ^ ' $ E ' ] " ' = " `' $ "' ' " = " = $ g `' ' ^ ' " L'. = "'. L L '. GHv H

>$ ' ' H$ ' < =" " % $ $ / $ g ' ` ]@ <v^ +"= "' g '" " $ Xx L ' "'. "'. L = "'. / L " L '. "'. GHv =" & < ' A @ G >H ] " +" $ ><G $ '. / ^ f L$ ' g ' ' GHv g w XC L L OOx L L OX "'. ' L ] " ' ^ `' XTC ' L X C L= g

" '. GHv ] " +" = L +" ' L ^ xCC L= Z' '" '. $ L A ' $ * m ' +g '. @ L # ' "'. H "

* ' $ " GHv " " $ " m [ $ + L # " ]/ ^ " ' $ '. /

g' " . . =" g ' " $ ' ] $ '. `'" ' "' " ^ & $ " L % g E G H! <! V

"= E $ ' " G H! GHv ! '. '. OCOO

- & I 0 \& G

. = % # $'

px


KONFERENCJE | RELACJA

>' " & I - " A9 < *3 * B *+ X = > U $! ! "#

94

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


" H " = " G@@A XTOVQpXOB Ox A x;OCXp

'" g ' ™X & g " ' $ ' & $ L f $ ` @ L ™C & g " ' $ ' & $ L L =" g

OCXU +" $ >$ "' " # '. Z " < '. $ ' @ ' ' f =" $ '. f $ " L '" G " G " $ '. ! g '. ` / ` Â? ' g ' `' f '" . = % & ` f ' $ $ w $ '. f $ " f $ H + / L Z g & @ " >$ " L $ '. f f $ ! g '. & $ f HA ' '. @ ' & '. $ H A @ ' =" " ? " `' $ E = $ " L "'. w A>< Gq ] " L % "'. % $ " > ^ #Â? ] [ ^ >! <>@< @" ] " " ^ @fA> ] ' ` ' "'. $ $ " ^ ' $ L = $ " '. ' = '. $ ?$ $ ' '. ? ' ' '. ? "'.

+ " ' '" & g " ' $ ' & $ L $ g E " & '. f $ $ $ ` " " $ " L " " / $ / $ '. $ '. ” +" >$ '. G " @ $ Q@ >$ ' ' = " " Hydrogel-based chemical and biochemical sensors

+ '. $ $ $ # & ' " ` $ ' g "$ $ '. ' '" " A ' g ™™ " L @ L '. OX =$ # " '. A "'. +" >$ '. H " $ '. / xX ' ' ' $ " " ? h "

A ' < '. ' j "

p™


KONFERENCJE | RELACJA

' ' $ " L "'. "'. $ L% "'. '. %"' & " '" # " " A +" >$ '. H " $ '. / ? h " A ' < '. ' j " g ' " ' & g " ' $ ' & $ L OCXp " "' g "'. = ' " ` ' L$ ' % ' ' "

" " L L ' L $ XO L "'. ' " =" " g f $ ]Ox ^ # & ]OT8O ^ $ O & g " ' $ ' & $ L =g g '. V8p OCOC $ ' $ ' +"%" & Qf$ " =g `' ' g ' ` +"%" " ! g '. . $ f ' f =g $ '. _$` '" g "= ' ' " ' ' ` @ L X & g " ' $ ' & $ L

f?'" g +" ' ` $ '. f $ " " " " " " "'. '

$ h " H " = " j g " $ ' h& H & j ' hG " H " " / ' f'. _ j ' ="$ ' A ' ' ' g `'" $ "'. ' $ '. ' "'. " ' "'. ' "' " " $ L $ L $

pB

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

I 4 A >' "I" *!'+ & / K " L . $ - 04 & / K \ $ - 0

O

B

O

T

Y

K

A

N R 3/ 20 1 9


f >!HA> @G¨© G

" A 9 $% H " ? $ ! < #= ! = " ! ! > !# !

Mateusz Turkowski, H " , Wydawnictwo: 4H # & 0 # $ *!'@$ 6 OR +(@?@ ?(@'=?)+(?'$ *@=

" L " $ %` "'. $ A " "

$ ' '. ' $ E g E & % g' " `E % g ' " L =g ` " " `' $g L '. L L % "'. $ ' < % ' " ' = ' E " " $ "'. =$ % " " " ` " + `%' L' g % ' ' " " '. $ " $ % ' ' ' L$ "'. ` =" E " $ " $ ' "' ' =L ` A ' g "$ "' "'. L H $ '. + % % g= E "' "'. ' ' L$ "'. " " % ="E $ ' $ $ ' L ` g "$ " $ % "$ `' ' " ' `' " = ' " $ '

" `'"'. ] ' g ' ' ^ ' $ ' %$ `' ' g " "'. L H L= " g "

' ' $ ' $ " ' ' g ' "'.

" $ " " '. g% = " '"$ '" $ ” g ' " $ "' $ " "' ` "'. =$ L 8 " $ $ g ' " " " L $ "'.

'. "'. ' " ' ` '. ' ' " "'. + $ ' '. " "'. $ % $ = '. ' g "

' " " g " $ = " $ " ' " " $ ' $ = "= '. " % ' " " " =g `%

g' " " + $ = '. ' " "'. ' ` ` ' ' < % %" '" $ ' L = g ' " ' $ ' "'. " ` ` '

g ` g ' ' "'. L < $ ' ` "

g' $ ' $ " L

' " " L " "$ $ L $ ' ' " $ ' " + $

g' " ' " ` $ $ $ " =g '. = " `% =g ' ` %" ' " g' = =$ "$ H H g= $ % $ = L = ' "'. ' `'"'. L "'. ` " ` " " L A % g' L$ "

' ' " " " =$ '" ' ' `%

Redakcja kwartalnika Pomiary Automatyka Robotyka

97


f >!HA> @G¨© G

AutoCAD 2020 / LT 2020 (2013+) Podstawy projektowania parametrycznego i nieparametrycznego ' ; " AutoCAD 2020 / LT 2020 (2013+) Podstawy projektowania parametrycznego i nieparametrycznego> *+ X ! _ " _> ! ! $ " ! " ! " ' ! (') ( !

H !H " '. " ? g H " " L " " " " " '. L ' " $ " g L L % "'. = % " " " " OCOC $ % %" E "'. $ = "'. ] "'. % H !H OCXx^ $ $ = $ g " H " "' '. ' " $ L =' " <" " =` $ g' ` `% g = g ' $ ' `' xCC G $ ` ' g ' ` g' ` " " L % = E " " ' +A $ " OCXx

' « +/ @ g' $ " ' g ' ` ' `' " " L "'. `%' "'. $ ' "'. L = E ! g E G 8 Nieparametryczne projektowanie 2D 8 =$ pC¬ = g ' # L %$ " "'. ' ' '" " &@ + ] '.

" $ ' " L '" " ' '"^ " $ "' '

'. '. $ " % ' f L " H !H $ ' g "'. $ L

"= ' ? '" H !H L ` =$ L g O 8 L g "'. '. L g "'. = "'. % E L

L g = $g L g

$g $ " "' = L "'. ] ' `

pU

P

O

M

I

A

R

^ = L % "'. ] $ $ $ ` " = " = " % ^ @ '

g' " '" " 8 " "= $ $ ' " " g "' = L ] " % ' ^ + `%' " L % ' = '. "

$ = ' " " g L % = '.

" "'. = L '` $ g ` ' ' = L ' E ' " ` " ' 8 ' " `' " " ' " " " ' ! g E GG 8 Parametryczne projektowanie 2D 8 %$ '

H !H g ' ` " OCXC +' "' H !H =" " "' " ] $ O ^ ` "' % $ ` '` L L "'. "? ' g = f= " ` "' g "

g L " "'. "' "'. L ` E $ % ' ' `'"'. = g '. = L ] = `' = = "^ + ' g ' " g ? ' ` g

g L + " E E ' "=$ % `' g "' " ] ' ' ` "

$ $ " g L '. g' ^ ' E ' "' ` g " " ] " ' ^ ? ' ` "'. g ` " " " L "'. "=$ % ` "' "? ' ' g " g `E g'

" " OCXU H !H OCXp ; <OCXp ; + = ;& = $ ª "' "' O x $ ' " $ ' g ' 8 " $ x " ' " H !H xBC & " ' H !H ! ? $ `% $ `'" ! " $ $ E = ' ' $ * " " L L ' "? '" "'. " "'. ' H !H 8 ? g H * " "'. $ '. ] . ^ ! " $

" " $ E ' $ ' $ $

' H L " "' " =" " " $

Andrzej Jaskulski, AutoCAD 2020 / LT 2020 (2013+) Podstawy projektowania parametrycznego i nieparametrycznego, Wydawnictwo Naukowe PWN, 2019, ISBN 978-83-0120613-0, str. 318. Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


f >!HA> @G¨Š G

Autodesk Inventor 2020 PL / 2020+ Podstawy metodyki projektowania ' ; " Autodesk Inventor 2020 PL / 2020+. Podstawy metodyki projektowania> B ! *+ X ! _ " _> % $ ! $ ! ! =# < = % ' ; > ` H G [ " " !H " Xppp '. " ? g H * "' " " x " "' ' O %$ `'" L % '. '" Z %$ $ ` ' $ x A $ %$ " " L " ' "'. % "'. $` "'. "'. H G [ " '" g `'" $ " g'" $ L f= ' " g %" L L L L% "'. = % H G [ g $ Â? Q & $ $ `'` $ . '. ' "'. L "'.

Andrzej Jaskulski, Autodesk Inventor 2020 PL /2020+. Podstawy metodyki projektowania, Wydawnictwo Naukowe PWN, 2019. ISBN 978-8301-20649-9, str. 204.

'. " "' " $ '" . ' $` ' = L $ " g' H * $ = `'" "

' " "' " H %$ g " =L ` '. ' ` '` H G [ OCOC ] % OCXp^ # E `% %$ g ` ' % g ' "' $ " g' = H !H ` g $ ' " $ OCC f ' ' = % "'. "'. '. $ 8 ' E $ $ ' L `'"'. "' ' ' g' H '.g' $ H G [ "'. $ L L % = E " " ' +A # '. " " L ` $ ` ' g E g' & " = ` " $ L '. "'. OCXp OCOC H ' " $ L $ ' g ? ' g ' " g ' @ L $ ' "'. g g "'. H G [ `%' L ` "$ L =g ` =g

" " "'. "'. " E g " " = ' $ E $ " 8 $ ' g ' x $ x ' O x "? ' g ] "' ` '" `^ H ' g' " g L + ' " "= "'. "' = =$ ?' "'. "' ' $ ` "'. " `%'

' "

8/ # & &9 " L / 0 # 4/ # & R J # G ?" 4 F & & . K 9 & 9 I 9 6 K 9 .K & & 8E$ K 9 A 9 8E F & 9 0 & dzinie metodyki parametrycznego projekto *E E 0 $ K & G A A *!') 8 & 8 & 8 F "B ; / " BT < / & A 8 8E R & & 9 & & '++ rowanym przez siebie Autoryzowanym Centrum Szkolenia Autodesk. Na autorskim blogu ; ]PP & / A P< ¤ J / zamieszcza regularnie liczne wideoprezentacje 8E

= `'"'. ' L " L !H $ ' $g `' " H g' " ' + % " % = " . g " g `E g'

" " OCXU H G [ $ OCXp ; OCXpÂŞ ;Â? xBC & " `% ` '` $ L "% "'. $ L '. ' "'. L %" L L "'. '

Redakcja kwartalnika Pomiary Automatyka Robotyka

pp


NASZE WYDAWNICTWA

VOLUME 13 N°2 2018 www.jamris.org pISSN 1897-8649 (PRINT) / eISSN 2080-2145 (ONLINE)

Indexed in SCOPUS

www.jamris.org

PAR P O M I A RY • A U T O M AT Y K A • R O B O T Y K A

PAR P O M I A RY • A U T O M AT Y K A • R O B O T Y K A

3/2018 ISSN 1427-9126 Indeks 339512

Cena 25,00 zł w tym 5% VAT

Technical Sciences Quarterly | ( ) * !

5 15

Cena 25,00 zł w tym 5% VAT

Technical Sciences Quarterly | ( ) * !

W numerze:

3

4/2018 ISSN 1427-9126 Indeks 339512

W numerze:

Od Redakcji

3

Od Redakcji

" ' L$ * @

5

! ! !" ' ! ! ! | ! & ‡ 6\ !

* " / l

Sposób wyboru optymalnej trajektorii lotu manewru antykolizyjnego realizowanego w otoczeniu ruchomych przeszkód

# $'

+ " < '

} $ !" !" ! !" $ !

23

& = @ "' " / /

33

Patryk Szywalski. Dawid Wajnert

41

" f g ' & ' ! & ' / = '

1+ # $ ! !

7 $ !" !" < !

) % ! $ % % ! 0#+ ! ! !

23

=

25

+

31

/" € !

"

&%

! &%

! ! ! !

% ‡ ! ! $ ^0) ! #" '. + * ' '. $

1 ! ! !" !"

!" $ $ ! !" Y.

Ponadto:

w

Informacje dla Autorów – 69 | 6~~~ E = ! ' ! ! (< ! > E' +*€> ? @ 6~~~ 73 | 3+ ! ! #

! ! = ! 76 | #! ! " 80 | Nasze wydawnictwa – 84 | ' < = % E = ! ! 85 | Kalendarium – 86 | + ! "# 87 | $% & ! ! ! 93 | $% &

Informacje dla Autorów – 61 | PP-RAI 2018 – Pierwszy Zjazd Polskiego Porozumienia na Rzecz Rozwoju Sztucznej Inteligencji – 65 | Awans naukowy – < = % < 69 | Nasze wydawnictwa – 70 | Kalendarium – 71 | 17th 6G'( < ( ! ' ! ? ! ! 72 | Konferencja Roboty Medyczne 2018 – 75 | Universities of the Future – 76 | 6 *+ [ 78

' ! (') *+ X,-. *+ X, =, = 4 ! ! " ! " *) 3) 94 | $% & ' ! 6 7 ! *+ X -,*+ X4,G 3Y+ ! ! 95 | _ " 96

www.par.pl

www.automatykaonline.pl/automatyka

100

P

O

M

I

A

R

Y

•

A

U

T

O

M

A

T

Y

K

A

•

R

O

B

O

T

Y

K

A

N R 3/ 20 1 9


Nowe Studia Podyplomowe na Wydziale Mechatroniki

TRANSFORMACJA PRZEMYSŁOWA 4.0 Początek zajęć w październiku, w roku akademickim 2019/2020, zgłoszenia:

do 30 września 2019 Więcej informacji na stronie Rekrutacja na Studia na stronie

http://iair.mchtr.pw.edu.pl/studia https://rekrutacja.pw.edu.pl/pdp

CO GWARANTUJĄ? Wiedzę oraz kompetencje do rozwiązywania problemów przejścia od etapu zautomatyzowanej i zrobotyzowanej produkcji, charakteryzującej się liniową strukturą wytwarzania produktów, do etapu cyfryzacji i mechatronizacji produktów i produkcji o rozproszonej strukturze, produkcji zinformatyzowanej i zinternetyzowanej, na współczesnym i przewidywanym poziomie rozwoju tych technik, czyli przejścia do etapu Przemysłu 4.0. DLA KOGO? Dla absolwentów studiów wyższych I lub II stopnia na kierunkach technicznych, ekonomicznych lub menedżerskich. Wskazane, ale nie absolutnie obowiązujące, jest doświadczenie zawodowe z zakresu racjonalizacji technicznej lub zarządzania przemysłowymi procesami produkcyjnymi. Słuchaczem może być także osoba mająca profesjonalny kontakt z tymi dziedzinami, choć niekoniecznie formalnie wykształcona we wskazanych kierunkach studiów. DO KOGO KIEROWANE? Przede wszystkim do menedżerów zarówno małych, jak i dużych firm i ich oddziałów, bez względu na specyfikę produktową oraz do kierowników i pracowników zespołów projektujących cały cykl życia scyfryzowanych produktów lub wybranych etapów ich życia w łańcuchu PLM (Product Lifecycle Management), rozpoczynając od podania koncepcji i dokumentacji wirtualnej, decyzji o podjęciu produkcji, przejścia do środowiska realnego, opracowania wspomaganej komputerowo produkcji, montażu i logistyki, kontroli eksploatacji aż do sterowanego recyklingu.

KTO WSPOMAGA? Studia są wspomagane przez firmy przemysłowe o znaczeniu wykraczającym poza rynek europejski – są to holdingi Festo, Grupa Bosch-Rexroth, Fanuc, Balluf i Siemens. Wyraża się to w korzystaniu z ich zasobów programowych i sprzętowych oraz z udziału doświadczonych praktyków firmowych w prowadzonych na Studiach zajęciach wykładowych i laboratoryjnych. Planowane są także wyjazdy studialne, krajowe i zagraniczne, w tym 6-dniowy wyjazd studialny (Polska, Niemcy) oraz wyjazd na Leitmesse fuer Intelligente Automation und Robotik w Monachium. JAK PRZEBIEGAJĄ ZAJĘCIA? Jeden rok akademicki, dwa semestry, dziewięć zjazdów piątkowo-sobotnio-niedzielnych raz w miesiącu i dwa wyjazdy studialne – łącznie 250 godzin zajęć oraz praca końcowa przewidziana na 40 godzin. Zaliczenie studiów – na podstawie egzaminów z przedmiotów wykładowych i zaliczeń z pozostałych przedmiotów oraz obrony pracy końcowej. Dokumentem potwierdzającym ukończenie Studiów jest Świadectwo wydane przez Politechnikę Warszawską.

Adres i zgłoszenia: Instytut Automatyki i Robotyki na Wydziale Mechatroniki ul. św. A. Boboli 8, 02-525 Warszawa Elżbieta Boniecka, p. 253 tel. 22 234 85 55 fax 22 849 03 98 iair.podyplom@pw.edu.pl

GŁÓWNE TEMATY ZAJĘĆ: • Ewolucja technik wytwarzania produktów i środków ich produkcji • Platforma Przemysłu 4.0 • Automatyzacja i robotyzacja produkcji • Mechatronizacja, informatyzacja i internetyzacja produktu • Zadania zmechatronizowanego produktu w procesie produkcji i eksploatacji – Internet Rzeczy • Cyberbezpieczeństwo przemysłowych systemów informacyjnych • Standardy komunikacyjne automatyki przemysłowej • Polski przemysł przyszłości • Przykłady transformacji przemysłowej 4.0


41

+ + ' '. @ " ' & ' @ ' " + ' '. & " Â? & ' +g @ " ! " # $

55

#" '. + * ' '. $

65

" @ " " !. L

71

Agentowa struktura wielomodalnego interfejsu do Narodowej # 9 ! < € ! & ‡ L,

* ! ! !"

!" $ !" , 9 & ‡ L, $

! ! ! |

% !

! !" ! !" * '

+ &! ! ! ! automatycznej


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.