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Ç”ÇˇĹ˜ÇœĆ™ Ă€Ĺ˜Ć‹Ç”ĆŹÇ– ÄśÇ„ÇˇÇ”ĆŹĘ ĆŹÇ˜Ć™ <Ĺ˜ËšÇ”Ćž ÄƒĆŹĘ ĆŹĆžËżČŽĘŠÇ˜Ç”Ć™ ,ĆŹË˜Ĺ˜Ę Ëż ĹŽÇ”ĆŹÇšÇ”ČŽĘŠÇ˜Ç” .
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