Pomiary Automatyka Robotyka 3/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

3/2021 ISSN 1427-9126 Indeks 339512

Cena 25,00 zł w tym 8% VAT

Technical Sciences Quarterly |

W numerze:

3

Od Redakcji

5

23

! " #

$ % & '( ! " # $ %

31

)% *& # # # # + #,% % # - . /

% . 0* & # & $ $ % ' (! )) * + ( # !

37

1 2

34 5 '

6 7 5 8 % % $ * ,

43

9 % # - % -/

% -* - # ,% 6 :

! Informacje dla Autorów – 95 | Kalendarium – 97


Rada Naukowa Rok 25 (2021) Nr 3(241) ISSN 1427-9126, Indeks 339512

Redaktor naczelny ) < = > ?

) * &

#

@< ?

) ,0 & -

< !

% - % # $ $ ! LP <

1 Z + [ \%

] < = # > & M D M $ ! ^ _ < ' :< 7 G C Z + \

]

@< ' $ ? ) <

A $ ) < ' @< ? A $ B ) < C A $ ) < = > ? A

" Z + $ \G $ ]

Korekta

< < 9 . - G Z * + \Z ]

@< '

&0 ; & - . # D

Druk > E C F %)< < < G HJJ <

Wydawca

< 0 % 9 # % & % K L A ! $ M $ ! $ P !M !

< < 9 & ) Z ! ? $< < < ! < !< = . ! M ! \! ] < ! & * Z + \%

] < # - 0 % & G $ % K $) : < Z + ! \

]

% K L A ! $ M $ O! $ P !M ! < ' $ QJQ JQ(TUV

Kontakt

< ! - # $ # & > _ ! < 1 < $ & M = % \F ]

F

( ! $ $ F < ' $ QJQ JQ(TUV < QQ UWT JX TV Y) <) <) <)

< . &. & `*+ + ! a G Z + \Z ]

Pomiary Automatyka Robotyka ) $ $ ( $ $ XffW < ! XU " $ " < ) _ O ) ) ) ( $ $ $ <

< ! # / & = Z + \ ]

( ! $ $ F O >CD=c % MG#Dg = !DFGM=Z% \M=h QJXf- WT QH] O @ O @ ) ) $ FM GC < ! _ _ "

G ") $ ) ) O ( $ ! $ $ F < _ ) _ \ _] ) ) < !

G % )

! $ $ F QJ ) < \ ) $ $ P

$ " iX ) QJXf < ) < QWfJQ]< ! ) ) ( $ <

$ $ ! % ! $ P $ O F ! *%! F A

) _ ,K ( _ $ $ ) $ P ) _ ! " $ "

M& = M&F M D <

< ' # - # & M @ > _ @ % D > _

< . = b Z + \ ] < 8 & & M @ !

* ! ) 1

& C A M )) % $ C $ $ c \G $ ] < ' # ?% @ & C ! ^ _ < A % + $ % \%

] < 9 # # = . @ M M $ $ F ! < 8 - . 80 & F MC Z + \ ]

! $ $ F A E O $ $ fJWB!(#ZGBQJXf , P G % @ ) ,K ) _ _ "<

< ' - =< : & ` + ! a G Z + \Z ]


! $ $ F M%%G XTQW(fXQV F< QH G iBQJQX

3

Od Redakcji

5

Artificial Intelligence in Predicting Abnormal States in a Robotic Production Stand %

) P $ $ ) $

23

Comparative Study of AMPL, Pyomo and JuMP Optimization Modeling Languages on a Network Linear Programming Problem Example % $ ) P " P $ ) $ !* ! $ ' ! ) ) $

31

! " # $ %

M C $ M$ F Z # ) * G G

37

& $ $ % ' (! )) * + ( # ! Detection, Identification, and Quantification of SF6 Point-Source Emissions Using Hyper-Cam LW Airborne Platform

) j P $ %DV @ $ c ) (= $ * ) $ )

43

% % $ * ,

!"# C $ M$ = $ % )) G + Z h

51

G $ % " & ' (

)

* Medicine ! $

) $ P C $ # $ $

57

C +

# $ C $) # % F $ M = $

65

% C $ % ,

. / = + = $$ C $ ) A ! Dl $)

1


%!M% CFD^=M

73

F< F _ D % F ?

)) = $) M$ $ h

79

? $ > # # # % ?

motoryzacyjnym C Z C $ + * # $ + %

87

Q

! ) 0)1 2 0 4 57 nr 10.06 M$) + D = C h

ZGD=D F G < XJ<JV

;<

= % "

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


# FD# ='M

Drodzy Czytelnicy, > $ , ) $ = hM#(Xf ) $ @ _ _< _@ $ < G ) $ " ) $ ) $ P < $ ) _

" ) $ P ? ) P _ "K < = ) $ P E ) G % @ ) ` ) ) $ a< Z ") $ ! ? $ _ " _ $< < ) P ) $ P _ $ " ) < @ ,$ $ ) ,K " _ P ) ) ,K $ _ < F @ ! ? A ) $ P " ?< > ) $ $ < P ) $ $ " ) %= !Z% % < > " $ ) " $ $ $ $ < M $ P@ A ) _ ) ) < = ", ) $

)

_ _

" P _ ) $ _ P )

_ ? $ ) < G $ @ $ ) K ) $ P ) $ _ $ $ < $ A % L A ! $ M $ ! $ P !M ! A _ ) $ " $ < Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka ) < < @< = > ?

3


4

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 5–22, DOI: 10.14313/PAR_241/5

. / 0 ( 6 % ( .8 9 8 6 % % Grzegorz Bojarczuk ; $ " -$ !<=!>! ? @A

6 A $ A % " $ 0 . 9 8 $ . % B 8 $ !+=<+< A

The aim of the described study is an engineering solution to the problem of the implementation of artificial intelligence methods in predicting abnormal, extremely emergency states in robotic production stands. This task results from the need to improve the operational reliability of automated and robotic production lines, thus rationalizing the utility and cost values of these lines. The available hardware solutions as well as the existing and newly introduced new procedures and IT platforms are described. In the hardware part of the work, electric servo drives and gears of a multi-chain tripod robot were used, configured with the Festo Automation Suite software, programmed with the KEBA controller and the developed KeStudio application program. 9 % Q 8 $ % %$ / ( $ % ( E 8

1. Introduction Mechatronization, informatization and internetization (IT and OT) of production as well as full product lifecycle management (PLM-Management), which are an integral part of the concept of Industrial Transformation 4.0, have now become one of the main directions of the development of production automation and robotization, thus rapidly increasing the number of hardware and IT solutions available on the market [1–12]. This trend is perfectly illustrated by the statistics published in 2020, which show that the number of IIoT (Industrial Internet of Things) devices installed in 2027 will exceed 41 billion, and another 127 devices will be connected to the Internet every second. In industrial practice, more and more workstands in production halls are equipped with IIoT Gateway – devices that allow for smooth data transfer between programs operating locally on controllers in control cabinets (e.g. information from sensors installed on devices, machines and production modules) and cloud applications (Cloud Computing), which allows for advanced computational data analysis with limited use of the computing power of processor hardware [27–30]. One of the most important tasks of digitized work stands is the ability to ensure continuous control of the condition of used

& -/ Q

" # $ % & !'( & 0 # % % ) !* +!+) $ % % ++ !- +!+)

!

devices and machines as well as early detection of abnormal states and failures based on the analysis of measurement data – this ensures the possibility of predictive supervision and maintenance. At present, it is possible to use the studies of companies offering commercial predictive maintenance services (these are usually start-ups) or the offers of consulting companies or individual software for individual clients. An example of such a company is the German holding elunic AG, offering consulting services in the form of a six-step plan that allows for the effective creation of a surveillance and data transmission system, assistance in establishing short-term and long-term such an undertaking and advice on financing the entire project [33–35]. In addition, as part of the service, it provides enterprises with the support of its own experts, experienced in the issues of digitization of industry and predictive supervision over the behavior of industrial stands (Fig. 1). The advantage of purchasing such a service is therefore the acceleration of the modernization process of production stands, the construction of an IT system responsible for the prediction of abnormal states in production, avoiding potentially possible errors and oversights, and optimization of the received application. The company also distributes its own IT system that allows for data visualization (Dashboards) and the implementation of machine learning algorithms, allowing for predictive maintenance of production stands. The program, in addition to the basic functionalities of the data supervision system, also allows for advanced supervision over human resources and assistance in making commercial decisions, e.g. in finding the cheapest spare parts for the planned maintenance and repairs. The software application has a modular structure and standardized interfaces for data exchange, which ensures the possibility of system development and easy writing of modifications also by users. A slightly different concept of visualization and supervision of transmitted data and their analysis for the predictive detec-

5


E M ! $ % F ! % tion of abnormal states is available at C3 AI. The company is a leading enterprise AI software provider for building enterprise-scale AI applications and accelerating digital transformation. Unlike the holding company, elunic AG, mainly offers ready-made software packages. The solution is a comprehensive application with separate modules responsible for data integration, saving and reading data from popular containers, easy information validation and definition of the availability policy (C3 AI Data Studio), quick development, training and development of artificial intelligence algorithms (C3 AI ML Studio) and creating graphic visualizations (C3 AI Applications Studio) (Fig. 2). The company also provides modules that allow for independent development of the application - a program that facilitates version management (C3 AI DevSecOps Studio) and a store that allows you to buy and sell extensions to software written by third parties (C3 AI Marketplace). All the modules described above are part of the C3 AI Suite-Software with a model-based architecture, the main selling point of which is the introduction of an additional abstraction layer that allows the creation of applications using artificial intelligence methods with a minimum number of program code written (to a large extent, it was possible to achieve thanks to the use of conceptual models). The C3 AI Suite system appears to be one of the few currently existing comprehensive solutions for collecting data from devices connecting to the IIoT and providing predictive supervision capabilities, while having a large portfolio of real use cases in the industry. The disadvantage of this solution is that, despite numerous improvements in terms of the way of writing software for a programmer, on the basis of promotional materials, one can get the impression that it requires from its users, in order to be fully effective, above-average knowledge of machine learning and computer science. This may discourage smaller companies from using this IT system that want to provide predictive supervision on the production line, while at the same time lacking significant IT staff. Another product currently available on the market is the HALerium system of the German company Erium GmbH [36]. The assumption of the program is to combine three aspects of supervision over the industrial application: controlling the information obtained from the transmitted data, the mere prediction of faults and necessary maintenance, and supporting decision-making on the actions that must be taken to ensure uninterrupted production. The application seems to be quite advanced

in terms of the possibilities offered to adjust the method of controlling the process to the needs and preferences of the customer, but at the moment the Erium system has only a single history of successful use – supervision over manufactured parts for BMW cars. This makes it difficult to define the real, practical capabilities of the system. Both of these possibilities, however, are not related to the creation of complete, comprehensive, universal solutions. In the described project, for the implementation of artificial intelligence methods responsible for the above-described functionality, the Scraitec system by the Resolto company with the Festo holding was used [31, 32].

S< # = The described task of solving the problem of the implementation of artificial intelligence methods in the prediction of abnormal and extreme emergency states in robotic production stands resulted from the extensive work currently carried out at the Application Center of Festo Polska, aimed at improving the operational reliability of automated and robotic production lines, thus rationalizing utility values and costly operation of these lines [13–18]. To carry it out and perform the necessary measurements, a stand equipped with a multi-chain robot, available from the Festo AG & KG holding, was used [37, 38]. The interest of industrial sectors in this type of construction of production stands results from the spectrum of their possible, fully robotic applications, from the confectioning and packaging of small products, e.g. in the food and pharmaceutical industries, through the assembly of mechanical and electromechanical products, e.g. in the precision and mechatronic industries, until to perform complex technological micro- and nanooperations, e.g. in the electronics and processors industries (Fig. 3) [19–21]. The EXPT series tripod used in the research belongs to one of two groups of solutions for multi-chain mechanisms, characterized by a parallel kinematic structure in which there are open or closed kinematic structures. In the case of a tripod, equipped in the regional part with three servo drives, this structure is closed, the so-called Stewart’s platform, which is the link, through ball joints, of these three kinematic chains. By embedding additional servo drives of the local part of the mechanism on the Stewart platform, it is possible to increase the number of degrees of

Fig. 1. View of the promotional window of the predictive system for supervising the behavior of industrial stands and production lines of the elunic AG holding Rys. 1. Widok promocyjnego okna systemu predykcyjnego nadzoru nad zachowaniem przemysłowych stanowisk i linii produkcyjnych holdingu elunic AG

6

P

O

M

I

A

R

Y

A

Fig. 2. Screen illustrating the course of model selection used in machine learning of the C3 Ai Suite system (C3 AI ML, Studio) Rys. 2. Ekran ilustrujący przebiegi doboru modelu używanego w uczeniu maszynowym systemu C3 Ai Suite (C3 AI ML, Studio)

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Fig. 3. Diagram of an exemplary implementation of a robotic transport system with a C5 robotic controller by KEBA and an EXPT tripod by FESTO AG & KG Rys. 3. Schemat przykładowej realizacji zrobotyzowanego systemu transportowego ze sterownikiem robotycznym C5 firmy KEBA oraz tripodem EXPT holdingu FESTO AG & KG

Fig. 4. EXPT three-chain robot from the FESTO AG & KG holding used on a robotic stand for a Pick and Place transport application – Application Center Festo Polska Rys. 4. Robot trójłańcuchowy EXPT holdingu FESTO AG & KG wykorzystany na stanowisku zrobotyzowanym do aplikacji transportowej typu Pick and Place – Centrum Aplikacji Festo Polska

mobility, e.g. to four or five degrees, which improves the functionality of its solution (Fig. 4). The advantage of tripods is the rigid structure of the entire mechanism, which, compared to conventional mechanisms with serial chains, is characterized by a much higher accuracy of the effector positioning (repeatability of the effector position at the level of hundredths of a millimeter), which allows robotization of the production of devices in the micro- and nanoscale mentioned. A certain disadvantage of such solutions is the small working space, which is excessively compensated by high speeds of the effector movement, unattainable in the case of mechanisms with other kinematic structures [22–25]. The regional part of the tripod mechanism consists of three actuators from the DGE 25-360 series, with a toothed belt transmission, with an internal, protected roller guide. The actuators are driven by electric motors from the EMMS-AS series – they are dynamic, brushless, permanently excited, synchronous servo motors, equipped with an absolute encoder and an electromagnetic brake (Tab. 1) [37–40].

Tab. 1. Values of selected operational parameters of the EXPT tripod mechanism in the test stand Tab. 1. Wartości wybranych parametrów użytkowych mechanizmu tripoda EXPT w badanym stanowisku Parameter

Value

Useful load of tripod

Max. 5 kg

Work space of tripod

450 mm

Positioning repeatability of tripod Accuracy of trajectory reproduction at a speed of 300 mm/s Effector speed with a load of 1 kg Effector acceleration with a load of 1 kg

±0,01 – ±0,1 mm ±0,3 mm 3 m/s 50 m/s2

The nominal voltage of the motors

400 V AC

Nominal and peak current of motors

3,3/15 A

Nominal and peak torque of motors

3,24/12,5 Nm

The torque holding the brakes

9 Nm

7


E M ! $ % F ! %

Fig. 5. Simulation of an abnormal situation in the project: a) structure increasing the friction force in one of the tripod members, b) fixing this structure to the slider of the motor gear actuator Rys. 5. Symulacja sytuacji anormalnej w projekcie: a) konstrukcja zwiększająca opory ruchu jednego z członów tripoda, b) zamocowanie tej konstrukcji do suwadła elektrycznego, silnikowego aktuatora przekładniowego

a)

b)

T< =

For the hardware simulation of abnormal behavior of the stand, a change in the resistance to motion of the guides of the tripod mechanism was adopted. A very simple mechanical structure was used, mounted on the actuator slide of each of the kinematic chains, pressing the element with the tape stuck on it, increasing the friction, against the guide. It was assumed that this would be equivalent to the long-term exploitation of the mechanism and wear of the mentioned guides, which of course also changes the normal dynamic behavior of the tripod. By increasing the pressure of said element, it was possible to set correspondingly higher wear and tear and simulate the transition into an abnormal or even emergency state (Fig. 5).

a)

b)

Fig. 6. Power supply and control devices for the test stand with EXPT tripod: a) CMMT-AS servo driver by FESTO AG & KG with connected: temperature sensors, brakes, motor phases and an encoder, b) KEBA AG robotic controller with a digital module and connected: I/O signals, servo drives (EtherCAT), Teach Pendant and IPC (Ethernet), c) industrial computer (IPC) with balenaOS operating system, optimized for running software packages (containers), including packages responsible for the operation of the Scraitec platform Rys. 6. Urządzenia zasilania i sterowania badanego stanowiska z tripodem EXPT: a) sterownik serwonapędu CMMT-AS produkcji FESTO AG & KG z podłączonymi: sensorami temperatury, hamulcami, fazami silnika i enkoderem, b) kontroler robotyczny produkcji KEBA AG z modułem cyfrowym i podłączonymi: sygnałami I/O, serwonapędami (EtherCAT), programatorem (Teach Pendant) i komputerem IPC (Ethernet), c) komputer przemysłowy (IPC) z systemem operacyjnym balenaOS, zoptymalizowanym do uruchamiania pakietów oprogramowania (kontenerów), w tym pakietów odpowiedzialnych za działanie platformy Scraitec

c)

8

The main control unit located in the control cabinet is the controller robotic C5 produced by KEBA, cooperating with holding Festo [41]. It is a modern system for controlling the movement of robot mechanisms, which is a combination of a conventional PLC controller, a motion controller responsible for axis synchronization and a robotic controller. This very efficient unit enables the implementation of practical control tasks advanced in its complexity. It is characterized by modularity and scalability – you can connect the controller with many servo drives and robot mechanisms. This solution allows you to control the entire machine or application from one controller. The software used with the C5 controller is KeStudio, which allows access to all three layers of the robot from the level of one project, which means that you can generate a robotic program in the application, a logic program for technological process control and implement the Motion function for synchronous control of additional parts of the robot’s mechanism and technological process (Fig. 6). The C5 controller has a built-in EtherCAT master for fast data exchange. At the same time, drives requiring synchronous communication and distributed I/O systems can be connected in the same network, which simplifies the electrical structure of the system and saves wiring. In addition, there are two built-in Ethernet ports for communication with internal or external devices. The system allows you to control each robot supplied by Festo. The efficient computing unit allows you to connect up to eight Tripod mechanisms to one C5 controller, used in Pick and Place applications, including keeping up with the objects moved on the production line belt. Controller enables programming of the robot’s movements through a simple and intuitive robot programming language – KAIRO. Expansion cards with various functions are also available: digital I/O, analog I/O and encoder cards [39, 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 3/ 20 21


Fig 7. The main view of the servo driver window with added FESTO Automation Suite software components, allowing for the configuration and synchronization of the operation of individual stand and tripod servo drives Rys. 7. Główny widok okna sterownika serwonapędu z dodanymi komponentami oprogramowania FESTO Automation Suite, pozwalającymi na konfigurację i synchronizację działania poszczególnych serwonapędów stanowiska i tripoda

The C5 controller comes with a DM 570 hybrid digital module from the KeConnect C5 series, which is a card with a digital I/O function. It provides eight inputs with individually configurable filters and eight digital outputs with a quick disconnect function. On the stand used in the project, the C5 controller acts as a computer that controls the servo drives and I/O signals. Festo CMMT-AS servo drives were used to implement the tripod’s trajectory. This series offers universal servo drives for PM (Permanent Magnet) synchronous servo motors with power up to 6000 W [42, 43]. The servo drives have an integrated single-phase/three-phase 230/400 V mains connection, mains filter and braking resistor. They allow for torque, speed and position control and support such communication protocols as EtherCAT, ProfiNet, EtherNet/IP and Modbus (Fig. 7) [26]. The stand was equipped with a KeTop T70 operator panel used for commissioning and service activities. The panel contains many ready-made wizard procedures that facilitate the setup or configuration of complicated or time-consuming activities such as tracking, TCP collecting, workspace monitoring and a palletizer. As an operator panel (Teach Pendant), it is equipped with safety buttons and a three-stage Enabling Button. The project uses an industrial personal computer (IPC) with the balenaOS operating system optimized to run containers (software packages), including those responsible for the operation of the Festo AX and Scraitec platforms. The IPC used is in fact a netIOT Edge Gateways solution combining automation networks with cloud-based or IIoT (Industrial Internet of Things) applications. As a web-based editor for IIoT connections, it uses the Node Red development tool to configure data flow in devices.

Using the platforms available on an industrial computer, a model using a machine learning algorithm to detect anomalies at a robotic stand was taught later in the project, and data from the manipulator was visualized.

U<

. =

Special Festo Automation Suite (FAS) software was used to configure the servo drives of the test stand, which allows for a reliable start-up of the entire set of its drives. The software enables the parameterization, programming and operation of all Festo components used to automate and robotize the stand or as a whole production line. This is done by connecting the IPC computer to the controller via the EtherNet/IP protocol. After scanning, detecting and adding the servo drive to the project, it is possible to add individual components based on the designations of the actual components on the stand or, if the servo drive has been previously configured, it is possible to load the current configuration from the controller and view the drive set (Fig. 8). After establishing a direct connection with the controller in the active control mode, it is possible to control the servo drive and watch the current values of the device parameters. Also in this mode, finishing the configuration process, homing was carried out, consisting in releasing the brakes, manually shifting the actuator drive slide to the end position and this position was remembered by the controller. Creating a project begins with going through the project wizard, in which you need to add the necessary libraries of the Fig. 8. Configuration of the selected servo drive in the FESTO Automation Suite software, which consists in determining the working stroke, usable stroke and selecting the homing method Rys. 8. Konfiguracja wybranego serwonapędu w oprogramowaniu FESTO Automation Suite, polegająca na określeniu skoku roboczego, skoku użytkowego oraz wybraniu metody bazowania

9


E M ! $ % F ! % drives used, as well as specify the controller, operator panel and the type of robot used in the robotic application. After its completion, the main program window is displayed.

on which the application will operate, which will properly handle and supervise them, were defined. These are: − General information about the robotic workstand: • Are the mechanism drives powered? • Is the mechanism moving at any given moment? • Is the mechanism executing a program at the moment? • Has a running program been interrupted? • Has the running program been completed? • Has there been an error? − Information about the location of the individual drives of the mechanism, − Information about the speed of the individual drives of the mechanism, − Information about the moments realized by individual drives of the mechanism.

The root of the created project tree is the control device – the KEBA CP520/C controller used, which has the following tabs: − Diagnostics containing tabs: Messages and Trace, − Expert Entries – allows you to add communication with, for example, Modbus server, − Messages Editor – allows you to create your own messages, − PLC Logic – the part responsible for the logic of the PLC program and as part of the application includes: • Folders, global variables and programs written in various available languages: CFC, ST, FBD, SFC, LD, • Library Manager – allows you to add the necessary libraries, • Symbol Configuration – allows you to select variables to be sent using TCP communication, • Task Configuration – allows you to add tasks and set the frequency with which individual programs assigned to this task are to be called, • Trace – enables recording graphs of selected variables declared in available programs and exporting graphs, − TeachControl – the part responsible for programming robotic movements containing: • Application – allows you to declare variables available to all robots, • Tripod (or another robot) – allows you to create projects with programs available only for this specific robot, • TC Symbol Configuration – allows you to select variables from the robotic part to be visible in the PLC part, − Visualization – enables the creation of visualization on the operator panel, − ECAT – allows devices to be connected via EtherCAT communication: • KeBus – a tab used for internal communication, when expansion cards are directly plugged into the controller, • OUT0 – tab used for communication with external devices, such as drives, − Ethernet 0 – Ethernet/IP port with a variable IP address enabling connection with an external device that supports this communication, e.g. IPC, − Ethernet 1 – Ethernet/IP port with a fixed IP address intended for connection with the operator panel, − Robots – allows you to add robots.

To ensure easy implementation of the system for the already existing workstands, for the transmission of the above-mentioned data, it was decided to use one of the communication protocols that use Ethernet transport protocols to transfer information and supported by default in the basic version of the KEBA C5 controller used in the control cabinet – these are Modbus TCP/ IP and OPC UA (libraries enabling easy implementation of protocols are available with the basic version of the KeStudio environment) [46, 47]. When comparing the two communication protocols, one should start with the statement that OPC UA has incomparably greater configuration options than the highly structured Modbus TCP/IP, giving the designer freedom over the communication method, the type of data transferred thanks to the use of object-based data models, and also over the method of ensuring the security of transactions. It is even possible to use the OPC UA protocol in conjunction with Modbus TCP/IP, e.g. by using the framing method of the second protocol for data transport, while maintaining the flexibility of the first protocol. On the one hand, such freedom may allow you to choose the most optimal communication method for the prepared application. On the other hand, it significantly increases the difficulty of the system implementation task itself, placing a considerable responsibility on the system designer – the effectiveness of communication in the created application and its security will largely depend on the work put into developing the system design. In extreme cases, this may lead to a situation in which the lack of experience with the technologies used by OPC UA will allow malware to easily exploit the weaknesses that have arisen. The flexibility of the standard solutions also makes it more difficult to maintain than the well-documented and tested Modbus TCP/IP [49]. Taking into account the advantages and disadvantages of both protocols, it was decided to use the Modbus TCP/IP protocol in the project, which offers a simpler and faster solution. It was decisive, inter alia, finding that the more advanced features offered by the OPC UA protocol would not be properly used anyway (Fig. 9).

After the initial configuration, the project was uploaded to the controller and logged in to check the correct connection with the network card and drives, and then using the operator panel in the learning mode, test movements of each actuator were made to check the compliance of the direction of movement so that in the global system, while increasing the coordinate of the vertical movement Z, the movement of the Tool Center Point (TCP) towards the lower extreme position was observed.

The next task of solving the communication problem in the realized project was the implementation of two implementations: − Modbus TCP/IP server on the KEBA C5 robot controller and − Modbus TCP/IP client on the industrial computer (IPC) side.

V<

. = The design of the system for transmission and supervision of data from measurements performed during the robot’s operation began with ensuring communication of the robotic controller, supervising the execution of the robotic program by the mechanism, with the software part responsible for the predictive analysis of the position and the graphical representation of the data. First, the data that must be sent between the controller, located in the control cabinet, and an external industrial computer,

10

P

O

M

I

A

R

Y

A

U

T

O

M

The first task was: − importing the K_ModbusBase library, which is one of the basic extensions available for the KeStudio environment, making it much easier to configure communication, − creating a new ModbusTask in the project tree (with a cycle time of 20 ms, corresponding to the interval between downA

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Fig. 9. Implementation of the Modbus TCP/IP server on the KEBA C5 robotic controller, written in the ST language in the KeStudio software by KEBA AG Rys. 9. Implementacja serwera Modbus TCP/IP na kontrolerze robotycznym KEBA C5, napisana w języku ST w oprogramowaniu KeStudio firmy KEBA AG

loading subsequent data by the client, the poll rate), responsible for calling the “PRG_Modbus” program, in which part of the functionality related to server maintenance will be performed, − writing the content of the “PRG_Modbus” program (performed, as mentioned before, every 20 ms), enabling the server to restart by setting the RestartServer flag by the user, and assigning to the previously described variable values of position and speed, which are mapped values of real signals received from drive controllers (T1_A1 – reference to the first tripod actuator, etc.). In order to obtain the previously described memory division, the “SysMemCpy” function available in the K_SystemCallLibrary was used, which copies a specific block of memory between the given pointers, being its arguments, − writing the “CollectTorqueData” program, the purpose of which is, similarly to the “PRG_Modbus” program, appropriate assignment of moment values to appropriate global variables. This program will be executed in a much shorter work cycle (the program will be called in the MotionTask cycle – every 4 ms). Information on the state of the robot is collected as part of the “GettingRobotInformation” action, triggered in the previously written “PRGKairoExecution” program. It is possible thanks to the use of the “FBExecuteKairo” block, which allows to obtain

basic data on the current working state of the robot and its control from the PLC level (mechanisms available in the K_RobotControl library are used here) (Fig. 10). − the last activity of this task that had to be performed was the configuration of the network settings of the server itself and the assignment of data stored in global variables to the appropriate registers. In the KeStudio environment, this is done under the Expert Entries tab. After the registers were assigned, the server implementation was completed, it became ready for data transfer, which was checked using the free evaluation version of the Modbus slave simulator software used to simulate the client application. The second task, i.e. the implementation of the Modbus TCP/IP client on the side of the industrial computer, consisted in: − developing a client application using the Modbus TCP/IP protocol in the Node-Red programming environment (implemented on IPC in the form of a balenaOS docker container), allowing for intuitive handling of data flow using graphical programming (individual functions are represented by blocks, sending data through the connecting wires). IPC has two independent Node-Red programs, using ports 1880 and 2880. The first one is responsible for sending data related to their visualization in FestoAX, the second – is responsible for transferring data between applications. This program, called

Fig. 10. Robot control software block in CFC language, allowing to transfer measurement signals using Modbus TCP/IP communication Rys. 10. Blok programowy sterowania robotem w języku CFC, pozwalający na przesyłanie sygnałów pomiarowych przy użyciu komunikacji Modbus TCP/IP

11


E M ! $ % F ! % data flow (Flow) is responsible for the proper handling of data coming from the Modbus TCP/IP server. The Modbus-Read Node in the program called DataFromModbusTCP is responsible for sending questions to the server, coming from an additional library implementing the communication specified by Modbus TCP/IP [44, 45]. − creating a global variable, named KEBA, responsible for storing the network settings of the server to which the “DataFromModbusTCP” block directs queries. It contains information about the version of the Modbus protocol used (connection via the TCP/IP transport protocol), the IP address and the server port number, as well as information about the time after which the timeout is to take place and then, after which you should try to connect again, Then the data goes to the “UnpackModbusSubflow” subroutine, in which JSON objects are created from raw data. The data for the visualization in FestoAX is continuously transferred to the “FestoAxBroker” block. In turn, the data to be transferred to the Scraitec system are collected in the „join” block until the appropriate flag is given to it, related to the execution of the robotic program by the tripod, − developing of the subroutine “UnpackModbusSubflow” to improve the readability of the data flow in the main data transfer program. It contains function blocks whose task is to divide the given data according to a specific logic. First, the raw measurement results received from the server in the form of a 119-element array are given to the subroutine through the Input1 block. The “sliceForVariables” function block divides this table into 4 parts – the first contains information about the robot and after creating a JSON object from it by the “InfoPointCreator” function – it is given to the Output 1. On its basis, the “CheckingIfDataIsRelevant” procedure calculates the state of the flag provided to the Output 3 block, specifying whether the data should be submitted for analysis by the Scraitec system. The other three parts are: a table containing the position of all actuators, a table containing their speeds of movement and a table containing the moments realized by the actuators. Then all four – element arrays of WORD type variables are converted to decimal form using the “WordArrayToNumber” algorithm (functions are written in the JavaScript programming language, in which 64-bit variables store numbers). The newly created decimal values are then grouped with join blocks so that the functions “FestoAXPointCreator” and “ScraitecDataPointCreator” can create JSON objects from them, sequentially given on Output 2 and 4. A program written in this way in Node-Red allows for the creation of correct communication with the Modbus TCP/IP server and ensures effective use of the collected data in the test stand, including its transmission using broker-type procedures.

system for supervising a number of devices based on the Linux architecture. This solution allows the resources of a single IPC to be separated so that it can simultaneously effectively provide communication and network traffic, perform analyzes, handle several databases and display visualization in the user interface. This is due to the separation of individual parts of the program into a container type, managed by a program called docker [45, 46]. An important issue is to ensure communication between individual containers so that, for example, the data received by the part of the program responsible for retrieving information from other devices can be saved in the database. The problem can be solved through the use of message broker – software, which allows for a smooth transition between different protocols, sending information and organizing the communication. The project uses the Mosquitto broker that allows the use of the MQTT protocol (Message Queue Telemetry Transport), introducing publish and subscribe mechanism, in which devices, when sending messages (publishing), post them on specific channels (distinguished by specifying topic). These channels are listened to by devices that want to receive the information (subscribers) (Fig. 11). Subscribers and publishers do not know about each other’s existence, ensuring the security of transmission and the effectiveness of the solution obtained [48]. There are two independent brokers in the project. The first is responsible for internal communication between the databases storing information in FestoAX and connecting both Node-Red, the second – is an internal Scraitec broker connecting the internal databases of the system and the control responsible for the system logic. The FESTO AX (Automation Experience) platform was used to visualize data and display messages about anomalies from the robotic stand, which enables the creation of dashboards supervising the operation of the stand. The platform is currently a commercially unavailable product of Festo, which is intended to enable data supervision, including through artificial intelligence algorithms based on a solution provided by Scraitec. In the future, the possibilities provided by the Scraitec platform are to be available from the FESTO AX platform. The Node-Red programming environment allowing for graphical programming was used to send data for visualization on the FESTO AX platform. With the help of appropriate nodes, it was possible to send basic information about the operation of the robot program, values of position, speed and torque of individual axes as well as information about the occurrence of anomalies to the platform. The FESTO AX platform itself allows you to create assets, as well as subordinate objects with their own datapoints. In the case of the ongoing research project, the asset is the tripod, and the objects subject to it – the actuators of the mechanism, the datapoints of which are: position, speed and torque. In addition, the FESTO AX platform allows you to create error and warning messages, which was used to inform about the occurrence of an anomaly. For this purpose, it was necessary to define a variable and the condition which it has to satisfy so that a warning occurs. According to this condition, a warning should appear when the value of an anomaly exceeds a certain predetermined value.

4< : #

1

. = The IT system responsible for visualization, supervision and data analysis is created on an external industrial computer (IPC), with loaded balenaOS software, which is an operating

Fig. 11. Diagram of an example of how the MQTT protocol works Rys. 11. Schemat przykładowego działania protokołu MQTT (Message Queue Telemetry Transport)

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


Fig. 12. Driving torque waveform during the execution of the robot program without load – black color and with load simulation – different colors Rys. 12. Przebieg momentu napędowego przy wykonywaniu programu robotycznego bez obciążenia – kolor czarny oraz z symulowaniem obciążenia – inne kolory

The last of the options offered by the platform was the creation of a supervisory panel for a robotic position, the so-called dashboard, divided into tabs. This option allows you to display states, parameter values, and waveforms using the appropriate blocks. In order to check the possibility of detection of anomalies in the operation of the tested stand by the Scraitec system, the results of measurements of the position, speed and driving torques of the tripod mechanism were collected during the execution of a single robot program call during normal operation of the robot. Then, the wear of one of the guides of the tripod mechanism was simulated by using the structure described in chapter 2, which was to be the result of the wear and tear of this element and an increase in its resistance to motion. In order to collect a representative sample of data, two full series of measurements were made, successively loading all actuator guides of the tripod mechanism, and data from three program calls without load were collected, which were used as training data to learn the tripod behavior model, responsible for detecting anomalies, and as control runs, checking if the model was not too fit to the training data. During the preliminary analysis, it turned out that both the position value and the speed of movement of the actuator servo drives practically do not change depending on the simulated actuator loads – the motor drives almost perfectly compensate for the additional load so that it does not affect the trajectory of movement. It was therefore concluded that these signals (location and speed of movement) will not be transferred in subsequent experiments to the artificial intelligence model, as they are insignificant in terms of the information carried (Fig. 12). Much more interesting, as expected, were the waveforms of the drive torques of the mechanism realized by the tripod actuators, e.g. when the actuator is loaded as A1, from which the data from the waveforms were first collected, a clear increase in the measured value can be seen. At lower speeds (60 % of the maximum dynamics), the increase took place for the entire mileage, for the higher ones (80 % of the maximum dynamics), the increase was mainly related to the lower values of the torque achieved by the actuator motor A1. It was also noted that even without additional load on the drives, successive measurement series of the torque values slightly differ from each other (as opposed to the practically identical waveforms of speed and position), which results from the need for the motor to compensate for system vibrations and internal motion resistance (friction) of the actuators themselves. (motion motors and gears). This makes teaching a model

created in the Scraitec system to distinguish between standard deviations of signals resulting from the system mechanics itself from the often small deviations caused by artificial, simulated increase in resistance to motion, not a trivial task.

X< =. .

6

. = Natural intelligence, defined in relation to the world of living creatures, is the ability to perceive, analyze and adapt to changes in the environment, as well as understand, learn and use the possessed knowledge. Created by John McCarthy in 1956, the term “artificial intelligence” (AI) was defined by Andreas Kaplan and Michael Haenlein as „the ability of a system to correctly interpret data from external sources, learn from them, and use that knowledge to perform specific tasks, and achieve goals through flexible adaptation“. His colloquial, engineering understanding is simply the ability to learn or learn (someone) in relation to devices, machines and their systems – hence its other name as „machine intelligence” (MI). The concept of teaching a virtual model developed by Scraitec uses the so-called k-means algorithm, also called k-Means Clustering algorithm. It allows for recursive division of the training input data set, which are readings from sensors with proper installation behavior, specifically e.g. normal operation of a robotic production stand, after prior standardization of patterns into disjoint clusters (subgroups) with the determination of their middle values, called landmarks. Then, in the thus created space, successive points are placed, corresponding to the current measurements, and their distance from the nearest landmark is measured. It is the input value to the sigmoid activation function, the output of which, ranging from zero to one, determines the probability of an anomaly score. This parameter was introduced in Scraitec as the final information about the possible occurrence of a potential anomaly, e.g. abnormal state, failure, etc., which can range from zero to one, where zero means normal work of the stand. Information on the state of successful behavior of the production stand (“global health”) – is calculated as a complement to the value of one of the anomaly score. The above-mentioned clustering is done so that the patterns in one cluster are similar to each other and differ from the patterns from another cluster. After collecting n input data for grouping, the algorithm works as follows: 1. determining the number of k clusters, which is often the most difficult task due to the fact that this parameter is often chosen ad hoc, and its incorrect selection may result in incorrect grouping of data,

13


E M ! $ % F ! %

Fig. 13. Sample k-median algorithm pseudocode for singleloop execution of the clustering algorithm described in steps 2–7 Rys. 13. Przykładowy pseudokod algorytmu k-średnich dla wykonania pojedynczej pętli algorytmu klastrowania, opisanego w krokach 2–7

2. random selection of k starting clusters from among n input data, 3. measuring the distance of each of the remaining (n – k) input data from the starting clusters and assigning it to the closest cluster, 4. calculation of a point being the average of the positions of all points belonging to a given cluster – determining the middle values of clusters, called centroid, 5. remeasure the distance of each input data, this time from the centroid of the clusters, and reassign it to the closest cluster, 6. calculation of the total variance of all clusters, 7. repeating steps 4–6 until the value of the variance does not change significantly or the assignment of data to individual clusters stops changing, 8. repeating steps 2–7 with a different selection of the initial positions of the clusters, after several iterations, selecting the assignment with the lowest variance (Fig. 13). In the specific case of the project being implemented, a number of its parameters were selected to fit the model to the data, the most important of which, i.e. having the greatest impact on the behavior of the model are (Fig. 14): − anomalySmoothness (in Polish gładkość anomalii) – the parameter responsible for the inertia with the rise and fall of the anomaly score value. Therefore, it allows you to change the anomaly signal from short jumps to a little changing signal with a relatively stable amplitude, which significantly facilitates the adjustment of the model – otherwise, even with high data consistency, a single measurement point could cause a large jump in the anomaly score value and thus send a notification about the possibility of the occurrence of an abnormal condition, − dataNormalizationMode (in Polish wybór rodzaju normalizacji danych) – the parameter selecting the type of data normalization, the most commonly used algorithms in machine learning are available: Z_SCORE, MIN_MAX or CENTERING (normalization with the use of unit vectors), − granularity (in Polish szczegółowość) – the parameter responsible for the number of landmarks created, in the case of using

14

P

O

M

I

A

R

Y

A

U

T

O

M

Fig. 14. Scraitec system window responsible for retrieving and setting the intensity of the model parameters values Rys. 14. Okno systemu Scraitec odpowiedzialne za pobranie i nastawienie intensywności wartości parametrów modelu

the k-means algorithm also equal to the number of searched clusters. The values of the variable are between zero (which corresponds to the creation of ten focal points) and one (the creation of ten thousand points). The parameter should therefore be larger, the more complicated the input data waveforms, − modelComplexityType (in Polish typ złożoności modelu) – the parameter specifying how the distribution of characteristic points in the feature space is performed. Two options are available: − INTELLIGENT – landmarks placed using the k-means algorithm on points that are centroids of individual clusters, which ensures that they are in the center of point clusters, A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


− QUICK – landmarks are placed randomly in the measurement space based on the entered randomSeed – the number used to initialize the pseudorandom number generator. Choosing the QUICK option is recommended only when the size of the data samples used is so large that the use of a computationally intensive k-means algorithm may not be recommended, − treatEdgyBehaviourAsNormal (in Polish traktowanie zachowa brzegowych jako zachowań normalnych) – the parameter specifying the shape of the sigmoid curve used in the activation function, converting the distance between the input data and the characteristic points into an anomaly score. The variable has four values to choose from: ALL, MOST, SOME and LITTLE. The choice of each of them strongly changes the nature of the function, with ALL being the smoothest curve (so even large distances between the points will have little effect on the value of the anomaly degree), and LITTLE the sharpest (even very small deviations will be strongly detected), − edgyBehaviorBias (in Polish błąd zachowania brzegowego) – the parameter that allows a more precise adjustment of the curve used in the activation function (treatEdgyBehaviourAsNormal allows for a coarse selection of the curve shape). Variable values range from minus one to one, with negative values sharpening the curve and positive values smoothing it.

Y< =. .

.

. = Y<Z<

. [ .

. = The internal broker of the Scraitec-Data platform was used to present the results of the analysis, which made it possible to select the object from which the data is to be sent (e.g. a single automation actuator of the work stand, selected actuator of the robot used or the complete tripod mechanism in the test

stand), and then selecting from these data information about the value of abnormal behavior of these selected objects and sending them to the platform using the AnomalyValue output block. A total of four such programs were created which corresponded to the three actuators of the tripod (A1, A2 and A3) and the fourth complete tripod mechanism (Fig. 15). From the side of the Scraitec platform, we started with the picking of variable groups, for the visualization of the mechanism called „Tripod” and visualization of subgroups for each actuator in the Datapoints tab. The Festo Ax platform allowed for error messages and warnings regarding abnormalities. When adding a warning, it was necessary to define the variable and the condition of its occurrence. According to these data, the warning should appear when a given abnormality exceeds the set value. In the tests described in this chapter, the analyzed components were servo drives and transmission gears of individual actuators of the tripod mechanism (A1, A2 and A3) (Fig. 16). For each actuator, successively, two series of measurements were carried out: without and with the attached element causing the increase of resistance to motion, simulating wear or abnormal condition of the guides of the actuaor carrier (e.g. after long use, dirty guides, etc.). On the basis of preliminary analyzes, it was found that the position and velocity values do not change noticeably as a result of the applied change in the motion resistance (hereinafter referred to as the load) of the actuator, therefore the models on the Scraitec platform were learned only on the basis of the torque values of the actuator motors, without changing the resistance to motion (called referred to as no load) in the first series of measurements. The second series of measurements of the unloaded actuator was to correct the parameters of the model so that there was no overfitting and more effectively detect abnormal operating conditions. In this way, three models were created – individual for each actuator, which were tested in a series of measurements that already took into account their load. Fig. 15. The first tab of the panel supervising the test stand, containing information on the selection of the test object – in a specific case, it is the complete mechanism of the EXPT tripod used in the test stand Rys. 15. Pierwsza zakładka panelu nadzorującego badane stanowisko, zawierająca informacje o wyborze obiektu badań – w konkretnym przypadku jest to kompletny mechanizm stosowanego w badanym stanowisku tripoda EXPT

Fig. 16. The supervisory panel tab containing information about the A1 actuator of the EXPT tripod, which robotizes the test stand Rys.16. Zakładka panelu nadzorującego zawierająca informacje o aktuatorze A1 tripoda EXPT robotyzującego badane stanowisko

15


E M ! $ % F ! % In the case of the A1 actuator, the occurring anomalies were not very clear, so it was decided to modify the model so as to emphasize as much as possible anomalies caused by an increase in resistance to motion (load) and to make them distinguishable from anomalies observed in no-load conditions during the second measurement series. For this purpose, the scope of behaviors treated as normal has been narrowed, as well as the granularity parameter has been increased and the value of the edgyBehawiorBias parameter decreased. These changes to the model meant that in the case of normal working conditions, when the moments are close to the values from the data set on the basis of which the model was learned, the anomalies could be considered negligible, while in the case of working conditions with a load resulting from increased resistance to motion, these anomaly parameters reached more pronounced values (Fig. 17). In the case of the A2 actuator, large jumps in the anomaly values were observed, and therefore, in order to obtain the best possible model, the range of behaviors treated as normal was narrowed down, somewhat similar to the A1 actuator. The models were learned by increasing the value of the edgyBehawiorBias parameter from 0.0 (A1) to 0.45 (A2) in order to more effectively distinguish an anomaly caused by an increase in resistance to motion, from those without this load (Fig. 18). For actuator A3 there were unexpected, in comparison with actuators A1 and A2, very low anomaly values, not exceeding ten percent of the AnomalyScore of both previously mentioned actuators (Fig. 19). In order to obtain the best possible compatibility of the model with the others, the scope of behaviors treated as normal has also been narrowed here. At the same time, the value of the granularity parameter was increased and the value of the edgyBehawiorBias parameter was reduced in order to more effectively distinguish anomalies caused by increased resistance to motion, from those without load. In general, the presented results of the research on the components of the test stand can be characterized as follows:

− the combination of Festo’s own proprietary control, monitoring and visualization platforms with the Scraitec platform confirmed the effectiveness of AI actions, identifying the occurrence of deviations from the normal operation of the robotic production stand, caused by the simulation of abnormal operation of selected components of this stand. The description of IT solutions implementing the mentioned connections of the programming platforms available in Festo is described in detail in [18], − the described experiments have shown that the components, identical in their structure and operational and operational parameters, in the form of actuators used in the EXPT tripod test stand, behave clearly differently in terms of the identified anomaly score, under normal operating conditions and under operating conditions disturbed by the simulation of abnormal states. There may be at least several reasons for this. One of them may be the different degree of wear of individual actuators due to their previous use in the Application Center of Festo Polska. Another reason, e.g. the degree of wear or different settings of the structure simulating the increase in resistance to movement of the slide of the actuator gears, − the selected model has a strong influence on the identification of normal and abnormal behaviors by selecting the intensity of the parameter values given in chapter 7 (Fig. 14). For example, increasing the granularity parameter to some extent improves the operation of the models, but too high a value of this parameter is also not favorable, as can be seen on the example of the driving torque waveform in actuator A1 (Fig. 17). Here, the anomalies reached very high values under working conditions with increasing resistance to motion, but they also appeared in the case of normal operating conditions of the actuator (Fig. 17a), on the basis of which this model was learned. − it was also found that the experimentally identified anomalies changed quite rapidly throughout the measurement,

a)

Fig. 17. Driving torque waveform and the abnormality value of the A1 tripod EXPT actuator for the robot dynamics equal to 80 %, obtained in the Scraitec system: a) without simulating the increase in motion resistance, b) with simulating the increase in motion resistance for the following model parameters: anomalySmoothness = 0.1, edgyBehaviorBias = 0.0, granularity = 0.95, treatEdgyBehaviorAsNormal = MOST Rys. 17. Przebieg momentu napędowego i wartości anomalii aktuatora A1 tripoda EXPT, dla dynamiki robota równej 80 %, uzyskany w systemie Scraitec: a) bez symulacji wzrostu oporu ruchu, b) z symulacją wzrostu oporu ruchu dla następujących parametrów modelu: anomalySmoothness = 0,1, edgyBehaviorBias = 0,0, granularity = 0,95, treatEdgyBehaviorAsNormal = MOST

b)

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


Fig. 18. Driving torque waveform and the abnormality value of the A2 tripod EXPT actuator for the robot dynamics equal to 80 %, obtained in the Scraitec system: a) without simulating the increase in motion resistance, b) with simulating the increase in motion resistance for the following model parameters: anomalySmoothness = 0.15, edgyBehaviorBias = 0.45, granularity = 0.9, treatEdgyBehaviorAsNormal = MOST Rys. 18. Przebieg momentu napędowego i wartości anomalii aktuatora A2 tripoda EXPT, dla dynamiki robota równej 80 %, uzyskany w systemie Scraitec: a) bez symulacji wzrostu oporu ruchu, b) z symulacją wzrostu oporu ruchu dla następujących parametrów modelu: anomalySmoothness = 0.15, edgyBehaviorBias = 0,45, granularity = 0,9, treatEdgyBehaviorAsNormal = MOST

a)

b)

which makes it difficult to assume which of them are true and which result from the inaccuracy of the model. It also turned out that increasing the value of the granularity parameter in the range from 0.6 to 0.9, combined with decreasing the edgyBehawiorBias parameter, and improved the course of the anomaly score.

stand, a robotic program was performed for 80 % and 60 % of the maximum dynamics of the EXPT tripod mechanism. The measurements were made both in the simulation of failure, by increasing the load of one of the robot actuators, and in the normal, correct operation of the tripod, so as to be able to detect possible overfitting of the model, causing false warnings under normal operating conditions (Fig. 20, Fig. 21).

Y<S< . = Taking into account the non-trivial, ambiguous results of component research experiments (chapter 8.1), it was decided in the predictive diagnostics experiments of the robotic production stand to create an AI model which, instead of exercising separate control over each of the servo actuators of the mechanism, supervises the operation of the tripod stand, treating it as a completed one, an indivisible whole [18]. Such a solution, as opposed to considering each of the components separately, allowed for the predictive detection of the impending failure or the imminent wear state of the mechanism guides, manifested by even slight changes in the waveforms of several measured parameters, possibly omitted separately, but after cumulating allowing for the clear detection of the abovementioned anomalies. Another advantage of such a cumulative approach is training a smaller number of models, and thus faster implementation of the AI system and clearer feedback, i.e. a smaller number of returned parameters. The disadvantage of this approach seems to be more difficult than in the case of conducting separate analyzes to determine which specific component of the test stand is the cause of the alarm. While testing the capabilities of the AI system to test the predictive diagnostic capabilities of a robotic complete production

In order to avoid single, impulse jumps in the anomaly score value, which may result, for example, from measurement noise, which could signal the aforementioned false warnings, e.g. about the possibility of component wear, a small value of inertia was used in the rise and fall of the anomaly evaluation. As a result, the activation of warnings is associated with the persistence of a disturbing deviation in the measurement signal for a longer time or its appearance with a high frequency. For the majority of runs made with 80 % of the maximum dynamics of the robot’s movement, it was possible to obtain well-distinguishable differences in the anomaly score values between runs with a simulated load and runs without this load. The amplitudes of detected anomalies are relatively small, which caused problems with determining the threshold value, beyond which an alarm warning would be issued. over-fitting of the model. Increasing the AI-detected one is not a trivial task – increasing the algorithm’s penalties for the distance of points from landmark measurements from clustered landmarks can easily over-fit the AI model. In the conducted experiments, after performing predictive diagnostics of the robotic production stand, for the measurement values related to 80 % of the maximum dynamics of the tripod mechanism movement, analogous tests were performed for 60 % of the dynamics of the mechanism movement (Fig. 22, Fig. 23).

17


E M ! $ % F ! % Fig. 19. Driving torque waveform and the abnormality value of the A3 tripod EXPT actuator for the robot dynamics equal to 80 %, obtained in the Scraitec system: a) without simulating the increase in motion resistance, b) with simulating the increase in motion resistance for the following model parameters: anomalySmoothness = 0.15, edgyBehaviorBias = 0.45, granularity = 0.9, treatEdgyBehaviorAsNormal = MOST Rys. 19. Przebieg momentu napędowego i wartości anomalii aktuatora A3 tripoda EXPT, dla dynamiki robota równej 80 %, uzyskany w systemie Scraitec: a) bez symulacji wzrostu oporu ruchu, b) z symulacją wzrostu oporu ruchu dla następujących parametrów modelu: anomalySmoothness = 0.15, edgyBehaviorBias = 0,45, granularity = 0,9, treatEdgyBehaviorAsNormal = MOST

a)

b)

The results of these experiments turned out to be similar to the previously performed experiments with higher dynamics of the tripod mechanism movement, but it was possible to obtain higher values of anomaly score amplitudes during the occurrence of simulated wear of the tripod actuator guides. This is due to the fact that the AI model with higher values of parameters responsible for the detection of anomalies was used, which turned out to be possible thanks to obtaining a greater ratio of the resistance values of actuator sliders to the analogous values related to the movement of the mechanism with lower dynamics of movement. For higher values of motion dynamics, the torque generated by the actuator motors, which translates into the acceleration of the sliders moving along the guide rails, must naturally be higher to implement the programmed speed ramps. This makes the load, which does not change significantly with the speed of movement, generated by the mechanical structure rubbing against the guides, less significant compared to the values of

the torque of the motors needed to execute the robot program without the load of the movement of the sliders. It was noticed that for the measurements performed with both the tripod actuator movement dynamics used in the experiments, a significant difficulty in the appropriate adjustment of the AI model turned out to be the slight variance of moment signals, noticed during the initial analysis of the anomaly score, occurring during subsequent executions of the robotic program, resulting from variable courses of friction values and vibrations of the structure itself, forcing this friction (frictional vibrations). Since the torque deviation of the actuator motors obtained by increasing the axle load was relatively small, this variance made anomaly detection for the raw sensor data in these series problematic. It often forced an overfitting of the AI model. Therefore, it was decided to additionally apply low-pass filtering of measurement signals, thanks to which it was possible to partially eliminate the high-frequency noise of measurement signals generated by the torque sensors of actuator motors.

No-load waveforms for 80 % of the maximum dynamics of tripod behavior

Fig. 20. Diagnostics results without load of EXPT tripod actuators due to the increase of resistance to motion: a) first measurement series; b) second measurement series; c) third measurement series. Anomaly score – the course of the value at the very bottom of the chart is practically zero, so the AI system does not correctly detect abnormal tripod behavior Rys. 20. Wyniki diagnostyki bez obciążenia aktuatorów tripoda EXPT wzrostem oporów ruchu: a) pierwsza seria pomiarowa; b) druga seria pomiarowa; c) trzecia seria pomiarowa; Anomaly score – przebieg wartości na samym dole wykresu jest praktycznie zerowy, a więc system AI prawidłowo nie wykrywa anormalnych zachowań tripoda

18

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Data waveforms for actuator load A1 for 80% of the maximum tripod dynamics

Fig. 21. Diagnostics results with load of EXPT actuators A1 due to the increase in resistance motion: a) first measurement series; b) second measurement series. Anomaly score – the value runs at the very bottom of the chart are significantly different from the runs without load, but are characterized by low amplitude values Rys. 21. Wyniki diagnostyki z obciążeniem aktuatora A1 tripoda EXPT wzrostem oporów ruchu: a) pierwsza seria pomiarowa; b) druga seria pomiarowa. Anomaly score – przebiegi wartości na samym dole wykresu znacząco różnią się od przebiegów bez obciążenia, ale charakteryzują się niewielkimi wartościami swej amplitudy

No-load waveforms for 60% of the maximum dynamics of tripod behavior

Fig. 22. Diagnostic results without EXPT tripod load due to the increase in motion resistance: a) the first measurement series, b) the second measurement series, c) the third measurement series: Anomaly score – the course of the value at the very bottom of chart, also for 60 % of the maximum tripod dynamics there was no excessive adjustment of the model, anomaly score are rare and close to zero Rys. 22. Wyniki diagnostyki bez obciążenia tripoda EXPT wzrostem oporów ruchu: a) pierwsza seria pomiarowa, b) druga seria pomiarowa, c) trzecia seria pomiarowa: Anomaly score – przebieg wartości na samym dole, również dla 60 % maksymalnej dynamiki tripoda nie nastąpiło nadmierne dopasowanie modelu, wartości anomaly score występują rzadko i są bliskie zeru

In the Scraitec system, it is possible to filter the data in the AI model itself, but the unknown impact of the available filter parameters prompted the use of well-documented averaging filters in the conducted experiments, as part of the initial signal processing, when sending them from the controller in the control cabinet to the diagnostic system (Fig. 24). The use of signal filtration significantly improved the detection of anomalies when conducting predictive diagnostics for the case of 60 % of the maximum dynamics of the tripod motion, significantly increasing the amplitudes of the ano-

maly score appearing when simulating the frictional loads of the actuators. It was possible to obtain an AI model which, when the alarm warning threshold is set to one tenth of the maximum value of the anomaly score, correctly issues notifications about the possibility of abnormal conditions in the test stand, in more than nine out of ten cases, even with relatively small deviations in its value. Slightly worse results were obtained when filtering the data for measurements made at 80 % dynamics of the tripod mecha-

Data waveforms for actuator load A1 for 80% of the maximum tripod dynamics

Fig. 23. Diagnostic results with the load of the A1 actuator EXPT tripod with an increase in resistance to motion: a) first measurement series; b) second measurement series. Anomaly score – the waveforms of the values at the bottom of the graph are higher than for the load of 80 % of the dynamics of robot program execution, however, good model adjustment is still relatively difficult, but the waveforms differ significantly from the runs without load Rys. 23. Wyniki diagnostyki z obciążeniem aktuatora A1 tripoda EXPT wzrostem oporów ruchu: a) pierwsza seria pomiarowa; b) druga seria pomiarowa. Anomaly score – przebiegi wartości na samym dole wykresu są wyższe niż dla obciążenia 80 % dynamiki wykonywania programu robotycznego, jednak dobre dopasowanie modelu jest nadal stosunkowo trudne, jednak przebiegi znacząco różnią się od przebiegów bez obciążenia

19


E M ! $ % F ! %

Data waveforms for actuator load A1 for 60 % of the maximum tripod dynamic after filtering

Fig. 24. Diagnostics results with the load of the A1 actuator EXPT tripod, an increase in resistance to motion and additional low-pass filtering of signals: a) the first measurement series; b) the second measurement series. Anomaly score – the waveforms of values at the bottom of the graph are very high when anomalies occur, which makes it easier to set alarms that indicate a clear wear of the stand components, also the occurrence of emergency Rys. 24. Wyniki diagnostyki z obciążeniem aktuatora A1 tripoda EXPT wzrostem oporów ruchu oraz z dodatkową filtracją dolnoprzepustową sygnałów: a) pierwsza seria pomiarowa; b) druga seria pomiarowa. Anomaly score – przebiegi wartości na samym dole wykresu są bardzo wysokie przy występowaniu anomalii, co ułatwia ustawienie alarmów, sygnalizujących wyraźne zużycie elementów stanowiska, także wystąpienie stanów awaryjnych

nism movement, which results from the previously described AI behavior, but also for this dynamics of movements, the predictive diagnostics of the robotic production stand was at a relatively good level. In conclusion, by applying the approach based on treating the tripod as a whole and fitting the AI model to all three signals generated by the torque sensors of the servo motors of the tripod actuators, it was possible to obtain in both cases of loads and for both considered dynamics of motion quite good anomaly discrimination. This allows the conclusion that the created AI system quite effectively warns about the actual wear of the tripod’s mechanical elements, invisible directly from the physical course of this information in time.

tion during actuator operation. You can also try to diagnose components that have suffered actual damage during the operation of the stand, so as to better understand what deviations in the values of the generated signals the model should be particularly sensitive to. The Scraitec system turned out to be a convenient tool for creating models, performing diagnostics and data supervision, but it also has many limitations related to the fairly early phase of the development cycle (during the research project, the latest, experimental version of the system, provided by Resolto was used) and problems with the stability of the operation that would have to be resolved before its large-scale introduction into real industrial sites. It would also be worth considering enriching it with machine learning algorithms that allow for automatic detection of useful information and the creation of feature vectors from it and then fed to the model. This would greatly facilitate the work of the modeling operator, especially for more kinematically complex mechanisms, e.g. using already existing techniques called Sparse Filtering to create unsupervised feature learning algorithms from raw sensor data. One of the more obvious stages of the development of the constructed solution would be the replacement of the industrial computer used to host applications responsible for visualization and data supervision, with a cloud application with which the robotic controller, located in the control cabinet, would connect via the IIoT Gateway, which would allow access to the results of diagnostics from any device with Internet access. Such a solution would be included in the area of intelligent production, decisive for the success of Industrial Transformation 4.0, assuming computerization and internetization of production processes. The combination of an industrial computer enabling remote control and diagnosis of processes with an intelligent production system using an AI algorithm would result in the creation of a solution that would be able to predict anomalies and failures predictably, and thus effectively extend the operation time of devices, machines or even the entire production line.

9. Conclusions The development of an application ensuring predictive diagnostics of a robotic stand turned out to be a complex task, requiring knowledge of the robot’s operation itself, the ability to write robotic programs, implementation of communication between individual applications and knowledge of machine learning issues. By overcoming these difficulties, it was possible to build a system that uses AI for the correct identification of abnormal or emergency states in a robotic production stand. Attempts to analyze data using a model with regard to individual components of the robot’s mechanism, such as its actuators, led to the non-trivial conclusion that obtaining a system capable of detecting anomalies is possible, but requiring a large number of measurements to select a model that could effectively extract component behavior deviating from normal. For the correct and effective operation of predictive diagnostics, in this case, the data set for model training should be significantly enlarged by further measurement points for normal working conditions, By conducting data analysis with the use of a model treating the tripod mechanism with all its actuators as a whole, it was possible to obtain a system ensuring effective diagnostics of its behavior, detecting even quite minor irregularities in its operation, caused e.g. by worn out mechanical elements of the mechanism structure. The analyzes were carried out by training the models during the execution of the motion program, for the different dynamic behavior of the mechanism. In the future, one could try to detect anomalies even with any dynamics, using the data normalization mechanisms to design the model. Continuing the development work of the developed system, a better simulation of the occurring failures could also be used: in the described version it was only a structure increasing fric-

20

P

O

M

I

A

R

Y

A

U

T

O

M

References 1. Olszewski M., Mechatronizacja produktu i produkcji – przemysł 4.0 (Mechatronization of the Product and the Production – Industry 4.0). „Pomiary Automatyka Robotyka”, Vol. 20, No. 3, 2016, 6–28, DOI: 10.14313/PAR_221/13. 2. Kaliczyńska M., Kluczowe technologie Przemysłu 4.0 (Key Technologies of Industry 4.0). „Automatyka”, Nr 1–2, 2018, 95–96. A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


3. Olszewski, M., Mechatronika (Mechatronics). „Automatyka”, Nr 1–2, 2018, 97–99. 4. Olszewski, M., Przemysł 4.0 (Industry 4.0). „Automatyka”, Nr 1–2, 2018, 99–104. 5. Bord of Management, Messe München GmbH: automatica, Optimize your Production. Face the Future of Manufacturing. Final Edition 2018, [www.automatica-munich.com]. 6. Robotik und Production, Integration, Anwendung, Lösungen. [In:] Highlights der automatica, Vol. 3, No. 3, TeDo Verlag GmbH, Marburg (2018). 7. Olszewski M., automatica 2018. Optimize your Production. „Automatyka”, Nr 10, 2018, 109–124. 8. Piątek Z., Collaborative and Mobile Robots. AGV Report from the Market. APA – Automatyka Podzespoły Aplikacje, Reports 2019. 9. Olszewski M,: Współczesna robotyka (Modern Robotics), Part III, Essay Robotics. „Automatyka”, Nr 9, 2019, 89–107. 10. Poreda R., Gracel J., The Introduction of Robotics. Six Common Mistakes. „Automatyka”, Nr 3, 2019, 40–42. 11. Staniszewska, A., Zrobotyzowany przemysł (The Robotised Industry). „Automatyka”, Nr 3, 2019, 89–107. 12. Olszewski M., Modern Industrial Robotics. „Pomiary Automatyka Robotyka”, Vol. 24, No. 1, 2020, 5–20, DOI: 10.14313/PAR_235/5. 13. Grzebień S., System nadzorujący stanowisko produkcyjne w przemyśle 4.0 (A System for Supervising a Production Stand in Iindustry 4.0). MSc thesis (Promoter M. Olszewski). Warsaw University of Technology, 2017. 14. Gajewski P.M., Rozwiązania wybranych problemów informatycznych w projektach racjonalizacji technicznej procesów produkcyjnych przygotowania powierzchni prowadzonych w firmie SciTeeX (Solutions of Selected IT Problems in Projects of Technical Rationalization of Production Processes of Surface Preparation Carried out at SciTeeX). BSc thesis (Promoter M. Olszewski). Warsaw University of Technology, 2018. 15. Kwiatkowski P.K., Zrobotyzowana mobilna stacja paletyzująca z robotem współpracującym (Robotized, Mobile Pallatization Stand Based on Collaborative Robot). MSc thesis (Promoter M. Olszewski, work awarded in the Competition “Young Innovations”, PIAP, in 2019 and by Siemens and the Rector of Warsaw University of Technology, in 2019). Warsaw University of Technology, 2019. 16. Karpowicz N.A., Jacyniuk M.T., Projekt pneumotronicznego robota portalowego z serwopozycjonowaniem realizowanym przez wyspę zaworową Festo Motion Terminal (Design of a Pneumotronic Portal Robot with Servo Positioning by the Valve Isle Festo Motion Terminal). BSc thesis (Promoter M. Olszewski). Warsaw University of Technology, 2020. 17. Trocki D., Opracowanie sterowania ręcznego oraz zrobotyzowanego stanowiska lakierniczego (Development of Manual Control and Robotic Painting Stand). MSc thesis (Promoter M. Olszewski, work awarded by Siemens and the Rector of Warsaw University of Technology, in 2020). Warsaw University of Technology, 2020. 18. Mazur M., Wojciechowski A.P., Implementacja komunikacji oraz nadzoru danych przy użyciu metod sztucznej inteligencji dla robota wielołańcuchowego – tripoda EXPT (Implementation of Communication and Data Supervision Using Artificial Intelligence Methods for a Multi-Chain Robot –Ttripod EXPT). BSc thesis (Promoter M. Olszewski), Warsaw University of Technology, 2021. 19. Panasiuk J., Kaczmarek W., Robotyzacja procesów produkcyjnych (Robotization of Production Processes). PWN, Warszawa 2017.

20. Stumm S., Braumann J., von Hilchen M., Brell-Cokcan S., On-site Robotic Construction Assistance for Assembly Using a-priori Knowledge and Human-Robot Collaboration. [In:] Rodić A., Boranglu T. (eds), Advances in Robot Design and Intelligent Control, Vol. 540, Springer 2017. 21. Pilz T., Neue Wege in der Robotik beschreiten. Robotik und Produktion. Integration, Anwendung, Lösungen, 3, 2018, 8–10. 22. Merlet J.P., Solving the Forward Kinematics of a Goughtype Parallel Manipulator with Interval Analysis. “International Journal of Robotics Research”, Vol. 23, 2004, 221–235, DOI: 10.1177/0278364904039806. 23. Zhang D., Parallel Robotic Machine Tools. Springer, New York, Heidelberg 2010. 24. Stoll W., Bionik. Lernen von der Natur – Impulse für Innovation. Edition Festo, Esslingen 2018. 25. Łaski P.A., Kinematic Analysis of Parallel Manipulators. Publisher Politechnika Świętokrzyska, M121, Kielce 2019. 26. Olszewski M., Elektryczne napędy i serwonapędy siłownikowe (Electric Drives and Servo Motors). „Automatyka”, Nr 1–2, 2020, 106–110. 27. www.vxchnge.com/blog/iot-statistics. 28. www.astor.com.pl, Wydawnictwa ASTOR. 29. www.automatica-munich.com – Bord of Management, Messe München GmbH. 30. www.vxchnge.com/blog/iot-statistics – Gyarmathy K., Comprehensive Guide to IoT Statistics You Need to Know in 2020. 31. www.scraitec.com/en/applications/predictive-maintenance/ – Scraitec, predictive maintenance. 32. www.scraitec.com/ – Scraitec. 33. www.elunic.com/en/predictive-maintenance/ – Elunic, predictive maintenance. 34. www.elunic.com/en/shopfloor-io/ – Elunic, shopfloor-io, 35. https://c3.ai/ – C3.ai. 36. https://erium.de/loesungen/#erium-managment – Erium. 37. www.festo.com/cms/pl_pl/16520.htm – Festo. 38. www.festo.com/cat/en-gb_gb/data/doc_ENGB/PDF/ EN/EXPT_EN.PDF – Documentation of the Manipulator from Series Tripod EXPT, Festo. 39. www.festo.com/cat/en-gb_gb/data/doc_engb/PDF/EN/ DGE-ZR_EN.PDF – Drive Dokumentation DGE, Festo. 40. www.festo.com/media/pim/252/D15000100122252.PDF Serwo Motor Dokumentation EMMS-AS, Festo. 41. www.keba.com/download/x/6f7f955268/keba_kecontrol_ keconnect_c5_product_catalogue.pdf – Control Data Shit C5, KEBA. 42. www.festo.com/cat/pl_pl/data/doc_ENGB/PDF/EN/ CMMT-AS_EN.PDF – Serwo Drive CMMT-AS, Festo. 43. www.keba.com/file/downloads/industrial-automation/ data-sheets/KeTop_T70_Datenblatt_web.pdf – Dokumentation of the Operator Panel KeTop, KEBA. 44. www.balena.io/docs/reference/OS/overview/2.x/ – BalenaOS, 45. www.hilscher.com/products/product-groups/industrial-internet-industry-40/netiotnetfield-edge/niot-e-tijcx-gb-reeis/ – Industrial Computer. 46. www.rtautomation.com/technologies/opcua – OPC UA. 47. www.rtautomation.com/industrial-networking/modbus/modbus-as-a-data-transport-over-opc-ua – Modbus, OPC UA. 48. https://mqtt.org – MQTT Broker.

21


E M ! $ % F ! %

( F 8 % Celem opisywanych badań jest inżynierskie rozwiązanie problemu implementacji metod sztucznej inteligencji do poszukiwania stanów anormalnych, skrajnie awaryjnych, w zrobotyzowanych stanowiskach produkcyjnych. Zadanie to wynika z potrzeby poprawy niezawodności eksploatacyjnej zautomatyzowanych i zrobotyzowanych linii produkcyjnych, a tym samym racjonalizacji wartości użytkowej i kosztowej tych linii. Opisano dostępne rozwiązania sprzętowe oraz istniejące i nowo wprowadzane nowe procedury i platformy informatyczne. W części sprzętowej prac wykorzystano robota z mechanizmem trójłańcuchowym, z elektrycznymi serwonapędami przekładniowymi, skonfigurowany za pomocą oprogramowania Festo Automation Suite, zaprogramowany za pomocą sterownika KEBA oraz opracowanego programu aplikacyjnego KeStudio. * Q 8 $ % $ ( $ % F

!

!

( ( 8 'E ORCID: 0000-0003-1111-4081

8 '( ORCID: 0000-0002-7737-2342

0 +!)-$ ( % % E ; E G = G ( ( A E H ( $ H I % E ; 6 . 8 E E % .%% = $ J ( B J $ % 8 E % ( % ( ( % = %

. % E % % ( % ; E " E A = E H ( E % E . = $ 9 8 % 0 % $ ( % % E E % ( % ; E " = $ ( E 9 8 G ( K+!+)L$ % . HGM 6 $ = % 8 ( % K+!+!L$ = E % . ;G H# % N0 E % % ( E = ( % E 8 %O % E % % < ( %

" !

" #$ " % %

)!!'( ORCID: 0000-0001-9491-410X

% & !'( ORCID: 0000-0003-3516-2942

%= % ; E " = E A E H = ( E % E . $ 9 8 % 0 % $ 8 ( = KA E H ( $ +!+)L$ . % ( % E E P 8 = ( % K+!+!L$ = E % . = ;G H# N0 E % % ( E ( % E 8 O % E = % % < ( %

. E A E H = ( )>*<$ % E . P % Q 8 % ; % )>-! $ % R % )>S! 0 )>-S ( E E E % 8 = 6 %$ )>S< ATH 8 E 6 ( % % ( % = $ % % 9G. 8 ( 8 % E 6 P 8 % U N" O K+!!+L$ N; % E " O K+!!*L % = N" = J % O K+!!>L . E % E % % = E % % 8 J E 0 E . % 9 8 " ; E A E H ( )>>&V+!)+X " 8 E E E 0 % = 0 E . % " K60.6L +!! V +!)-X Y = E H =G% = 6 = =R .QM A +!)!V+!)S H E % E E % ( 0 % & ! E = $ $ 8 $ % E % % V 0 % & !$ E +!)*

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


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

% E ."6I$ 6 % ? "6 # " % ( I ( ( T I 6 ( ( 6 8 GP Andrzej Karbowski, Krzysztof Wyskiel A E H ( $ ; E G % 0 E H ( $ T )<@)>$ !!=**< A

Abstract: The purpose of this work is a comparative study of three languages (environments) of optimization modeling: AMPL, Pyomo and JuMP. The comparison will be based on three implementations of the shortest path problem formulated as a linear programming problem. The codes for individual models and differences between them will be presented and discussed. Various aspects will be taken into account, such as: simplicity and intuitiveness of implementation, availability of specific data structures for a LP network problems, etc. 9 % Q $ % ( ( ( $ ( ($ 8 $ 8 $ ( (

1. Introduction In the mid-1980s, along with the development of personal computers, the continuous increase in available computing power and subsequent generations of programming languages, the AML (Algebraic Modeling Languages) class of languages arised. It facilitated the process of creating optimization problem models and solving them [9]. AMPL is among the pioneers of this type of software [8], together with other languages, e.g., GAMS or AIMMS. Today, in addition to specialized optimization modeling tools, there are also libraries and packages for general programming languages, e.g., Pyomo for Python or JuMP for Julia, playing the role of optimization modeling languages. The aim of this work is a comparative study of three popular optimization modeling languages and their capabilities: AMPL, Pyomo and JuMP. The study consists of implementing in these three languages and solving in their environments a shortest path in a directed graph problem formulated in linear programming (LP) terms. The assessment of the listed environments was made taking into account various criteria, such as: availability of specific constructs for given problem classes (e.g., arcs in graph/network problems), ways to define constraints and objective functions, declarations and operations on input data sets, as well as convenience and effectiveness of implementation, expressed, for example, through the size of the code.

& -/ Q

. % M 8 $ . M 8 ' % & 0 # % % )* !* +!+) $ % % !S !S +!+)

!

S< =. . .

.

problem The problem presented in this section is one of the best known and widely described (discrete) optimization problems in the literature. There are many types of graph problems; from them looking for the shortest path between two indicated nodes in a directed graph was selected, because it can be easily formulated as a (continuous) linear programming problem, that is in the most standard way. The mathematical model of the shortest path problem is as follows [7]: min ∑ ci , j x i , j x

(i , j )∈A

subject to (1)

xi,j t 0,

∀(i, j) ∈ A

A graph is represented here as a set N of nodes and a set A of edges. Each edge is represented by a pair of nodes (i, j) ∈ A, i, j ∈ N (beginning and end of the link). A transition cost (distance) ci;j is assigned to each edge. The decision variable x defines a path in the graph in such a way, that each xi;j equals 1 if the edge (i, j) belongs to the path and 0 otherwise. The start node of the path is marked as s and the terminal node as t.

T< " #

This section will briefly discuss the basic features of subsequent optimization modeling environments, the installation process, and how to prepare them for work.

23


Comparative study of AMPL, Pyomo and JuMP optimization modeling languages on a network linear programming problem...

3.1. AMPL AMPL (A Mathematical Programming Language) is the oldest optimization programming language among those discussed here, which has been developed since 1985 [8]. The AMPL package is commercial software, but there is also a free variant for academic purposes. This program has a fully functional, integrated development environment amplide, which includes a file explorer, a console for various language commands, related to loading, solving or displaying the model, and a text editor, in which we can create and edit the models and input data files. This language is created from the beginning and does not depend on any external libraries, thanks to which it has a simple and clear syntax. It offers constructs for parameters, sets, variables, objective functions and constraints. It also supports more complex constructs for sets, that are useful, e.g., in graph problems. The model itself is saved in files with the .mod extension. In addition, AMPL has .dat files in which we can save input data for the model, according to the imposed syntax. And finally, there are also .run files, that we can optionally use to write scripts involving, e.g., decomposed or even parallel optimization [10]. Usually we place in them instructions necessary to solve the model, i.e. loading a file with the model, a file with input data, choosing a solver, an optional list of parameters transferred to the solver and a command to call it.

is available in a personal (free) and licensed for enterprises version. The package also includes the Juno IDE based on the Atom text editor. Due to the fact that JuMP is a library for the Julia language, there are some dependencies and constraints associated with it. The syntax of the functions and constructs offered by the package must be compatible with the native language. This also applies to our style of writing program code, e.g., terminating blocks of conditional statements and loops with the keyword end. However, this also allows us to use Julia’s native methods, including vector and matrix operations, which can often be useful. JuMP offers constructs for variables, constraints, objective functions and Affine expressions, which consist of three fields: coefficient vector, variable vector and constant. Unlike the other languages discussed here, we don’t have defined constructs for parameters and sets in JuMP. However, due to the rich set of mathematical functions offered by Julia, this is generally not a problem. JuMP also lacks an interface for loading data from files, which requires to use native language methods (as in Pyomo). On the other hand, it gives us the freedom to define and adopt a layout convenient for us in the files with model input data.

T<S<

All these languages have appropriate interfaces for communication with various solvers. The list of available solvers is quite large and includes both commercial (such as Cplex or Gurobi) and free (such as Ipopt or Cbc). In JuMP, we need an additional interface written in Julia to communicate with the solver. This is due to the fact that, unlike the other languages discussed here, JuMP does not generate files with the model in an appropriate format (e.g., .nl in AMPL), which are then transferred to the solver, but communicates with it directly in memory. The way the environment is prepared varies slightly in each case. In AMPL to use a given solver we write the following command:

T<U< .

Pyomo (Python Optimization Modeling Objects) is a collection of packages for the general purpose programming language Python [4, 5]. It provides tools and constructs needed to build models, declare variables, sets, solver interfaces, etc. The first version of Pyomo appeared in 2008; since then it has been constantly developed and maintained. The recommended by the authors method of exploitation is to use Pyomo together with one of the available scientific Python distributions. For this purpose, we can use for example Anaconda platform, available for download at https://www.anaconda.com/download/. The package includes also Spyder, an IDE for writing scripts and programs in Python and testing them in the embedded console. As mentioned at the beginning, Pyomo is a collection of Python libraries. There are some constraints and dependencies. The syntax for functions and constructs offered must be compatible with the native language, which also forces a certain style of code writing, e.g., the use of appropriate indentation in conditional statement blocks or loops. On the other hand, we can also use Python methods. Modeling elements include parameters, sets, variables, objective functions, constraints, as well as expressions, which we can use e.g., to divide long mathematical operations into smaller elements to increase readability. We save the model in standard Python files with the .py extension. We have also .tab files with one or more parameters useful for long arrays. In addition, we have the ability to read data from csv, Json, xml, yaml, Excel and some relational databases. For the last three of them, however, additional Python libraries, that are not a part of Pyomo, are necessary.

option solver “name”; where for “name” we substitute the name of the solver’s executable file. In Pyomo, we create the object for communication with the solver as follows:

solverFactory(“name”) where, similarly to AMPL, we write the name of the solver’s executable file. JuMP can boast about the simplest solution. In Julia’s console, it is enough to type Pkg.add("solver name"). In the case of a free solver, its source files will be downloaded along with the appropriate Julia interface, compiled and prepared for use. In the case of commercial solvers, we must have a working installation with an active license (in this case only the interface is downloaded). Then we import the appropriate package with the solver interface in the program code by the using command and we pass the constructor for this interface to the method responsible for the initialization of the model object, e.g.,

3.3. JuMP JuMP (Julia for Mathematical Programming) is a library for the fairly young language Julia (similarly to Pyomo for Python) [2, 3]. It is the youngest environment to create optimization models among those described here. The first version of Julia appeared in 2012, while the JuMP prototype was released in 2015 [2]. There are several versions of Julia’s distribution. The recommended package is JuliaPRO, which we can download from https://juliacomputing.com/products/juliapro. It contains many different libraries including JuMP and CLP solver, so we can start work immediately after installation. It

24

P

O

M

I

A

R

Y

A

U

T

O

M

Model(solver = name()) where for “name” we substitute the name of the constructor method for the given interface.

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Andrzej Karbowski, Krzysztof Wyskiel

U< =. . .

.

h

This section will describe three implementations of the shortest path problem in a directed graph in all environments discussed in the paper. Each subsection will deal with the program code in a given modeling language. The obtained results will be described and compared in a separate section. In every case, the Cbc solver was used to solve this problem. The naming of variables in different environments is consistent as far as possible. Where there are any additional variables that are not present in the others, they will be described in the subsection on a specific implementation.

Both sets and parameters can be given values in the model file (which is usually inadvisable) or in a dedicated file which will be described in a moment. We can declare variables for our model using the keyword var. The rules for indexing and limiting from the bottom/top are the same as for parameters. The objective function is given according to the following format: minimize | maximize any_name: expression

Common variable names: − − − − − −

nodes – set of graph nodes, arcs – set of graph edges, x – decision variable designating the edges used in the path, cost – vector containing the cost of transition (length) of the graph edge, source – starting node, target – end node.

4.1. AMPL The implementation of this problem in AMPL looks like this:

and similarly for constraints: subject to any_name optionally_indices: expression where we can also specify optionally indices while creating an indexed constraint. We build expressions for the objective function and constraints using simple notation close to natural, mathematical syntax. The sum function allows us to sum vector elements, matrices or various expressions. We provide indices for the sum in a similar way as described earlier. As we can see, in the constraint we can also easily use the expression if-then-else to define the values for the sum difference, depending on the current node in the index, so we don’t have to build several separate constraints, and the whole expression is very similar to that of the mathematical model. It should be remembered that "=" is an equality operator, and ":=" is absent in this model. In order to load data into the model, the data command is used in conjunction with the name of the data file, which can be given in quotation marks or not. AMPL uses files with the .dat extension in which we define parameter and set values. For the above problem it looks like this:

Listing 1. The shortest path in a directed graph – implementation in AMPL Listing 1. Najkrótsza scieżka w grafie skierowanym – implementacja w AMPLu

All commands or constructs must end with a semicolon. Basic elements such as parameters are easily defined using the appropriate keyword and name. In AMPL we have the ability to create sets using the set keyword, which can be used, among others, for indexing. We also have a dedicated construct for graph edges. The within keyword defines the range of values that elements of this particular set can take. Next, in braces we specify NODES cross NODES, which means that each item in the set ARCS is described by two values, each of which falls in the set NODES. Parameters are defined using the keyword param. We can also impose that they can take text values from a specific set using symbolic in. Array parameters are defined by specifying the appropriate index expression of the form {i in NODES }, {(i, j) in ARCS } after the name in braces, or a set, as in the case of the parameter COST. Values of all parameters indexed or not (except for those that use the expression symbolic) can also be limited from below or above by inequality signs, as seen in the above code.

Listing 2. Sample .dat file in AMPL Listing 2. Przykładowy plik .dat w AMPLu

Finally, to solve the model, we need to provide the appropriate solver using the option solver command, simply giving its name. Then we solve the model with the solve command. After successful solution, using the display function, we can specify any model elements whose values we want to check, separated by commas. An interesting option is omit_zero_rows, which allows us to display vector, matrix, etc. variables while skipping lines with the value zero.

25


Comparative study of AMPL, Pyomo and JuMP optimization modeling languages on a network linear programming problem...

U<S<

which means that every element of the set arcs will be described by two numbers, each of which must fit in the set nodes (similar to AMPL). We add parameters to the model using the Param() method. By specifying the within argument, we can (similarly to sets) request that the value of this element belong to the indicated set or to other parameter. We create an indexed parameter by simply specifying the file after which the element is to be indexed (as in the case of cost). We create variables using the Var() method. Indexing rules are the same as for parameters. To specify the lower/upper limit, we can also use one of several identifiers of predefined constants for the within argument. In the example above, NonNegativeReals simply means greater than or equal to zero. We use Objective() and Constraint() for the objective function and constraints. In both cases, there is the rule argument that takes the name of a specific, previously defined method. We create the one using the keyword def, the name and a list of arguments given after the comma in brackets (distance_rule and constraint1_rule). In the objective function, we additionally specify minimize or maximize in the sense argument if we want to search for the minimum or maximum of a function, respectively. The first argument of a _rule type method is always the model object (which we created at the beginning with the AbstractModel() method). The next, optional, argument is an indexed component (e.g., set), or more precisely, a specific element of this set. In the body of the method we define, we must use the keyword return, and then provide a mathematical expression that defines a constraint or an objective function. Having all components of a model we may solve it. To do this, we “build” it by calling the create_instance method, in which we give the name of the data file as an argument. Then we get a new object (hereinafter referred to as the instance). Pyomo uses, among others, .dat files that have the same, AMPL equivalent, syntax (Listing 2), which allows us to use the same file in both environments. However, there is a slight difference. We cannot separate (e.g., for reading convenience) elements of sets and parameters with commas. This file will not be loaded by Pyomo. The next step is to create an object that is a “shell” for communication with a solver using the SolverFactory() method, in which we give the name of the solver as an argument. All that remains is to call the solve method on the opt object, giving the instance we created earlier. This method returns only basic data regarding the problem solved by the solver (among others, the number of variables, constraints and status). To view the values of the objective function, constraints, etc., we need to call the display() method on the instance object.

The implementation of this problem in Pyomo looks like this:

Listing 3. Shortest path in a directed graph – implementation in Pyomo Listing 3. Najkrótsza ścieżka w grafie skierowanym – implementacja w Pyomo

Pyomo, as mentioned earlier, is a set of libraries for the high-level programming language Python. There are some restrictions, rules and writing style requirements imposed by the native language. Commands and expressions do not end with any special semicolon character, their end is determined by the end of line in which they are located. However, if an expression is too long and we want to move it to the next line, we can use the “\” (backslash) character. In Python, indents (tabs) in the code are extremely important and required for the proper operation of each program. Therefore, when writing method definitions, conditional statements or loops, we must ensure appropriate spacing in accordance with the language specification. On the one hand, this ensures consistency and readability of the code, which is an important aspect, but on the other hand, it limits the programmer in some way. To use Pyomo in our code, we need to import the appropriate libraries, what is shown at the beginning of the above code. We import all classes from a given package using the “star”. Because objectivity is one of Python’s paradigms, the model in Pyomo is an example of an object to which subsequent elements are closely related. We call it to life using the AbstractModel() method, which creates an empty model to which elements added later are not fully constructed, even giving them initial values (the construction is carried out in two stages). The principle of adding variables, parameters and other elements is the same – using the model object, we enter the name we choose after the dot and assign the object with a specific element to it by calling the appropriate method and, if required, providing the appropriate parameters. The Set() method allows us to create sets. We also have a dedicated construct for graph arcs. We add to the previously mentioned method the keyword (named) argument within with the value m.nodes * m.nodes,

26

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Andrzej Karbowski, Krzysztof Wyskiel

4.3. JuMP The implementation of this problem in JuMP looks like this:

Listing 4. The shortest path in a directed graph – implementation in JuMP Listing 4. Najkrótsza ścieżka w grafie skierowanym - implementacja w JuMP

JuMP, as mentioned at the beginning of the paper, is a set of libraries for the high-level programming language Julia. As in the case of Pyomo, there are some restrictions, rules and writing style requirements imposed by the native language. Commands and expressions do not end with any special semicolon character, their end is designated by the end of the line in which they appear. If any expression is too long and we want to partially move it to the next line, we just do it, it does not require adding specific characters or keywords. However, we can use the “\” character. The recommended way is to enclose such an expression in parentheses. Unlike Python, the indentation in the code we write does not affect its operation and only serves for our convenience and readability. To use JuMP in our program, we must import the library containing it using the keyword using. The same applies to the package containing the solver interface that we want to use. One of Julia’s paradigms is objectivity, hence the model in JuMP is presented as an object, which we then supplement with further elements that are closely related to it (not all, however, about which in a moment). We create our main object using the Model() method. As in Python, there are so-called keyword arguments. What is characteristic for JuMP, when creating a model, we must specify the method initiating the Julia interface for a given solver in the solver argument. Unlike the other modeling languages described here, JuMP has no constructs for sets or parameters. For this we need to use the standard constructs offered by Julia (which are, fortunately, simple and comfortable), which some-

what spoils the idea of the model as an object keeping in itself all the components belonging to it. Therefore, if we would like to use some constructs for indexing, we must immediately initialize them with appropriate values. JuMP does not offer methods for loading data from files – here we must again use the functions offered by the native language. The simplest solution was the readdlm() method, in which we give as arguments the file name, character (or string) separating subsequent numbers (or words) and the third optional parameter – the type of data contained in the file. Entering the last parameter (Int32 – 32-bit integer) was necessary, because by default the loaded numbers were saved in the program memory as floating point numbers (while there should be integers here). As in Python, we declare variables/objects by providing a name. The downloaded data was saved in the data variable. The size(data) method returns a two-element vector with, in order, the number of rows and the number of columns. Specifying index 1 in square brackets, we extract the number of rows (indexing of tables in Julia begins with one) and reducing by 1 we get the number of edges (numOfEdges). We read the number of nodes N from the loaded matrix. The set (array) nodes is created by a simple expression with a for loop, giving i for i in 1: N in square brackets, which generates subsequent values of i in the range 1: N. There are no graph constructs in JuMP, either. However, we can easily deal with this by creating the arc structure (the keyword for the construct is immutable or type, but the first of them is recommended, due to the speed of filling the arrays). Inside, we only have the start node startNode and the end node endNode. Structure, function, conditional statement, etc. definitions must end in Julia with the keyword end. Next, we create a set of edges arcs by reading from the data object pairs of nodes from subsequent rows of data. The vector cost is created as a dictionary using the method Dict(), in which we give the label (here a single edge) as an argument, operator =>, the value and finally an analogous expression with a loop for as before. Variables can be created by the @variable() method. The first argument is always the model object, while the second argument is the variable expression. Specifying x[arcs] creates a variable indexed with the elements of the vector arcs. In addition, we can specify the lower limit (as in the above code), upper limit (in the same way) or both. In the last case it would be e.g., 0 <= x[arcs] <= 1. For this the @objective() method is responsible for the objective function, in which we enter the model object, Min or Max and a mathematical expression. In the function sum() we give what we add (m.x[a]), after which indices (for a in m.arcs) and optional condition for the index using the keyword if (similarly to Pyomo). We create constraints using the @constraint() method, where we give the model object and a mathematical expression (analogous rules as before for indexing, sums, etc.).

27


Comparative study of AMPL, Pyomo and JuMP optimization modeling languages on a network linear programming problem... Finally, there remains the solution to the problem by calling the solve() method, to which we pass the object with the model. After finishing, only a short status is returned, e.g., “Optimal”, if an optimal solution has been found. The values of the objective function, decision variables, etc. are saved in the model object. Using print(), we can print specific items in the console. To get the value of the objective function from the model, we use getobjectivevalue() (entered in the model argument), and for variables, getvalue() (here we enter only the variable name). In defining string objects in Julia, we can use the expression $() to “inject” some numerical value from the indicated object, or even the result of a mathematical operation.

5. Tests We used the GTGraph program to generate test graphs [6, 1]. According to the description of the mathematical model, the generated graph is a set of edges, where each edge is described by three consecutive values: the starting node, the end node and the cost of the transition (distance). Values for all three edge components are positive integers. The graph used to test the implemented models is below. The graph in graphic form is in the Fig. 1.

1 8 37

4 2 21

7 3 29

1 10 10

4 10 36

8 7 33

2 4 17

5 3 27

8 4 31

2 10 12

5 2 40

9 6 10

3 1 15

5 8 40

9 5 36

3 10 37

6 2 37

9 3 22

3 2 33

6 4 25

9 2 35

3 6 36

6 5 13

9 7 18

3 9 31

7 9 10

10 8 13

4 5 10

7 6 11

10 4 14

For all implementations of the models discussed in this section, the results were the same. They are presented in the Table 1. There are many more (90 exactly) possible pairs of nodes between which paths can be drawn, but among them there will be many which have the lengths of one or two edges.

Fig. 1. Test graph Rys. 1. Graf testowy

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


Andrzej Karbowski, Krzysztof Wyskiel Table 1. Results for the shortest path problem in the directed graph Tabela 1. Wyniki dla zadania najkrótszej ścieżki w grafie skierowanym Start node, Terminal node

The optimal path

Path length

(1, 6)

1, 10 ,8, 7, 6

67

(4, 8)

4, 2, 10, 8

46

(2, 9)

2, 10, 8, 7, 9

68

(10, 9)

10, 8, 7, 9

56

(8, 10)

8, 4, 2, 10

64

(10, 1)

10, 4, 5, 3, 1

66

6. Conclusions The AMPL, Pyomo and JuMP environments presented in this paper proved to be effective tools for optimization modeling. We must remember that Pyomo is embedded in Python and JuMP in Julia and there are some limitations and code style requirements to write codes compatible with the native languages. AMPL, as a language dedicated to optimization modeling, does not have such a problem, thanks to which the constructs in AMPL are simpler, which translates into easier and more convenient implementation of models. It also provides the shortest code of all the environments discussed here. In terms of the number of characters and lines we need to write, the implementation in JuMP is the worst. Pyomo is between the two. Despite the lack of constructs for parameters and sets in JuMP and Pyomo one can successfully use the standard functionalities offered by Julia and Python languages. The creation of mathematical expressions was comfortable and quite intuitive in all the environments presented. JuMP and, more specifically, Julia, offer built-in operations on vectors and

arrays (including even vector methods), which are missing in AMPL, and in Python are offered by external libraries. People who do not have everyday contact with object-oriented programming languages or programming at all will certainly find their way in the field of optimization modeling using AMPL. In contrast, users familiar with object-oriented programming, should not have big problems using Pyomo and JuMP. Based on this work, we can conclude that AMPL, although it is a comfortable environment with many possibilities and wins in many places, is not the best in all aspects.

References 1. GTgraph Program. www.cse.psu.edu/~kxm85/software/GTgraph. 2. JuMP documentation. www.juliaopt.org/JuMP.jl/0.18/ index.html. 3. JuMPa GitHub Repository. https://github.com/JuliaOpt/ JuMP.jl. 4. Pyomo documentation. https://pyomo.readthedocs.io/en/latest/. 5. Pyomo GitHub Repository. https://github.com/Pyomo/ pyomo. 6. Bader D.A., Madduri K., GTgraph: A Synthetic Graph Generator Suite. College of Computing, Georgia Institute of Technology, 2006. 7. Bertsekas D.P., Linear Network Optimization. MIT Press, 1991. 8. Fourer R., Gay D.M., Kernighan B.W., AMPL A Modeling Language for Mathematical Programming, Second Edition. Duxbury, Thomson, 2003. 9. River Logic, Inc., Optimization Modeling: Everything You Need to Know, www.riverlogic.com/blog/optimizationmodeling-everything-you-need-to-know, 2021. 10. Olszak A., Karbowski A., Parampl: A Simple Tool for Parallel and Distributed Execution of AMPL Programs. “IEEE Access”, Vol. 6, 2018, 49282–49291, DOI: 10.1109/ACCESS.2018.2868222.

% F F % ( ."6I$ 6 ? "6 % ( % ( ( Streszczenie: Celem pracy jest

zbadanie i porównanie możliwości trzech języków (środowisk) modelowania optymalizacyjnego: AMPL, Pyomo i JuMP. Porównanie zostanie oparte na trzech implementacjach zadania najkrótszej ścieżki sformułowanego jako zadanie programowania liniowego. Przedstawione i omówione zostaną kody poszczególnych modeli oraz różnice między nimi. Pod uwagę będą brane różne aspekty, takie jak: prostota i intuicyjność implementacji, dostępność określonych struktur danych dla problemów z siecią LP itp. * Q $ % $ % F Z $ % $ ( $ % ( E

29


Comparative study of AMPL, Pyomo and JuMP optimization modeling languages on a network linear programming problem...

Andrzej Karbowski, PhD, DSc

Krzysztof Wyskiel, BSc

. M 8 ' % ORCID: 0000-0002-8162-1575

' ORCID: 0000-0001-6851-9755

. % M 8 % 6 J K)>>!L % 8 K+!)+L . % 9 8 E A E H = ( $ ; E G % 0 E H ( E = 0 E % G ( ( E A E H = ( % T. M T 9 0 A Q % % = E 8 K % % 8 % (L$ % = E =8 K ( % = ( % L$ % E E NG = ( O KN" P %=0 ( I % T 6 ( ( " % E G ( . H EE T % % OL % )<! % E Q $ "06 % "0TI6 % $ ( = % ( $ 8 $ % % E ( $ = % %

M E A " % E = ; E G % 0 E H ( E A = E H (

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


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 31–35, DOI: 10.14313/PAR_241/31

% 8 F %[ ( 8 ( " & % ' 6 \F% $ 0 0 E $ E ( )S@++$ >!=>+& \F%]

W pracy przedstawiono nowy algorytm zwiększenia rozdzielczości obrazów termowizyjnych. W tym celu zintegrowano sieć resztkową z modułem współdzielonego filtru z podpróbkowaniem obrazu KSAC (ang. Kernel-Sharing Atrous Convolution). Uzyskano znaczne skrócenie czasu działania algorytmu przy zachowaniu dużej dokładności. Sieć neuronową zrealizowano w środowisku PyTorch. Przedstawiono wyniki działania proponowanej nowej metody zwiększenia rozdzielczości obrazów termowizyjnych o wymiarach 32 × 24, 160 × 120 i 640 × 480 dla skali 2–6. 0 % & # % Q $ ( 8 $ % ^$ 8 ( / $ 6 H

1. Wprowadzenie Problematyka zwiększenia rozdzielczości obrazów cyfrowych rozwijana jest od wielu lat. Dotychczas najczęściej stosowane są metody interpolacyjne, do których można zaliczyć algorytm najbliższego sąsiada (NN) oraz metody interpolacji biliniowej i dwusześciennej (ang. bicubic) [21]. Bardziej zaawansowane techniki stosują filtry Lanczosa [3] lub interpolacje za pomocą funkcji sklejanych [10]. Znane są sprzętowe metody zwiększenia rozdzielczości systemów termowizyjnych, które stosują technikę mikro skaningu [19]. Zwiększenie rozdzielczości systemów termowizyjnych staje się obecnie pilnym do rozwiązania problemem technicznym ze względu na coraz większą ofertę tanich matryc bolometrycznych o małej rozdzielczości [22–24]. Ostatnio w literaturze pojawiają się prace, w których autorzy proponują nowe zastosowania algorytmów głębokiego uczenia do zwiększenia rozdzielczości obrazów, znane pod nazwą metod superrozdzielczości [5, 8, 9, 11–13, 20], które dotyczą w przeważającej większości obrazów wizyjnych. Podejmowane są także próby zastosowania metod superrozdzielczości w innych zastosowaniach, np. do rekonstrukcji obrazów MRI [14], a także w termowizji w podczerwieni [13, 17]. Na podstawie ostatnio publikowanych wyników badań można skonstatować, że zastosowanie sieci resztkowych RDLNN (ang. Residual Deep Learning Neural Network) daje lepsze rezultaty

& -/ Q

6 A $ '( & 0 # % % !& !- +!+) $ % % !< !S +!+)

w porównaniu z klasycznymi sieciami splotowymi CNN (ang. Convolutional Neural Network), głównie przez skrócenie czasu uczenia sieci [9, 11, 12]. W ogólnym przypadku, podczas uczenia głębokiego sieci metodami optymalizacji gradientowej, występuje problem zerowania gradientów przy użyciu arytmetyki o skończonej precyzji, co uniemożliwia wykonanie pełnego procesu uczenia.W celu zredukowania efektu zaniku gradientów, wprowadza się połączenia bezpośrednie, omijające wybrane bloki sieci RDLNN [2, 4, 7, 15]. W rezultacie obraz na wyjściu warstw ukrytych jest różnicą (wartością resztkową) obrazu [8]. Obraz resztkowy zawiera szczegóły obrazu o dużych wartościach częstotliwości przestrzennych, podobnych do krawędzi. Inspiracją do podjęcia badań nad zwiększeniem rozdzielczości obrazów termowizyjnych były publikacje przedstawiające różne wersje architektury zagnieżdżonych sieci resztkowych RIR (ang. Residual In Residual) [12, 20]. W pracy [12] autorzy zaproponowali modyfikację sieci RIR, w której zachowując długie połączenia globalne, zredukowano liczbę wewnętrznych bloków resztkowych do dwóch warstw filtrów splotowych z jedną nieliniową warstwą usuwania ujemnych wartości cech ReLU. Dodatkowo usunięto bloki normalizujące, co znacząco skróciło czas uczenia. Algorytm superrozdzielczości o przedstawionej architekturze zaimplementowano w środowisku PyTorch, które jest udostępnione na zasadzie darmowej licencji [25–27]. Przeprowadzono próby zwiększenia rozdzielczości obrazów wizyjnych o skali s = 2, 3 i 4. Głównym problemem zastosowania sieci splotowych w praktyce jest ich długi czas działania i to nie tylko w fazie uczenia. W rezultacie nie jest dziś możliwa ich implementacja w czasie rzeczywistym w praktycznych zastosowaniach. W przedstawionej pracy zaproponowano integrację sieci resztkowej z modułem współdzielonego filtru i podpróbkowaniem obrazu (ang. Kernel-Sharing Atrous Convolution) [6].

!

31


> " , P $ $ _ " nych obrazów RGB o różnej rozdzielczości, np. 2040 × 1404 lub 1024 × 1356. W bazie obrazów DIV 2K znajdują się obrazy dużej rozdzielczości HR oraz odpowiadające im obrazy zdegradowane LR do rozmiaru mniejszego metodą interpolacji bikubicznej. Ponadto w procesie uczenia, z każdego obrazu wybierano losowo fragmenty o wymiarach 192 × 192, co istotnie zredukowało rozmiar przestrzeni cech i przyspieszyło działanie sieci.

S< v 9 5 $ #% *& #

# # # + #,% % # - . Podstawowym elementem architektury nowej sieci splotowej jest moduł KSAC opracowany do segmentacji, rozpoznawania i klasyfikacji obiektów [6]. Działanie modułu KSAC polega na wielokrotnym filtrowaniu obrazu, który poddano kolejnym operacjom podpróbkowania (Rys. 1). W literaturze algorytm ten nazwano przestrzennym piramidalnym podpróbkowaniem obrazu (ang. Spatial Piramid Pooling) [6]. Zastosowanie modułu KSAC zapewnia wyznaczanie cech obrazów z uwzględnieniem zarówno szczegółów w otoczeniu każdego punktu w obrazie, jak również informacje w większym otoczeniu.

T< 8 & & ,% Badania praktyczne przeprowadzono na komputerze z procesorem 4 × Xeon 2,2 GHz CPU i pamięcią 20 GB. Komputer wyposażony był w kartę graficzną Tesla T4 16 GB GPU. Badania prowadzono porównują uzyskane wyniki uczenia i walidacji z opublikowanymi wynikami działania referencyjnej sieci resztkowej EDSR16, EDSR32 [12]. Obrazy termowizyjne, mimo że są prezentowane w kolorze, mają charakter obrazów monochromatycznych. Z tego powodu w procesie uczenia podawano przekształcono obrazy RGB z bazy DIV 2K do postaci 16-bitowych obrazów w odcieniach szarości. W każdej iteracji (epoce) zbiór uczący zawierał 16 000 obrazów wizyjnych. Początkowo stosowano uczenie progresywne, w którym wyniki uczenia dla mniejszej skali zastosowano jako wartości początkowe do uczenia sieci dla skali większej [12]. Badania nie potwierdziły poprawy skuteczności zwiększania rozdzielczości obrazów metodą progresywną, jak również nie skrócił się czas uczenia. Wyniki badań potwierdziły dobrą zbieżność procesu uczenia sieci KSAC-ResNet. Po kilkuset iteracjach osiągnięto stabilizację wartości współczynnika PSNR (ang. Peak Signal-to-Noise Ratio) na poziomie około 35 dB (Rys. 3). Warto zwrócić uwagę, że referencyjna sieć EDSR32 wykazywała efekt przeuczenia. Przeprowadzono zwiększanie rozdzielczości obrazów termowizyjnych o rozmiarze 640 × 480 dla sieci EDSR16 (ResNet16), EDSR32 (ResNet32) i KSAC-ResNet dla współczynników skali s = 2, 3, 4, 5, 6. Sieci zostały wytrenowane obrazami wizyjnymi dużej rozdzielczości metodą transfer learning. Do oceny jakości przetwarzania zastosowano 26 obrazów termowizyjnych o rozdzielczości 640 × 480. Na wstępie zdegradowano metodą interpolacji bikubicznej każdy obraz odpowiednio w skali od 1/2 do 1/6, by zwiększyć rozdzielczość do wartości oryginalnej. Wartości średnie współczynników PSNR dla 26 operacji zwiększenia rozdzielczości przedstawiono na Rys. 4.

Rys. 1. Struktura modułu KSAC Fig. 1. Structure of KSAC module

Rys. 2. Struktura sieci resztkowej KSAC-ResNet Fig. 2. Structure of residua network KSAC-ResNet

Rys. 3. Współczynnik PSNR podczas uczenia sieci KSAC-ResNet (wykres czerwony) i EDSR32 (wykres niebieski) monochromatycznymi obrazami wizyjnymi o dużej rozdzielczości dla skali s = 2 Fig. 3. PSNR metrics during learning of KSAC-ResNet (in red) and EDSR32 (in blue) networks using monochromatic visual image of high resolution for scale s=2

Klasyczna struktura sieci resztkowej zawiera wiele (np. 16 lub 32) szeregowo połączonych lokalnych bloków resztkowych R. Na wejściu zazwyczaj stosuje się klasyczny blok filtracji splotowej sieci głębokiego uczenia C (ang. Convolutional block). Na wyjściu sieci w celu zwiększenia rozdzielczości należy zastosować blok nadpróbkowania U (ang. Up-scaling block) połączony z wyjściowym blokiem filtru C (Rys. 2). Koncepcja działania nowej sieci splotowej zakłada redukcję liczby lokalnych bloków resztkowych R i zastąpienie ich modułem KSAC. Uczenie sieci KSAC-ResNet przeprowadzono stosując obrazy innej modalności – obrazy wizyjne dużej rozdzielczości (ang. transfer learning). Obrazy treningowe uzyskano z ogólnodostępnej bazy DIV 2K [1]. Zbiór danych uczących zawierał 800 wizyj-

32

P

O

M

I

A

R

Y

A

U

T

O

M

Jak można zauważyć na Rys. 4, wartości współczynnika PSNR są nieznacznie większe dla sieci KSAC-ResNet dla skali s = 2 i 3. Dla skali s = 4, 5 i 6 większe wartości współczynnika PSNR osiąga sieć EDSR32. Dla skali s = 5 sieć KSAC-ResNet zapewniła uzyskanie lepszego wyniku w porównaniu z rezultatem sieci EDSR16 o ok. 1,3 dB. Dla skali s = 6, sieć KSAC-ResNet dała wynik gorszy od sieci EDSR16 o około 1 dB i od sieci EDSR32 o około 1,7 dB. Z tego powodu zaproponowano dla skali s = 6 dwukrotnie wykonane powiększenie wymiarów obrazu w skali s = 2 i s = 3. Podsumowując etap badań dotyczący oceny dokładności przetwarzania obrazów o rozdzielczości 640 × 480 można stwierdzić, że uzyskane wartości współczynnika PSNR dla A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


! " # $ %

Rys. 4. Wartości współczynnika PSNR dla różnych algorytmów zwiększania rozdzielczości obrazów termowizyjnych o rozdzielczości 640 × 480 sieciami EDSR16 (ResNet16), EDSR32 (ResNet32) i KSAC-ResNet dla różnej skali s = 2, 3, 4, 5, 6 Fig. 4. PSNR metric values for different methods of the resolution increasing of thermal images using EDSR16 (ResNet16), EDSR32 (ResNet32), KSAC-ResNet and bicubic algorithms for scales s = 2, 3, 4, 5, 6

Rys. 6. Zależności liczby operacji MAC w funkcji liczny danych wejściowych (liczby punktów obrazów wejściowych) dla sieci EDSR32 oraz KSAC-ResNet i skali powiększenia s = 2 Fig. 6. Number of MAC operations as a function of the number of input data (number of points of input images) for the EDSR32 and KSAC-ResNet networks and the scale s = 2

nowej sieci resztkowej KSAC-ResNet i referencyjnej sieci EDSR32 są porównywalne (Rys. 5). Na podkreślenie zasługuje fakt, że badania dotyczyły różnych wartości współczynnika skali s = 2–6. Finalnym etapem badań była analiza złożoności obliczeniowej opracowanego algorytmu działania sieci KSAC-ResNet i porównanie jej ze złożonością implementacji referencyjnej sieci resztkowej EDSR32. Złożoność obliczeniowa jest powiązana z liczbą parametrów sieci neuronowych. Dla sieci głębokiego uczenia, które stosują operacje splotu dwuwymiarowego, wyznacza się liczbę operacji mnożenia i sumowania MAC (ang. Multiply–ACcumulate), które realizuje procesor graficzny. Wyznaczono liczbę operacji MAC w funkcji liczby danych wejściowych, tzn. liczby punktów przetwarzanego obrazu dla skali s = 2. Wyniki symulacji potwierdziły liniową zależność MAC = f(n) dla obu porównywanych sieci głębokiego uczenia. W rezultacie złożoność ta okazała sięzłożonością typu O(n) zarówno dla sieci EDSR, jak i KSAC-ResNet, co przedstawiono na Rys. 6. Wyniki badań potwierdziły znacznie mniejszą złożoność obliczeniową algorytmu sieci KSAC-ResNet. Choć wynik ten przekłada się na szybkość działania sieci podczas realizacji superrozdzielczości, to wciąż na obecnym poziomie technologii systemów komputerowych, jest to wynik uniemożliwiający implementację sieci głębokiego uczenia w czasie rzeczywistym. Na Rys. 7 przedstawiono powiększone obrazy termowizyjne wzbudnika i mosiężnego wsadu wykonane kamera z detektorem

Rys. 5. Porównanie wyników interpolacji bikubicznej i zwiększania rozdzielczości dla sieci KSAC-ResNet, KSAC-ResNet23, EDSR16 oraz EDSR32 obrazów termowizyjnych o rozdzielczości 640 × 480 dla skali s=6 Fig. 5. Comparison of increasing the resolution using different algorithms for scale s = 6 for ResNet, KSAC-ResNet23, EDSR16, EDSR32 networks and bicubic interpolation

Rys. 7. Powiększone obrazy termowizyjne wzbudnika i mosiężnego wsadu o skali 6 do rozdzielczości 960 × 720, a) interpolacja bikubiczna, b) EDSR16, c) EDSR32, d) KSAC-ResNet Fig. 7. Enlarged thermal images of the inductor and brass charge for scale 6 to resolution 960 × 720, a) bicubic interpolation, b) EDSR16, c) EDSR32, d) KSAC-ResNet

o rozdzielczości 160 × 120 sensorów podczas grzania i hartowania indukcyjnego. Po zwiększeniu rozdzielczości, rozmiary obrazów wynoszą 960 × 720. Jakościowa ocena wyników pozwala stwierdzić, że algorytmy sieci głębokiego uczenia są zdecydowanie lepsze z punktu widzenia odwzorowania szczegółów i krawędzi obrazu. Wydaje się, że można zastosować proponowany algorytm sieci KSAC-ResNet w celu zwiększenia rozdzielczości dla systemów termowizyjnych o bardzo małej rozdzielczości, np. 32 × 24. Obecnie takie systemy są dostępne na rynku. Przy niewielkiej liczbie sensorów w matrycy, możliwe jest wykonywanie operacji superrozdzielczości w czasie rzeczywistym. Na Rys. 8 przedstawiono wyniki powiększenia rozdzielczości przestrzennej obrazów 32 × 24 dla skali s = 5 do rozmiaru 160 × 120.

4. Wnioski W pracy przedstawiono nową architekturę sieci resztkowej głębokiego uczenia KSAC-ResNet do realizacji zadania zwiększenia rozdzielczości obrazów termowizyjnych. Przedstawiony materiał jest częścią rozprawy doktorskiej, w której można

33


> " , P $ $ _ "

7. Ioffe S., Szegedy C., Batch normalization: Accelerating deep network training by reducing internal covariate shift, Proceedings of the 32nd International Conference on Machine Learning, 2015, Lille, France. 8. Kim J., Lee J.-K., Lee K.-M., Accurate image super-resolution using very deep convolutional networks, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1646–1654, Munich, September 8–14, 2016, DOI: 10.1109/CVPR.2016.182. 9. Kim J.-H., Lee J.-S., Deep residual network with enhanced upscaling module for super-resolution, 15th European Conference on Computer Vision, 800–808, Salt-Lake City, June 18–22, 2018. 10. Kincaid D., Cheney W., Analiza numeryczna, Wydawnictwo Naukowe Techniczne, 2007, ISBN 83-204-3078-X. 11. Li J., Fang F., Mei K., Zhang G., Multi-scale residual network for image super-resolution, 15thEuropean Conference on Computer Vision, Munich, September 8–14, 2018. 12. Lim B., Son S., Kim H., Nah S., Lee K.M., Enhanced deep residual networks for single image super-resolution, The IEEE Conference on Computer Vision and Pattern Recognition Workshops, July 21–26, 2017, Honolulu. 13. Mandanici E., Tavasci L., Corsini F., Gandolfi S., A multi-image super-resolution algorithm applied to thermal imagery. “Applied Geomatics”, Vol. 11, No. 3, 2019, 215–228, DOI: 10.1007/s12518-019-00253-y. 14. Shi W., Caballero1 J., Huszar F., Totz J., Aitken R.B.A.P., Rueckert D., Wang Z., Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network, [In:] IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, USA, 1974– 1883, 2016, DOI: 10.1109/CVPR.2016.207. 15. Szegedy C., Ioffe S., Vanhoucke V., Alemi A., Inception v4, inception-ResNet and the impact of residua connections on learning, arXiv:1602.07261, 2016. 16. Wang Z., Chen J., Hoi S.C.H., Deep learning for image super-resolution: A survey, arXiv:1902.06068 [cs.CV], 8 Feb. 2020, 1, 2020. 17. Więcek P., Sankowski D., Low-cost, low-resolution IR system with super-resolution interpolation of thermal images for industrial applications, “Measurement Automation Monitoring”, Vol. 64, No. 4, 2018, 108–111. 18. Więcek P., Wybrane algorytmy ilościowej analizy obrazów rozkładu temperatury wsadów w procesach nagrzewania indukcyjnego, Rozprawa doktorska, Instytut Informatyki Stosowanej, Politechnika Łódzka, 2021. 19. Wu X.-S., Cai Y., Techniques of optical microscan in infrared imaging system, “Journal of Infrared and Millimeter Waves”, Vol. 26, No. 1, 2007, 10–14. 20. Zhang Y., Li K., Li K., Wang L., Zhong B., Fu Y., Image super-resolution using very deep residual channel attention networks, 15th European Conference on Computer Vision, Munich, September 8–14, 2018. 21. Zieliński T., Cyfrowe przetwarzanie sygnałów. Od teorii do zastosowań. Wydawnictwa Komunikacji i Łączności WKŁ, 2007. 22. Flirone, Flir Systems, 2020, [www.flir.com/products/flirone-pro]. 23. Melexis. Melexis Inspired Engineering, 2019, [www.melexis. com/en/product///mlx90640/far-infrared-thermal-sensor-array]. 24. Optris, Optris, 2020, [www.optris.global/thermal-imager-optris-pi160]. 25. PyTorch v1.3, Pytorch, 2020, [https://pytorch.org]. 26. Pytorch-Flopscounter v0.6, 2020, [https://github.com/ sovrasov/flops-counter.pytorch]. 27. Pytorch-forwardhook, PyTorch, 2020, [https://pytorch.org/ docs/stable/nn.html].

Rys. 8. Powiększone obrazy o rozdzielczości 32 × 24 dłoni i wzbudnika wraz z mosiężnym wsadem o skali 5 do rozdzielczości 160 × 120; a, c) interpolacja bikubiczna; b, d) KSAC-ResNet Fig. 8. Enlarged 32 × 24 pixel images of a hand and an inductor with a brass insert for scale 5, to the final resolution 160 × 120 resolution; a, c) bicubic interpolation; b, d) KSAC-ResNet

znaleźć więcej wyników symulacji i eksperymentów [18]. Głównym osiągnięciem przeprowadzonych badań jest opracowanie algorytmu zwiększenia rozdzielczości obrazów termowizyjnych o mniejszej złożoności obliczeniowej w porównaniu z innymi znanymi i publikowanymi algorytmami sieci głębokiego uczenia. Na obecnym stanie techniki zaproponowany algorytm może być zastosowany w aplikacjach czasu rzeczywistego jedynie dla systemów termowizyjnych o małej rozdzielczości, np. 32 × 24. Uczenie sieci KSAC-ResNet przeprowadzono metodą transfer-learning z zastosowaniem bazy obrazów wizyjnych o dużej rozdzielczości. Dalszym kierunkiem badań w zakresie zwiększania rozdzielczości obrazów termowizyjnych może być poszukiwanie prostej architektury sieci splotowej głębokiego uczenia o mniejszej złożoności obliczeniowej. Wydaje się, że wspomaganie sprzętowe działania sieci głębokiego uczenia może doprowadzić do zwiększenia skuteczności ich działania.

[ 1. Agustsson E., Timofte R., NTIRE 2017 challenge on single image super-resolution: Dataset and study, 2017, [https://data.vision.ee.ethz.ch/cvl/DIV2K], DOI: 10.1109/CVPRW.2017.150. 2. Bengio Y., Simard P., Frasconi P., Learning long-term dependencies with gradient descent is difficult. “IEEE Transactions on Neural Networks”, Vol. 5, No. 2, 1994, 157–166, DOI: 10.1109/72.279181. 3. Duchon C.E., Lanczos filtering in one and two dimensions, “Journal of Applied Meteorology and Climatology”, Vol. 8, Bo. 18, 1979, 1016–1022, DOI: 10.1175/1520-0450(1979)018<1016:LFIOAT>2.0.CO;2. 4. Glorot X., Bengio Y., Understanding the difficulty of training deep feedforward neural networks, Proceedings of the 13th International Conference on Artificial Intelligence and Statistics, 2010. 5. Gu J., Wang Z., Kuen J., Ma L., Shahroudy A., Shuai B., Liu X.W.T., Wang G., Recent advances in convolutional neural networks, Pattern Recognition, Elsevier, 2017. 6. Huang Y., Wang Q., Jia W., He X., See more than once – kernel-sharing atrous convolution for semantic segmentation, arXiv:1908.09443 [cs.CV], 16 November, 2019.

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


! " # $ %

0 ( E H 0 ( 9 ( J I ( T T The article presents a new algorithm for increasing the resolution of thermal images. For this purpose, the residual network was integrated with the Kernel-Sharing Atrous Convolution (KSAC) image sub-sampling module. A significant reduction in the algorithm’s complexity and shortening the execution time while maintaining high accuracy were achieved. The neural network has been implemented in the PyTorch environment. The results of the proposed new method of increasing the resolution of thermal images with sizes 32 × 24, 160 × 120 and 640 × 480 for scales up to 6 are presented. KeywordsQ % $ % ($ = $ ( ( $ 6 H

($ " &

) #$ % '

'( ORCID: 0000-0002-6049-7923

% ' % ORCID: 0000-0003-2223-6690

_ % A % G $ G $ 0 E . 6 = \F% +!)) _ % +!+) A % = 8 F T09 09 R F 8 8 % ( 8 ( 8 F . (

? 8 A % G $ G $ 0 E . 6 = \F% A % " = ` [ ( B F [ = M % 0 E = 6 \F% ( F $ 8 F ( E B ( F 8 % = +< % F ? % Q _ . % ; F

35


NR 3/2015

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


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 37–41, DOI: 10.14313/PAR_241/37

J $ 0% / $ % a / E ;* 6 = G ( Q = IA . 8 6 E Mariusz Kastek, Krzysztof Firmanty " E H ( $ 0 E # $ + ( M ( $ !!=!>S A $ 6 %

Benjamin Saute, Jean-Philippe Gagnon, Martin Lariviere-Bastien H $ )!!=+*!! =? B . a 8 $ a R+G *?<$ %

Daniel Pawelski H $ +!B H $ )!=&)- # $ 6 %

Abstract: Detection, identification, and quantification of greenhouse gases is essential to ensure compliance with regulatory guidelines and mitigate damage associated with anthropogenic climate change. Passive infrared hyperspectral imaging technology is among the solutions that can detect, identify and quantify multiple greenhouse gases simultaneously. The Telops Hyper-Cam Airborne Platform is an established system for aerial thermal infrared hyperspectral measurements for gas survey applications. In support of the Hypercam, is developing a suite of hyperspectral imaging data processing algorithms that allow for gas detection, identification, and quantification in real-time. In the Fall of 2020, the Hyper-Cam-LW Airborne platform was flown above a validated SF6 gas release system to collect hyperspectral data for gas quantification analysis. This measurement campaign was performed to document performance of the Hyper-Cam gas quantification capabilities against known quantities of released gas. 9 % Q ( ($ ( % $ b / $ ( ($ ( ($ E %$ %= f$ (

1. Introduction Detection, identification, and quantification of greenhouse gases and other environmental pollutants is a measurement challenge of ever-increasing importance to the efforts to mitigate the effects of Climate Change. Thermal infrared hyperspectral imaging is well-suited to these tasks, yielding an information-rich data product containing a continuous, high-resolution infrared radiance spectrum for each pixel in the FPA detector. This three-dimensional data product is often referred to as a hypercube and can be used to characterize the spatial distribution of chemical species within a large scene. When combined with

& -/ Q

" M $ ' % & 0 # % % !) !- +!+) $ % % )> !S +!+)

!

Fig. 1. Telops Hyper-Cam LW Airborne Platform (left) and the new Hyper-Cam Airborne Mini (right) Rys. 1. Platforma lotnicza Telops Hyper-Cam LW (po lewej) i nowa Hyper-Cam Airborne Mini (po prawej)

an aerial survey platform, thermal infrared hyperspectral imaging represents a powerful tool for monitoring for fugitive gas emissions over wide areas. Telops has been designing and manufacturing high-performance thermal infrared hyperspectral imaging systems for over 20 years, primarily through the commercially available Hyper-Cam line. The Hyper-Cam is a passive, FTIR-based thermal infrared hyperspectral imaging system that allows for the generation of 320 × 256 pixel hypercubes with user-selectable spectral resolution down to 0.25 cm-1 [1]. Installation of the Hyper-Cam sensor into an aircraft is enabled by the Hyper-Cam Airborne Platform. The Airborne Platform is

37


# M E E %&V ! (% D$ Z c ) (= $ * ! $ predicted wind speeds on the day of the measurement campaign, the dissipation of the initial gas clouds was insufficient to yield clear separation from the next gas cloud. Despite these limitations, data collection and analysis proceeded as planned. With the quantitative gas release system validated and operational, the Hyper-Cam LW Airborne Platform was installed into a small aircraft and flown over the gas release site at an altitude of 850 m AGL. Infrared hyperspectral data collection and quantification were performed in real-time and gas quantification maps were produced in the dead-time prior to aircraft landing.

a stabilization platform equipped with GPS and IMU technology for georeferencing and tracking aircraft movement in flight. The data collected by the positioning sensors is utilized to control an image motion compensation mirror that allows for high-quality measurements of a specific target or pre-determined area. While the current generation of Hyper-Cam and Airborne platform have been successfully deployed on hundreds of measurement campaigns, Telops has launched the next-generation airborne hyperspectral system, the Hyper-Cam Airborne Mini. The Hyper-Cam Airborne Mini maintains the flexibility and high-performance measurement capabilities of the original Hyper-Cam while significantly reducing instrument footprint and weight (< 25 kg for optical head and processing box). This allows operation from a significantly increased population of aerial platforms compared to the original Hyper-Cam Airborne Platform. Telops has utilized the legacy Hyper-Cam Airborne system to aid in development of automated hyperspectral data exploitation processes that can be executed in real-time to quickly provide quantitative results. The collected data is analyzed by robust quantitative algorithms utilizing a full radiative transfer model and several assumptions or measurements of scene parameters. This report presents the results of a measurement campaign performed in Fall 2020 designed to validate the performance of Telops data processing algorithms for aerial gas detection, identification, and quantification tasks using data acquired by legacy Hyper-Cam LW Airborne system with the overall goal of implementation on the new Hyper-Cam Airborne Mini platform.

T< x

The first step toward quantifying gas emissions is to detect and identify the substance. This is accomplished using Telops Reveal ADI software which allows for chemical imaging of multiple gases simultaneously on an interactive interface (refer to Fig. 3). The Reveal ADI software uses a powerful and specialized generalized likelihood ratio algorithm (GLRT) [1–3].

S< '(

The Fall 2020 measurement campaign was performed over the Telops factory in Quebec City. On the ground, a quantitative gas release system was constructed consisting of a cylinder of compressed SF6 and a variable mass flow meter as shown in Fig. 2. This system was used to release a series of gas “puffs” of known mass by monitoring the gas flow rate and the length of time of the release. The experimental design called for the production of spatially separated gas clouds of known mass which was to be accomplished by releasing gas to form a cloud, turning off the gas to allow the cloud to drift with the wind, and then releasing gas again to form another cloud. Unfortunately, due to lower than

Fig. 3. Reveal Airborne Detect and Identify (D&I) Software Rys. 3. Ekran oprogramowania Reveal Airborne Detect and Identify (D&I)

The second step is to produce the column path concentration map of the gas plume (in units of ppm·m) from the acquired spectral radiance datacube. This is accomplished using a rapid gas quantification retrieval algorithm [4, 5]located between object (background. At its core lies a physical radiative transfer model. More precisely, the total radiation from a pixel in the gas plume measured by the camera can be expressed as: Lgas = τgas ⋅ τatm ⋅ Lbkg + τatm ⋅ (1 – τgas) ⋅ L(Tgas) + (1 – τatm) ⋅ Latm (1) Whereas the total radiation from a pixel outside the gas plume is: Lref = Lbkg ⋅ τatm + (1 – τatm) ⋅ Latm (2) where: Lgas – radiance measured by the camera, τgas – transmittance of the gas, τatm – transmittance of the atmosphere, (1 – τgas) ⋅ L(Tgas) – radiance of the gas plume at the temperature of the gas Tgas, Latm – radiance emitted by the atmosphere, Lref – radiance from a pixel outside of the gas plume. By making assumptions such as a constant plume temperature across the column path, a localized gas plume and a gas plume temperature equal to the atmospheric temperature, it is possible to solve for τgas and thus obtain the gas concentration values.

τ gas = Fig. 2. Validated SF6 gas release system (center), blue tarp for spectral reference (left), and weather station (right) Rys. 2. System uwalniania gazu SF6 (w środku), niebieska plandeka dla odniesienia spektralnego (po lewej) i stacja meteorologiczna (po prawej)

38

P

O

M

I

A

R

Y

A

U

T

O

Lgas − L (Tatm )

(3)

Lref − L (Tatm )

It is worth noting that the algorithm uses the brightness temperature of strong water vapor spectral lines to estimate M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


& $ $ % ' (! )) * + ( # ! the atmospheric temperature (Tatm). A principal component analysis (PCA) is performed on the image to help select background pixels and thus estimate Lref. Homogeneous media are characterized by constant spectral absorption coefficients. Consequently, the light transmittance through a layer of such media having a thickness l, a concentration N and an absorption cross-section a is expressed as: τgas = exp[ – Nαl]

(4)

Equation 4 imposes an important limitation to any retrieval procedure. Since the transmittance of any layer depends, for each gas species, on the product Nαl, called the column density, this product remains indivisible. For this reason, the results are quoted in path length units or ppm × m [6]. Assuming spherical symmetry of the plume it is possible to estimate local concentrations in units of ppm. Knowing the nature of the gas, its extent as well as the specifics of the camera (field-of-view, distance to the gas plume), the concentration results can be expressed as total gas mass in units of grams.

U< A typical quantitative detection report generated by the Hyper-Cam LW is given in Fig. 4. The detection report shows the black and white broadband infrared image of the scene with colored pixels superimposed to indicate detection of the compound of interest (SF6 for this measurement campaign). We can see that despite the low wind speed conditions, we are still able to observe some amount of spatial separation between subsequent gas puffs. The report also shows various measurement parameters including measurement date and time, GPS coordinates and bearing of the aircraft, and physical dimensions represented by the image. Additionally, the detection report displays information about the detection as well including the number of pixels containing the signature of interest, the physical dimensions of the detected gas cloud, and the quantity of gas detected in grams. The compiled quantitative results of the measurement campaign are given in Tab. 1. Prior to the measurement campaign, Telops established an acceptance criterion stating that a quantification would be deemed successful if the total quantity of gas determined by the quantification algorithms

Fig. 3. Hyper-Cam LW detection report showing spatial distribution of detected SF6 and total gas quantity Rys. 3. Raport z detekcji Hyper-Cam LW pokazujący rozkład przestrzenny wykrytego SF6 i całkowitą ilość gazu

was within an order of magnitude of the total gas released in a single puff. Two separate quantification algorithms were employed for data analysis. The “Live Quantitation” column represents the quantitative results generated by the real-time quantification algorithm while the “Improved Model Quantitation” column represents the quantitative results generated by an improved algorithm applied in post-processing. The algorithms are described in paper [7] and are based on cloud detection using SMF filters, clustering-based selected-band method and then through a spectral smoothness algorithm on a homogeneous subimage to estimate atmospheric profiles (temperature, water vapor), surface emissivity, and surface temperature gas concentration estimation is determined. Tab. 1. Compiled quantitative results from selected analysis Tab. 1. Zestawienie wyników ilościowych z wybranych testów Test

Mission Type

Quantity Released

1

2

3

Targeting Targeting Targeting 6 cm-1 6 cm-1 6 cm-1

4

Mapping 6 cm-1

2.5 g/puff 6.8 g/puff 1.1 g/puff 1.9 g/puff 4 puffs 4 puffs 2 puffs 3 puffs

Real-Time Quantitation [g]

2.15–2.23

2.4–3.82

No detection

0.3

Difference Between Measurement and Release [%]

11–14

44–65

84

Improved Model Quantitation [g]

0.90–2.13

1.77–3.79

0.19

0.34

% Difference Between Measurement and Release

15–64

44–74

83

82

The first three columns of Tab. 1 represent data acquired with the Hyper-Cam operating in targeting mode with a spectral resolution of 6 cm-1. Targeting mode makes use of the airborne platform pointing mirror to allow the Hyper-Cam to dwell on a specific target and collect additional hypercubes for data quality improvement. For Tests 1 and 2, both the realtime quantitation and the post-processing improved quantitation algorithms yielded results within the acceptance criteria established prior to the measurement campaign. For test 2, the gas concentration was determined with more error due to the change in prevailing weather conditions: it increased the wind speed by 25 % compared to test 1. For Test 3, the real-time quantitation algorithm was unable to detect the released gas. Test 3 involved releasing 1.1 grams of SF6 per puff which is the lowest quantity tested during this measurement campaign. There are many factors that may contribute to the real-time non-detection including local wind conditions and Hyper-Cam detection limits, and these experimental factors are the focus of future development work. Nevertheless, despite the failure to detect and quantify in real-time, the post-processing improved quantitation algorithm was able to successfully detect and quantify SF6 within the acceptance criteria. Test 4 represents data acquired with the Hyper-Cam operating in mapping mode with a spectral resolution of 6 cm-1. When operating in mapping mode, the airborne platform pointing mirror tracks consecutive ground patches with

39


# M E E %&V ! (% D$ Z c ) (= $ * ! $

a given swath width and hypercubes are acquired as the aircraft travels. Mapping mode allows for the creation of hyperspectral maps over large areas, but does not allow the user to dwell over a specific target for improved data quality like Targeting mode. Despite the expected decrease in data quality, both the real-time and post-processing quantitation algorithms were successfully applied to the collected hyperspectral data. Both algorithms were able to generate quantitation results within an order of magnitude of the total gas released, which is encouraging given the low mass of 1.9 g per puff.

1. Kastek M., Piatkowski T., Dulski R., Chamberland M., Lagueux P., Farley V., Method of gas detection applied to an infrared hyperspectral sensor, “Photonics Letters of Poland”, Vol. 4, No. 4, 2012, 146–148, DOI: 10.4302/plp.2012.4.09. 2. Chamberland M., Lagueux P., Tremblay P., Savary S., Gagnon M.-A., Kastek M., Piątkowski T., Dulski R., Standoff gas detection, identification and quantification with a thermal hyperspectral imager, “WIT Transactions on Ecology and the Environment”, Vol. 181, 2014, 671–682, DOI: 10.2495/EID140571. 3. Rutkowski R., Kastek M., Madura H., Sosnowski T., Multi-function analysis of hyperspectral data, “Measurement Automation Monitoring”, Vol. 63, No. 2, 2017. 4. Kastek M., Piątkowski T., Trzaskawka P., Infrared imaging Fourier transform spectrometer as the stand-off gas detection system, “Metrology and Measurement Systems”, Vol. 18, No. 4, 2011, 607–620, DOI: 10.2478/v10178-011-0058-4. 5. Chmiel M., Kastek M., Całus D., Szczepański K., Thermovision and spectroradiometry in stand-off detection of chemical contamination, “Environmental Protection and Natural Resources”, Vol. 28, No. 3, 2017, 17–25, DOI: 10.1515/oszn-2017-0019. 6. Kastek M., Piątkowski T., Dulski R., Chamberland M., Lagueux P., Farley V., Hyperspectral imaging infrared sensor used for chemical agent detection and identification, 2012 Symposium on Photonics and Optoelectronics, DOI: 10.1109/SOPO.2012.6270545. 7. Idoughi R., Vidal T.H.G., Foucher P.Y., Gagnon M.A., Briottet X., Background Radiance Estimation for Gas Plume Quantification for Airborne Hyperspectral Thermal Imaging, “Journal of Spectroscopy”, Vol. 2016, DOI: 10.1155/2016/5428762.

V< Telops Hyper-Cam Airborne platform is a well-established tool for large-are gas detection, identification, and quantification tasks. The Fall 2020 measurement campaign successfully demonstrated the performance of both a real-time and a post-processing algorithm in retrieving accurate gas concentration values from samples generated by a validated gas release system. For this measurement campaign, a successful analysis was defined as one in which the quantitation algorithm yielded a total gas quantity within an order of magnitude of the gas quantity released. The real-time quantitation algorithm was able to generate a successful analysis for three out of four total tests, with the lone unsuccessful analysis coming on the lowest released concentration. The Improved Model post-processing algorithm generated four out of four successful tests. These results demonstrate the utility of Telops aerial thermal infrared hyperspectral imaging platform for gas detection, identification, and quantification. Future research directions include optimizing the quantitation algorithms for use with the Hyper-Cam Airborne Mini which allows for deployment on a significantly expanded set of aerial platforms.

A $ % / / ] F% ;* Z Q = IA ( E Streszczenie: Wykrywanie, identyfikacja i kwantyfikacja gazów cieplarnianych jest niezbędna do zapewnienia zgodności z wytycznymi regulacyjnymi i złagodzenia szkód związanych z antropogenicznymi zmianami klimatu. Technologia pasywnego obrazowania hiperspektralnego w podczerwieni należy do rozwiązań, które mogą wykrywać, identyfikować i kwantyfikować wiele gazów cieplarnianych jednocześnie. Platforma lotnicza Telops Hyper-Cam jest uznanym systemem do lotniczych pomiarów hiperspektralnych w termicznej podczerwieni do zastosowań związanych z badaniem gazów. W ramach wsparcia dla Hypercam, opracowywany jest zestaw algorytmów przetwarzania danych obrazowania hiperspektralnego, które pozwalają na wykrywanie, identyfikację i kwantyfikację gazów w czasie rzeczywistym. Jesienią 2020 r. platforma Hyper-Cam-LW Airborne została umieszczona nad zatwierdzonym systemem uwalniania gazu SF6 w celu zebrania danych hiperspektralnych do analizy kwantyfikacji gazu. Ta kampania pomiarowa została przeprowadzona w celu udokumentowania wydajności możliwości kwantyfikacji gazu Hyper-Cam w odniesieniu do znanych ilości uwolnionego gazu. * Q 8 $ % ( $ / $ 8 $ 8 $ % _$ % %

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


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

Mariusz Kastek, PhD

Benjamin Saute, PhD

' % ORCID: 0000-0001-7184-5228

8 ' ORCID: 0000-0003-1200-4132

. ( % E G J E " E H ( K)>> L )>>-$ 8 E " E H ( Q 8 % E % E +!!+ Q % 8 E 8 % E % $ ( % % ( % E % % . % = E -! 8 Q E 0 E # = E " E H (

B % 6 J = E E 9 % 0 % % % % E P E % ( % % = % ( ( b B 8 H E ; % . = G ( $ ( % EE = ( $ E % ( $ % ( %

Martin Lariviere-Bastien, PhD

Jean-Philippe Gagnon, MSc

=8 ' ORCID: 0000-0003-0278-9431

? = ( ( ' ORCID: 0000-0003-3429-1523

" I g =B % " T = 6 % 6 J 0 = ( ( E h I Q H ( = E % ( ( ; = E K;H L Q % % ( E % ( % 8 E ;H ( E % $ % E % b = E E 8 E ;H

? =6 R ( % j % ( % % H +!!< $ ? =6 8 % % E E E % % E % ( . E % $ ? =6 J E % I 8 $ 0 % I 8 % 9 % % E ( % % EE % ( E " $ E ( H j % = ( b E E % E k E =( (

Krzysztof Firmanty, PhD

Daniel Pawelski, Eng

E E ' % ORCID: 0000-0002-9124-6561

8 ' ORCID: 0000-0003-2866-0011

. ( % E G J E " E H ( K)>> L )>> $ 8 E " E H ( Q 8 % E % E +!! Q % 8 E 8 % E % $ ( % % ( % E % % . % = E *! 8 Q E 0 E # = E " E H (

. ( % K+!!<L E ; E G $ H % 0 E E R% _ E H ( J 6 = +! E P % ( % E % E E % E % % = Q 8 % = % E E % $ $ % 8 % ( % $ E % E % .0 = ( ( % ( (

41


NR 3/2015

42

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 43–50, DOI: 10.14313/PAR_241/43

M ( [ ( %F .Y * + # ' . / A . % H $ 0 # $ % H 6 % H $ ( M ( +$ !!=>!S A &*

Tematem artykułu jest ocena skuteczności opracowanego czujnika przeznaczonego do wspomagania nawigacji bezzałogowych statków powietrznych (BSP). Jego działanie opiera się na przetwarzaniu obrazów pozyskiwanych z kamery termowizyjnej pracującej w paśmie długofalowej podczerwieni (LWIR) umieszczonej pod podwoziem pojazdu. Przemieszczenie przestrzenne pojazdu określane jest poprzez analizę ruchu charakterystycznych punktów promieniowania cieplnego (grunt, las, budynki itp.) na zdjęciach uzyskanych za pomocą kamery termowizyjnej. Zakres i kierunek przemieszczenia uzyskuje się poprzez przetwarzanie strumienia kolejnych obrazów za pomocą algorytmu opartego na przepływie optycznym wyznaczanym w czasie rzeczywistym. Analiza rozkładu promieniowania pozwala na obliczenie wektora translacji kamery w przestrzeni. Zaletami systemów pomiarowych opartych na analizie obrazu termicznego, w porównaniu z tradycyjnymi inercyjnymi czujnikami nawigacyjnymi, jest brak efektu dryftu, odporność na zmiany pola magnetycznego, mała podatność na zakłócenia elektromagnetyczne oraz na zmiany warunków atmosferycznych. W przeciwieństwie do czujników czułych na światło widzialne, czujnik termowizyjny oferuje pracę w całkowitej ciemności (noce o złej pogodzie i w pomieszczeniach). 0 % & # % Q $ ( $ 8 $ 8 $ .Y$

Z< 8 % # Czujnikami nawigacyjnymi dla pojazdów bezzałogowych obecnie są czujniki GPS, barometryczne, akcelerometry i żyroskopy. Czujniki, które czerpią informacje o położeniu z ruchu względnego, przyspieszenia lub momentu pędu, są nazywane czujnikami bezwładnościowymi. Okazuje się jednak, że powszechnie instalowane na pojazdach typu BSP kamery mogą być również bogatym źródłem informacji o ruchu względnym pojazdu, na którym są zainstalowane. Coraz powszechniejsze są czujniki świadomości sytuacyjnej, przeznaczone do wykrywania przeszkód i unikania kolizji [4]. Takie systemy są często tworzone przy użyciu algorytmów przetwarzania obrazu i uczenia maszynowego do analizy sygnału z kamer stereoskopowych. Czujniki wizyjne dostarczają dodatkowych informacji do systemu nawigacyjnego, zwiększając w ten sposób precyzję szacowania pozycji BSP. Takie systemy często wykorzystują kamery pracujące w widzialnej części widma promieniowania elektromagnetycznego. Jednym z pierwszych udanych wdrożeń takiego czujnika

jest PX4FLOW [5]. Termowizyjny, inercyjny czujnik opracowywany w Wojskowej Akademii Technicznej, to nowy typ czujnika pozycjonującego, który ma na celu nie tylko zwiększenie dokładności i niezawodności systemu nawigacyjnego, ale dodatkowo umożliwi akwizycję obrazów termowizyjnych jako danych uzupełniających świadomość sytuacyjną. Obrazowanie termowizyjne umożliwia nawigację w całkowitej ciemności, trudnych warunkach pogodowych lub w pomieszczeniach. Dodatkowe informacje wizualne mogą zwiększyć niezawodność systemu wykrywania przeszkód i nawigacji. Szkic koncepcyjny opracowanego czujnika zainstalowanego na BSP pokazano na rys. 1. Niezależnie od użytego źródła obrazu, możliwe jest wyodrębnienie ruchu punktów na obrazie za pomocą algorytmów przepływu optycznego. Pole wektorowe zawierające informacje

& -/ Q

R ( B %$ ( ( 8 %' % & 0 # % % !> !- +!+) $ % % )S !S +!+)

!

Rys. 1. Koncepcja czujnika inercyjnego opracowanego w ramach projektu Fig. 1. Concept image of motion flow camera on the drone

43


$ $ ) $ _

" ) P Z h

o ruchu nazywane jest polem ruchu. Pole ruchu jest tworzone przez rzutowanie trójwymiarowego pola wektorowego prędkości na płaszczyznę obrazu. Niech p = [x, y, z) będzie punktem w przestrzeni obiektu kamery, oś optyczna będzie osią z, a f oznacza ogniskową obiektywu kamery. Środek rzutowania wyznacza punkt przecięcia osi optycznej z główną płaszczyzną obrazu (lub tylnym punktem węzłowym). Projekcja p’ = [x’, y’, z’) punktu p na ognisku dana jest wzorem:

Części obrotowe nie są zależne od współrzędnej Z, a zatem prędkość kątowa nie zawiera informacji o głębokości sceny. Składowe translacyjne w (6) i (7) są skalowane w zależności od wartości ogniskowej obiektywu oraz wraz z aktualną odległością (współrzędna Z) od sceny, co wynika z zależności (3). Jeśli znana jest odległość Z (np. z barometru lub dalmierza) oraz znana i skompensowana prędkość obrotowa, można obliczyć prędkość translacyjną w skali rzeczywistej ze wzoru: Vm = v ′

p′ p fp = → p′ = f z z

(1)

(2)

gdzie: K – wewnętrzne parametry kamery, T – macierz transformacji perspektywy kamery, M – macierz transformacji geometrii. Równanie transformacji perspektywicznej daje wynik trójwymiarowy. Aby otrzymać położenie na płaszczyźnie obrazu należy zredukować składową z i obliczyć składowe x, y równaniami: x′ →

px′ , pz′

y′ →

py′

(3)

pz′

Macierz transformacji geometrii M może być uwzględniona w macierzach transformacji różnych typów ruchu, które mogą być użyte do modelowania ruchów kamery, takich jak śledzenie i wyginanie przez translację równoległą do płaszczyzny obrazu, obrót przez translację w płaszczyźnie normalnej do płaszczyzny obrazu, toczenie się, obracanie wokół osi obrazu oraz pochylanie przez obracanie w dwóch innych osiach. Nie wszystkie ruchy muszą być uwzględniane w czujniku nawigacyjnym, skuteczność wspomagania nawigacji jest możliwa nawet dla czujnika wyznaczającego jedynie translację jak to opisano w [8], gdzie uwzględniono jedynie przesunięcie w płaszczyźnie równoległej do podłoża. W takim przypadku ruch względny kamery i punktu p sprowadza się do: v = –vT – wp

S< = # % # . Detektory podczerwieni mają o wiele niższe rozdzielczości i cechują się złożoną konstrukcją w porównaniu do tych stosowanych w fotografii. Wymagają stosowania specjalistycznych i nietypowych metod przetwarzania obrazu w celu uzyskania dobrej jakości termogramu. Dodatkowo na podstawie otrzymanego obrazu należy przeprowadzić wnioskowanie na temat względnych przesunięć pojazdu, na którym owa kamera się znajduje. Takie dane są zbierane w dronie przez system obliczeniowy autopilota i są uwzględniane wraz z danymi z innych typów czujników do wiarygodnego wyznaczenia położenia pojazdu. Następuje tu tzw. synteza danych w systemie wieloczujnikowym, z uwzględnieniem jakości i wiarygodności danych z każdego czujnika z osobna. W kamerze termowizyjnej wysokiej rozdzielczości będącej kluczowym elementem czujnika inercyjnego zastosowano moduł matrycy detektorów mikrobolometrycznych o wymiarach 640 × 480, która może być w całości odczytywana 60 razy na sekundę. System przetwarzania danych z takiej matrycy musi przetworzyć 640 × 480 × 60 = 18 432 000 odczytanych wartości sygnału z matrycy na sekundę. System obliczeniowy zintegrowany z modułem sensora termowizyjnego został zaprezentowany na rys. 2.

(4)

gdzie w = [wx, wy, wz) jest prędkością kątową, a vT = [vTx, vTy, vTz) składową translacyjną ruchu. Obliczenie pochodnej po czasie obu stron równania (1) prowadzi do związku między prędkością w ramce odniesienia kamery a prędkością przepływu p’ w płaszczyźnie obrazu: dp ′ =f v′ = dt

z

dp dz − p dt dt = f zv − vz p = ⎡v ′ , v ′ , v ′ ⎣ x y z z2 z2

)

(5)

Składowe x i y pola ruchu po podstawieniu (5) i uwzględnieniu geometrii płaszczyzny obrazu (4) można zapisać jako: vx′ = vy′ =

44

ω x xy − ωy x 2 vTz x − vTx f − ωy f + ω z y + z f vTz y − vTy f z

P

− ωx f + ωz x +

O

M

I

A

(6)

ω xy 2 − ωy xy

(7)

f

R

Y

A

U

T

O

M

(8)

Przedstawione obliczenia są prawidłowe, jeśli odległość od sceny jest stała w polu widzenia. Sytuacja taka jest typowa dla większości misji pojazdu latającego, o ile kamera jest skierowana prostopadle do podłoża. W przeprowadzonym eksperymencie zastosowano obiektyw podczerwieni o ogniskowej 19 mm dostosowanej do pracy z matrycą o rozmiarze 640 oraz rozmiarze detektora 12. Wnioskowanie o położeniu kamery jest możliwe tylko przy zadanym ruchu obserwowanej sceny w płaszczyźnie obrazu. Prędkość obiektów na płaszczyźnie obrazu można określić za pomocą metod przepływu optycznego, gdzie jest ona wyprowadzana z przemieszczenia obrazu do obrazu w czasie. Podstawowe podejście do estymacji prędkości uwzględnia analizę dwóch kolejnych ramek, gdzie ramka przeszła jest traktowana jako ramka odniesienia. W kamerze o stałej szybkości generowania klatek obrazu, takiej jak mikrobolometryczna kamera termowizyjna, można założyć stały odstęp między ramkami, o ile moc obliczeniowa systemu jest wystarczająca do przeprowadzenia wszystkich obliczeń w czasie mniejszym niż ten odstęp. W przeciwnym przypadku mogą nastąpić straty ramek obrazu i odstęp między kolejnymi analizowanymi obrazami będzie odpowiednio zwielokrotniony. W przyjętym rozwiązaniu czas między ramkami jest sprawdzany dzięki zaimplementowanemu mechanizmowi numerowania ramek. Dzięki temu w przypadku chwilowego spadku wydajności systemu obliczeniowego, algorytm wyznaczania dynamiki ruchu uwzględnia dodatkowy odstęp czasowy wynikający z utraconych ramek obrazu.

Ponieważ długość ogniskowej f jest odległością od głównej płaszczyzny obrazu do płaszczyzny obrazu, trzecia współrzędna p’ jest stała: p’ = [x’, y’, f). Zakładając klasyczny perspektywiczny model kamery, transformację można modelować równaniem macierzowym: p’ = K·T·M·p

z f

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% % $ * ,

autorski układ pracujący w architekturze pipeline i powoduje opóźnienie w torze przetwarzania danych wynoszące sumarycznie dwie linie obrazu i 11 cykli zegarowych. Opóźnienie rzędu 150 μs ma znikome znaczenie w zadaniu nawigacji inercyjnej. Specjalizowany układ DMA przekazuje strumień danych do dalszego przetwarzania do pamięci dostępnej dla systemu mikroprocesorowego i synchronizuje przepływ danych między strumieniem obrazowym i oprogramowaniem procesora dzięki mechanizmowi sprzętowego przerwania i odpowiedniej jego obsługi w specjalnie napisanym sterowniku pracującym pod kontrolą jądra systemu Linux. Dalej przedstawiono kluczowe etapy przetwarzania danych niezbędne do realizacji zadania nawigacji za pomocą czujnika obrazowego z zastosowaniem czujnika podczerwieni.

S<Z< 9 & -

- +

Rys. 2. Układ obliczeniowy zintegrowany z termowizyjnym modułem sensorowym Fig. 2. Computing system integrated with the thermal imaging sensor module

W celu przeprowadzenia obliczeń związanych z przetwarzaniem obrazu skonstruowano hybrydowy system obliczeniowy składający się ze specjalizowanych układów zaimplementowanych w strukturze układu FPGA oraz z mikroprocesora zgodnie z opracowaną autorską architekturą systemu przetwarzania obrazu w czasie rzeczywistym [1]. System opracowano w układzie typu Cyclone V SoC-FPGA firmy Intel. Część związana z przetwarzaniem sygnału z matrycy mikrobolometrycznej na użyteczny obraz termowizyjny został w całości zrealizowany w części FPGA układu scalonego. Część związana z realizacją algorytmu wyznaczania przepływu optycznego i wyznaczania wektora przesunięcia pojazdu została zrealizowana w części mikroprocesorowej układu w postaci programu pracującego pod kontrolą systemu Linux. Połączenie umożliwiające wymianę danych między częścią osadzoną w układzie FPGA a mikroprocesorem zostało zrealizowane za pomocą specjalizowanego układu DMA do transmisji sygnałów obrazowych. System do cyfrowego przetwarzania obrazu w kamerze wysokiej rozdzielczości wykonuje następujące zadania przygotowujące obraz do wyznaczania przepływu optycznego: − cyfrowa korekcja niejednorodności charakterystyk detektorów, − zastąpienie sygnałów z wadliwych detektorów w matrycy, − filtracja obrazu w celu uwydatnienia istotnych cech obiektów na obrazie termowizyjnym, − skalowanie obrazu, − kompresja dynamiki sygnału, − przekształcenie jednopunktowe w celu przygotowania do dalszego przetwarzania lub zobrazowania. Powyższe operacje są wykonywane w specjalizowanym układzie cyfrowego przetwarzania danych zrealizowanym w układzie FPGA. Operacje są realizowane przez opracowany

Mikrobolometryczne FPA i detektory fotonowe charakteryzują się niepożądaną niejednorodnością odpowiedzi detektora pobudzonego jednorodnym promieniowaniem optycznym. Przyczyną tych odchyleń są niedoskonałości poszczególnych detektorów i układu odczytowego, wynikające z procesu technologicznego. Niewielkie różnice w parametrach detektora, wynikające z rozrzutu technologicznego, powodują powstanie losowej niejednorodności odpowiedzi detektora na jednorodne promieniowanie [10]. Tolerancje produkcyjne ślepego bolometru i wzmacniacza całkującego powodują powstanie charakterystycznego wzoru kolumnowego. Z powodu różnych niedoskonałości w matrycy detektorów, kamera na podczerwień wytwarza niejednolity obraz z nałożonym stałym wzorem szumu (FPN), nawet gdy oświetlone jest jednorodnym promieniowaniem podczerwonym. Należy więc zastosować w kamerze termowizyjnej tzw. algorytm korekcji niejednorodności. W prezentowanym rozwiązaniu zastosowano dwupunktową korekcję niejednorodności (TPNUC [10]) oraz specjalizowany moduł obliczeniowy zrealizowany w układzie FPGA pracujący w czasie rzeczywistym, służący do obliczenia wyników korekcji sygnału z matrycy. Współczynniki korekcyjne nachylenia charakterystyki (Gain) są stałe dla urządzenia i danego egzemplarza matrycy i są wyznaczone na stanowisku laboratoryjnym z dwoma referencyjnymi ciałami czarnymi. Natomiast współczynniki przesunięcia (offsetu) są wyznaczane za każdym razem, gdy pojazd BSP startuje i są one wyznaczane na podstawie jednorodnego promieniowania specjalnie przygotowanej powierzchni lądowiska, z której startuje pojazd BSP.

S<S< 6 % 0 % % . & W urządzeniu zastosowano metodę usuwania sygnału z wadliwych detektorów [11] i polegającą na zastąpieniu sygnału wadliwego detektora sygnałem detektora, który był odczytany bezpośrednio przed nim. Takie rozwiązanie zrealizowane w układzie FPGA ma najmniejsze możliwe opóźnienie przetwarzania danych (dokładnie jeden cykl zegarowy) i zużywa najmniejszą ilość zasobów (wymaga zastosowania jednego rejestru pamiętającego na każdy bit szerokości magistrali danych) spośród stosowanych metod usuwania wadliwych pikseli.

S<T< & % # Skalowanie obrazu zastosowane w urządzeniu powoduje dwukrotne zmniejszenie rozdzielczości przestrzennej obrazu. Zmniejszenie rozdzielczości obrazu jest wymagane w urządzeniu z dwóch powodów: zmniejszenia liczby danych do przetworzenia w układzie mikroprocesorowym oraz zwiększenia rozdzielczości termicznej urządzenia. Obliczona wartość piksela w obrazie poddanym skalowaniu wyliczana jest jako średnia z czterech pikseli obrazu pierwotnego. Ponieważ szum czasowy we wszystkich detektorach jest nieskorelowany, to w ten sposób

45


$ $ ) $ _

" ) P Z h

zgodnie z teorią uśredniania [7] stosunek sygnału do szumu zwiększa się dwukrotnie.

pomocą obliczana jest ostateczna wartość wektora ruchu. Rozwiązanie przyjęto wychodząc z założenia, że wektory ruchu będą wyznaczane dla fragmentów obrazu prezentujących największy kontrast oraz dla takich sekwencji ruchu, które powodują największą zmianę w obrazie. Obraz różnicowy służący do eliminacji niewiarygodnych danych jest obliczany za pomocą wzoru (9), a obliczony w ten sposób przykładowy obraz został zaprezentowany na rys. 4.

S<U< # 0 % # W urządzeniu do wyznaczania przepływu optycznego w obrazie zastosowano algorytm Farnebacka oraz implementację tego algorytmu występującą w udostępnionej publicznie bibliotece OpenCV [3]. Metoda Farnebacka polega na lokalnej aproksymacji obrazu odniesienia oraz aktualnie analizowanego za pomocą odpowiednich dwuwymiarowych wielomianów trzeciego stopnia, a następnie analitycznym obliczeniu przesunięcia między funkcjami wielomianowymi. Lokalne aproksymacje są dokonywane dla otoczenia każdego piksela na obrazie. W wyniku przeprowadzenia obliczeń metodą Farnebacka powstaje tak zwane gęste pole wektorowe przepływu optycznego, to znaczy, dla każdego piksela w obrazie przypisany jest dokładnie jeden wektor przesunięcia. Przykładowe pole wektorowe uzyskane dla obrazu termowizyjnego z czujnika inercyjnego zainstalowanego na pojeździe latającym zaprezentowano na rys. 3.

d(x, y) = |ft(x, y) – ft+Δt(x, y)|

(9)

Przykładowy obraz, na którym zaprezentowano efekt filtracji pola wektorowego względem obrazu różnicowego zaprezentowano na rys. 5. Trajektoria pojazdu składa się z sekwencji wyznaczonych wektorów przesunięcia pojazdu. Rzeczywiste przesunięcie pojazdu, uwzględniając niezbędną do obliczeń wysokość, na której znajduje się pojazd, wyznaczane jest w module sterującym pracą drona. Wyznaczoną tą metodą trajektorię zaprezentowano na rys. 6. Oprogramowanie do przetwarzania danych jest zaprojektowane w postaci zbioru programów pracujących pod kontrolą systemu Linux i napisane w sposób uniwersalny, pozwalający na pracę na systemie wbudowanym SoC-FPGA lub w serwerze

Rys. 3. Wyznaczone pole wektorowe metodą Farnebecka dla wybranej ramki obrazu z sekwencji obrazów termowizyjnych Fig. 3. Determined vector field using the Farnebeck method for a selected image frame from an infrared image sequence Rys. 4. Obraz różnicowy wyznaczony dla dwóch kolejnych ramek obrazu termowizyjnego wyznaczony według wzoru (9) Fig. 4. The differential image determined for two consecutive frames of the thermal image determined according to the formula (9)

Praktycznie wykonane pomiary przesunięć obiektów na obrazie charakteryzują się zróżnicowaną i zależną od czasu i przestrzeni dokładnością spowodowaną szumami na obrazie i fragmentami obrazu o jednorodnej temperaturze, gdzie znalezienie charakterystycznych cech obiektów jest niemożliwe. W tego typu obszarach wykrycie ruchu obarczone jest dużym błędem. W urządzeniu opracowano specjalną technikę filtracji danych pomiarowych, która dokonywana jest na etapie syntezy informacji, prowadzącej do wyznaczania trajektorii z pola wektorowego.

S<V< 8 # # - & W celu wyznaczenia danych nawigacyjnych niezbędne jest dokonanie syntezy informacji, w wyniku której powinno uzyskać się jeden wektor przesunięcia całego obrazu z ramki na ramkę. W teoretycznym przypadku wyznaczenie przesunięcia całego obrazu sprowadzałoby się do wyznaczenia wartości średniej wektorów przesunięcia z całego obrazu [2]. W rzeczywistym obrazie konieczna jest jednak dodatkowa procedura pozwalająca na eliminację nieprawidłowo wyznaczonych przesunięć obrazu, na przykład w miejscach, w których obraz jest zbyt jednolity lub zaszumiony. W opisanym rozwiązaniu zastosowano mapę absolutnych różnic między obrazami, pełniącą funkcję wagi, dyskryminującą wiarygodne punkty danych od danych niewiarygodnych. Za jej

46

P

O

M

I

A

R

Y

A

U

T

O

M

Rys. 5. Zaznaczone wektory ruchu uwzględnione do obliczenia całkowitego przesunięcia pojazdu Fig. 5. Marked motion vectors taken into account in the calculation of the total vehicle displacement

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% % $ * ,

obliczenia wysokości lotu. Układ kontrolera pobiera z układu nawigacyjnego lub zdalnego sterowania informacje o wymuszonej pozycji oraz o szacowanym stanie chwilowym platformy latającej. Zadaniem kontrolera jest dopasowanie wartości chwilowego stanu platformy do wartości wymuszenia z ustaloną dokładnością. Wartością wyjściową z kontrolera jest wartość korekcji potrzebnej do osiągnięcia stanu wymuszonego. Mikser pobiera informacje o korekcji z układu kontrolera i tłumaczy je na sygnały dostosowane do układu wykonawczego, oraz dba o to by wartości wymuszeń nie przekraczały wartości granicznych. W przypadku platform latających są to najczęściej sygnały z modulacją szerokości impulsów, sterujące prędkością obrotów poszczególnych silników. Dynamika wartości poszczególnych sygnałów jest zależna od układu silników względem środka ciężkości platformy i momentu bezwładności całej konstrukcji. Skonstruowany czujnik termowizyjny za pomocą interfejsu I2C wysyła do kontrolera lotu dane na temat względnych przesunięć obrazu, natomiast kontroler przetwarza te dane z uwzględnieniem, znanej z syntezy danych z innych czujników, wysokości drona, a następnie uwzględnia obliczone przesunięcie względne w module syntezy danych dynamicznych, zrealizowanym za pomocą Rozszerzonego Filtru Kalmana (EKF).

Rys. 6. Trajektoria pojazdu UAV wyznaczona z sekwencji obrazów zarejestrowanych za pomocą czujnika zainstalowanego na pojeździe Fig. 6. The trajectory of the UAV determined from the sequence of images recorded with the sensor installed on the vehicle

obliczeniowym w chmurze, w przypadku obliczeń on-line do celów szybkiego prototypownia i testowana rozwiązań algorytmicznych.

T< % Do budowy platformy testowej – pojazdu latającego BSP – zastosowano moduły realizujące oprogramowanie kontrolera lotu wykorzystujące otwarte źródłowe oprogramowanie PX4 [9]. PX4 składa się z trzech głównych warstw – stosu lotniczego, warstwy komunikacyjnej i warstwy sprzętowej (kontroler lotu). Oprogramowanie PX4 zostało wybrane ze względu na otwarto-źródłowy charakter oraz jego uniwersalność. Odpowiednio dostosowane może zostać użyte do kontroli różnego typu autonomicznych platform mobilnych jak latające, pływające, jeżdżące etc. Wszystkie typy pojazdów wspierane przez PX4 współdzieloną bazę programową, dzięki czemu funkcjonalność jest podzielona na wymienne moduły, połączone asynchronicznym systemem komunikacji. Moduły komunikują się ze sobą za pomocą magistrali μORB, przez co system jest reaktywny. Oznacza to, że jest asynchroniczny i aktualizuje swój stan, kiedy tylko dostępne są nowe dane z urządzeń pomiarowych. Wszystkie funkcje i komunikacja odbywają się równolegle. Taka architektura umożliwia wymianę poszczególnych modułów, niekiedy nawet w czasie działania systemu. Dzięki dostosowaniu projektowanego czujnika do modularnego systemu PX4 możliwe jest zastosowanie go nie tylko na platformach latających. W układzie kontrolera lotu występuje moduł szacujący pozycję i stan dynamiczny pojazdu na podstawie danych z czujników zintegrowanych w kontrolerze lotu lub z czujników peryferyjnych. Następuje tu synteza danych gdzie na przykład dane z akcelerometrów, barometru i lidaru służą jednocześnie do

Rys. 7. Czujnik zainstalowany na dronie w trakcie przygotowania do lotu Fig. 7. The sensor is installed on the drone during preparation for flight

Kontroler lotu PX4 dostarcza za pomocą systemu telemetrii danych z każdego czujnika zainstalowanego w systemie oraz wyniki wyznaczania pozycji. Dzięki temu w łatwy sposób można porównać jakość sygnału nawigacyjnego pochodzącego z zaprojektowanego czujnika z innymi elementami nawigacyjnymi systemu. Podłączony do systemu czujnik (zaprezentowany na rysunku 7) dostarczał informacji o pozycji z częstotliwością 15 Hz. Częstotliwość żądań pozycji z kontrolera lotu była niższa niż częstotliwość pracy układu analizy obrazu termowizyjnego, układ czujnika nawigacyjnego działał jednak na zasadzie akumulacji wyników i w momencie żądania odczytu pozycji zwracał skumulowaną wartość wyliczoną z całego okresu między zapytaniami. Dane służyły do przeprowadzenia analizy porównawczej z danymi uzyskanymi z precyzyjnego układu A-GPS bazującym na zintegrowanym wielosystemowym odbiorniku typu ZED-F9P firmy U-Blox osiągającym dokładność do 1 cm działając w trybie różnicowym z zastosowaniem referencyjnej nieruchomej stacji bazowej [6].

U< # . % & Zebrane przez system telemetryczny dane posłużyły następnie do analizy porównawczej pozwalając na ocenę dokładności

47


$ $ ) $ _

" ) P Z h

# *& %

skonstruowanego czujnika inercyjnego. Na rysunku 8 zaprezentowano zarejestrowane trajektorie lotu z dwóch czujników nawigacyjnych: GPS (kolorem niebieskim) i zaprojektowanego (kolorem czerwonym). Trasa lotu obejmującego obwód obszaru prostokątny o wymiarach około 12 m × 8 m została poprawnie odwzorowana zarówno przez czujnik GPS jak i skonstruowane urządzenie. Przykładowa trasa obejmowała lot trwający około 2 minut. Do analizy porównawczej wybrano fragment trasy, w którym pojazd znajdował się na wysokości ok 6 metrów. Pominięto fragmenty rejestracji obejmujące wznoszenie i lądowanie, gdyż poniżej wysokości 3 m kamera termowizyjna nie była w stanie ostro zobrazować szczegółów obserwowanego

Projekt jest rozwijany w ramach pracy naukowej finansowanej przez Narodowe Centrum Badań i Rozwoju w ramach projektu nr DOB-2P/02/09/2017.

[ 1. Bieszczad G., SoC-FPGA Embedded System for Real-Time Thermal Image Processing. Proceedings of the 23rd International Conference Mixed Design of Integrated Circuits and Systems, MIXDES 2016, 469–473, DOI: 10.1109/MIXDES.2016.7529788. 2. Bieszczad G.T., Gogler S., Krupiński M., Ligienza A., Sawicki K., The Concept of Thermovision Sensor Supporting the Navigation of Unmanned Aerial Platforms. “Measurement Automation Monitoring”, Vol. 65, No.1, 2019, 15–18. 3. Farnebäck, Gunnar. 2003. “Two-Frame Motion Estimation Based on Polynomial Expansion.” In Proceedings of the 13th Scandinavian Conference on Image Analysis, 363–70. SCIA’03. Berlin, Heidelberg: Springer-Verlag. 4. Gageik, Nils, Paul Benz, and Sergio Montenegro. 2015. “Obstacle Detection and Collision Avoidance for a UAV with Complementary Low-Cost Sensors.” IEEE Access 3: 599–609, DOI: 10.1109/ACCESS.2015.2432455. 5. Honegger D., Lorenz M., Tanskanen P., Pollefeys M., An Open Source and Open Hardware Embedded Metric Optical Flow CMOS Camera for Indoor and Outdoor Applications. Proceedings of the IEEE International Conference on Robotics and Automation, May 2013, 1736–1741, DOI: 10.1109/ICRA.2013.6630805. 6. U-Blox.com. [www.u-blox.com/en/product/zed-f9pmodule]. 7. Lyons R.G. Understanding Digital Signal Processing. Pearson Education International, 2013. 8. Meier L., Dynamic Robot Architecture for Robust Realtime Computer Vision. PhD thesis, 2017, ETH Zurich. 9. Meier L., Honegger D., Pollefeys M., Px4: A Node-Based Multithreaded Open Source Robotics Framework for Deeply Embedded Platforms. [In:] IEEE International Conference on Robotics and Automation (ICRA), 2015, 6235–6240, DOI: 10.1109/ICRA.2015.7140074. 10. Perry D.L, Dereniak E.L., Linear Theory of Nonuniformity Correction in Infrared Staring Sensors. “Optical Engineering”, Vol. 32, No. 8, 1993, 1854–1859, DOI: 10.1117/12.145601. 11. Sosnowski T., Bieszczad G., Kastek M., Madura H., Digital image processing in high resolution infrared camera with use of programmable logic device. [In:] Optics and Photonics for Counterterrorism and Crime Fighting VI and Optical Materials in Defence Systems Technology VII, 2010, 266–276. International Society for Optics; Photonics; SPIE. DOI: 10.1117/12.865026.

Rys. 8. Przykładowa ścieżka lotu wyznaczona w module GPS oraz w prezentowanym module Nawigacji analizującej obraz termowizyjny Fig. 8. An exemplary flight path determined in the GPS module and in the presented module that analyzes the thermal image

terenu z powodu ograniczeń głębi ostrości. Maksymalna różnica w wyznaczonej pozycji przekraczała 1 m, szczególnie w momentach zmiany kierunku lotu, gdy występowały silne przechyły pojazdu. Średnio jednak różnica w wyznaczeniu pozycji trasy zawierała się w zakresie 25 cm RMS. Zaprezentowana metoda nawigacji z zastosowaniem techniki analizy przepływu optycznego pozwala na wspomaganie nawigacji pojazdu latającego w warunkach ograniczonego dostępu do systemu GPS. Zastosowanie czujnika termowizyjnego umożliwia pracę takiego czujnika w warunkach ograniczonej widoczności lub zupełnej ciemności. Przeprowadzono integrację czujnika z otwarto-źródłowym systemem sterowania dronem PX4, co pozwoliło na przetestowanie rozwiązania w warunkach rzeczywistych. Integracja z systemem nawigacyjnym drona pozwoliła na bezpośrednie porównanie wiarygodności pozyskiwanej z niego informacji nawigacyjnej z opracowanego czujnika z istniejącymi systemami nawigacji inercyjnej i bezwzględnej jak GPS. Przeprowadzone badania porównawcze wykazały średnio-kwadratową dokładność czujnika rzędu 25 cm względem nawigacji GPS. Opracowany czujnik wyposażono w interfejs oraz oprogramowano w sposób pozwalający na komunikację z systemem PX4 i łatwą integrację czujnika z systemami nawigacji w dronach. Dalsze prace nad czujnikiem mogą obejmować miniaturyzację czujnika oraz zwiększenie czułości i szybkości modułu detekcyjnego.

48

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% % $ * ,

H 0 ( ( ( T ( E .Y The topic of this paper is an evaluation of developed sensor intended for navigation aid of unmanned aerial vehicles (UAVs). Its operation is based on processing images acquired with a thermal camera operating in the long-wave infrared band (LWIR) placed underneath a vehicle’s chassis. The vehicle’s spatial displacement is determined by analyzing movement of characteristic thermal radiation points (ground, forest, buildings, etc.) in pictures acquired by the thermal camera. Magnitude and direction of displacement is obtained by processing the stream of consecutive pictures with optical-flow based algorithm in real time. Radiation distribution analysis allows to calculate camera’s self-translation vector. Advantages of measuring translation based on thermal image analysis is lack of drift effect, resistance to magnetic field variations, low susceptibility to electromagnetic interference and change in weather conditions as compared to traditional inertial navigation sensors. As opposed to visible light situational awareness sensors, it offers operation in complete darkness (harsh weather, nights and indoors).The topic of this paper is an evaluation of developed sensor intended for navigation aid of unmanned aerial vehicles (UAVs). Its operation is based on processing images acquired from a thermal camera operating in the longwave infrared band (LWIR) placed underneath a vehicle’s chassis. The vehicle’s spatial displacement is determined by analyzing movement of characteristic thermal radiation points (ground, forest, buildings, etc.) in pictures acquired by the thermal camera. Magnitude and direction of displacement is obtained by processing the stream of consecutive pictures with optical-flow based algorithm in real time. Radiation distribution analysis allows to calculate camera’s self-translation vector. Advantages of measuring translation based on thermal image analysis is lack of drift effect, resistance to magnetic field variations, low susceptibility to electromagnetic interference and change in weather conditions as compared to traditional inertial navigation sensors. As opposed to visible light situational awareness sensors, it offers operation in complete darkness (harsh weather, nights and indoors). KeywordsQ ( ($ ( $ ( $ ( ($ .Y$ E

($

($ * + #

( ( 8 %' % ORCID: 0000-0001-8048-2609

E ' % ORCID: 0000-0002-1368-3854

_ +!!S A [ . % H = [ A % G _ % +!)+ #8 ( %= [ = F E $ ( = F %F ;6R. [ E = 8 $ 8 F

_ A % G A . % = H +!!> X % ( ( E 8 = % 8 A.H +!)> X ( = [ 8 = % $ 8 _ E = $ ( ( E 8 %

49


$ $ ) $ _

" ) P Z h

($ '

' ($ .

( ( ' % ORCID: 0000-0002-3002-6362

% ( ' % ORCID: 0000-0002-5789-8531

_ 6 A [ +!)) A % " A +!+! % A . % = H ( % = %F % = =E

H Z +!)& _ = [ Z = F H ( = +!)* _ [ Z = F A +!)S 8 [ = ( Z % H = 6 % H 0 # A.H

/ ' % % ORCID: 0000-0002-0079-1960 % A % G A . = % H ? ( % = [ E % 8 = ;J"

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


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 51–56, DOI: 10.14313/PAR_241/51

6 8 E . J H ( " % % " % Antoni Nowakowski R% _ E H ( $ J E B % G ( ($ ))@)+ R 8 T $ S!=+ R% _ $ 6 %

Abstract: Reliability of thermographic diagnostics in medicine is an important practical problem. In the field of static thermography, a great deal of effort has been made to define the conditions for thermographic measurements, which is now the golden standard for such research. In recent years, there are more and more reports on dynamic tests with external stimulation, such as Active Dynamic Thermography, Thermographic Signal Reconstruction or Thermal Tomography. The subject of this report is a discussion of the problems of standardization of dynamic tests, the choice of the method of thermal stimulation and the conditions determining the credibility of such tests in medical diagnostics. Typical methods of thermal stimulation are discussed, problems concerning accuracy and control of resulting distributions of temperature are commented. The best practices to get reliable conditions of measurements are summarized. 9 % Q % ( $ ( ( $ ( $ % $ % %

1. Introduction Infrared thermography has been used in medical diagnostics since the 1960s [1]. Its introduction to medical diagnostics aroused real enthusiasm as a non-contact and completely non-invasive method. However, after its initial success, it was subjected to severe criticism, because in the research and treatment of breast cancer it turned out that the method led to the false positive breast cancer diagnoses in the USA, which resulted in many unnecessary breast resections and, of course, great costs of damages, after lawsuits brought about by injured patients. Only after ca forty years, the introduction of new infrared imaging technologies and the commencement of work on standardization of research, there was an increase in interest in infrared diagnostics and a slow return to clinical trials, especially as a low-cost screening method. At the same time, since the nineties, technical methods of non-destructive infrared thermal imaging (NDTE) [2] have been developed, based on thermal models of the studied structures. Since the beginning of the 21st century, these methods have also been used in medical diagnostics, known as Active Dynamic Thermography – ADT, Thermographic Signal Reconstruction – TSR, or Thermal Tomography – TT [3–5]. There are no agreed conditions for conducting such tests in terms of the applied thermal stimulation, which is the subject of this publication.

& -/ Q

. T $ !<'( & 0 # % % )+ !- +!+) $ % % !< !S +!+)

!

S< #

% &

.

Defining and agreeing on the conditions of thermal research in medical diagnostics took several decades and led to the creation of so-called the golden standard [6, 7], which includes: − determining the conditions for preparing the patient for the tests – he or she should avoid taking stimulants and medications before the tests and taking up physical activities leading to the stimulation of the organism; the skin in the area of interest should be free from ointments, creams, etc.; a patient should be in the waiting or examination room at least 15 minutes before the test to stabilize the thermal conditions; areas of interest should be exposed during this time to achieve thermodynamic equilibrium; − specification of the technical conditions of the diagnostic equipment – the type of an infrared camera, the geometric resolution of the lens used, the thermal resolution of the measurement – at least 0.1 K; the position of a camera – perpendicular location, at least 0.5 m from the field of interest; scan frequency (the number of images recorded in a given period of time); − determination of climatic conditions – a test room temperature 18–23 °C (max. 25 °C), stabilized with an accuracy not worse than 1 °C; no ventilation and radiation sources and heaters that could affect the temperature of the examined areas of the patient’s body; constant and controlled humidity in the room; − databases and catalog of items of particular areas of interest of the patient’s body ROI were developed determining the conditions for storing and processing medical images [8]; unfortunately, the DICOM standard for thermal imaging has not yet been implemented! So far, no agreed guidelines have been defined in the diagnosis of a patient after using external thermal stimulation and analy-

51


Problems of Active Dynamic Thermography Measurement Standardization in Medicine sis of resulting transient processes. Thus, people using dynamic thermography methods practically apply developed diagnostic instrumentation and algorithms, obtain “some” results, but there are no agreed procedures allowing for reliable assessment of the applied approach. Theoretically, the problem comes down to the identification of parameters of the equivalent thermal model of a tested object defined at the Region of Interest – ROI. This was described in detail in the study of technical structures [2] and for some medical cases in [3–5]. Unfortunately, in medical diagnostics the problem is rather difficult, as the examined structures are complex and poorly defined; access to ROI is unilateral for measurements and excitation; the initial and boundary conditions necessary for solving the reconstruction procedures of equivalent thermal model parameters are usually unknown and additionally masked by biofeedback processes.

a)

b)

1 – Epidermis, 2 – Corium, 3 – Subcutaneous

T< =. c)

This problem is addressed anywhere, here basic information is taken from [5]. Thermal diagnostics requires analysis of thermal processes based on thermal models in correlation with physiological processes. Solution of so-called direct problem, determination of temperature distribution in time and space for assumed boundary conditions and known model parameters is possible for external thermal excitation. Having proper model one can compare the results of experiments and may try to solve the reverse problem. This responds to the question – what is the distribution of thermal properties in internal structure of a human body? Such knowledge may be directly used in clinical diagnostics if correlation of thermal and physiological properties is high. In biologic applications the direct problem requires solution of the heat flow in 3D space; the analysis is most frequently based on the Pennes [8] „biologic heat flow equation”:

Fig. 1. a) Anatomy of the skin [10] – depth of burn, b) three-layer structural model, c) equivalent thermo-electric model Rys. 1. a) Anatomia skóry [10] – głębokość oparzenia, b) trzy warstwy strukturalnego modelu termicznego – naskórek, skóra właściwa, warstwa podskórna, c) zastępczy model termo-elektryczny

(1)

where: T(x, y, z, t) – temperature distribution [K] at the moment t [s]; k – thermal conductivity [Wm-1K-1]; cp – specific heat [J⋅kg-1K-1]; r – material (tissue) density [kg⋅m-3]; qb [W⋅m-3] – heat power density delivered or dissipated by blood; qm – heat power density delivered by metabolism; qex – heat power density delivered by external sources.

Fig. 2. Electric circuit simulating thermal processes at the ROI surface, where U(x,y,t) voltage of a temperature value at a pixel x, y in time t; U – voltage sources representing ambient A, stimulation ST and body B temperature (boundary conditions), Ri – thermal resistances, Ci – thermal capacitances Rys. 2. Zastępczy obwód elektryczny symulujący procesy termiczne na badanej powierzchni, gdzie U(x,y,t) napięcie o wartości temperatury wybranego piksela x, y w momencie t; A – otoczenie o temperaturze UA, oporności termicznej RA i pojemności termicznej CA; UST – źródło pobudzenia cieplnego o temperaturze i rezystancji termicznej RST; trzywarstwowy model skóry RiCi i źródło temperatury wewnętrznej ciała UB o rezystancji termicznej RB

Generally, there are three approaches in analysis and solving of heat transfers to find distribution of temperature. The first one is analytic, known only for very simple structures of well define shapes, applicable in practice to get some estimates only. The second option is using numerical methods, usually based on FEM (finite element method). There are several commercial software packages broadly known and used for solving problems of heat flows, usually combining a mechanical part, including generator of a model mesh as well as modules solving specific thermal problems, as e.g., general mathematical programs – MATLAB or Mathematica. FEM methods allow solution of 3D heat flow problems in time. Functional variability of thermal properties and non-linear parametric description of tested objects may be easily taken into consideration. Unfortunately, there are basic limitations concerning the dimension of a problem to be solved (complexity and number of model elements), which should be taken into account from the point of view of the computational costs. The third solution, most practical is

52

P

O

M

I

A

R

Y

A

U

T

O

M

the use of equivalent electro-thermal models, as in Fig. 1 for skin burn as an example [5]. In medical diagnostics the practical question is solution of the reverse problem – reconstruction of model parameters. There are several conditions necessary for getting reliable results, what is here discussed for the model of the skin as an example (Fig. 2). It should be underline, that for normal static thermography in equilibrium the surface temperature distribution T(x,y,0) = U(x,y,0) depends only on boundary ambient temperature UA (typically around 20 °C), internal body temperature UB (typically around 37 °C), tissue properties distribution represented by nonlinear thermal resistances, and heat exchange conditions with environment (ambient) represented by RA – combining radiation heat

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Antoni Nowakowski exchange and air conduction. In fact, this situation is recorded by static thermography and interpreted in medical diagnostics. Use of the stimulation source UST allows to record thermal transiens represented by series of thermograms in time U(x, y, t) and reconstruct thermal capacitances and components of thermal resistances Ci and Ri. It should be underline, that while the excitation source is on and off the structure of the circuit is modified, resulting in different heat flows. Additionally, heating and cooling are changing boundary conditions and even structure parameters (e.g., thermal model dimensions) as the depth of heat penetration depends on the duration time of excitation. There are several methods of reconstructing the parameters of an equivalent thermal model after using external stimulations. Such procedures are described in more detail in the cited literature [3–5]. One of the first questions is heating or cooling? Another concern the shape of the stimulation and its parameters, duration or amplitude. In addition, there are a number of limitations with respect to patient safety and the reliability of the thermal response, due to existing physiological biological feedback mechanisms. The methods of identifying simple two or three-layer models represented by ADT and TSR parametric images are relatively easy reconstructed. The most frequently reconstructed are parameters of the equivalent exponential equation. The parameters to be determined are: constant temperature component T(x, y)s = T(x, y, 0) – temperature in steady state; coefficients representing increases or decreases of the temperature T and thermal time constants t. On this basis, the examined tissue can be quantitatively described by means of time constants and exponential terms

the defect will have deviations from this course. One can write the Fourier equation in the logarithmic domain [11] as: (4) where: Q – heat power density, e – effusivity. For the data space transformed in this way, one may adjust the data to the n-degree polynomial: ln[ΔT(x, y, t)] = a0 + a1ln[T(x, y, t)] + a2ln2[T(x, y, t)] + … + anlnn[T(x, y, t)]

(5)

where: ai – coefficients of the polynomial, n – order of the polynomial, T – temperature, t – time. Typically, the order of the polynomial is 4–5. As the last step of the procedure, the first and second derivatives of the parameter changes after time are determined. One practical problem should be underline in pulse thermography – the choice of excitation time should be carefully analysed! The simplest model of heat penetration shows, that so called heat diffusion length L is a function of material properties (a – tissue diffusivity) and time t, L = 2(at)1/2

(6)

what means that the excitation time should be chosen according to expected model depths, on the other hand this means, that equivalent thermal model may be changed with time excitation!

(2)

U< for the natural heating phase after switching off the cooling apparatus. The natural cooling phase after switching off the heating stimulation source is described by very similar equation (3) – note lack of the sign minus in the last component:

(3)

where: T(x, y, t) – temperature of the pixel (x, y) for the time t; ΔT(x, y)j – values of temperature changes caused by the excitation stimulus, time constants t(x, y)j. Formally both equations are described by the same symbols, but practically values of the parameters are different as heat flows are different for cooling and for heating, for both the excitation phase and for the recovery to equilibrium phase! Practically temperature transients at ROI are registered with limited accuracy and reconstruction of tested structure parameters based on series of thermographic images are limited. For a sufficient compliance of the model with the measured data, very often only two exponential components are determined, i.e. m = 2. The obtained measurement data from the thermographic camera is fitted to the exponential models described by the above equations using simplex, Levenberg-Marquardt or other matching algorithms (minimizing error functions). To improve the quality of fit to the replacement model, low-pass or median filtering can be used. Similarly, transient changes on the tissue surface can be characterized by the TSR (Thermographic Signal Reconstruction) method. The method assumes that the temperature changes for the area without defects should be consistent with the one-dimensional Fourier heat flow equation, and that the area above

The general concept of measurements performed in ADT, TT, TSR is shown in Fig. 3. First, steady state temperature distribution on the tested surface (ROI) is registered using the IR camera. The following step requires thermal excitation application to the diagnosed ROI and registration of temperature transients at the ROI surface, especially after switching off the excitation. An external thermal excitation source (heating or cooling) should be applied to a tested structure in fully controlled conditions.

Fig. 3. Block diagram of basic ADT/TSR/TT measurement procedure Rys. 3. Schemat blokowy pomiaru w ADT, TSR i TT

The control unit synchronizes the processes of excitation and registration. For pulsed excitation diagnostic measurements should be performed at the recovery phase to initial conditions after excitation is off. All data are stored in the Data Acquisition System for further computer analysis and model parameters determination. As in medicine one is dealing with living patients’ problems of unintentional movements, breezing etc. must be solved. This requires synchronization of following images, determination of the region of interest the same on all images in the series, even if the data are taken in different days, e.g., when studying wound healing processes; corrections of camera unintentional movement etc.

53


Problems of Active Dynamic Thermography Measurement Standardization in Medicine

Much more complicated is procedure of thermal tomography as in this case dimensions and material properties of 2D or 3D structural thermal models must be reconstructed. Typical tomography procedure of model parameter reconstruction is shown in Fig. 4. Thermal excitation (from a physical source as well as simulated for the assumed thermal model) is applied simultaneously to the tested structure and to its model. As the result thermal transients are registered at the surface of the object by the IR camera. In parallel the same process should be simulated for the model. For each pixel the registered temperature course is identified. The measurement results are compared with the simulated transient and if necessary, the thermal model is modified in iterative procedure to fit to experimental results. If the results of measurements and simulation are convergent the reconstruction procedure stops. With a great probability the model is representing the tested structure.

Usually, diagnostic instrumentation is equipped in proper software packages allowing easy manipulation and at least semiautomatic registration of images and data manipulation. ADT requirements are not easy as the simplest descriptive multi exponential models are applied. As the diagnostic descriptor mainly thermal time constants (τ1, τ2) are applied though the magnitude Ts (temperature gradients) are also of important diagnostic value. Such descriptors are strongly correlated to thermal equivalent model, e.g., the 3-layer structure described by thermal resistance Rth(1-3) and thermal capacitance Cth(1-3). The product Rth(1-3)Cth(1-3) is equivalent to thermal time constants.

Fig. 5. Block diagram of the stand for research with the method of active dynamic thermography Rys. 5. Schemat blokowy stanowiska do badań metodą aktywnej termografii dynamicznej

Fig. 4. Thermal Tomography procedure for reconstruction of a tested structure properties Rys. 4. Algorytm rekonstrukcji parametrów badanej struktury w procedurze tomografii termicznej

The technical solutions of the system may vary. The use of double vision and thermographic cameras enables the acquisition of stereovision images, which is used in special, non-standard solutions in medical diagnostics. A separate challenge is the source of thermal stimulation. Here, a stimulation source was used in the form of two devices for cold air cryotherapy, controlled by electro-valves (3a). This solution allows for cooling of the ROI more uniformly than in the case of using a single device. Alternatively, the tested surface may be cooled with a mixture of CO2 and air from another cryotherapy unit, which may be applied as the cooling source. In this case we get positive experience as diagnostically valid measurements were taken after switching off the coolers, what takes less than one second. In some applications the source of heating with a set of infrared lamps can also be used to stimulate ROI. Other technical solutions may be based on contact cooling, but also laser or microwave heating; vibrothermography is known for NDTE. The mentioned methods have a number of limitations related to properties of energy absorption by biological tissues. In the case of non-contact stimulation, the temperature reading is synchronized with turning the thermal source on and off, so that the tissue stimulation phase and the response phase are separate from each other. In the case of a human examination, the stimulation must be of a safe value, i.e., not to damage the tissues or cause pain. The result of the system’s operation is the acquisition of a series of thermographic images, which in the next stage are subjected to procedures specific for each method of reconstructing the parameters of the thermal equivalent model of the tested object.

Unfortunately, this reconstruction procedure is rather long and not always successful as the problem is mathematically ill posed and boundary conditions are not always properly identified. Dynamic measurements with excitation are performed in a system, as for example shown in Fig. 5. This is the block diagram of the measurement system for tests using the method of active dynamic thermography. The system consists of a central computer (1), a controller (2), a symmetrical thermal excitation system (3), a thermographic camera (4) and the RGB camera (5). The whole operation of the system is controlled by a computer with a program of the sequence of excitation signals and the software for the acquisition of RGB image data and thermographic sequences. The adjustment of the control signals takes place in the controller (2), which is responsible for obtaining the voltage levels and ensuring the I/O current efficiency necessary to actuate the cryotherapy devices. The examined object (6), in this case a cardiac surgery patient, is located about one meter from the stimulating and recording set. During the examination, the patient usually lies in the bed with the area of interest exposed, e.g., the chest. Access to the patient is limited to the study of the surface of the examined ROI, unilaterally, both for the data acquisition system and the sources of excitation. To read more about this set see [4, 12], where also issues related to applied software, data processing, model fitting, normalizing to the reference ROI are discussed.

54

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Antoni Nowakowski

5. Discussion Let us pay attention to the possibility of an unequivocal answer to a number of questions that determine the credibility of each of the above-mentioned measurement possibilities and the reconstruction of parametric images. Known methods of identifying parameters of electrical circuits in technical diagnostics may be used as a reference, however, it is necessary to remember what limitations are introduced by thermal examination of living organisms. 1. Selection of the stimulation amplitude - the problem in practice concerns the patient’s safety! Resulting temperature should remain in the range slightly above zero degrees Celsius, so as not to damage the tissue by freezing, and not exceeding the temperature of 42 °C when the tissue is denatured. Keeping in mind the gold standard of static thermographic testing, when the patient is prepared for testing under stable thermodynamic conditions, the ROI surface temperature is typically 30–34 °C. Thus, the amplitude of the excitation during heating must not exceed about 8 °C. In the case of cooling, the excitation range may be greater, to about minus 30 °C from the initial, but in practice this value should be reduced by half, to about 15 °C, which will be justified in the point 4. Obviously, the greater excitation amplitude allows measurements to be made with better accuracy taking into account limited resolution of a thermographic camera, usually 0.1–0.02 °C. This discussion indicates the advantage of cooling! 2. Signal shape selection – sinusoidal, pulsed, shape projected? Each of these proposals allows for the differentiation of characteristic features of the response signals and the diagnosis of “something”, but again it is worth remembering about the physiology. In the technology – NDTE and NDE – theoretically the most accurate results of the identification of an electric circuit property are given by the analysis of excitation with a sinusoidal signal. The question is whether this also applies to living organisms? Therefore, what frequency range of thermal signals should be considered? In practice, these are rather low frequencies, single and fractions of Hz. Measurements at low frequencies must be performed carefully, because there exist biological feedback phenomena, including the so-called vasoconstriction and vasodilation, i.e., contraction and relaxation of smooth muscles in the wall of blood vessels as a result of cooling or heating. These phenomena are characteristic to all warm-blooded animals! Frequency analysis is thorough but time consuming. Additionally, there is a factor of movement instability, e.g., related to breathing; what means that thermographic images require position correction. For these reasons, the frequency method is not recommended in practice. Dirac pulse-shaped excitation is an attractive solution, but due to p.1 it does not give the possibility of obtaining a sufficiently strong thermal signal. The shape projected signals have been applied successfully in technology, e.g., in electronic circuit boards testing, but so far have not been used in medical thermal diagnostics. In practice, the rectangular pulse-shaped excitation is most often used for both heating and cooling in medical applications allowing sufficient changes of temperature. Still, there is the problem of duration of such stimulation. The problem is not trivial, because the longer the excitation time, the deeper heat penetrates the ROI area, which changes the measurement conditions and parameters of the thermal equivalent model! 3. Heating or cooling? Already the reply to point 1 shows the advantage of cooling, but it is not the only argument. Note that under the conditions of thermodynamic equilibrium there is a temperature gradient in the layer of the subsur-

face tissue, from 30–34 °C to about 37 °C in depth of the body. This means that heating causes an increase in the temperature of the body surface, thus reducing the temperature gradient in the near-surface layer, and consequently reducing the heat flows inside the body! In contrast, cooling increases the temperature gradient, which increases heat transfer and improves thermal contrast. This causes stronger heat exchange within tested structure giving more reliable data for tissue parameters reconstruction! 4. Determination of reliable boundary conditions for the reconstruction of model parameters. It is worth to determine the duration of the heating/cooling stimulus to limit the thickness of the analyzed ROI layer to diagnostically interesting value. When cooling, it is recommended to obtain at the end of excitation the surface temperature at the level of the ambient temperature. This eliminates heat exchange at the tested surface and forces heat transfer within internal tissue layers, at least at the initial phase of recovery to the equilibrium conditions after thermal excitation.

4<

According to analysis of the circuit in Fig. 2 there are several cases of heat flows resulting in static and dynamic temperature distributions important for diagnostics in medicine. The most important for diagnostics are added value strong heat flows via biological structures. This leads to advice to use cooling as the privileged solution. Heating is more difficult in control of safety conditions and additionally leads to flat temperature distribution inside the body what means lower heat flows and increase of the role of heat exchange with the environment, what is of rather low diagnostic importance. In medical diagnostics of ADT, TSR and TT it is postulated to use cooling in the form of a rectangular stimulus with a duration that ensures obtaining the ROI surface temperature equal to the ambient temperature, which standardizes the initial boundary conditions. As a result, the process of returning to thermodynamic equilibrium conditions is dominated by heat flows inside the tested ROI, so the reconstruction result allows for a reliable assessment of the parameters of the layers of the substitute thermal model. In the exemplary solution shown in Fig. 5, the thermographic camera can be used to automatically determine the moment of stopping the excitation signal, here the cooling process. On the other hand, cooling to lower than ambient temperatures are resulting in bigger temperature gradients what with limited thermal resolution of applied thermal camera always improves measurement accuracy, while heat exchange with ambient is not decreasing diagnostic information given by heat flows inside the ROI. There is still the problem of the excitation pulse duration. It may be relatively easy to reach ROI surface temperature equal to the ambient temperature and keep this value for longer what in result may increase the tissue layer of this temperature. This may be changing in not fully controlled way boundary condition for the recovery phase after switching the excitation off. Probably this should be worked up for different diagnostic applications.

References 1. Diakides M., Bronzino J., Peterson D. (eds.), Medical Infrared Imaging: Principles and Practices, CRC Press, 2012. 2. Maldague X., Theory and Practice of Infrared Technology for Non-Destructive Testing, J. Wiley & Sons, Inc., New York 2001.

55


Problems of Active Dynamic Thermography Measurement Standardization in Medicine 8. Schaefer G., Storage and Retrieval of Medical Thermograms, 23.1-23.15, [In:] Diakides N., Brozino J.D., ed., Medical Infrared Imaging, CRC Press, 2008. 9. Pennes H.H., Analysis of tissue and arterial blood temperatures in the resting human forearm, “Journal of Applied Physiology”, No. 1, 1948, 93–122, DOI: 10.1152/jappl.1948.1.2.93. 10. Eberhart C., Heat transfer in medicine and biology, Analysis and applications, Vol. 1, Plenum Press, London, 1985. 11. Balageas D.L., Roche J.M., Leroy F.H., Liu W.M., Gorbach A.M., The thermographic signal reconstruction method: a powerful tool for the enhancement of transient thermographic images, “Biocybernetics and Biomedical Engineering”, Vol. 35, No. 1, 2015, 1–9, DOI: 10.1016/j.bbe.2014.07.002. 12. Kaczmarek M., Nowakowski A., Aktywna Termografia Dynamiczna – przetwarzanie serii obrazów w diagnostyce medycznej, [In:] Nowakowski A.Z., Kaczmarek M., Królicki L., Kulikowski J.L. ed.: Inżynieria biomedyczna – podstawy i zastosowania, Vol. 8, 479-504, Obrazowanie biomedyczne, AOW EXIT, 2020.

3. Chmielewski L., Kulikowski J.L., Nowakowski A., Biocybernetyka i Inżynieria Biomedyczna 2000, Vol. 8, Obrazowanie biomedyczne, 14, Nowakowski A., Wróbel Z. (ed.), Termografia podczerwieni w diagnostyce medycznej, 475–614; Vol. 15, Nowakowski A., Kaczmarek M., Hryciuk M., Tomografia termiczna, 615–696, AOW EXIT, 2003. 4. Kaczmarek M., Nowakowski A., Active IR-Thermal Imaging in Medicine, “Journal of Nondestructive Evaluation”, Vol. 35, No. 19, Springer, DOI 10.1007/s10921-016-0335-y, 2016 5. Nowakowski A., Quantitative Active Dynamic Thermal Imaging and Thermal Tomography in Medical Diagnostics [In:] Diakides N., Bronzino J. (ed.), Medical Infrared Imaging, CRC, 2008 6. Ammer K., Ring F.E., Standard Procedures for Infrared Imaging in Medicine, 22.1–22.14, [In:] Diakides N., Brozino J.D., ed., Medical Infrared Imaging, CRC Press, 2008. 7. IEC/ISO. IEC 80601-2-59: Particular requirements for the basic safety and essential performance of screening thermographs for human febrile temperature screening. Geneva, Switzerland: International Electrotechnical Commission (IEC)/International Organization for Standardization (ISO); 2017.

6 8 % F . H ( / J % Streszczenie: Wiarygodność diagnostyki termograficznej w medycynie stanowi ważny problem praktyczny. W zakresie statycznej termografii w podczerwieni włożono sporo wysiłku, by zdefiniować warunki pomiarów termograficznych, co stanowi obecnie złoty standard takich badań. W ostatnich latach pojawia się coraz więcej doniesień dotyczących badań dynamicznych z pobudzeniem zewnętrznym, takich jak ADT, TSR czy tomografia termiczna. Przedmiotem niniejszego doniesienia jest dyskusja problemów standaryzacji badań dynamicznych, wyboru sposobu pobudzenia termicznego i warunków decydujących o wiarygodności takich badań w diagnostyce medycznej. * Q ( / % $ ( ( / ( $ ( / $ % $ %

Prof. Antoni Nowakowski, PhD, DSc !<'( ORCID: 0000-0001-6116-498X " GG B % G ( A E H ( )>*-$ 6 J )>- $ J )>S<$ E E = H E R% _ $ E = % % E % E J E B = % G ( ( 9 V % % b X % ( % $ = % % ( $ % % $ % ( = % X E E % % %

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


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 57–63, DOI: 10.14313/PAR_241/57

A %F % 8 [ [ Tadeusz Kruczek 6 ` [ $ M % H $ M ( ++$ &&=)!! R

Streszczenie: Otoczenie obiektów znajdujących się w otwartej przestrzeni atmosferycznej składa się zwykle z hipotetycznej powierzchni nieboskłonu i powierzchni gruntu. Celem badań termowizyjnych takich obiektów, zwłaszcza budynków, jest określenie wielkości strat ciepła lub ocena parametrów jakościowych izolacji ścian, dachów i innych przegród. Badane powierzchnie, w tym elementy zewnętrznej powłoki budynków, są często usytuowane pod różnymi kątami w stosunku do powierzchni terenu i nieboskłonu. Na potrzeby badań termowizyjnych rozpatrywanych obiektów oraz obliczeń dotyczących radiacyjnej wymiany ciepła niezbędna jest znajomość parametrów radiacyjnych nieboskłonu. Parametry te obejmują równoważną radiacyjną temperaturę otoczenia potrzebną do pomiarów termowizyjnych (w tym temperaturę nieboskłonu i gruntu) oraz ogólną radiacyjną temperaturę otoczenia, która decyduje o stracie ciepła przez promieniowanie z badanej powierzchni. Artykuł zawiera opis metody wyznaczania wartości wymienionych rodzajów temperatury na podstawie pomiaru temperatury nieboskłonu za pomocą długofalowej kamery termowizyjnej oraz obliczeń. W celu weryfikacji opracowanej metody porównano wyniki uzyskane za pomocą tej metody z wynikami pomiarów otrzymanymi za pomocą pyrgeometru. Weryfikacja obejmowała porównanie strumienia cieplnego promieniowania nieboskłonu obliczonego na podstawie pomiarów termowizyjnych ze strumieniem energii emitowanym przez nieboskłon i mierzonym za pomocą pyrgeometru. Wynik weryfikacji jest satysfakcjonujący. 0 % & # % Q $ % $ 8 $ 8 $ / 8

"# # &

F ma mw

– gęstość spektralna emisji własnej ciała czarnego dla temperatury T wynikająca z prawa Plancka, W·(μm·m2)–1 – gęstość emisji własnej w zadanym zakresie spektralnym, W·m-2 – pole powierzchni, m2 – jasność powierzchni, W·m-2 – liczba uwzględnianych pasm radiacyjnych dla powietrza atmosferycznego – liczba uwzględnianych okien radiacyjnych w atmosferze

& -/ Q

H % M $ % ' & 0 # % % )& !- +!+) $ % % +! !S +!+)

!

N r T Tat Tcm

– – – – –

a, w

at b cm p Sk tot

– – – – – –

liczba pasów sferycznych dla półsfery nieboskłonu refleksyjność powierzchni temperatura, K temperatura powietrza atmosferycznego, K temperatura nieboskłonu zmierzona kamerą termowizyjną, K dotyczy pasma aktywnego radiacyjnie lub okna w powietrzu atmosferycznym dotyczy atmosfery dotyczy ciała czarnego dotyczy pomiaru kamerą termowizyjną dotyczy pyrgeometru dotyczy nieboskłonu dotyczy całkowitej emisji cieplnej nieboskłonu

& e j l s

– – – –

emisyjność powierzchni stosunek konfiguracji długość fali, μm stała promieniowania Stefana-Boltzmanna (5,67·10-8 W/(m2·K4))

57


P $) ) ) $ $ _ $ _

Z< 8 % # nia w całym zakresie widmowym promieniowania cieplnego. Temperaturę tę należy stosować podczas obliczeń radiacyjnych strat ciepła z rozpatrywanego obiektu. W niniejszej pracy rozkłady wymienionych wyżej temperatur dla nieboskłonu wyznaczano na podstawie pomiarów i obliczeń. Celem tych badań było dostarczenie użytkownikom kamer termowizyjnych wykonujących inspekcje termowizyjne w otwartej przestrzeni atmosferycznej wiedzy przydatnej podczas pomiarów termowizyjnych oraz obliczeń strat ciepła przez promieniowanie oraz konwekcję. W pochmurne noce z równomiernym zachmurzeniem temperatura nieboskłonu jest stosunkowo wysoka i dość jednolita. W przypadku bezchmurnej pogody temperatura nieba jest niższa i bardziej zróżnicowana [5, 6]. W tej sytuacji półkulistą powłokę nieboskłonu można podzielić na poziome pasy sferyczne. Wymienione pasy tworzy się przez „pokrojenie” wymienionej powłoki poziomymi równoległymi płaszczyznami. Następnie do obliczeń intensywności emisji promieniowania cieplnego każdy z tych pasów traktowano jako obszar izotermiczny. Opracowana metoda wyznaczania cieplnego promieniowania nieboskłonu z użyciem kamery termowizyjnej została pomyślnie zweryfikowana. W celu jej weryfikacji porównano wyniki uzyskane za pomocą kamery termowizyjnej z wynikami uzyskanymi za pomocą pyrgeometru. Uzyskano zadowalające wyniki tego porównania.

Jednym z głównych sposobów poprawy efektywności energetycznej eksploatacji obiektów jest ograniczenie strat ciepła z tych obiektów do otoczenia. Ocenę technicznych możliwości poprawy efektywności energetycznej, w tym ograniczenia strat ciepła, przeprowadza się w ramach audytów energetycznych badanych obiektów (budynków, ciepłociągów i innych instalacji energetycznych) [1]. Jednym z podstawowych badań wykonywanych w ramach takich audytów jest pomiar temperatury na zewnętrznych powierzchniach badanych obiektów. Do takich pomiarów wykorzystywana jest technika termowizyjna. Znajomość strat ciepła z badanych obiektów jest elementem o fundamentalnym znaczeniu w opracowywaniu metod poprawy stanu technicznego i sposobów eksploatacji urządzeń pod kątem efektywności energetycznej [2]. Na wynik termowizyjnego pomiaru temperatury wpływa kilka parametrów, m.in. emisyjność badanej powierzchni, temperatura otaczających elementów, parametry termodynamiczne powietrza atmosferycznego. Metody bezdotykowego pomiaru temperatury opierają się na pomiarze strumienia energii promieniowania emitowanego z badanej powierzchni. W rzeczywistych sytuacjach emisyjność badanego obiektu jest mniejsza niż 1,0 i w tym przypadku całkowity strumień energii promieniowania wychodzącego z badanej powierzchni składa się z dwóch części. Pierwsza część przedstawia strumień emisji własnej, natomiast druga część to strumień promieniowania, który pochodzi z otoczenia i jest odbijany przez badaną powierzchnię. Suma tych dwóch strumieni nazywana jest w teorii wymiany ciepła jasnością powierzchni. Do wyznaczenia temperatury badanej powierzchni potrzebna jest znajomość emisji własnej badanej powierzchni. Detektor kamery termowizyjnej rejestruje natomiast całkowity strumień promieniowania, czyli jasność tej powierzchni. Aby wyznaczyć strumień emisji własnej należy strumień całkowity pomniejszyć o strumień promieniowania pochodzący z otoczenia i odbijany od rozpatrywanej powierzchni. Aby określić strumień promieniowania z otoczenia, należy znać temperaturę otoczenia odpowiedzialną za ten strumień. Problem pojawia się przy określaniu temperatury otoczenia dla obiektów znajdujących się w otwartej przestrzeni atmosferycznej. Zasadniczo otoczenie takich obiektów składa się z dwóch elementów: hipotetycznej powierzchni nieboskłonu i powierzchni gruntu. Zwykle wartości temperatur tych elementów są zróżnicowane i dlatego nie jest znana wartość temperatury otoczenia, którą należy wprowadzić do systemu pomiarowego kamery termowizyjnej. Aby rozwiązać ten problem, zaproponowano nową metodę wyznaczania równoważnej temperatury otoczenia dla otoczenia nieizotermicznego. Główną zasadą tej technologii jest przekształcenie wieloelementowego i nieizotermicznego otoczenia w jednoelementowe otoczenie izotermiczne [3]. Istotnym problemem jest określenie radiacyjnej temperatury nieboskłonu odpowiedzialnej za promieniowanie cieplne. Do wyznaczenia tej temperatury zaproponowano pomiar temperatury nieboskłonu za pomocą długofalowej kamery termowizyjnej pracującej w tzw. oknie atmosferycznym, wykorzystując specjalną konfigurację jej parametrów pomiarowych [4]. Generalnie w tych badaniach występują dwie jakościowo różne temperatury. Pierwszą temperaturą otoczenia, istotną dla pomiarów w podczerwieni, jest temperatura związana ze strumieniem promieniowania cieplnego emitowanego w zakresie spektralnym stosowanej kamery termowizyjnej. Temperaturę tę należy mierzyć za pomocą kamery termowizyjnej użytej w prowadzonych badaniach. Druga temperatura to temperatura reprezentująca całkowite promieniowanie cieplne otocze-

58

P

O

M

I

A

R

Y

A

U

T

O

M

S< " % # # @ #

- & &

# #

Stosując kamerę termowizyjną do pomiaru temperatury nieboskłonu, należy podkreślić, że badany obiekt jako stała powierzchnia nie istnieje. Obserwowane ciało to powietrze atmosferyczne zawierające pewną ilość gazów aktywnych radiacyjnie, głównie pary wodnej i dwutlenku węgla. Temperatura nieboskłonu mierzona kamerą termowizyjną wynika z promieniowania aktywnych gazów zawartych w atmosferze. Długofalowe kamery na podczerwień pracują w tzw. oknie atmosferycznym o zakresie 7,5–13 μm, w którym absorpcja (i emisja) promieniowania cieplnego jest stosunkowo niska. Z tego powodu temperatura nieboskłonu wskazywana przez kamerę termowizyjną jest stosunkowo niska. W przypadku zastosowania kamery termowizyjnej do pomiaru temperatury nieboskłonu uzyskana wartość temperatury nie jest reprezentatywna dla obliczeń dotyczących radiacyjnej wymiany ciepła w otwartej przestrzeni atmosferycznej. Wymiana ciepła odbywa się bowiem w całym zakresie spektralnym, tj. od 0 μm do +¥, natomiast kamera wskazuje temperaturę nieboskłonu reprezentatywną dla promieniowania cieplnego w zakresie spektralnym swojej pracy. Dlatego przy obliczaniu strat ciepła przez promieniowanie konieczna jest znajomość temperatury otoczenia reprezentującej promieniowanie cieplne w całym zakresie spektralnym [2]. Rysunek 1 przedstawia przykład rozkładu absorpcyjności (emisyjności) w funkcji długości fali warstwy atmosfery o grubości 1000 m, temperaturze 287,5 K, zawierającej 385 ppm dwutlenku węgla i 1,1 % pary wodnej. Prezentowane przebiegi uzyskano na podstawie własnych obliczeń numerycznych wykonanych z wykorzystaniem prążkowego modelu promieniowania gazu [8, 9] do opisu radiacyjnych właściwości gazu. Baza ta, wraz z wieloma różnymi aplikacjami, jest wykorzystywana m.in. w astrofizycznych badaniach atmosfery [9]. Liczba prążków spektralnych w przeprowadzonych obliczeniach wynosiła ponad 106. Porównanie wyników obliczeń dla innych przypadków pokazuje, że od pewnej wartości założona grubość warstwy powie-

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


C

Rys. 1. Zależność absorpcyjności (emisyjności) warstwy powietrza od długości fali promieniowania cieplnego Fig. 1. Absorptivity (emissivity) of atmospheric air layer dependence on the thermal radiation wavelength

trza atmosferycznego ma niewielki wpływ na kształt wykresu. Większe różnice występują tylko przy małych grubościach warstwy powietrza, czego nie pokazano na rysunku. Również temperatura powietrza, w zakresie potencjalnych zmian temperatury atmosfery ma znikomy wpływ na formę prezentowanych wykresów. Średni spadek temperatury powietrza atmosferycznego wraz z wysokością wynosi około 0,5–0,6 K/100 m. Biorąc to pod uwagę można stwierdzić, że promieniowanie cieplne atmosfery z położonych najniżej warstw powietrza ma dominujący wpływ na wymianę ciepła z obiektami znajdującymi się na poziomie gruntu. Dlatego dla powietrza atmosferycznego wewnątrz tej warstwy, uzasadnione jest uproszczenie i przyjęcie jako temperatury powietrza jej wartości mierzonej na poziomie gruntu. Na rysunku 2 przedstawiono rozkład spektralnej gęstości emisji cieplnej wyznaczony na podstawie prawa Plancka dla ciała doskonale czarnego w funkcji długości fali dla kilku wartości temperatury. Porównanie tego wykresu z wykresem na rys. 1 wyjaśnia, dlaczego temperatura powierzchni obiektu o wysokiej emisyjności i znajdującego się w otwartej przestrzeni atmosferycznej może obniżyć się do wartości poniżej temperatury powietrza atmosferycznego. Wynika to z faktu, że dla wartości temperatury obiektu w zakresie 270–290 K do nieboskłonu jest emitowany stosunkowo duży strumień energii przez promieniowanie, ponieważ maksimum radiacyjnego strumienia energii występuje praktycznie w środku wspomnianego okna 7,5–13 μm [7] (rys. 2). W proponowanej metodzie opromieniowanie badanego obiektu przez atmosferę zostaje zastąpione promieniowaniem półsferycznej powierzchni otaczającej obiekt i emitującej radiacyjne strumienie energii o takiej samej intensywności i charakterystyce spektralnej jak promieniowanie atmosfery. Jak

wiadomo, promieniowanie cieplne gazów (a jednocześnie jego pochłanianie) zależy od długości fali. Ponadto intensywność promieniowania cieplnego emitowanego przez gaz zależy od grubości warstwy gazu. Z tych powodów, przy bezchmurnym nieboskłonie, natężenie promieniowania atmosferycznego w zakresie spektralnym okna atmosferycznego jest najmniejsze (rys. 1). Wymieniony wykres opracowano w oparciu o wyniki własnych obliczeń z wykorzystaniem prążkowego modelu promieniowania gazów i bazy danych HITEMP [9]. Dodatkowo natężenie promieniowania zależy również od kierunku obserwacji. Najmniejsze natężenie występuje dla kierunku pionowego i wzrasta wraz z powiększaniem kąta zenitalnego obserwacji nieboskłonu, aż do osiągnięcia maksimum dla kierunku poziomego. Wynika to stąd, że przy obserwacji atmosfery w kierunku pionowym grubość warstwy powietrza jest najmniejsza, podczas gdy przy obserwacji w poziomie grubość ta wzrasta praktycznie do nieskończoności. Kąt zenitalny określony jest jako kąt między kierunkiem pionowym i kierunkiem obserwacji nieboskłonu.

T< " ,%

Równolegle z pomiarami temperatury nieboskłonu za pomocą kamery termowizyjnej do bezpośrednich pomiarów promieniowania atmosfery zastosowano pyrgeometr CGR4 o zakresie spektralnym 4,5–42 μm. Do pomiarów termowizyjnych wykorzystano kamerę Flir SC2000 o spektralnym zakresie pracy 7,5–13 μm i kącie obserwacji w poziomie (FOV) równym 45o. W czasie pomiarów używano zakresu pomiarowego kamery –40–120 oC. W przypadkach wystąpienia wartości temperatury leżących poza zakresem pomiar wykonywano stosując metodę przedstawioną w [4]. Dokładność kamery podana przez producenta wynosi ±2 K. W analizie przyjęto, że rozpatrywana pozioma powierzchnia jest otoczona przez półkulistą powierzchnię opromieniowaną przez atmosferę. Z wnętrza tej przestrzeni mierzono temperaturę „półkulistej czaszy” długofalową kamerą termowizyjną. Schemat położeń pomiarowych kamery oraz kątowy podział nieboskłonu przedstawiono na rys. 3. Wszystkie pomiary wykonano w porze nocnej.

Rys. 3. Podział półsfery nieboskłonu na sektory pomiarowe. 1 – sektory, 2 – powierzchnia gruntu, 3 – kamera termowizyjna Fig. 3. Division sky hemisphere into measurement sectors, 1 – sectors, 2 – ground surface, 3 – infrared camera

U< " # @

Rys. 2. Gęstość spektralna cieplnego promieniowania ciała czarnego w funkcji długości fali przy różnych wartościach jego temperatury Fig. 2. Spectral density of thermal radiation of black body as a function of its wavelength at different temperature values

Z wykresu przedstawionego na rys. 1 wynika, że całkowity radiacyjny strumień energii emitowany przez powietrze atmosferyczne będzie sumą strumieni emitowanych w zakresach wyróżnionych pasm. W dalszych rozważaniach promieniującą atmosferę zastępuje się półsferyczną powierzchnią otaczającą badany obiekt. Następnie dla tej powierzchni określamy jed-

59


P $) ) ) $ $ _ $ _

nostkowy całkowity radiacyjny strumień energii, który jest sumą strumieni emitowanych w ramach każdego z wyróżnionych pasm, tj. okien i pasm aktywnych radiacyjnie. Można to wyrazić zależnością (1):

powierzchni detektora pyrgeometru przez nieboskłon wyraża równanie: N

Fph p = ∑ Fi h iϕi ,p

(2)

i =1

Układ równań dla pasów sferycznych wyraża równanie: (1)

N

Fi h i = Fie i εi + ∑ Fj h jϕ j ,i j =1

gdzie: lw1,j, lw2,j – początkowa i końcowa długość fali dla j-tego okna; la1,j, la2,j – początkowa i końcowa długość fali dla j-tego aktywnego pasma promieniowania w atmosferze; Tat – rzeczywista temperatura powietrza atmosferycznego, K; Tcm – temperatura nieboskłonu mierzona długofalową kamerą termowizyjną w zakresie spektralnym okna atmosferycznego 7,5–13 μm, K.

gdzie: i = 1, …, N. Wyrażenie (3) przedstawia układ N równań, gdzie każde równanie składowe dotyczy kolejnego pasa sferycznego. Równania (2) i (3) wynikające z bilansu jasności mają postać uproszczoną po wprowadzeniu warunków wynikających z przyjętego modelu opisu rozpatrywanego zjawiska. Przyjęto, że współczynnik refleksyjności dla nieboskłonu ri = 0 i w konsekwencji jego emisyjność ei = 1,0 dla każdego pasa sferycznego i = 1, …, N.

Początkowe „1” i końcowe „2” długości fali dla okien w oraz dla pasm aktywnych radiacyjnie a przyjmowano takie same jak podano poniżej w obliczeniach weryfikacyjnych dla pyrgeometru. Z rysunku 2 wynika, że dla typowych wartości temperatury powietrza atmosferycznego emisja promieniowania cieplnego poza zakresem spektralnym 4,5–42 μm jest pomijalnie niska. Wartości całek występujących w równaniu (1) wyrażają radiacyjne strumienie energii emitowane przez powietrze atmosferyczne w podanych zakresach długości fali. Podczas obliczeń według (1) okna traktowano jako ciało czarne i przyjmowano dla nich temperaturę nieboskłonu zmierzoną kamerą termowizyjną. Pasma aktywne radiacyjnie również potraktowano jako czarne pasma i przyjęto dla nich temperaturę powietrza otoczenia. W obliczeniach weryfikacyjnych przyjęto skrajne granice zakresu spektralnego odpowiadające zakresowi pracy pyrgeometru tj. 4,5–42 μm. W tym zakresie wyróżniono okna 4,5–4,8 μm, 7,5–13 μm oraz pasma aktywne 4,8–7,5 μm i 13–42 μm (rys. 1). Traktowanie pasm aktywnych jako ciało czarne w podanych zakresach widmowych jest uzasadnione. Należy pamiętać, że prezentowane wykresy odnoszą się do mieszaniny powietrza, CO2 i H2O jako fazy gazowej. W rzeczywistym środowisku występuje warstwa powietrza o grubości większej niż 1000 m, dla której prezentowane są tutaj wyniki obliczeń. W rzeczywistości w atmosferze, zwłaszcza gdy temperatura obniża się w nocy, zachodzi kondensacja pary wodnej i powstają mikroskopijne cząsteczki ciekłej wody, które emitują ciągłe widmo promieniowania. Ciała stałe i powierzchnie cieczy emitują ciągłe widmo promieniowania w odróżnieniu od gazów emitujących tylko w charakterystycznych dla siebie zakresach spektralnych. W rezultacie z powodu promieniowania mikroskopijnych kropelek wody następuje zwiększenie emisji w spektralnych zakresach okien i pasm aktywnych. W celu weryfikacji zaproponowanej metody obliczania cieplnej emisji nieboskłonu na podstawie wyników pomiarów temperatury nieboskłonu kamerą termowizyjną, wyniki te porównano z wynikami pomiaru emisji nieboskłonu uzyskanymi przy użyciu pyrgeometru. W tym celu półsferę nieboskłonu podzielono poziomymi płaszczyznami na N sferycznych pasów. Najczęściej półsfera nieboskłonu ma zróżnicowaną temperaturę w zależności od kąta obserwacji. Jeżeli rozkład temperatury nieboskłonu jest osiowo symetryczny to utworzone w ten sposób pasy sferyczne, przy odpowiednio dużej ich liczbie można traktować jako powierzchnie izotermiczne, każda o temperaturze Ti. W celu obliczenia jednostkowego radiacyjnego strumienia energii emitowanego przez nieboskłon i padającego na poziomą powierzchnię detektora pyrgeometru zastosowano metodę bilansu jasności [3, 8]. Opromieniowanie h p poziomej

60

P

O

M

I

A

R

Y

A

U

T

O

M

(3)

Po zastosowaniu powyższych warunków otrzymamy nową postać układu równań (2, 3). Stosując dodatkowo prawo wzajemności dla każdej pary powierzchni p – i: Fpjp,i = Fiji,p

(4)

otrzymujemy równanie, które może być zastosowane do obliczania jednostkowego strumienia promieniowania cieplnego e Sk p padającego na poziomy detektor pyrgeometru: N

h p = e Sk p = ∑ e iϕ p,i

(5)

i =1

Wartości stosunków konfiguracji ji,p i jp,i, wyrażających wzajemne oddziaływanie między detektorem pyrgeometru i poszczególnymi pasami sferycznymi, należy obliczać zgodnie z algorytmem przedstawionym w [11], korzystając dodatkowo z prawa wzajemności wyrażonego wzorem (4). Wartości emisji nieboskłonu dla poszczególnych pasów sferycznych półsfery nieboskłonu należy obliczyć według równania (1) wykorzystując wyniki pomiarów radiacyjnej temperatury nieboskłonu przy zastosowaniu długofalowej kamery termowizyjnej (rys. 3) oraz wyniki pomiarów temperatury powietrza atmosferycznego. Obliczone w ten sposób wartości dla poszczególnych pasów sferycznych wyrażają całkowitą emisję promieniowania cieplnego gazów atmosferycznych w zakresach spektralnych pasm wysokiej aktywności radiacyjnej wraz z emisją atmosfery w zakresach niskiej aktywności radiacyjnej (w oknach).

V< # &0 % % & ,%

# @ Stosując przedstawioną powyżej metodę i wykorzystując wyniki pomiarów temperatury nieboskłonu przeprowadzono obliczenia strumienia promieniowania nieboskłonu docierającego do poziomej powierzchni. Obliczenia te przeprowadzono dla tego samego zakresu spektralnego jak zakres spektralny działania pyrgeometru. Zastosowanie tych samych zakresów widmowych uprawnia do bezpośredniego porównania otrzymanych wyników. Współrzędne geograficzne punktu pomiarowego były równe N50°17’39”, E18°40’47”, natomiast wysokość w stosunku do poziomu morza wynosiła 250 m n.p.m. Otrzymane wyniki pomiarów pyrgeometrem i obliczeń natężenia promieniowania nieboskłonu na podstawie pomiarów

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


C

Rys. 4. Cieplne promieniowanie nieboskłonu zmierzone pyrgeometrem i obliczone w oparciu o wyniki pomiaru temperatury nieboskłonu kamerą termowizyjną Fig. 4. Thermal radiation of the sky measured by means of pyrgeometer and calculated basing on the results of temperature measurement of the sky by means of infrared camera

Rys. 5. Zenitalny rozkład temperatury Tcm otrzymany przez pomiar kamerą i temperatury Ttot reprezentującej całkowitą emisję cieplną nieboskłonu dla przypadku „wysokiej” temperatury nieboskłonu Fig. 5. Zenithal distributions of temperature Tcm obtained by infrared camera measurement and temperature Ttot representing the total thermal radiation of the sky for the case of relatively “high” sky temperature

kamerą w odniesieniu do jednostkowej poziomej powierzchni przedstawiono na rys. 4. Na podstawie pomiarów kamerą i przeprowadzonych obliczeń stwierdzono, że obliczone strumienie emisji nieboskłonu były nieco mniejsze niż te zmierzone za pomocą pyrgeometru. Stwierdzone różnice nie są duże i nie przekraczają wartości 20 W/m2. Oznacza to, że względne różnice są rzędu 5 %. Przyczyn tych rozbieżności może być kilka. Jedną z nich może być efekt kondensacji pary wodnej w powietrzu w nocy oraz wyzwalanie entalpii kondensacji pary wodnej, co nie jest uwzględnione w stosowanej metodzie obliczeniowej. Drugim powodem może być sposób uśredniania i przetwarzania wyników pomiarów temperatury z kamery termowizyjnej. Ocenia się, że istnieją pewne możliwości poprawy zgodności tych wyników po zastosowaniu bardziej zaawansowanych metod analizy. Niemniej jednak uzyskane wyniki tego porównania należy uznać za całkiem satysfakcjonujące. Na rysunkach 5 i 6 przedstawiono przykładowe wyniki pomiarów temperatury nieboskłonu Tcm wykonane kamerą termowizyjną oraz wyniki obliczeń zastępczej temperatury nieboskłonu Ttot odpowiedzialnej za całkowity radiacyjny strumień emisji nieboskłonu. Wykresy przedstawione na powyższych rysunkach opracowano w oparciu o uśrednione dla każdego pasa sferycznego wartości temperatury Tcm. Znajomość rozkładu tej temperatury wzdłuż kąta zenitalnego jest przydatna do obliczania zastępczej radiacyjnej temperatury otoczenia potrzebnej podczas inspekcji termowizyjnych obiektów w otwartej przestrzeni atmosferycznej [3]. Temperatura Ttot reprezentuje całkowity radiacyjny strumień cieplnej emisji nieboskłonu w pełnym zakresie długości fali. Jest ona przydatna do obliczeń radiacyjnych strat ciepła. Obliczenia Ttot wykonano w podobny sposób jak obliczenia porównawcze dla pyrgeometru. Główne różnice wystąpiły przy obliczeniach za pomocą wzoru (1), gdzie przyjęto tym razem obecność dwóch okien spektralnych 4,5–4,8 μm, 7,5–13 μm, stąd mw = 2 i trzech pasm promieniujących 4–4,5 μm, 4,8–7,5 μm i (13– λtot) μm, stąd ma = 3 (rys. 1). W obliczeniach przyjęto także, że λtot = 100 μm. Wartość ta wynika z przyczyn praktycznych, gdyż dla długości fali λ > 100 μm promieniowanie cieplne nieboskłonu jest pomijalnie niskie. Teraz całkowita jednostkowa emisja energii promieniowania przez i-ty pas sferyczny może być wyrażona przez (6): mw λw 2, j

(

)

ma λa 2, j

e tot ,i = ∑ ∫ e λ λ ,Tcm ,i dλ + ∑ ∫ e λ (λ ,Tat ) dλ j =1 λw 1, j

j =1 λa1, j

(6)

Na podstawie wartości emisji e tot ,i i potraktowaniu nieboskłonu jako ciała czarnego, wartości temperatury Ttot,i dla poszczególnych pasów sferycznych obliczano za pomocą wyrażenia (7) wynikającego z prawa Stefana-Boltzmanna [8]: Ttot ,i = 4 e tot ,i σ

Rys. 6. Zenitalny rozkład temperatury Tcm otrzymany przez pomiar kamerą i temperatury Ttot reprezentującej całkowitą emisję cieplną nieboskłonu dla przypadku „niskiej” temperatury nieboskłonu Fig. 6. Zenithal distributions of temperature Tcm obtained by infrared camera measurement and temperature Ttot representing the total thermal radiation of the sky for the case of “low” sky temperature

(7)

Rozkłady temperatury Ttot w zależności od kąta zenitalnego obserwacji przedstawiono na rysunkach 5 i 6 dla dwóch przykładów nieboskłonu. Jak widać, dla każdej z wymienionych temperatur, ich wartości w zakresie kąta zenitalnego ±45° są stosunkowo stabilne. Powyżej tych kątów, wartości temperatury zbliżają się do temperatury atmosferycznej [10]. Zjawisko to ma dwie przyczyny. Jedną z nich jest wpływ współczynnika absorpcji promieniowania (a zarazem emisji), który w tym przypadku jest zależny w dużym stopniu od ciśnienia cząstkowego pary wodnej w powietrzu. Ciśnienie cząstkowe pary wodnej jest najwyższe w dolnych warstwach atmosfery,

61


P $) ) ) $ $ _ $ _

wskutek czego współczynnik ten przyjmuje dla tych obszarów największe wartości. Opisuje to prawo Beera [8]. Drugim czynnikiem decydującym o pochłanianiu (i jednocześnie emisji) promieniowania jest długość drogi, jaką przebywa pochłaniany (lub emitowany) radiacyjny strumień energii. Zjawisko to opisuje prawo Bouguera [8]. W konsekwencji im większy jest kąt zenitalny prowadzonej obserwacji nieboskłonu tym pozornie większe są grubości kolejnych warstw atmosfery. Wpływ wymienionych zjawisk sumuje się i w rezultacie podczas obserwacji przy dużym kącie zenitalnym występuje większy strumień emisji promieniowania. Stosując przedstawiony wywód do skrajnego przypadku, kiedy obserwacja nieboskłonu prowadzona jest w pionie, obserwujemy najmniejszy strumień emisji, a dla kierunku poziomego największy. Wszystkie rozważania i przedstawione wyniki dotyczą wyłącznie promieniowania nieboskłonu i w żadnym przypadku nie uwzględniano promieniowania powierzchni gruntu. Podczas pomiarów kamerą stosowano szerokokątny obiektyw, wskutek czego kąt widzenia wynosił 45°. Przeprowadzona analiza wykazała, że aproksymacje za pomocą wielomianu czwartego stopnia z parzystymi wykładnikami dobrze odwzorowują charakter zmian analizowanych rozkładów temperatury.

thermomodernisation, “Energy”, Vol. 63, 2013, 120–131, DOI: 10.1016/j.energy.2013.08.019. 3. Kruczek T., Wyznaczanie radiacyjnej temperatury otoczenia przy pomiarach termowizyjnych w otwartej przestrzeni, “Pomiary Automatyka Kontrola”, Vol. 55, Nr 11, 2009, 882–885. 4. Kruczek T., Sposób bezdotykowego pomiaru temperatury będącej poza zakresem pomiarowym przyrządu, zwłaszcza kamery termowizyjnej, Patent PL 232921 B1, 2019, UPRP, Warszawa. 5. Jin Z., Zhang Y., Del Genio A., Schmidt G., Kelley M., Cloud scattering impact on thermal radiative transfer and global longwave radiation, “Journal of Quantitative Spectroscopy & Radiative Transfer”, Vol. 239, Art. No UNSP 106669, Dec. 2019, DOI: 10.1016/j.jqsrt.2019.106669. 6. Li M., Jiang Y., Coimbra C.F.M., On the determination of atmospheric longwave irradiance under all-sky conditions, “Solar Energy”, Vol. 144, Mar. 2017, 40–48, DOI: 10.1016/j.solener.2017.01.006. 7. Kruczek T., Fic A.: Calculation and infrared measurement identification of shell temperature distribution on overhead heat pipeline placed in open air space, Proceedings of the 10-th International Conf. QIRT, 2010, Quebec, 645–652. 8. Howell J.R., Siegel R., Mengüç M.P., Thermal radiation heat transfer, CRC Press Taylor&Francis Group, New York, 2011. 9. Rothman L. S., Gordon I. E., Barber R., J. i in.: HITEMP, the high-temperature molecular spectroscopic database, “Journal of Quantitative Spectroscopy & Radiative Transfer”, Nr 15, 2010, 2139–2150, DOI: 10.1016/j.jqsrt.2010.05.001. 10. Awanou C.N., Clear sky emissivity as a function of the zenith direction, “Renewable Energy”, Vol 13, 1998, 227–248, DOI: 10.1016/S0960-1481(97)00070-0. 11. Howell J.R., A catalog of radiation heat transfer configuration factors, 3-rd Edition, [www.thermalradiation.net/ indexCat.html].

4< 6% & @ %

Podczas inspekcji termowizyjnych i analiz radiacyjnego przepływu ciepła dla obiektów znajdujących się na otwartej przestrzeni powietrznej należy wyróżnić dwie radiacyjne temperatury nieboskłonu. Jako temperaturę nieboskłonu, która jest użyteczna do wyznaczenia ekwiwalentnej temperatury otoczenia, która ma zastosowanie w pomiarach termowizyjnych [3], należy przyjąć temperaturę Tcm nieboskłonu uzyskaną bezpośrednio z pomiaru kamerą termowizyjną. Przykładowe wyniki pomiarów tej temperatury przedstawiono na rys. 5 i 6. W przypadku obliczeń z zakresu radiacyjnej wymiany ciepła, która zachodzi zawsze w pełnym zakresie spektralnym promieniowania cieplnego, należy stosować temperaturę Ttot obliczoną według (7). Przykłady takich wyników obliczeń przedstawiono również na rys. 5 i 6. Głównym celem niniejszej pracy było opracowanie metod charakteryzujących się praktycznymi cechami, które mogą być przydatne w typowej diagnostyce cieplnej. Możliwe jest również wykonywanie obliczeń w zakresie radiacyjnej wymiany ciepła między obiektami w otwartej przestrzeni a powietrzem atmosferycznym przy użyciu bardziej zaawansowanych metod numerycznych [5]. Jednak ze względu na czasochłonność i koszt takich obliczeń metody te nie nadają się do szerszego stosowania w warunkach typowej diagnostyki cieplnej obiektów z wykorzystaniem techniki termowizyjnej.

# *& %

Praca wspierana w ramach Rektorskiego grantu projakościowego 08/060/RGJ20/0256 w obszarze badań rozwojowych oraz badań statutowych na Wydziale Inżynierii Środowiska i Energetyki Politechniki Śląskiej.

Bibliografia 1. Evangelisti L., Guattari C., Asdrubali F., On the sky temperature models and their influence on buildings energy performance: A critical review, “Energy and Buildings”, Vol. 183, Jan., 2019, 607–625, DOI: 10.1016/j.enbuild.2018.11.037. 2. Kruczek T., Determination of annual heat losses from heat and steam pipeline networks and economic analysis of their

62

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


C

J E H J 8 E B % 9 E " 0 E % Abstract: The surroundings of objects in an open atmospheric space usually consist of a hypothetical surface of the sky and the surface of the ground. The aim of thermovision examination of objects located in open atmospheric space, especially buildings, is to determine the amount of heat loss or to assess the insulation quality parameters of walls, roofs and other building partitions. The tested surfaces, including elements of the outer shell of buildings, are often located at different angles to the ground surface and the sky. For the needs of thermovision testing of the considered objects and calculations concerning the radiation heat transfer, it is necessary to know the radiation parameters of the sky. These parameters include the equivalent radiative ambient temperature needed for thermovision measurements (including the temperature of the sky and the ground) and the overall radiative ambient temperature, which determines the heat loss by radiation from the tested surface. The article describes the method of determining the values of these temperatures on the basis of measuring the temperature of the sky with the use of a long-wave infrared camera and calculations. In order to verify the developed method, the results obtained with the use of the above-mentioned method were compared with the results obtained with the use of a pyrgeometer. The verification comprised the comparison of the heat flux of radiation from the sky, calculated on the basis of infrared camera measurements, with the energy flux emitted by the sky and measured with a pyrgeometer. The result of the verification is satisfactory. KeywordsQ $ % 8 $ $ $ / E

$ ($ 1 * ) #$ " $ 2 $ % ' ORCID: 0000-0003-0978-8255 [( $ 0 H $ ( M % H 6 = ` [ J ^ 8 = % ( % ( $ F = $ % ( 8 F . 8 F % +!! 8 Z ( % M = G ( 6.T #@M $ I 8 H M % H

63


NR 3/2015

64

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 65–72, DOI: 10.14313/PAR_241/65

M V Z % * + # 1 ' / A . % H $ 0 # $ % H 6 % H $ ( M ( +$ !!=>!S A &*

Streszczenie: W artykule przedstawiono nową koncepcję zastosowania techniki termowizji – steganografię w termowizji. Steganografia jest techniką ukrywania informacji w sposób nieoczywisty i należy do dziedziny nauk związanych z bezpieczeństwem informacyjnym. W artykule przeanalizowano trzy przykłady steganograficznych kanałów – kanałów komunikacji skrytej wykorzystujące urządzenia termowizyjne na trzy różne sposoby. Pierwsza proponowana metoda korzysta z możliwości kształtowania sceny obserwowanej przez kamerę termowizyjną w taki sposób, żeby w termogramie zawarta była dodatkowa informacja. Druga metoda, nazwana ThermoSteg, korzysta z modyfikacji jednego z parametrów kamery termowizyjnej (czasu integracji) jako sposobu kształtowania sygnału zawierającego informację skrytą. Trzecia metoda bazuje na cyfrowych termogramach i sposobach zastępowania w nich martwych pikseli tworząc tzw. zombie piksele przenoszące informacje skryte. Trzy metody zostały zaimplementowane w rzeczywistych warunkach i potwierdzono ich działanie w praktyce. 0 % & # % Q $ ( ( / $ $ % $ 8

1. Wprowadzenie Informacja jest obecnie jednym z podstawowych dóbr, a mechanizmy bezpieczeństwa informacji rozwijają się bardzo szybko. W przypadku większości scenariuszy użytkowania, najlepszym sposobem zabezpieczenia danych jest użycie kryptografii. Jednak w niektórych, szczególnych przypadkach stosuje się podejście alternatywne – steganografię [1, 2]. Steganografia to technika umożliwiająca transmisję danych w sposób skryty. W przypadku steganografii kluczowym czynnikiem jest uczynienie danych „ukrytymi”, aby nikt, kto nie jest uprawniony (poinformowany), nie był w stanie odebrać przekazywanej informacji. To podejście różni się od celu kryptografii, gdzie dane mogą być odbierane przez dowolnego odbiorcę, ale nie mogą być odszyfrowane bez znajomości klucza. Steganografia tworzy tak zwane kanały skryte (ang. covert channels) – kanały komunikacyjne, w których dane są przesyłane w sposób skryty. Kluczowym elementem tych skrytych kanałów jest metoda ukrywania danych. Metoda ta powinna być utrzymywana w tajemnicy, analogicznie jak w metodach kryptograficznych, gdzie tajemnicę stanowi klucz szyfrujący. Skryte kanały

& -/ Q

M E $ E ' % & 0 # % % )+ !* +!+) $ % % )S !S +!+)

!

komunikacyjne można projektować na różne sposoby: zagospodarowując nieużywane bity w nagłówkach protokołów sieciowych, modyfikując parametry czasowe protokołów lub wykorzystując zjawiska, które w większości przypadków są traktowane jako niepożądane lub nieistotne. Większość skrytych kanałów zapewnia przepływność mniejszą niż dziesiątki bitów na sekundę. Istnieją wyrafinowane skryte kanały, które zapewniają przepływność rzędu dziesiątych części bitu na sekundę [2]. Tak niskie wartości przepływności uniemożliwiają korzystanie z ukrytych kanałów do transmisji sygnałów audio lub wideo, ale są wystarczające do sygnalizacji lub podstawowego sterowania urządzeniami. Z punktu widzenia bezpieczeństwa informacyjnego, tak niewielka przepływność nadal stanowi wystarczające parametry do przekazania lub wycieku klucza szyfrującego, prywatnej części podpisu elektronicznego itp. Ponadto niewielka przepływność jest czynnikiem utrudniającym wykrycie kanału skrytego [3]. Skryte kanały mogą być stosowane, gdy fakt obecności komunikacji powinien pozostać tajny np., gdy czujniki poszerzające wiedzę o otoczeniu są umieszczone na wrogim terytorium. Komunikacja steganograficzna między czujnikami utrudni ich wykrycie. Innym, typowym zastosowaniem steganografii może być komunikacja implementowana w tzw. trojanach sprzętowych, czyli ukrytych, nieudokumentowanych funkcjach urządzeń, często służących do zapewnienia możliwości sterowania urządzeniami poza wiedzą jego uprawnionego użytkownika. Skryte kanały i ich zastosowanie to popularny temat badawczy. Zasady tworzenia kanałów skrytych zostały opisane w 1989 r. [4]. Od tego czasu opublikowano wiele nowych i bardziej wyrafinowanych rodzajów kanałów skrytych. Jedną z najbardziej eksploatowanych tematyk jest steganografia w sieciach teleinformatycznych, która wyróżnia dwa rodzaje skrytych kanałów:

65


$

$ A $ @ , ) kanały czasowe i kanały pojemnościowe. Pierwszy typ używa modulacji odstępu między dwoma zdarzeniami sieciowymi, np. początkami transmisji pakietów w kanałach bezprzewodowych [5]. Drugi typ, kanały pojemnościowe, wykorzystuje nieużywane lub modyfikuje częściowo używane pola w protokołach sieciowych. Przykładowy pojemnościowy kanał skryty tworzy metoda StegoBeacon, która eksploatuje pola Timestamp w ramkach Beacon sieci IEEE 802.11 do transmisji informacji [6]. Skryte kanały mogą być również zaimplementowane w innych typach mediów, takich jak dźwięk [7] i obrazy statyczne oraz dynamiczne [8]. Duży wybór różnych typów skrytych kanałów sprawia, że jest to interesujący temat dla zespołów zajmujących się bezpieczeństwem teleinformatycznym w szerokim zakresie. Skryte kanały mogą stanowić narzędzie potencjalnych naruszeń bezpieczeństwa i mogą być użyte do wycieku danych z systemów komputerowych izolowanych od sieci. Przeprowadzono wiele eksperymentów potwierdzających tę możliwość. Przykładowo możliwe jest zastosowanie obrazów o bardzo niskim kontraście lub szybko migoczących, niewidocznych dla ludzi, do przesyłania danych za pomocą wyświetlacza komputera [9]. Innym sposobem jest użycie stosunkowo taniego sprzętu do wykrywania emisji elektromagnetycznej z USB [10]. Promieniowanie cieplne można również wykorzystać jako podstawę dla utworzenia kanału skrytego. Dwa odizolowane sieciowo komputery, mogą komunikować się za pośrednictwem skrytego kanału termicznego. Jeden z komputerów – komputer nadawczy – moduluje obciążeniem procesora, co powoduje zmiany ilości wydzielanego przez ten komputer ciepła. Odczytując czujniki temperatury na drugim komputerze – komputerze odbiorczym [11] otrzymywany jest sygnał, w którym detekowalny jest wpływ ciepła wydzielanego przez sąsiadujący komputer nadawczy. Stworzony w ten sposób kanał skryty umożliwia transmisję steganograficzną z przepływnością 8 bitów na godzinę na odległość do 40 cm. W niniejszym artykule przedstawione zostały możliwości nieoczywistego użycia kamer termowizyjnych do transmisji danych w sposób skryty. Analizom poddano trzy koncepcje, których działanie zostało potwierdzone eksperymentalnie.

natężenia promieniowania. Te dwa stany można interpretować wprost jako dwie różne wartości pojedynczego bitu informacji. Ponieważ zmiany natężenia promieniowania cieplnego nie są widoczne dla ludzkiego oka oraz niewielkie zmiany natężenia promieniowania cieplnego mogą nie być zauważone w termogramie przez obserwatora, możemy mówić o takiej metodzie transmisji, jako o metodzie steganograficznej. Podobna koncepcja, stosująca aktywne oświetlanie laserem została przedstawiona w [12]. Wyobraźmy sobie sytuację, w której kamera termowizyjna obserwuje scenę zawierającą rezystor – najprostszy pasywny element elektroniczny (Rys. 1). Rezystor zasilony jest napięciem przenoszącym sygnał S, którego charakter jest binarny – pojawia się prąd lub prądu nie ma. Przepływ prądu powoduje nagrzanie rezystora zgodnie z prawem Joule’a. Rezystor emituje zmienne natężenie promieniowania, które jest następnie odbierane przez kamerę termowizyjną. Analiza danych z kamery termowizyjnej pozwala na wyselekcjonowanie z całego termogramu obszaru P, w którym analizowany jest sygnał jedynie z interesującego obiektu, będącego nadajnikiem informacji skrytej. Dla obszaru P należy wyznaczyć sygnał SP (n ) złożony ze średnich wartości obszaru w czasie obserwacji: SP (n ) =

Rys. 1. Najprostszy układ do nadawania i odbioru danych przez modulację natężenia promieniowania Fig. 1. The simplest system for transmitting and receiving data by modulating the intensity of radiation

Oczywistym faktem jest, że kamery termowizyjne nie służą do realizacji klasycznych kanałów komunikacyjnych. Ich podstawowy cel jest klarowny. Jednak modyfikując bądź analizując scenę lub różne parametry kamery w trakcie jej działania, istnieje możliwość uzyskania dodatkowego efektu ubocznego – transmisji dodatkowej informacji. W analizie tej skupimy się na trzech sposobach: ukryciu informacji w obserwowanym termogramie, ukryciu informacji przez modyfikację parametrów konfiguracyjnych kamery oraz ukryciu informacji w cyfrowym termogramie.

Sygnał SP (n ) będzie zmieniał się w takt nagrzewania oraz schładzania obserwowanego obiektu, a zatem będzie odwzorowywał takt zmian sygnału wejściowego S. Dokonując prostej klasyfikacji progowej sygnału SP(n) uzyskamy sygnał SPb(n):

gdy SP (n ) < Pt ⎪⎧0 SPb (n ) = ⎨ 1 w pozostalych przypadkach ⎪⎩

S<Z< = - & 0

/ -*

& / W zarejestrowanym przez kamerę termowizyjną obrazie – termogramie – uzyskujemy informację, w dużym uproszczeniu, o rozkładzie natężenia promieniowania podczerwonego emitowanego przez obserwowaną scenę. Zakładając, że istnieje możliwość wpływu na natężenie promieniowania elementów sceny, możemy wyobrazić sobie, że modyfikując natężenie promieniowania wybranych punktów obserwowanej sceny, jesteśmy w stanie zakodować w tym natężeniu informację. Analizując zmiany natężenia promieniowania przy pomocy kamery termowizyjnej (lub w najprostszym przypadku przy pomocy pirometru), istnieje możliwość rozróżnienia dwóch podstawowych stanów – niskiego natężenia promieniowania lub wysokiego P

O

M

I

A

R

Y

A

U

T

O

M

(1)

gdzie X to szerokość wyznaczonego obszaru P, Y to jego wysokość, natomiast Pxy(n) to wartość piksela na pozycji (x, y) -tego termogramu.

S< # % .

- & . # { &

% # - .

66

∑xX= 0 ∑Yy = 0 Pxy (n ) X ⋅Y

(2)

gdzie Pt jest eksperymentalnie dobraną wartością progową. Próbkując sygnał SPb(n) z częstością zmian sygnału S otrzymywany jest sygnał binarny zawierający informację, która modulowała sygnał S. Taki kanał skryty można opisać dwoma podstawowymi parametrami: bitową stopą błędów (BER) oraz przepływnością binarną Bd. Wartości tych parametrów zależą od wielu czynników, które mają wpływ na ilość energii rejestrowaną przez kamerę. Tymi czynnikami są: stała czasowa układu nadawczego, jego emisyjność, NETD kamery, stała czasowa detektora kamery, transmisyjność atmosfery itp. A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% C $ % ,

S<S< & - ,% &

% # - - - &

+ & - & -

h =. W proponowanym rozwiązaniu dwie mikrobolometryczne kamery termowizyjne są zwrócone obiektywami ku sobie (Rys. 2). Jedna z kamer funkcjonuje jako nadajnik informacji skrytych (Tx) natomiast druga jako ich odbiornik (Rx).

2.2.1. Kodowanie danych Kodowanie danych skrytych jest realizowane przy pomocy zmiany jednego z parametrów matrycy mikrobolometrów – czasu integracji (ti). Zmniejszenie tego czasu powoduje, że przez wiersz w matrycy bolometrów prąd płynie krócej, czego efektem jest słabsze samonagrzewanie się elementów z odczytywanego aktualnie wiersza. Analogicznie, zwiększenie t i spowoduje większe nagrzanie się elementów aktualnie odczytywanego wiersza. Różnice te można zdetekować za pomocą kamery odbiorczej. Szczegółowy opis działania układu odczytującego w matrycy mikrobolometrów oraz jego właściwości termodynamiczne przedstawione zostały w [13]. Dane skryte są kodowane dwuwartościowo za pomocą dwóch różnych czasów integracji ti1 oraz ti2.

2.2.2. Odbiór danych

Rys. 2. Kamera nadająca informacje skryte (Tx) oraz kamera odbierająca (Rx) Fig. 2. The transmitting covert information camera (Tx) and the receiving camera (Rx)

W obszarze obserwowanym przez kamerę Rx można wyróżnić obszar, w którym widoczna jest soczewka kamery Tx ROI (ang. Region of Interest). Obszar ten o wymiarach Xp ⋅ Yp pikseli jest zaznaczony na Rys. 3. Należy dodać, że obie kamery pracują w normalnym trybie umożliwiającym rejestrację termogramów i tworzony kanał komunikacji skrytej nie powoduje ograniczenia możliwości zasadniczej pracy kamery.

W obszarze obserwowanym (ROI) znajduje się Xp ⋅ Yp pikseli. Dla zwiększenia stosunku mocy sygnału do szumu, wyliczana jest średnia wartość wszystkich obserwowanych pikseli Fn dla każdego termogramu:

∑x 2=x1 ∑y 2=y1 pxy (n ) x

F (n ) =

y

(x 2 − x1 )(y 2 − y1 )

(3)

gdzie pxy(n) to wartość piksela o współrzędnych (x, y) w n-tym termogramie, x1 oraz x2 to numery pierwszej i ostatniej kolumny analizowanego obszaru, natomiast y1 oraz y2 to numery pierwszego i ostatniego wiersza analizowanego obszaru. Powstaje w ten sposób zbiór F = {F(0), F(1), …, F(N)}, który jest sygnałem próbkowanym z częstotliwością pracy kamery fp. Konieczność uśredniania w operacji (3) pozwala wyeliminować dryft temperaturowy kamery. W przebiegu sygnału F są zauważalne zmiany o niskiej częstotliwości wynikające z oddziaływania czynników zewnętrznych, tj. zmiany temperatury otoczenia kamery. Do dalszej analizy należy odfiltrować jedynie zmiany o wyższej częstotliwości: F ′ (n ) = F (n ) −

∑ni=n −w F (i ) dla n = {w , w + 1,! , N } w

(4)

gdzie F ¢(n) to n-ta próbka sygnału F ¢, to długość sygnału F, w to szerokość zastosowanego okna. Szerokość okna w należy dobrać eksperymentalnie do charakteru zmian obserwowanych w sygnale. Wynikowy przykładowy sygnał F ¢(n) jest przedstawiony na rys. 4.

Rys. 3. Obraz rejestrowany przez kamerę Rx po korekcji niejednorodności. W wyróżnionym kwadracie widoczny obiektyw kamery Tx. Widoczny wokół obiektywu ciemny okrąg to jego metalowa obudowa Fig. 3. The image recorded by the Rx camera after the non-uniformity correction. The Tx camera lens is visible in the highlighted square. The dark circle around the lens is its metal housing

Kamera Tx korzysta z matrycy mikrobolometrów. Metoda odczytu danych z takiej matrycy polega na odczycie wartości z kolejnych wierszy sensorów. W trakcie odczytu wiersza sensorów w matrycy, przez odczytywany wiersz sensorów przepływa prąd, co powoduje chwilowe zwiększenie temperatury bolometrów umieszczonych w tym wierszu. Zmiana temperatury wiersza jest widoczna w termogramie rejestrowanym przez kamerę Rx jako linia o większej jasności.

Rys. 4. Sygnał F¢(n) po usunięciu składowej wolnozmiennej Fig. 4. F¢(n) signal after removal of low frequency components

67


$

$ A $ @ , ) Istnieje zatem możliwość wydobycia sygnału F ¢b, czyli binarnej informacji skrytej odpowiadającej informacji osadzonej pierwotnie w sygnale F.

Na rys. 4 wyraźnie widać momenty większej oraz mniejszej amplitudy sygnału. Z punktu widzenia pomiaru zmienności sygnału istotną informację niesie moc sygnału:

Fp′ (n ) = [F ′ (n )]

2

2.2.3. Dekodowanie danych

(5)

Sygnał binarny F ¢b to sygnał próbkowany z częstotliwością pracy kamery fp. Natomiast jeden bit informacji skrytej jest zapisany w ciągu jednakowych wartości próbek sygnału F ¢b o określonej liczbie próbek sygnału na jeden bit skryty W:

Sygnał F ¢p(n) jest następnie uśredniany w oknie czasowym o szerokości w¢. Wynikiem tego uśrednienia jest sygnał F ¢f (n) obliczony z (6). Przykładowy sygnał uzyskany w ten sposób przedstawiono na Rys. 5:

fp

W =

Ff′ (n ) =

∑ni =n −w ′ Fp′

(i )

gdzie B to założona skryta przepływność binarna (np. 2 b/s). Na podstawie tej informacji realizowany jest proces dekodowania ciągu binarnego. Algorytm dekodowania znajduje moment wystąpienia pierwszej zmiany wartości próbki wejściowego sygnału F ¢b, uznając to za początek bitu skrytego. Następnie algorytm uśrednia wartość W próbek liczonych od początku bitu skrytego. Jeśli średnia wartość tych próbek jest większa od 0,5, to jest to klasyfikowane jako skryty bit . W przeciwnym przypadku jest to skryty bit .

(6)

w′

(8)

B

Wartość w¢ została dobrana eksperymentalnie z uwzględnieniem charakteru otrzymanego sygnału.

S<T< ) & h % -

Trzecia proponowana metoda steganografii w termowizji korzysta z niepożądanej cechy matryc stosowanych w kamerach termowizyjnych – relatywnie dużej (większej niż w matrycach kamer widzialnych) liczby uszkodzonych pikseli. W matrycach kamer termowizyjnych występują sensory, z których odczytana wartość nie zmienia się w zależności od obserwowanej sceny. Mogą to być tzw. martwe piksele (ang. dead pixels) lub gorące piksele (ang. hot pixels). Dla lepszego zobrazowania, stosowane są metody zastępowania wartości odpowiadających tym pikselom w termogramie wartościami, które nie pogarszają parametrów statystycznych termogramu. Metody zastępowania wartości martwych i gorących pikseli są dobrze opisane w literaturze [14, 15]. Jednym z najprostszych sposobów zastępowania wartości uszkodzonych pikseli jest zastąpienie go wartością średnią obliczoną z wartości jego najbliższych sąsiadów z tego samego wiersza termogramu:

Rys. 5. Sygnał F¢f (n) Fig. 5. F¢f (n) signal

W sygnale F ¢f(n) wyraźnie widać przebieg o charakterze binarnym. Aby utworzyć binarny sygnał F ¢b(n) należy dokonać progowej klasyfikacji próbek:

⎪⎧1 gdy F f′ (n ) ≥ F f′ F b′ (n ) = ⎨ ′ < F f′ ⎪⎩0 gdy F fn

v (n ) =

(7)

v (n − 1) + v (n + 1) 2

(9)

gdzie v(n) to wartość piksela w pozycji n. gdzie F ¢f to średnia wartość wszystkich próbek sygnału F f′ . Wartość zastąpionego piksela nie wnosi do termogramu dodatkowej informacji o scenie – jest redundantna. Charakterystyką uszkodzonych pikseli jest to, że występują w każdej, rejestrowanej przez kamerę ramce termogramu. Oznacza to, że w cyfrowym strumieniu danych przychodzącym z kamery mamy wewnętrzny strumień redundantnych danych o przepływności:

Przykład sygnału F ¢b jest przedstawiony na Rys. 6. Charakter sygnału F ¢b odpowiada sygnałowi wymuszenia sygnałem odpowiadającym danym skrytym po stronie kamery Tx.

Bd = fp × L × bpp

(10)

gdzie fp to liczba ramek generowanych przez kamerę w ciągu sekundy, L to liczba uszkodzonych pikseli w termogramie, natomiast bpp to liczba bitów przypadających na jedną próbkę (piksel). Przykładowo, jeśli w termogramie jest tylko jeden uszkodzony piksel, kamera rejestruje 30 klatek w ciągu sekundy a każdy piksel zapisywany jest za pomocą 16-bitowej liczby, to redundantny strumień danych ma przepływność Bd = 480 b/s. Istnieje prosta możliwość wykorzystania tego faktu do transmisji dodatkowej, skrytej informacji. Do kodowania informacji należy zastosować prostą zależność: jeśli kodowany bit informacji skrytej ma wartość 0, to wartość zastępująca wartość uszkodzonego piksela powinna być mniejsza od wartości średniej v (n ) .

Rys. 6. Binarny sygnał F¢b (n) Fig. 6. F¢b(n) binary signal

68

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% C $ % , W przypadku skrytego bitu 1, wartość zastępująca powinna być wyższa od średniej. Dzięki temu istnieje możliwość wprowadzenia jednego bitu informacji skrytej na każdy uszkodzony piksel termogramu. Różnice między zastępującą wartością, a wartością średnią v (n ) powinny być możliwie najmniejsze, np. {–1, +1} – wartości te tworzą zbiór wprowadzanych różnic. Przykładowo, jeśli uszkodzony jest piksel na pozycji 9., piksel na pozycji 8. ma wartość cyfrową 23 921, a piksel na pozycji 10. ma wartość cyfrową 23 893, to wartość v (10) wynosi 23 907. Aby zakodować skryty bit 0, piksel na pozycji 10. zastąpiony zostanie wartością 23 906, a w przypadku bitu skrytego 1 wartością 23 908. Przykład takiego kodowania przedstawiono na Rys. 7. W przypadku kodowania wartości piksela na 16 bitach, zmiana cyfrowej wartości o ±1 oznacza zmianę wartości piksela o 0,0015 % w stosunku do całego zakresu możliwych wartości.

Zombie piksele mogą zatem być użyte jako kanał komunikacji dla sprzętowego trojana wbudowanego w kamerę termowizyjną lub do celów cyfrowego znakowania obrazów (watermarking), dodawania znaczników czasu (timestamping) lub skrytego podpisu elektronicznego termogramu, na przykład do celów dowodowych.

T< [ & W celu potwierdzenia praktycznej możliwości transmisji danych skrytych w termogramie wykonane zostały eksperymenty, które potwierdziły skuteczność działania tych metod.

T<Z< [ { % + - -

& - # # & -* Do eksperymentu została użyta prosta matryca złożona z dziewięciu rezystorów o nominalnej mocy 0,25 W (rys. 8).

Rys. 7. Przykład kodowania bitu informacji skrytej w zombie pikselu Fig. 7. The example of covert bit coding in the zombie pixel

Jeśli powiększymy zbiór wprowadzanych różnic, np. {–2, –1, +1, +2}, uzyskamy możliwość przesłania więcej niż jednego bitu informacji skrytej w każdym uszkodzonym pikselu. Rozmiar zbioru wprowadzanych różnic należy dobrać eksperymentalnie mając na uwadze charakterystykę strumienia termogramów. Wykorzystując sygnał uszkodzonych pikseli w ten sposób istnieje możliwość przesłania dodatkowego strumienia danych skrytych o przepływności: Bs = fp × L × log2(n)

(11)

gdzie N to rozmiar zbioru wprowadzanych różnic. Przykładowo, jeśli kamera rejestruje 30 klatek na sekundę, w termogramie jest tylko jeden uszkodzony piksel, a rozmiar zbioru wprowadzanych różnic wynosi 2, to w ten sposób stworzony kanał komunikacji skrytej pozwala na przesłanie 30 b/s. W zastosowaniach steganograficznych jest to duża wartość. Uszkodzony piksel, który do tej pory był martwym lub gorącym pikselem, zaczyna przenosić pewną informację skrytą – staje się tzw. zombie pikselem. Metoda eksploatująca zombie piksele jest tzw. nieślepą metodą steganograficzną (ang. non-blind steganographic method). Odbiornik danych skrytych musi mieć a priori wiedzę o pozycjach zombie pikseli w termogramie. Odczytaną wartość zombie piksela porównuje się z odpowiadają mu wartością v (n ) i na tej podstawie dokonuje klasyfikacji bitu skrytego. Dane skryte, które zostały zakodowane tym sposobem, nie zostaną zmodyfikowane ani utracone jeśli strumień termogramów nie zostanie poddany np. kompresji stratnej. Wynika to z faktu, że dane skryte są wprowadzane już w cyfrowej reprezentacji termogramów. Ponieważ zastępowanie wartości uszkodzonych pikseli najczęściej ma miejsce już w samej kamerze, to koderem informacji skrytej staje się właśnie ta kamera.

Rys. 8. Matryca rezystorów użyta w eksperymencie Fig. 8. Resistor matrix used in the experiment

Rezystory były podłączone do wyjść cyfrowych układu Arduino Nano, dzięki czemu istniała możliwość swobodnego sterowania każdym z nich z osobna. W trakcie eksperymentu rejestrowane były termogramy przy pomocy kamery termowizyjnej wyposażonej w matrycę mikrobolometryczną firmy Lynred o rozdzielczości 640 × 480 pikseli. Kamera była oddalona od matrycy rezystorów o około 1,5 m, a obszar obrazu zawierający matrycę rezystorów zajmował około 10 % całej powierzchni termogramu. Przez wybrane rezystory płynął prąd o natężeniu 20 mA. Efektem przepływu prądu było wydzielanie się ciepła na rezystorach. W ramach sprawdzenia możliwości przesłane zostały dwa wzory za pomocą matrycy rezystorów odpowiadające dziewięciobitowym ciągom binarnym 1010101 oraz 010101010. Wzory zostały przedstawione na rys. 9a) oraz 9b). Czas trwania każdego wzoru wynosił ts = 20 s, między wzorami była przerwa tp = 20 s, w trakcie której nie płynął prąd przez żaden z rezystorów. Kamera rejestrowała dane z częstością fp = 5 Hz. Po zarejestrowaniu termogramów dokonano prostej analizy obrazu polegającej na wyznaczeniu obszarów termogramu, które odpowiadają poszczególnym rezystorom. Dla każdego z wyznaczonych obszarów wyliczono wartość średnią pikseli w obszarze, a następnie od tej wartości odjęto wartość średnią całego termogramu w celu zlikwidowania wpływu dryftu kamery i temperatury otoczenia:

69


$

$ A $ @ , )

Sx (n ) = S (n ) − F (n )

Analiza odbywała się w oprogramowaniu napisanym w języku Python na komputerze typu PC. W celu wyznaczenia parametrów metody, dokonano prób transmisji 100 pakietów danych o długości 32 bitów każdy. Pakiety danych poprzedzane były ośmiobitową preambułą, która służyła jako znacznik ich początku. Eksperyment powtórzono dla trzech różnych zakładanych przepływności binarnych W = {1, 2, 4} b/s oraz trzech zestawów czasów integracji: ti1 = (82,05 μs; 328,21 μs), ti2 = (123,08 μs; 287,18 μs), oraz ti3 = (164,10 μs; 246,15 μs). Podczas wyznaczania bitowej stopy błędów nie były uwzględniane ewentualne błędy w preambułach.

(12)

gdzie S (n ) to średnia wartość obszaru w n-tej ramce a F (n ) to wartość średnia n-tej ramki całego termogramu. Wyniki analizy zostały przedstawione na Rys. 10.

a)

b)

Rys. 9. Termogramy z zarejestrowanymi wzorami na matrycy rezystorów: a) sygnał binarny 101010101, b) sygnał binarny 010101010 Fig. 9. Thermograms with patterns registered on a matrix of resistors: a) binary signal 101010101, b) binary signal 010101010

Rys. 11. Kamery użyte w eksperymencie Fig. 11. Cameras used in the experiment Tabela 1. Bitowa stopa błędów Table 1. Bit Error Rate

Rys. 10. Wartości sygnałów wyznaczone w eksperymencie Fig. 10. Values of signals determined in the experiment

M

I

A

R

Y

A

U

T

O

M

1 b/s

0,00 %

0,03 %

4,28 %

2 b/s

5,87 %

12,09 %

9,06 %

4 b/s

18,94 %

18,78 %

18,74 %

Eksperyment przeprowadzono z użyciem kamery mikrobolometrycznej wyposażonej w matrycę 80 × 80 pikseli firmy Lynred. Matryca miała dwa martwe piksele, które stały się nośnikiem informacji skrytej — zombie pikselami. Kamera rejestrowała ramki z częstością fp = 45 Hz. Strumień danych generowany przez kamerę miał przepływność Bj = 80 ⋅ 80 ⋅ 45 Hz ⋅ 16 bpp = 4 608 000 b/s. W kamerze uruchomiono programowy moduł zastępowania martwych pikseli, a cały układ transmisyjny był zbudowany jak przedstawiono na Rys. 12. Do transmisji zastosowano dwuelementowy zestaw wprowadzanych różnic, co pozwoliło na przesłanie jednego bita skrytego w każdym martwym pikselu w każdej ramce. Przepływność takiego skrytego kanału wyniosła Bs = 45 Hz × 2 × log2(2) = 90 b/s. Dane rejestrowane były przez odbiornik danych wyposażony w ekstraktor danych skrytych. Po przetransmitowaniu 1000

W trakcie eksperymentów korzystano z dwóch kamer termowizyjnych używających układów FPGA Cyclone V oraz matryc Lynred Micro80 (o rozdzielczości 80 × 80 pikseli) [1]. Matryce kamer ustawione były na przeciwko siebie w odległości 14 cm (Rys. 11). Kamery pracowały pod kontrolą systemu GNU/Linux i transmitowały dane z użyciem dedykowanego protokołu opartego o UDP przez sieć pracującą w standardzie Gigabit Ethernet. Kamery generowały termogramy z częstością fp = 45 Hz. O

ti3

T<T< [ { % + - & -

# { # &

T<S< [ { % + - & - # #

& -* ,% &

% # - - h =.

P

ti2

Dla przepływności 1 b/s i dwóch zestawów czasów integracji udało się zdekodować informacje bezbłędnie lub niemal bezbłędnie. Dla zastosowanej przepływności 2 b/s uzyskane stopy błędów w zakresie ok. 6 % stwarzają szanse na bezbłędną transmisję przy zastosowaniu kodów korekcyjno-detekcyjnych w warstwie informacyjnej. Uzyskane wyniki potwierdziły praktyczną możliwość utworzenia kanału skrytego metodą ThermoSteg. Wartości bitowej stopy błędów dla przepływności większych niż 2 b/s mogą stanowić istotną przeszkodę w realizacji komunikacji.

Na wykresie (Rys. 10) wyraźnie widać momenty, w których prąd płynął przez rezystory. Tym samym łatwo można zdetekować czy rezystor przekazywał bit “1” lub “0” skrytej informacji. Pierwszy wzór (Rys. 9a) złożony z pięciu włączonych rezystorów widać wyraźnie w czasie t1 = 20 s do t2 = 40 s. Drugi wzór złożony z czterech włączonych rezystorów jest natomiast widoczny w czasie t3 = 60 s do t4 = 80 s. Przebadany kanał skryty, w zastosowanej konfiguracji, pozwolił na przesłanie 9 bitów informacji skrytej w ciągu 20 sekund, czyli przepływność binarna kanału wyniosła Bd = 0,45 b/s. Tę wartość można poprawić skracając czas nagrzewania rezystorów oraz dodając nowe rezystory do matrycy, jednak nie było celem tego artykułu badanie granicznej wartości przepływności binarnej metody, a jedynie zasygnalizowanie możliwości metody.

70

ti1

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


% C $ % , nie jest ukrywana w zwykłych transmisjach radiowych. Wykrycie takiej transmisji skrytej wymaga zastosowania bardzo trudno dostępnych analizatorów widma dla wysokich częstotliwości oraz nieszablonowego sposobu analizy sygnałów. Ta cecha pozwala na zastosowanie metod steganografii w termowizji np. na polu walki do przekazywania komunikatów awaryjnych lub niestandardowego sposobu uwierzytelniania korespondencji radiowej.

# *& % -

Rys. 12. Schemat eksperymentu z transmisją skrytą korzystającą z zombie pikseli Fig. 12. The idea of experiment with zombie pixels

ramek, w których osadzonych zostało 2000 bitów udało się po stronie odbiorczej, w sposób bezbłędny, odzyskać 2000 bitów skrytych. Potwierdziło to skuteczność proponowanego kanału skrytego. Zerowa stopa błędów w tej metodzie wynika z realizacji metody już w cyfrowym strumieniu danych, wolnym od zakłóceń.

U< % Przedstawione w artykule przykłady metod ukrywania informacji w termowizji udowadniają, że nieoczywiste zastosowanie tej techniki do transmisji może być z sukcesem zaimplementowane w praktyce. Przepływności binarne danych skrytych w utworzonych kanałach komunikacji są niewielkie w porównaniu do przepływności uzyskiwanych w nowoczesnych jawnych łączach teleinformatycznych, jednak wystarczające do realizacji zarówno celów nieporządnych jak i uzyskania dodatkowych funkcjonalności. Kanały steganograficzne, ze swej natury, muszą cechować się niewielkimi przepływnościami, aby zachować odporność transmisji na czynniki degradujące oraz pozostać trudnymi do wykrycia [17]. Uzyskane przepływności kanałów skrytych są odpowiednie dla typowych zastosowań steganografii. Przykładowo, korzystając z prezentowanej metody ThermoSteg, możliwe jest ujawnienie 256-bitowego klucza kryptograficznego dowolnej kamerze termowizyjnej obserwującej kamerę nadawczą, w czasie ok. 4 minut. Taka transmisja dużo szybciej dokona się przy użyciu zombie pikseli, nawet jeśli będzie to tylko jeden zombie piksel w termogramie. Demonstracja takiego kanału komunikacji może przyczynić się do szerszych badań potencjalnych mechanizmów nadużyć bezpieczeństwa w sprzęcie dotychczasowo uznawanym za sprzęt o niskim ryzyku wycieku informacji. Instytucje zajmujące się audytami bezpieczeństwa powinny być zainteresowane opracowaniem obszerniejszych metod badania tego typu sprzętu. Ze względu na stale rosnącą liczbę urządzeń działających w tak zwanej technologii „Internet of Things”, również takich, które zawierają tanie kamery termowizyjne, przedstawiony temat jest ważny w kontekście bezpieczeństwa. Większość z tych urządzeń ma oprogramowanie układowe o zamkniętym kodzie źródłowym, w którym można wdrożyć podobne metody steganograficzne i ujawniać poufne lub prywatne informacje. W trosce o bezpieczeństwo powinno wzrosnąć znaczenie oprogramowania typu open source i urządzeń z otwartym sprzętem. Artykuł pokazuje, że stosunkowo szybki kanał ukryty może być łatwo opracowany i zaimplementowany w ogólnie dostępnych urządzeniach. Steganografia w termowizji tworzy również zupełnie nowe, do tej pory nie rozważane, rozwiązanie problemu transmisji w warunkach tzw. ciszy radiowej, podczas której nie mogą być używane klasyczne środki łączności bezprzewodowej. Mogą być do tego celu wykorzystane dwie metody: metoda modyfikacji sceny oraz metoda ThermoSteg. Ich działanie, z punktu widzenia odbiorników łączności bezprzewodowej, jest niezauważalne, a informacja

Projekt był częściowo finansowany w ramach pracy naukowej finansowanej przez Narodowe Centrum Badań i Rozwoju, projekt nr DOB-2P/02/09/2018 oraz częściowo z funduszy badawczych Instytutu Optoelektroniki WAT. Metoda ThermoSteg jest przedmiotem zgłoszenia patentowego nr WIPO ST 10/C PL437673.

[ 1. Mishra R., Bhanodiya P., A Review on Steganography and Cryptography. [In:] 2015 International Conference on Advances in Computer Engineering and Applications, 119–122. DOI: 10.1109/ICACEA.2015.7164679. 2. Lubacz J., Mazurczyk W., Szczypiorski K., Principles and Overview of Network Steganography. “IEEE Communications Magazine”, Vol. 52, no. 5, 2014, 225–229, DOI: 10.1109/MCOM.2014.6815916. 3. Griberman D., 2013. Development of Requirements Specification for Steganographic Systems. 4. Wolf M., Covert Channels in LAN Protocols. [In:] Local Area Network Security Workshop, 89–101, 1989. Springer, DOI: 10.1007/3-540-51754-5_33. 5. Tahmasbi F., Moghim N., Mahdavi M., Adaptive Ternary Timing Covert Channel in IEEE 802.11. “Security and Communication Networks”, Vol. 9 (16). Wiley Online Library: 3388–3400, DOI: 10.1002/sec.1545. 6. Sawicki K., Piotrowski Z., The Proposal of IEEE 802.11 Network Access Point Authentication Mechanism Using a Covert Channel. [In:] 2012 19th International Conference on Microwaves, Radar & Wireless Communications, Vol. 2, 656–59, DOI: 10.1109/MIKON.2012.6233587. 7. Tabara B., Wojtuń J., Piotrowski Z., Data Hiding Method in Speech Using Echo Embedding and Voicing Correction. [In:] 2017 Signal Processing Symposium (Spsympo), 1–6, DOI: 10.1109/SPS.2017.8053697. 8. Lenarczyk P., Piotrowski Z., Novel Hybrid Blind Digital Image Watermarking in Cepstrum and Dct Domain. [In:] 2010 International Conference on Multimedia Information Networking and Security, 356–61, DOI: 10.1109/MINES.2010.81. 9. Guri M., Hasson O., Kedma G., Elovici Y., An Optical Covert-Channel to Leak Data Through an Air-Gap. [In:] 14th Annual Conference on Privacy, Security and Trust (Pst), 2016, 642–649. IEEE. 10. Guri M., Monitz M., Elovici Y., USBee: Air-Gap Covert-Channel via Electromagnetic Emission from USB. [In:] 14th Annual Conference on Privacy, Security and Trust (Pst), 2016, 264–268. IEEE. 11. Guri M., Monitz M., Mirski Y., Elovici Y., BitWhisper: Covert Signaling Channel Between Air-Gapped Computers Using Thermal Manipulations. [In:] IEEE 28th Computer Security Foundations Symposium, 2015, 276–89, DOI: 10.1109/CSF.2015.26. 12. Uzun C., Kahler N., de Peralta L.G., Kumar G., Bernussi A.A., Programmable Infrared Steganography Using Photoinduced Heating of Nanostructured Metallic Glasses. [In:] 2017 Conference on Lasers and Electro-Optics (Cleo), 1–2. IEEE. 13. Bieszczad G., Kastek M., Measurement of Thermal Behavior of Detector Array Surface with the Use of Microscopic

71


$

$ A $ @ , ) Thermal Camera. “Metrology and Measurement Systems”. Polish Academy of Sciences Committee on Metrology; Scientific Instrumentation, Vol. 18, No. 4, 2011, 679–690, DOI: 10.2478/v10178-011-0064-6. 14. Ratliff B.M., Tyo J.S., Boger J.K., Black W.T., Bowers D.L., Fetrow M.P., 2007. Dead Pixel Replacement in LWIR Microgrid Polarimeters. “Optics Express”, Vol. 15, No. 12, 2007, 7596–7609, DOI: 10.1364/OE.15.007596. 15. Nguyen, Chuong T, Mould N., Regens J.L., Dead Pixel Correction Techniques for Dual-Band Infrared Imagery.

“Infrared Physics and Technology”, Vol. 71, 227–35, 2015, 10.1016/j.infrared.2015.04.006. 16. Bieszczad G., Gogler S., Krupiński M., Ligienza A., Sawicki K., The Concept of Thermovision Sensor Supporting the Navigation of Unmanned Aerial Platforms. “Measurement Automation Monitoring”, Vol. 65, No. 1, 15–18, 2019. 17. Cox I.J., Miller M., Bloom J., Fridrich J., Kalker Ton., Digital Watermarking and Steganography. Morgan Kaufmann, DOI: 10.1016/B978-0-12-372585-1.X5001-3.

H ( V . E 6 8 % GP Abstract: The article presents a new concept of using thermography – steganography in thermography. Steganography is a technique of hiding information in a non-obvious way and belongs to the field of science related to information security. This article examines three examples of steganographic channels – covert communication channels that use thermal imaging devices in three different ways. The first proposed method uses the possibility of alternating the scene observed by the infrared camera in a way that additional information is included in the thermogram. The second method, called ThermoSteg, uses modification of one of the parameters of the thermal imaging camera (integration time) to embed the signal containing hidden information. The third method is based on digital thermograms and the methods of replacing dead pixels in them by creating the so-called zombie pixels carrying secretive information. Three methods have been implemented under real conditions and proven to work in practice. * Q ( $ ( ( $ $ E % % $ 8

($ * + #

($

E ' % ORCID: 0000-0002-1368-3854

( ( 8 %' % ORCID: 0000-0001-8048-2609

_ A % G A . % = H +!!> X % ( ( E 8 = % 8 A.H +!)> X ( = [ 8 = % $ 8 _ E = $ ( ( E 8 %

_ +!!S A [ . % H = [ A % G _ % +!)+ #8 ( %= [ = F E $ ( = F %F ;6R. [ E = 8 $ 8 F

($ 1 '

/

' % ORCID: 0000-0003-4082-8366

' % % ORCID: 0000-0002-0079-1960

.8 A % G A . = % H K)>> L H % +!! = 8 [ [ [ ( = F E $ E [ = [ ( $ [ 8 ( E ( $ Z %F = ( %

% A % G A . = % H ? ( % = [ E % 8 = ;J"

72

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 73–78, DOI: 10.14313/PAR_241/73

% 8 % ( 3$ 3 4 6 # $ A % G $ . 0 E $ ( )$ &<=+-+ #

! 3 +5

F F M 9 ( % ? J Z B (% _ $ B (% _ ) $ &*=+ B[ F

Streszczenie: Obecnie postęp w rolnictwie sprowadza się do obniżenia kosztów produkcji roślinnej. Jednym z rozwiązań jest rolnictwo precyzyjne, które pozwala na oszczędności w nawożeniu, opryskach oraz nawadnianiu. Rolnictwo precyzyjne głównie opiera się na metodach pomiaru wegetacji i warunków geologicznych. W tym celu wykorzystuje się technikę lotniczą oraz bardzo popularne drony do mapowania pól. Na tej podstawie określa się obszary wymagające pielęgnacji. Zastosowanie technik komputerowych usprawnia proces mapowania oraz określenia współczynników wegetacji. W niniejszej pracy przedstawiono komputerową metodę mapowania areału rolnego połączoną z analizą obrazu i wyznaczaniem współczynników wegetacji. 0 % & # % Q F $ 8 $ F (

1. Wprowadzenie Produkcja rolna od wielu lat stanowiła ważną gałąź gospodarki. Efektywność produkcji rolniczej stanowi istotny element w tego rodzaju produkcji. Obecnie rozróżnia się dwa typy gospodarki rolnej: rolnictwo ekstensywne i intensywne [1]. Rolnictwo ekstensywne – polega na tym, że nie stosuje się środków ochrony roślin, co znacząco obniża koszty produkcji. Niestosowanie nawozów jednak znaczne zmniejsza plony. Dodatkowo nieuzupełnianie składników pokarmowych w glebie prowadzi do jej wyjałowienia. Rolnictwo ekstensywne występuje w krajach słabo rozwiniętych i mniej zaludnionych, takich jak kraje Afryki. Innym przykładem rolnictwa ekstensywnego są gospodarstwa, gdzie rolnicy dysponują rozległymi terenami, np. USA. Tam na dużych mało żyznych glebach uprawy bez nawozów są opłacalne, gdyż nie wymagają znacznych wkładów inwestycyjnych, a znaczne plony osiąga się głównie przez uprawianie bardzo dużych obszarów. Rolnictwo intensywne – polega na uzyskaniu jak największej wydajności i jak największego zysku przez zastosowanie nowoczesnych metod uprawy, oprysków czy intensywnego nawożenia. Nie byłoby to możliwe, gdyby nie

& -/ Q

" 9 [ $ [ ' % & 0 # % % !- !- +!+) $ % % )* !S +!+)

!

zaawansowana technika oraz zastosowanie nowoczesnych technologii. Poza inżynierią genetyczną zajmującą się poszukiwaniem nowoczesnych odmian roślin, które przystosowują się do panujących warunków atmosferycznych czy glebowych, dużą rolę odgrywa technologia nawożenia i oprysków. Intensywne nawożenie powoduje zanieczyszczenie środowiska, przede wszystkim wód gruntowych. Znaczne obniżenie kosztów produkcji i zmniejszenie wpływu na środowisko uzyskuje się przez zastosowanie rolnictwa precyzyjnego [2]. Polega ono na analizowaniu warunków glebowych, które wpływają na wzrost roślin oraz śledzeniu porostu upraw. Takie podejście wymaga zastosowania odpowiednich technik pomiarowych umożliwiających monitorowanie porostu upraw. Tego rodzaju monitoring umożliwia wyodrębnienie obszarów, do których selektywnie należy dostarczyć odpowiednią ilość nawozów. Rozwiązanie to pozwala na zminimalizowanie ilości nawozów rozpylanych na areale rolnym. Wymaga to zastosowania odpowiedniego sprzętu rolniczego umożliwiającego precyzyjne pozycjonowanie nawożenia oraz metod pomiarowych do określania stanu porostu oraz warunków geologicznych. Stopień nawożenia nie jest jedynym czynnikiem mającym wpływ na porost, należy również uwzględnić warunki atmosferyczne, rodzaj uprawianej gleby oraz dziko żyjące zwierzęta. Idea rolnictwa precyzyjnego polega na minimalizacji skutków negatywnych działań i poprawie opłacalności produkcji. W pracy omówiono badania, w których wykorzystano drony do monitorowania areału rolnego [3, 4] oraz technikę komputerowej analizy obrazu do określenia stopnia porostu. Prace przeprowadzono na przykładowym areale rolnym w Zespole Szkół Centrum Kształcenia Rolniczego w Bogdańczowicach. Analizę przeprowadzono na podstawie pomiaru porostu jęczmienia ozimego, posadzonego na gle-

73


> $) $ ) $

" $ bie klasy IV. Plony pozyskane z tego rodzaju gleby są na średnim poziomie. Głównym celem badań było wykazanie możliwości zastosowania technik analizy obrazu pozyskanego z drona dla areałów kilku do kilkunastu hektarowych. Tego rodzaju areały występują w bardzo dużej liczbie gospodarstw rolnych na terenie Polski. Dla dużych obszarów rolnych monitorowanie upraw prowadzone jest w oparciu o metodę ortofotomapy, powstałej ze złożenia zdjęć lotniczych i satelitarnych. Rozwiązanie to jest uzasadnione dla obszarów o powierzchni dziesiątek a nawet setek hektarów. Jest ono wykorzystywane przez Agencję Restrukturyzacji i Modernizacji Rolnictwa w celu weryfikacji wielkości upraw oraz zachowania odpowiedniej kultury rolnej. W przypadku średnich gospodarstw rolnych, w celu prowadzenia rolnictwa precyzyjnego, bardziej uzasadnione jest wykorzystanie dronów do sporządzenia ortofotomapy. Sporządzanie takich map wykonuje się kilkakrotnie podczas procesu wegetacji. Szczególnie w okresach przed zaplanowanym nawożeniem lub w okresach, w których występuje mniejsza ilość opadów atmosferycznych. W tej skali zastosowanie technik niewymagających zaawansowanego skomplikowanego sprzętu do sporządzania ortofotomapy (samoloty lub dostęp do zdjęć satelitarnych) jest wysoce pożądany. Drony stanowią w tym przypadku dobre rozwiązanie uzasadnione ekonomicznie.

Rys. 1. Dopasowanie parametrów obrazu Fig. 1. Adjusting image parameters

Mapowanie jest nieodłączną częścią rolnictwa precyzyjnego. Polega ono na wykonaniu precyzyjnych zdjęć z dużą rozdzielczością. Ze względu na wymaganie, aby na mapie widoczna była odpowiedzenia liczba szczegółów, robienie zdjęć całego areału z dużej wysokości jest nieopłacalne ze względu na kosztowny sprzęt fotograficzny konieczny do wykonania tego rodzaju zdjęć. Dlatego obecnie najczęściej do tego rodzaju zastosowań wykonuje się ortofotomapy [4]. Technika ta polega na wykonaniu szeregu zdjęć poklatkowych terenu, a następnie złożeniu tych zdjęć w jedną całość z zachowaniem skali i pozycjonowania. Na potrzeby niniejszej pracy wykonano ortofotomapy obszaru badanego w okresie jesiennym i wiosennym za pomocą drona. Wykonano ortofotomapę terenu o powierzchni 5,28 ha. Szereg zdjęć poklatkowych wykonanych dronem z wysokości 50 m połączono w jedna mapę w programie Photoshop CS6. Tworząc mapę ze zdjęć poklatkowych konieczne jest wykonanie skalowania w celu zastosowano autoskalowania dostępnego w oprogramowaniu. Drugim ważnym elementem jest dopasowanie parametrów obrazu. Polega ono na skorygowaniu kontrastu i nasycenia barw dla poszczególnych zdjęć obrazu. Na rysunku 1 przedstawiono przykładowy obraz po skalowaniu i pozycjonowaniu obrazu. Na linii połączenia obrazów wyraźnie jest widoczna różnica w kontraście i nasyceniu obrazów. Konieczne jest uśrednienie parametrów obrazu takich jak kontrast i nasycenie. Brak uśrednienia tych parametrów może prowadzić do uzyskania błędnych wyników komputerowej analizy obrazu. Dopasowanie parametrów obrazu polega na określeniu kontrastu i nasycenia oddzielnie dla każdego ze zdjęć w taki sposób, aby nakładające się na siebie piksele uzyskały takie same wartości RGB.

S< 0 Podstawą analizy porostu roślin jest zmapowanie areału w celu określenia warunków geologicznych i stopnia porostu zboża. W tym celu wykorzystano zdjęcia poklatkowe z drona. Do badań wykorzystano drona DJi Phantom 3 Advanced. Dron ten może osiągnąć pułap do 100 m nad powierzchnią ziemi a jego wysokość robocza wynosi około 50 m oraz zasięg do 3,5 km. Dron był wyposażony w podwójnego systemu lokalizacji, GPS i GLONASS, umożliwiający określanie lokalizacji z dokładnością do kilkunastu centymetrów. W dronie możliwe jest zaprogramowanie trasy przelotu, co pozwala na uzyskanie powtarzalności pomiarów, w różnych porach roku. Na dronie zainstalowano kamerę z obiektywem f/2,8 i o kącie aperturowym 94°. Rozdzielczość zdjęć wynosiła 2,7 K, o rozmiarze 12 megapikseli. Kamerę zamontowano na 3-osiowym gimbalu, w celu zapewnienia odpowiedniej stabilizacji obrazu podczas lotu.

Rys. 2. Obraz obszaru badanego a) przed procesem wegetacji b) wiosną w czasie intensywnej wegetacji Fig. 2. Picture of the studied area a) before the growing process, b) in spring, during intensive vegetation

a)

74

b) P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


F< F _ D % F ? W tego rodzaju operacjach ważne jest zachowanie odpowiednio dużej zakładki, aby liczba pikseli umożliwiała właściwe uśrednienie parametrów. Algorytm dopasowania polega na obliczeniu w pierwszym kroku wielkości stosunku wartości liczbowej odpowiadającej barwom RGB dla każdych dwóch nakładających się pikseli. W drugim kroku oblicza się midianę wartości stosunków liczbowych dla barw RGB. Następnie koryguje się wartości barw RGB dla dodawanego obrazu, przemnażając wszystkie wartości RGB przez wartość midiany stosunków liczbowych. Na rysunku 2 przedstawiono ortofotomapy tego samego obszaru, jednak wykonane jesienią, gdy nie rozpoczął się jeszcze proces wegetacji oraz wiosną, gdy nastąpił rozwinięty proces wegetacji.

Na obfitość zbiorów duży wpływ mają warunki geologiczne. Na podstawie ortofotomap możliwe jest wyznaczenie obszarów, w których występują odmienne warunki geologiczne. Na tej podstawie możliwe jest precyzyjne wzbogacenie tych obszarów o niezbędne składniki i minerały potrzebne do prawidłowej wegetacji. Oceny geologicznej dokonuje się w oparciu o wskaźniki geologiczne oraz wskaźniki zawartości wody. Wskaźniki geologiczne umożliwiają identyfikację różnych rodzajów skał i minerałów. Poniżej wymieniono najpopularniejsze wskaźniki geologiczne [5]. 8 & | & (ang. Clay Minerals Ratio) określa stosunek minerałów gliny. Wskaźnik ten pozwala na wskazanie skał zawierających glinę i ałunit. Jego wartość to stosunek pochłaniania pasma światła podczerwieni krótkofalowej. Uwodnione minerały, takie jak glinki, ałunit pochłaniają promieniowanie w zakresie 2,0–2,3 μm widma. Pomiaru dokonuje się na podstawie zdjęć dla dwóch wybranych długości światłą w paśmie podczerwieni krótkofalowej, a oblicza się go ze wzoru: SWIR1 SWIR 2

W celu identyfikacji minerałów bogatych w żelazo stosuje się % & | & 3 (ang. Ferrous Minerals Ratio). Podobnie jak poprzednio, stanowi on stosunek pochłaniania dwóch długości fali świetlnej w podczerwieni, jednak o innych długościach. FMR =

SWIR1 NIR

(2)

gdzie: NIR – wartość współczynnika odbicia światła w paśmie bliskim podczerwieni 0,76–0,9 μm. Hydrotermicznie zmienione skały, które zostały poddane utlenianiu siarczków zawierających żelazo dobrze identyfikuje się za pomocą % ,0 #

& " (ang. Iron Oxide Ratio).

T< "& + % &,% # .

CMR =

podczerwieni krótkofalowej, odpowiednio z zakresów 1,55– 1,75 μm i 2,08–2,35 μm.

(1)

gdzie: SWIR1 i SWIR2 – wartość współczynnika odbicia światła dla dwóch różnych długości światła w paśmie

IOR =

RED BLUE

(3)

gdzie: RED – wartość współczynnika odbicia światła w paśmie koloru czerwonego 0,63–0,69 μm, BLUE – wartość współczynnika odbicia światła w paśmie koloru niebieskiego 0,45–0,52 μm. Obecność krzemianów zawierających limonit i tlenek żelaza limonitowego powoduje absorpcję w paśmie niebieskim i odbicie w paśmie czerwonym. Powoduje to, że obszary z silnymi zmianami żelaza są jasne. Zawartość żelaza w glebie korzystnie wpływa na porost roślin jednak stopień utlenienia żelaza za pomocą siarczynów (kwaśne deszcze) powoduje zakwaszanie gleby co niekorzystnie wpływa na porost roślin. W ocenie miejsc, które należałoby odpowiednio wzbogacić w minerały współczynnik IOR ma kluczowe znaczenie. W pracy przedstawiono przykładowe obliczenie współczynnika IOR. Ponieważ w zastosowanych badaniach wykorzystano kamerę RGB jedynie ten wskaźnik jest możliwy do wyznaczenia w oparciu o otrzymane ortofotomapy. W przypadku zastosowania kamery wykonującej zdjęcia w podczerwieni w analogiczny sposób możliwe jest wyznaczenie pozostałych współczynników. Obliczenia współczynnika IOR wykonano na podstawie ortofotomapy sporządzonej późną jesienią po zasianiu jęczmienia ozimego, lecz przed rozpoczęciem jego wegetacji (rys. 3). Taki obraz umożliwia precyzyjne nawożenie i uzupełnienie wybranych obszarów w brakujące minerały. Działania tego rodzaju pozwalają na stworzenie równomiernych warunków sprzyjających porostowi jęczmienia na bardzo wczesnym etapie rozwoju.

U< "& + % & | & # % + %

Rys. 3. Mapa areału przedstawiająca rozkład współczynnika IOR Fig. 3. Area map showing the distribution of the IOR coefficient

Drugim ważnym wskaźnikiem, który pozwala na ocenę warunków mających wpływ na porost roślin jest współczynnik zawartości wody. Ze względu na różną przepuszczalność gruntu w różnych porach roku mogą występować znaczne różnice w nawodnieniu poszczególnych obszarów. Niedobory wody można precyzyjnie uzupełnić pod warunkiem wykrycia tych niedoborów we wczesnej fazie rozwoju roślin. Parametrem ilustrującym miejsca niedoboru jest wskaźnik zawartości wody. Teledetekcja gruntów i wskaźnik NDWI (ang. Normalized Difference Water Index) umożliwiają kontrolę nawadniania w czasie rzeczywistym, znacznie usprawniając rolnictwo, zwłaszcza na obsza-

75


> $) $ ) $

" $

Rys. 4. Mapa areału przedstawiająca rozkład współczynnika NDWI Fig. 4. Area map showing the distribution of the NDWI coefficient

Rys. 5. Mapa areału przedstawiająca rozkład współczynnika VARI Fig. 5. Area map showing the distribution of the VARI coefficient

rach, gdzie zaspokojenie zapotrzebowania na wodę jest trudne. Współczynnik ten oblicza się z zależności [6]:

Wskaźnik wegetacji określa się na podstawie różnicy między światłem absorbowanym, i odbijanym przez liście roślin. Wpływ na te zjawiska ma głownie obecność chlorofilu, wody i struktur komórkowych. Chlorofil absorbuje światło czerwone o długości około 0,67 μm i niebieskie o długości około 0,45 μm. Zawarta w liściach woda absorbuje światło w podczerwieni, o długości fali około 1,4–1,9 nm, a struktury komórkowe silnie odbijają fale z zakresu 700–1100 μm. Stanowi to podstawę do opracowania szeregu wskaźników wegetacji [4]. Jednym z najpopularniejszych wskaźników wegetacji jest NDVI (ang. Normalized Difference Vegetation Index), który określa iloraz różnicy i sumy ilości odbitego promieniowania z zakresu bliskiej podczerwieni i światła koloru czerwonego. Podstawę tej formuły stanowi absorbcja światła czerwonego przez chlorofil i niska absorbcja zakresu bliskiej podczerwieni przez zielone liście.

GREEN − NIR GREEN + NIR

NDWI =

(4)

gdzie: GREEN – wartość współczynnika odbicia światła w paśmie zielonym 0,495–0,566 μm. Dla obszarów zabudowanych lub zawierających powierzchnie biologicznie nieczynne stosuje się zmodyfikowany wskaźnik zawartości wody MNDWI (ang. Modified Normalized Difference Water Index), którego wartość oblicza się z zależności: MNDWI =

GREEN − SWIR1 GREEN + SWIR1

(5) NDVI =

Dla obszarów miejskich zaleca się stosowanie współczynnika NDBI (ang. Normalized Difference Built-Up Index). NDBI =

SWIR1 − NIR SWIR1 + NIR

(6)

SR =

MSAVI =

Wskaźnikiem, który służy do monitorowania porostu i oceny poprawności podjętych działań związanych z nawożeniem i nawadnianiem jest wskaźnik wegetacji. O

M

I

A

R

Y

A

U

T

O

M

NIR RED

(8)

Tło glebowe utrudnia obserwację wegetacji na podstawie wskaźników. Jest to szczególnie trudne, gdy obserwuje się wegetację roślin, które częściowo pokrywają glebę. W takim przypadku uzasadnione jest zastosowanie wskaźnika MSAVI (ang. Modificated Soil Adjusted Vegetation Index). Wadą tego wskaźnika jest wrażliwość na zmiany zachodzące w atmosferze.

V< "& + % & | & % -

P

(7)

W celu wykrywania obszarów, w których nie następuje kiełkowanie roślin, dobrym wskaźnikiem jest SR (ang. Simple Ratio). Wyznacza się go na podstawie proporcji między ilością odbitego promieniowania z zakresu bliskiej podczerwieni i czerwieni. Dla zielonych liści roślin współczynnik ten może przejmować wartości rzędu kilkadziesiąt natomiast dla nieporośniętej gleby wynosi około 0. Wskaźnik ten oblicza się z zależności:

Na rysunku 4 przedstawiono wyniki obliczenia współczynnika zawartości wody dla ortofotomapy wykonanej w okresie wiosennym, gdy rozpoczął się już proces wegetacji. Stanowi on przykład zastosowania opisanej techniki dla zdjęć RGB. Na obrazie wyraźnie są widoczne koleiny po maszynach rolniczych. W koleinach gromadzi się woda, stąd ich znacznie ciemniejszy kolor. Na mapie widnieją również jaśniejsze obszary świadczące o zmniejszonej ilości wody. Miejsca te należy w najbliższej przyszłości nawodnić, aby zapewnić równomierny porost.

76

NIR − RED NIR + RED

2NIR + 1 −

( 2NIR + 1)2 − 8 (NIR − RED ) 2

(9)

W celu zredukowania wpływu warunków atmosferycznych opracowano wskaźnik VARI (ang. Visible Atmospherically Resistant Index). Zaletą tego rozwiązania jest analiza A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


F< F _ D % F ?

Rys. 6. Algorytm wydzielenia koloru zielonego Fig. 6. Green color extraction algorithm

Rys. 7. Algorytm obliczenia wskaźnika NDWI Fig. 7. Green color extraction algorithm

w zakresie światła widzialnego. Jest to idealne rozwiązanie do analizy obrazów RGB. VARI =

GREEN − RED GREEN + RED − BLUE

(10)

Na rysunku 5 przedstawiono wyniki obliczenia współczynnika VARI na podstawie ortofotomapy wykonanej w okresie wiosennym. Jaśniejsze obszary świadczą o lepszej wegetacji.

4< # # Analizę obrazu, w celu obliczenia odpowiednich wskaźników, wykonano w programie LabVIEW z biblioteką VISON. Wyodrębnienie wartości poszczególnych pikseli dla odpowiednich kolorów zrealizowano za pomocą odpowiednich filtrów cyfrowych. Na rysunku 6 przedstawiono przekładowy algorytm filtracji koloru zielonego. Obraz ortofotomapy jest wczytywany do programu, gdzie za pomocą cyfrowego filtru dla odpowiedniego koloru wydziela się składową R, G lub B. Obraz wydzielonej składowej można zaprezentować w skali odcieni szarości. Przykładowy algorytm wyliczenia wskaźnika obecności wody przedstawiono na rysunku 7. Oblicza się go na podstawie obrazów, jakie zostały wydzielone po zastosowaniu odpowiednich filtrów cyfrowych. Wartości wskaźników mogą przybierać wartości w różnym zakresie liczbowym. W celu graficznego zaprezentowania rozkładu poszczególnych wskaźników przeprowadza się kalibrację do zakresu 0–255. Operacja ta ułatwia analizę wyników, gdyż możliwe jest przedstawienie w postaci obrazu w skali odcieni szarości.

7. Podsumowanie

terowych technik analizy obrazu oraz dronów do mapowania upraw znacznie usprawnia ten proces. Tego rodzaju usprawnienie w połączeniu z systemem zarządzania areałem rolnym stanowi cenne narzędzie do prowadzenia rolnictwa precyzyjnego. Wyniki takiej analizy pozwalają na podejmowanie precyzyjnych działań mających na celu zwiększenie wydajności upraw rolnych na każdym etapie wegetacji roślin. Przedstawione w pracy rozwiązanie może stanowić wskazówkę do dalszych prac usprawniających technologię rolnictwa precyzyjnego.

[ 1. Roszkowska-Mądra B., Koncepcja i znaczenie obszarów rolniczych o wysokich walorach przyrodniczych, „Zeszyty Naukowe SGGW w Warszawie, Problemy Rolnictwa Światowego”, tom 18 (XXXIII), zeszyt 4, 2018, 417–425, DOI: 10.22630/PRS.2018.18.4.130. 2. Dominik A., System rolnictwa precyzyjnego, Centrum Doradztwa Rolniczego w Brniowie, Radom 2010. 3. Barner B., Chjnacki J., Wykorzystanie dronów w rolnictwie precyzyjnym, Technika Rolnicza Ogrodnicza Leśna, 3/2016. 4. Wojtowicz A., Wojtowicz M., Piekarczyk J., Zastosowanie teledetekcji do monitorowania i oceny produktywności plantacji rzepaku, Rośliny Oleiste – Oilseed Crops, tom 26, nr 1/2005. 5. Baczyńska A., Badania komponentów środowiska przyrodniczego na obszarach pogórniczych z wykorzystaniem wysokorozdzielczych zobrazowań satelitarnych, Przegląd Górniczy, Tom 76, 3/2020. 6. Xu H., Modification of normalised difference water index (NDWI) to enhance open water features in remotely sensed imagery, International Journal of Remote Sensing, Vol. 27, No. 14, 20 July 2006, 3025–3033.

Przedstawione w pracy rozwiązanie umożliwia szybkie monitorowanie wegetacji obszarów rolnych. Wykorzystanie kompu-

77


> $) $ ) $

" $

. E 0 ( . E " E B Y ( Abstract: Progress in agriculture comes down to lowering the costs of plant production. One solution is precision farming, which saves on fertilisation, spraying and irrigation. Precision farming is mainly based on methods for measurement of coefficient of vegetation and geological conditions. For this purpose, aerial technology is used and nowadays drones are very often utilized to fields mapping. For this purpose, aerial technology is used and nowadays drones are very often used to mapping fields. On this basis, areas that require agricultural treatment are identified. The use of computer techniques improves the mapping process and the determination of vegetation coefficients. This paper presents a computer-based method for mapping of agricultural surface combined with image analysis and calculation of vegetation coefficients. * Q / % ($ ( $ ( p

Mateusz Wiecha

' ($ !

' ORCID: 0000-0002-6337-9914

' ORCID: 0000-0002-2643-2464

? 8 H 9 ( M #8 _ % = 6 H ( 0 E 6 # = [ = ( E % = ( A % % = ( ^ % Z ^ (

? 8 [ 6 % ( A $ A % . M 8 #% +!)< % F M 9 ( M J ? J Z B (% _ % F % = 8 M ( G( F % 6 % % [$ % = F F [ [ A F [ % Z

' ($ 3 +5

$ ($ 3$ 3 4 ) #$ "

% '( ORCID: 0000-0001-9774-7255

' % ORCID: 0000-0002-3461-2131

? 8 [ . % 9 M = A % ( % #% % [% ( % F M 9 ( B (% _ % = [ [ = % [ T % [ % Z % $ F [ % FZ ( % % % = % Z F (

? 8 A % G ( 6 = # . " ( G 6 % M % H . 6 = A % " 6 = # $ (% _ % _ % 8 = ( 6 A % 0 Z = " 0 E #8 E ( 6 # A % G $ . = 0 E % % ( [ [ A F % = (

78

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 79–85, DOI: 10.14313/PAR_241/79

' '

- 1, Marcin Ochman2,3 2 2 2, 2 . ' #

/

% " ' 0

# 2 3

% 4

"

% .

5* % (+6+, " . ' 7 % #

8 2 8

% " ' 0

% 4

" 1

*

! Coraz bardziej rygorystyczne wymagania w zakresie ochrony środowiska, bezpieczeństwa czy niezawodności wymuszają na firmach z sektora motoryzacyjnego stosowanie efektywniejszych testów potwierdzających wymaganą szczelności komponentów (chłodnic, zbiorników, sprężyn powietrznych itp.). Obecnie stosowane metody niosą ze sobą ograniczenia, które generują otwartość przemysłu motoryzacyjnego na zupełnie nowe sposoby realizacji pomiaru nieszczelności. Zastosowanie kamer termowizyjnych do pomiaru energii cieplnej jest obecnie powszechną praktyką w wielu dziedzinach, a zastosowanie ich do pomiaru nieszczelności zamkniętych ustrojów pozwoliłoby na znaczne skrócenie czasu pomiarów w przypadku zbiorników odkształcalnych, wymagających długich czasów stabilizacji w metodach konkurencyjnych. W artykule opisano zastosowanie termowizji do wykrywania nieszczelności sprężyn gazowych. '

- %

- % % 9

-

1. Wprowadzenie W ostatniej dekadzie polski przemysł motoryzacyjny odnotował stuprocentowy wzrost mierzony produkcją sprzedaną. Sektor motoryzacyjny stanowi drugi pod względem wielkości sektor w Polsce1. Na branżę motoryzacyjną składają się nie tylko producenci samochodów, ale również silników, komponentów i części. Coraz bardziej rygorystyczne wymogi dotyczące ochrony środowiska, bezpieczeństwa oraz niezawodności wymuszają na firmach z branży automotive inwestycje m.in. w coraz doskonalsze metody badania szczelności elementów, dla których jest ona wymagana. Jednym z podstawowych aspektów ciągłego doskonalenia się branży w tym aspekcie, poza doskonaleniem metod samej produkcji, jest zapewnienie w cyklu produkcyjnym systemów wykrywania nieszczelności o jak najwyższej jakości i wydajności. Co więcej, poszukiwane są metody, które przy wysokiej jakości testu nie powodowałyby jednocześnie wzrostu kosztów produkcji, czy to ze względu na koszty generowane bezpośrednio przez samą metodę, czy też ze względu na zmniejszenie wydaj1

! !

" # $ % & '

' ( ) * *+ % ' ' + , * *+

ności całego procesu produkcji np. z uwagi na zbyt długi czas poświęcany na pomiar. Obecnie stosowane podejścia, ze względu na ograniczenia technologiczne czy też fizyczne, nie zawsze pozwalają skutecznie odpowiadać na rosnące wymagania wskazane powyżej. Stąd widoczne jest dążenie branży do poszukiwań nowych rozwiązań w przedmiotowym zakresie. To z kolei napędza obecnych dostawców systemów/urządzeń pomiaru nieszczelności do ciągłego uaktualniania swojej oferty i tworzenia coraz nowszych generacji swoich produktów. Podkreślić jednak należy, że są to przede wszystkim nowsze generacje aparatury bazującej jednak na tej samej technologii, tj. w przypadku sektora motoryzacyjnego, na pomiarze spadku ciśnienia lub wykrywaniu gazu znakującego (np. helu). Przytoczone metody niosą za sobą ograniczenia, które generują otwartość przemysłu na zupełnie nowe metody bazujące na innych rozwiązaniach.

Wyróżniamy trzy rodzaje nieszczelności: rzeczywiste, pozorne i wynikające z przenikania gazu przez materiał zbiornika. Przy czym nieszczelności pozorne związane z obecnością gazów zaadsorbowanych na wewnętrznych powierzchniach badanych zbiorników oraz nieszczelności wynikające z przenikania gazów przez materiał mają znaczenie w konstrukcji m.in. aparatury próżniowej, natomiast w wykrywaniu nieszczelności komponentów z sektora motoryzacyjnego są pomijalnie małe i można je na ogół zaniedbać. Nieszczelności rzeczywiste występują najczęściej w sąsiedztwie połączeń i są zwykle wynikiem popełnionych błędów konstrukcyjnych, technologicznych czy też

79


> $

, $ $ montażowych, a tylko w nielicznych przypadkach ukrytych wad materiałowych. Warto podkreślić, że nieszczelność jest cechą każdego obiektu niezależnie od materiału i technologii wykonania. W układach dynamicznych, gdy badany obiekt współpracuje z kompresorem lub pompą, nieszczelność ograniczają odpowiednio maksymalne lub minimalne uzyskiwane ciśnienia. Z kolei w układach statycznych, gdzie po odpompowaniu bądź napełnieniu zbiornik zostaje odłączony, ciśnienie wewnątrz układu (zbiornika) zaczyna zmieniać się, aż wreszcie osiąga wartość, przy której dalsza prawidłowa praca jest niemożliwa (np. układ klimatyzacji). Nieszczelność należy do kategorii pojęć, których miara jest zawsze większa od zera. Zgodnie z definicją, nieszczelności nie można zlikwidować, można tylko ją ograniczać tak, aby osiągnięta wartość pozwalała na prawidłową pracę w określonym czasie. Metody wykrywania nieszczelności można podzielić na metody próżniowe i ciśnieniowe zależnie od tego czy ciśnienie gazu wewnątrz badanego obiektu jest niższe czy też wyższe od ciśnienia atmosferycznego. Spośród wszystkich metod stosowanych do wykrywania nieszczelności w tabeli 1 zestawiono najpopularniejsze stosowane w sektorze motoryzacyjnym. Ze względu na zdecydowaną przewagę stosowania metod ciśnieniowych (w branży automotive), podano czułość tylko dla tej odmiany. Niektóre spośród tych metod umożliwiają lokalizację nieszczelności, inne pozwalają jedynie na pomiar wypadkowego natężenia nieszczelności. Najmniejsze natężenie nieszczelności wykrywane daną metodą określa czułość tej metody (Tab. 1). Metoda pęcherzyków powietrza jest jedną z najbardziej znanych metod ciśnieniowych. Wyróżnia się dwa warianty tej metody. W pierwszym badany obiekt jest napełniany do odpowiednio wysokiego ciśnienia i zanurza się go w wodzie i dzięki tworzącym się pęcherzykom powietrza można zlokalizować miejsce nieszczelności i je potwierdzić. W drugim wariancie obiekt pokrywa się cienką warstwą wodnego roztworu mydła lub detergentu i po napompowaniu obserwuje się, w których miejscach tworzą się bańki mydlane. Czułość metody z bańkami mydlanymi określa się na poziomie ok. 10–2 Pa × l/s, natomiast dla metody z zanurzeniem badanego obiektu w wodzie jest na poziomie około 10-1 Pa × l/s. W metodzie z zanurzeniem badanego obiektu duży wpływ na wiarygodność ma m.in. oświetlenie zbiornika wodnego, stopień zmętnienia wody, położenie nieszczelności i stąd czułość tej metody jest o rząd gorsza. Oba warianty opisanej metody, choć pozornie proste stwarzają często wiele niedogodności. W wypadku metody zanurzeniowej kłopoty rosną wraz z rozmiarami i wagą badanych obiektów, tym bardziej, że po badaniu muszą być dokładnie osuszone. W wypadku alternatywnego wariantu usuwanie naniesionego wcześniej roztworu jest często pracochłonne i tym samym kosztowne. W dobie coraz wyższych wymagań stawianych w branży motoryzacyjnej, również dotyczących estetyki, pozostawianie śladów po badaniu nieszczelności jest niedopuszczalne, co dodatkowo mocno ogranicza stosowanie tej metody. Metodę powolnych zmian ciśnienia (metoda spadku ciśnienia) można obecnie uznać za najpopularniejszą spośród stosowanych do testów szczelności komponentów używanych w przemyśle

samochodowym. Jej ograniczeniem jest jednak brak możliwości lokalizacji ewentualnego wycieku. Czułość tej metody w wariancie ciśnieniowym jest określana na poziomie 10-2 Pa × l/s. Badany obiekt jest napompowany do ciśnienia zwykle rzędu kilku atmosfer i po odłączeniu źródła mierzy się szybkość spadku ciśnienia – Δp/Δt wynikającą z występowania nieszczelności rzeczywistych. Czułość stosowanych ciśnieniomierzy wynosi zwykle ok. 100 Pa (najmniejsze rozdzielczości pomiaru dochodzą do 0,01 Pa dla najdroższych urządzeń pomiarowych). Na różnicę mierzonego spadku ciśnienia wpływa kilka czynników, takich jak: − obecność przecieku, − różnica objętości ΔV, − różnica temperatury ΔT. Korzystając z metody spadku ciśnienia należy mieć na uwadze wpływ zmiany temperatury ΔT oraz wpływ zmiany objętości ΔV na wartości mierzonego spadku ciśnienia ΔP. Korzystając z tej metody na linii produkcyjnej należy mieć świadomość wpływu powyższych wielkości fizycznych na wynik końcowy pomiaru. Aby wyeliminować wpływ tych czynników należy zastosować metodę spadku ciśnienia w wariancie różnicowym. W metodzie tej stosuje się element wzorcowy (o akceptowalnym poziomie szczelności) wykonany z takiego samego materiału i o identycznych wymiarach jak element badany. Oba elementy są umieszczone w tych samych warunkach klimatycznych (temperatura, ciśnienie). Dzięki takiemu podejściu do pomiaru, wartości ΔT i ΔV są takie same dla elementu badanego i wzorcowego i znoszą się wzajemnie nie wnosząc udziału do pomiaru wskazywanego przez urządzenie do pomiaru szczelności. Największą wadą metody powolnych zmian ciśnienia jest długi czas pomiaru dla elementów o większych gabarytach lub wykonanych z materiałów odkształcalnych, najczęściej tworzyw sztucznych. Czasy takich pomiarów dochodzą do 60 sekund, a nawet dłużej. Ostatnią metodą, stosunkowo popularną w branży automotive, jest metoda wykorzystująca znaczniki gazowe. Metoda ta polega na wprowadzeniu do badanego zbiornika wybranego gazu (znacznika) i śledzeniu jego upływu przez występujące nieszczelności za pomocą detektorów. Znaczniki gazowe powinny spełnić szereg wymagań: nie mogą być aktywne chemicznie czy też toksyczne, nie powinny występować (w znacznych ilościach) w atmosferze ziemskiej, nie powinny być wybuchowe/palne oraz powinny charakteryzować się możliwie dużą wartością współczynnika dyfuzji do innych gazów. Gazem spełniającym powyższe kryteria jest hel, dlatego jest on często stosowany. Niekiedy jako znaczniki gazowe używa się również wodoru (najczęściej mieszaniny do 5% wodoru z azotem, która nie jest wybuchowa) lub któregoś z freonów (obecnie już bardzo rzadko). Wodór nie spełnia części wyżej postawionych wymagań, ale jego współczynnik dyfuzji ma dużą wartość i dlatego czasami jest wybierany. Czułość tej metody dla najlepszych rozwiązań szacuje się na poziomie 10-5 Pa × l/s. Należy pamiętać, że ciśnieniowa metoda nie pozwala na precyzyjne oszacowanie natężenia nieszczelności. Metodę powyższą stosuje się też w znacznie uproszczonym wariancie, w którym otrzymuje się informację o lokalizacji nieszczelności, o wielkości nieszczelności wnioski można wyciągać na podstawie wartości znacznika gazowego podawanego w ppm (ang. parts per milion). Największą wadą metod wykorzystujących znaczniki gazowe w odmianie Tab. 1. Zestawienie czułości popularnych metod pomiaru nieszczelności stosowanych w sektorze ciśnieniowej są trudności ze motoryzacyjnym. Zakresy czułości podano tylko dla odmiany ciśnieniowej skutecznym wentylowaniem Tab. 1. List of the sensitivity of popular leak measurement methods used in the automotive sector. Sensitivity ranges are given for the pressure variant only komory pomiarowej. Pomimo, że detektory gazowe pozwalają Zakres czułości metody [Pa · l/s] uzyskać wysoki zakres czułości Metoda Lokalizacja 10 10-1 10-2 10-3 10-4 10-5 to ich odtruwanie po pomiarze spowodowanym nieszczelPęcherzyków powietrza X nością lub wydostawaniem się Powolnych zmian ciśnienia gazu w czasie zmiany badanych elementów jest długotrwałe Znaczników gazowych X (typowo kilkadziesiąt sekund).

80

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


? $ > # # # % ? Biorąc pod uwagę wady popularnych metod badania szczelności stosowanych w branży motoryzacyjnej opisanych powyżej, zaproponowano użycie autorskiej metody termograficznej FLT (ang. Fast Leakage Test) jako alternatywy do szybkich pomiarów szczelności. Zastosowanie kamer termowizyjnych do pomiaru energii cieplnej jest obecnie powszechną praktyką w wielu dziedzinach: budownictwie, automatyce, rolnictwie, medycynie, przemyśle wytwórczym, ochronie środowiska. Ostatnio również coraz częściej pojawiają się doniesienia o zastosowaniu termografii do wykrywania wycieków płynów [1, 2]. Natomiast doniesienia powiązane z wyciekami gazów z komponentów o niewielkich rozmiarach są obecnie nieliczne [3–5]. Kamery termowizyjne IR generują obrazy emisji podczerwieni umożliwiając dokładny, bezdotykowy pomiar temperatury. W prawie wszystkich systemach sprężonego powietrza wystąpieniu awarii lub wycieku powietrza towarzyszy zmiana temperatury. Zastosowanie kamer termowizyjnych do diagnozowania takich zmian w branży motoryzacyjnej może przynieść znaczne oszczędności.

T< " # % # . @

& . Schemat aparatury pomiarowej pokazano na Rys 1. W badaniach zastosowano kamerę termowizyjną Optris Xi 400 (częstotliwości odświeżania 10 Hz) połączoną z komputerem umożliwiającym akwizycję danych. Ciśnienie testowe wynosiło 5 bar, czas pomiaru 3 sekundy. Sekwencja pomiaru termogramów była następująca: uruchomienie pomiaru kamerą termowizyjną, napełnienie badanej próbki sprężonym powietrzem, zrzut sprężonego powietrza, zatrzymanie pomiaru kamerą termowizyjną. Badania przeprowadzono na rzeczywistych próbkach, będących cylindrami sprężyn powietrznych stosowanych w branży motoryzacyjnej (Rys. 2). W badaniach przeprowadzonych zgodnie z wyżej opisaną sekwencją pomiaru sprężone powietrze wydostaje się przez mikronieszczelność do otoczenia, czemu wokół nieszczelności towarzyszy efekt pochłaniania ciepła oraz efekt Joule’a-Thomsona. W praktyce okazało się, że przy małych natężeniach przepływu efektywność wyżej wymienionych zjawisk jest zbyt mała

Rys. 1. Schemat aparatury pomiarowej Fig. 1. Diagram of the measuring apparatus

Rys. 2. Cylinder sprężyny powietrznej poddawany testowi szczelności Fig. 2. Air spring cylinder under test leak

Tab. 2. Zestawie próbek użytych w badaniach – szczelność oceniono dwiema metodami Tab. 2. Set of test samples - tightness was measured using two methods

Nr próbki

Metoda gazu znakującego H2 [ppm]

Metoda spadku ciśnienia [Pa/s]

Typ próbki (OK – szczelna, NOK – nieszczelna)

39

0

200

OK

40

450

800

NOK

101

> 25 000

54 000

NOK

102

1600

2400

NOK

395

1200

19 400

NOK

396

> 25 000

106 000

NOK

397

> 25 000

111 200

NOK

398

> 25 000

111 200

NOK

399

> 25 000

104 000

NOK

406

0

800

OK

410

0

1000

OK

588

0

1200

OK

589

0

1200

OK

590

0

1000

OK

591

0

800

OK

592

0

400

OK

593

0

800

OK

594

0

800

OK

596

0

800

OK

597

0

1000

OK

598

> 25 000

104 800

NOK

599

11 000

57 600

NOK

600

20 000

91 000

NOK

601

> 25 000

101 400

NOK

602

> 25 000

100 800

NOK

603

> 25 000

101 000

NOK

604

> 25 000

101 000

NOK

605

> 25 000

124 400

NOK

608

0

1000

OK

609

0

1400

OK

81


> $

, $ $ metodami alternatywnymi – gazu znakującego H2 oraz metodą spadku ciśnienia w celu rozróżnienia próbek OK i NOK.

w celu różnicowania próbek NOK/OK. Aby wzmocnić ten efekt opracowano autorską metodą, w której próbki są dodatkowo pokrywane dedykowanym roztworem, co umożliwia zwiększenie czułości badanej metody z zastosowaniem kamer IR i obserwację mniejszych nieszczelności [6]. Maksymalna czułość, jaką uzyskano w warunkach laboratoryjnych wyniosła 10-2 Pa × l/s. Przykładowy przebieg temperatury pokazano na Rys. 3, a sekwencję obrazów termowizyjnych na Rys. 4. Warto zwrócić szczególną uwagę na fakt, że odpowiedź w przypadku nieszczelności uzyskuje się niemalże natychmiast po podaniu sprężonego powietrza (rys. 3). Do testów użyto 14 cylindrów szczelnych (OK) oraz 16 cylindrów nieszczelnych (NOK). W Tabeli 2 zestawiono wyniki testów szczelności

U< & & -

# # +

% &% - #,%

% # - . Klasyfikacja nieszczelności danego elementu może być rozpatrywana jako problem klasyfikacji binarnej. Oznacza to, że na podstawie zbioru N obrazów termowizyjnych I = {I1, I2, …, IN} o wysokości H oraz szerokości W zarejestrowanych przez kamerę z określoną częstotliwością, zadaniem jest przypisanie elementowi jednej z dwóch etykiet , oznaczające odpowiednio wyciek lub brak wycieku. Innymi słowy, poszukiwana jest funkcja f(x), która dla sekwencji obrazów termowizyjnych I reprezentowanych przez wektor cech x, umożliwi przypisanie prawidłowej klasy: (1)

Ze względu na to, że algorytmy, które zostały użyte w badaniu przyjmują wektor cech opisujący sekwencję termogramów, należało zaproponować funkcję g(I) wyznaczającą cechy na podstawie całej sekwencji, tj. bazującą na wszystkich, pełnych, zarejestrowanych obrazach. Sekwencja obrazów termowizyjnych dostarcza informacji o przebiegu temperatury w czasie dla każdego piksela rejestrowanego obrazu. Na jej podstawie, należy wyodrębnić informacje o zmianach temperatury i ich charakterze. Dlatego zaproponowano taki zbiór cech, w którym przeprowadzana jest najpierw operacja obliczenia podstawowych miar określających zmiany temperatury w czasie dla każdego piksela sekwencji, a następnie przeprowadzane są obliczenia wyznaczające wektor cech na podstawie informacji przestrzennych. Rysunek 5 przedstawia opisany proces. Wzory (2)–(5) opisują redukcję w czasie przez obliczenie średniej kwadratu odchylenia standardowego różnicę między maksymalną oraz minimalną zarejestrowaną temperaturą Iptp oraz medianę odchylenia standardowego IMAD dla każdego piksela sekwencji po czasie, uzyskując wielokanałowy obraz. Następnie tworzona jest macierz X (6), w której dla każdego kanału wyznacza się wartość minimalną oraz maksymalną, medianę, średnią oraz wariancję. Na podstawie macierzy X wyznacza się wektor cech x, gdzie zapis Xi,* oznacza i-ty wiersz macierzy X, tak jak przedstawia to równanie (7).

Rys. 3. Przykładowy przebieg temperatury dla próbki NOK Fig. 3. Measured temperature changes during the leak test

a)

(2)

(3)

b)

(4) (5)

(6)

Rys. 4. Przykładowe dwa obrazy z sekwencji dla próbki NOK a) przed napełnieniem oraz b) po napełnieniu sprężonym powietrzem Fig. 4. Examples of two images from the sequence for the NOK sample a) before inflation and b) after filling with compressed air

82

P

O

M

I

A

R

Y

A

U

T

O

M

x = g(I) = [X1,* X2,* … X5,*] A

T

Y

K

A

R

O

B

O

T

Y

K

A

(7) NR 3/ 20 21


? $ > # # # % ? W badaniu użyto pięciu różnych algorytmów sztucznej inteligencji, które na wejściu przyjmują opisany wcześniej wektor cech x: − AdaBoost – meta algorytm wykorzystujący wiele słabych klasyfikatorów [7], − Liniowy/RBF SVM – rodzina algorytmów opartych na maszynie wektorów nośnych z różną funkcją jądra [8], − Naiwny Bayes – klasyfikator wykorzystujący twierdzenie Bayesa, − MLP – sztuczna sieć neuronowa złożona z warstwy wejściowej, wyjściowej oraz warstw ukrytych. Wszystkie wymienione algorytmy zostały zaimplementowane w bibliotece scikit-learn [9], którą wykorzystano w badaniu. Warto zaznaczyć, że sama metoda rozpoczyna się od wstępnego przygotowania sekwencji, na podstawie której są liczone cechy. Takim krokiem jest uruchomienie filtru medianowego, który pozwala na wygładzenie przebiegu temperatury.

jednak precyzja jest gorsza aż o 5 punktów procentowych niż w przypadku pierwszego. Najlepszy wynik biorąc pod uwagę swoistość uzyskał RBF SVM. Tabela 4 przedstawia macierz błędów dla najlepszego algorytmu. Na jej podstawie można stwierdzić, że AdaBoost częściej popełnia błędy klasyfikując nieszczelną próbkę jako szczelną. Dotyczy to 9,55 % wszystkich nieszczelnych próbek. Natomiast odwrotne błędy, tj. klasyfikacja szczelnego elementu jako nieszczelnego zdarzyła się w przypadku 4,18 % elementów szczelnych. Czasy działania algorytmów na komputerze z procesorem Intel Core i7 77000 z 16 GB RAM są bardzo krótkie i w najgorszym przypadku wynoszą kilka mikrosekund, przez co w żaden sposób nie wpłyną znacząco na długość trwania samego testu szczelności. Średnie czasy działania zebrano w Tab. 5.

Rys. 5. Wizualizacja etapów obliczenia cech na podstawie sekwencji obrazów termowizyjnych Fig. 5. Visualization of the stages of calculating the features based on the sequence of thermal images

5. " & & & - #

% &

Ze względu na małą liczność bazowego zbioru z nagranymi sekwencjami próbek, użyto techniki sztucznego generowania obrazów (ang. data augmentation) w celu powiększenia zbioru danych użytego w procesie uczenia. Dla każdej oryginalnej sekwencji wygenerowano 200 nowych, w których przeprowadzono następujące operacje: nałożenie szumu gaussowskiego o średniej μ = 0 °C oraz odchyleniu standardowym s = 0,4 °C, rotacja kamery o kąt w przedziale [–10°; 10°], przesunięcie obrazu góra/dół oraz prawo/lewo w przedziale [–10 px; 10 px]. Dzięki takiemu zabiegowi uzyskano zbiór 6000 sekwencji, który został podzielony na zbiór treningowy oraz testowy w proporcji 6:4. Na Rys. 6 przedstawiono wykres punktowy prezentujący, jak rozkładają się próbki OK/NOK w zależności od dwóch najbardziej znaczących cech uzyskanych za pomocą transformacji algorytmem PCA. Badania związane z klasyfikacją były podzielone na dwa etapy. Zbiór treningowy, na podstawie którego były uczone wszystkie algorytmy, składał się z 3600 sekwencji, zaś zbiór testowy liczył 2400 przebiegów. Dla zbioru treningowego policzono cechy oraz uruchomiono algorytm PCA. Tak przygotowany zbiór cech został przekazany do każdego algorytmu, aby przeprowadzić proces uczenia. Wyuczone algorytmy poddano testom na dedykowanym zbiorze testowym. Dla każdego algorytmu wyznaczono cztery miary oceny efektywności klasyfikatorów, tj. skuteczność, precyzja, swoistość oraz F1 [10]. Zmierzono również czasy trwania działania algorytmów dla pojedynczej próbki. Uzyskane wyniki jakości klasyfikacji przedstawiono w Tab. 3. Na jej podstawie można wyciągnąć wniosek, że z zadaniem najlepiej poradził sobie algorytm AdaBoost uzyskując skuteczność na poziomie 92,75 %. Jakość klasyfikacji RBF SVM przedstawia się równie dobrze,

Rys. 6. Wizualizacja całego zbioru danych, na podstawie którego przeprowadzono testy Fig. 6. Visualization of the entire data set on the basis of which the tests were carried out

Tab. 3. Podsumowanie wyników klasyfikacji na zbiorze testowym. Najlepsze wyniki zostały podkreślone Tab. 3. Summary of the classification results on the test set. The best results are underlined Skuteczność Algorytm

Precyzja

Swoistość

F1

[%]

[%]

[%]

[%]

AdaBoost

92,75

88,26

95,82

91,88

Liniowy

77,04

67,02

91,34

77,32

MLP

76,21

69,65

78,79

73,94

Naiwny

76,25

66,74

88,81

76,21

91,29

83,82

98,74

90,67

SVM

Bayes RBF SVM

Tab. 4. Macierz błędów dla klasyfikatora AdaBoost Tab. 4. The matrix of errors for Adaboost classifier Klasa predykowana

Nieszczelny

Szczelny

Nieszczelny

90,45 %

9,55 %

Szczelny

4,18 %

95,82 %

Klasa rzeczywista

83


> $

, $ $ Tab. 5. Czas działania algorytmów klasyfikacji dla jednej próbki. Najkrótszy czas został podkreślony Tab. 5. Operation time of classification algorithms for one sample. The shortest time is underlined Algorytm AdaBoost

Liniowy SVM Naiwny Bayes

7,53

Średni czas [us]

10,41

RBF SVM

Sieć neuronowa MLP

17,71

0,74

0,13

6. %

[

Ideą opisanego rozwiązania jest wykorzystanie do detekcji nieszczelności metody opartej na termowizji. Termografia jako metoda diagnostyczna wykorzystująca zaawansowane narzędzia optyczne do pomiaru promieniowania podczerwonego, umożliwia zobrazowanie rozkładu temperatury na powierzchni badanego elementu. Właściwa interpretacja uzyskanych informacji pozwala na zidentyfikowanie anomalii temperaturowych będących efektem nieprawidłowego funkcjonowania danego elementu, czy też, tak jak w naszym przypadku, jego nieszczelności. Zastąpienie obecnych metod detekcji nieszczelności proponowaną przez nas metodą termowizyjną pozwoli na skrócenie czasu niezbędnego dla potwierdzenia szczelności/ nieszczelności (kluczowy parametr w kontekście optymalizacji kosztów procesu produkcyjnego). Co więcej, badana metoda termowizyjna pozwala na lokalizację miejsca nieszczelności (funkcja nieoczywista w przypadku innych rozwiązań, a kluczowa z punktu widzenia identyfikacji błędu w procesie produkcyjnym stojącego za nieszczelnością). Mimo oczywistych ograniczeń proponowanej metody (badane miejsce musi znajdować się w polu widzenia kamery, brak możliwości pomiaru ilościowego), proponowana metoda badania szczelności komponentów stanowi ciekawą alternatywę dla testów szczelności w sektorze motoryzacyjnym.

1.

2.

3.

4.

5.

6. 7.

# *& %

8.

Opisane badania zostały wykonane w ramach projektu „Opracowanie i weryfikacja w warunkach rzeczywistych innowacyjnego detektora nieszczelności opartego o metodę termografii, dedykowanego w szczególności branży automotive” nr POIR.01.01.0100-0773/17 współfinansowanego przez Narodowe Centrum Badań i Rozwoju. Praca powstała przy współudziale Wrocławskiego Centrum Akademickiego, realizującego program MOZART (Miejski Program Wsparcia Partnerstwa Szkolnictwa Wyższego i Nauki oraz Sektora Aktywności Gospodarczej).

9.

10.

Brodetsky E., Savic M., Leak monitoring system for gas pipelines, [In:] Proceedings of IEEE International Conference Acoustics, Speech, and Signal Processing, Vol. 3, 1993, 17–20, DOI: 10.1109/ICASSP.1993.319424. Weil G.J., Non contact, remote sensing of buried water pipeline leaks using infrared thermography, [In:] Proceedings of Water Resources Planning and Management and Urban, Water Resources, Vol. 1993, 404–407, 1993. Kroll A., Baetz W., Peretzki D., On autonomous detection of pressured air and gas leaks using passive IR-thermography for mobile robot application, [In:] Proceedings of IEEE International Conference on Robotics and Automation, 291–296, 2009, DOI: 10.1109/ROBOT.2009.5152337. Lewis A.W., Yuen S.T.S., Smith A.J.R., Detection of gas leakage from landfills using infrared thermography – applicability and limitations, “Waste Management & Research”, Vol. 21, No. 5, 2003, 436–447, DOI: 10.1177/0734242X0302100506. Qin H., Wang T., Fan W., Air Leak Localization Method Based on Infrared Thermography Using Local Gray-Entropy Difference Algorithm. “Applied Mechanics and Materials”, Vol. 233, 2012, 200–203, DOI: 10.4028/www.scientific.net/amm.233.200. Zgłoszenie patentowe nr P434369. Schapire R.E., Explaining adaboost. Empirical inference. 37–52, 2013. Cortes C., Vapnik V., Support-vector networks. “Machine learning”, Vol. 20(3), 1995, 273–297, DOI: 10.1007/BF00994018. Pedregosa F. et al., Scikit-learn: Machine Learning in Python, “Journal of Machine Learning Research”, Vol. 12, 2825–2830, 2011. Powers D., Evaluation: From Precision, Recall and F-Factor to ROC, Informedness, Markedness & Correlation., 2008.

H E H E I J . Increasing requirements for environmental protection, safety or reliability force automotive industries to use more efficient tests to measure tightness of the components. Currently adapted methods brings limitations which makes automotive industry open for new techniques for leakage tests. Infrared cameras are widely used in various fields. Using them to test leakage of closed-volume systems allows to significantly reduce test time, especially for objects which requires long stabilization times in competitive methods. In the article thermovision usage for leakage detection of gas springs were described. KeywordsQ ( % $ ( $ $ ( / (

84

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


? $ > # # # % ?

($ +5

' ($ '

' % ORCID: 0000-0002-8044-0043

' ORCID: 0000-0002-8075-0033

.8 A % G " = F ; 6 A A +!)) FZ % [ % [ ( % M T ( % .BB$ 8 8 % _ [% ( M = T # ( H $ % ( % ? ( 8 % [ ( [ [= %F F % % = A F E [ = [ 8 %[ ( ( "# .9H K" 6 ( A 6 A Z ( T . = R % L

.8 A % G 6 A A +!)* Z = $ +!)- ( Z $ 8 = % FZ 9 [ % % = % +!)S ? ( ( F [ ( 8 F I." A E % +!)S $ (% % F F = E T B 9 % [ = F % 8 % =

($ 9 *

($ * + # %

8 ( ' ORCID: 0000-0001-9154-7981

E % % ' % ORCID: 0000-0002-9442-989X

.% % )!= Z % 9kJ E $ T $ J ( .8 = A % G 6 A = . F ( 8 = ( % % = E 8 F E = Z 8 % ( Q $ (% ^ [ % 8 A F F

G % A % " = ( 6 A % ( % $ F % _ %[ = $ 8 % _ 8 = . % !! F = % [ % ( % F 8 % _

' ($ % +

' ($ % +5

% % ' ORCID: 0000-0002-4074-2979

% % ' ORCID: 0000-0002-5141-5332

" ( F % E % = % Z .8 A % G 6 A ? % F 8 % % = % 06 A 6 ( Z % Z = 8 Z 0 H A E % +!)S $ (% 8 % F E T B 9 [ = % F

A ( .8 6 = A #% )< ( Z E [ % $ 8 % 8 F = [ 6 % ( = ( 8 F =

85


NR 3/2015

86

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 25, Nr 3/2021, 87–93, DOI: 10.14313/PAR_241/87

" % G" 8 F % ( 9 ( GMR #T )! !* " BGG GH $ B 6 T =H ( $ s -)$ )<=<&! B

W artykule przedstawiono wyniki pomiarów oraz zmiany konstrukcyjne urządzenia, których celem było spełnienie wymagań w zakresie dopuszczalnych poziomów emisji zaburzeń elektromagnetycznych z urządzenia zgodnie z Regulaminem EKG ONZ nr 10.06. Opisano kolejne etapy badań, wyciągnięte wnioski oraz przeprowadzone modyfikacje urządzenia. Przedmiotem badań był kasownik biletów papierowych i elektronicznych umożliwiający zakup biletów przy udziale zbliżeniowej karty płatniczej i karty miejskiej. W toku badań przedstawiono efektywność wybranych metod mających na celu zapewnienie kompatybilności elektromagnetycznej urządzenia. 0 % & # % Q G"0$ . $ IYJ $ G" $ 6 B$ 8 F

Z< 8 % # Zapewnienie kompatybilności elektromagnetycznej (EMC) jest jednym z najważniejszych zagadnień w procesie konstruowania urządzenia elektronicznego [1]. Ma ona wpływ na ostateczną architekturę urządzenia oraz zastosowanie konkretnych rozwiązań konstrukcyjnych. Coraz częściej w procesie projektowania urządzenia stosuje się podejście iteracyjne, tzn. polegające na przebadaniu danej konfiguracji, analizie wyników i takich zmianach konstrukcji, które w założeniu mają zapewnić poprawienie konkretnych parametrów. W następnym kroku ponawia się badania, a otrzymane na ich podstawie wnioski uwzględnia się w kolejnych zmianach oprogramowania i konstrukcji urządzenia. Opisany proces przeprowadza się aż do osiągnięcia zadowalających rezultatów (spełnienia określonych norm). Najważniejsze z punktu widzenia EMC są dopuszczalne poziomy emisji zaburzeń oraz duża odporność na zakłócenia wprowadzane z zewnątrz do urządzenia. Każdy nowy wyrób wprowadzany do sprzedaży musi spełniać określone normy regulujące dany segment rynku. W przypadku urządzeń elektronicznych instalowanych w pojazdach należy między innymi spełnić wymagania Regulaminu EKG ONZ nr 10.06 [2].

przez certyfikowane urządzenie określonych poziomów emisji zaburzeń elektromagnetycznych w wymaganym paśmie. Na badanie, scharakteryzowanie i ograniczenie według wspomnianego regulaminu [2] tej cechy urządzenia poświęcono najwięcej czasu i zasobów. Celem przeprowadzanych badań inżynierskich było określenie charakterystyk promieniowania urządzenia elektronicznego DUT (ang. Device Under Test), którym był kasownik biletów papierowych i elektronicznych (rys. 2) oraz wpływu dokonanych zmian konstrukcyjnych na te charakterystyki. Każdorazowo badania przeprowadzano zgodnie z wymaganiami regulaminu [2]. Pomiary zakłóceń szerokopasmowych i wąskopasmowych wykonywano odpowiednio zgodnie z wymaganiami załącznika 7 i załącznika 8 regulaminu [2]. Pomiary wykonywano w komorze GTEM. Emisja promieniowania elektromagnetycznego z urządzenia była mierzona z wykorzystaniem odbiornika pomiarowego Rohde & Schwarz ESPI3 w układzie pomiarowym przedstawionym na Rys. 1. Wykonywano pomiary w trzech różnych, ortogonalnych położeniach DUT i w rezultacie otrzymywano wypadkową charakterystykę emisji urządzenia.

S< # & @ #/ # Zasadniczym celem przeprowadzanych badań było uzyskanie homologacji typu podzespołu elektronicznego w odniesieniu do regulaminu [2]. Jednym z wymagań jest nieprzekraczanie

& -/ Q

R ( 6 $ ( '8 & 0 # % % ++ !* +!+) $ % % + !S +!+)

!

Rys. 1. Schemat układu pomiarowego [7] Fig. 1. Measurement setup diagram [7]

Zarówno badania wąskopasmowe, jak i szerokopasmowe wykonywano dla urządzenia w tej samej konfiguracji (elektronika, obudowa, wiązki, etc.). Widok zewnętrzny urządzenia przedstawiono na Rys. 2.

87


) D = P F $ D G> XJ<JV

Rys. 2. Widok zewnętrzny badanego urządzenia Fig. 2. Overview of the tested device

Rys. 3. Schemat blokowy badanego urządzenia Fig. 3. Block diagram of the device

Ze względu na realny wpływ jakości uzyskanych pomiarów w badanej komorze (możliwość ich zniekształcenia i zafałszowania) i wynikającą z tego faktu niemożliwą podczas badań interakcję przez interfejs dotykowy z urządzeniem opracowano specjalny wariant oprogramowania. Wymuszał on w kasowniku uruchomienie każdej z głównych funkcji urządzenia. Działanie urządzenia w trakcie badania weryfikowano wzrokowo (wizjer w komorze umożliwiał odczytywanie komunikatów z ekranu urządzenia i weryfikacje poprawności jego działania) i słuchowo (praca mechanizmu drukarki oraz komunikaty dźwiękowe). DUT zasilano za pomocą zasilacza laboratoryjnego 24 V/3 A. Linia zasilająca była filtrowana zgodnie z CISPR 25, p.6.1.2, Annex D [8]. Do badań wystawiono kasownik, którego schemat blokowy przedstawiono na rys. 3.

gabaryty i zbudowana była na bazie laminatu 4-warstwowego z jedną warstwą wewnętrzną dedykowaną jako płaszczyzna masy (GND). Ekran dotykowy usytuowany w przedniej części obudowy z płytą główną urządzenia został połączony wiązką zawierającą w sobie linie zasilające, interfejs USB panelu dotykowego oraz interfejs LVDS grafiki pracujący na częstotliwościach obsługiwanych przez zastosowany ekran LCD TFT. W wersji A kasownika zastosowana została wiązka w postaci taśmy IDC (rys. 5) [3] o długości 0,5 m, składającej się z nieekranowanych skręconych par, pozwalających zniwelować zakłócenia common mode w torze sygnałoRys. 5. Wiązka łącząca ekran wym LVDS. w początkowej konfiguracji Otrzymane wyniki badań sprzętowej (wersja A) emisji szerokopasmowej urzą- Fig. 5. Initial version of display dzenia przedstawiono na rys. 6. harness (A version) Badanie emisji szerokopasmowej kasownika wykonano z wykorzystaniem detektora quasi-szczytowego. W otrzymanych wynikach wyróżnić można dwa główne obszary oznaczone jako A oraz B, a wartości szczytowe w tych obszarach zostały określone przez algorytm systemu pomiarowego. Obszar A to szumy, których główne źródło stanowią układy analogowe np. przetwornice zasilające DC/DC. Obszar B to strefa szumów pochodzących od wysokoczęstotliwościowych układów cyfrowych (m.in. transmisje cyfrowe, sygnały zegarowe). Czerwona linia to referencyjne wartości graniczne promieniowania (dla detektora QP) określone regulaminem [2], którego homologowane urządzenie nie może przekroczyć. W toku analizy wyników przeprowadzonego badania określono, że szpilki sygnałowe pojawiające się w obszarze B mają częstotliwości będące harmonicznymi częstotliwości zegara LVDS interfejsu graficznego o wartości 49 MHz (wskazana strzałką „C”). W dalszej kolejności przeprowadzone zostały pomiary zaburzeń wąskopasmowych z wykorzystaniem detektora wartości

T< 8 & @ # 0 & -/ Proces badawczy rozpoczęto z wykorzystaniem urządzenia w konfiguracji początkowej (wersja A), którego wnętrze przedstawiono na rys. 4. Obudowa badanego urządzenia wykonana została z poliwęglanu (PC) niestanowiącego bariery tłumiącej dla emisji promieniowania elektromagnetycznego. Płyta główna urządzenia w wersji A miała prosty kształt, zminimalizowane

Rys. 4. Widok wewnętrzny kasownika w początkowej konfiguracji sprzętowej (wersja A) Fig. 4. Internal view of the validator initial hardware version (A version)

88

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


!

Rys. 6. Wynik badania emisji szerokopasmowej kasownika w wariancie początkowym (wersja A) [8] Fig. 6. Broadband emission test results for initial hardware version of validator (A version) [8]

Rys. 8. Wynik badania emisji wąskopasmowej kasownika w wariancie początkowym (wersja A) z odpiętą wiązką wyświetlacza Fig. 8. Narrowband emission test results for initial hardware version (A version) of validator without display harness [PIMOT]

Rys. 7. Wynik badania emisji wąskopasmowej kasownika w wariancie początkowym (wersja A) [8] Fig. 7. Narrowband emission test results for initial hardware version of validator (A version) [8]

Rys. 9. Widok wnętrza kasownika w wersji B Fig. 9. Validator, version B, overview of the interior

średniej (AV). Otrzymane wyniki przedstawiono na rys. 7. Na otrzymanym wykresie, analogicznie jak na rys. 6, można również wyróżnić obszary A, B i C, z uwydatnionymi zaburzeniami na kolejnych częstotliwościach harmonicznych częstotliwości zegarowej LVDS. Zarówno dla pomiarów wąskopasmowych i szerokopasmowych otrzymane charakterystyki emisji promieniowania miały podobny przebieg. Z uwagi na to dalsze etapy badań były przeprowadzane głównie dla emisji wąskopasmowych. W trakcie poszukiwania źródła zakłóceń emitowanych z urządzenia w wersji A, zdecydowano przetestować kasownik (analiza wąskopasmowa) z odpiętą wiązką wyświetlacza. Wyniki badania przedstawiono na rys. 8. Analiza otrzymanych wyników w przypadku odłączonej wiązki wyświetlacza wykazała brak emisji harmonicznych częstotliwości 49 MHz (częstotliwość zegara LVDS), które w wynikach badań urządzenia z podłączoną wiązka (rys. 7) były najbardziej

znaczące i krytyczne. Sama częstotliwość 49 MHz jest tutaj doskonale widoczna (oznaczenie na wykresie symbolem „A”). Na podstawie wyników potwierdzono, że zarejestrowane zakłócenie jest emitowane bezpośrednio z płyty głównej. Mając na uwadze zgromadzone wyniki i opracowane na ich podstawie wnioski w kolejnej wersji urządzenia – wersji B – dokonano zmian w konstrukcji płyty głównej oraz sposobu połączenia poszczególnych podzespołów kasownika. Widok przekonstruowanego wnętrza urządzenia w wersji B przedstawia rys. 9. W oparciu o wyniki badań wersji A urządzenia i fakt, że sama płyta główna urządzenia okazała się głównym źródłem zakłóceń częstotliwości LVDS w wersji B dokonano przeprojektowania jej konstrukcji m.in. w zakresie kształtu i rozmieszczenia elementów. Wzajemna topologia elementów oraz ich rozmieszczenie na PCB zaplanowano tak aby umieścić podzespoły mogące być

89


) D = P F $ D G> XJ<JV źródłem zakłóceń pod metalowymi elementami ekranującymi: ekran 1 i ekran 2 (rys. 9) [4]. Znalazły się tam przede wszystkim przetwornice DC/DC, mikrokontrolery i układy interfejsów pracujące z dużymi częstotliwościami [5]. Zmianie uległa również konstrukcja samej płytki drukowanej. Spośród sześciu warstw laminatu, trzy wewnętrzne przeznaczono głównie na płaszczyzny masy (GND) ekranujące promieniowanie ze ścieżek umieszczonych w wewnętrznych warstwach laminatu. Dla linii szybkich sygnałów różnicowych zaprojektowano ścieżki z dopasowaniem impedancji charakterystycznej [6]. Płytkę drukowaną zamówiono u producenta, który zapewnił jej wykonanie w technologii kontrolowanej impedancji, dzięki czemu zminimalizowano zniekształcenia sygnałów w połączeniach wysokoczęstotliwościowych na PCB. Przeprojektowaniu w wersji B urządzenia poddano także sposób łączenia płyty głównej z wyświetlaczem. Taśma IDC (rys. 5) zastąpiona została wiązką nieekranowanych przewodów takiej

samej długości (rys. 10), zawierającą skręcone pary sygnałów LVDS ekranu, USB interfejsu dotykowego jak również dodatkowe sygnały (zasilanie, konfiguracja). Oprogramowanie urządzenia także podlegało zmianom. Najważniejszą z nich była zmiana częstotliwości zegara LVDS grafiki z 49 MHz na 45 MHz dokonana w celu zbadania wpływu tego parametru na badany poziom promieniowanych emisji elektromagnetycznych z urządzenia. Urządzenie w wersji B poddano pomiarom zakłóceń szerokopasmowych i wąskopasmowych odpowiednio zgodnie z załącznikiem 7 i 8 regulaminu [2]. W wyniku powtórnych badań przeprojektowanego urządzenia okazało się, że najistotniejszym wyzwaniem, które stoi przed jego konstruktorami, jest ograniczenie emisji zaburzeń elektromagnetycznych dla częstotliwości odpowiadających kolejnym harmonicznym zegara LVDS. Wyniki badań emisji wąskopasmowej przeprowadzonej z wykorzystaniem detektora wartości średniej (AV) przedstawiono na rys. 11. „Kółka” na rys. 11 przedstawiają szczytowe wartości emisji wąskopasmowej (różnica poziomów między detektorem szczytowym oraz AV < 6 dB). Wyniki badań zaprezentowane na rys. 11 przedstawiają przekroczenia dopuszczalnych poziomów zakłóceń dla kolejnych harmonicznych częstotliwości 45 MHz, na której podczas badań pracował interfejs LVDS wyświetlacza. Analiza danych wykazuje w przedziale do 40 MHz zmniejszenie o ponad 30 dB promieniowanych emisji elektromagnetycznych, których źródłem są m.in. układy zasilania zastosowane na płycie głównej. Zaznacza się tutaj pozytywny wpływ zmiany konstrukcji PCB oraz dodania elementów ekranujących na płycie. W kolejnym kroku prac konstrukcyjnych (wersja C urządzenia) zdecydowano się na weryfikację wpływu ekranowanej obudowy urządzenia na emisję zakłóceń elektromagnetycznych. W tym celu wnętrze całej obudowy wykonanej z poliwęglanu (PC) pokryte zostało dedykowanym środkiem tworzącym powłokę przewodzącą na bazie miedzi (handlowa nazwa preparatu: EMI35, KONTAKT CHEMIE 77509-004) (rys. 12). Podczas badań zastosowano podzespoły urządzenia takie jak w wersji B, a częstotliwość zegara LVDS została ustawiona na 49 MHz. Wyniki przeprowadzonych pomiarów w wersji C urządzenia przedstawia rys. 13.

Rys. 10. Zdjęcie przedstawiające zmodyfikowaną, dedykowaną wiązkę wyświetlacza (wersja B urządzenia) Fig. 10. Photo of dedicated, modified display harness (B version of the device)

Rys. 12. Widok wnętrza obudowy urządzenia z naniesioną powłoką ekranującą (wersja C) Fig. 12. Overview of the interior of shielded case (C version)

Rys. 11. Wynik badania emisji wąskopasmowej kasownika w wersji B [8] Fig. 11. Narrowband emission test results for B version of validator [8]

90

P

O

M

I

A

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


! W toku optymalizacji konstrukcji i prowadzonych badań zwrócono uwagę na najsilniejsze źródło promieniowania i emisji zakłóceń, które wciąż stanowi wiązka LVDS. W celu minimalizacji zaobserwowanych zakłóceń utworzono kolejną iterację urządzenia (wersja D), w której wprowadzono dwie zmiany: od strony źródła sygnału (płyta główna) założono na wiązkę wyświetlacza filtr ferrytowy (74271633S Würth Elektronik) oraz od strony odbiornika (wyświetlacz LCD TFT) zastosowano matę ekranującą (30405S Würth Elektronik). Charakterystyki tych elementów przedstawia rys. 14. Wybór najbardziej odpowiedniego filtra ferrytowego oraz maty ekranującej został poprzedzony serią prób z użyciem ogólnie dostępnych komponentów EMC. Poszukiwano elementów charakteryzujących się podwyższonymi parametrami tłumiącymi dla częstotliwości z zakresu od 150 MHz do 1 GHz, w którym znajdowały się niepożądane zakłócenia. Wynik badań urządzenia w tej wersji przedstawia rys. 15.

Rys. 13. Wynik badania emisji wąskopasmowej kasownika z ekranowaną obudową (wersja C) [8] Fig. 13. Narrowband emission test results for validator with shielded case (C version) [8]

Przedstawione wyniki są wypadkową wyników dla 3 położeń. W trakcie badań nie zauważono istotnych różnic wyników dla każdej z pozycji DUT (w dużych otworach w pokrywie urządzenia był zamontowany wyświetlacz LCD TFT z metalową ekranowaną obudową oraz metalowy mechanizm drukarki biletów). Pomiary przedstawione na rys. 13 wskazują znaczne zmniejszenie poziomów emisji wąskopasmowych. Częstotliwość zegara LVDS podczas badań wynosiła 49 MHz. Przekroczenie poziomu emisji dla regulaminu [2] nastąpiło przy częstotliwości ok. 150 MHz, co wskazuje na znaczący udział w zakłóceniach trzeciej harmonicznej częstotliwości LVDS. W pozostałych obszarach poziom emisji zakłóceń elektromagnetycznych z urządzenia znajduje się poniżej dopuszczalnego poziomu granicznego.

Rys. 15. Wynik badania emisji wąskopasmowej kasownika z ferrytowymi elementami tłumiącymi na wiązce LVDS (wersja D) [8] Fig. 15. Narrowband emission test results for validator with ferrite-shielded LVDS harness (D version) [8]

Rys. 14. Charakterystyki filtra ferrytowego (A) oraz maty ekranującej (B) zastosowanych w wersji D urządzenia Fig. 14. Frequency characteristics of ferrite filter (A) and absorber sheet (B) used in version D of the device

91


) D = P F $ D G> XJ<JV Na rys. 15 widzimy, że ekranowanie obudowy urządzenia w połączeniu z ferrytem oraz matą ekranującą na wiązce LVDS zapewnia spełnienie norm zakłóceń emitowanych z urządzenia z zapasem około 10 dB. Ze względu na konieczność zastosowania w procesie produkcyjnym dodatkowych technik i podzespołów, przebadane rozwiązanie konstrukcyjne istotnie podnosi jednostkowy koszt urządzenia. Kolejnej iteracji poza wymogiem spełnienia norm zakłóceń, przyświecało założenie związane z jednoczesną optymalizacją kosztów produkcyjnych urządzenia. W toku analizy otrzymanych wyników badań urządzenia w wersji D okazało się, że pozostawienie częstotliwości zegara LVDS w przedziale 40–50 MHz może mieć negatywnie znaczący wpływ na emisję zakłóceń. Dla fal elektromagnetycznych w próżni i w powietrzu można posłużyć się uproszczoną zależnością:

l = c/f gdzie: c – prędkość światła w próżni [m/s], l – długość fali elektromagnetycznej [m], f – częstotliwość [Hz]. Rys. 17. Wynik badania emisji szerokopasmowych kasownika w finalnej wersji E [8] Fig. 17. Broadband emission test results for the final hardware version E of validator [8]

Rys. 16. Widok wnętrza urządzenia w wersji E Fig. 16. Overview of the interior of validator (E version)

W przypadku trzeciej harmonicznej częstotliwości LVDS wynoszącej 49 MHz długość fali wynosi około 2 m. Co dla zastosowanej w rozwiązaniu długości wiązki wyświetlacza o wartości 0,5 m mimowolnie stanowiło antenę ćwierćfalową tej harmonicznej. W celu uniezależnienia się od zakłóceń związanych z długością wiązki wyświetlacza dokonano zmiany częstotliwości sygnału LVDS na 33 MHz. Zastosowano wiązkę o dotychczasowej długości (0,5 m), ferryt oraz matę z wersji D. Ponadto z elementów ekranujących na PCB (rys. 9) zdjęto metalowe pokrywy i zrezygnowano z ekranowania obudowy urządzenia (powłoka ekranująca). Opisanej modyfikacji urządzenia nadano oznaczenie wersja E (rys. 16) i dokonano ponownej weryfikacji pod kątem emisji zakłóceń elektromagnetycznych. Wynik badań urządzenia w wersji E przedstawiono na rys. 17 oraz 18. Badania wersji E urządzenia wykazały znaczne zmniejszenie poziomów emisji zakłóceń emitowanych z urządzenia. Zapas poziomu sygnału wynosił minimalnie ok. 5 dB i zapewniał spełnienie wymagań regulaminu [2].

92

P

O

M

I

A

R

Y

A

U

T

O

M

Rys. 18. Wynik badania emisji wąskopasmowych kasownika w finalnej wersji E [8] Fig. 18. Narrowband emission test results for the final hardware version E of validator [8]

U< 8 & Zasadniczym celem przeprowadzonych w procesie konstrukcyjnym badań było określenie optymalnej konfiguracji sprzętowej wymaganej do osiągnięcia poziomów zakłóceń elektromagnetycznych pozwalających spełnić wymagania Regulaminu ONZ nr 10.06. W opisanym procesie badawczo-homologacyjnym zastosowane podejście iteracyjne pozwoliło osiągnąć oczekiwane rezultaty. Po jednoznacznym zdefiniowaniu najważniej-

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


! szego źródła zakłóceń, jakim okazał się sygnał LVDS oraz sposobu jego promieniowania (płyta główna i wiązka LVDS) zastosowano metody ograniczające poziomy emisji przy jednoczesnej optymalizacji kosztowej projektowanego rozwiązania. Należy podkreślić złożoność problemu, która wynikała z jednoznacznie określonych gabarytów obudowy urządzenia, jego funkcji (zastosowane podzespoły) oraz zamiaru jego komercjalizacji (koszty jednostkowe urządzenia). W trakcie opisanego procesu wykorzystano następujące techniki ograniczania emisji: − zmiana architektury wewnętrznej urządzenia, − modyfikacja PCB głównego komponentu elektronicznego (płyta główna), − modyfikacje wiązek kablowych i zastosowanie filtrów ferrytowych, − ekranowanie obudowy urządzenia, − modyfikacja oprogramowania (częstotliwość LVDS).

# *& % Artykuł powstał w oparciu o wyniki realizacji projektu WND-RPPD.01.02.01-20-0141/19 „Inteligentny kasownik – kompleksowe rozwiązanie w transporcie publicznym”.

[ 1. Rybak T., Steffka M., Automotive Electromagnetic Compatibility (EMC), Springer, 2004, DOI: 10.1007/b101849. 2. Regulamin nr 10 Europejskiej Komisji Gospodarczej Organizacji Narodów Zjednoczonych [https:// eur-lex.europa.eu/legal-content/PL/TXT/PDF/?uri=CELEX:42017X0260&from=DA] 3. LVDS: The ribbon cable connection. Texas Instruments [www. ti.com/lit/an/slyt172/slyt172.pdf?&ts=1589661046573] 4. Coombs C.F., Jr., Holden H.T., Printed Circuits Handbook, Sixth Edition 2008, The McGraw-Hill Companies 5. DC-DC Converters Suppress EMI: Minimizing EMI at its Source [www.powerelectronics.com/content/article/21857687/dcdc-converters-suppress-emi-minimizing-emiat-its-source] 6. Board Design Guidelines for LVDS Systems, Altera [http:// ohm.bu.edu/~pbohn/CMS_DCC/Documentation/lvdsboardwp.pdf] 7. https://www.teseq.com/products/downloads/brochure/ GTEM_Cells.pdf 8. CISPR 25:2016 Vehicles, boats and internal combustion engines – Radio disturbance characteristics – Limits and methods of measurement for the protection of on-board receivers

" % E 0 ( G" E H Y % . % ( TG G 9 ( T )! !* The article presents the results of measurements and design changes to the certain electronic device, the purpose of which was to meet the requirements for the levels of electromagnetic disturbance emission from the device in accordance with the UNECE Regulation No. 10.06. The successive stages of the research are described. The subsequent modifications of the device in accordance to the research findings are also described. The subject of the research was the validator of paper and electronic tickets, enabling the purchase of tickets with the use of a contactless payment card and a city card. In the course of the research, the effectiveness of selected methods of ensuring the electromagnetic compatibility of the device was presented. KeywordsQ G"0$ . $ IYJ $ G" $ 6 B$ %

' ($ " ( '8 ORCID: 0000-0002-6121-9888 .8 A % G ( 6 = B K+!!SL #% +!!S [ 8 Z[ ? ( ( F = % [ [ _ = [% _ % 8 Z $ ( % 6 B$ = F "H ( % _ J;"

93


NR 3/2015

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


! $ $ F M%%G XTQW(fXQV F< QH G iBQJQX

Informacje dla Autorów > A $ $ G % @ Qf $ QJXi < ) P

) $ A @ $ K ) _ ? $) $ $ $ $ _ )

$ P E

_ ) _ $ " ? ) ) ) $ \ E"]< # P " @ ) ) $ ) $ E $ ) $ $ ) _ $ P @ $ ) <

Wskazówki dla Autorów # % -/ . & 0

& % & - )

( $ Pomiary Automatyka Robotyka ) ) K ") _ $ A \ ) _ UJ P ] " ) $ $ A $ " B P ($ E

\

) ) ] A \ " , XHJAQJJ P ] " ) $ $ A \HAU ] " ) $ " $ $ A ",K A " ) $ \ < $] A ) ) ) $ " ) $ " $ A " ) " $ A

B E B " ) $ < ) < < ) < b , $ < iJJ ) $ < XJJJ ) , ) $

_ E , <

) $ K " ,K P _

$ J V ) ) K " , X \TJ JJJ P )

$ iJJJ $Q

P ] < U @ < ) ) P ) _ " " ,K

) ", < Nie drukujemy komunikatów! # $ _ K _ E P \ " ] " , HJJAWHJ P E < F

) P P " $ $ < ! )

_ ) _ ? _ ) K <

# & & - # - - % 0/ #

& 0 % # + -

& % %

.

# . & , # #0

% & - & - -< ) _ _ ) ,K ,K < $ P )

_ ) ) ) < > P ,K )

" $ _ K ) $ $ _ K ) $ ) $ " j P < " + # - ,%

# ,% # & P

" < ) P , ) < ! _ @ _K $ _ ) A P E

" E < # ) ) ) ) ) F P $ ) " $ $ < ) ) @ ) $P ) $ F

_<

Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS K0 Y +!)>U -&$+<L$ Z w bazie naukowych 8 Z .90.TH. 6 [ [ % realizacji idei Otwartej Nauki, % 8 8 naukowo-technicznym Pomiary Automatyka Robotyka. 6 "T A 8 naukowe w kwartalniku Pomiary Automatyka Robotyka wynosi obecnie +! K naukowych i recenzowanych F E % % % ) +!)> $ +->!+L 6 % naukowe – automatyka, elektrotechnika i elektronika.

fH


MG& F ='D #* ZC F

"+% # #/

- % + -

.

# # -/ . *

% & - F

( Pomiary Automatyka Robotyka @ _ ) " G % @ _ _ " $ P $ B P P ) ) ) ) " $ , _ 1. -* #

# & {

wymieniowego Autora % # % & - A

$ ) ) P < ` )a < ) P )

P P ) )

$ P $ $ < 2. -* %# *

% & - % # & . ,

& , 0 % 0 %

jej powstanie A $ A ) @ $ _ ) ) " )P P $ B " _ ) $ ) ) )

A ) @ ") ) ) ` a < ")

P _ ) $ )P $ ) " $ ) ) P ) )

fV

P

O

M

I

A

F

$

$ ) ) _ $ ") _ _ $ @ _ $ ) ) $ $ $ <

3. -* | , 0 .

% @ & , .

% & / #

& - A ) ) E )

)

( ) $ $ ) $

j P , P ) "@ < `E a A $

$ $ $ ? )

$

) " E ?<

) # % ,0 ! $ $ ) $ P @ $ $ _

) @ ) A $ $ $ @ K K , < > ) $ B ) , _@ <

6 %

0

przeniesienie praw -/ & % . % ,%

# # % /#

# - 5[ > _ ) " )

") ) $ _ ) "< Z$ ) ) ) ) $ < ) ) $ _ <

Redakcja kwartalnika Pomiary Automatyka Robotyka '

) % ! P ) ( $ ! $ $ F ) $ ) P ) _ " ) $ $ # M )<-

R ( B $ " " $ . % A $ Mariusz Olszewski, Artificial Intelligene in Predicting Abnormal States in a Robotic Production Stand, ISSN 1427-9126, R. 25, Nr 3/2021, 5–10, DOI: 10.14313/PAR_241/5.

R

Y

A

U

T

O

M

A

T

Y

K

A

R

O

B

O

T

Y

K

A

NR 3/ 20 21


Kalendarium wybranych imprez Data konferencji C $ ?

Hi< "

P MKM 2021

13–15 / 09 / 2021

!

XXV Konferencja G (C $ QJQX A $

A G , ! )

23–24 / 09 / 2021

!

C $ E i Termometria w Podczerwieni TTP 2021

28–30 / 09 / 2021

$ # _ !

7th M& = ) * c $ G = LHMNC 2021

11–13 / 10 / 2021

G $

www: ) -BB $ QX< mail: Y $ QX<

h M = $ MATHMOD 2022

16–18 / 02 / 2022

?

www: ) -BB <$ $ < mail: $ $ Y < < <

14th M& = ) M % $ IMS 2022

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

C M

www: ) -BB < + < $BM %QJQQ mail: + Y < <

17th IFAC Conference on ! $$ # + D$ % $ PDES 2022

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

Sarajewo , c

www: ) -BB) ( < mail: < Y < <

11th M& = % $) $ & # % ) + % C ! SAFEPROCESS 2022

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

! = )

www: ) -BB ) QJQX< mail: ) QJQXY < <

Nazwa konferencji

Informacje dodatkowe

www: ) -BB < $< +<) mail: $ $QJQXY) < ) <)

www: ) -BB $ <) )<) B mail:

Y) )< < +<)

www: ) -BB $ <)< <) B ) mail: )Y <)< <)


51

Antoni Nowakowski

57

Tadeusz Kruczek

65

Krzysztof Sawicki, Grzegorz Bieszczad, Tomasz Sosnowski, #; + . % &

Problems of Active Dynamic Thermography Measurement Standardization in Medicine

P $) ) ) $ $ _ $ _

$

$ A $ @ , )

73

# 8 . # < #/ '% # # &

# @ &

79

8 - . . # @ &

" . ) % 9 9 # # 1 &

# 1 & 1 % # @ &

> $) $ ) $

" $

> $

, $ $

87

> # # %0 % # ) D = P F $ D G> XJ<JV


Turn static files into dynamic content formats.

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