Pomiary Automatyka Robotyka 2/2021

Page 1

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

2/2021 ISSN 1427-9126 Indeks 339512

Cena 25,00 zł w tym 8% VAT

Technical Sciences Quarterly | Measurements Automation Robotics

W numerze:

3

Od Redakcji

5

predykcyjnego sterowania systemem aktywnego zawieszenia

11

Wyznaczanie sposobu pakowania palet dla robota

17

23

Projekt oraz oprogramowanie stanowiska z robotem kolaboracyjnym

! ! "

31

" #

# Informacje dla Autorów – 77 | Kalendarium – 81 | 82 | 86 | Nasze wydawnictwa – 91 | ! " # $ % ! & 92 ' ()$ *& " + !, 93 | - ! 94 | ! & ./.0 95 | 1 & 2 +" 96


Rada Naukowa Rok 25 (2021) Nr 2(239) ISSN 1427-9126, Indeks 339512

Redaktor naczelny % & ' *

$ +&

$

&' ( )

! 8 8 8 EH

&' * + U V W X " Y &' , F > 8 F 8 Z [

&' -. /' 0 & A

< 8

U V 8 X " Y

+& . ! % & / " 8 :

% & . +&

: ; % & < :

% & ' * : =

1. . U V ! XA Y

Korekta

&' )' 2 . A U \ V XU Y

+& . "

% >

Druk * ? < @ %& & & A BCC &

Wydawca

&' % 2 D ! E : F H F /

&' 1 3' 2 % U & & /& &' (' , * 8 F X

Y &' ( * \ U V X " Y &' ) * A D % /

/ 4' * U V X " Y

D ! E : F G H F & . JCJ CJKLMO /

Kontakt

&' ( 5 / * [ 8 !

&' + )' 5 . . F ' X@ " Y

@ "

K 8 @ =

& . JCJ CJKLMO /

& JJ MPL CQ LO T% &%

&% &%

&' % 3 ]\V V 8 ^ A

U V XU Y

Pomiary Automatyka Robotyka " % K 8 = QaaP & QM

b " b &

% "[ G % % 8 % K= 8 " = &

&' ( %7 ' U V X Y

K 8 @ = " G = 8 ! *<>'` 8

FAc>f ' >@AF'U XF'g JCQa# PL JBY G + G= 8 = + 8 % 8 % 8 @F A< & [ "[ b

" " A b% = % % = G

K 8 @ = & / "[ % [ X " [Y " " % % & " A / % = "

@ = = JC % & X % 8 8 H " b 8 hQ % JCQa & % & JPaCJY& % % K 8 &

" H G @ = \ @ : " % [ "

D K 8 [ = = % H % "[ " b b 8 " 8 Fi ' Fi@ F > &

&' - 6 / F + * [ / + > * [ /

&' 6 % ' _ U V X/ ! Y &' 8 % / F + " \ 8 %

+ % <! : F %% < 8 ! =` XA Y &' - 9 # / 8 < 8 8 Z [

&' 3 :.

V X " Y &' 2 & , # F F @ = 8 /

&' 8 8 @ F< U V = X

Y

/

@ = : ? G 8 aCP; KcUA;JCQa H A / + % 8

D % 8 "[ [ b&

&' - ,' / ] V 8 ^ A

U V XU Y


@ = F A QLJPKaQJO @& JB A J;JCJQ

3

Od Redakcji

5

Optymalizacja \ = = V % V ' ' V %

11

Wyznaczanie j @ =

17

c % @ ' V

A 8 c / c 8 F

@ =

23

c 8 '

= V @ = 8 U g@

31

! "

!

` ! 8 ' < 8

41

[ ! / b = c " # # $ % # & ' ( $ # ) # * ' ) F " 8 8 8 c \ % % % "

%

47

= U = ! / b & + # ' ,- . ' , ' ,% " # * " H " 8 " % = 8 8

53

"

* # # / + ' ,0 + " #

" " K% " b % H= %

" %

61

" # * ! %12"&,45 6

7 6 8 F % 8 c

' gFcKQa g % = ! 8 V

Q


F <@>Z'F

99

" # :

;4

<

82

/ %

# < # $ !

86

/ %

# < # <

54

=

92

[+ ) . > 0

93

" l * % m ?@> ) < # )

5B = #

J

95

" l * % m $ # $ $$ CDC4

96

" l * % m E

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 2/ 20 21


c @>c '.F

Drodzy Czytelnicy,

H " b " "[& / " JCJQ & = H H H 8 8 b " % % " m 8 H K " H & < H % = 8 b & H < 8 % "[ 8 % 8 8 %H % & = = " " [ 8 ' gFcKQa& ?

" % *

& & D 8 = % % & / b % + %

" = [ & ' % " [

& [ = +[ = " & b D bD 8 H 8 : + " & / / : ! " E : F H F / : [ % " numeru.

Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka % & 8 =& +& ' *

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

NR 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 5–10, DOI: 10.14313/PAR_240/5

/ 0 4 0 # + + # # 3 ! 2 # 4

+ 6 # % 8 9 -)% )!; -!

5 Układy sterowania wykorzystujące regulatory predykcyjne bardzo często wymagają wprowadzenia do ich struktury mechanizmów umożliwiających estymację niedostępnego pomiarowo stanu obiektu. Zależnie od przypadku nieosiągalne mogą być informacje o różnej liczbie zmiennych stanu. Szeroko stosowanymi układami pozwalającymi na uzyskanie niezbędnych informacji o stanie obiektu są obserwator Luenbergera oraz różnego typu filtry Kalmana. Autorzy proponują metodę syntezy obserwatora Luenbergera opartą na optymalizacji wzmocnienia owego obserwatora, przy czym wyznacznik jakości uzyskanego wzmocnienia wykorzystywanego przez optymalizator stanowi ogólna jakość regulacji układu sterowania z regulatorem predykcyjnym. Opracowana metoda pozwala na uzyskanie, z punktu widzenia przyjętego kryterium, obserwatora o właściwościach lepszych niż analogiczny układ, którego syntezę przeprowadzono przy wykorzystaniu równania Sylvestera oraz klasycznego filtru Kalmana, mimo występowania zakłóceń. Metoda zaprezentowana zostanie na przykładzie układu predykcyjnego sterowania systemem aktywnego zawieszenia. % G 0 % + % 0 %

1. Wprowadzenie Dla potrzeb sterowania układami, zwłaszcza wielowymiarowymi, regulatory predykcyjne często są bardzo dobrym wyborem, zapewniającym zadowalającą jakość regulacji dzięki możliwości ujęcia w ich strukturze zarówno przewidywania zachowania obiektu oraz ograniczeń, jak również zakłóceń. Co więcej, sygnał sterujący wyznaczany jest w sposób optymalny z punktu widzenia przyjętego przez projektanta kryterium. Jednocześnie, z uwagi na to, że zazwyczaj tego typu regulatory bazują na stanie obiektu, a ten zwykle nie jest w pełni dostępny pomiarowo, bądź jego pomiar byłby problematyczny, estymator stanu staje się nieodzownym elementem układu z MPC. Przykłady tego typu układów z obserwatorem można znaleźć w [2, 7, 4]. Alternatywną, równie popularną metodą estymacji jest filtracja Kalmana. Oba mechanizmy wymagają dopasowania parametrów estymatora celem uzyskania możliwie najlepszej estymacji wektora stanu. Wymaga to wiedzy o samym obiekcie oraz jego otoczeniu. Oczywiście

) 7 G " # $ % # &'()* + ) + -( -- .!.! % + + - !( .!.-

!

istnieją powszechnie znane metody, takie jak wykorzystanie równań Sylvestera w przypadku obserwatora Luenbergera oraz bezpośredni pomiar kowariancji szumu lub jego oszacowanie w przypadku filtru Kalmana. Korzystając z podstawowych równań macierzowych wynikowe wzmocnienie Luenbergera nie jest jednak optymalne w przypadku występowania zakłóceń, natomiast niezbędne do poprawnego działania filtru Kalmana kowariancje mogą być problematyczne w oszacowaniu, czy pomiarze. Dlatego autorzy proponują metodę doboru wzmocnienia obserwatora bazującą na optymalizacji dokonywanej dla funkcji kosztu zbliżonej do tej, którą wykorzystuje MPC. Opracowana metoda nawiązuje do podejścia prezentowanego w [1], gdzie nieznaną kowariancję wykorzystywaną przez filtr Kalmana dobrano za pomocą metody najmniejszych kwadratów oraz [10], gdzie rozwiązując układ równań macierzowych poszukiwano optymalnego wzmocnienia filtru. Metodę projektowania optymalnego obserwatora Luenbergera dla obiektów nieliniowych, w oparciu o programowanie matematyczne, zaproponowano w [8]. Część wspólną wszystkich wymienionych publikacji stanowi ujęcie problemu syntezy narzędzia pozwalającego na estymację stanu obiektu w formie zadania optymalizacji dowolnego typu. Uściślając problem do grupy estymatorów współpracujących z regulatorami predykcyjnymi, dobór estymatora można rozumieć także jako element autotuningu MPC, co przekrojowo zaprezentowano w [11], natomiast metoda autotuningu bazująca na optymalizacji algorytmem rojowym przedstawiona została w [9]. Korzystając z idei optymalizacji oraz przyjmując za wyznacznik optymalności całościową jakość regulacji na wzór autotuningu, opracowano nową metodę doboru wzmocnienia obserwatora Luenbergera, w której to funkcją kosztu jest kopia

5


%

" = \ = % " &&& funkcji zawartej w pracującym w badanym układzie sterowania regulatorze predykcyjnym, a co za tym idzie, optymalizator, zamiast minimalizować błąd estymacji, maksymalizuje jakość regulacji przez poszukiwanie minimalnej wartości obranego kryterium. Dodatkowo w przyjętym przykładzie występuje stochastyczny szum procesowy pod postacią nierówności drogi oraz zakłócenia od urządzeń pomiarowych, co dodatkowo utrudnia dobranie odpowiedniego wzmocnienia obserwatora.

Parametry, które przyjęto na potrzeby symulacji zestawiono w Tabeli 1. Tabela 1. Parametry modelu Table 1. Model parameters

H' * # W artykule rozważany jest typowy model ćwiartki samochodu, tzw. quarter car model, o dwóch stopniach swobody. W skład modelu wchodzą dwie bryły sztywne z określonymi własnymi masami, między którymi umieszczono sprężynę, element tłumiący oraz nastawny element generujący siłę. Między powierzchnią drogi a umieszczoną niżej masą zamodelowano kolejną sprężynę. Odpowiednio, Ms reprezentuje masę resorowaną, Mus masę nieresorowaną, ks oraz bs odpowiadają stałej sprężyny oraz tłumieniu zastosowanego amortyzatora, kus odzwierciedla stałą sprężystości opony, natomiast f oznacza siłę, z jaką oddziałuje element aktywny. Model oraz jego opis matematyczny zapożyczono z [3]. Tak zamodelowany układ opisują cztery zmienne stanu: x1 – odkształcenie opony, x2 – prędkość masy nieresorowanej, x3 – wychylenie zawieszenia, x4 – prędkość masy resorowanej.

Ts

10 ms

ws

1,5 Hz

wus

10 Hz

r

10

x

0,05

Tak opisany model poddano dyskretyzacji. Nierówności drogi pokonywanej przez pojazd zamodelowano w postaci niemierzalnego zakłócenia w oddziałującego bezpośrednio na pierwszą zmienną stanu. Przyjęto zakłócenia od drogi w formie szumu białego o rozkładzie normalnym: N(0, s) i odchyleniu standardowym zadanym wzorem:

Przy założeniu liniowości sprężyny oraz tłumienia amortyzatora i opony, stan układu wyrażony jest wzorem:

gdzie: xT = [ x1 x2 x3 x4 ]

gdzie: Ts – czas próbkowania w sekundach, v – prędkość pojazdu w km/h, Aroad – stała zakłóceń pochodzących od drogi.

Za wyjście obrano pierwszą pochodną prędkości masy resorowanej x4, czyli przyspieszenia, na jakie wystawione jest nadwozie pojazdu i opisano je wzorem:

Przy generowaniu zakłóceń zastosowano standardową dopuszczalną prędkość poza terenem zabudowanym, tj. 90 km/h, a zgodnie z [3], przyjęto stałą zakłóceń pochodzących od drogi równą 4,9e−6. Na obiekt oddziaływały także zakłócenia od wyjścia o rozkładzie normalnym, pochodzące z czujników przyspieszenia, których rozkład opisano wzorem:

y = Cx + Du Za wejście układu przyjęto znormalizowaną, nastawną siłę f reprezentującą oddziaływanie siłownika hydraulicznego bądź silnika liniowego na układ zawieszenia. Macierze wykorzystywanego modelu zadane zostały następującymi zależnościami:

N(0, sy) dla sy = 0,0008 m/s2.

I' 6 W skład analizowanego układu regulacji wchodził omówiony wcześniej obiekt, obserwator stanu oraz regulator predykcyjny. Schemat ideowy układu sterowania przedstawiono na rys. 1. Przy syntezie regulatora oraz wszelkich symulacjach układu sterowania wykorzystywane były narzędzia wchodzące w skład środowiska MATLAB wzbogacone o przedstawiony w [5] pakiet narzędzi dedykowanych pracy z regulatorami predykcyjnymi, optymalizacji parametrycznej i geometrii obliczeniowej, MPT3. Funkcja kosztu regulatora użytego w układzie korzystała z norm kwadratowych i przyjmowała następującą postać:

D = [0] gdzie:

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

NR 2/ 20 21


a także ograniczeniami nierównościowymi dla wektora wejść: ||U||2 d 9,5 oraz dla błędów estymacji: Rys. 1. Schemat układu regulacji Fig. 1. Control system diagram

Przyjęto następujące macierze wagowe funkcji kosztu: ey d 10 Qy = 500 przy czym Qx oraz Qy są macierzami diagonalnymi wag określającymi wpływ poszczególnych zmiennych stanu oraz wyjścia na wartość funkcji celu, a ex = [ e1 e2 e3 e4 ]T oznacza wektor dopuszczalnych błędów estymacji poszczególnych zmiennych stanu. S = 50

Horyzont sterowania N ustalono na 50 kroków. Czas próbkowania wynosił 10 milisekund. Wynikowy regulator przyjął postać prawa sterowania w formie PWA.

J' ) W przypadku obserwatora Luenbergera, za pośrednictwem macierzy L, nazywanej wzmocnieniem obserwatora, możliwa jest zmiana jego dynamiki i to właśnie od jej doboru zależy jakość estymacji stanu obiektu. Jak już wspomniano, autorzy zaproponowali metodę opartą na optymalizacji, a co za tym idzie, zdefiniowano następujący problem programowania nieliniowego:

dla k = 0, Ts, 2Ts, ..., t i ograniczeń równościowych korespondujących z równaniami stanu obiektu: xk+1 = Adxk + Bduk + Bwwk+1 yk = Cdxk + Dduk

Nie brano pod uwagę dwóch pierwszych sekund każdej symulacji tak, by obserwator mógł dogonić obiekt. Co więcej, pierwsze dwie sekundy po uruchomieniu pojazdu są czasem pomijalnie małym w stosunku do czasu jazdy. Wykorzystywano macierze wagowe Qx oraz Qy korespondujące z macierzami wykorzystywanymi w funkcji kosztu regulatora predykcyjnego sterującego obiektem. Zastosowane ograniczenia stanowiły dodatkowe narzędzie pozwalające naprowadzić algorytm na odpowiednie rozwiązanie przez bezpośrednią ocenę błędów estymacji oraz niedopuszczenie do korzystania ze zbyt dużych wartości sygnału sterującego. Z uwagi na fakt, iż wynik optymalizacji wybraną metodą w znacznym stopniu zależy od punktu startowego, algorytm startował z dobrze rokującego punktu wyznaczonego za pomocą metody Kalmana. Skorzystano tu z faktu, iż zarówno filtr Kalmana, jak i obserwator Luenbergera, mają podobne wektory wzmocnień. Metoda ta pozwalała, po podaniu kowariancji szumu procesowego oraz pomiarowego, na szybkie, zgrubne dobranie początkowego wzmocnienia. Tak zdefiniowane zadanie optymalizacji rozwiązano za pomocą metody interior-point zaimplementowanej w środowisku MATLAB. Szczegółowa dokumentacja wykorzystanej funkcji znajduje się w [6]. Z uwagi na znaczną złożoność czasową obliczania wartości funkcji celu, wymagającej każdorazowego dokonania symulacji, dużą zależność od punktu początkowego, powtarzalność i możliwość sprecyzowania dodatkowych ograniczeń uznano algorytm tego typu za najlepszy wybór.

L' 6

dla j = 2/Ts i z równaniami obserwatora stanu:

oraz wejściem skojarzonym z prawem sterowania PWA i błędami estymacji:

U = uj, uj+1, .., un,

Otrzymany zgodnie z opisaną procedurą układ sterowania testowano w sposób symulacyjny w środowisku MATLAB. W pierwszej kolejności sprawdzono zachowanie układu w warunkach identycznych pod kątem zakłóceń jak w procesie optymalizacji wzmocnienia obserwatora Luenbergera. Przebiegi oraz jakość regulacji porównywano z układami z takimi samymi regulatorami i nieco innymi mechanizmami estymacji stanu obiektu, tj. obserwatorem Luenbergera o wzmocnieniu wyliczonym w oparciu o równanie Sylvestera oraz filtrem Kalmana. Uzyskane przebiegi przedstawiono na rys. 2. Jak można zauważyć (rys. 2), obserwator otrzymany z metody Sylvestera oraz filtr Kalmana przekładają się na zbliżone przebiegi stanu oraz wyjścia obiektu. Układ korzystający z estymatora otrzymanego przy wykorzystaniu metody prezentowanej

7


%

" = \ = % " &&&

Rys. 2. Zestawienie odpowiedzi obiektu dla zakłóceń identycznych z zakłóceniami wykorzystanymi w trakcie procesu optymalizacji wektora wzmocnień L Fig. 2. System responses comparison, same disturbances as during L gain optimization

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

NR 2/ 20 21


przez autorów pozwolił na uzyskanie mniejszej amplitudy przyspieszeń nadwozia oraz zmniejszenie prędkości masy resorowanej. Zauważalnie zmalały także prędkości masy nieresorowanej, które jednak nie były brane pod uwagę w ocenie jakości regulacji. Co więcej, obserwator wyznaczony na bazie optymalizacji skłonił regulator do generowania sygnałów sterujących o wyższych wartościach. Wartości kryterium jakości regulacji, które wykorzystano także w procesie optymalizacji wektora L, dla układu badanego oraz układów porównawczych zgromadzono w Tabeli 2. Tabela 2. Wartości przyjętego kryterium jakości regulacji dla zakłóceń identycznych z zakłóceniami wykorzystanymi w trakcie procesu optymalizacji wektora wzmocnień L Table 2. Performance index values, same disturbances as during L gain optimization

metoda

optymalizacja

Sylvester

Kalman

J*

113725,39

124398,73

127149,01

Z tabeli jasno wynika, iż uzyskany estymator zapewnia najlepszą jakość regulacji w świetle przyjętego kryterium. Kolejną fazę badania otrzymanego układu stanowiły testy dla zakłóceń losowych, różnych od tych, które wykorzystano w procesie optymalizacji. Jednocześnie zachowano prezentowane wcześniej odchylenia standardowe zakłóceń od drogi oraz pochodzących z czujnika przyspieszeń karoserii. W procesie generacji zakłóceń korzystano z dostępnego w środowisku MATLAB generatora liczb pseudolosowych pozwalającego na ustalenie konkretnych ziaren, co wykorzystano w dwojaki sposób, tj. w procesie optymalizacji możliwe było utrzymanie zawsze tego samego scenariusza zakłóceń, a w procesie weryfikacji wyników możliwe było generowanie niepowtarzalnych zakłóceń dla każdej z prób. Celem uzyskania miarodajnych wyników przeprowadzone zostało sto prób. Tego typu podejście miało na celu przede wszystkim sprawdzenie czy optymalizacja wzmocnienia nie nastąpiła jedynie dla jednostkowego scenariusza zakłóceń wykorzystanego w procesie optymalizacji. Uzyskany rozkład wartości kryterium jakości regulacji przedstawiono na rys. 3. Analizując powyższe histogramy można zauważyć, iż układ korzystający z obserwatora wyznaczonego na drodze optymalizacji zdecydowanie częściej, w porównaniu do filtru Kalmana oraz obserwatora otrzymanego z wykorzystaniem równania Sylvestera, uzyskiwał niższe wartości przyjętego kryterium J*. Dominanta dla uzyskanego obserwatora znajduje się w przedziale od 0,7 do 0,8, natomiast dla pozostałych estymatorów jest to przedział od 0,8 do 0,9. Dodatkowe dane statystyczne korespondujące z oboma histogramami zgromadzono w Tabeli 3. Tabela 3. Porównanie wartości miar statystycznych wyznaczonych na podstawie danych zebranych na przestrzeni stu prób dla układów z różnego typu estymatorami stanu Table 3. Comparison of statistical information based on data from 100 experiments and for different methods of state estimation

sJ*

min J*

max J*

40 292,18

134 277,87

75 500,18

16 871,51

45 802,65

157 950,42

83 052,49

19 023,28

47 283,32

162 977,99

84 907,05

19 702,26

Proponowany estymator zapewnił niższe wartości skrajne oraz średnie przyjętego kryterium i jednocześnie utrzymał najniższe odchylenie standardowe, co świadczy o powtarzalności wyników. Uzyskano minimalne wartości J* mniejsze o 12 % w stosunku do układu z obserwatorem wyznaczonym w oparciu o równanie Sylvestera oraz o 14,8 % niższe w stosunku do układu z filtrem Kalmana.

Rys. 3. Histogramy przedstawiające rozkład wartości przyjętego kryterium jakości regulacji uzyskane na przestrzeni stu prób dla różnych zakłóceń Fig. 3. Histograms showing distribution of control performance index for 100 experiments with random noise

Jeśli chodzi o wartości maksymalne, uzyskano wyniki lepsze odpowiednio o 15 % oraz o 17,6 %. Biorąc pod uwagę wartość uśrednioną, udało się uzyskać o 9,1 % wyższą jakość regulacji w stosunku do układu z obserwatorem wyznaczonym w oparciu o równanie Sylvestera oraz o 11,1 % wyższą w stosunku do filtru Kalmana.

Q' 3 Zaprezentowana metoda syntezy obserwatora oparta na optymalizacji zapewniła poprawę ogólnej jakości regulacji względem filtru Kalmana oraz obserwatora otrzymanego z wykorzystaniem równania Sylvestera. Jednocześnie utrzymano prostotę obserwatora Luenbergera. Co więcej, synteza tego typu estymatora stanu nie wymaga szczegółowych informacji o występujących w układzie zakłóceniach. Dodatkowo rezultaty pokazały, iż otrzymane optymalne wzmocnienie obserwatora nie zostało zoptymalizowane pod kątem konkretnego scenariusza, a w sposób ogólny, co jest szczególnie ważne z uwagi na losowy charakter nierówności nawierzchni drogi. Należy jednak zaznaczyć, iż zaproponowana nowa metoda została opracowana dla konkretnego układu, tj. układu aktywnego zawieszenia. Nie wyklucza to jednak jego zdatności do zastosowania w podobnych układach z racji jej przyjętego podejścia polegającego na zapożyczeniu funkcji kosztu regulatora predykcyjnego. Sprawdzenie zdatności tego typu sposobu syntezy obserwatora dla szerszej grupy układów może stanowić przedmiot dalszych badań.

S & 1. Akesson B., Jørgensen J., Jørgensen S., A Generalized Autocovariance Least-Squares Method for Covariance Estimation, [In:] Proceedings of the American Control Conference (July 2007), 3713–3714, DOI: 10.1109/ACC.2007.4282878. 2. Gallego A.J. et al., Observer-based Model Predictive Control of a parabolic-trough field, “Solar Energy”, Vol. 97, 426–435, DOI: 10.1016/j.solener.2013.09.002. 3. Giorgetti N. et al., Hybrid Model Predictive Control Application Towards Optimal Semi-Active Suspension, [In:]

9


%

" = \ = % " &&&

4.

5.

6. 7.

8. Mohan S., Liu J., Vasudevan R., Synthesizing the optimal luenberger-type observer for nonlinear systems. [In:] IEEE 56th Annual Conference on Decision and Control (CDC), 2017, 3658–3663, DOI: 10.1109/CDC.2017.8264197. 9. Suzuki R. et al., Automatic Tuning of Model Predictive Control Using Particle Swarm Optimization, [In:] IEEE Swarm Intelligence Symposium, 2007, 221–226, DOI: 10.1109/SIS.2007.367941. 10. Takeuchi Y., Optimization of Continuous-Time Observations for the Stationary Kalman-Bucy Filter, [In:] Proceedings of the ISCIE International Symposium on Stochastic Systems Theory and its Applications, 2015, 22–29, DOI: 10.5687/sss.2015.22. 11. Waschl H., Alberer D., del Re L., Automatic Tuning Methods for MPC Environments, [In:] EUROCAST 2011, 41–48, DOI: 10.1007/978- 3-642-27579-1_6.

Proceedings of the IEEE International Symposium on Industrial Electronics, ISIE 2005. 391–398, DOI: 10.1109/ISIE.2005.1528942. Houssemeddine Gouta et al., Generalized predictive control for a coupled four tank MIMO system using a continuous-discrete time observer, “ISA Transactions”, Vol. 67, 2016, 280–292, DOI: 10.1016/j.isatra.2016.11.021. Herceg M. et al., Multi-Parametric Toolbox 3.0, [In:] Proc. of the European Control Conference. [http://control. ee.ethz.ch/~mpt]. Zurich, Switzerland, July 2013, 502–510, DOI: 10.23919/ECC.2013.6669862. Inc. MathWorks. Dokumentacja programu MATLAB 2020a. www.mathworks.com/help/optim/ug/fmincon.html. 2020. Mayne D.Q. et al. Robust Output Feedback Model Predictive Control for Constrained Linear Systems under Uncertainty Based on Feed Forward and Positive Invariant Feedback Control, [In:] Proceedings of the 45th IEEE Conference on Decision and Control, 2006, 6618–6623, DOI: 10.1109/CDC.2006.376851.

4 0 # /0 " / $ + 8 + < = 6% MPC Driven control systems very often are requiring the introduction of a mechanism predicting the state of the object unavailable for measurements. Depending on the case, a different number of state variables will be unobtainable. Widely used systems to obtain essential data of the condition of an object are Luenberger state observer and different types of Kalman filters. The authors propose a new method of Luenberger observer synthesis based on Luenberger gain optimization using performance index corresponding to generalized system performance. The developed method allows us to obtain better-performing observer from the point of view of the adopted criterion, compared to similar estimators derived from the Sylvester equation and classic Kalman filters, even despite the occurrence of disturbances. The developed method will be presented on an example of an active suspension system with MPC. KeywordsG 0 % + + % 0 %

$ 3 ! 2

& %$ $ 4 # $ 78

# &'()* + ORCID: 0000-0003-4631-9423

8 * + ORCID: 0000-0001-6407-9668

+ + 9 # ; = > 0 ? + @ + # 6 # # ; 0 ; A # + A + % A + ; 0 +

8 < + B + = ; > 0 + # 6 # # ; " 9 0 + E +9 % #9 + + % ; + 0 + % + % ; + % ; + #

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

NR 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 11–16, DOI: 10.14313/PAR_240/11

? 0 + 0 8 ? % G = G < % H -(I-J% !!;''( ?

Streszczenie: Artykuł dotyczy zagadnienia automatycznego pakowania palet przez robota. W procesach logistycznych branży handlowej towary dostarczane z magazynów do sklepów sprzedaży detalicznej są transportowane na paletach. W artykule analizowane są sposoby układania i rozmieszczenia towarów na palecie pod kątem możliwości realizacji takich upakowań przez robota. Żeby robot mógł umieścić towar w danym miejscu na częściowo załadowanej palecie, musi mieć do tego miejsca swobodny dostęp, tzn. miejsce to nie może być zasłonięte. Zaproponowano grafowy model reprezentacji upakowań i sformalizowaną metodę wyznaczania kolejności ustawiania towarów na palecie przez robota. Pokazano też, że nie każdy wzór upakowania da się ułożyć przy użyciu robota. % G 9 0 9 % + % 0 % # < + % #

1. Wprowadzenie Większość towarów dostarczanych do magazynów, a następnie do sklepów sprzedaży detalicznej jest transportowanych na paletach. Paleta to prostokątna platforma, na której umieszczane są produkty w celu ich składowania i przenoszenia. W magazynach na paletach przechowywane są towary jednego typu. Zamówienia ze sklepów dotyczą zwykle zróżnicowanego asortymentu. W związku z tym pojawia się konieczność załadowania palet z wymaganymi towarami przez odbiorców w ilościach zgodnych z ich zamówieniami. Dąży się przy tym, aby realizując poszczególne zamówienia, liczba wykorzystywanych i potem transportowanych palet była jak najmniejsza. Przy dużej różnorodności towarów proces ich układania na paletach może być złożony. Po pierwsze, trzeba określić sposób rozmieszczenia towarów na paletach, a po drugie kolejność ich pakowania przez robota. Artykuł dotyczy tej drugiej kwestii, czyli możliwości realizacji przez roboty pakujące wzorów upakowań wyznaczonych w procesie optymalizacji. Wzór upakowania to sposób rozmieszczenia towarów na paletach, czyli opis miejsc ich położenia. W rozdziale 2 przedstawiono przegląd modeli, metod oraz technik najczęściej stosowanych przy pakowaniu elementów trójwymiarowych. W rozdziale 3 analizowana jest przydatność tych metod w przypadku wykorzystywania robotów pakujących do załadunku palet. Przedstawiono oryginalną metodę, która pozwala sprawdzić czy dany wzór upakowania może być ułożony przez robota i jeżeli jest to możliwe, to wyznacza kolej-

) 7 G B < 8 E % B 8 * + ) + -F !( .!.- % + + !& !' .!.-

!

ność układania towarów uwzględniającą uwarunkowania pracy robota. Metoda ta wykorzystuje wprowadzoną przez autora koncepcję zagregowanych grafów poprzedzania oraz zaproponowany w tym rozdziale algorytm multisortowania topologicznego zbioru grafów. Wykazano, że nie wszystkie techniki pakowania przedstawione w rozdziale 2 gwarantują uzyskanie wzorów upakowań, które można potem ułożyć przy użyciu robota. Rozdział 4 zawiera końcowe wnioski i podsumowanie.

H' *

Towary pakowane na paletach są zwykle przewożone w opakowaniach zbiorczych, np. kartonach, zgrzewkach opakowanych folią, tackach itp. W dalszej części artykułu takie opakowania będziemy nazywać elementami. W większości mają one kształty zbliżone do prostopadłościanów. Dlatego w klasycznych modelach pakowania zakłada się, że pakowane elementy mają kształt prostopadłościanów i że będą układane na paletach równolegle do jej brzegów. Takie upakowania nazywane są w literaturze upakowaniami ortogonalnymi. Czasami mogą być dopuszczalne różne orientacje ułożenia elementów na palecie, tzn. mogą być one kładzione na dowolnych bokach. W praktyce zwykle jednak wymagane jest, żeby elementy były ustawiane pionowo na wyróżnionej spodniej powierzchni i jeżeli spód jest prostokątny, to wtedy możliwe są tylko dwa sposoby ich ustawienia. Dwa podstawowe modele, które są wykorzystywane w przypadku pakowania na palety elementów o zróżnicowanych wymiarach, to Trójwymiarowy Problem Pakowania Pojemników (ang. Three-dimensional Bin Packing Problem), który będziemy dalej oznaczać 3D-BPP oraz Problem Pakowania Pojedynczego Pojemnika (ang. Single Container Loading Problem) oznaczany dalej jako SCLP. W modelu 3D-BPP, mając dany zbiór prostopadłościennych elementów N, należy zapakować wszystkie elementy z tego zbioru do jak najmniejszej liczby prostopadłościennych pojemników o określonych wymiarach. W modelu

11


Wyznaczanie sposobu pakowania palet dla robota SCLP trzeba zapakować tylko jeden pojemnik elementami ze zbioru N, ale w taki sposób, żeby suma objętości zapakowanych elementów była jak największa. W tym przypadku nie wszystkie elementy ze zbioru N muszą być załadowane. Obszerny przegląd różnych metod stosowanych zarówno do pakowania pojedynczego pojemnika w problemie SCLP oraz wielu pojemników w modelu 3D-BPP zawiera praca [8]. Z punktu widzenia złożoności obliczeniowej oba problemy są NP-trudne. Techniki stosowane do umieszczania poszczególnych elementów w pojemnikach są podobne. Typowe podejście do problemu pakowania wielu pojemników polega bowiem na zaadaptowaniu algorytmu pakowania dla pojedynczego pojemnika. Można wyróżnić trzy główne strategie stosowane w przypadku problemu 3D-BPP: − sekwencyjna – pakowanie elementów po kolei, najpierw do pierwszego pojemnika, potem pozostałe elementy do drugiego itd., − równoczesna – oszacowanie liczby potrzebnych pojemników i jednoczesne ich zapakowywanie, − hierarchiczna – w warstwie nadrzędnej elementy są przydzielane do poszczególnych pojemników bez określania ich pozycji, w warstwie podrzędnej rozpatruje już się tylko jeden pojemnik i stosuje model SCLP. Dwie podstawowe decyzje i operacje wykonywane w algorytmach pakowania to wybór kolejnego elementu, który będzie pakowany oraz wybór miejsca jego umieszczenia. Te operacje są wykonywane sekwencyjnie, aż do zapełnienia pojemnika lub zapakowania wszystkich elementów. Poszczególne algorytmy różnią się kolejnością wykonywania tych dwóch operacji oraz stosowanymi regułami decyzyjnymi, przy czym proponowane są też algorytmy, w których jednocześnie dokonuje się wyboru elementu oraz miejsca jego położenia w pojemniku [9]. Zbiór miejsc, w których może być wstawiony następny element jest zwykle ograniczony i sposób wyznaczania tych miejsc oraz reguły wyboru najlepszego z nich też różni te algorytmy. W literaturze opisywane są różne metody określania zbioru potencjalnych miejsc wstawienia następnego elementu. W pracy [6] zastosowano koncepcję punktów narożnych (ang. Corner Points). W proponowanym tam algorytmie pierwszy element jest pakowany w dolnym, tylnym, lewym rogu pojemnika, a następne są dostawiane w nowo powstałych rogach częściowego upakowania. W rezultacie upakowanie jest rozbudowywane od jednego rogu palety. Narożne punkty wstawiania charakteryzują się tym, że powyżej nich, z przodu oraz z prawej strony nie ma innych elementów, ale linie poprowadzone w górę, do przodu i w prawą stronę od tych punktów stykają się z pewnymi już zapakowanymi elementami lub bokami pojemnika. Są to punkty, w których umieszcza się dolny, tylny, lewy róg wstawianego elementu. Na rys. 1 pokazano, jak wyglądałyby narożne punkty wstawiania w przypadku dwuwymiarowego pakowania. Są one oznaczone kropkami.

W pracy [2] zaproponowano zbiór punktów wstawienia nazywanych punktami krańcowymi (ang. Extreme Points), który obejmuje również punkty we wgłębieniach konturu dotychczasowego upakowania. Są to punkty na zewnętrznych powierzchniach ułożonych już elementów lub bokach pojemnika, które leżą na przedłużeniu rogów dostawianych elementów. Podobnie, lecz nieco inaczej określono punkty wstawienia w artykule [4] – jako punkty styku trzech zewnętrznych powierzchni różnych elementów uwzględniając w tym boki pojemnika. Stanowią one rogi aktywnych przestrzeni (ang. action space), w których mogą być umieszczane następne elementy. W pracy [10] opisano dwie inne koncepcje określania potencjalnych miejsc umieszczania kolejnych elementów. Puste miejsce na palecie jest reprezentowane jako suma teoriomnogościowa zbioru (listy) prostopadłościanów przylegających do zapakowanych elementów. Każdy następny element jest umieszczany tylko w jednym z tych prostopadłościanów, na jego dolnej powierzchni. Technika partycji wolnej przestrzeni (ang. partition) charakteryzuje się tym, że poszczególne prostopadłościany w utworzonej liście są zawsze wzajemnie rozłączne. Na początku, gdy pojemnik jest pusty, w liście mamy tylko jeden prostopadłościan wielkości tego pojemnika. Po zapakowaniu pierwszego elementu w rogu na dole pojemnika, w miejsce dotychczasowego prostopadłościanu pojawiają się trzy nowe – jeden górny i dwa boczne. Taki podział wolnej przestrzeni ma charakter gilotynowy, tzn. jest dokonywany przez sekwencję cięć wzdłuż boków wstawionego elementu. W zależności od kolejności przeprowadzania tych cięć uzyskuje się różne warianty podziału. W sumie jest 6 takich wariantów. Rysunek 2 przedstawia widok z góry palety po zapakowaniu elementu o podstawie [A, B, E, D]. Górny prostopadłościan partycji przylega od dołu do górnej powierzchni zapakowanego elementu i w zależności od wariantu podziału może mieć podstawę [A, B, D, E], [A, C, F, D], [A, B, H, G] lub [A, C, I, G]. W górę sięga do wysokości pojemnika. Boczna wolna przestrzeń może być podzielona na dwa sposoby. W pierwszym wariancie jeden prostopadłościan ma podstawę [B, C, F, E], a drugi – podstawę [D, F, I, G]. W drugim wariancie jeden prostopadłościan ma podstawę [B, C, I, H], zaś drugi [D, E, H, G]. Wysokość bocznych prostopadłościanów zależy od kształtu górnego prostopadłościanu. Gdy wymaga się, żeby spód każdego wstawianego elementu opierał się w całości na innym elemencie, to rozpatruje się tylko dwa warianty partycji wolnej przestrzeni. Górny prostopadłościan ma wtedy zawsze podstawę [A, B, E, D], czyli taką jak wstawiony element. Stosując technikę partycji wolnej przestrzeni trzeba zawsze po zapakowaniu nowego elementu dokonać jednoznacznego wyboru sposobu podziału wolnej przestrzeni spośród powyższych wariantów, co może ograniczać zbiór dopuszczalnych miejsc wstawień dla następnych elementów.

Rys. 1. Narożne punkty wstawiania dla przypadku dwuwymiarowego Fig. 1. Corner Points for 2D packing problem

Rys. 2. Reprezentacja wolnej przestrzeni (widok z góry) Fig. 2. Empty space representation (top view)

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

NR 2/ 20 21


W technice pokrycia (ang. cover) wolna przestrzeń jest reprezentowana przez zbiór nachodzących na siebie prostopadłościanów. Po wstawieniu elementu jest tylko jeden sposób wyznaczenia tych prostopadłościanów. Na rys. 2 górny prostopadłościan przylegałby do górnej powierzchni wstawionego elementu i miałby podstawę [A, C, I, G]. Dwa boczne prostopadłościany miałyby zaś podstawę [B, C, I, H] oraz [D, F, I, G]. Górne ściany wszystkich trzech prostopadłościanów byłyby na wysokości górnego boku pojemnika. Wstawianie elementów w punktach narożnych daje więcej możliwych konfiguracji ułożenia elementów niż technika partycji wolnej przestrzeni. W szczególności umożliwia utworzenie wzorów upakowań, które nie są gilotynowe. Jeszcze więcej swobody w wyborze miejsca wstawienia elementów stwarzają punkty krańcowe. Podobnie jak w przypadku punktów narożnych, upakowanie jest wtedy rozbudowywane od dolnego, tylnego, lewego rogu palety. W pracy [4] zaproponowano metodę pakowania dopuszczającą możliwość wstawiania elementów również w innych rogach wolnej przestrzeni (przestrzeni aktywnej) – nawet tych górnych. Elementy są wtedy umieszczane najpierw w różnych rogach pojemnika, potem wzdłuż jego brzegów i boków, a na końcu w środku. Ten sposób wstawiania elementów oczywiście nie może być zastosowany do pakowania palet, bo ładowane towary nie mogą „wisieć w powietrzu”. Najwięcej swobody w wyborze miejsca wstawienia elementów daje technika pokrycia wolnej przestrzeni. Na przykład upakowanie przedstawione na rys. 3 da się uzyskać przy jej zastosowaniu. Inne wymienione wyżej sposoby wstawiania elementów nigdy nie doprowadzą do takiego wzoru upakowania. Gdyby jednak był jeszcze jeden element wypełniający lewy róg między elementami 3 i 5, to takie powiększone upakowanie dałoby się uzyskać stosując nie tylko technikę pokrycia wolnej przestrzeni, ale również przez wstawianie elementów w punkty krańcowe, a także w rogi aktywnej przestrzeni. Nie byłoby jednak wciąż osiągalne przy zastosowaniu partycji wolnej przestrzeni oraz punktów narożnych. Problem pakowania znacznie się upraszcza, jeżeli układane elementy mają identyczne wymiary. Z taką sytuacją mamy zazwyczaj do czynienia, gdy towary są pakowane na palety przez producentów do magazynów. W literaturze ten problem optymalizacji jest nazywany Pallet Loading Problem (PLP) lub Manufacturer’s Pallet Loading Problem (MPLP). Artykuł [7] stanowi obszerny przegląd różnych podejść do rozwiązywania problemu MPLP. Stosuje się tu zupełnie inne techniki wyznaczania wzorów pakowania niż w przypadku problemów SCLP i 3D-BPP. Są one jednak tam też niekiedy wykorzystywane, gdy ze względu na występowanie znacznej liczby elementów o jednakowych wymiarach, korzystne jest tworzenie z nich jednolitych warstw [5].

+ T V Jednostronne upakowanie robotowe to wzór upakowania, który powstaje, gdy elementy podczas wstawiania nie są zasłonięte od góry, od przodu palety oraz z jej prawej strony. Jednostronne upakowanie robotowe zakłada, że robot żeby ułożyć na palecie kolejny element, musi mieć swobodny dostęp, czyli pustą przestrzeń od góry, od przodu palety i z prawej strony tego elementu. Okazuje się, że nie dla każdego upakowania jest to możliwe. Na rys. 3 jest przedstawiony przykład, który nie jest jednostronnym upakowaniem robotowym. W dalszej części tego rozdziału przedstawimy metodę, która pozwala w sposób sformalizowany stwierdzić czy dane upakowanie jest jednostronnym upakowaniem robotowym. Ponadto jeżeli nim jest, to metoda ta wyznacza dla robota kolejność pakowania elementów przy takich uwarunkowaniach.

Rys. 3. Przykład, który nie jest jednostronnym upakowaniem robotowym (elementy 1 i 2 oraz 3 i 4 są identyczne) Fig. 3. An example which is not a one-sided robot packing (items 1 and 2 are identical as well as 3 and 4)

Niech N będzie zbiorem elementów zapakowanych na palecie. Położenie tych elementów i ∈ N będziemy identyfikować przez współrzędne (xi, yi, zi) ich dolnego, tylnego, lewego rogu w układzie współrzędnych X, Y, Z, gdzie oś X jest skierowana w prawo, oś Y do przodu, a oś Z do góry (jak na rys. 3). Punkt (0, 0, 0) to dolny, tylny, lewy róg palety. Dla danego upakowania zdefiniujmy podobnie jak w [11] graf poprzedzania GX = (VX, EX) dla osi X. Jest to graf skierowany, w którym: − każdemu elementowi i ∈ N odpowiada jeden wierzchołek vi ∈ VX, − istnieje łuk od wierzchołka vi do vj wtedy i tylko wtedy, gdy xi + li xj, gdzie li jest wymiarem elementu i wzdłuż osi X.

3. Upakowania robotowe W przypadku automatyzacji procesu pakowania palet, oprócz problemu wyznaczania wzorów upakowania, ważna jest też kwestia możliwości ich realizacji przez robota. Żeby umieścić element na palecie, robot musi mieć swobodę dostępu do miejsca jego wstawienia. W zależności od konstrukcji robota można różnie te wymagania dostępu definiować.

3.1. Jednostronne upakowanie robotowe W pracy [3] wprowadzono pojęcie upakowania robotowego (ang. robot packing). Jest to upakowanie, które można ułożyć startując z dolnego, tylnego, lewego rogu palety i wstawiając kolejne elementy tak, żeby były one zawsze nad, przed i z prawej strony poprzednio ułożonych elementów. W niniejszym artykule takie upakowanie będziemy nazywać jednostronnym upakowaniem robotowym.

Rys. 4. Grafy poprzedzania dla przykładu z rys. 3 Fig. 4. Comparability graphs for the example presented in Fig. 3

Graf GX opisuje wzajemne położenie zapakowanych elementów wzdłuż osi X. Łuk od wierzchołka vi do vj w tym grafie oznacza, że element j znajduje się całkowicie po prawej stronie elementu i. Analogicznie definiujemy grafy poprzedzania GY oraz GZ dla osi Y oraz Z. Na rys. 4 są przedstawione grafy poprzedzania dla upakowania z rys. 3. Grafy GX, GY i GZ są grafami skierowanymi, mają taki sam zbiór wierzchołków, ale mogą różnić się łukami. Zauważmy, że każdy z nich zawsze będzie grafem acyklicznym. Dla tych grafów wprowadźmy jeszcze pojęcie zagregowanego grafu poprzedzania,

13


Wyznaczanie sposobu pakowania palet dla robota Gdyby jednak w upakowaniu z rys. 3 nie było elementu 4, to w zagregowanym grafie poprzedzania na rys. 5 nie byłoby wierzchołka 4 i graf ten dałoby się posortować topologicznie przypisując kolejne numery wierzchołkom 1, 3, 2, 5. Byłoby to więc jednostronne upakowanie robotowe, a taka numeracja wierzchołków określałaby kolejność pakowania elementów przez robota. Spośród technik wstawiania elementów wymienionych w rozdziale 2 tylko punkty narożne [6] oraz partycja wolnej przestrzeni [10] zawsze prowadzą do jednostronnego upakowania robotowego. Podejścia oparte na krańcowych punktach wstawiania [2], pokrycia wolnej przestrzeni [10] lub aktywnych przestrzeni [4] nie gwarantują uzyskania takiego upakowania.

który będziemy oznaczać symbolem GX + GY + GZ. Jest to graf skierowany, w którym: − zbiór wierzchołków jest taki sam jak w GX, GY oraz GZ, − istnieje łuk od wierzchołka vi do vj wtedy i tylko wtedy, gdy w jednym z grafów GX, GY bądź GZ istnieje łuk od vi do vj i w żadnym z tych grafów nie ma łuku przeciwnie skierowanego, tzn. od vj do vi. Zagregowany graf poprzedzania określa wymaganą wzajemną kolejność pakowania przez robota poszczególnych par elementów. Zauważmy, że jeżeli w grafie GX +GY +GZ występuje łuk od wierzchołka vi do vj to element j jest powyżej, bądź z przodu, albo z prawej strony elementu i, a zatem musi być później zapakowany niż i. Z drugiej strony, jeżeli w żadnym z grafów GX, GY oraz GZ wierzchołki vi i vj nie są połączone łukiem, to elementy i oraz j nie zasłaniają się nawzajem i mogą być pakowane w dowolnej kolejności. Jeśli w jednym z grafów GX, GY lub GZ jest łuk od wierzchołka vi do vj, a w innym łuk przeciwnie skierowany, to elementy i oraz j nie kolidują ze sobą i w związku z tym w zagregowanym grafie poprzedzania nie będzie między nimi żadnego łuku. Na przykład dla upakowania przedstawionego na rys. 1, w grafie GX byłby łuk od v4 do v5, a w grafie GY łuk przeciwny od v5 do v4. Zauważmy, że elementy 4 i 5 nie zasłaniają się wzajemnie wzdłuż osi X i Y. Graf GX + GY + GZ nie zawsze będzie grafem acyklicznym. Jeżeli jest grafem acyklicznym, to można tak ponumerować wierzchołki, że wierzchołek vi będzie miał przypisany mniejszy numer niż vj wtedy i tylko wtedy, gdy w tym grafie istnieje łuk od vi do vj. Numery wierzchołków określają nam wtedy kolejność pakowania przez robota poszczególnych elementów. Jeżeli graf GX + GY + GZ nie jest acykliczny i zawiera cykl, to upakowanie reprezentowane przez ten graf nie jest jednostronnym upakowaniem robotowym.

I'H' 8 Układając jednostronne upakowanie robotowe zakładamy, że ramię robota pakującego jest na sztywno zamontowane przed przednią stroną palety i do wstawienia elementu w określone miejsce, musi być wolny dostęp od góry, od przodu i z prawej strony. Istnieją bardziej elastyczne konstrukcje robotów umożliwiające pakowanie z dowolnej strony palety. Uwzględniając możliwości takich robotów wprowadzamy pojęcie wielostronnego upakowania robotowego. + T H Wielostronne upakowanie robotowe to wzór upakowania, który powstaje, gdy elementy podczas wstawiania nie są zasłonięte od góry i od dowolnych dwóch sąsiednich boków palety. Przy układaniu wielostronnego upakowania robotowego zakłada się, że robot może wstawić element z dowolnej strony palety. Musi mieć jednak pustą przestrzeń od tej strony palety, a także od góry i od jednego z boków elementu, żeby nie musiał go wciskać między inne elementy. Okazuje się, że grafowe modele upakowania proponowane w poprzednim rozdziale, można również wykorzystać do analizy wielostronnych upakowań robotowych. Niech G X będzie grafem, który różni się od grafu poprzedzania GX tym, że wszystkie łuki są przeciwnie skierowane. Graf ten jest więc też grafem poprzedzania, ale w kierunku przeciwnym do osi X i opisuje dopuszczalną kolejność pakowania elementów od tej strony. W analogiczny sposób zdefiniujmy graf poprzedzania GY . Żeby uwzględnić możliwości pakowania robota od każdego z czterech boków palety utwórzmy następujące cztery zagregowane grafy poprzedzania: GX + GY + GZ, G X + GY + GZ , G X + GY + GZ , G X + GY + GZ . Każdy z tych grafów opisuje wtedy ograniczenia dotyczące kolejności pakowania elementów z poszczególnych stron palety. Dla zbioru grafów skierowanych posiadających taki sam zbiór wierzchołków V zdefiniujmy procedurę multisortowania topologicznego.

Wniosek 1 Wzór jest jednostronnym upakowaniem robotowym wtedy i tylko wtedy, gdy zagregowany graf poprzedzania GX + GY + GZ dla tego wzoru jest acykliczny. Procedura sprawdzania czy graf skierowany jest acykliczny i jednocześnie numerowania wierzchołków zgodnego z orientacją łuków jest nazywana w literaturze sortowaniem topologicznym i znane są efektywne algorytmy jej realizacji [1]. Graf można posortować topologicznie wtedy i tylko wtedy, gdy jest acykliczny. Na rys. 5 jest zamieszczony zagregowany graf poprzedzania GX + GY + GZ dla upakowania z rys. 3 i grafów poprzedzania GX, GY i GZ przedstawionych na rys. 4. Zauważmy, że w tym grafie wierzchołki 2, 5, 4 tworzą cykl. Element 5 musi być wstawiony po elemencie 2, bo na nim leży, a jednocześnie przed elementem 4, który go zasłania od przodu, z czego wynika, że element 4 musiałby być ułożony po elemencie 2. Jest to jednak niemożliwe, bo element 2 zasłania element 4 z prawej strony. Zatem wzór z rys. 3 nie jest jednostronnym upakowaniem robotowym.

* & 1) k := |V | ; 2) Dopóki k > 0 − Znajdź wierzchołek v, z którego nie wychodzi łuk przynajmniej w jednym z grafów G ∈ . Jeżeli taki wierzchołek istnieje, to przypisz mu numer k, w przeciwnym przypadku KONIEC (cykle w każdym grafie i nie da się ponumerować wszystkich wierzchołków); − Usuń wierzchołek v ze wszystkich grafów G ∈ oraz wszystkie łuki dochodzące, bądź wychodzące z niego; − k = k − 1; Algorytm multisortowania topologicznego ma złożoność obliczeniową O(|V |2), bo składa się z operacji przeglądu wierzchołków oraz usuwania łuków, których jest nie więcej niż |V |2. Utworzenie zagregowanych grafów poprzedzania wymaga określenia relacji między poszczególnymi parami wierzchołków,

Rys. 5. Graf GX + GY + GZ dla przykładu z rys. 3 Fig. 5. Graph GX + GY + GZ for the example presented in Fig. 3

14

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 2/ 20 21


a więc też ma złożoność O(|V |2). Zatem cała procedura wyznaczania kolejności układania elementów na palecie przez robota ma złożoność O(|V |2). Zauważmy, że multisortowanie topologiczne tylko jednego grafu sprowadza się do zwykłego sortowania topologicznego i sprawdzenia acykliczności tego grafu. Ponadto można stwierdzić, że gdy jeden z grafów G ∈ jest acykliczny, to topologiczna numeracja jego wierzchołków będzie też jednym z wariantów numeracji multisortowania topologicznego. Przeprowadzając multisortowanie topologiczne dla grafów GX + GY + GZ, G X + GY + GZ , G X + GY + GZ , G X + GY + GZ dokonujemy w istocie rozpakowywania palety, zdejmując w każdym kroku jeden element, który nie jest zasłonięty od góry i od dwóch stron palety. Przypisane wierzchołkom numery określają więc kolejność wielostronnego upakowania robotowego. Zapamiętując typ grafu zagregowanego, w którym znaleziono wierzchołek bez następników, mamy też informację, od której strony palety należy wstawić element odpowiadający temu wierzchołkowi. Można więc sformułować poniższy wniosek.

elementy z każdej strony palety mając tylko swobodny dostęp od tej strony i od góry, to należałoby przeprowadzić multisortowanie topologiczne grafów GX + GZ, G X + GZ , GY + GZ oraz GY + GZ . Na rys. 7 jest przedstawiony przykład, który pokazuje, że nawet dla tak zręcznego robota nie wszystkie upakowania są realizowalne. W tym przykładzie na elementach 1 i 2 leżą elementy 3 i 4, a na nich wyżej elementy 5 i 6, na których z kolei opiera się jeszcze element 7. Elementy 8, 9, 10 i 11 stoją na dole palety, ale wystają w górę wyżej niż element 7. Zatem, żeby wstawić element 7 z jakiejkolwiek strony palety, trzeba to zrobić przed umieszczeniem przynajmniej jednego spośród wystających elementów 8, 9, 10 i 11. Ale elementów tych nie da się wstawić z boku po załadowaniu elementu 7, bo ich miejsce wstawienia zasłaniają elementy 1, 2, 3 i 4, które muszą był ułożone przed elementem 7. Mamy więc cykl, który zostanie wykryty w trakcie multisortowania topologicznego.

Wniosek 2 Wzór jest wielostronnym upakowaniem robotowym wtedy i tylko wtedy, gdy da się ponumerować wszystkie wierzchołki przeprowadzając multisortowanie topologiczne zbioru grafów G X + G Y + G Z, G X + GY + GZ , G X + GY + GZ , G X + GY + GZ . Analizując upakowanie z rys. 3 można stwierdzić, że nie jest ono wielostronnym upakowaniem robotowym. Z wierzchołka 1 i 2 w każdym z czterech zagregowanych grafów wychodzi łuk do wierzchołka 5. Z wierzchołków 3 i 4 wychodzi łuk albo do wierzchołka 1, albo do 2. Natomiast z wierzchołka 5 mamy łuk albo do wierzchołka 3, albo do 4. Nie da się więc przeprowadzić multisortowania topologicznego. Gdyby jednak w upakowaniu z rys. 3 nie było elementu 3, to takie upakowanie nie byłoby jednostronnym upakowaniem robotowym, bo w grafie GX + GY + GZ wierzchołki 2, 5, 4 nadal tworzyłyby cykl (rys. 5). Byłoby to natomiast wielostronne upakowanie robotowe, gdyż bez wierzchołka 3 graf G X + GY + GZ byłby acykliczny. Na podstawie tego grafu otrzymalibyśmy kolejność pakowania (2, 4, 1, 5) do zastosowania zarówno od lewej, jak i od tylnej strony palety. Były też możliwe inne sekwencje wielostronnego pakowania. Zaproponowaną technikę analizy upakowań pod kątem możliwości ich realizacji przez robota można też zastosować do różnych innych uwarunkowań dostępu przy wstawianiu elementów. Rozważmy przypadek, gdy robot musi mieć dostęp od góry i tylko od przedniej strony palety (osi Y), ale potrafi ułożyć (wcisnąć) element między inne zapakowane elementy. Żeby określić kolejność pakowania w takiej sytuacji wystarczy posortować topologicznie graf zagregowany GY + GZ. Dla upakowania z rys. 3 ma on postać taką jak na rys. 6. W tym grafie wierzchołki 1, 2 i 3 można ponumerować topologicznie w dowolnej kolejności, potem wierzchołek 5, a na końcu 4, a zatem to upakowanie byłoby realizowalne przez takiego robota. Gdyby robot potrafił pakować

Rys. 6. Graf GY + GZ dla przykładu z rys. 3 Fig. 6. Graph GY + GZ for the example presented in Fig. 3

Rys. 7. Przykład, który nie jest wielostronnym upakowaniem robotowym (widok z góry) Fig. 7. An example which is not a multi-sided robot packing (top view)

J' 3 W artykule zaproponowano sformalizowaną metodę analizy wzorów upakowań palet pod kątem możliwości ich realizacji przez robota. Pozwala ona określić, czy dane upakowanie można ułożyć przy użyciu robota i jeżeli odpowiedź jest pozytywna, to wyznacza kolejność pakowania elementów uwzględniającą uwarunkowania pracy robota. Metoda ta wykorzystuje grafową reprezentację upakowania, która jest na tyle elastyczna, że można w niej uwzględniać zróżnicowane zdolności manipulacyjne robota pakującego. W rezultacie może być w jednolity sposób zastosowana do dowolnie definiowanego pojęcia pakowania robotowego, określającego wymaganą swobodę dostępu robota podczas układania kolejnych towarów na palecie.

S & 1. Cormen T., Leiserson C., Rivest R., Wprowadzenie do algorytmów, WNT, Warszawa 1997. 2. Crainic T., Perboli G., Tadei R., Extreme pointbased heuristics for three-dimensional bin packing, “INFORMS Journal on Computing”, Vol. 20, No. 3, 2008, 368–384, DOI: 10.1287/ijoc.1070.0250. 3. den Boef E., Korst J., Martello S., Pisinger D., Vigo D., Erratum to “The three-dimensional bin packing problem”: Robot-packable and orthogonal variants of packing problems, “Operations Research”, Vol. 53, No. 4, 2005, 735–736, DOI: 10.1287/opre.1050.0210. 4. He K., Huang W., An efficient placement heuristic for three-dimensional rectangular packing, “Computers & Operations Research”, Vol. 38, No. 1, 2011, 227–233, DOI: 10.1016/j.cor.2010.04.015. 5. Lim A., Ma H., Xu J., Zang X., An iterated construction approach with dynamic prioritization for solving the conta-

15


Wyznaczanie sposobu pakowania palet dla robota 9. Zhu W. Lim A., A new iterative-doubling Greedy–Lookahead algorithm for the single container loading problem, “European Journal of Operational Research”, Vol. 222, No. 3, 2012, 408–417, DOI: 10.1016/j.ejor.2012.04.036. 10. Zhu W., Oon W., Lim A., Weng Y., The six elements to block-building approaches for the single container loading problem, “Applied Intelligence”, Vol. 37, 2012, 431–445, DOI: 10.1007/s10489-012-0337-0. 11. Zhu W., Zhang Z., Oon W., Lim A., Space defragmentation for packing problems, ”European Journal of Operational Research”, Vol. 222, No. 3, 2012, 452–463, DOI: 10.1016/j.ejor.2012.05.031.

iner loading problem, “Expert Systems with Applications”, Vol. 39, No. 4, 2012, 4292–4305, DOI: 10.1016/j.eswa.2011.09.103. 6. Martello S., Pisinger D., Vigo D., The three-dimensional bin packing problem, “Operations Research”, Vol. 48, No. 2, 2000, 256–267, DOI: 10.1287/opre.48.2.256.12386. 7. Silva E., Oliveira J., Wascher G., The pallet loading problem: a review of solution methods and computational experiments, “International Transactions in Operational Research”, Vol. 23, 2016, 147–172, DOI: 10.1111/itor.12099. 8. Zhao X., Bennell J., Bektas T., Dowsland K., Comparative review of 3D container loading algorithms, “International Transactions in Operational Research”, Vol. 23, No. 1-2, 2016, 287–320, DOI: 10.1111/itor.12094.

P # < > 0 8 # Abstract: In the paper the problem of an automatic pallet loading with the usage of a robot is considered. In the logistic processes of trade business commodities are distributed from stores to retailers on pallets. In the paper the methods of pallet loading are analyzed in terms of the robot packing abilities. In order to put an item in a given place in a partially loaded pallet, robot needs to have free access to this place, so it cannot be blocked. A graph model is proposed to represent the relative positions of items on pallets and a method for sequencing of robot packing operations is formulated. It is also shown that not all patterns of pallet packing can be realized by a robot. KeywordsG ;+ 0 #% + # 0 % 0 #% 0 # % #

& %$ $ B 8 * + ORCID: 0000-0001-9437-7594 =0 ? + @ 6 G < ; 8 ? K-J&FL ? -J&FM-J&' G "9 H N # " % + -J&' + G = ; G < 8 ? E + -JJ. .!-- + 0 # O # + A 0 + E % #9 + + % # 9 A 0 9 0 # + E ; #

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

NR 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 17–22, DOI: 10.14313/PAR_240/17

" 0 + + + 9 0 Arkadiusz Adamczak = + H % G 6 # G < % J% J!;-- Q9+R

Streszczenie: Podczas procesów spawania metodą MIG/MAG w produkcji wielkoseryjnej na stanowiskach zrobotyzowanych, często wymagana jest automatyczna kontrola jakości wykonanego spawu. Określanie defektów spawalniczych jest trudne, a powód ich wystąpienia nie zawsze jest znany. Jednym z warunków poprawnie wykonanej spoiny jest stabilność podczas procesu spawania, co przekłada się na ciągłość i zwiększenie ogólnej wydajności produkcji. W artykule przedstawiono wyniki badań nad systemem detekcji defektów spoiny łączącego analizę i klasyfikację szeregów czasowych parametrów spawania dla metody MIG/MAG wraz z równoczesną analizą i klasyfikacją danych obrazowych spoiny dla systemów zrobotyzowanych. Wykorzystane zostały konstrukcje głębokich sieci neuronowych rekurencyjnych i konwolucyjnych. Przedstawiono również konstrukcję sieci neuronowej zawierającej dwa wejścia systemowe, umożliwiającej w jednym czasie klasyfikację zdjęcia spoiny wraz z szeregiem czasowym dla zastosowania w stanowisku zrobotyzowanym. Przedstawione wyniki prac badawczych otrzymano podczas realizacji projektu „Opracowanie metody bazującej na zastosowaniu głębokich sieci neuronowych do inspekcji wizyjnej połączeń spawanych w toku prac B+R” finansowanego z Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2014–2020 i realizowanego w zakładzie ZAP-Robotyka Sp. z o.o. w Ostrowie Wielkopolskim. % G # 0 % # % 0 % + +

1. Wprowadzenie Główną przyczyną zastosowania uczenia maszynowego w rozpoznawaniu defektów spawalniczych był brak możliwości jednoznacznego zalgorytmizowania wady spawalniczej za pomocą modelu matematycznego. Zastosowanie głębokich sieci neuronowych w detekcji obrazowej, jak i w rozpoznawaniu wzorców występujących w przebiegach czasowych parametrów spawania, dało nowe możliwości. Zaproponowano koncepcję systemu neuronowego umożliwiającego kontrolę wizyjną wykonanej spoiny oraz analizę oscylogramów parametrów spawania, zwanych dalej szeregami czasowymi, po procesie spawania. Równoczesne zastosowanie głębokich sieci neuronowych do analizy obrazu i szeregów czasowych pozwoliło zwiększyć prawdopodobieństwo rozpoznania defektu spawalniczego mogącego wynikać z niestabilności procesu spawania i tym samym wykonać ocenę

) 7 G = + =+ % + * + ) + - !( .!.- % + + . !' .!.-

!

połączenia spawanego w odniesieniu do wymaganych założeń. Przedstawiono modele sieci rekurencyjnych i sieci konwolucyjnych 1D do klasyfikacji szeregów czasowych oraz modele sieci konwolucyjnych 2D [1] do klasyfikacji zdjęć spoin. Zaproponowany został klasyfikator oparty na modelu sieci neuronowej, złożony z dwóch wejść systemowych – zdjęcia wraz z szeregiem czasowym. Wykorzystane zostały również techniki składania kilku modeli uczonych na tych samych danych, co w drodze prób zwiększyło prawdopodobieństwo rozpoznania defektu spoiny. W ramach prowadzonych prac badawczo-rozwojowych, zamysłem była integracja systemu neuronowego z systemem robota przemysłowego. Opracowane modele głębokich sieci neuronowych umożliwiających detekcję wady spawalniczej na podstawie szeregu czasowego oraz na podstawie obrazu połączono w jeden system wykorzystujący kontroler robota przemysłowego jako jednostkę sterującą. Podczas prób nad wizualizacją wad spawalniczych na obrazie, skorzystano z map ciepła aktywacji klas (ang. Map CAM) [2], jednej z technik wizualizacji używanej do określenia części obrazu, na podstawie którego sieć neuronowa podejmuje decyzję o zaklasyfikowaniu wady spawalniczej do danej klasy, a tym samym pokazującego określony wzorzec. Została ona wykorzystana jako istotne narzędzie do badania poprawności działania sieci w procesie uczenia, gdyż obrazowanie procesu klasyfikacji pozwalało przyjrzeć się, jakimi kryteriami sieć neuronowa sugerowała się podejmując decyzję, a jakimi sugerowała się w przypadku błędnej klasyfikacji. Tym samym technika pozwoliła na wery-

17


b= " " " %

8

H = % fikację poprawności działania sieci neuronowej. Przedstawiony system może zostać wykorzystany do szerokiej gamy zrobotyzowanych stanowisk spawalniczych korzystających z metod spawania łukowego MIG/MAG.

łów z zakresu [0, 255] do zakresu [0, 1]. Wartości cech danych sekwencyjnych (x1, x2, …, xn) w postaci szeregów czasowych parametrów procesowych znormalizowano wykonując algorytm (1.1), który dla każdej próbki wykonał operację odjęcia od wartości cechy średniej arytmetycznej (1.2) a następnie podzielenie przez wartość odchylenia od średniej standardowej (1.3) z próbki:

H' $

for (i = 1; i <= liczba_próbek; i ++){ Zbiór danych został stworzony na podstawie prób laboratoryjnych z wykorzystaniem robota przemysłowego Fanuc Arc Mate 100iD oraz zintegrowanego z nim synergicznego źródła spawalniczego firmy Fronius TPS 500i CMT. Podczas wykonywania prób zbierane były przebiegi czasowe parametrów spawalniczych przez dedykowane oprogramowanie firmy Fronius – WeldCube, które zapisywało rezultaty w plikach CSV (ang. comma-separated values). Zebrane dane przedstawiały wartości parametrów w czasie, takich jak prąd, napięcie, wysuw drutu. Przykładowy przebieg został przedstawiony na rys. 1. Dla każdej spoiny zostały wykonane zdjęcia, które stanowiły drugą daną wejściową dla systemu detekcji wad spawalniczych. Zdjęcia zostały przetworzone do rozdzielczości 500 px × 500 px i następnie podzielone na zbiory: treningowy, walidacyjny i testowy. Każdy zbiór składał się ze zdjęć wad spawalniczych oraz odpowiadających im szeregów czasowych i został podzielony następnie na pięć klas wadliwości (tabela 1). Ponieważ modele sieci neuronowych budowane były przy pomocy m.in. bibliotek Tensorflow [3] i Keras [4] to należało wykonać wektoryzację danych wejściowych do postaci n-wymiarowych tensorów. Przetworzono w tym celu dane obrazowe i sekwencyjne odpowiednio do cztero- i trójwymiarowych tensorów o wartościach liczbowych według powszechnie stosowanych matematycznych przekształceń [1]. Wstępne przetwarzanie miało na celu przygotowanie danych do tego, aby mogły zostać skierowane do sieci neuronowej. Dane obrazowe w postaci zdjęć poddano obróbce wstępnej przez normalizację ich wartości kana-

xi = xi – xm; xi = xi/s;}

(1.1)

gdzie: xm – średnia arytmetyczna z przebiegu xm =

∑ni=1 x i

(1.2)

n

s – odchylenie standardowe z przebiegu

(x 1 − x m )2 + (x 2 − x m )2 + ! + (x n

σ =

− x m )2

(1.3)

n

Tak przygotowane dane przyjęły charakterystyki zarazem małych wartości oraz będących homogenicznymi czyli przyjmującymi wartości z tego samego zakresu. Oprócz samego przekształcenia wartości na podstawie średniej i odchylenia standardowego próbek, skorelowano je z wzorcowym przebiegiem dla spoiny dobrej. Dla danych obrazowych wad spawalniczych założono, że barwa jest jednym z czynników mogącym wpływać na dokładność działania modelu klasyfikującego, dlatego zdecydowano się na stworzenie modeli neuronowych dla zdjęć kolorowych o trzech kanałach barw (RGB) oraz zdjęć monochromatycznych o jednym kanale. Zmniejszenie liczby kanałów z trzech do jednego, będącego tylko informacją o luminancji danego piksela, pozwoliło na zmniejszenie liczby parametrów sieci neuronowej gdzie dla zdjęć o dużej rozdzielczości ograniczeniem są zasoby sprzętowe oraz czas procesu uczenia sieci neuronowej. Podczas obróbki wstępnej danych obrazowych istotnym parametrem była rozdzielczość, gdzie trzeba było znaleźć kompromis, aby przy możliwie małych wymiarach zdjęcia zachować informację obrazową w nim zawartą.

I' % Badania rozpoczęto od budowy sieci neuronowych klasyfikujących szeregi czasowe. Wykorzystano do tego celu strukturę sieci rekurencyjnych wykorzystujących moduły LSTM [5] i GRU [6] oraz sieci konwolucyjne 1D [7]. W drodze eksperymentów wzorując się na powyższych rozwiązaniach zaproponowano

Rys. 1. Przebiegi czasowe parametrów procesowych (prąd i napięcie) Fig. 1. Time series of process parameters (current and voltage)

Tab. 1. Zbiór danych zdjęć i szeregów czasowych z oznaczonymi wadami spoin Tab. 1. Data set of photo and time series with marked weld defects

18

Zbiór treningowy

Zbiór walidacyjny

Zbiór testowy

Oznaczenie klasy

320

100

50

1

293

78

50

2

340

134

50

3

230

89

50

4

34

12

4

5

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 2/ 20 21


a)

b)

c)

Rys. 2. Budowa warstwowej sieci neuronowej: a) konwolucyjnej 1D, b) rekurencyjnej z jednostkami LSTM, c) rekurencyjnej z jednostkami GRU Fig. 2. Construction of layered neural networks: a) convolutional 1D, b) recurrent with LSTM units, c) recurrent with GRU units

Rys. 3. Budowa sieci konwolucyjnej do klasyfikacji z dwoma wejściami systemowymi (obrazem i szeregiem czasowym) Fig. 3. Construction of a convolutional network for classification with two system inputs (image and time series)

trzy konstrukcje sieci (rys. 2). Sieć neuronowa konwolucyjna 1D (rys. 2a) składa się z warstwy konwolucyjnej przyjmującej na wejściu trójwymiarowy tensor postaci (próbki, czas, cechy), zawierającej 16 filtrów i funkcji aktywacji ReLu, warstwy łączącej (MaxPoling1D) oraz dwóch warstw gęsto połączonych składających się odpowiednio ze 150 neuronów i sześciu neuronów w każdej z warstw. Natomiast zaproponowane sieci rekurencyjne zawierają odpowiednio jedną warstwę LSTM lub GRU składającą się ze 128 jednostek i dwie warstwy sieci gęsto połączonej ze 150 neuronami w każdej warstwie (rys. 2b, 2c). Dla każdej z konstrukcji sieci przeprowadzono uczenie na danych treningowych oraz badania poprawności klasyfikacji. Kolejnym etapem pracy było opracowanie sieci neuronowej, aby była zdolna do jednoczesnego przetwarzania danych obrazowych i danych sekwencyjnych. Zaproponowano w tym celu sieć neuronową z dwoma wejściami systemowymi i jednym wyjściem kategorialnym (rys. 3). Sieć składa się z równoległych gałęzi stosów warstw konwolucyjnych połączonych ze sobą za pomocą sieci gęsto połączonej ze 100 neuronami w warstwie. Pierwsza gałąź, odpowiadająca za przyjmowanie danych obrazowych, składa się ze stosu warstw o architekturze zbliżonej do architektury sieci ResNet [8] z połączeniami rezydualnymi. Warstwa konwolucyjna jest połączona z warstwą łączącą (Max Pooling) oraz stosem trzech warstw z połączeniami rezydualnymi, warstwą uśredniającą (Average Pooling) i warstwą sieci gęsto połączonej ze 150 neuronami. Druga gałąź odpowiedzialna za przetwarzanie sekwencji czasowych, składa się z dwóch warstw konwolucyjnych 1D i warstwy gęsto połączonej z 50 neuronami.

Mając na uwadze, że proces uczenia sieci neuronowej jest szczególnym zadaniem optymalizacji i dla wielu zastosowań jest procesem trudnym i kosztownym, skorzystano ze znanych i specjalnie opracowanych zbiorów technik optymalizacji do szkolenia sieci neuronowych z pakietu Keras. Tworząc architekturę sieci niezbędną rzeczą było określenie: − Funkcji straty (funkcji celu) – zwracającą wartość, która była minimalizowana w procesie uczenia, będąca jednocześnie miarą sukcesu. − Optymalizatora – będącego sposobem, w jaki były modyfikowane wagi sieci neuronowej podczas procesu uczenia, implementującego określony wariant algorytmu stochastycznego spadku wzdłuż gradientu. Podczas wyboru funkcji straty dla problemu klasyfikacji zdjęć spoin oraz przebiegów czasowych będącego typowym przykładem klasyfikacji wieloklasowej oparto się na wskazówkach i praktykach przy doborze funkcji dla ogólnych zagadnień klasyfikacyjnych. Proces uczenia wykonano dla 30 epok. Podczas procesu uczenia brano pod uwagę dziewięć cech przebiegu czasowego zbieranego przez źródło spawalnicze: V(cmin, c, cmax, vmin, v, vmax, pmin, p, pmax)

(2.1)

gdzie: c – prąd, v – napięcie, p – dostarczona moc. Uzyskane wyniki dokładności klasyfikacji i funkcji straty dla trzech sieci neuronowych przedstawiono na rys. 4. Zdecydowano się na wybór kategoryzacyjnej entropii krzyżowej [9]. Kategoryzacyjna entropia krzyżowa mierzyła wydajność

19


b= " " " %

8

H = % a)

b)

c)

d)

Rys. 4. Przebieg uczenia sieci neuronowych: a) dokładność (LSTM, GRU, CONV 1D), b) funkcja straty (LSTM, GRU, CONV 1D), c) dokładność (CONV 2D i CONV 1D), d) funkcja straty (CONV 2D i CONV 1D) Fig. 4. The learning process of neural networks: a) accuracy (LSTM, GRU, CONV 1D), b) loss function (LSTM, GRU, CONV 1D), c) accuracy (CONV 2D & CONV 1D), d) loss function (CONV 2D & CONV 1D)

modelu, którego wyniki były prawdopodobieństwa z przedziału [0; 1] dla danej wyjściowej w postaci wektora. Odnośnie optymalizatora wybrano optymalizator ADAM [10], który jest algorytmem optymalizacji gradientowej pierwszego rządu stochastycznych funkcji celu. Algorytm ma dobrą wydajność obliczeniową, niewielkie wymagania dotyczące pamięci i jest dostosowany do sieci o dużej liczbie parametrów. Implementację wszystkich sieci neuronowych wykonano wykorzystując biblioteki Tensorflow, Keras oraz Numpy [11]. Proces uczenia został przeprowadzony z wykorzystaniem GPU (ang. graphics processing unit) model Nvidia RTX 2060. Proces uczenia przeprowadzono dla każdej z zaproponowanych sieci neuronowych.

niące się wyniki dla tych samych danych. Aby zminimalizować to zjawisko została wykorzystana w projekcie technika składania modeli, pozwalająca na uzyskanie lepszych wyników klasyfikacji niż tylko użycie jednego modelu. Metoda polega na łączeniu przewidywań zwracanych z modeli o innej konstrukcji oraz innym sposobie uczenia. Złożenie różnych konstrukcji modeli trenowanych w sposób niezależny zwiększa prawdopodobieństwo vpf poprawnej końcowej klasyfikacji. W tym celu wykorzystano odpowiednie wyliczenia [1], na podstawie wyników poszczególnych sieci neuronowych. Najprostszym sposobem składania modeli dla klasyfikatorów było wyliczenie średniej vpf (3.1) dla n wyników modeli p1, p2, …, pn.

J' 6

(3.1) gdzie: vpf – średnia wartość przewidywana zwrócona przez n modeli, pi – wartości przewidywane zwrócone przez dany model.

Każda z sieci neuronowych zaprezentowanych w punkcie 2, została poddana procesowi uczenia i dla każdej uzyskano wyniki klasyfikacji będącymi stosunkiem ilości dobrze rozpoznanych wad spawalniczych do wszystkich wad poddanych procesowi klasyfikacji. Dobrym rozwiązaniem do przetwarzania szeregów czasowych okazało się zastosowanie jednowymiarowej sieci konwolucyjnej. Sieci konwolucyjne są znane z tego, że są zdolne wykonywać ekstrakcję cech na podstawie lokalnych fragmentów danych wejściowych i tworzą modułowe reprezentacje. Ten sam mechanizm, który sprawdził się w przetwarzaniu obrazu, sprawdza się przy przetwarzaniu sekwencji. Warstwy konwolucyjne mogą rozpoznawać lokalne wzorce sekwencji (takie jak zaburzenia parametrów spowodowane przepaleniem materiału lub brakiem gazu osłonowego) w dowolnym miejscu i nie są wrażliwe na przesunięcia. Sieć konwolucyjna 1D konkuruje z sieciami rekurencyjnymi ze względu na niższy koszt obliczeniowy, tym samym sieć okazała się szybsza w działaniu od rekurencyjnych o 0,1–0,2 sekundy dla jednego szeregu czasowego.

Rozwiązanie takie sprawdzało się jeśli wszystkie modele działały porównywalnie dobrze. Natomiast jeśli jeden z nich odbiegał od reszty, to wpływał na pogorszenie wyniku końcowego w postaci spoin prawidłowo rozpoznanych. Lepszym rozwiązaniem okazało się wyliczenie średniej ważonej vpfw (3.2), przypisując poszczególnym modelom p1, p2, …, pn odpowiednio wartości wag w1, w2, …, wn, które były wyznaczone eksperymentalnie, na podstawie testów poprawności klasyfikacji dla każdego z modeli.

(3.2)

Metoda składania modeli okazała się bardziej wydajna niż stosowanie każdego modelu z osobna. W tabeli 2 przedstawiono wyniki klasyfikacji dla poszczególnych sieci neuronowych. Należy jednak zaznaczyć, że otrzymane wyniki klasyfikacji zostały wykonane w warunkach laboratoryjnych dla wzorcowych przebiegów czasowych spoin. Problemem podczas badań na rzeczywistym stanowisku okazało się, że podczas zmiany wartości parametrów zadanych na źródle spawalniczym klasyfikator działał ze skutecznością poniżej 80 %. Dla danych obrazowych

J'V' % ! & Podczas uczenia modeli napotkano sytuację, że modele o tej samej architekturze lecz uczone w inny sposób osiągają róż-

20

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 2/ 20 21


Tab. 2. Wyniki klasyfikacji dla badanych sieci neuronowych Tab. 2. Classification results for the examined neural networks Lp.

!

1

Sieć rekurencyjna z jednostkami GRU

95,2 %

2

Sieć rekurencyjna z jednostkami LSTM

94,1 %

3

Sieć konwolucyjna warstwowa 1D

96,4 %

4

Sieć konwolucyjna warstwowa 2D z konwolucyjną 1D

94,8 %

5

Złożenie sieci (GRU, LSTM, Conv 1D, Conv 2D i 1D)

96,6 %

w tym przypadku jest dwuwymiarową siatką wyników dla danej klasy wyjściowej obliczonych dla każdego punktu obrazu wyjściowego. Pokazuje to, jak decyzyjny jest dany obszar ze względu na wybraną przez sieć neuronową klasę. Zastosowanie map ciepła zostało wykorzystane jako alternatywa do wizualizacji wad spawalniczych spoin na obrazach przedstawionej w artykule Metoda detekcji wad spawalniczych w stanowisku zrobotyzowanym z wykorzystaniem głębokiej sieci neuronowej [12].

L' 3

zmiana parametrów wejściowych nie była tak widoczna. Przy zmianie parametrów należy ponownie wykonać proces uczenia sieci neuronowej dla nowych przebiegów czasowych ze mienionymi parametrami wejściowymi. Może to jednak powodować trudności wynikające z potrzeby generowania i oznaczania wad dla nowych danych. Kolejną trudnością jest niedostateczna częstość (co 100 ms) zbieranych danych rzeczywistych na źródle spawalniczym. Wahania amplitudy przebiegu czasowego są między tymi wartościami pomijane co w konsekwencji może nie obrazować rzeczywistego przebiegu.

J'H' 8 7

W celu wizualizacji wady spawalniczej zastosowano rozwiązanie polegające na wykorzystaniu techniki wizualizacji map ciepła w procesie klasyfikowania wad spawalniczych (rys. 5). Technika ta umożliwiła, na podstawie decyzji podjętej przez wytrenowaną sieć, określić położenie wady spawalniczej. Skorzystano z implementacji opisanej w artykule Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization [2] polegającej na przechwytywaniu wejściowej mapy cech jednej z warstw konwolucyjnych powstałej przy przetwarzaniu obrazu defektu spawalniczego. Zastosowane rozwiązanie generuje mapy ciepła i nanosi je na obrazy wejściowe. Mapa ciepła a)

Przedstawione zostały w artykule metody detekcji wad spawalniczych wykorzystujące głębokie sieci neuronowe na podstawie wykonanego zdjęcia spoiny z równoczesną analizą szeregu czasowego parametrów procesowych. W drodze badań otrzymano obiecujące rezultaty klasyfikacji i wykazano, że istnieje możliwość na podstawie niestabilności procesu spawania rozpoznać defekt spoiny. Podstawową wadą analizy szeregów czasowych jest jednak niewystarczająca ilość danych zbieranych przez oprogramowanie źródła spawalniczego spowodowana ograniczeniami technicznymi stosowanych źródeł spawalniczych. Powoduje to trudności lub niemożliwość w wyznaczaniu większej liczby wad spawalniczych. Kolejnym problemem przy analizie szeregów czasowych jest wrażliwość na zmiany zadawanych parametrów spawalniczych ustawianych na źródle. Każda zmiana powoduje pogorszenie zdolności klasyfikacyjnych sieci neuronowej, mimo skorelowania przebiegu ze wzorcowym przebiegiem spoiny dobrej. Przysparza to trudności przy kalibracji systemu. Można zauważyć na podstawie badań, że głębokie sieci neuronowe klasyfikujące przebiegi czasowe mają bardzo duży potencjał, lecz wymagają dostarczenia dokładniejszych danych wejściowych. Połączenie z analizą obrazową spoiny szeregu czasowego, jest podejściem nowatorskim, nie stosowanym w kontroli poprawności spoin. Początkowe próby klasyfikacyjne dają również obiecujące wyniki i zostaną w dalszym etapie badań kontynuowane. Zaprezentowane w artykule podejście do automatycznej wizualizacji wad spawalniczych przy pomocy map ciepła warstwy konwolucyjnej, może być używane niezależnie od zaprezentowanej w artykule Metoda detekcji wad spawalniczych w stanowisku zrobotyzowanym z wykorzystaniem głębokiej sieci neuronowej [12] metody segmentacji wad spawalniczych. Mimo innego podejścia obie te metody mogą zostać zastosowane do rozwiązania przemysłowego systemu detekcji wad spawalniczych na stanowisku zrobotyzowanym dla produkcji wielkoseryjnej.

3 Praca zrealizowana została w ramach projektu nr RPWP.01.02.00-30-0084/19, B+R

S & b)

Rys. 5. Wizualizacja przykładowych wad spawalniczych na podstawie map ciepła warstwy konwolucyjnej: a) Przepalenie, b) Nieregularne lico) Fig. 5. Visualization of exemplary welding defects on the basis of heat maps of the convolution layer: a) Burnout, b) Irregular face

1. Chollet F., Deep learning with Python. Vol. 361. New York: Manning, 2018. 2. Selvaraju R.R., et al. Grad-cam: Visual explanations from deep networks via gradient-based localization. Proceedings of the IEEE international conference on computer vision. 2017, DOI: 10.1007/s11263-019-01228-7. 3. Abadi M., et al. Tensorflow: A system for large-scale machine learning. [In:] 12th {USENIX} symposium on operating systems design and implementation ({OSDI} 16), 2016, 265–283. 4. Chollet F., et al. Keras: The python deep learning library. Astrophysics Source Code Library, 2018, ascl: 1806.022. 5. Yu Y., et al. A review of recurrent neural networks: LSTM cells and network architectures. “Neural computation”, Vol. 31, No. 7, 2019, 1235–1270, DOI: 10.1162/neco_a_01199.

21


b= " " " %

8

H = % 6. Chung J., et al. Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv preprint arXiv:1412.3555, 2014. 7. Kiranyaz S., et al. 1D convolutional neural networks and applications: A survey. “Mechanical Systems and Signal Processing”, Vol. 151, 2021, DOI: 10.1016/j.ymssp.2020.107398. 8. Kaiming H., et al., Deep residual learning for image recognition. Proceedings of the IEEE conference on computer vision and pattern recognition. 2016. 9. De Boer, Pieter-Tjerk, et al. A tutorial on the cross-entropy method. “Annals of operations research”, Vol. 134, No. 1, 2005, 19-67, DOI: 10.1007/s10479-005-5724-z.

10. Zijun Z., Improved adam optimizer for deep neural networks. 2018 IEEE/ACM 26th International Symposium on Quality of Service (IWQoS), DOI: 10.1109/IWQoS.2018.8624183. 11. van der Walt S., Colbert S.C., Varoquaux G., The NumPy array: a structure for efficient numerical computation. “Computing in science & engineering”, Vol. 13, No. 2, 2011, 22–30, DOI: 10.1109/MCSE.2011.37. 12. Adamczak A., Metoda detekcji wad spawalniczych w stanowisku zrobotyzowanym z wykorzystaniem głębokiej sieci neuronowej, „Pomiary Automatyka Robotyka”, R. 25, Nr 1, 2021, 67–72, DOI: 10.14313/PAR_239/67.

S > + H S < ? + # S < < G + > 0 Abstract: During MIG/MAG welding processes in large-scale production on robotic stations, automatic quality control of the weld is often required. Determining welding defects is difficult and the reason for their occurrence is not always known. One of the conditions for a correctly made weld is stability during the welding process, which translates into continuity and increase in overall production efficiency. The article presents the results of research on the creation of a weld defect detection system combining the analysis and classification of time series of welding parameters for the MIG/MAG method along with the simultaneous analysis and classification of weld image data for robotic systems. For this purpose, the structures of deep recursive and convolutional neural networks were used. The design of a neural network with two system inputs allowing for the classification of the weld photo together with the time series for use in a robotic station is also presented. The research results presented in this article were obtained during the implementation of the project entitled „Development of a method based on the use of deep neural networks for visual inspection of welded joints in the course of R&D works” implemented at the company ZAP-Robotyka Sp. z o.o. in Ostrów Wielkopolski. KeywordsG + #% % 0 % + < + + <

! $ 6 & " 6& + * + ORCID: 0000-0002-3840-8568 =0 8 Q9+ ; G < $ ; G # T S 6 U .!!& % # .!-! ? .!-- ; A # <

=8;> 0 9 ; % 0 % 0 + ; # /+ .!-) 9 U + ; = + H + 9 < " 9 V # % + #% 0 + % 0

22

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 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 23–30, DOI: 10.14313/PAR_240/23

8 # 0 0 !& " # " "2 8 > G# # Q % B + $ > 0 % = 8 E 9 ? &% (;J(J > 9

5 Kolaboracyjne roboty przemysłowe wychodzą naprzeciw nowoczesnemu podejściu do robotyzacji. Umożliwiają one współpracę z człowiekiem znajdującym się w obszarze pracy robota. W ramach artykułu wykonano projekt oraz oprogramowanie modelu stacji zrobotyzowanej umożliwiającej realizację współpracy człowiek–maszyna. Opracowano modele CAD stanowiska za pomocą oprogramowania Autodesk Inventor. Projekt stacji wykonano w środowisku RobotStudio z wykorzystaniem robota IRB 14000 YuMi. Oprogramowanie oparto na smart componentach oraz kodzie języka Rapid. Wykonano graficzny interfejs użytkownika, interaktywny z człowiekiem w wirtualnej rzeczywistości. Weryfikację oprogramowania przeprowadzono z udziałem operatora w wirtualnej rzeczywistości. % G 0 0 G>T -F!!! X $ % Y% M

1. Wprowadzenie Manipulacyjne roboty przemysłowe to wielozadaniowe, programowalne maszyny sterowane automatycznie. Z reguły mają wiele stopni swobody, właściwości lokomocyjne lub manipulacyjne. Wykorzystywane są do ważnych zadań w przemyśle [1]. Najczęściej stosowane są roboty sześcioosiowe. Roboty te znalazły zastosowanie przy wykonywaniu wielu procesów, jak spawanie, lakierowanie, transport, montaż, obróbka maszynowa oraz obsługa maszyn [2]. Z reguły procesy te są realizowane bez udziału człowieka w strefie pracy robota. Kolaboracyjne roboty przemysłowe (ang. cobot) wychodzą naprzeciw nowoczesnemu podejściu do robotyzacji. Umożliwiają współpracę z człowiekiem znajdującym się w obszarze pracy robota. Aby kolaboracja była w pełni bezpieczna, system musi spełnić określone wymagania zgodnie z normą ISO/TS 15066. Koboty są wyposażane w zaawansowane systemy bezpieczeństwa i ograniczoną moc. Ich siła robocza musi być pod stałą kontrolą. Taka konfiguracja umożliwia realizację bezpiecznej współpracy między człowiekiem i robotem. Roboty współpracujące są stale rozwijającą się grupą robotów przemysłowych [2]. Szacuje się, że wartość rynku kobotów wzrośnie do około 12,3 miliarda dolarów w 2025 r. [3]. Podjęcie decyzji

) 7 G 8 8 % * + ) + .J !F .!.- % + + -' !' .!.-

!

o instalacji robota współpracującego zależy od wielu czynników. Nowoczesne techniki symulacji wykorzystujące wirtualną rzeczywistość pozwalają na lepszą wizualizację wdrażanego systemu. W zrealizowanej pracy przedstawiono rozwiązanie bazujące na robocie kolaboracyjnym IRB 14000 YuMi firmy ABB, który współpracuje z operatorem. Człowiek odpowiedzialny jest za podanie elementów robotowi, który zajmuje się ich wykrywaniem, pobraniem i montażem. Operator może kontrolować przebieg procesu za pomocą graficznego interfejsu użytkownika. Pracę zrealizowano w środowisku RobotStudio, dzięki zastosowaniu wirtualnej rzeczywistości umożliwiono wcielenie się w rolę operatora robota.

H' ) 7 7 # Elementy wirtualnej rzeczywistości są stosowane w wielu dziedzinach robotyki. Ułatwiają programowanie off-line robotów pozwalając na realizację zupełnie nowych funkcji, z których korzystanie było ograniczone. Przeprowadzono szereg badań, analizę czasu wykonania określonych zadań polegających na sterowaniu robotem przez grupy osób, przy wykorzystaniu trzech różnych interfejsów teleoperacji. Pierwszym był interfejs wykorzystujący wirtualną rzeczywistość. Pozostałe składały się z monitora LCD oraz joysticka, przy czym jeden udostępniał obraz w trybie stereo, a drugi w trybie mono [5]. Wyniki przeprowadzonych badań wskazują, iż wydajność pracy operatorów przy użyciu interfejsu VR była około 1,8 razy większa niż przy użyciu interfejsu mono. Dodatkowo przeprowadzono ankiety, na podstawie których stwierdzono, że zastosowanie interfejsu stosującego techniki wirtualnej rzeczywistości zwiększa poziom obecności przestrzennej i oceny odległości [5].

23


" % =

= "

"

rzystaniem VR. Taka metoda może okazać się niezwykle skuteczna w przypadku trudnych do zaprogramowania ruchów, które wykonuje człowiek. Przykładem takiego procesu jest proces czyszczenia formy odlewniczej do produkcji aparatury sterującej w przemyśle lotniczym. Z reguły proces wykonywany jest przez człowieka, gdzie ważną rolę odgrywa czas trwania z uwagi na nasiąkanie formy i powstające uszkodzenia. W celu realizacji tego zadania zaprojektowano stanowisko zrobotyzowane wraz z cyfrowym bliźniakiem. Wykorzystano robot przemysłowy o udźwigu 80 kg. Wykonano model cyfrowej podwójnej misy odlewniczej i połączonej z nią ceramicznej formy odlewniczej. Do właściwego wykonania zadania przez robota zaprojektowano również urządzenie do chwytania misy odlewniczej wraz z cyfrowym bliźniakiem. Środowisko odpowiednio skonfigurowano, aby móc korzystać z możliwości wirtualnej rzeczywistości [7]. Właściwy etap polegał na akwizycji danych podczas wirtualnego czyszczenia formy przez człowieka. Miał on za zadanie wykonanie ruchów rzeczywistej formy połączonej z cyfrowym odpowiednikiem. Jednocześnie śledzono ruchy przez system sensoryczny zintegrowany z VR. Na podstawie zebranych danych stacja została zaprogramowana w trybie off-line. W artykule przedstawiono rozwiązanie z użyciem robota kolaboracyjnego. W robotach kolaboracyjnych, oprócz standardowych konstrukcji, bardzo dobrym rozwiązaniem okazały się roboty dwuramienne, umożliwiające wykonywanie skomplikowanych operacji [2]. Robot dwuramienny YuMi (rys. 3) ma elastyczne ramiona oraz kamerę do lokalizacji części, każde z ramion składa się z siedmiu osi. Producent określa udźwig na poziomie 500 g oraz zasięg o wartości 559 mm. Robot zbudowany został do równoczesnej pracy z człowiekiem przy montażu małych części. Potrafi zatrzymać ruch w przeciągu milisekund, jeśli dojdzie do kolizji z operatorem. Narzędzie robota może poruszać się z maksymalną prędkością 1500 mm/s, zaś powtarzalność robota wynosi ±0,02 mm [8]. Firma Fanuc jest producentem najsilniejszego obecnie robota współpracującego na świecie. Kobot przedstawiony na rys. 4 ma sześć osi. Jego maksymalny zasięg wynosi 1813 mm, a dopuszczalne obciążenie równe jest 35 kg. Producent deklaruje powtarzalność na poziomie ±0,08 mm [9]. Podobnie jak inne konstrukcje robotów współpracujących, pokryty jest gumową osłoną, zapewniającą bezpieczeństwo operatora [10]. Robot zaprojektowany został z myślą współpracy z operatorem przy przenoszeniu ciężkich elementów. Firma Universal Robots zajmuje się produkcją lekkich robotów kolaboracyjnych. W swojej ofercie ma cztery modele robotów. Roboty te charakteryzują się małą masą oraz sześcioma

Rys. 1. Model stacji zrobotyzowanej do obróbki elementów silników lotniczych [6] Fig. 1. A model of a robotic station for processing aircraft engine components [6]

Rys. 2. Cyfrowy bliźniak stacji zrobotyzowanej [7] Fig. 2. Digital twin of the robotic station [7]

Oprogramowanie RobotStudio umożliwia programowanie off-line robotów przemysłowych firmy ABB, modelowanie stacji, tworzenie mechanizmów i symulacji. Od 2017 r. oprogramowanie to umożliwia korzystanie z okularów do VR. Zwiększa to możliwości programu do tworzenia ścieżek w wirtualnej rzeczywistości, oddziaływanie na elementy stacji dzięki dostępnym kontrolerom ręcznym. Bardzo przydatną funkcją jest opcja Virtual Reality Meeting, która pozwala na dołączenie do symulacji stacji wielu osób. Operatorzy widzą siebie nawzajem w VR, mogą prowadzić interakcje przez dodawanie tekstu, rysowanie oraz wspólnie oddziaływać na stację. Funkcja ta jest szczególnie przydatna podczas współpracy inżynierów z różnych stron świata. Redukuje ograniczenia komunikacyjne, co do przedstawiania swoich wizji systemu. Przykładem wykorzystania możliwości VR jest zrobotyzowana stacja do obróbki elementów silników lotniczych (rys. 1) [6]. Stacja umożliwia realizację procesu obróbki odlewów dyfuzora. Za obróbkę odpowiedzialny jest robot ABB IRB 140 wraz z czteropozycyjną zmieniarką. W procesie wyróżniono trzy etapy – usunięcie naddatku, wykonanie fazy i szlifowanie powierzchni. Podczas prowadzonych prac wykorzystano funkcję Virtual Reality Meeting ze względu na konieczność spotkań z inżynierami z USA oraz Kanady. Możliwości oprogramowania RobotStudio pozwalają na tworzenie ścieżek robota z wyko-

24

P

O

M

I

A

R

Y

A

U

T

O

M

Rys. 3. Robot dwuramienny YuMi firmy ABB [9] Fig. 3. YuMi two-arm robot from ABB [9]

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


Rys. 4. Robot współpracujący CR-35iA firmy Fanuc [10] Fig. 4.. Fanuc collaborative robot CR-35iA [10]

Rys. 5. Robot kolaboracyjny UR3 firmy Universal Robots [12] Fig. 5. Collaboration robot UR3 from Universal Robots [12]

stopniami swobody. Producent wskazuje, jak przesunąć ramię robotyczne do wskazanych punktów orientacyjnych lub wykonać to za pomocą kursorów na tablecie dotykowym. Wykorzystuje się je na liniach produkcyjnych, w magazynach czy przy obsłudze maszyn CNC. Przykładowy kobot firmy UR został przedstawiony na rys. 5. Firma Kuka oferuje trzy modele kobotów LBR iiwa 7 R800, LBR iiwa 7 R800 CR oraz LBR iiwa 14 R820. Oznaczenie modelu zawiera w sobie udźwig oraz zasięg w milimetrach, poprzedzony literą „R”. W przypadku modelu LBR iiwa 14 R820 (rys. 6), producent wykazuje możliwość montażu na podłodze, ścianie oraz suficie. Maksymalny zasięg zgodnie z oznaczeniem wynosi 820 mm, natomiast udźwig jest równy 14 kg. Robot zbudowany jest z siedmiu osi, jego powtarzalność wynosi ±0,1 mm [13]. Kobot ma czujniki momentów przegubów, dzięki czemu bezbłędnie rozpoznaje obiekty i w sposób natychmiastowy zmniejsza prędkość oraz siłę. Firma Mitsubishi Electric oferuje kobota sześcioosiowego MELFA ASSISTA. Robot nie wymaga ręcznego programatora. Na swojej obudowie ma przyciski sterowania oraz diodę informującą o stanie pracy robota. Dzięki temu programowanie robota jest szybsze i prostsze w stosunku do innych rozwiązań robotów współpracujących. Kobot zgodnie z przyjętymi standardami rynku w bezpieczny sposób może dzielić przestrzeń roboczą z człowiekiem [15]. Robot ten może być montowany na podłodze oraz suficie. Jego zasięg wynosi 910 mm, a dopuszczalny udźwig wynosi 5 kg, warunkowo może zostać zwiększony do 5,5 kg. Firma YASKAWA ma w swojej ofercie kilka modeli kobotów, m.in. HC10, HC10DT, HC20XP. Symbol HC oznacza robota współpracującego z człowiekiem, natomiast wartość liczbowa definiuje udźwig robota. Roboty mają sześć osi, zapewniają bezpieczeństwo operatora dzięki zastosowaniu technologii ograniczenia mocy i siły, która zapewnia zatrzymanie robota w przypadku kolizji z operatorem. Przystosowanie do pracy bez dodatkowych zabezpieczeń znacznie ogranicza koszty i czas instalacji. Roboty mogą być montowane na podłodze, ścianie oraz suficie [16]. Ich udźwig wynosi 10 kg lub 20 kg. Maksymalny zasięg roboczy w zależności od modelu waha się między 1200 mm oraz 1700 mm. Przykładem jest MOTOMAN

Rys. 6. Robot kolaboracyjny LBR iiwa 14 R820 firmy Kuka [14] Fig. 6. Collaboration robot LBR iiwa 14 R820 from Kuka [14]

Rys. 7. Robot kolaboracyjny MOTOMAN HC20DT IP67 firmy YASKAWA [16] Fig. 7. Collaboration robot MOTOMAN HC20DT IP67 from YASKAWA [16]

HC20DT IP67 (rys. 7), sześcioosiowy robot współpracujący posiadający udźwig 20 kg.

3. Projekt oraz oprogramowanie W artykule opisano projekt oraz oprogramowanie stacji zrobotyzowanej do montażu smartfonów. Część modeli została opracowana za pomocą oprogramowania Autodesk Inventor. Elementy te umieszczono w projekcie, część z nich wymagała późniejszego oprogramowania, aby możliwa była interakcja w VR. Zamodelowano chwytaki oraz elementy wchodzące w skład procesu montażowego. Z uwagi na wykonywanie precyzyjnych czynności montażowych zastosowano chwytaki podciśnieniowe z dwiema końcówkami chwytającymi o różnych przyssawkach. Jedna przystosowana została do podnoszenia baterii smartfonu i płytki USB. Druga ma za zadanie podnosić taśmę połączeniową. Również obudowa chwytaka musi mieć łagodny kształt, aby nie stanowiła zagrożenia w przypadku kontaktu z człowiekiem. Jako przyssawki do podnoszenia taśm wykorzystano ANVER C-F Flat Vacuum Cups C-F2-NBR, drugą przyssawkę wybrano jako ANVER C-F15-NBR o dopuszczalnym obciążeniu równym 0,5 kg. W ramach realizacji pracy wykonano modele CAD części składowych smartfonu takich jak: płyta główna, bateria, panel przycisków bocznych, płytka USB, przednia obudowa, taśma połączeniowa płyty głównej i wyświetlacza, taśma połączeniowa płyty USB oraz płyty głównej. Procesowi montażowemu podlega płytka USB, bateria oraz taśma połączeniowa płyty głównej oraz płytki USB (rys. 8). Operator ma za zadanie pobrać płytkę z zasobnika, a następnie umieścić ją w odpowiedniej strefie odbioru elementów. Aby właściwie zasymulować stanowisko, zamodelowano stół ze stelażem. Na stole umieszczono formy, z których operator może pobierać płytki USB, a następnie przekazywać je do montażu. Głównym elementem stanowiska jest przenośnik taśmowy wykonany z wykorzystaniem dodatku dostępnego w oprogramowaniu RobotStudio (rys. 9). Ma on kształt litery U i odpowiada za transport elementów wchodzących do procesu montażowego oraz wychodzących z niego.

25


" % =

= "

" nentu systemu przenośników taśmowych oznaczonym nazwą „zakonczono”. Sygnał ten wykorzystywany jest do wznowienia ruchu przenośnika po zakończonym procesie montażu. Liczbą 3 oznaczono smart component odpowiadający za wykrywanie płytki USB w polu odbioru płytki przez robota. Smart component wykorzystuje cztery sygnały. Sygnał wejściowy „log_ jedynka” to wartość binarna otrzymana z przerzutnika typu SR (oznaczonego liczbą 11), odpowiada za aktywację czujników. Wejście „set” ma za zadanie zaktualizowanie wartości zmiennych pozycji i orientacji. Połączono je z wyjściem kontro-

Rys. 8. Elementy wchodzące w skład procesu montażowego: a) taśma połączeniowa płyty USB oraz płyty głównej, b) płyta USB, c) bateria Fig. 8. Elements included in the assembly process: a) tape connecting the USB board and the motherboard, b) USB board, c) battery

Rys. 9. Widok stanowiska z modelem przenośnika taśmowego Fig. 9. View of the stand with the model of the belt conveyor

Rys. 10. Widok stanowiska ze strefami poboru elementów do montażu Fig. 10. View of the stand with the zones of consumption of elements for assembly

Do systemu przenośników zamodelowano trzy płyty trzymające o różnych wymiarach, z których robot pobiera elementy. Na rysunku 10 przedstawiono widok stanowiska z góry, na którym widać trzy strefy pobierania elementów do montażu. Stanowisko wyposażono również w OmniCore FlexPendant wraz z uchwytem (rys. 11). Modele tych elementów znajdują się w środowisku RobotStudio. Pozwalają zasymulować stanowisko do współpracy człowieka z robotem kolaboracyjnym. Oprogramowanie RobotStudio umożliwia projektowanie stanowiska związane z odpowiednim ustawieniem modeli oraz programowanie robotów wraz z symulacją stanowiska w trybie off-line. Program pozwala na całkowite odzwierciedlenie kontrolera robota z wykorzystaniem technologii VirtualRobot firmy ABB [17]. Projektowanie stacji w RobotStudio oprócz ustawienia modeli wymaga ich właściwej konfiguracji. Część opcji związana jest z kwestiami wizualnymi, a część ściśle oddziaływuje na właściwą symulację. W pracy skonfigurowano właściwości fizyczne obiektu, aby operator mógł nimi manipulować w VR. Narzędzia graficzne pozwalają na włączenie cieni, projektowanie świateł, narzucenie tekstur na obiekty, aby zwiększyć odzwierciedlenie rzeczywistości. Oprogramowanie odpowiadające za realizację działania stacji wykonane zostało za pomocą logiki stacji (rys. 12) oraz kodu programu kontrolera robota napisanego w języku Rapid. Działanie określonych elementów stacji warunkowane jest przez smart componenty. Wymieniają one sygnały między sobą oraz kontrolerem. Liczbą 1 oznaczono blok odpowiadający za parametry kontrolera robota. Ma on wejścia i wyjścia cyfrowe, którymi komunikuje się ze smart componentami. Smart component odpowiadający za system przenośników taśmowych (oznaczony liczbą 2) ma trzy wejścia oraz jedno wyjście. Wejścia „kopiuj” i „stop_simulation” połączono odpowiednio z wyjściami „SimulationStarted” oraz „SimulationStopped” smart componentu SimulationEvents (oznaczonego liczbą 10). Informacja o rozpoczęciu symulacji jest wykorzystywana do utworzenia pierwszego smartfonu na taśmie przenośnika. Zakończenie symulacji powoduje wyczyszczenie bloków pamięci. Wyjście „zakonczono” kontrolera robota komunikuje się z wejściem smart compo-

26

P

O

M

I

A

R

Y

A

U

T

O

M

Rys. 11. Model OmniCore FlexPendant Fig. 11. OmniCore FlexPendant model

lera „pobierz_polozenie_1”. Smart component ma dwa wyjścia „wykryto” oraz „zaktualizowano”. Służą one odpowiednio do informowania o wykryciu płytki USB oraz o skutecznym zaktualizowaniu wartości zmiennych pozycji i orientacji. Wyjście „zaktualizowano” połączono z wejściem kontrolera „aktualizacja_1”, natomiast wyjście „wykryto” połączono z wejściem kontrolera „Wykryto_1”. Smart componenty oznaczone liczbami 4 i 5 opracowano w sposób analogiczny. Bloki oznaczone liczbami 6–8 odpowiadają za chwytanie elementów. Mają po jednym wejściu i wyjściu. Przeanalizujmy działanie bloku nr 6. Wejście „P1” połączono z wyjściem „P1” kontrolera, który informuje smart component o żądaniu uchwycenia obiektu. Wyjście „uchwycono_P1” skomunikowano z odpowiednim wejściem kontrolera, informuje ono o poprawnym uchwyceniu obiektu. Informację te wykorzystano do kontroli właściwego pobrania elementu. Blok nr 12 odpowiada za wyświetlanie napisów, ma cztery wejścia, które połączono z odpowiednimi wyjściami kontrolera. Wymuszenie stanu aktywnego odpowiedniego wejścia wyświetli napis w trakcie symulacji z zadaniem, jakie ma wykonać operator. Blok nr 9 odpowiedzialny jest za zmianę wartości zmiennej numerycznej. Wejście „Set” bloku połączono z wyjściem „SimuA

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


przyssawki przez lewe ramię robota. Stacja została wyposażona również w smart component odpowiadający za wyświetlanie znaczników tekstowych. Zastosowanie napisów wyświetlanych w trakcie symulacji ma na celu łatwiejszą orientację w środowisku VR przez operatora. Aby określić pozycje obiektów w strefach odbioru, w trakcie symulacji przyjęto rozwiązanie, w którym operator nie informuje robota o umieszczeniu elementu w strefie odbioru. Robot sam rozpoznaje obecność obiektu za pomocą czujnika. Rys. 12. Schemat logiki stacji w RobotStudio Fig. 12. Station logic diagram in RobotStudio

lationStarted” smart componentu SimulationEvents. Dzięki temu każdorazowo przy rozpoczęciu symulacji wskaźnik liczby taśm zostanie nadpisany wartością 3. Prawidłowe uchwycenie obiektu wymaga otrzymania sygnału z kontrolera robota o rozpoczęciu chwytu. Rolę sygnału informującego pełni wyjście cyfrowe „P1” kontrolera robota. Sensor liniowy wskazuje obiekt, który będzie poddany manipulacji, zaś obiekt odniesienia, do którego będzie on przyłączany ustawiono na chwytak. Dzięki takiemu rozwiązaniu umożliwiono kontrolę prawidłowości uchwycenia obiektu. Sposób ten uniemożliwia robotowi kontynuowanie ruchu po ścieżce bez obiektu, który ma zostać poddany procesowi montażowemu. Informację o elemencie, który ma zostać odczepiony blok pobiera z bloku Attacher. Wykonanie przebiega z zachowaniem pozycji obiektu. Zanegowany sygnał „P1” połączono również z wejściem „Reset” przerzutnika SR. Oznacza to, iż puszczenie obiektu spowoduje zresetowanie znacznika prawidłowego uchwycenia. Po upuszczeniu obiektu, powinien zostać on zaczepiony do modelu smartfona. W dalszej części przedstawiono wycinek programu w języku Rapid odpowiadający za uchwycenie obiektu:

Stacja ma łącznie trzy smart componenty do chwytania obiektów. Struktura każdego z nich jest identyczna. SC_Chwytak_R(P1) odpowiada za chwytanie płytek USB za pomocą większej przyssawki przez prawe ramię robota. SC_Chwytak_R(P2) odpowiada za chwytanie taśmy przyłączeniowej za pomocą małej przyssawki przez prawe ramię robota. SC_Chwytak_L(P3) odpowiada za chwytanie baterii za pomocą większej

Rys. 13. Schemat systemu przenośników taśmowych Fig. 13. Diagram of the system of belt conveyors

Właściwe funkcjonowanie symulacji wymaga wystąpienia ruchu na przenośnikach taśmowych. Do sterowania systemem zastosowano smart component SC_Przesuw_ po_tasmie. Istnieje kilka sposobów manipulacji elementami w środowisku RobotStudio. W pracy zdecydowano się na wykorzystanie połączonych ze sobą pięciu przenośników taśmowych. Odpowiednie bloki wykonują ruch liniowy elementów na trzech przenośnikach, na pozostałych dwóch ruch odbywa się krzywoliniowo. Schemat systemu przenośników, z oznaczeniem najważniejszych elementów, przedstawiono na rys. 13. Po pojawieniu się sygnału rozpoczęcia symulacji, tworzona jest kopia smartfonu oraz podkładki. Elementy te poruszają się po przenośniku aż dotrą do punktu montażu, gdzie następuje zatrzymanie ruchu. Robot wznawia ruch po wykonaniu

27


" % =

= "

"

czynności montażowych. Elementy poruszają się aż do końca przenośnika, gdzie ich ruch jest zatrzymany.

Wartości przechowywane są w zmiennych numerycznych języka Rapid. Operator w trakcie trwania symulacji ma dostęp do panelu i może na niego oddziaływać. Widok panelu na stanowisku w trakcie symulacji przedstawiono na rys. 14. Opracowany ekran bardzo dobrze wpasowuje się w pobrany model CAD. Umiejscowiono go w taki sposób, aby operator mógł z niego korzystać nie przerywając kontroli wykonywanego procesu.

4. Projekt oraz oprogramowanie interfejsu operatora W zaprojektowanym stanowisku robot współpracujący ze specyfiki swojego działania wymaga komunikacji z operatorem. Może ona odbywać się przez Flexpendant. Jednak szybszym i bardziej czytelnym sposobem jest użycie interfejsu operatora. RobotStudio dzięki narzędziu ScreenMaker umożliwia tworzenie graficznego interfejsu użytkownika. Aplikacja może składać się z wielu ekranów, każdy z nich może zawierać przyciski, zdjęcia, pola tekstowe, komponenty graficzne czy menu. W projekcie w skład interfejsu wchodzą trzy znaczniki informujące o wykryciu elementów w strefach odbioru, licznik wykonanych smartfonów, licznik taśm wraz z wizualnym wskaźnikiem paska stanu oraz przycisk resetujący przechowywaną liczbę dostępnych taśm do jej maksymalnej wartości.

L' 3 X Roboty firmy ABB mogą wykonywać skoordynowane ruchy dzięki opcji MultiMove. Opcja ta pozwala jednemu kontrolerowi na sterowanie kilkoma robotami. Jeden kontroler pozwala na obsługę sześciu zadań równocześnie. Funkcja MultiMove wykorzystywana jest do realizacji skoordynowanych ruchów kilku robotów poruszających się w jednym układzie współrzędnych, poruszania obiektem przez jednego robota lub koordynacji kilku robotów np. w celu podnoszenia ciężkich przedmiotów [20]. Programowanie robotów wykonujących ruchy skoordynowane wymaga użycia komend na początku wystąpienia ruchu oraz w momencie zakończenia. Ruch skoordynowany rozpoczyna się od użycia komendy SyncMoveOn, natomiast polecenie SyncMoveOff kończy synchronizację. Bardzo istotnym elementem jest konieczność zachowania równej liczby komend ruchu między znacznikami dla każdego z robotów. Numery ID instrukcji ruchu muszą się pokrywać. W pracy zastosowano ruchy zsynchronizowane do pobierania taśmy przyłączeniowej przez IRB 14000 YuMi. Zastosowano metodę koordynacji ruchów wielu robotów. Prawe ramię robota ma nieruchomy układ współrzędnych – Workobject związany z przenośnikiem taśmowym. Natomiast lewe ramię ma układ współrzędnych – Workobject związany z prawym ramieniem robota.

Q' % & oprogramowania Oprogramowanie modelu stacji zrobotyzowanej składa się z wielu elementów. Opracowane zostało z myślą użycia tech-

Rys. 14. Widok panelu na stanowisku w trakcie pracy Fig. 14. View of the panel on the stand during work

Rys. 15. Testy oprogramowania z udziałem operatora z wykorzystaniem VR Fig. 15. Software tests with the participation of the operator using VR

28

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 2/ 20 21


nik wirtualnej rzeczywistości, nie jest więc możliwe korzystanie w pełni z symulacji bez sprzętu VR. Testy oprogramowania przeprowadzono w laboratorium Politechniki Rzeszowskiej. Na rys. 15 przedstawiono obraz symulacji oraz operatora w trakcie trwania procesu montażowego. Operator w trakcie symulacji korzystając z gogli i kontrolerów ręcznych oddziałuje na elementy symulacji. Przeprowadzono testy oprogramowania polegające na wcieleniu się w rolę operatora. Główna interakcja między człowiekiem a maszyną odbywa się poprzez przenoszenie elementów. Realizowane jest to dzięki kontrolerom ręcznym. Należy wybrać opcję chwytania obiektów i za pomocą kontrolera ręcznego można manipulować obiektami, które mają właściwość fizyczną „Kinematic” lub „Dynamic”. Nie ma konieczności zbliżenia kontrolera idealnie do punktu odbioru. Kierując kontroler w okolice obiektu, zostaje wybrany automatycznie najbliższy element spełniający kryteria. Następnie trzymając przycisk kontrolera, operator musi odłożyć element w strefie odbioru. Obiekt może być ustawiony pod niewielkim kątem, robot zmieni orientacje narzędzia o obliczony kąt. Zgodnie z założeniem programu, robot nie podniesie elementu do czasu, gdy operator przestanie nim poruszać.

Rys. 16. Interakcja z panelem operatora w wirtualnej rzeczywistości Fig. 16. Interaction with the operator’s panel in virtual reality

Testy panelu operatora wykazały, iż zgodnie z zaleceniem producenta, okno Virtual FlexPendant musi być otwarte, aby możliwe było korzystanie z niego w symulacji. Człowiek będąc w VR może kontrolerem oddziaływać na panel. W momencie zbliżenia kontrolera do interaktywnego elementu aplikacji GUI, pojawia się wskaźnik potwierdzający interaktywność obiektu. W trakcie testów potwierdzono poprawność działania wskaźników. Podczas symulacji operator umieszcza zużyte zestawy taśm w pojemniku. Operacja przebiega analogicznie do poprzednich, wystarczy upuścić obiekt ponad pojemnikiem i spadnie on do środka, w związku z narzuconymi właściwościami fizycznymi.

7. Podsumowanie Współpraca operatora z robotem to szczególne podejście do procesu robotyzacji. Zawiera składnik ludzki, który trudno zasymulować standardowymi rozwiązaniami. Dzięki zastosowaniu wirtualnej rzeczywistości uzyskujemy pogląd na projektowany proces, już we wczesnym etapie. W artykule przedstawiono przegląd stosowanych rozwiązań zawierających połączenie robotyki z wirtualną rzeczywistością. Omówiono także dostępne roboty kolaboracyjne wielu producentów. Opi-

sano również wykonanie i oprogramowanie modelu stacji zrobotyzowanej pozwalającej na realizację współpracy człowiek – maszyna w wirtualnej rzeczywistości. Właściwa symulacja procesu wymagała opracowania i dobrania modeli CAD. Zostały one odpowiednio skonfigurowane, aby operator mógł na nie oddziaływać w trakcie symulacji. Modele oddziałują również między sobą z uwagi na nadane właściwości fizyczne. Takie rozwiązanie pozwala na lepsze urzeczywistnienie procesu. Środowisko RobotStudio pozwoliło na wykonanie projektu i oprogramowania stanowiska. W pracy omówiono najważniejsze elementy oprogramowania stacji. Człowiek dzięki zastosowaniu technologii VR może oddziaływać na elementy symulacji. Kontrolery ręczne umożliwiają chwytanie obiektów w sposób bliski do tego, w jaki przebiega to w rzeczywistości. Zastosowanie technologii VR istotnie zwiększa możliwości wizualizacji funkcjonowania współpracy między człowiekiem a robotem.

S & 1. Honczarenko J., Roboty przemysłowe. Budowa i zastosowanie, WNT, Warszawa 2004. 2. Kaczmarek W., Panasiuk J., Wybrane konstrukcje robotów przemysłowych. „Napędy i Sterowanie”, Nr 9, 2018, 132–140. 3. Mariscal M.A., González-Pérez J., Khalid A., Gutierrez-Llorente J.M., García-Herrero S., Risks management and cobots. Identifying critical variables, Proceedings of the 29th European Safety and Reliability Conference, 2019, DOI: 10.3850/978-981-11-2724-3 0791-cd. 4. Kaczmarek W., Panasiuk J., Języki programowania a programowanie robotów. „Napędy i Sterowanie”, Nr 3, 2019, 72–79. 5. Jankowski J., Zastosowanie technik rzeczywistości wirtualnej w zdalnej kontroli pracy robota inspekcyjnego. „Pomiary Automatyka Robotyka”, R. 18, Nr 1, 2014, 112–118, DOI: 10.14313/PAR_203/112. 6. Szybicki D., Pietruś P., Zastosowanie wirtualnej rzeczywistości w projektowaniu stacji zrobotyzowanych, „Pomiary Automatyka Robotyka”, R. 24, Nr 2/2020, 63–68, DOI: 10.14313/PAR_236/63. 7. Burghardt A., Szybicki D., Gierlak P., Kurc K., Pietruś P., Cygan R., Programming of Industrial Robots Using Virtual Reality and Digital Twins. “Applied Sciences”, Vol. 10, No. 2, 2020, DOI: 10.3390/app10020486. 8. Robotics, A. B. B. (2019). YuMi—IRB 14000 – [www. itechnique.ch/wa_files/YuMi-IRB14000-presentation-external.pdf]. 9. https://library.e.abb.com/public/a83e9a8c1543470dacb7b5fcb289f679/9AKK106354A3254_datasheet_YuMi_RevH. pdf, (dostęp 27.12.2020). 10. Mężyk J., Burski B., Laboratory stand for human robot cooperation. “Problemy Eksploatacji”, T. I, 2016, 17–28. 11. Gaidano M., Interfacing Matlab with the collaborative robot UR3 (Doctoral dissertation, Politecnico di Torino), 2018. 12. www.elmark.com.pl/pl/pdf/86044.pdf, (dostęp 27.12.2020). 13. KUKA. Sensitive robotics_LBR iiwa – [www.kuka.com/-/ media/kuka-downloads/imported/9cb8e311bfd744b4b0eab25ca883f6d3/kuka_lbr_iiwa_brochure_en.pdf]. 14. KUKA. ii feel you – [www.kuka.com/-/media/kuka-downloads/imported/6b77eecacfe542d3b736af377562ecaa/db_ lbr_iiwa_en.pdf]. 15. Mitsubishi Electric Collaborative Robot Melfa Assista – [www.mitsubishielectric.com/fa/products/rbt/robot/pr/ doc/l09104_partner.pdf]. 16. [www.yaskawa.pl/Global%20Assets/Downloads/Brochures_ Catalogues/Robotics/MOTOMAN_Robots/HC20DT/ Flyer_Robot_HC20DT_E_02.2020.pdf]. 17. Spyrka M., Krenich S., Modelowanie i symulacja zrobotyzowanego gniazda produkcyjnego z wykorzystaniem

29


" % =

= "

"

20. Słota A., Domka M., Programowanie skoordynowanych ruchów robotów na przykładzie robotów ABB i Fanuc. „Pomiary Automatyka Robotyka”, R. 14, No. 2, 2010, 635–644. 21. Ofei F., Musah I., Development of robot cell for interactive catapult, 2012 – [www.theseus.fi/handle/10024/46090].

aplikacji ABB ROBOT STUDIO, „Pomiary Automatyka Robotyka”, R. 15, Nr 2, 2011, 648-655. 18. Dank R., Boot The Bot: Java-based Simulation, Code Generator and Live Controller for ABB Robots. “Journal of Automation and Control Engineering”, Vol. 1, No. 1, 2013, 25–30, DOI: 10.12720/joace.1.1.25-30. 19. Robotics, A. B. B. Instrukcja obsługi IRC5 z panelem FlexPendant, 2004.

S # + N < 0 > 0 < Z> 6% Collaborative industrial robots meet the modern approach to robotization. They enable cooperation with a human being in the robot’s work area. As part of the article, it was decided to design and build a robotic station enabling the implementation of human–machine cooperation. CAD models of the station were created using the Autodesk Inventor software. The station design was made in the RobotStudio environment with the use of the IRB 14000 YuMi robot. The software is based on smart components and Rapid language code. A graphical user interface was created, interactive with a human in virtual reality. The software was verified with the participation of the operator in virtual reality. KeywordsG 0 0 G>T -F!!! X $ % % M

! $ " "2

& $ !& "

* + ORCID: 0000-0002-6428-0959

#+ * + ORCID: 0000-0002-0113-6159

+ > + U E 8 > G# # Q ? ; + .!-'I.!-) + + + ? + T + $ 4 8 > ; ? ; B + $ ; > 0 % #+ 0 O M % # 0 9

E + 8 > G# # Q .!!( ? + .!!(I.!!' + + + ? + T + $ 4 8 ; > /+ # U B + $ ; > 0 % #+ 0 + E + .!-. O + A # + E 0 # + + + ; # O 9 0 ; + +

30

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 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 31–39, DOI: 10.14313/PAR_240/31

0 E + # # Marcin Szuster 8 > G# # Q % ? + T + $ 4 % B + $ > 0 % 8 E 9 ? -.% (;J(J > 9

9 + S H G U ;6 8 >

Streszczenie: Postępująca automatyzacja i robotyzacja w zakładach pracy oraz coraz większa złożoność systemów sterowania maszyn zespolonych powodują konieczność ciągłej poprawy bezpieczeństwa funkcjonalnego maszyn przez prawidłową walidację systemów bezpieczeństwa. Mimo przeprowadzonego procesu walidacji potencjalne błędy programowe mogą ujawnić się w trakcie użytkowania maszyny jako ukryte naruszenia bezpieczeństwa. W artykule przedstawiono przykłady naruszeń bezpieczeństwa rzeczywistych zespołów maszyn oraz próby wdrażania rozwiązań zautomatyzowanych mechanizmów do wykrywania problemów z bezpieczeństwem. Kolejnym aspektem poruszanym w artykule jest nowe podejście do wykrywania ukrytych naruszeń bezpieczeństwa. Dzięki zastosowaniu modelu „cyfrowego bliźniaka” maszyny, programu generującego sekwencję zdarzeń do testowania systemów sterowania i zastosowanie wirtualnej rzeczywistości (wizualna weryfikacja programów bezpieczeństwa) możliwa jest maksymalizacja funkcji bezpieczeństwa funkcjonalnego zespołów maszyn. % G 0 E % + 0 E % # 0 E % 0 E < # % +

1. Wprowadzenie W obecnym stanie prawnym nie trzeba mieć specjalnych uprawnień, aby projektować systemy sterowania odpowiedzialne za bezpieczeństwo. Wraz ze wzrostem stopnia złożoności zespołów maszyn zwiększa się możliwość popełnienia błędów, przeoczenia czasowych związków przyczynowo-skutkowych przy pisaniu oprogramowania sterującego, w tym oprogramowania bezpieczeństwa. Błędy oprogramowania są w swojej naturze zawsze systematyczne. Wynikają one ze sposobu opracowania, napisania lub kompilowania programu. Tym samym z realizacji procesu projektowania, a nie z działania programu [3]. Brak wiedzy i doświadczenia programisty może doprowadzić do zaprogramowania układu sterowania bez, lub z niewystar-

) 7 G $ % * + ) + .' !( .!.- % + + -& !' .!.-

!

czającą strukturą kontrolowanych działań obsługi, co przy nieodpowiednich sposobach obsługi maszyny prowadzi do niezamierzonego działania układu sterowania [2]. Pracownicy producenta odpowiedzialni za instalację i uruchomienie maszyny przed oddaniem jej do użytku powinni wielokrotnie testować i walidować elementy systemu sterowania bezpieczeństwem w celu potwierdzenia maksymalnego bezpieczeństwa funkcjonalnego oraz niezawodności systemu bezpieczeństwa. Dla skomplikowanych pod względem sterowania zespołów maszyn powołuje się zespół walidacyjny, który m.in. symuluje usterki elementów sterowniczych, sprawdza, jak zadziałają instalacje zabezpieczające i urządzenia ochronne, sprawdza działanie maszyny po odłączeniu zasilania, aby zbadać, czy powróci ona do bezpiecznego stanu, inicjuje procedury awaryjnego zatrzymania maszyny, testuje oprogramowanie [5]. Często ze względu na napięty harmonogram prac wdrożeniowych czas na testy oprogramowania, w tym oprogramowania bezpieczeństwa, jest ograniczany do minimum. W przypadku dużych systemów – maszyn zintegrowanych przeprowadzane są walidacje częściowe przed połączeniem poszczególnych elementów, a następnie sprawdzane są skutki połączenia w zakresie zachowania bezpieczeństwa sterowania. Walidacja potwierdza, że maszyny lub urządzenia spełniają wymogi bezpieczeństwa zawarte w przepisach prawa PL, UE i normach PN-EN, a pra-

31


U = % 8 % 8 cownicy są bezpieczni podczas ich obsługi, przy czym można ją wykonywać w warunkach rzeczywistych lub symulowanych [5]. Najważniejsze normy regulujące proces walidacji to [6]: − Norma PN-EN ISO 13849-1/-2 Bezpieczeństwo maszyn – Elementy systemów sterowania związane z bezpieczeństwem – Część 2: Walidacja. − Norma PN-EN 60261 Bezpieczeństwo maszyn – Bezpieczeństwo funkcjonalne elektrycznych, elektronicznych i programowalnych elektronicznych systemów sterowania związanych z bezpieczeństwem. − Norma PN-EN 61508 Bezpieczeństwo funkcjonalne elektrycznych/elektronicznych/ programowalnych systemów związanych z bezpieczeństwem. Mimo przeprowadzonego procesu walidacji zgodnie z normami, potencjalne błędy programowe mogą ujawnić się w trakcie użytkowania maszyny jako ukryte naruszenia bezpieczeństwa. Pod pojęciem tym kryją się m.in. niedoskonałości oprogramowania, potencjalnie mogące wywołać niezamierzone działanie układu sterowania maszyny (w tym układu bezpieczeństwa). Nieoczekiwane błędy logiczne mogą spowodować poważne problemy, takie jak obrażenia fizyczne, straty materialne czy kosztowne przestoje linii. Algorytm sterowania maszyny zintegrowanej, zapisany w wybranym języku programowania, jest realizowany przez mikroprocesorowe urządzenie przetwarzające. Często wybieranymi do tego zadania rozwiązaniami są sterowniki przemysłowe, które w układach automatyki nie pracują jednak samodzielnie (ang. PLC is NOT Working Alone), wymieniając informacje oraz sygnały z zewnętrznymi czujnikami, aktuatorami, innymi sterownikami. Testowanie oprogramowania PLC wymaga podania zewnętrznych sygnałów wyzwalających zdarzenia, co więcej sygnały te muszą najczęściej przychodzić w określonym czasie i w określonej kolejności czasowej [1]. Udział człowieka (operatora) w procesie sterowania wprowadza do tego procesu nieprzewidywalność związaną np. z różnym czasem reakcji operatorów na zdarzenia oraz możliwością postępowania niezgodnego z instrukcjami obsługi maszyn. Prawidłowo wykonany układ sterowania powinien zabezpieczyć człowieka, maszyny jak i proces technologiczny przed nieprawidłową reakcją operatora. Na rzeczywistym obiekcie optymalizuje się czasy, parametry technologiczne (ciśnienia, prędkości itp.), parametry bloków funkcyjnych bezpieczeństwa, co wpływa na bezpieczeństwo użytkowania. Zastosowanie PLC w maszynach zespolonych przyniosło elastyczność i możliwość konfiguracji systemu sterowania. Równocześnie wprowadziło złożoność, a tym samym niepewność, zwłaszcza co do krytycznych dla bezpieczeństwa funkcji oprogramowania. W artykule przedstawiono sprzętowo-programową realizację funkcji bezpieczeństwa wraz z przykładami naruszeń bezpieczeństwa rzeczywistych maszyn zintegrowanych. Próby wdrażania rozwiązań zautomatyzowanych

32

P

O

M

I

A

R

Y

mechanizmów wykrywania ukrytych naruszeń bezpieczeństwa przedstawione są w rozdziale dotyczącym automatycznej walidacji systemów sterowania bezpieczeństwem. Nowe podejście do wykrywania ukrytych naruszeń bezpieczeństwa umożliwi maksymalizację funkcji bezpieczeństwa funkcjonalnego maszyny zintegrowanej.

H' % Y & # Współczesne konstrukcje maszyn zawierają złożone systemy sterowania oparte głównie na programowalnych i konfigurowalnych sterownikach logicznych PLC (rys. 1a), których szczególnym rozwinięciem są programowalne sterowniki bezpieczeństwa sPLC (rys. 1b). Te z kolei mogą pracować niezależnie od sterownika PLC lub być z nim zintegrowane siPLC (ang. safety integrated PLC – rys. 1c). Sterowniki sPLC oraz siPLC umożliwiają połączenie różnych elementów bezpieczeństwa i sterowania elementami bezpieczeństwa. Są to elementy maszyny wymagające od programisty szczególnej uwagi i doświadczenia w programowaniu. Wybór sprzętowy sterownika bezpieczeństwa wiąże się z wyborem języka programowania. Do najbardziej popularnych zalicza się:

Rys. 1 a) Przykład PLC - Delta SE [24] b) sPLC - Wieland SamosPro [25] c) siPLC – Siemens S7-1200F [26] Fig. 1 a) PLC example - Delta SE [24] b) sPLC - Wieland SamosPro [25] c) siPLC – Siemens S7-1200F [26]

Rys. 2. Przykład użycia drabinkowego języka programowania sterownika PLUTO ABB [8] Fig. 2. An example of using the ladder programming language of the PLUTO ABB controller [8]

Rys. 3. Przykład zastosowania graficznego języka programowania – SamosPro Wieland Fig. 3. An example of using a graphical programming language – SamosPro Wieland

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


! " ( (ang. Ladder Diagram), Najbardziej popularny język graficzny programowania siPLC. Rysunek 2 przedstawia przykład programowania sterownika Pluto (ABB). Programowanie odbywa się za pomocą języka drabinkowego lub algebry Boole’a – z licznikami, pamięcią zmiennych, rejestrami, programowaniem sekwencyjnym oraz blokami funkcyjnymi zatwierdzonymi przez TUV [8]. ( ZS+ (ang. Function Block Diagram), Język graficzny programowania jest szczególnie popularny w sterownikach sPLC. Przykład z rys. 3 przedstawia użycie biblioteki certyfikowanych bloków funkcyjnych. ( [ & 4 (uproszczony) Język tekstowy wysokiego poziomu umożliwia programowanie sterowników bezpieczeństwa z uwzględnieniem specjalnych ograniczeń funkcji i możliwości języka C w celu uniknięcia możliwości kompilacji programów o niejednoznacznej semantyce [28]. W porównaniu z programowaniem opartym na blokach funkcyjnych, języki wysokiego poziomu umożliwiają programiście sprawniejsze tworzenie zaawansowanych algorytmów sterowania. Język programowania wysokiego poziomu najczęściej stosowany jest w droższych jednostkach PLC, sPLC oraz siPLC. Na rys. 4 pokazano przykład użycia struktury w sterowniku Beckhoff do zaprogramowania bezpiecznych stanów wejść sterownika. ( Język tekstowy niskiego poziomu ma składnię podobną do języków typu asembler. Program w języku niskiego poziomu składa się z sekwencji rozkazów, z których każdy kolejny zaczyna się w nowej linii (rys. 5). Stosowanie uproszczonych języków programowania w systemach sterowania bezpieczeństwem, jak przedstawiony powyżej, umożliwiło ograniczenie błędów systematycznych oprogramowania [12]. Zasady programowania graficznych języków programowania są szczegółowo opracowywane przez producentów oprogramowania. Dzięki zastosowaniu certyfikowanych bloków funkcjonalnych do obsługi funkcji bezpieczeństwa programista nie pisze oprogramowania od podstaw, tylko stosuje procedury zawarte w bibliotekach (rys. 6). Głównym zadaniem programisty systemu bezpieczeństwa staje się więc konfiguracja systemu bezpieczeństwa poprzez: a) wybór odpowiedniego sprzętu bezpieczeństwa (konfiguracja sprzętowa systemu) (rys. 7, etap A), b) wybór i konfiguracja wejść/wyjść systemu bezpieczeństwa (rys. 7, etap B), c) zaprogramowanie algorytmu sterującego bezpieczeństwem (logika) (rys. 7, etap C). Kolejne kroki programowania funkcji systemu bezpieczeństwa przedstawiono na przykładzie oprogramowania SamosPro Wieland na rys. 7.

Rys. 4. Przykład zastosowania języka programowania wysokiego poziomu – Beckhoff TwinCat [9] Fig. 4. An example of the use of a high-level programming language – Beckhoff TwinCat [9]

Rys. 5. Przykład zastosowania języka programowania niskiego poziomu – Pluto ABB [8] Fig. 5. An example of the use of a low-level programming language – Pluto ABB [8]

Rys. 6. Przykład sprzętowych i logicznych bibliotek programu Samos Pro Wieland w języku FBD Fig. 6. Example of hardware and logical libraries of Samos Pro Wieland in FBD language

Rys. 7. Przykład konfiguracji systemu bezpieczeństwa – SamosPro Wieland [11] Fig. 7. Example of a security system configuration – SamosPro Wieland [11]

33


U = % 8 % 8 Wyjście sygnałowe z pierwszej funkcji bezpieczeństwa (SafeScaling) może być wejściem sygnałowym do kolejnej funkcji (SafeCompare). Na przykładzie z rys. 9 – błędnie podane wartości skalowania powodują rozbieżność przy porównywaniu wartości sygnału ciśnienia z dwóch różnych czujników.

Programista odpowiada więc za prawidłowe użycie wejść, wyjść oraz sygnałów dynamicznych związanych z bezpieczeństwem. W każdym z języków programowania sterowników bezpieczeństwa występują elementy (np. w postaci bloków funkcyjnych) do sparametryzowania, odpowiadające za bezpieczeństwo. Przykładem parametryzowanego bloku funkcyjnego FB (ang. Function Block) może być FB muting (rys. 8). Blok muting umożliwia realizację czasowego wyłączenia funkcji ochronnej, np. w czasie transportu materiału do strefy ochronnej. Wyjście bloku funkcyjnego pozostaje aktywne mimo przerwania podłączonego czujnika bezpieczeństwa (np. kurtyny świetlnej) [7], co w standardowych warunkach pracy prowadziłoby do awaryjnego zatrzymania maszyny zespolonej. Tylko w jednym przykładowym FB typu muting do sparametryzowania są co najmniej trzy parametry, które odpowiadają za bezpieczeństwo: maksymalny czas wstrzymania reakcji podczas pracy elektroczułych urządzeń zabezpieczających, czas filtrowania wejść bloku oraz czas opóźnienia wyjścia. W rzeczywistych dużych maszynach zintegrowanych (liniach zespolonych) mogą być zastosowane setki bloków funkcyjnych bezpieczeństwa, co może wymagać doboru tysięcy parametrów odpowiedzialnych za bezpieczeństwo, które trzeba poprawnie skonfigurować i walidować. Często zmiana jednego parametru ma wpływ na działanie innych bloków funkcyjnych (rys. 9).

I' 3 # # Autorzy w pracy zawodowej spotkali się z sytuacją, w której do sterowania linią zespoloną zastosowano protokół MODBUS TCP tak, że urządzenie sterujące stanowił komputer (nie oparty na systemie czasu rzeczywistego) z oprogramowaniem sterującym linią. Sterował on bezpośrednio wyjściami PLC za pomocą przypisanych rejestrów MODBUS TCP. Możliwość bezpośredniego sterowania wyjściami PLC przez system, który może wygenerować odpowiedź po diametralnie różnym czasie (przykładowo raz może to być 5 ms, a innym razem 5 s) jest naruszeniem bezpieczeństwa (Dyrektywa Maszynowa [30] pkt. 1.2.1. – defekty sprzętu komputerowego i oprogramowania układu sterowania nie mogą prowadzić do sytuacji zagrożenia). W nowoczesnych sterownikach bezpieczeństwa możliwe jest przypisanie ról, co daje możliwość: − operatorom – podglądu programu bezpieczeństwa, − pracownikom sekcji utrzymania ruchu – resetowania systemu bezpieczeństwa po awarii maszyny, − integratorowi – zmiany krytycznych parametrów związanych z bezpieczeństwem. Brak odpowiedniego przypisania ról lub zabezpieczenia przed zmianą krytycznych parametrów systemu przez osoby nieuprawnione stanowi naruszenie bezpieczeństwa (Dyrektywa Maszynowa pkt. 1.2.1. – układy sterowania muszą być zaprojektowane i wykonane w sposób, który zapobiegnie powstawaniu sytuacji zagrożenia). Autorzy spotkali się z sytuacją, gdzie automatyczny magazyn wysokiego składowania miał nadany certyfikat zgodności CE, natomiast możliwa była zmiana krytycznych parametrów ruchu z poziomu HMI przez operatora, co skutkuje niezgodnością z dyrektywą 2006/42/WE w zakresie pkt. 1.2.1. Potencjalne naruszenie bezpieczeństwa omówiono na przykładzie niepoprawnego zastosowania elementu sterowania dwuręcznego. Pulpit sterowania dwuręcznego składa się z dwóch przycisków załączanych dłońmi w standardowym trybie działania oraz przycisku zatrzymania awaryjnego STOP (rys. 10).

Rys. 8. Przykład konfiguracji bloku muting w oprogramowaniu Beckhoff TwinSafe [7] Fig. 8. Example of a muting block configuration in the Beckhoff TwinSafe software [7]

Rys. 10. Pulpit sterowania dwuręcznego [10] Fig. 10. Two-hand control desk [10]

Autorzy kilkukrotnie spotkali się z niepoprawnym użyciem tego elementu w zaawansowanych aplikacjach renomowanych producentów maszyn. Walidacja wykazała, że przyciski sterowania dwuręcznego działają prawidłowo, tzn. po naciśnięciu przycisków rozpoczyna się realizacja procesu, po puszczeniu przycisków realizacja procesu jest zatrzymywana. Jednak szczegółowa analiza programu sterującego wykazała występowanie błędów zmniejszających bezpieczeństwo, takich jak: V' "\ ! 3 4 ] ' VV^' Połączenie szeregowe elementów Przycisk1 oraz Przycisk2 jest niepoprawne z powodu:

Rys. 9. Zmiana parametru „Scale” ma wpływ na pozostałe bloki bezpieczeństwa [13] Fig. 9. Changing the “Scale” parameter affects the remaining safety blocks [13]

34

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 2/ 20 21


! " − braku odporności układu sterowana na uszkodzenia mechaniczne przycisków, co więcej do układu sterowania nie jest dostarczana informacja o tym, który przycisk uległ awarii, − możliwości ominięcia zabezpieczenia przez operatora, np. poprzez sklejenie taśmą jednego z przycisków i uruchomienie procesu naciśnięciem jedynie drugiego przycisku.

Rys. 11. Niepoprawny układ szeregowy przycisków (Logo Soft Comfort) Fig. 11. Incorrect layout of the buttons in series (Logo Soft Comfort)

H' "\ 3 4_ ] ' VH^ W układzie niepoprawnym (rys. 12) zastosowano dwa kanały wejściowe PLC (dobór liczby kanałów musi wynikać z normy [29] oraz analizy ryzyka). Program z rys. 12 został napisany dla sterownika PLC, którego wyjścia nie zapewniają bezpieczeństwa w układach wymagających sterowania dwuręcznego.

Rys. 12. Niepoprawny układ dwukanałowy sterowania dwuręcznego (Logo Soft Comfort) Fig. 12. Incorrect two-channel two-hand control system (Logo Soft Comfort)

do zautomatyzowania walidacji systemu bezpieczeństwa i tym samym do zmniejszenia liczby programowych, ukrytych naruszeń bezpieczeństwa. Podany przykład systemu reguł dla przycisków sterowania dwuręcznego ma na celu przedstawienie idei automatyzacji walidacji. Dla reguły R1 w zależności od oceny ryzyka dla układów o najwyższym poziomie wymaganej niezawodności mogą być stosowane przyciski z dwoma stykami, co może wymagać zastosowania nawet czterech wejść sterownika. Na dużych liniach maszyn zespolonych system reguł pracy maszyny najlepiej znany jest operatorom, osobom z utrzymania ruchu oraz serwisantom. Wiedza i doświadczenie tych osób zdobyte w trakcie pracy linii zespolonej (w postaci systemu reguł) mogą również posłużyć do poszukiwania ukrytych naruszeń bezpieczeństwa. Drugim przykładem ukrytego naruszenia bezpieczeństwa może być użycie wejść/wyjść PLC do sterowania funkcjami bezpieczeństwa (Dyrektywa Maszynowa 1.2.4.3 – zatrzymanie awaryjne musi możliwie najszybciej zatrzymywać niebezpieczny proces, bez stwarzania dodatkowego ryzyka). PLC może zatrzymać proces jedynie technologicznie. Przykład z rys. 13 przedstawia cztery sygnały wyjściowe przycisków bezpieczeństwa (przyciski bezpieczeństwa normalnie zamknięte), będące wejściami PLC, połączone z zastosowaniem operatora logicznego „i” oraz przypisane do wyjścia „Safety_Ok”. Wyjście realizuje jeden z warunków załączania ruchu taśmy produkcyjnej w przypadku braku naciśnięcia przycisku awaryjnego. Naciśnięcie jednego z przycisków awaryjnych nie spowoduje bezpiecznego zatrzymania ruchu taśmy produkcyjnej, a jedynie zatrzymanie technologiczne. To tak jak z wyłączeniem telewizora za pomocą pilota (zatrzymanie technologiczne) lub wyłączeniem telewizora przez wypięcie wtyczki kabla zasilającego z gniazda (bezpieczne zatrzymanie urządzenia).

Rys. 13. Przykład zastosowania sygnałów informacyjnych z wyłączników bezpieczeństwa do sterowania procesem (przykład wykonany w GX Works 2) Fig. 13. Example of the use of information signals from safety switches for process control (example taken in GX Works 2)

Do układu sterowania jest dostarczana informacja o tym, który przycisk uległ awarii, lecz nie jest ona obsłużona programowo. Wejścia, które są wymagane w programie bezpieczeństwa należy odczytać bezpośrednio w programie bezpieczeństwa. Nadal istnieje możliwość ominięcia zabezpieczenia przez operatora. Prawidłowo napisany program dla układu sterowania Należy unikać przejść sygnałów bezpieczeństwa przez program dwuręcznego powinien wykorzystać w układzie sterowania użytkownika oraz tworzenia skomplikowanych ścieżek sygnałów. – klasyczny zespół sterownik PLC z przekaźnikiem bezpieKolejnym przykładem ukrytego naruszenia bezpieczeństwa czeństwa lub sterownik ze zintegrowanym (programowalnym) (Dyrektywa Maszynowa 1.2.1 – parametry maszyny nie mogą bezpieczeństwem umożliwiającym obsługę sterowania dwuręczzmieniać się w sposób niekontrolowany, jeżeli taka zmiana może nego przez odtworzenie na drodze programowej wymaganego prowadzić do sytuacji zagrożenia) jest brak ochrony bloków bezprzez przepisy sposobu zachowywania się takiego sterownika. pieczeństwa przed dostępem osób nieuprawnionych oraz brak Prawidłowa programowa realizacja układu sterowania powinna zabezpieczenia programu PLC przed nadpisaniem innym kodem wymusić najpierw puszczenie obydwu przycisków, a następ(np. w przypadku użycia na linii kilku sterowników tego samego nie ich wciśnięcie, aby kolejny cykl realizacji procesu mógł typu, które są widoczne w sieci) (rys. 14). Programista może wystartować (ważny jest czas wystąpienia zdarzeń – aktywacja przez pomyłkę przeprogramować niewłaściwy PLC. Szczególnymi miejscami, w których można poszukiwać ukryobydwu przycisków z odstępem czasu mniejszym niż 500 ms (synchroniczność) oraz kolejność ich wystąpienia). tych naruszeń bezpieczeństwa w kodzie programu są wywołaWystarczy mieć wiedzę odnośnie działania przycisków sterowania dwuręcz- Tab. 1. Przykład systemu reguł dla przycisków sterowania oburęcznego nego (PN-EN 574+A1:2010) Tab. 1. An example of a rule system for two-hand control buttons i już można zacząć budować system ekspertowy w oparciu o reguły działania prawidłowego układu sterowania (tab.1). System ekspertowy może zostać zastosowany

35


U = % 8 % 8 alizacji stanu bezpieczeństwa maszyny, żądania potwierdzania błędów. W takim przypadku zachodzi potrzeba wymiany danych między standardowym programem użytkownika (zawierającym obsługę HMI), a programem bezpieczeństwa. Komunikacja między HMI i sterownikiem jest acykliczna. Podczas przetwarzania programu bezpieczeństwa HMI może mieć możliwość zapisu danych a program bezpieczeństwa będzie te dane odczytywał. Może to spowodować uszkodzenie danych w programie bezpieczeństwa, co spowoduje zatrzymanie CPU. Przed taką sytuacją chronią specjalne bloki systemowe, np. w oprogramowaniu firmy Siemens jest to blok ACK_OP realizujący potwierdzanie błędów z zastosowaniem HMI. Ten blok systemowy jest wyjątkiem od zalecanej realizacji wymiany danych [15].

Rys. 14. Przykład wyszukiwania PLC w sieci sterowników Delta-DVP Fig. 14. Example of searching for a PLC in the network of Delta-DVP controllers

nia zegarów (ang. timers). Przy nieodpowiednio napisanym programie zmiana nastaw czasowych, np. czasu opóźnienia załączania będzie miała wpływ na działanie, funkcjonalność i bezpieczeństwo sterowania (Dyrektywa Maszynowa 1.2.1 – błędy w układach logicznych sterowania nie mogą prowadzić do sytuacji zagrożenia). W trakcie walidacji należy ograniczyć możliwość zmiany parametrów nastaw czasowych do wartości bezpiecznych i przetestowanych. Pokazany na rys. 15 przykład przedstawia użycie bloku typu timer opóźniający – T_delay1, przy czym ustawiony za krótki czas spowoduje, że siłownik pneumatyczny (S3) będzie miał kolizję mechaniczną

Rys. 16. Przykład użycia bloku RS do sterowania procesem (przykład Logo Soft Comfort) Fig. 16. Example of using the RS block for process control (example Logo Soft Comfort)

Przykład z rys. 17 przedstawia możliwość załączenia silnika (SKRZYNKA_Wy_ZAL_WYL_SILNIK) za pomocą przycisku start (przycisk normalnie otwarty) umieszczonego na szafie sterowniczej (SKRZYNKA_0We_START_SZAFA) lub za pomocą przycisku na panelu HMI. Sterowanie elementami bezpieczeństwa za pomocą panelu HMI bez zastosowania specjalnych bloków systemowych jest naruszeniem bezpieczeństwa. Dla dużych (pod względem zajmowanej powierzchni) zespołów maszyn do sterowania procesem technologicznym często stosuje się kilka pulpitów sterowniczych. Dyrektywa maszynowa w pkt. 1.2.2 załącznika 1 wymaga, by „w przypadku, gdy maszyna posiada dwa lub więcej stanowiska operatora, każde stanowisko musi być tak wyposażone we wszystkie wymagane elementy sterownicze, aby operatorzy nie przeszkadzali sobie lub nie stwarzali wzajemnie sytuacji zagrożenia”. Pod kątem programowania ważne jest odpowiednie zabezpieczenie programowe, tak by nie można było sterować procesem technologicznym z kilku pulpitów sterowniczych jednocześnie w sposób mogący powodować zagrożenie. Norma PN-EN ISO 13850:2016-03 wprowadziła możliwość podziału na strefy bez-

Rys. 15. Przykład użycia zegara do sterowania procesem (przykład Logo Soft Comfort) Fig. 15. Example of using the clock to control the process (example Logo Soft Comfort)

z siłownikiem pneumatycznym – (S1). Rozwiązaniem bezpieczniejszym jest zastosowanie czujników wykrywający położenie tłoczyska. W maszynach, w których użyto Rys. 17. Przykład zastosowania panelu HMI do sterowania procesem [GX Works 2] „impulsów” do sterowania procesem Fig. 17. Example of using the HMI panel for process control [GX Works 2] (rys. 16) ważne jest odpowiednio długie trwanie sygnału, aby urządzenia współpracujące z sygnałem mogły wykryć zmianę stanu. Jeśli pieczeństwa maszyn zatrzymanych awaryjnie, co oznacza, że dla każdego z pulpitów sterowniczych różne elementy układu w przykładzie marker M3 załączy się zbyt szybko, wówczas siłownik osi X oraz eżektor na siłowniku X mogą nie zadziasterowania (strefy bezpieczeństwa) mogą być wyłączane przyciłać prawidłowo. skiem bezpieczeństwa. Oznaczenie, która strefa bezpieczeństwa Panel operatorski realizujący interfejs HMI to niezbędny jest przypisana do danego przycisku musi być jednoznaczne. Za każdym razem dany przycisk bezpieczeństwa musi działać i wygodny element w pracy operatora maszyny. Sygnały z panelu HMI nie są związane z bezpieczeństwem i nie są monitak samo, co oznacza, że nie można jego działania uzależnić torowane [15]. Panel HMI często jednak używany jest do wizuod np. zadziałania jakiegokolwiek czujnika.

36

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 2/ 20 21


! "

J' ) # Ze względu na złożoność współczesnych systemów sterowania maszyn zespolonych istnieje coraz większa potrzeba rozwijania zautomatyzowanych mechanizmów do wykrywania problemów z bezpieczeństwem. Podczas projektowania zespołów maszyn oraz walidacji systemu sterowania należy uwzględnić tzw. możliwe do przewidzenia niewłaściwe użycie maszyn (Dyrektywa Maszynowa – pkt 1.1.2 c) podczas projektowania i wykonywania maszyny oraz podczas opracowywania instrukcji producent lub jego upoważniony przedstawiciel musi wziąć pod

logikę sterowania modelem zakładu. Artykuł opisuje metodę konstrukcji modelu zakładu opartą na formalizmie DEVS (ang. Discrete Event Systems Specifications), który obsługuje dyskretne specyfikacje modeli zdarzeń w sposób hierarchiczny oraz modułowy (rys. 19). Wizualna weryfikacja programów PLC możliwa jest również przez pracę na modelach „cyfrowych bliźniaków” (ang. digital twins) (rys. 20) [19]. Są to cyfrowe repliki fizycznych obiektów, procesów i systemów. Model cyfrowego bliźniaka to połączenie fizycznego obiektu oraz jego cyfrowego odwzorowania w przestrzeni wirtualnej [19].

Rys. 18. Przykład idei automatyzacji procesu walidacji z zastosowaniem programu VetPLC [27] Fig. 18. An example of the idea of automating the validation process using the VetPLC program [27]

uwagę nie tylko zamierzone zastosowanie maszyny, ale także możliwe do przewidzenia niewłaściwe użycie). Na świecie pojawiają się prace naukowe [1], w których opisywane są próby zastosowania algorytmów automatyzujących proces walidacji systemu sterowania (rys. 19), umożliwiających automatycznie znajdowanie miejsc programu, w których znajdują się potencjalne problemy z bezpieczeństwem. Automatyzacja procesu walidacji umożliwia udokumentowanie przebiegu procesu walidacji, w tym rozwiązanie przynajmniej części problemów wynikających z obowiązku udokumentowania i opisania przypadków możliwego do przewidzenia niewłaściwego użycia maszyny. Aplikacja VetPLC [1] może skutecznie generować sekwencje zdarzeń czasowych, które umożliwiają wykrycie błędów bezpieczeństwa zawartych w kodzie PLC ze względu na błędy programistów. Rzeczywisty kod programu PLC sterowany zdarzeniami jest wrażliwy na kolejność i czas ich wystąpienia. VetPLC automatycznie generuje czasowe sekwencje zdarzeń, oraz przez analizę przyczyn zdarzeń w kodzie PLC i wydobywanie danych o czasie zdarzenia z fizycznego stanowiska wskazuje obszary, w których mogą znajdować się ukryte naruszenia bezpieczeństwa (rys. 18). Na tej podstawie możliwe jest udokumentowanie i zautomatyzowanie procesu walidacji dużych maszyn zespolonych. W pracach [17, 18] zaproponowano architekturę środowiska programistycznego PLC umożliwiającą wizualną weryfikację programów PLC. Proponowana architektura integruje program PLC z odpowiednim modelem zakładu, dzięki czemu użytkownicy mogą intuicyjnie weryfikować program PLC w środowisku graficznym 3D. Model zakładu obejmuje wszystkie urządzenia produkcyjne, a program PLC zawiera

Rys. 19. Mapowanie połączeń między cyfrowym modelem zakładu a programem PLC [18] Fig. 19. Mapping connections between the digital model of the plant and the PLC program [18]

Rys. 20. Przykład „cyfrowego bliźniaka” w oprogramowaniu Tecnomatix Plant Simulation firmy Siemens [20] Fig. 20. An example of a “digital twin” in the Tecnomatix Plant Simulation software by Siemens [20]

37


U = % 8 % 8

13. http://ftp.beckhoff.pl/download/document/automation/ twinsafe/applicationguidetwinsafeen.pdf 14. Siemens, Przekaźniki bezpieczeństwa – podręcznik aplikacyjny, edycja 2014 15. Siemens, Simatic safety – konfiguracja i programowanie – Podręcznik programowania i obsługi, 10/2019 16. Siemens, Safety Programming Guideline for SIMATIC S7-1200/1500, 10/2017 17. Ko M., Park S., Wang G.N., Visual Validation of PLC Programs, 2008, DOI: 10.7148/2008-0410. 18. Park S.C., Park C.M., Wang G.N., Kwak J., Yeo S., PLCStudio: Simulation based PLC code verification, 2008, DOI: 10.1109/WSC.2008.4736071. 19. https://przemyslprzyszlosci.gov.pl/tag/digital-twin/ 20. https://przemysl-40.pl/index.php/2017/12/04/cyfrowy-blizniak/ 21. http://www.nirtec.com/index.php/plc-virtual-simulator/ 22. TwinCAT Safety PLC PC based Safety Controller 23. Delta, “DVP-ES2/EX2/SS2/SA2/SX2/SE&TP Operation Manual – Programming”, 2014 24. https://induprogress.pl/produkty/sterowanie-i-wizualizacja-procesow/sterowniki-plc-serii-dvp-slim/ 25. https://www.wieland-electric.com/en/products/safety-technology/safety-controller/ 26. https://mall.industry.siemens.com/mall/pl/pl/Catalog/ Product/6ES7212-1AF40-0XB0 27. https://pdfs.semanticscholar.org/dc67/3dfe396e171f70e37ef5ec4d989dbe4b15de. pdf?_ga=2.216117650.543777785.1619125049890432265.1613689756 28. https://download.beckhoff.com/download/document/automation/twinsafe/tcsafetyplc_en.pdf 29. PN-EN ISO 13851:2019-05 - Oburęczne urządzenia sterujące, aspekty funkcjonalne, zasady projektowania 30. Dyrektywa 2006/42/WE Parlamentu Europejskiego i Rady: https://eur-lex.europa.eu/legal-content/PL/TXT/ PDF/?uri=CELEX:32006L0042&from=PL

Połączenie modeli „cyfrowych bliźniaków” [19] maszyn, wraz z zastosowaniem programu generującego sekwencje zdarzeń do testowania systemów bezpieczeństwa [1], przy równoczesnym zastosowaniu wirtualnej rzeczywistości, umożliwi maksymalizację bezpieczeństwa funkcjonalnego przez poszukiwanie ukrytych naruszeń bezpieczeństwa.

L' 3 Podstawy bezpieczeństwa przy tworzeniu i obsłudze maszyn zintegrowanych powinny być dobrze zdefiniowane i rozpoznane, aby uniknąć awarii i wypadków, w tym ich konsekwencji dla człowieka i środowiska. Przez prawidłową walidację systemów bezpieczeństwa wspomaganą oprogramowaniem do poszukiwania ukrytych naruszeń bezpieczeństwa możliwa jest poprawa bezpieczeństwa funkcjonalnego związanego z oprogramowaniem sterującym. Automatyzację mechanizmów do wykrywania problemów z bezpieczeństwem utrudniają liczne języki programowania sterowników bezpieczeństwa oraz niekompatybilność oprogramowania bezpieczeństwa różnych producentów. Podane przykłady niepoprawnych praktyk aplikacji wybranych aspektów funkcji bezpieczeństwa umożliwiają lepsze zrozumienie tematyki ukrytych naruszeń bezpieczeństwa. Przedstawione rozwiązania zautomatyzowanych mechanizmów do wykrywania problemów z bezpieczeństwem wskazują kierunek rozwoju związanego z walidacją zespołów maszyn. Przez zastosowanie programów generujących sekwencje zdarzeń do testowania systemów sterowania i zastosowanie wirtualnej rzeczywistości do wizualnej weryfikacji programu PLC można zapewnić bezpieczniejsze miejsce pracy operatora maszyny zintegrowanej.

S & 1. Zhang M., Chen C.Y., Kao B.C., Qamsane Y., Shao Y., Lin Y., Shi E., Mohan S., Barton K., Moyne J., Mao Z.M., Towards Automated Safety Vetting of PLC Code in Real-World Plants, 2019 IEEE Symposium on Security and Privacy (SP), DOI: 10.1109/SP.2019.00034. 2. Broel-Plater B., Układy wykorzystujące sterowniki PLC, Projektowanie algorytmów sterowania, Wydawnictwo Naukowe PWN, Warszawa 2021. 3. Rockwell Automation, Systemy sterowania związane z bezpieczeństwem maszyn. Zasady, normy i wdrożenie (Podręcznik bezpieczeństwa – wersja 5) 4. https://iautomatyka.pl/kurtyny-bezpieczenstwa-rodzajedzialanie-sposoby-stosowania-sick/ 5. https://www.magazynprzemyslowy.pl/artykuly/walidacja-bezpieczenstwa-maszyn 6. https://bezpieczenstwo-maszyn.com/uslugi/walidacja/ 7. http://ftp.beckhoff.pl/download/document/automation/ twinsafe/TwinSAFE-Logic-FBen.pdf 8. http://www.contra-polska.pl/pliki/1000/636_pl_pluto.pdf 9. http://ftp.beckhoff.pl/download/document/automation/ twinsafe/TcSafetyPLC_en.pdf 10. https://fabrykaelektryka.pl/pulpit-sterowania-dwurecznego-2-przyciski-czerwony-stop-2r-okapturzony-xy2sb72schneider-electric-p-80944.html 11. Wieland, Samos PLAN6 Software Manual nr. BA000968 12. https://bezpieczenstwowsystemachsterowania.pl/2018/04/ warunki-funkcjonowania-oprogramowania-w-aplikacjach-bezpieczenstwa/

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

NR 2/ 20 21


! "

[ ++ T = < 6 # 8 Abstract: The progressing automation and robotization in the industrial plants as well as the increasing complexity of the control systems of integrated machines make it necessary to constantly improve the functional safety of machines through the correct validation of safety systems. Despite the validation process carried out, the potential software errors may reveal during the usage of the machine as hidden security breaches. The article presents examples of security breaches of real machine tools and attempts to implement solutions of automated mechanisms for detecting security problems. Another aspect of the article is the new approach for detecting hidden security breaches. Using the „digital twin” model of the machine, a program that generates a sequence of events for testing control systems, and the use of a virtual reality (visual verification of the safety programs), it is possible to maximize the functional safety functions of the machine. KeywordsG ++ 0 % < + % # 0 < % < < < # + % +

& %$ $ 5 " # $ ;

! $ 9 +

* + ORCID: 0000-0002-9713-4456

0 *# ORCID: 0000-0002-5998-5890

=0 ? + T + $ 4 8 > ; ? .!!) E # ; U ; % .!-. E + + 9U % .!.! E + 0 # U ; ; + U ; ? .!-- + A B + $ > 0 ? + T + $ 4 8 > % #+ + + O # 0 A + 0 9 % + ; # % + # A A % + % + 0 0 9 O 8 # 6 $ 6 I 9 + F( 0 0 + # % + # < #

=0 ? + 9 G U $ ; > 0 @ % = % G < G U T ; + = + "9 ;[ B ? .!-- E U % .!-. E # U 8 + + A + ; + 9 + 6 < H 6 # ? $ ? .!-. A + ; % #+ + 0 + + + + 9 + U + /+ .!-J + 9 GGG S ; H G U ;6 8 > O # 0 A A E U A 0 E 0 # A # # + + # A + # 9 % 9 U ; + #

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

NR 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 41–46, DOI: 10.14313/PAR_240/41

G+ \ < 6 < S84 [ 6 < $ + < # 4 8 $ 5 # 9 !" * 4 + < 6 # % G < @ % ?9 E .--I.-(% J!;J.F Q9+R% 8 +

3 % < " % ] < @ # #% 6 # -.(% J!(. " ; + % T #

6% This paper deals with parameters’ identification of the Dual Phase Lag (DPL) thermal model of a 3D printed porous materials. The experiments were performed for two porous materials with different filling factors. The Laplace transform was applied for the heat transfer equation and together with different optimization methods it allowed to identify the thermal time constants of the DPL model. Several optimization methods were tested with known parameters in order to confirm the correctness of the parameters’ estimation. 2 G S84 + % % % G> % +

1. 1D DPL model of a porous material Let us consider a slab made of porous material with thickness d. Heating is generated at the bottom side by heat flux q(d). In addition the convection cooling is applied at the upper surface where the temperature is measured by a thermographic camera, as shown in figure 1. The solution of 1D Fourier-Kirchhoff differential equation [1, 2] in frequency domain for a sourceless object takes a form [3–5].

(1) where A and B are the integration constants. The diffusion length L(j w) varies with frequency and is defined as in equation (2). (2)

where k is thermal conductivity and Cth is volumetric thermal capacity.

) 7 G $ A % * + ) + - !( .!.- % + + .& !' .!.-

!

Fig. 1. The model geometry Rys. 1. Geometria modelu

The Dual Phase Lag (DPL) model assumes that the heat is transferred not only due to the temperature gradient. In addition, thermal energy can be generated and transfers if both the temperature and the heat flux are varying in time. In consequence, two additional time constants are introduced displaying both an additional relaxation of heat tq and a lag of temperature tT [3, 6–8]. q + τq

⎛ ∂T ∂q ∂ 2T ⎞ ⎟ = −k ⎜⎜ + τT ∂t ∂x∂t ⎟⎠ ⎝ ∂x

(3)

41


F ? 8 <8

' 8 c \ ` < \

Using the Laplace transform for the equation (3) it is possible to redefine the heat flux and thermal conductivity in the more general forms [3]:

where:

~ ∂T q = −k ∂x

(4)

~ 1 + sτT k =k 1 + sτ q

(5)

Typically, power is the Heaviside step function represented in frequency domain as P(j w) = P0/j w.

2. Experimental setup The experiments were performed by heating up a porous material slabs by an electronic circuit with a power transistor (fig. 2). The slab was thermally connected to the transistor using the thermal grease. The porous material slabs with different filling factors were fabricated using the 3D printer. Two values of filling factors 57 % and 76 % were chosen the experiments. The size of the cuboid samples made of the porous material was 12 mm × 7 mm × 5 mm. The constant power of P0 = 0.3 W dissipated in the transistor was selected. Such power can increase temperature of the upper surface of porous material by about 30 K within a few minutes.

The DPL method developed in this research is based on equation (1) and (2) with redefined thermal conductivity expressed by the equation (5).

, The porous sample has the thickness d and is heating by the flux q(x = d) at the bottom side. ~ ∂T (x ) q = −k ∂x x =d

(6)

At the upper surface the convection cooling with heat transfer coefficient h is applied. It is assumed that the ambient temperature is equal to 0. ~ ∂T (x ) k = h ⋅ Tx =0 ∂x x =0

(7)

Fig. 2. The porous material on the heat source Rys.2. Materiał porowaty na źródle ciepła

The solution of the model Using the above equations, it is possible to define the set of two linear equations that allow calculating the integration constants A and B. The integration constants take the forms:

a)

⎛ k~ ⎞ q⎜ + h ⎟ ⎜L ⎟ ⎝ ⎠ A( j ω ) = ~ d ~ ~ ⎞ k d ⎛ k~ ⎞ k − L ⎛⎜ k − + h ⎟ + eL ⎜ + h ⎟ e ⎜ L ⎟ L ⎜L ⎟ L ⎝ ⎠ ⎝ ⎠

B ( jω ) = ~ d k − L ⎛⎜ e − ⎜ L ⎝

Fig. 3. Experiment: a) one of the registered thermal image of a porous material during heating up, b) measurement setup – MWIR camera above the sample during registration of thermal images Rys. 3. Eksperyment: a) obraz termowizyjny materiału porowatego zarejestrowany podczas grzania, b) stanowisko pomiarowe – kamera MWIR umieszczona nad badaną próbką podczas rejestracji sekwencji termogramów

(8)

~ ⎛ k ⎞ − q⎜ − + h ⎟ ⎜ L ⎟ ⎝ ⎠ ~ ~ d ~ ⎞ k ⎛k ⎞ k + h⎟ + eL ⎜ + h⎟ ⎟ L ⎜L ⎟ L ⎠ ⎝ ⎠

Analytical solution of the heat transfer model (1) for x = 0 and x = d leads to determine both values of temperature in frequency domain.

The cooled thermal camera MWIR Cedip Titanium registered the sequence of thermal images during heating the samples. The camera frame rate 100 Hz was selected and the images were registered during more than 800 s. Then, temperature evaluation in time was extracted from the marked region of interest as it is shown in figure 3.

T(x = 0, j w) = A + B (9)

The temperature and power of heating the sample from below, both defined in the frequency domain, allow to determine the thermal impedance Zth(j w) of an object (10). This is so-called transfer thermal impedance.

I' 1 & & +3 & material

(10)

42

P

O

M

I

A

R

Y

A

U

T

O

M

b)

Model parameters identification procedure consisted in matching the thermal impedance from the measurement and the A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


[ ! / b = c DPL model. In order to perform such matching, the different optimization algorithms were applied. After temperature measurement by a thermal camera, the smoothing of the signal by the Kalman Filter was performed. Then, temperature signal was transform from time to frequency domain using the Laplace transform with Filon integration. As a result, the measured thermal impedance was estimated and presented as the Nyquist plot. On the other hand, the analytical thermal model developed in frequency domain allowed to obtain the thermal impedance directly. The final step in identifying thermal time constants is optimization, which leads to changing the model parameters according the matching error between thermal impedances from the model and the measurement. In order to verify the correctness of the proposed approach of identifying thermal time constants, temperature curves during heating the samples were artificially generated using the DPL thermal simulations with arbitrary chosen thermal parameters of a porous materials. Three models with different values of thermal parameters including DPL thermal time constants were defined as shown in table 1. As a result, thermal impedances and step-function temperature responses were generated to be compared during the inverse modelling. Various optimization algorithms with different initial values of thermal parameters including thermal time constants were selected as shown in table 2.

Five optimization methods were tested on three DPL models in the MATLAB environment – patternsearch, paretosearch, multiple-objective genetic, fmincon and twiddle algorithms and runs on Intel core i7 8th Gen 2.2–4.1 GHz (i7-8750h). The patternsearch optimization method is a numerical approach also called as direct search method and it finds the solution around the existing points. When the solution is not found, expansion or contractions around current points take place. The patternsearch method does not rely on gradients and it is derivative-free [9]. It is recommended for noisy measurements and simulations of ill-conditioned problems that need the very small parameter change with high-resolution numeric representation of data. Unfortunately, thermal problems are belonging to such cases. The paretosearch algorithm also applies pattern search approach on a set of points to find a solution iteratively for non-dominated points [10]. In this research, a genetic optimization was also used for verifying both accuracy, complexity and execution time of the algorithm. Widely used in other applications multiple-objective genetic algorithm was chosen [12]. The fmincon algorithm is a gradient methods used for nonlinear fitting problems for many technical applications as it guarantees accuracy and effectiveness [11]. The last twiddle optimization method is a very simple, an intuitive algorithm consisting in changing the values of the model parameters up and down, while carefully following the objective function.

Table 1. Parameters of the model tested by different optimization algorithm Tabela 1. Parametry modelu wykorzystane do testowania różnych algorytmów optymalizacji Parameter

Model 1

Model 2

Model 3

Initial param. 1

Initial param. 2

Initial param. 3

tT, (s)

200

20

100

50

10

100

tq, (s)

10

100

50

50

10

100

cvth, (J/m3K)

105

105

105

105

106

106

h, (W/m2K)

10

20

30

50

50

20

k0, (W/m·K)

2

1

1

1

0.5

1

Table 2. Thermal impedance matching errors and execution time for various optimization algorithms Tabela 2. Błędy dopasowania impedancji termicznej oraz czas działania różnych algorytmów optymalizacji Initial

Optimization

param.

method

1

3

error 3

paretosearch

3.5·10

patternsearch

0.104 4

Model 2

Model 3

time

error

time

error

time

8.29

8223.30

10.68

1052.50

16.74

6.64

1.06

10.07

0.14

5.85

gamultiobject

5.43·10

7.49

7108.90

6.52

1985.80

6.57

fmincon

0.0103

1.83

0.09

1.67

0.10

1.68

8.21

0.0

8.4

0.0

8.51

twiddle

2

Model 1

-9

1.51·10

3

3

paretosearch

3.50·10

9.14

8.22·10

10.36

1052.50

12.45

patternsearch

0.0

1.16

12.1357

17.9

0.418

3.19

4

3

gamultiobject

4.87·10

6.24

7.88·10

6.39

1816.60

6.58

fmincon

0.0634

1.78

0.0059

1.83

0.02

1.72

twiddle

-9

9.02

-9

1.67·10

paretosearch

3.50·103

1.13·10

9.07

0.0

8.57

6.95

6.06·103

10.5

1050.00

12.14

patternsearch

150.225

18.38

12.64

17.81

0.53

3.29

gamultiobject

6.41·104

6.2

8.76·103

6.5

1210.40

6.62

fmincon

0.0016

1.79

0.0049

1.84

0.10

1.7

twiddle

1.73·10-9

8.1

1.20·10-9

9.65

0.0

9.15

43


F ? 8 <8

' 8 c \ ` < \

a)

a)

b)

b)

Fig. 4. Results for the porous sample with 57 % fill factor, a) measured temperature, b) measured and fitted transfer thermal impedance Rys. 4. Wyniki dla materiału porowatego o współczynniku wypełnienia 57 %, a) pomiar temperatury, b) impedancja termiczna uzyskana z pomiaru i po dopasowaniu

Fig. 5. Measured and fitted simulated temperature for a porous sample with 57 % fill factor Rys. 5. Temperatura materiału porowatego o wypełnieniu 57 % uzyskana z pomiaru i z modelu

The results of optimization for synthetic data are presented in table 2. As one can see the twiddle algorithm gives the best results for all simulated cases with different starting points of optimization. In consequence, the twiddle algorithm was chosen for further research. The final step of this research refers to the thermal time constants identification of a real porous material heated up on the bottom side by a transistor and temperature measurement on the upper side by a thermographic camera (fig. 3). Two porous materials were tested during the experiments, the first with 57 % and the second with 76 % filling factors. Figures 4a) and 6a) show the temperature evaluation in time registered by the photon cooled thermal camera with 100 Hz frame rate. The figures show the raw and the denoised temperature curves using the scalar Kalman filter. As the measurement side is far away from the heat source, the transient thermal impedance is calculated. The figures 4b) and 6b) show the transient thermal impedances obtained both from the measurements and with the use of the proposed thermal model after fitting to the twiddle algorithm. Figures 5 and 7 present recovered temperature evolution versus time using Frequency domain Thermal Object Identification (FredTOI) methodology. It is based on the Vector Fitting and the Laplace transform with correction for high-frequency range [4]. Table 3 contains the recovered thermal parameters for two porous material samples using the inverse thermal modelling

in frequency domain developed in this research. Among them, there are thermal time constants of non-Fourier DPL model of heat transfer in porous materials. It can be seen that that the relaxation thermal time constant tq is larger than inertial one tT. It is not a typical relation found in literature. It needs the further studying for physical and theoretical explanation. The rest of the identified parameters of porous material seem to have the expected values according to the fill factor.

44

P

O

M

I

A

R

Y

A

U

T

O

M

J' 4 Identification of thermal constants of the DPL heat transfer model was done by analyzing temperature measurement in frequency domain and optimization of the parameters of the thermal model. Few optimization methods were tested on artificial generated model with known parameters in order to confirm the correctness of estimated parameters in real measurement. All considered methods are sensitive to initial conditions, except for the gamultiobject method which finds the result within the given parameter range. However, this method is not sufficiently convergent for the conducted research, and therefore it was rejected for further consideration. The same conclusion is valid for the paretosearch method. The differences in optimization and modelling results for these methods are too large to be used in real material measurements. Run time A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


[ ! / b = c a)

a)

b)

b)

Fig. 6. Results for the porous sample with 76% fill factor, a) measured temperature, b) measured and fitted transfer thermal impedance Rys. 6. Wyniki dla materiału porowatego o współczynniku wypełnienia 76%, a) pomiar temperatury, b) impedancja termiczna uzyskana z pomiaru i po dopasowaniu

Fig. 7. Measured and fitted simulated temperature for a porous sample with 76 % fill factor Rys. 7. Temperatura materiału porowatego o wypełnieniu 76 % uzyskana z pomiaru i z modelu

was different for the considered methods of optimization. The smallest one was reached for fmincon method. For the patternsearch the run time depends on the complexity of the problem. The Twiddle method is run for a given number of iterations, so its execution time for each of the presented example is almost the same. The number of iterations was more than enough to correctly solve the real measurement problem. Due to the fact that the average error is the smallest for the Twiddle method, this algorithm was chosen to optimize for the real material measurement. The obtained results for the measurements of the porous materials with different filling factors are satisfactory. The estimated parameter values are as expected. Only the relation between the values of the time constants tq and tT seems to be opposite when compared to the data from the literature. This relationship will be tested on various materi-

als in further research. Subsequent measurements will also be carried out for the DPL-affected skin tissue.

Table 3. Model parameter values adjusted to the experimental data Tabela 3. Parametry modelu dopasowanego do danych eksperymentalnych Parameter

57 % fill factor 76 % fill factor

Thermal conductivity k, (W/m·K)

0.034

0.049

Thermal capacity cvth, (J/m K)

165515.3

232615.5

Relaxation time constant tq,(s)

241.74

186.25

Inertial time constant tT,(s)

213.64

148.78

3

6 & 1. Bejan A., Heat transfer. Wiley, New York, 1993. 2. Incropera F., De Witt D., Introduction to heat transfer. Wiley, New York, 1985. 3. Strąkowska M., De Mey G., Więcek B., Comparison of the Fourier-Kirchhoff, Pennes and DPL thermal models of a single layer tissue, [In:] 15th Quantitative InfraRed Thermography Conference, 21–30 September 2020, Porto (Portugal), DOI: 10.21611/qirt.2020.127. 4. Strąkowska M., Chatzipanagiotou P., De Mey G., Więcek B., Multilayer thermal object identification in frequency domain using IR thermography and vector fitting, “International Journal of Circuit Theory And Applications”, Vol. 48, No. 9, 2020, 1523–1533, DOI: 10.1002/cta.2845. 5. Strąkowska M., Chatzipanagiotou P., De Mey G., Chatziathanasiou V., Więcek B., Novel software for medical and technical Thermal Object Identification (TOI) using dynamic temperature measurements by fast IR cameras, [In:] 14th Quantitative InfraRed Thermography Conference, QIRT 2018, June 25–29, 2018, Berlin, DOI: 10.21611/qirt.2018.053, http://qirt.gel.ulaval.ca/archives/qirt2018/papers/053.pdf. 6. Tzou D.Y., Macro-to Microscale Heat Transfer: The Lagging Behavior, 2nd ed., Wiley, 2014, ISBN: 978-1-118-81822-0.

45


F ? 8 <8

' 8 c \ ` < \

7. Zubert M., Raszkowski T., Samson A., Zając P., Methodology of determining the applicability range of the DPL model to heat transfer in modern integrated circuits comprised of FinFETs, “Microelectronics Reliability”, Vol. 91, 2018, 139–153, DOI: 10.1016/j.microrel.2018.07.141. 8. Ciesielski M., Mochnacki B., Majchrzak E., Integro-differential form of the first-order dual phase lag heat transfer equation and its numerical solution using the Control Volume Method, “Archives of Mechanics”, Vol. 72, No. 5, 2020, 415–444, DOI: 10.24423/aom.3555.

9. Audet Ch., Dennis J.E. Jr., Analysis of Generalized Pattern Searches, “SIAM Journal on Optimization”, Vol. 13, No. 3, 2003, 889–903, DOI: 10.1137/S1052623400378742. 10. Custòdio A.L., Madeira J.F.A., Vaz A.I.F., Vicente L.N., Direct Multisearch for Multiobjective Optimization, “SIAM Journal on Optimization”, Vol. 21, No. 3, 2011, 1109–1140, DOI: 10.1137/10079731X. 11. [www.mathworks.com/help/optim/ug/nonlinear-constraints-with-gradients.html] 12. Deb K., Multi-Objective Optimization using Evolutionary Algorithms, John Wiley & Sons, Inc., 2001.

G+ \ + S84 + 5 Artykuł przedstawia nową metodę identyfikacji parametrów termicznych modelu Dual Phase Lag (DPL) materiałów porowatych drukowanych na drukarce 3D. Eksperymenty przeprowadzono dla dwóch materiałów porowatych o różnych współczynnikach wypełnienia. Do rozwiązania równań przepływu ciepła zastosowano transformację Laplaca, a następnie wykonano optymalizację w celu wyznaczenia wartości parametrów modelu w celu dopasowania ich do eksperymentu. Umożliwiło to identyfikację cieplnych stałych czasowych modelu DPL. Przetestowano również różne metody optymalizacji dla znanych wartości parametrów modelu w celu potwierdzenia poprawności identyfikacji. * G + S84% % % + % + Y

5 # < = !

$ 3 % < # <

* + ORCID: 0000-0001-6246-0086

" 0 S $ * " 0 ORCID: 0000-0001-6083-8380

$ A + $ + # .!-! + 8 S + # .!-)% 0 < 4 + < 6 # K4 6L ] .!-) < G < @ 4 6 = ; 8 < [ < < + + # < < + + [ < + < # # + #

" 0 S $ # + + ; < " % # < < [ + ; 0 [ < < < + # G> # < + G + + # + + < 0 + +

$ 9 !" * # < <5 0 # * + ORCID: 0000-0002-5003-1687 T # ? + < @ + 6 # S G < @ 0 # < F! [ ; < V < + #% + + 0 + < G> # + G> + ; # + + [ 0 < # # # < # + @ @ ^G < + # + M 668_

46

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 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 47–52, DOI: 10.14313/PAR_240/47

S < 4 ;> % 4 ;8 + 4 ; G < + 5 % 8 % 2# 9 !" * 4 + < 6 # % G < @ % ?9 E .--I.-(% J!;J.F Q9+R% 8 +

6% The article presents the construction of a thermal imaging camera with low power consumption. The 80 × 80 Micro80Gen2 microbolometric array of detectors records infrared radiation in the LWIR spectral range (long infrared wave, 8–12 µm). The entire digital part of the electronic circuit has been integrated within the reprogrammable FPGA chip from the Spartan 6 family. In order to read and display thermograms, an application for the .NetFremework 3.1 platform, which implements non-uniformity correction (NUC) and image processing, is written. Due to its low cost, small size and weight, the camera can be used in various applications, e.g. in unmanned aerial vehicles (UAV) known as drones. 2 G 0 + % # % + % ]8"=

1. Introduction Nowadays, infrared thermography is becoming more and more popular and used in various fields of application, such as environmental protection, civil engineering, medicine, space, military and science. This is the result of significant advances in semiconductor technology leading to low noise, highly integrated and energy efficient integrated circuits. The field of application seems to be unlimited, as each object at a temperature above 0 K | –273 °C emits electromagnetic radiation [1–4, 7, 8]. Normally observed images are viewed in the visible spectrum due to the phenomena of reflection and light scattering. Often however, more interesting and useful is additional information about objects obtained in the “invisible” band of electromagnetic radiation [3, 4]. Such radiation is infrared radiation, which constitutes a small part of the electromagnetic wavelength 1 < l < 103 μm [1–4]. The human eye itself, unlike the detector of a thermal imaging camera, is not able to detect, let alone measure the wavelengths of radiation. An infrared detector is the main element of a thermal imaging camera. The presented project uses a microbolometric detector operating in the LWIR spectral range, made of amorphous silicon (a-Si). Currently, there are also other detectors available. Among them there are photon detectors operating in low temperature, in many cases in a cryogenic environment [2]. Until 2000, only detectors cooled with liquid nitrogen cooling, Peltier systems and a Stirling pump were produced. In thermal ima-

) 7 G 0 0 % 0 *# ) + - !( .!.- % + + .& !' .!.-

!

ging cameras, the optical system should only absorb the infrared radiation, while preventing the visible light from being transmitted to the further part of the system. In IR thermography, germanium, silicon or artificial-material lenses, such as GASIR, are used [1–4]. Initially, thermal imaging devices were used primarily in the army. Currently, IR thermography is widely used in building construction, power engineering, industry, medicine, rescue, facility protection and military. Using thermal imaging cameras, it is possible to monitor objects that are distant, inaccessible and in a dangerous environment, e.g. in a poisonous or explosive atmospheres [1, 4]. Along with the development of electronics, both detector and computer, began to be built cameras that are light, easy to use and with better and better parameters, an example of which is the thermal imaging detector – Micro80Gen21. The development of microelectronics was greatly influenced by Jack Kilby, an employee of Texas Instrument who built the first integrated circuit. Since then, there has been a dynamic development in electronics [6]. More and more advanced integrated circuits began to emerge. Undoubtedly, one of them is the FPGA, which is used as the main logic element of a thermal imaging camera. The first FPGA chip, which was created in 1985, had only 64 programmable cells (LE). Modern digital reprogrammable FPGAs from the Xilinx Virtex 5, 6, 7 family, or Altera Stratix IV and Stratix V contain hundreds of thousands of reconfigurable logic cells [5]. Special hardware description languages (HDL), such as VHDL, used in the project, or the less well-known Verilog, can be used for this type of circuits [5]. The use of such a developed VLSI (Very-Large-Scale Integration) technology in the project allowed to place the entire processing system in a single reprogrammable chip. The development of the thermal imaging camera in this way allowed to reduce the size, cost and power consumption of the system. Due to the small dimensions of the developed system, 25 mm × 39 mm, the camera will be ultimately placed in the -

VII + I

47


Development of Low-Resolution, Low-Power and Low-Cost Infrared System drone. In order to improve the quality of the thermal image, bicubic interpolation and one-point non-uniformity correction (NUC) were implemented. Assuming, in accordance with the technical documentation of the detector pitch in equal to 34 μm and focal length of the lens used is f = 1.9 mm, the obtained IFOV | 18 mrad. In practice, this means that at a distance of 1 meter, a single pixel “sees” a rectangle with a side of 18 mm. It denotes that from this distance the camera cannot distinguish objects smaller than this value. For a camera of the size of the 80 × 80 matrix, we define the horizontal (HFOV) and vertical (VFOV) resolution2. In order to enlarge the possible field of applications, the developed IR system can be equipped with different communication interfaces as shown in Fig. 1.

The work presented in this paper has been done within the framework of master thesis during one diploma semester in the Institute of Electronics, Lodz University of Technology [9].

H' 0 . The typical bolometer detector is a square and rectangular matrix of bolometers connected internally to a readout circuit. The readout circuit integrates signals from each row of the matrix sequentially one by one. It contains transconductance amplifiers simultaneously integrating signals for all detectors of each row. The entire analog part of the detector is supervised by a digital controller to serialize the signals from each detector and generate sync pulses. The recently developed low-resolution bolometric detectors integrate a 14-bit ADC1. This simplifies the electronics of the camera and reduces external noise that can affect the analogue part made of high impedance sensors. The electronics of the camera developed is equipped with two main elements: a digital controller integrated in FPGA3 and a communication chip that can be exchanged accordingly the application requirement (Fig. 1). In the system presented in this paper, the interface USB 2.0 HS4 is implemented allowing the transmission at the speed up to 480 Mb/s. One of the main advantage of such an architecture is the possibility of a direct connection to any mobile system (Fig. 2). The FPGA integrates the entire glue logic generating required control signals and synchronising the scanning process in the detector and communication in the USB interface. Such a solution guarantees the simplicity of the system and low power consumption. The digital controller of the camera operates on the basis of state machines architecture. Two main digital circuits

Fig. 1. The block diagram different configurations of low-cost IR bolometric system equipped with Micro80Gen2 Rys. 1. Schemat blokowy rożnych konfiguracji systemu termowizyjnego o niskim koszcie produkcji z detektorem Micro80Gen2

Fig. 3. The block diagram of the digital system integrated in a FPGA Rys. 3. Schemat blokowy system cyfrowego zintegrowanego w układzie FPGA

Fig. 2. The block diagram of electronic system of the developed camera Rys. 2. Schemat blokowy elektronicznego systemu zaprojektowanej kamery termowizyjnej

VII ` ` I + I ;+ I< # I ;) VII< + I

.

VII I

48

P

F

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 2/ 20 21


= U = ! / b

Fig. 4. Time sharing between scanning the thermal data and transmission to a HOST using USB channel Rys. 4. Podział czasu na skanowanie sceny w detektorze i transmisję obrazu do komputera nadrzędnego w kanale USB

Fig. 5. Developed 80 × 80 bolometric camera µIR80 Rys. 5. Zaprojektowana kamera termowizyjna z matrycą 80 × 80 sensorów

Fig. 6. Screen of the Micro80imager application Rys. 6. Główne okno aplikacji Micro80imager

were implemented in the FPGA: one-line fast RAM based FIFO buffer and bidirectional USB to I2C converter (Fig. 3). The presented solution uses the SPARTAN6 FPGA system. Optionally, to reduce power consumption, it can be replaced with a CPLD component, e.g. one of the COOLRUNNER family3. The firmware was implemented using VHDL language environment ISE Design Suite5. Low-resolution IR camera development ensures the real-time full-frame transmission of the image sequence to any HOST. There are 160 bytes to transmit form each row of the bolometer matrix. This can easily be done in the “dead time” between the lines when scanning the bolometer matrix (Fig. 4). The proposed system works with the use of double data buffering using two FIFOs, one in the FPGA and the other in the USB chip. It simplifies the synchronisation two asynchronous processes: scanning in the detector and transmission through the USB channel. The developed IR camera works with an integration time of tint = 85.25 μs and enables transmission and refreshing of images at a frequency of 24 Hz. The frame rate can be easily increased up to 50 Hz. There is a fixed focal-length optics with the effective focal length equal to f = 1.9 mm, the radiometric f-number f/1.2, transmission wavelength λ ∈ (8–12) μm and the field of view FOV = 90° × 90°. Two-board sandwich-PCB camera developed μIR80 is presented in Fig. 5.

is also made on the level of end-user application. The communication is realised in the form of simple command-response principle, using the commands such as: nuc, get image, camera on/off, etc. Once image is in the computer memory, the simple image processing can be performed. At the first stage of the research the following functions are implemented: false colour assignment (palettes), histogram calculation, level and range of displayed image adjustment, statistical measures calculation, such as mean value and standard deviation and pixel value readout at any position of the cursor. The main window of Micro80imager is shown in Fig. 6. Some measures of the camera’s performance were estimated with the help of the prepared software. First, the raw image histogram was computed before the non-uniformity correction. It displays both the variability of the sensor characteristics and the location of bad pixels in the matrix (Fig. 7). It is noticeable, the operability of the system is high because only one bad pixel exists there. Figure 8 shows imaging of a uniform scene after performing a one-point NUC. One can clearly see that the pixel non-uniformity is significantly reduced. Quantitatively, the quality of NUC can be expressed by calculating the standard deviation – stdev. For a raw image, stddev = 207.05, and for the corrected image, stddev = 2.81. In order to evaluate the selected parameters and evaluate the performance of the camera, it was placed in a variable temperature chamber. The temperature was chosen from ambient temperature to 45 °C. In addition, the camera was in the refrigerator for a quarter of an hour and then a raw photo was taken. Figure 9 shows the histograms of the raw images of a uniform thermal scene for different ambient temperature in the range 10–45 °C.

I' * |} & In order to run the camera, the software Micro80imager was written in C# language using Visual Studio 2012 environment6. It implements camera setup with appropriate power and signal start-up. One-point non-uniformity correction (NUC) ( '

VII ` ` I + I+ # ; I ;+ # ; VII + < I I

49


Development of Low-Resolution, Low-Power and Low-Cost Infrared System

Fig. 7. Non-uniformity and histogram of pixel values for an IR image before non-uniformity correction with indication of the single bad pixel Rys. 7. Niejednorodność (NU) oraz histogram obrazu termowizyjnego przed zastosowaniem 1-punktowej korekcji niejednorodności ze wskazaniem pojedynczego uszkodzonego piksela

Fig. 8. An IR image and it histogram after one-point non-uniformity correction Rys. 8. Obraz termowizyjny oraz histogram po zastosowaniu 1. punktowej korekcji niejednorodności matrycy detektora a)

b)

c)

d)

Fig. 9. Histograms showing the disparity of pixels signals for different ambient temperature Ta: a) 10 °C, b) 27 °C, c) 35 °C, d) 45 °C Rys. 9. Histogramy ilustrujące rozrzut sygnału detektora dla różnych wartości temperatury otoczenia Ta: a) 10 °C, b) 27 °C, c) 35 °C, d) 45 °C

50

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 2/ 20 21


= U = ! / b

“blind” compensating detector, which is part of the readout circuit and is connected to the detector. However, the standard deviation of raw images slightly increases with the ambient temperature (Table 1, Fig. 11). This leads to the practical conclusion that rapid changes in ambient temperature must result in an immediate one-point correction. Table 1. Mean values and standard deviations of raw images for different ambient temperature Ta Tabela 1. Wartości średnie i odchylenia standardowe surowych obrazów termowizyjnych dla różnych wartości temperatury otoczenia Ta

Fig. 10. Mean value of the raw images generated by the developed camera µIR80 for varying ambient temperature Rys. 10. Wartość średnia surowego obrazu wygenerowanego przez zaprojektowaną kamerę termowizyjną µIR80 dla różnych wartości temperatury otoczenia

Fig. 11. Standard deviation of the raw images generated by the developed camera µIR80 for varying ambient temperature Rys. 11. Odchylenie standardowe surowego obrazu wygenerowanego przez zaprojektowaną kamerę termowizyjną µIR80 dla różnych wartości temperatury otoczenia

Raw image histograms allow to estimate camera drift due to changing ambient temperature. Additionally, the standard deviation of the recorded images shows the dependence of the non-uniformity of the detector matrix caused by changing environmental conditions. As you can see, the average value of signals generated by all sensors decreases with increasing ambient temperature (Table 1, Fig. 10). This is the influence of the

mean (DL)

stdev (DL)

Ta = 10 °C

7229.45

168.76

Ta = 27 °C

5548.23

196.87

Ta = 35 °C

4873.21

214.98

Ta = 40 °C

4354.47

222.02

Ta = 45 °C

3732.94

228.72

Finally, an example of an infrared image taken from a distance of about 60 cm is shown in Fig. 12. Displaying of low-resolution infrared images requires interpolation. The images in Fig. 12 are interpolated with scale 4 to a resolution of 320 px × 320 px. Such interpolation must be implemented in the camera firmware and should work in real time. It requires sufficient computing power and may increase energy consumption. Therefore it is recommended to implement the interpolation in an external application.

J' 4 The article presents a thermal imaging camera with low power consumption and low production cost. There are plans to connect a thermal imaging camera to a drone and/or to a mobile phone. It is possible that the camera will also use 5G technology. This presented solution will certainly affect safety in many applications and will enlarge the field of possible applications. The additional image processing can be implemented to improve the quality of images generated.

Fig. 12. Thermal images of 320 px × 320 px resolution after NN (Nearest Neighbour) and the bicubic interpolation (×4) of the original 80 × 80 image Rys. 12. Obrazy termowizyjne o rozdzielczości 320 px × 320 px po interpolacji metodą najbliższego sąsiada oraz interpolacji bikubicznej oryginalnego obrazu o rozmiarze 80 × 80 sensorów

51


Development of Low-Resolution, Low-Power and Low-Cost Infrared System

References 1. Więcek B., Pacholski K., Olbrycht K., Strąkowski R., Kałuża M., Borecki M., Wittchen W., Termografia i spektrometria w podczerwieni, WNT, Warszawa 2017. 2. Więcek B., De Mey G., Termowizja w podczerwieni. Podstawy i zastosowania . 3. Minkina W., Dudzik S., Infrared Thermography: Errors and Uncertainties, Wiley, 2009. 4. Maldague X.P., Theory and Practice of Infrared Technology for Nondestructive Testing. Wiley, 2001. 5. Kania D., Układy logiki programowalnej. Podstawy syntezy i sposoby odwzorowania technologicznego, Wydawnictwo Naukowe PWN, Warszawa 2012.

6. Gołda A., Kos A., Projektowanie układów scalonych CMOS, Wydawnictwa Komunikacji i Łączności, Warszawa 2010. 7. Minkina A., Wild A., Rutkowski P., Podstawy pomiarów termowizyjnych. Cz. I – Istota termowizji i historia jej rozwoju, „Pomiary Automatyka Kontrola”, 2000, R. 46, Nr 1, 7–10. 8. Minkina W., Pomiary termowizyjne – przyrządy i metody, Wydawnictwo Politechniki Częstochowskiej, 2004. 9. Urbaś S., Development of infrared cameras (Projektowanie kamer termowizyjnych), M.Sc. diploma thesis, Institute of Electronics, Lodz University of Technology, academic year 2020/2021.

8 9 + % 0 5 W artykule przedstawiono budowę i oprogramowanie kamery termowizyjnej µIR80 o niskim poborze mocy. Kamera wyposażona została w mikrobolometryczny detektor podczerwieni 80 × 80 – Micro80Gen2, który pochłania promieniowanie podczerwone w długofalowym zakresie spektralnym LWIR (8–12 µm). Cyfrowa część układu została zintegrowana w układzie FPGA z rodziny Spartan 6. W celu odczytu i wyświetlenia obrazu termalnego, napisane zostało oprogramowanie na platformie .NetFramework 3.1. Dodatkowo zaimplementowano 1-punktową korekcję niejednorodności matrycy detektora (NUC) oraz podstawowe algorytmy przetwarzania obrazów, np. wyznaczanie histogramu, zmianę zakresu i interpolację bikubiczną. Ze względu na niski koszt oraz niewielkie wymiary i masę, przedstawiona kamera termowizyjna może znaleźć zastosowanie w wielu dziedzinach począwszy od monitorowania otoczenia przy pomocy bezzałogowego statku powietrznego (UAV), po zastosowania w przemyśle, energetyce i medycynie. * G + 0 % % % ]8"=

$ 9 !" * # < <5

5 % 8 % 2# 5 = !$

0 # * + ORCID: 0000-0002-5003-1687

0 *# ORCID: 0000-0002-7699-5425

T # ? + < @ + 6 # S G < @ 0 # < F! [ ; < V < + #% + + 0 + < G> # + G> + # + + [ 0 < # ; # # < # + @ @ ^G < + # + M 668_

0 0 # + + < ] < @ @ # #% @ % + = 4 + < 6 # K4 6L .!.- [ + ; a + # # # K4 6L [ < + # < + $ + 6 E K.!-JL + + 0 a + # KG6 # #L + 6 + # + + < + < # K$T= @` L 6 < 0 ++ + % # % # + # ; # + + < G>

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

NR 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 53–60, DOI: 10.14313/PAR_240/53

< / < # 8 ` # 4 #;? G < + Anna Szajewska 6 $ < ] % (.I(F # % !-;'.J ? % 8 +

Abstract: Imaging with the use of a single pixel camera and based on compressed sensing (CS) is a new and promising technology. The use of CS allows reconstruction of images in various spectrum ranges depending on the spectrum sensibility of the used detector. During the study image reconstruction was performed in the LWIR range based on a thermogram from a simulated single pixel camera. For needs of reconstruction CS was used. A case analysis showed that the CS method may be used for construction of infrared-based observation single pixel cameras. This solution may also be applied in measuring cameras. Yet the execution of a measurement of radiation temperature requires calibration of results obtained by CS reconstruction. In the study a calibration method of the infrared observation camera was proposed and studies were carried out of the impact exerted by the number of measurements made on the quality of reconstruction. Reconstructed thermograms were compared with reference images of infrared radiation. It has been ascertained that the reduction of the reconstruction error is not directly in proportion to the number of collected samples being collected. Based on a review of individual cases it has been ascertained that apart from the number of collected samples, an important factor that affects the reconstruction fidelity is the structure of the image as such. It has been proven that estimation of the error for reconstructed thermograms may not be based solely on the quantity of executed measurements. 2 G S84 + % % % G> % +

1. Introduction Presently in infrared thermography use is primarily made of two ranges of electromagnetic radiation: LWIR (Long-Wave InfraRed) 8–12 μm and MWIR (Medium-Wave Infrared) 3–5 μm. The LWIR band is frequently used because the radiation strength of objects with a temperature close to 300 K is higher than for the MWIR range, which is a direct effect of the shape of the Planck’s curves for a black body [1]. The currently used detectors for imaging infrared are mainly FPA (Focal Plane Array) bolometric matrices. On the other hand, popular CMOS cameras are only suitable for observations of the SWIR (Short-Wave InfraRed) 1.4–3μm range. There are still fields in which the utilisation of FPA is literally impossi-

) 7 G = % * # + ) + - !( .!.- % + + .& !' .!.-

!

ble. These include measurements of spectral ranges that are beyond possibilities offered by the present matrices, given the insignificant radiated power or frequency of the electromagnetic wave lying beyond the detection spectrum. In such rare applications it is necessary to use expensive and bulky photomultipliers or avalanche diodes. Equally cumbersome are spectrophotometric measurements [2, 3] and measurements of millimetre waves. Among other non-matrix solutions an old concept of a single pixel camera SPC (Single-Pixel Camera) has been developed, the sources of which may be sought in the Nipkov disc [4]. A new method was developed of image reconstruction using compressed sensing by a single detector. Based on methods developed by Candes, Rondberg and Tao [5] recently a mathematical approach has been developed to the construction of a single pixel camera, which similarly as in the initial solution makes use of a single detector only, but the data sampling method differs [6, 7]. One of the first trials has been carried out by a team of researchers from the University of Rice in 2006 [8]. According to the authors the new operating principle would allow imaging based on spectral ranges, which for the meantime are unavailable for FPA (e.g. terahertz frequencies) [2, 9, 10]. The first attempt at building an observation camera in LWIR has already been undertaken [11]. However, there is no available information as

53


Simulation of the Operation of a Single Pixel Camera with Compressive Sensing in the Long-Wave Infrared to the existing measuring SPC camera that would make use of CS for far infrared. There is still a theoretical problem for the development of such a camera, and namely the necessity of identifying the measurement uncertainty and the technical concern is the structure of camera modulator.

the problem of diverse kinds of optical aberrations. Presently studies are underway on observation cameras in the medium infrared belt and hyperspectral cameras [2, 9, 22].

V'H' 1 Experiments on the development of CS carried out to date were based on two SLM solutions. The first one of them is image projection on a matrix of mobile mirrors. Given the availability of the DMD (Digital Micro-mirror Device) technology, such a solution is frequently used in research [3, 6-9,14]. Matrices of movable mirrors are executed in the MEMS (Micro-electro-mechanical systems) technology. The dimensions of DMD micro mirrors are equal to a few or several micrometres and are made of aluminium. Mirrors are set up in matrices that allow imaging in resolutions ranging from VGA to 4k Ultra HD. Mass-produced matrices allow mirror revolution by an angle of ±12° or ±17° [23]. Regardless of the type, they may operate at different spectrum ranges: 363–420 nm, 400–700 nm, 700–2500 nm. Maximum frequencies of mirror position change may come up to 32 kHz for the whole matrix. The usage of those matrices in SPC is an issue of secondary importance. However, the application of the DMD technology for SPC still remains in an experimental phase. There are presently certain limitations of this technology related to its use in far infrared: − the mirror may not be smaller than the length of the wave, and hence the length of the tested wave is limited by the size of the micro-mirror, − there is a transmittance barrier of masking glass for the DMD matrix for waves of 8–12 μm, − the sampling time is limited by the mechanical inertness of the micro-mirror DMD, i.e. the bigger the length of the wave, the larger and slower is the mirror, − the emissivity coefficient of aluminium used to make micro-mirrors also depends on the reflection angle of infrared radiation from the mirror surface (this effect does not occur for visible light) [1] .

V'V' % ~ Studies of infrared images in the band of 8–12 μm are cumbersome for technological reasons. Taking into account technological limitations, the first image infrared recorders were based on a single SPD (single pixel detector) [12]. Each pixel of the image was scanned with the use of a mobile optical system. A significant drawback of this solution was the long scanning time of the entire image, which as an effect contributed to the development of microbolometric matrices with dimensions that enable quick imaging at a high resolution. Despite a troublesome structure, a significant advantage of the SPD measurement system is the homogenous nature of measurement sensitivity. The measurement of the entire image by a single detector is deprived of non-linearity connected with the sensitivity of particular FPA elements. Pixels in microbolometric matrices have a differing sensitivity, which should be compensated by the software. In matrix cameras the amount of energy supplied to the matrix pixel comes from a section of the projected image. The same principle applies to older SPC scanning cameras. Image acquisition in SPC that makes use of CS consists of sequential observations of numerous pixels at the same time. This means that the amount of radiation reaching the detector in a single measurement is equal to the amount of energy coming from a set of selected pixels–hence the sensitivity of the detector may be lower than in FPA, and this in turn increases the relation of the signal to the detector’s thermal noise. In normal circumstances reconstruction of an image requires a number of measurements conforming to the number of all pixels on the assumption that each measurement concerns the subsequent pixel. The CS reconstruction method [5, 13, 14] enables a programme-based image reconstruction based on a much lower number of samples than the number of all pixels in the image. It is clear that in the case of this method a part of some insignificant information may be lost, similarly as in loss methods of image compression. In traditional cameras acquisition takes place spatially in one moment (limited only by the detector’s exposure time). In a single pixel camera image acquisition takes place by spatial and time multiplexing. This implies a longer time needed to obtain samples, which is an obvious drawback of this method. Furthermore, research is being carried out on movement recording [15]. Correct image reconstruction requires the selection of pixel sequence for each measurement (measurement matrix). This may be done with the use of a SLM modulator (spatial light modulator) provided between the detector and the source of radiation. SLM may function on a transmission or reflection principle. To enhance the effectiveness (shorten the time) studies are underway on adaptive algorithms that generate pixel masks, which may considerably minimise the number of required measurements [16–18]. A solution that still remains universal is the initial concept of applying mask sets, which meet the property of RIP (Restricted Isometry Property). This particular property is usually fulfilled by masks generated in a random way [19]. Adaptive algorithms of mask selection prove to be more effective in specified cases, as has been indicated in [20]. An interesting structural property of SPC with CS is the fact that retuning of the camera to a different spectral range is theoretically limited to a change of the type of used detector. The second property is the possibility of eliminating the optical system [21]. A change of the focal length may only be limited to a change of distance between the detector and the modulator, similarly as in the camera obscura. This simplifies the structure and eliminates

54

P

O

M

I

A

R

Y

A

U

T

O

M

The structure of a functional SLM for LWIR is feasible, yet it poses a technical problem. Due to the applied type of masking glass, it is impossible for any DMD matrices to be applied for far infrared dimensions, because to date there is no available information on the development of a DMD matrix for the range of 8–12 μm. The second solution is projecting the image directly on a detector shielded by perforated masks [2, 24]. For visible light a modulator has been made of a LCD matrix [21] yet due to the material such a solution may not be applied for far infrared. Hong-Chao Liu et al. [11] have executed reconstructions of image 51 × 51 pixels applying as SLM paper perforated diaphragm with dimensions of 145.35 mm × 145.35 mm having the radiation transmittance factor of 99 %. Figure 1 presents the operational concept of the camera with the image shielded by masks of selected pixels. Each time the mask is changed, the total amount of radiation reaching the photodetector should be recorded. The sequence of shielding pixels by masks is a physical reflection of the mathematical measurement matrix. After execution of measurements for the whole sequence – the acquisition process is completed. Data collection is limited to selective distribution of radiation from selected pixels and saving the recorded amount of radiation reaching the detector. This is an important advantage in the event of devices with modest computational capacities, because image acquisition as such does not require a high computational capacity, but merely saving the result sequence. The scientific aim of the research was to review possibilities of applying SPC with CS for reconstruction of images in far infrared for observation and measurement purposes. Research conducted in diverse research centres [15, 19, 20] is focused on A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


Anna Szajewska data with considerably higher values. The second condition is the in coherent measurement process [5]. This condition may be fulfilled thanks to appropriate selection of the matrix in a random way [20]. The concept of compressed sensing is based on a smaller number of measurements m than the size of signal n (number of all pixels). The number of significant components of signals is lower than the number of measurements. s < m << n

(1)

where: s – the number of significant components of signal, m – minimum number of measurements, n – the number of all components in the signal. Each measurement consists in determination of the signal strength f based on components of signal baseand components of signal xi

f = ∑ni=1 x iψ i

(2)

where: f – signal, Ψi – components signal base, xi – components signal The vague equation of the entire measurement sequence acquires the following matrix form: Fig. 1. Rule of operation of a single pixel camera Rys. 1. Zasada działania kamery jednopikselowej

optimising algorithms to achieve better image reconstruction. Given structural difficulties of the modulator, there are no known data available yet as to the development of an infrared measurement camera for the range of 8–12 μm. Owing to the emissivity coefficient that depends on the material, measurement in LWIR has different specific features than observations in visible light. The research was not focused on the algorithm efficiency and the selection of masks, but instead particular attention was paid to the possibility of applying this solution for observations and measurements in LWIR. In the undertaken study a standard image reconstruction algorithm was used (recovery of sparse signals via convex programming), and furthermore possibilities and limitations have been indicated for the application of this technique.

y = Φf = ΦΨx =Ax

(3)

where: y – measurement vector (m × 1) is the matrix of measurement results. In this case, it is a series of measurements of the radiation incident on the detector partially obscured by a modulator sequentially controlled by rows of the sampling matrix F, Ψ – signal base A – measuring matrix, x – studied image in the matrix form (n × 1). The Fig. 2 shows the CS method, where in X is located s-non zero values.

H' * * It was assumed that there was no need of using a physical SPC for needs of research on image reconstruction. In the present study the image acquisition stage was simulated in the MATLAB programme based on actual thermograms obtained from a matrix camera. The initial infrared image has been sampled using a common Flir ThermaCAM SC640 measurement camera working in infrared and then it was mathematically processed into a signal similar as would have been obtained from SPC. Considering that the number of measurements in CS is lower than the number of all pixels in the image, the problem of reconstruction is limited to solving an imprecise set of linear equations. Authors of the method [5] have established that for actual images that prevail in nature there are images, the signal components of which are rare. Consequently the authors have presented two conditions for the image to be reconstructed. The sampled signal has to have a rare nature of data occurrence or at least one should be compressible. This means that from among values that occur in a signal many should have insignificant values as compared to a lower amount of

Fig. 2. The concept of CS matrix calculus Rys. 2. Koncepcja rachunku macierzowego CS

It was assumed that the studied signal has the nature of rare occurrence. From among an infinite number of solutions for a vague set of equations as a rule a solution is to be selected, for which the total of all unknown equations is the lowest. With this in mind use is made of minimisations of norm 1. (4) A solution of this problem is constituted by optimising linear programming with polynomial complexity. Both to generate the measurement vector, measurement matrix and for needs of reconstruction use was made of a packet of 1 – Magic in the MATLAB environment [25]. Figure 3 presents a concept of the experiment.

55


Simulation of the Operation of a Single Pixel Camera with Compressive Sensing in the Long-Wave Infrared

Fig. 3. Conceptual diagram of the experiment Rys. 3. Schemat koncepcyjny eksperymentu

The analysed thermogram came from a measuring camera. Setting out of the temperature of the analysed object in microbolometric matrix measuring cameras is only feasible once the emissivity coefficient has been determined. If the emissivity coefficient e is unknown, the thermogram does not present temperature distribution, but merely radiation distribution. For needs of the assimilated measurement use has been made of this type of distribution for e = 1. The determination of actual temperature was left as a secondary action, similarly as in standard matrix measurements. During a simulated measurement the output value for a single measurement constituted a total of values of all unmasked pixels pursuant to formula 2. The entire assimilated measurement consisted of generating two matrices: − matrix of results [m × 1] (matrix of actual figures), − matrix of measurement matrices [m × n] (zero-one matrix), where: m – number of measurements, n – number of pixels in image. The matrix of measurement matrices was generated in a random way independently for each measurement. The reconstructed image was then compared with the input thermogram. Before reconstruction of the image, the result matrix was subjected to standardisation. To allow the reconstruction of actual radiation values total radiation was measured (all pixels unmasked) which was then used to set out the mean value for the whole thermogram. Figure 4 presents a diagram that illustrates the process of temperature measurement. Calibration was achieved by multiplying the reconstructed image by the mean value. The result is a distribution of the recorded infrared radiation. The value of total radiated power f was obtained by adding to the measurement sequence of the complementary aperture for another random aperture fx, coming from the measurement matrix, formula 5. f = fx + fx

Fig. 4. Diagram of measurement executed with a SPC camera with CS Rys. 4. Schemat wykonania pomiaru kamerą SPC z CS

in the further part a comparison was carried out of radiation values of the reconstructed thermograms and not temperatures.

I' 6 + The analysis was carried out on the basis of three reference images (Fig. 5). Thermogram 1 is an image of a copper plate, onto which two types of lacquer had been powder sprayed having different emissivity coefficients. The plate was next heated with a burner. Thermogram 2 is a view of forest undergrowth heated up by solar radiation, while thermogram 3 is an infrared view of a burning car. The measurement range was 0–550 °C. Three analysed thermograms have a different structure, temperature scope [°C], CV (Coefficient of Variation), standard deviation s as well as the percentage of pixels that constitute edges delineated using the Canny filter. Table 1 presents parameters of reference images after their standardisation (standardisation causes all dimensions for which the distance is counted with the same significance). Thermograms in Figures 5, 7 have to be reconstructed at the resolution of 256 × 256 pixels. Reduced resolution affects the lower computational cost. For the SPD scanning this would require 65536 measurements. If CS is applied, 656 measurements were assimilated in the shortest sequence, which comes

(5)

A synthesis of results from the selected and negated mask constitutes the total radiation of the image. Setting out of radiation temperature based on emissivity of the observed object is a general problem applicable to all types of cameras and was not covered by the subject of research. Consequently

56

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 2/ 20 21


Anna Szajewska

Fig. 5. Result of reconstruction of a thermogram (256 × 256 pixels) on the Celsius scale for different values obtained by algorithm l1 – Magic in the MATLAB environment. (a) Thermogram 1 with the use of 656 samples, (b) Thermogram 1 with the use of 6556 samples, (c) Thermogram 1 of reference image, (d) Thermogram 2 with the use of 656 samples, (e) Thermogram 2 with the use of 6556 samples, (f) Thermogram 2 of reference image, (g) Thermogram 3 with the use of 656 samples, (h) Thermogram 3 with the use of 6556 samples, (i) Thermogram 3 of reference image Rys. 5. Wynik rekonstrukcji termogramu (256 × 256 pikseli) w skali Celsjusza dla różnych ilości pobranych wartości algorytmem l1 – Magic w środowisku MATLAB. (a) Termogram 1 przy użyciu 656 próbek, (b) Termogram 1 przy użyciu 6556 próbek, (c) Termogram 1 obrazu referencyjnego, (d) Termogram 2 przy użyciu 656 próbek, (e) Termogram 2 przy użyciu 6556 próbek, (f) Termogram 2 obrazu referencyjnego, (g) Termogram 3 przy użyciu 656 próbek, (h) Termogram 3 przy użyciu 6556 próbek, (i) Termogram 3 obrazu referencyjnego

Table 1. Characteristics of standardised thermograms Tabela 1. Charakterystyka termogramów poddanych standaryzacji n.o.

s

CV

edge share [%]

Thermogram 1

1.2861·10–6

21.4

1.7425

Thermogram 2

1.0121·10–6

16.8

16.8212

Thermogram 3

1.4020·10–5

171.8

6.2179

up to approximately 1 % as compared to scanning of all pixels. During the execution of measurement thermograms the main focus of interest was measuring radiation at the given point. Studies comprised the difference in radiation reconstruction in relation to the reference thermogram in the function of the number of samples. Figure 6a presents the dependence between the ratio of the number of samples and Pearson’s linear correlation ra,b of reference image vectors f(a) and the vector of a reconstructed image f(b). The correlation was set out based on formula 6. (6) f = fx + fx Figure 6b presents the ratio of peak signal to noise PSNR expressed by formula 7.

(7)

MAX is the measurement resolution of the camera, MSE is the mean square error between the reference thermograms and reconstruction. An increase of the number of samples leads to a non-linear improvement of the correlation ratio and enhancement of PSNR. Yet the enhancement rate differs for the three cases, and also depends on the image structure. Larger ranges of measured temperatures lead to an impairment of PSNR and better shape mapping. Shape mapping is of importance in observation cameras. Figure 7 presents a temperature distribution with the use of isotherm, which reflect the accuracy of shape reconstruction. Those are isotherm for 1 % and 10 % of the maximum number of samples and reference images. Based on the low number of measurements it is possible to observe contours and the correct situation of the warmest and coolest points. At the level of 10 % the major part of image details may be observed. The temperature gradient between isotherm for thermogram 1 and 2 equalled to 1 °C and 10 °C for thermogram 3. A problem in the usage of CS is selecting the minimum number of measurements to reflect the original thermogram. Researchers Candes and Wakin [26] have proven that the minimum number of measurements m needs to fulfil the condition presented by formula 8.

m C · 2( , ) · s · log(n)

(8)

57


Simulation of the Operation of a Single Pixel Camera with Compressive Sensing in the Long-Wave Infrared

Fig. 6. Comparison of reconstruction to the reference image for three cases. (a) Dependence of correlation between the ratio of the number of obtained samples to all pixels in the image. (b) Dependence of PSNR of the ratio of obtained samples to all pixels in the image Rys. 6. Porównanie rekonstrukcji do obrazu odniesienia dla trzech przypadków. (a) Zależność korelacji od stosunku liczby pobranych próbek do wszystkich pikseli w obrazie. (b) Zależność PSNR od stosunku liczby pobranych próbek do wszystkich pikseli w obrazie

Fig. 7. Shape mapping by temperature gradient [°C] for different numbers of samples in relation to the reference thermogram. (a) Reconstruction from 656 samples, spacing of isotherm 1 °C, (b) Reconstruction from 6556 samples spacing of isotherm 1 °C, (c) Reference thermogram 1,spacing of isotherm 1 °C, (d) Reconstruction from 656 samples spacing of isotherm 1 °C, (e) Reconstruction from 6556 samples spacing of isotherm 1 °C, (f) Reference thermogram 2, spacing of isotherm 1 °C, (g) Reconstruction from 656 samplesspacing of isotherm 10°C, (h) Reconstruction from 6556 samples, spacing of isotherm 10 °C, (i) Reference thermogram 3, spacing of isotherm 10 °C Rys. 7. Odwzorowanie kształtu gradientem temperatury [°C] dla różnych ilości próbek względem termogramu referencyjnego. (a) Rekonstrukcja z 656 próbek odstęp izoterm 1 °C, (b) Rekonstrukcja z 6556 próbek odstęp izoterm 1 °C, (c) Termogram 1 referencyjny odstęp izoterm 1 °C, (d) Rekonstrukcja z 656 próbek odstęp izoterm 1 °C, (e) Rekonstrukcja z 6556 próbek odstęp izoterm 1 °C, (f) Termogram 2 referencyjny odstęp izoterm 1 °C, (g) Rekonstrukcja z 656 próbek odstęp izoterm 10 °C, (h) Rekonstrukcja z 6556 próbek odstęp izoterm 10 °C, (i) Termogram 3 referencyjny odstęp izoterm 10 °C

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

NR 2/ 20 21


Anna Szajewska where: C – constant, m – coherence between sampling matrix f and signal base, s – number of significant signal components (is lower than the all components signal), n – number of all signal components. The coherence between the measurement base and the signal base is expressed by the highest correlation of random base vectors between the signal base and the measurement base (formula 9):

μ (φ ,ψ ) = n ⋅ max φk ,ψ j 1≤k , j ≤n

(9)

where: fs – components of the sampling matrix, y – components signal base Two implications arise from the above presented formulas (8, 9). The first one is that it is necessary to determine in an arbitrary way the threshold value that delimits the subset of significant components from the set of all values. Secondly, setting out coherence as such requires familiarity with signal components a priori. Consequently the method of delimiting the minimum number of samples according to formula 8 may not be applied easily in practice because it requires familiarity with the number of significant signal components and coherence between bases prior to execution of the measurement. In such an event it is only possible to assume arbitrarily the minimum number of samples, which would guarantee the correct image reconstruction with sufficient likelihood. The value of measurement error may be determined only once the real infrared radiation distribution is known, which is not guaranteed by this method. Measurements using SPC with CS in far infrared ranges entail certain technological limitations in the spectrum aspect of the modulator structure. Another limitation, related to the method as such, is the significant uncertainty related to true reconstruction of temperature distribution. It is impossible to prove clearly the quality of enhancement of the thermograms reconstruction in the function of the number of used samples, because to a large extent this depends on the object of observation. By increasing the number of samples it is possible to minimise the error, yet this is also connected with extending the measurement time and gives rise to a higher computational cost.

4. Conclusions Based on the implemented series of reconstructions for three different thermograms it has been found that increasing the number of samples approximates the correlation to one and increases the PSNR coefficient. The camera may be used to reconstruct a thermogram for observation purposes. At 1/100 measurements in relation to the total number of pixels the correlation remained higher than 0.85. Measurements of electromagnetic radiation may also be carried out with the current reconstruction error. For the same number of samples, the difference of PSNR for two different images may exceed 30 dB and depends on the range of measured radiated power and image structure. For the analysed examples, at 1/100 measurements in relation to the total pixel number, in the worst case PSNR remained higher than 20 dB. Apart from non-linear impact of the number of samples on the measurement error, a limitation in measurements of radiated power is constituted by the impact of the thermogram structure as such. Increasing the number of samples enhances mapping in a non-linear way, difficult to foresee. Larger ranges of measured temperatures cause impairment in PSNR and better contour mapping.

References 1. Więcek B., De Mey G., Termowizja w podczerwieni podstawy i zastosowania. Wydawnictwo PAK, Warszawa 2011, ISBN 978-83-926319-7-2, 29–32, 103–130. 2. Chan W.L., Takhar D., Charan K., Kelly K.F., Baraniuk R.G., Mittelman D., Single-pixel terahertz camera speeds measurement, “Laser Focus World”, No. 9, 2008, 73–75. 3. Edgar M.P., Gibson G.M., Bowman R.W., Sun B., Radwell N., Mitchel K.J., Welsh S.S., Padgett M.J., Simultaneous real-time visible and infrared video with single-pixel detectors. “Scientific Reports”, 2015, 5, DOI: 10.1038/srep10669. 4. McLean D.F., Restoring Baird’s Image (IEE History of Technology). IEE London 2000, ISBN 10:0852967950, 26–28. 5. Candes E., Romberg J., Tao T., Stable Signal Recovery from Incomplete and Inaccurate Measurements. “Communications on Pure and Applied Mathematics”, Vol. 59, No. 8, 2006, 1207–1223, DOI: 10.1002/cpa.20124. 6. Duarte M.F., Davenport M.A., Takhar D., Laska J.N., Sun T., Kelly K.F., Baraniuk R.G., Single-Pixel Imaging via Compressive Sampling. “IEEE Signal Processing Magazine”, Vol. 25, No. 2, 2008, 83–91, DOI: 10.1109/MSP.2007.914730. 7. Wakin M.B., Laska J.N., Duarte M.F, Baron D., Sarvotham S., Takhar D., Kelly K.F., Baraniuk R.G., An Architecture for Compressive Imaging. International Conference on Image Processing, Atlanta, GA, USA, 8-11 Oct. 2006, DOI: 10.1109/ICIP.2006.312577. 8. Jones-Bey H.A., Compressive sensing enables single-pixel digital camera, “Laser Focus World” Vol. 42, No. 11, 2006, 17–19. 9. Baraniuk R.G, Kelly K.F., Krishna S., Bridge R.F., Compressive sensing architecture advances infrared camera design. “Laser Focus World”, No. 6, 2011, 31–34. 10. Heidari A., Saeedkia D., A 2D Camera Design with a Single-pixel Detector, 34th International Conference on Infrared, Millimeter, and Terahertz Waves. Busan, South Korea 21-25 Sept. 2009, DOI: 10.1109/ICIMW.2009.5324725. 11. Liu Hong-Chao, Zhang, S., Computational ghost imaging of hot objects in long-wave infrared range, Applied Physics Letters, Vol. 111, No. 3, 2017, DOI: 10.1063/1.4994662. 12. Kruse P.W., Skatrud D.D., Uncooled Infrared Imaging Arrays and Systems. Academic Press, San Diego 1997, eBook ISBN:9780080864440. 13. Kutyniok G., Theory and applications of compressed sensing, GAMM Mitteilungen, Vol. 36, No. 1, 2013, 79–101, DOI: 10.1002/gamm.201310005. 14. Takhar D., Laska J.N., Wakin M.B., Duarte M.F., Baron D., Sarvotham S., Kelly K.F., Baraniuk R.G., A New Compressive Imaging Camera Architecture using Optical-Domain Compression, Proceedings of SPIE – The International Society for Optical Engineering, 6065, 16–18 Jan. 2006, DOI: 10.1117/12.659602. 15. Heng Bi, Xiao Zeng, Xin Tang, Shujia Qin, King Wai Chiu Lai, Compressive Video Recovery Using Block Match Multi-Frame Motion Estimation Based on Single Pixel Cameras, “Sensors”, Vol. 16, No. 3, 2016, DOI: 10.3390/s16030318. 16. Cevher V., Indyk P., Carin L., Baraniuk R.G., Sparse Signal Recovery and Acquisition with Graphical Models, “Signal Processing Magazine”, Vol. 27, No. 6, 2010, 92–103, DOI: 10.1109/MSP.2010.938029. 17. Akshat D., Vadathya A.K., Mitra K., Compressive Image Recovery Using Recurrent Generative Model. IEEE Inter-

59


Simulation of the Operation of a Single Pixel Camera with Compressive Sensing in the Long-Wave Infrared national Conference on Image Processing (ICIP), Beijing, China, 17-20 Sept. 2017, DOI: 10.1109/ICIP.2017.8296572. 18. Mardani M., Gong E., Cheng J.Y., Pauly J., Xing L., Recurrent Generative Adversarial Neural Networks for Compressive Imaging. IEEE 7th International Workshop on Computational Advances in Multi-Sensor Adaptive Processing (CAMSAP), Curacao, Netherlands Antilles, 10-13 December 2017, DOI: 10.1109/CAMSAP.2017.8313209. 19. Bahmani S., Romberg J., Compressive Deconvolution in Random Mask Imaging. “IEEE Transactions on Computational Imaging”, Vol. 1, No. 4, 2015, 236–246, DOI: 10.1109/TCI.2015.2485941. 20. Arias-Castro E., Cande, E.J., Davenport M.A., On the fundamental limits of adaptive sensing, “IEEE Transactions on Information Theory”, Vol. 59, No. 1, 2012, 472–481, DOI: 10.1109/TIT.2012.2215837. 21. Huang G., Jiang H., Matthews K., Wilford P., Lensless Imaging By Compressive Sensing. IEEE International Conference on Image Processing, Melbourne, Australia, 15–18 Sept. 2013, DOI: 10.1109/ICIP.2013.6738433.

22. Gibson M.G., Sun B., Edgar M.P., Phillips D.B., Hempler N., Maker G.T., Malcolm G.P.A., Padgett M.J., Real-Time Imaging of Methane Gas Leaks Using a Single-Pixel Camera. Optics Express, Vol. 25, No. 4, 2017, 2998–3005, DOI: 10.1364/OE.25.002998. 23. Lee B., Introduction to ±12 Degree Orthogonal Digital Micromirror Devices (DMDs), Texas Instruments, 2018. 24. Don M.L., Fu C., Arce G.R., Compressive imaging via a rotating coded aperture, “Applied Optics”, Vol. 56, No. 3, 2017, 142-153, DOI: 10.1364/AO.56.00B142. 25. Candes E., Romberg J., l1-magic: Recovery of Sparse Signals via Convex Programming Caltech October 2005, https://statweb.stanford.edu/~candes/software/l1magic/ downloads/l1magic.pdf. 26. Candès E.J, Wakin M.B., An Introduction to Compressive Sampling. “IEEE Signal Processing Magazine”, 2008, 25, 21–30, DOI: 10.1109/MSP.2007.914731.

+ + ; + 90 + + Streszczenie: Obrazowanie kamerą jednopikselową z użyciem CS (compressed sensing) jest nową i obiecującą technologią. Za pomocą CS można rekonstruować obrazy w różnych zakresach widmowych zależnie od czułości spektralnej użytego detektora. W pracy wykonano rekonstrukcję obrazu w zakresie LWIR (Long-Wave Infrared) na podstawie termogramu z zasymulowanej kamery jednopikselowej. Do rekonstrukcji użyto CS. Na podstawie analizy przypadków stwierdzono, że metodę CS można wykorzystać do budowania kamer obserwacyjnych jednopikselowych na podczerwień. Możliwe jest również zastosowanie tego rozwiązania w kamerach pomiarowych. Aby wykonać pomiar temperatury radiacyjnej należy dokonać kalibracji wyników uzyskanych na drodze rekonstrukcji CS. W badaniu zaproponowano sposób kalibracji kamery pomiarowej na podczerwień oraz zbadano wpływ liczby pomiarów na jakość rekonstrukcji. Zrekonstruowane termogramy porównano z referencyjnymi obrazami promieniowania podczerwonego. Stwierdzono, że redukcja błędu rekonstrukcji nie jest wprost proporcjonalna do zwiększanej liczby pobieranych próbek. Na podstawie analizy przypadków zaobserwowano, że poza liczbą pobieranych próbek, istotnym czynnikiem mającym wpływającym na wierność rekonstrukcji jest struktura samego obrazu. Dowiedziono, że szacowanie błędu dla zrekonstruowanych termogramów nie może być oparte tylko na liczbie wykonywanych pomiarów. * G + ; % + 90 % + %

Anna Szajewska, PhD Eng. * # + ORCID: 0000-0001-8370-6807 = 8 < $ < ] ? % ] < ] < @ # ; # > V < + % # #% < + #

60

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 2/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021, 61–67, DOI: 10.14313/PAR_240/61

G < # 8 E /ZGS;-J 0 A # T A Y " ="[ = + "9 ;[ % B + = > 0 % = $ !% !;!(J B 9

5 W pracy omówiono propozycje implementacji cyfrowego Paszportu Szczepień COVID-19, bazującego na Blockchain chroniącym prywatność. Od końca zeszłego roku, po rozpoczęciu szczepień przeciw COVID-19, toczy się intensywna dyskusja nad formą wprowadzenia takiego narzędzia oraz konsekwencjami jego wdrożenia. Ma ona miejsce w wielu krajach europejskich. Jednym z elementów tej dyskusji, były kwestie bezpieczeństwa i anonimowości weryfikowanych danych szczepionych osób w sposób masowy, w różnych obszarach funkcjonowania społeczeństwa. Zagadnienia te próbuje rozwiązać proponowany system cyfrowego Paszportu Szczepień. System ten wykorzystuje dwie główne metody: Blockchain i funkcje skrótu, które pozwalają na zachowanie bezpieczeństwa, prywatności, a zarazem anonimowości. Celem poprawienia intuicyjności oraz prostoty jego funkcjonowania, w procesie weryfikacji Paszportów zaproponowano technologię kodów QR. System został zaimplementowany i przetestowany w środowisku chmury obliczeniowej Amazon AWS. Zaproponowano architekturę referencyjną bazująca na Blockchain dla środowiska AWS, dedykowaną dużym i wymagającym rozwiązaniom aplikacyjnym Paszportu Szczepień. Dodatkowo środowisko chmury oferuje dostęp do wielu narzędzi, które wykorzystano w implementacji systemu, podnoszących w znaczny sposób bezpieczeństwo całego rozwiązania. % G T % 0 % 8 E% /ZGS;-J% ? # S % ;

1. Wprowadzenie Aktywna walka z pandemią COVID-19 skutkuje wieloma równoległymi inicjatywami w różnych obszarach życia społecznego, gospodarczego, a także zdrowotnego. Zauważalnymi działaniami dla obywateli są: szybka i masowa diagnostyka, izolacja zakażonych osób zgodnie z zaleceniami WHO, wprowadzanie dystansu społecznego [1]. Jednym z najistotniejszych obecnie elementów walki z pandemią są szczepienia wykonywane na masową skalę, które umożliwiają uodpornienie społeczeństwa na COVID-19. Szczepionka może złagodzić ciężki przebieg choroby lub całkowicie zapobiec infekcji w organizmie i w efekcie ograniczyć rozprzestrzenianie się wirusa. Funkcjonowanie osób zaszczepionych w społeczeństwie pozwala na poluzowanie obostrzeń. Trzeba jednak posiadać mechanizmy pozwalające

) 7 G 8 8 % * # + ) + -) ! .!.- % + + - !( .!.-

!

na stwierdzenie, że dana osoba została zaszczepiona i nabyła w ten sposób prawo do przywilejów. Rozwiązaniem od wielu lat stosowanym na świecie jest Międzynarodowa Książeczka Szczepień, zwana „żółtą książeczką”. Jako, że jest ona sprawdzona, można ją wykorzystać w obecnej sytuacji pandemicznej w formie Paszportu Szczepień COVID-19. Bardziej uniwersalnym środkiem jest wystawienie elektronicznego Paszportu Szczepień – certyfikatu, który potwierdzałby stopień podatności osoby na chorobę COVID-19. Wdrożenie sprawnej metody weryfikacji szczepienia pozwoliłoby zmniejszyć obostrzenia (często potocznie nazywane przywilejami), a przez to zmniejszyć uciążliwość ograniczeń. Przedłużanie obostrzeń w perspektywie średniolub długoterminowej, niesie z sobą poważne konsekwencje społeczno-ekonomiczne. Paszport cyfrowy musi legitymizować się następującymi cechami: wiarygodność, akceptowalność i weryfikowalność w pełnym spektrum aktywności społecznej i gospodarczej. Dodatkowo dokument ten musi być również odporny na przypadki fałszowania oraz posługiwania się nim przez osoby nieupoważnione. Obecnie w przestrzeni medialnej pojawia się wiele wiadomości o procederze fałszowania zaświadczeń na obecność wirusa COVID-19. Z podobną sytuacją można się będzie spotkać w stosunku do Paszportu Szczepień. Wprowadzenie cyfrowego mechanizmu weryfikacji szczepienia powinno zapobiegać tym działaniom. Wskazany mechanizm weryfikacji

61


F % " % % ' V KQa = "[ ! 8 8 [ % D powinien być rozpatrywany również w kategoriach Systemów Wspomagania Decyzji (ang. Decision Support System). Zaszczepienie społeczeństwa stanowi główny cel zakończenia pandemii COVID-19. Proces ten jest realizowany zgodnie z priorytetami wytyczonymi dla identyfikowanych grup przez Ministerstwo Zdrowia. Podział na grupy przeprowadzono ze względu na: zawód, stopień zaangażowania do walki z pandemią, wiek, stan zdrowia itp. Obecnie w Polsce jest kilka milionów zaszczepionych, nie mówiąc już o osobach, które przeszły zakażenie w sposób objawowy i bezobjawowy. Każda z tych grup może być poddana certyfikacji odporności. Najprostszą metoda weryfikacji coraz większej grupy zaszczepionych jest właśnie wydanie im cyfrowego Paszportu Szczepień i wprowadzenie go w sposób systemowy, np. jako jeden z elementów Cyfryzacji Państwa. Samo posługiwanie się Paszportem Szczepień stwarza wiele obiekcji i niedomówień. Obecnie wiele osób krytykuje tę formę prewencji przeciwko zachorowaniu na COVID-19. Z taką mocną reakcją można się było spotkać w Wielkiej Brytanii. Warto w tym względzie zmienić optykę i spojrzeć na to zagadnienie z innej strony – podróży służbowych i prywatnych. Przed niektórymi wyjazdami musimy się wyposażyć w Międzynarodową Książeczkę Szczepień, zwaną potocznie „żółtą książeczką”. Jej posiadanie – wraz z udokumentowanymi szczepieniami – jest wymagane przy przekraczaniu granic niektórych krajów. Odnotowywane są w niej szczepienia zalecane oraz obowiązkowe. Do szczepień wymaganych należy żółta febra, która jest poważną chorobą wirusową występującą w kilku rejonach świata: Afryce i Ameryce Południowej. Państwa w tym regionie przed wjazdem nakazują dokonanie szczepień, by zapobiegać niekontrolowanemu rozprzestrzenianiu się wirusa, co mogłoby doprowadzić do epidemii. W tym przypadku jest jednak duża akceptowalność tego narzędzia, który funkcjonuje pod nazwą International Certificate of Vaccination or Prophylaxis [2]. Sposób szczepienia na COVID-19 jest trochę odmienny od innych. Dziś mamy mnogość szczepionek wprowadzanych na rynki globalnie, lecz ich podaż jest znikoma w stosunku do popytu. Każdy środek ma różne parametry, które wpływają na jej cechy użytkowe. Warto zwrócić uwagę, że ocenie klinicznej i przedklinicznej na koniec 2020 r. poddano odpowiednio 48 i 164 szczepionki [3]. Z kolei liczba dopuszczonych szczepionek może się szybko zmieniać, również zmienne są ich parametry ochrony przed wirusem. Wdrożenie na masową skalę skutecznych i bezpiecznych preparatów rozpoczęło się w grudniu 2020 r. Od tego momentu zaczęły się szczepienia zatwierdzonymi farmaceutykami. Obecnie czyni się starania, aby szybko szczepić jak najwięcej osób, lecz w dłuższej perspektywie będzie się liczyć skuteczność szczepionek. Wdrożenie metody nadzoru i weryfikacji szczepienia wydaje się kluczowe dla życia społecznego i gospodarczego. Działanie to pozwoli na upragnione wyjście z pandemicznego kryzysu. Mając na uwadze głosy wielu gremiów doradczych i dyskusje publiczną należy stwierdzić, że konieczne jest pośpieszne wdrożenie tego narzędzia. Możliwe jest nawet rozszerzenie zakresu jego stosowania na obszar symbiotycznej weryfikowalności certyfikatów testów na COVID-19 oraz immunologicznych. Wskazana informacja funkcjonuje w systemie odpowiednich organów. Bez wprowadzenia jej wersji cyfrowej, staje się mało użyteczna w życiu społecznym i gospodarczym. Ostatnio zdarzają się częste sytuacje podrabiana certyfikatów badań, a nawet szczepionek mRNA na COVID-19. Wobec tego faktu konieczne jest przedsięwzięcie odpowiednich kroków zabezpieczających. Podobna dyskusja trwa od niedawna również w Europie, a jej celem powinno być zaimplementowanie wspólnego dokumentu. W tym miejscu należałoby zdefiniować problem badawczy. Jest nim pytanie, jak stworzyć cyfrowy Paszport Szczepień odporny na nieuprawnione zmiany, bezpieczny oraz zachowu-

62

P

O

M

I

A

R

Y

A

U

T

O

M

jący anonimowość? Rozwiązaniem tego dylematu jest stworzenie platformy informatycznej, pozwalającej na wdrożenie cyfrowego dokumentu zwanego Paszportem Szczepień lub Paszportem Zdrowia. W tym artykule zostanie przedstawiona architektura praktyczna implementacji proponowanego rozwiązania w środowisku chmury obliczeniowej Amazon AWS, bazująca na Blockchain. Udostępnione zostaną dodatkowe metody podnoszące bezpieczeństwo i anonimowość przy weryfikacji danych. Odpowiednio zaprojektowany protokół wymiany informacji może się stać powszechnym standardem weryfikacji szczepień na COVID-19 z wykorzystaniem Paszportu Szczepień. Struktura artykułu została podzielona na siedem sekcji. Dwie pierwsze sekcje stanowią wprowadzenie w zagadnienie problemowe oraz przegląd literatury w obszarach problemowych związanymi z Paszportem Szczepień. Kolejne trzy sekcje stanowią rozwiązanie zagadnienia problemowego dotyczące metod implementacji cyfrowego Paszportu Szczepień. W rozdziale trzecim zaprezentowano ogólną architekturę rozwiązania Paszportu Szczepień bazującą na technologii Blockchain. W sekcji czwartej wskazano reguły decyzyjne weryfikacji Paszportów Szczepień chroniących prywatność. W kolejnym rozdziale przedstawiono sposób implementacji zaprojektowanego rozwiązania z wykorzystaniem chmury obliczeniowej. W podsumowaniu zawarto wnioski wynikające z realizacji prezentowanego rozwiązania.

H' % Podstawą proponowanego cyfrowego Paszportu Szczepień jest technologia Blockchain. W niej zostaną zapisane rekordy z danymi, np. rekord wykonanego szczepienia. Blockchain nazywany potocznie łańcuchem bloków, to cyfrowy, asymetryczny łańcuch oparty na szyfrowaniu, który jest niezmienny i zdecentralizowany. Koncepcja ta została po raz pierwszy zaprezentowana w 2008 r. przez Satoshi Nakamoto do przechowywania i przesyłania informacji na temat transakcji zawartych w Internecie, w kryptowalucie zwanej bitcoinem. Technologia ta była przewidziana do konstrukcji dużych, zdecentralizowanych sieci peer-to-peer, współdzielących między użytkownikami księgę transakcji. Pierwszy poziom bezpieczeństwa gwarantują algorytmy kryptografii matematycznej oraz zasada TSS (ang. Time-Stamping Service). Drugi poziom bezpieczeństwa gwarantuje architektura oparta na sieciach peer-to-peer, gdzie każdy użytkownik przetrzymuje kopie publicznej księgi transakcji. Co ciekawe, w rozwiązaniu tym nie jest konieczne utrzymywanie centralnej infrastruktury, z uwagi na swoisty charakter sieci peer-to-peer. Sama koncepcja sieci jest prozaiczna. Informacje są przechowywane w następujących po sobie blokach danych. Blok może zawierać dane o określonej liczbie transakcji. Gdy zostanie już zapełniony, to tworzony jest kolejny, następujący po nim. Tak powstaje łańcuch bloków – Blockchain. Każda ingerencja w łańcuch jest łatwo wykrywana przez analizę błędów w strukturze. Technologia Blockchain sprawdziła się z powodzeniem w wielu obszarach: krytptowaluty, łańcuchy dostaw, usługi finansowe, rynek energii itd. W tym miejscu można wspomnieć o przykładach jej użytkowania przez takie firmy, jak: Sony Music, BMW Group i wiele innych. Jednak dla tego artykułu właściwym obszarem tematycznym jest pandemia wirusa COVID-19 i do tych ram zawęźmy naszą analizę. W literaturze [4] wskazuje się, że Blockchain staje się cennym narzędziem do walki z pandemią. Można wyróżnić kilka podstawowych obszarów aktywności w tej dziedzinie: śledzenie kontaktów, administracja ubezpieczeniami na wypadek klęski żywiołowej i pandemii, współdzielenie informacji o pacjencie, procedury imigracyjne i emigracyjne, zarządzanie łańcuchem dostaw, zautomatyzowane dostawy bezdotykowe i nadzór nad nimi, edukacja online i certyfikaty dydaktyczne, zarządzanie produkA

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


cją, e-Government, rolnictwo, dystrybucja żywności. Oznacza to, że stosujemy to rozwiązanie wszędzie tam, gdzie chcemy mieć pewność, co do bezpieczeństwa i niezmienności danych. Istotne z punktu widzenia obecnych potrzeb walki z COVID-19 jest wykorzystanie technologii Blockchain w następujących obszarach: − śledzenie kontaktów: SARS-CoV-2 ma średni okres od inkubacji do wystąpienia objawów około 5 dni. Dodatkowo szacuje się, że wysoki odsetek stanowią przypadki bezobjawowe. W związku z tym ważna jest skuteczna i szybka identyfikacja wszystkich interakcji społecznych, które miały miejsce w okresie inkubacji. Takie działanie wpływa bezpośrednio na ograniczenie rozprzestrzeniania się COVID-19. Najlepszą metodą realizacji tego zadania jest śledzenie interakcji społecznych z wykorzystaniem smartfonów osób znajdujących się w bliskiej odległości od zakażonego przez określony czas (np. technologii Bluetooth Low Energy (BLE)). Blockchain i Smart Contract, w tym przypadku, są realną alternatywą dla obaw o kwestie bezpieczeństwa i prywatności danych wszystkich stron działania systemu. Można wyróżnić w tym obszarze następujące przykłady [4–6]. − pomoc finansowa państwa w pandemii, datki charytatywne. Wprowadzane kolejno lockdown’y i duże ograniczenia w sferze społecznej oraz gospodarczej, mają ogromny wpływ na funkcjonowanie różnych podmiotów na całym świecie. Rządy i instytucje finansowe są odpowiedzialne za pomoc przedsiębiorstwom w tym krytycznym czasie. Użytkowane są takie instrumenty, jak: pożyczki, tarcze finansowe i inne instrumenty pomocowe. Proceduralnie fizyczny obrót dokumentów jest spowolniony z uwagi na przepisy sanitarne oraz na pracochłonność przetwarzania. Blockchain z technologią Smart Contracts może być używany do upraszczania procedur składania wniosków o różne dotacje i granty, przy zachowaniu odpowiednich standardów bezpieczeństwa. Można tu wyróżnić następujący przykład [7]. − PHR/MHR (Personal Health Record/Medical Health Record). Dla przebiegu samego procesu leczenia choroby COVID-19, sprawne dzielenie się danymi ma ogromne znaczenie. Współdzielenie takich elementów, jak dane badań, procesu leczenia oraz w efekcie samych informacji o szczepieniu, może odgrywać podstawową rolę w walce z chorobą. Dodatkowo mechanizm wymiany danych musi być zgodny z krajowymi i międzynarodowymi przepisami dotyczącymi udostępniania personaliów pacjentów. W tej koncepcji użytkowania Blockchain, pacjenci i szpitale mogą mieć większą kontrolę nad własnymi danymi medycznymi przez eliminację scentralizowanych baz danych różnych instytucji. Wdrożenie tej technologii może umożliwić udostępnianie informacji w czasie rzeczywistym, zgodnie z intencją pacjenta oraz wyeliminować problem fałszowania danych lub ich nienadzorowanej zmiany. Można wyróżnić w tym obszarze następujące przykłady: [8–11]. − kontrola graniczna i przemieszczanie się ludności. Inspekcja ruchu granicznego i transportowego jest kluczowym elementem zapanowania nad rozprzestrzenianiem się wirusa COVID-19 tym bardziej, że pojawiają się nowe, groźniejsze mutacje wirusa w innych krajach. Migracja nowych odmian powoduje powstawanie nieznanych jeszcze form ryzyka, a kontrola ruchu międzynarodowego będzie miała teraz, jak i w przyszłości, duże znaczenie dla prewencji. Blockchain służy jako platforma integracyjna wymiany informacji transgranicznej przy obsłudze różnych procedur granicznych, w tym kluczowa jest kontrola stanu zdrowia podróżujących. Technologia ta może wspomóc tworzenie bezpiecznej, zdecentralizowanej i współdzielonej platformy transgranicznej. W tym kontekście da się wyróżnić następujące przykłady [12–15].

− zarządzanie łańcuchami dostaw – w dobie pandemii koronowirusa występują zakłócenia w tradycyjnym łańcuchu dostaw towarów. Produkcja przemysłowa powoli wraca do normy pod warunkiem, że nie wystąpią kolejne ostre lockdown’y. Takie ograniczenia mają swoje poważne konsekwencje w zachwianiu praw podaży i popytu. Byliśmy już świadkami jak panika uczestników rynków spowodowała wzrost popytu na pewną grupę artykułów przemysłowych, sprzętu medycznego i produkty farmaceutyczne itp. Klasyczne metody procesowe łańcucha dostaw w krytycznych momentach zagrożenia epidemiologicznego mają duże trudności z utrzymaniem stabilności. Technologia Blockchain może odegrać kluczową rolę w budowaniu bardziej odpornego łańcucha dostaw na te negatywne przyczyny. Może łączyć (także anonimowo) ze sobą wszystkie zainteresowane strony, tworząc zaufane środowisko wymiany handlowej bez zbędnych pośredników. W tym kontekście warto wspomnieć o technologii Smart Contract. Da się tu wyróżnić następujące przykłady [16, 17]. − e-government realizacji procedur administracyjnych lub usług publicznych na rzecz obywateli i innych podmiotów z wykorzystaniem technologii ICT. E-Government wspiera digitalizację wszystkich lub niektórych usług oraz pozwala na funkcjonowanie tych usług w formie hybrydowej. Blockchain może zapewnić bezpieczeństwo poprzez zwiększenie integralności, poufności i niezmienności danych wymienianych pomiędzy podmiotami, zmniejszenie opóźnienia przetwarzania i obniżanie kosztów tych operacji. System operujący na podstawie takiego mechanizmu będzie potrafił automatycznie wykrywać możliwe błędy i próby fałszowania operacji wymiany informacji. W tym obszarze można następujące przykłady [12, 18]. Dokonując przeglądu tych podstawowych aspektów implementacji technologii Blockchain, zauważymy jej duży potencjał w walce z COVID-19. Popularność tego rozwiązania cały czas rośnie, co jest spowodowane dynamicznym rozwojem wspomnianej technologii w obszarze implementacji biznesowej. Mowa tu o sieciach Blockchain: Ethereum (start: lipiec 2015 r. https://ethereum.org) oraz Hyperledger Fabric (start: grudzień 2015 r., https://hyperledger.org), Skulchain (2014), Neo (2014). Jednak prawdziwym akceleratorem jej użytkowania są różni operatorzy chmury obliczeniowej, którzy oferują wsparcie merytoryczne i metodyczne. Tu da się wyróżnić takie podmioty, jak: Amazon, IBM, Microsoft. Porównanie kluczowych parametrów Blockchain dla wyszczególnionych powyżej głównych obszarów implementacyjnych dla walki z COVID-19 zawarto w Tab. 1. Problem tworzenia Paszportu Szczepień należy rozpatrywać w kategorii systemów ukierunkowanych na współdzielenie informacji o pacjencie, z wykorzystaniem elektronicznego rekordu medycznego – EHR (ang. Electronic Health Record). Pojęcie samego rekordu można zdefiniować jako usystematyzowany zbiór informacji zdrowotnych przechowywanych w formacie cyfrowym [20]. Takim rekordem informacji medycznej będzie też informacja o szczepieniu, zawarta w Paszporcie Szczepień. Tutaj sugeruje się jednak, by Paszport Szczepień miał jak najprostszą formę pozwalającą na zachowanie prywatności i bezpieczeństwa danych określonego pacjenta. W najbliższym czasie Paszporty Szczepień staną się stałym elementem procesu przemieszczania się w kraju i za granicą [21]. Obecnie wszystkie państwa biorą udział w wyścigu z czasem w obszarze szczepień przeciwko koronawirusowi COVID-19. Szybsze zaszczepienie populacji spowoduje powrót społeczeństwa i gospodarki do „normalnego” funkcjonowania. Równolegle trwa debata na temat, czy zaszczepione osoby powinny mieć pewne przywileje? Pojawia się wiele analiz i głosów ekspertów popierających ten pomysł. Jednak by korzystać

63


F % " % % ' V KQa = "[ ! 8 8 [ % D Tab. 1. Porównanie implementacji Blockchain w różnych obszarach stosowania, opracowano na podstawie [19] Tab. 1. Comparison of Blockchain implementations in different areas of application, developed on the basis of [19] Dziedzina aplikacji

Typ Blockchain

Typ konsensusu

Public

PoW/PoS

Consoritum

Majority voting/DBFT

Consortium

PoW/PoS

śledzenie kontaktów

pomoc finansowa państwa w pandemii, datki charytatywne

Akceptowalne opóźnienie/maksymalne

Oczekiwana liczba operacji

do godziny

200–2000 transakcji na dzień

Private

BFT/RAFT

Consoritum

PoW/PoS

Private

Proof of Interoparability CBFT

Consoritum

PoW/PoS

PHR/MHR

międzynarodowy ruch / kontrola graniczna

100–100 000 transakcji na minutę

do kilku sekund

10000–1 mln transakcji dziennie na granicę

do kilku sekund

zarządzanie łańcuchem dostaw

Private

BFT

Consoritum

PoW/PoS

Private

BFT

Consortium

PoW/PoS/PoA

100–10 000 na dzień na system dostaw

do kilku minut

Private

100–10 000 dziennie na urząd

BFT

z przywilejów osoby zaszczepionej, muszą udowodnić odporność na chorobę. Konieczne jest więc uwiarygodnienie, że otrzymały odpowiednie szczepienie lub przeszły już tę chorobę. Posiadają wtedy przeciwciała. Realnym rozwiązaniem tego problemu są formalne zaświadczenia o szczepieniu lub odchorowaniu, czyli wprowadzenie certyfikatów immunologicznych lub skorzystanie z cyfrowego dokumentu, jakim jest Paszportów Szczepień. Sceptycy twierdzą, że takie radykalne rozwiązanie może spowodować podziały i polaryzację społeczeństwa. Jednak pragmatyzm i bezpieczeństwo powinno wziąć górę nad wadami Paszportów Szczepień. Warto zwrócić uwagę, że taką „żółtą książeczką” posługujemy się w podróżach do kilku krajów. Używamy ten dokument, by legitymować się wiarygodnym certyfikatem szczepienia przeciw chorobom zakaźnym. Paszport ten jest również międzynarodowym standardem certyfikowania otrzymania szczepień przeciwko cholerze, żółtej febrze, tyfusowi czy ospie. Czemu nie skorzystać z tych dobrych wieloletnich doświadczeń przy szczepieniach z COVID-19? Możliwość podróżowania bez barier to konieczność legitymowania się odpowiednim oświadczeniem, certyfikatem lub innym dokumentem. Wiele krajów zaczyna wymagać tego rodzaju zaświadczeń. Pojawiają się głosy, że wypracowanie takich standardów może być konieczne również w przypadku poruszania się po ulicach miast. Szczepionki różnych producentów mają niejednorodne parametry, np. okres ochrony danej osoby przed wirusem, skuteczność, stopień zabezpieczenia przed transmisją i przed ciężki przebiegiem choroby itd. Te elementy powinny być uwzględnione w Paszporcie Szczepień. Z drugiej jednak strony, bazując na materiałach rejestracyjnych kilku szczepionek można jasno stwierdzić, że szczepienia znacząco zmniejszały rozprzestrzenianie się koronawirusa. Potwierdzają ten fakt doniesienia płynące z całego świata, w tym z Izraela. Oznacza to, że będzie rosła presja na poluzowanie obostrzeń, gdy tylko odpowiednia część populacji się zaszczepi. Pozwólmy osobom zaszczepionym powrócić do dawnego stylu życia [22]. Bez paszportów P

O

M

I

A

R

Y

A

U

niski brak kosztu średni brak kosztu niski brak kosztu niski brak kosztu niski brak kosztu

do kilku dni

e-Government

64

10–150 000 transakcji na dzień

do kilku dni

Koszt transakcji

T

O

M

średni brak kosztu

immunologicznych i szczepień niektóre sektory gospodarki i branże mogą się znaleźć w trudnej sytuacji. Wiele krajów szybko rozpoczęło pracę nad wdrożeniem Paszportów Szczepień, jednak opracowanie konkretnych rozwiązań i ich wdrożenie zapoczątkowało jedynie kilka z nich. Przegląd działań poszczególnych krajów i proponowanych przez nich rozwiązań zawarto w Tab. 2. Cyfrowe paszporty szczepień są stosunkowo nowym obszarem badań. Dokonując przeglądu literatury dochodzimy do wniosków, że opublikowano kilka pozycji prezentujących takie rozwiązania. W bazie Scopus, w 2020 r. można było wyszukać 26 pozycji w zakresie nauk technicznych i humanistycznych. Zawężając zakres tematyczny do technologii Blockchain, da się zidentyfikować dosłownie kilka publikacji. Zostały one zamieszczone w Tab. 3. Kolejną kluczową technologią dla implementacji Paszportu Szczepień jest chmura obliczeniowa (ang. cloud computing), gdzie można posługiwać się zamiennie potocznym terminem „chmura”. Chmurę obliczeniową da się określić jako globalną sieć infrastruktury informatycznej udostępnionej przez Internet, dostarczanej przez jednego dostawcę, tworzącą jeden ekosystem. Chmura dostarcza takich usług, jak: sieci, serwerów wraz z oprogramowaniem, magazyn baz danych, sieci, oprogramowania i innych usług (analitycznych i Machine Learning) z wykorzystaniem uniwersalnego medium, jakim jest Internet [28]. Na tej podstawie użytkownik może budować swoje własne rozwiązania. Chmura stanowi istotny klucz do ewoluujących aplikacyjnie rozwiązań systemowych obecnie i w przyszłości. Technologia ta obejmuje pełen stos technologiczny pozwalający na zbudowanie spójnego rozwiązania w różnych modelach świadczenia usług: PaaS (ang. Platform-as-a-Service), IaaS (ang. Infrastructure as a Service), SaaS (ang. Software as a service) z pełną integracją w zakresie transformacji cyfrowej, np. automatycznego skalowania całego środowiska. W tym kontekście najprościej to ujmując, chmura może dostarczyć usług obliczeniowych, A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


Tab. 2. Postęp prac nad implementacja Paszportu Szczepień w różnych krajach Tab. 2. Progress on the implementation of the Vaccination Passport in different countries Kraj

Postęp

Obszar stosowania

Data uruchomienia

Rodzaj paszportu

Blockchain

Cypr

Planowane

turyści

brak danych

brak danych

nie

Czechy

Planowane

turyści i obywatele

papierowa

nie

Holandia

Implementowane

turyści i obywatele

28 lutego 2021 r.

cyfrowy/aplikacja smartfone

nie

Estonia

Implementowane

turyści i obywatele

brak danych

cyfrowy/karta smart yellow card

nie

Grecja

Planowane

turyści

brak danych

brak danych

brak danych

Węgry

Planowane

turyści

28 lutego 2021 r.

brak danych

brak danych

Islandia

Planowane

turyści

do maja 2021 r.

brak danych

brak danych

Włochy

Planowane

turyści

brak danych

cyfrowy

brak danych

Polska

Planowane

turyści i obywatele

brak danych

cyfrowy/kod QR, konto pacjenta

brak danych

Portugalia

Planowane

turyści

brak danych

brak danych

brak danych

Słowacja

Planowane

brak danych

brak danych

brak danych

brak danych

Hiszpania

Planowane/ implementacja testowa

turyści i obywatele

brak danych

cyfrowy/karta

tak – firma Vottun

Szwecja

Planowane

turyści i obywatele

do czerwca 2021 r.

cyfrowy

brak danych

Wielka Brytania

Nieplanowane

Tab. 3. Przegląd rozwiązań w literaturze w zakresie implementacji Paszportów Szczepień bazujący na Blockchain Tab. 3. Overview of solutions in the literature on the implementation of vaccination passports based on Blockchain Lp.

1

2

3

4

5

Pozycja

Tytuł

Rezultat

[23]

A Blockchain Based Technique for Storing Vaccination Records

Propozycja rozwiązania

[24]

Blockchain-Based Solution for COVID-19 Digital Medical Passports and Immunity Certificates

Propozycja rozwiązania

Blockchain

Metoda

Ethereum

Rozwiązanie wykorzystuje sieć Blockchain Ethereum oraz Smarts Contracts. Do przechowywania dokumentów związanych ze szczepieniami wykorzystywany jest system (IPFS) – zcentralizowany system plikowy. System rozproszony z dostępnymi interfejsami.

Ethereum

Rozwiązanie wykorzystuje sieć Blockchain Ethereum oraz Smarts Contracts. Do przechowywania dokumentów związanych ze szczepieniami wykorzystywany jest system (IPFS) – zcentralizowany system plikowy. System rozproszony z dostępnymi interfejsami.

[25]

COVID-19 Antibody Test/ Vaccination Certification: There’s an App for That

Propozycja rozwiązania

Ethereum

Aplikacja na telefon, architektura serwerowa zdecentralizowana bazująca na PKI, możliwość zmiany zakresu przechowywania personalnych danych przez użytkownika. Infrastruktura wykorzystuje technologie W3C Verifiable Credentials, Blockchain Ethereum, wykorzystanie kodu QR.

[26]

Framework for a DLT Based COVID-19 Passport

Propozycja rozwiązania

brak informacji

Przechowywanie certyfikatów szczepień w sieci Blockchain z wykorzystaniem metody biometrycznej do generowania hash (biometric crypto-graphic hashing techniques), który służy do identyfikacji użytkownika.

[27]

Sharing pandemic vaccination certificates through Blockchain: case study and performance evaluation

Propozycja rozwiązania

Hyperledger Fabric

Rozwiązanie wykorzystuje Blockchain Hyperledger Fabric, dodatkowo wykorzystywane są technologie Self-Sovereign Identity (SSI) oraz Verifiable Credentials (VC) do kontroli nad identyfikacją użytkownika i usług.

65


F % " % % ' V KQa = "[ ! 8 8 [ % D magazynowania plików, baz danych, sieci, dodatkowego oprogramowania z wykorzystaniem Internetu. Na tej podstawie użytkownik buduje swoje rozwiązanie korzystając z elastyczności zasobów, niezawodności i ekonomii skali. Usługi w chmurze są odpłatne, lecz opłaty są generowane wyłącznie za używanie konkretnych usług w chmurze, a nie za sam dostęp do infrastruktury – model Pay As You Go. W przypadku świadomego użytkowania platformy chmurowej, istnieje możliwość znacznego obniżenia kosztów wdrożonej platformy informatycznej oraz dostęp Just-In-Time do skalowalnej infrastruktury lub usług. Budowanie rozwiązań informatycznych staje się prostsze, ma to szczególne znaczenie, gdy projektuje się duże rozwiązania. Pierwszy raz termin „Cloud Computing” pojawił się w wewnętrznych dokumentach firmy Compaq Computer [29] w 1996 r., w odniesieniu do przyszłościowej strategii budowy rozwiązań w obszarze Internetu dla trzech klas klientów biznesowych obecnych na rynku. Zgodnie z tą strategią, oprogramowanie biznesowe zostałoby przeniesione do sieci internetowej, spopularyzowanoby współdzielone usługi i infrastrukturę teleinformatyczną. Po 2000 r. znacznym czynnikiem kosztowym dla firm technologicznych było utrzymywanie infrastruktury, którą wykorzystywano w niewielkim stopniu, np. zasoby obliczeniowe i przestrzeń dyskową. Oczywiście technologie, które pozwoliły na wdrożenie chmury, zostały opracowane wcześniej. W tym kontekście warto wspomnieć o takich elementach przełomowych, jak: projekt MAC w DARPA (1963), ARPANET (Advanced Research Projects Agency Network) (1969) czy wirtualizacja lub odpłatne oferowanie usługi “virtual” private networks w latach 1990 [30]. Formalnie pierwszym komercyjnym dostawcą usług chmury był Amazon AWS. Amazon po wprowadzeniu własnych usług sprzedażowych Amazon Web Services w Internecie w 2002 r. zauważył, że jego infrastruktura jest niewykorzystywana w odpowiednim stopniu. Chcąc poprawić tę sytuację, dokonał optymalizacji własnych zasobów w 2006 r. i zaoferował odpłatny dostęp do własnej infrastruktury w modelu Cloud Computing Infrastructure Model. Później, w podobnym modelu, zaoferowały swoje usługi komercyjnie kolejne podmioty: Google – Google Cloud, Microsoft – Microsoft Azure, IBM – IBM Cloud, Oracle – Oracle Cloud oraz wiele innych. Wykorzystanie chmury obliczeniowej jest popularnym rozwiązaniem w wielu obszarach prywatnych i publicznych, gdzie utrzymanie odpowiedniej architektury przez dany podmiot byłby drogi czy wręcz nieopłacalny. W sektorze publicznym, dla rozwiązań medycznych, można wyróżnić wiele implementacji zakończonych sukcesem, miedzy innymi [31, 32]. Biorąc pod uwagę garść zalet modelu chmurowego, należy zdawać sobie sprawę z pewnych konsekwencji. Muszą one być świadomie projektowane, a w efekcie wdrażane, ponieważ nieumiejętne implementowanie aplikacji w tym modelu spowoduje nadmierne generowanie kosztów. Chmurę da się podzielić na dwa główne typy: publiczne i prywatne. Publiczną definiuje się jako usługi oferowane przez dostawców zewnętrznych. Aplikacje te są dostępne dla każdego, kto chce z danej rzeczy korzystać zgodnie ze specyfikacją. Chmura prywatna zapewnia dostęp do usług obliczeniowych za pośrednictwem Internetu lub prywatnej sieci wewnętrznej wyłącznie wybranym użytkownikom. W tym modelu kładzie się nacisk na bezpieczeństwo i tworzenie systemów w kontrolowanym, bezpiecznym środowisku. Współcześnie wprowadzono dodatkowe pojęcie chmury hybrydowej, definiowanej jako typ przetwarzania w chmurze, który łączy lokalną infrastrukturę klienta lub chmurę prywatną z chmurą publiczną. Chmury hybrydowe umożliwiają przenoszenie danych i aplikacji między tymi dwoma środowiskami: prywatnym i publicznym. Naturalnym elementem ewolucji wzorca chmury jest rozwiązanie typu Multicloud. Pojęcie Multicloud odnosi się do możliwości korzy-

66

P

O

M

I

A

R

Y

A

U

T

O

M

stania z różnych dostawców chmury w formie jednego, heterogenicznego ekosystemu. Zasoby takie, jak oprogramowanie, aplikacje, infrastruktura są rozdzielone wg określonego klucza na kilka środowisk chmurowych, co pozwala na uniezależnienie się od jednego dostawcy rozwiązania [33]. Najważniejsze korzyści z używania chmury obliczeniowej to: optymalizacja kosztowa, szybkość, skala globalna, wydajność, skalowalność, niezawodność oraz bezpieczeństwo. Dodatkowo wielu dostawców rozwiązań chmurowych ma wsparcie dla technologii Blockchain, np. Amazon AWS, Microsoft Azure i inni. Mając powyższe na uwadze, konstrukcja aplikacji Paszportu Szczepień wymaga skalowalnych i dojrzałych rozwiązań ICT, gwarantujących niezawodność i bezpieczeństwo. Rozwiązaniem realizującym te przesłanki jest chmura obliczeniowa. W kolejnych sekcjach zostanie zaprezentowane rozwiązania zagadnienia problemowego realizacji Paszportu Szczepień bazującego na technologii Blockchain, który został zaimplementowany z wykorzystaniem chmury obliczeniowej.

I' 2 3 % # 7 S W poniższej sekcji zostanie przedstawione rozstrzygnięcie problemu implementacji Paszportu Szczepień. Rozwiązanie to wspomaga w sposób instytucjonalny pracodawców, instytucje rządowe i społeczne oraz podmioty gospodarcze w obszarze weryfikacji szczepień COVID-19. Projektowany system jest przewidziany do przechowywania certyfikatów szczepień, lecz po kilku modyfikacjach może służyć także do gromadzenia innych istotnych danych epidemiologicznych, np. testów COVID-19, statusu ozdrowieńca itd. Podstawową technologią zapisu rekordów Paszportu Szczepień powinien być Blockchain jako mechanizm bezpieczny, zapewniający niezmienność magazynowanych danych. W poprzedniej sekcji wskazano zalety i wady technologii Blockchain, dlatego nie będą tu powielane.

Hash Block 3

Hash Block 4

Hash Block 5

Dane

Dane

Dane

Rys. 1. Ogólna konstrukcja Blockchain Fig. 1. General Blockchain structure

Blockchain jest technologią odporną na próby fałszowania i modyfikacji danych. Nie można zmieniać informacji w łańcuchu, a jeśli już pojawiła się taka potrzeba, to należy dodać nowy blok do łańcucha. Warto mieć na uwadze, że nie zostanie on już z niego wymazany. Takie działanie wynika z konstrukcji Blockchain. Ogólną budowę Blockchain wskazano na rys. 1. Odnosząc się do źródłowego problemu Paszportu, każde szczepienie pacjenta stanowi osobny rekord z danymi. Zawiera on najważniejsze informacje o szczepionce i procesie szczepienia. Notyfikacje te zapisujemy w rekordzie danych, który następnie umieszczamy w łańcuchu. Dla każdego bloku generowana jest funkcja skrótu – hash. Każdy kolejny zawiera wartość hash z poprzedniego bloku. Pojedyncza zmiana w przypadku modyfikacji rekordu danych będzie generowała inną wartość hash, zatem wartość zapisana w kolejnym bloku będzie błędna. Jeśli są one rozbieżne, wówczas oznacza to, że dokonano procederu fałszowania/zmiany danych. Koncepcja konstrukcji Blockchain pozwala na podniesienie bezpieczeństwa przechowywanych informacji. A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


− zapytanie weryfikacyjne do Paszportu Szczepień, ok. 50 –200 mln zapytań/dziennie.

Kolejnym zabezpieczeniem Blockchain jest budowa sieci w formie peer-to-peer oraz implementacja rozproszonej księgi transakcji wraz z mechanizmem konsensusu. Sercem łańcucha bloków jest rozproszona księga, która przechowuje informacje o transakcjach, jakie miały miejsce. Termin „rozproszony” w stosunku do księgi oznacza, że bazując na sieci peer-to-peer każdy użytkownik tej sieci ma replikę księgi. Zapisanie informacji w łańcuchu może nastąpić jedynie z wykorzystaniem mechanizmów kryptograficznych. To one gwarantują, że po dodaniu transakcji do księgi nie można jej już zmodyfikować. Do obsługi całego szeregu funkcji sieci Blockchain, takich jak dostęp do księgi (transakcje i zapytania), wykorzystuje się Smart Contracts. Księga aktualizuje się tylko wtedy, gdy transakcje są zatwierdzane przez zdefiniowanych uczestników lub ich grupę. W innym przypadku aktualizacja nie jest zapisywana w księdze i blok ten nie zostanie włączony do łańcucha. Informacja z tego bloku nie będzie rozpropagowana w sieci. Podstawowe założenia projektowe systemu powinny uwzględniać następujące parametry: − obecne tempo szczepień ok. 1 mln szczepień każdego miesiąca, docelowa wartość ok. 5 mln transakcji/miesiąc,

Prognozowane tak duże obciążenia, wymagają doboru odpowiedniej architektury systemu i wykonania jej w środowisku chmurowym. Dokonano wyboru środowiska chmurowego Amazon AWS z powodu dostępu do odpowiednich usług, np. Autoscaling. AWS, w ramach swoich usług Amazon Managed Blockchain, udostępnia dwie sieci Blockchain oparte o rozproszoną księgę transakcji: Hyperledger Fabric lub Ethereum (Preview). W proponowanym tutaj rozwiązaniu wybrano sieci Hyperledger Fabric, jako rozwiązanie stabilniejsze i dojrzałe na tej platformie chmurowej. Podczas prac projektowych, wyróżniono dwa zasadnicze scenariusze użytkowania systemu: dodanie nowego wpisu o szczepieniu oraz proces weryfikacji szczepienia. Obecnie obywatele szczepiąc się przeciwko COVID-19 otrzymują odpowiednie dokumenty o szczepieniu w formie zaświadczenia wydawanego przez jednostkę, w której dokonano tej procedury. System zarządzający szczepieniami w Polsce jest wdrożony i nadzorowany przez Ministerstwo Zdrowia. Ta sama instytucja musi więc zadbać o utworzenie spójnego rejestru – Paszportu

Zapytanie zaufane

Zaufane instytucje z innych krajów EU

Pozyskanie informacji z BC

Ministerstwo Zdrowia

Klient blockchain

Szczepienie

1. Publikacja informacji o szczepieniu 2. Dokonywanie aktualizacji

/ Kod QR szczepienia Zapytanie

Pozyskanie informacji z BC Pacjent

Serwery aplikacyjne

Szczepienie

Chmura

Kod QR

blockchain

Pacjent

Rys. 2. Proponowana platforma paszportów szczepień bazująca na Blockchain Fig. 2. Proposed platform for vaccination passports based on the Blockchain

67


F % " % % ' V KQa = "[ ! 8 8 [ % D Szczepień. Scenariusz pierwszy powinien uwzględniać wydanie równorzędnego dokumentu potwierdzającego utworzenie Paszportu Szczepień oraz identyfikatora tego Paszportu w formie cyfrowej. Drugi scenariusz przewiduje weryfikację wykonania szczepienia przeciwko COVID-19, zachowując anonimowość i niezmienialność przechowywanych danych. Rejestr powinien pozwalać zainteresowanym stronom na łatwą (czasowo i procesowo) procedurę sprawdzenia zaistniałego zdarzenia szczepienia danego obywatela. Odpowiednią instytucją, która musi zorganizować system weryfikujący, jest ponownie Ministerstwo Zdrowia. To ona przygotowuje procedury i dostarcza infrastrukturę wraz z odpowiednimi interfejsami dostępowymi. Istnieje możliwość włączenia do powyższego systemu zewnętrznych podmiotów na podstawie umów bilateralnych lub standardów wypracowanych na poziomie Unii Europejskiej. Propozycje architektury systemu Paszportu Szczepień zaprezentowano na rys. 2. W architekturze wyróżniono następujące kluczowe podmioty: Ministerstwo Zdrowia, punkty szczepień, zaufane instytucje EU, podmioty weryfikujące, pacjent. Ministerstwo Zdrowia, jako podmiot organizujący, wyznacza punkty, w których odbywają się szczepienia i są odpowiedzialne za wydawanie zaświadczeń. Punkt ten otrzymuje równocześnie dostęp do systemu wraz przydzieleniem mu dostępu do węzła, umożliwiającego interakcję z łańcuchem bloków. Paszporty Szczepień będą następnie weryfikowane przez dowolną organizację, publiczną lub prywatną (np. port lotniczy lub administracja publiczna, poczta itp.), które muszą sprawdzać status szczepienia danej osoby. Obecnie w Polsce po dokonaniu szczepienia na COVID-19, każdy z pacjentów otrzymuje formalny dokument potwierdzający ten fakt. Dokument ten jest wydawany przez punkt szczepień wyznaczony przez Ministerstwo Zdrowia. Nie ma więc większego problemu organizacyjnego, by wystawiać dodatkowy dokument w formie cyfrowej, z wykorzystaniem wydruku lub zapisu cyfrowego kodu QR (Quick Response Code), zawierającego kod identyfikacyjny Paszportu Szczepień. Kod ten może być wysłany do aplikacji telefonu osoby zaszczepionej. Jeśli podmioty weryfikacyjne stanowią organy Państwa, typu Policja, Straż Graniczna, to wówczas mogą korzystać z przydzielonych im interfejsów do wymiany informacji. W przypadku masowego dopuszczenia innych podmiotów, konieczne jest wywarcie nacisku na zachowanie prywatności i bezpieczeństwa danych. Można będzie wtedy uzyskać bezpieczne, uniwersalne narzędzie, jakim jest Paszport Szczepień, respektowany nie tylko w kraju, ale także za granicą. Pozwoli to na weryfikację statusu danej osoby, np. na siłowni, basenie czy w restauracji. Taka możliwość sprzyja otwarciu gospodarki i unikaniu w przyszłości lockdown’ów. Powyższe wytyczne, przyjęte dla proponowanego systemu obsługującego Paszporty Szczepień, są zbieżne z zapowiedziami Ministra Zdrowia Adama Niedzielskiego, jakie wygłosił 20 stycznia 2021 r. na konferencji prasowej. Mówiono wtedy, że osoby, które przyjmą obie dawki szczepionki, będą miały możliwość pobrania w punkcie szczepienia wydruku z kodem QR lub przez Internetowe Konto Pacjenta. Jednak ten dokument nie będzie uznawany w przestrzeni międzynarodowej. Cyfrowe Paszporty Zdrowotne są kluczowym sposobem weryfikacji osób, mogącym pomóc w łagodzeniu rozprzestrzeniania się chorób zakaźnych. Informacje o szczepieniu zapisane w takim dokumencie, tym bardziej wydają się być kluczowe, gdy do końca nie wiemy jaką odporność daje konkretna szczepionka oraz na jaki czas zapewnia ochronę przed wirusem (ramka czasowa). Wirus ustawicznie mutuje i pojawiają się jego nowe odmiany. Te modyfikacje jego struktury mogą decydować o takich cechach, jak: szybkość zarażania, odporność na szczepionkę, zakres odporności itp. Parametry te powinny być nadzorowane w każdej przestrzeni.

68

P

O

M

I

A

R

Y

A

U

T

O

M

Rejestry instytucjonalne muszą być bezpieczne, zapewniając jednocześnie, że strony transakcji mają zagwarantowaną maksymalną prywatność i poufność. Taki poziom bezpieczeństwa i prywatności może zaoferować jedynie technologia Blockchain. Można wyróżnić kilka rodzajów Blockchaina: publiczny, prywatny oraz konsorcjalny. Dobór architektury technologii jest uzależniony od docelowego wdrożenia przez instytucje rządowe i europejskie. Blockchain prywatny dopuszcza do sieci łańcucha bloków jedynie autoryzowane węzły, co zapewnia poufność. Ministerstwo Zdrowia może budować system w oparciu o ten schemat tylko w przypadku wdrożenia rozwiązania na naszym terytorium. Zakładając pewien poziom zaufania do uczestników sieci, można wówczas stosować uproszczony i efektywniejszy proces uzyskania konsensusu – zatwierdzenia wpisu w księdze transakcji. Prowadzi do skrócenia czasu akceptowania i potwierdzania transakcji. Blockchain konsorcyjny jest podobny do Blockchaina prywatnego, pod względem projektowanej optymalizacji wydajności, skalowalności i algorytmów wypracowania konsensusu dla ograniczonej liczby węzłów. Różnica pomiędzy tymi dwoma typami polega na tym, że pierwszy typ jest wdrażany w pojedynczej organizacji, natomiast drugi może obejmować wiele organizacji, które współdziałają pomiędzy sobą. Komunikacja pomiędzy tymi podmiotami może być poufna. Dla tego rozwiązania sugeruje się, by dobór odpowiedniego modelu Blockchain’a zależał od zasięgu akceptowalności Paszportów Szczepień, który może być krajowy – Blockchain prywatny lub na poziomie europejskim – Blockchain konsorcyjny.

J' * & & 3 % # Podstawą utworzenia cyfrowego Paszportu Szczepień, obsługiwanego przez projektowany system, jest możliwość weryfikowalności faktu zaszczepienia danej osoby. Informacje w postaci elektronicznego certyfikatu mogą być bez problemu przechowywane w technologii Blockchain, w sposób zapewniający ich bezpieczeństwo i niezmienność. W celu realizacji tego postulatu, należy odpowiednio zaprojektować siećmechanizm przechowywania. Na rysunku 1 zobrazowano ogólną postać sieci łańcucha bloków. W rekordzie danych trzeba umieścić podstawowe informacje o szczepieniu, jakie są wprowadzane podczas tej operacji medycznej: imię, nazwisko, miejsce urodzenia, rodzaj szczepionki, seria, termin wykonania szczepienia. Ten podstawowy zbiór powinien pozwolić na możliwość weryfikacji szczepienia i określenie zakresu odporności danej osoby. Istotną wiadomością jest rodzaj preparatu, jaką została zaszczepiona dana osoba oraz parametry tego środka. Obecnie występuje mnogość szczepionek. Każda ma odmienne właściwości i zakres ochrony. W tym obszarze pojawiają się też nowe aktualizacje szczepionki, co wynika z samego charakteru COVID-19, jak i szybkich jego mutacji. Proponowaną strukturę rekordu przedstawiono w tab. 4, a przykład poprawnie wypełnionego rekordu przedstawiono tab. 5. Pewne dane w tym zbiorze są dublowane, np. data urodzenia. Można ją również wyznaczyć z pola Pesel. Ta nadmiarowość nie jest przypadkowa. Ta kwestia zostanie wyjaśniona w dalszej części opisującej schemat weryfikacji uwzględniającej anonimowość. Celem podniesienia poziomu bezpieczeństwa i zapewnienia prywatności, część pól rekordu zawierająca dane wrażliwe są „szyfrowane” algorytmem BLAKE3. Szyfrowanie oznacza, że dla tej wartości generowany jest skrót nieodwracalny, tzw. hash. Ogólna zasada weryfikacji rekordu szczepienia zmierza do potwierdzenia zgodności danych w systemie, z danymi wprowadzonymi przez osobę weryfikującą. Prywatność gwarantuje fakt, że nie porównujemy danych wrażliwych otwarcie, a jedynie wartości funkcji

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


Tab. 4. Proponowana podstawowa struktura rekord danych Paszportu Szczepień Tab. 4. Proposed basic structure of the Vaccination Passport data record Nazwa pola danych

Pole Hash

Metoda generowania Hash

ID(Pesel)

Tak

(Pesel)Black3

Imię

Tak

(Imię Data_Urodzenia Miejsce_Urodzenia)Black3

Nazwisko

Tak

(Nazwisko Data_Urodzenia Miejsce_Urodzenia)Black3

Miejsce_Urodzenia

Tak

(Miejsce_Urodzenia Data_Urodzenia Miejsce_Urodzenia)Black3

Data_Urodzenia

Tak

(Data_Urodzenia Data_Urodzenia Miejsce_Urodzenia)Black3

Miejsce_Szczepienia-Kod

Nie

Nie dotyczy

Nazwa Szczepionki

Nie

Nie dotyczy

ATC_code

Nie

Nie dotyczy

Seria

Nie

Nie dotyczy

Data_Godzina_Szczepienia

Nie

Nie dotyczy

Pełne_Zabezpieczenie

Nie

Nie dotyczy

Ważność certyfikatu

Nie

Nie dotyczy

– operacja łączenia ciągów tekstowych

Tab. 5. Przykład rekordu danych zapisany w Blockchain Tab. 5. Example of a data record saved in a Blockchain Nazwa pola danych

Pole Hash

Dane pierwotne

Przykładowa wartość pola w rekordzie

ID(Pesel)

Tak

12345678901

d0c666ae799b9213113442ed35ff609ffddc5ca0818c04e8adcdac4dd5dadfeb

Imię

Tak

Tadeusz

3d808cd6c22c2084fe110b0a4c67307c08e783b39cc2e6574d20f6beb9feb1bd

Nazwisko

Tak

Kowalski

8683925269a149d6918393beae95b396f8de7be16e1ce9063de0c0d80f9b3d86

Miejsce_Urodzenia

Tak

Wieliczka

660bbb35d19dffd1581a6494d87a0781ae09479bcf5c69f5338adc42cc4a99de

Data_Urodzenia

Tak

11.11.1942

f538bfd30d2322ded7906e5792318e49fcf21d6e9ae976a351fe429e4ba0aeaa

Miejsce_Szczepienia

Nie

‚’ZDROWIE’’SP.J. A.ANTAS,M.TUNIK, M.SIEMIENASPALICHLEB, J.POLSZCZUK, A.WŁODARSKI

‚’ZDROWIE’’SP.J. A.ANTAS,M.TUNIK, M.SIEMIENAS-PALICHLEB, J.POLSZCZUK, A.WŁODARSKI

Nazwa Szczepionki

Nie

Pfizer–BioNTech COVID19

Pfizer–BioNTech COVID19

J07BX

J07BX

ATC_Code Seria

Nie

PAA156732

PAA156732

Data_Godzina_ Szczepienia

Nie

21.01.2021

21.01.2021

Pełne_Zabezpieczenie

Nie

Nie

Nie

Ważność certyfikatu

Nie

21.01.2023

21.01.2023

69


F % " % % ' V KQa = "[ ! 8 8 [ % D

Rys. 3. Porównanie wydajności różnych algorytmów Hash, platforma testowa AWS c5.metal, wejście 16 KiB, 1 wątek, źródło: https://github.com/BLAKE3-team/BLAKE3/ Fig. 3. Performance comparison of different Hash algorithms, AWS c5.metal test platform, 16 KiB input, 1 thread, source: https://github.com/BLAKE3-team/BLAKE3/

Rys. 4. Schemat weryfikacji rekordu danych zapisany w Blockchain Fig. 4. Data record verification scheme stored in Blockchain

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

NR 2/ 20 21


nieodwracalnej zapisanej w rekordzie danych. Dane szyfrowane są danymi wrażliwymi, a pozostałe dane pozostają bez szyfrowania. Zachowujemy wtedy poufność i bezpieczeństwo danych wrażliwych podczas procesu przesyłu informacji, udostępniania i weryfikacji. Politykę tę można zmieniać zależnie do poziomu bezpieczeństwa. Dodatkowy poziom prywatności i bezpieczeństwa zapewnia możliwość weryfikacji pewnych wybranych pól(losowych), zamiast wszystkich danych z rekordu. Funkcje generujące hash są nazywane funkcjami skrótu, skrótem nieodwracalnym, funkcją mieszającą lub funkcją haszującą. Istota tej metody polega na tym, że funkcja ta dowolnie dużemu zbiorowi wejściowemu (np. liczbie, tekstowi itp.) przyporządkowuje krótką i jednoznaczną wartość o stałym rozmiarze. Jest ona niespecyficzna i quasi-losowa. Współcześnie, użytkowanie skrótu nieodwracalnego jest bardzo rozpowszechnione i w dobie wszechobecnego RODO pozwala na używanie techniki pseudonimizacji. Technika pseudomizacji polega na przechowywaniu w określonym zbiorze jedynie identyfikatorów. Wartości te nie powiedzą innym osobom niczego na temat danych wrażliwych. Administrator danych w tym systemie ma możliwość dopasowania identyfikatora do konkretnego rekordu z danymi i powiązania go z konkretną osobą. Korzystając z funkcji skrótu, można zabez-

pieczyć rekord ze szczepienia w paszporcie i swobodnie używać go w systemie, zachowując przy tym anonimowość. W proponowanym rozwiązaniu sugeruje się użytkowanie funkcji BLAKE3, która została wydana w 2020 r. Autorzy funkcji, czyli Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves i Zooko Wilcox-O’Hearn znacznie poprawili jej wydajność w porównaniu do pozostałych algorytmów SHA-1, SHA-2, SHA-3, MD5 i BLAKE2. Zestawienie tych wskazanych funkcji zawarto na rys. 3. Wydajność funkcji nieodwracalnej ma znaczenie w przypadku proponowanej implementacji, z uwagi na efektywność całego systemu. Zgodnie ze specyfikacją Paszportu Szczepień, obecnie wydajność szczepień wynosi ok. 100–200 tys. dziennie, a docelowo powinna się zwielokrotnić. Szacuje się, że przy obecnym stanie szczepień, liczba operacji generowania funkcji hash w ciągu dnia będzie wynosiła ok. 500 tys. razy (jest zależna od zakresu danych szyfrowanych). Zachowanie anonimowości ma szczególne znaczenie, gdy posługujemy się danymi osobowymi – danymi wrażliwymi. Generowanie skrótu dla tych danych i wykorzystanie ich podczas weryfikacji pozwoli na nieujawnianie danych osobom postronnym, a osoby sprawdzające mają możliwość pełnej weryfikacji poprawności danych zachowując bezpieczeństwo i anonimowość. Nawet gdy ktoś uzyska dostęp do rekordu, nie będzie w stanie

Rys. 5. Diagram sekwencji procesu weryfikacji rekordu danych Paszportu Szczepień Fig. 5. Sequence diagram of the verification process of the Vaccination Passport data record

71


F % " % % ' V KQa = "[ ! 8 8 [ % D odczytać z niego danych wrażliwych bez pomocy osoby, której te dane dotyczą. Do weryfikacji autentyczności całego paszportu wystarczy skorzystać wybiórczo z jednego pola zawierające dane wrażliwe, a nie ze wszystkich pól. Pozostałe są ukryte – zaszyfrowane. Schemat idei weryfikacji paszportu zawarto na rys. 4. W rekordzie danych zawarto dodatkowe nadmiarowe pola, np. data urodzenia. Z tych elementów można skorzystać wybiórczo przy weryfikacji dokumentu szczepienia nie odpytując bezpośrednio o wszystkie dane wrażliwe. Przykładowo, osoba weryfikowana podaje tylko nazwisko data urodzenia oraz miejscowość urodzenia. Na tej podstawie jest weryfikowana poprawność rekordu szczepienia przez obliczenie funkcji skrótu dla kombinacji tych elementów zgodnie z zastosowanym schematem, a następnie jest obliczana funkcja powtórnie dla całego rekordu po podstawieniu do tej struktury obliczonej funkcji nieodwracalnej. Jeśli weryfikacja hash rekordu pierwotnego oraz obliczonego jest prawidłowa, to wówczas dane zawarte w rekordzie są prawidłowe – zweryfikowano osobę poprawnie. Faktem jest, że data urodzenia jest częścią nr PESEL i można ją pozyskać z tego numeru. W proponowanej metodzie operuje na poziomie wartości funkcji skrótu (zaszyfrowanych), a nie bezpośrednio na danych wrażliwych. Aplikacja weryfikująca oraz osoba testująca nie mają dostępu do danych pierwotnych, a jedynie tych elementów, które poda osoba weryfikowana. Dane te muszą być proste do zapamiętania, a zarazem wystarczające do budowy odpowiedniego wzorca szyfrującego. Z drugiej jednak strony, nadmiarowość pewnych pól wrażliwych gwarantuje możliwość losowego wyboru pola poddawanego weryfikacji. Nie jest konieczne odwoływanie się do tej samej sekwencji pól: imię, nazwisko itd. Celem realizacji tej możliwości konieczny jest odpowiedni zasób danych nadmiarowych. Nadrzędną zasadą jest tu minimalizm danych wrażliwych używanych w procesie weryfikacji. Aplikację weryfikacji można zatem udostępnić innym podmiotom bez obawiania się o udostepnienie danych wrażliwych obywateli w kraju i zagranicą. Użytkowanie w życiu codziennym wartości pseudolosowej może być trudne do zapamiętania lub zapisania. Odpowiednim podejściem ułatwiającym funkcjonowanie Paszportu Szczepień powinny być kody QR. Kod ten jest na tyle uniwersalnym elementem używanym współcześnie, że mogą go odczytać i przetworzyć różne urządzenia, takie jak skanery QR, smartfony, kamery itd. Z ich wykorzystaniem można współdzielić rozmaite informacje, takie jak: adres strony internetowej, numer telefonu, sms itp. Jest to bardzo uniwersalne narzędzie. Tak samo skutecznie procesowo będzie można użytkować w życiu codziennym kodu QR do weryfikacji szczepień. Odczyt tego identyfikatora jest wystarczający do sprawdzenia np. na stacji kolejowej, podczas kontroli służby granicznej i policyjnej, w portach lotniczych, w komunikacji miejskiej, kolei itp. W proponowanym systemie, kod QR powinien być wydany przez punkt szczepień i pełnić funkcję identyfikatora Paszportu Szczepień przyporządkowanego do danego pacjenta. Proponuje się, by identyfikatorem był wynik funkcji hash numeru

PESEL. W sytuacji utraty zaświadczenia lub wydruku kodu QR, pacjent może samodzielnie odtworzyć ten identyfikator. Ważna jest prostota i intuicyjność stosowania systemu. Wprowadzanie danych do systemu udostępnionego przez Ministerstwo Zdrowia, przeznaczonego do obsługi szczepień, winno zostać rozszerzone o procedurę automatycznej obsługi Paszportów Szczepień. Ta procedura musi też skutkować wpisaniem informacji do Paszportu Szczepień i wygenerowaniem kodu QR. Przykład kodu rozdawanego pacjentom zawarto na rys. 6. Informacja otrzymana z aplikacji powinna być prosta: zaszczepiony lub niezaszczepiony, a sugeruje się w tym względzie oznaczania odpowiedzi systemu kolorami: Rys. 6. Kod QR identyfikatora czerwony i zielony. Przykład osoby z Tab. 5 weryfikacji z aplikacji weryfikuFig. 6. QR code of the person’s identifier from Tab. 5 jącej zawarto na rys. 7. Podstawowy schemat procesowy użytkowania systemu, tj. „weryfikację” przedstawiono na rys. 5. Istnieją dwa podstawowe podmioty: osoba sprawdzana oraz podmiot testujący. Procedura wykonania weryfikacji szczepienia powinna być na tyle prosta i nieuciążliwa, by jak najmniej angażować strony, jednocześnie zachowując odpowiedni poziom pewności oraz ilości obsługiwanych osób przez system. Kod QR znacznie skraca czas weryfikacji, nie wymaga wprowadzania danych. W ten sposób łatwo można zautomatyzować proces weryfikacji. Taki kod może być zapisany w telefonie w formie obrazka lub na Internetowym Koncie Pacjenta. Można go wydrukować i wciąż będzie odczytywany przez urządzenia. System musi sprawnie obsługiwać weryfikację obywateli w sposób natychmiastowy, by nie powstawały zbędne zatory. Taką efektywność mogą zagwarantować rozwiązania chmurowe.

Rys. 7. Wynik zapytania weryfikującego Paszportu Szczepień Fig. 7. Result of the inquiry verifying the Vaccination Passport

Tab. 6. Przykład pełnej weryfikacji danych wrażliwych Tab. 6. Example of full verification of sensitive data

Lp.

1.

2.

72

Pole danych

Wartość pola uzyskana

Wartość pola –

wrażliwych

z zapytania

zaszyfrowana

3d808cd6c22c2084f e110b0a4c67307c08 e783b39cc2e6574d2 0f6beb9feb1bd

Imię

P

O

M

I

A

R

Y

Kowalski

A

U

T

O

M

Wyliczona przez testera wartość funkcji skrótu

osobę – wartość

Tadeusz

8683925269a149d69 18393beae95b396f8 de7be16e1ce9063de 0c0d80f9b3d86

Nazwisko

Dane podane testerowi przez

A

T

Status weryfikacji

Tadeusz

Hash(Tadeusz)=3d808cd 6c22c2084fe110b0a4c67 307c08e783b39cc2e6574 d20f6beb9feb1bd

Zgodne – Zweryfikowano poprawnie

Kowalski

Hash(Kowalski)=868392 5269a149d6918393beae9 5b396f8de7be16e1ce906 3de0c0d80f9b3d86

Zgodne – Zweryfikowano poprawnie

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


Dla uproszczenia, działanie systemu weryfikacji można opisać dwoma podstawowymi regułami decyzyjnymi: 1. if ((Pesel)Black3) exist „jest zaszczepiony” else „nie jest zaszczepiony” 2. if dane_hash == hash(dane_weryfikacja) and hash(record_ danych) == hash_record then „zgodne dane” (prawidłowa pełna weryfikacja) else „niezgodne dane” Celem podniesienia bezpieczeństwo systemu i zapewnienia większej anonimowości możliwe jest losowy wybór danych wrażliwych w zapytaniu weryfikacji szczegółowej. Przykładowo może to być jedynie nazwisko lub imię. Weryfikacja jednej lub dwóch wartości potwierdzi prawdziwość zawartych danych bazując na konstrukcji rekordu zawartym w tab. 4.

L' 4 3 % # Celem sprawdzenia koncepcji Paszportu Szczepień, wykonano rozwiązanie testowe w środowisku chmurowym z wykorzystaniem Amazon AWS (https://aws.amazon.com/). AWS (Amazon Web Services) jest chmurą obliczeniową, która dostarcza zasobów na żądanie za pośrednictwem platformy udostępnionej w sieci Internet. Chmura zapewnia zwinność implementacyjną, co gwarantuje łatwy dostęp do szerokiej gamy technologii. Dzięki temu można szybciej implementować, testować i wprowadzać własne rozwiązania oraz innowacje. Wybór platformy Amazon AWS nie był przypadkowy, lecz poparty rzeczowa analizą. Uzyskane rezultaty z prac pokrywają się z wynikami raportu [34]. Rozwiązanie informatyczne Paszportu Szczepień powinno zostać zrealizowana w chmurze obliczeniowej ze względu na możliwość budowy dynamicznie optymalizowanego rozwiązania informatycznego pod względem konstrukcji i wykorzystywanych zasobów. W klasycznym wariancie projektowania infrastruktury IT na wstępnym etapie prognozowało się spodziewane obciążenie i w zależności od tych szacunków konstruowało się infrastrukturę - optymalną. Chmura obliczeniowa pozwala na budowanie rozwiązania kompleksowo. Rozwiązanie to będzie reaktywnie zmniejszać lub zwiększać zasoby oraz dostęp do usług, w zależności od aktualnego zapotrzebowania. Chmura to również wysokie bezpieczeństwo. Można w tym względzie skorzystać z wielu dostępnych usług infrastruktury Amazon AWS do zabezpieczenia całego konstruowanego rozwiązania, np. Amazon Macie, AWS Sheld, Amazon Macie i inne. Rozwiązania chmurowe są znacznie bardziej elastyczne niż tradycyjne instalacje on-premise. Wdrażanie zmian jest znacznie szybsze i nie wymaga dużego nakładu pracy zespołu informatyków. Co ma znaczenie w przypadku prezentowanego przedsięwzięcia, które dynamicznie będzie rozwijać się. Stwierdzenie to ma szczególne znaczenie, gdy uwzględnia się przyszłościowo fakt dostępu do zasobów w różnych regionach Europy. Proponowaną architekturę AWS obsługującą Paszport Szczepień z implementacją technologii Blockchain zaprezentowano na rys. 8. Konstruowanie systemu w środowisku chmurowym AWS jest prostsze od rozwiązań on-premise. Rozwiązanie IT konstruowane jest z gotowych „klocków” oprogramowania oferowanych przez dostawcę usług. Elementy te można swobodnie integrować, tworząc bezpieczne i skalowalne aplikacje. Podstawowe usługi wymagane przez aplikacje to Load Balancing (https://aws.amazon.com/elasticloadbalancing/) oraz skalowalność infrastruktury i usług (https://aws.amazon.com/autoscaling/), które zostały szerzej omawiane w dokumentacji technicznej Amazon AWS. Na diagramie architektury chmurowej można wyróżnić podstawowe usługi dla tego rozwiązania: Blockchain Services, Cognito, API Gateway, Lambda, AWS Privatelink. Przedsta-

wiona architektura została zoptymalizowana, by w pełni obsłużyć duży ruch generowany przez użytkowników systemu Paszportu Szczepień. Obciążenie projektowe można określić jako znaczne: docelowa to dzienny przyrost rekordów, który szacuje się na 200–300 tys., a zapytania weryfikacyjne 50–80 mln każdego dnia. Docelowo wskazane parametry moja ulec zwielokrotnieniu. Taki ruch aplikacyjny jest w stanie obsłużyć jedynie wysoko wydajne środowisku chmurowe. Na potrzeby aplikacji zaprojektowano i wykonano wzorcową infrastrukturę Paszportu Szczepień bazującego na technologii Blockchain. Głównym elementem infrastruktury jest Blockchain Hyperledger Fabric, który przechowuje rekordy Paszportu Szczepień pacjenta. Platforma Hyperledger Fabric to rozwiązanie oparte o framework open source nadzorowane przez Linux Foundation. Ma aktywną i rosnącą społeczność programistów, co wpływa znacznie na witalność całego projektu. Sieć ta ma mechanizm zarządzania uprawnieniami. Tożsamość każdego z uczestników sieci jest znana, jak również wykonywane przez nich operacje. Zabezpieczenia takie mają istotne znaczenie w takich dziedzinach jak finanse, e-health itp. W projekcie skorzystano z rozwiązania Amazon Managed Blockchain. To w pełni zarządzana usługa, która pozwala skonstruować skalowalną sieć Blockchain Hyperledger Fabric i efektywnie nią zarządzać. Gdy sieć zostaje uruchomiona, Amazon Managed Blockchain ułatwia zarządzanie i utrzymanie sieci blockchain, w tym: zarządza certyfikatami i umożliwia łatwe tworzenie nowych członków (podmiotów) łączących się z siecią. Takie środowisko Blockchain tworzy bezpieczne i odporne na fałszowania miejsce do przechowywania danych pacjentów. Jak wskazano na diagramie (rys. 8), Managed Blockchain zarządza usługami sieci Hyperledger Fabric. Wszystkie elementy składowe infrastruktury dedykowane kooperacji z Blockchain są umiejscowione w sieci szkieletowej AWS i nie są narażone na udostępnienie w publicznym Internecie. W tym kontekście można również wspomnieć o usłudze AWS PrivateLink. Usługa ta zapewnia prywatną komunikację między VPC (siecią wirtualną) oraz usługami Amazon AWS bez eksponowania tego ruchu do zewnętrznego/publicznego Internet. AWS PrivateLink ułatwia łączenie usług z różnych kont AWS oraz VPC, aby znacznie uprościć architekturę sieci. Dodatkowo ta usługa wraz z Gateway Load Balancer pozwala na równoważenia obciążenia, zapewnia identyczny poziom bezpieczeństwa i wydajności urządzeń sieci wirtualnej. Efektem jest stabilność wraz z podniesieniem efektywności komunikacji jaką można uzyskać w implementacji Paszportu Szczepień. Amazon API Gateway wraz z Lambdą to w pełni zarządzana usługa, która ułatwia tworzenie, publikowanie, utrzymywanie, monitorowanie i zapewnienie bezpieczeństwa dla interfejsów API w dowolnej skali. Usługa ta tworzy RESTful API i WebSocket API, które pozwalają w czasie rzeczywistym na komunikacje dwukierunkowa aplikacji. Amazon API Gateway pozwala na akceptowanie i obsługę setek tysięcy równoległych zapytań API. Wymaga to zastosowania odpowiednich mechanizmów zarządzania ruchem, wsparcia cross-origin resource sharing (CORS), autentyfikacji oraz kontroli dostępu, monitorowaniem oraz zarządzaniem wersjonowaniem API. Amazon Cognito umożliwia szybką i łatwą rejestracje użytkowników, logowania oraz kontrole dostępu do aplikacji internetowych i mobilnych. Usługa ta skaluje się do milionów użytkowników i obsługuje opcje logowania u dostawców tożsamości społecznościowych, takich jak Apple, Facebook, Google i Amazon, oraz dostawców tożsamości innych podmiotów za pośrednictwem SAML 2.0 i OpenID Connect. Usługa ta jest nieoceniona przy budowaniu złożonych środowisk aplikacyjnych. AWS Cognito może integrować się z aplikacjami: iOS Objective C, IOS Swift, Android, REACT native, Web. Temat implementacji tego systemu jest bardzo rozległy i zostanie szerzej rozwinięty w osobnym artykule.

73


F % " % % ' V KQa = "[ ! 8 8 [ % D

Rys. 8. Referencyjna architektura aplikacji Paszportu Szczepień wykonano w środowisku chmurowym Amazon AWS Fig. 8. The reference architecture of the Vaccination Passport application was made in the Amazon AWS cloud environment

Przedstawione powyżej usługi komplementarne tworzą aplikację Paszportu Szczepień, która stanowi spójną, skalowalną i bezpieczna platformę realizacji operacji weryfikacji szczepień dla wielu milionów użytkowników paszportów w życiu codziennym. Przedstawiona architektura pozwala również na unikniecie wielu wpadek obecnych systemów oferowanych przez instytucje rządowe związane z prawidłową obsługą różnego typu aplikacji oferujących usługi obywatelom.

lejów zachęcałby innych do fałszerstw, tak jak ma to miejsce w przypadku testów na obecność koronowirusa nabywanych w Internecie. Szybkie metody weryfikacji tego zaświadczenia, które są: efektywne czasowo, proste proceduralnie, a dodatkowo bezpieczne, zachowujące prywatność i anonimowość, są konieczne. Wiele krajów już pracuje nad rozwiązaniem tego problemu. Dzieje się to także w Europie. Jedynie rozwiązania cyfrowe mogą wspomóc walkę z pandemią COVID-19. W artykule zaproponowano implementację Paszportu Szczepień COVID-19, bazującą na Blockchain. Dodanie certyfikatu do Paszportu Szczepień jest wykonywane przez punkty realizujące szczepienia, wyznaczone przez Ministerstwo Zdrowia. Weryfikacja Paszportów może się odbywać przez dowolny podmiot, któremu osoba zaszczepiona przedstawi swój identyfikator, bez zbędnych procedur administracyjnych. Weryfikowanie Paszportu Szczepień przebiega za pomocą kodu QR – identyfikator przyznawany osobie zaszczepionej. Takie działanie podnosi również efektywność użytkowania systemu w życiu codziennym. Kod taki można w prosty sposób wydać w postaci wydruku na kartce papieru, przez zapisanie na profilu pacjenta

Q' 3 W celu aktywnej walki z pandemią COVID-19 i dla szybszego poluzowania restrykcji oraz złagodzenia środków dystansowania, sugeruje się użycie Paszportów Szczepień COVID-19. Jest to dokument potwierdzający, że dana osoba zaszczepiła się przeciwko chorobie i jest odporna na koronowirusa. W związku z tym, zaszczepieni powinni liczyć na przywileje. W Polsce na dzień dzisiejszy jest to zwolnienie z kwarantanny, np. podczas przekraczania granicy. Z drugiej zaś strony, dostęp do przywi-

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

NR 2/ 20 21


lub innym nośniku cyfrowym w formacie pdf bądź w formacie graficznym. Osoba weryfikująca może odczytać kod, dzięki wbudowanej kamerze w smartfonie z zainstalowaną do tego celu aplikacją lub poprzez stacjonarny czytnik. Mnogość podmiotów weryfikujących oraz ilość operacji może rodzić obawy o bezpieczeństwo danych i anonimowość. Rozwiązaniem tego problemu jest możliwość zastosowania technologii Blockchain oraz technik pseudomizacji, z wykorzystaniem funkcji skrótu BLACK3. Przy weryfikacji Paszportu Szczepień nie trzeba posługiwać się danymi wrażliwymi bezpośrednio, lecz można skorzystać z funkcji hash w weryfikacji poprawności danych. Dodatkowym zabezpieczeniem Paszportu Szczepień jest metoda przechowywania informacji w Blockchain, który jest odporny na modyfikacje i fałszowanie. Dzieje się tak, ponieważ raz zarejestrowane dane w bloku nie mogą być zmienione bez przekształcenia wszystkich kolejnych bloków następujących po tym modyfikowanym. Całość rozwiązania zaimplementowano w chmurze Amazon AWS, która dodatkowo podnosi bezpieczeństwo, dzięki wykorzystaniu wielu narzędzi. Przy okazji zapewnia dynamiczną skalowalność całej aplikacji, przy prognozowanym dużym obciążeniu wykorzystania Paszportu Szczepień.

S & 1. World Health Organization: Background paper on Covid19 disease and vaccines: prepared by the Strategic Advisory Group of Experts (SAGE) on immunization working group on COVID-19 vaccines, 22 December 2020, Geneva. 2. International certificate of vaccination or prophylaxis [www.who.int/ihr/ports_airports/icvp/en/]. 3. World Health Organization: The COVID-19 candidate vaccine landscape. Geneva 2021. 4. Xu H., Zhang L., Onireti O., Fang Y., Buchanan W.J., Imran M.A., BeepTrace: Blockchain-enabled Privacy-preserving Contact Tracing for COVID-19 Pandemic and Beyond. “IEEE Internet of Things Journal”, 2020, DOI: 10.1109/JIOT.2020.3025953. 5. Klaine P.V., Zhang L., Zhou B., Sun Y., Xu H., Imran M., Privacy-Preserving Contact Tracing and Public Risk Assessment Using Blockchain for COVID-19 Pandemic. “IEEE Internet of Things Magazine”, Vol. 3, No. 3, 2020, 58–63, DOI: 10.1109/IOTM.0001.2000078. 6. Lv W., Wu S., Jiang C., Cui Y., Qiu X., Zhang Y., Towards Large-Scale and Privacy-Preserving Contact Tracing in COVID-19 pandemic: A Blockchain Perspective. “IEEE Transactions Network Science and Engineering”, 2020, DOI: 10.1109/TNSE.2020.3030925. 7. Demir M., Turetken O., Ferworn A., Blockchain-Based Transparent Disaster Relief Delivery Assurance. [In:] 2020 IEEE International Systems Conference (SysCon), 1–8, DOI: 10.1109/SysCon47679.2020.9275915. 8. Kumar R., Tripathi R., A Secure and Distributed Framework for sharing COVID-19 patient Reports using Consortium Blockchain and IPFS. [In:] 2020 Sixth International Conference on Parallel, Distributed and Grid Computing (PDGC), 231–236, DOI: 10.1109/PDGC50313.2020.9315755. 9. Hasavari S., Song Y.T., A Secure and Scalable Data Source for Emergency Medical Care using Blockchain Technology. [In:] 2019 IEEE 17th International Conference on Software Engineering Research, Management and Applications (SERA), 71–75, DOI: 10.1109/SERA.2019.8886792. 10. Christodoulou K., Christodoulou P., Zinonos Z., Carayannis E.G., Chatzichristofis S.A., Health Information Exchange with Blockchain amid Covid-19-like Pandemics. [In:] 2020 16th International Conference on Distributed Computing in Sensor Systems (DCOSS), 412–417, DOI: 10.1109/DCOSS49796.2020.00071.

11. Delaney S., Schmidt D., Chan C., The Logical Architecture Essential for the Creation of a Comprehensive Patient Healthcare Profile on Blockchain. [In:] 2020 IEEE 6th World Forum on Internet of Things (WF-IoT). 1–7, DOI: 10.1109/WF-IoT48130.2020.9221024. 12. Geneiatakis D., Soupionis Y., Steri G., Kounelis I., Neisse R., Nai-Fovino I., Blockchain Performance Analysis for Supporting Cross-Border E-Government Services. “IEEE Transactions on Engineering Management”, Vol. 67, No. 4, 2020, 1310–1322, 2020, DOI: 10.1109/TEM.2020.2979325. 13. Castaldo L., Cinque V., Blockchain-Based Logging for the Cross-Border Exchange of eHealth Data in Europe. [In:] Gelenbe E., Campegiani P., Czachórski T., Katsikas S.K., Komnios I., Romano L., Tzovaras D. (eds.) Security in Computer and Information Sciences. 46–56. Springer International Publishing, Cham 2018. 14. Shahriar Rahman M., Al Omar A., Bhuiyan M.Z.A., Basu A., Kiyomoto S., Wang G., Accountable Cross-Border Data Sharing Using Blockchain Under Relaxed Trust Assumption. “IEEE Transactions on Engineering Management”, Vol. 67, No. 4, 2020, 1476–1486, DOI: 10.1109/TEM.2019.2960829. 15. Patel D., Balakarthikeyan Mistry V., Border Control and Immigration on Blockchain. [In:] Chen S., Wang H., Zhang L.-J. (eds.) Blockchain – ICBC 2018. 166–179. Springer International Publishing, Cham 2018, DOI: 10.1007/978-3-319-94478-4_12. 16. Wu H., Cao J., Yang Y., Tung C.L., Jiang S., Tang B., Liu Y., Wang X., Deng Y., Data Management in Supply Chain Using Blockchain: Challenges and a Case Study. [In:] 2019 28th International Conference on Computer Communication and Networks (ICCCN). 1–8, DOI: 10.1109/ICCCN.2019.8846964. 17. Malik S., Dedeoglu V., Kanhere S.S., Jurdak R., TrustChain: Trust Management in Blockchain and IoT Supported Supply Chains. [In:] IEEE International Conference on Blockchain, 2019, 184–193, DOI: 10.1109/Blockchain.2019.00032. 18. Febriansyah, Antoni D., Lestari E., The Role of Blockchain Technology in E-Govemment Capability: Literature Review. [In:] Fifth International Conference on Informatics and Computing, 2020, 1–5, DOI: 10.1109/ICIC50835.2020.9288578. 19. Kalla A., Hewa T., Mishra R.A., Ylianttila M., Liyanage M., The Role of Blockchain to Fight Against COVID-19. “IEEE Engineering Management Review”, Vol. 48, No. 3, 2020, 85–96, DOI: 10.1109/EMR.2020.3014052. 20. Gunter T.D., Terry N.P., The emergence of national electronic health record architectures in the United States and Australia: models, costs, and questions. “Journal of Medical Internet Research”, Vol. 7, 2005, DOI: 10.2196/jmir.7.1.e3. 21. Bartlett J., Chile’s ‘immunity passport’ will allow recovered coronavirus patients to break free from lockdown, get back to work, [www.washingtonpost.com/world/ the_americas/chile-coronavirus-immunity-passport-antibody-testing-card/2020/04/20/8daef326-826d-11ea-81a3-9 690c9881111_story.html]. 22. Phelan A., COVID-19 immunity passports and vaccination certificates: scientific, equitable, and legal challenges. “The Lancet”, Vol. 395, No. 10237, 2020, 1595–1598, DOI: 10.1016/S0140-6736(20)31034-5. 23. Deka S.K., Goswami S., Anand A., A Blockchain Based Technique for Storing Vaccination Records. [In:] 2020 IEEE Bombay Section Signature Conference, 135–139, DOI: 10.1109/IBSSC51096.2020.9332171. 24. Hasan H.R., Salah K., Jayaraman R., Arshad J., Yaqoob I., Omar M., Ellahham S., Blockchain-Based Solution for COVID-19 Digital Medical Passports and Immunity Certificates. “IEEE Access”, Vol. 8, 2020, 222093–222108, DOI: 10.1109/ACCESS.2020.3043350.

75


F % " % % ' V KQa = "[ ! 8 8 [ % D 31. Okediran O.O., Sijuade A.A., Wahab W.B., Oladimeji A.I., A Framework for a Cloud-Based Electronic Health Records System for Developing Countries. [In:] International Conference on Electrical, Communication, and Computer Engineering, 2020, 1–5, DOI: 10.1109/ICECCE49384.2020.9179276. 32. Maganti P.K., Chouragade P.M., Secure Health Record Sharing for Mobile Healthcare in Privacy Preserving Cloud Environment. [In:] IEEE International Conference on Electrical, Computer and Communication Technologies, 2019, 1–4, DOI: 10.1109/ICECCT.2019.8869390. 33. Varghese B., Buyya R., Next generation cloud computing: New trends and research directions, “Future Generation Computer Systems”, Vol. 79, 2018, 849–861, DOI: 10.1016/j.future.2017.09.020. 34. State of the Cloud Report 2021 from Flexera. Flexera, Itasca, Illinois, United States (2021).

25. Eisenstadt M., Ramachandran M., Chowdhury N., Third A., Domingue J.: COVID-19 Antibody Test/Vaccination Certification: There’s an App for That, “IEEE Open Journal of Engineering in Medicine and Biology”, Vol. 1, 2020, 148–155, DOI: 10.1109/OJEMB.2020.2999214. 26. Chaudhari S., Clear M., Tewari H., Framework for a DLT Based COVID-19 Passport. ArXiv Prepr. ArXiv200801120, 2020. 27. Hernández-Ramos J.L., Karopoulos G., Geneiatakis D., Martin T., Kambourakis G., Fovino I.N., Sharing pandemic vaccination certificates through blockchain: Case study and performance evaluation, 2021. 28. Hayes B., Cloud computing, “Communications of the ACM”, Vol. 51, No. 7, 2008, 9–11, DOI: 10.1145/1364782.1364786. 29. Compaq Computer Corporation: Internet Solutions Division Strategy for Cloud Computing. CST presentation, 1996. 30. Sehgal N.K., Bhatt P.C.P., Cloud Computing: Concepts and Practices. Springer International Publishing, 2018.

G < S # /ZGS;-J Z 8 0 + T 8 # 8 6% The paper discusses proposals for implementing the COVID-19 digital Vaccination Passport based on Blockchain that protects privacy. Since the end of the last year, after the commencement of vaccination against COVID-19, there has been an intense discussion on the form of introducing such a tool and the consequences of its implementation. This discussion is taking place in many European countries. One element of this discussion was the safety and anonymity of the massively verified data of persons on vaccinations in various areas of society functioning. These issues are being resolved by the proposed digital Vaccination Passport system. This system uses two major methods: Blockchain and hash functions, which allow you to maintain security, privacy, and anonymity at the same time. To improve the intuitiveness and simplicity of the system operation, the QR code technology was proposed in the passport verification process. The system has been implemented and tested in the Amazon AWS cloud computing environment. A reference architecture based on Blockchain for the AWS environment was proposed, dedicated to large and demanding application solutions. In addition, the cloud environment offers access to many tools that were used in the system’s implementation, significantly increasing the security of the entire solution. KeywordsG T % + #% Z 8 % /ZGS;-J% S % ;

& $ " * # + ORCID: 0000-0002-0702-5505 =0 = + "9 ;[ ; B + < ; E + + < .!-) ? + @ % = ; % G < G U T + 8 B ; + = > 0 ="[ ? 0 + A 0 % # + ; #9 # + +

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

NR 2/ 20 21


@ = F A QLJPKaQJO @& JB A J;JCJQ

Informacje dla Autorów * : A / + Ja " JCQh & % H = % 8 :

+ D

% "[

8 = 8 % 8 =

"[ % = " H 8

? "[ % "[ = b = % = % = " % "

X= = ?bY& c H 8

b + % = % 8 8 % 8 ? % = % [ " H + = % &

Wskazówki dla Autorów 7 % = "

K 8 Pomiary Automatyka Robotyka % % D b% "[

# : X % "[ MC H Y "b % : b ; H K ? " X " % = % Y : X ="b QBC:JCC H Y "b % : XB:M 8 Y "b % "b

: b D : "b % X = "& Y : % % % "b % "b : = "b % "b : " ; ? ; "b " = % & % & &"% = & _ & hCC % & QCCC % % "[ ? &

% D ="b D H [ " " C O % % D ="b Q XLC CCC H % " = hCCC J " H Y " & M + & / % % H % "[ 8 b ="b D " % b & Nie drukujemy komunikatów! c [ = D [ = ? 8 H X "b Y ="b BCC:PBC H 8

? & @ " = % H H "b " " 8& % = "[ % "[ [ % D &

% 3)6 6 7 _ ! _ T & % [ [ %

D D & H 8 % = " [ %

% % & * H D % " " " "b = [ D = % [ = D % % b m H & ! ) 6 % 6 H "

"b & % H" % " " & "[

"

+ [D "[ % 8

: H 8 ? "b = ? & c % % " % % 8 8 % @ H

" % "b & / % % + 8 % = H % @ "[&

Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS KG Z .!-JV )F%.(L% U w bazie naukowych 0 U =>G=H6= 8 A A + realizacji idei Otwartej Nauki, + 0 0 naukowo-technicznym Pomiary Automatyka Robotyka. 8 $H ? 0 naukowe w kwartalniku Pomiary Automatyka Robotyka wynosi obecnie .! K naukowych i recenzowanych 9 < + + + - .!-J % .)J!.L 8 + naukowe – automatyka, elektrotechnika i elektronika.

PP


FAi @ '.> c\ U< @ /

! 7

! & 7 @ "

K 8 Pomiary Automatyka Robotyka + "[ % b A / + [ [ b H ; H H % % % % "b

"[ # 1. & \ wymieniowego Autora : " % % H & ] 8 8 %^ "& % H % = " H= H 8 % % = " =

= H " & 2. & _ jej powstanie : " # : % + = "[ % % b

= " %H

= " = H ; b "[ % % % % = " : % + b% " % % ] 8 ^ & b% " " H " = [ % " %H " " % b 8 % % = H % % = "

PM

P

O

M

I

A

@ " " " % % [ b% [ 8 [ + [ % % 8 = " &

3. & T #_ 7 : % % ? % = " % " K= = % " % " m H H % b+ 8 & ]?

^ : " " = " " " % = " " = % b ? = &

$ % = " H + "[

8 8 " " = 8 = " % +

8 % " 8 8 : + D D & * % ; % 8 8 [+ 8&

" przeniesienie praw 7

7 44YSX * 8 [ % "b % = " b% " % "[ 8 % 8 b& U " % % % % " & / % % 8 " [ &

Redakcja kwartalnika Pomiary Automatyka Robotyka *

$ H % = 8

K 8 @ = % % 8 H % [ b % c F %&#

" # $ % 8 / % / 0 4 0 # + + # sterowania systemem aktywnego zawieszenia, ISSN 1427-9126, R. 25, Nr 2/2021, 5–10, DOI: 10.14313/PAR_240/5.

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 2/ 20 21


czasopisma

pomiary

eksperyment

miara

POLSPAR

automatyka

E : F

" projekt

%

publikacje

"

konkurs

[+ "

automatyka

seminarium

konferencje

POLSPAR

publikacje

relacja

AutoCAD

agencja kosmiczna

8& &

"

IFAC

ZPSA

% m

profesura

"

relacja

doktorat

robotyka seminarium

A

esa

szkolenie


%

czasopisma

pomiary

eksperyment

miara

POLSPAR

automatyka

E : F

" projekt

nauka

publikacje

"

konkurs

[+ "

automatyka

seminarium

POLSPAR relacja

AutoCAD

agencja kosmiczna

8& &

"

IFAC

ZPSA

konferencje

publikacje POLSA

% m

profesura

"

relacja

doktorat

robotyka seminarium

A

esa

szkolenie


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 2/2021

Kalendarium wybranych imprez Nazwa konferencji

Data konferencji <

"

24th F

% on Mathematical Theory of A MTNS 2020

23–27 / 08 / 2021

Cambridge Wielka Brytania

30.08–03.09 / 2021

Jokohama Japonia

Bh& b Konferencja Metrologów MKM 2021

13–15 / 09 / 2021

/

XXV Konferencja Naukowo-Techniczna automation 2021 – " : A %

23–24 / 09 / 2021

/

" < ? i Termometria w Podczerwieni TTP 2021

28–30 / 09 / 2021

Kazimierz Dolny nad / [

7th Fi ' / 8 % Lagrangian and Hamiltonian 8 A ' LHMNC 2021

11–13 / 10 / 2021

Berlin Niemcy

www: 8 % #;; 8 JQ& mail: T 8 JQ&

Vienna International Conference on Mathematical Modelling MATHMOD 2022

16–18 / 02 / 2022

/

www: 8 % #;; & 8 & mail: 8 T & & &

14th Fi ' / 8 % Intelligent Manufacturing IMS 2022

28–30 / 03 / 2022 10 / 09 / 2021

Tel Awiw Izrael

www: 8 % #;; & V & ;F JCJJ mail: V

T & &

17th IFAC Conference on = c V > = PDES 2022

17–19 / 05 / 2022 01 / 11 / 2021

Sarajewo ! `

www: 8 % #;;% K & mail: " &" T = & &=

11th Fi ' % i c % V

< 8

SAFEPROCESS 2022

07–10 / 06 / 2022 11 / 10 / 2021

Cypr

www: 8 % #;; % JCJQ& mail: % JCJQT & &

ffFFF / ' 8 F

Confederation IMEKO 2021

Informacje dodatkowe

www: 8 % #;; JCJC& & & & ; mail: K V T & & &

www: 8 %#;; & JCJQ& mail: JCJQT & & &"%

www: 8 % #;; & & V&%

mail: JCJQT% & % &%

www: 8 % #;; &% %&% ; mail: " T% %& & V&%

www: 8 % #;; 8 &%& &% ; % mail: %T &%& &%

81


1951–2021


@ = @& JB A J;JCJQ

8 < B < 6 E 7 ! *% +* 2 & 2F 2 $ & $ %$ $

" % # + ! % +$ 5 + ! + G ! , $

< 8 b QC " QaBQ & < & / QaOM & % [ /

> 8 / " H % bD

%Hm " "[ + & . + H 8 % [ F ' = < 8 " % " % & . . & / QaPO & % = [ % G pierwotne teorii systemów QaMO & : % 8 = % % On stable # & /

8 [ 8 = + 8 U / XQaMJ: QaMhY U V < XQaaQY& U 8 % " 8 = 8 ? 8 % ! A 8 A ' A A ' ! @ " H @ U > % " "& / JCCB & = % i " A " 8 % F <@*& < 8 = [ 8 [ / [ QaPh & % " % & / QaaO & % 8 8& /

8 QaMP:JCQB % "b * ' = @ = JCQL & : & /

8 QaMP:QaaQ = b% [ F & 8& JCQB & % " 8 % b "[ b % " "& /

8 JCCJ:JCCM % "b %

8 8 / "& < % >

8 + F>>> % "b % 8 / " JCCh & " % + % [ = 8 = % = 8 i # H>>> # 8 > J ! . 6 8 > J >

J 6L . L L

>M

/ JCCh & * ' = @ = % +

" " % 8 % H = % "& bD

%Hm " [ % " \F@>'

8 H @ U> H = % 8 % 8 8 8 + & c b % " % H % = % " = % % ' = @ = [ b

% JCQJ & b b [ = % [ " & < 8 % H +

D 8 % H = "& [ JCCC & * ' = @ = %

% % " = " % b

8 JCQh:JCQP % =

+ = b = " 8 % " @ c ? % "b > % " [& % + % b % = = 8 H [ LC

= b % QQCC % & H [ b % b & / QaMP & %H " " " H # b @ = b %Hm " + % "

D @ = /

> H [ %

& "b % "b 8 8 %

= & ! % [ %H % b = 8 % = & / 8 % H H 8 QLK % " 8 : 8 = " &

= % 8 @ = A& ! H 8 8 % " 8 " [& c b = b " " @ = H 8 [ "b % & % & < 8 + " % b

8 % = 8

83


WSPOMNIENIA

= + 8 % & [ " b [ H %Hm " [ [ H = :

%

8

%

H = H 8 8& / = 8 b " = & c " " + " 8 [ bD

+

D b %

8 b " % ? " "

= H 8 8 = H+ % H + & A % JMh % H % b % [ "[ " b &

8 % = H % % + = H & @

" b % " \F@>' % b = % b % 8 = & ' + [ 8 [& ? D = % D X%

% b 8H 8 / "Y 8b 8 % + " % "& c + & ! % [ % b [ H & % = %b D [ == [ " & ' = & ! H 8b [ H % = &

* b [ = & F b H + ? ?[ % [ [ % [+ " A Treatise on Good Robots H " = %H & / " b [+ % 6 8Q % % < 8 - * S U+ # = *

& / 8 % = " 8 b + [ [ "[ = [& @ [-

ML

P

O

M

I

A

R

Y

< 8 QP JCJQ & / &

H + 9 + ? 9 9 > + > + 8 = > 0

= =

%H % H

: = % % b

& H % + = + " % " "[

+" 8 + = +

= % & H [ b % -

[

" " % " H % " "

" & c= 8 H

+ % & ! " + [ % % &

< 8 = =

+ = H % 8& " % H " " " @ = = % %

H = H "& % " " %Hm " %H % D %

" % " A'! @ @ =@>¡ % " .

= @ = F

X. @F Y % b 8 = % H @& / %H % "

" "[ " = H

H %H 8 % " H = 8& * % b " 8 8 8 8& ! b "[ b H 8& . b= = 8

% "[ . A "[ & & c

=

H +

= H % 8 " " = [ [&

A

U

T

O

M

A

T

Y

K

A

R

F c b=

' * O

B

O

T

Y

K

A

NR 2/ 20 21


@ = @& JB A J;JCJQ

< 8 = % JMC % 8& / H 8 " [+ H [ %H

< @ = < 8 / " 8 /& % < = 8 " JQ& ¡ # <8 F

8 %8 8 & A " [+ " " b ? = % i\ ` = 8 / "& < 8 = =

+ b % \F@>' % b = % & A % H # V L . L

6

6

6

6 XVY 6

. 6 L ! !> A b

% %

= " % H + % " % [ "[ 8 " + = D + [ 8 " = & ' [ % = % % = H = " 8 H " % ? " % % ¢ + % [ Z pew 6 8 L [ . . > $ 6 8 . . L [ L > )

.

6 L6 [ . L . \ > -

! XVY = 8

. L 8 L .

> G 6 . L 6 [ . 6 L 8 L . L 6 8 . L

L 6

. L Q % L 8

. Q 6 8 Q * <> ] "> : + > ^ L 8 perspektywa ustanowienia zasad etyki . _ `. ! U 6 * 8 Robotyki EURON. < 8 b& \ = D = = % 8 & ! "[ = & ' b [ % H H 8

+ + % 8 b 8& ! 8 & H "[ b 8 = = & % = + % & ' % " m = % " % ¡

& / = %

D H : " % b% $ : " + " " v x

[ & / " 8 /& %

85


1951–2021


@ = @& JB A J;JCJQ

8 < B < B - & & 2F 2 $ & $ %$ $ ! $ + 3 " , $

b JM QaBQ & & / QaOM & = b F \ H [ &

& / QaPJ & b % U & %Hm " 8 b 8 " /

> & @ % b [ G

# rowania = QaPa & ` = "b QaaJ & % = ? ) [ & < % 8 8 [ @ QaaM &

b +

8 8 8 [ 8 b H+ " % \ [ % = H " = & + % [ 8 [ 8& " = H

% " % = = " "[ & & = b 8 = "

= " % 8 % V

< & ! " = %H H [

"

= 8 = " % 8 \ = " "[ b = 8 "&

/

8 JCCQ:JCCL = %H + F F + H /

F * [ 8 " b%

8 JCCL:JCQP [ F + H /

F * [ X JCQC & /

F Y& ! %H H [ F @ = "

8 JCQP:JCJC&

= = %H 8 % = " 8 % 8 b 8 " 8 8 " " X % = hCC % ? Y& .

" ?

F ? @ = " QaaM & % % Kg

& / 8 " " % " % " 8 = 8 XhC H 8 QC % 8Y ? m H " 8 b 8& / QaaQ & = " " % " i V < 8 & + % =

8 QaPa: QaMC U V '

\ U & A %

QaaQ;QaaJ = % [ c c XF @ = F U V ! 8 A Y

Qaah & = % [ i = 8 X. % \ = U Y& / b% % "[ U V A Xi " Y U V = X. % Y U V >V Xi " Y& JCJC & = % " A &

* = = & [ % = = QaMB & " = = b& c & & " % 8 %

H

+ 8 ? " % H = H

= % " @ = 8 = H %

" 8 = 8 % 8 = H & . %Hm "

D b % % 8 8 H 8

+ % b % % 8 8& / 8

8 H -

= = + H

MP


WSPOMNIENIA

" "

b "& / % "b " 8 b 8 " 8& b = %H H [ % H b 8 8 H @ ' X@ =

' Y %H H [ % [ b " " @ XF

' 8 @ = Y H % 8 " " " @ = " " " & " 8 8 8 " X = Y " F>>> XF >

> > Y " * [ F>>> @ = % [ F>>> @ = X + % % [

'8 % 8 £ JCCQY F>>> ' H F

i ' XFi 'Y

8 ¤ ¥ 8 8 X Y > % 8 % [ @ = " A " ' = < 8 " A < 8 H ! A > H 8& * @ A " ' ! 8 A = 8 8 = >U@ A XJCCB:JCCPY '\ / @ XJCChKJCCBY ' < XJCQP:JCJQY& "b

% + 8 % H 8 X & &

F>>> @ = F>>> < ' < 8 F

.

%% 8 ' % .

F

¦ @ = Y 8 " " 8 b 8 X " F>>> ' ' >

! ' c ' ' ' Y&

=

" % " [ b % K= " " " " % b " %H % "&

+

+ 8 [ 8 " "& . + " % K = % H % "[ H = & /

8 JCCM:JCQQ = % 8 " " " "

8 JCQC:JCQJ = % [ * % > % H " " " U < 8 8 X U<Y

H = & ! %H H [ "b 8 H b 8 FF % = % X Y [ 8 b % H" %

8 JCQh & % 8 b [ %H %

U V i " & A = D %

D % 8 8 = = " % 8 & * = % b m & ! %H % b H 8& /

8 JCQB:JCJC % 8 '

" " & % < H 8 " gF X 8 : = Y& m H % "

H 8 % = % H 8 8 % "[ " % "& % [ b

=

% " "& =

= + = " % "[ % b " " " " " " & * % + " 8 = QC " JCJQ & A % D =

% = +[ 8 " H 8 " + " = 8 &

=

8 H % = " & / JCCh & ` 8 ! % b% JCQC & ] U V ^ % b = U V & =

% " F % > " A " % H % 8 FF % / + < 8 & / QaaP & = + * JCQa & + ?

MM

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

H + 9 + ? 9 9 > + 8 = > 0

O

B

O

T

Y

K

A

NR 2/ 20 21


/ AF>AF

%

% JC

% H 8 "& / % 8

% & ! " H "[ [ [ H+ b % H 8 H= % [ 8 "b & / H " 8 H 8 8 D H % = = & ' b + % % D " "b& / "[ H+ 8 % + 8 = 8 % A 8 " " F'@ F@ % =[ % "b 8 "[

% "[ " = = H H 8 = + % D + 8 % 8

= 8& / H H % % 8 % + . % 8 "[ % H 8& b " % % "b

% = 8 % 8 8

b% H

H & c= = "b % " % H H 8 = %

" = " % = " 8 % = " 8&

b H b 8 " = 8b "b H = 8& / % % D + = + = F % b " b% " " = % H

" & / % H= % : 8 D = H H= % "b " % b = 8 8 & * % % + % D + [ % [ = [ "& < % " % % = % % 8 % 8& < %

%H % " H : 8

H

%H "[ % " = & . + = [ [ 8b % % [ "[ % = [ 8 = +[ [

[ [& = [ H + = b A H D % =[ % b [ [ % " % " % " = & ? % " D H %H % H = % b D H = & ' -

b + D % m " 8 % 8 H + D %

" 8 : & b + 8 " % % % % 8 8 H % 8& "[ b % = 8 " " H [

+

"[ " = [ % " 8 " 8 b 8 " 8& c b H = 8 8b % H 8 %

" & ! [+ &

" b b % " 8 & c b " % % ? [ D H

"

% H [ %H % & c= + H" = " = % b %

= 8 " & % : % H : = % = & * b D D " H H % % % § 8 H ¨& A % b% % " b % H= [D % H [ % = & / % " D = .

% " [ % = H = 8& U = D = + % H [ D % [ % "

= H = & +

+ = % % " " + [ D

A

b = % % = & + % D . % b % " % % "b H 8b b% %H % & = 8 %

b % " % H = = : [ " + [ 8 [& * % b % = " % [ § :

" : % ¨ H % [ % = & * " = : % [

= % & . 8 " =

% % "b 8 % b %

" % 8 H & % 8 8 8 H = 8 " +[ = b H [ %

"[ H" 8 % " & c b % 8 % A % 8 " H+ H + = H H + % . H & =

+ + " ? [ = [ : = 8 8 H % b " + & / 8

8 8 " +

% "b = " = = 8 "[

+ D + D& / % " " = % % D & . "b D [ H = % % b & + % D + % D %H % " & ! = b % " 8 " 8 8& U % [ [D 8 = & U = % H+ 8 "H % % " [ 8 8 8& ? H D " = % [D " & c b % H+ += " " b " "[ = 8 % [

aC& ff X = = =

" "Y = % & . " + % 8 H = & " + +

" " = D 8 @ ' H %H % " " b & . % D m : = H 8 "

% b H H 8& / % = + & + = % & %

H % D " % H K & . -

Ma


WSPOMNIENIA

90

P

O

M

I

A

R

Y

% b

. PC& & / = + " = % "

% 8 & A [+ % D = & % QC " JCJQ & % + " 8 = & ' " + A A

% % b& * % b

%H H 8 H= H = & b %H % 8 D % [ % A % JC

& / + = &

b " = = &&& / QaMP & % F 8 " © ^ % " H & ! = 8b % " : " + % "[ "[ % [ % b& < = " b " + % % D " % " % 8 [ = & A % b [ [ b b % # ©" [ H = % : " ^& A % H = b + & " 8 b " +

% %& + = . % & A H = % % : ? [& b + = % "[ < =[ " " + % H A -

: % % & < <

+ H = ' = + " & H " [ % 8b % = " % [ " H [+ & < : % = = %

[ b %

+ % 8 b " 8 " H [ % H= %H & < + D b " % D

% b % 8 b % [ " % = = %

U & % " H b " b % D % [ % b © ^& H" : % " " % b & ' b b + ' = % &&&

A % " " " & " " b

b = b "% " 8 b% % % % = " & * %

" H

" " + & & = " & Qaaa "

%H %[ 8

+ 8 %H % H F

/ 8 % @ = ' @ ' & < 8 % = b QJ : JCQa & c b = b = H b % D 8 H H b " " [ b & [ % " @ @ -

' = " [ [ "[ b [ % % b [ = [ " & + = 8 8 % 8 b = " " % b b " % & / % 8 %H % H = % b b & < = % 8 [ = " H [ b D & + "b %H % D %

" % " A'! @ @ =@>¡& . = %

%

"[ % " & Z = H % [ b " &

A

U

T

O

M

A

T

Y

K

A

R

c b " ª c " 8

c

' *

O

B

O

T

Y

K

A

NR 2/ 20 21


NASZE WYDAWNICTWA

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

Indexed in SCOPUS

www.jamris.org

www.par.pl

www.automatykaonline.pl/automatyka

91


\>' A> F¬­ F

$ # % Wybrane zagadnienia - & & H + " * "+ # ! & ! ) . > 0 # "+ + ! # & " # + &, $ ; & "% + + & %$ $ G ; +# $ H $

: > " % % 8 % H % 8 " " % " : / % % 8 " % H % 8 :

% "[

" "

" ! " # : % = 8 % = H % % 8 8 : @

" % " > F@ .@' QM F!M ]' % 8 V = V ^ H U b $ % & ' % : < % " % b % " b : %

= % [ : " m H % b %

% % " ( ! ) * # : * " @ ! = : / % 8 % H % b "

% [ % : /% % H = [ % % + ! , # ! * # : [ % " 8 % H

= H" b % 8 8 % 8 " % 8 8 + "[ 8 b % H % "b 8 % & " +

mD " " ? & % [ [ % = [ " [ [& ? 8 %H " H "b " % & b b X [ hLC Y H 8 % [ H &

Jerzy Roj (red.), Metrologia naukowa, normatywna > 0 , Wydaw 8 A % " .!.! G TH J)&; & ;)&&!;) );)

92

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

: %

" "[ " + "

" " " " : % % % % H % %

: = % H % " " 8 "

" 8 ? [ [ % [ : / ? " % %

"

%H b 8

F U : * = % " b ! = : = [ H H " 8 [ 8 % 8 8 % bD : = % % % H : % % % "[ % :

+ 8 " % % % b [ 8 8 % [ 8 : % b % % % " % &

$ # B E redakcja kwartalnika Pomiary Automatyka Robotyka PAR

O

B

O

T

Y

K

A

NR 2/ 20 21


Ai>@>A'.> l * /F>c®

( $ + B < $ #9 & 0) 0( 2 ./.0 $ &%*& * +" *F& *& " + !, $

Komitet Organizacyjny MKM 2021 [ A 8 =& +& " ! % & ` [ " 8 =& +& @ [ % &

Konferencja organizowana jest S F F / > 8 F 8 % " H U b " A * % H ' @

b " H " [ "[ " K " [ % % 8 & K " % [ A > > = b QaOO & % = & /H K b % 8 % H : b 8 A H : % b 8 % K % " % 8 H

+ +[ 8 " & " A K " % % & > @ QaOP & 8 " : % % & " .

QaOM & % b A " " % " % 8 8 K 8 %

8 % K H 8 : H= H 8 " 8 % % D b

K 8 H & % H K 8 & H H % + " % " " " &

% BC

8 K " 8 8 % " b [ H= " "[ 8 b [& @H + Bh& " =b "[ % % H 8 K 8 " "[ 8 b [

+ % % K " " "[ 8 b % & K "[ % % " " " + H= % H > H 8 % %H " 8 [ " " % K [& = " 8 8 [ %

b% "[ " # Q& A J& 8 h& 8 % L& % / b "

8 " K " JCJQ&% & % &% &

! 8 $ # > > 6

S 1 ?@>

: 8 m " D % % "

)<) CDC4 6

: " " %

0 U

. :

: ? "

i Informatyki

: % ? 8 8 8

1

: % =

6 ) > " =b b = 8 = : = H U b / K &

: % : % H % 8 :

H % % : H % 8 : &

ah


NASZE MONOGRAFIE

www.piap.pl

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

NR 2/ 20 21


Ai>@>A'.> l * /F>c®

6 # \ 6 8 + 668 .!.Kolejna edycja konferencji Termografia i Termometria & &%*& * " < & & .J )/ 2 ./.0 $ 4 ! + L " = O,& +$

" < ? < " " b [ > % Z K/ 8 " "[ [ [ " % & K " 8 = b

& " K 8 H % "

H+ 8 " "[ b ?[ [ D " % K D = ? & ' " << " " K K= % K & / 8 " = b K [ b +[ % %

[ < K

? H " [

% = " [ b 8 K [ % H % & " = +& b b H K " +[ b [ % K b " K H + H 8 H " "[ 8 b "[ % & JCCC & organizatorem konferencji TTP jest Instytut > 8 EH "& = "[ organizatorów konferencji TTP jest promoK 8 " 8 H+ 8 dziedzinach nauki i techniki, ze szczególnym % 8& K " << % b K

wizyjnego, na której producenci przedstaK "[ " [ b % b K% K & A "= + " =b b K c / [ 8 JM:hC JCJQ & " =b [ D % + &

K " H + " & / b " " 8 % #;; 8 K &%& &% ; %&; K # %T &%& &% & % &

B / #

$ # 6

S – Detekcja promieniowania podczerwonego i radiacyjny pomiar temperatury – Detektory podczerwieni – Systemy termowizyjne i ich oprogramowanie – Modelowanie i pomiary pól temperatury, procesy cieplne : ! [ % + 8 % – Biomedyczne zastosowania termowizji w podczerwieni : " % – Zastosowania termowizji w budownictwie : * " H+ 8 8 8

95


Ai>@>A'.> l * /F>c®

] + & .R .U + ./.0 $ &% * + V *2F + " V + 2 * + + $ + %*& " 0( 2 ./.0 $ & !, = ! % ./.0$

= % H K 8 Z [ " 8 "& c + b % K % H 8 % K & & b = % " K

" g

8 % 8 [K 8 % b= 8 K + " &

" % %H b *F c ! K! X% [ = * F c K

* Y %H ! K K!

> K H 8&

8 % m H % m H 8 % b A + K " > & / " 8 b % "

% 8 [

" % % H [ g % "[ " = % "[ "& A = b = % H

% 8 H 8 % K b [ [

8 % 8 " K

96

P

O

M

I

A

R

@ + " [ = " K % % 8 [ 8& < % =b [ " H > =& * 8b = +[ " " & " K = &% &

Y

A

U

T

O

M

A

T

Y

K

A

R

B / #

O

B

O

T

Y

K

A

NR 2/ 20 21



[ ! / b = c

41

1 T & , 4 & +3 0 , & * & % 3 * = U = ! / b

47

+ . & Y6 _ Y3 Y4 1 & % "

53

% & & ~ . Y8 . 1 &

61

1 & 3 % # 4 /1+YV 7 S 7 !


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