ERK 2021 Portorož, Slovenija, 20. - 21. september 2021 Zbornik tridesete mednarodne Elektrotehniške in računalniške konference ERK 2021 Proceedings of the 30th International Electrotechnical and Computer Science Conference ERK 2021 Vabljena predavanja / Invited Lectures Elektronika / Electronics Telekomunikacije / Telecommunications Multimedija / Multimedia Avtomatika in robotika / Automatic Control and Robotics Modeliranje in simulacija / Modelling and Simulation Močnostna elektrotehnika / Power Engineering Merilna tehnika / Measurement - ISEMEC 2021 Akustika in elektroakustika / Acoustics and Electroacoustics Računalništvo in informatika / Computer and Information Science Razpoznavanje vzorcev / Pattern Recognition Biomedicinska tehnika /Biomedical Engineering Didaktika / Didactics Študentski članki / Student Papers Uredila / Edited by Andrej Žemva, Andrej Trost ISSN 2591-0442 (online) ii 2591-0442 (online) Zbornik tridesete Elektotehniške in računalniške konference ERK 2021, 20. - 21. september 2021, Portorož, Slovenija Proceedings of the 30th Electrotechnical and Computer Science Conference ERK 2020, 20 - 21 September 2021, Portorož, Slovenia Vabljena predavanja Elektronika Telekomunikacije Avtomatika in robotika Modeliranje in simulacija Močnostna elektronika Merilna tehnika - (ISEMEC) Akustika in elektroakustika Računalništvo in informatika / Computer and Information Science Razpoznavanje vzorcev Biomedicinska tehnika Didaktika Študentski članki Pri organizaciji Elektrotehniške in računalniške konference so sodelovala naslednja društva: Društvo avtomatikov Slovenije, Slovensko društvo za merilno-procesno tehniko (ISEMEC), SLOKO-CIGRE, Društvo za medicinsko in biološko tehniko Slovenije, Slovensko društvo za umetno inteligenco, Slovensko društvo za razpoznavanje vzorcev, Slovensko društvo za simulacije in modeliranje. Slovenska sekcija IEEE Fakulteta za elektrotehniko v Ljubljani iii Sporočilo predsednika konference v imenu Organizacijskega odbora imam prijetno dolžnost, da Vas pozdravim na elektrotehniški in računalniški konferenci ERK, ki je postala tradicionalno srečanje strokovnjakov, ne le na elektrotehniškem in računalniškem področju, temveč tudi na drugih področjih, kjer sta vključena elektrotehnika in računalništvo. Letos v prav posebnih razmerah poteka že 30. Mednarodna elektrotehniška in računalniška konferenca ERK 2021, 20. in 21. septembra 2021, v hotelu Bernardin, v Portorožu v Sloveniji. Letošnje leto je jubilejno tudi zaradi praznovanja 50-letnice Slovenske sekcije IEEE. Pozdravili nas bodo častni gostje iz Regije 8 in sosednjih držav. Poleg vseh dosedanjih konferenčnih aktivnosti, potekajo letos prvič v sodelovanju z Laboratorijem za robotiko Fakultete za elektrotehniko tudi zagovori devetih magistrskih del. Zaradi epidemioloških razmer bomo konferenco ERK tudi letos izvedli po hibridnem modelu z uporabo sodobnih multimedijskih in telekomunikacijskih tehnologij. Konferenca ERK je pogosto prvi forum, kjer mladi avtorji predstavijo rezultate svojega dela širšemu krogu. Mnogi svetovno uveljavljeni slovenski raziskovalci so imeli svoje prve nastope prav na tej konferenci. Na konferenci poteka vsako leto tudi študentsko tekmovanje Slovenske sekcije IEEE. Najboljša študentska prispevka z Univerze v Mariboru in Univerze v Ljubljani se uvrstita na nadaljnje regijsko tekmovanje IEEE R8, ki pokriva celotno področje Evrope, večji del Azije in Afrike. Na dosedanjih regijskih tekmovanjih so slovenski študentje že petkrat osvojili prvo mesto. Program konference smo razdelili na 12 strokovnih področij. Poleg dveh vabljenih predavanj in štirih študentskih prispevkov, so v posamezne sekcije razvrščene 106 predstavitve. V devetindvajsetih letih je bilo predstavljenih 176 vabljenih predavanj, 287 študentskih prispevkov in 5434 rednih prispevkov. Kljub intenzivnem delovanju v mednarodnem okolju, še naprej razvijamo slovensko tehniško besedo, zato se slovenskemu jeziku na konferenci nismo odpovedali. Razpored referatov in vsi prispevki so dostopni na spletni strani https://erk.fe.uni-lj.si/2021/program.php. Andrej Žemva Andrej Trost Predsednik konference Predsednik programskega odbora iv Organizatorji / Organizers • Slovenska sekcija IEEE • Fakulteta za elektrotehniko, Univerza v Ljubljani Strokovna društva Pri delu posameznih konferenčnih sekcij sodelujejo naslednja strokovna društva: • Društvo avtomatikov Slovenije, • Slovensko društvo za merilno-procesno tehniko (ISEMEC 2021), • SLOKO–CIGRE, • Društvo za medicinsko in biološko tehniko Slovenije, • Slovensko društvo za umetno inteligenco, • Slovensko društvo za razpoznavanje vzorcev, • Slovensko društvo za simulacijo in modeliranje. v Konferenčni odbori / Board Predsednik konference / Conference Chairman Andrej Žemva Podpredsednik konference / Conference Vicechairman Matej Zajc Častni predsednik konference / Honorary Conference Chairman Baldomir Zajc Predsednik odbora za tisk / Publications Chairman Dane Seliger Predsednik program. odbora / Program Committee Chairman Andrej Trost Programski odbor / Programe Committee Agrež Dušan Ambrožič Vanja Atanasijević-Kunc Maja Batagelj Boštjan Baudoin Genevieve Begeš Gaber Beguš Samo Bešter Janez Blažič Sašo Bojkovski Jovan Brezočnik Zmago Brglez Franc Bulić Patricio Bürmen Arpad Burnik Urban Corchado Emilio Debevc Matjaž Debono Carl Delimar Marko Dobrišek Simon Dolinar Gregor Drnovšek Janko Drobnič Klemen Fajfar Iztok Fišer Rastko Frohlich Hubert Gams Matjaž Geršak Gregor Gruden Timotej Grum Bernard Guna Jože Humar Iztok Iglič Aleš Jager Franc Jagodič Marko Jakus Grega Jankovec Marko Jarm Tomaž Javornik Tomaž Kamnik Roman Klančar Gregor Kos Andrej Kos Anton Košir Andrej Kotnik Tadej Kramar Peter Krč Janez Kuzle Igor Kužnar Roman Lavrič Henrik Logar Vito M. Tonello Andrea Maček-Lebar Alenka Makuc Danilo Mandeljc Rok Meža Marko Mihelj Matjaž Miklavčič Damijan Milanovič Miro Miljavec Damijan Mujčić Aljo Munih Marko Mušič Gašper Nedeljković David Nešković Nataša Pantoš Miloš Papič Igor Perš Janez Petkovšek Marko Podgorelec Vili Pogačnik Matevž Policardi-Antoncich Franc Pustišek Matevž Pušnik Igor Richter Kurt Rihar Andraž Sedlar Urban Sernec Radovan Sešek Aleksander Skočaj Danijel Sodnik Jaka Solina Franc Stančin Sara Sterle Janez Stojmenova Duh Emilija Suljanović Nermin Škrjanc Igor Šprager Sebastijan Štern Andrej Štruc Vitomir Tabernik Domen Tomažič Sašo Topič Marko Tosato Fabio Tuma Tadej Ude Aleš Umek Anton Vidmar Matjaž Vončina Danjel Zajc Matej Zajec Peter Zamuda Aleš Zazula Damjan Zupančič Borut Žalik Borut Žemva Andrej vi Recenzenti / Reviewers Goran Andonovski Marko Bajec Katja Balantič Boštjan Batagelj Aljaž Baumkircher Žiga Bizjak Sašo Blažič Boštjan Blažič Jovan Bojkovski Matevž Bošnak Božidar Bratina Gregor Burger Urban Burnik Luka Čehovin Zajc Gregor Černe Selma Ćorović Janja Dermol Černe Franc Dimc Matjaž Divjak Matej Dobrevski Lara Dular Rastko Fišer Aljaž Frančič Helena Gabrijelčič-Tomc Gregor Geršak Dušan Gleich Giovanni Godena Timotej Gruden Jože Guna Jernej Herman Matevž Hribernik Marija Ivanovska Aleš Jaklič Grega Jakus Roman Kamnik Gorazd Karer Peter Kitak Peter Kmecl Danilo Korže Tomaž Kosar Peter Kramar Iztok Kramberger Matej Kranjc Peter Krapež Vladimir Kuzmanović Henrik Lavrič Bogdan Lipuš Niko Lukač Alan Lukežič Alenka Maček Lebar Danilo Makuc Marko Malajner Marko Meža Franc Mihalič Tomi Mlinar Domen Mongus Jon Muhovič Aljo Mujčić David Nedeljkovič Klemen Pečnik Matevž Pesek Peter Planinšič Gašper Podobnik Matevž Pogačnik Franc Policardi Boštjan Pregelj Andraž Rihar Peter Rot Urban Rupnik Andrej Sarjaš Urban Sedlar Aleksander Sešek Danijel Skočaj Sara Stančin Vlado Stankovski Gregor Strle Damjan Strnad Sebastjan Šlajpah Boštjan Šumak Domen Tabernik Andrej Trost Angelika Vižintin Danjel Vončina Matej Zajc Peter Zajec Janez Zaletelj Aleš Zamuda Vitjan Zavratnik Andrej Zdešar vii Sekc./Sect. VP Vabljena predavanja / Invited Papers 1 The evolution of the electric powertrain and the potential for future vehicles: trends and the introduction of the distributed drive architecture Luka Ambrožič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Influence of electrokinetics and electrostatics on DNA transport over length-scales during gene electrotransfer Shaurya Sachdev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Sekc./Sect. EL Elektronika / Electronics 4 Optimizacija izdelave močnostnih modulov ter termična analiza Aleksander Sešek, Tadej Skuber, Kostja Makarovič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Pregled programirljivih logičnih vezij vgrajenih v C2000 družino mikrokrmilnikov Andrej Kenda, Mitja Nemec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Emulacija inkrementalnega dajalnika Andrej Kenda, Mitja Nemec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Načrtovanje lidarja s konstantno modulacijo svetlobe s programskim orodjem Vivado HLS Luka Pogačnik, Andrej Trost, Andrej Žemva, Marko Munih. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18 Sekc./Sect. TC Telekomunikacije / Telecommunications 22 Modelling a prosumer-consumer pair for investigation of local self-consumption of renewable energy Ena Kikanović, Nermin Suljanović, Matej Zajc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Augmented reality solution for visualisation of emergency events Tjaša Jereb, Matej Rabzelj, Mojca Volk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 27 Platforma za podporo senzorskih sistemov v športu Matevž Hribernik, Andrej Kos, Urban Sedlar, Anton Kos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Analysis of the Variable-Rate Sampling Algorithm at low-power system for transmission of temperature values Bojan Prlinčević, Zoran Milivojević . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Metode za ocenjevanje vpliva elektromagnetnih polj tehnologije 5G na okolje Tomi Mlinar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merilni sistem za merjenje impulznega odziva radijskegakanala s tehnologijo UWB Aleš Simončič, Tomaž Javornik, Klemen Bregar, Andrej Hrovat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 39 43 Samogradnja radarskega trirobnika s kvadratno stranico in meritev njegove odmevne površine Peter Nimac, Peter Miklavčič, Boštjan Batagelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Uporabnost vektorskega analizatorja vezij NanoVNA Andrej Štern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Pilotna postavitev C-ITS tehnologije ITS-G5 v Sloveniji Andrej Štern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 FT8 - komunikacija IoT z dosegom na tisoče kilometrov Andrej Štern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Design of the Bidirectional UWB BoR Antenna Marko Radović, Peter Planinšič, Dušan Gleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Uporaba hibridne mikrovalovne fotonske tehnologije v FMCW radarjih Jernej Mušič, Aljaž Blatnik, Boštjan Batagelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Uporaba tehnologije MIMO v satelitskih komunikacijah Jure Janez Markovič, Peter Miklavčič, Boštjan Batagelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Zajem geografsko označenih meritev z brezpilotnim zrakoplovom Aleks Gabrič, Peter Miklavčič, Aljaž Blatnik, Boštjan Batagelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Razpoznavanje vsebnosti barvila v plastičnem materialu na osnovi obdelave teraherčnih spektroskopskih podatkov in klasifikacijskega algoritma Andrej Sarjaš, Blaž Pongrac, Dušan Gleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 viii Regresivna nevronska mreža za ocenjevanje vlažnosti tal Blaž Pongrac, Dušan Gleich, Peter Planinšič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Simulator rasti vegetacije, temelječ na podatkih LiDAR Simon Kolmanič, Štefan Kohek, Matej Brumen, Danijel Žlaus, Tamara Golob, David Jesenko, Domen Mongus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Improving Attitude Determination of a Satellite with Photodiodes for Sun Position Estimation using TRISAT data and Earth Albedo model Nejc Kosanič, Iztok Kramberger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Sekc./Sect. MM Multimedija / Multimedia 96 Evalvacija standarda za kodiranje videa Versatile Video Coding (VVC/H.266) Arne Simonič, Urban Burnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Mnenje voznikov o uporabniških vmesnikih za prevzem vodenja pogojno avtomatiziranega vozila Timotej Gruden, Grega Jakus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Uporabnost pametnih telefonov in mobilnih aplikacij kot pripomočkov za osebe z invalidnostjo Gregor Burger, Katja Oven, Matevž Pogačnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Sistem za sledenje govorcu v zaprtih prostorih na osnovi termovizije v realnem času Mark Breznik, Matevž Pogačnik, Klemen Pečnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Vpliv podvzorčenja v krominančnem prostoru na kakovost zapisa slikovnega gradiva Jan Pelicon, Urban Burnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Animiranje obrazov v slikarskih delih Janez Justin, Katja Kunej, Katarina Pikec, Tajda Urankar, Blaž Meden, Narvika Bovcon . . . . . . 117 Poučna otroška klepetalnica Klepetko Marko Kofol, Tomaž Sagaj, Vita Potočnik, Patricija Rantaša, Sandra Stancheska, Barbara Dovečar, Blaž Meden, Narvika Bovcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Aplikacija za iskanje podobnih slikarskih del Luka Končar, Rok Caserman, Gregor Brantuša, Matevž Andošek Peklaj, Blaž Meden, Narvika Bovcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ocenjevanje skladnosti spletnih vsebin s smernicami za dostopnost na spletu: ocena ustaljenega pristopa Vid Stropnik, Sabina Oražem, Jure Trilar, Jana Kotnik, Emilija Stojmenova Duh . . . . . . . . . . . . . . 125 130 Sekc./Sect. AV AR - Avtomatika / AR - Automatic Control 134 Spremljanje učinkovitosti proizvodnih procesov z obdelavo na robu omrežja Jure Špeh, Gašper Mušič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Optimizacijski problem generiranja časovno minimalnih trajektorij z uporabo Bézierovih krivulj Martina Benko Loknar, Gregor Klančar, Sašo Blažič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Platooning Modelling, Simulation, Visualization and Control, Part I. Mikuláš Huba, Peter Ťapák, Pavol Bisták, Igor Bélai, Katarı́na Žáková . . . . . . . . . . . . . . . . . . . . . . . . 143 Platooning Modelling, Simulation, Visualization and Control, Part II. Mikuláš Huba, Peter Ťapák, Pavol Bisták, Igor Bélai, Katarı́na Žáková . . . . . . . . . . . . . . . . . . . . . . . . 147 Manipulacija izvodov statorskih navitij motorja Luka Kresnik, Simon Erjavec, Marko Munih . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Prototip robotskega sistema za avtomatsko pobiranje stebelne zelenjave Erik Pleško, Sebastjan Šlajpah, Marko Munih, Matjaž Mihelj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Ocenjevanje kinematične izvedljivosti robotske naloge za sinhrono translacijsko in rotacijsko gibanje po površini obdelovanca Saša Stradovnik, Aleš Hace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Open-hardware open-source low-cost underwater ROV Vid Rijavec, Danijel Skočaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 ix Lokalizacija nakupovalnega vozička v trgovini Aljaž Trebušak, Peter Krapež . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Klasifikacija trajektorije roke z meritvami pozicije za podporo sodelovanju robota s človekom Matija Mavsar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Optimizing end-effector force during the sit-stand task on theTalos humanoid bipedal robot Luka Mišković, Rebeka Kropivšek Leskovar, Andrej Gams, Tadej Petrič . . . . . . . . . . . . . . . . . . . . . . . . . 175 Using Neural Networks for Synthesizing Importance Sampler Database in Reinforcement Learning Zvezdan Lončarević, Andrej Gams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Prepoznavanje objektov na trgovinskih policah za robotske aplikacije Blaž Potočnik, Matjaž Mihelj, Marko Munih, Janez Podobnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Sekc./Sect. SM Modeliranje in simulacija / Modeling and Simulation 187 Detection of Increased Fuel Utilization in Solid Oxide Fuel Cell Stacks using Subspace Identification Maja Erkechova, Stefan Borkovski, Juričić . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Generating Synthetic Hourly Solar Radiation Sequences Using Generative Adversarial Networks Romanela Lajić, Čedomir Zeljković, Vladimir Risojević . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Simulacija gretja magnetne tekočine v izmeničnem magnetnem polju Jakob Vizjak, Anton Hamler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Uporaba modeliranja in simulacije v digitalizaciji procesa elektroobločne peči Vito Logar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Sekc./Sect. ME Močnostna elektrotehnika / Power Engineering 205 Sinhronizacija generatorjev trifaznega pulzno-širinsko moduliranega signala Mitja Nemec, Vanja Ambrožič, Danjel Vončina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Regulacija močnostnega pretvornika za testiranje razsmernikov Mitja Nemec, Žiga Selan, Danjel Vončina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Prenos krmilnega signala med sklopoma podvrženima veliki du/dt in negativni napetosti skupnega načina Peter Zajec, Andraž Rihar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Izzivi uporabe NTK termistorjev pri merjenju temperature v močnostnih pretvornikih Marko Petkovšek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nesimetrija toka v več-vejnih pretvornikih Mitja Nemec, Andraž Rihar, Peter Zajec, Danjel Vončina, Vanja Ambrožič . . . . . . . . . . . . . . . . . . . . . Elektromagnetna združljivost in funkcionalna varnost Urban Metod Peterlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Izbira materialov za visokoučinkovite distribucijske transformatorje Mislav Trbušić, Igor Lugarič, Marko Jesenik, Mladen Trlep, Anton Hamler . . . . . . . . . . . . . . . . . . . . 218 222 226 230 An Impact of Spinning Reserve on the Number of Solutions in the Unit Commitment Problem Izudin Softic, Samed Bajrić, Nedžmija Demirović, Emina Hrvić, Amila Mukinović . . . . . . . . . . . . . . 234 Power Cable Wave Propagation Velocity Estimation Based on Travelling-Waves Marko Hudomalj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Sekc./Sect. MT Merilna tehnika / Measurement 242 Avtomatizacija sistema za kalibracijo momentnih ključev Miha Hiti, Rok Mokorel, Vid Primožič, Gaber Begeš . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Iskanje stanja napolnjenosti baterijske celice s pomočjo genetskega algoritma in ESC modela baterije Marko Antončič, Riko Šafarič, Kristijan Korez, Miran Globevnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Stanje napolnjenosti baterijske celice na osnovi ESC modela nadgrajenega s povratno zanko in genetskim algoritmom Kristijan Korez, Miran Globevnik, Marko Antončič, Riko Šafarič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 x BMS za hibridni koncept baterij Miran Globevnik, Rudolf-Leon Filip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Avtomatska končna kontrola elektromotorjev Gregor Dolanc, Boštjan Pregelj, Janko Petrovčič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Preliminarne meritve prototipa praktičnega šumnega termometra Rok Tavčar, Samo Beguš, Jovan Bojkovski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Zasnova metode za določanje smerne občutljivosti sevalnih termometrov in termokamer Vid Mlačnik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Vpliv relativne vlage pri umerjanju sevalnih termometrov Igor Pušnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Sekc./Sect. AE Akustika in elektroakustika / Acoustics and Electroacoustics 275 From Tone Frequencies to Temperaments Visualizations Gilles Baroin, André Calvet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Detekcija otoakustičnih emisij Žan Tomazini, Samo Beguš . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Situacijsko zavedanje voznikov avtomatiziranih vozil Kristina Stojmenova, Sašo Tomažič, Jaka Sodnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Odstranjevanje šuma gramofonskih plošč Aljaž Dobnik, Urban Burnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Eksperimentalno prepoznavanje togih stikov plavajočih podnih konstrukcij Rok Prislan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lung Ultrasound evaluation in the Emergency setting: lessons from the current pandemia Stefano Perlini, Marco La Salvia, Gianmarco Secco, Francesco Salinaro, Francesco Leporati . . . . . 267 293 296 Acoustic Images Tecniques for the Identification of acoustic leaks in urban apartments blocks Marila Balboni, Giovanni Amadasi, Franc Policardi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Sekc./Sect. CS Računalništvo in informatika / Computer and Information Science 304 Radijsko k-barvanje neskončnih mrež Danilo Korže, Aleksander Vesel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Upoštevanje indeksa strahu in pohlepa v predvidevanju cene Bitcoin skozi dolgi kratkoročni spomin Nataša Ošep Ferš, Aleš Zamuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 The Semantic Web and Blockchain at a Meeting Point Klevis Shkembi, Petar Kochovski, Thanasis Papaioannou, Caroline Barelle, Vlado Stankovski . . . 313 FRI Tokens for a Fog Computing Course Sandi Gec, Petar Kochovski, Janez Brežnik, Vlado Stankovski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Nadgradnja obstoječega domensko specifičnega modelirnega jezika za merilno tehniko Tomaž Kos, Marjan Mernik, Tomaž Kosar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Programerske veščine v razkoraku med razvojem stroke in trenutnim stanjem na trgu dela Tjaša Jelovšek, Marko Bajec, Andreja Lampe, Wanda Saabeel, Clare Thornley, Vlado Stankovski . Pregled 2D verižnih kod Borut Žalik, Damjan Strnad, Krista Rizman Žalik, Andrej Nerat, Niko Lukač, Bogdan Lipuš, David Podgorelec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Medpomnjenje obsevanosti za globalno osvetlitev volumetričnih podatkov Uroš Šmajdek, Žiga Lesar, Matija Marolt, Ciril Bohak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Digital image quality assessment metrics Vladimir Kuzmanovic, Slobodan Pajic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Evaluating the Potential of Web Image Optimization for Improving User-Perceived Performance Tjaša Heričko, Boštjan Šumak, Špela Čučko, Saša Brdnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 xi 325 Zasnova in izvedba pametne sidrne boje kot naprave IoT Januš Likozar, Aleš Jaklič. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 347 Sekc./Sect. PR Razpoznavanje vzorcev / Pattern Recognition 351 Frequency Band Encoding for Face Super-Resolution Klemen Grm, Vitomir Štruc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Analiza robustnosti globokih nenadzorovanih metod za detekcijo vizualnih anomalij Jakob Božič, Vitjan Zavrtanik, Danijel Skočaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Bias Analysis of Deep Face Recognition with Masked Faces Benjamin Džubur, Peter Peer, Žiga Emeršič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Modularni večsenzorski sistem za avtonomna plovila Janez Perš, Jon Muhovič, Urban Bobek, Žiga Brinšek, Tilen Cvenkel, Domen Gregorin, Klemen Kobau, Mitja Kuštra, Mark Lukek, Nina Sedej, Matej Kristan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 A Comparative Study of Discriminative and One–Class Learning Models for Deepfake Detection Marija Ivanovska, Vitomir Štruc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Segmentacija videoposnetkov vodnih scen s pomočjo delno nadzorovanega učenja Blaž Česnik, Lojze Žust, Matej Kristan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Zaznavanje terasiranih pokrajin kot semantična segmentacija digitalnega modela višin Anže Glušič, Rok Ciglič, Luka Čehovin Zajc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Validacija zvočnih posnetkov pri izdelavi podatkovne zbirke za učenje razpoznavalnika slovenščine Janez Križaj, Simon Dobrišek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Designing a Machine Learning based Non-intrusive Load Monitoring Classifier Leo Ogrizek, Blaz Bertalanic, Gregor Cerar, Marko Meža, Maja Erkechova . . . . . . . . . . . . . . . . . . . . . 386 Optična razpoznava notnih znakov s CRNN Matic Isovski, Luka Šajn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Sekc./Sect. BM Biomedicinska tehnika / Biomedical Engineering 394 Measurement protocol for detection of lipid peroxidation induced changes in planar lipid bilayers Katja Balantic, Damijan Miklavčič, Peter Kramar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Decreases in Cell Viability Resulting from Metal Ions Present in Stainless Steel in Electroporated and Nonelectroporated Cells Sonja Košir, Angelika Vižintin, Damijan Miklavčič . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Numerično modeliranje neinvazivne elektroporacije kože z večtočkovnimi elektrodami Janja Dermol-Černe, Matej Reberšek, Damijan Miklavčič. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 403 Initial steps of pore formation in planar lipid bilayers made of phospholipids and archaeal lipids Alenka Maček Lebar, Damijan Miklavčič, Peter Kramar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Assessing cancellation effect using numerical modeling of pore formation Ana-Maria Sandu, Damijan Miklavčič, Maria Scuderi, Janja Dermol-Černe . . . . . . . . . . . . . . . . . . . . 411 Time-Dependent Numerical Model of The Induced Transmembrane Voltage in real-shaped Cardiomyocyte Maria Scuderi, Damijan Miklavčič, Janja Dermol-Černe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Generator izmenične napetosti za elektroformacijo orjaških fosfolipidnih veziklov Marin Gazvoda De Reggi, Urban Malavašič, Marko Jeran, Samo Penič . . . . . . . . . . . . . . . . . . . . . . . . . 419 Stroboskopski sistem za zajem slik fosfolipidnih veziklov za določanje mehanskih lastnosti Nejc Klanjšček, Samo Penič. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 423 Skupki pDNA na celični membrani ob genski elektrotransfekciji z mikrosekundnimi bipolarnimi električnimi pulzi Tjaša Potočnik, Damijan Miklavčič, Alenka Maček Lebar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Sekc./Sect. DI Didaktika / Didactics 431 xii Povezovanje tehniškega risanja, 3D modeliranja in 3D tiskanja za namen posodobitve OŠ tehniškega izobraževanja Špela Kosec, Janez Jamšek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 E-tutor: tailor-made multiply intelligent study tool for management students Judita Peterlin, Daniela Garbin Praničević . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Posodobitev laboratorijskih vaj s področja močnostne elektronike z vpeljavo simulacijskega programa Ansys Simplorer Andraž Rihar, Peter Zajec, Danjel Vončina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Vaje za domov: elektroakustika Samo Beguš . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Sekc./Sect. ST Študentski članki / Student Competition IEEE Slovenia 448 Preverjanje pristnosti navigacijskih sporočil Martin Srebot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generiranje optimalnega hitrostnega profila na različnih družinah krivulj Nataša Zekić . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kombinirana metoda za antropomorfno teleoperiranje robotske roke z nosljivimi inercialnimi senzorji Domen Ulbl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optimizacija receptov hladnega valjanja na podlagi analize zgodovinskih podatkov Kristjan Cuznar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xiii 449 453 458 462 Vabljena predavanja Invited Lectures The evolution of the electric powertrain and the potential for future vehicles: trends and the introduction of the distributed drive architecture Luka Ambrožič Elaphe Propulsion Technologies Ltd., Ljubljana, Slovenia Abstract. After more than one hundred years of the dominance of the cumbustion engine, the current decade focuses on development of completely new platforms, based on electric propulsion. Electric motors are already a part of every newly sold vehicle today – start-stop behavior, mild hybrids, plug-in hybrids and other forms of EVs (battery or otherwise powered). The lecture will discuss the implications of a mindset change from the way vehicles have been built for the last 100 years towards the possibilities (benefits and drawbacks) of how they can be built today – with mission and user focused design. The lecture will focus on the most advanced powertrain architecture, which is a close as it gets to a fully software-defined powertrain – the distributed drive using 1 electric motor per wheel. ERK'2021, Portorož, 2-2 2 Influence of electrokinetics and electrostatics on DNA transport over length-scales during gene electrotransfer Shaurya Sachdev Laboratory of Biocybernetics, Faculty of Electrical Engineering, University of Ljubljana, Slovenia Abstract. Application of pulsed electric field can reversibly increase the permeability of the cell membrane allowing access of DNA molecules to the inside of the cell - a process known as gene electrotransfer. While gene electrotransfer shows potential in treatment of cancer and vaccination against infectious diseases, low levels of transgene expressions following gene electrotransfer prevent its widespread clinical adoption. The low efficiency can largely be attributed to lack of fundamental understanding of how DNA molecules traverse macroscopic to nanoscopic length-scales to overcome the interstitial and cell membrane barriers in the presence of an electric field. In this talk, I will explain how electrokinetics and electrostatics modulate the transport of DNA molecules over these diverse length-scales. Further, I will show how experiments that can be directly compared to theoretical models of DNA transport can greatly augment our understanding of the gene electrotransfer process. Such a mechanistic understanding will hopefully allow us to effectively overcome the interstitial and cell membrane barriers and improve the therapeutic efficiency of gene electrotransfer. Understanding the transport of DNA within electrokinetic and electrostatic frameworks also provides the basis for developing optimized protocols of gene electrotransfer within complex tissue environments that can be readily transferred across tissue types and species; a benefit not provided by the current trial-and-error based research for improvement of protocols. ERK'2021, Portorož, 3-3 3 Elektronika Electronics Optimizacija izdelave močnostnih modulov ter termična analiza Aleksander Sešek1, Tadej Skuber1, Kostja Makarovič2 1 Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana 2 Keko Equiqment, Grajski trg 15, 8360 Žužemberk E-pošta: aleksander.sesek@fe.uni-lj.si Power module production optimization and thermal amalysis Abstract. In the paper, the material selection, bonding and soldering issues of power modules are presented, together with thermal and electrical measurements. It is shown that the best material, regarding thermal properties, is AlN, but due incompatibility with 3D production process, Alumina and LTCC ceramics are agreeable selections. 1 Uvod Elektronski močnostni moduli so dandanes uporabljeni pri vsakem elektromotorju [1]. Optimizacija njihovega delovanja je izziv podjetij, ki električne pogonske sisteme ponujajo na trgu in je za vsakega od pogonov specifična [2]. Tako se za določen elektromotorski sistem optimizira vsako od komponent ločeno, vendar tudi skupaj kot sistem. Optimizira se konstrukcija elektromotorja [3], njegova povezava na močnostni modul [4], močnostni modul [5], krmilno vezje [6], [7] ter hlajenje vsake od komponent ali celotnega sistema [8]. Vsaka od optimizacij zahteva posebne pristope, orodja, simulacije in meritve. Ker so krmilni sistemi za močnostne module že optimizirani, se prilagajajo le posamezne enote in še to programsko [9]. Pri močnostnih modulih pa so optimizacije v smeri zmanjšanja parazitnih elementov [10], postavitve elektronskih močnostnih elementov [5], izbire materialov za osnovne plošče modula [11] ter povezljivostjo elementov in modulov [12], itd. V tem prispevku smo se posvetili inovativnim procesom izdelave močnostnega modula, ki temelji na uporabi različnih vrst keramike, uporabe naprednih 3D aplikacijskih tehnologij ter možnosti nanosa različnih snovi v enovitem postopku izdelave modula. V prvem poglavju so opisani različni materiali in težave pri njihovi uporabi in izdelavi modula. Sledijo osnovne termične meritve, kjer sta bila testirana dva najprimernejša materiala ter potrditvena električna meritev DPT [13]. 2 Izbira materiala osnovne plošče Tehnologija, ki se uporablja v dotičnem primeru je imenovana »Direct Copper Bonding« (DCB) ali pa »Direct Aluminum Binding« (DAC) [14]. Obe tehnologiji sta v nasprotju z osnovno tehnologijo integriranih vezij »Printed Circuit Board« (PCB), bolj kompleksni. PCB tehnologija uporablja večplastno tehnologijo epoksi laminatov (debelina plasti laminata ERK'2021, Portorož, 5-9 5 je od 200 µm pa do 1500 µm) z nanosom tankih bakrenih plasti (debelina bakra v posamezni plasti je 35 µm) za električne povezave. DCB tehnologija pa je osnovana največkrat na eni sami keramični plasti (debelina keramike je 500 µm) na katero sta obojestransko nanešeni debeli plasti bakra, kot prevodnika za električne povezave (debeline plasti so 100 µm in več). V našem primeru je bil uporabiljen postopek izdelave večplastne keramične strukture, znan iz proizvodnje senzorskih struktur. Gre za uporabo po plasteh različno oblikovane keramike, ki se žge pri nizkih temperaturah (pod 1000 °C) t.i. LTCC (Low Temperature Co-fired Ceramics) keramike [15], primerjalno pa smo uporabili tudi keramiko Al2O3 (Alumina) [16], ki je osnova DCB struktur. 3D strukture se uporabljajo za planarizacijo električnih povezav stikalnih elementov in napajalnih povezav. Fotografiji obeh testnih močnostnih modulov sta predstavljeni na sliki 1. Slika 1. Močnostni modul iz večplastne Alumine ter večplastne LTCC keramike Na sliki 1 levo je vidna osnova modula iz Alumine, na katero je nanesena tanka plast metalizacije. Plasti Alumine so v tem primeru debele 500 µm. Na enak način je izdelana tudi desna ploščica iz LTCC keramike na desni. Ti moduli so narejeni po plasteh, ki se jih lahko prilagaja po debelini in spaja med seboj. Nanos metalizacije je narejen po zlaganju keramične strukture, se pa hkrati s strukturo žge. V dolga, poglobljena in metalizirana področja modula se kasneje prispajka, hkrati z elektronskimi elementi, bakrene tokovodnike. V primeru Alumine, sočasno žganje z metalizacijo ni možno, zaradi previsoke temperature sintranja Alumine in nizke temperature tališča tipičnih materialov za metalizacijo (Ag, Pd, Cu, .. ipd). Pri uporabi novejšega materiala – aluminijevega nitrida (AlN) za izdelavo močnostnih modulov, smo se morali omejiti zgolj na 2D strukturo, kajti AlN zahteva sintranje v inertni atmosferi ali vakumu pri 1800 °C. Zapleten je tudi postopek nanosa metalizacije. AlN je dielektrik, ki ima nenavadno visoko temperaturno prevodnost. Zato smo naročili izdelavo modula za primerjavo lastnosti, ki je dimenzijsko enak 3D modulu, le da se v tem primeru bakrene tokovodnike prispajka na površino modula in se s tem izgubi planarizacija napajalnih povezav. Pri tem modulu gre za laminat s kombinacijo baker – AlN – baker, vsi po debelini enaki (500 µm). Obdelava modula je narejena z krmiljenim rezkarjem. Modul je prikazan na sliki 2. moči bondiranja, hkrati s segrevanjem niso uspeli. Naslednji poizkus je bila dodatna aplikacija kositra (Sn) na površino, ki je površino niklja nekoliko spremenila in s tem površinsko strukturo razbrazdala, kar je v večini primerov čistih debelopalstnih metalov omogočilo bondiranje. V našem primeru pa se ta rešitev ni izkazala za pravilno. Na sliki 3 lahko vidimo kovinsko površino z prej omenjenimi nanosi kovin in vdolbinice, ki so ostale po neuspešnem bondiranju. Slika 3. Neuspešno bondiranje na kombinacijo Ag-Pd + Ni + Sn strukturo Slika 2. Osnovna plošča močnostnega AlN modula AlN je kot osnovni material zanimiv za uporabo v močnostni elektroniki, ker je izredno termično prevoden. Za primerjavo termične prevodnosti smo uporabili prav tako planaren modul Alumine. Rezultati so predstavljeni v poglavju o termičnih lastnostih modula iz AlN in Al2O3. Za izvedbo tako termičnih kot električnih meritev keramičnega AlN modula s pritrditvijo elementov nismo imeli težav. Vsi elementi so se na čisti baker lepo spajkali, prav tako bondiranje z aluminijevo žico ni bilo težavno. Na težave pa smo naleteli pri poizkusu bondiranja in spajkanja na metalizacijo Alumine in LTCC keramike. Te težave smo reševali na 3D strukturah. Glavni poudarki in rešitve so predstavljeni v naslednjem poglavju 2.1 Metalizacija in bondiranje keramičnih struktur Pri metalizaciji keramičnih struktur so najpomembnejši trije parametri: oprijem kovine na keramiko, dobra električna prevodnost ter možnost bondiranja. V procesu izdelave večplastnih keramičnih struktur, nanos bakrene plasti ne pride v poštev. Uporablja se razne kombinacije past z različno vsebnostjo srebra, zlata paladija, platine ipd. Plasti takih metalizacij so tanke, zagotavljajo dobro oprijemljivost in veliko električno prevodnost, ne zagotavljajo pa dobre osnove za bondiranje. Za osnovni material je bila tako izbrana mešanica srebra in paladija, ki je enostavna za uporabo in zagotavlja dober oprijem, bondiranje nanjo pa ni možno. Najprej so bili narejeni poizkusi z dodatnim nikljanjem (Ni) plasti, ki naj bi zagotovilo dovoljšno oprijemljivost bondov, kar pa se ni izkazalo za pravilno domnevo. Bondi različnih presekov in uporaba različnih 6 Izkazalo se je, da ultrazvočni pritisk na strukturo sicer povzroči stik med bondirno žico, vendar povzroči zaradi strukturnega pritiska na adhezijsko plast odstop osnovne Ag-Pd plasti od keramike. Na mestu pritiska ostanejo področja brez kovine, ki ostane sprijeta na bondirno žico. Območja so označena z puščico. Ker so dodatni nanosi metalov povzročili nekakšno plavajočo strukturo, ki se na pritisk ni odzvala zadovoljivo smo se poslužili najenostavnejše izvedbe in sicer lokalnega srebrenja površin namenjenih bondiranju. Srebro samo je namreč ustrezno za bondiranje, vendar je nanos le tega na osnovno Ag-Pd metalizacijo lahko neuspešen, saj se ob segrevanju porazgubi v paladiju in zopet ne omogoči bondiranja. Prav tako se ob predebelem nanosu obnaša kot blazina, ki ob ultrazvočnem bondiranju ne omogoča dovolj trdne podlage za oprijem. Ob testiranju različnih debelin smo odkrili pravšnjo, ki je vsaj v razmerju 1:2 z osnovno plastjo. Fotografija uspešnega bondiranja je predstavljena na sliki 4. Slika 4. Uspešno bondiranje na srebrno površino Na sliki 4 so prikazani bondi z 50 µm Al žico med področji nanešenega srebra. Vidna so tudi okovinjena področja brez nanosa srebra sivo, poglobljeni del keramike in bondirna kapilara na sredini slike. Bondi, pri katerih je uporabljana tanjša 50 µm žica so uporabljeni v primeru kontrolnih in krmilnih povezav, medtem ko so močnostni bondi narejeni z 380 µm žico in omogočajo večje tokovne gostote. paste na sredino modula ter na hladilno telo, kot je razvidno iz slike 6. 3 Močnostni modul Močnostni modul iz Alumine, ki je bil vzet za primerjavo z AlN modulom je prav tako planaren, 2D. Z uporabo tega nadomestka 3D modula ne vplivamo na termične lastnosti oziroma prenos toplote na hladilno telo, ki je spodaj, ampak zgolj enačimo strukturo za primerjavo – dolžine in pozicije bondirnih žic in priključkov. Končni modul iz Alumine, ki je uporabljen tudi v trifaznih sistemih, je prikazan na sliki 5. Slika 6. Test termične upornosti osnovne plošče modula Graf na sliki 7, prikazuje potek temperaturne razlike na modulih pri 100 W trošene moči. Iz grafa je razvidno, da je na AlN skoraj dvakrat manj temperaturne razlike kot na Alumini, kar pomeni da je ta material boljši za prenos toplote oziroma hlajenje močnostnih komponent. Slika 5. Močnostni modul iz Alumine z nameščenimi elektronskimi komponentami Dimenzijsko torej popolnoma ujemajoč modul z enakimi debelinami keramičnega substrata in tudi enakimi elektronskimi komponentami je bil uporabljen za termične in električne meritve. Na sliki 5 se vidi dvakrat po 4 močnostne tranzistorje, ki predstavljajo spodnji in zgornji preklopni element, bondirne žice do ustreznih bakrenih povezav, pod njimi in tudi na spodnji strani ploščice pa elektronske komponente za krmiljenje modula ter za meritev temperature na plošči. Slika 7. Temperaturna razlika dT na modulih V tabeli 1 so zbrani tudi numerični rezultati meritev temperaturen razlike pri 20 W, 50 W in 100 W trošene moči. Trošena moč pomeni v našem primeru vsa moč, ki se troši na modulu in je seštevek uporovnih in preklopnih izgub. Debelina keramike je bila 500 µm. Tabela 1. Meritve prenosa toplote preko keramične osnove 3.1 Meritev termične upornosti modula Za meritev termične prevodnosti smo izbrali klasično hladilno telo z prisilnim hlajenjem. Modula sta bila na hladilno telo pritrjena s pomočjo vijaka, prav tako pa je bila površina hladilnega telesa pred tem premazana z termično prevodno pasto, ki omogoči prenos toplote v primeru neravnih površin. Slika 6 predstavlja namestitev modula za termične meritve. Oba modula smo priključili na baterijsko napajanje in ju krmilili tako, da smo dosegli želen nivo trošene moči na modulu. Ker je bil v primeru teh meritev dostop do temperaturnega senzorja onemogočen, smo namestili dodatne temperaturne senzorje s pomočjo termične 7 Trošena moč [W] 20 50 100 dT Al2O3 [°C] 4.5 11.5 24 dT AlN [°C] 3 7 13 Rth Al2O3 [°C/W] 0.225 0.23 0.24 Rth AlN [°C/W] 0.15 0.14 0.13 Termična upornost se s količino trošene moči skoraj ne spreminja. Prav tako ostaja enako razmerje med termično upornostjo Alumine in AlN – 1.85. Ta faktor v splošnem pomeni, da se bo za isto trošeno moč na modulu, modul na Alumini dvakrat bolj segrel. Razmerje med Alumino in LTCC je podobno, v korist Alumine. 3.2 Test dvojnega pulza Za dokončno potrditev ustreznosti delovanja modula na izbrani AlN je bil opravljen tudi test dvojnega pulza (Double Pulse Test – DPT). Test je velikokrat uporabljen v testih močnostne elektronike, saj pokaže vse glavne lastnosti modula in potrdi predpostavljeno delovanje. Pri modulu se uporabi kot stikalni tranzistor spodnji tranzistor, zgornji tranzistor je vedno v neprevodnem stanju. Na zgornji strani tako deluje zaščitna dioda. Modul priključimo na 48 V DC napetostni vir in mu priključimo umetno breme – induktivnost v območju predvidenega elektromotorja. Signalni generator proizvaja pulze in krmili močnostni modul. Ob prvem pulzu gonilnik omogoči spodnje tranzistorje za 500 us, tok steče čez induktivno breme. Na tuljavi se shrani magnetna energija. Nato se spodnji tranzistor izklopi za 25 μs in ponovno vklopi za 25 μs. V teh preklopih lahko opazujemo preklopne pojave na kanalu tranzistorja, kar nam da vpogled v velikost parazitnih komponent in ustreznost kompenzacije. Tipične krivulje signala in rezultati meritev so prikazani na sliki 8. danim materialom in termično upornostjo, predstavlja izboljšano različico osnovnega modula. 4 Zaključek Prispevek predstavlja rešitev dveh glavnih problemov pri izdelavi in uporabi močnostnih modulov. Prvi je optimizacija obdelave osnovne plošče močnostnega modula – keramične ploščice (Alumina in LTCC keramika) za namestitev elektronskih komponent, kot so bondiranje in spajkanje. Drug problem pa je zmanjšanje termične upornosti modula z uporabo novega materiala AlN. Predstavljeni sta rešitev za namestitev in povezavo komponent, prav tako pa tudi termične meritve AlN modula in njegove primerjave z Alumino. Zahvala Avtorji se zahvaljujejo Evropskemu skladu za regionalni razvoj za sofinanciranje projekta ASAM (Interreg Slovenija-Avstrija), katerega del so bile raziskave opisane v članku. Zahvaljujejo se tudi Mitji Brlanu za bondiranje močnostnih modulov. Literatura [1] [2] [3] Slika 8. Test dvojnega pulza Zgornja krivulja na sliki 8 predstavlja padec napetosti na kanalu preklopnega tranzistorja, ki so v območju napajalne napetosti (48 V), maksimalni prenihaji pa dosežejo 72 V. Opazno je tudi nekaj prenihajev, ki so posledica lastnih nihajnih krogov modula. Druga krivulja, od zgoraj navzdol, prikazuje potek toka preko bremena – razdelek pomeni 150 A – kar nam da vrednost toka 300 A v prvem delu vključitve toka, ter po vmesni prekinitvi 330 A končnega toka. Tok se po izključitvi prazne preko zaščitne diode. Spodnja dva signala predstavljata krmilna signala in sicer je spodaj prvi signal pulznega generatorja, drugi pa signal na vratih tranzistorja, kjer je vidna kapacitivnost in upornost prilagoditvenega vezja. Iz danega testa lahko ugotovimo vse parametre tako stikalnih elementov, kot elektronskih komponent in jih po potrebi prilagodimo. DPT test je pokazal, da je modul primeren za uporabo in z dano topologijo elementov, kot tudi z 8 [4] [5] ‘Sridhar - 2019 - Power Electronics in Motor Drives Where is it.pdf’. Accessed: Jul. 23, 2021. [Online]. Available: https://www.ti.com/lit/wp/slyy078a/slyy078a.pdf? ts=1627043750201&ref_url=https%253A%252F %252Fwww.google.com%252F F. Un-Noor, S. Padmanaban, L. Mihet-Popa, M. N. Mollah, and E. Hossain, ‘A Comprehensive Study of Key Electric Vehicle (EV) Components, Technologies, Challenges, Impacts, and Future Direction of Development’, Energies, vol. 10, no. 8, Art. no. 8, Aug. 2017, doi: 10.3390/en10081217. M. A. Ilgaz, S. Corovic, A. Alic, D. Makuc, M. Vukotic, and D. Miljavec, ‘The magnetic and thermal modelling of the electrical machines’, in 2020 Photonics North (PN), May 2020, pp. 1–1. doi: 10.1109/PN50013.2020.9166957. L. Verkroost, J. Van Damme, H. Vansompel, F. De Belie, and P. Sergeant, ‘Module Connection Topologies and Interleaving Strategies for Integrated Modular Motor Drives’, in 2019 IEEE International Electric Machines Drives Conference (IEMDC), May 2019, pp. 559–564. doi: 10.1109/IEMDC.2019.8785248. A. Sešek, T. Skuber, and J. Trontelj, ‘Analiza močnostnih modulov za učinkovito krmiljenje elektromotorjev’, in Zbornik devetindvajsete mednarodne Elektrotehniške in računalniške konference ERK 2020 = Proceedings of the Twenty-ninth International Electrotechnical and Computer Science Conference ERK 2020, Portorož, Slovenia, 22.9 2020, pp. 16–19. [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [Online]. Available: https://erk.fe.unilj.si/2020/ERK20.pdf I. T. AG, ‘Solutions for gate driver and power switches Infineon Technologies’. https://www.infineon.com/cms/en/product/power/ gate-driver-ics/solutions-for-gate-driver-andpower-switches/ (accessed Jul. 23, 2021). I. T. AG, ‘Gate Driver ICs - Infineon Technologies’. https://www.infineon.com/cms/en/product/power/ gate-driver-ics/ (accessed Jul. 23, 2021). D. Karimi, H. Behi, J. Jaguemont, M. El Baghdadi, J. Van Mierlo, and O. Hegazy, ‘Thermal Concept Design of MOSFET Power Modules in Inverter Subsystems for Electric Vehicles’, in 2019 9th International Conference on Power and Energy Systems (ICPES), Dec. 2019, pp. 1–6. doi: 10.1109/ICPES47639.2019.9105437. ‘VESC Project’. https://vesc-project.com/ (accessed Jul. 23, 2021). C. Laurant et al., ‘Very low parasitic inductance double side cooling power modules based on ceramic substrates and GaN devices’, in 2020 IEEE 70th Electronic Components and Technology Conference (ECTC), Jun. 2020, pp. 1402–1407. doi: 10.1109/ECTC32862.2020.00222. ‘Choosing Among Ceramic Substrates for Power Circuits Technical Articles’. https://eepower.com/technical-articles/choosingamong-ceramic-substrates-for-power-circuits/ (accessed Jul. 23, 2021). N. Jiang, Z. Li, C. Li, Q. Wang, S. Zhang, and Y. Lin, ‘Bonding Wires for Power Modules: from Aluminum to Copper’, in 2019 IEEE International Conference on Electron Devices and Solid-State Circuits (EDSSC), Jun. 2019, pp. 1–3. doi: 10.1109/EDSSC.2019.8754216. ‘2020 - Double Pulse Testing The How, What and Why.pdf’. Accessed: Jul. 23, 2021. [Online]. Available: https://www.infineon.com/dgdl/InfineonDouble_pulse_testing-Bodos_power_systemsArticle-v01_00EN.pdf?fileId=5546d46271bf4f920171ee81ad6c4 a1f ‘Chip-Shortform2004.pmd.pdf’. Accessed: Jul. 23, 2021. [Online]. Available: https://ixapps.ixys.com/DataSheet/25ee3e05878c-4341-8c6c-4950b9e1490b.pdf ‘Low Temperature Co-Fired Ceramics - an overview | ScienceDirect Topics’. https://www.sciencedirect.com/topics/materialsscience/low-temperature-co-fired-ceramics (accessed Jul. 23, 2021). ‘Alumina | chemical compound’, Encyclopedia Britannica. https://www.britannica.com/science/alumina (accessed Jul. 23, 2021). 9 Pregled programirljivih logičnih vezij vgrajenih v C2000 družino mikrokrmilnikov Andrej Kenda, Mitja Nemec Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: andrej@kenda.one Povzetek FPGA integrated circuits are often indispensable in practice, but their integration into the system is often demanding and costly. In this article, we explore one of the answers to this problem offered by the manufacturer Texas Instruments. In their microcontrollers series C2000, there is an additional coprocessor, called “CLB”, which is similar to a FPGA. The article offers an overview of said coprocessor, its detailed structure, how it is connected to the rest of the microcontroller and its capabilities. 1 Uvod Pri oblikovanju vdelanih sistemov se zaradi preprostega programiranja in cenovne ugodnosti najpogosteje poslužujemo mikrokrmilnikov različnih proizvajalcev. Na začetku oblikovalnega procesa, v včasih preveliki ponudbi, izberemo čip, ki najbolje ustreza našim zahtevam. Obstajajo pa tudi aplikacije, ki jim konvencionalni mikrokrmilniki niso kos. Tu nastopi iskanje drugačnih rešitev. Če imamo srečo, morda odkrijemo kakšen ASIC (angl. application specific integrated circuit), ki ustreza našim potrebam, vendar je na določenih področjih teh dokaj malo. V določenih aplikacijah nam ne preostane drugega kot uporaba FPGA (angl. field-programable gate array) vezja. Ti nam omogočajo postavitev sistema na nizkem nivoju, ki ga lahko prikrojimo natanko našim zahtevam. FPGA v veliko aplikacijah namestimo poleg prej omenjenega mikrokrmilnika in ga uporabimo kot dodaten procesor [2]. Kljub temu, da so FPGA čipi precej zmogljivi, pa je njihova integracija v sistem težka. Kadra, ki ima globoko znanje takšnih sistemov je zaradi zahtevnosti precej malo. FPGA vezja namreč pogosto zahtevajo uporabo zunanjih RAM in FLASH vezij ter ADC in/ali DAC pretvornikov. Tako že načrtovanje tiskanega vezja okoli FPGA vezja zahteva več truda, dodaten trud pa zahteva tudi komunikacija med posameznimi moduli. V kolikor pa je poleg poleg FPGA prisoten tudi mikrokrmilnik je tak sistem v primerjavi s sistemom, ki temelji samo na mikrokrmilniku dražji tako za načrtovanje, razvoj programske opreme kot tudi za izdelavo. Proizvajalci FPGA vezij na te probleme odgovarjajo z vgradnjo mikrkrmilnika v samo FPGA vezje [5]. ERK'2021, Portorož, 10-13 10 Z druge strani na naštete težave odgovarja proizvajalec Texas Instruments s koprocesorjem CLB (angl. configurable logic block), ki je vdelan v nekaj njihovih mikrokrmilnikov. Ta naj bi po proizvajalčevih trditvah tako nadomestil dodaten FPGA, kot tudi omogočil programiranje s preprostim vmesnikom (in s tem razvijalcu prihranil marsikatero uro) [1]. 2 Predstavitev CLB CLB koprocesor, ki je del mikrokrmilnika F28379D, proizvajalca Texas Instruments je sestavljen iz štirih med seboj enakih podsklopov (angl. Tile). Vsak podsklop je sestavljen iz procesorja (angl. CELL) ter vmesnika za “priklop” signalov iz matične naprave (angl. CPU I/F). Ti signali lahko izvirajo iz različnih perifernih naprav, kot so eCAP, ePWM, GPIO... iz CLB-ja pa lahko v prav te periferne naprave tudi “pripeljemo” izhodni signal, kot njihov vhod. Interakcija pa ni omejena le z dodatnimi napravami in matičnim procesorjem, temveč je mogoča tudi med različnimi podsklopi CLB-ja. Možno pa je tudi proženje prekinitev, na katere lahko procesor ustrezno reagira. 3 Zgradba CLB modulov V poglavju 2 je omeneno, da je sam CLB sestavljen iz štirih podsklopov. Na sliki 1 je videti, da vsak podsklop vsebuje [6, Pogl. 26.4]: • 3 štirivhodne LUT4 (angl. 4-input lookup table), • 8 trivhodnih izhodnih LUT3 (angl. 3-input lookup table), • 3 števce, • 3 avtomate stanj FSM (angl. finite state machine), • 1 HLC (angl. high level controller) in • 1 nastavljiv preklopni blok. 3.1 LUT moduli “LUT4” modul preslika kombinacijo vhodnih signalov v en izhodni signal na podlagi prireditvene tabele (slika 2 - “IN0”-“IN3”). Tako lahko implementiramo poljubno kombinacijo logičnih operacij nad vhodnimi signali. Preslikava pa se zapiše preko orodja “CLB Tool” www.ti.com CLB Description From the Hardware Perspective Figure 2-11. CLB Tile Slika 1: Shematski prikaz modulov na podsklopu CLB koprocesorja [4, Pogl. 2.3.3] The following sections highlight internal details of the three types of Logic Primitives comprising the CLB Tile: Look-up Tables, Finite State Machines and Counters. samo z logičnimi operacijami “AND”, “OR”, “NOT” in “XOR”[3, Pogl. 3.3]. IN0 can be uts of or by uts IN1 IN2 LUT4 Block OUT This output can drive inputs of other blocks terega ta odreagira z nastavljeno računsko operacijo, katere parametre nastavimo z drugima signaloma (slika 3 “Static controls” in “LOAD VALUE”). Do vsebine števca lahko dostopamo preko HLC modula (pogl. 3.4), kjer je ta označena z zaporedno številko števca (npr. števec 1 C1). RESET IN3 ZERO MODE 0 16-bit output function MATCH1 MODE 1 14 How to Migrate Custom Logic From an FPGA/CPLD to C2000™ EVENTSPRACO2A – SEPTEMBER 2019 – REVISED JULY 2020 Microcontrollers Submit Document Feedback Copyright © 2020 Texas Instruments Incorporated Slika 2: Shematski prikaz štirivhodnega LUT4 modula CLB koprocesorja [6, Pogl. 26.4.4] Counter Block MATCH1 REF MATCH2 REF “LUT3” modul je enak “LUT4” modulu, le da ima tri namesto štirih vhodov, ter njegov izhod predstavlja izhod podsklopa (“tile”) [6, Pogl. 26.4.4-26.4.5]. 3.2 Števci Števec je precej kompleksen modul v CLB-ju, ki omogoča več različnih načinov delovanja. Lako deluje kot števec/komparator, samo ko komparator, ki primerja dve 32-bitni števili, ali pa kot aritmetična enota, ki prišteva oz. odšteva dve števili ali pa nad enim številom izvede opreacijo dvojiškega premika v levo oz. desno. S slike 3 je moč razbrati štiri funkcijske vhode; “RESET”, “MODE 0”, “MODE 1” in “EVENT”. “RESET” ob visoki vrednosti števec postavi na vrednost 0, “MODE 0” ob visoki vrednosti omogoči štetje, “MODE 1” nastavi smer štetja (visoko - navzgor, nizko - navzdol), signal “EVENT” pa ob pozitivnem robu sproži dogodek, na ka- 11 MATCH2 Counter Value LOAD VALUE Static Controls for ADD/SHIFT/ DIR Slika 3: Shematski prikaz števca CLB koprocesorja [6, Pogl. 26.4.2.1] Kot izhod iz števca lahko spremljamo signale “ZERO”, “MATCH1” in “MATCH2”. Prvi prevzame visoko vrednost kadar je vrednost števca 0, ostala dva pa se vklopita, kadar je vrednost števca enaka nastavljeni pripadajoči vrednosti. Ko števec doseže svojo maksimalno vrednost (232 ) ta “prelije” in začne šteti od 0. [6, Pogl. 26.4.2]. 3.3 FSM moduli FSM modul omogoča implementacijo avtomata stanj, ki ima do štiri različna stanja zakodirana s signali “S0” in “S1”. Avtomat je implementiran z dvema LUT blokoma: “S0 Next State LUT” in “S1 Next State LUT” (slika 4), ki sta po zgradbi povsem enake opisanim v poglavju 3.1. Ta služita interni modulaciji signalov in operirata z zunanjima signaloma “EXT IN0”, “EXT IN1” in vhodoma “S0” in “S1”, ki prevzameta prejšnjo vrednost izhoda pripadajoče tabele. Izhod avtomata stanj pa določa “Output LUT” tabela. Če aplikacija ne potrebuje uporabe FSM modula, se lahko poslužimo še vhodov “EXTRA EXT IN0” in “EXTRA EXT IN1”. V tem primeru celoten modul deluje kot štirivhodni LUT modul. Event 0 Event 1 s ll Event Processing Block Event 3 Global access path for CPU system interface to write to the registers and instruction memory. Output LUT FSM_LUT_OUT EXTRA_EXT_IN0 EXT_IN1 S0 Next State LUT EXT_IN0 16-bit S0 next state function 16-bit S1 next state function 16-bit FSM_LUT_OUT state function R0 R2 R1 R3 Push data to shared memory Pull data from shared memory Slika 5: Shematski prikaz HLC modula CLB koprocesorja [6, Pogl. 26.4.6] 4 EXTRA_EXT_IN1 Instruction Memory Event 2 Uporaba CLB Za samo programiranje CLB koprocesorja v praksi je proizvajalec Texas Instruments postavil vmesnik “CLB Tool” (slika 6), ki nam preko izbire določenih parametrov zgenerira kodo za uporabo v našem projektu. S1 Next State LUT S0 FSM_S0 S1 FSM_S1 Slika 4: Shematski prikaz FSM modula CLB koprocesorja [6, Pogl. 26.4.3] 3.4 HLC modul HLC modul je za razliko od ostale naprave veliko bolj kompleksen (slika 5). Gre pravzaprav za zelo okrnjeno procesno jedro, kateremu lahko sprogramiramo rudimentarno sekvenco ukazov v zbirniku [6, Pogl. 26.4.6.2]: • ADD/SUB - seštevanje in odštevanje, Slika 6: Grafično okolje “CLB Tool” • MOV/MOV T1/MOV T2 - premikanje, • PUSH/PULL - pisanje in branje v skupnem spominu, • INTR - proženje prekinitev. To sekvenco pa sprožimo preko zunanjih signalov. Tako lahko s HLC modulom preko lastnih registrov “R0”-“R3” [6, Pogl. 26.4.6] prenašamo podatke med CLB enoto in glavnim jedrom, kot tudi med trenutno vrednostjo števcev “C0”-“C2” in pripadajočimi “MATCH” vrednostmi. 3.5 Preklopni modul Ta modul je namenjen izbiri vhodnih signalov, ki lahko izvirajo iz zunanjih virov, drugih CLB podkslopov (angl. tile) ali pa signal generira modul sam. Zadnji vir se uporablja le za simulacijske namene. Modul je v orodju “CLB Tool” (Pogl. 4) zaradi postavitve predstavljen pod imenom “BOUNDARY” [3, Pogl. 3.3]. 12 Grafični vmesnik za vsako od komponent, naštetih v poglavju 3, dovoljuje izbiro opisanih parametrov, vhodnih in izhodnih signalov ter splošno konfiguracijo modulov. Kot je prikazano na sliki 7, orodje generira 2 aplikacijski datoteki; “clb config.h” ter “clb config.c”. Ti datoteki lahko seveda brez težav vključimo v naš “C” program. Poleg aplikacijske kode, pa nam ob orodje ob prevodu (angl. build) avtomatsko zgenerira tudi simulacijsko datoteko “CLB.vcd”. V principu je CLB v primerjavi z FPGA relativno preprost in simulacija ne vključuje internih zakasnitev, ter se zato izvede zelo hitro. V omenjeni datoteki je zapisan potek časovnih signalov v koprocesorju. Odpremo jo lahko z zunanjim programom, ki omogoča prikaz njene vsebine, s čimer posredno pridobimo vpogled v vse signale v CLB-ju. Na primeru s slike 8 je v ta namen uporabljen program “GTK wave”. Orodje avtomatsko generira tudi datoteko za grafični Generated Files from CLB Tool (SysConfig) CLB Tool (SysConfig) ‡ Configured through .syscfg file inside the project ‡ Graphical User Interface to configure the CLB Tiles C28x Application Code ‡ Main.c ‡ Driverlib.lib ‡ Other application specific files ‡ CLB SysConfig tool files clb_config.c clb_config.h Generate Generated Files from CLB Tool (SysConfig) clb_config.h clb_config.c clb_sim.cpp clb.dot Application Code Simulation Code Visualization Diagram Slika 7: Struktura projekta pri uporabi orodja “CLB Tool” [3, Pogl. 1] rane simulacijske datoteke pa so v veliko situacijah nepogrešljive, saj s samim opazovanjem zunanjih signalov težko odkrijemo morebitno napako. Enako velja za generirani diagram, ki je (če že ne drugače) uporaben za odkrivanje napačnih in nepotrebnih povezav med posameznimi moduli v koprocesorju. Vendar pa tudi CLB, kot vsaka stvar ne pride brez pomankljivosti. Skoraj vsaka “izboljšava” nad FPGA s seboj prinese tudi kakšno frustracijo za programerja; grafični vmesnih “CLB Tool” je na prvi pogled res prijazen, a se zaradi velike abstrakcije kaj hitro izgubimo med neštetimi nastavitvenimi meniji. Kljub temu pa lahko rečemo, da je takšna izvedba dodatnega modula zelo smiselna. Nemalokrat se znajdemo v situaciji, kjer bi bilo potrebno modulirati nek signal, vendar je samo zanj uporaba dodatnega čipa nesmiselna. Poleg tega pa je s stališča delodajalcev velikokrat bolj smiselno uporabiti rešitev, ki jo lahko implementira obstoječ kader, kot pa iskanje znanja izven podjetja. Literatura [1] C2000™ Configurable Logic Block (CLB) introduction. Texas Instruments Inc. 2021. URL: https : / / training . ti . com / c2000 configurable - logic - block - clb introduction. [2] Deming Chen, Jason Cong in Peichan Pan. FPGA Design Automation: A Survey, Foundations and Trends®in Electronic Design Automation. Zv. 1. 3. ZDA: now Publishers Inc., nov. 2006. [3] CLB Tool. SPRUIR8A. Rev. A. Texas Instruments Inc. ZDA, sep. 2019. URL: https://www.ti. com/lit/ug/spruir8a/spruir8a.pdf? ts = 1608498444631 & ref _ url = https % 253A % 252F % 252Ftraining . ti . com % 252Fclb-training-c2000-mcus. [4] Peter Galicki. How to Migrate Custom Logic From an FPGA/CPLD to C2000™ Microcontrollers. SPRACO2A. Rev. 2020-7. Texas Instruments Inc. ZDA, sep. 2019. URL: https://www.ti. com/lit/an/spraco2a/spraco2a.pdf? ts = 1618290495856 & ref _ url = https % 253A % 252F % 252Ftraining . ti . com % 252F. [5] A. Arockia Bazil Raj. FPGA-Based Embedded System Developer’s Guide. ZDA: CRC Press, Taylor & Francis Group, 2018. [6] TMS320F2837xD Dual-Core Microcontrollers Technical Reference Manual. SPRUHM8I. Rev. 20199. Texas Instruments Inc. ZDA, dec. 2013. URL: https : / / www . ti . com / lit / ug / spruhm8i / spruhm8i . pdf ? ts = 1616431731212&ref_url=https%253A% 252F % 252Fwww . ti . com % 252Fproduct % 252FTMS320F28377D. Slika 8: Pregled notranjih signalov CLB-ja s programom “GTK Wave” pregled povezav v koprocesorju. Ta se prevede v obliko “.html”, ki jo lahko odpremo v vsakem brskalniku (slika 9) [3, Pogl. 1]. reset zero event TILE1_COUNTER_0 match1 TILE1_BOUNDARY mode0 in0 → i0 in1 → i1 TILE1_LUT_0 out in2 → i2 in3 → i3 evAction = None match2 mode1 i0 reset zero event TILE1_COUNTER_1 match1 in4 → in5 → mode0 in6 → evAction = None i2 TILE1_BOUNDARY TILE1_OUTLUT_0 i1 out = ~i0 out out = (~i0 & i1) | (i0 & (~i0)) match2 mode1 in7 → out0 out1 out2 out3 out4 out5 out6 out7 1 reset zero event TILE1_COUNTER_2 match1 mode0 evAction = None match2 mode1 Slika 9: Primer generiranega “.html” diagrama 5 Zaključek Za programerja FPGA vezij so stvari, opisane v tem članku verjetno precej domače. Lahko pa opazimo da sam CLB ni le FPGA vdelan v mikrokrmilnik, vendar prinaša tudi nekatere novosti (npr. HLC), zaradi katerih je marsikatera aplikacija dokaj lažja za implementacijo. Poleg tega so na voljo tudi precej močna tudi orodja v opisanem ekosistemu. Grafično orodje omogoča uporabo tudi manj veščim programerjem. Dodatne generi- 13 Emulacija inkrementalnega dajalnika Andrej Kenda, Mitja Nemec Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: andrej@kenda.one Povzetek Configurable Logic Block (CLB) is a response from Texas Instruments to the often difficult implementation of FPGA integrated circuits. This article presents how CLB can be used in order to implement an emulation of incremental encoder signals. In addition to presentation how the emulation is designed, the paper discusses how the CLB behaves in practice and what are the experiences using the tooling to program the CLB. 1 Uvod V prejšnjem članku smo pregledali zgradbo in delovanje sistema CLB (angl. configurable logic block), ki je odgovor proizvajalca Texas Instruments na številne težave pri implementaciji FPGA (angl. field-programable gate array). Kot je bilo opisano v prejšnjem članku, za programiranje omenjenega koprocesorja uporabljamo orodje “CLB Tool”. To nam preko grafičnega vmesnika omogoča nastavljanje različnih podsklopov ter generira kodo za uporabo v programu. Poleg generirane kode pa nam omogoča vpogled v vse podsklope preko simulacijskih datotek ter dodatnega diagrama povezav. Primer praktične uporabe CLB koprocesorja je emulacija inkrementalnega dajalnika. Emulacija inkrementalnega dajalnika je uporabna predvsem v HIL in PHIL sistemih [3] [4], kateri so v zadnjem času vedno bolj pogosto v uporabi za preizkušanje elektronike namenjene za krmiljenje oziroma regulacijo električnih strojev. 2 Idejna zasnova Inkrementalni dajalnik je senzor kota gredi, ki generira dva digitalna signala A, B. Signala sta pravokotne oblike z vklopnim razmerjem 50% in sta med seboj zamaknjena za 90°. Tako preko faznega premika med njima sklepamo o smeri vrtenja, frekvenca signalov pa nosi informacijo o hitrosti vrtenja. Za emulacijo inkrementalnega dajalnika bomo za podatek o hitrosti vrtenja vzeli vhodni pravokotni signal, kateremu lahko spreminjamo frekvenco in ga generiramo s ustrezno periferno enoto, ki omogoča generiranje takih signalov (PWM števec). V CLB koprocesorju se vhodni signal uporabi kot vir takta in iz njega izpelje dva izhodna signala, ki sta drug ERK'2021, Portorož, 14-17 14 drugemu zamaknjena za 90°. Poleg tega pa je potrebno dodati tudi sposobnost za spremembo smeri “vrtenja”, kar pomeni da ob določenih pogojih začne “prehitevati” prej počasnejši signal. Cilnji potek signalov simuliranega inkrementalnega dajalnika je prikazan na sliki 1, kjer lahko opazimo da je na vhod CLB koprocesorja priključen kvadratni signal z vklopnim razmerjem 50%. Kot je to dejstvo na veliko področjih, je tudi tu možnih več pristopov. Tako implementacija, opisana v nadaljevanju ni bila očitna že od samega začetka in tudi samo raziskovanje je vključevalo nemalo neuspelih poskusov. Vhod Vrtenje: Izhod 1 Izhod 2 Vrtenje v obratno smer: Izhod 1 Izhod 2 Slika 1: Cilnji potek signalov simuliranega inkrementalnega dajalnika z uporabo CLB koprocesorja 3 Nastavljanje CLB podkslopov Nastavljanje CLB enote je najlažje preko uporabe orodja “CLB Tool”. Le-to orodje generira ustrezne “C” datoteke, ki jih vključimo v projekt s katerimi potem glavno jedro MCU-ja ustrezno nastavi CLB enoto. V kolikor pa želimo CLB enoto vključiti v že narejen projekt, ki temelji na drugačni arhitekturi programske opreme, ki ne podpira uporabe “CLB Tool” orodja lahko omenjene datoteke generiramo tudi s spletnim orodjem “SysConfig”, ki vsebuje povsem enak vmesnik [5]. 3.1 Splošne nastavitve Ker je v našem primeru CLB enota uporabljana relativno samostojno je pri razvoju programa za CLB za preverjanje, ali je CLB enota pravilno nastavljena, najlažje uporabiti simulacijo. V ta namen je v orodju “CLB Tool” za modul “BOUNDARY”, ki določa vhode v CLB modul, na voljo možnost izbire simuliranega kvadratnega signala. Za implementacijo inkrementalnega dajalnika je kot simuliran vhod definiran vhod “in2”, kar prikazuje tudi slika 2. • Ob dogodku “e0” HLC modul zamenja vrednosti “C0” in “R0”, pri tem se izvršijo naslednji ukazi: – MOV C0, R1 - premakni vrednost C0 v R1, – MOV R0, C0 - premakni vrednost R0 v C0, – MOV R1, R0 - premakni vrednost R1 v R0, • Pri tem se ob vsakem pozitivnem robu vhodnega signala “e0” zamenja polariteta izhodnega signala “MATCH1”, števca 0 - perioda signala je dvakrat večja od vhodnega. • Ob dogodku “e1”, ki se izvrši s 180° zamikom glede na “e0”, se v števec 1 vpiše vrednost števca 0 - “MATCH1” števca 1 je tako enak signalu “MATCH1” števca 0, le da je zakasnjen za četrtino njegove periode. Pri tem se izvrši ukaz: – MOV C0, C1 - premakni vrednost C0 v R1, • Signala “MATCH1” obeh števcev sta speljana na izhod. e0 Slika 2: Konfiguracija modula “BOUNDARY” v orodju “CLB Tool” e1 in2 3.2 Nastavljanje parametrov Emulacijo inkrementalnega dajalnika smo implementirali na naslednji način: e0: • Za vir ure/hitrosti smo uporabili eCAP modul v funkciji PWM generatorja s katerim smo generirali 50% PWM signal, ki mu lahko nastavljamo frekvenco. e1: • Preko števca 0 in HLC-ja temu urinemu signalu prepolovimo frekvenco. • Preko števca 1 in HLC-ja generiramo fazno zamaknjen signal s prepolovljeno frekvenco. Dodatno lahko ta signal invertiramo. Zasnova inkrementalnega dajalnika je prikazana na sliki 3 in uporablja 1 LUT4 modul, 2 števca in HLC modul. Implemetirana je v naslednjih korakih, ki se navezujejo na poteke signalov s slike 3 in 4. • Vhod “in2” je direktno in negirano preko LUT4 modula speljan v vhoda “e0” in “e1” HLC modula (vhoda za proženje dogodkov). • V HLC modulu se dogodki prožijo ob pozitivnem robu prožilnega signala, torej se pripadajoč dogodek sproži na vsako periodo signala “in2” (s 180° zamikom). • HLC modul operira z vrednostmi “R0”, “R1”, “C0” in “C1”, pri tem je začetna vrednost “R0” nastavljena na 1. • Oba števca sta nastavljena, da ne štejeta, nimata vhodnih signalov, le vrednost “MATCH1” je nastavljena na 1 - uporabljena sta le kot komparatorja. 15 !in2 LUT ! HLC R0 Števec 0 C0 MATCH1 Izhod 0 C0 Števec 1 C1 MATCH1 Izhod 2 Slika 3: Shema boljše zasnove inkrementalnega dajalnika s pomočjo CLB koprocesorja Vhodni signal in2 !in2 e0 e0 e1 e0 ... e0 e1 e1 e1 ... Izhodna signala števcev Števec 0 MATCH1 Izhod 0 Števec 1 MATCH1 Izhod 2 Slika 4: Potek signalov boljše zasnove inkrementalnega dajalnika s slike 3 3.3 Obračanje smeri inkrementalnega dajalnika V drugem primeru iz poglavja 3.2 smo parametre nastavili tako, da je signal “MATCH1” iz števca 1 vedno zakasnjen glede na signal “MATCH1” iz števca 0. Zato je potrebno dodati tudi logiko za obračanje smeri simuliranega inkrementalnega dajalnika, saj želimo simulacijo obeh smeri vrtenja. Za to uporabimo dodaten vhod “in0” v “BOUNDARY” modulu. Tega prav tako nastavimo na simuliran kvadraten signal, le da mu periodo občutno povečamo (pribl. 10-kratnik periode signala “in2”). Simulirani signal obravnavamo kot zunanjo tipko, ki v normalnem stanju zavzema logično 1, ob pritisku pa logično 0. To uporabimo pri izhodu iz CLB koprocesorja, kjer je signal potrebno speljati preko izhodnega LUT3 modula; • Signal “MATCH1” števca 0 je speljan preko izhodnega LUT3 modula 0, pri tem se ne spremeni. • Signal “MATCH1” števca 1 pa je speljan preko izhodnega LUT3 modula 2. Pri tem se njegova negirana vrednost z logično operacijo “XOR” primerja s signalom “in0”. Kot prikazuje slika 5, je signal izhodnega LUT3 modula 0 vedno enak, signal izhodnega LUT3 modula 2 pa se spreminja glede na stanje signala “in0”. Pri tem prejšnji signal glede na to stanje prehiteva oz. za njim zaostaja. frekvenco ter signal za obračanje smeri, ki bo v naravnem stanju prevzel logično 1, ob pritisku pa logično 0. 4.1 Generiranje kvadratnega signala Za vhodni signal v CLB je uporabljen izhod iz “eCAP” modula, ki je v osnovi števec. Ta odločitev je nastala zgolj zaradi 32-bitnega števca v omenjenem modulu, kar omogoča natančnajšo določitev periode predvsem pri nizkih frekvencah (najnižja frekvenca = 200M Hz/232 ≈ 0, 046Hz). Modul preko pulznoširinske modulacije generira kvadratni signal s polovičnim delovnim ciklom. Implementacija funkcije za usposobitev “eCAP” modula v načinu “apwm” je prikazana na seznamu 1. v o i d ECAP apwm init ( f l o a t f r e q , f l o a t d u t y ) { / * S e t u p APWM mode on CAP1 , * / / * s e t p e r i o d and compare r e g i s t e r s * / / * E n a b l e APWM mode * / ECap1Regs . ECCTL2 . b i t . CAP APWM = 1 ; /* Set Period value */ ECap1Regs . CAP1 = CPU FREQ / f r e q ; ECap1Regs . CAP3 = CPU FREQ / f r e q ; / * S e t Compare v a l u e * / ECap1Regs . CAP2 = ECap1Regs . CAP1 * d u t y ; ECap1Regs . CAP4 = ECap1Regs . CAP3 * d u t y ; Vhodna signala in2 sprememba smeri in0 Izhodna Signala izhodnih LUT modulov Izhod LUT 0 / * I n i t i a l i z e GPIO p i n s f o r APWM1 . * / InitAPwm1Gpio ( ) ; Izhod LUT 2 } Slika 5: Prikaz izhodnih signalov iz CLB koprocesorja pri simulaciji inkrementalnega dajalnika, glede na simulirane vhodne signale Celotna shema končne implementacije je prikazana na sliki 6. e0 e1 in2 LUT ! e0: R0 e1: C0 !in2 HLC Števec 0 C0 MATCH1 Števec 1 C1 MATCH1 izh. LUT = izh. LUT !MA ^ in0 Izhod 0 Izhod 2 in0 Slika 6: Shema končne implementacije simuliranega inkrementalnega dajalnika z uporabo CLB koprocesorja Seznam 1: Implementacija funkcije za usposobitev “eCAP” modula v “apwm” načinu Opazimo lahko, da je za nastavitev delovanja potrebno določiti le dolžino periode in primerjalne vrednosti. Slednja je namenjena preklopu iz visokega v nizko stanje pri generiranju PWM signala. Preko te funkcije tako generiramo signal z določitvijo frekvence in vklopnega razmerja (“freq” in “duty”) Za boljši vpogled v sistem je preko “GPIO” modula ta signal speljan tudi iz naprave, kjer ga lahko opazujemo z osciloskopom ali logičnim analizatorjem. Ta signal je nato priključen na lokalni vhod 2 CLB koprocesorja, ter opravlja vlogo prej simuliranega vhoda “in2”. 4.2 Signal za obračanje smeri Za obračanje smeri je bil izbran signal “GPIO24”. Ta je nastavljen kot vhod z notranjim “pull-up” uporom, kar pomeni, da bo v odprtem položaju zavzel logično 1. Preko vhodnega vodila je priključen na vhod 0 CLB koprocesorja in s tem prevzema mesto prej simuliranega signala “in0”. 5 4 Vhodni signali v CLB vhodni signali v poglavju 3 so bili za čas nastavljanja podsklopov zaradi enostavnejšega dela le simulirani. Za delovanje pa je potrebno signal speljati iz enega od modulov na integriranem vezju. Kot je razbrati iz poglavja 3.2, potrebujemo kvadratni vhodni signal z nastavljivo 16 Delovanje inkrementalnega dajalnika Za lažjo uporabo simuliranega inkrementalnega dajalnika so vse nastavitve, ki niso del orodja “CLB Tool” zapakirane v funkciji “CLB1 init”. Za končnega uporabnika pa je vse skupaj razkrito v funkciji, prikazani na seznamu 2. 7 void I n i t E n c o d e r ( f l o a t frequency ) { / * I n i t i a l i z e ECAP i n APWM mode * / /* with 1/2 duty cycle . */ ECAP apwm init ( f r e q u e n c y * 2 , 0 . 5 ) ; Več informacij o sami implementaciji CLB je opisanih v [1]. Za migracijo obstoječih FPGA projektov na CLB in različnih možnostih uporabe CBL-ja pa je precej dober uvod vir [2]. / * I n i t i a l i z e t h e CLB1 b l o c k . * / C L B 1 i n i t ( CLB1 BASE ) ; Literatura } Seznam 2: Implementacija funkcije za nastavitev inkrementalnega dajalnika Funkciji nastavimo frekvenco inkrementalnega dajalnika in preko tega se nastavi “eCAP” modul z dvokratnikom te frekvence. Ta ima seveda vlogo vhodnega signala v CLB koprocesor. S seznama 2 lahko vidimo tudi klic prej omenjene funkcije “CLB1 init”, ki skrbi za nastavitev vseh ostalih parametrov CLB koprocesorja. Lastnosti tako implementirane emulacije inkrementalnega dajalnika v večji meri določa vir pravokotnega signala, s katerim nastavljamo hitrost vrtenja inkrementalnega dajalnika. CAP enota, ki služi kot vir tega signala omogoča, da se perioda signala nastavlja na 5 ns natančno (pri mikrokrmilniku, ki ima sistemsko uro 200 MHz). Najkrajša perioda tako znaša 10 ns, najdaljša pa 0,0465 s (5ns ∗ 232 ). Korak periode znaša 5 ns. V primeru, da želimo emulirati inkrementalni dajalnik, ki ima 4096 pulzov na obrat to pomeni, da lahko emuliramo hitrosti od 0,157 vrt/min do neživljanskih 1,4 mijonov vrt/min, kar več kot zadošča za emulacijo današnjih pogonov. 6 Dodatno branje [1] Nima Eskandari. Designing With the C2000™ Configurable Logic Block (CLB). SPRACL3. ZDA, avg. 2019. URL: https : / / www . ti . com / lit / an / spracl3 / spracl3 . pdf ? ts = 1608544448925&ref_url=https%253A% 252F%252Ftraining.ti.com%252F. [2] Peter Galicki. How to Migrate Custom Logic From an FPGA/CPLD to C2000™ Microcontrollers. SPRACO2A. Rev. 2020-7. Texas Instruments Inc. ZDA, sep. 2019. URL: https://www.ti. com/lit/an/spraco2a/spraco2a.pdf? ts = 1618290495856 & ref _ url = https % 253A % 252F % 252Ftraining . ti . com % 252F. [3] G. F. Lauss in sod. “Characteristics and Design of Power Hardware-in-the-Loop Simulations for Electrical Power Systems”. V: IEEE Transactions on Industrial Electronics 63.1 (jan. 2016), str. 406–417. DOI : 10.1109/TIE.2015.2464308. [4] J. Nibert, M. E. Herniter in Z. Chambers. “ModelBased System Design for MIL, SIL, and HIL”. V: World Electric Vehicle Journal 5.4 (dec. 2012), str. 1121–1130. DOI: 10.3390/wevj5041121. [5] SysConfig. Texas Instruments Inc. 2021. URL: https://dev.ti.com/sysconfig/. Zaključek Iz praktičnega primera lahko razberemo, da je CLB koprocesor uporaben dodatek za marsikatero aplikacijo, kjer bi z njim lahko nadomestili FPGA čip. V grobem lahko rečemo, da trditve proizvajalca (ob ignoriranju tržnih izmišljotink seveda) v veliki meri držijo. CLB lahko marsikje nadomesti FPGA, je lažji za programiranje, ter je seveda nameščen direktno na samem integriranem vezju, kar med drugim v veliko primerih pomeni tudi nižjo ceno. Grafični vmesnik “CLB Tool” zaradi svoje narave zahteva veliko potrpežljivosti. Če je to težava pri tako majhni aplikaciji, si je lahko predstavljati težavnost pri obsežnih projektih. Koprocesor pa žari pri majhnih projektih, kjer je bistvenega pomena hitra implementacija ter se manipulira z manjšim številom signalov. Prav tako je vsakemu programerju omogočena enostavna uporaba, brez da bi se popolnoma posvečal takšnim vezjem. Predvsem pa povezave CLB-ja z ostalimi perifernimi napravami [2] omogočajo, da se CLB uporabi tudi samo za razširitev funkcionalnosti periferne naprave (e.g. SPI vodilu lahko dodamo kompenzacijo zamika signalov med prenosom, združujemo več PWM signalov za generiranje prižilnih pulzov pri eksotičnih toplogijah močnostne elektronike... 17 Načrtovanje lidarja s konstantno modulacijo svetlobe s programskim orodjem Vivado HLS Luka Pogačnik, Andrej Trost, Andrej Žemva, Marko Munih Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: luka.pogacnik@fe.uni-lj.si Designing a CW lidar with Vivado HLS Abstract. This article talks about design and validation of a continuous wave (CW) lidar application on an FPGA board. VHDL code was generated using Vivado HLS software. Due to the nature of the problem, each individual sub component was designed and validated individually and then joined to form a single cohesive software design. To optimize power draw and speed requirements, a VHDL controller element was coded to govern the flow lidar sensing. Software was written with deployment on Red Pitaya development board in mind. 1 Uvod Prispevek govori o načrtovanju in validaciji programske opreme za lidar s konstantno modulacijo svetlobe (CW lidar) na FPGA plošči. VHDL koda je bila generirana s pomočjo programskega paketa Vivado HDL. Zaradi narave delovanja CW lidarja je bila vsaka podkomponenta razvita ter validirana posamično, na koncu pa so bile združene v kohezivno celoto. Za optimizacijo porabe energije ter potrebe po hitrosti delovanja, je bil nadzorni element napisan neposredno v jeziku VHDL. Čeprav je bilo razvitih že več lidarjev, ki delujejo na FPGA ploščah [1][2], so se lotili razvoja lastnega sistema. Programska oprema je bila načrtovana z mislijo na uporabo z razvojnim orodjem Red Pitaya. 2 Ozadje delovanja lidarjev Lidar deluje na podlagi merjenja časa od oddaje svetlobnega pulza do prejema odbite svetlobe. Zvezo med oddaljenostjo do tarče (𝑑), časom preleta (𝑡) ter hitrostjo propagacije svetlobe v mediju (𝑐) podaja enačba (1). 𝑑 = (𝑡 ⋅ 𝑐)/2 (1) Groba ocena pove, da svetloba za vsak milimeter potrebuje 3,3 𝑝𝑠, torej 6,6 𝑝𝑠 na milimeter za povratno pot. Merjenje z ločljivostjo v milimetrskem redu se izkaže za tehnološko velik, ne pa nerešljiv izziv. Za FPGA čip Zinq 7010, ki smo ga izbrali za našo aplikacijo, je bil izdelan časovnik, ki je lahko meril z ločljivostjo 22 𝑝𝑠 [3]. Namesto izdelave preciznega časovnika se lahko čas preleta svetlobe meri tudi posredno, in sicer na podlagi faznega zamika (𝜃) med oddajano in prejeto modulirano svetlobo. Meritev je odvisna tudi od modulacijske frekvence (𝑓), kot to opisuje enačba (2) 𝑑 = (𝑐 ⋅ 𝜃)/(4 ⋅ π ⋅ f) (2) ERK'2021, Portorož, 18-21 18 Ne glede na realno oddaljenost tarče, bo meritev CW lidarja vedno prikazala meritev znotraj valovne dolžine moduliranega signala (𝑟), ki ga opisuje enačba (3). 𝑟 = 𝑐/(2 ⋅ f) (3) Iz enačb je razvidno, da nižja modulacijska frekvenca omogoča velik domet, prednost višje modulacijske frekvence pa je večja natančnost oziroma manjša občutljivost na fazni šum (enaka napaka v meritvi faze prinese manjšo napako v meritvi razdalje). Enolično določanje razdalje izven tega intervala je s CW lidarjem možno, če meritev izvedemo pri uporabi več modulacijskih frekvenc. Pravo razdaljo tarče nato določimo tako, da ugotovimo, katera razdalja odgovarja dobljenim meritvam [4]. Za največji domet je smotrno, da so si modulacijske frekvence čim bolj tuje. 2.1 Meritev fazne razlike Merjenje fazne razlike se lahko realizira z IQ demodulatorjem. Sistem generira dva signala, sinus in kosinus, pri modulacijski frekvenci. Sinusni signal gre na oddajnik, prejeti signal pa se pomnoži enkrat s sinusom s sinusom, pri čemer dobimo I komponento, drugič pa s kosinusom, da dobimo Q komponento. I in Q komponenti gresta skozi nizko prepustno sito, po zadostnem času vzorčenja pa se fazno razliko izračuna kot 𝑎𝑡𝑎𝑛2(𝑄, 𝐼). 3 Struktura sistema Sistem je bil zasnovan za delovanje na razvojni plošči Red Pitaya. V njenem jedru se nahaja Xilinxov Zynq7010 FPGA, ima pa tudi po dva kanala 14-bitnih AD ter DA pretvornikov z vzorčno frekvenco 125 MHz. Poleg tega ima tudi zadostno število digitalnih izhodov, ki jih lahko uporabimo za diskretno modulacijo signala. Digitalni sistem smo načrtovali z visokonivojskim HLS [5]. Sistem je bil prvotno zastavljen v enem kosu. Glavna funkcija za sintezo v Vivado HLS je dobila podatek, kako dolgo naj modulira ter vzorči signal, ob koncu izvajanja pa vrne fazno razliko do tarče. Tovrstna struktura je primerna samo za simulacijo, saj ne dopušča kontrole nad časi izvajanja posameznih delov funkcije. Inicializacija se lahko izvede poljubno počasi, saj ni časovno kritična. Modulacija ter demodulacija se morata začeti na vsak urin cikel, pri čemer pa ni potrebe, da se izvede do konca. Enako velja za filtriranje I ter Q komponent. Zadnji korak, izračun faze s funkcijo 𝑎𝑡𝑎𝑛2, se mora začeti izvajati šele, ko vse predhodne komponente končajo i izvajanjem, od tam naprej pa se lahko funkcija izvede poljubno počasi. Sistem mora komunicirati tudi z vhodno-izhodnimi enotami za oddajanje ter sprejemanje signala. Takšnega sistema se s HLS ne da realizirati v eni sami funkciji, zato smo problem razbili na posamezne logične enote. Te smo individualno validirali, nato pa združili v delujočo celoto. Za namen testiranja smo vhodno-izhodne enote nadomestili z nastavljivo zakasnilno linijo, s čimer smo lahko pravilnost delovanja preverili tudi v celoti programsko. 3.1 Nadzornik Nadzornik je komponenta, ki skrbi za tok izvajanja meritve. Kot parameter prejme trajanje vzorčenja 𝑁, ima pa še vhode za začetek vzorčenja ter vnovični zagon sistema. Od signala za začetek vzorčenja ob vsakem urinem ciklu izhodni števec poveča za 1 do maksimalne vrednosti 127, po čemer se ponastavi na 0. Ko se cikel ponovi 2𝑁 -krat, na izhodu sporoči, da je bilo doseženo zadostno število ciklov oddajanja, sistem čaka, da z delovanjem končajo še ostali deli lidarja. Nadzornik kot komponenta je po naravi primerna za realizacijo v FPGA in dokaj enostavna za kodiranje, zaradi česar je bila napisana neposredno v VHDL. S tem smo imeli nad njenim delovanjem popoln nadzor. 3.2 Modem Modem kot vhod iz nadzornika prejme števec, ki ga uporabi kot parameter za generacijo sinusa ter kosinusa. 7-bitni števec, ki teče na intervalu [0,128), se smatra kot parameter za kotni funkciji [0,2𝜋). Poleg tega iz AD pretvornika prejme tudi amplitudo prejetega signala. Tega pomnoži s sinusom ter kosinusom, da generira pripadajoči I ter Q komponenti. Velikost sinusa ter kosinusa je 14b predznačeno celo število, enako velikosti AD ter DA pretvornika Red Pitaye, platforme, na kateri je namen realizirati naš sistem. Komponenti I ter Q sta predznačeni 27b celi števili, tako da na prvem koraku še ne izgubljamo ločljivosti. Za modulacijsko frekvenco smo sprva izbrali 1 𝑀𝐻𝑧. Maksimalna razdalja, preden se začne signal ponavljati, bi bila torej malo manj kot 150 𝑚. Red Pitaya ima AD ter DA pretvornik, ki delujeta s 125 𝑀𝐻𝑧. To pomeni, da bi bila vsaka perioda sinusa ter kosinusa sestavljena iz 125 vzorcev. Za poenostavitev nadaljnjih procesov smo se odločili, da bomo uporabili 128 vzorcev na periodo, s čemer je modulacijska frekvenca padla na 0,977 𝑀𝐻𝑧. Sinus ter kosinus bi se v teoriji dalo sproti generirati s CORDIC algoritmom, je pa ta nadvse procesno potraten. Bolj smotrno je uporabiti vpogledno tabelo. Za sinus s 128 vzorci na periodo potrebujemo le 32 vzorcev, preostanek pa dosežemo s preslikavami po kvadrantih. Dodaten bonus je to, da se isto tabelo uporabi tudi za kosinus, kjer parameter le povečamo za 𝜋/2 (32 vzorcev) in poskrbimo, da števec ostane na intervalu [0,128). Pri uporabi 7b števca, je to zagotovljeno že samo od sebe. Zaradi očitnih prednosti uporabe vpogledne tabele, smo se odločili za ta pristop. Simulacije so pokazale, da je vseeno, če oddajamo signal s sinusno modulacijo, ali pa le pripadajoč dvonivojski 19 signal (prižgan/ugasnjen), saj filter odstrani visokofrekvenčne komponente signala. To poenostavi tudi izhodno stopnjo, saj lahko le preprosto odpiramo in zapiramo tranzistor, brez potrebe po zvezni regulaciji. 3.3 Nizkoprepustni filter Teorija pravi, da lahko povprečno vrednost periodičnega signala določimo s povprečenjem preko ene periode signala. V teoriji bi torej lahko I ter Q komponenti poslali skozi filter za računanje tekočega povprečja 128 elementov (kolikor je elementov v eni periodi sinusa). Signal bi morali oddajati le tako dolgo, da se zajame ena perioda odbite svetlobe. V našem primeru, kjer smo pričakovali, da bo amplituda odbite svetlobe padla pod šumni nivo še preden presežemo razpon za enolično določljivo razdaljo, bi torej zagotovo zadoščalo oddajanje svetlobe preko dveh period. Simulacija to teorijo potrdi, s pripombo, da deluje le v odsotnosti šuma. Ob njegovi prisotnosti je smotrno vzorčiti preko več period signala. Še boljše od računanja tekočega povprečja je filtriranje z nizkoprepustnim filtrom, ker nam omogoča daljše vzorčenje za boljšo eliminacijo motenj. FIR filtri niso primerni, saj vedno zajamejo enako število vzorcev, za pravilno delovanje pa morajo zajeti večkratnik števila vzorcev ene periode. Poleg tega zaradi velikega števila zahtevanih računskih operacij in zahtevi, da se lahko funkcija pri uri 125 𝑀𝐻𝑧 kliče vsak cikel (pipeline je dovoljen), porabi izjemno veliko količino razpoložljivih sredstev. V eksperimentu se je izkazalo, da bi za filtriranje preko dveh ciklov z mejno frekvenco 1 𝑘𝐻𝑧 porabili skoraj vsa razpoložljiva sredstva v uporabljenem FPGA. Računanje tekočega povprečja bi bilo seveda bolj učinkovito, še učinkovitejša pa je uporaba IIR filtra. Simulacija je pokazala, da bomo za doseganje željene karakteristike potrebovali filter četrtega reda. Dobro razmerje med glajenjem in hitrostjo odziva dobimo pri mejni frekvenci 600 𝑘𝐻𝑧. Ugotovili smo, da lahko za reprodukcijo enake filtrske karakteristike, kot jo dobimo s filtrom na števila s plavajočo vejico, uporabimo koeficiente s fiksno vejico s 27 biti (od tega 3 za celo število ter predznak). Pri uporabi manjših koeficientov začne filter dušiti tudi DC komponento. Zakasnilna linija za vhodne podatke je bila enakega tipa kot vhodni parameter, torej predznačeno celo število s 27 biti, za izhodne podatke pa so bila izbrana števila s fiksno vejico, 32b, od tega 6b za celi del ter predznak. Pri izbiri smo pazili, da pri normalnem delovanju ne bo prišlo do preliva, ter da ne bi izgubljali resolucije na decimalnih mestih. Izhodni podatek je enakih dimenzij kot vhod filtra. Slika 3.1 prikazuje simulacijo obnašanja signala na sprejemni strani. S svetlo sivo je prikazan sprejeti signal, temno siv valovit signal pa prikazuje produkt prejetega signala s sinusom. Zgornja dva odziva filtra, ki se prekrivata, prikazujeta odziv za filter realiziran s plavajočo vejico, in simulacijo delovanja filtra z 27b koeficienti. Za demonstracijo obnašanja pri premajhni resoluciji koeficientov je s prekinjeno črto prikazan še odziv filtra s 23b koeficienti. Slika 3.1: Simulacija obnašanja signala na sprejemni strani. Realizirano vezje se je po optimizaciji skrčilo na primerno majhno velikost, pri tem pa nismo žrtvovali kakovosti delovanja. Zaradi Xilinx-ove dobro napisane knjižnice za aritmetiko s števili s fiksno vejico, koeficiente vnašamo v obliki števila s plavajočo vejico. 3.4 Arkus tangens Zadnji korak v meritvi, je izračun funkcije arkus tangens. Ko meritev pride do te točke, so se vse časovno kritične operacije že zaključile, tako da si lahko za dokončanje funkcije vzamemo poljubno veliko časa. Izračuna bi se lahko lotili s pomočjo interpolacije ter vpoglednih tabel, kar pa je zaradi narave funkcije 𝑎𝑡𝑎𝑛2 precej spominsko potratno. Primernejši je pristop s algoritmom CORDIC, kar je tudi osnovna izbira prevajalnika, če se v HLS sintezo vnese funkcijo 𝑎𝑡𝑎𝑛2 iz knjižnice 𝑚𝑎𝑡ℎ. ℎ. Ta funkcija ne dopušča prostora za optimizacijo, saj se v vsakem primeru sintetizira za tip vhodnih podatkov 𝑑𝑜𝑢𝑏𝑙𝑒. Če se vhodne podatke najprej oblikuje v 𝑓𝑙𝑜𝑎𝑡, se funkcija izvaja počasneje, saj prevajalnik osnovno število najprej prevede v 𝑓𝑙𝑜𝑎𝑡, nato pa še v 𝑑𝑜𝑢𝑏𝑙𝑒. Več manevrskega prostora dopušča uporaba namenske funkcije za realizacijo funkcije 𝑎𝑡𝑎𝑛2 z algoritmom CORDIC. Uporabili smo tujo implementacijo [6], za vhodne ter izhodne parametre uporablja spremenljivke s fiksno vejico. Funkcija 𝑎𝑡𝑎𝑛2 se mora začeti izvajati šele, ko modulator konča z izvajanjem. To smo zagotovili tako, da smo na vhodni signal za začetek izračuna 𝑎𝑡𝑎𝑛2 skozi detektor pozitivne fronte speljali nadzornikov signal za končanje izvajanja. Skladno s pričakovanji je ta funkcija med vsemi porabila še največ razpoložljivih sredstev. Slika 3.2: blokovni načrt za evalvacijo delovanja sistema 20 3.5 Simulacija odbite svetlobe Napisali smo poseben blok, ki kot vhod sprejme izhod lidarja, na izhodu pa simulira meritev zakasnjenega odboja svetlobe. V praksi je ta blok implementiran kot zakasnilna linija z 1b vhodom in 14b predznačenim izhodom. Enobitni signal se pomika po zakasnilni liniji. Na mestu simuliranega odboja se evalvira vrednost signala na zakasnilni liniji. Ničelna vrednost se smatra kot negativna meritev, enica pa se preslika v pozitivno število. V simulaciji odboja ne upoštevamo upadanja amplitude signala z naraščanjem razdalje. Amplituda prejetega signala je vedno enaka, spreminja se le zakasnitev. V trenutni implementaciji se zakasnitev nastavlja v diskretnih korakih po 1/128 valovne dolžine moduliranega signala. Za oceno delovanja večje ločljivosti ne potrebujemo. Takšna funkcija za simulacijo vhodno-izhodnih enot je kompaktna, le stežka bi se znašli v situaciji, ko v FPGA ne bi bilo dovolj prostora zanjo. Vseeno pa je potrebno upoštevati, da v sistem vnaša dodatno zakasnitev. V naši implementaciji se odbita svetloba na simuliranem vhodu pojavi z dodatnim zamikom dveh urinih ciklov. 3.6 Decimacija odvečnih bitov Izhod modema sta 27b predznačeni I ter Q komponenti. S predpostavko, da ne bomo potrebovali toliko bitov, smo ju poslali skozi decimacijski filter, ki na vhodnem nizu izvede SRA operacijo (shift right arithmetic) za N bitov. Izkaže se, da lahko brez opaznejših negativnih učinkov zavržemo 12 bitov, izračun faze pa postane vidno nelinearen pri decimaciji 16 bitov. 3.7 Celoten sistem Posamezni bloki so bili kot blokovni načrt povezani v funkcionalno celoto, kot to prikazuje Slika 3.2. Večina ključnih blokov je bila sintetizirana s HLS, kar pomeni, da nismo imeli perfektnega nadzora nad implementacijo, kot bi ga imeli če bi komponente implementirali z lastnoročno napisano HDL kodo. Algoritmu za sintezo smo za vse komponente, razen 𝑎𝑡𝑎𝑛2, zahtevali, da imajo inicializacijski interval 1, torej da lahko nov podatek pride v obdelavo v vsakem ciklu. Ker se funkcija 𝑎𝑡𝑎𝑛2 izvede šele po končani meritvi, zanjo ta zahteva ne obstaja. Časovne zakasnitve prikazuje tabela 1, porabo sredstev pa tabela 2. modem LPF atan2 odboj zakasnitev (ns) min. maks. 24 24 38 38 25 2396 16 16 Da se znebimo nelinearnosti, moramo kompenzirati meritev faze pred razvojem. Kompenzacija, ki jo tu uporabljamo, je preprosto množenje surove meritve s faktorjem 1,042, kar uspešno odpravi nelinearnost. interval (cikli) min. maks. 1 1 1 1 3 285 1 1 4000 3000 Tabla 1: zakasnitve modulov, sintetiziranih s HLS BRAM 18k 0 0 0 0 modem LPF atan2 odboj DSP48E 2 12 1 0 FF 155 698 2716 21 LUT 251 500 2784 85 2000 URAM 0 0 0 0 1000 0 1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 zakasnitev (cikli) min. maks. 3 3 3 3 3 285 2 2 Tabla 2: poraba sredstev pri s HLS sintetiziranih modulih 4 Slika 4.2: korak med posameznimi točkami meritev faze Analiza delovanja sistema Izvedli smo simulacijo delovanja sistema pri 128 zamikih, ki predstavljajo enakomerno razporejene zamike na območju med 0 in 2𝜋. Izračunana faza je bila shranjena v datoteko za nadaljnjo obdelavo. Slika 4.1 prikazuje surovo meritev faze (svetlo sivo), nekompenzirano razvito meritev faze (črno) ter kompenzirano razvito meritev faze (temno sovo). 80000 60000 40000 20000 -20000 1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 0 -40000 Slika 4.1: rezultat simulacije V surovi meritvi se vidi, da nima kompenzacije za sistemski zamik faze. Tega odpravimo tako, da od vseh meritev odštejemo fazni zamik pri nastavljeni zakasnitvi 0, nato pa vsem negativnim vrednostim prištejemo 216 . V fizični implementaciji se kalibracija izvede nekoliko drugače, saj nimamo popolnega nadzora nad nastavljenim faznim zamikom. Namesto tega se izvede meritev pri znani oddaljenosti (in s tem pričakovani fazi) tarče, in na izbrani točki določi kompenzacijsko vrednost, ki jo prištejemo meritvi, da dosežemo željeno vrednost. Na koncu negativen vrednosti enako kot prej preslikamo v pozitivne. Slika 4.2 prikazuje razlike med sosednjimi meritvami s kompenzacijo (sivo) in brez (črno). Vidimo, da se koraki gibljejo okrog 500 (pri čemer 216 predstavlja fazo 2𝜋), v meritvi brez kompenzacije pa je ena špica, ki presega šestkratnik srednje vrednosti korakov. Omeniti gre, da povprečni korak, ki pri izbrani modulacijski frekvenci predstavlja 18 𝑐𝑚, ne predstavlja resolucije sistema, ki je večja. Korak odgovarja le resoluciji zakasnilne linije, ki jo uporabljamo za simulacijo propagacije svetlobe. 21 5 Zaključek Delovanje nastalega CW lidarja je zadovoljivo za nadaljevanje na naslednji korak – implementacijo. Simulacija kaže, da se sistem obnaša skladno z načrtovalskimi cilji, v trenutni obliki pa dopušča še več možnosti za izboljšavo. Prva je decimacija bitov IQ komponent ter optimizacija nizkoprepustnega filtra. Dokler na realnem primeru ne preverim delovanja, je smotrno pustiti tako kot je, nato pa decimirati ob upoštevanju realnih meritev. Druga večja točka je kompenzacija ter korekcija meritev. Trenutno je to izvedeno naknadno, morda pa bi bilo to funkcionalnost smiselno implementirati v FPGA, čeprav bi to porabilo dodatne komponente, večji med katerimi sta 16b odštevalnik ter množilnik. Literatura [1] Godbaz, J.P. & Cree, Michael & Dorrington, A.A. & Payne, Andrew. (2009). A Fast Maximum Likelihood Method for Improving AMCW Lidar Precision Using Waveform Shape. Proceedings of IEEE Sensors. 735 - 738. 10.1109/ICSENS.2009.5398544. [2] Pollastrone, Fabio & Cardarilli, Gian Carlo & Pizzoferrato, Roberto & re, Marco. (2016). Fully digital intensity modulated LIDAR. Defence Technology. 12. 10.1016/j.dt.2016.04.002. [3] ADAMIČ, Michel, 2020, Časovno digitalni pretvornik visoke ločljivosti na čipu Xilinx Zynq-7010 [na spletu]. Univerza v Ljubljani, Fakulteta za matematiko in fiziko. [Dostopano 2 julij 2021]. Pridobljeno https://repozitori j.uni-lj.si/IzpisGradiva.php?lang=slv&id=117846 [4] Time of Flight System Design—Part 1: System Overview [na spletu]. Analog Devices inc. [Dostopano 20 julij 2021] Pridobljeno https://www.analog.com/en/analog-dialogue/ articles/time-of-flight-system-design-part-1-systemoverview.html [5] Kastner, R. & Matai, J. & Neuendorffer, S. (2018). Parallel programming for FPGAs. Kastner, R., Matai, J., & Neuendorffer, S. (2018). Parallel Programming for FPGAs. ArXiv, abs/1805.03648. [6] Begani, D. (2016). Linear Algebra Library: Atan2() Example, version 1.1. Priodblejno https://github.com/ Xilinx/HLx_Examples/tree/master/Math/atan2_cordic Telekomunikacije Telecommunications Modelling a prosumer-consumer pair for investigation of local self-consumption of renewable energy Ena Kikanović1, Nemin Suljanović2, 3, Matej Zajc1 University of Ljubljana, FE, Tržaška 25, Ljubljana, Slovenia Elektroinštitut Milan Vidmar, Hajdrihova 2, Ljubljana, Slovenia 3 University of Tuzla, FET, Franjevačka 2, Tuzla, B&H 1 2 E-pošta: ena.kikanovic9@gmail.com, matej.zajc@fe.uni-lj.si Abstract. In this paper we investigate modelling of a consumer-prosumer pair as a starting point for understanding consumers and prosumers in emerging energy communities, better utilizing PV generation and potentials of battery storage systems. With different scenarios, we analyzed developed agent based models how flexibility of energy community members affects self-consumption of green energy within the energy community. 1 Introduction Present energy system has to meet challenges and demands of European energy policy [1], with a transition to more sustainable energy system while guaranteeing the security of supply and competitiveness, with massive integration of renewable energy sources (RES) [2][3]. It means that the current energy supply and demand systems need modifications. Required modifications in this green transition are a challenge, but through the evolution of the EU energy policies [1], the consumer’s is taking the central role. The increasing active role makes the consumer an active participant in the energy transition [3]. An active role promotes a consumer to a prosumer, who both generates and consumes energy [3]. There is potential for consumers and prosumers to better benefit using green energy from RES, such as rooftop PV, together with use of energy storage systems. The process where the producer consumes generated energy directly is described as self-consumption. Selfconsumption concepts can focus on one building or it can be considered for a group of buildings, where several consumers use electricity from local RES [4]. Prosumers and consumers could be formed in energy communities, based on modern ICT, where generated energy surplus is shared among the energy community members. As a result, energy communities produce, store and exchange renewable energy locally between their members and with the energy system [5]. The idea of energy communities also promotes the renewable generation and consumption to increase selfconsumption. In this case, all sides have benefited since the prosumers locally share unused energy, on the other hand, the consumers use more locally generated energy, contributing to more stable grid [5]. A 100% self-consumption means than no locally generated energy is remained unused locally. ERK'2021, Portorož, 23-26 23 Nevertheless, the disparity between generated energy and energy community members’ consumption remains, which means that typically generated energy cannot be fully utilized [5]. Energy community members can actively participate by managing their energy consumption and change their habitual consumption patterns in response to price signals or incentives. The concept of flexibility demands all energy community members to actively participate in a modern, ICT supported energy system [5]. The pervasiveness of ICT could lead to new concepts that enable members to have free access in the process of energy exchange. Technologies, such as blockchain, can play significant role. It provides a decentralized system, which means that no intermediaries are needed in the energy exchange. With a high level of complexity, energy communities need to be analyzed as complex sociotechnical systems through the concept of modelling [3]. Modelling is used for understanding how events are related and how behavior and interactions influence the output of the system. Modelling allows the modification of the system to improve it to test the model with various parameters and details that are not part of the real world [6]. The well-accepted approach to analyze and represent the complexity of the prosumer’s and consumer’s roles within the energy community is the agent-based modelling (ABM) [3]. Energy community members, described as agents, are actors in these socio-technical systems with their behavior and ability to make decisions. They also interact with others and can be influenced by the environment [6]. Figure 1. Prosumer - Consumer pair With the selected case study, we modelled the prosumer/consumer pair (Figure 1) as part of investigation how selected parameters influence selfconsumption of locally produced green energy. 2 Modelling prosumer-consumer pair In agent-based modelling approach, the energy community is modelled from the bottom-up. Such approach allows better insight into details of the system under investigation. In initial models, a simple prosumer/consumer pair was developed without the ability of shifting their loads to better understand their behavior. Once we gained an understanding of selfconsumption principles, we applied the acquired knowledge to more complex systems, including flexible behavior, the energy storage system and the formation of the smaller energy community with more energy community members [5]. Our agent-based models were implemented with AnyLogic. The prosumers have an important role in the energy community as they produce and share the energy surplus with the consumers [5]. The prosumer’s behavior is modelled with parameters related to their flexibility, the availability of the energy storage system and a set of parameters such as time, the consumption of flexible and non-flexible loads. Data for PV generation are also adapted from [5] and presented in Figure 1. The consumer is used to imitate the consumption of the household without the PV generation. The consumer’s behavior is modelled with parameters related to their flexibility and their consumption profile of flexible and non-flexible loads. The prosumer and consumer agents communicate with each other, where the prosumer offers generated energy surplus, and the consumer accepts or declines the offer. The outside input from the environment is information of current PV generation (Figure 2) [5]. 00:0005:00 05:00  06:00 + 07:00 08:0014:00 15:0017:00 17:00 Laundry m. Dishwasher Refrigerator Water h. Bedroom Study room Living r. Kitchen Table 1: Prosumer’s(+) and consumer’s(●) load profiles  + +  + +  +  +  + Figure 2. Prosumer's PV generation profile  +  + The decision-making procedure depends on the availability of green energy from prosumer's PV, the presence and status of the energy storage system and user's response to the tariffs or incentives [5]. The initial model implemented the case where the prosumer and the consumer form a pair to use energy generated and shared by the prosumer (Figure 1). As the prosumer does not use all green energy as it is produced at specific times, the surplus is offered to the consumer. If the consumer rejects the offer, the unused energy is offered to the grid. As a benchmark case for later flexibility scenarios we considered that both agents are inflexible, using their initial schedules. As their schedule is not flexible all loads need to be operated on time. With the inflexible behavior the prosumer and the consumer do not contribute to the overall goal to improve local selfconsumption [7]. For flexibility scenarios, we considered prosumer’s and consumer’s willingness to shift their loads to better fit time intervals with local PV generation, which is typically during the day. In this paper we focus on two flexibility scenarios, implementing incentive-based flexibility with and without energy storage system. The incentive-based 18:00  +  +  +  + 19:00  +  +  +  + 20:00  +  + + 21:00  +  +  +  +  +  +  +  +  + 22:00 +  +  + 23:00 +  + Each household is represented as one agent whose behavior is described with its load profile and its flexibility. Their consumption profiles are adapted from [5] and consist of: lighting, electric water heater, hot water consumption, refrigerator, dishwasher and laundry machine, as presented in Table 1. Taken into consideration that some activities in the household are not necessarily needed when they are scheduled, agents might be willing to shift them for a few hours. These loads are described as flexible and shaded in Table 1 (a laundry machine and a dishwasher). On the other hand, non-flexible loads have to be operated accordingly to the schedule and they cannot be shifted (lighting, electric water heater, hot water consumption and refrigerator) [5]. 24 flexibility motivates them to shift their flexible loads based on the available energy from the prosumer’s PV [7]. Another possibility would be to investigate tariffbased flexibility, which is not part of this case study [7]. 3 Results In this section we present main results of model simulations in AnyLogic, following two flexibility scenarios, implementing incentive-based flexibility with and without energy storage system. Figure 3 presents generated energy and the sources of energy for providing the prosumer's loads at a certain time with potential to shift the flexible loads. Figure 4 shows sources of supply for the consumer during the day. The consumer uses a certain amount of green energy when flexible loads are incentive-based shifted, but still, non-flexible loads are dominantly supplied with the energy from the grid, following user’s daily routine. Since load shifting to the period when the PV generation is high is not sufficient, we further investigated how an energy storage system can contribute to the self-consumption goals. In this case, the prosumer uses generated energy for supplying the loads and energy surplus is offered to the consumer. If there is remaining green energy available, it will be stored in the prosumer’s energy storage system. Ultimately, if the energy storage system is fully charged, the energy surplus is offered to the grid. Prosumer’s consumption profile, together with generated energy, is presented in Figure 5. The prosumer’s PV generation is highest around noon, and the prosumer uses generated energy for supplying the loads, while the energy surplus is offered to the consumer. After the consumer accepts the offer and a part of green energy still remains unused, it will be stored in the energy storage system and available for usage later during the day. Figure 4. Consumer consumption profile for incentive-based flexibility without energy storage system [7]. Figure 5. Prosumer consumption profile for incentive-based flexibility with energy storage system [7]. Figure 3. Prosumer consumption profile for incentive-based flexibility without energy storage system [7]. Figure 6. Consumer consumption profile for incentive-based flexibility with energy storage system [7]. 25 Figure 6 presents energy sources for the consumer's loads during the day. In this case consumer’s goal is to fully utilize green energy, either from the PV panels or from the energy storage system. In case the available green energy is not sufficient, the consumer accepts the energy from the grid. However, we see that the consumer supplies a certain number of loads by the energy provided from the energy storage system, which, together with load shifting, contributed to the increase of self-consumption. 4 Discussion To achieve full self-consumption, the energy surplus needs to be fully consumed by the two agents. If the prosumer and the consumer are characterized by inflexible behavior with very similar schedules, and additionally, the prosumer does not have the energy storage system (Case 1 in the Table 2), more than half of the generated energy is offered to the grid and not used by the prosumer or the consumer. Case 1 inflexible behavior Case 2 incentive-based flexible behavior Case 3 incentive-based flexible behavior and energy storage Prosumer Consumer To the grid 9.52 (16%) 9.8 (16%) 40.6 (68%) 8.68 (14%) 11.16 (19%) 40.08 (67%) 12.67 (21%) 34.66 (58%) community, where this unused green energy could be further shared among consumers [7]. 5 Conclusions This paper presents initial steps in energy community modelling. The agent-based modeling starts from the bottom-up, with a prosumer/consumer pair. With different scenarios, we analyzed the influence of different parameters on the model of this simple energy community. We analyzed the influence of flexibility on self-consumption of green energy and impact of adding an energy storage system. With acquired knowledge, we analyzed how increased number of prosumers and consumers influences the total use of green energy. With this simple agent-based model we can investigate how self-consumption can be increased if the generated energy surplus is shared among the energy community members. In our research, we reached the goal of 100% self-consumption within the energy community under described conditions, composed of one prosumer and five consumers, characterized as incentive-based flexible willing to shift their flexible loads within the agreed interval [7]. Acknowledgement This work was supported in part by ARRS under the Scientific Program P2-0246. References 12.59 (21%) Table 2: The comparison of the results based on the selfconsumption [7] To increase self-consumption, prosumer's and consumer's consumption patterns need to be changed (shifted) to use more green energy generated by the prosumer. In the first step, we investigated how to increase self-consumption by the incentive-based flexibility (Case 2 in Table 2). However, more than half of generated green energy is offered to the grid, since non-flexible loads are supplied by the energy from the grid, when green energy is not available. To minimize the percentage of unused green energy, this concept of incentive-based flexibility can be upgraded by adding the energy storage system at the prosumer's household (Case 3 in Table 2). Since the energy storage system stores the generated energy surplus for later use, this scenario provides better results and represents an improved approach for energy communities. In this case, less than a quarter of the generated energy remains unused and offered to the grid. This value equals to generated energy when the energy storage system was already fully charged. These results motivate us to upgrade the prosumer/consumer pair to a smaller energy 26 [1] “Communication from the commission to the european parliament, the council, the european economic and social committee, the committee of the regions and the european investment bank.” Accessed: 2021-02-10 https://eur-lex.europa.eu/legalcontent/EN/ TXT/HTML/?uri=CELEX:52015DC0080&from=EN. [2] E. Espe, V. Potdar and E. Chang, “Prosumer communities and relationships in smart grids: A literature review, evolution and future directions,” Energies, vol. 11, no. 10, pp. 25–28, 2018. [3] A. Mengolini, Prosumer behaviour in emerging electricity systems, PhD dissertation, Politecnico di Torino, 2017. [4] M. Stephant, K. Hassam-Ouari, D. Abbes, A. Labrunie and B. Robyns, “A survey on energy management and blockchain for collective self-consumption,” 7th international conference on systems and control (ICSC), pp. 237–243, IEEE, 2018. [5] F. Reis, M. A. Lopes and C. H. Antunes, “Energy transactions between energy community members: An agent-based modeling approach,” International Conference on Smart Energy Systems and Technologies (SEST), pp. 1–6, IEEE, 2018. [6] A. Ghorbani, Structuring socio-technical complexity: Modelling agent systems using institutional analysis, PhD dissertation, Delft, 2013. [7] E. Kikanović, Consumers’ flexibility modelling within the energy community framework, Master thesis, Faculty of Electrical Engineering, University of Ljubljana, 2021. Augmented reality solution for visualisation of emergency events Tjaša Jereb, Matej Rabzelj, Mojca Volk University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana E-mail: tjasa.jereb@ltfe.org, matej.rabzelj@ltfe.org, mojca.volk@fe.uni-lj.si Abstract Augmented reality (AR) represents a technology that could significantly enrich our mobile experience, yet to this day, very few players on the market managed to grasp its full potential. That is not to say there are not many great solutions already leveraging AR, especially in the entertainment industry and education among others. One of the sectors that will benefit significantly from AR’s implementation is the public safety sector. Augmented reality used in this context could help first responders work on emergency event sites, training them for various situations, educate citizens and inform or guide them in case of a widespread emergency event, among others. This paper introduces AR and evaluates the possibilities for its use in the public safety sector. Furthermore, it proposes a solution for visualising emergency events for citizens with the help of AR. 1 Introduction Since the first concept of AR saw the light of day in the early 60’s [1] the potential for it to become a great tool for various tasks was there. And even though the term augmented reality was not coined until 1990, there were quite a few attempts to bring users an experience of seeing virtual objects superimposed on a real-life environment. Having gone through many iterations before becoming what we know today, AR proved itself to be a useful tool not only for entertainment but also for the production industry, education and many more. However, some sectors adopted it quicker than others for various reasons. One area where any technology that is to be implemented needs to work flawlessly is public safety - where during emergency events, lives could be at stake. Implementing AR into such scenarios would require having valuable data to visualise and powerful enough supporting technology to run it and sufficient training for those who would use it. Still, not all scenarios in the public safety department are as critical. That is why AR applications are already gaining momentum when training or preparing first responders for critical situations. There are applications already providing practical ways of training for first responders [2]. ERK'2021, Portorož, 27-30 27 What we are currently lacking are AR applications tied to public safety intended for citizens. While the longterm plan is providing AR-enhanced video calls to an emergency number, we must make sure that citizens also start connecting AR technology, which they now mainly use for fun as mobile games or filters in social media applications, with more serious use cases as soon as possible. One way this can be done is by creating an AR functionality inside a 112 application for citizens, which introduces the technology as well as provides a reason for users to open the application regularly. Our solution proposes the implementation of the national system SPIN for reporting emergency events into a 112 application for citizens, with improved data visualisation using AR. Since the existing solution shows a 2D map in a browser with all ongoing emergency events pinned on approximate locations, this new solution allows users to get more personalised information based on their location while eliminating any confusion over the user’s orientation in the environment. 2 Augmented reality Nowadays, AR is accessible on different types of devices, most popular being mobile phones, tablets, and dedicated headsets, like Hololens [3]. And even though AR just left Gartner Hype Cycle in 2019 [4], which hits at it now becoming a mature technology, the list of use cases is already long, and it is getting even longer. Different sectors adopted AR with different speeds - in the case of entertainment, AR games and shopping experiences are nowadays something normal, while more critical sectors are yet discovering its benefits. That is because even though AR and supporting technologies are getting better and better, glitches still happen here and there. And while a delay in processing and displaying information does no harm in a game or a learning course, consequences in public safety emergency scenario use cases might not be negligible. That is why AR and technologies that run it still have to overcome a few obstacles before they can be used in any type of situation. AR experience begins with capturing the images of the user’s environment [5, 6]. Users location in the environment is determined from those images. This enables the establishment of a virtual coordinate system and the identification of objects from images. Their enriched information is called from either local or cloud storage and shown to the user on display. To provide such a service, any device that wants to support AR needs the following components [7]: • a camera that captures the environment, • tools like motion sensors and accelerometers, that help determine the environment, • computer vision, which allows for capturing, processing, analysis and understanding of the video and • display device for displaying the final result. Apart from that, to provide a good AR experience, a system also has to fit the following criteria [5]: battery intensive part of AR processing from the device while still maintaining fast response times from applications. Another technology that is relevant for broader AR adoption is cloud computing itself. Because responsive and accurate AR experience needs a sufficient amount of computing resources, having cloud services for assets storage and computing means that mobile devices can work only as thin clients. The third technology that will be necessary to support good AR experience in tandem with MEC and cloud computing is the next generation of mobile technologies - 5G. 5G is promising lower latencies and higher bandwidths, which are vital for live AR. 3 Augmented reality for public safety Public safety covers a wide range of activities - from assistance in emergencies to educating and taking preven• end-to-end latency or motion-to-photon latency tive measures to avoid emergency events if possible. Here must stay below 20 ms, to create a pleasant and we focus on public protection and disaster relief (PPDR). convincing experience for the user - anything As mobile applications expand to every pore of our lives, above could turn out unrealistic or cause motion it only makes sense that the public safety sector follows sickness [8], suit. This includes applications connecting first respon• very good accuracy for object recognition, to avoid ders to the general public and applications intended for mistakes like wrong directions in navigation appli- internal use by first responders - from training tools to emergency scene management help. cations, The applications in PPDR can be roughly divided into • AR applications must be mobile and robust, so they two categories: applications for closed groups of profeswork in various kinds of environments. sionals - for example, applications for first responder’s training - and applications for the general public - for exDevices can run AR applications in three different ample, applications for calling an emergency number or ways: entirely on the device, partially on the device and following news of emergency events. partially offloaded from the device or fully offloaded Implementing AR into applications for training first from the device. responders or even helping them during interventions is Device-based AR does all the work locally. This a hot topic - several solutions have already been develmeans that everything from video capturing to object oped, like AUGGMED [9], which is a platform for trainrecognition, processing and showing the content is done ing first responders and was made as an answer to rising on the device. For that, the device needs sufficient comnumbers of terrorist attacks, or C-Thru [10], a head-up puting power, enough local storage for all elements and display mounted into a firefighter’s helmet, that enhances uses much energy. But given that the device is powerful edges of people and objects in smokey rooms and makes enough, it also means the lowest latencies. it easier for firefighters to move around. Cloud-based AR applications offload the computing Apart from that, there are multiple options to use AR part from the device into the cloud. Therefore the energyin applications for civilians; for example, making ways to consuming processes (environment recognition, virtual teach people how to react in emergency situations like accontent mapping, movement tracking) are moved onto recidents or using AR to visualise data about public safety mote servers with higher computing power. At the same like mapping dangerous areas or sending warnings about time, the mobile device is only used for video capturing flooding. and displaying the content. Because the remote servers And while applications for professionals (be it AR can be far away from the user, latencies between video or other) are open to free-market, applications for civilcapture and shown content can be higher. ians that might even communicate with official bodies, AR applications that use mobile edge computing like PSAPs (public service answering points), must be (MEC) work similarly to cloud-based applications, whereas somehow coordinated and regulated. For those purposes, the computationally-intensive part is offloaded from the there are organisations like EENA (European emergency device into the network. The critical difference is that number association) in Europe [11] and NENA (National the remote server is now much closer to the user; the emergency number association) in the United States of request only goes to the edge of the network that the user America [12]. Their general purpose is executing all acis connected to. This significantly lowers the latencies tivities connected to emergency numbers, from educatmentioned in the paragraph above. ing to implementing new practices and standards. One of MEC is one of the technologies that will help further EENA’s recent activities was suggesting and standardisdevelopment of AR, primarily for its ability to offload 28 ing a framework, a unified infrastructure for mobile applications for emergency communication across Europe, called PEMEA (Pan-European mobile emergency apps). Having an option to call an emergency number through an application that gives the caller additional features like a video call or messaging could enhance communication and even help save lives. 4 AR solution for a 112 application While the above statements about emergency applications are true, applications themselves have a few shortcomings. The first problem comes with their usage. If there is to be an application solely intended for emergency calls, that means that a lot of the population will most likely never need it. Furthermore, these kinds of applications are often times deleted from mobile phones by users or automatically offloaded to cloud storage due to lack of local storage space. And even if they stay, the user will most likely not remember to use it in emergency situations. Therefore, what these applications need are additional features that will prompt users to return. Features like the weather radar, traffic information, or information about ongoing emergency events would encourage users to open the emergency application regularly, resulting in familiarisation with the application and a greater chance of using it when it matters. Regarding AR in an emergency application, the feature that would be of great help for any communication with PSAP or first responders directly would be an ARenhanced video emergency call. However, as the supporting technology currently does not allow an experience as seamless as it should be, this is not yet applicable. Until there are enough 5G supporting devices among users in combination with high network coverage, we can use AR in public safety scenarios without an urgent nature. To incorporate AR into a 112 application primarily intended for emergency calls, a proof of concept solution that visualises ongoing emergency events with AR was created. This concept combines the existing portal SPIN - SOS112 which shows recently active emergency events on a 2D map into a personalised AR experience, where emergency events are shown to the user depending on their location and the distance between them and individual events. The AR module was developed with Unity [13], a cross-platform game engine. Unity is intended for development in 2D and 3D worlds, for AR and VR (virtual reality) experiences. Its main advantage is that the code can be written only once and ran across all supported platforms. For AR elements to look like they are a part of the real world, three key concepts need to be taken into account [14]: • motion tracking - tracking of devices’ position and rotation, • environmental understanding - giving the device ability to find planes on vertical and horizontal surfaces where objects can be placed, 29 • light estimation - understanding of lighting conditions in a real-world environment to be pulled into AR experience. These concepts are integrated into software development kits (SDK) like ARKit SDK for iOS devices, ARCore SDK for Android devices, Lumin SDK for Magic Leap and Windows 10 SDK for Hololens. In Unity, functionalities from above-mentioned SDKs are brought together by a framework called AR Foundation [14], which enables faster and more unified development. 4.1 Design of the solution The AR solution was designed to work in the three steps: getting information about emergency events, locating the user and positioning found emergency events and finally showing the results. First, data about emergency events were obtained from the SPIN portal and presented in JSON format. The structure held the following information about each event: latitude and longitude (both approximate), title, time and date, location, description of the event, type of the event and icon ID. The coordinates were used to calculate the distance between the user and each event. Time and date were used to determine how much time passed since the event was reported. Icon ID helped identify unconfirmed events, while title, location, description and type of the event are used to showing additional information to the user. Information about events is imported into Unity via a separate script that takes JSON structure and reshapes it into a list that can be used onwards. Then, in the main script, the user’s position and orientation are collected and present the foundation for further calculations. Then geographical coordinates of events are mapped onto locations in Unity’s virtual coordinate system. That is why locations for all events inside the AR application are calculated using the distance from the user to the event and the bearing between them. Once the new coordinates are calculated, events are displayed. The default setting is showing all the events in a radius of 10km. The user then has an option to change the radius value and choose a different time frame. Events appear on the screen when the user views his surroundings through a camera lens, as 3D capsules. The title of the event is displayed above the capsule. Additional information about the event is displayed when the user touches the capsule - the distance to the event in the form of an arrow a little bit above the ground and the rest in the form of an additional 3D element that shows up in front of the capsule. The user interface consists of AR and user interface elements. AR elements are positioned in the environment. Elements of events have the same shape but different colours, depending on how old they are or if they are unconfirmed. The elements showcasing additional information are unified for all events. However, they are set to be only opened at one event at a time to avoid the environment getting overcrowded. While AR elements are the main focus of the application, user interface elements [4] “5 Trends Appear on the Gartner Hype Cycle for Emerging Technologies, 2019.” [Online]. Available: //www.gartner.com/smarterwithgartner/5trends-appear-on-the-gartner-hype-cycle-foremerging-technologies-2019/ [5] A. Younis, B. Qiu, and D. Pompili, “Latency-aware Hybrid Edge Cloud Framework for Mobile Augmented Reality Applications,” in 2020 17th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON), Jun. 2020, pp. 1–9. Figure 1: User interface of the AR solution for displaying emergency events. are also necessary for a good user experience. User interface elements, therefore, give an option of settings and information menu, as well as provide information bubbles at the start of the application, so the user knows what is happening before the events show up. 5 Conclusion AR is already a widely adopted technology across different areas, from games and shopping to education. There are also some use cases in the public safety sector, mostly limited to professional users (first responders) - from their training to helping in emergency scenarios. Further additions to AR applications in the PPDR sector will be influenced by communication technologies that support good AR experience, like 5G, cloud computing and MEC. The proposed solution is the stepping stone for further implementation of AR into applications for emergency communication. It offers an interactive overview of emergency events that is personalised to the user. The solution collects information about emergency events and displays them in the form of AR elements on a mobile device. The user can also interact with those elements to show additional information and set different values for relevant radius and age of events. References [1] “Augmented reality,” Wikipedia, Jul. 2021. [Online]. Available: https://en.wikipedia.org/w/index. php?title=Augmented reality&oldid=1033784034 [2] “AUGMED Trains Police and Aid Workers for Terror Related Attacks using VR,” May 2018. [Online]. Available: https://all3dp.com/auggmed-trainspolice-aid-workers-terror-related-attacks-using-vr/ [3] “Microsoft HoloLens — Mixed Reality Technology for Business.” [Online]. Available: https://www. microsoft.com/en-us/hololens 30 [6] D. Li and Y. Shang, “Design and Implementation of Augmented Reality Browser for Mobile Terminal,” IOP Conference Series: Materials Science and Engineering, vol. 490, p. 042017, Apr. 2019. [Online]. Available: https://www.researchgate.net/publication/ 332337233 Design and Implementation of Augmented Reality Browser for Mobile Terminal [7] “How does Augmented Reality Work? — Techslang,” Nov. 2019. [Online]. Available: https://www.techslang.com/how-doesaugmented-reality-work/ [8] “What is Motion-To-Photon Latency?” [Online]. Available: http://www.chioka.in/what-is-motionto-photon-latency/ [9] “AUGGMED Trains Police and Aid Workers for Terror Related Attacks using VR,” May 2018. [Online]. Available: https://all3dp.com/auggmed-trains-policeaid-workers-terror-related-attacks-using-vr/ [10] C. Fink, “Qwake Technologies Funded To Fight Fires With AR Tech.” [Online]. Available: https://www.forbes.com/sites/charliefink/2020/12/ 02/qwake-technologies-funded-to-fight-fires-withar-tech/ [11] “EENA Special Focus.” [Online]. Available: https: //eena.org/our-work/eena-special-focus/ [12] “About NENA - National Emergency Number Association.” [Online]. Available: https://www. nena.org/page/AboutNENA [13] “Unity (game engine),” Wikipedia, Mar. 2021. [Online]. Available: https://en.wikipedia.org/w/index.php?title= Unity (game engine)&oldid=1011494579 [14] “How AR Foundation and MARS work together — How augmented reality development works — Unity,” May 2020. [Online]. Available: https://blogs.unity3d.com/2020/05/11/how-arfoundation-and-mars-work-together-to-enableinteractive-multiplatform-ar-experiences/ Platforma za podporo senzorskih sistemov v športu Matevž Hribernik, Andrej Kos, Urban Sedlar, Anton Kos Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, Ljubljana, Slovenija E-pošta: matevz.hribernik@fe.uni-lj.si Support platfrom for sensor systems in sport Abstract. Biomechanical systems and applications in sport and rehabilitation regularly use a variety of sensors to measure different physical quantities. Sensors can produce large amounts of data that have to be stored for post-processing and analysis. Generally, each application has its own operation specific data flow and storage solution. Applications have their own database and communication protocol. In this paper, we present a solution to this problem in a form of a universal data model, which can be used in any sensorbased application. We propose a cloud platform architecture that allows for the manipulation of various forms of sensor data and metadata. Signals and (meta)data that are associated with biomechanical systems are presented to underline the problem of universality; we present platform requirements and development of a cloud platform architecture for such systems. As an example, we present the use of the platform for our precise shooting application. 1 Uvod V športu in fizični rehabilitaciji je uporaba nosljivih senzorskih naprav v zadnjih letih v velikem porastu. Biomehanske aplikacije z nosljivimi napravami in sistemi so navadno namenjene le eni nalogi, podobne rešitve pa ne omogočajo primerjave in izmenjave podatkov med različnimi proizvajalci naprav in raziskovalci [1]–[3]. Komercialne naprave so navadno vezane na lastne aplikacijske rešitve za specifične gibe in aktivnosti. Predlagana platforma za shranjevanje in obdelavo podatkov rešuje ta problem in omogoča različnim sistemom in napram uporabo enake rešitve za shranjevanje, obdelavo in primerjavo podatkov. Gre za podporno rešitev, ki ne omogoča vseh specifičnih zmožnosti, je pa tovrstna platforma pomembna, pri razvoju biomehanskih sistemov in aplikacij. Glavna motivacija za razvoj platforme, podatkovne strukture in implementacije posameznih delov platforme, je dejstvo, da trenutne aplikacije [4] uporabljajo lastno računalniško aplikacijo za obdelavo in shranjevanje senzorskih podatkov in metapodatkov. Aplikacije se večinoma ločijo zgolj po računalniški aplikaciji za zajem in shranjevanje podatkov, ne pa tudi po senzorjih in senzorskih napravah, ki so večinoma podobne ali celo enake. Predlagana spletna platforma omogoča univerzalno storitev vnosa in shranjevanja ter jo lahko uporabljajo različne biomehanske aplikacije, ne glede na vrsto senzorja in lastnega delovanja. ERK'2021, Portorož, 31-34 31 Glavni cilj naših raziskav je načrtovanje, zasnova in izvedba spletne platforme za biomehanske sisteme in aplikacije, ki je enostavna za uporabo, tako za profesionalne kot tudi za tehnično manj izkušene uporabnike. Cilj in želja je poenotiti podatkovni model in ga narediti enakega za vse vrste aplikacij. Podobne platforme in podatkovne strukture, vendar v manj splošni obliki, so že razvile druge raziskovalne skupine [5]–[7]. Gre predvsem za specifične oblačne rešitve za točno določeno športno aktivnost. Naš cilj je prilagodljiva platforma, ki je uporabna v različnih športnih in rehabilitacijskih aplikacijah. Kljub splošnim podobnostim med aplikacijami, se pri različnih športih in fizičnih aktivnostih pod različnimi pogoji uporabljajo različni senzorji. Podatki iz senzorjev so posredovani na različne naprave oz. oblačne storitve. V tem prispevku opisujemo proces načrtovanja in razvoja podporne platforme za senzorske sisteme v športu – predstavimo potrebne funkcionalnosti, programsko arhitekturo ter delovanje platforme. 2 Funkcionalnosti platforme Pri načrtovanju platforme smo najprej določili zahteve, ki izhajajo iz obstoječih aplikacij za zajem kinematičnih parametrov gibanja in začetnih poskusov s področja biomehanske povratne vezave [8]. Namen nove platforme je enovitost interakcije različnih aplikacij za namen shranjevanja, analize in prenosa podatkov ter tudi možnost uporabe obstoječih aplikacij z novo platformo. Pri načrtovanju smo se zgledovali predvsem po sistemih, ki vključujejo nosljive povezane senzorske naprave [9]. 2.1 Signali in podatki V biomehanskih sistemih se uporabljajo različni senzorji za zajem kinematike in kinetike telesa in posameznih telesnih delov. Poznamo več različnih vrst senzorjev: nosljive kinematične senzorje, merilnike napetosti, merilnike sile, sisteme za optično zaznavo gibanja in druge. Tipični kinematični senzor je sestavljen iz pospeškometra in žiroskopa, ki jima je pogosto dodan tudi magnetometer. Vsak od navedenih senzorjev meri določene fizikalne količine, na nekem dinamičnem območju in z neko izbrano vzorčevalno frekvenco, ki predstavljajo metapodatke senzorja. Podatki iz teh senzorjev so vzorčeni signali oz. časovne vrste, katerih dolžina je odvisna od namena uporabe. Iz senzorjev, ki temeljijo na binarni zaznavi, kot so npr. optična vrata ali senzorji pritiska, lahko pri gibanju opazujejo dogodke, ki so vezani na čas in prostor. Tako signali kot dogodki, so podatki iz senzorjev in so vezani na posamezni gib oz. aktivnost. O merjeni aktivnosti pa je potrebno navesti tudi metapodatke. Vsaka meritev je vezana na posamezni šport ali vajo pri rehabilitaciji. Vsako meritev v tej fazi razvoja platforme opredeljujemo kot eksperiment z določenimi parametri in pogoji. Pomembno informacijo pri kasnejši analizi predstavljajo tudi osebni podatki športnika oz. pacienta ter druge spremenljive karakteristike telesa in telesne pripravljenosti osebe. 2.2 Obdelava podatkov Spletna platforma mora biti sposobna sprotne obdelave zahtev iz senzorskih naprav, kot tudi s strani uporabnikov. Prav tako mora uporabnikom omogočati kasnejšo analizo, prikaz signalov in izvoz zajetih rezultatov ter signalov. Slednje je zelo pomembno za natančno analizo s strani domenskih strokovnjakov. 2.3 Shranjevanje podatkov Podatki so najpomembnejši del vsake spletne in oblačne platforme. Predstavljena platforma mora biti sposobna sprejeti, shraniti, obdelati in posredovati podatke glede na potrebe specifične aplikacije. Podatkovna zbirka in datotečni sistem, ki sta uporabljena za shranjevanje podatkov in metapodatkov morata biti primerna za obdelavo velikih količin podatkov. 2.4 Interakcija s podatki S podatki, ki jih hrani platforma, imajo interakcijo tako uporabniki kot povezane aplikacije. Temu je namenjen specifičen aplikacijski programski vmesnik - API (ang. Application Programming Interface). To omogoča, da platformo uporablja več oddaljenih naprav in tudi različne aplikacije za upravljanje. Platforma podpira dve vrsti API-jev: vnosne (ang. ingest) in uporabniške. Vnosni skrbi za naprave in uporabnike, ki posredujejo nove podatke v platformo, jih primerno preveri, ter skrbi, da se ustrezno shranijo. Uporabniški pa omogoča uporabnikom in aplikacijam interakcijo s podatki in rezultati obdelave. 3 Arhitektura Platforma je načrtovana za strežbo različnih naprav in uporabnikov. Na sliki 1 je predstavljena visoko nivojska arhitektura predlagane platforme. V osnovi je ločena na štiri dele:  vnosni API, ki omogoča komunikacijo z več napravami in protokoli,  spletno upravljanje za operaterja,  bazo podatkov in datotečni sistem za shranjevanje podatkov,  obdelava in izvoz podatkov s pomočjo uporabniškega API-ja. Platforma je neodvisna od vrste senzorske naprav, ni pa neodvisna od oblike v kateri naprave pošiljajo podatke platformi preko vnosnega API-ja. 32 Vnosni API – senzorske naprave Senzorska naprava Nosljiva brezžična naprava Pametna (športna) oprema Upravljavski API Baza podatkov Neo4j Shranjevanje Spletni strežnik Node.js Datotečni sistem Operater platforme Uporabniški API – izvoz in obdelava Športnik Trener/terapevt Področni strokovnjak Slika 1 Visoko nivojski prikaz arhitekture predlagane platforme. Posebej so poudarjeni trije ločeni vmesniki za komunikacijo s platformo: vnosni, upravljavski in uporabniški vmesnik, ter strežniški del, ki je sestavljen iz shranjevalnega dela in spletnega strežnika. 3.1 Sestavni deli platforme Vse komponente platforme, ki so povezane v celoto, zagotavljajo univerzalno izkušnjo, za naprave, razvijalce in uporabnike, neodvisno od izbrane aplikacije in vrste senzorskih naprav. Platforma deluje kot univerzalno orodje za shranjevanje in urejanje podatkov. Platforma ima dve vstopni mesti za interakcijo s podatki, eno je namenjeno senzorskim napravam, drugo pa uporabnikom. Podatki iz senzorskih naprav so posredovani v obliki strujanja (ang. streaming) kot enakomerno vzorčeni signali, ali pa kot asinhroni dogodki. Podatki iz različnih, v poskusu sodelujočih, naprav so lahko sinhronizirani, ali pa ne. Podatke senzorske naprave pošiljajo neposredno na platformo v tekstovni obliki, ki jo aplikacije trenutno uporabljajo, in je v večini primerov podobna. Struktura in zaporedje podatkov v paketih, in tudi samo paketi, so prilagojeni obstoječim senzorjem in aplikacijam. V primeru kasnejše spremembe zahtev bo potrebno razširiti funkcionalnosti vnosnega API-ja. Nekatere meritve so izvedene tudi s shranjevanjem vzorčenih signalov neposredno v senzorsko napravo. Platforma podpira tudi tovrstne meritve, ki jih je mogoče naknadno uvoziti v platformo. Pri meritvah, ki so del že obstoječih prototipnih naprav in aplikacij ter vsebujejo neko vrsto baze podatkov, pa je mogoče podatke prenesti s pomočjo specifičnega orodja, ki poveže podatke in metapodatke iz obstoječe baze podatkov, v strukturo potrebno za platformo. S pomočjo upravljavskega API-ja je mogoče platformo nadzirati in urejati. Na primer, dodajanje nove meritve iz senzorske naprave. Uporaba tega API-ja je mogoča preko spletne upravljavske aplikacije, ali preko API klicev iz druge aplikacije. Upravljavski API omogoča tudi vnos metapodatkov in parametrov, na primer o novih meritvah. Odvisno od aplikacije, pa lahko operater uredi oz. vnese podatke o udeležencu, določi vrsto naprave in senzorje, ter jih poveže z eksperimentom. Glavna naloga operaterja je pričetek in zaključek meritve oz. zbiranje podatkov iz senzorskih naprav. Operater lahko glede na aplikacijske zahteve tudi vnaša in izvaža podatke s platforme odvisno od dodeljenih pravic. Sensor type Device type TYPE_OF TYPE_OF Activity Subject properties TYPE_OF STATE_AT Sensor INCLUDED_IN Device USED_IN Subject DATA_OF DATA_OF Experiment TESTING IS_USING User Measurment CREATED DATA_OF Sensor data Slika 2 Definicija podatkov povezanih v podatkovni bazi Neo4j, ki sledi podatkovnemu modelu. Najprej so definirani senzorji (Sensor type, Sensor) in udeleženci v eksperimentu (Subject, Subject properties), nato naprave (Device Type, Device) uporabljene v eksperimentu, le ta pa pripada eni izmed aktivnosti (Activity). Mertiev (Measurment) je enkratna izvedba eksperimenta z določeno osebo. Vsaka meritev ustvari enega ali več senzorskih signalov (Sensor data), ki so vezani na ustrezno napravo in senzor. Podatki in metapodatki so shranjeni v dveh podatkovnih shrambah. Metapodatki so vsebovani v obliki usmerjenega grafa, kot je prikazano na sliki 2 in so shranjeni v bazi podatkov Neo4j [10]. Podatki pridobljeni s senzorji pa so shranjeni v JSON (ang. JavaScript Object Notation) formatu. Obe shrambi sta medsebojno povezani na podlagi edinstvenih identifikatorjev. Uporaba obeh podatkovnih shramb omogoča hitrejšo izvedbo poizvedb, poenostavljeno 33 podatkovno strukturo, in je na nek način nadgradnja obstoječe podatkovne strukture v relacijski podatkovni bazi. Uporaba baze Neo4j omogoča bolj jasno strukturno obliko kot tudi enostavno razširljivost v prihodnosti. Prav tako so grafovne podatkovne baze, ko gre za globoka iskanja, hitrejše od relacijskih baz, kar je pomembno pri kompleksnih iskanjih. Za delo s podatki in metapodatki, smo določili podatkovno strukturo, ki omogoča univerzalnost, a hkrati specifično delovanje za različne eksperimente. Pomembne komponente podatkovne strukture so: uporabnik platforme, udeleženec, aktivnost, eksperiment, senzor, naprava, meritev in senzorski podatki. Med seboj so povezane kot predvideva podatkovni model na sliki 2. Vsaka specifična aplikacija je v platformi definirana kot eksperiment, ki je podrejen aktivnosti. Vsakemu eksperimentu je potrebno določiti eno ali več senzorskih naprav in senzorjev, ki so vsebovani v teh napravah. Vsaka ponovitev eksperimenta z istim ali drugim uporabnikom je obravnavana kot meritev. Senzorski podatki, so shranjeni na datotečnem sistemu, kot JSON datoteke. Poimenovane so z edinstvenim imenom, ki je sestavljen iz naključno ustvarjene sekvence in datuma ter ure meritve. Ime datoteke in pot do le-te je zapisana v bazi podatkov (Sensor Data). Zapisane so v JSON formatu, strukturiran in univerzalen za vse vrste naprav, senzorjev in za vse eksperimente. Podatki s senzorskih naprav ali obstoječih aplikacij so preoblikovani in prilagojeni za uporabo s platformo. Preoblikovanje v univerzalno obliko, velja tako za podatke, ki so poslani v paketni obliki, kot za tiste, ki izhajajo iz obstoječih datotek oz. podatkovnih baz. Pomembna komponenta enovite platforme je tudi možnosti izvoza surovih podatkov za analizo v drugih orodjih. Platforma omogoča izvoz v standardnih oblikah primernih za druga orodja, npr. oblika CSV (ang. comma-separted value) oz. JSON (ang. JavaScript object notation). Tovrsten izvoz omogoča področnim strokovnjakom dostop do podatkov in analizo z njim znanim orodjem. Kasnejši razvoj platforme predvideva tudi vključena orodja za analizo signalov. Struktura platforme omogoča tudi vključitev specifičnih aplikacijskih oz. eksperimentalnih programov, ki bodo trenerjem, športnikom in drugim strokovnjakom omočili uporabo spletnega orodja za prikaz grafov, tabel, poročil ter drugih oblik tekstovne in vizualizacije potrebne za razumevanje gibanja pri specifični aktivnosti. Tovrstni aplikacijski razširitveni programi zahtevajo razširitev uporabniškega API-ja. Platforma pozna več vrst uporabnikov in posledično različne vrste pravic za dostop do samih podatkov in metapodatkov. Pri odnosu trener-športnik, in terapevtpacient, je primerno, da trener in terapevt dostopata do podatkov svojih klientov, ne pa tudi do podatkov drugih klientov, ki opravljajo isti eksperiment. Domenski strokovnjak, ki opravlja študijo izbranega eksperimenta, pa mora imeti dostop do vseh meritev, po potrebi z anonimnimi podatki. Vnašanje senzorskih podatkov iz senzorskih naprav je avtomatizirano in zato enostavno za operaterja. Operater, ki je lahko trener, športnik, terapevt ali pacient, ureja zgolj metapodatke, ki jih ni mogoče pridobiti s senzorskih naprav, torej podatke o osebi in okoliščinah. Operater poda definicijo eksperimenta in njegovih parametrov, definira naprave in senzorje. Pri vsaki meritvi operater določi uporabnika in po potrebi vnese morfološke in osebne parametre, dopolni eksperimentalne spremenljivke z zahtevanimi vrednostmi. Z vsako meritvijo se podatki, ki so sprejeti na vnosnem API-ju, shranijo v platformo. Operater poskrbi za začetek in konec zapisovanja signalov in podatkov. Več operaterjev, uporabnikov in naprav lahko sočasno uporablja platformo. Omejitev pri hkratnem delovanju iste biomehanske aplikacije, je omejeno število senzorskih naprav namenjenih za dotičen eksperiment. 4 Uporaba v aplikaciji Več biomehanskih sistemov in aplikacij je primernih za implementacijo s to platformo. Eden od primerov je senzorski sistem za oceno streljanja s pištolo [11]. Ta aplikacija uporablja specifično strojno merilno opremo, računalniško aplikacijo in lastno strukturo podatkovne zbirke za shranjevanje in obdelavo podatkov. Zaradi predvidene univerzalne podatkovne strukture platforme je mogoče vse podatke aplikacije enostavno prenesti na platformo. Predvidevamo, da bo mogoče uporabljati obstoječo računalniško aplikacijo, ki je del obstoječega senzorskega sistema, na predlagani platformi zgolj z dodajanjem ustreznih klicev API v aplikacijo. Tako aplikacija ne bo več uporabljala lastne podatkovne baze, ampak predstavljeno platformo. Računalniška aplikacija za streljanje izvaja specifično vizualizacijo in sprotno procesiranje, ki pa v prvi fazi še ni predvideno za vključitev v spletno platformo. V takem primeru je mogoče hkrati uporabljati aplikacijo in platformo, kjer se platforma uporablja za shranjevanje in podajanje podatkov ter rezultatov. 5 Zaključek Aplikacije z različnimi senzorji za zaznavo gibanja so relativno novo znanstveno področje. Predstavljena platforma je namenjena podpori različnim tovrstnim aplikacijam. Najprej kot podpora za sistematično shranjevanje podatkov, kasneje pa kot samostojna platforma za biomehanske aplikacije. Predvidevamo, da bo tovrstna platforma spremenila in pospešila način razvojna novih biomehnaskih aplikacij tudi takšnih s povratno vezavo v realnem času. Predlagana platforma za delovanje uporablja moderne tehnologije in omogoča strojno razširljivost. Kljub obvladljivosti količine podatkov v trenutni razvojni izvedbi, je predvideno, da bo ob široki uporabi obvladljivost velik izziv. Zaradi tega je predlagana platformo relativno preprosta, a kljub vsemu univerzalna in nadgradljiva. 34 Zahvala To delo podpirata Slovenska raziskovalna agencija v okviru raziskovalnega programa ICT4QoL – Informacijsko komunikacijske tehnologije za kakovost življenja (P2-0246) ter v okviru bilateralnega projekta med Slovenijo in Srbijo z naslovom Senzorske tehnologije kot podporni sistemi za odkrivanje in izbiro talentov v športu in spremljanje sposobnosti športnikov (BI-RS/20-21-023). Literatura [1] G. Aroganam, N. Manivannan, and D. Harrison, ‘Review on Wearable Technology Sensors Used in Consumer Sport Applications’, Sensors, vol. 19, no. 9, p. 1983, Jan. 2019, doi: 10.3390/s19091983. [2] M. Hribernik, A. Umek, and A. Kos, ‘Survey of recent development in real-time biofeedback systems in sport’, Serbian J. Sports Sci., vol. 2020, no. 11(1), pp. 19–28, May 2020. [3] R. Li, D. T. H. Lai, and W. Lee, ‘A Survey on Biofeedback and Actuation in Wireless Body Area Networks (WBANs)’, IEEE Rev. Biomed. Eng., vol. 10, pp. 162–173, 2017, doi: 10.1109/RBME.2017.2738009. [4] A. Kos and A. Umek, ‘Applications’, in Biomechanical Biofeedback Systems and Applications, A. Kos and A. Umek, Eds. Cham: Springer International Publishing, 2018, pp. 117–180. doi: 10.1007/978-3-319-91349-0_7. [5] M. S. Karunarathne, S. A. Jones, S. W. Ekanayake, and P. N. Pathirana, ‘Remote Monitoring System Enabling Cloud Technology upon Smart Phones and Inertial Sensors for Human Kinematics’, in 2014 IEEE Fourth International Conference on Big Data and Cloud Computing, Dec. 2014, pp. 137–142. doi: 10.1109/BDCloud.2014.62. [6] D. D. Rowlands, L. Laakso, T. McNab, and D. A. James, ‘Cloud based activity monitoring system for health and sport’, in The 2012 International Joint Conference on Neural Networks (IJCNN), Jun. 2012, pp. 1–5. doi: 10.1109/IJCNN.2012.6252502. [7] W. Hong-jiang, Z. Hai-yan, and Z. Jing, ‘Application of the cloud computing technology in the sports training’, in 2013 3rd International Conference on Consumer Electronics, Communications and Networks, Nov. 2013, pp. 162–165. doi: 10.1109/CECNet.2013.6703297. [8] A. Umek and A. Kos, ‘The Role of High Performance Computing and Communication for Real-Time Biofeedback in Sport’, Math. Probl. Eng., vol. 2016, 2016, doi: 10.1155/2016/4829452. [9] P. P. Ray, ‘Generic Internet of Things architecture for smart sports’, in 2015 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT), Dec. 2015, pp. 405–410. doi: 10.1109/ICCICCT.2015.7475313. [10] ‘Neo4j Graph Platform – The Leader in Graph Databases’, Neo4j Graph Database Platform. https://neo4j.com/ (accessed Aug. 19, 2021). [11] A. Kos, A. Umek, S. Marković, and M. Dopsaj, ‘Sensor System for Precision Shooting Evaluation and Real-time Biofeedback’, 2019, vol. 147, pp. 319–323. doi: 10.1016/j.procs.2019.01.228. Analysis of the Variable-Rate Sampling Algorithm at low-power system for transmission of temperature values Bojan Prlinčević1, Zoran Milivojević2 1 Kosovo and Metohija Academy of Applied Studies The Academy ofApplied Technical and Preschool Studies E-mail: bojan.prlincevic@akademijakm.edu.rs; zoran.milivojevic@akademijanis.edu.rs 2 Abstract. In the first part of this paper an, Variable rate sampling, algorithm for prediction at systems with reduced power demand has been described. In the second part is performed experiment where is tested algorithm for prediction of transmitted temperatures values. Objective quality measures (SR-correlation coefficient of reducing the number of samples) between number of measured and transmitted samples, and (MSE-mean square error, and NC-normalized correlation coefficient) between the measured and predicted values of temperatures were calculated. The results are presented graphically. 1 Introduction Wireless sensor networks (VSN) are very common in modern communications. During operation, they most often use chips of low power [1] and small dimensions. Chips most often use energy from battery power for their functioning. Due to limited power supply, it is necessary to ensure that the batteries have a long service life. The long life of a battery power source can be provided in two ways. The first way is to install highpower batteries, which limit is the size of the power source itself. Another way is to manage consumption. Consumption management can be achieved by applying a system with reduced consumption (Low-power consumption, LPC). LPC systems are applied in all spheres of society (consumer devices, military industry, medical devices, etc.). A characteristic example of the application of LPC system is measurement (pressure, temperature, river levels, etc.) where there is no constant and stable power source. In these systems, the connection of sensor to the central computer is usually through the radio connection. In order to save energy, i.e. reduce consumption, systems with dynamic consumption management (DPM) are used [2]. DPM is used to control the power supply by voltage variation [2-4] or processor clock speed control [1], [5], [6]. In digital processing systems, the sample rate of an analog signal is determined in relation to the maximum frequency of the analog signal. In most cases, the sampling rate is not variable over time, and therefore the application of the LPC system can reduce the sampling rate in order to reduce energy consumption. LPC systems can be also applied to VSN model if the intervention aimed at energy saving is conducted during the process of sending or receiving signal. This approach would ensure that there are no deviations in a quality of measured and transmitted information. The reduction of frequency of sending signal is realized in ERK'2021, Portorož, 35-38 35 time intervals whereas small changes or constant amplitude can be observed on the analyzed signal. The selection the transmitting interval is very important because frequencies of sending samples directly affects the system performance and energy consumption. The sampling rate and sending samples rate can cause losses important information[7]. Errors that occur can significantly affect the decisions made on such information. Error reduction is accomplished by applying algorithms with Variable-rate sample - VRS [8]. The algorithm described in [8] changes the sampling time depending on the change rate of sampled signal parameters. The sampled signal parameters are compared with a threshold that is defined based on the type of the signal. In [9], [10], the VRS algorithm with prediction is presented. In this paper, the VRS algorithm presented in [9], [10] is analyzed. The algorithm was applied to the signal that was created for the temperature values measured on measuring station "Sunčani vrhovi" at Kopaonik mountain, for the period from 01.09. to 30.09.2020. [11]. The application of the VRS algorithm was performed by sending a signal depending on the defined temperature threshold. In addition, the VRS algorithm is set up in a way that after a certain time interval with no changes of parameters (temperature), it sends test signal to demonstrate that the system operates. Maximum sleeping time, where system do not send a signal, is defined as one of the parameters of the system. The gain, that is, energy saving was determined by a coefficient that represents the ratio of the number of measured samples and the number of transmitted samples with the implemented VRS algorithm. In order to increase the efficiency of the system, the reconstruction of the signal at the receiving side is achieved using the extrapolation functions by which the received signal was modified. The paper is organized as follow: Section 2 describes the VRS algorithm. In section 3, an experiment was performed, and the results and analysis of the results were presented. The conclusion is given in section 4. 2 Algorithms In [9], [10], a VRS algorithm was implemented in the systems for collection and transmission of data, which are battery powered. The connection between the VRS controller and the computer for data processing and archiving (base station) was realized by radio connection. The change of performance of a signal sent from the sensor is as such that the maximum change of the amplitude, the sampled signal of the temperature, varied in the range from Tmin to Tmax, and the change of sampling time was varied in the range from tmin to tmax. Measured values x(t) is converted, in sensor, into electrical signal y(t). The sampling of the signal is conducted in the time interval tn, where n=0,1,2, ..., and generates the signal yn. After the sampled values yn in the time tn prediction ynp+1 was performed. At the time tn+1 the sampling of the signal yn+1 is performed, which presents the real value of the signal. Prediction error depends on sampling time h in f (t,y). The prediction value can be defined as: ynp+1 = yn + h  f ( t , y ) , (1) where f (t,y) is predicted value between known values (tn, yn) and (tn+1, yn+1). Different numerical methods for calculating f (t,y) have been developed, which can be generally classified in two groups: a) single step method (Euler method, Runge-Kutta method, ...); and b) multistep method (Adams-Bashforth method, AdamsMoulton method, ...). The prediction formula, based on the AdamsBashforth formula of the fourth order (AB4), is [6]:  55 f n − 59 f n −1 + 37 f n − 2 − 9 f n − 3  ynab+1 = yn + h    . (2) 24   The following three formulas are used for reconstructions of received signals. Adams-type formula, which contains only y values, is [9]: ynmam +1 = ynmab +1 = 79 yn − 114 yn −1 + 96 yn − 2 − 46 yn −3 + 9 yn − 4 . (4) 24 The prediction method, fourth-order N–G, backward differencing polynomial is [9]: ng n +1 = 5 yn − 10 yn −1 + 10 yn + 2 − 5 yn − 3 + yn − 4 , (5) where ynng+1 is the result of extrapolating the N–G interpolation polynomial. 2.1 Read yn +1 Set yn-8=yn-7,...,yn=yn+1 If ynp+1 − yn +1  tol then 509 yn − 534 yn −1 + 336 yn − 2 − 146 yn −3 + 27 yn − 4 ,(3) 192 where ynmam +1 is a prediction using the modified combined Adams method. The prediction formula based on the combined Adams-Bashforth-Moulton method is: y given tolerance compared with the predictions described in (3), (4) and (5). That is, is doubled if the prediction is sufficiently accurate and halved if the prediction is inaccurate: 1) Step Size Doubling: The system requires that nine successive equispaced data values are stored in a firstin-first-out (fifo) structure. A calculation for ynp+1 is performed using (3). At the next sample time, yn+1 becomes yn and so on, and the previous value of yn-8 is discarded from the fifo. If the new value for yn is within tol/2 for the predicted value, the sample step h is doubled. Once the process of doubling h is complete, only four more samples must be taken before can be doubled again. However, can be halved on the next sample if required because only five readings are required. 2) Step Size Halving: To halve , the interpolated values of yn-1/2, yn-3/2, yn-5/2, and yn-7/2 must be calculated to refill the fifo with values at the new sample rate. Again, this can be achieved using the N–G fourth-order backward differencing polynomial in (5). The VRS algorithm is implementated in the sytem as follows [9]: /* tol tolerance */ /* hmax maximum sampling step */ /* hmin minimum sampling step */ Set tol Set hmax Set hmin Set h=hmin Read the first nine values yn-8,...,yn Until data Calculate ynp+1 VRS algorithm The VRS algorithm [9] implementation is based on that, we either halve or double the step size, depending on whether the most recent sample was outside or inside a 36 If h>hmin then halve h else if ynp+1 − yn +1  tol / 2 then If h 0 dB. Parametra S22 in S12 sta po razlagi enaka S11 in S21, če levo stran vezja zamenjamo z desno. Čeprav večkrat srečamo različne sorodne parametre, npr. H, Y in Z, ti niso neposredno primerni za meritev z VNA, saj vključujejo opazovanja pri odprtih sponkah in kratkem stiku, kar lahko škoduje testirancu, sama poteka napetosti in toka na bremenu pa je težko opazovati. Kompleksni parametri S tako uporabljajo meritve potujočih valov, s katerimi se lahko opiše faktorje odbojnosti, ojačenja/slabljenja ali faze signala, možne pa so tudi kaskadne vezave z enostavnim množenjem. Zato so parametri S zelo primerni za uporabo v visokofrekvenčni tehniki in pri meritvi z VNA zasedajo glavno vlogo. 3.1 Dvo-vratne naprave oz. četveropoli uporabljajo oba priključka. PORT 1 tu služi za generiranje sledilne frekvence in meritev odboja b1, PORT 2 pa kot meritev izhoda iz četveropola b2. Primer take dvo-vratne naprave je pasovno prepustno sito, ki oddaljene frekvence zaduši. Več-vratne naprave je možno opazovati v celoti le s profesionalnimi VNA, saj vsaka vrata zahtevajo tudi svoj priključek. Vseeno je z NanoVNA možno izmeriti večvratne naprave s premišljenim sekvenčnim pristopom in zaključevanjem preostalih vrat z Zb (50 ohm). Primer trovratne naprave je delilnik moči, ki omogoča priklop ene sprejemne antene GNSS na več sprejemnikov. Povzetek primerov eno-, dvo- ali več-vratnih vezij je strnjen v naslednji tabeli [3]. Meritve eno- in več-vratnih vezij Topologijo vsakega vezja ali testirane naprave lahko umestimo v razred glede na število vhodnih in izhodnih vrat. V primeru analizatorja NanoVNA sta na voljo le dva visokofrekvenčna priključka, prikazana na sliki 1, označena z vrati PORT 1 in PORT 2. PORT 1 je označen tudi kot oddajnik (TX, angl. transmitter) valovanja a 1 in PORT 2 sprejemnik (RX, angl. receiver) valovanja b 2 po sliki 4. Dejansko NanoVNA na PORTu 1 tudi sprejema odbojni parameter b1, zato se na teh vratih odvije celotna meritev S11. Primer take eno-vratne meritve je priključitev radijske antene na PORT 1, drugi priključek pa pri meritvi ni uporabljen. 54 Št. vrat Vezja in naprave 1 Elementarni elementi (R, L in C, napetostni in tokovni viri), kompleksne impedance (RC, LC, RL in RLC), antene 2 Filtri, prilagodilniki, ojačevalniki, komunikacijska vodila, kabli, transformatorji, modeli tranzistorjev ≥3 Smerni sklopniki, delilniki moči, duplekserji, cirkulatorji, kombinacije vezij 4 Meritev prilagojenosti oddajne linije Na področju brezžičnih telekomunikacij, npr. pri postavitvah dostopovnih točk WiFi, koncentratorjev LoRa, povezavah na nelicenčnih pasovih ISM (angl. Industrial, Scientific and Medical), v radioamaterstvu in radiodifuziji, nas pri oddaji zanima, kako dobro je oddajna antena frekvenčno in impedančno prilagojena na sam oddajnik. Že sam parameter S11 = b1/a1 podaja razmerje med vpadnim in odbitim valom, a v praksi se zaradi zgodovinskih načinov meritve uporablja parameter SWR (angl. Standing-Wave Ratio). Definicija SWR velja za razmerje stojnih valov, ki nastanejo kot posledica seštevanja vpadnega in odbitega vala po brezizgubnem mediju [4] in se navaja tudi kot valovitost ρ = UMAX / UMIN amplitud napetosti. V programski opremi NanoVNA se SWR zato označuje kot VSWR (angl. Voltage SWR). Valovitost ρ lahko izračunamo neposredno iz velikosti odbojnosti ∣Γ∣ oz. S11, kjer velja VSWR =  = 1 + S11 . 1 − S11 (1) Pri polni prilagojenosti, kjer je S11 enak 0, znaša VSWR idealno enoto 1 in se lahko zapiše z razmerjem 1:1 (VSWR:1). Pri 50% odboju tako znaša 3:1, gre pa vse proti neskončnosti, kjer se na poti do antene odbije vsa moč (npr. prekinjen spoj na liniji). VSWR je pri večjih izhodnih močeh lahko razlog težav z odpovedjo delovanja opreme, saj se del moči vrne neposredno v izhodno stopnjo oddajnika in se tam pretvori v toploto, ki lahko vodi do termičnega uničenja izhodnega tranzistorja. Prikaz frekvenčnega poteka valovitosti VSWR dodatne daljše dvo-področne antene za ročno postajo DMR z NanoVNA V2 se nahaja na sliki 5. Podan je tudi odstotek moči Podb, ki se ob določenem VSWR odbije nazaj v izhodno stopnjo oddajnika. G21 = 20  log10 ( S21 ) . (2) Slika 5: Meritev nadomestne antene s prikazom tabele odvisnosti odbite moči (Podb) glede na VSWR Meritev anten ni enostavno opravilo, saj je rezultat močno odvisen od merilne postavitve in njene neposredne okolice. Pri paličastih antenah ročnih radijskih postaj je vedno sklenjen nek kompromis med praktično uporabnostjo naprave z anteno (krajša dolžina), njeno učinkovitostjo (dolžina > λ/4), resonančno frekvenco z nizkim VSWR in tudi z všečnim izgledom [5]. O resonančni frekvenci lahko govorimo, kadar induktivna impedanca vijačne vzmeti v anteni in kapacitivna impedanca med anteno in ohišjem postaje ter roko uporabnika natančno sovpadajo v zaporednem nihajnem krogu. Ker je bila pri enostavni meritvi z NanoVNA antena privijačena neposredno na priključek SMA merilnega inštrumenta, kapaciteta med anteno in roko tu ni bila upoštevana. Za več informacij je priporočena literatura [5] z električnim načrtom radijske postaje v roki uporabnika ter opisanimi načini za doseganje prilagojenosti krajših, manj učinkovitih anten. Slika 7: Primerjave meritve prepustnega filtra SAW na 433,92 MHz z R&S ZVA67 in NanoVNA-F V2 Iz grafične primerjave obeh meritev na sliki 7 lahko vidimo dobro sovpadanje z manjšimi razlikami. Vstavitveno napetostno slabljenje se v okolici vrha pri 433,92 MHz razlikuje za 0,44 dB, z višjimi meritvami za NanoVNA. Tudi povprečje meritev v zgornjih 6 dB na pasovni širini okoli 8,5 MHz znaša 0,44 dB oz. 5,2% v linearnem merilu več za NanoVNA, kar pa verjetno večini uporabnikov povsem zadošča. 6 Sklep NanoVNA-F V2 je cenovno dostopna merilna naprava, ki zadošča množici razvijalcev in uporabnikov radijskih naprav za meritev parametrov S in pripadajočih izpeljanih veličin. Primerjava zmogljivosti na primeru filtra pokaže dobro sovpadanje s profesionalnim merilnikom. 5 Primerjava zmogljivosti Pri rokovanju s cenejšimi napravami se večkrat pojavi vprašanje o kvaliteti izvedenih meritev, zato je v nadaljevanju podana primerjava meritve prepustnosti filtra SAW (angl. Surface Acoustic Wave) [6] z VNA Rohde & Schwarz ZVA67 v Laboratoriju za sevanje in optiko (LSO) na UL FE. Pred samo meritvijo sta bila oba merilnika ustrezno kalibrirana na frekvenčnem področju 400 - 450 MHz, določen je bil tudi korak zajema vsakih približno 50 kHz. Meritve S21 so bile shranjene v t.i. Touchstone formatu S2P [7] z glavo, ki označuje način zapisa vsebine. Na sliki 6 je prikaz le izsek Re{S21} Im{S21}. # HZ S RI 400000000 400049554 400099108 400148662 400198216 R 50 -0.00047563511995773366 7.798992639000219e-05 -0.00041802094696995624 3.215617295445731e-05 -0.0003630658994229455 -6.767852460724223e-05 -0.0005247974879612754 -0.0001497613307970103 -0.0006394256919990329 -1.1224009116814145e-05 Literatura [1] Sysjoint, NanoVNA-F V2 - User guide, http://www.sysjoint.com [2] M. Vidmar, Vektorski analizator vezij, navodila, http://antena.fe.uni-lj.si/studij/eld/navodila/vektorski_ analizator_vezji/opis_vektorski_analizator_vezji.pdf [3] B. Fontana, The NanoVNA - A brief introduction, http://robertfontana.com/AK3Y/resources/NanoVNA.pdf [4] M. Vidmar, Elektrodinamika, učbenik, 2020, http://antena.fe.uni-lj.si/studij/eld/ [5] M. Vidmar, Gumirepek in sevalna učinkovitost paličastih anten, PHARE 2000, http://lea.hamradio.si/~s53m/phare/gumirepek.pdf [6] Podatkovni list SAW Filter B3710, https://www.farnell.com/datasheets/1899118.pdf [7] Touchstone File Format Specification v2.0, http://www. ibis.org/touchstone_ver2.0/touchstone_ver2_0.pdf Zahvala Slika 6: Prikaz zapisa parametra S21 v datoteki S2P Iz absolutne vrednosti S21 je izračunana prenosna funkcija ojačenja med vhodom in izhodom (2), ki je brez dodatnega vzbujanja filtra seveda negativno. 55 Avtor se zahvaljuje kolegom v Laboratoriju za sevanje in optiko UL FE za pomoč pri izvedenih meritvah na profesionalni opremi ter številne nasvete glede literature. Pilotna postavitev C-ITS tehnologije ITS-G5 v Sloveniji Andrej Štern Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: andrej.stern@fe.uni-lj.si Pilot deployment of C-ITS technology ITS-G5 in Slovenia Abstract. Cooperative ITS systems are based on communication technologies that enable vehicles and road infrastructure to be electronically visible and interactive. Slovenia is the core member of EU platform C-Roads with the main goal to link C-ITS pilot deployment projects across EU in order to ensure the interoperability of the C-ITS services for cooperative, connected and automated driving reality. This paper summarizes the Slovenian ITS-G5 deployment on motorway A1 from Postojna to Divača, according to C-Roads evaluation and assessment plan, cross-border interoperability requirements, and other essential activities that will provide the European C-ITS harmonisation. 1 Uvod Povečanje varnosti prometa z vpeljavo naprednih tehnoloških rešitev je eden temeljnih ciljev skupne evropske prometne politike. V letu 2020 smo v EU kljub 17% znižanju statistike zaradi pandemije za posledicami nesreč izgubili 18.800 oseb [1], približno 5-krat toliko pa jih je utrpelo poškodbe z resnimi posledicami. Glavni tehnološki vzvod za dosego ciljev je vpeljava kooperativnih inteligentnih transportnih rešitev C-ITS kot nadgradnje uveljavljenih naprednih sistemov za pomoč vozniku, ki delujejo s pomočjo lastnega tipanja in zaznavanja okolice. Sistemi C-ITS tako predstavljajo dodaten kooperativen sloj z izmenjavo informacij med deležniki s pomočjo radijskih tehnologij na namenskem frekvenčnem področju na 5,9 GHz. Z njimi postanejo vozila, prometni znaki in druga obcestna infrastruktura elektronsko vidni in ozaveščeni tudi preko meja zaznave kamer in mikrovalovnih radarjev. Kooperativnost v imenu storitev pa ne predstavlja zgolj tehnologije v obliki mikrovalovne ETSI ITS-G5 ali mobilne C-V2X, pač pa tudi sodelovanje med različnimi akterji, npr. upravljavci infrastrukture, proizvajalci vozil, logističnimi podjetji, zakonodajnimi organi in civilno družbo. Tako se je v Evropi v zadnjih letih izvedlo več sodelovanj z delnim združevanjem akterjev, npr. projekta NordicWay [2] in InterCor [3], konzorcij Car2Car [4] in platforma C-Roads [5], katere prvi rezultati v slovenskem prostoru so v nadaljevanju tudi predstavljeni. Češka, Velika Britanija in Slovenija) vzpostavljena v okviru financiranja CEF leta 2016, nabor sodelujočih pa se je do danes razširil na 18 jedrnih članic, 7 pridruženih in 43 predstavnikov večjih evropskih mest [5]. V skladu s prometno politiko EU se C-Roads osredotoča na tri pomembne stebre varnostne politike na evropskih cestah: povečanje varnosti, zagotavljanje učinkovitosti in zmanjševanje vplivov na okolje. Vzpostavljeni mehanizmi omogočajo pilotno uvajanje interoperabilnih storitev C-ITS z vključevanjem zainteresiranih partnerjev iz zasebnega in javnega sektorja, kjer so npr. ministrstva, upravljavci cest, telekomunikacijski operaterji, avtomobilska industrija, transportna podjetja in raziskovalne inštitucije. Delovni cikel platforme C-Roads predstavlja tesno sodelovanje med vodstvom, izvedenimi piloti po posameznih državah in delovnimi skupinami (WG), med katere so porazdeljena področja dela, npr. organizacijski vidiki, določitev nabora storitev, priprava tehnoloških osnov, zagotavljanje interoperabilnosti in ocenjevanje učinkov pilotov. Slika 1: Delovni cikel platforme C-Roads Začetne implementacije storitev zajemajo primere uporabe iz scenarija »C-ITS Day 1«. Med njimi prevladujejo skupine opozoril na cestna dela in druge nevarne lokacije, prenosi obcestne signalizacije v vozilo ter zbiranje podatkov iz vozil. 2 Platforma C-Roads Platforma C-Roads je bila z začetnimi 8 državami (Avstrija, Belgija, Francija, Nemčija, Nizozemska, ERK'2021, Portorož, 56-59 56 Slika 2: Storitve po scenariju »C-ITS Day 1« 3 Pilotni projekt ITS-G5 v Sloveniji V okviru platforme C-Roads je pilotni projekt C-ITS z mikrovalovno tehnologijo ITS-G5 zaživel leta 2019 na odseku avtoceste A1 med Postojno in Divačo. Ta odsek je bil namerno izbran zaradi ekstremnih vremenskih razmer, zlasti v zimskem času (močan veter, megla, snežne nevihte), kar je pogosto povzročalo prometne nesreče, v katerih je bilo udeleženih celo do 70 vozil (primer megle v letu 2016). Izhodiščno pokrivanje bolj obremenjenih prometnih poti z višjo oceno tveganja predstavlja tudi glavno vodilo pri bodočih širitvah kooperativnih sistemov po Sloveniji in Evropi. Tabela 1: Pregled realnih dogodkov na testni trasi ITS-G5 Postojna - Divača v obdobju prvih 5 mesecev leta 2021 Dogodek Delo na cesti Okvara vozila Ovire na cesti Zastoji Vremenski Nesreča Ostalo Število dogodkov 45 44 31 24 7 6 1 Skupno trajanje 291 ur 44,1 ur 17,2 ur 39,5 ur 40,2 ur 9,2 ur 0,8 ur Povprečno trajanje 388 min 60,2 min 33,2 min 98,8 min 344,7 min 92,3 min 48 min Na tej trasi je družba DARS s pomočjo zunanjih izvajalcev na drogove cestnih vremenskih postaj, video nadzornih kamer in portale s spremenljivo prometno informativno signalizacijonamestila 9 obcestnih enot RSU (angl. Roadside Unit) s tehnologijo ITS-G5. Slika 4: Namestitev enote RSU na ogrodje znaka SPIS Testiranje obcestne infrastrukture poteka z vozili z nameščeno napravo OBU (angl. Onboard Unit) z več komunikacijskimi vmesniki, časovno sinhronizacijo GNSS in inercialnimi senzorji. V pilotni fazi, kjer sprejem sporočil čez integriran vmesnik ITS-G5 in prikaz na osrednjem zaslonu še ni možen (razen v nekaterih vozilih koncerna VW in odprtim WiFi v primeru Tesle), je strojna arhitektura od sprejema do prikaza postavljena večplastno. Najprej radijski modul na strehi vozila sprejme sporočilo, ga preko Ethernet vmesnika posreduje v lokalno mrežo, od tam pa preko tehnologije WiFi na tablični računalnik, ki služi kot nadomestek vgrajenega zaslona HMI (angl. Human-Machine Interface). Slika 5: Oprema v vozilu: OBU in HMI Slika 3: Prikaz lokacije in postavitve pilota C-ITS na A1 Enote RSU so krmiljene in napajane prek vmesnika PoE iz bližnje komunikacije omarice, povezane v regionalni nadzorni center (RNC) Kozina, za časovno sinhronizacijo pa se uporablja vgrajen sprejemnik GNSS. Za namene dodatnih testiranj na različnih lokacijah, npr. na testnem poligonu za prikaz elektronskega označevanja mesta dogodka, je zagotovljena tudi premična enota RSU, nameščena na prikolico za prevoz prometne signalizacije. Povezljivost RSU v mobilnih in avtonomno delujočih primerih je zagotovljena s pomočjo širokopasovne mobilne tehnologije LTE. 57 V prvi fazi testiranj so se podatki za pošiljanje proti vozilu (I2V) ustvarili v spletnem vmesniku za urejanje namenskih testnih dogodkov, saj je njihovo realno število relativno nizko (Tabela 1), predvidijo pa se lahko samo določene zapore zaradi vzdrževalnih del. S pomočjo spletnega vmesnika na sliki 6 se tako določi vrsta dogodka (npr. delo na cesti), potrebni ukrepi (npr. zmanjšanje hitrosti na 100 km/h), vrsta sporočila (npr. DENM, IVI), geografsko področje veljavnosti dogodka, časovna veljavnost dogodka, lahko pa se nastavi tudi območje, na katerem bo dogodek sporočen čez eno ali več RSU. V smeri iz vozila proti nadzornemu centru (V2I) in v okolico (V2V) se oddajajo sporočila CAM (angl. Cooperative Awareness Messages) s podatki o lokaciji, hitrosti in dinamiki gibanja vozila. Pogostost oddaje se spreminja glede na hitrost vozila in lahko doseže največ 10 Hz (trenutno testno deluje s hitrostjo do 2 Hz). Slovenija tako pridobila možnost uporabe OBU DARS na avtocestah vseh drugih držav z uvrščenimi certifikati, katerih seznam se počasi dopolnjuje. Slika 6: Spletni vmesnik za ustvarjanje testnih dogodkov Arhitektura C-ITS se na segmentu zbiranja resničnih podatkov ter njihovega realno-časovnega posredovanja uporabnikom neprestano izpopolnjuje. V okviru platforme C-Roads (in v sorodnih projektih) so bili tako določeni obvezni gradniki razširljive arhitekture C-ITS v obliki t.i. hibridne rešitve. Hibrid se nanaša na sočasno komplementarno uporabo mikrovalovnih tehnologij ITSG5, osnovanih na vmesnikih IEEE 802.11p in 802.11bd, ter mobilnih tehnologij v omrežjih 4G in 5G s profili CV2X oz. 5G NR V2X. Osrednji gradnik v razširjeni arhitekturi tako predstavlja t.i. centralna postaja C-ITS-S (angl. Central ITS Station) z glavnimi nalogami zbiranja, obdelave, filtriranja in ciljnega posredovanja podatkov do obcestnih enot R-ITS-S (angl. Roadside ITS Station) oz. v povratni smeri do centrov za nadzor prometa TCC (angl. Traffic Control Centre). Interoperabilnost v hibridnih načinih komunikacije in pri povezovanju med različnimi cestnimi operaterji oz. regijami bo zagotovljena z vpeljavo namenskega protokola C-ITS IP BI (angl. IP Basic Interface) [6]. Slika 8: Arhitektura evropskega C-ITS modela zaupanja [7] 4 Prvi rezultati testiranj Testiranje in ovrednotenje delovanje sistema ITS-G5 v Evropi je bilo v zadnjih 2 letih zaradi znanih omejitev pri gibanju in druženju precej okrnjeno. Uradni zaključki na platformi C-Roads 1 so premaknjeni na konec 2021 in tudi v Sloveniji so se v obdobjih manjših omejitev izvedle le meritve tehničnih parametrov vzpostavljene infrastrukture. Ocena vpliva posameznih storitev C-ITS s pomočjo realnih voženj z vključevanjem statistične množice uporabnikov se tako načrtuje še v naslednjih mesecih. Velik del testiranj uporabniških odzivov na vzporedno mobilno aplikacijo DARS Promet+ pa je bil z uporabniki izveden tudi v simulatorjih vožnje. 4.1 Testiranje radijske dosegljivosti ITS-G5 Po vzpostavitvi testnega poligona je bila izdelana analiza radijskega dosega komunikacije med vozili in RSU. Vsako vozilo je v sporočilu CAM s frekvenco 1 Hz oddajalo anonimizirane podatke o tipu in vlogi vozila, hitrosti in smeri vožnje ter pospešku in lokaciji vozila, na RSU pa so se podatki zbrali, ožigosali s podatki RSU in poslali na centralni strežnik. Vsaka testna vožnja se je večkrat ponovila, saj radijski pogoji niso vedno enaki. Tako je npr. za RSU pri Pivki znašal najdaljši sprejem med 214 m in 336 m s srednjo vrednostjo 282 m in odklonom 43,6 m. Tabela 2: Podatki o radijskih dosegih sporočil CAM Slika 7: Vzpostavitev komunikacije prek vmesnika IP BI [6] Kot kaže prejšnja slika, komunikacija poteka s pomočjo nastajajočega skupnega evropskega modela zaupanja. Model temelji na evropski certifikacijski politiki za C-ITS, ki se kot temeljna tehnična podlaga sklicuje na ustrezne standarde ETSI za certifikate in upravljanje PKI. Ker enoten evropski certifikat za C-ITS še ne obstaja [7], so za testiranje interoperabilnosti med različnimi državami dovoljene posamezne rešitve, uvrščene na skupno listo ECTL (angl. European Certificate Trust List). V Sloveniji zato zaenkrat uporabljamo rešitev češkega podjetja TeskaLabs, ki je bila avgusta 2020 med prvimi odobrena za čezmejna testiranja v okviru platforme C-Roads. Z uvrstitvijo na nivo L0 ECTL je 58 Sprejemnik RSU 1 RSU 2 RSU 3 RSU 4 RSU 5 RSU 6 RSU 7 RSU 8 RSU 9 Najkrajši 214 m 180 m 182 m 122 m 91 m 184 m 192 m 302 m 300 m Najdaljši 336 m 254 m 454 m 219 m 598 m 241 m 305 m 461 m 691 m Povprečje 282 m 214 m 334 m 179 m 341 m 210 m 252 m 399 m 436 m Tabela 2 podaja precejšnja odstopanja v izmerjenih dosegih komunikacije V2I. Pri podrobnem pregledu parametrov namestitve RSU in okoliške trase avtoceste je bilo ugotovljeno, da najboljši rezultati izvirajo iz ravnih in dobro preglednih odsekov (npr. RSU 9 pri Divači) brez radijskega zastiranja z okoliškimi objekti (portali, table, visoke ograje). 4.2 Testiranje prenosa prometnih dogodkov V naslednjem koraku se je izvedel preizkus celotne verige prenosa dogodka iz centralne aplikacije do vozila. V tem primeru je pomembno zagotoviti skladnost implementiranih storitev (angl. C-ITS services) in njihovih primerov uporabe (angl. use case) z dokumentacijo platforme C-Roads, saj je od upoštevanja odvisen tudi naslednji korak - čezobmejna testiranja. Prva storitev za obveščanje o nevarnih lokacijah HLN (angl. Hazardous Locations Notification) je vsebovala naslednje primere: HLN-OR (angl. Obstacle on the road), HLN-AWWD (angl. Alert Wrong Way Driving), HLNTJA (angl. Traffic Jam Ahead), HLN-AZ (angl. Accident Zone) in HLN-WCW (angl. Weather Condition Warning). Druga storitev je zajemala obvestila o delu na cesti RWW (angl. Road Works Warning), med njimi RWW-LC (angl. Lane Closure) in RWW-RC (angl. Road Closure). Ta začetni nabor storitev je bil kasneje tudi razširjen z dodatnimi primeri uporabe in storitvami, kot je prenos prometne signalizacije v vozilo IVS (angl. InVehicle Signage). Testiranje je potekalo z nastavitvijo oddaje časovno ustreznih dogodkov po posameznih enotah RSU, s sprotnim preverjanjem prikaza na tabličnem računalniku v vozilu in izpolnjevanjem verifikacijskega poročila. Pri snemanju so bila zajeta sporočila ustrezno zavarovana s certifikatom AA (angl. Authorization Authority), da se je lahko izvedel preizkus vgrajene varnosti na obeh straneh. Ta certifikat AA je bil datotekam PCAP tudi priložen, zato so lahko bile v sosednjih in ostalih državah predvajane njihovim enotam OBU. S tem se je preverilo skladnost tudi višje-nivojskih protokolov in profilov storitev, testiranja pa so bila za slovensko stran uspešna. 5 Sklep Testiranja zmogljivosti, uporabnosti in evropske skladnosti tehnologije ITS-G5 so pomemben korak k povečanju prometne varnosti. Glavni cilji aktivnosti področnih evropskih projektov so določitev uporabnih scenarijev, njihovo ovrednotenje v realnih okoljih ter priprava ustreznih zakonodajnih podlag. Kljub zrelosti tehnologije ITS-G5 in njenih prvih serijskih implementacijah v vozilih pa na nivoju EU še ni odločeno, katera komunikacijska tehnologija bo prevladala. Tako se v Sloveniji pod okriljem družbe DARS razvija tudi že platforma za hibridni model, kjer bosta ITS-G5 in C-V2X sobivali in se ustrezno dopolnjevali. Literatura Večina neopredeljenih virov izhaja iz internih gradiv platforme C-Roads, evropskih poročil z omejenim dostopom do delovnih različic in posredovanih podatkov družbe DARS d.d. Ostali javno dostopni viri so navedeni v nadaljevanju. Slika 9: Primer obrazca z verifikacijskimi točkami in prikaza na zaslonu HMI 4.3 Čezmejna testiranja V zadnji fazi so bila predvidena križna testiranja s sosednjimi državami, ki zaradi ukrepov omejenega gibanja zaradi pandemije niso bila izvedljiva. Zato je bila uvedena nadomestna možnost izmenjave posnetih dnevniških zapisov [8] v formatu PCAP. Ti so nastali z realnimi vožnjami in snemanji v lastni državi, kjer je OBU shranjeval sprejete okvirje iz okoliških RSU. [1] Evropska komisija, „Road safety,“ april 2021. https://ec.europa.eu/commission/presscorner/detail/en/I P_21_1767. [2] NordicWay. https://www.nordicway.net/. [3] InterCor.https://intercor-project.eu/. [4] Car-to-car konzorcij. https://www.car-2-car.org/. [5] Platforma C-Roads. https://www.c-roads.eu/. [6] C-Roads WG2/TF4, „C-ITS IP Based Interface Profile, Version 2.0.2 (draft),“ junij 2021. [7] Evropska komisija, „Certificate Policy for Deployment and Operation of European C-ITS,“ junij 2018. [Elektronski]. Available: https://ec.europa.eu/transport/sites/default/files/cits_certificate_policy-v1.1.pdf. [8] C.-R. WG2/TF5, „Cross-Border Testing: PCAP Exchange v0.2“, 2020. Zahvala Slika 10: Mehanizem snemanja in predvajanja datotek PCAP v začasnem čezmejnem določanju interoperabilnosti 59 Avtor se zahvaljuje družbi DARS d.d. za sodelovanje na projektih C-ITS, zaupano vlogo slovenskega koordinatorja delovne skupine 3 (C-Roads WG3), posredovane statistične podatke, slikovna gradiva in dokumentacijo. Prav tako velja zahvala matičnemu laboratoriju za telekomunikacije na UL FE za vzpodbudno delovno okolje in podporo pri uresničevanju zadanih ciljev. FT8 - komunikacija IoT z dosegom na tisoče kilometrov Andrej Štern Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: andrej.stern@fe.uni-lj.si FT8 - IoT communication ranging thousands of kilometers Abstract. FT8 is a digital protocol designed for robust communication over long distances using weak signals. While developed primarily for amateur radio use for establishing connectivity to locations on far continents by ionospheric HF propagation, the protocol has evolved to carry up to 71 telemetry bits during the 12.64 s transmission in a 50 Hz bandwidth. The source and channel coding provide up to 31 dB improvement over SSB voice modes and even 6 dB over the traditional telegraphy. Numerous optimizations have made the FT8 to be the most frequent reported mode among the radio amateur society and set the foundation to further enhancements towards robust long distance IoT. 1 Uvod V sodobnih mobilnih komunikacijah 5G stremimo k zadoščanju komunikacijskih potreb na vsaj treh različnih področjih. Širokopasovnost povezav eMBB (angl. enhanced Mobile Broadband) s hitrostmi prek 1 Gbit/s prevladuje pri glavnini uporabnikov, kjer se prenašajo napredne multimedijske vsebine. Nizke zakasnitve z visoko stopnjo zanesljivosti URLLC (angl. Ultra Reliable, Low-Latency Communications) so namenjene bolj zahtevnim uporabnikom, npr. borznim posrednikom, interaktivnim igralcem in avtonomnim vozilom, kjer so potrebni odzivi v skoraj realnem času (pod 1 ms). Tretje uporabno področje mMTC (angl. Massive MachineType Communications) predstavlja množica naprav v okviru Interneta stvari, kjer širokopasovnost in nizke zakasnitve niso v ospredju, pač pa veliko število hkratnih sej, visoka energijska avtonomnost, nizki obratovalni stroški in daljši komunikacijski doseg. Za povezovanje senzorjev v oblak so uveljavljene tudi ne-operaterske tehnologije, kot je LoRa (angl. Long Range), ki je v obliki komunikacijskega koncentratorja za omrežje TTN (angl. The Things Network) postavljena tudi na matični UL FE. LoRa z inovativno rabo modulacijskih tehnik širitve spektra CSS (angl. Chirp Spread Spectrum) s prilagodljivim faktorjem širitve SF (angl. Spreading Factor) na različnih širinah kanalov omogoča dinamičen sistem optimizacije hitrosti do 11 kbit/s (SF7/250 kHz) ali radijskega dosega do 45 km na prostem, pa tudi dlje ob izjemnih radijskih pogojih in antenskih sklopih. Izhodna izsevana moč LoRe je na evropskih 868 MHz dovoljena v odvisnosti od podpodročij (g, g1, g2, g3, g4) do (UL/DL) 25/500 mW, pri čemer je zelo omejen tudi čas zasedanja kanala (angl. duty cycle) na največ 1% po ETSI EN300.220 in ERK'2021, Portorož, 60-63 60 specifikaciji LoRaWAN [1]. Posamezne prosto dostopne platforme v oblaku, kot je TTN [2], v smislu pravične uporabe spektra (angl. Fair Use Policy) dodatno omejujejo še skupni čas oddajanja senzorja v 24 urah na skupnih 30 s. Poleg komercialnih in rešitev v okviru skupnosti pa obstaja še področje komunikacij, ki v splošni strokovni ali znanstveni literaturi ni velikokrat obravnavano. To so radioamaterske storitve, katere ZEKom-1 [3] v 3. členu opredeljuje kot radio-komunikacijske storitve za samoizobraževanje, medsebojno komuniciranje in tehnične raziskave, ki jo izvajajo radioamaterji, to so pravilno pooblaščene osebe, ki jih zanima radijska tehnika samo iz osebnih nagibov in brez gmotnih koristi. Na tem mestu velja poudariti, da lahko posameznik uporablja radioamaterske radijske frekvence le na podlagi veljavnega radijskega dovoljenja, sicer lahko po 236. členu sledijo tudi sankcije. Ker je namen prispevka tudi približati radioamatersko dejavnost vpisanim na matično fakulteto, lahko za več informacij zainteresirani kontaktirajo avtorja, lokalni radioamaterski klub ali Zvezo radioamaterjev Slovenije, kjer po opravljenem izobraževanju pridobijo mednarodno veljaven klicni znak v formatu S5<številka><1-3 črke>, npr. S56AAA. 2 Radioamaterski načini dela Načini radioamaterskega dela (angl. amateur radio modes) opredeljujejo procesne in oddajne lastnosti komunikacije. Prvi način se je v obliki telegrafije (CW) z uporabo Morsejeve kode širše pojavil v začetku 20. stoletja. Temu je sledil analogni prenos govora oz. fonija z različnimi modulacijami, od klasičnih AM in FM do učinkovitih enobočnih prenosov (SSB), ter digitalne modulacije za prenos informacij RTTY in PSK31. V analogni tehniki so se najprej prenašale mirujoče slike (SSTV), nato amaterska gibljiva televizija (ATV), prek govornih kanalov pa so se z razširjenostjo računalnikov vzpostavila prva paketna radijska omrežja AX.25 (Packet Radio) z dostopom do svetovnega Interneta. Danes predstavlja amatersko paketno omrežje s cca. 35 radijskimi vstopnimi točkami oz. vozlišči z megabitno hitrostjo in večjim dosegom po zaslugi prof. Vidmarja z matične UL FE alternativo podatkovnim omrežjem bolj ranljivih komercialnih ponudnikov. Sodobne radioamaterske dejavnosti tako obsegajo avtonomna govorna in podatkovna omrežja z relejnimi postajami oz. repetitorji po hribih in priklopi v internetno hrbtenico. Tu se poleg analognih FM odvijajo tudi digitalne govorne komunikacije DMR, D-STAR in Fusion, ki zasedejo pomembno vlogo v primeru naravnih nesreč ali večjih nevarnostih v obliki aktivnosti ARON (Amatersko Radijsko Omrežje za Nevarnost). Ob tem pa se radioamaterji vedno oziramo tudi v vesolje za lastnimi sateliti ali gostujočimi oddajniki, odboji od Lune (EME) in od repov meteoritov. Kot prikazuje naslednja statistika sporočanja vzpostavljenih zvez v platformo ClubLog [4], se od leta 2017 močno vzpenja nov način digitalnega načina dela s kratico FT8, ki v marsičem spominja kar na tehnologije IoT, saj večino dejanske komunikacije s kompleksnimi postopki modulacije in demodulacije opravi računalnik, hitrosti prenosa so nizke, komunikacijski doseg na kratko-valovnem področju z manjšimi močmi od drugih načinov dela pa lahko dosega tisoče kilometrov. V nadaljevanju bo FT8 predstavljen po korakih od sestave formatiranih sporočil na oddajnem računalniku preko verige optimizacijskih in zaščitnih mehanizmov do končne modulacije in oddaje na prenosni kanal s svojevrstnimi lastnostmi. Slika 2: Prenosna pot sporočila FT8 po korakih 3.1 Slika 1: Drseče povprečje načinov dela v bazi ClubLog [4] Zaradi tako visoke priljubljenosti, ki privablja v radioamaterstvo mlajše, računalniškega sveta željne generacije, pa tudi znova aktivira že zaprašene radijske postaje starejših in bolj izkušenih operaterjev, bo v nadaljevanju opisanih nekaj tehnoloških osnov ter praktičnih razlag, ki lahko bralca vodijo k nadaljnjemu raziskovanju komunikacij s šibkimi signali. Formati sporočil Vsaka radioamaterska zveza v teku mora biti opremljena s klicnima znakoma prejemnika in oddajnika, npr. S56ABC (prejemnik) in S56AAA (oddajnik). Ta znaka v trenutku nastajanja prispevka s strani agencije AKOS še nista podeljena, a vseeno njihova uporaba po zakonodaji ni dovoljena! V primeru, da se zveza šele vzpostavlja, se na mestu prejemnika uporabi uveljavljeno oznako za razpršen klic CQ, npr. CQ S56ABC. Temu sledijo podatkovna polja, kot so grobe ocene lokacije po lokatorjih QTH, sporočanja slišnosti signala in zaključevanje zveze s pozdravno kodo »73«. 3 Tehnološke osnove FT8 Način dela FT8 sta razvila radioamaterja in profesorja na univerzah v ZDA - elektrotehnik Steven Franke (K9AN) ter nobelovec in astrofizik Joe Taylor (K1JT) [5]. Ime izhaja iz začetnic priimkov (F-T), številka 8 pa uporabo dobro znane modulacije 8-FSK v prvi izdaji. FT8 je, skupaj z nekoliko hitrejšo različico FT4, nadaljevanje vrste uspešnih digitalnih načinov dela v zadnjih 20 letih (JT4, JT9, JT65 itd.), saj združuje kompromise glede dolžine sporočil, bitnih prenosnih hitrosti, pasovnih širin, vnaprejšnjega popravljanja napak, optimizacije modulacije, zahtevnosti dekodiranja na sprejemniku in minimalnih zahtev po razmerju signal/šum [5]. Osnovno orodje za uporabo FT8 predstavlja odprtokodni program WSJT-X [6] za komunikacijo s šibkimi signali. Program se neprestano nadgrajuje, pri čemer nastajajo s prejšnjimi različicami združljive in nezdružljive spremembe. FT8 se je pridružil ostalim načinom dela šele v različici 1.8.0, nato pa do današnje 2.5.0 dosegel optimizacijo delovanja na domala vseh področjih, od tipov generiranih sporočil in uvedbe modulacije GMSK do povečanja občutljivosti na sprejemu in manjšega odstotka napačnih prepoznav [6]. 61 Slika 3: Priporočeni potek izmenjave sporočil med zvezo FT8 FT8 pa poleg klasičnih zvez z izmenjavo signala slišnosti podpira tudi prenose prostih kratkih besedil ali binarnih telemetrijskih podatkov v skupni dolžini do 71 bitov [5]. 3.2 Izvorno kodiranje Izvorno kodiranje predstavlja pretvorbo podatkov iz človeku berljive vsebine v bitno zgoščene zapise. Pri FT8 se vsako sporočilo, npr. splošen poziv CQ, prevede v 77 izhodnih bitov, kamor je vštet tudi tip sporočila. Posamezna polja se po kodirni tabeli [5] brezizgubno pretvorijo v njihovo bitno enačico, npr. enostaven do 6mestni klicni znak S56ABC tako zasede le 28 bitov oz. manj kot štiri zapisane znake ASCII s po 7 ali 8 bitov. Primer pretvorbe S56ABC v 28 bitov po tabelah [7], ki upoštevajo možne obsege črk in številk na posameznih mestih zapisanega znaka (37, 36, 10, 27, 27, 27): • S (29), 5 (5), 6 (6), A (1), B (2), C (3), • ((((29*36 + 5)*10 + 6)*27 + 1)*27 + 2)*27 + 3 = 206593554, • navadni znaki se začnejo šele po 6257896 rezerviranih, zato premik, • 206593554 + 6257896 = 212851450, • binarno: 1100 10101111 11011010 11111010. Za 4-znakovni lokator QTH z ločljivostjo 1° za zemljepisno širino in 2° za dolžino se uporablja možen obseg (18, 18, 10, 10) znakov, zato JN76 postane J (9), N (13), 7 (7), 6 (6) oz. 9*18*10*10 + 13*10*10 + 7*10 + 6 = 17576 oz. v 15 bitih zapisano 1000100 10101000. Ko se vsa polja v sporočilu sestavijo (npr. 2 klicna znaka, potrditev, signal), dobimo iz vsakega sporočila na koncu 77 bitov, ki že vsebujejo oznake tipov po [5]. 3.3 na sliki 6 kaže množico ne-prekrivajočih se oddaj različnih operaterjev v enem samem govornem kanalu. Pri tem vsi oddajajo na isti nosilni frekvenci, npr. 3,573 MHz, vsak pa uporablja svoj 50 Hz pas znotraj 3 kHz. Trajanje enega tona je 0,16 s, kar predstavlja oddajo celotnega sporočila dolžine 237 bitov v času 12,64 s. Simbolna oz. baudna hitrost torej znaša 6,25 simbola/s, efektivna oz. uporabniška hitrost prenosa izvornih 77 bitov v 12,64 s pa zaokroženih 6,01 bit/s. Kanalsko kodiranje, modulacija in oddaja Vhodnih 77 bitov se najprej opremi s 14-bitno varnostno vsoto (CRC) s polinomom 0x6757 in začetno vrednostjo 0, da dobimo skupno 91 bitov. K temu se doda naslednjih 83 bitov, ki predstavljajo postopek vnaprejšnjega popravljanja napak FEC (angl. Forward Error Correction). FEC uporablja namensko kodo (174, 91) LDPC (angl. Low-Density Parity-Check), določeno z dvema matrikama - z generatorsko, ki vhodnim 91 bitom določi dodatnih 83 paritetnih bitov, ter paritetno za preverjanje ustreznosti dobljene 174 bitne matrike. Za frekvenčno in časovno sinhronizacijo pri sprejemu se na začetku, v sredini in na koncu oddaje doda še Costasov niz 7 tonov (3, 1, 4, 0, 6, 5, 2) iz matrike 7x7, skupno 21 kanalskih simbolov oz. 63 bitov. Tako na bitnem nivoju dobimo skupno 237 bitov, sestavljenih iz sinhronizacijskih delov in zaščitene vsebine sporočila. Slika 5: Primerjava spektrov različnih modulacij [8] Cikel oddaje in sprejema znaša točno 15 s. Začetek je določen vsako minuto ob sodih (0 s, 30 s) in lihih (15 s, 45 s) intervalih, zato je nujno imeti računalnike časovno sinhronizirane. Program WSJT-X časovna odstopanja prikazuje pod parametrom DT (angl. delta-time oz. time differential), lahko pa se preverijo tudi na spletni strani https://time.is/. Posamezne časovno pravilne oddaje zaradi namerno nastavljenega napačnega časa za cca. 7 sekund na sprejemnem računalniku v desnem delu slike 6 prečkajo vodoravne časovne ločnice po 15 s, zato računalnik v času zadnjih 2,5 sekund pred novim sprejemom ali oddajo ne more opraviti dekodiranja. Osrednji del slike 6 prikazuje izpisane vrednosti DT pri usklajenem sprejemu v levem delu, kjer je največji časovni odmik 1,4 s. Slika 4: Priprava okvirjev FT8 za oddajo [9] Teh 237 bitov se od različice WSJT-X 2.1.0 pretvarja v posamezne simbole oz. tone z glajeno modulacijo 8GMSK z zvezno fazo, kar omogoča nizko zasedenost spektra vse do -80 dB, kot prikazuje slika 5. 8-stopenjska modulacija v enem kanalskem simbolu nosi 3 bite, ki se iz 174-bitne osnove zapišejo z mapiranjem čez Grayevo kodo [5]. Zanjo je značilno, da se sosednji simboli oz. toni v FSK ločijo le v enem bitu, zato se poveča uspešnost dekodiranja pri Dopplerjevih pojavih. Tako pripravljenih 79 8-GMSK simbolov zaseda pasovno širino 50 Hz z razdaljo med posameznimi toni 6,25 Hz. Pri oddaji na kratkovalovnem področju z načinom USB (angl. Upper Side-Band) se posamezne oddaje razvrstijo po avdio spektru v enem govornem kanalu širine do 3 kHz. Ker se pri načinu USB prenaša na radijski spekter le osnovni avdio pas, pregled sprejema 62 Slika 6: Prikaz različnih časovnih uskladitev sprejema 3.4 Radijske propagacije FT8 Komunikacija na velike razdalje je, razen v primeru satelitov, možna le z uporabo kratkih valov v območju nekaj MHz, ki se od različno visokih plasti ionosfere do 400 km (sloj F) odbijajo pod kotom in tako pridobijo na razdalji. Za višje frekvence, npr. nad 30 MHz, je ionosfera praktično prozorna in valovanja se na površje Zemlje z odbojem od nje ne morejo vrniti [10]. Stanje ionosfere se hitro spreminja glede na del dneva, letni čas in počasi tudi s fazo Sončevega cikla. Sonce z ionizacijo molekul v zgornjih plasteh ionosfere povzroča uklon in končni odboj valovanja nazaj proti površju, kar je močno odvisno tudi od frekvence signala. Trenutno smo na pragu 25. Sončevega cikla s periodo okrog 11 let in s prvimi močnejšimi izbruhi se je gostota nabitih delcev povečala dovolj, da so dolge zveze mogoče tudi na višjih kratko-valovnih območjih 15, 12 in 10 m, kot s celoštevilsko valovno dolžino označujemo frekvence okoli 21, 24 in 28 MHz. Prepustnost pasov 80 in 40 m je nekoliko manj odvisna od Sončevih ciklov, je pa komunikacija tu zelo dušena v primerih izrednih Sončevih izbruhov, t.i. bliščev [10]. Vseeno so komunikacije na 40 in 80 m vsakodnevno uspešne le med točkami v polmraku, mraku ali temi, saj močna ionizacija preko dneva signale v spodnjih plasteh ionosfere (sloj D) tudi slabi [10]. Slika 7 [11] prikazuje zapise vzpostavljenih povezav FT8 na 3,5 MHz v letu 2018 med osrednjo Evropo in Japonsko ter vzhodno obalo ZDA. Podobna časovna okna lahko opazimo tudi danes v praksi, npr. komunikacija FT8 z Japonsko na 80 m področju bo v poletnih mesecih stekla le okoli 20. ure, ko je tam ura 3 zjutraj, na področju med nami v Aziji pa je pretežno noč. Enako se je za povezave z ZDA potrebno potruditi v nočnih in zgodnjih jutranjih urah. 4 Sklep Radioamaterski način dela FT8 je na področje pokrivanja zemeljskega površja s kratkimi digitalnimi informacijami vnesel številne novosti. Ker poleg klasičnih povezav z izmenjavo poročil o slišnosti in lokaciji podpira še prenos telemetrijskih podatkov, je primeren tudi za prenose parametrov IoT na velike razdalje. Poleg FT8 sicer obstajajo še drugi načini, ki ga po občutljivosti prekašajo, npr. JT65 za 4 dB, JT9 za 6 dB in WSPR za 10 dB [10], zaradi odlično sprejetih kompromisov v kodiranjih, trajanju oddaje in sprejemnih zmožnostih pa je FT8 postal tudi osnova za nove, višje ležeče protokole. Tak način v vzponu je JS8, ki z aplikacijo JS8Call sloni na prenosu FT8 in podpira t.i. usmerjena sporočila (angl. directed messages), izmenjavo prostega teksta in celo avtomatsko sporočanje lokacije v radioamaterski sistem sledenja APRS (angl. Automatic Position Reporting System), dosegljiv na https://aprs.fi/. Uporaba FT8 ni omejena samo na kratkovalovno področje do 30 MHz. Po svetu radioamaterji uporabljajo tudi višja področja, npr. 144 in 432 MHz, kjer pa je radijski doseg odvisen od številnih posebnosti v troposferi. Pri 50 W izhodne moči v praksi znaša do nekaj 100 km, v izjemnih pogojih pa je bil s posebno opremo in 100 W moči na 432 MHz premagan tudi že Atlantik [13]. Splošna raba na področjih ISM (angl. Industrial, Scientific, Medical), npr. na 868 MHz, kjer se nahaja LoRa, brez potrebe po radijskih dovoljenjih zaenkrat ni predvidena. Razlogi za to so striktne omejitve izhodnih moči na mW območja, zahtevna komunikacijska oprema z enobočnimi učinkovitimi prenosi USB ter velika slabljenja na prenosni poti. Literatura Slika 7: Časovna statistika vzpostavljanja FT8 v letu 2018 glede na uro v dnevu in letni čas iz Evrope za 80 m pas Kljub določenim omejitvam v propagaciji pa FT8 ponuja dobre možnosti za doseganje številnih lokacij na Zemlji, označenih z namenskimi lokatorji [12], kamor zveze v telegrafiji ali foniji ne sežejo. Za primerjavo: komunikacijo FT8 je možno uspešno dekodirati pri signalih, ki so 31 dB nižje od razumljivosti analognih govornih prenosov pri preslikavi na pasovno širino 2500 Hz, kar pomeni, da se oddaja FT8 z 1 W lahko po uspešnosti komunikacije primerja z več kot 1000 W enobočne oddajne moči govora. Tako so priporočene najvišje oddajne moči pri FT8 do 20 W, čeprav lahko nekaj znakov prenesemo tisoče kilometrov daleč tudi s 5 ali 10 W. Razlog pa je tudi ta, da je med 12,64 sekundnim aktivnim intervalom oddajnik neprestano polno v pogonu, kar lahko vodi v pregrevanje izhodne stopnje in okvare oddajnika. Npr. pri telegrafiji oddajnik deluje le v času oddaje črte in pike, ob vmesnih presledkih pa se lahko hladi. 63 [1] LoRa dokumentacija, https://lora.readthedocs.io/en/latest [2] The Things Network dokumentacija, https://www.thethingsnetwork.org/docs/lorawan/ [3] Zakon o elektronskih komunikacijah, http://pisrs.si/Pis.web/pregledPredpisa?id=ZAKO6405 [4] Statistika vzpostavljenih zvez v sistemu ClubLog, https://g7vjr.org/ [5] S. Franke, B. Somerville, J. Taylor: The FT4 and FT8 Communication Protocols, QEX July/August 2020, https: //physics.princeton.edu/pulsar/k1jt/FT4_FT8_QEX.pdf [6] Izhodiščna stran WSJT-X, https://physics.princeton.edu/pulsar [7] Tabele za izvorno kodiranje klicnih znakov, https://bit.ly/3B3IrWy [8] J. Taylor, predstavitve iz Hamradio Friedrichshafen, 2019: https://bit.ly/3eoCmu5 [9] Spletna stran J. Clark: WSJT-X FT8 Modulator – Scicos Simulation, https://bit.ly/3knWKPF [10] IPS Radio and Space Services, Introduction to HF Radio Propagation: https://bit.ly/36Clz2e [11] Spletna stran: Real Propagation Visualized with FT8 Data, https://www.voacap.com/visualprop/ [12] Zemljevid QTH-lokatorjev, https://www.egloff.eu/googlemap_v3/carto.php [13] FT8 čez ocean, https://ei7gl.blogspot.com/2020/04/firsttrans-atlantic-contact-made-on.html Načrtovanje dvojno usmerjene UWB BoR-antene Marko Radović1, Peter Planinšič1, Dušan Gleich1 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, Maribor, Slovenija E-pošta: marko.radovic@student.um.si Design of the Bidirectional UWB BoR Antenna Abstract. In this paper we describe the design and performances of novel bidirectional monopole UWB BoR antenna. The problem of designing directional (bidirectional) Ultra-Wide Band (UWB) Body of Revolution (BoR) antennas is presented. The description and performances of designed antennas are given, verified using WIPLD-design tool. The obtained results are satisfactory for the entire UWB band in the range from 3.1 to 10.6 GHz. 1 Uvod 2 Oblikovanje predlagane antene 2.1 Ameriška zvezna komunikacijska komisija FCC (Federal Communications Commissions) je naznanila odločitev, da lahko ne-licencirano uporabljamo pasovno širino od 3.1–10.6 GHz [1]. Od te najave so postale ultra široke UWB (Ultra Wide Band) antene pomemben del modernih brezžičnih komunikacijskih sistemov. Neusmerjene oziroma vsesmerne (omnidirectional) UWB monopolne antene, zlasti krožno simetrične in kompaktne BoR (Body of Revolution) antene so atraktivne zaradi enostavne zgradbe in izvedbe. Električno debelo neusmerjeno BoR anteno so analizirali avtorji Djordjević, Dragović in Popović v članku [2]. Analiza BoR anten s krožno zemeljsko ravnino je bila narejena v članku [3]. V članku [4] smo predlagali optimizacijo debele monopolne BoR antene z uporabo diferencialne evolucije (DE). V preteklosti je bilo veliko naporov za razširitev pasovne širine ozkopasovnih anten v širokopasovne in ultra širokopasovne UWB antene. Oblikovanje in optimizacijo UWB BoR antene je predstavil Zhao v članku [5]. V članku [6] je Zhao predstavil nizkoprofilno UWB BoR anteno v obliki obrnjenega klobuka, za obratovanje v področju 50 MHz do 2 GHz, v članku [7] pa novo oblikovalno-optimizacijsko metodo za to anteno. Pri nekaterih aplikacijah potrebujemo usmerjene in dvojno usmerjene ali dvosmerne (bidirectional) antene. Primer uporabe dvojno usmerjenih anten so mikro-celične bazne postaje, ki so locirane v ulicah urbanih naselij pod višino stavb. Usmerjene antene običajno uporabljamo v radarskih sistemih in v aplikacijah določanja kota prihoda signalov, kot tudi v mnogih usmerjenih komunikacijskih sistemih. V preteklosti, pa vse do danes, je bilo predlaganih mnogo različnih usmerjenih anten. Primer usmerjene UWB Vivaldi antene z balunskim napajanjem je bil predstavljen v [8]. Močno usmerjena širokopasovna ERK'2021, Portorož, 64-66 UWB antena z mikro-trakovi (microstrip) je bila predlagana v članku [9]. Večpasovna UWB antena pa je bila predlagana v članku [10]. Dvojno-usmerjeno UWB monopolno anteno z uporabo pravokotnih obročev, napajano preko elestopničastega monopola, so predlagali v delu [11]. V tem članku prikazujemo načrtovanje dvojnousmerjene UWB BoR antene. Motiv je bil načrtati to anteno na osnovi enostavne in robustne neusmerjene ozkopasovne debele BoR monopolne antene za različne statične in mobilne aplikacije. 64 Arhitektura antene in metoda načrtovanja Načrtovanje anten in ustrezno razširjanje valov je pogosto zahteven in kompleksen problem [12], zlasti UWB anten, saj je težje zagotoviti ustrezne karakteristike čez širši ultra-široki frekvenčni pas. Tako smo tukaj uporabili smo profil antene BoR-model-1 iz članka [4] in enako metodo optimizacije z algoritmom diferencialne evolucije (DE), da smo razširili njeno pasovno širino in dobili neusmerjeno UWB BoR anteno. Optimizacijski kriterij z uporabo srednjega kvadratičnega pogreška MSE (Mean Square Error) je bil prav tako maksimizacija dobitka (gain) antene glede na željeno vrednost 2 dBi preko celotnega frekvenčnega območja antene. Istočasno smo preverjali, da so bile povratne izgube s11 pod vrednostjo -10 dB v standariziranem UWB področju. Algoritmi optimizacije so bili napisani v programu Matlab [13], v povezavi z programskim orodjem za oblikovanje in simulacijo anten in elektromagnetnih polj WIPL-D Pro v11 [14], ki deluje na osnovi numerične metode momentov. Da bi dobili dvojno-usmerjeno (dvo-smerno) anteno, smo nato na obeh straneh antene dodali reflektorje. Pri tem smo ročno fino uglaševali obliko in parametre dimenzij antene in reflektorjev, da bi dobili dobro dvosmerno karakteristiko sevanja antene (sevalni diagram), pri tem pa obdržali čim bolj konstantni potek dobitka in povratnih izgub čez celotno UWB frekvenčno območje. Posebno pozornost smo posvetili oblikovanju reflektorjev. Ugotovili smo, da je dobro, da imajo reflektorji enako obliko (profil) kot antena. 3 Karakteristike dvosmerne BoR antene Po skrbnem finem uglaševanju parametrov in oblike, smo dobili dvo-smerno anteno z naslednjimi karakteristikami, kot sledi v opisu. Pravzaprav smo načrtali dve podobni anteni (različici), eno z neskončno (neomejeno) zemeljsko ravnino, drugo pa s končno, krožne oblike. Prvo anteno smo označili z Bi-UWBBoR1, drugo pa z Bi-UWB-BoR2. 3.1 Karakteristike anten Sliki 1 in 2 prikazujeta geometrijske lastnosti dobljenih anten, Bi-UWB-BoR1 in Bi-UWB-BoR2. Opozorimo, da sta reflektorja nameščena simetrično (nasprotno) na obeh straneh antene, na slikah pa sta prikazana reflektorja le na eni strani. Slika 1. Geometrijske karakteristike antene Bi-UWB-BoR1 : l1 =31,1 mm l2 = 22.8 mm, l3 = 8.4 mm, R1=16.5 mm, R2=26.1 mm, d1=51.5 mm Slika 3. Parameter s11 anten Bi-UWB-BoR1 in UWB-BoR2 Bi- Slika 4. Realizirani dobitek anten Bi-UWB-BoR1 in Bi-UWB-BoR2 v horizontalni smeri Slika 5 predstavlja napetostno razmerje stojnega vala VSWR (Voltage Standing Wave Ratio) anten Bi-UWBBoR1 and Bi-UWB-BoR2. Slika 2. Geometrične karakteristike antene Bi-UWB-BoR2 : l1 =31,1 mm l2 = 22.8 mm, l3 = 8.4 mm, R1=16.5 mm, R2=26.1 mm, d1=51.5 mm Slika 3 prikazuje parameter povratnih izgub s11 anten Bi-UWB-BoR1 and Bi-UWB-BoR2, slika 4 pa njun realiziran dobitek (ojačanje) v horizontalni smeri. 65 Slika 5. Napetostno razmerje stojnega vala VSWR anten BiUWB-BoR1 in Bi-UWB-BoR2. Slika 6 prikazuje sevalni diagram antene Bi-UWB-BoR1 pri različnih frekvencah frekvenčnega območja, slika 7 pa isto za anteno Bi-UWB-BoR2. Anteni sta horizontalno polarizirani. Literatura Slika 6. Sevarni diagram antene Bi-UWB-BoR1 v vodoravni ravnini Slika 7. Sevarni diagram antene Bi-UWB-BoR2 v vodoravni ravnini 3.2 Diskusija rezultatov Dobljeni rezultati nazorno kažejo na to, da z dvema simetrično postavljenima reflektorjema na obeh straneh antene dobimo zadovoljivo dvosmerno sevalno karakteristiko antene preko celotnega frekvenčnega območja antene. Površinsko omejena krožna ozemljitvena plošča rahlo degradira frekvenčno karakteristiko antene, prav tako tudi njensevalni diagram. 4 Zaključek V prispevku smo prikazali inovativen način načrtovanja nove dvo-smerne monopolne UWB BoR antene. Pričeli smo z oblikovanjem-optimiranjem ultra širokopasovne neusmerjne BoR antene iz ozkopasovne, ki smo ji nato dodali usmerjevalnike oziroma odbojnike (reflektorje) na obeh straneh. Dobljene antenskih karakteristih so bile zadovoljive v celotnem UWB frekvenčnem področju delovanja anten. 66 [1] Ultra-Wideband Operation FCC Report and Order, Tech. Rep.US 47 CFR Part 15, 2003. [2] A. R. Djordjević, M. B. Dragović, B. D. Popović, "Analysis of Electrically thick antennas of revolution", Proc of 3rd ICAP, Norwich, April 1983, pp. 31-35. [3] L. Nagy, "Analysis of Bodies of Revolution Antennas with Circular Ground Plane," 1991 21st European Microwave Conference, 1991, pp. 769-773 [4] M. Radović, G. Lešnjak, P. Kitak, P. Planinšič, “Optimization of Thick BoR Monopole Antennas Using Differential Evolution’’, Proceedings of 2020 International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications (CoBCom), Graz, 2020. [5] J. Zhao, D. Psychoudakis, C.-C. Chen, J. L. Volakis, "Ultra-wideband performance optimization of a body-ofrevolution monopole antenna", IEEE (APSURSI) Int. Sym. Antennas Propag., 2008, Spokane, WA [6] J. Zhao, T. Peng,T., C.-C. Chen, J. L. Volakis, "Lowprofile ultra-wideband inverted-hat monopole antenna for 50 MHz-2 GHz operation", Electronics Letters, 2009, vol. 45, no 3, pp. 142-144, July 2011, pp. 3295-3296. [7] J. Zhao, D. Psychoudakis, C. Chen and J. L. Volakis, "Design Optimization of a Low-Profile UWB Body-ofRevolution Monopole Antenna," in IEEE Transactions on Antennas and Propagation, vol. 60, no. 12, pp. 55785586, Dec. 2012 [8] Y. Ma, F. Zhu, Z. Z. Abidin, F. Pang1, S. Li, R. A. AbdAlhameed, C. H. See, J. Fan, L. Liu, X. Chai, C. Jin,, and B. Peng, ”Vivaldi Antenna with balun feed for SKA feeding system in UWB”, URSI AT-RASC 2015 Conference. [9] V. Selvaraj, P. Srinivasan, J. Kumar, R. Krishnan, K. Annamalai, ”Highly Directional Microstrip Ultra Wide Band Antenna for Microwave Imaging System”, Acta Graphica, Vol 28, No 1 (2017), 35-40. [10] N. H. K. Gad, M. Vidmar, Design of a microstrip-fed printed-slot antenna using defected ground structures for multiband applications. Applied Computational Electromagnetics Society journal. Aug. 2018, vol. 33, no. 8, str. 845-860. [11] S. Lamultree and C. Phongcharoenpanich, ”Bidirectional UWB Bidirectional antenna using rectangular ring fed by stepped monopole” in Progress in Electromagnetics Research, PIER 85, 227–242, 2008. [12] S. Lamultree, M. Vidmar, Antene in razširjanje valov. (1. elektronska izd.). Ljubljana, Založba FE, 2020. 1 spletni vir (1 datoteka PDF, 302 str.), ilustr. ISBN 978-961-243408-3, http://antena.fe.uni-lj.si/literatura/ar.pdf . [13] Programski jezik Matlab, https://www.mathworks.com/products/matlab.html [14] Wipl-d Pro v11 simulator “Wipl-dpro 3D electromagnetic solver for fast and accurate analysis of arbitrary metallic anddielectric/ma-gneticstructures”, http://www.wipld.com/products.php?cont=wipl-d-pro, Uporaba hibridne mikrovalovne fotonske tehnologije v FMCW radarjih Jernej Mušič, Aljaž Blatnik, Boštjan Batagelj Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: music.jernej@gmail.com Usage of hybrid microwave photonics in FMCW RADARs Abstract. In this article we will discuss the use of microwave photonics in use with radars. As part of the NATO project for peace and stability called CLARIFIER the first phase of the project refers to the development of a frequency modulated continuous wave (FMCW) Radar with the use of latest developments in microwave photonics. In the first section of the article, we will discuss the basic components of the FMCW radar and which electrical components are to be replaced with optical ones. The architecture of optoelectronic radar will be discussed in the next section and as part of the last section of the article we will review microwave technologies for Radars such as photonic LO (local oscillator) generation and review the principal architecture of an optoelectronic oscillator. In the conclusion of the article, we will discuss the improvements microwave photonics brings to the development of radars and how it will improve the system when incorporated in the CLARRIFIER project. 2 FMCW Radar Radar s frekvenčno moduliranim neprekinjenim valovanjem (frequency modulated continuous wave FMCW) med oddajanjem spreminja svojo delovno frekvenco s pomočjo frekvenčne modulacije. Sprejemnik nato sprejme odboj signala od tarčnega objekta in v primeru ne premikajočega objekta izračuna oddaljenost s pomočjo fazne razlike med oddanim in sprejetim signalom. Ker se frekvenca oddanega signala linearno povečuje se ob sprejemu odbojnega signala pridobi zakasnitev ∆t kot je vidno na Slika 2. S primerjavo frekvence sprejetega signala z referenčnim se nato izvede meritev razdalje, in sicer po naslednji enačbi (1) [2]. 𝑅= V sklopu projekta CLARRIFIER (frequency-agile radar lidar chip for surveillance moving platforms), ki se izvaja v sklopu NATO for peace and security je cilj razviti integrirani sistem, ki vsebuje lidar in radar na skupnem fotoničnem integriranem vezju z namenom uporabe na brezpilotnih zračnih plovilih z omejeno nosilnostjo. Radar (ang. Radio Detection And Ranging) je primarna in najbolj razširjena metoda zaznavanja, klasifikacije in prepoznavanja objektov na večjih razdaljah v vseh vremenskih pogojih. Princip delovanja temelji na oddajanju radijske frekvence v prostor preko oddajno-sprejemnega modula, ki nato sprejema odboje in z algoritmično obdelavo pridobi podatke o razdalji, hitrosti, višini in smeri objekta, od katerega so se signali tudi odbili [1][5]. Radarji, ki so implementirani zgolj z uporabo elektronike izpostavljajo določene omejitve, in sicer omejena pasovna širina medtem ko je doseganje višje resolucije in hitrosti veliko finančno breme. Omejitve onemogočajo zaznavanje nizko-letečih, počasnih in majhnih objektov za civilno uporabo v kompleksnem elektromagnetnem okolju. Razvoj na področju mikrovalovne fotonske tehnologije in njenih značilnosti lahko pozitivno vplivajo na učinkovitost radarskih sistemov saj izničijo nekatere obstoječe omejitve elektronskih radarskih sistemov [2][3]. ERK'2021, Portorož, 67-70 67 2 (1) V primeru, da je sprememba frekvence med oddanim in sprejetim signalom linearna, je njen odvod konstanta in je razdalja določena z razliko med oddano in sprejeto frekvenco ∆𝑓 po naslednji enačbi (2) [1][2]. 𝑅= 1 Uvod 𝑐∗∆𝑡 𝑐∗∆𝑓 2∗( 𝑑𝑓 ) 𝑑𝑡 (2) Slika 1:Arhitektura radarskega sistem [1][2] Kot prikazuje Slika 1 se v oddajnem sklopu sistema v modulatorju s pomočjo frekvenčne modulacije (FM) generira signal z variabilno frekvenco, ki se nato oddaja v prostor. Mešalnik radiofrekvenčni signal nato s pomočjo lokalnega oscilatorja pretvori v med-frekvenco oz. IF signal. Ob sprejemu odbitega signala tega najprej vodi v ojačevalnik, nato s pomočjo filtra odstrani nezaželene komponente in v drugem mešalniku generira vsoto ali razliko referenčnega signala in med-frekvence ter sprejetega signala s časovnim zamikom. Z analogno digitalno pretvorbo se podatki prenesejo v digitalni signalni procesor, kjer se izvede obdelavo signalov za pridobitev informacij o merjenem objektu [2]. 4 Mikrovalovne fotonske tehnologije V nadaljevanju si bomo ogledali nekatere specifične mikrovalovne fotonske tehnologije, ki jih lahko implementiramo pri zamenjavi elektronskih komponent v radarskih sistemih, in sicer tistih, ki so potrebni za delovanje FMCW radarja. V tem poglavju se bomo osredotočili na različico fotonskega lokalnega oscilatorja. 4.1 Optoelektronski lokalni oscilator Lokalni oscilator je bistvena komponenta radarskega sistema, saj generira signal, ki ga uporabljamo kot referenco za generiranje valovne oblike, digitalnoanalogne pretvorbe, sinhronizacijo, mešalnike itd. Zmogljivost radarskega sistema je odvisna od frekvenčne stabilnosti in čistosti signala lokalnega oscilatorja, kjer se primerja faza med sprejetim in oddanim signalom [2]. Optoelektronski oscilator prikazan na Slika 3 velja kot eden izmed tistih, katerega zmogljivost prinaša največ na področju lokalnih oscilatorjev za uporabo v radarskih sistemih. Slika 2: Razlika med sprejemnim in oddajnim signalom[1][3][4] 3 Lastnosti mikrovalovne fotonske tehnologije Uporaba mikrovalovne fotonske tehnologije nam z uporabo optoelektronske in obratne pretvorbe omogoča generiranje signalov, njihov prenos in distribucijo ter procesiranje v optični domeni. V primeru izbire elektronsko optične pretvorbe signala se uporabljajo laserske diode ali laserji z neprekinjenim valovanjem in zunanjim modulatorjem, ki omogočajo pretvorbo na pasovni širini do nekaj deset GHz [2]. V primeru uporabe laserskih diod se izhodna optična moč povečuje linearno s krmilnim tokom, ki jo krmiljeno z uporabo mikrovalovnega signala ali signala med-frekvence (IF). Medtem ko se pri uporabi zunanje modulacije za krmiljenje faze, intenzitete in polarizacije laserja z neprekinjenim valovanjem uporablja elektro-optični modulator. Elektro-optični modulator ob spreminjajoči vhodni električni napetosti upravlja lomni količnik, koeficient pribitka in dvojne refrakcije materiala uporabljenega v modulatorju [2]. Za uporabo v laserskih sistemih, je najbolj primerna slednja oblika elektro-optične pretvorbe, saj nam zagotavlja veliko pasovno širino, visoke pribitke in dinamični razpon. Alternativna je sicer cenovno bolj primerna in energijsko učinkovita, vendar ne more zagotavljati omenjenih lastnosti, ki jo omogoča uporaba zunanjih modulatorjev [2]. Lastnosti mikrovalovne fotonske tehnologije, ki so se izrazile skozi razvoj so naslednje, in sicer: • Široka pasovna širina, • Visoko zmogljiv prenos signala, • Več-dimenzijska modulacija, • Širokopasovno analogni procesiranje signalov, • Dober fazni odziv, • Visok nivo skladnosti pulzirajočih virov. 68 Slika 3: Optoelektronski oscilator Svetlobni vir z neprekinjenim valovanjem se prenese v Mach-Zehnderjev modulator, ki se nato po optičnem vlaknu prenese v fotodetektor, ki pretvori optični signal v električnega. Po pretvorbi signal ojača elektronski ojačevalnik, ki spusti signal skozi pasovno sito ter kanalizira nazaj v radio frekvenčni vhod MachZehnderjevega modulatorja, s čimer se sklene zanka oscilatorja. Fazni šum optoelektronskega oscilatorja je odvisen od spodnjega nivoja šuma samega sistema in dolžine optičnega vlakna, ki je v uporabi. Ta se zmanjšuje z uporabo daljše dolžine optičnega vlakna, kar posledično zmanjšuje spektralni razpon [2]. Ena od rešitev je uporaba dveh zaporednih faznih modulatorjev, ki na izhodu razširita optični spekter ter ohranjata optično moč v vlaknu konstantno. Posledica je zmanjšanje šuma, ki ga povzročajo nelinearni učinki v vlaknu [2]. 5 Princip delovanja optoelektronskega radarja Pogoj za učinkovito razpoznavanje in klasifikacijo tarč je visoka resolucija in možnost obdelave ter prikaza podatkov v realnem času kar pa nam omejuje omejena pasovna širina elektronskih naprav. Prav tako je generiranje signala linearne frekvenčne modulacije z uporabo neposrednih digitalnih sintetizatorjev (DDS) omejeno na le nekaj GHz in tako onemogoča visoke resolucije radarske slike [3]. Z uporabo ulomkovnega PLL z samodejno proizvodnjo žagastega signala pa omejitev za frekvence praktično ni, saj lahko moduliramo območje več GHz. Manj učinkovita rešitev je večanje nosilne frekvence z namenom pridobitve večje pasovne širine, kar pa zaradi potrebnega procesiranja signala poveča njegovo kompleksnost izgradnje ter posledično ceno in poslabša kakovost signala in radarske slike [3]. Z uporabo mikrovalovne fotonske tehnologije za generiranje in procesiranje visoko frekvenčnih radijskih signalov lahko zmanjšamo omejitve celovitih elektronskih radarskih sistemov. V [3] so predlagali izvedbo radarskega sistema, ki temelji na mikrovalovni fotonski tehnologiji kot je prikazan na Napaka! Vira sklicevanja ni bilo mogoče najti.. V elektro-optičnem modulatorju oddajnega sklopa radarskega sistema se s pomočjo frekvenčnega početverjenja nizko frekvenčnega električnega signala generira širokopasovni linearni FMCW signal. Na sprejemniku se sprejeti odbiti signal pretvori v nizko frekvenčni signal na podlagi fazne modulacije referenčnega optičnega signala. Ta omogoča procesiranje visoko frekvenčnih signalov z veliko pasovno širino brez frekvenčne pretvorbe [3]. Delovanje predlaganega radarja se začne pri laserski diodi, ki proizvaja neprekinjen vir svetlobe, ki jo modulirano s pomočjo dvojno-paralelnega Mach-Zehnderjevega modulatorja (DPMZM). Ta je krmiljen s pomočjo LFMCW signala vmesnega frekvenčnega pasu, ki ga generira nizko frekvenčni električni generator signala. Trenutna frekvenca prej omenjenega signala je izražena kot (3), kjer je 𝑓0 opredeljen kot primarna frekvenca in 𝑘 kot razmerje kolebanja [2][3]. 𝑓𝐼𝐹 (𝑡) = 𝑓0 + 𝑘𝑡 (3) IF-LFMCW signal je nato preusmerjen v 900 hibridni spojnik oz. razdelilnik, ki na izhodu generira dva signala, in sicer prvotnega ter novega z 90-stopinjskim faznim zamikom. Ta sta nato usmerjena v prva dva MachZehnderjeva modulatorja v DPMZM, ki sta oba vezana na vodilni Mach-Zehnderjev modulator. Z ustrezno referenčno napetostjo ali tokom s katerim krmilimo modulatorja ob najvišji točki oddajanja nato generiramo serijo optičnih bočnih pasov sodega reda. Ti so sestavljeni iz optičnega nosilca in bočnimi pasovi drugega razreda, saj imajo tisti višjega razreda prenizko amplitudo in zato niso dominantni. 69 Slika 4: Arhitektura optoelektronskega radar[2][3][4] Z namenom izničenja optičnega nosilca, uporabimo ustrezno referenčno napetost ali tok za krmiljenje glavnega modulatorja v najnižji točki oddajanja s čimer na izhodu DPMZM dobimo signal, ki vsebuje le optične bočne pasove drugega reda. Pridobljen signal se nato enakovredno razcepi na dva dela, in sicer je eden uporabljen kot referenčni signal za obdelavo odbitega signala, medtem ko je drugi posredovan v fotodetektor za namene izvajanja pretvorbe iz optičnega v električno obliko. Po pretvorbi se pridobi frekvenčno početverjen LFMCW signal katerega trenutno frekvenco lahko izrazimo kot (4). S tem ima nov signal v primerjavi s prvotnim štirikrat večjo centralno frekvenco in pasovno širino [3]. 𝑓𝐿𝐹𝑀𝐶𝑊 (𝑡) = 4𝑓0 + 4𝑘𝑡 (4) Generirani LFMCW signal je nato ojačan s pomočjo električnega ojačevalnika in oddajan v prostor z namenom zaznavanja objektov. Ob dosegu objekta v prostoru se signal odbije, katerega sprejmemo na sprejemnem sklopu radarskega sistema in ustrezno ojačamo z uporabo drugega električnega ojačevalnika. Ojačan signal nato prenesemo v elektrooptični fazni modulator, ki modulira referenčni optični signal pridobljen s strani DPMZM. Referenčni optični signal lahko predstavimo kot dva optična nosilna signala izražena kot (5), ki sta nato fazno modulirana z odbitim oz. sprejetim signalom LFMCW. 𝑓𝑐 − 2𝑓0 − 2𝑘𝑡 𝑖𝑛 𝑓𝑐 + 2𝑓0 + 2𝑘𝑡 (5) Frekvenca bočnega pasu prvega reda, ki je generiran kot rezultat fazne modulacije nosilca izraženega v levi enačbi (5) je izražena kot (6), kjer 4𝑘∆𝜏 predstavlja časovni zamik odbitega signala v primerjavi z oddanim. Tega nato izluščimo z uporabo optičnega pasovnega filtra [3]. 𝑓𝑐 + 2𝑓0 + 2𝑘𝑡 + 4𝑘∆𝜏 (6) Signal nato posredujemo v fotodetektor z namenom izvedbe optoelektronske pretvorbe ter implementacijo de-procesiranja signala kot je prikazano na Napaka! Vira sklicevanja ni bilo mogoče najti.. Željeni signal ima nizko frekvenco izraženo kot (7), medtem ko B predstavlja pasovno širino in T periodo signala LFMCW [3]. ∆𝑓 = 4𝑘∆𝜏 (7) Zaradi prekrivanja oddajanega signala v drugi periodi in sprejetega signala se generira visoko-frekvenčna komponenta označena kot (8), ki jo odstranimo s pomočjo elektronskega nizkoprepustnega filtra [3]. implementaciji hibridnega FMCW radarskega sistema, ki bo zmožen souporabe z ostalimi senzorji, in sicer z LIDAR ter bo temeljil na skupnem fotoničnem jedru. Zahvala Delo je nastalo pod okriljem programa NATO Znanost za mir, projekta CLARIFIER - SPS.MYP G5888. This research is supported by CLARIFIER, NATO multiyear project Project CLARIFIER - SPS.MYP G5888. Literatura Slika 5: Princip de-procesiranja kolebanja signala 𝐵 − ∆𝑓 (8) Zaradi odvisnosti frekvence de-procesiranega signala od razmerja kolebanja in časovnega zamika odbitega LFMCW signala lahko razdaljo do merjenega objekta izračunamo po naslednji enačbi (9) [3]. 𝑐 𝑐 ∆𝑓 2 2 4𝑘 𝐿 = ∆𝜏 = ∙ = 𝑐𝑇 2𝐵 ∆𝑓 (9) 6 Zaključek Uporaba mikrovalovne fotonske tehnologije zagotavlja določeno mero optimizacije radarskih sistemov, in sicer omogoča njihovo rabo na avtonomnih sistemih z omejeno nosilnostjo, velikostjo in časovno avtonomijo. Z njenim razvojem se je razširila uporaba radarskih sistemov v komercialni sferi kakor tudi v nacionalnovarnostnih strukturah. V avtomobilski industriji uporaba radarskih sistemov, ki delujejo v souporabi z drugimi senzorji, ki služi kot pomoč uporabniku vozila in s tem poveča varnost v prometu. Souporaba z drugimi senzorji in implementacija mikrovalovne fotonske tehnologije odpira možnosti zmanjšanja velikosti, teže in energijske porabe za takšne sisteme (SWaP – Size, Weight and Power) ter razširitev na področja, kjer je to prej bilo nemogoče ali preveč neučinkovito za uporabo. V članku smo si ogledali arhitekturo optoelektronskega oscilatorja, ki z uporabo optičnih vlaken, optičnim modulatorjem in stabilnim laserskim izvorom generira stabilen signal lokalnega oscilatorja, kar poveča učinkovitost delovanja radarskega sistema. V nadaljnjem delu na projektu CLARIFIER bo osredotočenost temeljila na 70 [1] P. Shilong, Y. Jianping: Photonics-Based Broadband Microwave Measurement, Journal of lightwave technology, vol. 35, no. 16, 15. Avgust 2017 [2] P. Shilong, Y. Zhang: Microwave Photonic Radars, Journal of lightwave technology, vol. 38, no. 19, 1. Oktober 2020 [3] Z. Fangzheng, G. Qingshui, W. Ziqian, Z. Pei, Z. Guoqiang, S. Jun, P. Shilong: Photonics-based broadband radar for highresolution and real-time inverse synthetic aperture imaging, Optics express, vol. 25, No. 14, 10. Julij 2017 [4] J. M. Ramirez, H. Elfaiki, T. Verolet, C. Besancon, A. Gallet, D. Néel, K. Hassan, S. Olivier, C. Jany, S. Malhouitre, K. Gradkowski, P. E. Morrissey, P. O’Brien, C. Caillaud, N. Vaissière, J. Decobert, S. Lei, R. Enright, A. Shen, M. Achouche: III-V-on-Silicon Integration: From Hybrid Devices to Heterogeneous Photonic Integrated Circuits, IEEE Journal of selected topics in quantum electronics, vol. 26, no. 2, Marec/April 2020 [5] C. Wolff, Frequency-Modulated Continuous-Wave Radar (FMCW Radar), dostopno na: https://www.radartutorial.eu/02.basics/Frequency%20Mod ulated%20Continuous%20Wave%20Radar.en.html#bsbfm , dostopano dne: 12. 7. 2021 Uporaba tehnologije MIMO v satelitskih komunikacijah Jure Janez Markovič, Peter Miklavčič, Boštjan Batagelj Univerza v Ljubljani, Fakulteta za elektrotehniko, Laboratorij za sevanje in optiko, Tržaška c. 25, 1000 Ljubljana E-pošta: jm2134@student.uni-lj.si Use of MIMO Technology in Satellite Communications 2 Lastnosti komunikacije MIMO As the demand for satellite services is increasing, the idea of introducing advancing multiple-input multipleoutput (MIMO) technology emerged. In various landbased communication applications, MIMO is providing signal gains while maintaining resources such as bandwidth, power, etc. While both theoretical and practical experiments have shown promising results, there are several setbacks in the implementation of MIMO in satellite communications, mainly due to the radio channel specifics not in favour of spatial multiplexing beyond polarization MIMO. 1 Uvod Tehnologija več vhodov in več izhodov (angl. multiple input multiple output – MIMO) se raziskuje že od 70. let prejšnjega stoletja [1], a je pravi razcvet doživela šele v zadnjih 20 letih, ko se je izkazala za izvrstno v sistemih brezžične komunikacije. V klasičnem komunikacijskem modelu z eno oddajno in eno sprejemno anteno (angl. single input singe output – SISO) je maksimalna zmogljivost kanala odvisna od omejene frekvenčne pasovne širine ter razmerja med močjo signala in šuma (angl. signal to noise ratio – SNR), zato se je pokazala potreba po sistemu, ki bi brez dodatne pasovne širine in energije omogočal višje zmogljivosti. V komunikacijah MIMO se uporablja več anten na sprejemni in oddajni strani in s tem omogoči prenos več podatkovnih signalov preko istega brezžičnega komunikacijskega kanala, pri čimer se izrabi pojav razširjanja po več poteh. V teoriji se z dodajanjem anten doseže linearno rast zmogljivosti, večjo spektralno učinkovitost, izboljšano pokritost in doseg, s tem pa boljšo kakovost storitve (angl. quality of service – QoS) z nižjo pogostostjo napak (angl. bit error rate – BER) oziroma nižjo porabo energije na oddajni strani. MIMO posledično omogoča večje število uporabnikov in tudi zmanjšanje stroškov za licenciranje frekvenčnih pasov. Prva večja uporaba MIMO se je zgodila leta 1994 [2], ko je bilo oddajanje velikega podatkovnega toka razdeljeno na manjše, ki so bili oddajani preko prostorsko ločenih oddajnikov. Ta ideja je danes osnova za delovanje visoko zmogljivih omrežij Wi-Fi ter mobilnih sistemov 4G in 5G. Teorijo so kasneje razširili (G. Raleigh, 1996), da je mogoče učinkovito izrabiti razširjanje signala po več poteh. Ta prispevek opisuje težnjo in možnosti po uporabi tehnologije MIMO v satelitskih komunikacijah. V nadaljevanju najprej sledi opis lastnosti komunikacije MIMO, nato pa je predstavljen satelitski model MIMO. ERK'2021, Portorož, 71-74 71 2.1 Osnovni model MIMO V sistemu MIMO je več fizično ločenih anten na oddajni in sprejemni strani, pri čemer je med njimi nezanemarljiva razdalja, kot prikazuje slika 1. Vsaka izmed oddajnih anten MT v radijski kanal pošlje signal x[m], ki prispe na več sprejemnih anten MR. Na posamezni anteni sprejet signal y[m] je posledica vplivov kanala in šuma 𝑦[𝑚] = 𝐻𝑥[𝑚] + 𝑤[𝑚], (1) kjer predstavlja H matriko kanala dimenzije MT×MR, w[m] pa sprejet šum na posamezni anteni. Ugodnejši pogoji za prenos preko medija so v teoriji ustvarjeni zgolj z dodajanjem anten. Slika 1. Osnovni model sistema MIMO Realen časovno spreminjajoč kanal še poveča računsko zahtevnost. Dekodiranje pri sprejemu vsebuje poleg procesa detekcije tudi ocenjevanje kanala. Če je koherentni čas kanala večji od časa prenesenega bloka, lahko obravnavamo kanal kot konstanten. Podobno storimo tudi s pasovno širino signala, ki jo privzamemo kot precej manjšo, kot je koherentna pasovna širina kanala. Kljub matematični kompleksnosti nam tehnika analize kanala omogoči dobitek, ki se kaže v višjem SNR. Tega se doseže s koherentnim kombiniranjem signalov na več sprejemnih (Rx) ali oddajnih (Tx) antenah. SNR se poveča za faktor števila oddajnih anten 𝑀𝑅 . Do dobitka lahko pridemo z metodo kombiniranja maksimalnega razmerja (ang. maximum ratio combining) ali pa z metodo oblikovanja oziroma tvorjenja snopov. Zavedati pa se moramo, da je za uspešen prenos potrebno zadostno poznavanje lastnosti kanala. Glavna prednost oblikovanja snopov je zmanjšanje oziroma izogibanje motnjam. Usmerjanje snopa se doseže z uporabo več medsebojno razmaknjenih anten, ki oddajajo enak, a fazno zamaknjen in amplitudno utežen signal. Končni efekt je konstruktivna interferenca v želenih in destruktivna v neželenih smereh. Če privzamemo, da v sistemu kanalna matrika ni znana na oddajni strani, lahko na sprejemni za blokovno konstanten presihajoč kanal zapišemo zmogljivost [3]: 𝐶 (𝐻) = ∑𝑟𝑖=1 𝑙𝑜𝑔2 (1 + 1 2 𝜎𝑤 𝜆𝑖 ) , (2) kjer upoštevamo rang matrike H(r), lastne vrednosti matrike 𝐻𝐻 𝐻 ter Gaussovo porazdelitev šuma (𝜎2𝑤 ). 2.2 Zmogljivost MIMO sistemov Radijski vmesnik z MIMO ima določene omejitve zmogljivosti, ki jih moramo poznati za nadaljnje načrtovanje sistemov. Upoštevati moramo, da je naš model najpogosteje podvržen Gaussovem kanalu, ki je naključen, a ima znano verjetnostno porazdelitev. Vprašati se moramo o zmogljivosti določenega kanala pri določenem energijskem vložku. Če osnovni model razpišemo z dekompozicijo vrednosti, dobimo ekvivalent kanalu, ki pa je sestavljen iz več paralelnih Gaussovih kanalov sestavljenih iz belega aditivnega šuma [3] 𝑦̃ 𝑖 = 𝜎𝑖 𝑥̃ 𝑖 + 𝑤 ̃𝑖; 𝑖 = 1, 2, … 𝑟. (3) Ta način razmišljanja najbolj koristi, ko izbiramo optimalno porazdelitev moči na antenah kanalov. Med te Gaussove kanale lahko razporejamo moč in na podlagi SNR določamo posamezno in skupno zmogljivost. Pri tem je potrebno upoštevati, da je tudi MIMO kanal presihajoč. S tem se pojavi ergodična in izpadna prenosna zmogljivost. Prva predstavlja zgornji limit zmogljivosti povprečenih čez vse intervale, medtem ko druga maksimalno konstantno podatkovno hitrost, ki jo lahko ohranjamo skozi več intervalov. Slednja je primernejša v bolj ekstremnih razmerah, kot na primer v okoljih z Rayleighovim sipanjem (tudi v satelitskih komunikacijah). Z ergodično zmogljivostjo lahko potrdimo, da ima dodajanje anten kjerkoli v sistemu pozitiven vpliv na zmogljivost kanala. Vendar je pomembno, na kateri strani se antena doda. Sprejemne antene povzročijo večji doprinos, medtem ko se dodajanje oddajnih anten slabše obrestuje. Po drugi strani izpadna zmogljivost vpliva na to, kakšen bo dobitek raznolikosti oziroma multipleksa. 2.3 Področje ocene kanala je zelo kompleksno, pomembno pa je, da se vse metode med seboj razlikujejo po okoljih, v katerih optimalno delujejo. Satelitski kanal je za MIMO zelo neprijazno okolje, saj je na poti večinoma prazen prostor razen odbojev od vertikalnih površin blizu sprejemnika na Zemlji. Sprejeti signal je razpršen v času, frekvenci in prostoru, kar primarno povzroči kotno razpršitev moduliranih simbolov. Za prostorski opis presihajočega MIMO kanala se zato izbere stohastičen princip. Korelacijo med posameznimi sprejemnimi antenami povzročata premajhna medsebojna razdalja in pomanjkanje razpršilnih predmetov. Z večjo korelacijo anten se zmanjšuje prostorska raznolikost. Najbolj natančen izračun prostorsko korelacijske matrike je preveč kompleksen, zato se običajno uporabi Gaussov ali Kroneckerjev model (analitična metoda). Ocena stanja kanala, ki se naredi s prenosom pilotnih simbolov, je pomembna na sprejemni (izravnava, detekcija) in oddajni strani (predkodiranje, predizravnava, logika MIMO). 2.4 Časovno-prostorske kode in detektorji Pri snovanju sistema MIMO smo v že omenjeni dilemi med raznolikostjo in multipleksnim dobitkom, ki se med seboj izključujeta. Kljub temu pa lahko z uspešnim prostorsko-časovnim kodiranjem (PČK) še dodatno izboljšamo raznolikost, s tem da v prostorsko in časovno dimenzijo vnesemo redundantne informacije. PČK vsebujejo modulacijo, ki omogoča raznolik sprejem in tudi kodo za odpravljanje napak. Njihova glavna naloga je načrtovanje podatkovnih bitov v oddajni vektor x[m]. Vsak nosi 𝑀𝑇 simbolov po M bitov. Velik premik je povzročila Alamoutijeva shema (S.M. Alamouti (October 1998)), kjer se z dodajanjem konjugiranih parov signala poveča redundanco, ki pa je bolj odporna na spreminjajoče se razmere v kanalu. Upoštevajoč, da so sprejemne antene bolj koristne, je enačba pogostosti napak [3] log(𝐵𝐸𝑅) ∝ 𝑀𝑇 𝑀𝑅 log (𝑆𝑁𝑅). Ocena kanala in kanali modela Pri sistemu MIMO je še bolj kot v sistemu SISO pomembno poznati kanal in medij preko katerega se prenaša signal. Skozenj se pošilja signale, ki se širijo po različnih poteh in odbijajo od različnih predmetov, kar povzroči zakasnitve ter Dopplerjev premik in razpršitev. Odziv kanala zaznanega na sprejemniku je torej vsota vseh poslanih signalov, ki so poleg vnesenega šuma še pod vplivom že naštetih pojavov. V tehnologiji MIMO se večpotje izrabi za povečanje raznolikosti, ki pomeni prejem več različno zakasnjenih in uteženih kopij oddanega signala, če je v kanalu prisotno neodvisno presihanje v časovni, frekvenčni oziroma prostorsko-polarizacijski dimenziji. Z namenom izrabljanja stanja kanala je potrebno ustvariti model, ki je postavljen na osnovi razširjanja signala (deterministični ali geometrijski pristop) ali analitično (propagacijski ali korelacijski pristop). 72 (4) Vsaka antena predstavlja podtok, saj demultipleksiramo vsak tok podatkov v 𝑀𝑇 . V primeru, da na sprejemni strani poznamo kanal, lahko povsem obnovimo podatke. V tem primeru smo izkoristili dobitek iz naslova raznolikosti [3] 𝐶 ∝ min (𝑀𝑇 , 𝑀𝑅 ). (5) V komunikacijah MIMO igrajo pomembno vlogo detektorji, ki izvajajo dodatno obdelavo in dekodiranje. Na logičnem nivoju se v grobem loči linearno detekcijo, odločevalno detekcijo s povratnimi informacijami, detekcijo z največjo verjetnostjo (angl. maximum likelihood – ML) ter sferično dekodiranje. Detekcija z največjo verjetnostjo ima najvišjo učinkovitost in tudi kompleksnost, medtem ko odločevalna detekcija s povratnimi informacijami predstavlja nekakšen kompromis. Glavni nalogi vseh vrst detektorjev sta vrednotenje prenesenih podatkov in oceniti vpliv MIMO kanala na sprejemni strani. V primeru satelitskih komunikacij je treba računati na znižano stopnjo raznolikosti ter v določenih pogojih tudi na nizek SNR. V tem pogledu je detekcija največje verjetnosti najboljša, saj izrabi vso razpoložljivo raznolikost. Ker ji kompleksnost raste z 𝑀𝑇 , se išče tudi druge rešitve, kot je sferično dekodiranje, ki izrabi dvo(ali več)-dimenzionalno naravo informacij zakodiranih v MIMO prenos. Na podlagi radija, ki ga določimo sami, iščemo najustreznejše vrednosti pri dekodiranju sprejetih informacij. Kljub temu, da se kompleksnost ponovno povečuje eksponentno z 𝑀𝑇 , je ta v povprečju precej bolj učinkovita. Po drugi strani je kompleksnost te metode zelo nepredvidljiva in je v nasprotju z deterministično naravo metod, kot so »Zero Forcing«, »Minimum mean square error«, itd. Tu je zelo pomembna izločitev elementov matrike H in njihovih vplivov na signal ter model kanala. Že omenjene linearne metode so manj kompleksne a tudi manj natančne, žrtvuje pa se tudi red raznolikosti, ki je v satelitskih komunikacija že po naravi kanala nizek. 2.5 Tvorjenje snopov in predhodno kodiranje Metoda formiranja snopov, ki je ena glavnih prednosti MIMO, je pogojena s poznavanjem kanala. V grobem jo lahko uvrščamo med vrste predhodnega kodiranja in je odvisna od kvalitete oddajne strani. Za uspešno delovanje so potrebne povratne informacije, kar poveča podatkovno režijo kanala. S tem se doseže stopnjo raznolikosti 𝑀𝑇 𝑀𝑅 , kar je še posebej dobrodošlo v satelitskih komunikacijah. Formiranje snopov je učinkovitejše od Alamoutijeve časovno prostorske kode zaradi večjega dobitka ustvarjene zbirke. Zato ga izkorišča linearno predkodiranje, ki izrablja že omenjene linearne kode (MF, ZF, MMSE). Te imajo različno kompleksnost in so na splošno dobre za večuporabniške sisteme. 3 Satelitski komunikacijski kanal Ker je velik del uspešnosti MIMO odvisen od poznavanja kanala, je uporabnost MIMO v satelitskih komunikacijah na prvi pogled sorazmerno neučinkovita. V več tisoč kilometrov obsegajočem kanalu je lahko zelo različno stanje, ker se satelitski komunikacijski sistemi med seboj razlikujejo po hitrosti premikanja, lokaciji na tirnici in uporabljenem frekvenčnem spektru. Pri tem je potrebno upoštevati, da signal potuje skozi različne medije (vakuum, zrak, para,..) in med potjo naleti na ovire (naravni in umetni predmeti, vremenski pojavi,..). Te ovire ustvarijo v kanalu neobičajne razmere, ki so drugačne od tipičnih prizemeljskih. Večino fiksnih satelitskih zvez deluje v frekvenčnih pasovih nad 10 GHz, medtem ko mobilne zveze, kjer je bilo do sedaj opravljenih največ izboljšav s pomočjo MIMO, delujejo pod 10 GHz. Slednje zadevajo tudi najrazličnejše ovire, ki so posledica urbanih, predmestnih in ruralnih okolij. Pri satelitskih zvezah je precej manj razpršilnih predmetov kot v urbanem ali ruralnem okolju na Zemlji. 73 Pri fiksnih satelitskih zvezah je potrebna direktna pot signala (angl. line of sight – LOS) med satelitom in zemeljskim terminalom. Če je poleg te na poti prisotnih malo razpršilnih predmetov, MIMO ne bo prinesla velikih dobitkov iz naslova raznolikosti zaradi večpotja. Je pa dokazano, da se kljub temu doseže povišanje prenosne zmogljivosti zaradi optimizacije geometrije. 3.1 Primeri uporabe MIMO Najbolj raziskan je primer zemeljsko mobilnega satelita (angl. Land Mobile Satellite – LMS) [4], kjer je v režimu neposredne vidljivosti (LOS) že kanalska matrika 2×2 pokazala izboljšanje. Navzkrižno polarna izolacija je pogojena zgolj s polarizacijskimi lastnostmi antene. Je pa zato boljše oviran LOS in pride do pojava večpotja, ki ga povzročijo razpršilni predmeti. Če primerjamo SISO in MIMO kanal pri istih pogojih, zaznamo dvakratno povečanje prenosne zmogljivosti pri visokem SNR. To je zahvaljujoč medsebojni izolaciji dveh med seboj neskladnih polarizacij. Projekt MIMOSA (angl. Characterisation of the MIMO channel for mobile satellite systems) je drugi primer, ki je že bil praktično izveden. Glavni pobudnik je bila Evropska vesoljska agencija. Raziskava je bila usmerjena na opazovanje presihanja v satelitskem kanalu. Ugotovili so, da je to odvisno od uporabljenega frekvenčnega pasu in polarizacije [5, 6]. Raziskave so pokazale, da sistem LOS-MIMO lahko pridobi dodatno prostorsko stopnjo svobode (angl. degree of freedom) z uporabo pravilno razmaknjenih anten na oddajni ali sprejemni strani [7, 8]. Komunikacija proti zemeljski postaji lahko doseže maksimalno spektralno učinkovitost kljub razširjanju z neposredno vidljivostjo. Prostorski multipleks je prisoten, nanj vpliva razdalja med satelitom in zemeljskim sprejemnikom. Težava pa se pojavi pri iskanju optimalne postavitve sprejemnih in oddajnih anten. Premikanje in sukanje satelitskega ter zemeljskega modula je lahko zelo zapleteno, pogosto nemogoče. Zaradi tega pogojem za idealen LOS-MIMO razmik v satelitskih komunikacijah praviloma ni zadoščeno. Slika 2. Razdalje pri satelitski komunikaciji. Posledica razlik v razdaljah so raznoliki elementi matrike H (ℎ𝑥𝑥 ). V LOS okolju mora biti razmak med antenami na eni ali drugi strani reda nekaj sto kilometrov. Ker je lahko razmak med antenami na enem satelitu največ nekaj metrov, je potreben velik geografski razmik na Zemlji. Zadnja velika skupina aplikativni primerov MIMO v satelitskih komunikacijah so MU-MIMO, kjer »MU« označuje več uporabnikov (angl. multiple-user). V tem primeru govorimo o satelitih, ki oddajajo več snopov (angl. multi-beam satellites). V primerjavi s tradicionalnim enouporabniškim »point-to-point« sistemom MIMO, ti ugodno delujejo tudi v režimu neposredne vidljivosti. Za uspešno izvedbo sistema MUMIMO je potrebno predhodno kodiranje in detekcija več hkratnih signalov. To je potrebno za omilitev vpliva motenj, ki omejujejo učinkovitost sistema. 4 Zaključek Gibanje satelitov in Zemlje vpliva na ortogonalnost kanala, ki je najbolj odvisna od geometrije. MIMO v satelitskih komunikacijah v praksi lahko pomeni precejšnje finančno in logistično breme, saj se z vpeljevanjem tehnologije MIMO poveča kompleksnost sistema in prostorski pogoji. Na satelitih potrebujemo zmogljivo enoto za procesiranje digitalnih signalov, poleg tega pa vsaka antena oziroma MIMO kanal potrebuje svojo radio-frekvenčno enoto. Višja je tudi kompleksnost na programskem nivoju, poleg dodatne logike so algoritmi za procesiranje signalov dokaj računsko zahtevni. V satelitskih sistemih z MIMO je pomembno predvsem pozicioniranje anten. Največ težav povzroča okolje, ki je za razliko od običajnega (pri)zemeljskega večinoma prazno, kar onemogoča razširjanje signala po več poteh, kar je eden izmed predpogojev za uvedbo MIMO. Zato se na prvi pogled zdi, da MIMO ni primeren za uporabo v satelitskih komunikacijah. Vendar število novih aktivnih satelitov narašča, potreba po optimizaciji obstoječih sistemov pa se povečuje in morda katera izmed izvedenk MIMO (kot na primer LOS-MIMO) prispeva k omilitvi potrebe po velikih količinah umetnih satelitov za moderne širokopasovne storitve, kot je na primer satelitski internet v nizki zemeljski orbiti. Literatura [1] Wikipedia, the free encyclopedia [Online], članek MIMO. Dosegljivo: https://en.wikipedia.org/wiki/MIMO. [Dostopano: 25. 5. 2021]. [2] A. Paulraj in T. Kailath, »Increasing capacity in wireless broadcast systems using distributed transmission/directional reception«, US patent No. 5.345.5999, 6. 9. 1994. [3] Ao.Univ.Prof. Dipl.-Ing. Dr.techn Gerald Matz, Univ.Prof. Ing. Dipl.-Ing. Dr.-Ing. Christoph Mecklenbräuker: Predavanja z naslovom 'MIMO communications', 2020. [4] P. R. King, “Modelling and measurement of the land mobile satellite MIMO radio propagation channel,” Ph.D. dissertation, Apr 2007. 74 [5] "MIMOSA: Characterisation of the MIMO channel for mobile satellite systems." European Space Agency, https://artes.esa.int/projects/mimosa-characterisationmimo-channel-mobile-satellite-systems [6] F. Burkhardt, E. Eberlein, S. Jaeckel, G. Sommerkorn, and R. Prieto-Cerdeira, “MIMOSA-a dual approach to detailed land mobile satellite channel modeling,” International Journal of Satellite Communications and Networking, vol. 32, no. 4, pp. 309–328, 2014. http://dx.doi.org/10.1002/sat.1045 [7] B. Ramamurthy, »MIMO for Satellite Communication Systems,« University of South Australia, 22. avgust 2018. [8] J. Kyröläinen, et al., »Applicability of MIMO to satellite communications,«, Int. J. Satell. Commun. Network. 2014; 32:343–357. Zajem geografsko označenih meritev z brezpilotnim zrakoplovom Aleks Gabrič, Peter Miklavčič, Aljaž Blatnik, Boštjan Batagelj Univerza v Ljubljani, Fakulteta za elektrotehniko, Laboratorij za sevanje in optiko, Tržaška c. 25, 1000 Ljubljana E-pošta: aleks.gabric5@gmail.com Capturing geographically-tagged measurements using an unmanned aircraft Abstract. In recent years, aerial drones have become accessible to the average user due to miniaturization, integrated circuit development, and the open-source community. By employing various sensors, they offer a cost-effective way of acquiring geo-tagged measurements while in flight. Primarily, global navigation satellite systems (GNSS) and barometric altimeters are used. The flight controller can also provide IMU-corrected and Kalman-filtered estimations, much faster than a GNSS receiver’s location-fix rate. This paper presents an attempt at capturing geotagged measurements using an unmanned aircraft, focusing on the analysis of altitude measurements. It concludes with a basic evaluation of usability of such aircraft as a measurement platform in the air. 1 Uvod Brezpilotni zrakoplovi (angl. unmanned aerial vehicles – UAV), v nadaljevanju tudi droni, so v zadnjih letih zaradi miniaturizacije, razvoja integriranih vezij in vgrajenih sistemov, nizke cene sestavnih delov ter odprtokodne skupnosti, postali dostopni širši javnosti. V zadnjem času pogosto omenjan razvoj poteka v smeri avtonomnosti pri dostavi poštnih paketov [1], ter kot pojasnjuje Kim J., vzpostavitvi nizkocenovnih geolokacijskih markerjev. Opravljanje poštnih storitev je zgolj ena izmed možnosti. Tako L. Apvrille skupaj z ekipo raziskuje možnost uporabe brezpilotnih letalnikov pri preiskavi nesreč v gorah [2]. Majhno in lahko plovilo lahko ponudi hiter pregled iz zraka in po prednastavljeni trasi opravlja tudi naloge iskanja pogrešane osebe. Pri tem je pomembna orientacija plovila v prostoru za zagotavljanje sistematičnega preleta celotnega območja. Vizualni pregled na višini zahtevajo tudi daljnovodi visokonapetostnih sistemov, kjer so z uporabo brezpilotnih letalnikov stroški znatno nižji. Pri letu po vnaprej določeni poti izziv predstavlja predvsem nenadna izguba signala GNSS ali morebiten trk v daljnovod [3]. Izogib trkom je ključnega pomena tudi pri iskanju min oziroma čiščenju le-teh iz obstoječih minskih polj. Zaradi kratkega dometa talnega radarja mora brezpilotno plovilo leteti blizu tlem, se izogibati oviram in biti odporno na motnje ter izpad signala GNSS (zaradi morebitnih nebo-zastirajočih ovir). J. Colorado kot ključnega pri zagotavljanju točne geolokacije navaja načrtovanje paralelnega sistema, ki podatke pridobiva od številnih senzorjev in jih tudi ovrednoti [4]. ERK'2021, Portorož, 75-78 75 M. Kan in M.A. Dinesh navajata, da za zagotavljanje avtonomnosti dronov zadostuje sistem GPS (angl. Global Positioning System) oziroma ustrezna konkurenčna različica, skupaj z barometrom, pospeškometrom, žiroskopom in kompasom ter ustrezno obdelavo [5] [6]. Namen prispevka je prikazati poskus zajema geooznačenih meritev na nizkocenovnem brezpilotnem zrakoplovu, s fokusom analize na meritvah višine. Podana je tudi groba ocena uporabnosti zrakoplova kot merilne platforme za izvajanje meritev v zraku. 2 Določanje položaja plovila Brezpilotni zrakoplovi s pripadajočo senzoriko lahko omogočijo cenovno učinkovit način zajemanja geografsko označenih meritev v zraku [7]. Pri tem so ključnega pomena globalni navigacijski satelitski sistemi (angl. global navigation satellite systems – GNSS). GNSS je sistem umetnih zemeljskih satelitov, ki omogoča precej zanesljiv način določanja položaja na Zemlji in v tanki plasti zračnega prostora. Trenutno na globalnem nivoju delujejo štirje navigacijski sistemi: • ameriški GPS, • ruski GLONASS, • evropski Galileo, • kitajski BeiDou. GNSS deluje na principu meritev razlik oddaljenosti od radijskih svetilnikov (hiperbolični sistem), ki jih predstavljajo sateliti v zemeljski tirnici [8]. Ti se nahajajo na višini okrog 20.000 km nad Zemljo in oddajajo pakete podatkov z informacijo o času oddaje ter lokaciji satelita. Iz sprejetih navigacijskih signalov uporabniška naprava izmeri razlike v časih med posameznimi svetilniki. Sprejemnik sprejme relativne čase posameznih radijskih svetilnikov in izračuna svojo lokacijo. Zaradi uporabe časa kot glavnega načina merjenja razdalje morajo biti oddajniki in sprejemniki zelo dobro sinhronizirani. To na oddajni strani zagotavljajo zelo stabilne atomske ure. Zaradi stabilnega časovnega vira je GNSS možno uporabljati tudi kot časovno referenco. GPS ima uro z natančnostjo 10 ns, za sprejemnike na Zemlji pa se ta v praksi izkaže od 100 ns do 1 s [9]. Za izračun polne lokacije (zemljepisna širina, dolžina ter višina, tako imenovani 3D fix) je potrebno prejemati in obdelovati signal vsaj štirih satelitov, z več sateliti pa zagotovimo manjšo napako meritve. Sodobni GNSS lahko s pomočjo dodatnih popravkov (angl. real-time kinematics - RTK) dosežejo tudi nekajcentimetrsko natančnost. 3 Platforma za zajemanje geografsko označenih meritev Osnova za zajemanje meritev je brezpilotni letalnik domače izdelave, ki ga prikazuje slika 1. Zrakoplov ima maso 1400 g in v zmernem vetru lahko v zraku ostane do 15 minut. Za stabilizacijo, navigacijo in avtomatsko letenje uporablja odprtokodni krmilnik leta The Cube Orange [10] z nameščeno odprtokodno programsko opremo ArduPilot Copter [11] različice 4.0.7. uporabljen sprejemnik GNSS Here3 proizvajalca HEX [12], ki uporablja široko dostopen modul u-blox M8P. S krmilno enoto ta komunicira po vodilu CAN (angl. Controller Area Network) [13]. Po podatkih proizvajalca naj bi tak sprejemnik zagotavljal natančnost lokacije do 2,5 m. S sočasnim sprejemom dveh različnih satelitskih navigacijskih sistemov GNSS (GPS ter GLONASS) v praksi opažamo natančnost pod enim metrom v horizontalni ravnini. Modul u-blox M8P sprejema GPS, GLONASS ter BeiDou, a le dva sočasno. Slika 2. Blokovni načrt krmilnika leta skupaj s senzorji. 4 Priprava na zajem meritev Natančnost izmerjene lokacije je primarno odvisna od položaja satelitov GNSS v prostoru. Kakovost položaja satelitov se podaja z vrednostjo redčenja natančnosti (angl. dilution of precision – DOP) [14]. Glede na željen merilni rezultat poznamo različne oblike redčenja natančnosti, ki jih prikazuje slika 3: Slika 1. Brezpilotni letalnik. Celoten sistem vsebuje vsebuje več senzorjev in je prikazan z blokovno shemo na sliki 2. Za letenje in zajem geooznačenih meritev so pomembni: • Tri triosni integrirani pospeškometri in žiroskopi ICM20649, ICM20602 in ICM20948 • Triosni merilnik zemeljskega magnetnega polja (magnetometer) ICM20948, • Dva senzorja tlaka (barometra) MS5611, • Sprejemnik GNSS u-blox M8P z dodatnim magnetometrom ICM20948. Pospeškometri, žiroskopi ter magnetometer so v sistem vključeni redundantno, kar pomeni, da drug drugega nadomeščajo v delovanju. Programska oprema se med letom odloča, kateri senzor bo uporabljen za stabilizacijo in navigacijo glede na kvaliteto zajetih meritev posameznega senzorja. Dva pospeškometra in en senzor tlaka so vibracijsko in toplotno izolirani ter ogrevani na konstantno temperaturo 45°C, kar bistveno zmanjša vpliv okolice. Letalnik za stabilizacijo uporablja pospeškometer ter žiroskop, kar v praksi ni dovolj za navigacijo po prostoru, saj zaradi seštevanja napak opazimo časovno lezenje izračunanih vrednosti. Uporabno točen položaj lahko merita približno 10 sekund. Za točnejšo navigacijo je 76 • • • • • GDOP (angl. Geometric Dilution Of Precision) – geometrično redčenje natančnosti, celotna točnost, PDOP (angl. Positional Dilution Of Precision) – položajno redčenje natančnosti, položajna točnost, TDOP (angl. Time Dilution Of Precision) – časovno redčenje natančnosti, časovna točnost, HDOP (angl. Horizontal Dilution Of Precision) – horizontalno redčenje natančnosti, horizontalna točnost, VDOP (angl. Vertical Dilution Of Precision) – višinsko redčenje natančnosti, višinska točnost. Slika 3. Redčenje natančnosti GPS/GNSS. GNSS sistemi so zelo dobri za zajemanje zemljepisne širine in dolžine (meritev v horizontalni ravnini), nekoliko manj točni pa so pri določanju višine (vertikalne koordinate). Zaradi tega se za merjenje višine uporabljajo dodatni senzorji, kot na primer radar, lidar ali barometer. Radar in lidar višino določita z meritvijo zakasnitve odboja od tal ter ustrezne obdelave podatkov. Sta precej uporabna načina merjenja razdalje, a oba pomenita opazno dodatno težo in večji strošek končnega sistema. Poleg tega njune meritve motijo tresljaji in nehomogen in/ali absorptiven teren (na primer rastje), kar privede do večje merilne negotovosti. Kot cenovno ugodna rešitev se na dronih navadno uporabljajo senzorji tlaka (barometri), ki v izvedbah za splošno uporabo ponujajo približno decimetrsko natančnost. Ker propelerski pogon zrakoplova v svoji okolici povzroča hitre spremembe zračnega tlaka, je za zanesljivo delovanje barometra potrebno presejanje vrednosti. ArduPilot uporablja razširjeno Kalmanovo sito (angl. extended Kalman filter – EKF), ki obdeluje podatke vseh senzorjev na krmilniku in vsako iteracijo izračuna optimalen podatek o lokaciji in orientaciji naprave glede na uporabljeno senzoriko. Krmilna zanka teče s frekvenco 400 Hz, zbiranje njenih meritev pa z 10 vzorci na sekundo za pospeškometre, žiroskope, magnetometer in barometer ter s 5 vzorci na sekundo za lokacijo, pridobljeno z GNSS. Za ovrednotenje meritev smo načrtovali ustrezno pot poleta, ki jo prikazuje slika 4. Testni polet smo opravili v dobrih 15 minutah, kolikor je tudi avtonomija drona. Prvi del poleta smo opravili z avtopilotom, drugega pa ročno. V času poleta je bilo zabeleženih približno 4500 vzorcev lokacije. Pri skupni višinski razliki 40 m se ta z večjimi in manjšimi spremembami ter vmesnimi pristanki in letenjem na konstantni višini spremeni 15-krat. uporablja senzorje zračnega tlaka, Kalmanovo sito pa poleg tega lahko upošteva tako sprejemnik GNSS, kakor tudi ostale prej naštete senzorje. Vprašanje je, ali s tem doseže natančnost, primerljivo s HDOP. Povprečna vrednost HDOP med letom je znašala 0,74 m. Primerjava med višinskim profilom, pridobljenim iz surovih barometrskih podatkov ter iz lokacij GNSS in EKF je vidna na sliki 5. Če preverimo ali vsaj privzamemo uspešno ohranjanje konstantne višine v intervalih med njenimi spremembami, lahko hitro opazimo predvidevanja iz teorije: visoka korelacija vrednosti barometra kot primarnega senzorja višine in izhoda EKF, manjši točnost in natančnost GNSS glede na barometer/EKF in tudi manjša točnost barometrske višine glede na vrednost, presejano z EKF. Poleg tega lahko opazimo uspešno detekcijo vmesnih pristankov s hitro rekalibracijo sita, kjer se vrednost izhoda EKF vsakič uspešno umiri na začetno vrednost. Zanimiva pa je tudi močnejša valovitost na višinah, ki jo pripisujemo tamkajšnjim močnejšim vetrovom. Slika 4. Prikaz testnega poleta v programu Google Earth. Slika 6. Razliki višin EKF-barometer in EKF-GNSS. 5 Prikaz merilnih rezultatov Pri analizi meritev smo se osredotočili na primerjavo višinskih profilov, izmerjenih z barometrom in sprejemom GNSS. Zmogljivost GNSS v horizontalni ravnini je dobro raziskana in poleg samih pogojev sprejema v praksi najbolj odvisna od zmogljivosti sprejemnika, ki si ga lahko privoščimo glede na fizikalne in finančne omejitve. Zaradi manjše občutljivosti GNSS v vertikalni smeri (VDOP > HDOP) se za meritev višine primarno 77 Slika 5. Višinski profili, izmerjeni z barometrom, sprejemnikom GNSS ter Kalmanovim sitom. Na sliki 6 sta prikazani razliki med referenčno višino, za katero smo privzeli izhod EKF ter višinama, izmerjenima z barometrom in sprejemom GNSS. Višina po GNSS je precej nenatančna, saj opazimo tudi do 4 m odstopanja (10% pri višini 40 m). Barometrska višina je natančnejša, a vseeno potrebuje kar nekaj procesiranja, da je zagotovljen verodostojen in uporaben rezultat. Tudi na tem grafu lahko na krivulji EKF-GNSS opazimo višjo valovitost pri vzdrževanju visoke višine, zelo verjetno kot posledico vetrov. Standardni odklon razlik meritev EKF-GNSS znaša 1,06 m, EKF-barometer pa 0,56 m. Na sliki 7 so prikazani enaki višinski profili kot na sliki 5 približno minuto dolgega postanka na tleh. Vidno je odstopanje meritev GNSS tudi pod začetno višino tal. Med postankom je bil približno 40 sekund izklopljen pogon, kar je lepo vidno z umiritvijo izhoda barometra. Rekalibracija EKF je potekala med t = 900 s in t = 915 s. Slika 7. Višinski profili med postankom na tleh. 6 Zaključek Med testiranjem se je brezpilotni zrakoplov izkazal za dober način geografskega označevanja meritev. Sprejemnik GNSS v kombinaciji z barometrom in ostalimi senzorji omogoča dovolj natančno lociranje po vseh treh koordinatah prostora za marsikatero aplikacijo. Z uporabo popravkov GPS RTK bi natančnost lahko izboljšali do nekajcentimetrskega območja, vendar so primeri uporabe, ki zahtevajo takšno natančnost redkejši (na primer geodetske meritve). Največjo omejitev predstavlja teža merilne opreme. Z dodajanjem bremen letalnik hitro izgublja okretnost in avtonomijo, prav tako ni prav visoka zgornja meja nosilnosti. Z večanjem baterije ne pridemo daleč, ker s tem opazno večamo skupno maso, kar za sabo potegne potrebo po motorjih večje moči, in tako naprej, podobno kot pri raketni enačbi. Trenutno razmerje teža-potisk je približno 1:2, kar je blizu spodnje meje uporabnosti takšnega drona. Vseeno lahko zaključimo, da je za nizkocenovni brezpilotni zrakoplov natančnost meritev nad pričakovanji. Zahvala Delo je nastalo pod okriljem programa NATO Znanost za mir, projekta CLARIFIER - SPS.MYP G5888. This research is supported by CLARIFIER, NATO multiyear project Project CLARIFIER - SPS.MYP G5888. Literatura [1] J. Kim, „Autonomous flight system using marker recognition on drone,“ 2015 21st Korea-Japan 78 Joint Workshop on Frontiers of Computer Vision (FCV), str. 1-4, 2015. [2] L. Apvrille, T. Tanzi in J.-L. Dugelay, „Autonomous drones for assisting rescue services within the context of natural disasters,“ 2014 XXXIth URSI General Assembly and Scientific Symposium (URSI GASS), str. 1-4, 2014. [3] M. Morita, H. Kinjo, S. Sato, T. Sulyyon in T. Anezaki, „Autonomous flight drone for infrastructure (transmission line) inspection (3),“ v 2017 International Conference on Intelligent Informatics and Biomedical Sciences (ICIIBMS), Okinawa, Japan, 2017 . [4] J. Colorado, C. Devia, M. Perez, I. Mondragon, D. Mendez in C. Parra, „Low-altitude autonomous drone navigation for landmine detection purposes,“ v 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA , 2017. [5] Masataka Kan et al., „Development of Drone Capable of Autonomous Flight Using GPS,“ v Proceedings of the International MultiConference of Engineers and Computer Scientists 2018 Vol II, Hong Kong, 2018. [6] Dinesh M.A. et al., „Development of an Autonomous Drone for Surveillance Application,“ International Research Journal of Engineering and Technology, Izv. 5, št. 8, str. 331-333, 2018. [7] J. Jeziorska, „UAS for Wetland Mapping and Hydrological Modeling,“ Remote Sensing, Izv. 11, št. 17, 2019. [8] D. M. (ur.), Uporaba vesoljskih tehnologij, Radovljica: Didakta, 1996. [9] „GPS time accuracy“. Dostopno: https://www.atomicclock.galleon.eu.com/support/gps-timeaccuracy.html. [Dostopano 20.07.2021]. [10] „The Cube Orange autopilot“. Dostopno: https://ardupilot.org/copter/docs/commonthecubeorange-overview.html. [Dostopano 20.07.2021]. [11] „ArduPilot Copter“. Dostopno: https://ardupilot.org/copter/. [Dostopano 20.07.2021]. [12] „Here3 sprejemnik GNSS“. Dostopno: https://docs.cubepilot.org/user-guides/here-3/here3-manual. [Dostopano 20.07.2021]. [13] Dewesoft, „What Is CAN Bus (Controller Area Network) and How It Compares to Other Vehicle Bus Networks,“ Dewesoft, 17 02 2021. Dostopno: https://dewesoft.com/daq/what-is-can-bus. [Dostopano 25.07.2021]. [14] J. Konečnik, Integracija sistemov GPS in GLONASS v geodetski izmeri, Ljubljana: Diplomska naloga, 2008. Razpoznavanje vsebnosti barvila v plastičnem materialu na osnovi obdelave teraherčnih spektroskopskih podatkov in klasifikacijskega algoritma Andrej Sarjaš1,Blaž Pongrac1, Dušan Gleich1 University of Maribor, Faculty of Electrical Engineering and Computer Science, Koroška cesta 46, 2000 Maribor, Slovenia E-pošta: andrej.sarjas@um.si 1 Abstract. The paper presents the utilization of THz frequency-domain spectroscopy (FDS) data for the classification of coloring pigment in plastic material. THz-FDS system is known that offers high-frequency resolution and is beneficial for material inspection, where the resonance characteristic of the material is in a narrow band. Regarding the uncertainty property of the FDS system, the paper introduces an advanced processing algorithm, which is reliable and has the capability to accurately classify material characteristics, despite the measurement uncertainty. The processing algorithm is based on Convolution Neural Network, which uses the specially designed structure for FDS data. The results are analyzed and confirmed with real experiments. 1 Uvod Tehnološki razvoj elektronskih komponent je premaknil mejnik, ki omogoča generiranje elektromagnetnega valovanja med klasičnim radio in optičnim področjem. Ta del elektromagnetnega spektra imenujemo teraherčno področje in zajema valovanje s frekvenco med 0,1 in vse do 10 THz [1]. Valovne dolžine valovanja so v razredu milimetrov in manj. Dolgo časa je ta del spektra veljal za neizkoriščenega, katerega vzrok je bil pomanjkanja komponent in takratno stanje tehnološkega razvoja. Na drugi strani detekcija in generiranje valov THz vključuje drage komponente, kot so femtosekundni impulzni laserji, optično prevodne antene, opto-električni kristali, ojačevalniki itd [2]. S tehnološkim razvojem materialov in minimizacijo elektronskih komponent, je hitrost elektronskih komponent dosegla področje, kjer je možno z različnimi elektro-optičnimi principi generirati in zajemati valovanje v spektru THz. Tako je spekter THz postal predmet mnogih raziskav in nadaljnjega razvoja novih aplikacij. Tehnologija THz je v zadnjem desetletju dosegla [7]-[9] stopnjo tehnološkega razvoja [3], kar pomeni, da je presegla okvire prototipov in bazičnega testiranja. Tehnologija ima velik potencial pri nedestruktivnih brezkontaktnih preiskovanjih materialov [4], kemijskih analizah, preiskovanju fizikalnih pojavov[5], medicini, varnostnih pregledih, farmaciji in prehrambeni industriji [6]. Članek predstavlja uporabo teraherčne spektroskopije za določitev in razpoznavanje vsebnosti različnih barvil v ERK'2021, Portorož, 79-82 79 plastičnem materialu. Plastični materiali se pogosto uporabljajo v številnih proizvodnih postopkih in oblikovanju. Prepoznavanje barvnega pigmenta v materialu je pomembna pri nadzoru kakovosti in lastnosti materiala [5]. Da bi zagotovili nadzor tekom proizvodnega procesa, se v mnogih proizvodnih sklopih pojavlja zahteva po neinvazivnem in nedestruktivnem pregledu materiala. Trenutno uporabljene tehnike pregledovanja plastičnih materialov vključujejo invazivne tehnike, kot so rezanje, brušenje in mletje, pri čemer, ne invazivne tehnike temeljijo pa predvsem na metodah površinskega pregleda in so neučinkovite pri globinskem pregledu materiala. V članku smo predstavili razpoznavanje barvnega pigmenta na osnovi teraherčnih spektroskopskih podatkov in konvolucijske nevronske mreže (CNN), kot klasifikacijski algoritem [7]. Teraherčna spektroskopija omogoča neinvazivno preiskovanje materiala tudi pod površjem. Na ta način je možno razpoznati vsebnost in tip pigmenta v plastičnem materialu. V tem delu smo se osredotočili na prepoznavanje med različnimi barvili, tako da smo zajete podatke THz procesirali s pomočjo naučenega klasifikacijskega algoritma. 2 Teraherčna spektroskopija Poznamo dve vrsti teraherčne spektroskopije, časovno 'time-domain spectroscopy' (TDS) in frekvenčno 'frequency-domain spectroscopy' (FDS) [4]. Večina meritev in analiz je izvedena s pomočjo TDS. Zajeti signal pri TDS je v časovni domeni in je generiran na snovi femtosekundenga laserja, ki preko elektrooptičnega organskega kristala sproži kratek THzimpulz. Prednost TDS je koherentno zajemanje valovanja THz in posledično enostavnejša analiza zajetih podatkov. Nominalna pasovna širina TDS metode je od 0,1 do 5 THz in frekvenčna ločljivost med 1-5 GHz. FDS princip je zelo podoben TDS v smislu fizikalnega delovanja. FDS uporablja dva zvezna laserska izvora, ki imata zamaknjeno valovno dolžino. Monokromatični THz-signal se generira s pomočjo polprevodniške antene (PCA), ki služi kot optični mešalnik. Z vodenjem zamika valovnih dolžin laserjev, lahko spreminjamo valovno dolžino valovanja THz. Z razliko od TDS, FDS uporablja zvezno valovanje, kjer je mogoč pojav stoječega valovanja, ki ga je potrebno upoštevati pri analizi zajetih podatkov. Tipična pasovna širina FDS je od 0,05 do 3 THz s frekvenčno Whole specter Slika 1. Princip delovanja TeraScan 1550 FDS sistema [4]. V poizkusu smo uporabili pet različnih plastičnih vzorcev z različnimi barvnimi pigmenti: bela, modra, zelena, rumena in črna. Geometrija vzorcev je bila enaka pri vseh serijah. Vzorci z različnimi pigmenti so predstavljeni na sliki 2. Close view I[nA] I[nA] ločljivostjo nižjo od 1MHz, kar je poglavitna prednost pred TDS-načinom. V članku bomo uporabili FDS TeraScan 1550 sistem za razločevanje pigmenta v plastičnem materialu. TaraScan 1550 lahko generira THz valove v razponu od 0,05 do 1,21 THz. Ima širok dinamični razpon in frekvenčno ločljivost 1 MHz. Za mešanje optičnih signalov uporablja dve laserski diodi z različnimi valovnimi dolžinami ter oddajnik in detektor PCA. Princip delovanja TeraScan 1550 je predstavljen na sliki 1. f[GHz] f[GHz] Slika 4. THz spekter plastičnega materiala. 3 Obdelava podatkov Zajete meritve pri FDS THz-spektroskopiji obsegajo veliko količino podatkov, ki jih je potrebno obdelati. Zajeti spektroskopski podatki vsebujejo informacije o barvi pigmenta in kakovosti pripravljenega plastičnega materiala. Spektralne lastnosti posameznega pigmenta v materialu so prikrite in niso jasno izražene, zato je potrebna poglobljena analiza in uporaba zanesljivih tehnik obdelave. Za znižanje količine podatkov smo uporabili tri tehnike obdelave signalov, ki so omogočile hitrejše procesiranje pri zagotovljeni enaki natančnosti razlikovanja, kot pri polnem naboru podatkov. Tehnike lahko razvrstimo po vrstnem redu uporabe: • Detekcija vrha: Iz merjenega spektra izločimo vrhove na snovi praga in določenega intervala, v katerem se nahaja ekstrem. • Določitev ovojnice: Po ekstrakciji vrhov, vrhove interpoliramo tako, da dobimo spektralno ovojnico v obliki zvezne funkcije. • Podvzorčenje: Po določitvi ovojnice, signal podvzorčimo in tako znižamo kompleksnost podatkov. Podvzorčenje izvedemo na osnovi izbranega koraka podvzorčenja. Slika 5 prikazuje proces obdelave zajetega signala. RawData Data Raw Peak-FindFunction Function Envelo 2.2.Envelo Raw Data 1.1.Peak-Find 1. Peak-Find Function Slika 2. Pet plastičnih vzorcev z različnimi pigmenti. Eksperimentalna postavitev FDS-sistem s plastičnim vzorcem je predstavljena na sliki 3. Raw Data Downsampling 3. Downsampling 2. Envelope extraction3.3.Downsampling 1. Peak-Find Function 3. Downsampling 4. WSD Slika 3. FDS sistem z oddajno in sprejemno PCA anteno ter plastičnim vzorcem. Zajemanje podatkov pri vseh vzorcih je bilo izvedeno v frekvenčnem področju od 0,06 do 1,2 THz. Primer zajetega spektra je predstavljen na sliki 4. 80 Slika 5. Proces obdelave signala: zajeti signal, detekcija vrha, ekstrakcija ovojnice in podvzorčenje. Obdelan signal smo uporabili za učenje in nadaljnjo klasifikacijo s pomočjo algoritma CNN. WSD 4.4.WSD 4 Konvolucijska nevronska mreža Input: 2D data Conv1 Maxpool1 Conv2 10x10/1 Algoritem CNN spada v skupino globokih nevronskih mrež in paradigem globokega učenja [6]. Učinkovitost mreže je potrjena v mnogih raziskavah, kot so algoritmi za obdelavo slik, zaznavanje govora, prepoznavanje obrazov [7] itd. Nove raziskave potrjujejo, da ima CNN mnoge prednosti pri napovedovanju nizov za diagnostiko in klasifikacijo napak različnih industrijskih procesov in aplikacij. Poglavitna razlika algoritma CNN napram drugim, je zmožnost prostorskega zaznavanj značilk, pri čemer CNN posnema vidne-prostorske funkcije človeškega vida [6],[8]. 4.1 Določitev strukture Učinkovitost CNN je odvisna od izbire strukture in kompleksnosti vhodnih podatkov [9]. Določitev strukture je pomembna faza raziskave, ki pogosto poteka v sklopu z učenjem. Struktura določa kompleksnost mreže, katero je možno naučiti na določen tip podatkov. V predstavljeni raziskavi, smo se ukvarjali z določitvijo strukture, ki mora biti dovolj kompleksna, da zagotovi zanesljivo razločevanje med pigmenti in da je časovno učinkovita. Glede na predstavljeno, je struktura mreže odvisna tudi od predhodne obdelave podatkov, predstavljene v poglavju 3. Za razločevanje smo uporabili dvo-dimenzionalni 2D-CNN, ki operira z 2D podatki. V ta namen smo obdelan 1D-signal iz poglavja tri pretvorili v 2D po načinu linearnega zlaganja s predpisanim intervalom, ki je večkratni dolžine zajetega signala. V prispevku bomo predstavili dva tipa mreže, ki sta plod raziskav in testiranj. Glavni gradniki CNN so plasti, ki jih lahko poljubno izbiramo v različnih nivojih mreže. Pri razpoznavanju barvila, smo uporabili naslednje tipe CNN plasti, • Konvolucijska plast (ConvL): Izloči značilke na osnovi določenih konvolucijskih filtrov (CF). Velikost ter število filtrov v plasti je prosti parameter, ki ga določi snovalec. • Linearna aktivacijka funkcija (ReLu): Fukcija služi za pohitritev procesa učenja ter zniža kompleksnost podatkov. Pogosto se uporablja za ConvL plastjo. • Združevalna plast (Pool): Služi za redukcijo ekstrahiranih značilk ter tako zniža kompleksnost podatkov. V našem primeru smo v združevalni plasti uporabili funkcijo maksimum. • Glajenje (FC): Po ekstrakciji prostorskih značilk je plast glajenje namenjena za klasifikacijo. FC nivo CNN-a je enak, kot pri klasičnih nevronskih mrežah (NN), kjer se preko križne entropije določi verjetnostna pripadnost obdelanega vzorca. Sliki 6. in 7. prikazujeta mrežni strukturi CNN1 in CNN2, pri čemer struktura CNN1 na sliki 6. uporablja polni nabor in slika 7. CNN2 znižan nabor podatkov. 81 10/2 Maxpool2 FC Cross ReLu ReLu IP 2x2/1 4x4 22/1 15x15 5 50x400 Slika 6. Struktura CNN1. Conv1 Input 2D data Conv2 ReLu FC Cross ReLu IP 8/2 3x3 8/1 2x2 5 50x8 Slika 7. Struktura CNN2. 4.2 Učenje Po izbiri strukture CNN-a in določitvi plasti, je proces učenja povezan z določitvijo hiper-parametrov, kot so velikost koraka in število filtrov v izbrani plasti. Učenje CNN temelji na minimizaciji cenilne funkcije, ki prilagodi vrednosti izbranih parametrov na način, da se doseže minimum. Obe strukturi CNN1 in CNN2 sta bili učeni z 2Dvhodnih podatkih. CNN1 je uporabljala 1D-meritve z 20.000 vzorci, ki jih pretvorimo v 2D obliko, dimenzije 50x400. CNN2 je uporabljala poenostavljene 1Dpodatke s 400 vzorci in pretvorjene 2D podatke, dimenzije 50x8. Za učenje smo pripravili deset serij vzorcev. Vsaka serija je vsebovala sto vzorcev vsakega barvila. Obe mreži sta bili učeni s prvo serijo vzorcev. Za validacijo učenja, smo uporabili drugo serijo, pri čemer smo ostalih osem uporabili za oceno zanesljivosti prepoznavanja. Rezultati učenja obeh struktur so predstavljeni v tabeli 1. Tabela 1. Rezultati učenja mreže CNN1 in CNN2. Učinkovitost Čas učenja (h) Učenje (α) Epoch 0,972 0,967 3,45 0,07 0,001 0,003 1500 350 CNN1 CNN2 Kjer učinkovitost pomeni, zanesljivost prepoznavanja izbranih testnih in validacsijskih vzorcih. Čas učenja pomeni čas, ki je bil porabljen za učenje posamezne mreže CNN. Koeficient α je faktor učenja in Epoch je število ponovitev. 5 Rezultati Sistem TeraScan 1550 je bil kalibriran samo za meritve iz prve serije. Za vse ostale serije smo uporabili začetno nastavitev, kar za THz-FDS aplikacije ni običajno. S tem smo skušali preizkusiti robustnost prepoznavanja. Rezultati razpoznavanj so predstavljeni v tabelah od 2 do 6, za vsako barvilo posebej, kjer je tt(ms)–čas obdelave posamezne meritve v milisekundah, μt–učinkovitost razpoznavanja na intervalu [0-1], σtstandardni odklon, μtmax–najboljši rezultat in μtmin– najslabši rezultat razpoznavanja. Podatki so bili pridobljeni na testni seriji, ki je zajemala 800 vzorcev vsakega barvila. Modra tt(ms) μt σt μtmax μtmin bistveno boljše rezultate, kot CNN1. S tem potrdimo, da s primerno izbiro parametrov obdelave ter primerno strukturo CNN, prav tako lahko zagotovimo natačno in časovno učinkovtio razpoznavanje barvila, tudi za poenostavljen niz. Matrika razvrščanja nakazuje, da ima črni pigment frekvečno karakteristiko, ki je izraziteje kolerirana z ostalimi pigmenti. Ostali pigmenti imajo nižjo raztresentost napram drugim, kar pomeni, da imajo bolj enoznačni frekvenčni odtis. CNN1 CNN2 241,2 1,66 0,984 0,979 0,036 0,039 1 1 0,37 0,33 6 Zaključek Tabela 2. Učinkovitost prepoznavanja črnih vzorcev Črna tt(ms) μt σt μtmax μtmin CNN1 CNN2 238,2 1,75 0,991 0,985 0,039 0,041 1 1 0,41 0,37 Tabela 3. Učinkovitost prepoznavanja modrih vzorcev Tabela 4. Učinkovitost prepoznavanja zelenih vzorcev Zelena tt(ms) μt σt μtmax μtmin CNN1 CNN2 244,1 1,71 0,977 0,976 0,033 0,029 1 1 0,392 0,381 Tabela 5. Učinkovitost prepoznavanja belih vzorcev Bela tt(ms) μt σt μtmax μtmin CNN1 CNN2 245,1 1,31 0,984 0,981 0,023 0,032 1 1 0,457 0,421 Tabela 6. Učinkovitost prepoznavanja rumenih vzorcev Rumena tt(ms) μt σt μtmax μtmin CNN1 CNN2 242,72 1,45 0,986 0,984 0,024 0,025 1 1 0,512 0,491 Učinkovitost reazpoznavanja predstavimo z matriko razvrščanja, posebej za strukturo CNN1 in CNN2. Matriki sta prikazani na sliki 8 in 9. CNN1 Slika 8. Matrika razvrščanja strukture CNN1. CNN2 Slika 9. Matrika razvrščanja strukture CNN2. Glede na predstavljene rzultate, tabela 2-6 in sliki 8 in 9 je razvidno, da je natačnost razposznavanja pigmenta pri obeh strukutrah skoraj enaka. Strukutra CNN1 dosega malo boljše rezultate, ki pa ne vplivajo na knočno razpoznavo. Očitna razlika je predvsem v hitrosti in zahtevnosti obeh algoritmov, pri čemer CNN2 dosega 82 Članek predstavlja razpoznavanje pigmenta v plastičnem materialu s pomočjo THz-FDS podatkov in konvolucijske nevronske mreže. Razpoznavanje je zanesljivo in robustno, saj so uporabljeni testni vzorci uporabljali predhodno kalibriran sistem iz prve serije. Povprečna zaneljsivost razpoznavanja je okrog 97%. Z rezultati lahko potrdimo, da ima vsak pigment unikaten frekvenčni odtis v THz področju, saj jih je možno razpoznavati z naprednimi kalsifikacijkimi algoritmi. Glede hitrosti izvajanja razpoznavanja pri strukturi CNN2, bi sistem lahko uporabili za izvajanje v realnem času, kot sistem za kontrolo kakovosti plastičnega materiala. Možna nadgradnja bi bila, da bi natančneje preiskali ožje frekvenčno področje v katerem se nahaja frekvenčni odtis pigmenta in tako pospešili zajemanje THz podatkov. Literatura [1] L. Yun-Shik, Principles of Terahertz Science and Technology, Springer, 2009 [2] J. B. Baxter, G. W. GugliettaTerahertz, “Terahertz Spectroscopy”, Anal. Chem. , vol. 83, no. 12, 4342–4368, 2011, https://doi.org/10.1021/ac200907z [3] M. Naftaly, N. Vieweg, and A. Deninger, “Industrial applications of terahertz sensing: State of play,” Sensors (Switzerland), vol. 19, no. 19, 2019, doi: 10.3390/s19194203 [4] Fischer, B.M.;Wietzke, S.; Reuter, M.; Peters, O.; Gente, R.; Jansen, C.; Vieweg, N.; Koch, M. Investigating material characteristics and morphology of polymers using terahertz technologies. IEEE Trans. Terahertz Sci. Technol. 2013, 3, 259–268 [5] Wietzke, S.; Jansen, C.; Reuter, M.; Jung, T.; Kraft, D.; Chatterjee, S.; Fischer, B.M.; Koch, M. Terahertz spectroscopy on polymers: A review of morphological studies. J. Mol. Struct. 2011, 1006, 41–51 [6] A. Ren, A. Zahid, M. A. Imran, A. Alomainy, D. Fan, and Q. H. Abbasi, “Terahertz sensing for fruit spoilage monitoring,” 2019 2nd Int. Work. Mob. Terahertz Syst. IWMTS 2019, pp. 1–4, 2019, doi: 10.1109/IWMTS.2019.8823735 [7] Y. D. Li, Z. B. Hao, and H. Lei, “Survey of convolutional neural network”, J. Comput. Appl., vol. 36, no. 9, pp. 2508-2515, 2565, 2016 [8] M. Hassaballah and A., I., Awad, “Deep Learning in Computer Vision: Principles and Applications”, CRC Press; 1st edition,2020 [9] L. Caña, J.P., G.Herrero, J., Molina López, “J.M. Forecasting Nonlinear Systems with LSTM: Analysis and Comparison with EKF”, Sensors 2021, 21, 1805. https://doi.org/10.3390/s21051805 Regresivna nevronska mreža za ocenjevanje vlažnosti tal Blaž Pongrac1 , Dušan Gleich 1 , Peter Planinšič 1 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Slomškov trg 15, Maribor, Slovenija E-pošta: blaz.pongrac1@um.si Regression Neural Network for Soil Moisture Estimation Over the past few years image categorization using deep learning became very popular, because it can handle large databases and has shown good recognition results. This paper presents the complex valued convolutional network (CV-CNN) for Synthetic Aperture Radar (SAR) soil moisture estimation. The CV-CNN consist in general of a real or complex valued input layer, output layer and one or more hidden layers. Hidden layers represent any combination of convolutional layers, pooling layers, activation functions, and are fully defined within complex valued domain. This paper proposes a deep Convolutional Neural Network (CNN) for soil moisture parameter estimation. A 9 layer convolutional neural network was used, consisting of convolutional, pooling, dropout, fully connected and regression layers. We used 1000 ground measurements for each SAR acquisition using L-band fully polarimetric SAR data. The experimental results were verified using 100 ground points. The accuracy of volumetric moisture was around 13%. 1 Uvod Radar z umetno odprtino (ang. Synthetic Aperture Radar, SAR) je aktivni senzor, ki lahko zajema podatke neodvisno od vremena, podnevi in ponoči. Zaradi tega lahko SAR slike uporabimo v številnih aplikacijah, od meritev vlažnosti, spremljanja stanja gozdov in ocenjevanja biomase, za aplikacije v kmetijstvu, spremljanje urbanega okolja, v aplikacijah za spremljanju potresov in zemeljskih plazov, itd. SAR je nadvse primeren za klasifikacijo zemeljske površine, zaznavanje tarč na površini zemlje in nadzor ter spremljanje zemeljskih procesov (npr. drsenje, tektonske premike, vlažnost, itd.). Interpretacija slik SAR se zaradi mehanizmov sipanja in pegastega šuma v SAR slikah razlikuje od foto-vizualne analize. Analiza in interpretacija SAR slik sta bili v zadnjih desetletjih deležni obsežnih raziskav. V zadnjih letih so predlagali uporabo več različnih globokih konvolucijskih nevronskih mrež (ang. Convolutional Neural Network, CNN). Obstaja več struktur globokih konvolucijskih mrež oz. modelov, npr. AlexNet [1], VGG-S [2], Places-CNN [3], polno konvolucijski semantičlo segmentacijski model (ang. Fully Convolutional Semantic Segmetation Model) [4], modeli CNN za ERK'2021, Portorož, 83-86 83 salientno objektno subitiranje (ang. CNN Models for Salient Object Subitizing) [5], Places-CNDS modeli za sekcijsko prepoznavo [6], modeli za določevanja starosti in spola [7], GoogLeNet [8], itd. Vsi, v zadnjih letih uporabljeni modeli, se ukvarjajo s točno določenim problemom, kot je to prekomerno prilagajanje, povezave med vozlišči sosednjih slojev, večja kapaciteta učenja, itd. CNN s kompleksnimi vrednostmi so že bile uporabljene, in sicer v večih pristopih klasifikacije realnih in kompleksnih problemov [9]-[10]. Avtorji so v [9] predstavili model CNN s kompleksnimi vhodnimi podatki in utežmi. Predlagan kompleksni model je bil posplošitev realnega modela. Ena izmed prvih raziskav CNN s kompleksnimi vrednostmi (ang. Complex Value CNN, CVCNN) za prepoznavo objektov iz polarimetričnih SAR (Pol-SAR) podatkov je bila predstavljena v [11]. Uporabljena je bila struktura z enim samim konvolucijskiim slojem, ki je dala obetavne rezultate. CV-CNN je bila predstavljena v [12], kjer je spust po naklonu (ang. Gradient Descent) v polnosti uporabljen za učenje tega tipa nevronskie mreže. Primerjava različnih modelov CNN z realnimi podatki (ang. Real-Valued CNN, RV-CNN) za klasifikacijo slik se je razširila tudi na CV-CNN. Avtorji v [13] so predstavili pristop avtomatske prepoznave tarč s pomočjo CV-CNN. Klasifikacija Pol-SAR podatkov s CV-CNN je bila predstavljena v [14]. Avtorji so v [10] predstavili primerjavo med RV-CNN in CV-CNN. Pol-SAR sistemi imajo več potenciala pri izboljšanju radarskih zmožnosti opazovanja parametrov zemljinega površja. Lahko rečemo, da je polno polarimetrični SAR obetavno orodje za povečanje natančnosti pridobljenih podatkov v različnih vremenskih pogojih pri določevanju poraščenosti in topografije terena. Opravljenih je bilo tudi več raziskav, ki kažejo na to, da lahko s polarimetričnimi podatki uspešno ocenimo parametre zemljinega površja, kot sta npr. vlažnost in razgibanost [16][17][18]. V tem prispevku je predstavljeno ocenjevanje parametrov zemljine površine s pomočjo polno polarimetričnih SAR podatkov. Vlažnost zemlje je ocenjena z uporabo nevronske mreže s kompleksnimi podatki in utežmi, ki ima realne vhodne podatke, in je učena z dvema učnima množicama, ki sta bili pridobljeni ob dveh različnih letnih časih. Predstavljena sta kompleksna nevronska mreža in regresivni model ocenjevanja parametrov. S pomočjo eksperimentalnih podatkov je prikazana učinkovitost in (l+1) točnost predstavljene metode ocenjevanja vlažnosti. 2 Struktura nevronske mreže s kompleksnimi podatki CNN je predstavljena z več sloji nevrosnke mreže. Struktura CNN se deli na vhodni sloj, kateremu lahko sledita sloja podvzorčenja in regularizacije, zaključi pa se s polno povezanim slojem. Vhod v CNN je slika, ki jo obdelamo z več siti. Odziv sita pridobimo s konvolucijo - konvolucijski odziv kodira vhodne podatke in določi značilke z zmanjšanjem dimenzionalnosati vhodne slike. Odzivi sit predstavljajo vhod v nenasičene aktivacijske funkcije, kar lahko drastično pospeši učenje CNN. Največkrat uporabljena sktivacijska funkcija je ReLU, ki jo uporabimo za izločevanje nelinearnih procesov. Aktivacijska funkcija ReLU je bila uporabljena za vsakim konvolucijskim in polno povezanim slojem. Zadnji sloj predlagane konvolucijske mreže uporablja sofmax aktivacijsko funkcijo, s katero zagotovimo maksimalno multinominalno logistično regresijo. Izhod iz konvolucijskega sita je po navadi podvzorčen, saj želimo zmanjšati dimenzije značilk, s čimer pa naredimo značilke neodvisne od premikov. Ko uporabimo 2 × 2 max-pool sloj podvzorčenja, se izhod razdeli v celice dimenzij 2 × 2, ki se med seboj ne prekrivajo. V vsaki 2 × 2 celici ohranimo le najvišjo vrednost, s tem pa smo dimenzijo izhodne slike zmanjšali za faktor 2, detektirane značilke pa so neobčutljive na premik objekta. Tako kot pri RV-CNN, tudi pri CV-CNN vhod temelji na 2D multikanalnem vhodu, t.i. polju kanalov (ang. channel maps). Največja razlika med RV-CNN in CVCNN je, da je vsak vhodni kanal predstavljen v kompleksni domeni, v kompleksni domeni pa so tudi skriti sloji, ki so predstavljeni s konvolucijski siti, sloji podvzorčenja in aktivacijskimi funkcijami. Konvolucijski sloj izvaja konvolucijo med drsečim oknom in kompleksno vhodno delno sliko, kjer le-ta služi kot polje sit. Razultat je matrika, kjer je vsaka izhodna vrednost seštevek skalarnega produkta kompleksnih vrednosti drsečega okna in vhodne delne slike. Za iskanje več značilk v vhodni delni sliki uporabimo več polj sit. Izhod iz več polj sit lahko označimo tudi kot izhodno polje, ki ga povežemo na sigmoid ali tanh aktivacijske funkcije. V primeru predlagane rešitve je bila uporabljena sigmoid aktivacijska funkcija, s pomočja katere se ustvari polje značilk. Rezultat konvolucije, ki vključuje izhod (l+1) prejšnjega skritega sloja, lahko opišemo kot Oi ∈ ℑW2 ×H2 ×I in ga lahko izračunamo kot (l+1) Oi (l+1) Vi 1 = (l+1) 1 + exp(−ℜVi ) 1 + j (l+1) 1 + exp(−ℑ(Vi )) (l+1) = wik (l) (l+1) ⋆ Ok + bi (1) (l) kjer je polje sit opisano kot ωik ∈ ℑF ×F ×K×I , vho(l) dno polje značilk kot Oi ∈ ℑW1 ×H1 ×K , odmik pa kot l+1 I bi ∈ ℑ . Spremeljivka l predstavlja število trenutnih 84 slojev, kjer ⋆ predstavlja konvolucijski operator. Vi predstavlja uteženo vsoto vhodnih podatkov vse do i-tega izhodnega polja značilkv sloju l +1. Konvolucijski sloj je določen s številom značilk I, velikostjo sita F × F × K, korakov S in dodanih ničel P . Namen sloja podvzorčenja je, da zmanjšamo dimenzije delne slike. V predstavljeni rešitvi je dosežena prostorska nespremenljivost, kar pomeni, da je predlagana CNN neobčutljiva na manjše spremembe in premike [14]. V večini to dosežemo z max-pool funkcijo. Funkcija podvzorčenja povpreči vrednosti v oknu, max-pool funkcija pa nato izbere najvišjo vrednost, ki se ohrani. Izbrana funkcija povprečenja v kompleksni obliki je bila določena kot (l+1) Oi (x, y) = ave u,v=0,...,g−1 (l) Oi (x · s + u, y · s + v) (2) kjer je g faktor podvzorčenja, s pa korak. (x, y) pred(l+1) stavlja lokacijo značilke na i-tem elementu Oi (x, y). Polno povezana plast je namenjena klasifikaciji po izračunanem izhodu iz zadnje konvolucijske plasti in plasti podvzorčeja. V primeru CV-CNN je uporabljenih več polno povezanih svojev, saj je s tem zagotovljena povezava med posameznimi nevroni v prejšnji plasti [14]. Izhod lahko ocenimo kot (l+1) Oi (l+1) = f (ℜ(Vi + (l+1) Vi = )) (l+1) jf (ℑ(Vi )) K X (l+1) (l) ωik · Ok k=1 (l+1) + bi (3) kjer K predstavlja število nevronov v l-ti plasti. Izhodna plastje predstavljena kot 1 × C vektor, kjer nam C predstavlja število razredov in hkrati dolžino izhodnega vektorja. Izhodni vektor je kompleksen, zato moramo v prejšnjem izrazu zamenjati skalar 1 s kompleksno vrednostjo (1 + 1j). Delna slika pripada tistemu razredu, od katerega je razdalja v izhodnem vektorju najkrajša. 3 Globoka regresivna mreža za detekcijo vlažnosti tal V predstavljeni metodi je uporabljen regresivni model z CNN za ocenjevanje parametrov. Sestavljen je iz vhodnega sloja, ki mu sledi kopica skritih slojev. Posamezni skriti sloj je sestavljen iz konvolucijskega sloja, podvzorčenja in polno povezanega sloja. Zadnji sloji v regresivni CNN določijo velikost in tip izhodnega podatka. Kadar imamo opravka z regresivnim problemom, moramo na koncu strukture nevronske mreže pred regresivni sloj postaviti polno povezan sloj. Regresivni sloj izračuna srednji kvadratični pogrešek (ang. Mean PR Squared Error, MSE), ki jo določimo kot M SE = i=1 R1 (ti − Θi )2 , kjer je R število odzivov, ti je ciljni izhod, in Θi je napovedan izhod za odziv i. V izhodnem vektorju velikosti n vsaka vrednost predstavlja ustrezni element Θ in je odvisna od reda porazdelitve verjetnosti. Na izhodih konvolucijskih slojev je bila izvedena normalizacijska funkcija, s katero smo skrajšali čas učenja. ReLU plast je bila uporabljena za dodajanje nelinearnosti in za zmanjšanje problema z zmanjšanjem gradienta. ReLU in normalizacijska funkcija sta prav tako pripomogla k zmanjšanju števila aktiviranih nevronov med interferenco. Za zmanjšanje dimenzionalnosti je bilo uporabljeno podvzorčenje s povprečenjem in faktorjem 2 ter korakom 2 piksla. Prvi skriti nivo v CNN je običajno konvolucijski sloj in služi za izločanje značilk. Sito velikosti 7×7 je bilo uporabljeno v vseh skritih slojih, število sit pa je bilo med 4 in 32. Pri izločanju značilk v optičnih slikah je po navadi uporabljeno sito 3 × 3. Z uporabo sita velikosti 7 × 7 so bile zajete večje prostorske informacije, kar je izboljšalo prepoznavo za 0, 5%. S tem smo tudi zmanjšali število parametrov CNN, hkrati pa ohranili enako potencialno površino detekcije. Za zadnjim konvolucisjkim slojem je uporabljen osipni sloj z vrednostjo 0, 1, s katerim preprečimo prekomerno prilagajanje. Za učenje CNN sta bili uporabljeni metoda vzratnega razširjanja in stohastični gradientni spust ob naslednji konfiguraciji učenja: velikost mini-batch je bila 22 z 30 epohami. Konfiguracija hitrosti učenja igra pomembno vlogo. Pri učenju predlagane CNN je bila hitrost učenja konfigurrirana z: hitrost inicializacije je bila 10−5 , faktor hitrosti osipanja je bil 0, 01, delna hitrost načrtovanja s periodo osipanja pa 10. Učenje je potekalo s pomočjo grafičnega procesorja oz. grafične kartice Geforce GTX 1080 proizvajalca Nvidia. Najboljši rezultati so bili z delnimi slikami velikosti 31×31, kjer je bil koren povprečne kvadratne napake RMSE (ang. Root Mean Square Error) okrog 0, 55 pri učenju in 0, 48 pri validaciji. 3.1 Obdelava SAR podatkov v L-pasu Blokovna shema obdelave podatkov je prikazana na sliki 1. SAR sliki, pridobljeni z ALOS-2 v decembru 2018 in juniju 2021, sta bili obdelani. Sliki sta bili radiometrično kalibrirani, odstranjene so bile pege, izvedena je bila Doppler-jeva korekcija terena in izluščene to bile T3 matrike. T3 matrike so bile uporabljene v procesu globokega učenja nevronske mreže, s pomočjo katere smo želeli določiti vlažnost zemlje. Da smo lahko določili vlažnost, smo morali izluščiti volumetrično sipanje na izbranem področju. 4 Eksperimentalni rezultati SAR slike so bile zajete nad mestom Maribor, Slovenija. Cilj eksperimenta je bil oceniti vlažnost zemlje na SAR sliki dimenzije 7000 x 4000 slikovnih točk, ko to prikazuje slika 2. Predstavljena metoda ocenjevanja vlažnosti zemlje je bila uporabljena s SAR slikami, zajetimi v letu 2018 in 2021. Na sliki 3 je ocenjena volumetrična vlažnost za SAR sliko, zajeto v letu 2018, na sliki 4 pa je ocenjena volumetrična vlažnost za SAR sliko istega terena, zajeto v letu 2021. Slika 5 prikazuje primerjavo med ocenjenima vrednostima s pomočjo predlagane metode in med izmerjeno vrednostjo vlažnosti na zemeljski površini. RMSE med izmerjeno in ocenjenima volumetričnima vlažnostima v letu 2018 in 2021 znaša 10, 4% in 13, 4%. Uporabljenih je bilo 1000 podatkov za učenje nevronske mreže in 100 podatkov za verificiranje. Natančnost ocenjene vlažnosti zemlje je za obe učni množici (SAR slike iz leta 2018 in SAR slike iz leta 2021) podobna. Natančnost za učno množico iz leta 2018 znaša 13, 1%, za učno množico iz leta 2021 pa 10, 4%. Slika 2: SAR slika pridobljena v letu 2018 z ALOS-2 predstavljena s Pauli RGB. Slika 3: S pomočjo predlagane metode in SAR slike zajete v letu 2018 ocenjena volumetrična vlažnost zemlje. Slika 1: Potek obdelave podatkov za ocenjevanje vlažnosti iz SAR podatkov, pridobljenih z radarjem v L frekvenčnem pasu. 5 Sklep V tem prispevku je pradlagana uporaba globoke konvolucijske nevronske mreže za ocenjevanje vlažnosti zemlje 85 Slika 4: S pomočjo predlagane metode in SAR sliko zajeto v letu 2021 ocenjena volumetrična vlažnost zemlje. Slika 5: Primerjava med ocenjeno volumetrično vlažnostjo za podatke pridobljene v letu 2018 in 2021 z meritvijo na zemeljski površini. s pomočjo podatkov, pridobljenih iz SAR, ki deluje v L frekvenčnem pasu. Predstavljena nevronska mreža je sestavljena iz devet konvolucijskih slojev, ReLU in aktivacijskih slojev. Zadnji je regresivni sloj, ki je uporabljen za zmanjšanje dimenzij podatkov. Eksperimentalni rezultati so pokazali, da se je v tem prispevku predstavljena metoda zmožna približati realnim vrednostim vlažnosti zemlje, kjer pride do volumetričnega sipanja. S pomočjo podatkov iz različnih časovnih obdobij lahko sklepamo, da predstavljena metoda dobro oceni vlažnost z vegetacijo poraščenih območij. S pomočjo primerjave eksperimentalnih rezultatov z meritvijo vlažnosti na zemeljskem površju, vidimo, da s predlagano metodo lahko ocenimo vlažnost zemlje do okrog 13% natančno. S tem smo pokazali, da lahko s pomočjo radarja, ki deluje v L frekvenčnem pasu, ocenimo vlažnost tal. Literatura [1] A. Krizhevsky, I. Sutskever, and G. E. Hinton: Imagenet classification with deep convolutional neural networks, Advances in neural information processing systems, pp. 1097–1105, 2012 [2] K. Chatfield, K. Simonyan, A. Vedaldi, and A. Zisserman: Return of the devil in the details: Delving deep into convolutional nets, arXiv preprint arXiv:1405.3531, 2014 86 [3] B. Zhou, A. Lapedriza, J. Xiao, A. Torralba, and A. Oliva: Learning deep features for scene recognition using places database, Advances in Neural Information Processing Systems, pp. 487–495, 2014 [4] E. Shelhamer, J. Long, and T. Darrell: Fully convolutional networks for semantic segmentation, arXiv preprint arXiv:1605.06211, 2015 [5] J. Z. at all: Salient object subitizing, in 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 4045–4054 [6] L. Wang, C.-Y. Lee, Z. Tu, and S. Lazebnik: Target classification using the deep convolutional networks for sar images, arXiv preprint arXiv:1505.02496, 2015 [7] G. Levi and T. Hassncer: Age and gender classification using convolutional neural networks, in 2015 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2015, pp. 34–42 [8] P. C. Z. Ge, C. Mccool: Content specific feature learning for finegrained plant classification, in Working notes of CLEF 2015 con, 2015 [9] N. Guberman: On complex valued convolutional neural networks, CoRR, vol. abs/1602.09046, 2016. [Online]. Available: http://arxiv.org/abs/1602.09046 [10] H. G. Zimmermann, A. Minin, and V. Kusherbaeva: Comparison of the complex valued and real valued neural networks trained with gradient descent and random search algorithms, in European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning. Bruges (Belgium), 2011 [11] R. Haensch and O. Hellwich: Complex-valued convolutional neural networks for object detection in polsar data, in 8th European Conference on Synthetic Aperture Radar, June 2010, pp. 1–4 [12] C. A. Popa: Complex-valued convolutional neural networks for realvalued image classification, in 2017 International Joint Conference on Neural Networks (IJCNN), May 2017, pp. 816–822 [13] M. Wilmanski, C. Kreucher, and A. Hero: Complex input convolutional neural networks for wide angle sar atr, in 2016 IEEE Global Conference on Signal and Information Processing (GlobalSIP), Dec 2016, pp. 1037–1041 [14] Z. Zhang, H. Wang, F. Xu, and Y. Q. Jin: Complex-valued convolutional neural network and its application in polarimetric sar image classification, IEEE Transactions on Geoscience and Remote Sensing, pp. 1–12, 2017 [15] A. K. Fung, Microwave Scattering and Emission Models and their Applications,. Boston: Artech House, 1994 [16] N. Baghdadi, P. Dubois-Fernandez, X. Dupuis, and M. Zribi: Sensitivity of main polarimetric parameters of multifrequency polarimetric sar data to soil moisture and surface roughness over bare agricultural soils, IEEE Geoscience and Remote Sensing Letters, vol. 10, no. 4, pp. 731–735, 2013 [17] I. Hajnsek, E. Pottier, and S. Cloude: Inversion of surface parameters from polarimetric sar, IEEE Transactions on Geoscience and Remote Sensing, vol. 41, no. 4, pp. 727–744, 2003 [18] N. Pierdicca, L. Pulvirenti, and G. Pace: A prototype software package to retrieve soil moisture from sentinel-1 data by using a bayesian multitemporal algorithm, IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 7, no. 1, pp. 153–166, 2014 Simulator rasti vegetacije, temelječ na podatkih LiDAR Simon Kolmanič, Štefan Kohek, Matej Brumen, Danijel Žlaus, Tamara Golob, David Jesenko, Domen Mongus Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor E-pošta: simon.kolmanic@um.si večjo natančnost napovedi, smo vegetacijo razdelili v regije z istimi parametri rasti, ki smo jih pridobili iz javno dostopnih slojev Agencije Republike Slovenije za okolje. Vegetation Growth Simulator Based on LiDAR Data Abstract. Forest growth simulation is a well-covered area in the literature which is still developing due to new challenges such a climate changes, forest management planning, and similar [1,2]. First models, describing the forest growth are almost 50 years old [6] and were based entirely on the traditional human observations methods. These simulators give accurate predictions but require a lot of input data in return, which are hard to obtain for larger areas. The automated decision making support systems for managing vegetation on larger areas, however, relay mostly on airborne light detection and ranging (LiDAR) data [9,11]. Although these systems would highly benefit from the ability to predict vegetation growth, there is a lack of simulators that can serve that purpose. In this paper, therefore, a new simulation tool that fuses LiDAR data generated canopy height (CHM) and digital terrain models (DTM) with environmental data (e.g. temperature, precipitation, insolation, pH) in order to support large-scale simulations need for vegetation management. 1 Uvod Napovedovanje rasti dreves je dobro raziskano področje, kjer so prvi modeli stari skoraj 50 let [6]. Ti modeli so v celoti temeljili na človeškem opazovanju in so dajali zadovoljive rezultate, so pa zato potrebovali kup vhodnih podatkov, ki jih je bilo težko pridobiti za večja področja. Nasledniki teh model so v sistemih za upravljanje z gozdovi v uporabi še danes. Čeprav zaradi klimatskih sprememb in izzivov za gospodarjenje z gozdovi nastajajo novi modeli [1,2], ti še vedno niso najbolj primerni za uporabo v avtomatiziranih sistemih za upravljanje z vegetacijo na večjih področjih. Sodobni sistemi namreč v večini temeljijo na podatkih LiDAR, pridobljenih z zračnim snemanjem [9,11]. Ti podatki so primerni za opis velikih površin [7] in služijo za izdelavo višinskih modelov krošenj [4] (angl. Canopy Height Model - CHM). Primer takega modela višine vidimo na sliki 1, kjer je bila za izdelavo modela CHM uporabljena preizkušena metoda [5]. Sistemi za upravljanje z vegetacijo bi bili bolj učinkoviti, v kolikor bi imeli možnost napovedovanja rasti vegetacije. V članku tako predstavljamo simulator, temelječ na podatkih LiDAR, ki ga lahko uporabimo v ta namen. Za napovedovanje rasti dreves smo uporabili linearno regresijo, za širjenje krošenj pa morfološko širjenje. Za ERK'2021, Portorož, 87-90 87 Slika 1: a) Zračni posnetek LiDAR testnega področja, b) Višinski model krošenj visoke vegetacije na trasi. Segmentacijo smo tvorili glede na več različnih parametrov, pri čemer se je izkazalo, da smo najboljši rezultat dobili, ko smo regije, podobno kot v [6] tvorili glede na povprečno količino padavin, povprečno letno temperaturo, pH, talno število in orientacijo terena. 2 Zasnova simulatorja Simulatorji rasti dreves so v gozdarstvu pogosti, toda večina le-teh ni primernih za uporabo v sistemih za upravljanje z vegetacijo, saj potrebujejo množico specifičnih podatkov tako o samih rastiščih kot sestoju vegetacije, ki jih za poljubna območja ni mogoče zagotoviti. To bi bilo namreč povezano z velikimi stroški, pa tudi časovno bi bilo to težko izvedljivo. Da se temu izognemo, smo za osnovo vzeli delo [10], kjer so avtorji pokazali, da lahko prihodnjo višino dreves uspešno napovemo s pomočjo linearne regresije in zračnih podatkov LiDAR. Metodo je bilo potrebno nekoliko prilagoditi, saj za vegetacijo ni pomemben zgolj prirast v višino, ampak tudi to, za koliko bo krošnja posegla v samo traso, kar pomeni, da smo morali uvesti še faktor širjenja krošnje. Opisan postopek lahko vidimo na sliki 2. Vhod v simulator tako predstavljata posnetka LiDAR danega območja, narejena v časih T0 in T1. Iz teh podatkov tvorimo modela krošenj CHM(T0 ) in CHM(T1 ) . Kot izhod simulacije dobimo model višin krošenj v času T2, ki ga določa enačba: CHM (T2 ) = CHM (T0) +HI, (1) pri čemer vrednost HI določa enačba: 𝐻𝐼 = 𝛽0 + 𝛽1 CHM (T0) . (2) kjer sta 𝛽0 in 𝛽1 koeficienta linearne regresije, ki ju določimo iz modelov krošenj CHM(T0 ) in CHM(T1 ) . Poleg koeficientov 𝛽0 in 𝛽1 iz razlike med vhodnima modeloma krošenj določimo še parameter D, ki predstavlja širjenje krošnje. Simulacija je implementirana v programskem jeziku R [3], širjenje krošenj pa je izvedeno z morfološkim širjenjem, kjer parameter D predstavlja velikost morfološkega strukturnega elementa. potrebe rastlin po temperaturi, vlagi, kislosti, dušiku osvetlitvi [6]. Teren, ki ga predstavljata CHM(T0 ) CHM(T1 ) tako razpade na več regij, združenih (𝑇 ) (𝑇 ) (𝑇 ) množicah {𝑟0 0 , 𝑟1 0 , … , 𝑟𝑛 0 } (𝑇1 ) {𝑟0 (𝑇1 ) , 𝑟1 (𝑇1 ) , … , 𝑟𝑛 (𝑇0 ) }. Za vsak par regij 𝑟𝑖 in in v in (𝑇1 ) in 𝑟𝑖 določimo parametre modela (𝛽0𝑖 , 𝛽1𝑖 , 𝐷𝑖 ), s pomočjo katerih nato napovedujemo rast vegetacije posamezne (𝑇 ) (𝑇 ) (𝑇 ) regije oziroma množice regij {𝑟0 2 , 𝑟1 2 , … , 𝑟𝑛 2 }. Z zlitjem teh regij pa tvorimo končni CHM(T2 ) . Natančnost simulacije lahko dodatno izboljšamo s primerjavo napovedi z modelom CHM realnega stanja v času T2. Razliko med napovedjo in realnim stanjem lahko nato uporabimo za uglasitev parametrov napovednega modela. 3 Segmentacija Za potrebe segmentacije smo uporabili sloje povprečne temperature zraka, povprečne letne višine korigiranih padavin za obdobje 1971-2000, povprečnega trajanja sončnega obsevanja – poletje za enako obdobje ter pedološko karto Slovenije. Le ta vsebuje podatke o kislosti tal in talnem številu. Slednje je ekvivalent vsebnosti dušika v tleh. S presekom geoobjekta želenega območja z zgoraj omenjenimi sloji, dobimo množico mnogokotnikov s pridruženimi parametri, ki jih lahko vidimo na desni strani na sliki 3. Slika 3: Presek geoobjekta trase s sloji za opis klimatskih značilnosti in pedološke karte Slovenije. Slika 2: Delovanje simulatorja temelječega na podatkih LiDAR. rasti vegetacije, Pri razvoju moramo upoštevati, da je zaradi velikosti terena struktura vegetacije toliko različna, da enolični koeficienti 𝛽0, 𝛽1 in D niso zadostni za natančno simulacijo rasti. Zaradi tega je bilo teren potrebno razdeliti tako, da zajamemo področja z isto strukturo vegetacije. V ta namen smo regije oblikovali glede na 88 Poleg naštetih slojev, ki so javno dostopni, pa smo dodatno zgenerirali še sloj, ki nam opisuje orientacijo terena, saj so razredi sončnega obsevanja pregrobi, da bi lahko zaznali prisojne in osojne lege, ki so pomembne pri napovedi intenzivnosti rasti. Tudi sloj orientacije terena uporabimo za izračun preseka z geoobjektom trase, kar dodatno bistveno poveča količino nastalih mnogokotnikov. Z razpadom dobljenega območja na množico mnogokotnikov, lahko začnemo tvoriti posamezne regije tako, da grupiramo med seboj mnogokotnike z enakimi lastnostmi. Čeprav je za to uporabnih več kot 30 parametrov, smo se, kot že omenjeno, omejili na tiste, ki so blizu Ellenbergovim ekološkim koeficientom. Za segmentacijo smo tako izbrali temperaturo (Tm), sončno obsevanje (So), orientacijo terena (Or), padavine (Pv), kislost tal (pH) in talno število (TSS). Poleg tega, da smo želeli ovrednotiti vpliv posameznega parametra na natančnost napovedi, smo izvedli segmentacijo tudi s kombinacijo posameznih parametrov in sicer smo uporabili dve kombinaciji parametrov. Prva kombinacija je višina padavin, temperatura, sončno obsevanje in orientacija terena (Pv/Tm/So/Or), medtem ko je druga kombinacija višina padavin, temperatura, kislost tal, talno število in orientacija terena (Pv/Tm/pH/TSS/Or). Segmentacijo smo izvajali nad testnim območjem, ki pokriva 272 ha. Glede na izbrani parameter, je trasa razpadla na različno število regij, prikazanih v tabeli 1. točk/m2, drugega pa 100 točk/m2. Med obema snemanjema so bili opravljeni tudi določeni poseki na terenu, zato je bilo potrebno le-te upoštevati pri iskanju parametrov napovednega modela. Za izdelavo modelov CHM in segmentacijo smo uporabljali lastno orodje GeMMa Fusion Suite, prav tako smo v tem orodju iz CHM(2014) odstranili vso vegetacijo, ki je bila posekana med letoma 2014 in 2017. Simulacija je potekala v okolju RStudio [3], rezultati pa so bili vizualizirani ponovno znotraj orodja GeMMa Fusion Suite. Zaradi lažje primerjave rezultatov napovedi ob različnih segmentacijah, smo CHM(2017) uporabljali tako za učno kot testno množico, saj se je sicer različna velikost regij odražala v rezultatih, čemur smo se želeli izogniti. Tabela 1. Vpliv izbranega parametra na število regij Izbrani parameter Padavine (Pv) Kislost tal (pH) Talno število (TSS) Orientacija terena (Or) Kombinacija 1 (Pv/Tm/So/Or) Kombinacija 2 (Pv/Tm/pH/TSS/Or) Število regij 2 6 10 5 30 78 Vsaka od tako ustvarjenih regij predstavlja samostojen geoobjekt. Za potrebe simulacije je tako potrebno ustrezno razrezati še CHM(T0 ) in CHM(T1 ) . Na sliki 4 lahko vidimo razrez gornjega dela testnega območja iz leta 2014, oziroma ustreznega modela CHM le-te, glede na parameter pH. Slika 5: Primerjava vegetacije v letih a) 2014 in 2017, b) 2014 in 2021. Slika 4: Razpad CHM površine testnega območja iz leta 2014 glede na parameter kislosti tal (pH). Vsaka regija v obliki modela CHM je shranjena kot raster v formatu TIFF z ločljivostjo pol metra. 4 Rezultati Simulator smo testirali na testnem območju na Primorskem, slika 5. Pri testiranju smo uporabljali dva posnetka LiDAR prej omenjenega območja, prvi je bil iz leta 2014 in je javno dostopen preko Agencije Republike Slovenije za okolje, drugi pa je iz leta 2017 in je v lasti družbe ELES. Povprečna resolucija prvega je bila 9 89 Pri primerjavi smo se omejili zgolj na visoko vegetacijo, to je vegetacija, višja od petih metrov. V kolikor primerjamo rezultat simulacije z izhodiščnim modelom CHM, lahko vidimo, da se je področje, ki ga pokriva vegetacija nekoliko razširilo, povečala pa se je tudi višina vegetacije. Na sliki 5a lahko neposredno primerjamo model CHM(2017), ustvarjen s simulacijo z modelom CHM(2014), tako da CHM(2017) prekrijemo s CHM(2014). Razlika je še bolj očitna na sliki 5b, kjer primerjamo CHM(2014) in CHM(2021). Več o natančnosti simulacije nam pove merjenje napake napovedi s pomočjo uveljavljenih metrik RMSE (angl. Root Mean Square Error) in MAE (angl. Mean Absolute Error). Iz slike 6 lahko vidimo, da se napaka RMSE za celotno traso giblje med 1,613 in 1,530 m, medtem ko se napaka MAE giblje med 1,299 in 1,143 m. Glede na to, da imamo v tem primeru opravka z visoko vegetacijo, so napovedi še vedno uporabne, saj se napaka MAE v najboljšem primeru giblje v okviru enega metra. Slika 6: Gibanje napake napovedi rasti, v odvisnosti od segmentacije. Iz slike 6 lahko razberemo, da najboljše rezultate daje tista segmentacija, ki je najbliže Ellenbergovim ekološkim koeficientom. To lahko pojasnimo z dejstvom, da rastišča z enakimi pogoji za rast zasedajo podobne rastlinske združbe, ki jih zato lažje opišemo z enakimi parametri napovednega modela, tudi če samih rastlinskih združb ne poznamo. 5 Zaključek Glavna prednost predstavljenega simulatorja, je ta, da potrebuje neprimerno manj vhodnih podatkov, kot običajni simulatorji rasti. Iz podatkov LiDAR lahko namreč razločimo posamezna drevesa, določimo njihovo višino in obliko krošnje [8], nič pa ne moremo povedati o njihovi starosti, kar je zelo pomemben podatek, prav tako ne vemo skoraj nič o vrsti, ki ji drevo pripada. Dodatno težavo predstavljajo različne resolucije oblakov točk, ki jih imamo na razpolago. Le-te predstavljajo dodaten vir napak, ki jih ni mogoče v celoti odpraviti. Lahko pa napake v napovedovanju omilimo s smiselno segmentacijo, ki nam združuje rastline z enakimi potrebami po rastiščih. Segmentacija lahko pomaga tudi v primeru nepopolnih podatkov o za nas zanimivih območjih, ko lahko za napovedovanje rasti uporabimo parametre napovednega modela sorodnih regij, kar ugodno vpliva na stroške delovanja sistema za upravljanje z vegetacijo. Naše prihodnje delo bo namenjeno razvoju sistema za adaptivno segmentacijo, ki se bo avtomatizirano prilagajal napaki v napovedi in jo s tem posledično zmanjševal. 90 Literatura [1] Felipe Bravo, Marek Fabrika, Christian Ammer, Susana Barreiro, Kamil Bielak, Lluis Coll, Teresa Fonseca, Ahto Kangur, Magnus Löf, Katarina Merganičová, and others. 2019. Modelling approaches for mixed forests dynamics prognosis. Research gaps and opportunities. Forest Systems 28, 1 (2019), eR002. [2] Michael J Case, Brittany G Johnson, Kristina J Bartowitz, and Tara W Hudiburg. 2021. Forests of the future: Climate change impacts and implications for carbon storage in the Pacific Northwest, USA. Forest Ecology and Management 482, (2021), 118886. [3] Nicholas J Horton and Ken Kleinman. 2015. Using R and RStudio for data management, statistical analysis, and graphics. CRC Press. [4] Denis Horvat, Borut Žalik, and Domen Mongus. 2016. Context-dependent detection of non-linearly distributed points for vegetation classification in airborne LiDAR. ISPRS Journal of Photogrammetry and Remote Sensing 116, (2016), 1–14. [5] Anahita Khosravipour, Andrew K Skidmore, Martin Isenburg, Tiejun Wang, and Yousif A Hussin. 2014. Generating pit-free canopy height models from airborne lidar. Photogrammetric Engineering & Remote Sensing 80, 9 (2014), 863–872. [6] Simon Kolmanič, Nikola Guid, and Jurij Diaci. 2014. ForestMAS–A single tree based secondary succession model employing Ellenberg indicator values. Ecological Modelling 279, (2014), 100–113. [7] Domen Mongus, Niko Lukač, and Borut Žalik. 2014. Ground and building extraction from LiDAR data based on differential morphological profiles and locally fitted surfaces. ISPRS Journal of Photogrammetry and Remote Sensing 93, (2014), 145–156. [8] Domen Mongus and Borut Žalik. 2015. An efficient approach to 3D single tree-crown delineation in LiDAR data. ISPRS Journal of Photogrammetry and Remote Sensing 108, (2015), 219–233. [9] Ana Novo, Noelia Fariñas-Álvarez, Joaquin Martínez-Sánchez, Higinio González-Jorge, and Henrique Lorenzo. 2020. Automatic processing of aerial LiDAR data to detect vegetation continuity in the surroundings of roads. Remote Sensing 12, 10 (2020), 1677. [10] Cheng Wang and Nancy F Glenn. 2008. A linear regression method for tree canopy height estimation using airborne lidar data. Canadian Journal of Remote Sensing 34, sup2 (2008), S217–S227. [11] DW Wanik, JR Parent, EN Anagnostou, and BM Hartman. 2017. Using vegetation management and LiDAR-derived tree height data to improve outage predictions for electric utilities. Electric Power Systems Research 146, (2017), 236–245. Improving Attitude Determination of a Satellite with Photodiodes for Sun Position Estimation using TRISAT data and Earth Albedo model Nejc Kosanič1 , dr. Iztok Kramberger2 1 Laboratory for Electronic and Information Systems, Faculty of Electrical Engineering and Computer Science, University of Maribor E-mail: nejc.kosanic@um.si 2 Photodiodes and sun estimation ADCS systems onboard TRISAT include a global navigation satellite systems (GNSS), a star tracker, a gyroscope, a magnetic sensor, and 6 photodiodes to record the amount of incoming light (Fig. 1). While star tracker returns high-accuracy satellite attitude it has to be offline when using magnetorques to correct satellite orientation. Photodiodes return values from which Sun vectors are being calculated to account for Suns position in relation to the satellite during that time. The diodes on board TRISAT have been calibrated and have a strict linear power-to-current response, with best responsitivity around 360 nm (Fig. 3). Diodes have a viewing angle of about 160°. As stated before, current Sun vector estimation takes into account a constant albedo factor, whereas data from TRISAT shows that abledo factor is much more comAbstract plex to estimate. While the albedo constant is the correct In order to improve Sun-position estimation in low Earth time-average, the effect of a non-constant albedo factor orbits (LEO), an Earth albedo model [1] was designed, is prominent (Fig. 4). The TRISAT satellite at the alwhich helps to decipher the total solar and Earth-reglected titude of around 500 km takes several measurements at current on solar sensors and improves Sun position es- the same time (photodiodes, magnetometer, gyroscope). timation to a higher accuracy. In this short paper the The measurement frequency is entirely dependant on the method of improving the Sun position estimation with so- speed of change in rotation: the faster the rotation, the lar sensors is discussed. more data samples are acquired to increase the accuracy and validity of data, the lower the speed of rotation, the 1 Introduction slower is the rate of data sampling. Keep in mind there is Satellite attitude determination and control systems (ADCS) a maximum speed of data transfer to ground control and are placed on satellites in order to be able to track the to increase the relevance of data sent, some threshold on satellite and describe its movement. Positional estimation rotation information is set in order to conserve the size of is usually done with the help of GNSS, while primary atti- data. tude control is done by a star tracker. During stabilisation periods, when GNSS and star-tracker are inactive, phoThe main problem in photodiodes lies in maximum todiodes serve as solar sensors and predict Sun position. values, where the maxime can not be properly estimated, Since light sensors are calibrated and have a strict linwhich in turn translates to a discrepancy between actual ear response, data from three orthogonally-placed Sun-lit Sun position and satellite-calculated Sun vector. Although sensors results in a sun position estimation with a relathe error between the real and calculated Sun position is tively high accuracy. The ADCS on board the TRISAT small, even if the sun were 15° from the normal to sosatellite uses photodiode data during stabilisation phase lar panels, the amount of light that falls on panels is still and accounts for a constant albedo factor of Earth reabove 95% of what it would be, had the Sun been on the flected light. Currently an Earth albedo model is being normal. built and tested, to provide for a better albedo factor estimation in regards to the satellite position in LEO. Figure 1: Block sheme of the ADCS onboard TRISAT functions during stabilisation period (PD - photodiodes, ADC - analog to digital converter, OBC - on-board computer, GYRO gyroscope, MAG - magnetometer, ACT - actuators). ERK'2021, Portorož, 91-95 91 Figure 2: Recorded magnetic field vector (dots, ’sat’) data interpolated (dashed lines through dots, ’sat’) compared to WMM2020 prediction of magnetic field at the same trajectory (dashed lines, ’mag’). Figure 4: Normalised solar sensor values for a short data sample. It can be seen that satellite makes a nice rotation with ”Zneg” values going to 0 and ”Zpos” values starting to go up at roughly the same time. 3 Magnetic field data Three orthogonal Sun sensors are needed to accurately predict Sun position, where an overshadowed photodiode results in an sun vector inaccuracy over a half-sphere around the satellite. To circumvent this problem we have turned our focus to other on-board sensors, specifically the magnetometer, which records the magnetic field vector around the satellite. With the help of an Earth magnetic field model - World Magnetic Model 2020 [2] - we can calculate the satellite orientation by comparing the recorded vector to that of the model. Figure 3: TOP: Photodiode responsitivity in power spectrum, BOTTOM: photodiode responsitivity in wavelength spectrum. 92 As the magnetometer on-board the satellite has some unknown bias, the first step in checking the data validity was made by choosing a data sample that has little change in magnetic vector direction and then re-sampling and interpolating the data set over shorter, equal time intervals (Fig. 2). By doing this and subtracting zero-values from the data sample, we can assume to have gotten rid of some there are some inaccuracies in satellite attitude estimation. One of the larger problems is also the WMM2020 inaccuracy over the magnetic poles, which makes the magnetic field data unusable for satellite attitude estimation over at least one third of the orbit. Figure 5: Visualisation of TRISAT path (with orientation vectors) over Earth. of the data noise, while still maintaining quite an accurate dataset. Furthermore we have used the interpolated dataset to calculate the satellite rotation and compared it to the recorded rotation from gyroscopes (Fig. 6). There is some bias in the comparison, but the data is comparable, which shows that magnetic field data is accurate to a high enough degree that it can be used directly for satellite attitude estimation. 4 Earth albedo model The main goal of the model is to properly account for the Earth reflected light and get an accurate estimate of the maximal Sun-only values on the solar sensors [3],[4],[5]. That way we can predict the Sun vector with a large accuracy and are ultimately able to rotate the satellite to get better Sun coverage over solar panels. The model takes into consideration the surface of Earth in the form of a spherical albedo map. It then places the satellite above the surface and based on the telemetry data positions the Sun in respect to the satellite and the Earth (Fig. 5). On the first step the amount of satellite-visible Sun-lit Earth surface is estimated, where the lit surface is later divided to multiple smaller areas and integrated over to get the amount of reflected light. Then the viewing angles of all the photodiodes as well as all shadowing objects on TRISAT are taken into account (Fig. 7). The model is being extensively tested and has shown great promise in providing useful data (Fig. 8). Based on comparing model data with satellite data, the basic ”satellite is lit/is not lit” function is accurate to within seconds, while the problems start with sensor orientation and longer time samples: while quaternions are used to rotate the satellite based on its recorded magnetic data, 93 Figure 6: Recorded rotation (x, ’satelite rotation’ ) compared to rotation from magnetic field data (ful line, ’magnetic rotation’) for x-axis (TOP), y-axis (MIDDLE), z-axis (BOTTOM), different and longer time sample than on figures before. 94 Figure 7: TOP: Modeled viewing angles for X+ solar sensor with recorded light intensity on the right. BOTTOM: modeled viewing angles for Z+ solar sensor with recorded light intensity on the right. Geometrical properties of the satellite which cause shading can be clearly distinguished in both figures. Further work is needed to verify the model to account for the ever-changing albedo factor needed in the ADCS. Once the already collected data has been processed and verified with the albedo model, the plan is to implement the model on future TRISAT missions. 5 Conclusion Since many (comercial) satellites are being produced to be flown in LEO, the need for a simple solution during satellite stabilisation period, when GNSS and star tracker are inactive, is needed. In this short paper we have shown that simple method with photodiode sensors and the help of an Earth albedo model in combination with real-time magnetic sensor and gyroscope data provides a high accuracy solution for Sun vector estimation. As the satellites in LEO are prone to Earth reflected light, the albedo model can account for reflected light and shine light on true Sun values thus providing accurate Sun vector estimations. Further testing of the model with more of TRISAT data is required for final model verification, with the end goal to produce an accurate model to be incorporated into ADCS on-board future TRISAT satellites. References [1] T. W. Flatley, W. A. Moore: NASA Technical Memorandum 104596, january 1994, Greenbelt, Maryland, USA [2] https://www.ngdc.noaa.gov/geomag/WMM/ 95 Figure 8: TOP: Normalised solar sensor values for a short data sample. BOTTOM: normalised solar sensor value for the same interval from albedo model. ’Yneg’ line in bottom figure can not be seen in the top figure, because the solar sensor is blocked by a solar panel. Not all lines are drawn.. [3] S. A. O’Keefe: Autonomous Sun-Direction Estimation Using Partially Underdetermined Coarse Sun Sensor Configurations, 2015, Department of Aerospace Engineering Sciences, Faculty of the Graduate School of the University of Colorado [4] D. D. V. Bhanderi: Modeling Earth Albedo Currents on Sun Sensors for Improved Vector Observation, AIAA Guidance, Navigation, and Control Conference and Exhibit, 21.24. August 2006, Keystone, colorado [5] P. M. Akhmet’ev, A. Y. Smirnov: Determination of the Orientation of an Artificial Satellite from Magnetic Field Data in Orbit, Geomagnetism and Aeronomy, Vol. 60, No. 3, pp289-291, 2020 Multimedija Multimedia Evalvacija standarda za kodiranje videa Versatile Video Coding (VVC/H.266) Arne Simonič1, Urban Burnik2 1 Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Fakulteta za elektrotehniko 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, E-pošta: arne.simonic@gmail.com Povzetek. V prispevku predstavljamo delovanje, novosti in izboljšave novega standarda za kodiranje videa VVC ter ga primerjamo s predhodnikom HEVC. V primerjavi najprej predstavimo novosti standarda VVC, sledi pa podrobna primerjava zmogljivosti obeh navedenih standardov. Rezultati potrjujejo prednosti novega standarda VVC. 1 2. 3. 4. Uvod Prenos video vsebin naj bi predstavljal kar okoli 82% vsega internetnega prometa [1], zato so zmogljivi postopki video kodiranja ključni za učinkovito izkoriščanje razpoložljivih komunikacijskih virov ter vodijo k višji kakovosti storitev. Tako je 6. julija 2020 ekipa Joint Video Experts Team pod okriljem standardizacijskih agencij ITU-T in ISO/IEC JTC 1 izdala nov standard za kodiranje video vsebin VVC/H.266 (Versatile Video Coding), ki prihaja kot naslednik standarda HEVC/H.265 (High Efficiency Video Codec) [2]. Že HEVC je omogočal ločljivosti do 8k (7680×4320 slikovnih točk) in okoli 50% znižanje v bitni hitrosti pri enaki percepcijski kvaliteti videa glede na predhodnika [3]. VVC ponovno obeta okoli 50% znižanje v bitni hitrosti v primerjavi s HEVC in tako omogoča prenos videa enake percepcijske kvalitete z manj podatki. Dodaten cilj novega standarda nakazuje njegovo ime – vsestranski (versatile), kar označuje vsestranskost uporabe na različnih vrstah video posnetkov (360-stopinjski video, deljenje zaslona, pretočne vsebine, ...). V nadaljevanju bomo podrobneje opisali standard VVC in vse njegove novosti. Nato bomo opravili primerjavo s standardom HEVC in nazadnje kvantitativno ovrednotili zmogljivost standarda VVC. 2 Predstavitev standarda VVC 2.1 Novosti standarda Poudarek standarda je na vsestranskosti uporabe, saj vsebine, ki se razlikujejo od tradicionalnih video posnetkov postajajo vedno bolj priljubljene. Standard prinaša izboljšave predvsem na naslednjih področjih [2]: 1. Računalniško generirane vsebine, kot je deljenje zaslona v videokonferenčnih klicih. Vključene so številne tehnike iz razširitve standarda HEVC Screen Content Coding. ERK'2021, Portorož, 97-100 97 5. 6. 2.2 Pretočne vsebine z nizko stopnjo zakasnitve so zagotovljene z uporabo postopnega osveževanja dekodiranja (angl. gradual decoding refresh). Prilagodljive pretočne vsebine so zagotovljene s pomočjo ponovnega vzorčenja referenčnih slik (angl. reference picture resampling). 360-stopinjski video je učinkovito kodiran s tehnologijo, ki upošteva robove slik in jih interpretira kot zlepljene. Večslojno kodiranje je doseženo s pristopom, ki omogoča časovno, prostorsko in kvalitativno skaliranje slike, kot tudi večpogledno kodiranje. Video vsebine nadstandardne kakovosti so kodirane bolj učinkovito po zaslugi večjih blokovnih struktur pri višjih ločljivostih in filtra za združevanje blokov (angl. deblocking filter), ki je prilagojen karakteristikam HDR videa. Delovanje standarda Standard VVC svoje učinkovitosti ne dosega zaradi uvedbe novih revolucionarnih postopkov, temveč zaradi številnih izboljšav obstoječih postopkov, pri čemer vsaka od njih prispeva svoj delež. Bločni diagram novega standarda je zelo podoben diagramu standarda HEVC, vidimo pa ga lahko na Sliki 1. Največje spremembe so pri delitvi videa na bloke, napredni interpredikciji, uteženi kvantizaciji, prilagojenem filtriranju znotraj zanke in izboljšavi filtra za združevanje blokov. VVC uporablja hibridni sistem video kodiranja. Ta predpostavlja postopka intrapredikcije (angl. intraprediction) za kodiranje ključnih slik, kjer koristimo prostorsko odvečnost, in interpredikcije (angl. interprediction) za kodiranje sprememb glede na ključne slike, kjer koristimo časovno odvečnost. Sliko najprej razdelimo na večje in manjše bloke za učinkovitejšo predstavitev posameznih področij. Večjim blokom rečemo enote kodnega drevesa (angl. codingtree unit), ki so lahko velikosti največ 128x128 slikovnih točk. Večji bloki pripomorejo k večji učinkovitosti kodiranja video vsebin višje resolucije (4k in 8k). Večji bloki se nato delijo na več manjših blokov z namenom predstavitve bolj podrobnih področij na sliki. Tem blokom rečemo kodne enote (angl. coding unit), ki pa se lahko razdelijo na najmanj 4x4 slikovne točke. Slika 1: Bločni diagram standarda VVC Nove tehnike interpredikcije so tiste, ki bistveno pripomorejo k zniževanju bitne hitrosti. V okviru interpredikcije se informacije o razlikah med slikami predstavijo s pomočjo gibalnih vektorjev (angl. motion vector), ki jih je mogoče določiti do 1/16 slikovne točke natančno. Po postopkih predikcije se kodira le napaka. Ta se najprej preslika v frekvenčni prostor, kjer se opravi kvantizacija koeficientov transformacije. V standardu VVC kodirnik uporabi dva zamaknjena kvantizatorja, ki zmanjšujeta napako kvantizacije tako, da je stopnja kvantizacije trenutnega koeficienta odvisna od vrednosti prejšnjih kvantiziranih koeficientov. Rezultat kvantizacije se nato z entropijskim kodiranjem CABAC pretvori v končni bitni zapis [4]. 3 Primerjava HEVC in VVC 3.1 Primerjava postopkov Kot omenjeno sta si standarda razmeroma podobna, VVC rezultate dosega predvsem z izboljšavo obstoječih postopkov, ki jih bomo v nadaljevanju primerjali med sabo. Pri razčlenjevanju posameznih slik video posnetka na večje in manjše bloke VVC dopušča večje bloke do velikosti 128x128 slikovnih točk, HEVC pa le do velikosti 64x64 slikovnih točk. Manjši bloki pri VVC so 98 sestavljeni iz najmanj 4x4 slikovnih točk, pri HEVC pa 8x8 slikovnih točk. Iz tega sledi, da VVC omogoča natančnejše kodiranje podrobnosti na slikah, medtem ko področja z manj podrobnostmi kodira še bolj učinkovito. S temi izboljšavami naj bi dosegli okoli osem odstotno zmanjšanje bitne hitrosti, vendar po drugi strani bolj obremenimo postopek kodiranja [5]. Pri procesu interpredikcije je VVC zmožen vektorje gibanja zaokrožiti na 1/16 slikovne točke natančno, kar izboljša tovrstno zmogljivost standarda HEVC, ki vektorje gibanja lahko definira na 1/4 slikovne točke natančno. Večja natančnost vektorjev gibanja posledično vodi v bolj natančno preslikavo blokov [6]. Opisali smo že, kako VVC uporablja pogojeno kvantizacijo, s čimer bistveno izboljšuje HEVC s skalarnimi kvantizatorji. Ti popolnoma neodvisno določajo stopnjo kvantizacije za vsak koeficient posebej, kar se izkaže za zelo neučinkovito. VVC prinaša tudi novost v prilagodljivem filtriranju znotraj zanke (angl. adaptive loop filtering). Po postopku dekodiranja se sprehodi skozi sliko ter na podlagi enot kodnega drevesa aplicira enega izmed predvidenih dvodimenzionalnih filtrov s končnim impulznim odzivom. Na ta način se znebimo morebitnih artefaktov, poleg tega pa tovrstno filtriranje doprinese tudi precejšnje znižanje količine podatkov napram standardu HEVC. Tako VVC kot HEVC delujeta po principu delitve slik na bloke. Slabost tega pristopa je, da se lahko na Slika 2: Primerjava zmogljivosti standardov za kodiranje video posnetkov VVC in HEVC. Modre črte predstavljajo standard VVC, oranžne pa standard HEVC. Horizontalne črte nam ponudijo vpogled v razliko v bitni hitrosti med standardoma pri isti vrednosti PSNR. robovih teh blokov pojavijo ostri prehodi, kar močno vpliva na percepcijsko kvaliteto videa. Oba standarda ta problem rešujeta s pomočjo filtra za združevanje blokov, kjer VVC implementira nadgradnjo filtra standarda HEVC. Zahvaljujoč še večji maksimalni velikosti blokov (128x128 slikovnih točk) je možna uporaba daljših filtrov, ki v primerjavi s HEVC prinašajo drastične izboljšave percepcijske kvalitete video posnetka. Vse te izboljšave pa seveda povzročajo tudi višjo stopnjo računske kompleksnosti. V primerjavi s HEVC naj bi bilo dekodiranje okoli dvakrat počasnejše [4]. 3.2 Empirična primerjava Z empirično primerjavo smo želeli preveriti, v kolikšni meri novi standard izpolnjuje napovedi glede povišanja svoje učinkovitosti. Tu smo se osredotočili na obljubljeno znižanje bitne hitrosti kodiranega videa, ki naj bi znašalo okoli 50%. Za kvalitetno primerjavo smo potrebovali reprezentativne video posnetke, ki dobro predstavljajo aktualne pretočne vsebine, v zadostni ločljivosti, v surovem, nezgoščenem formatu. Uporabili smo nabor video posnetkov, ki jo v raziskovalne namene ponuja Tampere University [7]. Nabor vsebuje video posnetke ločljivosti 4k (3840x2160 slikovnih točk) s 50 okvirji na sekundo v nezgoščenem zapisu YUV, z barvnim 99 podvzorčenjem 4:4:4 in bitno globino 8 bitov. Iz množice smo izbrali video posnetek SunBath. Posnetek je dolg 6 sekund in vsega skupaj obsega 300 okvirjev, celotna velikost pa znaša 3645MB. S pomočjo programskega orodja FFmpeg smo s podvzorčenjem ustvarili še video posnetke nižjih ločljivosti, kakršne se najpogosteje uporabljajo na internetu. Tako smo ustvarili še posnetke ločljivosti 1440p (2560x1440 slikovnih točk), 1080p (1920x1080 slikovnih točk) in 720p (1280x720 slikovnih točk). Za kodiranje po standardu VVC smo uporabili programsko implementacijo kodirnika, ki ga v uporabo ponuja nemško podjetje Fraunhofer HHI [8], za kodiranje po standardu HEVC pa smo uporabili orodje FFmpeg in GPL knjižnico, ki vsebuje kodirnik x265 [9]. Glavna mera kakovosti, ki smo jo uporabili v primerjavi, je PSNR (angl. peak signal to noise ratio) in predstavlja razmerje med najvišjo možno močjo signala ter nastalo motnjo. PSNR se pogosto uporablja na področju merjenja kvalitete in zmogljivosti oz. učinkovitosti videa. Zavedamo se, da PSNR morda ni najbolj primerno merilo za perceptivno kvaliteto videa, vendar študije kažejo, da pri evalvaciji kvalitete ene same vsebine PSNR in perceptivna kvaliteta dobro korelirata [10], ta pogoj pa je v našem eksperimentu izpolnjen. 4 Rezultati V eksperimentu smo po standardih VVC in HEVC kodirali video posnetke štirih ločljivostnih razredov (720p, 1080p, 1440p in 2160p), za namen čim bolj enakovredne primerjave pa smo vnaprej določili željene bitne hitrosti v razponu od 500 kbit/s do 10 Mbit/s v linearnih korakih. Po kodiranju vseh kombinacij video posnetkov smo izračunali vrednosti PSNR med kodiranimi in referenčnim video posnetkom. [4] [5] Izračunane vrednosti PSNR so prikazane na Sliki 2. Vidimo lahko, da je kodiranje VVC boljše od kodiranja HEVC pri vseh bitnih hitrostih. So pa razlike pri nižjih resolucijah precej manj opazne kot pri višjih resolucijah in se nahajajo v razmerju med 1:1,3 in 1:1,5. Prav tako so razlike zelo nizke pri višjih bitnih hitrostih pri vseh resolucijah. Do obljubljenih izboljšav pa zlahka pridemo pri resoluciji 2160p in nižjih bitnih hitrostih, kjer dosežemo tudi razmerje 1:4. 5 Zaključek [6] [7] V okviru opravljenega dela smo predstavili novi standard VVC in ga primerjali z njegovim predhodnikom HEVC. Pridobljeni rezultati nedvomno potrjujejo superiornost novega standarda. Le manjši delež rezultatov nakazuje visoke izboljšave, zato na podlagi naših ugotovitev obljubljene 50% izboljšave ne moremo potrditi. Velja omeniti tudi, da je standard VVC zelo mlad in se še ne uporablja na trgu, saj so implementacije kodirnikov, ki bi zadostovale uporabniškim zahtevam, še v razvoju. Glede na ugotovitev, da do obljubljenih rezultatov pridemo pri nižjih bitnih hitrostih, bi bilo smiselno eksperiment razširiti za še večjo stopnjo granularnosti pri nižjih bitnih hitrostih. V okviru nadaljnjega dela bi lahko eksperiment opravili tudi na več različnih video vsebinah v še več ločljivostih in tako pridobili še bolj pomenljive rezultate. Prav tako bi za evalvacijo kvalitete lahko uporabili tudi alternativne mere, za tovrstne primerjave se pogosto uporablja mera SSIM. Literatura [1] Cisco, „Global_2021_Forecast_Highlights,“ 2016. [Elektronski]. Available: https://www.cisco.com/c/dam/m/en_us/solutions/s ervice-provider/vni-forecasthighlights/pdf/Global_2021_Forecast_Highlights. pdf. [Poskus dostopa 11 april 2021]. [2] B. Bross, C. Jianle, O. S. G. J. Jens-Rainer in Y.K. Wang, „Developments in International Video Coding Standardization After AVC, With an Overview of Versatile Video Coding (VVC),“ Proceedings of the IEEE, 2021. [3] G. J. Sullivan, J.-R. Ohm, W.-J. Han in T. Wiegand, „Overview of the high efficiency video coding (HEVC) standard,“ IEEE Transactions on 100 [8] [9] [10] [11] [12] circuits and systems for video technology, Izv. 22, pp. 1649--1668, 2012. R. Sjoberg, J. Strom, L. Litwic in K. Andersson, „Versatile video coding explained,“ 14 oktober 2020. [Elektronski]. Available: https://www.ericsson.com/4a92d7/assets/local/rep orts-papers/ericsson-technologyreview/docs/2020/versatile-video-codingexplained.pdf. [Poskus dostopa 14 april 2021]. Y. Huang, „A VVC Proposal With Quaternary Tree Plus Binary-Ternary Tree Coding Block Structure and Advanced Coding Techniques,“ IEEE Transactions on Circuits and Systems for Video Technology, Izv. 30, pp. 1311-1325, 2020. H. &. C. X. &. E. S. &. C. J. &. S. E. Gao, „Decoder-Side Motion Vector Refinement in VVC: Algorithm and Hardware Implementation Considerations,“ IEEE Transactions on Circuits and Systems for Video Technology, Izv. PP, 2020. M. V. J. V. A. Mercat, „UVG dataset: 50/120fps 4K sequences for video codec analysis and development,“ Proc. ACM Multimedia Syst. Conf., 2020. „fraunhoferhhi/vvenc: Fraunhofer Versatile Video Encoder (VVenC),“ Github, 7 september 2020. [Elektronski]. Available: https://github.com/fraunhoferhhi/vvenc. [Poskus dostopa 18 april 2021]. „x265, the free H.265/HEVC encoder VideoLAN,“ [Elektronski]. Available: https://www.videolan.org/developers/x265.html. [Poskus dostopa 18 april 2021]. Q. a. M. G. Huynh-Thu, „Scope of validity of PSNR in image/video quality assessment.,“ Electronics letters, Izv. 44.13, pp. 800-801, 2008. M. K. Mandal, Multimedia signals and systems, London: Kluwer Academic Publishers, 2002. U. Burnik in M. Meža, „Predmet: MM64M27 Obdelava multimedijskih vsebin,“ ULFE, 2020. [Elektronski]. Available: https://e.fe.unilj.si/course/view.php?id=350. [Poskus dostopa Februar 2020]. Mnenje voznikov o uporabniških vmesnikih za prevzem vodenja pogojno avtomatiziranega vozila Timotej Gruden, Grega Jakus Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana, Slovenija E-pošta: timotej.gruden@fe.uni-lj.si Drivers’ Perspective on User Interfaces for Take Over of a Conditionally Automated Vehicle Abstract. A conditionally automated vehicle is expected to drive autonomously under certain conditions, while requiring the driver to be continuously present and able to take over the vehicle when these conditions are no longer met. One very important aspect is the design of a user interface for take over requests. A short survey with 151 participants was conducted where the drivers were asked about their preferred modality and level of information that the interface should provide. The majority preferred an auditory alert with possible additions of tactile alerts and visual information about the category or direction of expected obstacle on road. 1 Uvod Avtomatizirana vozila ponujajo mnogo prednosti v primerjavi s klasičnimi vozili. Poleg možnosti souporabe, zagotavljanja mobilnosti starejšim, povečanja časovne učinkovitosti itd. [1] lahko pripomorejo še k izboljšanju varnosti v cestnem prometu, zmanjšanju porabe goriva ter znižanju izpustov toplogrednih plinov. Preden pa bosta znanost in tehnika zmožni doseči popolno avtonomijo vozila v katerem koli voznem okolju, znanstveniki pričakujejo obdobje tako imenovanih »pogojno avtomatiziranih vozil«. Le-ta naj bi samostojno vozila le v vnaprej določenih posebnih primerih (npr. na avtocesti), medtem ko od voznika pričakujejo, da bo prevzel vodenje, v kolikor ta vozila ne bodo več zmožna obvladati situacije. V takem primeru vozilo sproži zahtevo za prevzem vodenja (angl. »take-over request« – TOR), voznik pa mora v omejenem času prevzeti nadzor [2]. Za uveljavitev pogojno avtomatizirane vožnje je torej ključnega pomena učinkovito sodelovanje oziroma interakcija med voznikom in vozilom (angl. »human-vehicle interaction« – HVI). V zvezi z oblikovanjem uporabniških vmesnikov za podajanje zahteve za prevzem vodenja je med literaturo mogoče zaznati več inovativnih pristopov. Na primer, Borojeni idr. so preučevali uporabo ambientalne svetlobe [3] in volanskega obroča, ki spreminja obliko [4], za obveščanje voznikov o predlagani smeri zavoja (levo ali desno) v primeru ovire na cesti. Petermeijer idr. so s taktilnim vibracijskim vmesnikom v sedežu vozila posredovali prostorske informacije o predvideni oviri in nato še primerjali enomodalne z večmodalnimi ERK'2021, Portorož, 101-104 101 vmesniki [5], [6]. Poleg tega so ugotavljani, ali smernost dražljaja pri voznikih sproži kakršne koli spontane odzive. Gold idr. so s pomočjo tehnik strojnega učenja poskušali modelirati voznikove odzive, da bi dobil globlji vpogled v dogajanje med prevzemom vodenja [7]. Zelo malo raziskovalcev pa je sistematično sledilo mnenju voznikov o tem, kakšen bi bil njim najprimernejši način za podajanje zahteve za prevzem vodenja vozila. Ključno motivacijo za nastanek pričujočega članka torej predstavlja potreba po analizi in vključevanju mnenja voznikov pri oblikovanju uporabniških vmesnikov za prevzem vodenja. Z željo po sistematičnem pristopu k analizi mnenja voznikov smo izvedli kratko anketo. Čeprav uporabnikova (voznikova) izbira ne privede nujno do najučinkovitejšega uporabniškega vmesnika, pa lahko neupoštevanje mnenja voznikovih povzroči odpor do in posledično neuporabo produkta s takšnim vmesnikom, kar bi lahko v danem primeru pomenilo veliko težavo pri množični uvedbi avtonomnih vozil, kljub njihovim prednostim. V zvezi z uporabniškimi vmesniki pri pogojno avtomatiziranih vozilih so do sedaj poročali le o manjšem številu množičnih raziskav. V najnovejši so Bazilinskyy idr. poročali, da je voznikova izbira vrste dražljaja odvisna predvsem od kritičnosti situacije in da so večmodalni vmesniki med najbolje zaželenimi [8]. V svojem delu so se osredotočili na različne vrste dražljajev (npr. moški ali ženski glas, zvonec, hupa) ter ne zaznano nujnost podane zahteve za prevzem vodenja. Naša raziskava pa je vrste dražljajev dodatno razdelila glede na stopnjo informacije, ki bi jih lahko prenesli vozniku, ter dodatno preverjala mnenja voznikov o želenem vedenju vozila med prevzemanjem vodenja. Kot so poročali tudi Bazilinskyy idr., je pomanjkljivost daljših množičnih raziskav ta, da se običajno nanje odzove le zelo zainteresirana javnost. Naše delo temelji na zelo kratki anketi (3–5 minut), kjer udeleženci za sodelovanje niso prejeli nobenega plačila. Anketo smo želeli zasnovati na način, da bi pridobili vpogled v tri splošne vidike interakcije med voznikom in vozilom med tem, ko vozilo podaja zahtevo za prevzem vodenja. To so: način (modalnost) podajanja zahteve, količina podane informacije in vozne / osebne okoliščine. Ker na slednje navadno ne moremo vplivati, se v tem prispevku osredotočamo le na način podajanja in količino informacije. Dodatno smo vključili še vprašanja o željah glede vedenja vozila med podajanjem zahteve za prevzem vodenja ter odprto vprašanje ob koncu ankete. Natančneje, zastavili smo si naslednja raziskovalna vprašanja o mnenju voznikov: 1. Kakšen je najboljši način (modalnost) za podajanje zahteve za prevzem vodenja? 2. Koliko informacij se voznikom še zdi koristnih med prevzemanjem vodenja vozila? 3. Kako naj se vede vozilo med podajanjem zahteve za prevzem vodenja? V nadaljevanju je najprej predstavljena uporabljena metodologija (zgradba in način izvajanja ankete), sledi poglavje z rezultati ankete, nato še kratka razprava in zaključek. 2 Metodologija 2.1 Zgradba ankete Raziskavo smo zaradi pandemije COVID-19 izvedli na spletni platformi En klik anketa [9]. Sestavljena je bila iz 14 vprašanj, po vsebini razdeljenih v pet skupin: 1. predhodne izkušnje (2 vprašanji), 2. načini (modalnosti) vmesnika (2 vprašanji), 3. količina podane informacije (2 vprašanji), 4. pričakovano vedenje vozila (3 vprašanja), 5. ostalo: demografija, odprta vprašanja (5 vprašanj). Obravnavani načini (modalnosti) podajanja informacije preko uporabniškega vmesnika so vključevali: • vizualne dražljaje (na armaturni plošči), • slušne dražljaje (pisk), • taktilne dražljaje (vibracije), • ambientalne dražljaje (ambientalna osvetlitev). Voznike smo vprašali tudi, ali se jim zdijo boljši konstantni (statični) ali spreminjajoči se (dinamični) dražljaji. Količino podane informacije (tretja skupina vprašanj) smo razdelili v štiri skupine: • obvestilo: samo zahteva za prevzem vodenja, brez dodatnih informacij; • smerno opozorilo: opozorilo, vključno z informacijami o predvideni lokaciji ovire (npr. zvočni signali iz določene smeri); • kategorija: vnaprej določene možne kategorije vzroka za zahtevo po prevzemu vodenja (vnaprej določeni vzorci dražljajev); • opis: kratek opis situacije, kot jo zazna vozilo (besedilo ali govor). Poleg naštetega smo voznike vprašali še, ali bi želeli, da vozilo samodejno izvede kakršen koli vnaprej določen manever v primeru zahteve za prevzem, na primer rahlo zavira in / ali omejuje voznikove reakcije. 2.2 • V tem času nemoteno berete novice na mobilnem telefonu. • Med tem se okoliščine na cesti spremenijo in vozilo ne bo več zmožno voziti samo. • Vozilo vas bo opozorilo, da morate v nekaj (5) sekundah prevzeti vodenje. Hiperpovezavo za dostop do ankete smo udeležencem poslali preko laboratorijskega e-poštnega seznama. Ob kliku nanjo je zainteresirane udeležence pozdravila uvodna stran, kjer je bil na kratko opisan namen študije, dolžina (3 strani), izvajalci ter podano soglasje za sodelovanje. Na prvi strani so udeleženci podali stopnjo predhodnih izkušenj z avtomatizacijo v vozilih in odgovorili na vprašanja o načinih – modalnostih podajanja informacije. O smiselni količini podane informacije ter o želenem vedenju vozila med podajanjem zahteve za prevzem vodenja smo jih vprašali na drugi strani, na zadnji pa so sledila še demografska in odprta vprašanja. Po rešeni anketi smo udeležencem ponudili tudi možnost prijave za sodelovanje v uporabniški študiji v simulatorju vožnje, ki bo logično nadaljevanje tega dela. Celoten čas sodelovanja posameznega udeleženca je bil od tri do pet minut (okvirno ena do dve minuti za vsako stran). 2.3 Demografske značilnosti vzorca populacije Za sodelovanje v raziskavi se je prostovoljno odločilo 151 ljudi (od tega 26% žensk, 74% moških). Posedovanje veljavnega vozniškega dovoljenja je bil edini pogoj za veljavno sodelovanje. V povprečju so imeli sodelujoči vozniki veljavno vozniško dovoljenje 11,25 ± 10,97 let. Večina udeležencev je bila starih 21– 40 let (80% vzorca). Predhodne izkušnje z avtomatizacijo v vozilih smo zabeležili na petstopenjski lestvici, kjer številka stopnje odraža, koliko izmed naslednjih sistemov avtomatizacije ima udeleženec v svojem avtomobilu: tempomat, radarski tempomat, sistem za ohranjanje voznega pasu (lane-keeping), sistem za samodejno parkiranje in samodejno zaznavanje prometnih znakov; rezultate prikazuje Slika 1. Postopek Naloga udeležencev je bila zagotoviti pristne odgovore na zastavljena vprašanja. Splošno vodilo pri odgovarjanju na vprašanja je bilo: "Kaj od naštetega bi želeli uporabljati v vozilu?" Pri vseh vprašanjih so morali predvidevati, da uporabljajo pogojno avtonomno vozilo na naslednji način: • Vozilo popolnoma samodejno vozi na avtocesti. 102 Slika 1. Predhodne izkušnje predstavljajo število podpornih sistemov, ki jih imajo posamezni udeleženci v svojih vozilih. 3 Rezultati Z anketo smo pridobili 126 veljavnih odgovorov na zastavljena vprašanja. Med neveljavne smo šteli odgovore sodelujočih, ki niso imeli veljavnega vozniškega dovoljenja, ter tistih, ki ankete niso izpolnili do konca. Kot najprimernejši način za podajanje zahteve za prevzem vodenja vozila je kar 114 od 126 vprašanih določilo zvočni dražljaj – pisk. Le okoli 50 vprašanih bi si želelo tudi vizualnega oz. ambientalnega načina podajanja zahteve; nekaj več kot pol sodelujočim (70 od 126) pa se zdi primeren tudi taktilni dražljaj – vibracije (Slika 2). Dve tretjini vprašanih sta se odločili v prid spremenljivim (dinamičnim) dražljajem v primerjavi z nespremenljivimi (monotonimi) dražljaji. Slika 2. Želeni načini (modalnosti) za podajanje zahteve za prevzem vodenja vozila. Pri določanju želene količine prenesene informacije za uspešen prevzem vodenja pa si vozniki niso bili tako enotni. Največ, 37% jih je izbralo le obvestila s čim manj dodatnimi informacijami. 32% vprašanih bi izbralo tudi informacije o možni kategoriji vzroka za zahtevo, 27% pa le dodatno informacijo o predvideni smeri ovire. Voznike smo povprašali tudi po primernih informacijah za prenos preko posameznega načina podajanja zahteve, rezultate prikazuje Tabela 1. Tabela 1. Skupno število izbir pri vprašanju: "Izberite, katere informacije o zahtevi za prevzem vodenja bi želeli, da vam vozilo poda preko navedenih tipov signalov." podroben opis 46% 20% 55% 46% kategorija okoliščin 1% 6% 24% 31% obvestilo in smer ZVOČNI VIZUALNI TAKTILNI AMBIENT. obvestilo način podajanja zahteve nič (ne želim) želena količina informacije 32% 43% 16% 17% 15% 20% 4% 7% 7% 11% 1% 0% Na vprašanje: "Menite, da bi moralo vozilo ob zahtevi za prevzem vodenja tudi samodejno zavirati?" je 75% vprašanih odgovorilo pritrdilno. Glede potrebe / smiselnosti omejevanja voznikovih reakcij, npr. preprečiti blago zaviranja oz. zavijanje, si vozniki niso 103 enotni (Slika 3). Med prostimi odgovori na to vprašanje se pojavlja predvsem dvom zaradi odvisnosti od posamezne situacije, nekaj odgovorov celo nakazuje na potrebo po testiranju v različnih situacijah. Slika 3. Odziv voznikov na vprašanje: "Bi moralo vozilo v danem primer (med podajanjem zahteve za prevzem vodenja) omejevati uporabnikove reakcije?" Poleg navedenega smo voznike povprašali še po njihovem predvidenem prvem odzivu na zahtevo za prevzem vodenja vozila. Večina voznikov (54%) je odgovorila, da bi najprej pogledali na cestišče in reagirali šele po premisleku. 25% voznikov bi nemudoma rahlo zaviralo, 18% pa bi jih nemudoma sunkovito zaviralo. Pri odprtem vprašanju ("Bi še kaj dodali?") so nekateri udeleženci želeli poudariti pomen zvočnega opozorila, drugi so poudarjali, da ne glede na tip podajanja zahteve le-ta ne sme biti preveč nadležna, tretji so kot obvezno predlagali kombinacijo več opozorilnih sistemov. Skoraj vsem odgovorom pa je bilo skupno, da človek v tako omejenem času za prevzem vodenja (pet sekund) skoraj gotovo ni zmožen izbrati pravilne / primerne odločitve. 4 Razprava Večini (90%) anketiranih voznikov bi za uspešen sprejem zahteve za prevzem vodenja najbolje ustrezal zvočni vmesnik. Večja naklonjenost k zvočnim dražljajem sicer ni presenetljiva, saj so zvočna opozorila že sedaj zelo pogost način obveščanja o napakah na vozilu. Glede na razmeroma majhno priljubljenost vizualnih dražljajev lahko predvidevamo, da je voznikov vizualni vhodni kanal že preobremenjen z informacijami in zato ne more služiti kot edini vir kritičnih informacij. Posledično bi želeli, podobno kot so to storili nekateri vozniki pri odprtih vprašanjih, poudariti pomen zvočnega opozarjanja voznikov. Kljub temu, da bi se lahko načrtovalcem uporabniških vmesnikov zvočno opozorilo zdelo preveč enostavno, je verjetno ravno to ključna lastnost, ki jo vozniki cenijo v omejenem času. Še več, iz tabele 1 lahko sklepamo, da zvočni vmesnik skoraj nikomur (le 1%) ni odveč oz. skoraj nikogar ne moti, četudi mu ne bi koristil. Smiseln dodatek zvočnemu dražljaju bi bil, glede na mnenja voznikov, taktilni dražljaj, zato bi bilo vredno preučiti vpliv njegove prisotnosti / odsotnosti na kakovost prevzema vodenja. Po drugi strani je potrebna previdnost, saj je kar 24% vprašanih označilo, da taktilnega vmesnika ne želi (tabela 1), pri tem pa ni pojasnjeno, ali jim je samo odveč, ali celo moteč. Vozniki so kot njim najprimernejšo želeno količino prenesene informacije izbrali le preprosto opozorilo (37%). Predvidevamo, da njihova izbira zaradi omejenega časa, ki je na voljo, sledi sloganu "manj je več". Zanimivo je še, da je več voznikov dalo prednost informaciji o kategoriji možnega vzroka za prevzem pred opozorilom o predvideni smeri ovire. Če upoštevamo še različne želje voznikov glede na način podajanja informacije (tip vmesnika), lahko zasledimo, da je večina voznikov pripravljena sprejeti dodatne informacije le preko vizualnega vmesnika. Vsi ostali (zvočni, taktilni in ambientalni) naj bi po mnenju voznikov služili le za podajanje opozorila. Verjetno poteka razmišljanje voznikov v smislu: "V tako kratkem času želim le opozorilo, v kolikor pa bom utegnil sprejeti dodatne informacije, se bom najlažje osredotočil na vizualni vmesnik (armaturno ploščo)." Glede na to lahko predlagamo večmodalni pristop z različnimi količinami informacije glede na način njihovega posredovanja. Dober način za privzete nastavitve vozila se zdi opozorilo preko vseh čutnih kanalov z dodatno informacijo o smeri ali kategoriji preko vizualnega vmesnika, v kolikor je taka informacija na voljo. Po mnenju voznikov bi morala zahteva za prevzem vodenja vozila sprožiti tudi samodejno zaviranje. Kot že večkrat omenjeno, si vozniki namreč priznajo, da se v tako kratkem času verjetno ne bi zmogli odločiti za pravilno reakcijo. S postopnim samodejnim zaviranjem tako ne samo ukrepamo zelo preventivno, ampak zaradi zmanjševanja hitrosti tudi povečamo čas, ki ga ima voznik na voljo za prevzem. Iz odgovorov udeležencev ni jasno razvidno, ali in katere nenadne neželene reakcije bi naj vozilo preprečevalo. Enoznačne rešitve za vsak primer morda ni, verjetno pa bi bilo koristno, da vozniki prejmejo pomoč pri prečni (zavoj) ali vzdolžni (zaviranje) koordinaciji vozila v nekaterih posebnih primerih. To nakazuje možnost uspešnega pristopa z le delnimi prevzemi vodenja kjer bi vozniki lahko prevzeli le prečni ali vzdolžni nadzor nad vozilom, kar dejansko samo zniža stopnjo avtomatizacije, namesto popolnega izklopa. Z odgovori o predvideni prvi reakciji voznikov na zahtevo za prevzem vodenja lahko ponovno potrdimo potrebo po takojšnjem samodejnem zaviranju, saj bi večina voznikov reagirala šele po tehtnem premisleku in tako izgubila kar nekaj dragocenega časa. Rezultati kažejo tudi, da od voznikov ni moč pričakovati kakršnih koli refleksnih odzivov, čeprav se zdi, da bi pripomogli h kvalitetnejšemu prevzemu. Za to bi lahko poskrbeli s primernim treningom pred prvo uporabo vozila. 5 Zaključek Rezultati pričujoče raziskave so pomembni in uporabni pri načrtovanju in oblikovanju uporabniških vmesnikov za podajanje zahteve za prevzem vodenja. Za podajanje 104 zahteve predlagamo uporabo zvočnih in po možnosti tudi taktilnih opozoril ter posredovanje dodatnih informacij preko vizualnega vmesnika. Ponovno bi želeli opomniti, da izbira voznikov morda ne prinaša najučinkovitejšega vmesnika. Predstavljena raziskava je zato le začetek obsežnejšega načrtovanja in testiranja različnih vmesnikov. Zahvala Raziskavo je delno financirala ARRS v okviru raziskovalnega programa ICT4QoL – Informacijsko komunikacijske tehnologije za kakovostno življenje (P2-0246) in projekta Nevrofiziološko in kognitivno profiliranje vozniških sposobnosti (L2-8178). Literatura [1] C.-Y. Chan, „Advancements, prospects, and impacts of automated driving systems“, International Journal of Transportation Science and Technology, let. 6, št. 3, str. 208–216, sep. 2017, doi: 10.1016/j.ijtst.2017.07.008. [2] A. Eriksson in N. A. Stanton, „Takeover Time in Highly Automated Vehicles: Noncritical Transitions to and From Manual Control“, Hum Factors, let. 59, št. 4, str. 689–705, jun. 2017, doi: 10.1177/0018720816685832. [3] S. S. Borojeni, L. Chuang, W. Heuten, in S. Boll, „Assisting Drivers with Ambient Take-Over Requests in Highly Automated Driving“, v Proceedings of the 8th International Conference on Automotive User Interfaces and Interactive Vehicular Applications, New York, NY, USA, 2016, str. 237–244. doi: 10.1145/3003715.3005409. [4] S. S. Borojeni, T. Wallbaum, W. Heuten, in S. Boll, „Comparing Shape-Changing and Vibro-Tactile Steering Wheels for Take-Over Requests in Highly Automated Driving“, v Proceedings of the 9th International Conference on Automotive User Interfaces and Interactive Vehicular Applications, New York, NY, USA, 2017, str. 221–225. doi: 10.1145/3122986.3123003. [5] S. M. Petermeijer, S. Cieler, in J. C. F. de Winter, „Comparing spatially static and dynamic vibrotactile takeover requests in the driver seat“, Accident Analysis & Prevention, let. 99, str. 218–227, feb. 2017, doi: 10.1016/j.aap.2016.12.001. [6] S. Petermeijer, P. Bazilinskyy, K. Bengler, in J. de Winter, „Take-over again: Investigating multimodal and directional TORs to get the driver back into the loop“, Applied Ergonomics, let. 62, str. 204–215, jul. 2017, doi: 10.1016/j.apergo.2017.02.023. [7] C. Gold, R. Happee, in K. Bengler, „Modeling take-over performance in level 3 conditionally automated vehicles“, Accident Analysis & Prevention, let. 116, str. 3–13, jul. 2018, doi: 10.1016/j.aap.2017.11.009. [8] P. Bazilinskyy, S. M. Petermeijer, V. Petrovych, D. Dodou, in J. C. F. de Winter, „Take-over requests in highly automated driving: A crowdsourcing survey on auditory, vibrotactile, and visual displays“, Transportation Research Part F: Traffic Psychology and Behaviour, let. 56, str. 82–98, jul. 2018, doi: 10.1016/j.trf.2018.04.001. [9] 1KA, „Orodje za anketiranje“, 1KA | Spletne ankete. https://www.1ka.si/ (pridobljeno jul. 21, 2021). Uporabnost pametnih telefonov in mobilnih aplikacij kot pripomočkov za osebe z invalidnostjo Gregor Burger1, Katja Oven2, Matevž Pogačnik1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija 2 Geodetski inštitut Slovenije, Jamova cesta 2, 1000 Ljubljana, Slovenija E-pošta: gregor.burger@fe.uni-lj.si 1 Usability of smartphones and mobile applications as assistance tools for people with disability Abstract. We present the results of the research project The impact of the Fourth and Fifth Industrial Revolutions on the lives of people with disabilities. One of our research objectives was to assess the usefulness of smartphones and mobile apps as tools to help people with disabilities. We first present the aims of the project and the impact of the Fourth and Fifth Industrial Revolutions on disabled people in society. Second, we present the results of interviews conducted with people with hearing, vision and mobility impairments. The results present an assessment of the usability of smartphones and mobile applications in the areas of home use, workplace use and mobility. Additional information on usability for learning and multimedia use for people with disabilities is provided.« 1 Uvod Z vstopom v četrto industrijsko revolucijo, ki predstavlja interoperabilno uporabo pametnih naprav in aplikacij na področju interneta stvari, se spreminja tudi naša družba. Spremembe digitalizacije ter virtualizacije našega okolja in družbe bodo občutili vsi sloji prebivalstva. Še posebno pa bodo spremembe občutile ranljive socialne skupine, npr. osebe z oviranostmi invalidi, nenazadnje pa tudi starostniki [1]. Omenjene skupine težje sprejemajo družbene in tehnološke spremembe ter so pogosto nepripravljene na njihov prihod [2]. Tehnološka preobrazba družbe se bo dodatno odražala s posledičnimi spremembami na družboslovnem področju. Spremenjeni načini dela, šolanja in uporabe tehnologij bodo vplivali tudi na trg dela, urbano okolje, zaposljivost ljudi, poslovne modele itd. [3]. V trenutnem socialnem dogovoru družba zagotavlja sistem socialnih transferjev na kolikor je mogoče nediskriminatoren način, za izboljšanje bivanja osebe z invalidnostjo er njihovo največjo stopnjo samostojnosti. A tehnološke in družbene spremembe bodo povzročile spremembe tudi v tem dogovoru. Del invalidnih oseb je zaposljiv, čeprav težko najdejo delo. Preostali del invalidnih oseb ni zaposljiv, na družbi pa je, da poskrbi za njihovo dobrobit. Zavedati se moramo, da je na ravni Evrope stopnja invalidnosti med 10 in 15 % prebivalstva. V Sloveniji se ocenjuje stopnja invalidnosti na okrog 8 % prebivalstva [4]. K tem ERK'2021, Portorož, 105-108 105 številkam moramo prišteti se starajočo se strukturo prebivalstva, ki bo prav tako potrebovala dodatno pomoč in podporo. V nadaljevanju predstavljamo raziskovalni projekt – Vpliv četrte in pete industrijske revolucije na življenje invalidov ter rezultate intervjujev z invalidnimi osebami o ustreznosti predlaganih novih pripomočkov z njihovo razlago. Projekt med drugim skuša raziskati scenarije bivanjskih in delovnih situacij invalidnih oseb, ki bi jih lahko izboljšali s pomočjo novih tehnologij. 2 Predstavitev projekta Temeljni cilj raziskovalnega projekta Vpliv četrte in pete industrijske revolucije na življenje invalidov, v katerem kot partnerja sodelujeta Geodetski inštitut Slovenije in Laboratorij za multimedijo in telekomunikacije Fakultete za elektrotehniko Univerze v Ljubljani, je pridobitev uporabniške izkušnje in ocene primernosti novih tehničnih pripomočkov za: izboljšanje bivalnih razmer invalidov, povečanje njihove zaposljivosti, mobilnosti, integracije in inkluzije, za izvajanje izobraževanj na področju tovrstne digitalne opolnomočenosti invalidov, za izboljšanje njihovega socialnega, etičnega in pravnega statusa ter za potencialno uvrstitev novih tehničnih pripomočkov na seznam pripomočkov, ki jih bo financiral MDDSZ. Temeljni namen projekta pa je ocena vpliva najnovejših tehničnih pripomočkov na olajšanje bivanja, omogočanje dela in status invalidov. Med izvajanjem projekta se stremi k iskanju strateških usmeritev vloge in položaja invalidnih oseb v sodobni tehnološki družbi. Projekt se izvaja od novembra l. 2019 do konec oktobra l. 2021. Izvedena je bila preučitev že dostopnih pripomočkov, trenutno na voljo invalidnih osebam. Primarno pa je bil fokus posvečen prepoznavi novih in prihajajočih pripomočkov ter tehnologij. Prepoznani pripomočki so bili razvrščeni v domene uporabe za gibalno ovirane, slepe in slabovidne, gluhe in naglušne ter gluhoneme osebe. Dodatno sta bila dva pripomočka prepoznana še za osebe z motnjami v razvoju. Pripomočke smo glede na domene uporabe dodatno razdelili še na scenarije uporabe za domene dóma, dela in mobilnosti. Za skupino gibalno oviranih oseb smo identificirali 36 novih tehničnih pripomočkov, za skupino gluhih in naglušnih oseb smo identificirali 49 novih tehničnih pripomočkov in za skupino slepih in slabovidnih oseb smo identificirali 81 novih tehničnih pripomočkov. Zaradi omejitev pandemije koronavirusa SARSCoV-2 smo bili primorani spremeniti naš pristop k evalvaciji novo prepoznanih pripomočkov. Iz načrtovanih osebnih intervjujev v živo z invalidnimi osebami smo bili primorani za izvedbo intervjujev uporabiti spletno aplikacijo Zoom, kar je prineslo še dodatno kompleksnost k izvedbi intervjujev. Dolžino posameznega intervjuja smo omejili na maksimalno dolžino 2 ur, pripomočke pa smo združili, glede na njihove sorodne funkcionalnosti, v manjše smiselno povezane skupine. Za izvedbo intervjujev smo izdelali vprašalnike s katerimi smo želeli pridobiti podatke o intervjuvanih osebah, njihovi trenutni uporabi pripomočkov in odnosu do tehnologije ter sami oceni predstavljenih pripomočkov. Zanimala nas je tudi potencialna sprememba odvisnosti od pomoči drugih oseb ter samostojnosti intervjuvane osebe ob predvideni uporabi pripomočka. Za pripomočke, ki imajo različne oblike pojavnosti kot so: namenska naprava, mobilna aplikacija na pametnem telefonu, smo skušali izvedeti tudi najbolj primerno obliko pojavnosti. Intervjuvanci so vprašalnike prejeli v predhodni pregled. V vprašalnikih smo pripravili opise naprav, navedli pa smo tudi spletne povezave do posameznih primerov naprav in aplikacij. Intervjuvane osebe smo kontaktirali preko invalidskih organizacij in društev. Del vprašalnika intervjuja je predstavljen na Slika 1. Med izdelavo pregleda novih tehnologij in pripomočkov smo prepoznali trend uporabe pametnih telefonov in mobilnih aplikacij za pomoč invalidnim osebam, ki pogosto nadomeščajo namenske tehnične pripomočke. V sklopu naših intervjujev smo želeli preveriti hipotezo, ali pametni telefoni in mobilne aplikacije predstavljajo uporaben in sprejemljiv pripomoček za osebe z invalidnostjo. V nadaljevanju na kratko predstavljamo rezultate intervjujev s fokusom na pametne mobilne telefone in njihove podporne aplikacije. 3 samostojnost in kakovost bivanja. Del primerne ureditve bivalnega in delovnega okolja predstavlja pametna hišna avtomatika, ki omogoča upravljanje na daljavo npr. pametne vtičnice, pametni zvonec, pametne osvetlitve, pametni termostat ter pametne žaluzije oz. rolete, med drugim, tudi preko mobilne aplikacije na pametnem telefonu. Pametna vtičnica, pametni zvonec in pametni termostat so bili najboljše sprejeti pripomočki, intervjuvanci pa so pozitivno ocenili njihovo upravljanje aplikacije pametnega telefona ali glasovnega upravljanja. Pametni telefon je lahko ustrezna dopolnitev pri ohranjanju zdravja invalidnih oseb v obliki pripomočka za zagotavljanje napredne vadbe s pomočjo senzorjev in podpornih mobilnih aplikacij za beleženje vadbe v domačem okolju. Izražen pa je bil pomislek o nezmožnosti samostojne namestitve senzorjev in posledično manjši uporabnosti pripomočka za gibalno ovirane osebe. Rezultati intervjujev V intervjujih oseb z invalidnostmi je sodelovalo 41,7 % gibalno oviranih oseb, 33,3% gluhih in naglušnih oseb ter 25 % slepih in slabovidnih oseb. Najmlajša oseba je imela v času opravljenega intervjuja 31 let, najstarejša 64 let. Najnižja dosežena izobrazba je bila poklicna šola, najvišja pa magistrski naziv. Vse osebe poročajo, da so v največji možni meri samostojne, gibalno ovirane osebe potrebujejo pomoč osebnih pomočnikov pri bivanju. Vsi intervjuvanci za svoje delo, bivanje doma ali mobilnost uporabljajo različne pripomočke, med drugim tudi pametne telefone. 3.1 Podpora pri bivanju, delu in komunikaciji za gibalno ovirane osebe Za gibalno ovirane osebe je izjemno pomembno kako je urejeno njihovo domače okolje in okolje na delovnem mestu. Ustrezno zasnovano bivalno in delovno okolje z možnostjo samostojnega upravljanja jim omogoča večjo 106 Slika 1: Vprašalnik o ustreznosti pripomočka 3.2 Podpora pri bivanju, delu in komunikaciji za slepe in slabovidne osebe Za slepe in slabovidne osebe sta primarna načina zaznavanja sluh in dotik, ki nadomeščata vidno zaznavanje okolice. Pogosto uporabljena orodja so orodja za prepoznavo znakov (angl. Optical Character Recognition, OCR) in bralniki zaslonov. Naprave obstajajo v različnih pojavnostih: kot samostojne naprave, kot računalniški programi in kot mobilne aplikacije. Moderni računalniški operacijski sistemi in operacijski sistemi pametnih telefonov imajo nekatere funkcionalnosti že vgrajene. Vsi tipi rešitev so bili prepoznani kot ustrezni, pri čemer so bile mobilne aplikacije izpostavljene kot primernejša pojavnost, saj zmanjšujejo potrebo po večjem številu naprav in so uporabne pri dnevnih opravilih, zabavi, delu ali izobraževanju. Funkcionalnost prepoznave znakov in slik ter njihova pretvorba v govorno informacijo je bila med intervjuvanci prepoznana kot izjemno pomembna. Pozitivno so bili označeni tudi pripomočki za povečevanje teksta, slik in kontrastov, prav v pojavnosti mobilnih aplikacij. Pri tem je bila pogosto izpostavljena uporaba kamere pametnega telefona za povečavo teksta in slik. Največja kritika uporabe pametnih telefonov in mobilnih aplikacij za slepe in slabovidne osebe je izginjanje uporabniških vmesnikov s fizičnimi tipkami. Ta trend se je prenesel tudi na uporabniške vmesnike drugih naprav kot so hišna avtomatika, bankomati, različni avtomati in podobno. Za slepe in slabovidne osebe so uporabniški vmesniki s fizičnimi tipkami in dodatnimi funkcionalnostmi govornega sporočanja ali poročanja o delovanju prepoznani kot bistveni. Zavedati se namreč moramo, da pogosto uporabniški vmesniki na dotik ne omogočajo hkratnega govornega vodenja oz. poročanja o delovanju. 3.3 Podpora pri bivanju, delu in komunikaciji za gluhe in naglušne osebe Intervjuvane osebe te skupine so poročale o svoji relativno dobri samostojnosti in želji po čim manjši odvisnosti od pomočnikov. Potrebujejo transformacijo slišnih informacij v tekstovno obliko ali tolmačenje v znakovnem jeziku. Prisotno je tudi zavedanje, da je slovenski jezik pri razvoju ustreznih tehnoloških rešitev zapostavljen napram velikim svetovnim jezikom. Eden izmed najbolj pomembnih pripomočkov za naglušne osebe je slušni aparat, ki v zadnjih izvedbah omogoča tudi povezavo s pametnimi telefoni za upravljanje in direktni prenos zvoka iz drugih virov kot so recimo video posnetki, filmi, predvajalniki glasbe. Nekateri slušni aparati omogočajo, preko mobilnih aplikacij, povezovanje z aktuatorji okolja, ki se izklopijo po odstranitvi slušnega aparata iz ušesa uporabnika. Za gluhe osebe je najbolj pomembna komunikacija z video povezavo in podnaslavljanjem v realnem času. Ta funkcionalnost je zelo dobrodošla pri pametnih telefonih, sámo prevajanje govora v tekst pri stacionarnih telefonih pa ni potrebno, saj so pametni telefoni prevzeli večino komunikacijskih nalog. Mobilna aplikacija za učenje znakovnega jezika bi bila zelo dobrodošla, tako za gluhe in naglušne osebe kot tudi za njihove svojce in družinske članke. S skepso pa je bila sprejeta aplikacija, ki omogoča pretvorbo teksta v znakovni jezik, zaradi bojazni pred slabim prevodom. Pri znakovnem jeziku je pomembna tudi mimika govorca, ki bi se lahko v avtomatskem prevodu izgubila. Bi pa takšna aplikacija, če bi dobro delovala, zagotovo bila zelo dobrodošla. Sintetizatorji govora s pred pripravljenimi slikami, npr. na zaslonu mobilne naprave ali zapestnice, so bili označeni kot manj primerni in bolj namenjeni tetraplegikom ali za osebam s hudimi poškodbami možganov. 107 3.4 Podpora pri gibanju za gibalno ovirane osebe Za gibalno ovirane osebe so zanimive aplikacije navigacije prirejene invalidnim osebam. Aplikacije prilagajajo pot uporabnika glede na njegov tip invalidnosti. Zato se pot razlikuje za slepo osebo ali pa osebo na invalidskem vozičku. Razlike glede poti pa so mogoče že med osebami z različnimi gibalnimi omejitvami, ko nekatere osebe lahko premagajo pločnik brez klančine druge pa ne. Take rešitve zahtevajo dobre in natančne opise urbanega okolja, ki so dostopne tovrstnim aplikacijam. 3.5 Podpora pri gibanju za slepe in slabovidne osebe Podobno kot gibalno ovirane osebe, tudi slepi in slabovidni potrebujejo prilagojeno aplikacijo za navigacijo. Aplikacija mora zagotavljati veliko natančnost delovanja in podajati le nujne informacije za pot. Za ustrezno delovanje, aplikacija, poleg dostopa do informacij o lokaciji stopnic, visokih pločnikov, talnih označb, potrebuje tudi podatke o delu na cestah in pločnikih, zaporah cest, obhodnih poteh in podobno. Izražena je bila tudi potreba po zvočnem napovedovanju prihodov avtobusov, vlakov in podajanju trenutne lokacije uporabnika glede na vstopno točko v vozila javnega prometa. Aplikacije za navigacijo je mogoče z uporabo brezžičnih oddajnikov nadgraditi za delovanje v notranjosti stavb. Tovrstne rešitve že obstajajo, manjka pa še ustrezna standardizacija, ki bo zagotovila nemoteno delovanje. Zagotoviti je potrebno tudi ustrezno infrastrukturo znotraj stavb in dostopnost opisov njihove notranjosti. 3.6 Podpora pri gibanju za gluhe in naglušne osebe Pretvorba govora v tekst in gest v govor povečuje samostojnost gluhih in naglušnih oseb. Dodatno jih lahko pametni telefoni opozarjajo na trenutno lokacijo, ime avtobusne postajališča in podobno. Koristni so še indikatorji za opozarjanje na zvočne signale v okolju kot so zvok siren vozil s prednostjo in hupanje. 3.7 Ovrednotenje vpliva novih pripomočkov na izobraževanje invalidov za delo in bivanje Pametni telefoni in podporne mobilne aplikacije imajo največji doprinos k izobraževanju slepih in slabovidnih oseb ter gluhih in naglušnih osebe. V primeru gibalno oviranih oseb, primarno tetraplegikov, pa njihov vpliv ni bistven, saj takšne osebe potrebujejo predvsem prirejene periferne naprave za upravljanje računalnikov, npr. prilagojene miške, namenske kontrolerje ter sisteme za sledenje pogleda. Največji doprinos opazimo v skupini slepih in slabovidnih oseb za branje tekstov, branje zaslonov in prepoznavo objektov ter stvari. S strani slepih in slabovidnih ter gluhi in nagluših je bila izpostavljena pomanjkljiva podpora slovenskemu jeziku, saj so rešitve (aplikacije) pogosto prilagojene za en jezik ali majhno število velikih svetovnih jezikov. Naglušnim osebam pametni telefoni služijo kot orodje za pretvarjanje govora v tekst z izpisom na zaslonu pametnega telefona. Zelo dobrodošli bi bili kakovostni avtomatski prevajalniki govora v tekst v slovenskem jeziku. Dodatno je pametni telefon lahko tudi naprava za priklop na ojačevalnike zvoka, ki so že integrirani v določenih izobraževalnih institucijah. 3.8 Uporaba informacijsko komunikacijskih naprav za konzumacijo spletnih in multimedijskih vsebin Pametni telefoni so se izkazali za ustrezno informacijsko napravo za konzumacijo spletnih in multimedijskih vsebin. Omogočajo konzumacijo video in avdio vsebin, komunikacijo, vzpostavljanje osebnih socialnih stikov, spletnega nakupovanja, zabave in ne nazadnje tudi učenja. Pri sami uporabi pametnega telefona kot pripomočka za osebe z invalidnostjo obstajajo omejitve, ki pa jih je mogoče rešiti dodatnimi perifernimi napravami. To so lahko dodatna pisala za zaslone na dotik, ki jih uporabljajo osebe z omejitvami gibanja, brajeva vrstica za slepe in slabovidne osebe ali pa pretvorba govora v tekst za gluhe osebe. S pravilno zasnovo izvornih vsebin, tudi spletnih, ki podpirajo konzumacijo s podpornimi orodji je mogoče še povečati dostopnost spletnih in multimedijskih vsebin. Priporočila in standarde za spletno dostopnost podaja Konzorcij za svetovni splet (World Wide Web Consortium - W3C) v okviru Iniciative za spletno dostopnost (Web Accessibility Initiative - WAI) [5]. Priporočila za dostopnost vsebin spletišč so definirana v WCAG (Web Content Accessibility Guidelines) s trenutno oznako 2.1. Priporočila so organizirana v štiri načela za dostopnost spletnih vsebin: zaznavnost (dojemljivost), nadzorljivost, razumljivost in robustnost. 4 Diskusija Intervjuji z invalidnimi osebami so nakazali dobro sprejetost pametnih telefonov in mobilnih aplikacij kot uporabnega pripomočka. Posamezne namenske naprave morda lahko boljše, hitrejše in bolj zanesljivo opravljajo svoje naloge, a za ceno večjega števila naprav. Intervjuvanci so izpostavili, da jim je zelo pomembno dejstvo, da uporabljajo čim manjše število naprav z združenimi funkcionalnostmi. Tako se zmanjša možnost, da se naprava izgubi, ne deluje pravilno, se ji izpraznijo baterije ali pa jih je preprosto preveč za udobno upravljanje. Pametni telefon tako služi kot komunikacijska naprava, naprava za navigacijo, povečevalnik slik in bralnik teksta ali zaslonov itd. Omogočajo pa še eno dodatno prednost, to je preprosta nadgradljivost mobilnih aplikacij z novimi funkcionalnostmi ali varnostnimi popravki. Intervjuvanci se zavedajo varnostnih vprašanj uporabe pametnih telefonov in mobilnih aplikacij ter tudi potencialnih posegov v zasebnost. Še vedno obstajajo tudi omejitve pri uporabi pametnih telefonov in mobilnih aplikaciji za potrebe invalidnih oseb. V zadnjih letih je bil narejen velik napredek k že vgrajenim podpornim funkcionalnostim v same operacijske sisteme pametnih telefonov. A razvoj uporabniških vmesnikov na dotik, in posledično umikanje uporabniških vmesnikov s tipkami, povzroča 108 predvsem slepim in slabovidnim osebam dodatne težave pri rokovanju z napravami. Slovenski jezik je zaradi svoje ne številčnosti govorcev, pogosto nepodprt ali pa je njegova podpora vključene šele pozno tekom razvoja rešitev. Stanje se sicer v zadnjih letih izboljšuje tudi z razvojem domačih produktov in storitev. Izpostavljena je bila še problematika tuje jezičnih aplikacij, ki so prirejene za druge jezike. Vse osebe ne posedujejo znanja tujih jezikov, za gluhe osebe je pogosto materni jezik znakovni jezik in imajo težave že pri izražanju v slovenskem jeziku. Prav tako pa obstajajo bistvene razlike med znakovnimi jeziki tujih jezikov. Zaključki opravljenih intervjujev z invalidnimi osebami potrjujejo hipotezo, da so pametni telefoni in podporne mobilne aplikacije ustrezen pripomoček za osebe z invalidnostjo. Predvidevamo, da se bodo z razvojem tehnologije in podpore večje število jezikov, njihova uporaba in sprejemljivost še po večala. 5 Zaključek Raziskava ustreznosti novih pripomočkov za osebe z invalidnostjo se je izkazala za zelo pozitivno in poučno izkušnjo. Prepoznali smo nekaj poglavitnih trendov in področij za nadaljnji razvoj pripomočkov ter tehnologij, ki kažejo možnost pozitivnega vpliva na življenje vseh skupin invalidnih oseb. Med drugim so to tudi pametni telefoni in mobilne aplikacije, še posebno ob ustrezni podpori slovenskega jezika. Ob tej priložnosti bi se želeli zahvaliti vsem intervjuvancem za čas, izčrpne in podrobne informacije ter sodelovanje v intervjujih. Članek je nastal v okviru dela na raziskovalnem projektu št. V2-1916, z naslovom Vpliv četrte in pete industrijske revolucije na življenje invalidov v okviru ciljnjega raziskovalnega programa »CRP-2019«, ki sta ga sofinancirala Javna agencija za raziskovalno dejavnost Republike Slovenije (ARRS) ter Ministrstvo za delo, družino, socialne zadeve in enake možnosti (MDDSZ). Literatura [1] Schiele, H., Bos-Nehles, A., Delke, V., Stegmaier, P. and [2] [3] [4] [5] Torn, R.-J. (2021), "Interpreting the industry 4.0 future: technology, business, society and people", Journal of Business Strategy, Vol. ahead-of-print No. ahead-of-print. https://doi.org/10.1108/JBS-08-2020-0181 Pargaonkar A., Mishra W., Kadam S. A Study on Elderly Individuals’ Attitude Towards ICTs. In: Chakrabarti A. (eds) Research into Design for a Connected World. Smart Innovation, Systems and Technologies, Springer, 2019 Potočan, V., Mulej, M. and Nedelko, Z. (2021), "Society 5.0: balancing of Industry 4.0, economic advancement and social problems", Kybernetes, Vol. 50 No. 3, pp. 794811. https://doi.org/10.1108/K-12-2019-0858 https://www.stat.si/StatWeb/News/Index/4916 (Dostopano: 3.4.2019) https://www.w3.org/ (Dostopano: 15.4.2021) Sistem za sledenje govorcu v zaprtih prostorih na osnovi termovizije v realnem času Mark Breznik, izr. prof. dr. Matevž Pogačnik, as. mag. Klemen Pečnik Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: mark.breznik@lmmfe.org, matevz.pogacnik@lmmfe.org, klemen.pecnik@lmmfe.org Real-Time Indoor Speaker Tracking System Abstract. The article describes the design and development of a real-time indoor positioning and tracking system using a thermal camera and a microcontroller. During the COVID-19 pandemic, there has been an increase in the use of distance learning for lectures. Distance learning requires a reliable audiovideo system that does more than just record video and audio. With the lack of affordable and reliable autonomous indoor positioning and tracking systems for the educational environment, we set out to create a robust but not cost-prohibitive solution. Throughout the article, we detail the base hardware technologies required for streaming lectures, the different types of autonomous indoor tracking, including their benefits and drawbacks, analyze the differences between a complex ML-powered and a simple highest-temperature approach to thermal tracking. The article is concluded with the strengths and weaknesses of the major systems. 1 Uvod V članku je predstavljen razvoj sistema za usmerjanje pogleda kamer(e) v zaprtih prostorih v realnem času s pomočjo uporabe mikroračunalnika in termovizijske kamere. Poleg same predstavitve razvoja in implementacije sistema za sledenje na osnovi termovizijske detekcije je opisana in predstavljena tudi oprema za snemanje predavanj, različne vrste oz. pristopi sledenja govorcu, integracija sistema v obstoječe produkcijske sisteme in analiza ter predvideni koraki za nadaljnji razvoj. V času epidemije je prišlo do porasta izvajanja poučevanja na daljavo, kar je posledično vodilo k preoblikovanju načina izvajanja predavanj ter povečalo potrebe po učinkovitih avdio-video sistemih, ki nudijo več kot samo statičen zajem slike in zvoka. Pri izvedbi predavanj na daljavo je zelo pomembno, da je tehnologija učinkovita in enostavna za uporabo, tako da je za predavatelja praktično neopazna, nemoteča in zahteva čim manj dodatnih korakov pri sami izvedbi. Pri profesionalnih športnih prireditvah se tehnologija za avtonomno sledenje uporablja že desetletja [1], medtem ko za manjše produkcije konfiguracija vse potrebne opreme predstavlja izziv, ki zahteva previsok finančni vložek in specifična znanja s področja multimedije. Projekt je bil zasnovan v času epidemije, ker je v tem obdobju primanjkovalo ustreznih in cenovno dostopnih rešitev, ki bi omogočale integracijo nove opreme z obstoječo brez večjih posegov v samo infrastrukturo. Cilj ERK'2021, Portorož, 109-112 109 projekta je bil izdelati cenovno dostopen in zanesljiv sistem za določanje lokacije predavatelja v predavalnici ter s pomočjo aplikacijskih vmesnikov gibljivih kamer ustrezno upravljati smer kamere in njeno goriščno razdaljo (ang. Pan, Tilt, Zoom camera – PTZ camera). Prototip rešitve se preizkuša v različnih pogojih in kombinacijah, ki so najbolj značilne za predavatelje na Fakulteti za Elektrotehniko, Univerze v Ljubljani. 2 Oprema za snemanje predavanj Slika 1: Panasonic AW-HE42 PTZ kamera [3] Pri izvajanju predavanj na daljavo ni možno imeti samo ene rešitve za zajem AV vsebin, saj je vsaka predavalnica unikatna v mnogih pogledih. Posebej je potrebno paziti na velikost predavalnice, saj bi uporaba navadne spletne kamere v večini večjih prostorov enostavno prikazala le oblike in neprepoznavne krivulje. Prav tako je potrebno paziti na dinamični razpon kamer, saj je razlika med najsvetlejšo (npr. projektor) in najtemnejšo točko (npr. tabla pod projektorjem) ogromna in posledično večina cenejših kamer ne zmore prikazati celotnega razpona slike [2]. V zadnjih letih je močno narasla uporaba PTZ kamer za različne dogodke, manjše produkcije, predavanja, vaje itd. Velika prednost takih kamer je možnost motoriziranega premikanja, nagibanja in približevanja pogleda, kar pomeni, da ni potrebna fizična prisotnost kamermana v predavalnici, saj je kamero mogoče krmiliti na daljavo. Prav tako večina PTZ kamer, kot so npr. Panasonic AW-HE42, AW-UE100 [3] in HuddleCamHD SimplTrack2 [4], nudi veliko boljšo kvaliteto slike ob različnih svetlobnih pogojih, predvsem zaradi večjih senzorjev in kvalitetnejših objektivov. Večina PTZ kamer nudi HDMI (ang. High Definition Multimedia Interface), SDI (ang. Serial Device Interface), USB (ang. Universal Serial Bus), NDI (ang. Network Device Interface) in NDI|hx (ang. Network Device Interface high efficiency) video izhode, preko katerih lahko posredujejo zvok in sliko do različnih platform za učenje na daljavo, kot so Zoom, Microsoft Teams, Cisco WebEx in eFePlusMM. PTZ kamere, kot je Panasonic AW-HE42, ki je prikazana na Slika 1, sodijo v cenovni razred 4.000 €, kar je za izobraževalne ustanove kar precejšni zalogaj in postavi relativno visok prag vstopa. Obstajajo tudi cenovno ugodnejše rešitve, kot sta AVer DL30 in HuddleCamHD SimplTrack2 [5][4], ki poleg same kamere nudijo tudi že vgrajeno sledenje osebam v kadru in sodijo v cenovni razred med 1.000 € in 3.000 €, ampak se pri testih niso izkazale kot natančne pri premikih in nudijo manj možnosti za kontroliranje takega sistema. 3 Vrste sledenja Novejši sistemi temeljijo na tehnologijah vhodnega kota sprejetega Bluetooth signala – Bluetooth AoA (ang. Angle of Arrival) in ultra širokem frekvenčnem pasu – UWB (ang. Ultra-Wide Band), ki poleg prejete moči omogočata merjenje vhodnega kota signala in posledično določanje smeri, v kateri se nahaja oddajnik. AoA deluje na principu izračuna zamika faz med sprejemnimi antenami, kot je to razvidno na Slika 2. Na podlagi posnetkov prejetega lociranega signala z večimi IQ (ang. in-phase in quadrature-phase) vzorci na različnih sprejemnih antenah je mogoče izračunati smer in oddaljenost prejetega signala [9]. Za sledenje osebam v kadru je možno uporabiti različne sisteme za določanje položaja v zaprtih prostorih v realnem času. Vsak sistem ima svoje prednosti ter slabosti in posledično vsak sistem ni primeren za vsako predavalnico oz. prostor. 3.1 Sistem slikovnega sledenja Najbolj znan in uporabljen sistem sledenja je slikovni sistem, ki temelji na prepoznavi karakteristik oseb. Ameriške tajne obveščevalne službe že pet desetletij razvijajo algoritme in programe za mehansko prepoznavo obrazov, saj se zavedajo, da človek ni zmožen dovolj hitro zaznati, ali je na sliki iz kamere iskana oseba ali ne. Zaradi tehnoloških omejitev pa je tovrstna tehnologija postala dostopna povprečnim uporabnikom šele v zadnjih 15 letih. Slikovni sistemi temeljijo na obdelavi posnetka s posebnimi algoritmi in sistemi prepoznave značilnosti, kot so histogrami, SIFT (ang. Scale-Invariant Faturje Transform) algoritmi za zaznavo lastnosti [6], Laplacian piramide [7] in tehnike centroidov, ki zmorejo s pomočjo algoritmov kategorizirati sliko in tako ugotoviti, kje v kadru se nahaja oseba. Slikovni sistemi so zaradi uporabe zahtevnih tehnik in algoritmov prepoznave procesorsko zelo zahtevni, kar pomeni, da je potrebno za izvedbo takega sistema, poleg kvalitetne kamere, dodati tudi dodatno zmogljivo strojno opremo, kar vpliva na ceno. Sistemi, ki bazirajo na slikovni tehnologiji sledenja, so zelo zanesljivi in natančni, vendar ob slabih svetlobnih pogojih težko prepoznajo obraze oz. podobe ljudi. 3.2 Sistem radio frekvenčnega sledenja Radiofrekvenčni sistemi sledenja nudijo mnogo različnih tehnik za določanje lokacije znotraj prostora. Najbolj znana je tehnika indikacije sprejete moči signala oz. RSSI (ang. Recieved Signal Strength Indicator), ki se pretežno uporablja v nakupovalnih centrih in zabaviščnih parkih za podajanje dodatnih informacij glede izdelka preko nizko energijskih Bluetooth oddajnikov (ang. Bluetooth Low Energy Beacon) [8]. Na prostem (oz. v neskončnem praznem prostoru) moč signala pada s kvadratom razdalje od oddajnika, vendar v zaprtih prostorih to ne drži, saj pride do težav z odboji in slabljenjem signala zaradi ovir v samem prostoru. 110 Slika 2: AoA metoda za zaznavo vpadnega kota prihajajočega Bluetooth signala [9] UWB sistem za večjo natančnost pri določanju lokacije v EU (Evropska Unija) deluje na frekvencah med 6,0 in 8,5 GHz, kar omogoča tudi bistveno višjo zanesljivost pri izvajanju meritev [10]. Pri vseh radiofrekvenčnih sistemih mora predavatelj nositi oddajnik, ki mora biti pravilno nameščen, občasno pa ga je potrebno tudi polniti, kar posledično zahteva dodatno tehnično osebje, ki skrbi za delovanje takšnega sistema. Prav tako se pri teh sistemih pojavljajo težave pri določanju pozicije v notranjih prostorih, kjer pride do povečanih odbojev in interferenc, npr. od večjih kovinskih površin (npr. bele table). 3.3 Sistem termovizijskega sledenja Termovizijske kamere ne zaznavajo vidne svetlobe, ki se odbije v objektiv, ampak ustvarijo sliko na podlagi infrardeče svetlobe, ki jo oddajajo topla telesa. Povprečna temperatura človeškega telesa se giblje med 36,1 C in 37,2 C [11], kar je precej višje od povprečne sobne temperature in pasivnih objektov v sobi, ki se gibljejo okoli 20 C. Edina naprava v prostoru, ki ima podobno temperaturo, je računalnik, kar je razvidno na Slika 3. Prednost takšnega sistema je predvsem zanesljivost ob različnih svetlobnih pogojih in različnih vrstah oblačil predavateljev, saj v infrardečem spektru ni opaznih razlik v sceni med na primer rdečo in modro majico. Pri izdelavi prototipa sta bili izvedeni dve rešitvi s termovizijskim sledenjem, ki sta opisani v nadaljevanju. Uporabljena kamera MLX90640 je nizkocenovnega razreda z nizko ločljivostjo 32x24px [12], kar zadošča za potrebe sledenja in omogoča cenovno bolj dostopen izdelek. Slika 3: Klasifikacija osebe in računalnika na zajemu toplotne kamere MLX90640 TILT in ZOOM vrednosti preko GET HTTP (ang. Hyper-text Transfer Protocol) zahtev. Pri Panasonic kamerah so vrednosti parametrov, posredovanih preko API vmesnika, zapisane v šestnajstiškem sistemu, kjer vrednost 8000 predstavlja odklon 0 , vrednost FFFF odklon +175 ter vrednost 0000 odklon -175°. Pri prototipni rešitvi je bila termovizijska kamera nameščena na stropu, zato je bila zajeta slika iz ptičje perspektive. Posledično je potrebno preslikati lokacijo zaznanega subjekta na termovizijski kameri na pogled kamere in temu primerno izračunati pripadajoče PAN in TILT vrednosti. Na podlagi tehnične specifikacije kamere, območja premikanja govorca in meritev prostora, kot prikazuje Slika 4, so bila izračunana polja potrebnega pokrivanja ter izpeljane enačbe (1–8) za izračun ustreznih PAN in TILT vrednosti kamer. 4 Termovizijsko sledenje oseb 4.1 Vrste sistemov za termovizijsko sledenje Pri zasnovi termovizijskega sistema sledenja je mogoče uporabiti dva različna principa detekcije. Z uporabo modelov strojnega učenja (ang. Machine learning model - ML) je mogoče doseči bolj robustno zaznavo in razlikovanje med človekom, računalnikom in drugimi morebitnimi toplimi telesi, saj omogoča prepoznavo toplotnega vzorca osebe, kot prikazuje Slika 3. Pri določanju položaja lahko tudi zgolj omejimo dele kadra, v katerih se išče višja temperatura, in se ne obremenjujemo, ali je zaznani objekt z najvišji temperaturo oseba, ali kaj drugega. Predlagani ML model je bil zgrajen na podlagi 400 vzorcev, od tega je 100 vzorcev vsebovalo osebo in računalnik, 100 samo osebo, 100 samo računalnik in 100 samo prazen prostor. Razpon iskane temperature je bil omejen med 20 C in 38 C ter predstavljen v 8-bitni sivinski sliki, kjer 0 predstavlja 20 C in 255 predstavlja 38 C. Zaradi omejitev platforme EdgeImpulse [13], kjer se je izvajalo učenje ML modela, je bilo potrebno vse vzorce bi-kubično interpolirati do kvadratne oblike 320x320 slikovnih točk [14]. Po 25-ih dobah (ang. epoch) strojnega učenja je model dosegel natančnost pravilne indentifikacije govorca (s tem, da je cel v kadru) 87,36 % oz. 98,67 % [15], če je bilo sledenje omejeno na notranjih 80 % kadra, saj zaradi karakteristik širokokotnega objektiva na kameri MLX90640BAA pride do popačenja slike na robovih [12]. Kljub visoki natančnosti ML modela je bila za prototip izbrana metoda najvišje temperature v kadru, saj je metoda z uporabo ML modela pri trenutni tehnologiji in neoptimizirani programski opremi potrebovala preveč časa za analizo ene same slike – čas obdelave se je namreč gibal med 600–900 ms za ML model in 200–300 ms za obdelavo brez uporabe ML modela. Pri tem so bila uvedena »temna območja« (npr. kateder z računalnikom) kjer se je nastavila temperatura na 0 °C, da objekti znotraj teh območij ne vplivajo na odločitve sistema. 4.2 Preslikava iz ptičje perspektive Večina PTZ aplikacijskih vmesnikov – API (ang. Application Programming Interface), sprejema PAN, 111 Slika 4: Potrebne mertive za izračun PAN in TILT vrednosti 𝐴𝑜𝑠𝑒𝑏𝑒 = 𝐵𝑜𝑠𝑒𝑏𝑒 = |𝑋𝑜𝑠𝑒𝑏𝑒 − 𝑋𝑆𝑅 | × 𝐴𝑝𝑜𝑙𝑗𝑎 2 𝑋𝑆𝐿 − 𝑋𝑆𝑅 (1) (𝑌𝑜𝑠𝑒𝑏𝑒 − 𝑌𝑆𝑅 ) × 𝐵𝑝𝑜𝑙𝑗𝑎 𝑌𝑍𝐿 − 𝑌𝑆𝐿 (2) 𝐴𝑜𝑠𝑒𝑏𝑒 𝐵𝑜𝑠𝑒𝑏𝑒 (3) 𝛼 = tan−1 𝑃𝐴𝑁 = 𝛼 × 𝑃𝑆𝐿𝑑𝑒𝑐 − 𝑃𝑆𝑅𝑑𝑒𝑐 𝐴𝑝𝑜𝑙𝑗𝑎 2 −1 tan 𝐵𝑘𝑎𝑚𝑒𝑟𝑒 2 (4) 𝐶 = √𝐴𝑜𝑠𝑒𝑏𝑒 2 + 𝐵𝑜𝑠𝑒𝑏𝑒 2 (5) 2 𝐴𝑝𝑜𝑙𝑗𝑎 2 𝐶1 = √𝐵𝑘𝑎𝑚𝑒𝑟𝑒 2 + ( ) 2 (6) 2 𝐴𝑝𝑜𝑙𝑗𝑎 2 𝐶2 = √(𝐵𝑘𝑎𝑚𝑒𝑟𝑒 + 𝐵𝑝𝑜𝑙𝑗𝑎 )2 + ( ) 2 𝑇𝐼𝐿𝑇 = 𝐶 × 𝑇𝑍𝐿𝑑𝑒𝑐 − 𝑇𝑆𝐿𝑑𝑒𝑐 𝐶2 − 𝐶1 (7) (8) Pri premiku predavatelja v predavalnici ni vedno zaželeno sprotno zvezno sledenje kamere, saj bi to ob pisanju na tablo bilo zelo moteče, zato so bile na območju gibanja definirane cone, znotraj katerih se PTZ kamere ne premikajo, vse dokler predavatelj ne zapusti cone. 4.3 Programska oprema Programska koda za avtonomni sistem, spisana v jeziku Python, je na voljo na Github repozitoriju https://github.com/mbdev2/RTLS_PTZ_Tracking. Program prejema podatke preko I2C vmesnika in nato s pomočjo Flask strežnika in uporabniškega vmesnika, kot prikazuje Slika 5, omogoča uporabniku izbiro med pred nastavljenimi statičnimi kadri in avtonomnim sledenjem. Pri avtonomnem sledenju sistem sproti v ozadju preračunava pozicijo predavatelja in pošilja GET HTTP ukaze z uporabo Requests knjižnice na API PTZ kamere, kar omogoča sprotno sledenje predavatelju po predavalnici, vse dokler ne zapusti vidnega polja termovizijske kamere. Slika 5: Uporabniški vmesnik spletne aplikacije 5 Sklep Avtonomno sledenje omogoča predavateljem in gledalcem veliko boljšo uporabniško izkušnjo kot samo statični kadri, ampak vse rešitve niso enakovredne. Na zajem in upravljanje PTZ kamer vpliva mnogo dejavnikov, ki so odvisni od fizičnih lastnosti prostora, na katere pogosto ni mogoče vplivati v tolikšni meri, kot bi bilo potrebno za optimalno delovanje sistemov za sledenje predavatelja. Vizualni sistemi so zanesljivi in zelo natančni ob dobrih svetlobnih pogojih, ampak pogosto za delovanje le teh potrebujemo zmogljivo in drago strojno opremo. Radiofrekvenčni sistemi delujejo neodvisno od svetlobnih pogojev, vendar so občutljivi na radiofrekvenčne motnje, odboje in interference, ki so pogosto posledica več kovinskih površin v predavalnicah, kot npr. bele table. Prav tako zahtevajo namestitev dodatne strojne opreme v prostoru in vzdrževalno osebje. Termovizijski sistemi sicer zahtevajo namestitev dodatne strojne opreme, vendar so mnogo enostavnejši za vzdrževanje in uporabo ter hkrati omogočajo enostavnejšo integracijo in z izbranimi komponentami predstavljajo veliko nižji finančni vložek kot ostali integrirani ali ločeni sistemi. Ne glede na izbrano metodo je končni rezultat odvisen tudi od načina implementacije algoritma za premikanje kamere in natančnosti sistema za premik pogleda kamere. 112 Literatura [1] Tyco, „Automated Production“, Pixellot. https://www.pixellot.tv/solutions/automated/ (pridobljeno jun. 30, 2021). [2] „Why webcams aren’t good enough“. https://reincubate.com/support/how-to/why-arewebcams-bad/ (pridobljeno jul. 23, 2021). [3] „AW-HE42W/K | PTZ Camera Systems | Broadcast and Professional AV | Panasonic Global“. https://pro-av.panasonic.net/en/products/aw-he42/ (pridobljeno jun. 30, 2021). [4] „Auto Tracking Camera“, HuddleCamHD. https://huddlecamhd.com/simpltrack-2/ (pridobljeno jun. 30, 2021). [5] „AVer DL30 - Distance Learning Tracking Camera“. https://presentation.aver.com/model/dl30 (pridobljeno jun. 30, 2021). [6] „OpenCV: Introduction to SIFT“. https://docs.opencv.org/master/da/df5/tutorial_py_s ift_intro.html (pridobljeno jun. 30, 2021). [7] W.-S. Lai, J.-B. Huang, N. Ahuja, in M.-H. Yang, „Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution“, ArXiv170403915 Cs, okt. 2017, Pridobljeno: jun. 30, 2021. [Na spletu]. Dostopno na: http://arxiv.org/abs/1704.03915 [8] „Beacon - What is it and how it work? BLE Bluetooth Beacon Technology Guide | Kontakt.io“. https://kontakt.io/what-is-a-beacon/ (pridobljeno jul. 23, 2021). [9] „How AoA & AoD Changedthe Direction of BluetoothLocation Services“, Bluetooth® Technology Website, mar. 27, 2019. https://www.bluetooth.com/blog/new-aoa-aodbluetooth-capabilities/ (pridobljeno jul. 02, 2021). [10] „Ultra-Wideband (UWB) in Europe - Telecom ABC“. http://www.telecomabc.com/u/uwbeurope.html (pridobljeno jul. 02, 2021). [11] „Body temperature norms: MedlinePlus Medical Encyclopedia“. https://medlineplus.gov/ency/article/001982.htm (pridobljeno jul. 03, 2021). [12] „MLX90640-Datasheet-Melexis“, MLX90640Datasheet-Melexis. Pridobljeno: jul. 17, 2021. [Na spletu]. Dostopno na: https://mel-prdcdn.azureedge.net//media/files/documents/datasheets/mlx90640datasheet-melexis.pdf [13] „Ingestion service“, Edge Impulse Docs. https://docs.edgeimpulse.com/reference#dataacquisition-format (pridobljeno jun. 30, 2021). [14] „Bicubic interpolation“, Wikipedia. jul. 01, 2021. Pridobljeno: jul. 03, 2021. [Na spletu]. Dostopno na: https://en.wikipedia.org/w/index.php?title=Bicubic _interpolation&oldid=1031409060 [15] F. Gaillard, „Epoch (machine learning) | Radiology Reference Article | Radiopaedia.org“, Radiopaedia. https://radiopaedia.org/articles/epoch-machinelearning (pridobljeno jul. 04, 2021). Vpliv podvzorčenja v krominančnem prostoru na kakovost zapisa slikovnega gradiva Jan Pelicon1, Urban Burnik2 1 Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Fakulteta za elektrotehniko 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, E-pošta: jp1467@student.uni-lj.si Povzetek. Pri projektu smo testirali in ovrednotili vpliv znanih in nekaj manj znanih eksperimentalnih tipov podvzorčenja v krominančnem prostoru. Kakovost podvzorčenja smo kvantitativno ovrednotili z merama strukturne podobnosti (SSIM) in vršnega razmerja signal-šum (PSNR) glede na gostoto podatkovnega zapisa v bitih na slikovni element (bits per pixel; bpp). Preizkusili smo tudi adaptivno podvzorčenje, ki na podlagi standardne deviacije makrobloka določi ustrezen tip podvzorčenja. Pri tem je potrebno podati tudi podatek o tipu podvzorčenja za posamezen blok. 1 Uvod Barvno podvzorčenje je pogosto uporabljen postopek pri kodiranju slikovnega in video materiala. Pri tem izbranim kanalom barvnega formata zmanjšamo ločljivost in s tem zmanjšamo količino podatkov za ceno nižje kvalitete zapisa. Prihranek in izguba kvalitete sta odvisna od barvnega formata in tipa podvzorčenja. Tip podvzorčenja definira, kako in koliko bo podvzorčen posamezen barvni kanal. Krominančno podvzorčenje je definirano specifično za YCbCr digitalni barvni format [1], kjer Y kanal (ang. Luma) nosi informacijo o svetlosti, Cb (ang. Chroma blue) in Cr (ang. Chroma red) pa predstavljata razliko modre in rdeče kroma komponente. YCbCr je poznan tudi kot YPbPr ali Y’CbCr. Pogosto se ga zamenjuje z YUV formatom, ki pa se uporablja izključno pri analognem prenosu signalov. Pretvorba iz 8 bitnega RGB formata v 8 bitni YCbCr format je definirana preko naslednjih enačb [2]: 𝑌 = 16 + 65.738𝑅 129.057𝐺 25.064𝐵 + + 256 256 256 𝐶𝑏 = 128 + 𝐶𝑟 = 128 + 37.945𝑅 74.494𝐺 112.439𝐵 + + 256 256 256 112.439𝑅 94.154𝐺 18.285𝐵 + + 256 256 256 (1) (2) (3) Cilj krominančnega podvzorčenja je zmanjšanje količine podatkov, kar dosežemo z nižanjem barvne ločljivosti Cb in Cr kanala. Pri tem upoštevamo, da je človeško oko percepcijsko bolj občutljivo na spremembe v intenziteti kot na spremembe v barvi, zato postopka v prostoru RGB ne moremo opraviti. Svetlostnega kanala Y običajno ne podvzorčimo. Podvzorčenje je neobrnljiva operacija, saj zavržene informacije ni mogoče povrniti. ERK'2021, Portorož, 113-116 113 2 Tipi krominančnega podvzorčenja Tipi podvzorčenja [3] [4] so navadno izraženi s tridelnim razmerjem v notaciji J:a:b. Osnovni blok podvzorčenja običajno obsega 4×2 slikovna elementa (Slika 1). Parameter J predstavlja število vzorcev luminančnega kanala (Y) v posamezni vrstici osnovnega bloka. Vrednosti a in b se nanašata na število vzorcev obeh krominančnih kanalov (CbCr) v prvi (a) oziroma drugi (b) vrstici. Pri tem velja, da je b manjši ali enak a, saj je prva vrstica glavni vir vzorcev, druga vrstica pa doprinese enako količino vzorcev ali pa kopira vrednosti prve vrstice. Skozi čas so se uveljavili različni tipi podvzorčenja. Slika 1. Osnovni blok za izvajanje operacije podvzorčenja. 2.1 Tip 4:4:4 Tip 4:4:4 predstavlja sliko, ki ni podvzorčena, saj ima vseh 8 elementov osnovnega bloka lastne vrednosti vseh treh barvnih kanalov YCbCr. Število bitov na slikovni element (bpp) v primeru 8 bitov na kanal tako znaša 24 bpp. Torej lahko vsakemu od 8 slikovnih elementov določimo svojo barvo. 2.2 Tip 4:2:1 Tip 4:2:1 je zastarel, tolmačenje J:a:b notacije pa ni skladno s preostalimi zapisi. Pri tem tipu ima vrstica bloka kanala Cb dvakrat manjšo ločljivost od vrstice bloka kanala Cr in štiri krat manjšo ločljivost v primerjavi z vrstico Y kanala. Y kanal prispeva 8 bpp, Cr kanal 4 bpp, Cb pa 2 bpp, kar skupno znaša 14 bpp. 2.3 Tip 4:1:1 Pri tipu 4:1:1 je v vsaki vrstici krominančnih kanalov po en vzorec. Čeprav je barvna ločljivost tega tipa precej okrnjena, je še vedno prisoten v nekaterih formatih kot so DVCPRO (NTSC in PAL), NTSC DV in DVCAM ter D7. Tip 4:1:1 potrebuje 12 bpp, 8 bpp za Y kanal ter 2 bpp za posamezen krominančni kanal, kar skupno znaša polovico bpp primera brez podvzorčenja. 2.6 Tip 3:1:1 Tip 3:1:1 ni pogost. Uporabljen je le pri nekaterih HD kamerah znamke Sony. Tudi ta tip nekoliko odstopa od standardne notacije J:a:b, saj J v tem primeru označuje zmanjšanje frekvence vzorčenja luminančnega kanala Y. V tem primeru je to ¾ vzorcev v vrstici. Konkretno v primeru HD ločljivosti to predstavlja 1440 vzorcev na vrstico siceršnje velikosti 1920. Preostali vrednosti a in b specificirata, da ima navedeni tip popolno vertikalno in četrtinsko horizontalno krominančno ločljivost. 2.7 Tip 4:2:2 Preostane nam še tip 4:2:2. V uporabi je pri digitalizaciji kompozitnega analognega video gradiva, pri katerem zaradi nižje pasovne širine analogne krominančne komponente v horizontalni smeri podvzorčenje izvedemo, v vertikalni smeri pa ohranimo vso razpoložljivo kakovost zapisa. Za razliko od tipa 4:2:0, ima ta tip v tudi drugi vrstici po dva vzorca. Število bpp za posamezen krominančni kanal je 4, kar znaša skupno 16 bpp. 2.8 Eksperimentalni tipi 4:4:2, 4:4:1, 4:4:0, 4:2:2 Slika 2. Vizualni prikaz različnih tipov podvzorčenja. 2.4 Tip 4:2:0 Najbolj široko uporabljen in poznan tip podvzorčenja je 4:2:0. Ta tip se uporablja v različnih kodekih, standardih in formatih kot so na primer vsi ISO/IEC MPEG kodeki ter H.26x standardi. Prav tako je uporabljen pri DVD in Blu-ray Disc video formatu. Tako kot tip 4:1:1 se uporablja pri DVCAM in tudi PAL DV ter HDV (ang. High Definition Video). Prav tako je pogost pri JPEG, JFIF in MJPEG implementacijah. Kot pri tipu 4:1:1 je količina krominančnih podatkov zmanjšana za faktor 4, kar v tem primeru predstavlja enakomerneje razporejeno polovično vertikalno in horizontalno ločljivost. 2.5 Tip 4:1:0 Uporaba podvzorčnega tipa 4:1:0 je redka, zasledimo ga lahko le nekaterih kodekih. Pri tem tipu je značilno da imata krominančna kanala Cb in Cr v osnovnem bloku le en vzorec, kar prinaša večje prihranke za ceno slabše kvalitete. Obstajajo tudi izboljšave kot so 4:1:0.5 ali 4:1:0.25, da dosežemo višjo kvaliteto kot pri osnovnem 4:1:0. Število bpp je pri tem tipu enako 10. Kanal Y potrebuje 8 bpp, za posamezen krominančni kanal pa samo 1 bpp. 114 Pri projektu smo se odločili testirati tudi tipe, ki trenutno nimajo praktične uporabe oziroma niso uporabljeni v nobenem standardu. Namen tega je, da jih ovrednotimo v primerjavi z ostalimi standardnimi tipi in tako ugotovimo njihov potencial oziroma razlog za njihovo neuporabo. Značilne lastnosti tipa 4:4:2 so polna ločljivost prve vrstice osnovnega bloka in polovična ločljivost druge vrstice. Kanal Y ni podvzorčen in zanj potrebujemo 8 bpp, za posamezen krominančni kanal pa 6 bpp, kar skupno znaša 20 bpp. Tip 4:4:1 se od tipa 4:4:2 razlikuje le v ločljivosti druge vrstice. Posamezen krominančni kanal tega tipa opišemo s 5 bpp, kar skupno znaša 18 bpp. Tip 4:4:0 je prav tako soroden zgoraj opisanima tipoma. Njegova značilnost je, da druga vrstica osnovnega bloka nima lastnih vzorcev, temveč samo kopira vzorce prve vrstice. Ta lastnost je značilna tudi za pogosto uporabljen tip 4:2:0. Posamezen krominančni kanal tega tipa opišemo s 4 bpp, kar skupno znaša 16 bpp. 3 Orodja in postopki Analizo vpliva podvzorčenja in vrednotenje smo opravili v jeziku Python. Za branje, prikazovanje in pretvarjanje barvnih formatov slikovnega materiala uporabljamo odprtokodno knjižnico OpenCV, ki za hranjenje slikovnih podatkov uporablja knjižnico numpy, ki vsebuje operacije za delo s tabelami in matrikami. Za vrednotenje smo uporabili dve metriki, ki zgoščen slikovni material ovrednotita z dveh različnih vidikov – prva temelji na primerjavi vrednosti istoležnih slikovnih elementov, druga pa se bolje približa človeški vizualni percepciji. Za ustrezno ovrednotenje je potrebno uporabiti nezgoščeno slikovno zbirko. Za potrebe računalniškega vida in testiranje zgoščevalnih algoritmov za to obstaja že uveljavljena podatkovna zbirka Kodak, ki vsebuje 25 nezgoščenih slik, katero smo uporabili tudi pri tem projektu. 3.1 PSNR in MSE Metrika PSNR (ang. Peak Signal to Noise Ratio) je definirana preko metrike MSE (ang. Mean Squared Error), ki predstavlja povprečje kvadratov razlik istoležnih vrednosti in je definirana z enačbo 4. 𝑀𝑆𝐸(𝑥, 𝑦) = 𝑀 𝑁 1 2 ∑ ∑(𝑥(𝑛, 𝑚) − 𝑦(𝑛, 𝑚)) (4) 𝑀𝑁 Komponenta c, kjer je 𝜎 standardni odklon, primerja kontrast med opazovanima območjema. 𝑐(𝑥, 𝑦) = 𝑀𝐴𝑋 𝑃𝑆𝑁𝑅 = 10 𝑙𝑜𝑔10 ( ) 𝑀𝑆𝐸 2 (5) Vrednost MAX predstavlja razliko med največjo in najmanjšo vrednostjo, ki je v primeru 8 bitov enaka 255. V primeru, da sta signala enaka, šum ni prisoten, vrednost PSNR pa je v tem primeru enaka ∞. 3.2 SSIM Metrika SSIM (ang. Structural Similarity Index Measure) se uporablja za oceno podobnosti med dvema slikama, njena vrednost pa ne temelji na primerjavi istoležnih vrednosti, temveč na primerjavi različnih lastnosti in strukture slik, ki ju primerjamo. Lahko rečemo, da vrednost poskuša zajeti človekovo subjektivno percepcijo kvalitete slike. Metrika izhaja iz ideje, da so piksli pogosto medsebojno odvisni, če so si prostorsko blizu. Te odvisnosti vsebujejo pomembne informacije o objektih in strukturi slike, torej lahko preko njih ovrednotimo podobnost med slikama. Izračun podobnosti SSIM poteka preko drsečih oken 𝑥 in y, ki potujeta preko istoležnih območij obeh slik in pridobita vrednost SSIM za dano območje. Formula je sestavljena iz treh komponent 𝑙, 𝑐 in 𝑠, predstavljenih v enačbah 6, 7 in 8. V komponentah nastopajo konstante 𝐶1 , 𝐶2 in 𝐶3 . Komponenta 𝑙, kjer je 𝜇 pričakovana vrednost, primerja intenziteto med opazovanima območjema. 𝑙(𝑥, 𝑦) = 2𝜇𝑥 𝜇𝑦 + 𝐶1 𝑥𝑦 𝜇𝑥2 +𝜇𝑦2 + 𝐶1 (6) 115 (7) 2𝜎𝑥𝑦 + 𝐶3 𝜎𝑥 𝜎𝑦 + 𝐶3 (8) Ostane še komponenta 𝑠, kjer je 𝜎𝑥𝑦 kovarianca med območjema 𝑥 in y in poskuša zajeti strukturno podobnost. 𝑠(𝑥, 𝑦) = 𝐶1 , 𝐶2 in 𝐶3 , ki so definirane v enačbah 9, 10 in 11, so odvisne od L, ki predstavlja razliko med največjo in najmanjšo vrednostjo, ki se pojavi v sliki. 𝑚=1 𝑛=1 Težava, ki jo je mogoče zaznati pri metriki MSE, je ta, da je ta odvisna od razpona vrednosti slikovnih elementov. V primeru 8 bitov je to območje od 0 do 255. Metrika PSNR se tej težavi izogne tako, da pri izračunu upošteva tudi barvno globino slikovnega gradiva. Definirana je kot razmerje med največjo močjo signala in močjo šuma (napake), ki se pojavlja v signalu, kot izraža enačba 5. Signal v tem primeru predstavljajo vrednosti slikovnega gradiva. Izraža se z logaritemsko skalo v decibelih (dB). 2𝜎𝑥 𝜎𝑦 + 𝐶2 𝜎𝑥2 +𝜎𝑦2 + 𝐶2 𝐶1 = (0,01 × 𝐿)2 𝐶2 = (0,03 × 𝐿)2 𝐶3 = 𝐶2 2 (9) (10) (11) Definirali smo vse tri komponente za izračun SSIM, ki se izračuna kot uteženo kombinacijo teh. Izračun prikazuje enačba 12. 𝑆𝑆𝐼𝑀(𝑥, 𝑦) = 𝑙(𝑥, 𝑦)∝ × 𝑐(𝑥, 𝑦)𝛽 × 𝑠(𝑥, 𝑦)𝛾 (12) Z vrednostmi ∝, 𝛽, 𝛾 je mogoče komponente poljubno utežiti. Njihova privzeta vrednost je enaka 1. 4 Rezultati Izgradili smo preprost cevovod za izvajanje Zgradili krominančnega podvzorčenja (izvorna koda je dostopna na https://github.com/JanPelicon/OMMV-ProjektnaNaloga). Slikovni material najprej pretvorimo iz RGB v YCbCr barvni format. Nato sledi prirejanje velikosti slike, da se ta ujema z večkratnikom širine in dolžine osnovnega bloka slikovnih elementov. Sliko razdelimo na osnovne bloke, nad katerimi izvedemo operacijo krominančnega podvzorčenja. Za pridobitev barvnega vzorca smo uporabili dve različni tehniki. Po privzeti tehniki smo za vzorec uporabili prvo vrednost v vrsti vrednosti, katere bodo imele isti vzorec. Po drugi tehniki smo izračunali povprečje teh vrednosti. Preizkusili smo tudi adaptivno krominančno podvzorčenje, ki za makro blok velikosti 16x16 izračuna standardno deviacijo bloka in na podlagi te določi, kateri tip podvzorčenja bo uporabljen. Pri implementaciji smo se odločili uporabiti različne kombinacije dveh različnih tipov podvzorčenja. Omejili smo se na 4 tipe podvzorčenja, ki so imeli najboljše razmerje med kvaliteto in količino bitov potrebnih za zapis. To so tip 4:4:2, 4:2:2, 4:2:0 in 4:1:0. Meja za prehod med tipoma je bila standardna deviacija bloka z vrednostjo 4.0. Če je bila standardna deviacijo večja od te vrednosti, smo uporabili tip podvzorčenja, ki ponudi boljšo kvaliteto, saj so vrednosti v bloku bolj raznolike in jih je smiselno natančneje vzorčiti. Rezultati opisanih tipov podvzorčenja z različnimi tehnikami so prikazani v tabeli 1 ter na sliki 3. Kot lahko vidimo, se tehnika s povprečenjem vrednosti za pridobitev vzorca bolje obnese pri vseh tipih podvzorčenja. V povprečju je opaziti občutno razliko med tehnikama, pri PSNR to znaša cca. 2 dB, pri SSIM pa je razlika vrednosti v območju od 0.003 do 0.02. Adaptivno podvzorčenje prinese manjšo izboljšavo za ceno dodatne kompleksnosti, saj izkorišča prednosti obeh uporabljenih tipov podvzorčenja. Pri tem upoštevamo, da je potrebno za vsak makro blok 16x16 dodati 1 bit, ki nosi informacijo o tipu podvzorčenja makrobloka. Potrebno bi bilo podrobneje ovrednotiti adaptivno podvzorčenje z različnimi mejnimi vrednostmi za prehod med tipoma. Prav tako bi bilo smiselno sistem nadgraditi z večjim številom tipov za posamezen makro blok. Smiselno bi bilo preizkusiti tudi podvzorčenja na različno velikih osnovnih blokih in temu primernih tipih podvzorčenja [5]. Pri temu projektu smo se omejili na standarden 4x2 blok, ki pa ni nujno najbolj učinkovit oziroma ne ponuja dovolj raznolikosti. Tabela 1. Rezultati testiranja obeh tehnik vzorčenja in adaptivnega podvzorčenja. 4:4:4 4:4:2 default 4:4:1 default 4:4:0 default 4:2:2 default 4:2:1 default 4:2:0 default 4:1:1 default 4:1:0 default 3:1:1 default 4:4:2 average 4:4:1 average 4:4:0 average 4:2:2 average 4:2:1 average 4:2:0 average 4:1:1 average 4:1:0 average 3:1:1 average 4:4:2 - 4:2:2 avg. 4:4:2 - 4:2:0 avg. 4:2:2 - 4:1:0 avg. 4:2:0 - 4:1:0 avg. bpp 24 20 18 16 16 14 12 12 10 10 20 18 16 16 14 12 12 10 10 16.758 13.513 11.136 10.381 SSIM 1.000 0.993 0.986 0.991 0.992 0.983 0.985 0.974 0.969 0.956 0.998 0.993 0.995 0.995 0.991 0.991 0.987 0.983 0.976 0.996 0.994 0.989 0.987 PSNR ∞ 50.372 47.335 49.030 49.328 46.206 46.524 44.226 43.394 40.854 54.267 50.054 50.781 51.159 48.563 48.324 46.940 45.887 41.788 52.467 50.380 47.949 47.085 Bibliografija [1] [2] Slika 3. Grafa, ki prikazujeta razmerja kvalitete (PSNR, SSIM) in števila potrebnih bitov na slikovni element (bpp). [3] 5 Zaključek Uspešno smo ovrednotili obstoječe in nekatere eksperimentalne tipe podvzorčenja v krominančnem prostoru. Izkazalo se je, da je način izbire vzorca pomemben za doseganje boljše kvalitete. Poleg tega je iz rezultatov razvidno, da se tipi podvzorčenja pri isti vrednosti bpp lahko precej razlikujejo po doseženi kvaliteti. Opazno je, da je smiselno uporabiti enakomerno vzorčenje po horizontali in vertikali (tip 4:2:2 proti 4:4:0). Če imamo redko horizontalno vzorčenje, se to pozna na končni kvaliteti. 116 [4] [5] „YCbCr,“ [Elektronski]. dostopno na: https://en.wikipedia.org/wiki/YCbCr. [Poskus dostopa 29. april 2021]. N. Campos, „RGB to YCbCr conversion,“ [Elektronski]. dostopno na: https://sistenix.com/rgb2ycbcr.html. [Poskus dostopa 29. april 2021]. M. J. McNamara, „Chroma Subsampling Explained: Giving a Little to Save a Lot“ [Elektronski]. dostopno na: https://www.projectorcentral.com/chroma-subsamplingexplained.htm. [Poskus dostopa 29. april 2021]. „Chroma subsampling,“ [Elektronski]. dostopno na: https://en.wikipedia.org/wiki/Chroma_subsampling. [Poskus dostopa 29. april 2021]. K.-L. Chung, J.-S. Cheng in H.-B. Yang, „Effective Chroma Subsampling and Luma Modification for RGB Full-Color Images Using the Multiple Linear Regression Technique,“ IEEE Access PP(99):1-1, 2020. Animiranje obrazov v slikarskih delih Janez Justin1 *, Katja Kunej1 *, Katarina Pikec1 *, Tajda Urankar1 *, as. Blaž Meden1 , izr. prof. dr. Narvika Bovcon1 1 Univerza v Ljubljani, Fakulteta za računalnišvo in informatiko, Večna pot 113, 1000 Ljubljana E-pošta: jj7084@student.uni-lj.si, kk9251@student.uni-lj.si, kp4446@student.uni-lj.si, tu5161@student.uni-lj.si, blaz.meden@fri.uni-lj.si, narvika.bovcon@fri.uni-lj.si * These authors contributed equally to this work. Animating faces on paintings 2 Abstract. In this paper, we introduce our approach of animating faces on famous paintings. The most important part was face detection which helped us find the critical points of the face in our video and our chosen painting. There are a lot of approaches and algorithms available on the internet. Some of them we described in section 2. For our version we used Python libraries dlib and skimage that were essential for face detection and affine transformation. Firstly we filmed a short video with our face expressing a certain emotion. With mentioned libraries we detected eyes, brows, lips, etc. Then we tracked all these points throughout the video and stored their positions. With the affine transformation of the tracked points we were able to transform the movement from the video onto the painting. We paid special attention to defining a safe border around the face on the painting where the movement is allowed. Otherwise we noticed some anomalies in the output video. Overall, we conclude that our algorithm is fast if the paintings are preprocessed, gives good results and is useful for some personal fun. 1 Uvod Kakšna čustva ali izraze na obrazu (ang. facial expressions) lahko razberemo iz slikarskih del? To vprašanje nas je spodbudilo k raziskovanju že uveljavljenih rešitev in algoritmov, ki se ukvarjajo z zaznavanjem obrazov (ang. face detection), animacij in raznih transformacij. Našli smo precej že obstoječih rešitev; na primer algoritem, ki z umetno inteligenco animira obraze ali pa algoritem, ki je sestavljen iz vhodne slike in izvornega videa in vrača obrazne točke, ki se premikajo. Slednji algoritem je bil tudi osnova za našo raziskavo, vendar vseeno na malenkost drugačen način. Raziskave smo se lotili precej matematično, in sicer z afinimi transformacijami točk iz videa na slikarsko delo, tako se slikarsko delo premika glede na video. Video smo že prej posneli, nato smo locirali kritične točke na obrazu (oči, obrvi, usta, obris) in spremljali njihove pozicije skozi video. Na slikarskem delu je program prav tako zaznal obrazne točke in jih nato, glede na točke iz videa, spreminjal, da smo dobili gibanje. Obstoječe rešitve Obstaja veliko načinov za interaktivno modifikacijo slik, ena možnost je uporaba umetne inteligence, druga pa npr. ročna modifikacija slik. Ena izmed že obstoječih rešitev je projekt “Deep Nostalgia” [1]. Uporabnikom je na voljo kot spletna [2] ali mobilna aplikacija. Uporabnik si mora za uporabo spletnega vmesnika ustvariti račun. V spletni vmesnik naloži sliko in počaka na animirane rezultate. Vsaka naložena slika se animira na enak način. Rešitev GANimation [3] na eni sliki predela izraz na obrazu z uporabo generativnih kontradiktornih omrežij (GAN), ki so sestavljena iz dveh sistemov. Prvi sistem, generator, ustvari kopijo slike z uporabo novih podatkov, drugi sistem, diskriminator, pa določa, ali podatki prehajajo kot resnični ali lažni. Sčasoma se bosta orodji naučili izdelovati čedalje bolj realistične slike oz. animacije. Podobno uporabljajo GAN tudi druge rešitve, kot je npr. “SC-FEGAN” [4], ki uporabnikom daje možnost skiciranja na sliko in uporabe barv. Končna slika vsebuje, kar je uporabnik narisal (npr. očala, nasmešek). Še ena rešitev “X2Face” [5] omogoča vnos dveh videov, potem pa se originalni video premika skladno s premiki v drugem videu. “First Order Motion Model for Image Animation” [6] je rešitev, ki omogoča animacijo ne samo obrazov, temveč deluje tudi npr. na telesu in likih. Model je potrebno najprej natrenirati na objektih iz iste kategorije, slabost pa je, da je časovno precej potraten. 3 Ideja Naša ideja je izhajala iz tega, da na izbranih slikarskih delih prikažemo različne izraze na obrazu s pomočjo lastnih video posnetkov. Ideja je bila, da spremembe mimike iz videa apliciramo na slikarsko delo in ga tako animiramo. Obrazne točke slikarskega dela in posamezne sličice videa smo zaznali z uporabo strojno naučenih modelov. Premikanje točk obraza iz videa smo aplicirali na slikarsko delo in dobili animacijo z željenimi spremembami. 4 Baza slik Slike, ki smo jih vključili v projekt, smo pridobili iz spletne enciklopedije vizualne umetnosti WikiArt [7]. Na ERK'2021, Portorož, 117-120 117 spletni strani smo najprej poiskali umetnike, ki so izdelovali portrete. Preizkusili smo nekaj portretov, kjer je bil obraz obrnjen levo, desno ali naravnost. Ugotovili smo, da so popačenja večja, če je obraz preveč zasukan v eno smer, najbolje je bilo, če je bil obraz obrnjen naravnost. Razlog za večje popačenje je tudi v tem, da so bile naše glave pri snemanju izvornih videov usmerjene direktno v kamero. Prav tako smo ugotovili, da so mimike izražene na obrazu s slike manj popačene, če je slika bolj čista. Za najboljši rezultat smo izbrali portrete, kjer glava ni preveč zasukana in slika deluje kar se da čisto. 5 Vhodni videi Pri snemanju vhodnih videov smo najprej poskusili z bolj izrazitimi premiki ustnic, čela ter tudi zapiranjem oči, vendar je pri animaciji prišlo do prevelikega popačenja obraza. Spreminjala se je oblika glave ali pa so se ušesa neusklajeno premikala. Želeli smo čim bolj naravne obrazne premike, zato smo posneli videe z rahlimi spremembami v izrazih na obrazu. Obrazi na slikarskih delih so obrnjeni v različne smeri, imajo različne oblike obrazov, zato je bilo potrebno za vsako sliko posebej popraviti vse izraze. V nasprotnem primeru bi dobili preveč popačene rezultate. Izkazalo se je, da manjše spremembe obrazne mimike delujejo bolj prepričljivo in fotorealistično kot velike spremembe, ki delujejo groteskno oziroma kot pretiravanje v risankah, kjer se skladno s principi animacije mimiko in gibe pretirano poudarja. Ves čas snemanja je bilo potrebno paziti na mirujoč položaj glave, sicer je pri animaciji prihajalo do popačenj. 6 Nato smo vzeli d = [(x1 , y1 ), ..., (xn , yn )] obrazne točke slikarskega dela. dn = d + vd so obrazne točke, ki smo jih želeli za trenutno sličico končne animacije. Za konec določanja sprememb smo želeli transformirati obraz označen s točkami d na slikarskem delu v obraz označen z dn . Tako smo dobili j-to sličico naše končne animacje. 6.2 Afina transformacija Z Delaunayevo triangulacijo [12] (slika 1) smo triangulirali seznam točk dn in potem posamezni trikotnik afino transformirali s premikom oglišč v d. Seveda tako, da je i-ta točka iz d pristala na i-ti točki iz dn . Tej transformaciji smo rekli A. Potem je bila transformacija A−1 ravno tista, ki smo jo želeli, da je slikarsko delo transformirala v j-to sličico naše animacije. Slika 1: Delaunayeva triangulacija prikazana na Mona Lisi. Implementacija Izvorna koda je dostopna na GitHubu [8], projekt pa na GitHub Pages [9]. Rešitev je implementirana v jeziku Python, pri tem pa smo si pomagali s knjižnicama: • dlib v kombinaciji z 68 točkovnim modelom za zaznavanje obraznih točk, dostopnim na dlib spletni strani [10], • skimage za izvedbo afinih transformacij [11]. Velja omeniti, da se slikarsko delo in video ne ujemata nujno v višini in širini. 6.1 Določanje časovnih sprememb Pri določanju sprememb smo se osredotočili na posamezne sličice v videu, rekli smo ji j-ta sličica in se posvečali procesiranju le-te. Za določanje sprememb smo uporabili prvo sličico iz videa; rekli smo ji sidro. Za vsako sličico smo poiskali spremembo vsake izmed obraznih točk; to je razlika i-te točke sličice in i-te točke sidra. Določili smo še seznam vs = [(x1 , y1 ), ..., (xn , yn )] . , kjer ssize predstavlja veliOznačili smo k = dssize size kost obraza na sličici in dsize velikost obraza na slikarskem delu. vd := kvs je potem seznam, katerega i-ti element ob seštevanju je popeljal i-to točko slikarskega dela na mesto, kjer smo to točko želeli. To skaliranje smo izvedli ločeno za os x in ločeno za os y. 118 Akcije v razdelku 6.2 so v implementaciji izvedene z uporabo funkcij iz knjižnice skimage.transform. Za pridobitev A in warp za izvedbo A−1 smo uporabili PiecewiseAffineTransform.estimate. 7 Izboljšave implementacije Na tej točki implementacije je bil rezultat že skoraj prepričljiv. Problem se je pojavil v naslednjih primerih: • če subjekt na videu ni ostajal centriran, se je rezultat pokvaril, • ob premikanju npr. brade, je afina transformacija “sploščila” trikotnik pod brado, kar se je izrazilo v deformiranem trupu, • je šum pri zaznavanju obraza iz videa povzročil tresočo sliko. 7.1 Normalizacija poravnanosti obraza Namesto, da bi gledali spremembe (t.j. seznam vs ) direktno med točkami na trenutni sličici in med sidrom, smo gledali, do kakšne spremembe je prišlo med neko točko, ki smo jo izbrali za fiksno (v našem primeru je to točka med obrvema) na trenutni sličici in med to isto točko na sidru. Tako smo gledali samo spremembe na obrazu, ne pa tudi sprememb v prostoru. 7.2 Rešitev deformacije trupa Ideja za rešitev tega problema je bila, da okrog obraza postavimo kvadrat, ki je igral vlogo varnega okvirja (slika 2), zunaj katerega ni prihajalo do sprememb. Slika 3: Slikarsko delo Thomasa Gainsborougha, “Woman in Blue”, brez animacije (levo). Slikarsko delo Alekseya Antropova, avtoportret, brez animacije (desno). Slika 2: Delaunayeva triangulacija z varnim okvirjem na George Romneyevem delu Captain John Taubman III. Zopet smo si izbrali neko fiksno točko, od katere smo gledali odmike točk. Varni okvir smo določili kot največji možni odmik obraza gor, dol, levo in desno od fiksne točke na vhodnem videu. Ta odmik smo potem, podobno kot vs , skalirali, da smo dobili pozicije na slikarskem delu. 7.3 Predprocesiranje posnetkov Ker smo iste videoposnetke uporabili pri več slikarskih delih, je procesiranje posameznega posnetka izraženega čustva vzelo precej časa - za vsako procesirano slikarsko delo se je na videoposnetku izvedlo povsem enako zaznavanje točk. Zato smo se odločili, da vsak videoposnetek predprocesiramo in ustvarimo seznam obraznih točk, ki jih potem kot JSON datoteko posredujemo programu. Ta JSON datoteka vsebuje 68 značilnih obraznih točk in točke pravokotnika pozicije obraza (ki se uporablja za določanje faktorja skaliranja pri prevajanju točk iz videoposnetka v slikarsko delo) za vsako sličico v videu. S to metodo smo hitrost procesiranja posameznega slikarskega dela skoraj razpolovili. Tudi uvedba metode opisane v 7.4 je bila lažje implementirana s predprocesiranimi videoposnetki. 7.4 Glajenje vhodnega videa Čeprav je bil subjekt na vhodnem videu pri miru, je prihajalo do manjšega šuma pri zaznavanju točk obraza. To je pripeljalo do tresočega rezultata. Ta problem smo reševali s povprečenjem iste točke na zaporednih sličicah. Za vsako izmed 68 značilnih točk (ang. facial landmarks) na poljubni sličici videa smo izračunali povprečno pozicijo v koordinatnem sistemu na podlagi n prejšnjih in naslednjih sličic. Opazili smo, da se metoda pri 30 sličicah na sekundo najbolje obnese pri n = 5. Ob izbiri večjega n se pojavijo preveč razvlečeni premiki. Ob manjšem n-ju pa je slika še vedno tresoča. 8 Rezultati Za predstavitev rezultatov smo izbrali dve slikarski deli vidni na sliki 3. Na slikah 4 in 5 pa so predstavljena vsa izražena čustva. 119 Slika 4: Izrazi na obrazu predstavljeni po vrsti od leve zgoraj do desne spodaj: zaspanost, posmehljivost, sumničavost, veselje, žalost, zaljubljenost. 9 Uporaba vmesnika Pripravili smo tudi vmesnik (slika 6) za lažji pregled generiranih videov, pri katerem smo uporabili HTML in JavaScript. Vmesnik omogoča izbiro slikarskega dela in emotikona (ki prikazuje izraz na obrazu), potem pa predvaja video posnetek, ki smo ga generirali za ta par slike in izraza na obrazu. Uporabnik lahko po želji izbere poljubno drugo slikarsko delo ali emotikon in animacija se bo avtomatsko posodobila. Video posnetek je mogoče ustaviti, ponovno predvajati ali pa predvajati čez celoten zaslon. Pod generiranim video posnetkom se izpišejo podatki slikarskega dela – avtor, naslov, leto nastanka. S tem se uporabnik seznani z deli, ki jih prej ni poznal. Menimo, da je vmesnik uporabnikom prijazen, saj jih od začetka vodi z navodili za uporabo. 10 Predlogi za izboljšave Ena izmed izboljšav, ki bi jo lahko implementirali, bi bila tudi možnost odpiranja ust likov, saj pri nas to ni mogoče. Če so bila usta v vhodnem videu odprta, se je to na končnem videu prikazalo kot črn prostor v ustih, torej ni bilo videti zob ali jezika. Prav tako bi lahko izboljšali tudi zapiranje vek, saj trenutno, če oseba na vhodnem videu preveč zapre oči, pride pri animaciji do popačenja delov obraza okoli oči. Če bi nam to uspelo, bi bila po našem mnenju uporabniška izkušnja še boljša, rezultati pa še bolj realistični. Dober primer zapiranja oči in odpiranja stopek bi vzel več časa, kar bi po našem mnenju vodilo k slabši uporabniški izkušnji - zaradi tega smo v obstoječi verziji vmesnika to možnost izključili. 11 Zaključek Glede na to, da smo opisano raziskavo delali v okviru predmeta in smo zato bili časovno omejeni, smo precej zadovoljni z rezultati. Sama spletna aplikacija je zabavna za uporabo, je pa še ogromno možnosti za izboljšavo (nekaj je omenjenih v prejšnjem poglavju), ki bi jih bilo potrebno preizkusiti. Literatura Slika 5: Izrazi na obrazu predstavljeni po vrsti od leve zgoraj do desne spodaj: zaspanost, posmehljivost, sumničavost, veselje, žalost, zaljubljenost. [1] Deep Nostalgia, https://www.smithsonianmag. com/smart-news/ai-program-deepnostalgia-revives-old-portraits180977173 [2] Uporabniški vmesnik Deep Nostaliga, https://www. myheritage.si/deep-nostalgia [3] GANimation: Anatomically-aware facial animation from a single image, https://openaccess.thecvf.com/ content_ECCV_2018/html/Albert_Pumarola_ Anatomically_Coherent_Facial_ECCV_2018_ paper.html [4] SC-FEGAN (Face Editing Generative Adversarial Network), https://openaccess.thecvf.com/ content_ICCV_2019/papers/Jo_SC-FEGAN_ Face_Editing_Generative_Adversarial_ Network_With_Users_Sketch_and_ICCV_ 2019_paper.pdf Slika 6: Prikazan uporabniški vmesnik prikazuje predogled animiranega videa (levo), možnost izbire različnih slikarskih del (desno zgoraj) in izbiro upodobljenega izraza na obrazu preko emotikonov (desno spodaj). [5] X2Face, https://arxiv.org/pdf/1807.10550. pdf ust so dosegli z globokimi nevronskimi mrežami [13], kar pa bi precej povečalo časovno zahtevnost generiranja animacij. Še ena možna izboljšava bi bila, da bi na slikarskem delu animirali več obrazov. Tako bi se lahko vsi obrazi na slikarskih delih premikali in bi lahko uporabili dela, na katerih se pojavi več oseb. Trenutna implementacija že zazna vse obraze, dodatno bi morali na vsaki sliki videa animirati vse obraze namesto samo prvega zaznanega. Čas generiranja videov za n obrazov bi se tako podaljšal za približno n-krat. Če bi želeli na obrazih uporabiti različne izraze, bi bila izboljšava še malce otežena. Zaradi različnih dolžin posnetkov izrazov bi se pojavil problem, kaj storiti z obrazi, katerih animacija se je končala. Možna rešitev bi bila, da animacijo, ki pride do konca, odvrtimo v vzvratno smer. Drug problem bi bil, kako izbrati, katera čustva želimo na danih obrazih. To bi bilo rešljivo z razširitvijo uporabniškega vmesnika. Tudi pri uporabniškem vmesniku je še prostor za izboljšave. Uporabnik bi lahko posnel samega sebe za izvorni video, ki bi ga naš algoritem nato sprocesiral, liki pa bi se premikali, tako kot bi uporabnik želel. Sam po- [7] enciklopedija vizualne umetnosti WikiArt (baza slikarskih del), https://www.wikiart.org/ 120 [6] First Order Motion Model for Image Animation, https://iris.unitn.it/retrieve/handle/ 11572/250831/300686/8935-first-ordermotion-model-for-image-animation.pdf [8] GitHub repozitorij, https://github.com/ jjustin/paintings-animator [9] projekt izdan na GitHub Pages, http://jjustin. github.io/paintings-animator [10] knjižnica dlib, http://dlib.net/files [11] knjižnica skimage, https://scikit-image.org/ docs/dev/api/skimage.html [12] skimage PiecewiseAffineTransform dokumentacija, https://scikit-image.org/docs/stable/ api/skimage.transform.html#skimage. transform.PiecewiseAffineTransform [13] Interactive facial animation with deep neural networks, https://ietresearch.onlinelibrary. wiley.com/doi/10.1049/iet-cvi.2019.0790 Poučna otroška klepetalnica Klepetko Marko Kofol1, Tomaž Sagaj1, Vita Potočnik2, Patricija Rantaša2, Sandra Stancheska2, doc. mag. Barbara Dovečar2, asist. Blaž Meden1, izr. prof. dr. Narvika Bovcon1 1 2 Fakulteta za računalništvo in informatiko, Univerza v Ljubljani, Večna pot 113, 1000 Ljubljana Fakulteta za dizajn, samostojni visokošolski zavod, pridružena članica Univerze na Primorskem, Prevale 10, 1236 Trzin E-pošta: klepetko.app@gmail.com Abstract. The latest isolation due to the pandemic has contributed to children’s socializing being limited and to that we offer a brightly-colored and bubblyillustrated solution. Our aim is to create a game where the main areas of f ocus are l earni ng and communicating with fellow classmates and/or friends. Essentially, our target audience is comprised of primary school children varying from the 3rd to the 5th grade. We acquaint ourselves with their core curricula and design the appearance and user experience of the game accordingly. The game itself starts off with a randomly-chosen character with which the player moves around various rooms. The entire world of the game is made to resemble educational premises where each room holds a function of its own. The classroom is focused around playing educational games, quizzes and chatting with peers, while the hallway relies more on socialization and chatting. We want our game to be considered a safe place for children to have fun and play, while also learning and expanding their knowledge skills. 1 Interdisciplinarno sodelovanje Otroška klepetalnica Klepetko je projekt, ki je nastal v interdisciplinarnem sodelovanju med Fakulteto za računalništvo in informatiko (FRI) Univerze v Ljubljani in Fakulteto za dizajn (FD) pridruženo članico Univerze na Primorskem, in sicer v letnem semestru leta 2021, ko smo študijski proces zaradi epidemije izvajali na daljavo. Študenti so bili razporejeni v skupine, posamezno skupino so sestavljali po trije ali štirje študenti z vsake fakultete. Skupine so imele nalogo izdelati spletno ali mobilno aplikacijo na temo družbeno odgovornega oblikovanja. Študenti so v začetni fazi projekta skupaj poiskali idejo za aplikacijo s pomočjo metode možganske nevihte in skupinske diskusije, v nadaljevanju so izbrano temo analizirali s pomočjo pojmovnih diagramov in miselnih vzorcev, vizualne in kontekstualne analize ter analize stanja s pregledom sorodnih rešitev. Določili so cilje projekta in ciljno skupino uporabnikov. Sledila je faza izdelave oblikovalske rešitve, ki se je začela s skicami osnovnih gradnikov podobe projekta in zbiranjem vsebine za aplikacijo. Sledilo je načrtovanje vmesnika in navigacije z določitvijo informacijske arhitekture in izdelavo žičnih modelov. Oblikovalci in računalničarji so začetne ERK'2021, Portorož, 121-124 121 stopnje projekta izdelali v sodelovanju, v nadaljnjih korakih pa so se posvetili svojemu področju kompetenc: tako so oblikovalci nadaljevali z grafično dodelavo oblikovnih elementov in animacij, računalničarji oz. multimedijci pa so se posvetili tehnični izvedbi aplikacije s pomočjo ustreznih tehnologij. Sama implementacija je potekala v dialogu med študenti, kar je pripeljalo do celovitega izdelka, ki je ustrezno naslovil vse podrobnosti v projektu. Študenti so skozi projekt pridobili konkretne izkušnje o tem, kako poteka delo v interdisciplinarni skupini, kako se delijo naloge, kako se vodi projekt skozi posamezne faze, vključno s testiranjem prototipa pri uporabnikih in revizijo vmesnih rešitev, kako se komunicira s strokovnjaki iz druge discipline, kaj je pri razvoju projekta pomembno za oblikovalce in kaj za računalničarje. Izdelani projekti imajo potencial, da zaživijo v okvirih start up podjetij in se integrirajo v družbeno življenje, vse skupine so namreč predlagale uporabne in družbeno odgovorne aplikacije, ki bi bile dobrodošle v resničnosti. Hkrati je bil projekt interdisciplinarnega sodelovanja priložnost tudi za same študente, da so se med seboj spoznali in navezali stik, ki bo omogočil tudi v prihodnosti sodelovanje na podobnih projektih. Članek bo predstavil enega izmed realiziranih študentskih projektov. 2 Cilji projekta Otroška klepetalnica Klepetko je prostor, ki otrokom omogoča druženje v časih, ko jim je srečevanje v živo zaradi epidemije Covid-19 onemogočeno, komunikacija pa je preusmerjena večinoma v on-line obliko. Otroci so prikrajšani za osebni stik s sovrstniki in učitelji, njihovo domače okolje postane tudi prostor za učenje, kar lahko povzroči odvračanje pozornosti in nižanje motivacije za učenje. Našteti razlogi so bili povod k ustvarjanju varnega učnega okolja, v katerem lahko uporabniki na zabaven način, poln igre, druženja in medsebojnih vzpodbud med sovrstniki usvajajo novo učno snov in utrjujejo svoje znanje. Pri snovanju iger in kvizov smo pomoč poiskali pri znancih, ki delajo v šolstvu z učenci razredne stopnje. Pregledali smo učne načrte od tretjega do petega razreda, ki smo jih našli na spletu, in se na podlagi dobljenih informacij odločili oblikovati igre s področja matematike, angleščine in slovenščine in kvize iz slovenščine, naravoslovja in geografije. Omenjene aktivnosti dopuščajo možnost nadgradnje ob podrobnejši analizi učnih načrtov ciljne skupine in z vključitvijo strokovnjakov didaktike. Igram in kvizom smo dodali možnost komuniciranja in socializacije preko klepeta v ustvarjenem spletnem svetu, do katerega dostopamo preko brskalnika. Glavni cilj projekta je ublažitev posledic epidemije pri starostni skupini, na katero je odvzeta možnost socializacije ter izvajanja izobraževanja v živo vplivala najbolj. Dolgoročni cilji projekta vključujejo omogočanje šolskih tekmovanj preko spleta ter morebitna sodelovanja s podobnimi platformami. 3 Pregled področja Pri ustvarjanju igre nam je kot osrednji primer dobre prakse služila igra Club Penguin [3], ki s pomočjo likov v spletnem svetu združuje različne igre s klepetom. Na slovenskih tleh je bila ena izmed podobnih iger Otroški Telekom [4], kjer je bilo igralcem omogočeno raziskovanje sveta in prostorov v igri ter interakcija z različnimi objekti. Še en primer je igra Igraj in spoznaj Slovenijo [5], ki se je osredotočala na spoznavanje naravnih znamenitosti in tradicije Slovencev skozi virtualno poustvarjen zemljevid Slovenije z najbolj turistično atraktivnimi kraji. Vsem omenjenim igram je skupno to, da si je uporabnik lahko ustvaril svoj lik in z njim raziskoval svet, se pogovarjal z drugimi uporabniki, igral igre in stopil v interakcijo z različnimi objekti. V primeru igre Club Penguin je bila to poleg interakcije med uporabniki tudi zabava, Otroški Telekom je bil namenjen klepetu s sovrstniki, pri portalu Igraj in spoznaj Slovenijo pa že kot naslov pove, spoznavanje Slovenije. Podobno kot v teh igrah smo tudi v našo igro vključili kot eno izmed glavnih funkcij klepet, za razliko od njih pa smo se s projektom Klepetko želeli osredotočiti na zabavno poučevanje in utrjevanje znanja osnovnošolskih otrok skozi igre in kvize, ki so pripravljeni točno za njihovo raven znanja in so v skladu z učnim načrtom. Za vizualno podobo so nam kot inspiracija služili primeri otroških aplikacij in klepetalnic z raznih spletnih platform, kot so Pinterest, Behance [6] in Dribbble. 4 Vizualna podoba Klepetalnico smo želeli zasnovati na čim bolj zabaven in otrokom privlačen način, zato smo se odločili za barvni sistem, ki vključuje žive barve, prijazno tipografijo, predmete in like pa smo oblikovali kot zaobljene, mehurčkaste oblike (slika 1). V virtualnem svetu klepetalnice smo uporabljali enobarvne ploskve, v grafičnem vmesniku pri nalogah in kvizih pa smo dodajali barvne prelive. Igra je narejena v pogledu iz ptičje perspektive, pri čemer so objekti oblikovani tako, da jih vidimo deloma iz profila, deloma od zgoraj, liki pa so v popolnem stranskem pogledu, kar pri igralcu 122 omogoča jasno predstavo o prostoru. Pri samem načrtovanju, oblikovanju in izrisu igre smo uporabili programa Figma ter Adobe Illustrator. Slika 1: Klepetko logotip in znak Za igro Klepetko smo ustvarili simbol, skozi katerega smo želeli prikazati otroško igrivost in zabavno plat učenja. Že samo ime je besedna igra s številom pet, ki označuje najvišjo oceno oz. potrditev odličnega znanja. V simbolu pa se skriva več različnih motivov. Če podrobneje pogledamo simbol števila pet, vidimo, da so v njem združeni pogovorni oblaček, ki je združen z obliko možganov, oba pa sta zajeta v okvir oblike števila pet (slika 2). Simbol je namenjen vzpostavljanju zaupanja: da bi ga še bolj približali uporabnikom, smo mu dodali tudi prijazen izraz na obrazu. Na začetnem zaslonu smo logotip tudi animirali, za animacijo smo uporabili program Adobe AfterEffects. Slika 2: Simbolna sestava znaka Uporabili smo dve različni črkovni vrsti in sicer Titan One za logotip in Quicksand za slogan. V vizualni podobi smo uporabljali žive barve z namenom pritegniti pogled in pozornost uporabnikov, narediti igro čim bolj zapomnljivo ter z barvami izraziti otroškost in zabaven značaj igre. 4.1 Uporabniški vmesnik Uporabniška izkušnja se odvija na dveh ravneh, kar odraža tudi informacijska arhitektura vmesnika. Prva raven je svet z različnimi sobami, kjer igralci lahko komunicirajo z drugimi uporabniki, drugo raven pa predstavljajo poučne igre. Na prvi ravni se ob spodnjem robu zaslona nahaja orodna vrstica z različnimi gumbi in polji. Od leve proti desni so to gumb zgodovine klepeta, ki prikaže ali skrije sporočila, izmenjana od začetka naše seje. Naslednji je indikator točk, ki jih igralec pridobiva z reševanjem kvizov. Sledi polje za vnose besedila z možnostjo dodajanja smeškotov, gumb za zemljevid, ki pokaže, kje se nahajamo, ter gumb z informacijami o tipkah in njihovih funkcijah. Na drugi ravni pa se ob zgornjem robu zaslona nahaja podatek o točkah igre in gumb, s katerim igro zapremo in se vrnemo v sobo. 4.2 Svet Igralec vstopi v igro prek obrazca, v katerega vpiše ime oz. vzdevek in izbere spol svojega lika v igri. S pritiskom na gumb Vstopi sistem naključno izbere enega izmed petih likov in ga postavi na dvorišče. Tukaj se igralec prvič sreča z drugimi igralci, lahko obišče peskovnik, gugalnico ali pa posedi na klopci (slika 3). Sredi igrišča stoji šola, vanjo vstopi s pritiskom na tipko »E«. Znajde se v avli, ki je prostor za druženje, spoznavanje in klepet (slika 4). Na tej točki lahko igralec izbira, ali bo šel skozi vrata na desni ali na levi. Na desni strani se nahaja garderoba, ki je namenjena personalizaciji lika (slika 5). Če pa stopi skozi vrata na levi, pride do učilnice, kjer so na voljo poučne in zabavne igre slovenščine, matematike in angleščine: na mizah učencev ležijo predmeti, ki igralca preusmerijo na posamezno poučno igro (slika 6). Slika 6: Učilnica 4.3 Igre in kvizi Drugo raven aplikacije smo razdelili na interaktivne igre ter kvize. Najprej smo izdelali žične modele poteka posameznih iger, ki so se izkazali kot odlični vodniki pri celotni izvedbi igre kasneje. Ker se interakcija v igrah razlikuje, je tudi informacijska arhitektura igralnega dela vmesnika vsakokrat drugačna, grafična podoba vmesnika pa ostaja skladna s celostno podobo igre. Slika 3: Dvorišče Prvi del tako predstavljajo tri igre, ki vključujejo znanja iz angleščine (slika 7), slovenščine (slika 8) in matematike. Pri angleščini mora igralec izbrati pravilno besedo (med štirimi podanimi), ki poimenuje ilustrirani predmet. Igro slovenščine rešujemo tako, da iz pomešanih črk sestavimo besedo. Igro matematike smo ustvarili po principu potegni in spusti, kjer se oblački s pravilnim odgovorom obarvajo zeleno. Slika 4: Avla Slika 7: Igra iz angleščine Slika 5: Garderoba Slika 8: Igra iz slovenščine 123 Sklop kvizov se začne z začetnim zaslonom, kjer izberemo predmet, na podlagi katerega nam igra nato zastavi vprašanja. Izbiramo lahko med slovenščino, geografijo in naravoslovjem. Vizualno smo kvize dopolnili z ilustracijami, ki so primerne vsakemu izmed predmetov. Vprašanja so zastavljena na podlagi učnega načrta posameznega predmeta, s pravilnimi odgovori pa vprašanja postajajo vedno bolj zahtevna. Kvize igramo tako, da kliknemo na odgovor a, b, c ali d, igra nam nato sporoči, ali smo izbrali pravilnega, za tem pa se pojavi naslednje vprašanje. 5 Tehnična izvedba Spletna aplikacija Klepetko je zgrajena s pomočjo ogrodja Phaser. Phaser je programska oprema, ki razvijalcu pomaga pri izdelavi iger v brskalniku [7]. Grafične elemente prikazuje in posodablja s pomočjo standarda WebGL ali HTML elementa Canvas. Za uporabo ogrodja je potrebno znanje jezika JavaScript ali TypeScript. Ker je Klepetko večigralska platforma, je za posodabljanje podatkov v realnem času potreben zaledni del. Strežnik se izvaja v okolju Node.js, za izmenjavo podatkov med prijavljenimi klienti skrbi modul Socket.io. Celoten strežnik je izdelan v jeziku JavaScript. Ob prijavi uporabnika v igro mu dodeli naključen ID, ki se zabeleži v delovni spomin strežnika. Strežnik čaka na dogodke, ki mu jih pošiljajo klienti. Primer dogodka je pošiljanje sporočila. Ko uporabnik pošlje sporočilo, ga najprej prejme strežnik, ki ga nato razdeli vsem trenutno prijavljenim uporabnikom, ki so v isti instanci sobe kot pošiljatelj (vključno s pošiljateljem). Vsak izmed uporabnikov ima v delovnem spominu shranjene vse ostale uporabnike, kar strežniku omogoča pošiljanje le najnujnejših podatkov, kot je npr. ID. Z zanašanjem na procesorsko moč uporabnika razbremenimo strežnik in tako omogočimo hitrejše in zanesljivejše delovanje igre. Prototip igre smo testirali pri ciljni skupini otrok med tretjim in petim razredom osnovne šole, tako da smo jim igro predstavili in pustili nekaj minut za igranje ter nato izvedli krajšo anketo. Iz nje smo izvedeli, da je bila otrokom najbolj všeč možnost komunikacije z ostalimi učenci, posledično se jim je zdelo tudi reševanje kvizov in igranje poučnih iger bolj zabavno, saj so jih lahko sproti komentirali s svojimi vrstniki. Veliko otrok te starosti še vedno nima mobilnih telefonov, zato jim je komunikacija s sošolci na bolj zabaven način predstavljala prostor druženja, krajšanja časa ter hkrati učenja. Zaradi potencialne zlorabe osnovnošolskih otrok želimo uporabniške račune zaščititi z nakupom licence. Licenca bi bila zakupljena s strani osnovnih šol, ki bi želele sodelovati v projektu. Dodatno želimo med mladimi vzbuditi zdravo mero tekmovalnosti, za kar bi si želeli sodelovanja s slovenskim televizijskim kvizom Male sive celice. Z njihovo pomočjo bi organizirali medšolska tekmovanja ali celo ligo v kvizih na daljavo. 7 Predstavitveni video Za portal smo izdelali tudi predstavitveni video, ki gledalca popelje skozi postopek ustvarjanja lika, mu predstavi vse sobe ter prikaže pravila in delovanje poučnih kvizov in iger. Skeniranje spodnje QR kode (slika 9) vodi do predstavitvenega videa, ki smo ga objavili na platformi YouTube, narejen pa je bil v programih Adobe AfterEffects in Adobe Premiere Pro. Slika 9: Povezava na video: 6 Evalvacija in nadaljnji razvoj V skupini želimo, da se spletna klepetalnica Klepetko uporablja kot alternativa oz. pripomoček pri učenju v situaciji, kadar je otrokom odvzeta možnost učenja in srečevanja s sovrstniki v živo. S klepetalnico želimo doseči, da bi učenci kljub omejitvam gibanja ohranjali stik, med seboj komunicirali, si pri učenju pomagali in se spodbujali, kot to delajo pri učenju v živo. S Klepetkom želimo ustvariti prostor za učenje na daljavo, ki je zabaven, interaktiven, in spodbuja medsebojno sodelovanje med učenci. Prihodnost platforme Klepetko je pestra, saj je v načrtu že več izboljšav in novosti. Poleg vizualnega izgleda in novosti v sami igri, kot so npr. personaliziranje lika, zbiranje točk in tekmovanja v kvizih, želimo izboljšati tudi uporabniško izkušnjo. V ta namen bo sledila implementacija uporabniških računov, baze podatkov, algoritma za filtriranje neprimernih sporočil, ipd. 124 Literatura [1] S. Krug: Don't make me think, Revisited, 2014 [2] J. Sharp, C. Macklin: Games, Design and Play: A Detailed Approach to Iterative Game Design, 19. Maj 2016 [3] Club Penguin Rewritten, https://cprewritten.net/ [4] Otroški Telekom, https://website.informer.com/otroski.telekom.si [5] Igraj in spoznaj Slovenijo https://www.slovenia.info/sl/novinarskosredisce/novice/5246portal-igraj-in-spoznaj-slovenijo-z-novimi-destinacijami [6] Behance, https://www.behance.net/gallery/115945547/mathies-mathmath-educational-app [7] Phaser - HTML5 Game Frameworok , https://photonstorm.github.io/phaser3-docs/ Aplikacija za iskanje podobnih slikarskih del Luka Končar1 , Rok Caserman2 , Gregor Brantuša3 , Matevž Andolšek Peklaj4 , as. Blaž Meden5 , izr. prof. dr. Narvika Bovcon6 1,2,3,4,5,6 Fakulteta za računalništvo in informatiko UL E-pošta: 1 luka.koncar@gmail.com, 3 gb6370@student.uni-lj.si, 5 Blaz.Meden@fri.uni-lj.si, 6 Narvika.Bovcon@fri.uni-lj.si Abstract We created a web application in Python, which allows the user to upload an image and then uses it to find similar artworks from a database of paintings made by some of the most influential painters of all time. The user can choose from a variety of criteria for comparison: colour hue, saturation, value, normalized cross-correlation, edges, convolutional neural networks AlexNet and VGG16, color layout descriptor, edge histogram descriptor and a bag-of-words model. These criteria are described and discussed in the following paper, as are the algorithms that are used to implement them. Different algorithms work better or worse depending on the user uploaded image. Towards the end we suggest some functional improvements, such as identifying the author of the uploaded image and the art period in which it was likely created. Aside from the functional improvements we also suggest some that would increase the overall quality of the query, either by making it faster or more robust. 1 Uvod Izdelali smo spletno aplikacijo, ki uporabniku omogoča nalaganje poljubne slike, nato pa iz podatkovne zbirke slikarskih del poišče podobne umetnine glede na izbrani kriterij. V nadaljevanju bomo opisali podobne aplikacije, ki že obstajajo, tehnologije, ki smo jih uporabili, različne kriterije, ki jih uporabnik lahko izbere za primerjavo slik in izgled aplikacije. Na koncu pa bomo predlagali morebitne izboljšave. 2 Pregled področja Naš projekt spada v področje prepoznave in klasifikacije slik, v katerem že obstaja vrsta različnih aplikacij. Omenili jih bomo nekaj, ki podobno kot naša v ozadju uporabljajo podatkovno zbirko skupaj z različnimi algoritmi za klasifikacijo ali iskanje podobnih slik, kot jih je naložil uporabnik. Quick, Draw! je zabavna aplikacija, ki uporabniku najprej pokaže besedo ali besedno zvezo, nato pa ima ta 20 sekund časa, da to skicira z miško. Cilj je, da računalnik pravilno ugotovi, kaj je narisal uporabnik. Za prepoznavo skic aplikacija uporablja rekurenčno nevronsko mrežo (angl. recurrent neural network). Ta nevronska mreža se je učila na ogromni podatkovni zbirki, ki se je ERK'2021, Portorož, 125-129 125 sproti dopolnjevala, ko so uporabniki igrali igro in tako prispevali nove skice. Poleg klasifikacije skic je glede na podano besedo mreža zmožna tudi narisati nove skice, ki so vsakokrat drugačne in različne od vseh v podatkovni zbirki, dopolnjevati nedokončane skice, vizualizacijo vmesnih korakov pri pretvorbi ene skice v drugo idr. Zanimivo je tudi, da skic ne hranijo kot statične slike, ampak hranijo tudi podatke o tem, kako je oseba narisala skico (npr. zaporedje in smer črt). [1] Leafsnap je mobilna aplikacija za prepoznavo rastlinskih vrst z uporabo računalniškega vida. Sistem prepozna vrste dreves iz fotografij njihovih listov. Sistem vključuje komponente za odstranjevanje slik, ki ne predstavljajo listov, segmentacijo listov od preprostega ozadja, pridobivanje značilnosti, ki predstavljajo ukrivljenost lista in prepoznavo lista iz podatkovne zbirke 184 dreves. Za klasifikacijo, ali slika sploh predstavlja list, uporabljajo binarni klasifikator z GIST značilnostmi. List od ozadja ločijo s pomočjo ocenjevanja barve ospredja in ozadja v prostoru nasičenost-vrednost barvnega modela HSV. Nato izračunajo več histogramov za ukrivljenost lista. Najbolj podobne liste iz podatkovne zbirke najdejo z uporabo preseka histogramov, te rezultate pa uporabijo za določanje, kateremu drevesu pripada list. [2] Podobno kot zgornja projekta tudi mi uporabljamo precej veliko podatkovno zbirko (okrog 7000 slikarskih del). Za iskanje podobnih slik smo pri nekaterih kriterijih tako kot pri aplikaciji Quick, Draw! uporabili nevronsko mrežo, le da sta pri nas konvolucijski, pri njih pa je rekurenčna. Prav tako sta bili naši mreži naučeni že vnaprej, medtem ko so avtorji Quick, Draw! mrežo naučili na skicah, ki so jih pridobili od uporabnikov. Pri nekaterih kriterijih smo podobno kot pri aplikaciji Leafsnap izračunali histograme, a smo namesto s presekom histogramov podobnosti izračunali s Hellingerjevo razdaljo. Poleg tega za razliko od Leafsnap ne uporabljamo algoritmov za ločevanje ozadja od objektov v sliki, saj ozadje veliko pripomore k našemu načinu klasifikacije. Vsebinsko pa sta našemu projektu bližje Art Palette in Art Selfie. Art Palette uporabniku omogoča bodisi vnos pet različnih barv bodisi nalaganje slike, iz katere se izlušči pet najbolj reprezentativnih barv. V ozadju je podatkovna zbirka tisoče slikarskih del, za vsako je že vnaprej izračunanih pet barv, ki to sliko najbolje predstavljajo. Iskanje najbolj podobnih slik nato opravijo s primerjavo podobnosti teh petih barv. [3] Art Selfie pa je mobilna aplikacija, kjer uporabnik najprej slika sebe (angl. selfie), nato pa se prikaže vrsta portretov, ki so najbolj podobni naloženi sliki, zraven pa je podan tudi procent podobnosti. [4] 3 Uporabnost aplikacije Aplikacija je namenjena različnim uporabnikom. Splošno občinstvo bo v njej videlo predvsem zabavno aplikacijo, kjer lahko naložijo svojo sliko in poiščejo podobna slikarska dela, medtem ko jih specifike algoritmov verjetno ne bodo zelo zanimale. Za njih bi se lahko aplikacijo postavilo npr. v katero izmed galerij, kjer bi se lahko s priloženo kamero tudi slikali in iskali podobne portrete. Študente računalništva pa bo bolj zanimalo delovanje specifičnih algoritmov in kako dobre rezultate dajo. Tu so pomembni predvsem bolj kompleksni algoritmi, kot so npr. vreča besed in nevronske mreže. O osnovnem delovanju algoritmov si lahko preberejo v sami aplikaciji, če pa si želijo o delovanju izvedeti še več, pa si lahko ogledajo tudi izvorno kodo. Nenazadnje je aplikacija zanimiva tudi za študente umetnosti. Z njo si lahko pomagajo npr. pri obravnavi teorije barv, da iščejo slike, ki so podobne pa barvnem tonu, nasičenosti ali vrednosti. Pri drugih algoritmih pa lahko ocenijo, kako uspešno računalnik najde slike, naslikane v istem obdobju ali slike istega avtorja. 4 Kriteriji za primerjavo (a) Referenčna slika (b) Prvi zadetek (c) Drugi zadetek (d) Tretji zadetek Slika 1: Rezultati poizvedbe: ton sliko iz zbirke. NCC brez dodatne obdelave je dokaj grob algoritem, ki pogosto ne vrača zelo podobnih rezultatov, zato mu v naslednjem razdelku pomagamo z ekstrakcijo robov. Pri NCC-ju je prav tako omembe vredno to, da se slike primerja, kot da bi bile črno-bele, torej se ne ozira na barve, ki jih slika vsebuje. 4.3 Robovi Pri robovih smo iz slik najprej izluščili robove s pomočjo algoritma ”Canny”, nato pa smo slike z izluščenimi robovi primerjali z metodo NCC, enako kot pri prejšnji točki. Za iskanje podobnih slik smo uporabili podatkovno zbirko, ki vključuje slikarska dela 50 najbolj vplivnih umetnikov vseh časov [5]. Nato smo uporabili različne algoritme, ki omogočajo iskanje podobnih slik glede na sliko, ki jo je naložil uporabnik. 4.1 Barvni ton, nasičenost, vrednost Začeli smo z najbolj preprostimi primerjavami, to je primerjanju po barvnemu tonu, nasičenosti in vrednosti. Primerjava se torej dogaja po eni izmed osi barvnega prostora HSV. Najprej smo za vsako izmed slik v zbirki naredili histogram tona, nasičenosti in vrednosti ter te podatke shranili v tri JSON datoteke. Za sliko, ki jo uporabnik naloži, se izračuna histogram za izbran kriterij, nato pa se s Hellingerjevo razdaljo poišče najbližje histograme iz JSON datotek. Imena datotek najbolj podobnih slik so nato poslana uporabniškemu vmesniku, ta pa jih uporabniku prikaže. Kljub dokaj primitivni obdelavi vidimo, da je možno tudi s takšnimi poizvedbami poiskati dobre rezultate. To velja še posebej za slike narave, kjer prevladuje ena ali pa morebiti dve barvi. 4.2 Normalizirana navzkrižna korelacija (NCC) Tukaj smo uporabili algoritem normalizirana navzkrižna korelacija (angl. normalized cross-correlation). Algoritem temelji na interpretaciji slike kot signala, nato pa signala primerja po tem, kakšen je njun odmik. Bolje se signala prekrivata, bolj sta si podobna. Seveda vhodno sliko spremenimo v signal in jo nato primerjamo z vsako 126 (a) Referenčna slika (b) Prvi zadetek (c) Drugi zadetek (d) Tretji zadetek Slika 2: Rezultati poizvedbe: robovi Predhodno izluščevanje robov znatno izboljša rezultate, kot je razvidno iz slike 2. Prav tako vidimo NCC v akciji, saj se zadetka (c) in (d) razlikujeta v barvi, NCC pa ju postavi skupaj, saj sta po pretvorbi v črno-belo enaki. 4.4 Konvolucijska nevronska mreža AlexNet Uporabili smo že naučeno konvolucijsko nevronsko mrežo (angl. convolutional neural network) AlexNet, ki je del Python knjižnice PyTorch [6]. Vsako sliko iz podatkovne zbirke smo najprej transformirali v skladu z navodili modela, nato pa z modelom pretvorili to transformirano sliko v vektor značilk. Te vektorje smo shranili v JSON datoteko. Tudi sliko, ki jo naloži uporabnik, transformiramo in pretvorimo v vektor značilk, nato pa s Hellingerjevo razdaljo najdemo najbližje vektorje iz JSON datoteke in s tem pripadajoče slike. 4.5 Deskriptor barvne postavitve (CLD) Deskriptor barvne postavitve (angl. color layout descriptor) učinkovito predstavi prostorsko postavitev barv, kar omogoča njegovo uporabo pri poizvedovanju slik. Postopek pridobivanja le-tega je sestavljen iz dveh delov; mrežnega izbora reprezentativne barve (tj. slika je razdeljena na mrežo in iz vsakega dela mreže je izbrana reprezentativna barva) in pa diskretne kosinusne transformacije. Za vse slike iz zbirke so bili predčasno pridobljeni in shranjeni pripadajoči deskriptorji, ki smo jih nato pri poizvedovanju primerjali z vhodnim deskriptorjem s pomočjo evklidske razdalje. Na ta način so se lahko enostavno poiskale slike s podobno barvno porazdelitvijo, vendar pa so se pri tem zanemarile pomembne lastnosti slik, kot je npr. tekstura. 4.6 Deskriptor histogramov robov (EHD) Deskriptor histogramov robov (angl. edge histogram descriptor) je pridobljen s pomočjo segmentacije slike na 16 (4x4) manjših delov. Vsak segment je nato nadalje deljen do velikosti segmenta 4 (2x2) pikslov, katerim je nato določen eden izmed petih tipov robov: navpični, vodoravni, diagonala pod kotom 45 stopinj, diagonala pod kotom 135 stopinj ali pa neusmerjeni rob. S pomočjo opisanega postopka lahko na prostorsko učinkovit način pridobimo opis teksture slike, ki ga nato uporabimo pri poizvedovanju. Iz vhodne slike je pridobljen deskriptor, ki je nato primerjan z ostalimi s pomočjo evklidske razdalje. Kljub temu, da smo pri našem projektu uporabljali deskriptor zgolj na lokalni ravni, je aplikacija le-tega možna tudi na globalnem nivoju [7]. V praksi se pri vsebinskem poizvedovanju slik (angl. content-based image retrieval) velikokrat uporablja kombinacija več nizko nivojskih deskriptorjev (kot sta to npr. CLD in EHD), saj to omogoči analizo slike iz različnih vidikov (barva, tekstura, ...). Ena izmed možnih kombinacij je prav zagotovo par deskriptorjev CLD in EHD [8], ki prostorsko učinkovito opiše barvo in teksturo slike, vendar pa tega v okviru naše aplikacije nismo realizirali. 4.7 Konvolucijska nevronska mreža VGG16 Konvolucijska nevronska mreža VGG16 predstavlja nadgradnjo že omenjene mreže AlexNet. Učenje te mreže je zelo počasno, zato je bila uporabljena že naučena mreža knjižnice PyTorch [6]. Sam postopek pridobivanja vektorjev značilk pri poizvedovanju je enak postopku, opisanem v razdelku 4.4. Bistvena razlika med nevronsko mrežo AlexNet in VGG16 je v velikosti konvolucijskih jeder, kjer slednja uporablja manjša jedra (velikosti 3x3 točkovne pike), kar omogoči hitrejše učenje mreže, hkrati pa je zaradi manjšega števila spremenljivk mreža VGG16 odpornejša na prekomerno prilagajanje. 127 (a) Referenčna slika (b) Prvi zadetek (c) Drugi zadetek (d) Tretji zadetek Slika 3: Rezultati poizvedbe: CNN VGG16 Nevronski mreži AlexNet in VGG16 se najboljše obneseta pri poizvedbah portretov. Izmed vseh implementiranih tehnik slednji prikažeta najbolj relevantne rezultate. Na sliki 3 so prikazani rezultati poizvedbe s portretom, kjer je razvidno, da je nevronska mreža VGG16 uspešno (v primerjavi z ostalimi algoritmi) poiskala podobne portrete. 4.8 Vreča besed (BOW) Ta metoda temelji na ekstrakciji posebnih značilnosti iz vseh slik v podatkovni zbirki, te značilnosti se nato gručijo in primerjajo z algoritmi strojnega učenja (angl. bagof-words). Točke smo iz slik pridobili s pomočjo algoritma SIFT, ki značilnosti opiše kot vektorje dolžine 128, gručili pa smo jih z metodo voditeljev. Pri metodi voditeljev je potrebno vnaprej izbrati željeno število gruč. S poskušanjem smo ugotovili, da algoritem vrača zadovoljive rezultate pri 50 gručah. Vsako gručo je nato možno interpretirati kot ”besedo” in vsako sliko kot ”besedilo”. Množico gruč, v katerih ima slika svoje značilnosti, potem interpretiramo kot besede v besedilu. Sedaj imamo besedila, ki jih lahko primerjamo kar s klasičnimi algoritmi za primerjanje podobnosti besedil. Sestavimo najprej inverzni indeks, torej slovar, ki ima za ključ oznako gruče (torej besedo), za vrednosti pa slike (torej besedila), v katerih se ”beseda” pojavlja, kar pomeni, da slika vsebuje vsaj eno izmed značilnosti iz gruče v ključu slovarja. Na tak način indeksirana besedila lahko primerjamo s pomočjo metode tf-idf. Novo sliko torej prav tako pretvorimo v besedilo in ga nato s tf-idf primerjamo z vsemi ostalimi besedili. Za razdaljo med besedili uporabimo kosinusno razdaljo, saj se je izkazala kot uporabna za našo podatkovno zbirko. (a) Referenčna slika (b) Prvi zadetek Slika 5: Izgled uporabniškega vmesnika. BOW je posebej odvisen od raznolikosti zbirke, s katero delamo. V zbirki, ki bi bila sestavljena samo iz človeških obrazov, bi tako npr. zlahka izluščili značilnosti, kot so nos, oko, itd. Pri zbirki, ki je tako razgibana kot naša, se stvar zaplete. Pojavi se problem, ker imajo nekatere slike veliko več posebnih značilnosti kot druge, prav tako so te značilnosti velikokrat človeku posebej brezpomenske, saj nanje gleda kot na celoto, medtem ko jih algoritem obravnava posebej. Tako nastane veliko gruč, ki jih je težko klasificirati, kot sta npr. ”nos” ali ”oko”, saj so za človeka brezpredmetne. To pogosto negativno vpliva na kvaliteto vrnjenih rezultatov. Na sliki 4 je prikazan primer, kjer za poizvedbo uporabimo sliko Pieta Mondriana, za katero se izkaže, da ima zelo malo posebnih značilnosti. Ker število značilnosti lahko znatno vpliva na kvaliteto poizvedbe, smo problem delno rešili z vpeljavo kosinusne razdalje. Ta nam pomaga tako, da pri bolj razgibanih vhodnih slikah zelo verjetno dobimo tudi razgibane rezultate in obratno. nja. Možno je npr. uporabiti večjo zbirko, vendar je v tem primeru potrebno poskrbeti, da so vsi podatki iz slik izluščeni že vnaprej (to je pri večini algoritmov že implementirano) in se računa le s temi. Pri velikih zbirkah, kjer bi postalo računanje z že obdelanimi podatki zamudno, bi lahko slike predhodno gručili na podlagi njihovih barvnih lastnostih. Lahko bi torej napravili gruče na podlagi tona, vrednosti in nasičenosti barv ter vhodno sliko primerjali samo s slikami iz gruč, katerim pripada. To bi izboljšalo kvaliteto poizvedb tudi v primeru manjše zbirke. V primeru prevelike zbirke je možno uporabiti hitrejše algoritme, ki lahko najdejo manj kvalitetne rezultate, vendar so veliko hitrejši. Primer takšnega algoritma bi bil SURF, ki bi ga lahko namesto algoritma SIFT uporabili za izluščevanje posebnih značilnosti iz slik. Pri hitrosti je vredno omeniti tudi to, da je trenutno vsa koda, z morebitno izjemo uporabljenih knjižnic, napisana v programskem jeziku Python, za katerega je znano, da je počasen. Hitrost je torej možno izboljšati tudi z uporabo hitrejšega jezika, npr. C++. Izboljšati je možno tudi vmesnik, večinoma z dodanimi funkcionalnostmi. Lahko bi npr. dodali, da algoritem poleg slik predlaga avtorja, za katerega je najbolj verjetno, da je vhodno sliko naslikal in obdobje, v katerem je najverjetneje nastalo. 5 7 (c) Drugi zadetek (d) Tretji zadetek Slika 4: Rezultati poizvedbe: bag-of-words Uporabniški vmesnik Spletno aplikacijo smo izdelali v programskem jeziku Python [9] s pomočjo spletnega ogrodja Flask [10]. V desnem zgornjem kotu se nahaja gumb, s pomočjo katerega lahko uporabnik naloži poljubno sliko s svojega računalnika, ki se bo pozneje uporabila za iskanje podobnih slikarskih del. Po nalaganju slike pa v levem zgornjem kotu izbere kriterij, po katerem naj aplikacija najde podobne slike. Za vsak kriterij je na voljo en gumb, ob premiku miške na gumb pa se pojavi okence, ki na kratko opiše bistvo delovanja kriterija. Po koncu iskanja podobnih slik se spodaj prikaže večja originalna slika, ki jo je uporabnik naložil, zraven pa se postopoma prikažejo podobne slike iz podatkovne zbirke slikarskih del. 6 Možne izboljšave Možnih izboljšav je veliko, je pa pri vsaki potrebno paziti, da na račun kvalitete ne žrtvujemo hitrosti delova- 128 Zaključek Izdelali smo spletno aplikacijo, na katero lahko uporabnik naloži svojo sliko in jo z različnimi algoritmi, ki so bili opisani v tem poročilu, primerja s slikami znanih umetnikov. Soočati se s tako razgibano podatkovno zbirko, kot so dela iz mnogih obdobij, je težek zalogaj za večino algoritmov, ki so pogosto dobri v bolj specifičnih situacijah. V primeru, kjer je podatkovna zbirka zelo raznolika, se izkažejo za najbolj uporabne nevronske mreže, ki so že sicer znane kot eno izmed najboljših orodij na področju umetnega zaznavanja. Za bolj kvalitetne rezultate bi bilo potrebno razviti celosten postopek, ki bi uporabljal kombinacijo postopkov, opisanih v tem članku. Aplikacijo smo testirali na ravni osnovnega delovanja in ovrednotili ustreznost rezultatov s pomočjo uporabnikov znotraj skupine sodelavcev. Ko smo si ogledali ponujene podobne slike, smo lahko tudi vizualno ocenili, na kateri ravni in kako so si podobne, ter človeško zaznavo in razumevanje primerjali z delovanjem algoritmov v ozadju. Ocenjujemo, da aplikacija deluje dobro in vrača zanimive rezultate, ki bi jih lahko še dodatno analizirali in interpretirali. V nadaljevanju projekta bi bilo smiselno aplikacijo postaviti v različna okolja, opisana v 3. poglavju, kjer bi od uporabnikov pridobili informacije o specifičnih uporabah, kar bi omogočilo tudi nadaljnji razvoj in fokusiranje projekta v smeri določenih uporab, tako na ravni algoritmov kot na ravni vmesnika. Literatura [1] Ha, D. & Eck, D. A Neural Representation of Sketch Drawings. CoRR. abs/1704.03477 (2017), http://arxiv.org/abs/1704.03477 [2] Kumar, N., Belhumeur, P., Biswas, A., Jacobs, D., Kress, W., Lopez, I. & Soares, J. Leafsnap: A Computer Vision System for Automatic Plant Species Identification. ECCV. (2012) [3] Art Palette, https://artsexperiments.withgoogle.com/artpalette [4] Art Selfie, https://artsandculture.google.com/camera/selfie [5] Best Artworks of All Time, https://www.kaggle.com/ikarus777/best-artworks-ofall-time [6] TORCHVISION.MODELS, tps://pytorch.org/vision/stable/models.html ht- [7] Park, D., Jeon, Y. & Won, C. Efficient use of local edge histogram descriptor. Proceedings Of The ACM Workshops On Multimedia. 2 pp. 51-54 (2000) [8] Rachmawati, E., Afkar, M. & Purnama, B. Adaptive Weight in Combining Color and Texture Feature in Content Based Image Retrieval. (2017) [9] Python, https://www.python.org/ [10] Flask, https://flask.palletsprojects.com/en/2.0.x/ 129 Ocenjevanje skladnosti spletnih vsebin s smernicami za dostopnost na spletu: ocena ustaljenega pristopa Vid Stropnik1, Sabina Oražem, Jure Trilar, Jana Kotnik2, Emilija Stojmenova Duh 1 Laboratorij za telekomunikacije Fakultete za elektrotehniko UL, Tržaška 25, 1000 Ljubljana 2 Medicinska fakulteta UL, Vrazov trg 2, 1000 Ljubljana E-pošta: vid.stropnik@ltfe.org Povzetek. Uveljavljene smernice za dostopnost spletnih vsebin WCAG ne predlagajo jasnega načina za pregled skladnosti posamezne strani z njihovimi zapovedmi. V članku bralca sprva seznanimo z jedrnatim pregledom različnih vrst človeških omejenosti in njim ustreznih dostopnostnih prilagoditev, nato pa ocenimo primernost enega izmed ustaljenih mehanizmov za ocenjevanje spletne dostopnosti. 1 Uvod Dostopnost in univerzalna uporabnost sta dva izmed ključnih temeljev za dosego demokratizacije spleta. Web Content Accessibility Guidelines (WCAG) 2.1. [1] - smernice za dostopnost spletnih vsebin 2.1., vsebujejo širok nabor priporočil za prilagoditev spletnih strani in aplikacij za boljšo dostopnost ljudem z različnimi oblikami invalidnosti1. Zagotavljanje skladnosti vsebin z omenjenimi kriteriji ne predstavlja zgolj načina za širjenje uporabniškega kroga posamezne spletne storitve, temveč tudi brani nravstveno stališče OZN za dostopnost spleta kot osnovni človekovi pravici [2]. Vzpostavitev pravične, sistematične in smiselne metodologije za pregled skladnosti spleta z WCAG je zato ključnega pomena. V tem članku, pripravljenem v okviru projekta WA HELPS ALL: Web accessibility enabling & measuring tool, ki ga financira Evropski socialni sklad ESCF, predstavljamo poglobljeno evalvacijo ene izmed ustaljenih metodologij za pregled dostopnosti na spletu: AnySurfer Quickscan [3]. V nadaljevanju članka sprva predstavimo WCAG in z jedrnatim pregledom področja invalidnosti in ovir pri rabi spleta bralca seznanimo s težavami različnih skupin, ki jih smernice naslavljajo. Za tem podrobno predstavimo recenzirani postopek ocenjevanja skladnosti z WCAG in opišemo lastno metodologijo, s katero smo ga evalvirali. Po odseku z opisom ugotovitev fokusne skupine, zaključimo z razpravo in pregledom nadaljnjega dela. 2 Smernice 2.1 Smernice za dostopnost spletnih vsebin WCAG so bile leta 2018 objavljene s strani World Wide Web Consortium (W3C), kot nadaljevanje obsežnega dokumenta WCAG 2.0. iz leta 2008. Ta naslavlja, dandanes že splošne, pristope k načrtovanju spletnih uporabniških vmesnikov. WCAG razširjajo in določajo 1 V tem delu termine invalid, oseba z invalidnostmi, oseba z omejenostmi idr. uporabljamo zamenljivo, enakovredno in brez negativne konotacije. ERK'2021, Portorož, 130-133 130 konkretne kriterije za uspešno premagovanje dostopnostnih izzivov pri različnih tipih spletnih vsebin - primarno spletnih strani. Smernice za dostopnost naslavljajo vsebine na različnih terminalih, od tabličnih in namiznih računalnikov, mobilnih telefonov in ostalih, ter so usmerjene v širok nabor invalidnosti oz. omejenih zmožnosti. Prav tako njihova načela pomagajo ustvarjati bolj uporaben internet za starostnike, kot tudi splošno populacijo uporabnikov [1]. WCAG 2.1 pri izgradnji vmesnikov sledi štirim jedrnim načelom: 1. Dojemljivost - komponente informacij in uporabniškega vmesnika morajo biti predstavljive uporabnikom na način, ki ga lahko zaznajo s svojimi čutili. 2. Nadzorljivost - komponente uporabniškega vmesnika in navigacija morajo delovati v interakciji, ki jo uporabnik lahko izvaja. 3. Razumljivost - informacije in delovanje uporabniškega vmesnika morata biti v mejah uporabnikovega razumevanja. 4. Robustnost – vsebino mora široka paleta uporabniških agentov in podpornih tehnologij zanesljivo in pravilno razlagati. Najlaže je vzdrževati osnovno raven (raven A), vendar tudi v primeru, če je ugodeno njej pripadajočim 25 merilom, to smatramo pod pragom dobre dostopnosti. Naprednejša raven AA je sestavljena iz dodatnih 13 meril uspešnosti, raven AAA, s še 23 merili, pa je namenjena specialističnim rešitvam. V praksi se snovalci spletnih strani pogosto ne posvečajo vsem izmed predpisanih smernic in posledičnim merilom uspeha. V naslednjem podpoglavju zato predstavljamo splošen pregled dostopnostnih prilagoditev, ki jih WCAG predlagajo in omejenosti, povezanih z njimi. 2.2 Omejenosti in dostopnostne prilagoditve Začetni sestavek WCAG kot svoje ciljne skupine navaja slepe in slabovidne, gluhe in naglušne, osebe s fizičnimi in motoričnimi omejitvami, kognitivnimi, učnimi ali nevrološkimi motnjami in obolenji, ter tiste z omejenimi zmožnostmi govora. Razumevanje pristopov, modalnosti in orodij, ki omenjenemu 15% deležu svetovne populacije omogočajo rabo spleta in omejitev, s katerimi se pri tem srečujejo, je ključnega pomena za načrtovanje dostopnih in pravičnih spletnih vsebin [4]. Motnje vizualne funkcije nastopajo v oblikah zmerne do popolne izgube vida v enem ali obeh očesih, kažejo pa se tudi v obliki pomanjkljive zaznave za določene barve ali povečane občutljivosti na svetlobo, Rabo vida lahko razčlenimo na štiri ključne funkcije, vsako izmed katerih moramo, ob morebitnem izpadu ali omejenosti, upoštevati pri načrtovanju spletnih vsebin. Omenjene funkcije so ostrina vida, občutljivost na kontrast, vidno polje in percepcija barv [5]. Za učinkovito uporabnost morajo tako strani med drugim podpirati možnost nemotene povečave elementov (angl. reflow), upoštevati primerna barvna razmerja med besedilom in ozadjem in podpirati njihovo zamenjavo, ter vso sporočilnost dostavljati tekstovno in simbolno, ne zgolj barvno [1]. Pristopi za povečanje dostopnosti za to skupino vključujejo tudi optimizacijo spletišč za rabo namenskih terminalov in programske opreme, kot so bralci zaslona in osvežljivi brajevi zasloni [4]. Pri rabi teh ključno vlogo igra pravilna semantična struktura spletnih strani in ustrezna raba jezikovnih oznak in alternativnih besedil. Med uporabnike namenskih terminalov in programskih rešitev pogosto štejemo tudi osebe s fizičnimi in motoričnimi omejitvami. Te najpogosteje pomenijo omejen mišični nadzor v eni ali več okončinah, ki se najpogosteje pojavlja v oblikah neželenih premikov, pomanjkanja koordinacije ali v obliki paralize. Med motorično omejene štejemo tudi osebe z manjkajočimi udi ali tiste, ki ob premikih doživljajo bolečine ali druge občutke neudobja. Ob ergonomičnih pripomočkih, prilagojeno strojno opremo za to skupino uporabnikov (npr. upravljanje z očmi, obraznimi mišicami, nogami, SNP sistemi idr.) združuje raba enega ali več stikal [1]. V določenih primerih enostikalne rabe se po interaktivnih elementih uporabniškega vmesnika sprehaja avtomatizirani kurzor, med tem ko ga več stikalni uporabniki premikajo sami, podobno kot pri upravljanju strani s tipkovnico. Pri tovrstni rabi, kot tudi rabi namenske programske opreme, kot so agenti za glasovno upravljanje, je ključno smiselno semantično gručenje spletnih elementov za namene intuitivnejše navigacije po straneh in preskakovanje morebitnih uporabniku-nepomembnih elementov. Prav tako je izjemnega pomena jasna označitev trenutne lokacije kurzorja in njegovo prosto gibanje po vseh elementih spletne strani. WCAG snovalcem vsebin predlaga tudi posebno pozornost na vse časovne omejitve in programske (tipkovnične) bližnjice, saj je stikalno upravljanje dolgotrajnejše, bližnjice pa se lahko ne skladajo z uporabljenimi podpornimi tehnologijami. Zaradi večje frekvence napačno izvedenih akcij so za to skupino uporabnikov posebej pomembni tudi razumljivi in dostopni načini vračanja in popravljanja napak. Nevrološke, vedenjske, učne in duševne motnje so pogosto spregledana skupina pojavov, ki s svojim vplivom na različne dele živčnega sistema posegajo v posameznikovo zmožnost rabe vseh modalnosti za dostop do spletnih vsebin. Za omenjene skupine med najbolj nedostopne spadajo sistemi za brskanje [6]. Oblikovanje raznovrstnih in dostopnih vsebin za te skupine obravnava področje univerzalnega dizajna. 131 Zgolj nekatere izmed zapovedanih načel, ki posebej naslavljajo omenjene hendikepirane, so jasnost jezika, zadosten besedilni razmik, pravilna besedilna poravnava, ne-gnezdena hierarhična struktura vsebin, raba ne-serifne pisave, enostaven oz. dobro razložen navigacijski sistem, nastavljivost barve vmesnika in ustavljivost oz. odstranljivost dinamičnih in utripajočih elementov uporabniškega vmesnika [7, 8]. Ob slušno in govorno omejenih posameznikih, pri načrtovanju vsebin za katere je nujna nadomestitev vsebin z dostopnimi alternativami (npr. podnaslovi in transkripcije oz. možnost kontakta brez potrebe po telefonskem klicu), je omembe vredno tudi dejstvo, da dostopnostne prilagoditve izboljšujejo uporabniško izkušnjo tudi za osebe, ki živijo brez invalidnosti. Raziskave kažejo na hitrejše in uspešnejše izpolnjevanje nalog, povezanih z navigacijo po spletu na prilagojenih spletnih straneh. Strani z nivojem dostopnosti AA po WCAG 2.0 so v primerjavi z nedostopnimi stranmi zabeležile tudi višje subjektivne ocene o uporabnosti, izgledu in zaupnosti [9]. Poleg tega pa dostopnoste prilagoditve predstavljajo tudi smiseln korak za dolgoobstojnost spletnih vsebin zaradi pričakovanega dviga deleža starostnikov v populaciji. 3 Anysurfer Quickscan Raziskava o metodologiji za preverjanje skladnosti z WCAG se izvaja v okviru projekta WA HELPS ALL: Web accessibility enabling & measuring tool. Projektni partner je tudi belgijski projekt Anysurfer, katerega metodo za evalvacijo dostopnsoti spleta, smo izbrali za predstavnika ustaljenih pristopov, z namenom proučitve trenutnega stanja področja. Metodo Quickscan Anysurfer od leta 2007 uporablja v Nadzorniku dostopnosti (nz. moniteur de l'accessibilité), letnem pregledu prilagojenosti reprezentativnega vzorca belgijskega spleta za osebe z manj zmožnostmi. Po predpisih Quickscana po uvodnem dvournem predavanju študentje smeri izpolnijo anketo s 15 vprašanji. Na vsa vprašanja so možni odgovori DA in NE, pri nekaterih vprašanjih pa je možen tudi odgovor, da kriterij ni pomemben za obravnavano spletno mesto. Vsak kriterij (vprašanje) se ocenjuje na vsaj 6 podstraneh spletišča, med katere so vedno vštete domača stran, stran s kontaktom, preusmerjevalna stran (angl. sitemap), pogled z rezultati iskanja in 2 tipični podstrani z vsebino, če so na strani na voljo. Končna dostopnost strani je ocenjena kot utežena vsota 15 vprašanj in formalizirana v (Slika 1). Rezultati so konsolidirani med odgovori več študentov (najmanj 16), kjer pretehta odgovor večine. Zastavljena vprašanja so navedena na spletnem pregledu rezultatov zadnjega Nadzornika dostopnosti [10]. 4 Fokusna skupina 4.1 Metodologija Fokusno skupino za ocenjevanje ustreznosti metodologije Quickscan smo izvedli po navodilih, opisanih v Anysurferjevi metodologiji. 25 udeleženih študentov med 21. in 26. letom starosti, enakomerno razdeljenih med spoloma, je sprva sodelovalo na uro in pol dolgem predavanju, s katerim so se seznanili z WCAG 2.1 in njihovim namenom. Predavanju je bil pridružen hiter pregled osnov semantične strukture spleta v označevalnem jeziku HTML. Smernice smo študentom predstavili z rabo person, učinkovitim pristopom za ponotranjenje uporabnikovih potreb in ovir, pogosto rabljenem v uporabniško naravnanem načrtovanju [11]. Te so predstavljale osebe s trajnimi, začasnimi in situacijskimi invalidnostmi: tresavico zaradi multiple skleroze, tetraplegijo, sindromom karpalnega kanala, barvno slepoto, sivo mreno, ADHD, idr. Po predstavitvi Quickscana smo izvedbo nadaljevali z uro dolgo evalvacijo spletnih mest2. Vsak študent je postopek opravljal na svojem prenosnem računalniku. Nekateri so med reševanjem vprašalnikov potrebovali usmeritve pri odgovarjanju na določena vprašanja. Vsako vprašanje je bilo zastavljeno na ločeni strani z možnostjo vračanja. Odgovor na vprašanje je bil skupen za vse podstrani na posamezni domeni. Kot metodo nabora kvalitativnih podatkov smo izbrali intervju v fokusni skupini, ki, v primerjavi s klasičnimi intervjuji, pogosto pripelje do globljih in bogatejših zaključkov o idejah in občutkih o ocenjevanem postopku / vmesniku [12]. Ta, tokrat namenjen ugotavljanju morebitnih izboljšav in pomanjkljivosti AnySurferjeve metodologije, se je izvedel v treh osem do devet članskih skupinah, vsako izmed katerih je vodil moderator. Zastavljena vprašanja so udeležence spraševala o morebitnih težavah pri reševanju ankete, zamudnosti reševanja, težavnosti, smiselnosti in primerni vsebini vprašanj. Pri analizi zbranih opažanj smo sledili smernicam, izpostavljenih v sorodni literaturi, s poudarkom na Kruegerjevi petstopenjski okvirni analizi (angl. Framework analysis), ki opisuje ključne korake in dobre prakse pri naboru in seznanjanju s podatki, vzpostavitvi tematskega okvirja, indeksiranju, analizi in interpretaciji zbranih mnenj in pogledov [13]. Slika 1 prikazuje enačbo za izračun utežene vsote po Anysurfer Quickscan, kjer wq predstavlja utež vprašanja q. Stran je ocenjena za dostopno pod pogojem S ≥ 75 [%]. 4.2 Ugotovitve V razpravi so udeleženci ugotavljali, da je metodologija Quickscan za splošno javnost in splošne (zasebne, komercialne) strani uporabna in da so njena vprašanja dober približek smernic za dostopnost spleta. Po drugi strani so se prisotni strinjali, da bi se pri ocenjevanju 2 Udeleženci so v uri uspeli oceniti vsaj 2 spletni mesti: https://ltfe.org in https://fe.uni-lj.si. Pri ocenjevanju je bila upoštevana Anysurferjeva specifikacija 6 izbranih podstrani. Prevode vprašanj v angleščino je priskrbel Anysurfer. 132 dostopnosti strani javne uprave morale strožje upoštevati konkretne točke WCAG. Opozarjali so na to, da pri ocenjevanju strani po Quickscanu niso iskali izpolnjevanja smernic, temveč zgolj protiprimere, saj so se tako lahko veliko hitreje gibali po vprašalniku. Menili so, da je to je naravna posledica načina, na katerega so vprašanja zastavljena in da je v primeru nasprotnega namena potrebno prebesedenje večine izmed njih. Strinjali so se v opažanju, da so podstrani na eni domeni bile konsistentne v izpolnjevanju oz. neizpolnjevanju posameznih smernic; če kriterij ni držal na eni izmed podstrani, je bilo tako ponavadi tudi na ostalih. Sodelujoči so omenili tudi dejstvo, da nekatera vprašanja niso bila dovolj jasno definirana, predvsem za robne primere, npr. točno definicijo pravilnega jezika spletne strani (lang=”sl” ali “si-SL”). Udeleženci bi zastavljeni petnajsterici dodali podvprašanja za boljše razumevanje. Nekateri so bili mnenja, da bi bilo bolje, če bi bila vprašanja bolj kompleksna. Predlagajo na primer, da bi v primeru ocenjevanja kontrasta morali določiti, kateri elementi strani se ocenjujejo, saj je ozadij več in barve različne (npr. v meniju, glavni naslovi, glavna vsebina). Eden izmed predlogov za povečanje jasnosti zastavljenih vprašanj je tudi dodajanje primerov dobrih praks in slikovnih zgledov za objektivnejše ocenjevanje. Reševanje anketnega vprašalnika je bilo za sodelujoče časovno zahtevno. Največ časa so posvetili iskanju napak v naslovnih oznakah in hiperpovezavah na vseh podstraneh. Veliko časa so posvetili tudi pregledu kontrastnega razmerja besedila in ozadja. Izrazili so željo po avtomatizaciji in po orodju, ki bi zbralo določene elemente spletnega mesta, kot so povezave in naslovi. Na sploh so menili, da bi orodje, kot je namenski spletni brskalnik, postopek pohitril. Udeležence je zmotila subjektivnost vprašanj. Povedali so, da je bilo na vprašanja, ki so spraševala o primernosti vsebine naslovov in povezav, težko odgovoriti. Svoje mnenje so še dodatno podkrepili z opazko, da osebe z manj zmožnostmi pri rabi spleta pogosto uporabljajo drugačne naprave, modalnosti in vmesnike, kot so jih ocenjevalci v tej fokusni skupini. Udeleženci so bili mnenja, da bi bilo bolje, če bi spletne strani testirali uporabniki z invalidnostmi. Pojavila se je dilema o inkluzivnosti, saj je spekter invalidnosti zelo razsežen – nanjo, kot tudi vprašanje o upravičljivi ceni tovrstnega izvajanja, niso podali končnega mnenja. Večina študentov je bila mnenja, da imajo po uvodni seznanitvi s smernicami vse potrebne izkušnje in so primerno usposobljeni za ocenjevanje z Anysurferjevim vprašalnikom. Poznavanje vsaj osnov označevalnih jezikov in semantične strukture spleta udeleženci ocenjujejo kot nujno, sicer je ocenjevanje, vsaj v splošnem spletnem brskalniku, nemogoče izvesti. Nekateri so kljub izvedenemu predavanju izrazili željo, da se v formalnem okolju njihovi odgovori ne bi upoštevali. Posebno pozornost so udeleženci namenili uteženosti posameznih vprašanj. Pri mnogih so bili mnenja da so sorazmerne z enostavnostjo implementacije, premalo pa se upošteva njihov pomen za dostopnejšo rabo spletne strani: Zgolj zato, ker je postopek popravila enostaven (npr. pravilna nastavitev naslova strani), ne bi smel imeti nizke uteži. Predlagali so razširitev spektra možnih odgovorov. Zaradi možnosti zgolj pritrdilnih ali odklonilnih stališč (DA/NE) se je večina ocenjevalcev počutila omejeno. Za razrešitev tega problema so predlagali uvedbo ocenjevalne lestvice (npr. kvantitativno izpolnjevanje (1-5)) ali kvalitativno). Udeleženci so se strinjali s smiselnostjo hibridnega načina, kjer bi določena vprašanja ostala v obstoječi obliki (DA/NE), nekatera pa bi bila ocenjena z lestvico skladnosti s kriterijem. Pojavil se je tudi protiargument implementaciji lestvice: Udeleženka bi si želela, da je reševanje bolj strogo, da se slabe prakse snovanja hitreje zaznajo in odstranijo. Predlagana je bila tudi kvalitativna utemeljitev ocene. Odziv fokusne skupine potrjuje sledeče: metodologija Quickscan je zelo dober začetek evalvacije dostopnosti spletnih strani, vendar je pomanjkljiva. Ker poenostavlja obsežnejše napotke ne zajema vseh WCAG smernic, ki so ključnega pomena za dostopnost in pravičnost do vseh uporabnikov na spletu. Ob razširitvi obsežnosti vprašanj in možnih odgovorov, je metodologijo treba optimizirati – dodati orodja, ki bodo ocenjevalcem v pomoč. 5 Razprava in nadaljnje delo V okviru projekta WA HELPS ALL: Web accessibility enabling & measuring tool, avtorji pripravljamo novo, izboljšano metodologijo za ocenjevanje skladnosti spletnih vsebin s smernicami WCAG. Naš uvodni cilj je bil razvoj pristopa, ki bi ga bilo mogoče popolnoma avtomatizirati za namene pravičnejšega, objektivnejšega ocenjevanja dostopnosti spletišč. Težnje po možnosti kvalitativnega ocenjevanja, ki so se pojavile tekom uporabniške skupine, naše načrte vsaj deloma postavljajo na stranski tir. Kljub prepričanju udeležencev, da bi rezultat Quickscana ocenjene strani postavil v pravilno skupino (tj. dostopno ali nedostopno), je sicer zaskrbljujoče opažanje post-hoc analize negotovosti odgovorov uporabniških vprašanj, v kateri so ta zabeležila visoko povprečno3 Shannonovo entropijo: 0.698 (0.1774) oziroma 0.731 (0.175) v primeru izračuna uteženega povprečja z upoštevanjem uteži, pripisanih posameznim vprašanjem [14]. Ta bi v primeru obstoja absolutne resnice in ne-kontroverznih odgovorov, morala biti veliko bližje ničli. Dobljen rezultat tako orisuje vpliv raznolikosti pristopov k ocenjevanju, morebitne neprimerne oz. nesorazmerne usposobljenosti ocenjevalcev, nejasnosti zastavljenih vprašanj in človeške napake. Posebej visoka (0.9+) entropija nekaterih izmed najvišje uteženih Anysurferjevih vprašanj prav tako opisuje težavo omejenosti uporabnikov na odgovore DA/NE, ki so jo izpostavili tudi v fokusni skupini. Kot smiselne korake 3 Pri izračunu povprečja ni upoštevano eno izmed 15 vprašanj, ki so ga udeleženci ocenili za nepomembnega. 4 Interval zaupanja predstavlja standardni odklon opažanj. 133 nadaljnjega dela prepoznavamo postopno preverjanje predlogov fokusne skupine v kontekstu A/B testiranja s Shannonovo entropijo kot ključnim indikatorjem uspešnosti. Ob tem je smiselna tudi raziskava upotabnosti alternativnih programskih rešitev (npr. namenskega spletnega brskalnika) za izvedbo analize, ki bi lahko v prihodnosti pripeljala do smiselnega, skalabilnega pristopa z možnostjo avtomatizacije in standardizacije, v ocenjevanju katerega predlagamo soudeležbo ciljnih publik, ki dostopnostne prilagoditve uporabljajo na dnevni ravni. Literatura [1] Web content accesibility Guidelines (WCAG) 2.1 [Online]. Dosegljivo: w3.org/TR/WCAG21/ [Dostopano: 26. 07. 2021]. [2] OZN. Article 9 – Accessibility [Online]. Dosegljivo: un.org/development/desa/disabilities/convention-on-therights-of-persons-with-disabilities/article-9-accessibility.html [Dostopano: 26. 07. 2021] [3] Methodologie van de toegankelijkheidsmonitor [Online]. Dosegljivo: toegankelijkheidsmonitor.be/methodologie.html [Dostopano: 28. 07. 2021] [4] WHO. (2011) World report on disability [Online]. Dosegljivo: who.int/disabilities/world_report/2011/report.pdf [Dostopano: 26. 07. 2021]. [5] J. Jacko et al. "Effects of multimodal feedback on the performance of older adults with normal and impaired vision," Universal Access Theoretical Perspectives, Practice, and Experience. UI4ALL 2002. Lecture Notes in Computer Science, vol 2615., str. (3-22), 2002. [6] G. Berget & F.E. Sandnes, "Searching databases without query-building-aids: Implications for dyslexic users, " Information Research vol. 20 no.4 art. 689, 2015 [7] . Berget, J. Herstad in F. Sadnes. "Search, Read and Write: An Inquiry into Web Accessibility for People with Dyslexia, " Studies in Health Technology and Informatics, vol. 229, str. (450-460), 2016 [8] R. Bernard, C. Sabariego, A. Cieza, "Barriers and Facilitation Measures Related to People With Mental Disorders When Using the Web: A Systematic Review" v Journal of Mdical Internet Research, G. Eysenbach, 2016. [9] S. Schmutz, A. Sonderegger, & J. Sauer, "Implementing Recommendations From Web Accessibility Guidelines," v Human Factors, vol. 58, no. 4, (611-629), 2016. [10] Toegankelijkheidsmonitor 2020 – AnySurfer [Online]. Dosegljivo: toegankelijkheidsmonitor.be/2020.html [Dostopano: 26. 07. 2021]. [11] T. Matthevws, J. Tejinder & S. Whittaker. "How do designer and user experience professionals actually percieve and use personas?," v Proceedings of the SIGCHI conference on human factors in computing systems (1219-1228), 2012. [12] L. Thomas et. al. "Comparison of focus group and individual interview methodology in examining patient satisfaction with nursing care" v Social Sciences in Health, vol. 1, no. 4, (206-220), 1995. [13] R. Krueger, M. A. Casey "Focus Groups: A practical guide for Applied Research", 5, Sage publications (2014) [14] C. E. Shannon, "A mathemathical theory of communication," v The Bell system technical jorunal vol. 27, no.3 (379-423), 1948. Avtomatika in robotika Automatic Control and Robotics Spremljanje učinkovitosti proizvodnih procesov z obdelavo na robu omrežja Jure Špeh, Gašper Mušič Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: jure.speh@student.uni-lj.si Production process efficiency monitoring with edge computing Machines and devices nowadays produce large amounts of data that are typically transmitted and stored on remote servers. This can lead to high data transfer and storage costs, delays, as well as security and privacy issues. Data processing at the edge of the network allows the data of sensors and devices to be analyzed and processed in their immediate proximity, and only key information is sent to the cloud for further processing. The article describes a practical example of monitoring the effectiveness of the production process by calculating the overall equipment effectiveness (OEE) indicators at the edge of the network. The TwinCAT environment runs a production line simulation based on the PackML state model. The TwinCAT device is connected to a Raspberry Pi computer running a program written in Python programming language, which captures data from the production process and calculates OEE indicators in real-time. These are then transferred to the Azure IoT Central web application, where the operator has remote supervisory control over the effectiveness of the process. 1 Uvod Sodobna industrija proizvaja vedno večje količine podatkov. Ti se navadno iz proizvodnih procesov pretakajo v podatkovne centre, kjer se iz njih pridobiva koristne informacije. Shranjevanje in obdelava velike količine podatkov v oblaku pa ni vedno najbolj smiselna rešitev. Pomisleki se pojavljajo predvsem pri stroških, zasebnosti, zakasnitvah in zanesljivosti. Ponudniki oblačnih rešitev navadno zaračunavajo njihove storitve glede na porabo virov. Nekateri parametri se zaradi varstva osebnih podatkov ne smejo hraniti v podatkovnih centrih. Pri prenosu po omrežju lahko pride do velikih zakasnitev, ki lahko kritično vplivajo na izvedbo storitev. Vse te težave lahko odpravimo z obdelavo in filtriranjem podatkov na robu. V zadnjem času se obdelava podatkov vse bolj seli na rob omrežja, blizu senzorjem in napravam, ki jih proizvajajo. Tehnologija obdelave podatkov na robu omrežja (ang. edge computing), je oblika decentralizirane obdelave podatkov, ki lahko vključuje napovedne modele in napredne metode strojnega učenja. ERK'2021, Portorož, 135-138 135 V tem članku so predstavljene možnosti in izzivi, ki jih prinaša ta tehnologija. Prikazana je umestitev obdelave podatkov na robu v širši kontekst industrije 4.0, nato pa je predstavljen praktičen primer industrijske aplikacije, kjer najprej z obdelavo na robu izračunavamo kazalnike skupne učinkovitosti proizvodnega procesa (OEE) in jih nato prikazujemo v spletni aplikaciji Microsoft Azure IoT Central. 2 Obdelava podatkov na robu Oblačne tehnologije so že nekaj časa jedro delovanja številnih organizacij po svetu. Naprave iz interneta stvari se v oblak povezujejo preko internetne povezave, z namenom procesiranja podatkov, ki jih zajemajo. Časovne zakasnitve pri prenosu pa lahko prinesejo velike težave pri delovanju sistemov, zlasti pri aplikacijah, ki delujejo v realnem času. Tak primer so sistemi nadzora zdravja, avtonomna vozila, video nadzor in avtomatsko vodeni proizvodni procesi. S skokovitim porastom naprav IoT in kibernetsko-fizičnih sistemov (CPS)1 je prišlo do spoznanja, da imajo lahko zakasnitve zaradi procesiranja podatkov v oblaku kritične posledice. To je bil glavni razlog za selitev virov obdelave informacij iz oddaljenih strežnikov na rob omrežja, čim bližje napravam, ki zajemajo telemetrijo in izvajajo nadzor nad realnimi aplikacijami [1]. Robne naprave med drugim omogočajo izvajanje računskih operacij, ki bi sicer tekle v oblaku (razbremenitev strežnikov), dolgoročno in kratkoročno shranjevanje podatkov in razporejanje ukazov (ang. request distribution). Obdelava na robu je smiselna predvsem za srednje oz. nizko zahtevne operacije. Če gremo na nivo senzorjev in naprav, je to mogoče doseči, saj tako omejimo potrebo po sočasni obdelavi velike količine telemetrije naenkrat. 3 Industrijski internet stvari (IIoT) Termin internet stvari (ang. internet of things) je bil prvič uporabljen leta 1999. Gre za napreden sistem različnih senzorjev, strojev in ostalih naprav, ki lahko komunicirajo med seboj ali s centralnim sistemom v oblaku. Pri komunikaciji naprava-z-napravo (ang. Machine-To-Machine) gre za medsebojno komunikacijo med napravami, ki ne 1 Sistem, kjer je fizični mehanizem nadzorovan oz. upravljan s strani računalniškega algoritma. potrebujejo posrednika za prenos podatkov. Ta način se pogosto uporablja v sistemih pametnih zgradb. Z uporabnikovega stališča se lahko težava pojavi pri skladnosti naprav različnih proizvajalcev, ki uporabljajo svoje protokole. “Stvari” so v IoT tako proizvajalci kot uporabniki podatkov. Industrijski internet stvari (IIoT) je še vedno širok pojem, saj zajema skupino zelo različnih industrij, na primer industrijska proizvodnja, rudarstvo, logistika in energetika. Na vseh področjih prinaša napredek v varnosti, optimizaciji stroškov, kakovosti izdelkov in storitev ter produktivnosti. 3.1 Skupna učinkovitost opreme Skupna učinkovitost opreme je osrednja komponenta metodologije TPM (Total Productive Maintenance), ki izvira iz Japonske. Gre za merilo, ki nam pove stopnjo učinkovitosti proizvodnega procesa v primerjavi s pričakovanimi rezultati [3]. S tem merilom lahko identificiramo, koliko časa je bila oprema v proizvodnji resnično produktivna. Rezultat se meri v odstotkih, kjer 100 % pomeni, da v proizvodnji ni bilo zastojev, med izdelki, ki so bili narejeni v najhitrejšem možnem času, pa so bili samo dobri kosi. Izračun (enačba 1) temelji na treh komponentah: • Razpoložljivost A (ang. Availability) • Zmogljivost P (ang. Performance) • Kakovost Q (ang. Quality) OEE = A · P · Q · 100 % (1) 3.2 PackML PackML (ang. packaging machine language) je industrijski tehnični standard za vodenje in nadzor pakirnih strojev in linij [4]. Njegov avtor je organizacija OMAC (Organization for Machine Automation and Control) v sodelovanju z združenjem ISA (International Society of Automation) na principu standarda ISA-88 [5, 6]. Glavni namen PackML je izdelati smernice, ki bi prinesle podobnost pri načrtovanju pakirnih linij različnih proizvajalcev. Stroji, zgrajeni po tem standardu, naj bi bili lažji za servisiranje in integracijo v obstoječe linije, ki so zgrajene po tem principu. Koncepti pa se uporabljajo tudi na drugih področjih spremljanja in vodenja procesov, na primer v predelavi surovin, sestavljanju izdelkov, obdelovalnih strojev in v robotiki. Smernice za izvedbo določajo model obnašanja entitet skozi poseben hierarhičen avtomat stanj. Zagotavljajo tudi načine za komunikacijo med različnimi stroji ter med stroji in informacijskimi sistemi. nje relevantnih informacij v oblak. Tam smo za demonstracijo uporabili spletno aplikacijo Azure IoT Central, ki omogoča povezovanje, spremljanje in upravljanje z napravami IoT. 4.1 Raspberry Pi Raspberry Pi je mikroračunalnik, ki je bil razvit v sodelovanju z organizacijo Raspberry Pi Foundation iz Združenega kraljestva za namen spodbujanja poučevanja osnov računalništva med mladimi po svetu. Zaradi majhnosti, nizke cene in zmogljivosti se je začel uporabljati tudi v številnih aplikacijah izven prvotnih namenov uporabe. Do leta 2020 je bilo izdanih že več različnih verzij [2]. V tej aplikaciji je bila uporabljena različica 3B z 1 GB delovnega pomnilnika (RAM), štirijedrnim 64-bitnim procesorjem, vgrajenim modulom WiFi in Bluetooth, priključkom Ethernet ter štirideset splošnonamenskimi vhodi in izhodi (GPIO). 4.2 Beckhoff TwinCAT Program TwinCAT 3.1 je namenjen programiranju krmilnikov proizvajalca Beckhoff. Integriran je v okolje Microsoft Visual Studio in temelji na odprtokodnem programskem orodju Codesys. TwinCAT podpira programiranje v jezikih po standardu IEC 61131 [7] (IL, LD, ST, FBD, SFC+CFC). Možna je tudi izmenjava podatkov z moduli, napisanimi v C/C++ ali zgrajenimi v okolju MATLAB/Simulink. Omogoča tudi simulacijo delovanja PLKja. 4.3 Python Python je odprtokoden, splošnonamenski in zmogljiv programski jezik. Zlasti je v uporabi na področju dela s podatki. Ima široko podporo skupnosti razvijalcev, ki prispevajo programske rešitve za različna področja, tudi v okviru industrije 4.0. Večina osnovnih funkcij je vključenih v jedrni Python modul, dodatni pa so na voljo v obliki knjižnic, ki so javno dostopne. V našem primeru smo med drugim uporabili knjižnico PyAds, ki omogoča povezavo z napravami TwinCAT preko komunikacijskega protokola ADS. 4.4 Azure IoT Central Azure IoT Central je programska storitev, ki omogoča povezavo, spremljanje in upravljanje naprav IoT v oblaku. Storitev IoT Central je namenjena hitri in enostavnejši vzpostavitvi aplikacij IoT brez skrbi za povezovanje med različnimi potrebnimi komponentami. Vanjo je že vključena komunikacija z napravami, izdelava predlog naprav in hramba ter vizualizacija podatkov. 5 4 Strojna in programska oprema Pričujoča aplikacija IIoT vključuje več različnih strojnih in programskih komponent. Proizvodni proces je simuliran znotraj programskega okolja TwinCAT 3.1, ki teče na prenosnem računalniku, s katerim simuliramo programirljivi logični krmilnik (PLK). Z njim se poveže mikroračunalnik Raspberry Pi 3B, ki služi kot robna naprava za obdelavo prejetih podatkov iz PLK-ja in pošilja- 136 Aplikacija spremljanja učinkovitosti Aplikacija vključuje tri glavne komponente: PLK, Raspberry Pi in spletno aplikacijo na platformi Microsoft Azure IoT Central. Odločili smo se, da PLK simuliramo znotraj programskega okolja Beckhoff TwinCAT 3.1, torej na osebnem računalniku. Računalnik s simuliranim krmilnikom preko kabla CAT5e povežemo na mrežno stikalo, kamor sta priključena tudi Raspberry Pi 3B in dovod iz glavnega usmerjevalnika za dostop do spleta (slika 1). Program Python na Raspberry Piju se poveže s PLKjem preko komunikacijskega vmesnika ADS. Nato smo dodali programsko kodo, ki poskrbi za pošiljanje podatkov v oblak in sprejemanje ukazov, ki jih operater izvrši v spletni aplikaciji Azure IoT Central. Več podrobnosti o izvedbi je mogoče najti v diplomskem delu [8]. Slika 1: Vizualni prikaz testnega sistema. 5.1 PLK Za simulacijo proizvodnje linije smo uporabili demo primer uporabe knjižnice PackML in ga dopolnili, da ustreza naši aplikaciji. Program predstavlja simulacijo preproste proizvodne linije. Vizualizacija je izdelana interaktivno, tako da v realnem času vidimo premike orodij in izdelkov (slika 2). V zgornjem levem kotu se nahaja diagram prehajanja stanj po modelu, ki ga določa PackML, kjer je z rdečim okvirjem označeno trenutno stanje linije. Na vrhu so prikazani osnovni parametri (št. vseh kosov, št. slabih kosov, trenutna in povprečna hitrost linije), imamo pa tudi možnost nastavitve ciljne hitrosti stroja in odstotka slabih kosov. Na desni strani se nahajajo gumbi za upravljanje s procesom. V spodnji vrstici lahko izbiramo med prikazi diagrama prehajanja stanj za celotno linijo ali samo za posamezna orodja. Demo primer ni imel možnosti izdelave neustreznih izdelkov, zato smo v PLK program dodali funkcijo, ki naključno označuje izdelke kot neustrezne. Njihov delež lahko poljubno nastavimo na osnovnem prikazu delovanja linije. Slika 2: Vizualizacija simulirane proizvodne linije. 137 5.2 Robna naprava Vse spremenljivke, potrebne za izračun kazalnikov OEE, se preko protokola ADS prenašajo v program na Raspberry Piju, napisan v jeziku Python. Tam se izvaja izračun kazalnikov in pošiljanje rezultatov v spletno aplikacijo za nadzor nad OEE v realnem času. Kazalnike bi se lahko izračunavalo tudi na samem PLK-ju, vendar je uporaba vmesne naprave, kot je Raspberry Pi, smiselna v primeru nadzora nad več napravami, saj s tem rezultate različnih strojev ustrezno kombiniramo in v oblak pošiljamo samo podatke, ki so potrebni za pregled sistema iz višjega nivoja. Z uporabo vmesne oz. robne naprave je merjenje OEE enostavneje vpeljati v obstoječe proizvodne procese brez posegov v programe na PLK-jih. Pri izračunu kazalnikov OEE smo si pomagali s spremljanjem časa, ko je bil stroj v posameznem stanju. V Pythonu smo napisali objekt časovnika in ustvarili instanco tega objekta za vsako stanje PackML. Merjenje časa v posameznem stanju se začne oz. konča v primeru spremembe spremenljivke PackTags.Status.StateCurrent. Vsi izračuni se hranijo v delovnem pomnilniku Raspberry Pi, dokler program teče. Tak pristop je primeren samo za testiranje, v produkciji pa bi bilo potrebno podatke shranjevati v podatkovno bazo. Slika 3: Poenostavljen diagram poteka programa. Ko poženemo program, se najprej vzpostavi povezava z napravo TwinCAT (slika 3). Če povezava ni uspešno vzpostavljena, program izpiše napako. Nato se ustvarijo instance časovnikov, ki omogočajo beleženje časa v posameznem stanju. Program takrat že začne beležiti stanje proizvodne linije in pridobivati potrebne podatke za izračun kazalnikov. V naslednjem koraku program vzpostavi povezavo z aplikacijo Azure IoT Central. Zatem vstopimo v asinhrono glavno funkcijo, ki je v grobem sestavljena iz dveh delov. Prvi je namenjen obdelavi in pošiljanju podatkov v oblak, drugi pa sprejemu in izvrševanju ukazov iz oblaka. Oba dela se istočasno izvajata v neskončni zanki. Funkcija za obdelavo in pošiljanje podatkov najprej kliče funkcijo za izračun OEE, ki pridobi podatke, izračuna kazalnike in pripravi datoteko JSON za prenos v oblak. Nato gre funkcija v asinhron spanec, ki ne blokira izvajanja ostalega dela programa. Po poteku določenega časa se proces ponovi. Sprejem ukazov je sestavljen iz asinhrone funkcije, ki ves čas čaka na ukaz iz aplikacije. Ob sprejemu novega ukaza ga razvrsti glede na ime in podatke v njem ter izvrši določeno akcijo. Zatem je potrebno poslati nazaj potrditev o sprejemu in obdelavi ukaza. 5.3 Spletna aplikacija V Microsoft Azure IoT Central smo ustvarili novo aplikacijo, kamor smo dodali našo robno napravo. Izračun podatkov se izvede glede na nastavljeno periodo (npr. vsako minuto), nato pa sledi prenos v spletno aplikacijo. Rezultati so prikazani v številski obliki (zadnja znana vrednost) in v obliki grafov, kjer lahko spremljamo zgodovino gibanja kazalnikov (slika 4). Za lažji nadzor smo v aplikaciji nastavili tudi barvno označevanje vrednosti, ki so manjše oz. večje od določene meje. Kazalnike smo sprva želeli prikazati v obliki kazalčnih instrumentov, vendar Azure IoT Central tega prikaza ne omogoča. Tudi sicer je nabor prikazov dokaj omejen, sploh v primerjavi z nekaterimi odprtokodnimi orodji za vizualizacijo podatkov (npr. spletno programsko orodje Grafana). ImplementiSlika 5: Prikaz ukazov v spletni aplikaciji. robne naprave. Za lažjo konfiguracijo nastavitev, bi bilo smiselno dodati uporabniški vmesnik, na katerem bi nastavljali parametre za povezavo med napravo in oblakom. Kar se tiče spletnih orodij Azure IoT, smo ugotovili, da so zaradi odličnih možnosti integracije primerna predvsem za uporabnike, ki že uporabljajo ostale Microsoftove storitve (npr. Power BI). Zaradi pomanjkanja fleksibilnosti pri izdelavi vizualizacije bi bilo zanimivo poskusiti z izdelavo podobne aplikacije, ki pa bi temeljila na odprtokodnih rešitvah (npr. kombinacija podatkovne baze InfluxDB in spletne aplikacije Grafana). Slika 4: Nadzorna plošča v spletni aplikaciji. Literatura rali smo tudi komunikacijo od oblaka proti robni napravi, s katero lahko v spletni aplikaciji nastavljamo parametre na Raspberry Piju ali vrednosti spremenljivk v programu PLK. Dodali smo možnost nastavljanja periode pošiljanja podatkov v aplikacijo in nastavljanje vrednosti spremenljivk za maksimalno hitrost stroja ter odstotek slabih izdelkov v simulaciji (slika 5). Vsakemu ukazu mora slediti odgovor, da operater ve, ali je naprava ukaz sprejela in ga ustrezno obdelala. Če odgovora ni, lahko operater hitro ukrepa in pošlje nekoga v pregled stanja na terenu. 6 Zaključek Ugotovili smo, da je obdelava podatkov na robu omrežja smiselna, sploh v primeru večjega števila povezanih naprav in velike količine podatkov. Uspešno smo izdelali aplikacijo, ki bi bila z nekaj dopolnitvami primerna tudi za vključitev v realne proizvodne procese. Tak primer izboljšave bi bila dodatna podatkovna baza na robu, ki bi premoščala težave ob morebitnih izpadih komunikacije med robno napravo in PLKjem ali pri nenadnem izklopu 138 [1] F. Al-Turjman, Edge Computing: From Hype to Reality. ZDA: Springer International Publishing, 2019. [2] Raspberry Pi. Dosegljivo: tps://sl.wikipedia.org/wiki/Raspberry Pi. 12. 7. 2021]. ht[Dostopano: [3] Ki-Young Jeong, D. T. Phillips, ”Operational efficiency and effectiveness measurement” v International Journal of Operations & Production Management, vol. 21. 2001, str. 1404-1416. [4] PackML. Dosegljivo: tps://en.wikipedia.org/wiki/PackML. 12.7.2021]. ht[Dostopano: [5] ”Machine and Unit States: An Implementation Example of ANSI/ISA-88.00.01”, ANSI/ISA, TR88.00.02, 2015. [6] ”Batch Control Part 1: Models and Terminology”, ANSI/ISA-88.00.01, 2010. [7] ”Programmable controllers - Part 3: Programming languages”, IEC 61131-3, 3., 2013. [8] J. Špeh, ”Spremljanje učinkovitosti proizvodnih procesov z obdelavo na robu omrežja”, diplomsko delo, Ljubljana, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2021. Optimizacijski problem generiranja časovno minimalne trajektorije z uporabo Bézierovih krivulj Martina Benko Loknar, Gregor Klančar, Sašo Blažič Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, SI-1000 Ljubljana, Slovenija E-mail: martina.loknar@fe.uni-lj.si Povzetek lege kontrolnih točk, tudi z uporabo metahevrističnih opČlanek obravnava problem časovno minimalnega plani- timizacijskih algoritmov (npr., genetski algoritmi, optiranja gladkih trajektorij za avtonomne mobilne sisteme. mizacija z roji delcev, ang. tabu-search, ang. firefly algoIzračunana gladka pot je definirana po delih in jo sestavl- rithm) [9][10]. Problem planiranja hitrosti na dani poti jajo Bézierove krivulje. Hitrostni profili na posameznih pa se ukvarja z generiranjem hitrostnega profila, ki je segmentih so časovno minimalni in imajo na spojih upo- na dani poti izvedljiv. Kot omenjajo avtorji v [11], se v rabljenih krivuljnih primitivov zvezno hitrost in pospešek. raziskavah pogosto predpostavi določeno obliko hitrostRešitev iščemo z izračunavanjem časa potovanja vzdolž nega profila (polinom, trapez ipd.). Članek obravnava problem generiranja časovno minsegmentov Bézierovih krivulj z nekaterimi prostimi paraimalnih trajektorij za kolesni mobilni sistem, ki se giba v metri. Pri tem uporabimo algoritem, ki vzdolž dane poti omejenem prostoru brez ovir. Dirkalno stezo smo razdelili generira časovno minimalen hitrostni profil z upoštevanjem na več posameznih odsekov in na vsakem določili Bézieromejitev hitrosti, pospeška in trzaja. ovo krivuljo, na kateri je bil čas vožnje najkrajši. Časovno minimalen hitrostni profil na posameznem krivuljnem prim1 Uvod itivu smo določili z algoritmom, ki upošteva omejitve Algoritmi planiranja poti imajo v mobilni robotiki izjemno hitrosti, radialnega in tangentnega pospeška in radialnega široko uporabo in generirajo geometrijsko pot od začetne in tangentnega trzaja. do končne točke prek vnaprej definiranih točk. Glavni cilj teh algoritmov je najti optimalno pot, ki (1) minimizira 2 Definicija problema razdaljo med začetno in končno točko, (2) se izogne oviram in (3) je (dovolj) gladka. [1]. Algoritmi planiranja Naj bo gibanje delca vzdolž trikrat zvezno odvedljive platrajektorij pa točkam geometrijske poti pripišejo še časovne narne krivulje C opisano kot funkcija časa t ∈ [0, tf ] s trenutke, ko bi naj jih mobilni sistem dosegel. Problem pozicijskim vektorjem r(t) z začetkom v danem fiksnem časovno minimalnega planiranja trajektorij ostaja aktualen izhodišču. Vektorje hitrosti v(t), pospeška a(t) in trzaja zaradi naraščajočih zahtev po optimalnem delovanju mo- j(t) lahko izrazimo v tangentno-normalni obliki kot: bilnih sistemov, robotov in avtomatiziranih strojev. v(t) = v(t) · T̂ (1a) Definiranje časovnih trenutkov vzdolž poti vpliva na kinematične in dinamične lastnosti gibanja mobilnega sisa(t) = aT (t) · T̂ + aR (t) · N̂ (1b) tema: sile in navori zavisijo od pospeška vzdolž trajekj(t) = jT (t) · T̂ + jR (t) · N̂, (1c) torije, medtem ko vibracije njegove mehanske strukture večinoma določajo vrednosti trzaja. Da bi zadostili kinepri čemer sta T̂ in N̂ enotski tangentni in enotski normatičnim omejitvam vozila, mora biti dobljena pot gladka; malni vektor. Kolesni mobilni sistem ima nalogo, da v biti mora izvedljiva pri visokih hitrostih in hkrati neškodljičim krajšem času prevozi dirkalno stezo v ravninskem va za mehanski sistem v smislu izogibanja vibracijam in prostoru brez ovir. Pri tem je njegovo gibanje dodatno prevelikim pospeškom aktuatorjev [2]. Mnogo raziskav omejeno z dinamičnimi omejitvami hitrosti, pospeška in se zato posveča omejitvam ali minimizaciji trzaja na dani trzaja: poti [3]. Planiranje trajektorije oziroma v splošnem planiranje gibanja mobilnih sistemov pa se pogosto razstavi 0 ≤ kv(t)k ≤ vMAX ; ∀t ∈ [0, tf ] , (2a) na dva ločena problema: problem planiranja poti in prob2 a2R (t) aT (t) lem planiranja hitrosti na tej dani poti [4]. Osnovni grad+ ≤ 1; ∀t ∈ [0, tf ] , (2b) 2 aTMAX a2RMAX niki gladkih poti so krivuljni primitivi, kot so na primer 2 polinomi, klotoide in Béziereve krivulje. Široka uporaba jT2 (t) jR (t) + ≤ 1; ∀t ∈ [0, tf ] . (2c) 2 2 Bézierevih krivulj, ki jih definirajo t.i. kontrolne točke, je jTMAX jRMAX posledica njihovih ugodnih lastnosti [5]–[8]. Izbor kontrolnih točk pomembno vpliva na lastnosti generirane kri- Naš cilj je razviti in implementirati algoritem za genervulje, zato so raziskave pogosto usmerjene v optimizacijo iranje trajektorije, ki zadosti vsem naštetim omejitvam. ERK'2021, Portorož, 139-142 139 Algoritem, ki vzdolž dane poti generira časovno minimalen hitrostni profil z omejitvami hitrosti, pospeška in trzaja, je sestavljen iz dveh korakov. V prvem koraku algoritma (podrobneje opisan v [12]) se upoštevajo omejitve hitrosti in pospeška. V drugem koraku algoritem modificira prvotni hitrostni profil tako, da so upoštevane tudi omejitve trzaja, pri čemer se postopek razlikuje glede na tip kršitve (točkaste ali intervalne kršitve trzaja). Na danem izvedljivem segmentu poti, ki je v našem primeru Bernstein-Bézierova krivulja, je optimizacijski problem najti hitrostni profil v(t), ki doseže konec krivulje v minimalnem času tako, da pri tem ni presežena nobena od omejitev. Eden od dosedanjih poskusov rešitve tega problema je opisan tudi v [13]. 3 3.1 Konstrukcija posamezne krivulje Bézierove krivulje, ki jih določa zelo veliko število kontrolnih točk, so numerično nestabilne, zato je pri planiranju poti zaželjeno konstruirati gladko pot, ki jo sestavlja več Bézierovih krivulj nizkega reda. Na spojih posameznih krivulj mora biti izpolnjen pogoj zvezne ukrivljenosti. Najmanjši red Bézierovih krivulj, ki zadosti tej zahtevi je n = 5. Bézierova krivulja petega reda r5 (λ) = T [x(λ), y(λ)] je definirana s šestimi kontrolnimi točkami Pi,5 = [xi , yi ], i ∈ {0, 1, . . . 5}: r5 (λ) = (1 − λ)5 P0,5 + 5λ(1 − λ)4 P1,5 + 10λ2 (1 − λ)3 P2,5 + 10λ3 (1 − λ)2 P3,5 + 5λ4 (1 − λ)P4,5 + λ5 P5,5 (9) Krivuljni primitivi Članek obravnava zgolj Bézierove krivulje petega reda, N -dimenzionalen Bernsteinov polinom n-tega reda, rn (λ) : zato bomo v nadaljevanju članka zaradi preglednosti pri sklicevanju na kontrolne točke izpuščali drugi indeks, ki [0, 1] → RN , je definiran kot: označuje red krivulj. Za učinkovito iskanje optimalne tran X jektorije je zelo pomemben način konstrukcije Bézierovih rn (λ) = Pi,n Bi,n (λ), λ ∈ [0, 1] (3) krivulj in izbor ustreznih optimizacijskih parametrov. Odi=0 vod ukrivljenosti določa vrednost radialnega trzaja (prvi pri čemer je λ normaliziran čas (0 ≤ λ ≤ 1), Pi,n ∈ RN člen v spodnjem izrazu): je i-ta kontrolna točka in Bi,n (λ) je baza Bernsteinovih     1 d v3 v3 polinomov, definirana kot: · T̂ + · N̂ (10) j(t) = v̈ −   κ2 v dt κ n i Bi,n (λ) = λ (1 − λ)n−i , (4) ki jo v P0 postavimo na 0 kot smiselno dodatno omejitev i  trzaja na spojih zlepkov. Koordinate posameznih kontrolza vse i ∈ {0, . . . , n}, pri čemer je ni binomski koefi- nih točk P označimo z (x , y ) za i ∈ {0, . . . , 5}. Za i ∈ i i i cient. Naj bo Pn = [P0,n , . . . , Pn,n ] ∈ RN ×(n+1) vek- {0, . . . , 4} pa označimo razdalje med zaporednimi kontor kontrolnih točk polinoma rn (λ). Bernsteinov poli- trolnimi točkami d(Pi , Pi+1 ) z di+1 in kote ^(di , y = 0) nom v enačbi (3) lahko tedaj zapišemo v matrični obliki: s ϕi (slika 1). Velja:   B0,n (λ) xi+1 − xi = di+1 cos ϕi+1 (11a)  B1,n (λ)   (5) rn (λ) = Pn  y − y = d sin ϕ (11b) i+1 i i+1 i+1  ...  Bn,n (λ) Izraza 11a-11b ovrednotimo za i ∈ {0, 1}, uporabimo Kadar se Bernsteinovi polinomi uporabljajo za opis pla- adicijske izreke in dobimo naslednji izraz za ukrivljenost narnih in prostorskih krivulj, se jih pogosto imenuje tudi κ0 v P0 : Bézierove krivulje. Zaradi ugodnih geometrijskih last4 d2 lim κ(λ) = κ0 = sin(ϕ2 − ϕ1 ) nosti in numerične stabilnosti se Bézierove krivulje pogosto λ→0 5 d21 uporabljajo pri načrtovanju poti mobilnih sistemov [5]. 0 Prva in zadnja točka Bernsteinovega polinoma iz enačbe in za odvod ukrivljenosti κ0 v P0 : (3) sta tudi njuni končni točki: dκ 12 1 = d3 sin(ϕ3 − ϕ1 )+ lim λ→0 dλ 5 d21 rn (0) = P0,n and rn (1) = Pn,n . (6)   d2 Poleg tega N -dimenzionalen Bernsteinov polinom n-tega + κ0 −12 cos(ϕ2 − ϕ1 ) + 6 d1 reda leži notraj konveksne ogrinjače, ki jo definira P . (12) (13) n Začetek in konec Bézierove krivulje je tudi tangenten na prvi in zadnji odsek konveksnega poligona: drn dλ drn dλ = n(P1,n − P0,n ) (7) = n(Pn,n − Pn−1,n ) (8) λ=0 Če drugi člen v izrazu (13) postavimo na 0, potem: d2 1 = d1 2 cos(ϕ2 − ϕ1 ) (14) Ukrivljenost in njen odvod v P0 sta tedaj: 4 tan(ϕ2 − ϕ1 ) 10 d1 12 d sin(ϕ 3 3 − ϕ1 ) κ00 = 2 5 d1 κ0 = (15a) Preostale lastnosti Bernsteinovih polinomov (odvodi, računanje določenih integralov, de Casteljaujev algoritem, višanje (15b) stopnje polinomov ipd.) ne spadajo v vsebinskega okvir tega članka; za zainteresiranega bralca je več detajlov na Konstrukcija posamezne Bézierove krivulje tako poteka voljo v [5]. v naslednjih korakih (slika 1): λ=1 140 1. Začrtamo prvo kontrolno točko in jo označimo z P0 . V smeri ϕ1 odmerimo dolžino d1 in označimo drugo točko z P1 . || 2. V smeri ϕ1 nato odmerimo dolžino d2 , ki sledi iz izraza (14): || d2 = d2 cos(ϕ2 − ϕ1 ) = 12 d1 (16) 3. V pravokotni smeri nato odmerimo razdaljo d⊥ 2, (izraz 12): 5 2 d⊥ 2 = 4 d1 κ0 (17) in tretjo kontrolno točko označimo s P2 . 4. Vse točke, ki so od P2 v isti smeri (pravokotno na daljico P0 P1 ) oddaljene za d⊥ 3 (izraz 13), označimo s črtkano črto: d⊥ 3 = 5 2 0 12 d1 κ0 Shema na sliki (2) opisuje splošno delovanje predstavljenega algoritma za generiranje trajektorij. Dirkalna steza je sestavljena iz m segmentov in j je trenutno zaporedno število segmenta, na katerem se izvaja računanje: j ∈ {1, 2, . . . m}. Uporabljena nelinearna optimizacijska metoda je funkcija fmincon programskega okolja M ATLAB, gradientna metoda, ki v vsaki iteraciji spremeni proste parametre krivulje tako, da se vrednost kriterijske funkcije (čas potovanja vzdolž krivulje) postopno zmanjšuje in naposled doseže minimum. Čas potovanja tT vzdolž krivulje se izračuna z uporabo algoritma, ki generira časovno minimalen hitrostni profil. Pri tem je potrebno paziti, da so hitrosti in pospeški na spojih zlepkov zvezni. Postopek se ponavlja na vsakem segmentu, dokler ni določena celotna trajektorija vzdolž dirkalne steze. začetek Type equation here. vhodni podatki: omejitve poti, dinamične omejitve (18) 𝑗= 1 5. Začrtamo zadnjo kontrolno točko in jo označimo s P5 . V smeri kota ϕ5 odmerimo dolžino d5 in peto kontrolno točko označimo s P4 . 𝑗 =𝑗+1 fmincon spremeni: 𝑑1 , 𝑑5 / 𝑑1 , 𝑑5 , (𝑥5 , 𝑦5 ), 𝜑5 , 𝜅5 d⊥ 4 6. Vse točke, ki so od P4 oddaljene za (izrazi 11a-11b, 12 za i = 4) pravokotno glede na daljico P4 P5 , označimo s črtkano črto: 5 2 d⊥ 4 = 4 d5 κ5 Bézierova krivulja s fiksnimi parametri: (𝑥1 , 𝑦1 ), 𝜑1 , 𝜅1 , 𝜅1′ časovno minimalen hitrostni profil (zveznost: 𝑣(𝑡), 𝑎(𝑡)) ⇒ 𝑡𝑇 NE (19) 𝑡𝑇 = 𝑡𝑀𝐼𝑁 ? DAS 7. Četrta kontrolna točka P3 leži na presečišču obeh črtkanih črt. Bézierova krivulja je sedaj popolnoma definirana. Rešitev na 𝑗-tem segmentu: NES ▪ 𝑃𝑖 za Bézierovo krivuljo ▪ čas. min. hitrostni profil 𝑗 = 𝑚? DAS konec Slika 2: Konstrukcija Bézierove krivulje. Slika 1: Konstrukcija Bézierove krivulje. 3.2 Generiranje celotne trajektorije Kolesni mobilni sistem se po ravni podlagi lahko giba po dirkalni stezi – omejenem prostoru brez ovir. Da bi povečali učinkovitost optimizacije, dirkalno stezo razdelimo na posamezne odseke, na katerih iščemo optimalne trajektorije. Problem je zastavljen tako, da je na posameznem odseku steze vnaprej znan položaj (x1 , y1 ) prve kontrolne točke Béziereve krivulje, kot ϕ1 , ter vrednosti ukrivljenosti κ0 in odvoda ukrivljenosti κ00 v P0 . 141 Algoritem za generiranje časovno minimalne trajektorije T je bil izveden v dveh različicah. V prvi različici z rešitvijo T2 sta prosta parametra le dva, razdalji d1 in d5 , začetni približek optimizacije pa je čas potovanja vzdolž hevristično določene Bézierove krivulje. V drugi različici z rešitvijo T5,II ), pa je prostih parametrov pet: razdalji d1 , d5 , (x5 , y5 ), kot ϕ5 in κ5 . Začetni približek optimizacije (T5,I ) pa je rešitev optimizacijskega problema na istem odseku z dvema prostima parametroma. 4 Rezultati simulacij in komentarji Simulacije smo izvedli v programskem okolju M ATLAB. Na dani dirkalni stezi, razdeljeni na 6 odsekov, smo z gradientno metodo izračunali časovno minimalno trajektorijo za kolesni mobilni sistem z naslednjimi dinamičnimi omejitvami: vMAX = 1.5 m/s, aTMAX = 2 m/s2 , aRMAX = 4 m/s2 , jTMAX = 6 m/s3 and jRMAX = 8 m/s3 . Slika (3) prikazuje dano 6-segmentno dirkalno stezo in časovno minimalne trajektorije (debele črte). Vmesni rezultati iteracij so prikazani s tankimi črtami. Zahvala Članek je nastal s finančno podporo Agencije Republike Slovenije za raziskovalno dejavnost (št. P2-0219). Literatura [1] A. Tharwat, M. Elhoseny, A. E. Hassanien, T. Gabel, and A. Kumar, “Intelligent Bézier curve-based path planning model using Chaotic Particle Swarm Optimization algorithm,” Cluster Computing, vol. 22, pp. 4745–4766, 2019. [2] A. Gasparetta, P. Boscario, A. Lanzutti, and R. Vidoni, Motion and Operation Planning of Robotic Systems, vol. 29 of Mechanisms and Machine Science. Cham: Springer International Publishing, 2015. [3] D. González, J. Pérez, V. Milanés, and F. Nashashibi, “A Review of Motion Planning Techniques for Automated Vehicles,” IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 4, pp. 1135–1145, 2016. Slika 3: Iskanje časovno minimalnih trajektorij T2 (zgoraj) in T5,II (spodaj). [4] X. Qian, F. Altché, P. Bender, C. Stiller, and A. De La Fortelle, “Optimal trajectory planning for autonomous driving integrating logical constraints: An MIQP perspective,” IEEE Conference on Intelligent Transportation Systems, Proceedings, ITSC, pp. 205–210, 2016. [5] C. Kielas-Jensen and V. Cichella, “BeBOT: Bernstein Tabela (1) prikazuje čase potovanja ti [s] na posameznih Polynomial Toolkit for Trajectory Generation,” IEEE Inodsekih dirkalne steze. Trenutni delni rezultati naše štuternational Conference on Intelligent Robots and Systems, dije so pokazali, da naj bi bil čas potovanja najkrajši v no. 3, pp. 3288–3293, 2019. primeru optimizacije le dveh prostih parametrov, ki določata [6] L. Zheng, P. Zeng, W. Yang, Y. Li, and Z. Zhan, “Bézier Bézierove krivulje. Poleg tega, da nastavitev možnosti curve-based trajectory planning for autonomous vehicles optimizacije v funkciji fmincon zahteva veliko izkušenj, with collision avoidance,” IET Intelligent Transport Syspa nekonsistentnost rezultatov lahko kaže na nezveznost tems, vol. 14, no. 13, pp. 1882–1891, 2020. kriterijske funkcije, kar je veliko bolj kompleksen, a ne [7] R. Cimurs, J. Hwang, and I. H. Suh, “Bezier curve-based nerešljiv problem. smoothing for path planner with curvature constraint,” t1 T2 t2 t3 t4 t5 t6 P6 i=1 ti [8] H. Li, Y. Luo, and J. Wu, “Collision-free path planning for intelligent vehicles based on bézier curve,” IEEE Access, vol. 7, pp. 123334–123340, 2019. 1,97 0,62 2,73 2,34 0,93 0,47 9,06 T5,I 1,97 0,59 2,81 2,34 0,98 0,54 9,23 T5,II 1,91 0,57 2,78 2,29 0,98 0,54 9,07 Tabela 1: ti in celoten čas potovanja 5 P6 i=1 ti Proceedings - 2017 1st IEEE International Conference on Robotic Computing, IRC 2017, pp. 241–248, 2017. [9] G. Kamaras, P. Stamatopoulos, and S. Konstantopoulos, “Path planning for terrain of steep incline using Bezier curves,” Proceedings - International Conference on Tools with Artificial Intelligence, ICTAI, vol. 2020Novem, pp. 101–105, 2020. za T . Zaključek Članek predstavi delovanje algoritma za planiranje časovno minimalnih trajektorij v okolju brez ovir. Temelji na uporabi Bézierovih krivulj in upošteva prostorske (gibanje po dirkalni stezi v ravnini) in dinamične omejitve (hitrosti, pospeška in trzaja). Kljub nekaterim omejitvam predstavljene metode verjamemo, da bodo rezultati te študije lahko osnova za naše raziskovanje v prihodnosti. V prihodnje se bomo najprej usmerili v razvoj in validacijo algoritma za generiranje časovno minimalnih trajektorij s hkratnim upoštevanjem poteka dirkalne steze na naslednjih odsekih (analogija s strategijo pomičnega horizonta, v ang. receding horizon strategy) in natančnejšo analizo učinkovitosti algoritma (računskih časov). Morda bi se kot ugoden način reševanja izkazala tudi uporaba Bézerovih krivulj višjega reda. 142 [10] B. Li, L. Liu, Q. Zhang, D. Lv, Y. Zhang, J. Zhang, and X. Shi, “Path planning based on firefly algorithm and Bezier curve,” 2014 IEEE International Conference on Information and Automation, ICIA 2014, no. July, pp. 630– 633, 2014. [11] X. Qian, I. Navarro, A. de La Fortelle, and F. Moutarde, “Motion planning for urban autonomous driving using Bézier curves and MPC,” in 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), vol. 2030, pp. 826–833, IEEE, nov 2016. [12] G. Klančar, A. Zdešar, S. Blažič, and I. Škrjanc, Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systems. 2017. [13] M. Loknar, G. Klančar, and S. Blažič, “Trajectory Planning By Applying Optimal Velocity Profile Algorithm on Bernstein-Bézier Motion Primitives,” 29. Mednarodna Elektrotehniška in računalniška konferenca, pp. 144–147, 2020. Platooning Modelling, Simulation, Visualization and Control, Part I. Mikuláš Huba, Peter Ťapák, Pavol Bisták, Igor Bélai and Katarı́na Žáková Faculty of Electrical Engineering and Information Technology Slovak University of Technology Bratislava, Slovakia mikulas.huba@stuba.sk, peter.tapak@stuba.sk, pavol.bistak@stuba.sk igor.belai@stuba.sk, katarina.zakova@stuba.sk Abstract—The first part of the paper decomposed into two contributions deals with introduction to the platooning project and to one of its experiments using for platoon simulation 1:10 size RC car models. The experiment has been developed to support deeper understanding of basic problems related to platoon formation and control and testing of the necessary algorithms and approaches. In transportation, platoon denotes a group of vehicles that are driven and moving together as a train. Platoons maintain the distances between cars or trucks using electronic couplings. Due to car-to-car communication and operational speed exceeding capacities of human driving, by eliminating reacting distance needed for human reaction this system allows for a closer headway between vehicles. Such a capability would allow many cars or trucks to accelerate or brake simultaneously and thus to significantly increase the highway capacity and safety of transportation, while decreasing fuel consumption and air pollution. The first experiment focuses on problems related to achieving the position of the cars. Experience of the first tested method relates to obtaining the required information by Ultrasonic indoor positioning system. The second tested possibility will be based on UWB positioning system. Index Terms—Platoon, modeling, simulation, vizualization I. I NTRODUCTION For thousands of year, traffic congestion is causing serious problems in many metropolitan areas around the world. It may be considered a result of for decades neglected road planning, frequently indicating high degree of corruption in the society, and leads to serious economic, health, safety and politic impacts. Traditional measures for elimination of traffic congestion include: • • • excluding wheeled traffic from city centers (applied during the daytime in Rome in the 1st century by Caesar), limiting the total number of cars entering city center (applied in Rome in the 1st century by Hadrian), separating wheeled and pedestrian traffic (introduced around 1500 by Leonardo ). Besides of numerous modifications and combinations of above measures (including e.g. separated bus and taxi lanes, or increased highway fees for cars with only one passenger), This work has been partially supported by the Slovak Grant Agency VEGA project 1/0745/19 and APVV project SK-IL-RD-18-0008 Platoon modeling and control for mixed autonomous and conventional vehicles: a laboratory experimental analysis. ERK'2021, Portorož, 143-146 143 today’s solutions may be enhanced by using real time data achieved by different sensors, or signals from GPSs. Modern, principally new solutions based on autonomous cars make it possible to increase flow rates by automatic control. In such a way, significant flow increase from 2,000 vehicles per hour per lane to as many as 10,000 to 20,000 may be achieved (see e.g.https://www.britannica.com/technology/ traffic-control/Road-traffic-control). Thus, besides of the reductions in congestion, improvements in road safety and in air pollution, also a decreased fuel consumption may be achieved. For a typical platoon, the first vehicle (master) leads the colony of slaves. All vehicles contain adaptive cruise controller, trajectory following controller (including the edges detection, GPS system etc.) and implement the vehicle-tovehicle (V2V) communications. The main task of the first vehicle is to define the overall speed of the platoon. Its control should be nearly time optimal, however, sufficiently safe and robust and to respect limits of the slowest vehicle in the platoon. Following vehicles maintain the constant distance from the previous one even during the speed changes of the master. Vehicles utilize the fusion of the information from multiple sensors (radar, lidar, camera,...) and share the information between vehicles. For the platooning research, education and training it is important to have a corresponding experimentation base which would enable testing of different control algorithms, control structures and approaches. This may be partially enabled by numerical simulation. But, in order to investigate also the modelling issues, which are of the primary importance in looking for the simplest but still sufficiently detailed simulation model, a high attention has to be paid to simulators with a quasiauthentic dynamics. These may be proposed as cyber-physical hardware-in-the-loop systems enabling to emulate properties of the considered vehicle trains interactions without high investment into the test tracks and vehicles, just based on the physical analogies requiring much lower implementation costs, thereby safe and working with chosen time scales. Therefore, we have designed a project which focuses on implementation of the algorithms for trajectory following and the platoon adaptive cruise control on the embedded systems level with the hardware-in-the-loop concept. For a successful platooning, one may expect a lot of standardization leading to formation of homogeneous platoons (“fast” and“slow trains”) and also an appropriate diagnostic signalizing that a particular car is no more able to continue reliably as a platoon member. Similarly, based on the physical analogies, also the developed controlled platooning experiments enable to explore the platoon formation and control in a laboratory environment safely and without high investment costs. The indoor positioning system (IPS) based control allows to stress another features of the platoon control environment, which may be useful also in education and training, as well as for motivation of younger students to enter the university. In a similar way, the newly developed platoon control design toolbox may be thoroughly tested in a quasi-authentic framework. A. Platoon modeling and control project The project “Platoon modeling and control for mixed autonomous and conventional vehicles: a laboratory experimental analysis” aims to develop a complex approach to the platooning control design chain starting with exploring basic problems of the platoon modeling, the vehicle localization, inter-vehicle communication delays, control design, platoon formation and reconfiguration aspects, or internal diagnostics, up to experimental verification of proposed solutions by appropriate scaled physical models. The project consortium consisting of teams of the Slovak University of Technology in Bratislava, Slovakia and of the Technion, Haifa, Israel. It profits from the possibility of mastering, comparing and evaluating broader spectrum of different approaches, which may result in a synergy due to unique experiences of both participating partners. B. Project timeliness The project outcomes should contribute to increased traffic capacity of highways, to increased safety of moving vehicles and, by decreasing the fuel consumption, to decreased transport costs and to decreased air pollution (less CO2 emissions). The project matches the Call priority Communication systems smart cars, space research, navigation systems. The problem of automatic platooning of vehicles, when the cars, trucks, or buses are formed into trains, hold together by “virtual” forces produced by the automatic control and keeping chosen inter-vehicle spacing, has been investigated extensively in recent years. An overview of the relevant research and approaches used may be found e.g. in [1]–[4]. The positive platooning aspects strongly increase by decreasing the distance among vehicles. Thus, its success is conditioned by several aspects which determine the achievable positioning performance, as a more precise and faster vehicle localization and inter-vehicle spacing measurement, improved coordination of the platoon vehicles via communication (to eliminate the measurement imperfections and delays), or reduction of the time necessary for calculation of the nearly time optimal and simultaneously sufficiently robust and reliable control signal. Whereas in majority of 144 process control applications the control robustness represents the main control objective, in the platooning control it has to be achieved together with the nearly minimum time platoon performance. Thus, it requires a higher level of the trade-off between robustness and speed of the control, which leads to re-examining the whole issue and looking for the optimal and reliable solutions that meet the criteria [5]–[14]. C. Aims and objectives The project aims to develop, construct and pilot in a cooperation with the Israeli partner: • platoon simulator, • controlled platoon experiment, • visualization simulator module, • remote access simulator module, • and the platoon control design toolbox enabling to use them in designing and verifying different concepts and method to the optimal platoon control. These will be shared by the partners (thereby unifying their endeavour) and kept open to other interested researchers and education institutions. The massive experimenting should generate rich experience both for the control designers as well as for the standardization procedures which will inevitably proceed introduction of the platooning into practice. It will also enable a rigorous piloting of the developed platoon control design toolbox. D. Innovative features The project originality is based on developing a platoon simulator and a controlled vehicle platoon experiment with possibility to deal with the platoon formation and control in a broadly variable, but at the same time safe laboratory environment, appropriate for a regular education and research, and in extending the simulator by a remote approach module to diverse users’ groups. These enable to experiment with numerous control approaches and different control scenarios (centrally controlled, distributed, or hybrid platooning, different car and road properties and profiles) and so to pilot the developed platoon control design toolbox. According to our best knowledge, such a simulator is up to now not known. Similarly, also the platoon control design toolbox containing a broad spectrum of different control algorithms represents a novel contribution. The new platoon experiment with adjustable dynamical properties enables emulation of a broader class of real vehicles1 . The simulator enables experimenting in a safety environment with a high authenticity degree. The exploitation scenario may start with single car control offering 10 independent experiments for constrained vehicle control. When combining these basic building blocks (corresponding to single vehicles) into 2 trains, each with 5 platoon members, or into 3 trains with 3+3+4 vehicle platoons, one may deal with problems of platoons’ interaction. 1 The diversity is also achieved by combining equipment from two different producers - Siemens and B&R. The remote access module opens the simulator experiments to 24/7 use by both project partners and by a wider user’s community and enables its broad use in education and training. They could enhance testing of different control algorithms and approaches and thus possibly to stimulate design of new up to now not known solutions and generate experience important for standardization and implementation in the given area. From the point of view of economic benefits, construction and operation of the simulator and of the controlled platoon experiment are much lower than investment required for an experimental ring, not to mention the security issues and broad accessibility by different target groups. E. Target users’groups Similarly as in other situations requiring massive experimenting with a costly equipment and strong safety requirements (as e.g. the nuclear power plants control) , we propose to open the developed products to use by different users’ groups. These may range from the secondary school students and teachers (for demonstrating importance of automatic control and for motivating the young generation for university studies), through possible use in training of drivers, up to the higher education students and research workers. F. Time schedule of planned activities From the initial project phase the project focuses on review of the existing references to the platooning problem and on collecting data corresponding to transients of a broad spectrum of possible vehicles, together with developing simulation models of the vehicle platoons which should be emulated by the simulator and controlled platoon experiment. These are later used in evaluation of the developed cyber-physical devices and for building databases of possible controllers and references to different aspects of the platooning control. The second phase has been dominated by the equipment and material purchase, by evaluation of the current state of the platooning control and by introductory work dealing with visualization of the simulator and video-controlled experiment models implemented in Matlab/Simulink (partially solved in a BSc. and PhD. projects). Now, the implementation entered into the 3rd project phase devoted to construction of the simulator and of the controlled platoon experiment. A progress in construction already enables initial piloting of the platoon control design toolbox and of the pre-developed remote access module. It will continue with testing the developed outputs by students of the Institute of the Automotive Mechatronics in Bratislava, as well as by other interested users (secondary school students). In the fourth phase the focus will be put on massive experimenting with the developed equipment. This should be used both for finishing the pilot development of the new devices, their evaluation and collecting experience related to the platooning problem that will be shared both with the research and transport community (journal and international conference publications, dissemination lectures) and with the actors responsible for traffic control and standardization in 145 this area. In doing so, we will firstly assume all the sensory information to be in required quality and without time delays. In the second stage we will consider delays and worsening of the information quality. In the third stage we will consider also completely missing information, its reconstruction and later reconstruction of the proper system functionality for the single vehicle and for the whole platoon. Each vehicle has to generate, send/receive warnings and error states and to react properly on them. II. C ONTROLLED PLATOON EXPERIMENT A. Scaled car models It is not a unique idea to use RC car in traffic or car dynamics modelling. Several papers can be found on this topic such as [15], [16], [17]. We use scaled RC car model of size 1:10 for platoon modelling. We have modified several of them to be controlled by micro-controller. Model in Fig.1 is equipped with STM32 based micro controller and mobile beacons of an ultrasonic indoor positioning system. It reads the signals from original remote controller, which can be used to get manual control over the car at any time and increases safety of the system. To obtain the car position we use ultrasonic indoor positioning systems (IPS) prodeuced by https://marvelmind.com/. It has precision at +-2cm. The position update frequency is at 16Hz. The sensors placed on the car has built in IMU which helps to calculate position at 100Hz. The disadvantage is that the position update frequency decreases with the number of cars. The advantage is that the positioning system can be used to send messages/commands to car via IPS GUI. The Dashboard application in activates stationary beacons which are distributed in the room. The mobile beacons located on the vehicle are switched on and activated in the application. First, a map is created from stationary beacons, then mobile beacons can be added. If green and blue dots with the numbers of individual beacons are visible, it means that the system is ready and it sends the pre configured data to micro controller via serial communication The requested way points are sent via one of the mobile beacons. Inserting way points is done via the Dasboard app which comes with the IPS. Fig. 1. RC model with microcontroller with IPS beacons TABLE I T RACK WAY POINTS DISTANCES - Xr , Yr : WAY POINT POSITION , X, Y CLOSEST POSITION OF THE VEHICLE TO THE WAYPOINT, δ: CLOSEST DISTANCE OF THE VEHICLE TO THE WAYPOINT No. 1 2 3 4 5 6 7 8 9 Xr [mm] 3500 1490 500 2000 3350 1730 790 2350 3770 Yr [mm] 5640 6800 8620 9710 8010 6570 4250 3450 5220 X [mm] 3564 1474 607 2059 3423 1993 822 2390 3775 Y [mm] 5524 6696 8454 9716 7899 6431 4229 3136 5464 δ[mm] 10 20 90 60 40 20 40 150 250 III. C ONCLUSIONS The built platooning experiment establishes a basis for a massive experimental evaluation of numerous test tasks important for platoon control. After a long pause, when the pandemic prevented team access to the laboratories and after finishing with numerous tasks of the examining period, our research teams has started with carrying out the experiment. We hope to present its results in more detail in the final version of the article. R EFERENCES The track in Fig.2 contains 9 navigation points. The parameters of the controller were set as follows: KP = 1.5, KD = 0.8 , saturation of the control signal was implemented as well as the reduction of the distance at which the navigation switches to the next point. The created map has the shape of number eight to check the rotation of the car in all angles. If the vehicle manages such a track without any problems, we can consider the vehicle control algorithm to work properly. Tab. I shows the distances achieved from desired way points. The vehicle was able to reach the way points at a distance from 10 mm to 250 mm. The vehicle was able to track points without any steering error, but sometimes the IPS provided wrong position. Therefore, track no. 2 had to be repeated several times. Fig. 2. Test track The experiments have shown, the ultrasonic IPS was suitable to be used to control one vehicle, however, it is not suitable to be form localization of multiple vehicles due to the low sampling rate. Therefore, the experiment is being to be extended by a UWB localization and by lidar. 146 [1] A. Tuchner and J. Haddad, “Vehicle platoon formation using interpolating control: A laboratory experimental analysis,” Transportation Research Part C: Emerging Technologies, vol. 84, pp. 21 – 47, 2017. [2] A. Duret, M. Wang, and A. Ladino, “A hierarchical approach for splitting truck platoons near network discontinuities,” Transportation Research Part B: Methodological, 2019. [3] X. Sun and Y. Yin, “Behaviorally stable vehicle platooning for energy savings,” Transportation Research Part C: Emerging Technologies, vol. 99, pp. 37 – 52, 2019. [4] M. Wang, S. van Maarseveen, R. Happee, O. Tool, and B. van Arem, “Benefits and risks of truck platooning on freeway operations near entrance ramp,” Transportation Research Record, vol. 2673, no. 8, pp. 588–602, 2019. [5] M. Huba, “Constrained pole assignment control,” in Current Trends in Nonlinear Systems and Control, C. T. A. L. Menini, L. Zaccarian, Ed. Birkhäuser, Boston, 2006, pp. 163–183. [6] ——, “Constrained filtered PID Controller for IPDT plants ,” in 27th Mediterranean Conference on Control and Automation (MED), Akko, Israel, 2019. [7] ——, “Filtered PIDA Controller for the Double Integrator Plus Dead Time ,” in 16th IFAC Int. Conference on Programmable Devices and Embedded Systems, High Tatras, Slovakia, 2019. [8] M. Huba, P. Bisták, D. Vrančić, and K. Zakova, “Asymmetries in the disturbance compensation methods for the stable and unstable first order plants,” Symmetry, vol. 2020, 12, 1595, 09 2020. [9] M. Huba, D. Vrančić, and P. Bisták, “Pid control with higher order derivative degrees for ipdt plant models,” IEEE Access, vol. 9, pp. 2478– 2495, 2021. [10] M. Huba, P. M. Oliveira, P. Bisták, and D. Vrančić, “A set of active disturbance rejection controllers based on integrator plus dead-time models,” Applied Sciences, vol. 2021, p. 1671, 02 2021. [11] M. Huba and D. Vrančić, “Extending the model-based controller design to higher-order plant models and measurement noise,” Symmetry, vol. 2021, p. 798, 05 2021. [12] ——, “Delay Equivalences in Tuning PID Control for the Double Integrator Plus Dead-Time,” Mathematics, vol. 9,4, p. 328, 2 2021. [13] M. Huba, P. Bisták, and D. Vrančić, “2DOF IMC and Smith-PredictorBased Control for Stabilised Unstable First Order Time Delayed Plants,” Mathematics, vol. 9, p. 1064, 5 2021. [14] D. Vrančić and M. Huba, “High-Order Filtered PID Controller Tuning Based on Magnitude Optimum,” Mathematics, vol. 9, p. 1340, 9 2021. [15] M. Corno, A. Lucchetti, I. Boniolo, and S. M. Savaresi, “Coordinated lateral and longitudinal vehicle dynamics control of a scale rc vehicle,” in 2015 American Control Conference (ACC), July 2015, pp. 1433–1438. [16] S. N. Brennan, “Modeling and control issues associated with scaled vehicles,” Master’s thesis, University of Illinois at urbana-Champaign Urbana, Ill., USA, 1999. [17] D. I. Katzourakis, I. Papaefstathiou, and M. G. Lagoudakis, “An opensource scaled automobile platform for fault-tolerant electronic stability control,” IEEE Transactions on Instrumentation and Measurement, vol. 59, no. 9, pp. 2303–2314, Sep. 2010. Platooning Modelling, Simulation, Visualization and Control, Part II. Mikuláš Huba, Peter Ťapák, Pavol Bisták, Igor Bélai and Katarı́na Žáková Faculty of Electrical Engineering and Information Technology Slovak University of Technology Bratislava, Slovakia mikulas.huba@stuba.sk, peter.tapak@stuba.sk, pavol.bistak@stuba.sk igor.belai@stuba.sk, katarina.zakova@stuba.sk Abstract—The second part of the paper decomposed into two parts deals with an analogous platoon simulator, visualization simulator module, remote access simulator module, and the platoon control design toolbox. Index Terms—Platoon, modeling, simulation, vizualization I. I NTRODUCTION The basic problem of experimenting with motion control of autonomous vehicles is the acquisition of information about the position of the vehicle and the need for a special test track that meets the nature of the necessary experiments and safety requirements. In addition, other aspects are important, such as weather conditions, geographical accessibility, the need for maintenance, the need for availability planning, financial rental costs, etc. In research and education, we often need to move from simpler to more complex problems. From the point of view of motion control, the simplest problem is to move in a straight line. If we realize such a movement along the rails, which firmly determine the direction of movement, the localization of the vehicle will also be simplified. Given the fixed parameters of the drive axle and the neglect of possible slipping of the wheels, it is then sufficient to observe the angle of the motor shaft, and we can already carry out such an experiment with the motor built on a table in the laboratory. We can thus avoid a number of the above-mentioned problems associated with the implementation of vehicle motion experiments. The possibility of such simplifications was the main motive for creating a hybrid simulator for the needs of the project “Platoon modeling and control for mixed autonomous and conventional vehicles: a laboratory experimental analysis”. This aims to develop a complex approach to the platooning control design chain starting with exploring basic problems of the platoon modeling, the vehicle localization, inter-vehicle communication delays, control design, platoon formation and reconfiguration aspects, or internal diagnostics, up to experimental verification of proposed solutions by appropriate scaled physical models. This work has been partially supported by the Slovak Grant Agency VEGA project 1/0745/19 and APVV project SK-IL-RD-18-0008 Platoon modeling and control for mixed autonomous and conventional vehicles: a laboratory experimental analysis. ERK'2021, Portorož, 147-150 147 This part of the paper describes aims, objectives and the results of the project sub-modules focused on • platoon simulator, • visualization simulator module, • remote access simulator module, • and the platoon control design toolbox A. Innovative features The project originality is based on developing a platoon simulator and a controlled vehicle platoon experiment with possibility to deal with the platoon formation and control in a broadly variable, but at the same time safe laboratory environment, appropriate for a regular education and research, and in extending the simulator by a remote approach module to diverse users’ groups. These enable to experiment with numerous control approaches and different control scenarios (centrally controlled, distributed, or hybrid platooning, different car and road properties and profiles) and so to pilot the developed platoon control design toolbox. According to our best knowledge, such a simulator is up to now not known. Similarly, also the platoon control design toolbox containing a broad spectrum of different control algorithms represents a novel contribution. The new platoon experiment with adjustable dynamical properties enables emulation of a broader class of real vehicles1 . The simulator enables experimenting in a safety environment with a high authenticity degree. The exploitation scenario may start with single car control offering 10 independent experiments for constrained vehicle control. When combining these basic building blocks (corresponding to single vehicles) into 2 trains, each with 5 platoon members, or into 3 trains with 3+3+4 vehicle platoons, one may deal with problems of platoons’ interaction. The remote access module opens the simulator experiments to 24/7 use by both project partners and by a wider user’s community and enables its broad use in education and training. They could enhance testing of different control algorithms and approaches and thus possibly to stimulate design of new up to now not known solutions and generate experience important for standardization and implementation in the given area. 1 The diversity is also achieved by combining equipment from two different producers - Siemens and B&R. From the point of view of economic benefits, construction and operation of the simulator and of the controlled platoon experiment are much lower than investment required for an experimental ring, not to mention the security issues and broad accessibility by different target groups. II. P LATOON SIMULATOR To verify the properties of platoon control algorithms, a workplace with semi-physical models of vehicles is being constructed, in which the vehicles are intended to be represented by pairs of electric drives. An arrangement of the components of a single vehicle model is shown in Fig. 1. The model has been introduced in [1]. Fig. 1. The drive arrangement for a semi-physical model of one vehicle Each pair of drives represents one vehicle, with one drive representing the vehicle drive, and the other drive generating a load torque. The load torque expresses mechanical resistances, such as air resistance, rolling resistance, and the road inclination. In addition, the load torque generating drive is also used to emulate the moment of inertia. In such a way, a vehicle platoon model has been constructed which consists of several vehicle models according to Fig. 2. The inputs to the vehicle models may be generated by the central algorithm of the platoon control, which also processes the outputs of the vehicle models. The semi-physical vehicle models receives commands from the control algorithm of the platoon and send back the values of the vehicle motion parameters. The control algorithm of the platoon runs on the programmable logic controller (PLC). The same PLC runs the drive control algorithms of the vehicle models. The state values of the platoon may be visualized on a personal computer, which communicates with the PLC via OPC UA. The interconnection of the components of the platoon model is shown in Fig. 2. As to the above-mentioned structure of the platoon, the vehicle model with emulation of moment of inertia and the acceleration control have been designed, yet. These have been software implemented and verified on a SIMATIC Open Controller PLC with simulated drives. The results of the acceleration control loop implemented in this way were published in [2]. The model of a vehicle and control algorithms are created in Simulink and then loaded into PLC memory. This way of creating a PLC program is possible thanks to the Target 148 Fig. 2. Platoon model structure 1500S program module by Mathworks. The parameters of a truck were used in the vehicle model. To complete the platoon model, it is necessary to: complete the electrical wiring of the electric drives of semi-physical vehicle models, commission the drives, implement the platoon control algorithm, and implement the connection of the SIMATIC Open Controller to the visualization PC. The workplace of a platoon model with semi-physical vehicle models is depicted in Fig. 3. The model currently consists of four independent drives with 880 W synchronous servo motors. The SINAMICS CU 320-2 PN control unit, one SINAMICS S120 line module and two SINAMICS S120 motor modules are used to control and supply the motors. In this configuration, one drive represents both the vehicle drive and the load drive. The reference torque of the load drive is subtracted from the reference torque of the vehicle drive. This means that the system allows modeling of four platoons. This system is being supplemented with four additional drives. Thereafter, the motor shafts of the pairs of drive pairs will be coupled by means of a rigid clutch and each such pair will model one vehicle. Fig. 3. Vehicle platoon model workplace layout The simulator is supposed: • • • to simulate the longitudinal movement of vehicles, to take into account the impact of mechanical resistances and the inter-vehicle distance on the driving characteristics of the vehicles, the inputs: the control variables of the vehicle models (the main drive torque / the acceleration reference / the speed reference), position of a predecessing vehicle, road parameters (inclination and surface type), the wind direction and speed, • the outputs: the actual positions, speeds and the vehicle accelerations, • displaying the outputs: numeric / graphs / gauges. From the implementation points of view, it should be noted that • the model of a vehicle is implemented using a pair of stationary electric drives (rotation instead of translation), • it is based on use of industrial electric drives • which are coordinated from the SIMATIC Open Controller (Control unit block). • the ”map”of the road (the layout of the inclination and the road surface will be recorded in the ”map”, • multi-vehicle model is being implemented, • vehicle model functionality has been verified by MATLAB simulation [1] • this vehicle model was then modified and downloaded into SIMATIC Open Controller using Simulink Target 1500, • the model was verified using the simulated drives, • the vehicle acceleration control loop has also been implemented at this stage. The tasks to address and implement includes: • connection of SINAMICS S120 drives to SIMATIC Open Controller (currently in process of commissioning drives), • the ”map”of the road (the layout of the inclination and the road surface will be recorded in the ”map”, • multi-vehicle model, • data connection with the platoon visualization, • simulator extension by modules based on B&R products. The proposed simulator may be used in numerous configurations by using 2x5 PMSM+PMSM pairs on an axis as quasi-authentic models of single vehicles with chosen physical parameters, which are moving on a chosen road (with a predefined slope and surface properties). Besides of this, they may be combined into 2 or 3 platoons, to enable their interaction on roads with chosen profiles and properties. With the visualization module combined with external peripherals it is possible to test driver’s behaviour in hybrid platoons enabling to mix manually driven vehicles with those of an automatically controlled platoon members. Remote access module broadens this experimental environment to both partners and further interested users and makes it accessible 24/7. In addition, the system will enable research in the areas of mechanical load generation, electronic differential, vector control of the fourwheel drive electric vehicles, etc. III. P OSSIBILITIES OF 3D V ISUALIZATION There are several software environments that can be used for modeling of car platoons. Some of them are specialized and the other ones have more general usage. These software products use different programming languages but simulators are often written in C++ programming language and the AI (Artificial Intelligence) is usually programmed in Python. 149 Fig. 4. The hardware part of the platoon model with the drives by Bernecker & Reiner For instance, CARLA (Car Learning to Act) represents a specialized open source simulator for autonomous driving research [3]. It has been developed from the ground up and supports autonomous urban driving systems. It provides open digital assets (urban layouts, buildings, vehicles) for free. On the other hand game engines (like Unity or Unreal Engine) have more general purpose. In platoon modeling they can be used thank to their visualization capabilities and interactions (collisions) handling. They also offer a lot of assets (free or paid) so the virtual world can be built quickly and full of functionality. From the control engineering point of view the Matlab is traditional software package for calculation and simulation and researchers from this area could prefer Matlab as a tool for modeling and simulation of platoons. Matlab has many useful toolboxes that can be used in platoon modeling. For instance, Automated Driving Toolbox - ADT provides algorithms and tools for designing, simulating, and testing ADAS (Advanced Driver Assistance Systems) and autonomous driving systems. It enables to test and design route planning, sensors (lidar perception systems, e.g.) and vehicle control. Beside this, ADT visualization tool offers different views. When simulating platoons we need to design different driving scenarios (following trajectories, obstacle avoidance, construction of platoon, adding or removing a member of platoon, etc.). ADT includes so called Driving Scenario Designer that could significantly ease the process of designing driving scenarios. Vehicle Dynamics Blockset (VDB) belongs to the Matlab extensions. It supplies models for simulation of driving maneuvers in a 3D environment. It includes predefined scenes of roads, buildings, traffic lights, and other objects around the vehicle that can be customized. It also includes a library of components for modeling propulsion, steering, suspension, vehicle bodies, brakes, and tires. VDB can be combined with Unreal Engine 3D and by this way the results of Matlab simulations can be visualized in the virtual world (Fig. 5). To increase number of potential users a platoon visualisation for the web browser use is also prepared. In the application all individual cars and the whole scene are created as 3D models. The rest of the web page is realised using standard web technologies - HTML, CSS, JavaScript and PHP. Fig. 5. 3D visualisation of platoon maneuver based on Matlab and Vehicle Dynamics Blockset At the moment we have created an outside view of a platoon that moves along a straight, never-ending road, around which scenery with trees randomly changes (Fig.6). The position of each car is to be calculated in Matlab environment, which is installed on the server and is accessible via a web service. In this way Matlab returns the position of every car in any time instant. The received values are later used for animation. The Matlab simulation scheme consists of a platoon model and a controller. Parameters of the controller can be entered via the website. Thus the user is able to influence the behavior of the entire platoon. The behavior of the selected car in the platoon is planned to be influenced by external peripherals (joystick, racing wheel). It enables to realize the hybrid platoon (mixing manually driven vehicles with automatically controlled platoon). Fig. 6. 3D visualisation in web interface Fig. 7. Bypassing the obstacle scenario visualization of many typical but also rare situations arising on highways. For example, Fig. 7 shows how the platoon bypasses the obstacle in the right lane. V. C ONCLUSIONS The built simulator and platooning experiment are establishing a basis for a massive experimental evaluation of numerous test tasks important for platoon control. Thereby, their extension by visualization represent the most visible part of this contribution. Two ways of visualization have been presented. First one relies on the commercial product Matlab that provides many useful tools to visualize dynamical system in 3D in a relatively fast way. The second one has been performed within web environment. This way is more laboring but is free for everybody with Internet connection. Additionally, the driving simulator built in Unity has taken the form of a serious game providing a user with full interaction, modern look, ease of use, 3D visual and audio response. R EFERENCES IV. E XAMPLES OF THE SIMULATOR USE In real life, platoons will have to coexist with individual cars. For this reason, it is important to monitor how individual drivers (called players) behave in the presence of the platoons [4]. On the one hand, the driving simulator offers the possibility to verify the reactions of an individual driver who manually controls her/his vehicle to the driving of the platoons and at the same time it enables to compare it with the reactions of an autonomous driving individual vehicle. The driving simulator is developed in Unity and allows the 150 [1] I. Bélai, “Semi-physical model of a vehicle for platooning,” in 2019 22nd International Conference on Process Control (PC19), June 2019, pp. 185– 190. [2] ——, “The vehicle model acceleration control for platooning,” in 16th IFAC Conference on Programmable Devices and Embedded Systems: PDeS2019, High Tatras, Slovakia, October 2019. [3] A. Dosovitskiy, G. Ros, F. Codevilla, A. López, and V. Koltun, “CARLA: an open urban driving simulator,” CoRR, vol. abs/1711.03938, 2017. [4] D. Michalik, O. Mihalik, M. Jirgl, and P. Fiedler, “Driver behaviour modeling with vehicle driving simulator,” IFAC-PapersOnLine, vol. 52, no. 27, pp. 180–185, 2019, 16th IFAC Conference on Programmable Devices and Embedded Systems PDES 2019. Manipulacija izvodov statorskih navitij motorja Luka Kresnik, Simon Erjavec, Marko Munih 1 Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana E-pošta: lk1712@student.uni-lj.si Manipulation of motor stator windings Kolektor d.d produces a wide range of electric motors. Despite a high level of automation in electric motors production, the prototype manipulating of stator windings wires is still performed manually. In this project, we explored the possibilities of how to automate and accelerate prototype production. We made a test system that proves that the imagined system is realistic, possible and meets multitasking requirements. Povezani snopi so priključne sponke motorja. V posamezen snop se skupaj povežejo žice ustreznih navitij (slika 2). V prvi snop se združijo žice rdeče barve, v drugi snop žice obarvano zeleno in v tretji snop žice z modro barvo, kot prikazuje slika 3. Snope žic se nato zavije. S tem povečamo togost kontakta. Na določeni dolžini se nato snope žic odreže, odstrani lak in nanj stisne aluminijasti tulec. S tem se naredi kontaktno površino vedno enakih dimenzij. Končen izdelek vidimo na sliki 3. 1 Uvod V podjetju Kolektor d.d. proizvajajo širok nabor elektro motorjev. Kljub visoki avtomatiziranosti proizvodnje elektro motorjev, se manipulacijo žic statorskega navitja v prototipni proizvodnji se vedno izvaja ročno. V tem projektu smo raziskali način, avtomatizacije obravnavanih faz. Naredili smo testni sistem, ki dokazuje, da je zamišljen sistem realen, možen in zadostuje zahtevam po večopravilnosti. 2 Brezkrtačni elektro motor Projekt temelji na postopku, kjer pripravimo stator za vgradnjo v aparat. Stator, prikazan na sliki 1, je del brezkrtačnega električnega motorja. Prednost takšnega motorja je dolga življenja doba, manjša možnost okvar in odsotnost iskrenja. Slika 3: Stator motorja po končanem postopku s označenimi kontakti 3 Obstoječe rešitve Ob pregledu literature, člankov in video posnetkov, smo ugotovili, da se proces manipulacije žic še vedno izvaja ročno. Našli smo tudi koncept robotskega manipuliranja [1]. Možnost manipulacije vsake posamezne žice z robotsko roko smo opustili, saj je prepočasna. Prav tako opcija dveh oziroma treh robotskih rok ne prinese bistvenih izboljšav, saj smo omejeni s prostorom v notranjosti statorja. Slika 1: Stator motorja pred manipulacijo Potem, ko so navitja že navita, želimo, da se žice najprej oblikujejo po obodu statorja, ki se jih nato pravilno združi v snope. Opisane žice so lakirane. Slika 2: Barvno označeni izvodi, ki spadajo v isti snop ERK'2021, Portorož, 151-154 151 4 Zasnova lastne rešitve Razvoj smo usmerili v idejo o kompleksnem orodju, ki bi lahko prijelo več žic hkrati. Stator ima dvanajst izvodov, polovica jih poteka po levi strani, druga polovica pa po desni. Zato bi bilo idealno naenkrat prijeti polovico žic. Zasnovali smo konceptualni sistem sedmih prijemal, kot je razvidno na sliki 4. Stator in notranji vstavek sta fiksna, polkrog skupaj s prijemali pa se rotira okoli statorja. Vsa prijemala naenkrat primejo vsako svojo žico, polkrog prijemal se nato zasuče za predhodno definiran kot. Sistem predvideva, da imamo v sredini statorja tulec, ki ima izrastke, preko katerih se zapogne žice. S tem dobimo 90° zapognjenost žic. Prijemala nato eno po eno žico odlagajo v namenska prijemala znotraj statorja (označena s številkami na sliki 4). 4.1.3 Korak 3 Polkrog se zavrti še za dodatnih 90°. V tem koraku lahko potekajo 2 operaciji hkrati. V prvi se iz prijemal 1 in 2 s potisnimi cilindri X in Y premakne žici 1 in 2 v zbiralna prijemala U in V. V drugi operaciji pa se s prijemali 3, 4, 5, 6 in 7 prime preostale proste žice. 4.1.4 Korak 4 Polkrožni element se sedaj zavrti za -60°. S potisnim cilindrom X se žico 9 iz prijemala 4 premakne v zbiralno prijemalo U 4.1.5 Slika 4: CAD model konceptualne zasnove, kjer so označena prvo, drugo in tretje notranja prijemala in četrto zunanje prijemalo 4.1 Polkrog se ponovno zavrti za -30°. S potisnim cilindrom Z se potisne žico 8 iz prijemala 3 v zbiralno prijemalo W. 4.1.6 Algoritem prijemanja Proces manipulacije žic v osnovi sestavljajo 4 sklopi. Znotraj statorja so 3 zbiralna prijemala žic (označena kot U, V in W). Okoli statorja je vrteč krog, kjer je 7 prijemal (označena s številkami od ena do sedem), ki s prsti prijemajo žice. Za premik žic iz prstov v prijemala, ki so v sredini statorja skrbijo pnevmatski cilindri, ki so označeni z X, Y in Z. Žice so označene s številkami kot je prikazano na sliki 2. Korak 5 Korak 6 Zadnji zasuk polkroga se naredi za -60°. V zadnjem koraku se s potisnimi cilindri U, V in W potisne žice 10, 11 in 12 iz prijemal 5, 6 in 7 v zbiralna prijemala U, V in W. Hkrati je ta pozicija polkroga tudi začetna pozicija za naslednji obdelovanec, kar še dodatno pripomore pri časovni optimizaciji procesa. 4.2 Testni sistem Za potrditev idejne zasnove smo naredili testni sistem, za manipulacijo žic, ki ga lahko vidimo na sliki 6. Slika 6: Realen testni sistem manipulacije ene žice Sistem je zgrajen iz baznega dela, kamor fiksiramo stator in orodnega dela, ki se nalega na bazni del. Na baznem delu imamo dve prijemali. Prvo prijemalo je nameščeno na linearnem vodilu. Nanj sta nameščena prsta za prijem žice, drugo prijemalo pa služi kot nadomestek pnevmatskega cilindra, saj služi kot pomični aktuator prvega prijemala naprej in nazaj po vodilu. Slika 5: Koraki manipulacije žic 4.1.1 Korak 1 V prvem koraku se polkrog na katerem je sedem prijemal, zavrti v izhodiščni položaj. S prijemali od 1, 2, 3 in 4 se prime žice. S potisnimi cilindri X, Y in Z se potisne žice 5, 6 in 7 v zbiralna prijemala U, V in W. 4.1.2 Slika 7: Testni sistem s prijemalnim prijemalom (1) in prijemalom kot nadomestkom pnevmatskega cilindra (2) Korak 2 Polkrog s prijemali se zasuče za 60°. Iz prijemal 3 in 4 se s potisnimi cilindri Y in Z potisne žice 3 in 4 v zbiralna prijemala V in W. 152 Čez polovico orodnega dela je napeljana kovinska palica, ki služi kot ročica za rotiranje okoli statorja. Ohišje je natisnjeno s 3D tiskalnikom iz materiala PLA. Ker so prsti narejeni iz mehkega materiala, smo na koncu prijemala naredili zaklep, da žica ne more uiti iz prijema. Notranja površina objema ima velik posneti radij, da žica lepo drsi ob stični površini. Končni sistem sestavljajo 3 glavne komponente: (i) manipulator žic, ki je postavljen na namenski mizi, (ii) robot z izmenjevalcem orodja oziroma z možnostjo menjave orodij in (iii) namenska polička, kjer imamo zbrana vsa orodja. 5.1 Miza za izvajanje žičnih manipulacij Naloga manipulatorske mize je manipulacija žičnih izvodov statorskega navitja in predaja v navijalni del na robotu. Slika 8: CAD model plastičnih prstov z zaklopom Za končno grupiranje in objemanje žic iz sredine smo konstruirali testni zbiralni sistem, ki smo ga namestili na vrh robota Yaskawa HC 10. Namen zbirala je združiti štiri žice in jih zviti tako, kot je videno na prvotnem izdelku iz slike 1. Zbiralnik je sestavljen iz štirih utorov in zaklepnega zatiča. Zaklepni zatič na testnem modelu smo premikali ročno. Slika 11: CAD model manipulatorske mize Elementi označeni s številko so prikazani na sliki 12. V sredino sistema postavimo stator. Ta zdrsne navzdol po posebno zasnovanem tulcu (1), s čimer je zagotovljena točna rotacijska lega. Cilinder nato objamemo s šestimi objemki (2) zeleni objemki na sliki 11 in sliki 12, ki jih premikajo pnevmatski cilindri. Ti prejemki trdno držijo stator v fiksni legi. Slika 9: Prikaz zavitega snopa žic Zavijanje žic s pomočjo robotske roke je bilo uspešno. Žice smo okoli svoje osi zavili dvakrat, kot je vidno na sliki 9. 5 Zasnova lastne rešitve Slika 10: Celosten CAD model naprednega sistema Glede na trenutno zdravstveno situacijo, smo najprej izvedli podroben konceptualen model v CAD programu. Model vsebuje realne aktuatorje, to pomeni, da imajo kataloško oznako. Zapleteni deli so sestavljeni iz več komponent z namenom lažje, hitrejše in cenejše izvedbe. 153 Slika 12: Prikaz zgradbe drsnega krožnika V poglavju 4.1 prikazan polkrog smo zamenjali s krožnikom. Krožnik je sestavljen v treh višinah, kakor prikazuje kolaž slike 12. Spodnji del je dvignjen nad pnevmatske cilindre, ki so zadolženi za objemanje statorja. V srednjem delu je v utorih dvojni teflonski obroč (3) in teflonski kolobar (4). Ta dva dela skrbita, da vrhnji del gladko in kontrolirano drsi po površini. Zgornji krožnik (5) ima iz spodnje strani privijačen zobnik (6) z namenom rotacije zgornjega dela krožnika okoli statorja. Pod mizo je nameščen servo motor. Njegova osovina sega čez ploščo mize in preko malega zobnika poganja zgornji del krožnika. Os motorja je na zgornji strani dodatno uležajena. Na vrhu mize so utori za prijemalno/podajni mehanizem. V utoru je ležišče prijemala Schunk. Izdelano je iz teflona. Prijemalo ima 3 mm hoda[2]. Njegovi prsti so narejeni iz kovine, na točki prijema so polirani in lepo zaobljeni, kar zagotavlja gladko drsenje. Prijemalo naprej in nazaj pomika pnevmatski cilinder s 15 mm pomika [3]. Nad njim je še en pnevmatski cilinder, ki ima 20 mm pomika. Ta s svojim potisnim orodjem (rumeno oranžne barve) skrbi, da žico iz prstov prijemal premaknemo v prijemalno orodje. To je pritrjeno na robota. Potisno orodje drsi po prav tako teflonskem ležišču z utorom. Slika 13: CAD model prijemalno/podajnega mehanizma Kot je opisano v poglavju 4, imamo na krožniku sedem takšnih prijemal. Kot med posameznimi prijemali je 30°. 5.2 Robot kot izvajalec več opravil Skozi celoten postopek manipulacije žic potrebujemo več orodij potrebnih med raznimi operacijami. Ker teh opravil ne moremo izvajati istočasno z več roboti, smo uporabili le enega robota ter možnost menjave orodij. Tako imenovani izmenjevalec orodij proizvajalca Schunk smo izbrali, ker vsebuje tako pnevmatične kot električne priključke in v spojenem stanju zdrži sile do 690 N [4]. To v našem primeru zadošča za vse naloge. 5.3 Orodja za izvajanje nalog Ob izvajanju vseh nalog potrebujemo več orodij. Za orodja smo naredili odlagalno mizico, kamor se orodja odložijo ter čakajo na ponovno uporabo. 154 Slika 14: CAD model prijemalno zavijalnega orodja (1), laserja (2) in stiskalno odrezalnega orodja (3) Prvo orodje na sliki 14 je testna verzija prijemala žic. Prijemalo ima štiri utore. V vsak utor se zapre po eno žico. Prečno na utore pomikamo zaklepni zatič. Ta ima obliko črke U. Na prvi strani zapira utore, na zadnji strani pa ima narejeno zobato letev, ki jo preko zobčenika na servo motorju premikamo. To omogoča fino postopno pomikanje zatiča torej lahko zapremo po en utor na enkrat. Drugo orodje je laser za odstranjevanje rje, ki smo ga uporabili za odstranjevanje laka iz bakrenih žic. Odstranjevanje laka se izvede v treh korakih. V prvem iz prve polovice snopa odstranimo lak. V drugem pa iz druge polovice. Ker se pri tem izparjeni ostanki nanesejo na prvotno očiščeno stran, v tretjem koraku odstranimo še te nečistoče. Tretje orodje je dvodelno orodje. Sestavljeno je iz dveh kotnih prijemal, ki sta postavljena drug na drugega. Vloga spodnjega je, da na vrh zvitih žic stisne aluminijast tulec za kontakt. Naloga zgornjega prijemala pa je odrez odvečne dolžine žic. 6 Zaključek V tem projektu smo se lotili zahtevne avtomatizacijske naloge, ki jo pogosto še vedno izvajajo ročno. Razvili smo konceptualen sistem za avtomatsko zbiranje, zavijanje in rezanje izvodov statorskega navitja. Dokazali smo, da se postopek lahko avtomatizira in časovno optimizira, saj se določeni koraki lahko odvijajo vzporedno. Sistem je bil preizkušen z enim prijemalno−podajalnim mehanizmom. Optimalno bi bilo preizkusiti celoten model, ki manipulira z več žicami. Menimo, da bi bilo smotrno razvijati sistem naprej , saj ima realen potencial za izvedbo. Literatura [1] Nide Group, 13.5.2020 [Elektronski]. Dosegljivo: https:// www.youtube.com/watch?&v=xSWbwwhXY5o [30.1.2021] [2] Schunk, (Oktober 2020). »Gripper for small components MPG-plus 25«, [Online]. Dosegljivo: https://schunk.com/ fileadmin/pim/docs/IM0005463.PDF [1.2.2021] [3] Festo, (Januar 2020). »Compact cylinder DPDM-10-25PA«, [Online]. Dosegljivo: https://www.festo.com/tw/ en/a/download-document/datasheet/4831873 [1.2.2021] [4] Schunk, (December 2020), »Quick change system SWS 005«, [Online]. Dosegljivo: https://schunk.com/fileadmin/ pim/docs/IM0019665.PDF [1.2.2021] Prototip robotskega sistema za avtomatsko pobiranje stebelne zelenjave Erik Pleško1 , Sebastjan Šlajpah1 , Marko Munih1 , Matjaž Mihelj1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: ep9060@student.uni-lj.si Developing a system for harvesting stem vegetables This paper presents a development of a system for harvesting stem vegetables. We designed and assembled a rotational delta robot for this task. Firstly we present the initial problem and justify the delta mechanism as a suitable solution. We then present an overview of it’s inverse kinematics and workspace. We then put forward the CAD model, parts list and assembly. We overview Beckhoff’s hardware and software. Lastly, we evaluate mechanical operation of the mechanism and propose future work on the problem. 1 Uvod Vse večja uporaba robotov v kmetijstvu omogoča razvoj novih tehnologij avtomatike, ki bodo olajšale ali celo prihranile mnoga težka dela. S tem se zmanjšujejo stroški in poraba surovin pri kmetijskih opravilih ter čas proizvodnje [1]. Razvoj na tem področju lahko vpliva tudi na onesnaževanje. Precizno kmetovanje je koncept uporabe novih metod produkcije in upravljanja, ki se poslužujejo različnih tehnologij velikih podatkov o lokacijah pridelkov in njihovi količini. Mnoge robotske rešitve so bile predlagane za uporabo v kmetijstvu: pobiranje in žetev [2], nadzor travnikov, avtonomna košnja, obrezovanje, sejanje, škropljenje in pletje, nadzorovanje in pregled prsti [3], sortiranje in pakiranje. Študija se osredotoča na robotsko pobiranje stebelne zelenjave, specifično špargljev. Šparglje se tipično pobira v času od marca do julija. Začetek rasti je odvisen predvsem od zunanjih temperatur. Rastlino je potrebno pobrati, ko je prave velikosti, saj steblo kmalu oleseni. Od vsake rastline lahko poberemo največ 16 poganjkov, ostale poganjke pa rastlina potrebuje za regeneracijo in nabiranje energije za čez zimo. Pregledovanje polj in nabiranje poteka dnevno. Obdobje takšne rasti pa traja do 8 tednov [4]. Primer rasti špargljev je na sliki 1. Rastline se glede na smer vožnje robota lahko pojavljajo vzporedno ali pa zelo blizu skupaj. Rastejo lahko postrani, polja pa so lahko poraščena s plevelom ali travo. Leu in drugi v [2] predstavljajo prototipno napravo za pobiranje špargljev. Za zaznavo uporabljajo barvno globinsko kamero. Na mobilni platformi pa sta nameščeni ERK'2021, Portorož, 155-158 155 Slika 1: Primer tipične rasti rastlin. Rastline rasejo vzporedno ter blizu skupaj, vir slike [4]. dve robotski roki za pobiranje pridelka. Japonsko podjetje Inaho ponuja rešitev v obliki relativno majhne mobilne platforme z robotsko roko za avtonomno nabiranje zelenjave [5]. 2 Metodologija Za pobiranje špargljev smo predvideli robotsko roko v konfiguraciji rotacijskega delta robota, ki je z dvema dodatnima prostostnima stopnjama zmožna hitrega in natančnega pobiranja špargljev iz različnih smeri. 2.1 Delta robot Zasnovali smo robotski mehanizem, ki je sposoben selektivnega nabiranja. Rastline mora pobirati s poljubne smeri po celem delovnem območju. Da ohranimo možnost pobiranja med vožnjo, potrebujemo 4 prostostne stopnje vrha robota - 3 pozicije ter orientacijo okoli navpične osi. Mehanizem mora biti sposoben hitre manipulacije rastlin na relativno kratki razdalji. Pobrano lahko odlaga na bližnji tekoči trak, ki pridelek prenaša v glavni zabojnik na premični platformi. Gleda na podane zahteve, smo se odločili za 3R delta robota z dodatno rotacijsko prostostno stopnjo na vrhu. Peta prostostna stopnja je odpiranje ter zapiranje prijemala z rezilom. 2.2 Inverzna kinematika in delovni prostor Prednost paralelnih mehanizmov je enostaven izračun inverzne kinematike. Ker gre za paralelni mehanizem lahko obravnavamo vsako roko ločeno. Zaradi rotacijske simetrije je dovolj izračunati splošno rešitev za eno roko. Rešitev za ostali roki pa dobimo s primernim rotiranjem vhodnih podatkov okoli osi z. V primeru, da vsaj eden izmed izrazov (3) in (4) nima realne vrednosti, rešitev ne obstaja. Če je vrednost izraza (5) po absolutni vrednosti večja od 1, rešitev prav tako ne obstaja. Z izračunom nadaljujemo:  γ = arctan 2.2.1 Rešitev za eno roko Prvi segment se nahaja v ravnini x-z. Označimo dolžini segmentov z l1 in l2 . Z vektorjem pi označimo konec i-tega segmenta. Štetje začnemo z i = 0, kar ustreza koncu baze in hkrati prvemu sklepu. Omenjene veličine so označene na sliki 2. −Dz Dx  (6) α=γ−δ (7) V izrazu (6) pri izračunu uporabimo funkcijo za predznačeni tangens. Izraz (7) je končni rezultat inverzne kinematike, α je kot v prvem sklepu. Pri tem vrednost 0 predstavlja segment, ki je poravnan z osjo x, pozitivne vrednosti kota pa dobimo ob premiku segmenta navzdol. 2.2.2 Celotna rešitev Rešitev za preostali roki dobimo z rotiranjem želene lege vrha okoli osi z. Kot rotacije za vsako naslednjo roko povečamo za −120◦ = − 2π 3 in ponovimo izračun iz poglavja 2.2.1 Na sliki 3 je prikaz vizualizacije inverzne kinematike. Slika 2: Stranski ris (zgoraj) ter tloris (spodaj). Osi baznega koordinatnega sistem so označene z modro barvo. Tri dimenzionalni vektorji so označeni z bledo rumeno barvo. Skalarne količine so označene s črno barvo. ∗ Dimenzija d2 je projekcija dimenzije l2 v ravnino x-z. Vektor p0 poznamo iz geometrije baze. Vektor p3 predstavlja konec platforme oziroma vrh robota. Vektor p2 ustreza koncu drugega segmenta. Zapišemo lahko p2 = p3 + s3 . (1) Vektor s3 predstavlja premik od vrha robota do konca drugega sklepa, ki ga določimo iz konstrukcije robota. Izpeljemo sledeče geometrijske relacije (pri tem je D = [Dx , Dy , Dz ]T ): D = p2 − p0 q d2 = l22 − Dy2 q a = l22 − Dy2 cos δ = d21 2 +a − 2d1 s (2) (3) (4) d22 (5) 156 (a) (b) (c) (d) Slika 3: Nekaj primerov rešitev inverzne kinematike za različne lege. 2.2.3 Delovni prostor Pomemben del teoretične analize je tudi velikost in oblika delovnega prostora. Na sliki 4 je prikazana četrtina delovnega prostora robota, le-ta ima skledasto obliko, ki je tipična za delta robote z rotacijskimi sklepi. Velikost ustreza zahtevam projekta: delovno območje širine enega metra ter višine pol metra. 2.3 Mehanska zasnova robota Na sliki 5 je prikazan CAD model ene roke robota. Roko poganja motor Beckoff AM8113 z reduktorjem WPLE040 s prestavnim razmerjem 10. Proizvajalec za navor motorja v mirovanju navaja 0.52 Nm. Rumeno sta obarvana kosa reskana iz aluminija. Sivo so obarvani aluminijasti profili. Oranžno so obarvani Igusovi kroglični sklepi tipa Slika 4: Delovni prostor robota. Prikazan je ves delovni prostor, ki ga dopušča geometrija sklepov takšnega mehanizma. Praktične omejitve kotov v sklepih niso upoštevane – to sta hod sklepov in trk segmentov mehanizma. GELMKE-8. Modro sta obarvani Igusovi osi AWMP-8. Belo so obarvani 3D natisnjeni deli. Slika 6: Fotografija sestavljenega mehanizma. Pod mehanizmom je pladenj z zemljo. V kotu levo spodaj je laserski skener SICK NanoScan3, uporabljen za zaznavo rastlin. Slika 5: CAD model ene roke robota. Na sliki 6 je prikazan izdelan robotski sistem. Za zaznavo rastlin smo sistemu dodali laserski skener SICK NanoScan3. Prijemalo za rezanje in prijemanje špargljev je prikazano na sliki 7. Cev, ki nosi prijemalo, se vrti okoli navpične osi. V njej je še os, ki je povezana s premičnim delom prijemala - to sta rezilo in gumijasti prst za prijemanje. Prostostni stopnji sta vodeni z DC motorjema na platformi mehanizma. Plastične dele bele barve smo 3D natisnili s tiskalnikom Prusa i3 Mk2s, material PLA. 2.4 Programska oprema Vodenje sistema smo izvedli v dveh nivojih, ki sta komunicirala preko UDP povezave. 2.4.1 PLK Beckhoff Za razvoj programske opreme na programirljivem logičnem krmilniku (v nadaljevanju PLK) smo uporabili Bechoff TwinCAT 3. V konfiguracijo so dodani trije servo 157 Slika 7: Fotografiji odprtega ter zaprtega prijemala ob pobiranju šparglja. Med prijemanjem rezilo špargelj odreže. Mehki del prijemala (3D natisnjen z materialom TPU primerno stisne špargelj ne glede na njegovo debelino. motorji ter dva DC motorja. Nastavljeni so parametri dinamike, začetne lege motorjev, ter programske končne omejitve sklepov. Krmilnik izvaja hitrostno vodenje motorjev ter komunicira z ROS vozlišči preko UDP povezave. 2.4.2 ROS Višji nivo smo naredili v programskem paketu ROS z vozlišči napisanimi v jeziku Python. Na tem nivoju je potekala zaznava špargljev, načrtovanje premikanja, interpolacija ter vodenje robota. Za preprosto zaznavo špargljev smo uporabili laserski skener SICK NanoScan3. Od izmerjenih točk uporabimo le točke, ki ležijo v bližnji okolici pobiralne površine. Dovolj točk, ki so si paroma bližje od tipičnega premera šparglja, ustreza šparglju. Njihovo povprečje določa središče šparglja. Iz zaznanih središč špargljev program ustvari vmesne točke. Za vsako rastlino določimo smer približevanja ob pobiranju. Med točkami se vrh robota premika premo. Uporabili smo interpolacijo minimalnega odvoda pospeška (ang. minimum jerk interpolation). Robota vodimo zaprtozančno v notranjih koordinatah. Iz želene pozicije robota v zunanjih kartezičnih koordinatah z inverzno kinematiko izračunamo želene notranje koordinate. Razlika med želenimi ter dejanskimi koordinatami sklepov je vhod v proporcionalno diferencialni regulator katerega izhod so želene hitrosti sklepov robota. Te se pošljejo na PLK. 3 Testna aplikacija pobiranja Na sliki 8 je prikazana sekvenca pobiranja ene rastline. Delovanje smo preizkusili po celotnem delovnem območju robota ter na špargljih debeline od 5 mm do 15 mm. Preizkusili smo pobiranje rastlin dolgih od 5 cm do 30 cm. Najprej smo preizkusili pobiranje ene rastline na enkrat. Sistem je rastlino vedno zaznal in jo uspešno pobral. Preizkušali smo tudi postavitve z več rastlinami. Dokler se v vidnem polju laserskega skenerja rastline ne prekrivajo, zaznava poteka nemoteno. Šum in občasne artefakte na robovih rastlin povprečenje uspešno izloči. Ob ustrezni zaznavi je bilo pobiranje rastlin popolnoma uspešno dokler si sosednji rastlini nista bili bližje od 5 cm. Uspešno pa je sistemu uspelo pobrati večino rastlin do medsebojne razdalje 3 cm. Dodaten pogoj za uspešno pobiranje je vsaj 10 cm prostora brez rastlin iz smeri pobiranja. Posnetek delovanja je dostopen na [6]. 4 Diskusija V delu smo predstavili robotski mehanizem delta konfiguracije za pobiranje stebelne zelenjave. Robota smo opremili z dvema dodatnima prostostnima stopnjama, ki omogočata različne smeri pristopa k rezanju. Naslednji korak v razvoju sistema je integracija mehanizma z mobilno platformo. Ob tem pa je potrebno razviti še robusten sistem za zaznavo in prepoznavo rastlin na polju. 158 Slika 8: Fotografija pobiranja šparglja. Predstavljena zasnova mehanizma se je izkazala za ustrezno, integracija z mobilno platformo pa bo predstavljala resničen potencial za avtomatsko in avtonomno pobiranje ne samo špargljev, ampak celotnega spektra stebelne zelenjave. Literatura [1] Moysiadis V, Tsolakis N, Katikaridis D, Sørensen CG, Pearson S, Bochtis D. Mobile Robotics in Agricultural Operations: A Narrative Review on Planning Aspects. Applied Sciences. 2020; 10(10):3453. https://doi.org/10.3390/app10103453 [2] Leu A, Razavi M, Langstädtler L, Ristić-Durrant D, Raffel H, Schenck C, Gräser A. Kuhfuss B. Robotic Green Asparagus Selective Harvesting. IEEE/ASME Transactions on Mechatronics, 2017;22(6): 24012410, doi: 10.1109/TMECH.2017.2735861. [3] Łukowska A, Tomaszuk P, Dzierżek K, Magnuszewski Ł. Soil sampling mobile platform for Agriculture 4.0, 2019 20th International Carpathian Control Conference (ICCC), KrakowWieliczka, Poland, 2019:1-4, doi: 10.1109/CarpathianCC.2019.8765937. [4] Boeckmann C, “Growing asparagus,” The old Farmer’s Almanac., 8-Apr-2010. [Online]. Available: https://www.almanac.com/plant/ asparagus. [Accessed: 16-Feb-2021]. [5] Hishiki Y, Ohyama S, Tobayama S, and Shimizu T, “To make farming more sustainable,” Inaho Inc., 22-Okt-2020. [Online]. Available: https://en. inaho.co/. [Accessed: 25-Jul-2021]. [6] Pleško E, “Robotski sistem za pobiranje stebelne zelenjave”, 27-Jul-2021. [Online]. Available: https: //shorturl.at/enoOZ. [Accessed: 27-Jul2021]. Ocenjevanje kinematične izvedljivosti robotske naloge za sinhrono translacijsko in rotacijsko gibanje po površini obdelovanca Saša Stradovnik, Aleš Hace Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru Koroška cesta 46, 2000 Maribor E-pošta: sasa.stradovnik@um.si, ales.hace@um.si Task-oriented kinematic feasibility evaluation for synchronous translational and rotational robot motion on workpiece surface Abstract. When it comes to the collaborative robots, the margin between the actuation capabilities of the robot and task requirements is largely reduced with respect to classical industrial robots. Therefore, a detailed understanding of the motion capabilities of collaborative robots in their workspace is crucial for the successful planning and execution of the robotic task, especially in the context of more complex surface machining applications. In the past, various robot performance indices have been developed to measure and qualify the characteristics of the robot workspace. However, most of them do not consider maximum capabilities of the individual joint. In this paper, a new task-oriented kinematic feasibility index is presented, which is used as a qualitative criterion for optimal workpiece placement. The efficiency of the proposed method is demonstrated using a surface machining application with the UR5 collaborative robot as an example. 2 Zahteve robotske naloge za površinsko obdelavo 1 Uvod Natančno poznavanje sposobnosti premikanja robota znotraj njegovega delovnega prostora je ključnega pomena pri uspešnem načrtovanju in izvedbi kompleksnejših robotskih nalog. Z razvojem kolaborativnih robotov je razmerje med sposobnostmi premikanja in zahtevami naloge v primerjavi s klasičnimi industrijskimi roboti močno zmanjšano. Omejene kinematične in dinamične sposobnosti ter želja po fleksibilnem in avtonomnem delovanju pa povečujejo zanimanje po sistemih za optimizacijo njihovega premikanja. Kvalitativni opis sposobnosti premikanja robota znotraj njegovega delovnega prostora je bil skozi zgodovino razvoja robotike predstavljen z različnimi metodami. Večina le-teh temelji na analizi elipsoida manipulabilnosti [1] in se nanaša bodisi na splošno analizo delovnega prostora [2] ali pa obravnava konkretno robotsko nalogo in sposobnosti premikanja ocenjuje na podlagi obravnavane konfiguracije in želene smeri premikanja [3]. Kljub temu, da so te metode med ERK'2021, Portorož, 159-162 raziskovalci zelo uveljavljene, se je izkazalo, da ne podajajo povsem natančnih zmožnosti premikanja robota [4, 5]. V članku vpeljemo nov indeks kinematične izvedljivosti na podlagi katerega lahko kvalitativno ocenjujemo maksimalne kinematične zmogljivosti robota glede na podane tehnološke zahteve kompleksnih robotskih nalog, ki zahtevajo sinhrono translacijsko in rotacijsko gibanje robota. Na podlagi vrednosti tega indeksa lahko kvalitativno ovrednotimo kinematično izvedljivost robotske naloge za izbrano lego obdelovanca in s preiskovanjem delovnega prostora robota določimo kinematično optimalno lego obdelovanca za katero bo robotska naloga uspešno izvedljiva brez predhodne časovno potratne simulacije robotske naloge in prilagajanja tehnoloških parametrov. V nadaljevanju predstavimo zahteve robotske naloge za površinsko obdelavo iz katerih izhajamo pri ocenjevanju kinematične izvedljivosti robotske naloge. Za potrebe ocenjevanja izpeljemo nov indeks na podlagi katerega izrišemo barvno mapo v obravnavanem delovnem prostoru robota UR5 ter verificiramo učinkovitost metode na podlagi primerjave sklepnih hitrosti dveh različnih leg obdelovanca. 159 Natančno sledenje obliki geometrijsko kompleksne površine predstavlja eno izmed kompleksnejših robotskih nalog, saj zahteva premikanje vrha orodja po površini obdelovanca s konstantno linearno hitrostjo in sinhrono spreminjanje orientacije z namenom zagotavljanja pravokotnosti orodja na površino. Če želimo oceniti in optimizirati sposobnosti robota za sledenje površini z iskanjem najbolj ugodne lege obdelovanca, je potrebno najprej poznati njene natančne tehnološke zahteve. 2.1 Pozicija in orientacija referenčnih točk Tehnološka pot po površini geometrijsko razgibanega obdelovanca je sestavljena iz povezanega niza diskretnih referenčnih leg vrha robota, ki jih lahko opišemo s homogenimi transformacijskimi matrikami 4x4: T | T i i = ( pi , Ri )  SE(3), i  1,..., N , (1) kjer pi  3 predstavlja pozicijo vrha orodja, Ri  SO (3) njeno orientacijo in N število vseh definiranih referenčnih leg na tehnološki poti. Pozicije leg so določene tako, da so le-te enakomerno razporejene po površini, njihova orientacija pa je v vsaki točki definirana pravokotno na površino, kot v prerezu prikazuje slika 1. 3.1 Kinematična manipulabilnost Direktna hitrostna kinematika robotskega mehanizma za konfiguracijo q  n opisuje povezavo med vektorjem zasuka   m in sklepnimi hitrostmi q  Jacobijeve matrike J  mxn n preko :  = J (q )q . (5) Merilo za učinkovitost preslikave hitrosti iz notranjega v zunanji prostor robota in s tem povezane sposobnosti premikanja vrha robota podaja Yoshikawin indeks manipulabilnosti [1] v obliki: w = det( JJ T ) . Slika 1 Pozicija in orientacija referenčnih točk ter smer linearne in kotne hitrosti Smer linearne in kotne hitrosti v referenčnih točkah 2.2 Večina postopkov površinske obdelave zahteva premikanje vrha orodja po površini s konstantno linearno hitrostjo. Če se želimo v vsaki definirani referenčni legi robota, opisani z (1), premikati s konstantno linearno hitrostjo, je potrebno v zahtevanem časovnem intervalu opraviti ustrezno spremembo pozicije z linearno hitrostjo vi  3 in obenem tudi ustrezno spremembo orientacije s kotno hitrostjo i  zasuka  i :  i = vi i   T 6 3 . (2) Linearna hitrost vi  Vi  in s smerjo u  v i , kar opišemo z vektorjem 3 3 je določena z velikostjo , kot prikazuje slika 1: vi = Vi  uiv , kjer je Vi = vi (3) 2 in uiv = vi / vi 2 . Podobno je kotna hitrost določena z velikostjo  i   ui  3 in s smerjo , kot prikazuje slika 1: i = i  ui , kjer je i = i 2 (4) in ui = i / i 2 . (6) Vrednost indeksa ocenjuje gibljivost obravnavane robotske konfiguracije in je neodvisna od želene smeri premikanja ter na ta način zgolj v grobem ocenjuje bližino do singularne lege. Sposobnost premikanja robota v smeri določeni z vektorjem u  m lahko podamo s smernim kinematičnim indeksom manipulabilnosti wdir [3]: wdir = uT ( JJ T ) −1 u  kjer je u =  /  2 −1/ 2 , (7) (in m = 6 ). Kadar ocenjujemo kinematično sposobnost premikanja robota, imamo v mislih sposobnost dovajanja linearne in kotne hitrosti. Smerni kinematični indeks manipulabilnosti podaja sposobnost dovajanja linearnih in kotnih hitrosti v obliki ene, skupne skalarne vrednosti, vendar pri izračunu norme vektorja zasuka  prihaja do neželenega mešanja enot translacije in rotacije. Problem nekonsistentnosti enot v hibridnem prostoru hitrosti mnogo študij sploh ne izpostavi [3]. Nekateri avtorji to rešujejo z metodami, ki vključujejo uvedbo utežnostnih faktorjev [5, 6], vendar ne ponujajo univerzalne rešitve, saj izbira njihovih vrednosti ostaja arbitrarna. Zato bomo v nadaljevanju predstavili nov indeks kinematične izvedljivosti, ki ocenjuje sposobnosti premikanja robota glede na maksimalne razpoložljive sklepne hitrosti. 3.2 Indeks kinematične izvedljivosti Če obravnavamo ne-redundantni robotski mehanizem ( m = n) , lahko inverzno hitrostno kinematiko izrazimo: q = J −1 (q) . 3 Kinematična izvedljivost robotske naloge Čeprav lahko robot vsako točko svojega priročnega delovnega prostora doseže s poljubno orientacijo, je potrebno za zagotavljanje izvedljive robotske naloge upoštevati tudi kinematične omejitve robota. Kinematično izvedljivost robotske poti lahko zagotavljamo zgolj na način, da podane tehnološke zahteve robotske naloge ne presegajo razpoložljivih kinematičnih sposobnosti robota. 160 (8) Kadar analiziramo premik robota bo le-ta kinematično izvedljiv pod pogojem, da potrebne sklepne hitrosti q =  q1 , q2 ,..., qn   Rn T ne bodo presegle maksimalnih limit sklepnih hitrosti max max max n qmax = q1 , q2 ,..., qn   R v nobenem izmed n sklepov: −q max  q j  q max , j = 1, 2,..., n . j j (9) Maksimalno absolutno vrednost elementov vektorja sklepne hitrosti q lahko zapišemo tudi v obliki neskončne norme: q  = max  q1 , q2 ,..., qn  . (10)  Če z matriko uteži Wq = diag (q1max )−1 ,...,(qnmax )−1  upoštevamo maksimalne sklepne hitrosti posameznega sklepa, lahko neenačbo (9) z upoštevanjem (10) in (11) q = Wq q (11) preoblikujemo v normirano obliko: q   1. (12) Inverzno Jacobijevo matriko J lahko razčlenimo na translacijski del Pv in rotacijski del P (kot v [5]): J −1 =  Pv P  , kjer je Pv  nx 3 (13) in P  nx 3 . Z upoštevanjem (13) in (2) normirane sklepne hitrosti q zapišemo kot normirano vsoto sklepnih hitrosti, ki povzročijo spremembo pozicije qv  6 in spremembo orientacije q  6 : v P    = Pv v + P  = qv + q ,   q = Wq  Pv (14) kjer je qv = Pv v in q = P  . Neenačbo (12) potem preoblikujemo v: q  = qv + q 1 .  (15) Na podlagi tega lahko izraz (12) zapišemo kot: v PVu + Pr u t  1. (16) Za potrebe aplikacije sledenja površini, kjer je zahtevano sinhrono translacijsko in rotacijsko gibanje robota bomo uvedli nov indeks kinematične izvedljivosti na podlagi katerega lahko ocenjujemo sposobnosti premikanja vrha robota v želeni smeri glede na maksimalne razpoložljive sklepne hitrosti. Pri tem naj bo razmerje med velikostjo linearne in kotne hitrosti definirano s h  : h =V / . (17) Njegova vrednost je določena z geometrijo površine in je neodvisna od kinematičnega skaliranja robotske trajektorije. Indeks kinematične izvedljivosti definiramo ob predpostavki, da velja q = 1 in ga izračunamo:  −1  dir = Pv u + P h u v Vrednost indeksa −1  . kinematične (18) izvedljivosti  dir predstavlja maksimalno velikost linearne hitrosti Vmax , ki za premik v smeri določeni z u v ne bo povzročila 161 preseganja maksimalnih sklepnih hitrosti v nobenem izmed sklepov. Višja kot je vrednost indeksa, z višjo hitrostjo lahko robot izvede premik v obravnavani smeri. 3.3 Ocenjevanje kinematične izvedljivosti robotske naloge Kadar analiziramo kinematično izvedljivost v naprej definirane robotske poti, podane z nizom diskretnih leg robota (1), je potrebno preučiti kinematične sposobnosti robota glede na podane zahteve robotske naloge v vsaki izmed N leg na celotni robotski poti in jih, z namenom iskanja najbolj ugodne lege obdelovanca, za podano lego obdelovanca predstaviti v obliki ene skalarne vrednosti. Če predpostavimo konstantno linearno hitrost robota na celotni poti in kotno hitrost, ki je določena predvsem z razgibanostjo površine, lahko zagotavljamo kinematično izvedljivost robotske naloge zgolj s takšnim kinematičnim skaliranjem, ki pri preslikavi v sklepni prostor ne bo povzročil preseganja maksimalnih kinematičnih sposobnosti robota t.j. limit sklepnih hitrosti qmax  n v nobeni izmed N leg na robotski poti. Ker je verjetnost za prekoračitev limit sklepnih hitrosti največja v legi, kjer so sposobnosti premikanja robota glede na podane zahteve naloge najslabše (najnižja vrednost indeksa kinematične izvedljivosti), vzamemo kot merilo za ocenjevanje kinematične izvedljivosti celotne robotske naloge minimalno vrednost indeksa kinematične izvedljivosti glede na vse obravnavne referenčne lege na robotski poti: path dir = min(dir (i)), i = 1,..., N . (19) 4 Rezultati S ciljem iskanja kinematično optimalne lege obdelovanca smo učinkovitost metode prikazali na primeru robotske naloge sestavljene iz 133 točk. Tekom kinematične analize delovnega prostora robota, smo obdelovanec premikali s korakom 20 mm v x-y ravnini obravnavanega delovnega prostora robota UR5, ki zajema prostor v območju x = -250 mm…250 mm, y = 250 mm…650 mm in z = 100 mm relativno glede na bazni koordinatni sistem robota {B}, kot prikazuje slika 2. Za vsako posamezno lego obdelovanca smo izračunali obravnavani indeks kinematične izvedljivosti robotske path poti dir na podlagi vrednosti katerega smo obravnavani točki delovnega prostora dodelili pripadajočo barvo in na ta način grafično prikazali karakteristiko kinematično optimalne postavitve obdelovanca v primeru, da koordinatni sistem obdelovanca {O} postavimo v obravnavano točko. 4.1 Barvna mapa izvedljivosti robotske naloge Barvna mapa izvedljivosti robotske naloge, ki je prikazana na sliki 2, predstavlja barvno ponazoritev izvedljivosti v naprej definirane robotske naloge v diskretiziranem delovnem prostoru robota, ki nam je v pomoč pri optimalni postavitvi obdelovanca. Področja v delovnem prostoru robota, ki so obarvana z rdečo barvo, predstavljajo območja z najnižjo vrednostjo indeksa path kinematične izvedljivosti robotske naloge dir . To pomeni, da bo robotska naloga za to lego obdelovanca izvedljiva zgolj z najnižjo linearno hitrostjo. Medtem ko modro obarvana področja predstavljajo kinematično najbolj ugodna območja, saj je vrednost opisanega indeksa najvišja. To pomeni, da bo robotska naloga za to lego obdelovanca izvedljiva z najvišjo linearno hitrostjo, ne da bi bile presežene limite sklepnih hitrosti. Slika 4 Primerjava sklepnih hitrosti kinematično neugodne (levo) in ugodne (desno) lege obdelovanca 5 Zaključek Slika 2 Barvna mapa izvedljivosti robotske naloge Da bi lahko potrdili učinkovitost predstavljene metode, smo izračunali sklepne hitrosti za dve različni legi obdelovanca. V prvem primeru smo izbrali kinematično najmanj ugodno lego (rdeče) in v drugem kinematično najbolj ugodno lego (modro), glede na barvno mapo prikazano na sliki 2. S škatličnega diagrama na sliki 3 je razvidno, da so v obeh primerih dosežene maksimalne vrednosti sklepnih hitrosti, vendar je linearna hitrost pri kateri jih dosežemo v primeru kinematično neugodne lege (V = 0.0548 m / s) za več kot polovico nižja od linearne hitrosti v primeru kinematično ugodne lege (V = 0.1233 m / s ) . f Slika 3 Primerjava sklepnih hitrosti pri maksimalni linearni hitrosti v kin. neugodni (levo) in ugodni legi (desno) Z namenom verifikacije smo opravili še eksperiment v simulacijskem okolju URSim. Obe robotski trajektoriji smo izvedli z enako linearno hitrostjo ( 50 mm / s ), ki ne presega kinematične zmogljivosti robota v nobeni izmed obravnavanih leg. Primerjavo absolutnih vrednosti sklepnih hitrosti, prikazano na sliki 4, smo predstavili v obliki škatličnega diagrama. Za razliko od velikosti sklepnih hitrosti kinematično neugodne lege obdelovanca, kjer lahko opazimo izrazito obremenitev 3. in 4. sklepa, so velikosti sklepnih hitrosti v primeru kinematično ugodne lege znatno nižje, posamezni sklepi pa bolj enakovredno obremenjeni. 162 Na podlagi rezultatov primerjave sklepnih hitrosti je razvidno, da lahko enako tehnološko pot opravimo z bistveno nižjimi sklepnimi hitrostmi, če poznamo kinematično optimalno lego obdelovanca. V pomoč pri tem nam je indeks kinematične izvedljivosti robotske path poti dir , ki smo ga izpeljali v članku. Le-ta nam podaja maksimalno vrednost linearne hitrosti robotske poti pri kateri ne bodo presežene limite sklepnih hitrosti v nobenem izmed sklepov. Ključna prednost predstavljenega indeksa v primerjavi s smernim indeksom kinematične manipulabilnosti je v tem, da upošteva maksimalne sklepne hitrosti posameznih sklepov. S takšno analizo lahko s preiskovanjem delovnega prostora robota poiščemo kinematično najbolj optimalno lego obdelovanca in na ta način dosežemo maksimalno izkoriščenost zmožnosti robota glede na podane zahteve robotske naloge. Ker pa izvedljivost robotske naloge ni omejena samo s kinematičnimi zmožnostmi robota, bomo v nadaljnjem delu vključili tudi njegove dinamične omejitve, kot so limite sklepnih navorov in pospeškov. Literatura [1] T. Yoshikawa, "Manipulability of Robotic Mechanisms," The International Journal of Robotics Research, 1985. [2] Nikolaus Vahrenkamp and T. Asfour, "Representing the Robot's Workspace through Constrained Manipulability Analysis," 2014. [3] S. Chiu, "Task Compatibility of Manipulator Postures," The International Journal of Robotics Research, vol. 7, no. 5, pp. 13-21, 1988. [4] H. B. Choi and J. Ryu, "Convex Hull-based Power Manipulability Analysis of Robot Manipulators," (in English), 2012 Ieee International Conference on Robotics and Automation (Icra), pp. 2972-2977, 2012. [5] R. Finotello, T. Grasso, G. Rossi, and A. Terribile, "Computation of kinetostatic performances of robot manipulators with polytopes," presented at the Proceedings. 1998 IEEE International Conference on Robotics and Automation, Leuven, Belgium, 1998. [6] A. Nektarios and N. A. Aspragathos, "Optimal location of a general position and orientation end-effector's path relative to manipulator's base, considering velocity performance," (in English), Robotics and ComputerIntegrated Manufacturing, vol. 26, no. 2, pp. 162173, Apr 2010. Open-hardware open-source low-cost underwater ROV Vid Rijavec, Danijel Skočaj University of Ljubljana, Faculty of Computer and Information Science E-mail: vid.rijavec@gmail.com, danijel.skocaj@fri.uni-lj.si Abstract As monitoring coastal regions becomes ever more topical due to unforeseen changes in ecosystems there still has not been a major breakthrough in marine robotics when it comes to mass accessibility. In this work we present our low-cost prototype of an underwater remotely operated vehicle (ROV) for coastal exploration and monitoring. We present the mechanical, electrical and software components of the developed ROV and describe the results of field tests. We made all the data, schematics, software, and documentation needed for construction of a such low-cost vessel publicly available. Our vessel, shown in Fig. 1, is designed as a combination of the classical AUV torpedo-like design and the typical boxy ROV designed for high movement accuracy, by combining the hydrodynamic hull shape with multiple control thrusters to allow for more degrees of freedom than a singular rear propeller. Our intention was to construct a fast-moving ROV that can explore a coastline from shore, one that’s controlled by a pilot using a tablet computer but offers advanced stabilization functions and an autopilot for ease of use. As such our design is a compromise between the two underwater vehicle types, giving the vessel greater speed at the cost of some maneuverability. Keywords ROV, submarine, low-cost, Raspberry Pi 1 Introduction Robotics has been making major strides in worldwide adoption, especially in unmanned ground and aerial vehicles (UGVs and UAVs) where prices have been dropping and with household robots entering mass production. The same cannot be said regarding autonomous underwater vehicles (AUVs) and remotely operated underwater vehicles (ROVs). The potential for such vessels includes controlling and monitoring large underwater areas without a large crew of divers and by users without diving certification. A number of species are already on the decline due to climate change [1], and those are being replaced by others, affecting ecosystems in unpredictable ways. As such, having access to more effective and low-cost AUVs and ROVs could help in detecting changes sooner, allowing for faster response and potential food chain collapse prevention. Similar applications involving monitoring coastal regions by utilising such an underwater robot are numerous. There are many commercial options for buying a research ROV. High-end versions include the iBubble EVO [2] or the Blue Robotics BlueROV2 [3], with projects like the Blue Dot Model C [4] presenting a more affordable but less capable option. Given that even the lowcost options still aren’t truly affordable most enthusiasts still prefer to construct their own do-it-yourself (DIY) research vessel to customize it to their needs. However, most of these attempts tend to still be bulky and analog. ERK'2021, Portorož, 163-166 163 Figure 1: ROV CAD Model. The visible components of the vessel are: a PVC pressure hull, external LED lights, modified bilge pump thrusters (allowing movement in 4-DoF), rear stabilizers, a top handle, and a transparent camera dome. The paper outlines the system and the specific components we’ve developed for it, with the rest of the code, schematics and documentation being available on Github [5]. 2 Mechanical design Figures 2, 3 and 4 present an overview of the ROV and its component parts, along with the tablet computer used by the pilot. The entire vessel is approximately 74 cm long and weighs just over 10 kg with batteries. Building a sturdy and resistant pressure hull requires a rigid and non-permeable material that can be effectively glued to other parts. Out of all the tested low-cost components, the most cost-effective parts were determined to be PVC-U sewer pipe sections. We’ve used a cleaning section of pipe to make up the majority of the hull, as it has an external hatch which is practical for accessing internal electronics. The front of the vessel is capped with an acrylic dome with a thickness of 3 mm, to allow the internal camera to see the underwater environment. It’s attached to the sewer pipe hull using epoxy glue and silicone caulking. The curvature of the dome later proved to be detrimental to the video quality as it added unwanted distortions and reflections. A more optimal design would involve the use of a thicker but flat (but smaller) front window. The video is then processed and sent over a length of rugged CAT 5E cable. limits the sub’s operational depth. As such, using fully flooded brushless motors may be a better fit if greater depths are needed. Rear wings aid with stabilization when moving at speed and were also chosen to be constructed out of PVC due to its light weight. The tail itself is not pressurized (typically called an outer or light hull which allows for water ingress) and houses the water pressure sensor, the tail fins, and protects the power/data cables along with providing better hydrodynamic performance. 3 Hardware and electronics The electronics system as seen on the cutaway in Fig. 3 is centered around a single board computer, specifically the Raspberry Pi 2 Model B+, due to its low cost and lower TDP than later versions. The key features were GPIO pin access and the RJ45 socket which allows for an Ethernet link between the vessel and the control app on the surface. The surface component is a low-cost Lenovo tablet computer encased in a 3D printed housing that connects to the Ethernet link using an external USB dongle as seen in Fig. 4. Figure 2: Top view of the vessel. 1. PLA flashlight mount. 2. Depth control thrusters. 3. Horizontal movement thrusters. 4. Zip ties. 5. PLA thruster nacelles. 6. CAT 5E cable. Figure 4: Tablet-based remote control system. 19. Reinforced CAT 5E cable (70 m total). 20. Cable clamp. 21. 3D printed splash-proof housing. 22. M3 screws. 23. Micro USB connector. 24. Ethernet network card. 25. Lenovo Tab 3. Figure 3: Internal cutaway of the vessel. 7. Transparent dome containing the Pi camera and IMU. 8. Cytron MDD10A motor drivers. 9. Dual purpose top fin and handle. 10. Steel structural rail. 11. Motor wires. 12. Diving flashlights with diffusers. 13. Voltage divider and ADC. 14. Access hatch. 15. Single board computer. 16. 2x 5 Ah 3S LiPo batteries. 17. 5 V 10 Ah Power bank. 18. Water pressure sensor. Submersible DC bilge pump motors intended for clearing out any water that seeps into a ship’s bilge are a common choice for DIY ROV construction. The main appeals are the low cost, ease of modification and full water ingress protection. A simple improvement is to remove the pump’s impeller and housing, replacing them with a more efficient propeller [6] to achieve higher (and reversible) thrust. Our prototype uses nylon boat propellers sized at 56 mm. These motors do have a drawback the o-ring seal around the shaft which exerts increasing amounts of drag with increasing pressure [7]. The seals fully block the shaft from rotating at around 25 m, which 164 3.1 Propulsion As the ROV uses DC brushed motors (with a current rating of 5 A), we chose low cost Cyron MDD10A motor drivers to connect them to the Pi. Since the current rating of the drivers is twice the required maximum we can count on lower internal heating. 3.2 Sensors The ROV is equipped with various sensors: an IMU, a water pressure (depth) sensor, a battery voltage sensor, an internal air pressure and a temperature sensor. We’ve also used a Pi Camera Module v2, and later the D160 fish eye modification for video recording. We’ve used the MPU9250 IMU, which offers an accelerometer, gyroscope and magnetometer. The expansion board used is the GY-91 which also contains a BMP280 pressure and temperature sensor, so that is used to log the state of internal air as well. For the water pressure sensor we’ve selected a lowcost transducer intended for measuring the pressure inside hoses with a capability of 0.8 MPa (which equates to roughly 80 m depth of seawater). As the sensor is analog and the Pi has no analog reading pins we’ve also added a 10 bit 4-channel ADC to link the two together. As the ADC has spare channels we can also measure battery level using a voltage divider circuit. 4 Software We’ve based our software around a socket.io link, which allows communication between the C# Unity app running on the remote control tablet, and the node.js server running on the submarine itself, which controls most of the functionality. To avoid having a rooted system on the tablet and a static IP, the Raspberry Pi instead acts as a DHCP server and assigns a known IP to any Ethernet connected device. Not all of the system can be managed with node.js directly, as the libraries that allow full Pi Camera configuration have only been provided for Python and C++. Since the system requires the usage of GPU splitter ports to simultaneously stream and record video while taking pictures, the camera control part ended up being implemented in Python, which is then launched and managed from the node.js server. 4.1 Stabilization We implemented two automatic functions: depth hold and heading hold. Establishing proportional control between the detected depth and target depth turned out to be enough to archive a satisfactory depth hold. A more advanced system was required for holding a specific heading. An AHRS IMU fusion system [8] was added to get a good internal belief state regarding the submarine’s orientation. We’ve then implemented a 360degree-capable proportional rotational system, which allows the pilot to input a single forwards or backwards speed while the vessel holds orientation. Full PID controllers did not turn out to be required for adequate stabilization due to high drag and inherent damping and were also infeasible to properly tune during operation. The system manages the aforementioned sensors and streams their data to the tablet, uses them internally for stabilization and also records them into a log file for later use. 4.2 Remote control app We’ve implemented a front-end interface for controlling and configuring the submarine from a tablet computer, which was developed using Unity. The video arriving from the camera in a mjpeg format is displayed using an adapted version of the Mjpegprocessor library [9], while the rest of the telemetry and commands get routed through the socket.io library [10]. Fig. 5 shows the GUI while streaming the image of a calibration board, which indicates the camera field of view. The main functionality is remote control, which is done either with manual joysticks or by selecting a direction using the bottom compass bar and a depth using a vertical depth indicator. In order to provide as much 165 Figure 5: Layout of the tablet interface, showing the relevant telemetry and video feed. on-site debugging power, the app can set all stabilization and video recording parameters and allow for rudimentary terminal access. 4.3 Visualization and analysis We built a Godot engine visualizer to attempt to process the recorded log file data and reconstruct the ROV’s odometry to some degree as seen in Fig. 6. The logged data gives us two absolute measurements: rotation (based on the fused IMU data) and depth (calculated from water pressure readings). It’s not possible to completely determine the movement path using just these two values, however, we also logged the individual thrusters’ speeds which were used to infer movement velocity. While it’s not possible to compensate for drift due to waves and currents the resulting movement path is still good enough in most cases. While the data was logged every 100 ms, the visualization ran at a higher frequency (16 ms for 60 frames per second) so the data had to be linearly interpolated for smooth movement. A synced on-board video of a dive with the telemetry visualization which can be viewed on Youtube [11]. Figure 6: The ROV being rendered in Godot, visualizing a recorded dive and drawing a trail behind the vessel. 5 Evaluation and testing The finalized ROV shown in Fig. 7 performed as required and is capable of exploring a coastal area while recording clear video as shown in Fig. 8. An edited compilation of video recordings that sums up research, construction and testing can be viewed on Youtube [12]. tional sonar sensors designed for AGV/AUV atmospheric usage lack the required power and do not operate in effective frequencies, which lowers the range and accuracy under water to unusable levels. 6 Figure 7: The ROV with an action camera mounted on the top rail. To determine the effects of different buoyancy on the system’s operation, tests were done in both salt and fresh water. The difference ended up being minor, however, the depth calculation can be off by 2.5 % due to the extra mass of salt water. We therefore added parameters that can be changed in the mobile app to compensate for the changing environment. We’ve used two different action cameras to record external video during testing: the Apeman A80 and later a GoPro Hero 9 Black combined with a red filter as the previous setup proved unsatisfactory. Having a red filter allows us to do an initial colour correction by restoring the lower wavelengths which get absorbed far more in water and lead to over-saturation of green and blue. The recorded data shows that the air pressure in the ROV stays relatively constant regardless of depth, which would mean that there is minimal flex in the pressure hull as intended. The internal air temperature also stayed close to the external water temperature. It would appear the lack of isolation in the hull provides for excellent cooling and would allow for higher TDP computers to work without issues. Conclusion In this paper, we described the process of building a lowcost underwater DIY ROV with open-source hardware and software, useful for light research and monitoring of shallow coastal regions. We’ve achieved this goal by choosing a crush depth of 25 m and used less resistant and subsequently cheaper materials, as well as using 3D printed components to fill the gap between other parts. The total cost of the system ended up being around 400 C, excluding the tablet computer and action cameras. The vessel is stable enough to record useful video due to the included IMU and sensor fusion, while being able to utilize its high top speed to rapidly traverse a chosen area and locate points of interest. The external mechanical design is robust enough to handle expected conditions, however the electrical internal setup could be further improved by designing a dedicated printed circuit board. 7 Acknowledgements The authors would also like to thank professors Dr. Nikolaj Zimic and Dr. Matjaž Vidmar for their help and contributions in the research phase of the project. References [1] Marine Food Webs Are on the Brink of Collapse Because of Climate Change, https://futurism.com/marine-foodwebs-brink-collapse-because-climate-change [2] iBubble - Your Personal Underwater Cameraman, http://ibubble.camera/product/ibubble-autonomousunderwater-drone [3] Blue Robotics, http://bluerobotics.com [4] Blue Dot Underwater Drones, https://www.bluedotrov.com [5] Source code, schematics and documentation, https://github.com/MoffKalast/RaspberryUnderwaterROV [6] Homebuilt ROVs - Seafox Retrofit Thrusters, https://www.homebuiltrovs.com/seafoxretrofitthrusters.html [7] Homebuilt ROVs Mayfair 750 GPH Bilge Pump Thruster Testing, http://www.homebuiltrovs.com/mayfair750test.html [8] ahrs - npm, https://www.npmjs.com/package/ahrs Figure 8: Fan mussles which were found in large numbers when testing in Izola, some of them decayed due to parasite infestation, confirming news sources [13]. Another addition to the system would be a sonar system for sea floor and obstacle detection, however, there are no affordable sensors that are capable of being integrated into a custom system at this time. One would need to construct a custom driver circuit for a commercial fish finder sonar transducer (e.g. TL88E, XF02), as conven- 166 [9] SampleUnityMjpegViewer, https://github.com/DanielArnett/SampleUnityMjpegViewer [10] socket.io-unity, https://github.com/floatinghotpot/socket.io-unity [11] ROViz visualization, https://www.youtube.com/watch?v=M0sli2o5RJY [12] Construction and testing video, https://www.youtube.com/watch?v=DufHhX7p4Xk [13] Slovenian sea researchers uncover a number of deceased fan mussles, https://www.sta.si/2797119 Lokalizacija nakupovalnega vozička v trgovini Aljaž Trebušak, Peter Krapež Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana E-pošta: at2337@student.uni-lj.si Localization of a shopping cart in a supermarket Podjetje je podalo pobudo za izdelavo sistema, ki ga bomo predstavili v nadaljevanju. A method of localization of a shopping cart in a supermarket is proposed. Online shops have become very popular nowadays, even grocery shopping. We developed a system that helps workers navigate through the supermarket when gathering groceries for online orders to help speed up the process. The system consists of five Ultrawideband beacons for rough localization. Four of them are placed in four store corners, and the fifth is mounted on the shopping cart. For precise localization and orientation of the cart, Aruco markers on the store shelves are used. We detect them with a camera that is mounted on a shopping cart. A graphical user interface for a 7-inch touchscreen was also developed. The worker is presented with information about his/her position in a store. The interface also shows the surrounding shelves, which are coloured green when their markers are detected. The entire system can be modified to adapt to a specific store or customer demand. 1 Uvod Trgovine z mešanim blagom se, zaradi novih tehnologij in s tem tudi drugačnih navad ljudi, srečujejo z novimi oblikami poslovanja. S tem pa tudi z novimi izzivi. Sploh v času korona krize, ko je dostop do trgovin omejen. Ena izmed teh oblik je tudi prodaja preko spletnih trgovin. Kupci torej preko spletne strani trgovca naročijo izdelke na dom. Ideja je sama po sebi precej enostavna, vendar se v ozadju skriva veliko dela in priprav. Da lahko spletno poslovanje sploh funkcionira, mora biti celoten sistem med seboj usklajen in časovno učinkovit. Eden od delov tega sistema, je tudi nabiranje in priprava izdelkov za pošiljanje na dom. Zaenkrat, prej omenjena naloga poteka podobno kot če bi mi prišli v trgovino, le da to za nas opravi nekdo drug. Zaposleni torej dobi nakupovalni seznam živil, ki smo jih kupili v spletni trgovini. Nato se z nakupovalnim vozičkom poda v trgovino in po trgovini nabira naročene izdelke. Pri planiranju poti, ki jo prehodi se lahko zanaša le na lastne izkušnje o tem, kje se določeni izdelki nahajajo. Takšno delo je zato precej naporno, tako fizično kot psihično. Pri podjetju SPAR Slovenija, so se zato odločili, da bodo zaposlenim skušali olajšati delo, obenem pa skrajšati dobavne roke pri naročanju iz njihove spletne trgovine. ERK'2021, Portorož, 167-170 167 2 Naloga Naša naloga je bila, da v sodelovanju s podjetjem SPAR Slovenija in Robolabom, razvijemo sistem za lokalizacijo nakupovalnega vozička v trgovini. Takšen sistem bi omogočal določitev pozicije nakupovalnega vozička kjerkoli znotraj trgovine. S tem bi zaposleni, ki izpolnjuje spletne nakupovalne sezname točno vedel kje se nahaja in kje se nahajajo izdelki iz seznama. Sistem bi izračunal tudi optimalno pot po trgovini, kar bi skrajšalo čas za izpolnitev posameznega naročila. Obenem se na vozičku nahajal tudi grafični vmesnik z vsemi potrebnimi informacijami (npr. izpolnjenost nakupovalnega seznama, trenutna pozicija na zemljevidu trgovine, pot, lokacija izdelka). Prilagojen sistem bi lahko uporabljali tudi kupci. V tem primeru bi lahko le spremenili grafični prikazovalnik, da bi prikazoval recimo tudi ceno in popuste, omogočal iskanje izdelkov. Tudi pot po trgovini bi lahko spremenili iz časovno optimalne na poslovno optimalno. Pri izvedbi naloge smo se odločili za uporabo široko pasovne radijske tehnologije (ang. Ultra-wideband, UWB) za določitev absolutne pozicije v prostoru ter Aruco markerjev za določitev natančne lege v okolici polic. 2.1 UWB tehnologija UWB je radijska tehnologija za komunikacijo na kratkih razdaljah, podobno kot Bluetooth ali WiFi. Za razliko od njiju, deluje na razmeroma visokih sredinskih frekvencah nad 2,5 GHz in s pasovno širino vsaj 500 MHz oziroma 20 % sredinske frekvence. Zaradi velike pasovne širine je lahko oddan signal v časovnem prostoru zelo kratek, kar omogoča visoko časovno ločljivost. Uporablja se za hitro komunikacijo in lokalizacijo z veliko točnostjo. Razdalje med napravami izračunava algoritem, ki temelji na merjenju časa preleta (angl. Time-of-Flight). Še ena lastnost, ki jo velja poudariti, je zelo majhna poraba energije [1, 2]. 2.2 Aruco markerji Aruco marker je digitalno ustvarjen kvadrat s črnim robom, njegova notranjost pa je sestavljena iz črno-bele matrike, ki izgleda kot nekakšen vzorec. Črni rob markerja omogoča hitro detekcijo, iz vzorca pa razberemo ID 3 [3]. Algoritem detekcije markerjev deluje tako, da najprej določi možne kandidate. Nato preveri, če njihova notranjost ustreza binarni kodi Aruco markerjev. Kandidatom, ki ustrezajo tem pogojem priredi ID številke. Nazadnje z znanimi parametri kamere, markerjem določi še njihove koordinatne sisteme. 3 4 5 y Eksperimentalni sistem Eksperimentalni sistem sestoji iz petih UWB modulov (Slika 1), mikro računalnika Raspberry Pi 4b, 7 palčnega zaslona na dotik, kamere in Aruco markerjev. Za komunikacijo med komponentami uporabljamo USB vodilo. 1 x 2 Slika 2: Shema sistema UWB modulov. Slika 1: UWB modul s plastičnim ohišjem. Štirje UWB moduli so uporabljeni kot stacionarni moduli - svetilniki z znano pozicijo. Peti UWB modul je mobilni modul – uporabnik, ki ga lokaliziramo v prostoru (Slika 2). Svetilnike postavimo v štiri vogale prostora (npr. trgovine) znotraj dometa meritve razdalje tako, da so večino časa v vidnem polju mobilnega modula. To najlažje dosežemo tako, da jih namestimo čim višje pod strop. Uporabniški modul je nameščen na nakupovalni voziček in se z njim premika po prostoru. Razdalje med uporabnikom in svetilniki se izračuna z dvosmernim določanjem časa preleta [4] na uporabniški strani. Izmerjene razdalje se preko USB vodila pošilja na računalnik, na katerega je uporabnik priklopljen. Računalnik na podlagi pridobljenih razdalj sproti izračunava lego vozička, z uporabo trilateracije, obenem pa skrbi za nadzor in nemoten potek komunikacije med oddajniki. S trilateracijo izračunamo absolutno pozicijo vozička v prostoru s točnostjo do 20 cm. V drugem koraku z uporabo kamere in Aruco markerjev pridobimo informacijo o tem ali se nahajamo pred določeno polico znotraj nekaj cm. Z vozičkom, na katerega je pritrjena kamera, se premikamo po prostoru in zaznamo marker na polici. S tem pridobimo informacije, ki nam omogočajo določitev natančne lege vozička glede na marker. Obenem izvemo tudi pri kateri polici se nahajamo saj ima vsak Aruco marker unikatno identifikacijsko številko (ID). Detekcijo markerjev bomo podrobneje predstavili v poglavju 4. Pozicijo uporabnika v prostoru in prikazujemo na 7 palčnem zaslonu na dotik. Ta je preko mini HDMI kabla povezan z računalnikom, na katerem se izvaja algoritem za lokalizacijo. Zaslon nam služi kot uporabniški vmesnik. Zaenkrat le prikazuje informacije o poziciji in nima možnosti vnosa. V kolikor bi želeli v prihodnosti dodati 168 recimo iskalnik izdelkov, priklic prodajalca ali kaj podobnega, imamo tudi možnost takšne nadgradnje. Sprva smo sistem zasilno postavili doma v dnevni sobi. Postavitev ni bila optimalna (majhne razdalje, sistem postavljen na tleh), kar se je odražalo v točnosti meritev. Nato smo sistem postavili še v Laboratoriju za robotiko. Svetilnike smo pritrdili približno 1,8 metra od tal in s pomočjo referenčnega sistema Optotrak ter testnih polic izvedli meritve. Rezultati sledijo v poglavju 5. 4 Metodologija Celoten algoritem lokalizacije in tudi grafični vmesnik smo sprogramirali v programskem jeziku Python 3 z uporabo podpornih knjižnic Scipy, Numpy, Serial v programskem okolju Visual Studio Code. Poleg tega smo uporabljali tudi program za oddaljeni dostop do Raspberry Pija – Putty ter program za prenos datotek med Raspberry Pi-jem in osebnim računalnikom – FileZilla. Zajem Aruco markerjev smo izvedli z uporabo navadne spletne kamere in openCV knjižnice. Grafični vmesnik smo izdelali z uporabo Python paketa TKinter. 4.1 Trilateracija Prvi korak pri našem algoritmu, je bila izvedba trilateracije. Trilateracija je postopek določanja neznane pozicije uporabniškega modula u, na podlagi znanih pozicij vsaj treh svetilnikov ai v 2D prostoru in izmerjenih razdalj d1 , d2 in d3 med svetilniki in uporabnikom (Slika 3). Vsaka od teh razdalj nam pove, koliko stran od njih se mobilni modul nahaja. Torej, ko izmeri razdaljo d1 , lahko sklepamo, da se nahaja nekje na krožnici s središčem v a1 in polmerom d1 . Podobno velja za razdalji d2 in d3 . Na podlagi teh treh krožnic uporabnik izračuna njihovo presečišče in s tem določi svojo pozicijo [5]. Relacijo med izmerjenimi razdaljami, znanimi pozicijami svetilnikov ai in neznano pozicijo uporabnika u zapišemo z: di = ku − ai k , (1) za n svetilnikov zapišemo sistem linernih enačb Au = b   2 2 a2 − a1 d21 − d22 − ka1 k + ka2 k     .. .. A= , ,b =  . . 2 2 2 2 an − a1 d1 − dn − ka1 k + kan k (2) pozicija uporabnika u se nato izračuna [6]  u = (AT A)−1 Ab. (3) Enako razmišljanje velja tudi za tri dimenzije, le da imamo v tem primeru namesto krožnic krogle, za enolično določitev pozicije mobilnega modula pa potrebujemo najmanj štiri stacionarne module. Čeprav smo izvajali izračun le v dveh dimenzijah, smo tudi mi uporabljali štiri svetilnike zaradi večje natančnosti. Uporabnik (na Sliki 2 označen s številko 5) torej ves čas meri razdalje do štirih svetilnikov. V program smo zapisali funkcijo, ki z uporabo trilateracije izračuna pozicijo uporabnika in s tem tudi pozicijo vozička v prostoru. 4.2 Kalmanov filter Izvedli smo tri verzije lokalizacje s uporabo UWB modulov. Prva verzija uporablja za določitev pozicije uporabnika le izračun trilateracije. Drugi dve poleg trilateracije vsebujeta tudi razširjen Kalmanov filter, kjer nelinearno funkcijo, ki opisuje sistem prehajanja stanj ali proces meritev, aproksimiramo z linearnim modelom [7]. Lokalizacijo s Kalmanovim filtrom smo torej izvedli na dva načina. Obema je skupno to, da se začetna stanja izračunajo preko trilateracije. Enaka sta tudi izračuna predikcije in korekcije. Razlikujeta se v izračunu kovariančne matrike šuma meritve (R). Namen spreminjanja vrednosti R je v zmanjševanju vpliva izmerjenih razdalj za katere lahko predpostavimo, da so napačne zaradi ovir med uporabnikom in svetilnikom. V prvem primeru preverjamo inovacijo, če je večja od določene meje, smatramo da ima izmerjena razdalja napako in pomnožimo pripadajoč element v R z inovacijo in dodatnim faktorjem. V drugem primeru primerjamo standardno deviacijo inovacije σ̂k v premičnem oknu. Predpostavljamo, da je vrednost σ̂k v primeru ovir med svetilnikom in uporabnikom večja kot pri pogojih brez ovir. Ko je σ̂k večja od izbrane vrednosti, se pripadajoči elementi v R pomnožijo z v naprej določenim faktorjem. 4.3 Detekcija Aruco markerjev Drugi del algoritma lokalizacije predstavlja detekcija Aruco markerjev. V splošnem se pozicija vozička med gibanjem po trgovini izračunava s trilateracijo. Kadar pridemo mimo police z markerjem, ga s kamero zaznamo ter preberemo njegov ID in podatke o koordinatnem sistemu. Ker poznamo parametre kamere, lahko naredimo preslikavo v koordinatni sistem kamere, nato pa še v koordinatni sistem vozička. Na ta način vozičku določimo natančno lego in orientacijo v prostoru in s tem izboljšamo rezultate trilateracije. 5 Rezultati V Laboratoriju za robotiko smo postavili celoten eksperimentalni sistem z dvema testnima policama in vozičkom. Na voziček smo pritrdili uporabniški modul in kamero ter na police nalepili markerje. Štiri svetilnike smo pritrdili na stojala in jih razporedili v vogale testnega prostora (slika 4). Pritrjeni so bili na višini približno 1,8 metra, uporabnik pa je bil ves čas v njihovem vidnem polju, z izjemo nekaj trenutkov, ko je operater potiskal voziček in je stal med uporabnikom in posameznim svetilnikom. Referenčno pozicijo vozička smo določili s sistemom Optotrak. Izvedli smo dvoje meritev. Prvič smo voziček premikali ob policah od začetka polic do konca v eno smer (Slika 4). Premik je prikazan s črno črto na Slika 4 (referenčna pozicija). Začetek polic se nahaja na levi strani slike, konec pa na desni. Črne pike na sliki predstavljajo izračune pozicije s trilateracijo, brez filtriranja. Koren povprečne kvadratne napake teh meritev znaša 0,193 metra. Temno sive pike predstavljajo izračune pozicije filtrirane s Kalmanovim filtrom. Vidimo, da bolj odstopajo od reference, kar potrdi tudi vrednost korena povprečne kvadratne napake, ki tokrat znaša 0,349 metra. 3 1,2 4 1,0 a3 OPTO UWB KAL1 KAL2 0,8 0,6 y/m d3 0,4 0,2 d1 0,0 u −0,2 d2 −0,4 −0,6 a1 a2 2 1 −0,5 0,0 0,5 1,0 1,5 x/m Slika 4: Premik vozička iz leve proti desni. Slika 3: Shema lokalizacije s trilateracijo. 169 2,0 1,4 OPTO1 OPTO2 UWB1 UWB2 3 1,2 1,0 0,8 y/m 0,6 0,4 0,2 0,0 −0,2 −0,4 −0,6 2 1 −0,5 0,0 0,5 x/m 1,0 1,5 2,0 Na sredini vmesnika se nahaja shema nakupovalnega vozička, okrog nje pa police označene s številkami od 1 do 6. Polici 2 in 5 se nahajata levo in desno od vozička. Z njih lahko vzamemo izdelke, saj sta v našem dosegu. Na vozičku je pritrjena kamera, ki spremlja okolico in išče markerje, narisane na policah. V trenutku, ko kamera zazna marker na polici, se na grafičnem vmesniku s sivo barvo pobarva polica, na kateri je zaznani marker (v našem primeru je to polica številka 2). Na ta način dobimo informacijo o tem, kje se trenutno nahajamo. Pika prikazuje pozicijo vozička glede na celoten prostor (Slika 6), katerega dimenzije smo linearno preslikali na grafični vmesnik. V danem primeru to pomeni, da se nahajamo približno na sredini trgovine, ob polici številka 2. Slika 5: Premik vozička iz leve (črna) proti desni in nazaj (siva). 6 Drugič smo voziček premikali od začetka polic do konca in nazaj (Slika 5). Tokrat smo prikazovali le izračune pozicije s trilateracijo, brez filtriranja. Črne pike na sliki predstavljajo izračune pozicije pri premiku od začetka polic, do konca. Sive pike predstavljajo izračune pozicije pri premiku nazaj na začetek polic. Črna in siva črta predstavljata referenčne pozicije vozička pri istih premikih. Koren povprečne kvadratne napake združenih meritev znaša 0,206 metra. Ugotovili smo, da natančnost izračuna pozicije s trilateracijo znaša približno 20 centimetrov. V primeru filtriranja s Kalmanovim filtrom, bi se morala napaka zmanjšati vendar se ta še poveča, na približno 35 centimetrov. Najverjetnejši vzrok je algoritem detekcije napake v izmerjeni razdalji. Predvidevamo, da so bile napake pri meritvah takšne, da ni bilo mogoče nastaviti parametrov filtra tako, da bi uspešno dušil izmerjene razdalje z napako. Pri lokaliziranju vozička z Aruco markerji smo dosegli povprečno napako 3 cm. Grafični vmesnik je zasnovan tako, da je enostaven za uporabo, prikazuje pa le najpomembnejše informacije. Z njim želimo prikazati pozicijo nakupovalnega vozička glede na njegovo okolico in informacije o tem, kateri izdelki se nahajajo v njegovi bližini. Spodaj je prikazana grafična podoba vmesnika (Slika 6). Zaključek Predstavili smo rešitev, ki temelji na tehnologiji UWB in detekciji Aruco markerjev. S pomočjo UWB oddajnikov smo določili absolutno pozicijo vozička v prostoru, detekcija markerjev pa služi kot nadgradnja. Z njo natančneje določimo pozicijo, možno pa je tudi orientacijo vozička. Razvili smo tudi grafični vmesnik, ki uporabniku prikazuje informacije o tem, kje v trgovini se nahaja in katere police so v njegovi bližini. Označi tudi polico na kateri se nahaja želeni izdelek. Obstaja še ogromno možnosti za nadgradnje našega sistema. Trenutno se kamera nahaja na vozičku, markerji pa na policah. Možno bi bilo narediti tudi obratno, tako da bi se kamere nahajale pod stropom in iz ptičje perspektive opazovale nakupovalne vozičke. Markerji bi bili nameščeni na vozičke tako, da bi bili obrnjeni proti stropu. S tem bi se izognili problemu nezaznavanja markerjev zaradi orientacije vozička. Možnosti nadgradenj in personalizacije grafičnega vmesnika pa so tako rekoč neskončne. Sistem bi lahko v veliki meri prilagajali glede na velikost trgovine in potrebe trgovca. Literatura [1] M. Stone, Insights: Phones, Samsung Electronics America, https://insights.samsung.com/2020/08/21/whatis-ultra-wideband-and-how-does-it-work [2] A. Alarifi, A. Al-Salman, M. Alsaleh, A. Alnafessah, S. AlHadhrami, M. Al-Almmar in H. Al-Khalifa, ”Ultra wideband indoor positioning technologies: Analysis and recent advances”, Sensors, vol. 16, št. 5, str 707, 2016. [3] OpenCV docs, https://docs.opencv.org/master/d5/dae/tutorial aruco detection.html [4] D. Neirynck, E. Luk in M. McLaughlin, ”An alternative double-sided two-way ranging method”, 2016 13st Workshop Positioning, Navigation and Communications [5] OXTS trilateration, Oxford Technical Solutions Ltd., https://www.oxts.com/trilateration [6] S. A. Van De Geer, ”Least-Squares Estimation”, Encyclopedia of Statistics in Quality and Reliability, Wiley Online Library, vol. 2, 2008 [7] G. Klančar, Avtonomni mobilni sistemi, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2014. Slika 6: Grafični vmesnik. 170 Klasifikacija trajektorije roke z meritvami pozicije za podporo sodelovanju robota s človekom Matija Mavsar1 1 Laboratorij za humanoidno in kognitivno robotiko, Odsek za avtomatiko, biokibernetiko in robotiko, Institut Jožef Stefan, Jamova cesta 39, 1000 Ljubljana E-mail: matija.mavsar@ijs.si Hand Trajectory Classification from Position Measurements for Human-Robot Collaboration Human-robot collaboration enables higher efficiency in performing complex tasks, while relieving humans of stressful and repetitive work. In order to ensure safe and successful cooperation, it is necessary to monitor the motions of both the robot and the human, where information about the worker’s intended movement can be especially useful. In this paper, we present a neural network structure, which, based on past position measurements, performs trajectory classification and thus predicts the target slot, where a person will move the hand when performing a collaborative task with a robot. The classification accuracy of the neural network was tested for different numbers of past consecutive position measurements. The results showed high accuracy in predicting the correct trajectory, with more measurements leading to better performance. The predictions allow the robot to be controlled safely and in a timely manner, thus preventing collision and optimizing the process. 1 Uvod Delovna mesta sodobnih robotov se v zadnjih letih premikajo iz zaprtih in predvidljivih prostorov v bolj kompleksna okolja, kjer je na voljo manj informacij, stanja pa se lahko spreminjajo hitro. Obenem se povečuje potreba po sodelovanju med robotom in človekom, saj to omogoča hitrejše in učinkovitejše opravljanje nalog, prav tako pa pri tem človeka razbremenimo najbolj stresnih, napornih in ponavljajočih se opravil. Za zagotavljanje varnega in uspešnega sodelovanja med robotom in človekom je potreben ustrezen nadzor robota, ki se mora sproti prilagajati trenutnemu gibanju človeka oziroma njegovih okončin, kar pripomore k večji usklajenosti [1]. Kadar robot in človek delata na istem delovnem mestu, je še posebej koristna informacija o človekovi nameri, saj lahko s tem robot predvidi človekov gib in se mu pravočasno umakne oziroma prilagodi svoje delovne naloge. Sodobni merilni sistemi, kot je OptiTrack, omogočajo spremljanje trenutne lege človeka, kar lahko izkoristimo za ugotavljanje prihodnjih pozicij. V članku predstavimo arhitekturo nevronske mreže, ki na podlagi preteklih zaporednih meritev pozicije človeške roke napove, v katerega izmed možnih ciljnih mest ERK'2021, Portorož, 171-174 171 Slika 1: Prikaz sestavljalnega procesa, ki ga delavec izvaja v sodelovanju z robotom. Predmet mora premakniti v eno izmed štirih mest, prikazanih na levi strani slike, nevronska mreža pa s pomočjo meritev pozicije roke izvede klasifikacijo trajektorije in s tem predvidi mesto odlaganja predmeta. bo oseba premaknila objekt tekom preprostega sestavljalnega procesa (slika 1), pri katerem iz nasprotne smeri sodeluje tudi robot. Na podlagi pridobljene napovedi se lahko robot ustrezno odzove in s tem omogoča bolj tekoče sodelovanje. V eksperimentih preizkusimo in primerjamo več nevronskih mrež, ki kot vhod sprejmejo različno število preteklih meritev pozicije, in pokažemo, da lahko mreža z visoko natančnostjo klasificira trajektorijo človeške roke in s tem predvidi končno odlagalno mesto. Predlagani sistem je tako mogoče uporabiti kot podporo v delovnem okolju, kjer sodelujeta človek in robot, saj z njim lahko povečamo dinamičnost procesa. 2 Sorodne raziskave Na področju sodelovanja robota s človekom so raziskave usmerjene v reševanje raznovrstnih problemov, kot je na primer napovedovanje človeških gibov [2] in učinkovitejše učenje robotskih gibov s pomočjo demonstracij [3, 4]. Pri različnim nalog so se kot uporabne izkazale metode globokega učenja, npr. za prepoznavanje kretenj [5] in aktivno vodenje robota z upoštevanjem trenutnih sil, hitrosti in pozicij [6], njihova učinkovitost pa seže tudi na preostala področja, kot so sledenje objektom [7] in spod- 2500 Izhodne verjetnosti za posamezno odlagalno mesto m a ft 4 S o Zaporedne meritve pozicij x 400 3·S Slika 2: Arhitektura nevronske mreže za klasifikacijo trajektorije na podlagi S vhodnih zaporednih meritev pozicije roke. Mreža je sestavljena iz polno povezanih, izpustnih in normalizacijskih plasti. Na izhodnih vrednostih se tekom treniranja za izračun napake izvede normalizirana eksponentna funkcija (angl. softmax function), s čimer pridobimo verjetnosti za posamezno odlagalno mesto. bujevalno učenje [8]. Za prepoznavanje in predvidevanje človeških gibov pri sodelovanju robota in človeka so bile razvite številne metode; v [9] je predstavljen sistem sklepanja, ki predvidi, katere naloge človek trenutno opravlja in katera dejanja bodo tekom procesa še potrebna, s čimer optimizirajo delovni načrt robota. V [10] so avtorji predstavili interakcijske elementarne gibe, s katerimi je mogoče predvideti končno obliko črke na podlagi delnih vzorcev, podobno v [11] ocenjujejo parametre dinamičnih elementarnih gibov s Kalmanovim filtrom, v [12] pa predstavijo verjetnostne elementarne gibe za učenje robotskih gibov s pomočjo posnemovalnega učenja. Na nevronskih mrežah temeljijo nekatere metode za razpoznavanje različnih kretenj [13] in za prepoznavanje namere, ali želi človek predati predmet robotu [14]. Napovedovanje prihodnjih telesnih poz na podlagi preteklih skeletnih meritev je bilo med drugim izvedeno z generativnimi modeli [2], kjer je sicer napoved mogoča le za določen interval v prihodnosti, in rekurenčnimi nevronskimi mrežami [15], ki sestojijo iz spominskih elementov in se zato dobro obnesejo v dinamičnih okoljih. Prav tako z rekurenčnimi mrežami so [16] napovedali verjetnost različnih izvajanih nalog na podlagi značilk pogleda opazovane osebe in telesnih znakov. Predstavljena nevronska mreža kljub dinamični naravi problema nima rekurenčne strukture, vendar pa preprosta sestava omogoča klasifikacijo trajektorije brez potencialno motečih vplivov preteklih meritev, enostavnejše pa je tudi procesiranje različno dolgih gibov. 3 Klasifikacija trajektorije z uporabo nevronske mreže Predlagana nevronska mreža tekom sodelovalne naloge robota in človeka izvaja klasifikacijo trajektorije roke in s tem napove, v katerega izmed končnih odlagalnih mest bo človek odložil predmet. Mreža je sestavljena iz polno povezanih plasti, kot vhod pa sprejme trenutno meritev pozicije roke ter poljubno število preteklih meritev. Na izhodu poda štiri vrednosti, ki se nanašajo na verjetnosti, da bo delavec predmet premaknil v določeno končno odlagalno mesto. V nadaljevanju podrobneje opišemo strukturo učnih podatkov in arhitekturo nevronske mreže. 172 3.1 Struktura učnih podatkov Vhod v nevronsko mrežo za klasifikacijo trajektorije je enodimenzionalni vektor v ∈ R3·S dolžine 3 · S, kjer S predstavlja število zaporednih meritev, vsaka meritev pa je pozicija roke v kartezičnem prostoru (y ∈ R3 ). Posameznemu vhodnemu zaporedju meritev v pripada oznaka K ∈ N, K ∈ [1, 4], ki predstavlja številko končnega mesta, v katerega je delavec odložil predmet pri izvajanju pripadajoče trajektorije. Pari podatkov, ki se uporabljajo za treniranje nevronske mreže so tako D = {v j , K j }M j=1 , (1) kjer je M število učnih vzorcev. 3.2 Arhitektura nevronske mreže Sestava predlagane nevronske mreže za klasifikacijo trajektorije je prikazana na sliki 2. Vhodna plast sestoji iz 3 · S nevronov in sprejme S zaporednih kartezičnih meritev pozicije roke, nato sledijo polno povezana plast z 2500 nevroni, normalizacijska plast, izpustna plast (angl. dropout layer) z izpustno verjetnostjo 0.3, polno povezana plast velikosti 400, normalizacijska plast, na koncu pa še izhodna plast s štirimi nevroni, ki se nanašajo na možna končna mesta odlaganja. 3.2.1 Metoda treniranja nevronske mreže Za treniranje nevronske mreže smo najprej na podlagi izhodnih vrednosti p = (p1 , p2 , p3 , p4 ) izračunali verjetnosti za posamezno končno mesto s pomočjo normalizirane eksponentne funkcije oz. funkcije ohlapnega maksimuma (angl. softmax function), nato pa implementirali napako negativne logaritmične verjetnosti (angl. negative log likelihood loss). Za posamezen izhod mreže p pri vhodu v smo glede na številko pravilnega končnega mesta K napako torej izračunali kot E(p, K) = − log( 4 e pK ). ∑4j=1 e pK (2) Eksperimenti Z eksperimenti smo preizkusili natančnost nevronske mreže pri klasifikaciji trajektorij. Pri tem smo število S, ki označuje število meritev, vključenih v vhodnem vektorju v, spreminjali od 1 do 4. Tako smo primerjali natančnost klasifikacije glede na različno število zaporednih meritev. Temu primerno smo prilagodili tudi velikost vhodne plasti nevronske mreže. Število zaporednih meritev bi navzgor lahko povečevali, vendar pa pri tem izgubimo možnost klasifikacije kmalu po začetku giba. Prav tako smo želeli ohraniti zadosten časovni razmik med zaporednimi meritvami, saj tako zajamemo večje območje trajektorije, na podlagi katerega mreža izvaja klasifikacijo. 4.1 Pridobivanje učnih podatkov in treniranje Učni vzorci so bili pridobljeni v eksperimentu, kjer mora delavec v sodelovanju z robotom premikati predmet iz enega konca mize v enega izmed štirih možnih odlagalnih mest. Pri zbiranju meritev je delavec premikal predmet iz začetne točke v različna končna mesta, pri tem Testni podatki Validacijski podatki S=2 4.4% 18.6% 9.7% 67.2% 1 2 3 4 6.9% 13.4% 70.5% 9.3% 4.7% 8.1% 9.2% 78.0% 1 2 3 4 83.1% 4.9% 5.2% 12.1% 34.2% 36.0% 17.6% 8.4% 23.5% 6.0% 62.1% 1 2 3 4 S=4 10.2% 80.5% 8.4% 0.9% 5.2% 11.8% 75.5% 7.4% 4.7% 4.9% 11.8% 78.7% 1 2 3 4 Predvideno odlagalno mesto 88.2% 10.1% 0.2% 1.5% 3.5% 89.3% 5.5% 1.7% 1.7% 18.5% 68.3% 11.6% 1.5% 7.9% 8.2% 82.4% Dejansko odlagalno mesto 3 2 1 4 0.8% 1 0.8% 2 5.1% 3 93.2% 90.8% 8.1% 0.0% 1.1% 7.0% 81.0% 9.6% 2.3% 14.1% 13.7% 56.9% 15.3% 9.1% 8.9% 12.3% 69.6% 1 2 3 4 S=3 4 Dejansko odlagalno mesto 2 1 4 3 S=3 6.8% 1 13.9% 3.6% 1.3% 2 44.8% 9.4% 0.5% 3 31.8% 80.7% 10.6% 4 9.4% 6.2% 87.7% 1 2 3 4 Predvideno odlagalno mesto S=4 95.3% 3.2% 0.9% 0.6% 9.7% 81.2% 8.4% 0.6% 14.7% 8.0% 61.3% 16.0% 6.6% 5.5% 17.9% 70.0% 1 2 3 4 Predvideno odlagalno mesto 1 4.4% 2.4% 91.5% 6.9% 0.3% 1.3% 2 4.4% 0.4% 2.4% 89.6% 7.4% 0.7% 3 83.6% 9.8% S=2 6.8% 15.4% 61.1% 16.7% 4 7.6% 87.5% Dejansko odlagalno mesto 2 4 3 1 0.0% 1 0.0% 2 14.9% 3 85.1% S=1 4 Dejansko odlagalno mesto 2 1 3 4 S=1 1.4% 10.1% 11.9% 76.7% 1 2 3 4 Predvideno odlagalno mesto Slika 3: Matrike pravilnih in napačnih klasifikacij na validacijskih (levo) ter testnih podatkih (desno) za različna števila zaporednih meritev S. V m-ti vrstici in n-tem stolpcu matrike je prikazan delež vseh odlagalnih mest m, ki so bila klasificirane kot n, zato so vsote vrstic vedno 100%. Natančnost se vidno izboljša pri večjem številu zaporednih meritev S. pa je imel na roki pritrjene markerje za sistem OptiTrack V120:Trio. Ob začetku giba se je sprožilo snemanje pozicij s frekvenco 120 Hz, ob koncu giba pa je bilo snemanje prekinjeno. Poleg meritev pozicije smo po vsakem gibu shranili tudi številko končnega odlagalnega mesta K. Pridobili smo bazo 1200 gibov oz. zaporedij izmerjenih pozicij roke, od česar smo 100 gibov prihranili za končno testiranje naučenih mrež. Preostalih 1100 gibov smo časovno podvzorčili z naključnim faktorjem, da je bilo končno število pozicijskih meritev za vsak gib med 10 in 20. Iz vsakega giba smo pridobili vsa zaporedja meritev v dolžine S. Skupno število učnih zaporedij je bilo 26323 · (5 − S), od česar jih je bilo 23963 · (5 − S) uporabljenih za treniranje, 2360 · (5 − S) pa za validacijo mreže pri procesu učenja (manjši kot je S, večje je število vzorcev zaradi krajšega zaporedja). Na enak način smo iz 100 testnih gibov pridobili 1272 · (5 − S) zaporedij. (levo) segajo približno od 45% do 95%. Ta baza je bila uporabljena za ustavitev treniranja, zato so za bolj verodostojen prikaz uspešnosti mreže ustreznejši rezultati testne baze, prikazani na sliki 3 desno. Natančnosti klasifikacije na testni bazi se podobno kot na validacijski bazi gibljejo približno od 36% do 95%, opaziti pa je boljšo natančnost pri višanju števila zaporednih meritev S, kjer je izboljšanje najbolj očitno pri S > 1. Na sliki 4a je graf natančnosti v odvisnosti od deleža izvedenega giba, iz katerega je razvidno, da s kasnejšimi meritvami lahko bolj natančno določimo, v katero končno odlagalno mesto bo delavec premaknil predmet, saj so si gibi v začetnem delu bolj podobni kot na koncu. Stolpični diagram slike 4b prikazuje primerjavo posameznih različic mreže pri natančnosti klasifikacije, kjer je upoštevana povprečna natančnost na vseh zaporedjih dolžine S v testnih podatkih. Podobno kot na sliki 3 je tudi tu razvidno izboljšanje natančnosti z večanjem S. 4.1.1 Treniranje Rezultati eksperimentov kažejo, da se natančnost klaNevronska mreža je bila implementirana z orodjem Py- sifikacije izboljša s procesiranjem večjega števila zaporeTorch [17] na grafični kartici NVIDIA GeForce GTX 1080. dnih meritev pozicije, vendar pa se največji skok v naPri treniranju je bil uporabljen optimizacijski algoritem tančnosti pojavi že pri povečanju parametra S iz 1 na 2. RMSprop [18], stopnja učenja je bila nastavljena na 5 · Za najvišjo natančnost je zato najbolj primerna vrednost 10−5 , velikost učnih paketov pa je bila 128. Treniranje parametra S = 4, kadar pa je zaželena hitrejša odzivnost se je ustavilo po 60 epohah brez izboljšanja napake na na trenutne meritve, pa S = 2 zagotavlja zadovoljivo navalidacijskih podatkih. tančnost klasifikacije. 4.2 Rezultati Slika 3 prikazuje matrike pravilnih in napačnih klasifikacij na validacijskih ter testnih podatkih za štiri različice nevronske mreže (število zaporednih meritev S od 1 do 4). Vrednosti v posamezni vrstici predstavljajo deleže klasifikacij za pripadajoče odlagalno mesto (vsota v vsaki vrstici je tako 100%), kjer natančnosti na validacijski bazi 173 5 Zaključek V članku smo predstavili arhitekturo nevronske mreže za klasifikacijo trajektorij, ki jih človek izvaja pri opravljanju naloge v sodelovanju z robotom, in pridobili bazo gibov, na kateri smo preizkusili več različic mreže z različnim številom vhodnih zaporednih meritev pozicije. Poka- Natan nost klasifikacije [%] a) S=1 S=2 S=3 S=4 100 90 [4] 80 [5] 70 60 40 50 Skupna natan nost klasifikacije [%] b) 60 70 80 Dele izvedenega giba [%] 90 100 [6] [7] 80 60 [8] 40 [9] 20 0 S=1 S=2 S=3 tevilo zaporednih meritev (S) S=4 [10] Slika 4: Graf a) predstavlja natančnost klasifikacije gibov iz testne baze v odvisnosti od deleža izvedenega giba tekom procesa premikanja predmeta do odlagalnega mesta. Vidno je postopno večanje natančnosti, saj se trajektorije proti koncu giba med seboj bolj razlikujejo kot na začetku. Na grafu b) pa so primerjane skupne natančnosti vseh zaporednih meritev v testnih podatkih za štiri različice mreže. zali smo, da lahko mreža kljub svoji preprosti strukturi z visoko natančnostjo predvidi, v katero izmed končnih leg bo človek premaknil predmet, s čimer lahko omogočimo bolj tekoče sodelovanje med robotom in človekom. Možnosti za nadaljnje raziskovanje vključujejo uporabo rekurenčnih nevronskih mrež, ki so sposobne procesirati celotna zaporedja podatkov in lahko podajo napovedi že po obdelavi prvega vzorca (npr. prve meritve pozicije). Za večjo avtonomnost procesa klasifikacije bi bil koristen tudi dodaten sistem, ki bi ugotavljal, kdaj se gib delavca začne in konča, prav tako uporabna izboljšava mreže pa bi bila možnost klasificiranja neposredno iz barvno-globinskih slik delavca s pomočjo kamere, kar bi odstranilo potrebo po uporabi dražje opreme, kot je sistem OptiTrack. Literatura [11] [12] [13] [14] [15] [16] [17] [1] G. Hoffman, “Evaluating fluency in human–robot collaboration,” IEEE Transactions on Human-Machine Systems, let. 49, št. 3, str. 209–218, 2019. [2] J. Bütepage, H. Kjellström, in D. Kragic, “Anticipating many futures: Online human motion prediction and generation for human-robot interaction,” v IEEE International Conference on Robotics and Automation (ICRA), 2018, str. 4563–4570. [3] A. Gams in A. Ude, “On-line coaching of robots through visual and physical interaction: Analysis of effectiveness 174 [18] of human-robot interaction strategies,” v IEEE International Conference on Robotics and Automation (ICRA), 2016, str. 3028–3034. M. Simonič, T. Petrič, A. Ude, in B. Nemec, “Analysis of methods for incremental policy refinement by kinesthetic guidance,” Journal of Intelligent & Robotic Systems, let. 102, št. 1, 2021. H. Liu in L. Wang, “Gesture recognition for human-robot collaboration: A review,” International Journal of Industrial Ergonomics, let. 68, str. 355–367, 2018. Y. Li in S. S. Ge, “Human–Robot Collaboration Based on Motion Intention Estimation,” IEEE/ASME Transactions on Mechatronics, let. 19, št. 3, str. 1007–1014, 2014. S. Krebs, B. Duraisamy, in F. Flohr, “A survey on leveraging deep neural networks for object tracking,” v IEEE 20th International Conference on Intelligent Transportation Systems (ITSC), 2017, str. 411–418. V. François-Lavet, P. Henderson, R. Islam, M. G. Bellemare, in J. Pineau, “An introduction to deep reinforcement learning,” arXiv preprint arXiv:1811.12560, 2018. K. P. Hawkins, S. Bansal, N. N. Vo, in A. F. Bobick, “Anticipating human actions for collaboration in the presence of task and sensor uncertainty,” v IEEE International Conference on Robotics and Automation (ICRA), 2014, str. 2215–2222. H. Ben Amor, G. Neumann, S. Kamthe, O. Kroemer, in J. Peters, “Interaction primitives for human-robot cooperation tasks,” v IEEE International Conference on Robotics and Automation (ICRA), 2014, str. 2831–2837. D. Widmann in Y. Karayiannidis, “Human motion prediction in human-robot handovers based on dynamic movement primitives,” v European Control Conference (ECC), 2018, str. 2781–2787. G. J. Maeda, G. Neumann, M. Ewerton, R. Lioutikov, R. Lioutikov, O. Kroemer, in J. Peters, “Probabilistic movement primitives for coordination of multiple human– robot collaborative tasks,” Autonomous Robots, let. 41, št. 3, str. 593–612, 2017. P. Bao, A. I. Maqueda, C. R. del Blanco, in N. Garcı́a, “Tiny hand gesture recognition without localization via a deep convolutional network,” IEEE Transactions on Consumer Electronics, let. 63, št. 3, str. 251–257, 2017. J. Kwan, C. Tan, in A. Cosgun, “Gesture recognition for initiating human-to-robot handovers,” arXiv preprint arXiv:2007.09945, 2020. J. Zhang, H. Liu, Q. Chang, L. Wang, in R. X. Gao, “Recurrent neural network for motion trajectory prediction in human-robot collaborative assembly,” CIRP Annals, 2020. P. Schydlo, M. Rakovic, L. Jamone, in J. Santos-Victor, “Anticipation in human-robot cooperation: A recurrent neural network approach for multiple action sequences prediction,” v IEEE International Conference on Robotics and Automation (ICRA), 2018, str. 5909–5914. A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. Antiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito, M. Raison, A. Tejani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, in S. Chintala, “PyTorch: An imperative style, high-performance deep learning library,” v Advances in Neural Information Processing Systems, 2019, let. 32, str. 8024–8035. T. Tieleman, G. Hinton idr., “Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude,” COURSERA: Neural networks for machine learning, let. 4, št. 2, str. 26–31, 2012. Optimizing end-effector force during the sit-stand task on the Talos humanoid bipedal robot Luka Mišković1,2 , Rebeka Kropivšek Leskovar 1,2 , Andrej Gams1,2 , Tadej Petrič1,2 1 Odsek za avtomatiko, biokibernetiko in robotiko, Inštitut ”Jožef Stefan”, Jamova cesta 39, 1000 Ljubljana 2 Mednarodna podiplomska šola Jožefa Stefana, Jamova cesta 39, 1000 Ljubljana E-pošta: {luka.miskovic, rebeka.leskovar, andrej.gams, tadej.petric}@ijs.si Abstract In this paper, we present the demanding task of a humanoid bipedal robot Talos getting up from a squat posture by finding the optimal force applied to the robot’s end-effector by pulling it. The corresponding force acts together with the Talos’ own torque in the joints. First, we recorded demonstrations of sit-to-stand motions from human subjects using the Optitrack motion capture system and mapped the demonstrated motions to the humanoid robot. We derived a cost function that was minimized using fmincon and a genetic algorithm. The results are presented in the simulation using Matlab and MuJoCo. The work is part of the Switch project, whose goal is to enhance robot learning performance by role reversal between robots and humans, and to implement complex human dynamics into robot behavior. The first step is that the human helps the robot stand up, and the second step is for the robot to help the human to stand up. In this paper, the first procedure is elucidated. 1 in various ways, e.g. kinesthetic demonstration, motionsensor demonstration, teleoperation, and methods like visual observation [3] [4]. After example trajectories are recorded, Inverse kinematics is often used to calculate the joint angles [3], however such operations need relatively high computational cost. In [5] a particle filter is used for joint angle imitation instead, in order to realize a realtime imitation of a humanoid robot through observation of human demonstration. Introduction We humans are able to perform dynamic and dexterous movements with relative ease: walking, jumping, and dance are just one of a few examples. Standing up from a chair is one of these everyday tasks that appears to be easy, but is actually quite complex and dynamic and can become challenging and dangerous as we age. The success of this task requires whole body coordination, balance and high fidelity control. In the field of robotics, we are interested in movements such as standing up and seek to better understand their complexities, as this allows us to improve current state-of-the-art robotic systems. Traditional robots require users to possess programming skills, which makes robots inaccessible to the general public [1]. On the other hand, future generations of home and service robots, including humanoid robots, are expected to perform tasks in more natural and highly dynamic environments created for humans, which is why it is necessary for us to study the natural human movement and how to implement it into robot control systems. One such method is learning from demonstration (LfD), which has been used to help robots independently implement manipulation behavior by observing movement performed by human demonstrators as seen in [2]. In LfD applications, example trajectories can be captured ERK'2021, Portorož, 175-178 175 Figure 1: The concept of humanoid helper robot in household environment. In general, to achieve robot learning from demonstration, we need to address three challenges: the problem of correspondence, generalization, and robustness against perturbation [6]. The problem of correspondence occurs due to the robots and human differences in kinematics, i.e. they do not have links and joints in the same place. Due to this, learning by demonstration is only feasible when the demonstrated movement can be generalized, for instance with different target positions. However, accurate repetition of the observed movement is unrealistic in a dynamic environment, in which obstacles can suddenly appear [1]. Due to this fact, in LfD robustness against perturbation is needed. With all the studies mentioned the robots in humanphysical collaboration are still facing a shortcoming due to their limitations in observing and adapting to human dynamics. The goal of the Switch project is to develop methods that can address these known limitations and allow the robot to efficiently observe human dynamics in real-time and learn anticipatory models from demonstration. The first step achieving this goal is for the robot to be able to observe a human picking it up, before switching the roles. Due to safety precautions however, we must first find out the amount of force needed to safely pickup the robot. This is why the goal of this paper is to find the external forces needed to lift the Talos on its feet. To do so, we use two Matlab optimization methods by first recording the movements of humans standing up from chairs and later transferring the recorded movements to the humanoid robot Talos. The paper is organized as follows. The section 2 presents the kinematics of Talos and the methods used. It is also explained how the cost function is derived. Section 3 shows the results obtained. Furthermore, the discussion follows in Section 4 after the result. 2 2.2 Optimization Force profile: In this section is described the process of finding the optimal force applied to the robot’s endeffector by pulling the Talos from its sitting position. To describe a force we used a parametric description. In this description, force is defined as a linear combination of radial basis functions (RBF). As proposed in [8], among many possible radial basis functions, those with Gaussian kernels were used. They are defined as: Ψ(x) = e− , (1) where c defines the center, σ defines the width of the kernel function and x is the phase parameter (see [8] for details). To describe a force trajectory we use a parametric description: Pm j=1 wj Ψj (x) , (2) f (x) = Pm j=1 Ψj (x) where m is the number of kernel functions, and wj are the weights that define the path. We define Φ as a row vector with components: Methods 2.1 Humanoid bipedal robot Talos The robot used in this study was the bipedal humanoid robot Talos. Its kinematics is explained in this chapter so as to better understand the difference between human. The bipedal humanoid TALOS, built by the company PAL-Robotics, has 32 degrees of freedom, of which two are in the head, seven per each arm, one per hand, two in the waist and six per each leg. TALOS is fully torque-controllable thanks to the torque sensor feedback in all joints, which enables powerful sensing and multicontact motions. The closed loop torque control can be used for whole-body control inverse dynamics and safe interaction with the environment [7]. Figure 2 shows the kinematics of Talos. (x−c)2 2σ Ψj (x) Φj (x) = Pm , j=1 Ψj (x) (3) f (x) = Φ(x)w, (4) which yields: where w is a vector with elements wj . The corresponding weights can be found by solving Eq. (4) using pseudoinverse: T T w = (Φ̂ Φ̂)−1 Φ̂ fˆ, (5) where fˆ are the path values and Φ̂ basis vectors for all path steps. To get the optimal force profile the weights of radial basis functions need to be optimized. This is done by optimizing the cost function. If not stated otherwise we used m = 6 RBF functions. Cost function: The cost function used in this study was composed of four quadratic functions. It is defined as: J= m X Kn f n , Kn ≥ 0, (6) n=1 where f n denotes the quadratic loss functions, Kn are the weights, which determine the importance of each quadratic loss function, and m is the number of quadratic loss functions. The first quadratic loss function takes the sum of all the positions of the Talos’ head in time and tries to bring them to the desired position. This ensures that in the end, the robot stands upright. Talos’ positions and orientations were obtained in simulation during its movement, using MuJoCo dynamic library. The first quadratic loss function is defined as: Figure 2: Kinematics of TALOS 176 f1 = tm X (pH − pH,d )2 , (7) t=0 where tm denotes the total time during getting up, pH is the measured head position, and pH,d is the desired head position. To increase the stability of the robot, a second quadratic loss function was used to ensure that the pitch angle of the Talos’ feet is minimal, or ideally zero, throughout the standing up process. Accordingly, the second quadratic loss function is derived as: f2 = tm X θ2 , (8) t=0 where θ is the pitch angle of the robot’s feet. Similarly, the third quadratic loss function minimizes the velocity of the torso, which as well increases the stability of the robot and is defined as: f3 = tm X p˙T 2 , end-effector and helps it to stand up. The Talos’ joints are controlled in position mode. The resulting force calculated with the optimization is applied to the end effector of the Talos robot, i.e., the hands. By multiplying the force by the rotation matrix, we ensure that the direction of the force is aligned with the robot arms. 3 Results When using fmincon solver, the value of the cost function converges faster compared to the genetic algorithm which we can see in Figure 3. By analyzing the time required for each method to find the optimal solution, we have found that fmincon takes about 41 seconds, while the genetic algorithm takes 4922 seconds on a typical desktop pc with i7 processor. (9) t=0 where p˙T is the torso velocity. The last part of the cost function finds the weights of the Gaussian kernel functions and is defined as: f4 = m X wj 2 , (10) j=1 where w is the vector with the weights of Gaussian kernel functions, which is found through the optimization process. Finally, with the values of the weights wn from the Eq. 6 adjusted, the lower and upper bounds of optimization and the initial guess defined, the optimization problem was solved by finding the solution vector w that minimizes the cost function value f val , defined as: f val = min J (w). w Figure 3: Comparison of convergence between the fmincon solver and the genetic algorithm. The resulting optimized force profiles found using fmincon and genetic algorithm methods are shown in Figure 4. For comparising we also show the results of force optimization with m = 20 RBFs. (11) The cost function was optimized using two different Matlab functions: fmincon and the genetic algorithm. Fmincon finds a constrained minimum of a function of several variables through an iterative process. In our case, the ’active-set’ algorithm was set in options. On the other hand, genetic algorithm generates a population of points at each iteration and modifies a population of individual solutions. Here, the best point in the population approaches an optimal solution [9]. Movement of human subject’s six joints during sit-tostand motion were captured using Optitrack motion capture system. These angles were mapped to the six joints of the humanoid robot: ankle, knee, hip, torso, shoulder, and elbow. The human subject was about the same height as the robot. This enabled the robot to imitate natural human movement during standing up as close as possible. The force applied to the robot’s arms can be understood as an external perturbation force that acts on the robot’s 177 Figure 4: Optimized forces with different solvers and number of RBFs Figure 5 shows the result of Talos standing up in simulation environment. algorithm. This is to be expected since fmincon uses the local gradient to tune the parameters, which means it is faster, but it might get stuck in a local minimum, while the genetic algorithm generates a random trial and then shuffles them to generate a new generation that ends up finding a global optimum. In general, both methods can be used for similar optimization problems, but in our case, due to the fact that both methods gave the same result, fmincon can be considered as the preferred method. The work presented in this paper is an important step to get a first impression about the shape and amplitude of the profile. This allows us to gain an approximation of the force profile needed to safely lift Talos from a seated position in real life. With this knowledge, Talos will be able to help a person stand up in the future. Acknowledgement: This work was supported by Slovenian Research Agency grant PR-10489 and N2-0153. References [1] Z. Zhu and H. Hu, “Robot learning from demonstration in robotic assembly: A survey,” Robotics, vol. 7, no. 2, 2018. [2] H. Ravichandar, A. S. Polydoros, S. Chernova, and A. Billard, “Recent Advances in Robot Learning from Demonstration,” Annual Review of Control, Robotics, and Autonomous Systems, vol. 3, no. 1, pp. 297–330, 2020. [3] Y. Ou, J. Hu, Z. Wang, Y. Fu, X. Wu, and X. Li, “A Real-Time Human Imitation System Using Kinect,” International Journal of Social Robotics, vol. 7, no. 5, pp. 587–600, 2015. [Online]. Available: http://dx.doi.org/10.1007/s12369-015-0296-9 [4] R. Dillmann, “Teaching and learning of robot tasks via observation of human performance,” Robotics and Autonomous Systems, vol. 47, no. 2-3, pp. 109–116, 2004. Figure 5: Talos robot in MuJoCo in sitting position (top) and standing position (bottom) 4 Discussion In this paper, we presented a way to find the optimal force path needed to lift the bipedal mobile robot Talos to the standing position by pulling its hands, using two different optimization methods in Matlab. The results of the experiment show that the bipedal mobile robot Talos is able to stand up successfully using the methods proposed in this paper. If at least the approximate trajectory of the force is not known before real-life experiments, it could be a potential safety hazard. Analyzing the graphs, we can see that both the fmincon solver and the genetic algorithm resulted in very similar solutions (force profile) when the weights of 6 RBFs were optimized. However, increasing the number of RBFs resulted in overfitting and more profile curvature, as can be seen in Figure 4. We also found that the fmincon method takes less time to find the minimal solution compared to the genetic 178 [5] Y. Kondo, S. Yamamoto, and Y. Takahashi, “Real-Time Posture Imitation of Biped Humanoid Robot Based on Particle Filter with Simple Joint Control for Standing Stabilization,” Proceedings - 2016 Joint 8th International Conference on Soft Computing and Intelligent Systems and 2016 17th International Symposium on Advanced Intelligent Systems, SCIS-ISIS 2016, pp. 130–135, 2016. [6] P. Pastor, H. Hoffmann, T. Asfour, and S. Schaal, “Learning and generalization of motor skills by learning from demonstration,” pp. 763–768, 2009. [7] O. Stasse, T. Flayols, R. Budhiraja, K. Giraud-Esclasse, J. Carpentier, J. Mirabel, A. Del Prete, P. Soueres, N. Mansard, F. Lamiraux, J. P. Laumond, L. Marchionni, H. Tome, and F. Ferro, “TALOS: A new humanoid research platform targeted for industrial applications,” IEEE-RAS International Conference on Humanoid Robots, pp. 689– 695, 2017. [8] L. Žlajpah and T. Petrič, “Unified Virtual Guides Framework for Path Tracking Tasks,” Robotica, vol. 38, no. 10, pp. 1807–1823, 2020. [9] C. Mathworks, “Statistics and Machine Learning ToolboxTM User’s Guide R2020a,” MATLAB Mathworks Inc, vol. 2020a, no. A, p. 7984, 2020. [Online]. Available: www.mathworks.com Using Neural Networks for Synthesizing Importance Sampler Database in Reinforcement Learning Zvezdan Lončarević1,2 , Andrej Gams1,2 1 2 Jožef Stefan Institute, Jamova cesta 39, 1000 Ljubljana, Slovenia Jožef Stefan International Postgraduate School, Jamova cesta 39, 1000 Ljubljana, Slovenia zvezdan.loncarevic@ijs.si Abstract Reinforcement learning is a widely used method of acquiring new skills in robotics. However, it is usually rather slow and a lot of learning iterations are needed until robot successfully learns the skill. During learning attempts, parameters of the actions together with the corresponding reward are stored and used in the following update. In this paper, we present the possibility of using neural networks for expanding the database containing the knowledge from previous learning iterations. Results of throwing examples show that this can lead to accelerated robot learning with less iterations and real-world repetitions. 1 Figure 1: PA10 robot in MuJoCo Dynamic Simulation (left) and 2-DoF planar robot in Matlab (right) Introduction In order for robots to move into unstructured environments, adaptation to the current state of the world is critical. One of the approaches to adaptation is robot learning, i.e., the process of task performance improvement over the course of several repetitions [1]. However, robot learning can be complicated and can take a long time. It might also not be safe for the robot or its vicinity. Many approaches have been proposed to improve the speed and safety of robot learning. The literature states that a good starting point for learning is really important [2]. For example, the initial task execution or policy can be acquired by demonstration [3] or by generalization [4]. Another key approach is in the reduction of search space, for example with principal component analysis or autoencoder neural networks [5]. Learning approaches themselves can also have a profound effect on the required number of task iterations. Sample efficiency of methods is a known problem of deep reinforcement learning approaches [6]. However, even different reinforcement learning methods require different amounts of samples. For example, gradient-based methods, such as Reinforce, eNAC and CMA-ES require several roll-outs for one iteration (update of policy parameters) [7]. Non-gradient based algorithms, such as PoWER and PI2, do not need to first calculate the gradient but can update the policy based on a few best attempts and, for example random noise. A few best attempts in reinforcement learning can be classified as those attempts that collect the most rewards. ERK'2021, Portorož, 179-182 179 For example, the reward from all task executions is compared, and only the ones with the highest rewards are then used to generate the new iteration. In order to classify the attempts, specially when there is no model available, can also be time consuming. In this paper we propose a method that reduces the number of required attempts by training a neural network that maps between policy parameters and the expected reward. Before generating a new set of policy parameters, the algorithm predicts their reward, and then uses this virtually acquired reward, together with the rewards of previous attempts, as the input into the importance sampler. The results show that the approach reduces the required amount of needed iterations and the highest number of iterations until the task if learned. We used simulated throwing at a target as the demonstration task. The simulated set-up in MuJoCo [8] for dynamic simulation and planar kinematic simulation are shown in Fig. 1. 2 Search Space Reduction In order for RL to be applied in robotics, it has to learn fast enough. As neural networks have fixed number of inputs, we need to represent trajectories so that each example has the same number of parameters. For that purpose, we used Dynamic Movement Primitives and autoencoder networks. 2.1 Dynamic Movement Primitives The basic idea of Dynamic Movement Primitives (DMPs) [9] is to represent the trajectory with the mass on springdamper system, with learned external accelerations - the forcing term. For the each joint space coordinate y, DMP is based on the following second order differential equation: τ 2 ÿ = αz (βz (g − y) − τ ẏ) + f (x), (1) where τ is the time constant and it is used for time scaling, αz and βz are damping constants (βz = αz /4) that make system critically damped and x is the phase variable. The forcing term f (x) encodes the shape of the trajectory from the initial position y0 to the final configuration g. It is given by: PN f (x) = Pi=1 N ψ(x)wi i=1 ψi (x) = exp (− ψi (x) x, 1 (x − ci )2 ), 2δi2 (2) (3) where ci are the centers of radial basis functions (ψi (x)) distributed along the trajectory and 2δ12 their widths. i Phase x makes the forcing term f (x) disappear when the goal is reached as it exponentially converges to 0. Its dynamics are given by τ ẋ = −αx x, 2.2 Autoencoder networks Autoencoder networks are neural networks that are often used for dimensionality reduction. Autoencoders with nonlinear layers are capable of extracting the most relevant features of robotic movements. They are composed of two parts: encoder and decoder (Fig. 2). An autoencoder neural network is trained so that the output data θ̃ DMP matches the input data θ DMP as close as possible. The encoder part pushes data to the bottleneck of the neural network called latent space and the decoder part recreates the original data, therefore Fd ≈ F−1 e . An autoencoder is trained on a large set of executable kinematic trajectories represented with DMP parameters θiDMP , i = 1, . . . , m by optimizing the following criteria: m ζ Encoder 𝚯𝚯𝐷𝐷𝐷𝐷𝐷𝐷  1 X DMP θi − Fd Fe θiDMP , (5) m i=1 where ζ ? are the autoencoder parameters (weights and biases of neurons in the AE network). Once the network is fully trained, latent space parameters can be computed by applying the encoder part of the network:  θ AE = Fe θ DMP , (6) 180 Decoder 𝚯𝚯𝐴𝐴𝐴𝐴 � 𝐷𝐷𝐷𝐷𝐷𝐷 𝚯𝚯 Figure 2: Example of simple autoencoder network 3 Reward Weighted Policy Learning with NN Extended Importance Sampler As RL algorithm of choice we used reward-weighted policy learning with importance sampling (RWPL), which is a simplified variant of Policy Learning by Weighting Exploration with the Returns (PoWER) method [10]. It uses a parametrized skill policy and a reward function to maximize the expected return of skill performance trials. Under the assumption that there is only terminal reward and that only a single basis function is active at any given time (note that this is only approximately true for DMPs), the policy parameters θn are updated using: (4) where αx is a positive constant and x starts from 1 and converges to 0 as the goal is reached. Multiple DoFs are realized by maintaining separate sets of (1–3), while a single canonical system given by (4) is used to synchronize them. ζ ? = arg min and the decoder part can return latent space values into DMP:  θ̃ DMP = Fd θ AE . (7) θn+1 = θn + h(Θn − θn )R(Θn )iw(πk ) hR(Θn )iw(πk ) , (8) where w(πk ) denotes the policy parameters of k-th iteration. Θn = {θk∗ }nk=1 denotes the set of all policy parameters θk∗ executed until the n-th iteration and R > 0 the terminal reward received at the end of each rollout. h·iw(πk ) denotes importance sampling [11]. Its role is to select a predefined number of best trials to compute the update in order to reduce the number of iterations until optimal policy is learnt. In order to increase the convergence rate, we used neural network (NN) to artificially augment our dataset of parameters-reward pairs. It was trained so that it takes policy parameters as input and gives the approximated reward as an output. It was retrained after each iteration and the training dataset used for this consisted of n already executed trajectory parameters Θn and corresponding rewards R(Θn ). After the network is trained, we have chosen p new random sets of the parameters and afterwards used NN to approximate the rewards. This way, we generated extended dataset of parameters Θ0n and corresponding rewards R(Θ0n ). The update rule specified by Eq. (8), together with using augmented dataset is equivalent to Pm ∗ i=1 Rin(n0 ,i) θin(n0 ,i) Pm θn+1 = , (9) i=1 Rin(n0 ,i) where function in(n0 , i) selects the trial with the i-th highest reward from the extended trial set {θk∗ , Rk }m k=1 , m is the number of best trials selected by importance sampling, and the exploration parameters are computed by adding exploration noise to the current estimate θn θn∗ = θn + εn . (10) Here εn is zero-mean Gaussian noise. Its variance Σ is usually a diagonal matrix and needs to be specified by the user. In general, high variance does a more thorough exploration of the parameter space but may cause oscillations around the solution, while small variance can get stuck in a local minimum. 4 Experimental Evaluation As the use-case scenario, we used learning of robotic throwing of a ball into the basket. Throwing was the chosen task because it has been already widely studied in RL settings and because it is easy to define the reward. Our method for accelerating RL algorithms was evaluated in two different experimental setups. In Matlab we used a kinematic model of a 2-DoF planar robot that was throwing a ball at the target (Fig. 1 - right). In this simulation, air drag and friction were neglected. With this model, we tested the increase in the performance of the RL algorithm when we use NN for approximating the reward with randomly given DMP parameters to increase the number of examples. As learning in more reduced space is faster [12], for learning in the latent space of neural network, we used MuJoCo simulation with complete robot and ball dynamics (Fig. 1 - left). In this case NN was approximating reward for the corresponding latent space values. Experiments in the dynamic simulation were repeated for 30 different randomly chosen targets and results together with the spreading of the data are reported. 4.1 Extending the database in DMP space For accelerating the learning in DMP space, in each iteration we were using NN with 45-50-10-1 neurons respectively. Size of NN was determined empirically. Parameters of the input layer were weights describing the shape of trajectory for two joints of the robot. This sets the input of the neural network to: 4.2 Extending the database in latent space For accelerating the learning in the latent space of AE, we used NN with 3-10-7-5-1 neurons respectively. In order to obtain latent space values, a large dataset of executable trajectories was calculated with respect to the kinematic properties of the used Mitsubishi PA10 robot as described in [5]. In order to obtain latent space values, we used autoencoder with 67-15-10-3-10-15-67 neurons. Input and output of the AE network were DMP parameters for 3 active DoF of the robot. With setting l = 3 in Eq. (11), 67 input/output values (θ DMP ) were obtained and AE network was trained using Eq. (5). Using Eq. (6) we obtained latent space of the AE (θ AE ). This parameters were used as an input to our neural network for dataset augmentation. Since in our case, there was only 3 latent space values, input parameters to this neural network were: Θ0n = {θi }3i=1 , (12) and the output was predicted normalized reward of the shot with that parameters. Same as in the experiment in DMP space, importance sampler length was set to m = 5 and NN approximated p = 10000 examples. Because learning is much faster in the reduced (latent) space, in this experiment we were able to use MuJoCo dynamic simulation. For this experiment we have chosen 30 (same) random targets and learned throwing with our approach and with regular RWPL algorithm. 5 Results Figure 3 shows the results of throwing in kinematic simulation. Blue line shows convergence of the error and reward for the case of regular RWPL algorithm while red line shows convergence when NN for approximating reward based on DMP parameters was used. 0.4 with NN without NN 0.3 0.2 0.1 0 0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500 1  Θ0n = wj , y0,j , gj , τ l , j=1 (11) where l = 2 is number of active joints, τ is time scaling factor, wj = {wi }N i=1 where N = 20 are weights describing the trajectory profile and y0,j , gj are initial and final points of the trajectory for each joint. Output of the neural network was predicted normalized reward of the shot given based on the distance of the ball landing spot from the desired target. After each trial, NN was used to approximate p = 10000 new examples and add them to the dataset of executed trajectories. Length of the importance sampler was set to m = 5. In this experiment, we were shooting at the (same) randomly chosen target with our approach with extended database for importance sampler and with regular RWPL algorithm. 181 0.9 0.8 0.7 Figure 3: Error and reward convergence for the kinematic simulation with neural network synthesized examples (red line) and without neural network synthesized examples (blue line). Neural network connects DMP parameters with the corresponding reward. The average convergence of the error and reward together with spreading of the data for the case when NN was used for connecting latent space parameters with corresponding reward is shown in Fig. 4. Blue line shows the results for regular RWPL and red line shows the results of our approach. Since learning in the latent space is anyway significantly faster than learning in DMP space, the results show less difference for this case. However, from Fig. 5 it is visible that our approach still managed to achieve some increase in the convergence rate since the average number of required iterations as well as highest number of iterations both reduced when compared with regular RWPL approach. trial and there is less possibility of RL algorithm getting stuck in some local minimum. In the future, we plan to combine this approach with another RL algorithm and use the additional neural network to predict the parameters of the initial trajectory and reward for each following iteration of learning. We also plan to implement this algorithm on the physical robot instead of only simulation and to check whether trajectories generated with our approach are smoother and safer for execution than the ones found by using only RL algorithm. References [1] F. Stulp, E. A. Theodorou, and S. Schaal, “Reinforcement learning with sequences of motion primitives for robust manipulation,” IEEE Transactions on Robotics, vol. 28, no. 6, pp. 1360–1370, 2012. Figure 4: Mean error and reward convergence for the dynamic simulation with neural network synthesized examples (red line) and without neural network synthesized examples (blue line). Neural network connects latent space values with the corresponding reward. Shaded area shows the spreading of the data among 30 different targets. [2] B. Siciliano and O. Khatib, Springer Handbook of Robotics. Berlin, Heidelberg: Springer-Verlag, 2007. [3] M. Deniša, A. Gams, A. Ude, and T. Petrič, “Learning compliant movement primitives through demonstration and statistical generalization,” IEEE/ASME Transactions on Mechatronics, vol. 21, no. 5, pp. 2581–2594, 2016. [4] Z. Lončarević, R. Pahič, A. Ude, and A. Gams, “Generalization-based acquisition of training data for motor primitive learning by neural networks,” Applied Sciences, vol. 11, p. 1013, 2021. with NN without NN [5] R. Pahič, Z. Lončarević, A. Gams, and A. Ude, “Robot skill learning in latent space of a deep autoencoder neural network,” Robotics and Autonomous Systems, vol. 135, p. 103690, 2021. [6] D. Yarats, A. Zhang, I. Kostrikov, B. Amos, J. Pineau, and R. Fergus, “Improving sample efficiency in modelfree reinforcement learning from images,” 2020. Figure 5: Average (left) and maximal (right) number of iterations needed to hit the target with and without neural network synthesized examples. Blue bars present the results of the regular RWPL algorithm and red bars present the results of our approach. 6 Conclusion Results show that neural networks can accelerate RL by artificially expanding dataset of known trajectories. Increase in convergence rate in both DMP and AE space shows that our approach has potential to be applied in robotic tasks where the each learning iteration saves time and reduces wear of the equipment. Much bigger increase in performance is noticed in the less reduced DMP space where algorithms need to find more parameters. This was expected since the AE search space reduction already significantly increases RL performance. However, it should be noted that it can be used only when the large dataset of trajectories is available which is usually not the case. Other benefit of this approach is that less parameters need to be tuned for RL because NN gets retrained after each 182 [7] Z. Lončarević, A. Gams, S. Reberšek, B. Nemec, J. Škrabar, J. Skvarč, and A. Ude, “Specifying and optimizing robotic motion for visual quality inspection,” Robotics and Computer-Integrated Manufacturing, vol. 72, p. 102200, 2021. [8] E. Todorov, T. Erez, and Y. Tassa, “Mujoco: A physics engine for model-based control,” in 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 5026–5033, 2012. [9] A. Ijspeert, J. Nakanishi, and S. Schaal, “Movement imitation with nonlinear dynamical systems in humanoid robots,” Proceedings 2002 IEEE International Conference on Robotics and Automation, vol. 2, no. May, pp. 1398– 1403, 2002. [10] J. Kober and J. Peters, “Policy search for motor primitives in robotics,” Machine learning, vol. 84, p. 171–203, July 2011. [11] P. Kormushev, S. Calinon, R. Saegusa, and G. Metta, “Learning the skill of archery by a humanoid robot iCub,” in IEEE-RAS International Conference on Humanoid Robots (Humanoids), pp. 417–423, 2010. [12] Z. Lončarević, R. Pahič, M. Simonič, A. Ude, and A. Gams, “Reduction of trajectory encoding data using a deep autoencoder network: Robotic throwing,” in Advances in Service and Industrial Robotics, (Cham), pp. 86–94, Springer International Publishing, 2020. Prepoznavanje objektov na trgovinskih policah za robotske aplikacije Blaž Potočnik, Matjaž Mihelj, Marko Munih, Janez Podobnik Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana E-pošta: bp1376@student.uni-lj.si Object recognition on shelves for robotics applications Abstract. In this paper, we focus on preparing solutions for recognition and detection of objects in densely packed scenes such as store shelves. Goal is to be able to use prepared solutions for object detection based on neural networks for automation in retail for online orders. We focused on object recognition and detection, furthermore we also investigated product recognition and recognition of empty spaces on shelves. Main goal was to test how pertained models will work on photos from local store. 1 Uvod Prepoznavanje objektov, ljudi, vzorcev na slikah ni nič novega. Vse to se že dolgo uporablja v realnem svetu. Lahko govorimo o uporabi v policijske namene, to so prepoznavanje registrskih tablic, lahko pa imamo v mislih le preprosto odklepanje telefona s sprednjo kamero, ki prepozna značilnice vašega obraza. Eden od potencialnih problemov je tudi prepoznavanje trgovinskih objektov na policah. To bi omogočilo avtomatizirano določanje pravilne razporeditve artiklov na policah, določanje mest s praznimi policami, in tudi robotizirano pobiranje artiklov s polic [9]. Vendar se izkaže, da se na tem področju pojavljajo specifični problemi in pogoji. Prvi problem, ki se pojavi je velika gostota izdelkov na policah [10]. Drugi problem pa je velika razlika med izgledom embalaže izdelkov na eni strani in veliko primerov iste embalaže na istih slikah. Če želimo zaznati objekt, moramo zaznati tako majhen paket žvečilk, kot tudi največje pakiranje pralnega praška, različne velikosti plastenk in tako naprej. Čeprav nevronske mreže niso vedno odgovor na vsako vprašanje, kot se jih v zadnjem času rado predstavlja, je tukaj njihova uporaba povsem upravičena. Že takoj na začetku, smo se torej odločili, da bo projekt temeljil na uporabi nevronskih mrež, odločili smo se za nevronsko mrežo, ki je naučena na bazi slik SKU-110K [1]. Cilj naloge je bil pripraviti zaznavanje objektov na trgovinskih policah. Razlog, za zastavitev take naloge je želja podjetja Interspar, da bi bilo skladišče za njihovo spletno trgovino popolnoma avtomatizirano. Prepoznavanje objektov in detekcija njihovega položaja bi omogočilo razvoj robotskih aplikacij za pobiranje trgovinskih artiklov iz polic. dostavo in tako naprej bi se v tem primeru iz podatkovne baze za vsak naročen artikel prebrala še lokacija artikla (oznaka regala), slika artikla in dimenzije artikla. Glede na naročene artikle pa bi se generirala tudi optimalna pot med naročenimi izdelki. Ti podatki se posredujejo robotu, ki se odpravi izdelke iskat v skladišče. Potuje po predpisani, ko zazna, da je pred pravim markerjem, se ustavi in zajame planogram (planogram je fotografija regala). Iz te fotografije regala najprej pridobi objekte in njihova središča. Potem vsak objekt primerja s posredovano sliko ciljnega artikla. Ko zazna ujemanje, se na podlagi središča artikla in njegovih dimenzij pripravi za prijemanje, vodenje do artikla poteka na podlagi robotskega vida. Artikel pobere in ga spravi v »košarico«. To ponovi za vse artikle, ki jih naročilo vsebuje. Ko pobere vse artikle, se vrne na predpisano lokacijo, kamor odloži nakup. Ta nakup kurir le še pobere in ga dostavi naročniku. Iz te fotografije regala najprej pridobi objekte in njihova središča. Potem vsak objekt primerja s posredovano sliko ciljnega artikla. Ko zazna ujemanje, se na podlagi središča artikla in njegovih dimenzij pripravi za prijemanje, vodenje do artikla poteka na podlagi robotskega vida. Artikel pobere in ga spravi v »košarico«. To ponovi za vse artikle, ki jih naročilo vsebuje. Ko pobere vse artikle, se vrne na predpisano lokacijo, kamor odloži nakup. Ta nakup kurir le še pobere in ga dostavi naročniku. 3 Izvedba Sedaj pa si poglejmo še, katere potrebne elemente smo že uspeli pripraviti in čemu se bo v prihodnosti potrebno še posvetiti. Na sliki 1 je prikazan diagram poteka našega dela. Z modro barvo je označena naša osnovna naloga, zaznave objektov na policah, z vijolično so označene 3 nadgradnje prepoznavanja objektov katerih smo se lotili. Z zeleno pa je prikazan potek dela pri iskanju izbranega izdelka na polici. 2 Koncept avtomatizirane izvedbe naročila Zamišljeni proces avtomatizirane izvedbe naročila je sledeč: prvi korak je, da kupec odda naročilo v spletni trgovini. To naročilo se na strežniku trgovine obdela, poleg podatkov, kdo je naročnik, kakšen je naslov za ERK'2021, Portorož, 183-186 183 Slika 1. Diagram poteka prepoznavanja in detekcije objektov 3.1 Zaznavanje objektov na slikah Naše delo smo začeli s pripravo programskega okolja in zagonom že pripravljene kode, ki je bila prikazana na konferenci CVPR2019 [1]. Nevronska mreža SKU-110K je bila zgrajena na osnovi zelo znanega detektorja RetinaNet [2]. Ker smo se prvič ukvarjali s strojnim učenjem, smo se odločili, da najprej poizkusimo zagnati model RetinaNet, saj je bil bolj preprost. Za razliko od modela SKU-110K, RetinaNet vsebuje več kategorij, torej razlikuje med objekti. Ni pa namenjen zaznavanju objektov, ki so blizu skupaj. Po uspešno postavljenem programskem okolju na lokalnem računalniku, je nevronska mreža RetinaNet vrnila rezultate, ki jih lahko vidite na sliki 2. Slika 3. Delovanje modela na osnovi SKU 110-K na sliki police v laboratoriju. Slika 2. Rezultat delovanja RetinaNet algoritma. Rezultat prepoznave ni dosegal željene kvalitete. Zaznalo je le nekaj plastenk, tiste, ki jih je zaznalo, pa je zaznalo več kot enkrat. Ta večkratna zaznava istih plastenk oziroma objektov v splošnem, je glavna značilnost modela, ki bazira na RetinaNet-u. Naslednji korak je bil preizkus izbranega primera zaznavanja objektov na trgovinskih policah. Ta temelji na bazi slik SKU-110K [1]. Ker je učenje dolgotrajno, smo uporabili že naučen model. Glavna značilnost tega modela je, da preprečuje večkratno zaznavo istih izdelkov in da vsebuje le kategorijo »objekt«, ni pa sposoben med objekti razlikovati. Ta del smo izvedli na platformi Microsoft Azure. Več o platformi in pripravi platforme za delo si je mogoče prebrati v dodatnih navodilih [3]. Ko smo ugotovili, da deluje na slikah, ki so jih razvijalci modela uporabili za učenje in testiranje, je bil naslednji korak preizkus na lastnih slikah. Za prvi test smo posneli nekaj slik produktov na policah v Laboratoriju za robotiko. Police je prispevalo podjetje Spar in so take, kot se uporabljajo v trgovinah. Na njej so zloženi izdelki, vendar v tem primeru ne tako gosto skupaj kot v trgovini. Rezultati so bili obetavni in jih lahko vidite na sliki 3. Detektor je zaznal večino objektov, bilo je tudi nekaj napačnih detekcij. Opazimo, da je napačno označilo robota, ki se nahaja v ozadju pa tudi stol. Na splošno slika 3 ne predstavlja idealne situacije za izbrani model, saj je na njej preveč okolja, ki moti zaznavo. 184 Da bi lahko model preizkusili še na bolj resničnih situacijah, smo potrebovali še slike iz trgovine Spar. Sodelavci iz Laboratorija za robotiko so posneli 47 fotografij v trgovini Interspar v Cityparku. Te slike so naša testna množica. Test zaznave objektov na teh slikah je trajal približno 1 uro. Iskanje objektov na posamezni sliki je trajalo od 30 s pa do 90 s. Veliko je bilo odvisno od gostote izdelkov na sliki pa tudi same količine izdelkov. Primeri rezultatov so na slikah 4, 5 in 6. Slika 4. Delovanje modela na sliki iz resnične trgovine. Vse slike 4, 5 in 6 so izrez iz celotne slike, ki je bila v obdelavi, da se lažje videti podrobnosti za oceno kako algoritem deluje. Na sliki 4 je zaznava mleka. Mleko, kartonske kvadratne škatle, in podobno so zelo primerni objekti za zaznavo s tem modelom, saj so pravilnih oblik, naloženi eden poleg drugega, ne pa naključno. Zato je tudi delovanje ustrezno. Slika 5. Zaznavanje artiklov in prikaz zaznave odsevov od polic. Slika 5 prikazuje polico s škatlami jajc. Sama zaznava deluje dobro, problematični pa so odsevi škatel na polici. Polica je svetleča in zaradi močne osvetlitve so odsevi precej močni, zato jih model, ki je občutljiv prepozna. Ena od možnih rešitev bi bila zato v končni aplikaciji uporaba bolj matiranih površin polic, s čimer se izognemo problematičnim odbojem. Na sliki 6 so šamponi in drugi izdelki za osebno nego. Taki izdelki pa so za model že težji test, saj niso nujno vsi lepo obrnjeni, na primer Elseve, izdelek na desni strani slike. Slika 7. Zaznava središča objekta. 3.3 Slika 6. Problem lažne zaznave etiket s ceno. Zanimivo pa modelu SKU-110K v tem primeru ni predstavljalo težave prozorno varovalo, ki se nahaja na polici in skrbi, da izdelki ne padajo iz police. Ena od napačnih zaznav pa so velike ploščice z akcijskimi cenami, ki jih uporablja Spar za označevanje. Očitno jih trgovine, kjer je bilo posnetih 10.000 slik, ki so se uporabljale za učenje, niso uporabljale, vsaj ne pogosto, zato model ni pravilno naučen za take primere. Dejstvo pa je, da tega problema pri uporabi za katero je namenjen ta algoritem, torej v trgovini brez fizičnih kupcev ne bo, saj tam ni potrebe za tako velike oznake. 3.2 Določanje središče izdelka Zaznavanje objektov na trgovinskih policah je bil osnoven cilj, ki smo si jo zadali. Naslednji korak je bil izračun središča zaznanega objekta, saj je to skupaj z dimenzijami objekta podatek, ki omogoča pobiranje objekta s prijemalom. Za to je bilo potrebno spreminjanje datoteke Visualization.py. V tej datoteki je koda za izrisovanje pravokotnikov okrog zaznanih objektov. Ker lahko iz podatkov, ki se uporabljajo za izris pravokotnikov izračunamo tudi njihovo središče smo morali le dopisati dve funkciji v katerih se središče izračuna in potem tudi izriše. Rezultat je viden na sliki 7, središče izdelka predstavlja rdeča pika. 185 Prepoznavanje izbranega izdelka Naslednja nadgradnja je bila izvedbe prepoznavanja specifičnih objektov. Kot že omenjeno nevronska mreža zaznava objekte na policah, vendar med njimi ne razlikuje. Klasifikacija vrne samo en razred »objekt«. Škatlo pralnega praška, mleko, plastenko soka in vrečko testenin dojema enako, kot »objekt«. Odločili smo se uporabiti algoritem, ki išče korespondenčne točke in je neodvisen od skaliranja. Bolj pogosto ime za to je SIFT algoritem [4]. Cilj, ki smo si ga zastavili v tem delu je, da podamo sliko želenega izdelka, v realnosti bi bil to izdelek, ki ga je stranka naročila. Glede na sliko želenega izdelka, ki smo jo pridobili na Sparovi spletni trgovini, bi med slikami izdelkov izrezanimi iz planograma moral poiskati pravilen izdelek. Za začetek sem program poizkusil napisati v jeziku Matlab [5]. V programu sem definiral objekt, ki ga iščemo in pa objekte, med katerimi iščemo. Za vsako sliko posebej smo poiskali korespondenčne pare točk med sliko iskanega objekta in sliko objekta iz trgovske police. Nato smo glede na število korespondenčnih parov določili, kateri od objektov je pravilen. Ker pa je vsa predhodna koda napisana v jeziku Python sem se odločil algoritem prepoznavanja SIFT [6] prestaviti v Python in ga še izboljšati. Ideja in izvedba sta bili enaki, glavni spremembi sta bili avtomatsko spreminjanje velikosti vhodnih slik, za lažjo primerjavo s sliko podanega izdelka. Avtomatizirali pa smo tudi nalaganje slik, na katerih išče željeni izdelek [7]. V Matlab-u je bila vsaka slika naložena ročno, v izvedbi prepoznavanja izdelkov v Python-u pa je bilo potrebno le podati mapo s slikami in program je izmed vseh slik našel najboljše ujemanje avtomatsko. Sam algoritem sicer ni še blizu končnega, problematična je na primer situacija, da je na polici, kjer bi robot iskal izdelek zmanjkalo naročenih izdelkov. V trenutnem stanju nas robot ne bi obvestil, da izdelka ni na voljo, ampak bi nam prinesel izdelek, ki je najbolj podoben naročenemu. Rešitev je morda zadnja nadgradnja, ki smo jo izvedli. objektov iz planograma. Uporaba algoritma za zaznavanje praznih prostorov pa je omejena na črne police, obstaja pa tudi nevarnost lažnih zaznav praznih prostorov nad izdelki na primer. Nič ni narobe, če predpostavimo, da smo s tem projektom postavili smernice, za prihodnje delo na tem projektu. Nekateri deli projekta so razviti bolj, drugi manj ampak rezultati, ki smo jih pridobili do sedaj nakazujejo, da je potencial celotnega projekta velik. 5 Literatura: Slika 8. Prepoznavanje izbranega izdelka. 3.4 Iskanje praznih prostorov na polici Kot dodatek pa smo poizkusili rešiti še problem, ki je morda bolj prisoten v trgovinah trenutno kot pa bi bil problem v robotizirani trgovini. Govorimo o praznih prostorih na policah, ki nastanejo, ko zmanjka določenih izdelkov. Načinov reševanja tega problema je več, tudi nevronske mreže. Mi smo se zaradi pomanjkanja časa odločili za preprost pristop z uporabo tehnik obdelave slik v Python-u. Ideja je bila, da prazne prostore zaznavamo z zaznavanjem temnih delov slike [8]. Sliko najprej spremenimo iz barvne v črno-belo , poiščemo temne lise in okrog njih narišemo pravokotnik. Ker to samo po sebi ni delovalo, smo omejili maksimalne in minimalne velikosti pravokotnikov in potem izračunali povprečno vrednost slikovnih točk znotraj pravokotnika. S tem smo dodali še eno raven upragovljanja. Rezultat je viden na sliki 9, z rdečimi pravokotniki so označeni zaznani izdelki, z zelenim pa prazen prostor. Slika 9. Zaznavanje praznega prostora na polici. 4 Zaključek Pri izdelavi projekta smo se dotaknili veliko različnih vsebin: vzpostavitev ustreznega programskega okolja, prepoznavanje lege objektov z nevronsko mrežo, obdelava slik, ter prepoznavanje zelo različnih artiklov. Uporabljali smo različna napredna orodja, ki so sploh omogočila izdelavo projekta, kot je Microsoftovo računalništvo v oblaku na platformi Azure. Delovanje same nevronske mreže ni popolnoma brez težav, je pa ravno pred kratkim prišla na Github še izboljšana verzija[11] . To, da prihajajo izboljšane različice in da se na projektu še vedno dela vliva precej optimizma, da se bo razvoj nadaljeval tudi v prihodnje. Prepoznavanje izbranega izdelka in pa iskanje praznih prostorov delujeta, bi pa za uporabo v resni aplikaciji potrebovala dodaten razvoj in precej nadgradenj. Uporabo algoritma za prepoznavanje izdelka omejuje predvsem nezmožnost izreza posameznih slik označenih 186 [1] E. Goldman, R. Herzig, A. Eisenschtat, J. Goldberger and T. Hassner, "Precise Detection in Densely Packed Scenes," 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 52225231. [2] T. Lin, P. Goyal, R. Girshick, K. He and P. Dollár, "Focal Loss for Dense Object Detection," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 42, no. 2, pp. 318-327, 2020. [3] Blaž Potočnik, Azure-manual-FE-LJ. 2021. [4] D. G. Lowe, "Object recognition from local scaleinvariant features," Proceedings of the Seventh IEEE International Conference on Computer Vision, 1999, pp. 1150-1157 vol.2 [5] Object Detection in a Cluttered Scene Using Point Feature Matching - MATLAB & Simulink. https://www.mathworks.com/help/vision/ug/objectdetection-in-a-cluttered-scene-using-point-featurematching.html (pridobljeno jan. 16, 2021). [6] Introduction to SIFT (Scale-Invariant Feature Transform) — OpenCV-Python Tutorials; https://opencv-pythontutroals.readthedocs.io/en/latest/py_tutorials/py_feature 2d/py_sift_intro/py_sift_intro.html (pridobljeno jan. 16, 2021). [7] SIFT | How To Use SIFT For Image Matching In Python. https://www.analyticsvidhya.com/blog/2019/10/detailed -guide-powerful-sift-technique-image-matching-python/ (pridobljeno jan. 16, 2021). [8] Identify black dots on lemon, Stack Overflow. https://stackoverflow.com/questions/52279916/identifyblack-dots-on-lemon (pridobljeno jul. 27, 2021). [9] Wei Y, Tran S, Xu S, Kang B, Springer M. Deep Learning for Retail Product Recognition: Challenges and Techniques. Comput Intell Neurosci. 2020;2020:8875910. [10] Varadarajan S., Kant S., Srivastava M. M. Benchmark for generic product detection: a strong baseline for dense object detection. 2019. https://arxiv.org/abs/1912.09476.(pridobljeno jul. 27, 2021). [11] Tianze Rong, Yanjia Zhu, Hongxiang Cai, Yichao Xiong, A Solution to Product detection in Densely Packed Scenes, 2020, https://arxiv.org/abs/2007.11946 (pridobljeno jul. 27, 2021). Simulacije in modeliranje Simulations and Modeling Detection of Increased Fuel Utilization in Solid Oxide Fuel Cell Stacks using Subspace Identification Maja Erkechova1, Stefan Borkovski1 , Đani Juričić2 1 Jozef Stefan International Postgraduate School, Jamova 39, 1000 Ljubljana, Slovenia Department of Systems and Control, Jozef Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia E-pošta: erkechova@gmail.com , stefan.borkovski@yahoo.com, dani.juricic@ijs.si 2 Abstract. Solid oxide fuel cell (SOFC) systems convert the chemical energy of fuel gases into electrical and thermal energy. The efficient operation of SOFC stacks requires sufficient fuel supply to avoid oxidation of the anode and hence severe deterioration. The percentage of utilized fuel is referred to as fuel utilization (FU). Most often, increased FU may result from issues with the fuel delivery system. Therefore, efficient online monitoring that can detect the problem in the early stage is necessary for reliable SOFC operation. The conventional detection of increased FU relies on harmonic analysis of stack response to the sinusoidal perturbation, the duration of which may take the order of magnitude 10-100s. This paper aims to show that detection can be done time efficiently by using short discrete random binary noise perturbation. A low-order model is identified from the perturbed current and voltage records obtained from the cell in a healthy state using subspace identification. In the online monitoring stage, the near-zero model prediction error indicates the normal state of health, while increased error indicates system degradation possibly due to the increased FU. The idea is validated on a six-cell stack subjected to the increased FU. 1 Introduction SOFCs have been considered as a promising alternative to traditional heat engines due to their capability to combine fuel flexibility and high conversion efficiency. The development of advanced health monitoring is crucial to improve the durability and reliability of SOFC systems. One of the concerns when operating a SOFC stack is insufficient fuel supply or partial fuel starvation. It might occur due to issues in the fuel supply system or even complete fuel shutdown [1]. The insufficient fuel supply may cause anode oxidation that results in structural degradation of the electrolyte and electrode interface [2]. The anode oxidation process has been widely studied to prevent this problem. Authors in [3] investigated the effects of anode re-oxidation in a SOFC caused by direct oxidation in the air (fuel shutdown) and anionic current (that is fuel starvation) throughout a damage model. In [4], a SOFC model is developed to study the evolution of the predominant physical variables leading to local gas starvation at both high fuel and oxidant utilization. There has been a need for efficient online monitoring tools to generate early warnings. A comprehensive overview of fault detection strategies for ERK'2021, Portorož, 188-191 188 SOFC systems is presented in [5]. Authors in [2] use Electrochemical Impedance Spectroscopy (EIS) in combination with Pseudorandom Binary Sequence (PRBS) excitation coupled with Continuous Wavelet Transform (CWT) analysis to detect gas-shortage problems. The approach brings significant advantages compared to the classical EIS approach. In [6], different degradation mechanisms are identified by analyzing changes in EIS. Insufficient fuel supply moves the operating point into the non-linear region of the voltagecurrent characteristic, which leads to the problem of detecting nonlinearity from signals [7]. The total harmonic distortion analysis (THDA) [7] uses sinusoidal current perturbation to detect the onset of higher harmonics in output voltage [8]. Authors in [9] use the THDA and propose a strategy using fault tree analysis (FTA). THDA requires sinusoidal perturbation, the duration of which may take the order of magnitude 10-100s. The data-driven model in this paper focuses on the low-frequency part of the system dynamics since FU was found to affect it seriously [2]. To do so, we use the numerical algorithms for the Subspace State-Space System Identification (N4SID) method by Van Overschee and De Moor [10]. The resulting model captures only dominant low-frequency dynamics with a low-order model while neglecting the details related to higher frequencies. The advantage of this approach is that rather short perturbation times suffice to do the job. This paper is structured as follows. The ground for applying Subspace Identification is described in Section 2. Section 3 describes the experiment conducted for method validation. Finally, Section 4 discusses the obtained results on the experimental data. 2 Methodology EIS is a ubiquitous technique employed to study the impedance of electrochemical characteristics and to perform diagnostics of electrochemical systems. System impedance is determined at different frequencies by imposing small voltage or current perturbation onto the voltage or current operating point [11]. Often, in cases of fault or degradation, mainly the low-frequency part of the impedance is affected. The conventional EIS utilizes a sinusoidal excitation signal. Despite the simplicity, applying single-sine excitation signals is time-consuming, in particular in the low-frequency range [12]. To alleviate the problem, a random binary signal has proved a suitable alternative to the sinusoidal excitation [12]. An advantage of a random binary signal is its simplicity, It switches from one value to another (−𝑎 to 𝑎 or vice versa) at random times. In practice, these changes can happen only at discrete time instances, hence the label discrete random binary signal (DRBS). Using DRBS, the time needed for performing EIS turns significantly shorter. An in-depth review of the conventional EIS, as well as solutions provided to the drawbacks of EIS, can be found in [12]. Interpretation of EIS data has traditionally relied on the Equivalent Circuit Model (ECM), which is a linearized model of the entire cell/stack dynamics, and it is fractional-order, which means it is described by the infinite-dimensional conventional transfer function (with integer derivatives). Generally, in SOFC systems, there are five dominant processes whose time constants span the frequency interval from 0.1Hz to 1MHz [2]. These frequency-dependent processes can be identified in the impedance spectra and can be categorized into three groups: gas conversion, cathode processes, and anode processes [11]. The three categories affect different frequency ranges. The cathode processes impact the middle-frequency range; the anode processes occur in the high-frequency range whereas the gas processes influence the low-frequency range. If the focus should be on identifying changes in the low-frequency region, simpler models than ECM could be used. Namely, ECM models are fractional-order models and as such infinite-dimensional. Therefore, we propose to use a low-dimensional integer-order model. To learn the system from data, the data-driven Subspace System Identification is applied. Data-driven models are built from the available historical data obtained in healthy (normal) operating conditions. The model is later used to detect faults based on a discrepancy between model and process. The Subspace System Identification methods have been very appealing in theory and practice [13]. Their great advantage is that the only prior that needs to be specified is the order of the model. In the sequel, the essential idea of the subspace identification method will be reviewed. The system dynamics is assumed to take the following state-space form: (1) 𝒙𝒌+𝟏 = 𝑨𝒙𝒌 + 𝑩𝒖𝒌 + 𝒘𝒌 𝒚𝒌 = 𝑪𝒙𝒌 + 𝑫𝒖𝒌 + 𝒗𝒌 (2) where 𝑦𝑘 ∈ 𝑅 𝑛𝑦 , 𝑑𝑘 ∈ 𝑅𝑛 , 𝑢𝑘 ∈ 𝑅𝑛𝑢 , 𝑤𝑘 ∈ 𝑅𝑛 , and 𝑛𝑦 𝑣𝑘 ∈ 𝑅 are the system output, state, input, state noise, and output measurement noise, respectively. 𝐴, 𝐵, 𝐶, 𝐷 are system matrices with appropriate dimensions. With the model (1) and (2), the Kalman innovation statespace model is associated: 𝑥𝑘+1 = 𝐴𝑥𝑘 + 𝐵𝑢𝑘 + 𝐾𝑒𝑘 (3) (4) 𝑦𝑘 = 𝐶𝑥𝑘 + 𝐷𝑢𝑘 + 𝑒𝑘 where 𝑒𝑘 ∈ 𝑅𝑛 is the innovation process, K is the Kalman gain matrix, and 𝑥𝑘 ∈ 𝑅𝑛 is the state. It should 189 be noted that the innovation representation (3) and (4) is an observer for the state-space model (1) and (2) [15]. The identification problem can be defined as followed: using a set of input-output data {(𝑢𝑘 , 𝑦𝑘 ), 𝑘 = 1, … 𝑁}, estimate the state order n, system matrices 𝐴, 𝐵, 𝐶, 𝐷, 𝐾, and the initial states of the state-space model (3), and (4). Then, two estimation steps are performed, i.e. estimation of the Vector Autoregressive and Exogenous Variable (VARX) model and estimation of the state sequence and system matrices. The second step requires estimation of the future window 𝑤 parameter as well as the model order. Every pair of state order and future window parameter uniquely determines the system model. The optimal model is then selected by testing the prediction performance of the estimated models using validation data. Different subspace system identification methods are reviewed in [16]. In this paper, we use the method N4SID proposed by Van Overschee and De Moor [10]. N4SID is an open-loop system identification method, which means it does not involve a preestimation step and only the order of the system is needed. The algorithm determines the order of the system directly using singular value decomposition [14]. N4SID algorithm possesses many advantages in terms of simplicity, low computational cost, and applicability in real-time implementations. The algorithm N4SID is implemented in MATLAB R2019a version. The routine is called by n4sid(DATA, NX)to estimate a state-space model of required parameters order NX using time or frequencydomain data DATA. DATA must be specified as an IDDATA object to encapsulate input and output measurements from the system to be identified. The object is available as a MATLAB function iddata(y, u, Ts) where y is the output signal, u is the input signal, and Ts is the sampling time. NX can be specified as a positive integer or as 'best' where the optimal order is chosen automatically in the 1:10 range. In our case, the 'best' model turned to be the first-order model. The data supporting the findings of this study are not publicly available due to third-party restrictions. 3 Experiment An experiment was performed on a six-cell SOFC stack from SOLIDpower S.p.a, where each cell has an active area of 80 𝑐𝑚2 . The stack was operated in an electric furnace at 750 °𝐶 for a total period of 4500 h. The flow rate of the hydrogen and nitrogen fuel mixture as H2 / N2 = 0.216/0.144 𝑁𝑙 ℎ−1 𝑐𝑚−2 and the airflow rate was 4 𝑁𝑙 ℎ−1 𝑐𝑚−2 . The nominal current was 32A, and most of the time FU = 77.5 %. The stack was affected by variation of the FU by decreasing the fuel flow rate as well as increasing the current to extract rich information about fuel starvation or other degradation phenomena. In the first interval, by reducing the fuel flow rate, FU was increased in four steps in the range of 77.5 %, 82 %, 87 %, and 92 %. The duration of each step was 24 hours, and the stack was then again returned to a FU of 77.5 %. While each step was performed to decrease the H2 flow rate, the current density was kept constant. In the second interval, consisting of four steps each 24 hours long, the H2 the flow rate was kept constant while increasing the current density in the range of 32 A, 34.06 A, 36.15 A, and 38.02 A. During the experiment, there were also unplanned interruptions. In the fuel supply, there was a H2 cut-off three times. Only in the first case was the reason high FU, and the voltage of all cells dropped below 0.73 V resulting in Ni reoxidation. After this event, there was a slow recovery, but the values never reached the initial values before the event. The other two events did not cause long-term effects on the overall condition of the stack. One power outage occurred due to interruptions in the external power grid, and one complete shutdown and restart of the SOFC stack happened because of the relocation of the test bench to a new building. The goal of the experiment was to track the deterioration of the stack condition. It is shown that high fuel utilization issues can be detected by the changes that happened both in the mean and variance of the error distribution centre. Figure 1. Learning and online phase of the proposed approach. 4 Results and discussion Our approach consists of two phases: the learning phase and the online phase (Figure 1). In the learning phase, we are using the available data from the stack to create a model of the stack that would be able to make predictions for the output voltage. The model is identified from input current, its past values, and output voltage records obtained on the cell in a healthy state (nominal condition). Later in the online phase, with the comparison between the stack voltage and the predicted voltage by the model, it is possible to detect changes in the system. Training data are selected from the initial fault-free part of the experiment. Voltage and current were sampled with the frequency 50 𝑘𝐻𝑧 for 100 seconds. The original data is downsampled with a frequency of 1000 𝐻𝑧. Only 600 samples or 12 seconds of data are used for training and testing purposes. Structural identification suggested the first-order model as an optimal choice. Validation results of the model in nominal condition are presented in Figure 2. The model is then applied to increased FU (FU = 92%) and the results are presented in Figure 3. It can be noticed that with increasing FU, the model output is diverging from the system output and the model error is rising. To see the evolution of the prediction error with increasing FU, histograms for two cases are shown in Figure 4. From the histograms, we can conclude that the model of the low-frequency part of the system is sensitive to increased FU, as increased FU causes significant model errors that have shifted mean values and increased variances. These differences are easily detectable, showing that the proposed setup reacts to the increased FU. 190 Figure 2. Results of the validation of the model in the regime of normal FU (FU=77.5 %). Figure 3. Prediction error under increased FU (FU=92 %). Figure 4. (a) Histograms for the case of normal FU increased FU (FU=82 %, FU=87 %, FU=92 %) due decreased fuel; (b) Histograms for the case of normal FU increased FU (FU=82 %, FU=87 %, FU=92 %) due increased current. vs to vs to 5 Conclusion Subspace identification method N4SID is used to detect increased FU in the incipient stage. This approach detects changes in the low-frequency part, which is affected also by increased FU. Preliminary results indicate that reliable results could be obtained by DRBS excitation. According to the reported cases in the literature, the duration for THDA seems to be significantly longer than the one needed in our approach. It should be noted that our approach is, however, not able to isolate the increased FU. Additional checks are needed, for example, the gas flow in relation to the output power. In the next step, a more detailed comparison with THDA will be undertaken. References [1] Q. Fang, L. Blum, R. Peters, M. Peksen, P. Batfalsky, and D. Stolten, “SOFC stack performance under high fuel utilization,” Int. J. Hydrogen Energy, vol. 40, no. 2, pp. 1128–1136, 2015, doi:10.1016/j.ijhydene.2014.11.094. [2] G. Nusev, B. Morel, J. Mougin, Ð. Juričić, and P. Boškoski, “Condition monitoring of solid oxide fuel cells by fast electrochemical impedance spectroscopy: A case example of detecting deficiencies in fuel supply,” J. Power Sources, vol. 489, no. October 2020, 191 p. 229491, 2021, doi: 10.1016/j.jpowsour.2021.229491. [3] J. Laurencin, G. Delette, B. Morel, F. Lefebvre-Joud, and M. Dupeux, “Solid Oxide Fuel Cells damage mechanisms due to Ni-YSZ re-oxidation: Case of the Anode Supported Cell,” J. Power Sources, vol. 192, no. 2, pp. 344–352, 2009, doi: 10.1016/j.jpowsour.2009.02.089. [4] M. Angeloni, P. Lisbona, and R. Bove, “A PDE model for microscopic simulation of solid oxide fuel cells,” J. Power Sources, vol. 201, pp. 184–195, 2012, doi: 10.1016/j.jpowsour.2011.10.109. [5] B. Yang et al., “Solid oxide fuel cell systems fault diagnosis: Critical summarization, classification, and perspectives,” J. Energy Storage, vol. 34, no. October 2020, p. 102153, 2021, doi: 10.1016/j.est.2020.102153. [6] J. I. Gazzarri and O. Kesler, “Electrochemical AC impedance model of a solid oxide fuel cell and its application to diagnosis of multiple degradation modes,” J. Power Sources, vol. 167, no. 1, pp. 100– 110, 2007, doi: 10.1016/j.jpowsour.2007.02.010. [7] A. Esposito, L. Russo, C. Kändler, C. Pianese, B. Ludwig, and N. Y. Steiner, “High Fuel Utilization in Solid Oxide Fuel Cells: Experimental Characterization and Data Analysis with Continuous Wavelet Transform,” J. Power Sources, vol. 317, pp. 159–168, 2016, doi: 10.1016/j.jpowsour.2016.03.069. [8] E. Ramschak, V. Peinecke, P. Prenninger, T. Schaffer, and V. Hacker, “Detection of fuel cell critical status by stack voltage analysis,” J. Power Sources, vol. 157, no. 2, pp. 837–840, 2006, doi: 10.1016/j.jpowsour.2006.01.009. [9] V. Subotić et al., “On the origin of degradation in fuel cells and its fast identification by applying unconventional online-monitoring tools,” Appl. Energy, vol. 277, no. July, p. 115603, 2020, doi: 10.1016/j.apenergy.2020.115603. [10] P. Van Overschee and B. de Moor, “N4SID: Numerical Algorithms for State Space Subspace System Identification,” IFAC Proc. Vol., vol. 26, no. 2, pp. 55–58, 1993, doi: 10.1016/s1474-6670(17)48221-8. [11] S. Lazarou, G. Fragulis, and N. Kiratzis, “AC Electrochemical Impedance Spectroscopy as a tool for Solid Oxide Fuel Cell operational time delays calculation,” no. September, pp. 1–5, 2011. [12] P. Boškoski, A. Debenjak, and B. M. Boshkoska, Fast electrochemical impedance spectroscopy : as a statistical condition monitoring tool. 2017. [13] S. J. Qin, “An overview of subspace identification,” Comput. Chem. Eng., vol. 30, no. 10–12, pp. 1502– 1513, 2006, doi: 10.1016/j.compchemeng.2006.05.045. [14] P. Van Overschee and B. De Moor, Subspace Identification for Linear Systems, no. November 2014. 1996. [15] A. Haber, “Subspace Identification of Temperature Dynamics,” arXiv, pp. 1–10, 2019. [16] M. Viberg, “Subspace Methods in System Identification,” IFAC Proc. Vol., vol. 27, no. 8, pp. 1– 12, 1994, doi: 10.1016/s1474-6670(17)47689-0. Generating Synthetic Hourly Solar Radiation Sequences Using Generative Adversarial Networks Romanela Lajić, Čedomir Zeljković, Vladimir Risojević University of Banja Luka, Faculty of Electrical Engineering, Patre 5, 78000 Banja Luka, Republic of Srpska, B&H E-mail: romanela.lajic@etf.unibl.org, cedomir.zeljkovic@etf.unibl.org, vladimir.risojevic@etf.unibl.org Abstract The production and usage of solar energy has steadily increased in the past 20 years. However, due to stochastic nature of the parameters influencing the power output of solar power plants, it is important to develop methods for prediction of their production. In this paper, we proposed using generative adversarial networks for generating hourly solar irradiance sequences that can be used for prediction of both the monthly variations and overall energy production of a solar plant. We compared the predicted production of a solar power plant calculated using the generated data to the one calculated using the measured data. The obtained results show good agreement between these two values, as well as realistic variations of monthly energy production estimated using generated sequences. 1 Introduction In the past 20 years the development and usage of solar energy has shown a steady increase. In 2018 global production of electrical energy from photovoltaic (PV) sources reached 552,382 GWh, and in 2020 the global expansion of new solar power installations was 23%, as reported by the International Energy Agency [1]. Despite the large increase in production of electrical energy from renewable sources, further effort is required in order to meet the goals set for reducing the amount of emission caused by use of fossil fuels. Significant problem associated with massive usage of energy from renewable sources is their stochastic nature [2]. Solar radiation is not a steady source of energy, with the power of PV panels varying with the variations of solar radiation. Not only does the irradiance change with time but it does so in a way that is difficult to predict and therefore no guarantee can be given that the needs for electrical energy will be met at any given moment, which is the case with traditional ways of energy production such as coal, nuclear or large hydro power plants. For this reason it is important to be able to predict the power output of a solar power plant during a longer period of time before installation, and in order to do so it is necessary to have information on solar irradiance. The prediction of energy production of a solar power plant in a particular location during a longer period of ERK'2021, Portorož, 193-196 193 time is possible with the assumption that the monthly average values of solar radiation do not change substantially from year to year. For this purpose the Typical meteorological year (TMY) is used. TMY is formed by calculating the average value of solar radiation for each month over a span of several years and then choosing the twelve months with the closest average value to the overall respective monthly average [3]. This approach estimates the overall possible production of electrical energy but fails to give the information about the power variations over time which can be significant, not only for prediction of production but for analysis of the influence of the solar power plant on the grid, voltage, stability and for optimization of the work of the power plant itself. Simulations of electrical energy production are a possible approach for obtaining more detailed information about the power variations over time. However, the available detailed data on solar irradiance is usually scarce and only available for a limited number of locations, so obtaining a significant amount of data for simulation can be difficult. For this purpose several statistical methods have been developed, which allow us to predict solar irradiance sequences by using a limited amount of available information such as, for example, monthly average radiation. These methods are usually evaluated by using statistical parameters such as mean, standard deviation, Kolmogorov-Smirnov test, etc. [4–8]. In this paper we show that, by using neural networks instead of statistical methods to generate hourly solar irradiance sequences, it is possible to generate sequences with realistic variations of irradiance appearing during a typical day of a particular month, which allows us to simulate not only the average production of panels but also the change in generated power during time. 2 Generative Adversarial Networks Generative Adversarial Network (GAN) is a generative machine learning model consisting of two networks that are trained simultaneously, and is a form of unsupervised learning [9]. The two networks are referred to as the generator and the discriminator network. The generator network generates the desired data (image, sound, video, time sequence etc.) using noise as input. On the other hand, the discriminator network receives as input a combination of real training data and data generated by the generator, which it then needs to classify as real or fake. During training the goal of the discriminator is to get consistently better at differentiating real and fake samples, while the generator is trained to generate better samples in order to ‘trick’ the discriminator. The end product of training should be an equilibrium between these two demands, with the discriminator ideally being only 50 % successful in classifying the input samples. GANs can be extended so that the trained generator model is able to generate data of a certain type or a class label. This is achieved by conditioning both the discriminator and the generator on the class label during training by adding the label as the additional input to both networks. This way conditional GAN is formed [10]. 2.1 Network architecture For the purpose of generating solar irradiance sequences, two separate GAN models were created, one for generating the beam component of solar radiation, and the other for generating the diffuse component. The two components are generated separately for the purpose of their use for predicting the power of solar power plants where it is necessary to have the information on both components. The two separate networks were made to be identical, both in architecture and in training hyperparameters. The networks are formed as conditional GAN models with the second input being the month of the year. This allows us to generate an irradiance sequence for a day in a particular month using the standalone generator. This also improves the training of the model, in a sense that the model is able to learn the stochastic elements of the sequences such as the times of sunrise and sunset in a particular month more easily. When it comes to the architecture of the model itself, the generator and the discriminator network are implemented with the same number of hidden layers, and the same number of nodes in each respective layer. The architecture of the generator and the discriminator is shown in Figure 1. The number of hidden layers used in both networks is 4, with 100 nodes in each layer, and the leaky ReLU activations. The model was implemented in Python using the Keras API. 3 Material and methods 3.1 Training data The data used to train GAN is satellite data taken from the PVGIS-SARAH solar radiation database, for the city of Banja Luka, with coordinates 44.771 N, 17.189 E and elevation of 164 m [11]. The dataset consists of hourly radiation data for years 2005-2016, on a horizontal surface and an azimuth angle of 0°. Besides global solar radiation, it also contains information on beam and diffuse components, as well as temperature and wind speed. Out of the 12 years available, 10 were used as a training set (years 2006-2015), while the remaining 2 years (2005 and 2016) served as a test set. The data components used for training are the beam and diffuse radiation 194 Generated data label Latent vector Input Input Embedding Dense Dense Reshape Reshape Real data label Concatenate Dense LeakyReLU Dense } Input x4 Embedding Real data Input Dense Reshape Concatenate Dense LeakyReLU } x4 Dense Generated sequence Real / Generated Figure 1: Generator and discriminator architecture components. For the testing of the model the information on temperature was also used. Prior to training the model the data has been scaled in such a way to ensure that the maximum absolute value of each feature will be 1.0. The scaling parameters are then saved so all of the data later generated by the standalone generator can be rescaled. 3.2 Model evaluation methods Model performance is evaluated by comparing the annual AC power produced by simulating the power output of a solar power plant when using measured data of solar radiation compared to data generated by a standalone generator. The calculator used to determine the annual AC power produced by a solar power plant is inspired by the PVWatts calculator, and implemented using Matlab. The calculator takes hourly solar radiation data on a horizontal surface and calculates the irradiance on an inclined panel by using the Perez model [12]. It then takes into account the influence of temperature for each hour which is also given to the calculator as an input parameter [13]. All of the calculations are done on a 1000 W DC power system, with a panel tilt angle of 30°. As mentioned in Sec. 2.1, the data generated by the networks are sequences of beam and diffuse radiation. The temperature se-quences are not generated and for the evaluation of the model the measured temperature sequences are paired with generated data, so that the real and generated sequences could be compared without the differences in temperature having an influence on the variation in the results. 3.3 Training parameters Both networks, the one generating beam radiation data and the one generating diffuse radiation data are trained with the same values of hyperparameters. First hyperparameter to be chosen is the dimension of latent space and the distribution from which to generate the generator input vectors. The size of the latent space chosen is 100, sampled from a normal distribution. Both models were trained for 500 epochs with a batch size of 128, with one half of the batch consisting of real training data and the other half consisting of data generated by the generator model. 4 Experimental results As explained in Sec. 3.2, we evaluated the model using a calculator which estimates the power of a solar power plant based on the input sequences of solar radiation. We compare the power estimated based on measured data to the power estimated using the data generated by GAN. The generated sequences of global radiation for three illustrative days taken from different months of the year are shown in Figure 2. These sequences are formed by adding up the beam and diffuse components of radiation and given for three different months of the year, January, April and July. The sequences are chosen to show the variety in generated sequences, showing both cloudy and clear days. The main downside of this method lies in the fact that the beam and diffuse component networks are created separately, which means no correlation between the two components can be modeled. However, in reality some correlation between these two components certainly exists, and therefore it should be taken into account in order to avoid mistakes such as generating theoretically impossible values of solar irradiance, e.g. those higher than 1000 W/m2 . An example of such sequence is shown in Figure 3. Figure 2: Generated radiation sequences for illustrative days in various months Table 1: Annual production of a solar power plant estimated using real and generated radiation data. Year 2005 2016 Measured data 0.82885 MWh 0.83525 MWh Generated data 0.86269 MWh 0.87303 MWh Figure 3: Generated radiation sequences with peak value higher than 1000 W/m2 The power plant production calculation is done for two test years and for the two generated years, with the same sequences of temperature. Figure 4 shows the comparison between the estimated produced energy for each month in both of the test years, and Table 1 shows the complete annual estimation of energy production. From these results, we can see that the differences in estimated annual production are 4 and 4.4 % respectively, with a slight overestimation in production when 195 generated sequences are used. Therefore, the generated sequences have the potential to be used for estimating the annual production. Moreover, the results in Figure 4, show that the generated sequences result in realistic variations of the monthly energy production. 5 Conclusion In this paper a method for generating hourly solar irradiance sequences using GAN is presented. The sequences [2] Č. Zeljković, P. Mršić, B. Erceg, D. Lekić, N. Kitić, P. Matić, and T. M. Şoimoşan, “Probabilistic techno-economic assessment of wind-pvdiesel-battery power supplies for mobile telephony base stations,” in 2020 International Symposium on Industrial Electronics and Applications (INDEL), 2020, pp. 1–6. [3] I. J. Hall, R. R. Prairie, H. E. Anderson, and E. C. Boes, “Generation of a typical meteorological year,” 1978. [Online]. Available: https://www.osti.gov/biblio/7013202 [4] Č. Zeljković, P. Mršić, and B. Erceg, “Simulationbased energy assessment of pv systems installed in an urban environment,” in 20th International Symposium on Power Electronics (Ee), 2019, pp. 1–6. [5] R. Aguiar and M. Collares-Pereira, “Statistical properties of hourly global radiation,” Solar Energy, vol. 48, no. 3, pp. 157–167, 1992. Figure 4: Monthly energy production of solar plant are generated by using two separate GAN models, one for generation of beam component of irradiance and one for generating diffuse component of irradiance. Data generated by a standalone generator is then used to estimate annual production of a solar power plant, where the production of the power plant is calculated using the information on solar radiation and temperature. The obtained results show that the generated sequences give realistic estimates of annual power plant production, while also showing variation in sequences which help mimic realistic changes of solar radiation happening during a day. Further steps in development would be a network that generates both radiation components simultaneously, taking the correlation between them into account. Furthermore it would be interesting to investigate training a network, which could produce data for any desired location, irrespective of the location where the training data was measured. [6] B. Espinar, L. Ramı́rez, A. Drews, H. G. Beyer, L. F. Zarzalejo, J. Polo, and L. Martı́n, “Analysis of different comparison parameters applied to solar radiation data from satellite and german radiometric stations,” Solar Energy, vol. 83, no. 1, pp. 118–125, 2009. [7] R. Aguiar, M. Collares-Pereira, and J. Conde, “Simple procedure for generating sequences of daily radiation values using a library of markov transition matrices,” Solar Energy, vol. 40, no. 3, pp. 269– 279, 1988. [8] R. Aguiar and M. Collares-Pereira, “Tag: A timedependent, autoregressive, gaussian model for generating synthetic hourly radiation,” Solar Energy, vol. 49, no. 3, pp. 167–174, 1992. [9] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio, “Generative adversarial nets,” Advances in neural information processing systems, vol. 27, 2014. Acknowledgment [10] M. Mirza and S. Osindero, “Conditional generative adversarial nets,” arXiv preprint arXiv:1411.1784, 2014. This research was funded in part by Slovenian Research Agency and Ministry of Civil Affairs, Bosnia and Herzegovina, under Grant 19.032/966-13/20 and in part by the Ministry of Scientific and Technological Development, Higher Education and Information Society of the Republic of Srpska under contract 19.032/961-102/19. [11] T. Huld, R. Müller, and A. Gambardella, “A new solar radiation database for estimating pv performance in europe and africa,” Solar Energy, vol. 86, no. 6, pp. 1803–1815, 2012. References [1] “International Energy Agency data and statistics,” https://www.iea.org/reports/renewables-2020/solarpv, accessed: 2021-07-17. 196 [12] R. Perez, P. Ineichen, R. Seals, J. Michalsky, and R. Stewart, “Modeling daylight availability and irradiance components from direct and global irradiance,” Solar Energy, vol. 44, no. 5, pp. 271–289, 1990. [13] A. P. Dobos, “Pvwatts version 5 manual,” National Renewable Energy Laboratory, Tech. Rep., 2014. Simulacija gretja magnetne tekočine v izmeničnem magnetnem polju Jakob Vizjak, Anton Hamler Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor, Slovenija E-pošta: jakob.vizjak1@um.si Simulation of the magnetic fluid heating in the alternating magnetic field Abstract. Today, there is much attention on magnetic fluid hyperthermia. Magnetic fluids used for heating are liquids made of nanoscale magnetic particles suspended in a carrier fluid. Our goal was to develop a numerical model to simulate the heating of a magnetic fluid in the alternating magnetic field. Our model was based on an experimental setup, which is based on the calorimetric method. We used the properties of a commercial magnetic fluid made of maghemite (γ-Fe2O3) nanoparticles and mineral oil for the simulation. The simulation results were not in agreement with measured values. Therefore further development is needed. 1 Uvod Dandanes so deležne velike pozornosti magnetne tekočine pri uporabi hipertermije za namene zdravljenja raka. Gre za to, da se uniči rakave celice, brez da se poškoduje okoliško zdravo tkivo. Pri tem se območje tumorja segreva na temperaturo 40 – 44 °C [1]. Magnetna tekočina je suspenzija majhnih magnetnih delcev v neki nosilni tekočini, ki pod vplivom zunanjega magnetnega polja izkazuje magnetne lastnosti. Sestavljajo jo tri osnovne komponente: - Magnetni nanodelci, - Nosilna tekočina, - Surfaktant. Gretje magnetnih tekočin se običajno karakterizira s specifično stopnjo absorpcije. Ta vrednost se označi s kratico SAR, ki izvira iz angleškega izraza Specific Absorption Rate. Pogosto uporabljena eksperimentalna metoda za karakterizacijo je kalorimetrična metoda. Pri tem gre za to, da se magnetna tekočina segreva v izmeničnem magnetnem polju, pri čemer se meri časovna odvisnost temperature. Iz časovne odvisnosti temperature se določi vrednost SAR, kar se običajno naredi po metodi začetnega naklona, kot je zapisano z enačbo (1). Tak pristop so na primer uporabili v literaturi [1]–[3]. 𝑆𝐴𝑅 = 𝑐t 𝜌t 𝑚d Δ𝑇 ( ). Δ𝑡 i (1) Pri tej je ct specifična toplota magnetne tekočine, ρt je gostota magnetne tekočine, md je masa magnetnih delcev v tekočini in (ΔT/Δt)i je začetni naklon krivulje. ERK'2021, Portorož, 197-200 197 Naš cilj je bil ustvariti numerični model, ki računsko omogoča določanje grelne karakteristike magnetne tekočine. S takšnim modelom je možno hitrejše določanje grelnih karakteristik, kot je to izvedljivo z eksperimentom. Poleg tega je možno karakterizirati tekočine različnih parametrov in iskanje optimalnih parametrov tekočine za željeno karakteristiko. Tekočina, za katero smo izvedli simulacije, je bila komercialna magnetna tekočina, sestavljena iz nanodelcev maghemita (γ-Fe2O3) in mineralnega olja, kot nosilne tekočine. 2 2.1 Metode in materiali Model za izračun Simulacije smo izvedli v programskem orodju Altair Flux3D, ki omogoča numerične izračune na osnovi metode končnih elementov. Reševali smo v načinu sklopitve magnetnega stacionarnega stanja in tranzientnega termičnega (Steady State Magnetic coupled with Tranzient Thermal). Geometrijske podatke, ki smo jih vnesli v model prikazuje 2D presek modela (slika 1). Slika 1. 2D presek modela za izvedbo simulacije. Podatki tuljave: - Notranji polmer: 32 mm, - Zunanji polmer: 51 mm, - Dolžina: 85 mm - Število ovojev: 36. Podatki steklene posode: - Premer posode: 5,8 mm, - Debelina stekla: 0,6 mm, - Dolžina: 50 mm. Dno stekla smo dimenzionirali kot polkrog z enakim polmerom, kot je polmer posode. Količino magnetne tekočine v posodi smo določili z njeno višino v posodi. To smo postavili na 30 mm. 2.2 konstanta in T temperatura. Povezava med Ms in Md je Ms = ϕMd, kjer je ϕ volumska koncentracija delcev v magnetni tekočini. Ravnovesno susceptibilnost lahko na podlagi tega določimo kot: Matematični model 3 1 𝛼 𝛼 𝜒0 = 𝜒i (coth(𝛼) − ). Da smo zagotovili sklopitev med magnetnim in termičnim izračunom, smo uporabili matematični model opisan v tem poglavju. Pri tem smo upoštevali, da delci v tekočini niso enaki po velikosti, ampak imajo neko porazdelitev. Delce smo razdelili v deset velikostnih skupin, s pripadajočimi volumskimi koncentracijami. Pri izračunu smo upoštevali prispevke posamezne skupine. Porazdelitev delcev po velikosti prikazuje slika 2. (6) χi predstavlja začetno susceptibilnost in velja [4]: 𝜒i = ( 𝜕𝑀 2 𝜇0 𝜙𝑀d 𝑉d ) = 𝜕𝐻 i 3𝑘B 𝑇 . (7) Relaksacijski čas τ je kombinacija dveh prispevkov, saj se lahko magnetizacija relaksira po dve mehanizmih. Prvi mehanizem je fizično obračanje delca znotraj tekočine. Ta se imenuje Brownova relaksacija in jo opisuje Brownov relaksacijski čas [5]: 𝜏B = 3𝜂𝑉h 𝑘B 𝑇 , (8) kjer je η viskoznost okolice delca in Vh hidrodinamični volumen delca (skupni volumen delca Vd in nanosa surfaktanta na delcu). Drugi mehanizem je obrat magnetizacije delca znotraj delca samega, imenovana Néelova relaksacija. Opiše jo Néelov relaksacijski čas [5]: Slika 2. Porazdelitev delcev po velikosti. Delci so razdeljeni v deset velikostnih skupin. 𝜏N = 𝜏0 𝑒 𝐾ef 𝑉d 𝑘B 𝑇 , (9) 3 Moč gretja, v enotah W/m , smo izračunali po enačbi (2) [4], [5]. 𝑃 = 𝜇0 𝜋𝜒′′𝑓𝐻2 , (2) kjer je μ0 permeabilnost praznega prostora, f frekvenca magnetnega polja, H amplituda magnetne poljske jakosti in χ'' imaginarna komponenta kompleksne susceptibilnosti magnetne tekočine. Ta se zapiše kot [4]: 𝜒′′ = 𝜔𝜏 1+(𝜔𝜏)2 𝜒0 . (3) 𝑀 1 = 𝐿(𝛼) = coth(𝛼) − , 𝛼 𝜇0 𝑀d 𝑉d 𝐻 𝑘B 𝑇 𝜏 = 1 𝜏B + 1 𝜏N . . (10) Pri izračunu moči smo porazdelitev po velikosti upoštevali z vsoto: (11) Pri tem vsota predstavlja seštevek prispevkov posamezne velikostne skupine delcev, kjer je N število skupin, indeks j pa predstavlja posamezno skupino. Iz tega se SAR direktno izračuna kot: (4) kjer je M magnetizacija, Ms je magnetizacija nasičenja magnetne tekočine in α je Langevinov parameter: 𝛼= 1 2 𝑃 = ∑𝑁 j=1 𝜇0 𝜋𝜒j ′′𝑓𝐻 . Pri tem je ω = 2πf kotna frekvenca, τ relaksacijski čas magnetizacije in χ0 ravnovesna susceptibilnost magnetne tekočine. Ta sledi iz obravnave magnetizacijske krivulje magnetne tekočine s pomočjo Langevinove funkcije L(α) [4]: 𝑀s kjer je τ0 čas, ki je lastnost materiala (ang. Attempt time) in Kef je efektivna konstanta anizotropije magnetnih delcev. Skupni relaksacijski čas: 𝑆𝐴𝑅 = 𝑃 𝜌m . (12) Tukaj je ρm gostota magnetnih nanodelcev v volumnu magnetne tekočine. SAR ima enoto W/gm (Watt na gram magnetnih nanodelcev). (5) 2.3 Tukaj je Md magnetizacija nasičenja materiala magnetnega delca, Vd volumen delca, kB Boltzmannova 198 Vnos modela v programsko orodje V programskem orodju Altair Flux3D smo sestavili 3D model glede na podatke opisane v poglavju 2.1. Robne pogoje smo definirali z uporabo funkcije Infinite Box. Slika 3 prikazuje sestavljen model. - Specifična toplota [9]: c = 0,8 kJ/kgK, - Relativna permeabilnost: μr = 1, - Toplotna prevodnost [9]: λ = 0,8 W/mK. Magnetna tekočina: - Gostota: ρ = 2500 kg/m3, - Specifična toplota: c = 1214,9 J/kgK - Začetno relativno permeabilnost μri smo izrazili iz začetne susceptibilnosti (7), kjer smo upoštevali porazdelitev delcev po velikosti: 𝜇ri = 1 + 𝜒i . Slika 3. 3D model, sestavljen v programskem orodju Altair Flux3D. Na sredi je steklena posoda, rob problema pa je definiran s funkcijo Infinite Box. Model smo razmrežili tako, da je bila mreža gostejša v območju posode in redkejša na robu problema. Okoli posode smo, kot kaže slika 1, definirali ne-mreženo tuljavo, ki vzbuja magnetno polje. V program smo vnesli podatke o materialih (zrak, steklo in magnetna tekočina). Materiale smo dodelili ustreznim območjem modela. Za sklopitev med magnetnim in termičnim izračunom smo matematični model iz poglavja 2.2 vstavili v program s pomočjo prostorskih veličin (ang. Spatial Quantities). Parametri materialov, ki smo jih vstavili, so bili naslednji: Zrak: - Gostota [6]: ρ = 1,204 kg/m3, - Specifična toplota [7]: (tabela 1) Tabela 1. Temperaturna odvisnost specifične toplote zraka [7]. - T [°C] c [kJ/kgK] 0,0 1,006 6,9 1,006 15,6 1,006 26,9 1,006 46,9 1,007 66,9 1,009 86,9 1,010 107,0 1,012 Relativna permeabilnost: μr = 1, Toplotna prevodnost [8]: (tabela 2) Tabela 2. Temperaturna odvisnost toplotne prevodnosti zraka [8]. T [°C] 0 5 10 15 20 25 30 40 50 60 80 100 λ [W/mK] 0,02436 0,02474 0,02512 0,02550 0,02587 0,02624 0,02662 0,02735 0,02808 0,02880 0,03023 0,03162 (13) Vrednosti smo tabelirali za temperaturo od 0 do 100 °C, po koraku 2,5 °C. - Magnetizacija nasičenja: Ms = 42,3 kA/m, - Toplotna prevodnost: λ = 0,187 W/mK. Z uporabo prostorskih spremenljivk smo vstavili še parametre, ki nastopajo v matematičnem modelu. Čas τ0 smo postavili na vrednost 10-9 s, kot v literaturi [5]. Za efektivno konstanto anizotropije smo izbrali vrednost magnetokristalne anizotropije maghemita. Ta je Kef = 4,6 kJ/m3 [4]. Magnetizacija nasičenja maghemita pa je Md = 400 kA/m [5]. Za viskoznost, ki nastopa v enačbi (8), smo podatkom prilagodili naslednjo temperaturno odvisno funkcijo: 𝜂 = 𝑎1 𝑒 𝑎2𝑇[°C] + 𝑎3 𝑒 𝑎4𝑇[°C] , (14) kjer so konstante: a1 = 1,021, a2 = -0,1018, a3 = 0,3066 in a4 = -0,03526, T[°C] pa je temperatura v enotah °C. Potek simulacije je bil naslednji: (1) Ob času t = 0 s je temperatura T = T0 začetna temperatura in skozi tuljavo teče definiran izmeničen tok v stacionarnem stanju in zagotavlja izmenično magnetno polje. (2) Izvede se magnetni izračun za celotno območje. (3) Glede na temperaturno porazdelitev in magnetni izračun se izvede izračun prostorskih veličin, na podlagi matematičnega modela. Pri tem koraku se izračuna tudi moč gretja v magnetni tekočini. (4) Preveri se, če je zadoščeno pogoju za zaključek simulacije (če je časovni korak višji od definiranega maksimalnega časa) in če je, se simulacija zaključi. (5) Če ni, gre program v naslednji časovni korak, kjer najprej izvede temperaturni izračun glede na izračunano moč gretja in nadaljuje s točko (2). 3 Rezultati Simulacijo smo naredili pri magnetnem polju s parametri H = 7,80 kA/m, f = 229 kHz in H = 1,55 kA/m, f = 279 kHz. Rezultate prikazujeta slika 4 in slika 5, kjer so prikazane časovne odvisnosti spreminjanja temperature magnetne tekočine v izbrani točki znotraj tekočine. Poleg magnetokristalne anizotropije (Kef = 4,6 kJ/m3), smo samo za primerjavo izvedli še simulacije za dve različni vrednosti efektivne konstante anizotropije in sicer za 30 kJ/m3 in 100 kJ/m3. Rezultate simulacije smo primerjali z meritvijo pri danih parametrih polja. Steklo: - Gostota [9]: ρ = 2500 kg/m3, 199 4 Slika 4. Temperatura magnetne tekočine v odvisnosti od časa pri parametrih polja: H = 7,80 kA/m in f = 229 kHz. Zaključek Sestavili smo numerični model za simulacijo gretja magnetne tekočine v izmeničnem magnetnem polju, na podlagi kalorimetrične metode za eksperimentalno karakterizacijo grelnih lastnosti magnetne tekočine. Ugotovili smo, da je model nepopoln, saj prihaja do velikih odstopanj med meritvijo ter simulacijo (15,2 – 20,6 krat višja vrednost pri meritvi, pri Kef = 4,6 kJ/m3). Magnetokristalna anizotropija torej ni dovolj dober približek efektivne anizotropije delcev. Poleg izbire anizotropije in drugih parametrov je možno, da na rezultate vpliva tudi sama struktura modela. Pri tem modelu nismo upoštevali prispevka sevanja in konvekcije na robu posode k prenosu toplote, kar lahko povzroča dodatna odstopanja. V nadaljnjem delu načrtujemo izboljšanje modela, s vključitvijo sevanja in konvekcije ter podrobnejšo analizo parametrov, potrebnih za izračun. Literatura Slika 5. Temperatura magnetne tekočine v odvisnosti od časa pri parametrih polja: H = 1,55 kA/m in f = 279 kHz. Boljša primerjava rezultatov, kot časovna odvisnost temperature, je primerjava začetnih vrednosti SAR, ki jo kažeta tabela 3 in tabela 4. V teh tabelah predstavljajo Simulacija 1, Simulacija 2 in Simulacija 3 simulacije, pri vrednostih efektivne konstante anizotropije Kef = 4,6 kJ/m3, Kef = 30 kJ/m3 in Kef = 100 kJ/m3. Tabela 3. Rezultati vrednosti SAR za polje H = 7,80 kA/m in f = 229 kHz. Tip podatkov Meritev Simulacija 1 Simulacija 2 Simulacija 3 SAR [W/gm] 4,296 0,283 14,016 5,977 Tabela 4. Rezultati vrednosti SAR za polje H = 1,55 kA/m in f = 279 kHz. Tip SAR podatkov [W/gm] Meritev 0,370 Simulacija 1 0,018 Simulacija 2 0,718 Simulacija 3 0,257 Pri Kef = 4,6 kJ/m3, so vrednosti simulacije bistveno nižje od vrednosti meritev, kjer je začetna izmerjena vrednost SAR 15,2 – 20,6 krat višja od izračunane vrednosti. Pri drugih vrednostih Kef je rezultat drugačen. V našem primeru, je pri Kef = 100 kJ/m3 ujemanje z meritvami najboljše, vendar pa vrednost SAR pri tem ni najvišja pri najnižjih temperaturah, kot je to značilno pri meritvah. 200 [1] O. Lanier idr., „Evaluation of magnetic nanoparticles for magnetic fluid hyperthermia“, Int. J. Hyperthermia, let. 36, str. 687–701, jan. 2019, doi: 10.1080/02656736.2019.1628313. [2] G. Kandasamy, A. Sudame, P. Bhati, A. Chakrabarty, S. N. Kale, in D. Maity, „Systematic magnetic fluid hyperthermia studies of carboxyl functionalized hydrophilic superparamagnetic iron oxide nanoparticles based ferrofluids“, J. Colloid Interface Sci., let. 514, str. 534–543, 2018, doi: https://doi.org/10.1016/j.jcis.2017.12.064. [3] S. Khoramian, M. Saeidifar, A. Zamanian, in A. A. Saboury, „Synthesis and characterization of biocompatible ferrofluid based on magnetite nanoparticles and its effect on immunoglobulin G as an immune protein“, J. Mol. Liq., let. 273, str. 326–338, 2019, doi: https://doi.org/10.1016/j.molliq.2018.10.045. [4] R. E. Rosensweig, „Heating magnetic fluid with alternating magnetic field“, J. Magn. Magn. Mater., let. 252, str. 370–374, 2002, doi: https://doi.org/10.1016/S0304-8853(02)00706-0. [5] M. Beković idr., „Numerical Model for Determining the Magnetic Loss of Magnetic Fluids“, Materials, let. 12, str. 591, 2019, doi: 10.3390/ma12040591. [6] E. ToolBox, „Air - Density, Specific Weight and Thermal Expansion Coefficient at Varying Temperature and Constant Pressures“, 2003. https://www.engineeringtoolbox.com/air-densityspecific-weight-d_600.html (pridobljeno apr. 13, 2021). [7] E. ToolBox, „Air - Specific Heat at Constant Pressure and Varying Temperature“, 2004. https://www.engineeringtoolbox.com/air-specific-heatcapacity-d_705.html (pridobljeno apr. 13, 2021). [8] E. ToolBox, „Air - Thermal Conductivity“, 2009. https://www.engineeringtoolbox.com/air-propertiesviscosity-conductivity-heat-capacity-d_1509.html (pridobljeno apr. 13, 2021). [9] Saint-Gobain Sekurit, „Glass properties“. https://www.saint-gobain-sekurit.com/globalexcellence/our-production-processes/glossary (pridobljeno maj 03, 2021). Uporaba modeliranja in simulacije v digitalizaciji procesa elektroobločne peči Vito Logar Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000, Ljubljana E-pošta: vito.logar@fe.uni-lj.si The use of modelling and simulation in the digitalization of the electric arc furance process Abstract. In the past decade, the steelmaking industry has been undergoing an important and significant process of digitalization and informatization. Whether in the past, data acquisition systems, i.e., SCADAs, were used mainly for process monitoring and detection of equipment malfunctions, large amounts of acquired historical data facilitate the use of advanced softwaresupport methods, aiming to improve the key performance indicators of various steelmaking processes. The following paper presents the concept and methodology of digital transformation of the electricarc-furnace (EAF) process in SIJ Acroni steelworks, in the scope of an EU Horizon 2020 project INEVITABLE. Different aspects and approaches of digitalization, and more important, proper software tools, to support and enhance the EAF process, are briefly presented. First, the EAF digitalization concept is presented, followed by the presentation of the methodology, explaining the envisioned concepts of modelling and optimization. Afterwards, the planned implementation of the developed tools into industrial environment is presented. Finally, some of the expected goals of the proposed solutions are given. 1 Uvod V zadnjih desetletjih so bili procesi v jeklarstvu podvrženi znatni modernizaciji v smislu digitalizacije in informatizacije, kar lahko pripisujemo povečani konkurenci na trgu, prizadevanjem za učinkovitejšo rabo surovin in energije ter strožjim okoljskim predpisom. Prvi sistemi s področja digitalizacije, ki so se pojavili v jeklarski industriji, so bili sistemi za spremljanje procesov in zajem podatkov (ang. SCADA). Dandanes so praktično vsi jeklarski procesi podprti s tovrstnimi sistemi, vendar pa se zajeti podatki uporabljajo zgolj za spremljanje procesov ter zaznavanje okvar. Skozi leta obratovanja se je v podatkovnih bazah akumulirala ogromna količina procesnih podatkov, ki omogočajo različne možnosti za izboljšave procesov, npr. izgradnjo procesnih modelov in njihovo simulacijo, uporabo metod rudarjenja podatkov, optimizacijo na osnovi podatkov idr. V članku je na kratko predstavljena metodologija digitalne transformacije procesa elektroobločne peči (EOP) ter orodja, ki slonijo na implementirani digitalni ERK'2021, Portorož, 201-204 201 infrastrukturi, in so namenjena različnim izboljšavam procesa. Laboratorij za avtomatiko in kibernetiko (FE, UL) sodeluje v tekočem EU Horizon 2020 projektu INEVITABLE (Optimization and performance improving in metal industry by digital technologies), ki primarno naslavlja implementacijo naprednih programskih metod v procese jeklarske industrije, z namenom izboljšanja njihove učinkovitosti. V sklopu projekta je izbranih več jeklarskih procesov, tj. elektroobločna peč, ponovčna peč, naprava za vakuumsko odplinjevanje ter naprava za kontinuirno ulivanje jekla. Vsi ti procesi bodo podvrženi procesu popolne digitalizacije in nadgradenj z modernimi programskimi rešitvami, ki bodo vsebovale matematične modele, modele na osnovi podatkov ter različne optimizacijske metode. Glavni cilji, h katerim stremi omenjena metodologija so nižanje porabe energije, surovin in izpustov toplogrednih plinov. Eden od primerov uporabe je tudi implementacija naprednih programskih rešitev za proces reciklaže jekla v EOP. V sklopu digitalizacije in programske podpore procesu EOP se razvijajo tako koncepti digitalizacije kot tudi primerna programska orodja, ki so namenjena spremljanju in izboljšavam procesa EOP, njihova implementacija pa je predvidena v obstoječa in nova programska in strojna okolja. Prva naloga digitalizacije EOP je izbira in implementacija primernih metod za zajem procesnih podatkov, komunikacijskih protokolov in načinov za shranjevanje podatkov. Druga, zahtevnejša naloga, zajema razvoj in vrednotenje naprednejših metod obdelave podatkov, procesnih modelov in optimizacije. Tretja, izvedbena naloga, pa zajema integracijo razvitih rešitev v sklop obstoječih sistemov EOP in razvoj ustreznih vmesnikov za prikaz rezultatov operaterjem EOP. Med vsemi tremi, druga naloga predstavlja najpomembnejši korak v celotnem procesu digitalizacije, saj zajema razvoj metod, ki stremijo k izboljšanju vpogleda v delovanje EOP ter k izboljšanju njenih kazalcev učinkovitosti. Slika 1 prikazuje koncept digitalizacije, vključno z vsemi rešitvami, ki so predvidene za implementacijo v industrijsko okolje. Struktura članka je naslednja. Najprej je podrobneje predstavljen predvideni koncept digitalizacije, vključno z rešitvami za zajem podatkov ter komunikacijskimi protokoli, ki predstavlja osnovo za višje-nivojske rešitve. V drugem sklopu so predstavljene razvite metode, namenjene boljšemu vodenju EOP. Nadalje pa je predstavljena še planirana implementacija metodologije v proces EOP, vključno s predvidenim robnim računanjem (ang. Edge Computing) ter računanjem v oblaku (ang. Cloud Computing). Na koncu je predstavljenih še nekaj ciljev in pričakovanj uporabe omenjene metodologije. 2.1 Procesni podatki Osnova vsakega digitaliziranega procesa, pri čemer EOP ni izjema, je ustrezen zajem vseh potrebnih meritev in ostalih informacij o procesu, ter njihov prenos od senzorjev do krmilnikov in naprej do podatkovnih baz. V tem poglavju so na kratko predstavljeni potrebni procesni podatki EOP, ki so potrebni za razvoj in implementacijo razvitih programskih rešitev. EOP lahko smatramo kot šaržni proces, kjer v procesu nastopajo tako zvezni kot prekinjeni tokovi in veličine. Razvita metodologija v sklopu projekta se osredotoča zgolj na zvezne dele procesa EOP, ki predstavljajo najkompleksnejši del reciklaže jekla. Eden izmed razlogov za to je vsekakor pomanjkanje meritev ključnih procesnih spremenljivk ter s tem slab vpogled v trenutno dogajanje v peči. Zaradi narave procesa (visoke temperature) veliko veličin, npr. temperatura, sestava in raztaljenost jekla, niso merjene zvezno, čeprav bi bilo z vidika vodenja EOP to zaželeno. Meritve temperature taline se izvajajo zgolj na zahtevo operaterja in so omejene na fazo rafinacije. Prav tako se lahko vzorec taline za kemijsko analizo sestave odvzame šele pred odlivanjem taline v fazi rafinacije, raztaljenost jekla pa je z obstoječo merilno instrumentacijo nemogoče izmeriti in se jo zgolj ocenjuje na podlagi vnesene električne energije. Po drugi strani, so meritve nekaterih drugih veličin dostopne v realnem času z ustreznimi časi vzorčenja. Prav tako se na peči beležijo vsi dogodki, ki so pomembni za njeno delovanje, npr. kvaliteta proizvajanega jekla, čas delovanja peči, čas celotnega postopka reciklaže, ocena ostanka taline v peči, sestava jekla v košarah in čas njihovega zakladanja, posamezne meritve temperature taline, moč na transformatorju, pretoki kisika in ogljika, količina dodanih žlindrotvornih dodatkov in mnogi drugi. Meritve se izvajajo z ustreznimi merilniki in se preko programirljivih logičnih krmilnikov prenašajo v različne podatkovne baze, npr. bazi MES in ERP. Slika 1: predvideni koncept digitalizacije, implementacije razvitih rešitev ter prikaza njihovih rešitev 2 Digitalizacija procesa EOP Ideja digitalizacije procesa EOP je v uporabi primernih sistemov za zajem vseh potrebnih obratovalnih podatkov, njihova uporaba v bodisi sprotni ali nesprotni obliki v različnih programskih orodjih za izboljšano spremljanje procesa, napredno podporo operaterjem ali optimizacijo procesa, ter uporaba njihovih rezultatov za izboljšanje procesa. V sklopu projekta INEVITABLE se razvijata dve glavni veji rešitev, in sicer procesni modeli (namenjeni tako sprotni, paralelni kot tudi nesprotni simulaciji procesa EOP) ter optimizacijsko okolje (namenjeno nesprotni optimizaciji vhodnih profilov). 202 Ena od predlaganih rešitev v sklopu projekta se osredotoča prav na izboljšanje vpogleda v EOP, in sicer z nadomestitvijo manjkajočih veličin z njihovo oceno iz simulacije procesnih modelov. 2.2 Programska in strojna podpora Za uspešno integracijo predlaganih rešitev je kot prvo potrebno izbrati ustrezno strojno in programsko opremo, ki bosta zmožni poganjati nameščena programska orodja. V konkretnem primeru bodo vse digitalne rešitve implementirane z uporabo robnega računanja ter računanja v oblaku. Za ta namen bosta dve Siemensovi platformi, tj. Edge Streaming Analytics ter Mindsphere, ki bosta izkoriščali nadgrajeno digitalno infrastrukturo, vključeni v obstoječe industrijske sisteme. Predvidena integracija programskih podpornih orodij v nove digitalne platforme je prikazana na Sliki 1. Kot je razvidno, se bodo vse programske rešitve izvajale s pomočjo robnega računanja. Čeprav bi podobno funkcionalnost omogočalo tudi računanje v oblaku, je primarni namen robnega računanja na namenskem računalniku hitrejše procesiranje podatkov in poganjanje rešitev, s čimer je zagotovljena ustrezna računska moč ter realno-časovno izvajanje, ki je še posebej pomembno za simulacijo procesnih modelov, ki so namenjeni sprotni simulaciji, paralelno s procesom EOP. Oblačna platforma bo uporabljena zgolj za implementacijo vmesnikov med operaterjem in programskimi orodij in bo omogočala enostavno delo z njimi. Za prenos podatkov med podatkovnimi bazami, računalnikom in oblakom bodo uporabljeni različni komunikacijski protokoli. Sprotni podatki, ki so namenjeni uporabi v modelih za paralelno simulacijo, se bodo med podatkovno bazo in računalnikom prenašali preko protokola OPC UA. Nesprotni podatki, ki so namenjeni uporabi v nesprotni simulaciji modelov in optimizacijskem okolju se bodo med podatkovno bazo in računalnikom prenašali preko protokola SQL. Podobno se bodo prenašali tudi simulirani podatki nazaj do podatkovne baze. Na ta način bodo simulirani podatki dostopni tudi obstoječemu SCADA sistemu za prikaz rezultatov operaterjem ter za morebitne kasnejše analize. Komunikacija med nesprotnimi rešitvami ter uporabniškimi vmesniki v oblaku Mindsphere bo izvedena preko protokola MQTT. 3 Metodologija in programske rešitve Ideja procesnih modelov EOP je opisati dinamiko posameznih procesov oz. podprocesov, ki potekajo med reciklažo jekla, z zadostno natančnostjo in s tem omogočiti boljše sprotno spremljanje procesa, sprotno oceno nemerjenih procesnih veličin ter nesprotno simulacijo procesa. V sklopu projekta je predvidena implementacija modelov, ki temeljijo na dveh različnih modelerskih pristopih. Prvi pristop temelji na teoretičnem modeliranju z upoštevanjem znanih fizikalnih zakonov ter parametrizaciji modelov z uporabo razpoložljivih obratovalnih podatkov. Tovrstni modeli združujejo vse potrebne pojave med reciklažo jekla v EOP ter pripadajoče enačbe, ki jih opisujejo. Pri tem je potrebno upoštevati tri glavne skupine procesov, ki pomembno vplivajo na delovanje EOP, in sicer toplotne, kemijske in masne procese. Poleg tega je potrebno za ustrezno delovanje in točnost izračunov potrebno upoštevati še ostale procese in pojave, in sicer dinamiko oblokov, dinamiko žlindre, zakladanje peči, geometrijo taljenja, spremenljivost ključnih parametrov idr. Strukturo teoretičnega modela lahko poenostavljeno prikažemo na sliki 2. Namen teoretičnih modelov EOP je dvojni in je odvisen od načina njihove simulacije. V prvem načinu bodo ti modeli simulirani sprotno, tj. paralelno s procesom EOP, v realnem času, s ciljem oceniti določene 203 spremenljivke, ki operaterjem sicer niso dostopne. Med drugimi bodo ocene spremenljivk vsebovale temperaturo taline, temperaturo ostalih elementov peči, energijsko bilanco peči ter stopnjo raztaljenosti jeklenega vložka. Ker te veličine niso merjene, bodo modelske ocene le-teh operaterju omogočile boljši vpogled v delovanje EOP ter s tem možnost prilagoditve vodenja za doseganje boljšega izkoristka EOP. Slika 2: struktura teoretičnega modela EOP V drugem načinu bodo teoretični modeli simulirani nesprotno, tj. z uporabo zgodovinskih podatkov, s ciljem preverjanja in testiranja različnih talilnih scenarijev in njihove učinkovitosti. Na ta način bo omogočeno preverjanje nastavitev posameznih vhodov v EOP ter njihov vpliv na končni rezultat. Teoretični model je bil razvit s strani Laboratorija za avtomatiko in kibernetiko ter do danes večkrat spremenjen in dopolnjen [1-6]. Trenutna verzija modela je v primerjavi s preteklimi znatno poenostavljena (modularna zasnova, enostavnejša geometrija taljenja, enostavnejša geometrija peči, izračun sevalne energije in kemijskih reakcij) ter prilagojena v smislu ustrezne obdelave sprotnih podatkov, s čimer je zagotovljeno tudi ustrezno izvajanje v realnem času. Modularna zasnova modela omogoča enostavno zamenjavo posameznih modulov, s čimer se v model lahko vključi več ali manj procesov, hkrati pa se ga lahko enostavneje prilagodi tudi na ostale konfiguracije EOP. Drugi pristop temelji na modeliranju iz podatkov, pri čemer je informacija o fizikalnem ozadju procesov vključena le minimalno, relacije med vhodi in izhodi modela pa so definirane s pomočjo merjenih podatkov. V konkretnem primeru gre za podatkovni nelinearni model, ki temelji na mehki logiki Takagi-Sugeno. Namen tovrstnega modela je opisati dinamične relacije med ključnimi vhodi v EOP ter želenimi izhodi, z uporabo enostavnejše strukture ter z kar se da malo vhodi. Za ta namen sta bila razvita dva mehka modela, s ciljem ocenjevanja temperature taline ter deleža raztopljenega kisika v talini. Ker je za parametrizacijo mehkih modelov potrebna zadostna količina podatkov, sta ta dva modela omejena na sprotno simulacijo procesa zgolj v zaključni fazi reciklaže (faza rafinacije). Razlog temu je v pomanjkanju meritev veličin, ki so potrebne tako za parametrizacijo, kot tudi za sprotno Slika 3: predstavitev programskih rešitev v sklopu projekta INEVITABLE simulacijo, v glavni fazi taljenja. Pridobljeni rezultati so pokazali, da zmore mehki model oceniti temperaturo taline z višjo točnostjo kot teoretični model. Vse predlagane rešitve, tj. teoretični modeli EOP, mehki modeli EOP ter optimizacijsko okolje so shematsko prikazani na sliki 3, vključno z načinom njihovega izvajanja, pričakovanimi rezultati ter učinki oz. cilji, h katerim pripomorejo. 4 Pričakovani rezultati in izboljšave procesa Za ovrednotenje učinkov digitalizacije in uporabe naprednih programskih rešitev so bili definirani ključni kazalniki učinkovitosti (ang. Key Performance Indicators - KPIs) EOP, katerih namen je prikazati učinkovitost obratovanja EOP pred in po implementaciji vseh digitalnih rešitev. Vsi izbrani kazalniki se trenutno že spremljajo, njihove vrednosti pa se bodo v zaključku projekta primerjale z vrednostmi kazalnikov po implementaciji rešitev. Definirani kazalniki so naslednji: poraba električne energije v kWh/t, izpusti CO2 v kg/t ter število odvzetih vzorcev taline (meritev temperature in raztopljenega O2). Z uporabo razvite metodologije se zasleduje cilj znižanja porabe električne energije za do 10 kWh/t, znižanja izpustov CO2 za do 4 kg/t ter znižanja števila odvzetih vzorcev za 1 na šaržo. Poleg izboljšav v definiranih kazalnikih učinkovitosti, je namen predstavljene metodologije tudi izboljšanje vpogleda v delovanje EOP. Z oceno nekaterih nemerjenih procesnih veličin (temperatura, stopnja raztaljenosti idr.) so operaterju dostopne dodatne informacije o trenutnem stanju v peči, s čimer ima le-ta možnost sprotnih sprememb v vodenju EOP (spremembe vhodnih profilov, zakladanja) ter s tem bolj učinkovitega vodenja EOP, npr. primerno dodajanje ogljika in kisika v fazi rafinacije za doseganje ustreznega deleža ogljika v talini, primerno vodenje stopnje transformatorja za doseganje primerne temperature taline itd. Poleg tega metodologija omogoča tudi oceno potrebnih resursov za reciklažo konkretne šarže pred dejansko izvedbo, s čimer je 204 omogočena tudi optimizacija zakladanja košar in talilnih profilov za doseganje boljšega izkoristka EOP. 5 Zaključek Članek na kratko predstavlja koncept digitalne transformacije procesa EOP v sklopu EU Horizon 2020 projekta INEVITABLE. Omenjena EOP je zgolj eden od procesov, ki bodo podvrženi digitalni nadgradnji z naprednimi programskimi rešitvami. Pri tem je zasledovani cilj za vse procese enak, tj. popolna digitalizacija procesa, podprta z ustreznimi metodami, ki vodijo do izboljšane učinkovitosti procesa ter manjših vplivov na okolje. Zahvala Delo predstavljeno v članku je bilo izvedeno v sklopu programa EU Horizon 2020, sklopa SPIRE, projekta INEVITABLE (“Optimization and performance improving in metal industry by digital technologies”), Grant Agreement No. 869815. Literatura [1] V. Logar, D. Dovžan, I. Škrjanc, Modelling and validation of an electric arc furnace: Part 1, heat and mass transfer, ISIJ International, Vol. 52, pp. 402-412, 2012. [2] V. Logar, D. Dovžan, I. Škrjanc, Modelling and validation of an electric arc furnace: Part 2, thermo-chemistry, ISIJ International, Vol. 52, pp. 413-423, 2012. [3] V. Logar, D. Dovžan, I. Škrjanc, Mathematical modelling and experimental validation of an electric arc furnace, ISIJ International, Vol. 51 (3), pp. 382-391, 2011. [4] V. Logar, I. Škrjanc, Development of an electric arc furnace simulator considering thermal, chemical, and electrical aspects, ISIJ International, Vol. 52 (10), pp. 1924-1926, 2012. [5] V. Logar, I. Škrjanc, Modelling and validation of the radiative heat transfer in an electric arc furnace, ISIJ International, Vol. 52 (7), pp. 1225-1232, 2012. [6] V. Logar, A. Fathi, I. Škrjanc, A computational model for heat transfer coefficient estimation in electric arc furnace, Steel Research International, Vol. 87 (3), pp. 330-338, 2016. Močnostna elektrotehnika Power Engineering Sinhronizacija generatorjev trifaznega pulzno-širinsko moduliranega signala Mitja Nemec, Vanja Ambrožič, Danjel Vončina Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: mitja.nemec@fe.uni-lj.si Synchronization of SVM signal generators Abstract. The article presents two different approaches to synchronization of two (or more) three-phase converters. Contrary to currently developed approaches, which focus on synchronization of fundamental 50 Hz harmonic, the article focuses on synchronization of PWM signals in the order of 20 kHz. The developed approaches are evaluated using a test bed where we show that it is possible to synchronize two converters within ±10 ns without any additional signals. 1 Uvod Trendi razvoja na področju močnostne elektronike, poleg vedno bolj razširjene uporabe le-te, omogočajo uporabo vedno bolj kompleksnih topologij močnostne elektronike (večfazni pogoni, večvejni, večnivojski pretvorniki, …) in tudi vedno bolj kompleksno vodenje ter diagnostiko. Povečana kompleksnost sistemov močnostne elektronike tudi zahteva več časa za razvoj. Z uporabo simulacij lahko preizkusimo delovanje modela močnostne elektronike v zaprti zanki (MIL – Model In the Loop). V zadnjih časih pa vedno bolj prodirajo v uporabo tako imenovani »in-the-loop« koncepti, pri katerih se preizkusi delovanje v zaprti zanki: končno verzijo programske opreme (SIL – Software In the Loop), končno verzijo programske opreme skupaj s signalno elektroniko (HIL – Hardware In the Loop) in končno verzijo programske opreme skupaj s končno verzijo signalne in močnostne elektronike (PHIL – Power Hardware In the Loop). Konceptualni primer uporabe PHIL koncepta za testiranje močnostne elektronike je prikazan na sliki 1. V tem primeru se močnostna elektronika, ki jo želimo testirati (e.g. frekvenčni pretvornik) preko filtra določene konfiguracije (LCL v prikazanem primeru), poveže na PHIL pretvornik, s katerim emuliramo celotni sistem (pogon, omrežje, …). PHIL naprave se zelo pogosto uporabljajo za emulacijo aktualnih problemov v energetskem omrežju (mikro-omrežja, pametna omrežja, distribuirani viri, ..) [1]–[4]. Slika 2: Trifazni razsmernik Slika 3: Valovitost faznega toka znotraj stikalne periode Slika 1: Tipičen PHIL postroj PHIL sistemi se med seboj bistveno razlikujejo v odvisnosti od namena, za katerega jih želimo uporabiti ERK'2021, Portorož, 206-209 [5]. Za PHIL sistem velja, da mora emulacijo izvajati najmanj z 10 do 20 krat višjo frekvenco, kot so pričakovane frekvence v prehodnih pojavih sistema. Tako je za emulacijo energetskih omrežij (50 Hz) načeloma dovolj, da se emulacija izvaja s taktom nekaj 10 kHz. Da pa harmoniki v merjenih veličinah, ki so posledica stikalnega delovanja, ne motijo delovanja celotnega sistema se le-ti zadušijo s pasivnimi filtri [6], [7]. V kolikor želimo emulirati sistem brez dodatnih pasivnih filtrov, se je tipično treba poslužiti hitrih FPGA vezij, s katerimi se lahko emulacija izvaja z zelo visokimi frekvencami (1MHz), pri katerih lahko emuliramo tudi stikalno delovanje. Za emulacijo električnega pogona vodenega s trifaznim razsmernikom (slika 2), zadostujejo nižje vzorčne frekvence, saj so mejne frekvence stroja bistveno nižje. V kolikor emulacijo izvajamo s taktom preklopne frekvence, se preklopni harmoniki prezrcalijo v nižje frekvenčno območje [7]. Tudi v primeru ko sta vzorčna in preklopna frekvenca enaki, se lahko preklopni harmoniki kažejo kot enosmerna vrednost. Da se te izognemo, morata biti frekvenca vzorčenja in preklopna frekvenca enaki. Še več, trenutek vzorčenja (slika 3) mora biti glede na preklopno periodo ustrezno fazno poravnan. Tako je treba sinhronizirati vse močnostne pretvornike v PHIL sistemu, da vsi delujejo z enako preklopno frekvenco in so tudi ustrezno fazno poravnani. 206 Večina PHIL sistemov omogoča sinhronizacijo osnovnega harmonika (50 Hz), da se s tem prepreči neželjeno pretakanje moči med posameznimi podsklopi [8]–[10]. Za to je dovolj, da je napaka v sinhronizaciji reda 1 us [11]. Da pa sinhroniziramo na nivoju stikalnih harmonikov, mora biti napaka v sinhronizaciji bistveno manjša. Dve taki rešitvi bosta predstavljeni v nadaljevanju. 2 Opis sistema Naš PHIL sistem sestoji iz dveh trifaznih pretvornikov, ki sta povezana preko LCL filtra (slika 1). Prvi trifazni pretvornik predstavlja frekvenčni pretvornik, katerega delovanje želimo preveriti, LCL filter in drug trifazni pretvornik pa predstavljata naš PHIL sistem, s katerim emuliramo delovanje električnega stroja. Ker PHIL sistem za učinkovito delovanje meri tokove testiranega frekvenčnega pretvornika, mora biti vzorčenje PHIL sistema sinhronizirano s preklopnim delovanjem testiranega pretvornika. Najlažja izvedba sinhronizacije je s pomočjo dodatnih sinhronizacijskih signalov, s katerimi se sinhronizira PWM module, ki dajejo takt tako vzorčenju kot tudi preklopnemu delovanju. Vendar pa to zahteva dodatne povezave in izhode na testiranem pretvorniku in s tem testirani pretvornik ni več enak končni verziji, ki teh izhodov in povezav ne potrebuje. Namesto dodatnih signalov lahko uporabimo kar napetostne izhode trifaznega mostiča (slika 4). Ker se posameznim izhodom (uF#) spreminja vklopno razmerje, je najbolj primeren signal ničelna napetost (uN). regulator) neproblematična. Največja omejitev leži v pretvorbi ničelne napetosti v digitalni binarni signal (slika 7). Ta se v digitalno obliko pretvori s primerjalnikom, ki analogni signal primerja s polovico napajalne napetosti, saj se ničelna napetost načeloma giblje med 0 V in napajalno napetostjo uDC enosmernega tokokroga. Tipično vsebuje enosmerno komponento v iznosu uDC/2. V mejnih primerih (ko so vklopna razmerja posameznih vej zelo velika ali zelo majhna) ima lahko ničelna komponenta precejšnjo enosmerno komponento, izmenična komponenta pa je zelo majhna. V tem primeru se izmenična komponenta signala ne preslika v binarno digitalno obliko. Slika 6: Sinhronizacija preko meritve zakasnitve in periode Slika 7: Pretvorba ničelne napetosti v binarni digitalni signal 2.2 Slika 4: Napetosti v trifaznem pretvorniku Iz signala ničelne napetosti lahko pridobimo podatke o faznem premiku med PWM signalom testiranega pretvornika in vzorčenjem ter s PLL zanko [12] vzorčno frekvenco spremenimo tako, da je vzorčenje sinhrono (slika 5). Slika 5: PLL zanka 2.1 Sinhronizacija z digitalnimi signali Pri digitalni izvedbi sinhronizacije signal ničelne napetosti pretvorimo v digitalni binarni signal. Nato pa z referenčnim števcem znotraj PHIL merimo njegovo periodo (tPWM) in čas zakasnitve (Δt) proti PHIL PWM časovniku, ki tudi daje takt vzorčenju (slika 6). Kvocient zakasnitve in periode predstavlja fazni kot med dvema signaloma, ki ga uporabimo kot vhod v PLL zanko. Prednost digitalne izvedbe je enostavnost, saj se lahko meritev zakasnitve in periode avtomatizira, izvedba PLL zanke pa je v večini primerov (PI 207 Sinhronizacija z analognimi signali Drug pristop k sinhronizaciji je analogen. V tem primeru ničelno napetost vzorčimo z N-krat višjo vzorčno frekvenco (N > 20). Iz vzorčenega signala z uporabo diskretne Fourier-jeve transformacije (DFT) izločimo podatek o fazi osnovnega harmonika. V kolikor je N-kratnik frekvence signala blizu vzorčne frekvence, je tako dobljen podatek o fazi pravilen [13]. V kolikor to ne drži, je treba najprej iz signala s FFTjem oceniti frekvenco signala in nato ustrezno nastaviti vzorčno frekvenco. Tako dobljen podatek o fazi ničelne napetost tudi v tem primeru uporabimo kot vhod v PLL zanko, s katero sinhroniziramo vzorčenje. Pri sami realizaciji je treba paziti na vpliv ločljivosti. Ker je preklopna perioda PHIL sistema N-kratnik vzorčne periode, je ločljivost preklopne periode prav tako N-kratnik ločljivosti vzorčne periode. V praksi to pomeni, da PLL zanka preklaplja (oscilira) med dvema različnima periodama, in tako drži sistem sinhroniziran. Te oscilacije lahko bistveno zmanjšamo z uporabo razprševanja (angl. diethering). Prednost analognega pristopa, je v tem, da je neobčutljiv na prisotnost enosmerne komponente v ničelni napetosti. Je pa nekoliko bolj zahtevnen za realizacijo, saj poleg PLL regulatorja zahteva tudi implementacijo DFT-ja in razprševanja. 3 Rezultati Primerjava predstavljenih načinov sinhronizacije je bila opravljena z dvema mikrokrmilnikoma TMS320F28377D, merilno vezje in način meritve pa je prikazan na slikah 8 in 9. Mikrokrmilnik 1 na podlagi internega števca v PWM enoti generira tri fazne signale napetosti in en referenčni signal s1, ki je fazno poravnan z PWM števcem. Mikrokrmilnik 2 pa iz treh faznih signalov še v analogni domeni izpelje signal ničelne napetosti, katerega potem uporabi za sinhronizacijo. Za oceno kvalitete sinhronizacije mikrokrmilnik 2 prav tako generira referenčni signal s2, ki je poravnan z internim PWM števcem, katerega skuša sinhronizacija poravnati s števcem mikrokrmilnika 2. Zakasnitev Δt med signaloma s1 in s2 je bila merjena z osciloskopom. Slika 10: Primer oblike ničelne napetosti pri različnih amplitudah fazorja napetosti Kot vidimo s slik 11-15, je čas zakasnitve med sinhroniziranima signaloma večinoma manjši od 10 ns in je neodvisen od amplitude fazorja napetosti. Iz tabele 1. lahko tudi razberemo, da je zakasnitev med sinhroniziranima signaloma pri digitalni način malenkost večja. Glavna težava digitalnega načina sinhronizacije pa je v tem, da pri visokih amplitudah fazorja napetosti ne deluje, saj se izmenična komponenta ničelne napetosti zaradi enosmerne komponente ne preslika v digitalno binarno obliko. Pri analognem načinu sinhronizacije so bile prav tako opravljene meritve, s katerimi se je ugotovilo, da število vzorcev nima bistvenega vpliva na sinhronizacijo. Slika 8: Shema merilnega sistema pogostost (%) 50 40 30 20 10 0 -4 -2 0 2 t [ns] 4 6 8 10 50 pogostost (%) Test sinhronizacijskih algoritmov je bil opravljen pri naslednjih pogojih: preklopna frekvenca mikrokmilnika 1 je bila 20 kHz, frekvenca vrtenja fazorja napetost je bila 50 Hz, algoritem generiranja faznih signalov je bila klasična modulacija prostorskega vektorja napetosti, ločljivost zajema digitalnih signalov je bila 5 ns, vzorčna frekvenca mikrokrmilnika 2 je bila 32 krat višja (640 kHz). Meritev se je opravila za več različnih amplitud fazorja napetosti. Primer oblike ničelne napetosti pri različnih amplitudah fazorja napetosti je prikazan na sliki 10. Z osciloskopom se je zajelo časovno okno 8ms (cca. 160 preklopnih period) z vzorčno frekvenco 2,5 GHz (časovna ločljivost 400 ps). S statistično obdelavo meritev pa smo naknadno pridobili histogram in standardno deviacijo časovne zakasnitve na podlagi katerih lahko sklepamo o kvaliteti sinhronizacije. -6 Slika 11: Čas zakasnitve pri digitalnem načinu sinhronizacije in amplitudi fazorja napetosti 0 40 30 20 10 0 -10 -5 0 t [ns] 5 10 Slika 12: Čas zakasnitve pri digitalnem načinu sinhronizacije in amplitudi fazorja napetosti 0,5 60 pogostost (%) Slika 9: Merilni signali -8 40 20 0 -8 -6 -4 -2 0 2 t [ns] 4 6 8 10 Slika 13: Čas zakasnitve pri analognem načinu sinhronizacije in amplitudi fazorja napetosti 0 208 pogostost (%) 60 40 20 0 -6 -4 -2 0 2 4 6 8 t [ns] Slika 14: Čas zakasnitve pri analognem načinu sinhronizacije in amplitudi fazorja napetosti 0,5 pogostost (%) 40 30 20 10 0 -10 -8 -6 -4 -2 0 t [ns] 2 4 6 8 Slika 15: Čas zakasnitve pri analognem načinu sinhronizacije in amplitudi fazorja napetosti 1,0 Tabela 1. Fazno trepetanje pri različnih načinih sinhronizacije in različni amplitudi fazorja napetosti Način Amplituda Standardna deviacija sinhronizacije fazorja faznega trepetanja [ns] ADC CAP 0,0 3,33 0,5 2,85 1,0 3,53 0,0 3,45 0,5 4,08 Zakasnitev reda 10 ns pri 20 kHz preklpni periodi znaša manj kot 0,02%, Tak je napaka pri vzorčenju toka, zaradi nepravilno izbranega trentutka vzorčenja vedno manjša kot 0,1% valovitosti toka, kar je več kot zadovoljivo. 4 Zaključek V članku sta bila predstavljena dva pristopa k sinhronizaciji trifaznih močnostnih pretvornikov, ki ne zahtevata dodatnih povezav. Z meritvami je bilo pokazano, da oba načina sinhronizacije delujeta zadovoljivo, vendar pa ima digitalni pristop, ki je sicer nekoliko bolj enostaven za implementacijo omejitev, saj ne deluje pri vseh amplitudah fazorja napetosti. Zahvala Delo je bilo sofinancirano iz programa ARRS »Pretvorniki električne energije in regulirani pogoni« P2-0258 (B). Literatura [1] E. Guillo-Sansano, M. H. Syed, A. J. Roscoe, in G. M. Burt, “Initialization and Synchronization of Power Hardware-In-The-Loop Simulations: A Great Britain Network Case Study,” Energies, vol. 11, no. 5, Art. no. 5, May 2018, doi: 10.3390/en11051087. 209 [2] H. Kikusato et al., “Microgrid Controller Testing Using Power Hardware-in-the-Loop,” Energies, vol. 13, no. 8, Art. no. 8, Jan. 2020, doi: 10.3390/en13082044. [3] M. Muhammad, H. Behrends, S. Geißendörfer, K. von Maydell, in C. Agert, “Power Hardware-in-the-Loop: Response of Power Components in Real-Time Grid Simulation Environment,” Energies, vol. 14, no. 3, Art. no. 3, Jan. 2021, doi: 10.3390/en14030593. [4] A. S. Vijay, S. Doolla, in M. C. Chandorkar, “Real-Time Testing Approaches for Microgrids,” IEEE J. Emerg. Sel. Top. Power Electron., vol. 5, no. 3, pp. 1356–1376, Sep. 2017, doi: 10.1109/JESTPE.2017.2695486. [5] G. F. Lauss, M. O. Faruque, K. Schoder, C. Dufour, A. Viehweider, in J. Langston, “Characteristics and Design of Power Hardware-in-the-Loop Simulations for Electrical Power Systems,” IEEE Trans. Ind. Electron., vol. 63, no. 1, pp. 406–417, Jan. 2016, doi: 10.1109/TIE.2015.2464308. [6] O. Vodyakho, F. Fleming, M. Steurer, in C. Edrington, “Implementation of a virtual induction machine test bed utilizing the power hardware-in-the-loop concept,” in 2011 IEEE Electric Ship Technologies Symposium, Apr. 2011, pp. 52–55. doi: 10.1109/ESTS.2011.5770840. [7] P. Kotsampopoulos, V. Kleftakis, G. Messinis, in N. Hatziargyriou, “Design, development and operation of a PHIL environment for Distributed Energy Resources,” in IECON 2012 - 38th Annual Conference on IEEE Industrial Electronics Society, Oct. 2012, pp. 4765–4770. doi: 10.1109/IECON.2012.6389005. [8] C. Di Pietro, F. Vasca, L. Iannelli, in F. Oliviero, “Decentralized synchronization of parallel inverters for train auxiliaries,” in Railway and Ship Propulsion Electrical Systems for Aircraft, Oct. 2010, pp. 1–6. doi: 10.1109/ESARS.2010.5665243. [9] O. Vodyakho, C. S. Edrington, M. Steurer, S. Azongha, in F. Fleming, “Synchronization of three-phase converters and virtual microgrid implementation utilizing the PowerHardware-in-the-Loop concept,” in 2010 Twenty-Fifth Annual IEEE Applied Power Electronics Conference and Exposition (APEC), Feb. 2010, pp. 216–222. doi: 10.1109/APEC.2010.5433667. [10] V. Mariani in F. Vasca, “Stability analysis of droop controlled inverters via dynamic phasors and contraction theory,” in 2013 European Control Conference (ECC), Jul. 2013, pp. 1505–1510. doi: 10.23919/ECC.2013.6669325. [11] S. Rinaldi, F. Bonafini, P. Ferrari, A. Flammini, M. Pasetti, in E. Sisinni, “Software-based Time Synchronization for Integrating Power Hardware in the Loop Emulation in IEEE1588 Power Profile Testbed,” in 2019 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS), Sep. 2019, pp. 1–6. doi: 10.1109/ISPCS.2019.8886644. [12] R. E. Best, Phase Locked Loops 6/e: Design, Simulation, and Applications. McGraw Hill Professional, 2007. [13] D. Nedeljković, J. Nastran, D. Vončina, in V. Ambrožič, “Synchronization of active power filter current reference to the network,” IEEE Trans. Ind. Electron., vol. 46, no. 2, pp. 333–339, Apr. 1999, doi: 10.1109/41.753772. Regulacija močnostnega pretvornika za testiranje razsmernikov Mitja Nemec, Žiga Selan, Danjel Vončina Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: mitja.nemec@fe.uni-lj.si Control of a PHIL converter 2 Opis sistema Abstract. The article presents how Power Hordware In the Loop (PHIL) system for emulation of permanent magnet synchronous machine (PMSM) is developed. The main focus of the article is on control algorithm development. As the simulation results show, for proper emulation of PMSM, the most important parameter is performance of current control. This can be significantly improved by using feed-forward compensation technique, which compensates for disturbances in the control loop. V našem primeru je bila želja s PHIL pristopom nadomestiti klasičen način testiranja močnostnega pretvornika namenjenega za napajanje sinhronskega stroja s trajnimi magneti (slika 1). Pri klasičnem načinu za testiranje potrebujemo dva sklopljena električna stroja in frekvenčni pretvornik, da lahko obremenimo testirani pretvornik. Zaradi serijske vezave treh sklopov je izkoristek takega sistema manjši, kar predvsem povzroča težave z odvajanjem odvečne toplote, poleg tega pa tak postroj vključuje vrteče se dele. 1 Uvod Z naraščajočo kompleksnostjo elektronike se na vseh področjih pojavljajo težnje oz. zahteve, da se pred uporabo posameznega sklopa, delovanje le tega preveri. To je še posebej izrazito v avtomobilski industriji, kjer standardi kot npr. ISO26262, automotive SPICE in podobni zahtevajo verifikacijo in validacijo tako posameznih podsistemov, kot tudi celotnega sistema [1]. Tako se za potrebe verifikacije in validacije pričenjajo uporabljati koncepti »In-the-Loop«, ki so se sprva razvili za hitrejši razvoj in testiranje posameznih sklopov [2]. Z njimi lahko preverimo zgolj delovanje regulacijskih algoritmov in/ali algoritmov za obdelavo signalov z uporabo simulacijskih orodji (Model In the Loop – MIL). S povezavo končnega računalnika/mikrokrmilnika s simulacijskimi orodji se lahko preveri končna verzija programske opreme (Software In the Loop – SIL). Naslednji korak v testiranju je emulacija na nivoju signalov (Hardware In the Loop – HIL), s katero preverimo delovanje tako programske kot tudi signalne elektronike. Še najbolj kompleksen pa je pristop (Power Hardware In the Loop – PHIL), ki omogoča tudi testiranje močnostne elektronike [3], [4]. PHIL sistemi so najbolj razširjeni na področju prenosnih, mikro in pametnih omrežji [5]–[8]. V določenih segmentih (avtomobilska industrija, … ) pa se pojavljajo trendi, da bi se s PHIL pristopom preveril vsak proizveden kos v celoti. Ker to zahteva uporabo specialne opreme, je to lahko ekonomsko neučinkovito. Tako velja razmisliti, ali se lahko PHIL merilna oprema poceni. V tem članku raziskujemo možnost, ali lahko nadzor PHIL sistema in celotno emulacijo izvajamo s preprostim mikrokrmilnikom namesto tipičnega pristopa, ki se poslužuje enega ali več FPGA vezja in zelo zmogljivega mikroprocesorja [3]. ERK'2021, Portorož, 210-213 210 Slika 1: Testiranje pogona preko mehanskega sklopa z drugim pogonom Poenostavljena električna shema takega postroja je prikazana na sliki 2. Pretvornik, ki ga testiramo, je priklopljen na električni stroj, kar je nakazano z induktivnostjo in inducirano napetostjo. Inducirana napetost se spreminja v odvisnosti od vrtilne hitrosti in obremenitve stroja. Slika 2: Poenostavljena električna shema testnega postroja V kolikor se želimo izogniti uporabi električnega stroja, ga lahko nadomestimo z dušilko L T in kondenzatorjem C (slika 3). Da pa lahko spreminjamo napetost na kondenzatorju, potrebujemo dodaten pretvornik, ki je prav tako priklopljen preko dušilke. Končni sistem, prikazan na slika 4, sestoji iz testiranega pretvornika ter PHIL sistema. PHIL sistem sestavljajo LCL sklopno vezje, močnostna stopnja in mikrokrmilnik, ki emulira delovanje električnega stroja. Slika 3: Razvoj PHIL sistema Slika 6: Kaskadna regulacija napetosti na kapacitivnosti C Slika 4: Končni PHIL sistem 2.1 Dimenzioniranje LCL sklopa Induktivnost dušilke LT mora biti primerljiva z induktivnostjo statorskih navitji stroja, pri izbiri vrednosti za LBC vezje pa imamo nekoliko več svobode. Pri izbiri vrednosti induktivnosti LB tipično ne dopustimo, da bi valovitost zaradi preklopnega delovanja znašala več kot 5%-10% nazivnega toka. Vrednost kapacitivnosti pa naj bo čim večja, tako da bo valovitost napetosti zaradi stikalnega delovanja čim manjša, vendar pa moramo pri tem paziti, da bo mejna frekvenca LBC vezja višja od najvišje električne frekvence osnovnega harmonika, ki jo še pričakujemo. 3 Emulacija stroja Za emulacijo sinhronskega stroja s trajnimi magneti moramo ustrezno nastaviti napetosti na kapacitivnosti C. Želeno vrednost za to napetost dobimo iz napetostnih enačb, ki opisujejo stroj di u d=id⋅Rd + Ld d − ω el⋅Lq⋅iq (1) dt Delovanje te regulacijske sheme bistveno izboljšamo z uporabo dveh kompenzacijskih vej [9]. S prvo vejo (črtkano na sliki) odpravimo vpliv napetosti na kondenzatorju, ki v tokovno zanko vstopa kot motnja. Druga in bolj pomembna veja (sivo na sliki) pa odpravi vpliv toka iT testnega pretvornika, ki predstavljam motnjo v napetostni zanki. Električno vrtilno hitrost stroja, ki jo potrebujemo za izračun napetosti na kapacitivnosti, dobimo z emulacijo gredi d ω meh ωel = p p⋅ω meh , ∑ M = M T +M B=J (4) dt Preko modela testiranega stroja izračunamo navor testiranega stroja MT iz toka testnega pretvornika iT preko navorne enačbe. 3⋅p p M T= Ψ TM⋅iTq (5) 2 Izračun navora MB je odvisen od tega, ali testirani frekvenčni pretvornik regulira samo navor MT, ali pa tudi vrtilno hitrost gredi ωmeh. V kolikor testirani pretvornik regulira hitrost, potem bremenski pretvornik samo nastavlja navor MB. Če pa testirani pretvornik regulira samo tok oz. navor, pa moramo emulirati tudi regulacijo hitrosti preko navora MB (slika 7). diq +ω el⋅Ld⋅id + ωel⋅Ψ TM (2) dt Tako je želena vrednost napetosti na kapacitivnosti v dq koordinatnem prostoru odvisna samo od vrtilne hitrosti in polja trajnih magnetov u q=iq⋅R q +L q * * u Cd =0 ,uCq = ωel⋅Ψ TM (3) Ko imamo znano želeno vrednost napetosti, je le to treba regulirati. Najbolj primeren pristop je s kaskadno regulacijsko strukturo dveh regulatorjev, kjer je zunanja zanka napetostna, notranja zanka pa je tokovna (slika 6). Slika 7: Izračun vrtilne hitrosti preko emulacije gredi in regulacije vrtilne hitrosti z emuliranim bremenskim pogonom Celotna regulacijska shema, vključno z vsemi transformacijami, pa je prikazana na sliki 5. Tokovna kompenzacijska veja je prikazana odebeljeno. Slika 5: Regulacijska shema PHIL emulatorja 211 4 Rezultati Delovanje predlagane PHIL rešitve smo preizkusili s simulacijskim programom MATLAB/Simulink. Preklopna in vzorčna frekvenca obeh pretvornikov je bila nastavljena na 20 kHz. Potek hitrosti ter navorov (bremenskega in testiranega) so prikazani na slikah 8 in 9. Kot vidimo, bremenski pogon uspešno regulira vrtilno hitrost, tudi takrat, ko mu nasprotuje navor testiranega pogona. n (rpm) 1000 razlikujejo samo v predznaku. To je razumljivo, saj je pri konstantni vrtilni hitrosti amplituda napetosti na kondenzatorju konstantna (slika 11). Tako mora v tem primeru bremenski pretvornik izenačiti tok, ki teče v testirani pretvornik. i 123, B (A) 20 0 0.5 0 -20 800 -0.5 0 0 0.15 0.2 0.2 t (s) 0.3 0.4 0.5 0.3 0.4 t (s) 0.5 Slika 12: Tok bremenskega pretvornika i123, T (A) 200 0 0.1 0.1 600 400 0.05 0 0.1 0.2 0.3 Slika 8: Potek vrtilne hitrosti 0.4 0.5 t (s) 20 0 0.5 MB (Nm) 0 t (s) 2 -20 1.5 -0.5 0 0 0.1 0.15 0.2 0.1 0.2 Slika 13: Tok testiranega pretvornika 1 0.5 0.05 i123, B (A) 0 0 0.1 0.2 0.3 0.4 20 0.5 MT (Nm) 0 0 -0.5 -20 -1 -1.5 0.195 -2 0 0.1 0.2 0.3 0.4 0.5 t (s) 0.215 0.22 t (s) 0.225 0.2 0.205 0.21 0.215 0.22 t (s) 0.225 0 -20 0.195 Slika 15: Tok testiranega pretvornika - detajl u123, C (V) 4 2 0 -2 0.1 0.2 0.3 0.4 Slika 10: Napetost na kondenzatorju 0.5 t (s) u123, C (V) 4 2 0 -2 -4 0.195 0.21 20 Slika 10 prikazuje potek napetosti na kondenzatorju. Pričakovano amplituda in frekvenca napetosti naraščata z naraščajočo vrtilno hitrostjo. Ko pa se spremeni tok oziroma navor testiranega pretvornika, se to kaže kot motnja. 0 0.205 i 123, T (A) Slika 9: Navor bremenskega in testiranega pretvornika -4 0.2 Slika 14: Tok bremenskega pretvornika - detajl 0.2 0.205 0.21 0.215 0.22 Slika 11: Napetost na kondenzatorju - detajl t (s) 0.225 Potreben tok za vzdrževanje napetosti na kondenzatorju (slika 12 - povečava) je relativno majhen. S slik 12 - 15 vidimo, da so tokovi testiranega in bremenskega pretvornika praktično enaki in se 212 Enak detajl je prikazan tudi na slikah 16 - 18, vendar je v tem primeru kompenzacijska veja v napetostni regulacijski zanki izpuščena. Kot vidimo, brez kompenzacijske veje bremenski pretvornik nekoliko slabše sledi prehodnemu pojavu, ki ga povzroči testirani pretvornik. Vendar pa je že majhna razlika med tokom testiranega pretvornika in tokom bremenskega pretvornika dovolj, da se v napetosti na kondenzatorju pojavi zelo velika motnja (slika 16). Motnje v poteku tokov (sliki 17 in 18) pa nastopijo zaradi tega ker napetost na kondenzatorju nekontrolirano naraste in oba pretvornika (testiranega in PHIL) preideta v nasičenje. Tako za pravilno emulacijo stroja ključnega pomena hitra regulacija toka. Le to pa najlažje dosežemo z uporabo kompenzacijkih vej. Literatura u123, C (V) 15 10 5 0 -5 -10 -15 0.195 0.2 0.205 0.21 0.215 0.22 t (s) 0.225 0.2 0.205 0.21 0.215 0.22 t (s) 0.225 0.2 0.205 0.21 0.215 0.22 t (s) 0.225 Slika 16: Napetost na kondenzatorju brez kompenzacijske veje v napetostni zanki - detajl i123, B (A) 20 0 -20 0.195 Slika 17: Tok bremenskega pretvornika brez kompenzacije v napetostni zanki - detajl i 123, T (A) 20 0 -20 0.195 Slika 18: Tok testiranega pretvornika brez kompenzacije v napetostni zanki - detajl 5 Zaključek V članku smo s simulacijami dokazali, da lahko PHIL sistem tudi z relativno nizko vzorčno frekvenco dovolj dobro emulira kompleksen električen pogon. Vendar pa je pri tem pomembno, da je regulacija dovolj hitra, pri čemer ima odločilno vlogo uporaba kompenzacijskih vej, ki omogočajo, da sistem na motnje reagira zelo hitro. Zahvala Delo je bilo sofinancirano iz programa ARRS »Pretvorniki električne energije in regulirani pogoni« P2-0258 (B). 213 [1] VDA QMC Working Group 13 / Automotive SIG, “Automotive SPICE Process Reference Model Process Assessment Model.” VDA Quality Management Center, Nov. 01, 2017. [Online]. Available: http://www.automotivespice.com/fileadmin/softwaredownload/AutomotiveSPICE_PAM_31.pdf [2] J. Nibert, M. E. Herniter, in Z. Chambers, “Model-Based System Design for MIL, SIL, and HIL,” World Electr. Veh. J., vol. 5, no. 4, Art. no. 4, Dec. 2012, doi: 10.3390/wevj5041121. [3] M. Lemaire, P. Sicard, in J. Belanger, “Prototyping and Testing Power Electronics Systems Using Controller Hardware-In-the-Loop (HIL) and Power Hardware-Inthe-Loop (PHIL) Simulations,” in 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Oct. 2015, pp. 1–6. doi: 10.1109/VPPC.2015.7353000. [4] G. F. Lauss, M. O. Faruque, K. Schoder, C. Dufour, A. Viehweider, in J. Langston, “Characteristics and Design of Power Hardware-in-the-Loop Simulations for Electrical Power Systems,” IEEE Trans. Ind. Electron., vol. 63, no. 1, pp. 406–417, Jan. 2016, doi: 10.1109/TIE.2015.2464308. [5] F. Ebe et al., “Comparison of Power Hardware-in-theLoop Approaches for the Testing of Smart Grid Controls,” Energies, vol. 11, no. 12, Art. no. 12, Dec. 2018, doi: 10.3390/en11123381. [6] H. Kikusato et al., “Microgrid Controller Testing Using Power Hardware-in-the-Loop,” Energies, vol. 13, no. 8, Art. no. 8, Jan. 2020, doi: 10.3390/en13082044. [7] M. Muhammad, H. Behrends, S. Geißendörfer, K. von Maydell, and C. Agert, “Power Hardware-in-the-Loop: Response of Power Components in Real-Time Grid Simulation Environment,” Energies, vol. 14, no. 3, Art. no. 3, Jan. 2021, doi: 10.3390/en14030593. [8] F. Leng et al., “Applications of Digital-Physical Hybrid Real-Time Simulation Platform in Power Systems,” Energies, vol. 11, no. 10, Art. no. 10, Oct. 2018, doi: 10.3390/en11102682. [9] J. Sun, C. Yin, J. Gong, Y. Chen, Z. Liao, in X. Zha, “A Stable and Fast-Transient Performance Switched-Mode Power Amplifier for a Power Hardware in the Loop (PHIL) System,” Energies, vol. 10, no. 10, Art. no. 10, Oct. 2017, doi: 10.3390/en10101569. Prenos krmilnega signala med sklopoma podvrženima veliki du/dt in negativni napetosti skupnega načina Peter Zajec, Andraž Rihar Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-mail: peter.zajec@fe.uni-lj.si Control signal level-shifter subjected to high du/dt and negative common-mode voltage In the future, the two-voltage source concept will prevail in modern vehicles. In general, the devices differ significantly in the rated power and in the magnitude of the high-voltage source. In those not exceeding 60 V, the galvanic isolation between the control and power stage is not mandatory. Thus using the insulating couplers to transfer logic signals between both stages is not cost-effective. As an alternative, level-shifters are commonly used. Yet, most of them are approved for applications with positive common-mode voltage. The paper proposes a custom made level-shifter capable of withstanding negative common-mode voltage and its sharp change (du/dt). The information is translated via a two-channel current generator relying on a controlled current mirror. At the receiving end, the information is restored by comparing the partial voltage drops at the comparator’s inputs. During the design phase, the robustness of the proposed circuit has been analyzed and verified on a dedicated LTspice model and experimentally demonstrated on the fabricated device. 1.1 Omejitve pri realizaciji krmilnih tokokrogov v avtomobilski tehniki Tehnična rešitev prenosa informacij iz merilnih in krmilnih tokokrogov je prepuščena načrtovalcu, mora pa obvezno preprečiti vsak nenamerni kratek stik med napajalnima tokokrogoma. V ta namen se najpogosteje uporabljajo izolacijski sklopniki, ki delajo po optičnem, induktivnem ali kapacitivnem načelu. Pomanjkljivost teh rešitev je, da so sorazmerno velike in razmeroma drage in kot take v dvo-sistemski zasnovi električnih tokokrogov z napetostjo izpod 60 V, kjer galvanska ločitev med tokokrogoma ni obvezna, stroškovno neutemeljene. aktuator (breme) ECU nadzorni del močnostni pretvornik GND_12 GND_48 1 Vpogled v ozadje aplikacije Danes prevladujoča osebna vozila imajo vgrajeno le 12 V baterijo, kar ne zadostuje za motorna vozila z električnimi ali hibridnimi pogoni, kjer večje moči bremen narekujejo uporabo virov z višjo nazivno napetostjo. Prehod na izključno en napetostni nivo je malo verjeten, temveč se pričakuje, da bo v prihodnje prevladovala dvo-sistemska zasnova električnih tokokrogov sodobnih vozil - pa naj si gre pri tem za mehke hibride ali povsem električna vozila [1]–[3]. Pogonski sklopi teh vozil kot tudi sklopi po nazivni moči zmogljivejših naprav (klima, …) se bistvenejše ločijo po magnitudi visoko-napetostnega vira, ki pri mehkih hibridih ne presega 60 V, medtem ko razpon napetosti pri povsem električno gnanem vozilu najpogosteje znaša med 400 V in 800 V. Notranja struktura (slika 1) omenjenih naprav tako praviloma sestoji iz visokonapetostnega – močnostnega pretvornika in nizkonapetostnega – nadzornega dela. Za usklajeno obratovanje je med njima vzpostavljeno večje število merilnih in krmilnih tokokrogov, medtem ko s preostalimi napravami (ECU) izmenjuje informacije preko ustaljenih komunikacijskih kanalov (CAN ipd). ERK'2021, Portorož, 214-217 214 12 V 48 V šasija vozila Slika 1. Konceptualna zasnova dvo-sistemskega napajalnega tokokroga z napetostma pod 60 V. Nabor namembno oblikovanih vezij za prenos informacij z diskretnimi ali zveznimi električnimi signali dodatno omejuje zahteva, da vezja, ki so sicer prilagojena majhnemu razponu merilnih in krmilnih signalov (vse pogosteje izpod 3,3 V), ostanejo nepoškodovana tudi ob navzočnosti mnogo višje napetosti (vse do magnitude visoko-napetostnega vira). Ali kar je kočljivejše, da morajo omogočati prenos informacije navkljub njeni prisotnosti. Tovrstni primer, ki je del testnih preskusov naprave, v avtomobilski tehniki nastopi ob prekinitvi vodnika med napravo in negativnim polom visoko-napetostnega vira, ali ob prekinitvi vodnikov proti šasiji. Ne glede na specifičen primer, se med referenčnima potencialoma (GND_12 in GND_48) poveča potencialna razlika, ki lahko doseže maksimalni iznos enak magnitudi visoko-napetostnega vira. Sprememba potencialne razlike nastopi praviloma izjemoma, a izvrši se z veliko strmino porasta, ki na zanesljivost prenesene informacije vpliva mnogo bolj škodljivo kot sama magnituda potencialne razlike. Navedenemu izzivu je posvečeno nadaljevanje članka, kjer bomo opisali specifičen primer, kjer je vezje za prenos informacije podvrženo ne le občasnemu temveč pogostnemu nastopu visoke potencialne razlike s sočasno veliko strmino (du/dt) njenega porasta in upada. Razlika je le v tem, da potencialna razlika ne nastopi zaradi fizične prekinitve predhodno omenjenih vodnikov, temveč zaradi prekinitve tokokroga s tako imenovanim varnostnim stikalom, ki je del naprave. 2 Varnostno stikalo Varnostna stikala v avtomobilskih sklopih so namenjena preprečitvi škode ob izjemnih dogodkih, ki nastopijo zaradi prekomerne obremenitve (kratek stik). Prav tako morajo napravo varovati v primeru zamenjave polov napetostnega vira. Tovrstni zaščiti sta praviloma podvržena oba vira, a v konkretnem primeru se opis nanaša le na izvedbo in delovanje visoko-napetostnega varnostnega stikala. Stikalo (slika 2) sestoji iz dveh zaporedno vezanih in namembno različnih tranzistorskih stikal Q_OnOff in Q_rev z vzporedno vezanima lastnima diodama. V primeru priključitve napetosti U48 napačne polaritete v nadzornem vezju stikala izostane napetost U12reg. Tranzistor Q_rev ni prožen zato se vsa potencialna razlika, ki sovpada z magnitudo napetosti U48, vzpostavi preko njegove reverzno polarizirane diode. Ob pravilni priključitvi U48 tranzistor Q_rev služi izključno zmanjšanju padca napetosti na njemu vzporedni diodi, zato je posledično majhna in jo zaradi enostavnosti razlage lahko zanemarimo. Prekinitev močnostnega tokokroga – ob nameri uporabnika posredno sporočeni preko nadzornega mikrokrmilnika (MCU) ali neodvisno sprožene ob pojavu prekomernega toka, ter njegovo ponovno sklenitev, omogoča tranzistor Q_OnOff. Oba sklopa varnostnega stikala morata delovati avtonomno, predvsem pa zagotavljati najvišji nivo nadtokovne zaščite, neodvisno od delovanja ali morebitnih okvar v ostalih podsklopih naprave. V ta namen je med tranzistorja Q_OnOff in Q_rev umeščen merilni upor, čigar padec napetosti se posreduje vezju nad-tokovne zaščite varnostnega stikala. Prožilni ter omenjeno vezje se napajajo iz avtonomnega regulatorja napetosti U12reg, ki ga je možno onemogočiti s ciljem zmanjšanja lastne rabe v mirovanju. Umestitev varnostnega stikala v povratni (negativni) vodnik, ki povezuje vir napetosti U48 z bremenom, je neznačilna – vendar neobhodna v konkretnem primeru, saj umestitev Q_OnOff v dovodni (pozitivni) vodnik ne rešuje vseh zahtev glede varnega obratovanja ob nastopu kratkih stikov med priključnimi sponkami naprave. aktuator (breme) Com močnostni pretvornik +48V +12V_int Cvh SS_en +12V_int +3.3V_int +1.2V_int + MCU TVS - ILS SS_on Supply GND_int U12reg U_CM Q_OnOff Prož. vezje LP Logika SS stikala U_48* nadzorni del = varnostno stikalo GND_ss Q_rev GND_12 12 V Prož. vezje GND_48 šasija vozila 48 V Slika 2. Umestitev varnostnega stikala in konceptualna rešitev njegovega krmiljenja. 215 3 Prenos krmilnega signala med vezjema različnih referenčnih potencialov Opisana umestitev stikala narekuje specifično rešitev za vklop in izklop tranzistorja Q_OnOff, kajti številnih prilagodilnih vezij (ang. level-shifter) namreč ni možno uporabiti za prenos krmilnega signala med MCU-jem in logičnim vezjem varnostnega stikala. Razlog tiči v negativni napetosti med njunima referenčnima vozliščema (GND_int, GND_SS) – t.i. napetost skupnega načina (ang. common-mode voltage), ki jo dopuščajo le posamezna namenska prilagoditvena vezja [4], [5]. 3.1 Diferenčna zasnova krmiljenega tokovnega generatorja U_AB Logik a SS stikala U_compA U_compB Slika 4. Sprejemni del vezja - referenčni potencial GND_SS. Da bi zagotovili visoko zanesljivost vklopa/izklopa tranzistorja Q_OnOff tudi ob navzoči veliki strmini porasta potencialne razlike med GND_int in GND_SS, delovanje predlaganega prilagodilnega vezja sloni na uporabi i) krmiljenega tokovnega generatorja in ii) diferenčne zasnove signalne poti. Prilagodilno vezje za posredovanje krmilnega signala sestoji iz oddajnega in sprejemnega dela. SS_en SS_OnOff U12reg U12reg_en U_AB Slika 5. Potek signalov krmiljenega tokovnega generatorja. Slika 3. Oddajni del vezja - referenčni potencial GND_int. Referenčni potencial (GND_int) oddajnega tokovnega generatorja (slika 3) je istoveten potencialu MCU-ja. Osrednji del tokovnega generatorja tvori t.i. tokovno ogledalo (Q1, Q2), čigar tok je možno spreminjati s krmilnim signalom SS_en med diskretnima vrednostma (0 in 1 mA). Signal ima tudi pomožno vlogo, ki bo razvidna v nadaljevanju. Tok ogledala se nato glede na vrednost krmilnega signala SS_OnOff, ki služi vklopu/izklopu tranzistorja Q_OnOff, preusmeri skozi enega od tokokrogov (SS1, SS2) k sprejemnemu delu (slika 4), kjer se sklene skozi zaključna upora (R20 in R21). Padca napetosti na uporih medsebojno primerjamo z napetostnim primerjalnikom - komparatorjem (IC2). Izhodni signal primerjalnika se nato v logičnem vezju varnostnega stikala kombinira s signalom nad-tokovne zaščite. Združena vklapljata/izklapljata tranzistor Q_OnOff. Delovanje diferenčne zasnove krmiljenega generatorja toka je razvidno iz poteka signalov (slika 5) dobljenega s simulacijskim tekom. 216 Iz poteka vidimo, da razlika napetosti (U_AB = U_compA - U_compB) na vhodu primerjalnika sledi krmilnemu signalu SS_OnOff, a le od t = 2 ms, ko je s signalom SS_en omogočeno delovanje tokovnega generatorja. Z istim krmilnim signalom se v sprejemnem delu vezja aktivira delovanje regulatorja napetosti. To storimo z napetostjo U12reg_en, ki je za padec na diodah D4 in D5 manjša od padca napetosti na zaključni upornosti posamezne tokovne linije. Vidimo, da napetost ob spremembi logičnega stanja signala SS_OnOff ohrani vrednost. Ustaljena vrednost napetosti med vhodoma primerjalnika U_AB je pogojena s tokom generatorja, tj. z uporom R6, tranzistorjem Q7 ter tokovnim ojačenjem tranzistorjev Q1 in Q2. Nelinearnost in temperaturna odvisnost njunih karakteristik povzročata ob spreminjajoči se napetosti med potencialoma +12V_int in GND_SS tudi manjšo variacijo toka ogledala. Slednja na pravilno razpoznavo krmilnega ukaza (vklop / izklop) v sprejemnem delu vezja ne vpliva, ker je le-ta zasnovan na primerjavi delnih napetosti (U_compA, U_compB). S tovrstno zasnovo je v največji možni meri izničen vpliv naglega porasta napetosti med GND_int in GND_SS, ki je s stališča generatorja toka interpretirana kot napetost skupnega načina. Navedena nedovzetnost vezja na sliki 5 ni evidentna, saj sta spremembi U_AB in napetosti skupnega načina vzročno povezani – nastopita tako rekoč sočasno. stopnje (slika 2) ostal napolnjen na nazivno napetost U_48. U_CM U_AB U_48* U_48* Slika 6. Potek U_AB – dokaz nedovzetnosti prenosa informacije ob prisotnosti U_CM z visoko strmino du/dt. Bolj otipljiv dokaz nam nudi simulacijski tek pri katerem varnostno stikalo ni bilo proženo na podlagi vhodne napetosti primerjalnika U_AB, temveč je bilo za namen dokaza proženo periodično z neodvisno napetostjo pulzne oblike. Tokovni generator je zato izpostavljen periodično spreminjajoči napetosti skupnega načina U_CM (slika 6) amplitude 60 V. Ob identičnem poteku krmilnih signalov SS_OnOff in SS_en, prepoznamo dodatne superponirane konice v poteku vhodne napetosti U_AB primerjalnika. V primerjavi z ustaljeno vrednostjo je njihova magnituda majhna, zato trenutni iznos napetosti ne doseže preklopnega praga primerjalnika (osenčeno področje na sliki 5 in 6), ki znaša vsega 200 mV. Primerjalnik ohrani svoje izhodno stanje, s čimer je preprečen morebiten nenameren vklop ali izklop varnostnega stikala. 4 Preveritev zanesljivosti prilagodilnega vezja V praksi je magnituda napetostnih konic presegala vrednost s slike 6, saj je poleg frekvenčnih lastnosti tranzistorjev tokovnega generatorja pogojena tudi z na tiskanem vezju prisotnimi prostorsko porazdeljenimi kapacitivnostmi med obema referenčnima vozliščema. Poskusa, kot ga kaže slika 6, na realnem vezju ni možno opraviti. Kot delno potrditev zasnove vezja prilagamo prikaz poteka napetosti na stikalu U_CM in U_48* (slika 2) med izklopom kratkostičnega toka, ko za stikalo nastopijo najneugodnejši pogoji. Slika 7.a kaže poteka obeh napetosti namerno modificiranega stikala, kjer vidimo, da je vezje (namerno) dovzetno na veliko duCM/dt, ki nastopi ob izklopu stikala (t0), zaradi česar stikalo nepričakovano vklopi in ponovno izklopi (t2). Potek napetosti na sliki 7.b ponazarja pravilno delovanje stikala pri izklopu toka magnitude 400 A ter pri nazivni napetosti U_48. Porast napetosti preko nazivne vrednosti je posledica v parazitni induktivnosti (Lp) nakopičene energije, ki se v intervalu TP sprosti na prenapetostni komponenti (TVS). Po končanem razmagnetenju (t1) napetost na stikalu upade skoraj do vrednosti 0 V, navkljub v trenutku t0 izklopljenemu varnostnemu stikalu. Omenjeni potek je sprva zavajajoč, a ne gre spregledati dejstva, da je kondenzator Cvh na vhodu močnostne 217 U_CM U_CM t0 t1 t2 a) nedovoljeno delovanje stikala TP U_CM U_48* U_48* U_CM U_CM t0 t1 b) pravilno delovanje stikala Slika 7. U_CM in U_48* po prekoračitvi toka varnostnega stikala. Zahvala ⎯ Delo je sofinancirala ARRS v sklopu financiranja programske skupine P2-0258 in delno v okviru projekta L2619 »Napredni elektronski napajalni modul za avtomobilski katalizator«. 5 Literatura [1] C. Hoff and O. Sirch, Elektrik/Elektronik in Hybrid- und Elektrofahrzeugen und elektrisches Energiemanagement VII, 1st ed. Renningen: expert, 2016. [2] S. Cabizza, L. Corradini, G. Spiazzi, and C. Garbossa, ‘Comparative Study of 48V-based Low-Power Automotive Architectures’, in 2020 IEEE 21st Workshop on Control and Modeling for Power Electronics (COMPEL), Nov. 2020, pp. 1–8. doi: 10.1109/COMPEL49091.2020.9265730. [3] S. Saponara, P. Tisserand, P. Chassard, and D. My-Ton, ‘DC/DC converter integrated architecture for 48V supplies in micro/mild hybrid vehicle electrical engine control module’, in 2016 IEEE 16th International Conference on Environment and Electrical Engineering (EEEIC), Jun. 2016, pp. 1–5. doi: 10.1109/EEEIC.2016.7555855. [4] J. Wittmann, T. Rosahl, and B. Wicht, ‘A 50V highspeed level shifter with high dv/dt immunity for multiMHz DCDC converters’, in ESSCIRC 2014 - 40th European Solid State Circuits Conference (ESSCIRC), Sep. 2014, pp. 151–154. doi: 10.1109/ESSCIRC.2014.6942044. [5] S. Fraiss, ‘Smart High-Side Switches, Application note’, p. 81. Izzivi uporabe NTK termistorjev pri merjenju temperature v močnostnih pretvornikih Marko Petkovšek Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, SI-1000 Ljubljana E-pošta: marko.petkovsek@fe.uni-lj.si Challenges of using NTC thermistors for temperature measurements in power converters Abstract. Advances in the fields of semiconductor components and microcontrollers in the last years have given a huge impetus to development of power converters for various applications. Due to extremely capable supervising microcontrollers that offer many GPIO pins, several features – once only on the wish list – have become almost “a must have”. Among them there is also monitoring and diagnostics of temperature – not only of the process, but also of key converter components, thus resulting in increased safety and operational reliability of the whole system. During the design stage, however, a large focus is given to find cost-efficient solutions. In the paper, a simple approach for temperature measurement using NTC thermistors is investigated for three methods that differ in the required prework, expected accuracy and calculation complexity. 1 Uvod Močnostni pretvorniki predstavljajo pomemben segment elektronskih sklopov, pri katerih je v zadnjih letih opaziti precejšen napredek. Poleg razvoja močnostnih komponent je k temu vsekakor doprinesel razvoj mikrokrmilniške tehnike, s katero poskrbimo za ustrezno izvajanje naprednih krmilno-regulacijskih algoritmov. Poleg neposrednega krmiljenja močnostnih polprevodniških elementov, kar je pravzaprav glavna vloga mikrokrmilnika v močnostnem pretvorniku, je vedno več poudarka opaziti na dodatnih funkcionalnostih, kot je npr. nadzor in sprotna diagnostika nad ključnimi parametri [1]. V ta namen je seveda treba imeti na razpolago dovolj splošnonamenskih (GPIO) priključkov, ki jih lahko po potrebi definiramo kot izhodne ali pa vhodne priključke. Pri nadzoru in diagnostiki so ključnega pomena prav slednji, saj npr. preko digitalnih vhodov, še bolj pa prek analognih vhodov lahko spremljamo celo vrsto fizikalnih veličin tako pretvornika, kot tudi celotnega sistema, katerega del je močnostni pretvornik. Poleg merjenja napetosti in tokov, kar predstavlja osnovo za delovanje močnostnega pretvornika, je pomembno področje nadzora in diagnostike tudi merjenje ostalih fizikalnih veličin sistema, med katere vsekakor sodi tudi temperatura. Merjenje temperature pri tem ni omejeno samo na merjenje temperature tehnološkega procesa, ampak gre tudi za merjenje temperature močnostnega ERK'2021, Portorož, 218-221 218 pretvornika ali njegovih podsklopov [2], kar je s stališča varnosti in zanesljivosti delovanja pretvornika seveda še kako pomembno. Pri razvoju močnostnih pretvornikov smo tako po eni strani priča vedno širšemu naboru »obveznih« funkcionalnosti, po drugi strani pa je inženirska kreativnost pri iskanju ustreznih rešitev vedno bolj podvržena pritisku »cenovne optimizacije« končnega izdelka. V nadaljevanju prispevka bo prav v tej luči podrobneje osvetljen princip nizkocenovnega merjenja temperature, in sicer z uporabo NTK termistorjev. 2 Splošno o NTK termistorjih NTK termistorji so temperaturno odvisni upori, ki jih pogosto uporabljamo za cenovno ugodno merjenje temperature. Za njih je značilna izrazito nelinearna karakteristika odvisnosti upornosti od temperature – za razliko od kovinskih uporovnih termometrov (RTD; resistance temperature device, predstavnik temperaturna sonda PT100), pri katerih je ta odvisnost v širokem temperaturnem področju linearna. Ne glede na vrsto uporovnega temperaturnega senzorja je informacija o temperaturi pridobljena posredno preko merjenja padca napetosti na njem. To pomeni, da moramo senzor vključiti v bolj ali manj kompleksno vezje [3], pri katerem je izhodna napetost sorazmerna temperaturi. Seveda je zaželeno, da bi bila napetost linearno odvisna od temperature, kot je npr. pri namenskih integriranih vezjih za merjenje temperature z vgrajenimi linearizacijskimi vezji, ki delujejo na principu merjenja padca napetosti na pn spoju diode oz. bipolarnega tranzistorja pri vsiljenem konstantnem toku [4]. A če je glavno vodilo pri merjenju temperature cenovna optimizacija, potem so NTK termistorji kljub svoji nelinearni karakteristiki cenovno najugodnejša rešitev. 2.1 Karakteristika NTK termistorja Proizvajalci podajajo odvisnost upornosti od temperature večinoma v obliki tabelaričnih podatkov s korakom 5 C (tudi 1 C), pri tem pa poskušajo upornost NTK termistorja kar najbolje analitično opisati upoštevajoč dve konstanti: 𝑅𝑇 = 𝐴 ∙ 𝑒 𝐵𝑇 , (1) pri čemer je konstanta A vezana na geometrijo in koncentracijo dodanih primesi, konstanta B pa na osnovni material upora. Termistorje ločimo prav po vrednosti konstante B – poimenovane tudi snovna konstanta – njene vrednosti se gibljejo med 2000 K in 5000 K. Raje kot zapis (1) uporabljamo zvezo (2), s katero lahko izračunamo upornost termistorja RT pri temperaturi T upoštevajoč nazivno vrednost njegove upornosti (R0) pri absolutni temperaturi T0 = 298,15 K: 𝑅𝑇 = 𝑅0 ∙ 𝑒 1 1 ) 𝑇 𝑇0 𝐵( − . (2) Na sliki 1 je za 10 k NTK termistor s snovno konstanto B25/100 = 4000 K [5] poleg tabelaričnih vrednosti (Rmer) upoštevajoč (2) podana tudi izračunana (Rizr) odvisnost upornosti od temperature. Indeks 25/100 pri oznaki za konstanto B podaja temperaturno območje, na katerem so izračunane upornosti upoštevajoč (2) najbolj skladne s pomerjenimi. Upornost termistorja se v celotnem temperaturnem razponu od –55 C do +150 C zelo spreminja. Na sliki 1 je po y osi povečano prikazano območje upornosti do 20 k, označena pa je tudi nazivna vrednost termistorja pri T0 = 25 C. Za ta primer uporabljeni termistor ima po podatkih proizvajalca [5] pri temperaturi T = 150 C upornost R = 182,03 . 3 Merjenje temperature z NTK termistorjem 3.1 Prilagodilno vezje za NTK termistor Zahteva po cenovno ugodnem merjenju temperature narekuje tudi izbiro ustreznega prilagodilnega vezja, ki nam informacijo uporovnega senzorja temperature preoblikuje v napetost. Daleč najbolj preprosto vezje je kar uporovni delilnik (slika 3), ki ga sestavljata termistor in upor, katerega upornost mora biti čim bolj neodvisna od temperature. V kolikor je napetost UT,mer iz uporovnega delilnika nato pripeljana na analogni vhod (AI) nadzornega mikrokrmilnika z »zadostno« vhodno impedanco, je uporaba dodatnega operacijskega ojačevalnika v vezavi napetostni sledilnik nepotrebna. Poleg tega se na ta način izognemo tudi morebitni dodatni napaki, ki jo v meritev vnaša neidealni operacijski ojačevalnik (preostala napetost, temperaturno lezenje…). Slika 3. Prilagodilno vezje za merjenje temperature. Vrednost upornosti RP določimo glede na nazivno vrednost upornosti termistorja, napajalno napetost US+ in želeno temperaturno območje. Na vhodu mikrokrmilnika bomo torej pomerili napetost: Slika 1. Karakteristika NTK termistorja. 2.2 𝑈𝑇,𝑚𝑒𝑟 = 𝑈𝑆+ ∙ 𝑅𝑃 𝑅𝑁𝑇𝐾 +𝑅𝑃 . (3) Izvedbe NTK termistorjev Pri praktični uporabi termistorjev je pomembna tudi pritrditev. Če merimo temperaturo medija (zrak, voda…), potem je verjetno smiselno uporabiti izvedbo z izoliranimi žičnimi priključki (slika 2a). Pri merjenju temperature npr. na hladilnem rebru je smiselno uporabiti termistor s priključnim ušesom (slika 2b), za merjenje temperature elektronskega sklopa (del tiskanega vezja) pa bomo verjetno izbrali kar SOT ali SMD izvedbo termistorja (slika 2c, [5]), pri čemer bomo seveda poskrbeli za ustrezen termični kontakt termistorja z delom vezja, katerega temperaturo merimo. a) b) c) Slika 2. Izvedbe NTK termistorjev. 219 3.2 Princip izračuna temperature V nadaljevanju bo za primer 10 k-skega NTK termistorja [5], katerega karakteristika je podana na sliki 1, podan princip izračuna temperature za predlagano prilagodilno vezje, ki ga napajamo z napetostjo US+ = 3,3 V. Če za začetek predpostavimo, da je vrednost RP = R0 = 10000 , potem lahko za celotni temperaturni razpon upoštevajoč tabelarično podane vrednosti upornosti izrišemo potek napetosti UT v odvisnosti od temperature (slika 4). S slike je razvidno, da je sprememba napetosti UT v odvisnosti od temperature največja ravno v območju okrog temperature 25 C, kar je logično, saj smo predpostavili upornost RP = R0. Prilagodilno vezje ima torej največjo občutljivost pri temperaturi, ki jo določa vrednost upornosti RP, kar moramo upoštevati pri dimenzioniranju. Na sliki 4 sta podana tudi poteka napetosti za R'P = 55,3 k (ustreza upornosti termistorja pri –10 C) in R''P = 3598,1,9  (ustreza upornosti termistorja pri 50 C), na sliki 5 pa je izrisan še potek spremembe napetosti v odvisnosti od spremembe temperature (UT/T) za celotno temperaturno območje in predpostavljene vrednosti upornosti RP. Kot je razvidno s slik 4 in 5, je s primerno izbiro vrednosti upornosti RP v delilniku napetosti storjen šele prvi korak pri merjenju temperature, in sicer definiranje temperaturnega območja, v katerem je občutljivost merjenja najvišja. Naslednji korak pa je iskanje algoritma, s katerim je mogoče – sploh v primeru kompleksnega mikrokrmilniško vodenega sistema (npr. močnostnega pretvornika) – preračunati pomerjeno napetost v temperaturni ekvivalent. Slika 6. Tabelarični pristop pri izračunu temperature. b) Aproksimacija s polinomskimi funkcijami Slika 4. Potek napetosti UT v odvisnosti od temperature za različne vrednosti upornosti RP. Slika 5. Potek spremembe UT/T v odvisnosti od temperature za različne vrednosti upornosti RP. Za začetek si pretvorimo odvisnost napetosti s slike 4 za privzeto vrednost upornosti R''P = 3598,1  (ustreza upornosti termistorja pri temperaturi 50 C) tako, da zamenjamo x in y os (slika 7). S slike 7 je že na prvi pogled opazno, da bi lahko odvisnost T(UT) vsaj na omejenem območju aproksimirali kar s premico in posledično izračunavali temperaturo upoštevajoč pomerjeno napetost (x os) in enačbo premice. Pri tem je napaka, ki jo naredimo, odvisna od postavitve premice – na sliki 7 je vrisana premica, s katero »kar dobro« aproksimiramo T(UT) na območju od 10 C do 80 C. Izven tega območja znaša napaka (na sliki 8 označena z T) pri izračunu temperature že več kot ± 2 C. Slika 7. Temperatura v odvisnosti od pomerjene napetosti UT in aproksimacija s premico. a) Tabelarični pristop Pri tej metodi sestavimo tabelo z upornostmi termistorja v odvisnosti od temperature (slika 6) , ki jih dobimo iz podatkovnih listov proizvajalca. Tabeli dodamo stolpec izračunanih napetosti UT(i) za predpostavljeni uporovni delilnik, nakar je v krmilnem programu mikrokrmilnika treba za pomerjeno napetost UT,mer najti ustrezni sosednji napetosti z indeksoma (i) in (i+1) in njima pripadajoči temperaturi. Z linearno interpolacijo v zadnjem koraku izračunamo »vmesno« temperaturo Tmer. Četudi je algoritem branja tabelaričnih vrednosti relativno preprost in metoda rezultira v izredno majhni napaki, pa je praktična izvedba lahko problematična s stališča časovne in »prostorske« obremenitve mikrokrmilnika – sploh v primeru »gostejše« tabele proizvajalca (podatki so največkrat podani s korakom 5 C, redkeje celo s korakom 1 C). 220 Slika 8. Napaka pri izračunu temperature (T) pri aproksimaciji s premico. Pravkar predstavljeni princip preračuna temperature iz pomerjene napetosti je sicer korekten, a le v omejenem temperaturnem obsegu. Boljši rezultat je seveda pričakovati s polinomsko funkcijo višjega reda: 𝑇 = 𝑎𝑛 ∙ 𝑢𝑛 + 𝑎𝑛−1 ∙ 𝑢𝑛−1 + ⋯ + 𝑎1 ∙ 𝑢 + 𝑎0 . (4) Z ai so v (4) označeni koeficienti polinoma in z u pomerjena napetost (UT). Na sliki 9 je upoštevajoč (4) podano odstopanje izračunane temperature od dejanske (T) pri aproksimaciji diskretno podanih točk s slike 7 s polinomom 3., 4., 5. in 6. stopnje s koeficienti, s katerimi smo aproksimirali krivuljo na nazivnem področju termistorja. Opazno je, da je napaka tudi pri precej visokem redu polinomske funkcije še vedno relativno velika. A podobno kot pri linearni aproksimaciji, je tudi pri polinomih višjega reda ob malo ožjem temperaturnem področju lahko pričakovana temperaturna napaka precej manjša, kar govori v prid polinomski aproksimaciji. Na sliki 9 je tako podana tudi napaka za aproksimacijo s polinomom 6. reda, katerega koeficienti so izračunani za temperaturno območje od –40 C do +120 C (označeno poly6_lim). Opazno je, da je na tem območju pričakovana napaka manjša od ± 2 C. Slika 11. Napaka pri izračunu temperature (deltaT) pri analitičnem pristopu. 4 Zaključek V prispevku je osvetljen princip cenovno ugodnega merjenja temperature z NTK termistorji, pri čemer je predpostavljeno, da je izračun temperature izveden v nadzornem mikrokrmilniku močnostnega pretvornika. Predstavljene so tri metode izračuna, dve temeljita na tabelaričnih podatkih, tretja pa na podani snovni konstanti termistorja. Pričakovana napaka je sicer najnižja v primeru tabelaričnega pristopa, sploh v primeru »gosto« podanih podatkov s strani proizvajalca. Kljub temu tudi preostali dve metodi ponujata zelo sprejemljive rezultate, pri čemer je treba izpostaviti analitično metodo, ki zahteva najmanj predpriprav. Za praktično realizacijo je ključnega pomena predvsem časovna obremenitev mikrokrmilnika za posamezno metodo, kar pa presega okvire tega prispevka. Zahvala Slika 9. Napaka T v odvisnosti od reda polinomske funkcije. c) Analitični pristop Pri tem izhajamo iz osnovnega prilagodilnega vezja (slika 3) in relacije med upornostjo in temperaturo, ki jo podaja (2). Če združimo zapisa (2) in (3), dobimo: 𝑈𝑇,𝑚𝑒𝑟 = 𝑈𝑆+ ∙ 𝑅𝑃 1 1 𝐵(𝑇−𝑇 ) 0 +𝑅𝑃 𝑅0 ∙𝑒 , (5) nakar po antilogaritmiranju in manjšem preurejanju iz (5) izrazimo temperaturo T (v kelvinih): 𝑇𝑚𝑒𝑟 = 1 𝑈 𝑅 1 1 ln( 𝑃 ( 𝑆+ −1))+ 𝐵 𝑅0 𝑈𝑇,𝑚𝑒𝑟 𝑇0 . (6) Kompleksnost izraza (6) je lahko problematična s stališča časovne obremenitve mikrokrmilnika, predvsem pa je izračun pogojen s snovno konstanto, ki jo proizvajalec po navadi podaja samo za del temperaturnega območja (B25/100). Na skrajnih mejah območja je posledično napaka pri izračunu enaka 0, vmes je manjša od 0,5 C, levo in desno od njiju pa prične naraščati (slika 11). Posebno pozornost je treba nameniti tudi dejanski vrednosti konstante B. Na sliki 11 je podana izračunana napaka tudi za ±2% odstopanje od nazivne vrednosti, zato je pred praktično uporabo vsekakor smiselno izvesti kalibracijske meritve [6]. 221 Prispevek je nastal v okviru raziskovalnega projekta L2619 »Napredni elektronski napajalni modul za avtomobilski katalizator«, ki ga je podprla Javna agencija za raziskovalno dejavnost Republike Slovenije. Literatura [1] M. Jaraczewski, R. Mielnik, T. Gębarowski, M. Sułowicz: Low-Frequency Signal Sampling Method Implemented in a PLC Controller Dedicated to Applications in the Monitoring of Selected Electrical Devices. Electronics 2021, 10, 442. [2] C. Matei, J. Urbonas, H. Votsi, D. Kendig, P. H. Aaen: Dynamic Temperature Measurements of a GaN DC–DC Boost Converter at MHz Frequencies. IEEE Transactions on Power Electronics, 2020, 35, pp. 8303-8310, doi: 10.1109/TPEL.2020.2964996. [3] C. Wang, Z. Hou, J. You: Temperature-to-Frequency Converter With 1.47% Error Using Thermistor Linearity Calibration. IEEE Sensors Journal, vol. 19, July 2019. [4] Texas Instruments. “TMP23x-Q1 Automotive Grade High-Accuracy Analog Output Temperature Sensors,” Data sheet. [Online]. Dosegljivo: https://www.ti.com/ lit/ds/symlink/tmp235-q1.pdf [23.6.2021]. [5] TDK. NTC thermistors. [Online]. Dosegljivo: https://product.tdk.com/system/files/dam/doc/product/ sensor/ntc/chip-ntc-thermistor/data_sheet/50/db/ntc/ db/ntc/ntc_smd_automotive_series_0603.pdf [23.6.2021]. [6] Y. Liu, Y. Liu, W. Zhang, J. Zhang: The Study of Temperature Calibration Method for NTC Thermistor. 2020 IEEE 4th International Conference on Frontiers of Sensors Technologies (ICFST), 2020, pp. 50-53. 6. – 9. November, 2020, Shanghai, Kitajska. Nesimetrija toka v večvejnih pretvornikih Mitja Nemec, Andraž Rihar, Peter Zajec, Marko Petkovšek, Danjel Vončina, Vanja Ambrožič Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: mitja.nemec@fe.uni-lj.si Current asymmetry in multi-leg converters Abstract. The article presents a new avenue how the problem of current asymmetry in multi-leg converters could be solved. As the simulations show current asymmetry results also in 1st , 2nd and 3rd switching frequency harmonic presence in DC link voltage. By observing the amplitude and phase of these harmonics one could equalize leg currents. 1 Uvod Z razvojem polprevodniških tehnologij, se na področju močnostne elektronike izkazuje več trendov [1]: • vedno širša je uporaba novejših polprevodniških tehnologij (GaN, SiC), s katerimi dosežemo boljše obratovalne lastnosti (višja preklopna frekvenca, nižje izgube, ...) • povečuje se kompleksnost topologij močnostne elektronike (večnivojske in/ali večvejne). • vedno večja zmogljivost procesiranja omogoča: bolj kompleksne regulacijske pristope, hitrejšo in/ali bolj robustno detekcijo in diagnostiko različnih okvar v sistemu in nadomeščanje senzorjev z opazovalniki. V cenovno občutljivih aplikacijah je nadomeščanje senzorjev z opazovalniki pogosto uporabljen pristop. To še toliko bolj velja za topologije, pri katerih je število nadomeščenih senzorjev visoko. Topologija, ki jo bomo obravnavali v tem članku, je več-vejni pretvornik navzdol (slika 1), pri katerem za zanesljivo delovanje potrebujemo po en senzor toka za vsako vejo. Le tako lahko z individualnim proženjem posamezne veje zagotavljamo, da se tokovi med posameznimi vejami v stacionarnem stanju enakomerno porazdelijo in, da ne prihaja do preobremenitev. Do razlike med posameznimi vejnimi tokovi v grobem pride bodisi zaradi različne vrednosti izhodne napetosti (uleg#) posamezne veje, ali pa zaradi različne upornosti posamezne veje, na katero imata največji vpliv upornost stikalnih elementov in upornost povezav. Slika 1: Štirivejni pretvornik navzdol Za doseganje enake upornosti posameznih vej bi morali zagotoviti, da imajo stikalni elementi primerljive upornosti (torej bi morali biti tudi dobro termično sklopljeni). Prav tako pa bi moralo biti vezje tudi ERK'2021, Portorož, 222-225 222 simetrično grajeno, kar je v nekaterih aplikacijah nemogoče doseči. Na srednjo vrednost izhodne napetosti vplivajo morebitne razlike med posameznimi vejami v zakasnitvi prožilnih pulzov močnostnih stikal in različne pragovne napetosti močnostnih stikal. Razlika med tokovi posameznih vej je proporcionalna razliki napetosti med posameznimi vejami in obratno proporcionalna upornosti stikalnih elementov, vezja in upornosti induktivnosti. Ker je pri sodobnih pretvornikih ta upornost zelo nizka (nižja kot je, višji je izkoristek pretvornika), lahko že majhna nesimetrija povzroči zelo veliko razliko v tokovni obremenitvi. Vsi našteti razlogi (nesimetrična upornost, neenaka napetost) v praksi onemogočajo preprosto obratovanje več-vejnih pretvornikov brez senzorja toka na vsaki veji. 2 Brezsenzorsko delovanje V literaturi so do sedaj predstavljene tri možne rešitve s katerimi se lahko izognemo vgradnji senzorja v vsako vejo. Za pretvornike majhnih moči je bila predstavljena rešitev pri kateri se dodatno meri izhodna napetost preko kapacitivnega delilnika. Z dodatno obdelavo pomerjene napetosti se loči ali je pomerjena izmenična komponenta posledica spremembe obratovalne točke ali pa je rezultat valovitosti zaradi stikalnega delovanja. Tako lahko na podlagi oblike napetosti sklepamo o tokih čez posamezno vejo [2]. Žal pa je bila ta rešitev do sedaj preizkušena samo na eni tranzistorski veji. Druga predstavljena rešitev pa rešuje samo asimetrijo, ki je posledica različnih vklopnih razmerij posamezne veje, do katere predvsem zaradi toleranc močnostnih tranzistorjev. V tem primeru sistem meri napetost direktno na izhodu posamezne veje in z uporabo FPGA vezja določi dejansko vklopno razmerje posamezne veje [3]. Na podlagi te meritve nato prilagodi prožilne signale tako da imajo vse veje enako vklopno razmerje. Za simetrično porazdelitev toka v tem primeru pa morajo biti upornosti v posameznih vejah enake, saj metoda tega ne naslavlja. Največ rešitev za navedeni problem pa temelji na opazovanju izhodne napetosti, ko se v sistem vsiljuje nesimetrično proženje posamezne veje. Iz primerjave posameznih odzivov lahko z naprednimi algoritmi [4]– [7] ugotovimo stanje nesimetrične obremenitve in jo tudi odpravimo. Ta rešitev je v praksi največkrat preizkušena, vendar pa je izenačevanje toka relativno počasno, poleg tega pa se lahko vsiljevanje nesimetričnega proženja kaže tako v povišanih akustičnih kot elektromagnetnih motnjah. Zaradi tega se v zadnjem času veliko dela na izbiri primerne oblike nesimetričnega proženja [8]. 3 Ugotavljanje nesimetrije na podlagi meritve izmenične komponente napetosti na enosmernem tokokrogu Vpliv nesimetrične obremenitve večvejnega pretvornika se kaže tudi na strani enosmernega tokokroga. Kot vidimo na sliki 2, je oblika toka posamezne veje v enosmernem tokokrogu odvisna tako od amplitude toka posamezne veje kot tudi od srednje vrednosti napetosti (vklopnega razmerja) posamezne veje. Slika 2: Tok v enosmernem tokokrogu in tok posamezne veje Pri štirivejnem pretvorniku, ki je simetrično obremenjen je tudi vsota tokov vseh vej na enosmernem tokokrogu simetrična, pri čemer ima osnovna harmonska komponenta 4-kratnik preklopne frekvence (slika 3). Ker, je tak pretvornik povezan proti napajanju s končno impedanco se le-ti harmoniki v toku enosmernega tokokroga izrazijo tudi kot harmoniki v napetosti enosmernega tokokroga uDC. Tako bi lahko samo z meritvijo spektra napetosti enosmernega tokokroga sklepali (in tudi odpravili) nesimetrično obremenitev. 4 Rezultati Za ugotavljanje odvisnosti harmonske vsebine v napetosti enosmernega tokokroga od tipa in stopnje nesimetrije obremenitve so bile s programskim paketom MATLAB/Simulink izvedene simulacije štirivejnega pretvornika navzdol, pri katerem sta se spreminjala tako upornost v posamezni veji kot tudi vklopno razmerje v posamezni veji. Kot vidimo na slikah 5, 6 in 7, ko se spreminja upornost v eni sami veji glede na ostale tri veje, se pričakovano spreminja obremenitev v posameznih vejah. To pa se odraža tudi na spremembi 1. 2. in 3. harmonika napetosti enosmernega tokokroga. Četrti harmonik ostaja nespremenjen. Harmonska vsebina se prav tako razlikuje v primeru, ko je spremenjena upornost v prvi ali drugi veji (sliki 6 in 7). V kolikor pa se upornost spreminja v dveh vejah hkrati, so razmere sicer nekoliko bolj kompleksne, vendar je odziv podoben. Kot vidimo na primeru nesimetrične obremenitve v 1. in 3. veji se poveča harmonska vsebina 1, 2 in 3 harmonika (slika 8). 48 i leg1 i leg2 46 i leg3 i leg4 tok [A] 44 42 40 38 36 Slika 3: Tokovi posameznih vej in skupni tok v enosmernem tokokrogu ob simetrični obremenitvi 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 Slika 5: Odvisnost obremenitve od relativne spremembe upornosti v 1. veji 2 amplituda [mv] V primeru, ko je obremenitev nesimetrična, pa so v toku enosmernega tokokroga najbolj izrazite dodatne komponente, katerih frekvenca je 1-, 2- in 3-kratnik preklopne frekvence (slika 4). 34 0.8 uDC1 1.5 uDC2 uDC3 1 uDC4 0.5 0 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 100 faza [°] uDC1 223 uDc3 uDC4 -100 -200 0.8 Slika 4: Tokovi posameznih vej in skupni tok v enosmernem tokokrogu ob nesimetrični obremenitvi zaradi različne upornosti vej (levo) ter različnega vklopnega razmerja (desno) uDC2 0 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 Slika 6: Amplituda in faza prvih štirih harmonikov v napetosti enosmernega tokokroga v odvisnosti od relativne spremembe upornosti v 1. veji 90 uDC1 1.5 1 80 uDC3 70 ileg3 60 ileg4 uDC4 0.5 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 40 200 30 uDC1 uDC2 20 uDc3 10 uDC4 0 0 -100 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 -10 0.995 1.2 Slika 7: Amplituda in faza prvih štirih harmonikov v napetosti enosmernega tokokroga v odvisnosti od relativne spremembe upornosti v 2. veji Tok 2. veje 48 1.2 1.15 46 1.15 42 1.1 44 1.1 41 42 1 40 0.95 1.05 i leg1 [A] 1.05 43 40 1 39 0.95 38 0.9 i leg2 [A] Tok 1. veje 1.2 0.95 1 1.05 1.1 1.15 36 0.8 0.8 1.2 Tok 3. veje 0.85 0.9 0.95 1 1.05 1.1 1.15 uDC2 uDC3 5 uDC4 1 1.005 1.15 46 1.15 42 1.1 44 1.1 41 42 1.05 1 40 ileg3 [A] 1.2 0.95 43 40 1 39 0.95 38 0.9 uDC1 100 Tok 4. veje 48 1.05 200 1.2 faza [°] 0.9 uDC2 uDC3 0 uDC4 -100 ileg4 [A] 0.85 1.2 -200 0.995 38 1 1.005 0.9 36 37 0.85 0.85 36 34 0.85 0.9 0.95 1 1.05 1.1 1.15 0.8 0.8 1.2 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1 1 0.9 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 amplituda [mv] 2 2. harmonik 1.2 3 1.1 3 1.1 2 1 1 0.9 0.8 0.8 0 0.9 0.95 1 1.05 1.1 1.15 1.2 0 1.2 0.9 -100 0.9 0.95 1 1.05 1.1 1.15 3. harmonik 1.2 0.8 0.8 1.2 1.1 2 1 1 0.9 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 0 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 4. harmonik 2 1 1 0.9 0.8 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 0 0 0.9 -100 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 faza [°] 1 100 1.1 1 0 0.9 0.8 0.8 uDC4 1 1.005 uDC1 uDC2 uDC3 0 uDC4 -100 1.2 100 1.1 uDC3 5 100 faza [°] 1.2 uDC2 200 3 1.1 0 uDC1 -100 1.2 3 amplituda [mv] 0.85 1 0.9 10 0 0.995 100 1.1 faza [°] 0 faza [°] 1 faza [°] 100 1.1 amplituda [mv] 1.2 0.85 amplituda [mv] 1. harmonik 1.2 Slika 11: Amplituda in faza prvih štirih harmonikov v napetosti enosmernega tokokroga v odvisnosti od relativne spremembe napetosti v 1. veji amplituda [mV] Slika 8: Nesimetričnost obremenitve v odvisnosti od relativne spremembe upornosti v 1. in 3. veji 0.8 0.8 uDC1 0.85 34 0.8 0.8 1.005 37 0.85 0.8 0.8 10 0 0.995 38 0.9 36 0.8 0.8 1 Slika 10: Nesimetričnost obremenitve v odvisnosti od relativne spremembe napetosti v 1. veji amplituda [mV] faza [°] 100 0.8 0.8 ileg2 50 0 0.8 0.8 0.8 ileg1 uDC2 tok [A] amplituda [mV] 2 -200 0.995 1 1.005 -100 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 Slika 9: Amplituda in faza prvih štirih harmonikov preklopne frekvence v napetosti enosmernega tokokroga v odvisnosti od relativne premembe upornosti v 1. in 3. veji Amplituda in faza posameznih harmonikov (slika 9) pa sta odvisni tako od stopnje nesimetrije kot tudi od razmerja nesimetrije med dvema vejama. Praktično enak odziv vidimo tudi v primeru, ko do nesimetrije obremenitve pride zaradi odstopanja napetosti ene veje (slike 10, 11 in 12). Vendar pa je v tem primeru treba opozoriti, da že pri zelo zelo majhnih spremembah napetosti (0,5 %) pride do bistveno večje nesimetrije obremenitve. Posledično so tudi spremembe v harmonski vsebini enosmerne napetosti večje. 224 Slika 12: Amplituda in faza prvih štirih harmonikov v napetosti enosmernega tokokroga v odvisnosti od relativne spremembe napetosti v 2. veji Primerljive rezultate dobimo tudi v primeru, ko se spreminjata napetosti dveh vej (1. in 3. veja). Tudi v tem primeru se z nesimetrijo v napetosti 1. in/ali 3. veje pojavi nesimetrija tokovne obremenitve. Prav tako se tudi povečajo amplitude 1., 2. in 3. harmonika v napetosti enosmernega tokokroga. Amplituda 4. harmonika pa je konstantna. Faza posameznih harmonikov so tudi v tem primeru odvisne od razmerja med nesimetrijo v 1. in 3. veji. Tok 2. veje 90 1.005 80 1.004 60 1.003 70 1.003 55 1.002 60 1.002 50 1.001 50 1.001 30 0.995 0.995 1.005 30 0.995 0.995 1.005 Tok 3. veje 20 1.005 90 15 1 1.005 Tok 4. veje 65 1.004 60 1.003 70 1.003 55 1.002 60 1.002 50 1.001 50 1.001 1 40 30 0.999 30 25 20 0.996 -10 1 35 0.997 0 0.996 40 0.998 10 0.997 45 1 0.999 20 0.998 0.995 0.995 ileg3 [A] 1.004 80 0.995 0.995 1.005 15 1 1.005 Slika 13: Nesimetričnost obremenitve v odvisnosti od spremembe napetosti v 1. in 3. veji 5 1 1.005 1.005 20 15 1 10 5 0 0.995 0.995 180 1.005 1 1.005 120 faza [°] 1 0 -60 60 1 0 -60 -120 -120 1.005 1 1.005 3. harmonik 15 10 5 1 1.005 20 1 0.995 0.995 0.995 0.995 -180 1.005 1.005 amplituda [mv] 0.995 0.995 1 1.005 4. harmonik 15 10 5 0 0.995 0.995 180 1.005 0 -60 1 1.005 180 60 1 0 -60 -120 0.995 0.995 1 1.005 -180 0 120 faza [°] 60 -180 20 1 120 1 0 180 120 60 amplituda [mv] 10 faza [°] 1 2. harmonik amplituda [mv] 15 0.995 0.995 1.005 20 faza [°] 1. harmonik amplituda [mv] 1.005 -120 0.995 0.995 1 1.005 Delo je bilo sofinancirano iz projekta ARRS »Napredni elektronski napajalni modul za avtomobilski katalizator« L2-2619 (C). Literatura 25 0.996 -10 1 35 0.997 0 0.996 1 0.998 10 0.997 40 0.999 20 0.998 45 ileg2 [A] 40 1 0.999 Zahvala 65 ileg4 [A] Tok 1. veje 1.004 ileg1 [A] 1.005 -180 Slika 14: Amplituda in faza prvih štirih harmonikov v napetosti enosmernega tokokroga v odvisnosti od spremembe napetosti v 1. in 3. veji 5 Sklep Simulacije, predstavljene v članku, nakazujejo možnost novega pristopa k izenačevanju tokovne obremenitve v večvejnih pretvornikih. Z opazovanjem harmonske vsebine v napetosti enosmernega tokokroga lahko sklepamo, v kateri veji je tok večji od povprečja, in ustrezno ukrepamo. Tak način deluje tako pri nesimetrijah zaradi razlike v upornostih med vejami kot tudi zaradi razlike v napetostih posamezne veje. Simulacijski rezultati tudi nakazujejo, da je nesimetrija bistveno bolj odvisna od razlike napetosti med vejami kot zaradi razlike upornosti med posameznimi vejami. Tako je uporaba rešitev, ki odpravljajo nesimetrijo samo na podlagi meritve nesimetrije napetosti (vklopnega razmerja) [3], smiselna, saj s tem odpravimo večino nesimetrije. Pri praktični implementaciji nakazane rešitve pa bo treba zagotoviti točno meritev izmenične napetosti z nizko amplitudo in visoko frekvenco, vzorčiti merjeni signal z najmanj nekaj 10 krat višjo vzorčno frekvenco, kot je preklopna frekvenca, in nato še implementirati algoritem, ki bo zanesljivo določil vir/vejo nesimetrije. 225 [1] A. Rihar, M. Nemec, in H. Lavrič, “Trendi v razvoju močnostne elektronike za vodenje električnih strojev,” Elektrotehniški Vestn., vol. 86, no. 5, pp. 237–247, 2019. [2] X. Ke, J. Sankman, in D. Ma, “A 5MHz, 24V-to-1.2V, AO2T current mode buck converter with one-cycle transient response and sensorless current detection for medical meters,” in 2016 IEEE Applied Power Electronics Conference and Exposition (APEC), Long Beach, CA, USA, Mar. 2016, pp. 94–97. doi: 10.1109/APEC.2016.7467857. [3] J. Gordillo in C. Aguilar, “A Simple Sensorless Current Sharing Technique for Multiphase DC–DC Buck Converters,” IEEE Trans. Power Electron., vol. 32, no. 5, pp. 3480–3489, May 2017, doi: 10.1109/TPEL.2016.2592240. [4] X. Zhang, L. Corradini, in D. Maksimovic, “Sensorless Current Sharing in Digitally Controlled Two-Phase Buck DC-DC Converters,” in 2009 Twenty-Fourth Annual IEEE Applied Power Electronics Conference and Exposition, Washington, DC, USA, Feb. 2009, pp. 70–76. doi: 10.1109/APEC.2009.4802635. [5] W. Du, Y. Tao, Z. Chen, in C. Wang, “Sensorless current sharing in digitally controlled multiphase buck DC-DC converters,” in International Conference on Electrical, Control and Computer Engineering 2011 (InECCE), Kuantan, Malaysia, Jun. 2011, pp. 302–307. doi: 10.1109/INECCE.2011.5953896. [6] C. Wang, K. Wang, Z. Zheng, K. Sun, in Y. Li, “Modulation Induced Current Imbalance and Its Sensorless Control of a GaN-Based Four-Phase DC–DC Power Amplifier,” IEEE Trans. Ind. Electron., vol. 67, no. 2, pp. 1520–1531, Feb. 2020, doi: 10.1109/TIE.2019.2905828. [7] K. Hu, Y. Chen, in C. Tsai, “A Digital Multiphase Converter with Sensor-less Current and Thermal Balance Mechanism,” in 2018 IEEE Asian Solid-State Circuits Conference (A-SSCC), Nov. 2018, pp. 175–178. doi: 10.1109/ASSCC.2018.8579301. [8] N. Bošković, J. Duarte, in E. A. Lomonova, “Signal Injection for Sensorless Current Sharing with Experimental Verification on 1 MHz GaN Prototype,” in 2020 22nd European Conference on Power Electronics and Applications (EPE’20 ECCE Europe), Sep. 2020, p. P.1-P.8. doi: 10.23919/EPE20ECCEEurope43536.2020.9215720. Elektromagnetna združljivost in funkcionalna varnost Urban Metod Peterlin1 Elektroinštitut Milan Vidmar, Hajdrihova 2, 1000 Ljubljana urban.peterlin@eimv.si 1 Electromagnetic compatibility and functional safety Abstract. Electrical and electronic devices are increasingly used in applications where reliable functionality is required. Electromagnetic compatibility and functional safety are becoming increasingly important. Just immunity testing are inadequate on their own. Existing safety and electromagnetic compatibility regulations and standards do not correctly address the issue of electromagnetic interference from the viewpoint of lifecycle safety. However, expertise from both disciplines - electromagnetic compatibility and functional safety have to be brought together. 1 Uvod Elektronske naprave se vse pogosteje uporabljajo na različnih področjih in pri procesih, pri katerih sta zahtevani njihova zanesljiva funkcionalnost in varnost. Nepogrešljive so v različnih varnostnih sistemih, prevoznih sredstvih, transportnih sistemih, pri nadzoru in avtomatizaciji tehnoloških procesov v industriji, upravljanju robotov, sistemih vodenja in zaščite pri proizvodnji, prenosu in distribuciji električne energije, obrambnih sistemih, medicini in zdravstveni negi. V izogib težavam, ki jih predstavljajo elektromagnetne motnje kot vzrok in elektromagnetno motenje kot posledica, je treba stremeti k zagotavljanju elektromagnetne združljivosti in zanesljive funkcionalnosti in varnosti naprav v okolju, v katerem delujejo skozi njihovo celotno življenjsko dobo, kar predstavlja poseben izziv. Namen zagotavljanja elektromagnetne združljivosti je zagotoviti zanesljivost in varnost vseh naprav oziroma sistemov, kjer koli se uporabljajo in so izpostavljeni različnim elektromagnetnim okoljem. Elektromagnetna združljivost je tesno povezana s celotnim področjem elektrotehnike od načrtovanja do preskušanja naprav in sistemov. Po definiciji [1] je elektromagnetna združljivost (ang. ElectroMagnetic Compatibilty - EMC) zmožnost opreme ali sistemov, da v svojem elektromagnetnem okolju delujejo zadovoljivo in ne vnašajo nedopustnih elektromagnetnih motenj ničemur v tem okolju. Vsaka električna ali elektronska naprava med delovanjem ustvarja svoje elektromagnetno okolje. Po definiciji [1] sestavljajo elektromagnetno okolje (ang. electromagnetic environment) vsi elektromagnetni pojavi, ki obstajajo na danem kraju. V splošnem velja, da je elektromagnetno okolje časovno odvisno. Elektromagnetna motnja (ang. electromagnetic disturbance) je po definiciji [1] ERK'2021, Portorož, 226-229 226 katerikoli elektromagnetni pojav, ki lahko poslabša delovanje naprav, opreme ali sistemov ali neugodno vpliva na živo ali neživo snov. Učinek, ki ga povzroči elektromagnetna motnja, je elektromagnetno motenje [1] (ang. ElectroMagnetic Interference - EMI), kar pomeni poslabšanje delovanja opreme, prenosnih kanalov ali sistemov. Za varno delovanje opreme pa ni dovolj samo zagotavljati elektromagnetne združljivosti, ampak je treba zagotoviti tudi funkcionalno varnost, katere namen je zagotoviti zanesljivo in varno delovanje električnih oziroma elektronskih naprav. Funkcionalna varnost (ang. Functional Safety - FS) je opredeljena kot del splošne varnosti sistema ali posamezne opreme, ki je odvisna od varnega delovanja električne ali elektronske opreme pri odzivu na njene vhodne signale. Funkcionalna varnost zagotavlja, da napake oziroma nepravilno delovanje sistema ali posamezne naprave ne povzročijo nesprejemljivega varnostnega tveganja za ljudi ali okolico [2]. Oprema mora biti zasnovana tako, da naprave delujejo varno oziroma, da v primeru človeške napake ali odpovedi kakšne komponente, ali v primeru prevelikega elektromagnetnega motenja, odpovejo varno, brez posledic za ljudi in okolico. Pristop pri doseganju funkcionalne varnosti je skrbno ovrednotiti zasnovo izdelka za primere poslabšanja funkcionalne varnosti ob prisotnosti elektromagnetnega motenja. Za primere, ko bi elektromagnetne motnje lahko povzročile nevarno delovanje opreme ali sistemov, je treba uporabiti posebne postopke načrtovanja in preskušanja. Treba je upoštevati raven varnosti opreme (ang. Safety Integrity Level - SIL) [3]. Poleg tega je treba razmisliti tudi o načrtovanju življenjskega cikla delovanja opreme in preskusiti izdelek, da zagotovimo, da deluje varno ali varno odpove. Pomembno je tudi dokazati, da sistem organizacije lahko zagotovi ustrezne kompetence človekovih virov za razvoj funkcionalne varnosti. V širši javnosti obstaja napačno splošno prepričanje, da je vse, kar je potrebno za uspešno spopadanje z elektromagnetnimi motnjami vgradnja oziroma nakup naprav, ki imajo oznako CE in so razglašene za skladne z Direktivo 2014/30/EU Evropskega parlamenta in Sveta. Nekateri razlogi, zakaj je takšno prepričanje napačno, so navedeni v članku [4], poleg njih pa so še dodatni razlogi povezani z zagotavljanjem funkcionalne varnosti, ki v omenjeni direktivi ni obravnavana [5]: • Direktiva o elektromagnetni združljivosti v besedilu nikjer ne uporablja besede "varnost". • Direktiva o elektromagnetni združljivosti zajema le normalno delovanje in ne zajema predvidljivih napak, ekstremov v okolju, napak upravljavca, • • 2 situacij vzdrževanja ali zlorabe - dejavnikov, ki so bistveni za funkcionalno varnost. Standardi, ki pokrivajo elektromagnetno združljivost in so usklajeni z direktivo o elektromagnetni združljivosti bodisi izrecno bodisi implicitno izključujejo varnostne vidike. Standardi, ki pokrivajo elektromagnetno združljivost in so usklajeni z direktivo o elektromagnetni združljivosti, pokrivajo omejeno število elektromagnetnih motenj. Obvladovanje tveganj zaradi elektromagnetnega motenja V prihodnosti je pričakovati pospešeno uporabo elektronskih naprav in sistemov na področjih, kjer sta ključni visoka zanesljivost in varnost [6]: • Razvoj avtonomnih vozil za povečanje udobja med vožnjo in zmanjšanja porabe goriva in izpustov emisij. • Uveljavitev 4. industrijske revolucije (ang. Industry 4.0) in družbe 5.0 (ang. Society 5.0), ki temelji na hitrem, fleksibilnem in dinamičnem proizvodnem procesu ob učinkoviti rabi surovin in energije. • Avtomatizirana medicinska diagnostika za izboljšanje zdravja in dobrega počutja. • Razvoj robotov za strežbo starejšim in invalidnim osebam. • Razvoj pametnega omrežja in malih enot za proizvodnjo energije iz alternativnih virov za zmanjšanje porabe in učinkovitejšo rabo energije v domovih, poslovnih prostorih in industriji. Elektronske naprave so zelo občutljive na elektromagnetne motnje zaradi [2]: • Zahtev po napravah, ki porabijo malo energije, in nenehnega tehnološkega napredka pri proizvodnji se posamezne komponente elektronskih naprav zmanjšujejo - postajajo kompaktnejše in cenejše ter delujejo pri zelo nizkih napetostih, kar posledično pomeni, da komunicirajo med sabo s šibkimi signali. • Povečane rabe brezžičnega prenosa podatkov, močnostnih naprav s hitrimi vklopi, elektromotornih pogonov s spremenljivo hitrostjo je okolje, v katerem elektronske naprave delujejo onesnaženo z elektromagnetnimi motnjami različnega izvora in frekvenčnega razpona od kHz do GHz. Naprave so zaradi tega nagnjene k nepravilnemu delovanju ali celo trajnim okvaram. Zagotoviti v elektromagnetnem okolju zadostno zanesljivost in varnost sistemov oziroma naprav v celotni življenjski dobi predstavlja zahtevno nalogo oziroma izziv. Za uspešno spopadanje z elektromagnetnim motenjem je treba vključiti posebno področje inženirske stroke oziroma obvladovanje tveganj zaradi elektromagnetnega motenja, ki mora upoštevati dognanja s področja funkcionalne varnosti in področja elektromagnetne združljivosti. Ti dve področji sta se v preteklosti razvijali povsem ločeno, zato nimata skupne konceptualizacije in 227 izrazoslovja. Med njima obstaja neusklajenost, kajti nobeno ne pokriva elektromagnetnega motenja z vidika celotne predvidene življenjske dobe opreme oziroma sistema. Elektromagnetna združljivost je področje elektrotehnike, ki zaradi množične uporabe različnih elektronskih naprav na različnih področjih postaja vedno bolj pomembno in nepogrešljivo. Pri zagotavljanju elektromagnetne združljivosti se preverja skladnost nove opreme oziroma sistemov z direktivo o elektromagnetni združljivosti. Skladnost se potrjuje s standardiziranimi postopki testiranja odpornosti opreme na posamezno določeno elektromagnetno motenje v kontroliranem okolju laboratorija. Standardi, po katerih se testira, ne določajo nobenega vidika pri zasnovi opreme. Obseg testiranja opreme temelji na ekonomsko tehničnem kompromisu in pokrije približno 90 % motenja, ki se običajno pojavi v določenem elektromagnetnem okolju [6]. Z vidika funkcionalne varnosti je takšen način neustrezen, kajti večina pravil in standardov, ki so harmonizirani z direktivo, ne obravnava v zadostni meri varnostne problematike, pri kateri je treba predvideti vse relativno predvidljive dogodke in situacije: • napake, ki se lahko pojavijo pri normalnem delovanju ali ob okvarah, • ekstremne parametre okolja, • človeške napake in napačno uporabo, • staranje opreme oziroma materialov, za celotno predvideno življenjsko dobo opreme oziroma sistema, da se ne bodo pojavila nesprejemljiva varnostna tveganja za varno in zanesljivo delovanje opreme in nevarnosti za ljudi in okolico. Postopki za zagotavljanje funkcionalne varnosti morajo vzeti v obzir vsako elektromagnetno motenje, ki se lahko pojavi v določenem okolju. Opredeliti je treba vsa možna tveganja za odpoved, ki se potem klasificirajo po kritičnosti, pogostosti in zmožnosti detekcije. Osnovni standard na področju zagotavljanja funkcionalne varnosti električnih, elektronskih in elektronsko programirljivih varnostnih sistemov je IEC 61508 zasnovan na osnovi analize tveganj, ki se lahko pojavijo zaradi elektromagnetnega motenja. Na tej podlagi so bili oblikovani številni produktni standardi. Standardi predvidevajo, da je treba za doseganje ustrezne ravni funkcionalne varnosti kontrolirati elektromagnetno motenje, vendar ne vsebujejo jasnih navodil, kako to izvesti. Iz navedenega sledi, da je treba za varno in zanesljivo delovanje opreme združiti izsledke obeh področij, kajti zgolj testiranje odpornosti opreme po standardiziranih postopkih tega ne zagotavlja. 3 Testiranje odpornosti opreme ne zagotavlja funkcionalne varnosti Testiranje odpornosti električnih in elektronskih naprav temelji na IEC/EN 61000-6-1 in 61000-6-2 oziroma testnih metodah, ki jih predpisuje serija standardov IEC/EN 61000-4-x. Razlogi, da je takšno ugotavljanje odpornosti na elektromagnetno motenje z vidika zagotavljanja funkcionalne varnosti neustrezno, so [7, 8]: • Hkrati se testira odpornost samo na eno določeno elektromagnetno motnjo. Kljub temu, da naprava pri testiranju uspešno prestane odpornost na določeno motnjo, je pri obratovanju izpostavljena več različnim motnjam hkrati in ima zaradi tega lahko zelo slabo odpornost. • Testiranje naprav je izvedeno v specializiranem laboratoriju ob simuliranju določenega elektromagnetnega okolja tako, da je zagotovljena določena točnost in ponovljivost testiranja, kar pa pogosto ne predstavlja predvidenega dejanskega okolja, v katerem bo naprava delovala. Testi se izvajajo s simuliranjem določenih oblik motenj, ki pogosto ne odražajo dejanskih. • Testi odpornosti so preveč enostavni oziroma splošni. Naprave se testirajo za določeno frekvenco motnje, kar ne pove dosti o dejanski odpornosti oziroma občutljivosti pri drugih frekvencah. V običajnem okolju je pogosto hkratno motenje z različnimi frekvencami. Upoštevati je treba tudi namerno povzročeno motenje. • Običajno se ne opravi analize tveganja, ki ga lahko povzroči elektromagnetno motenje. Z običajnimi testi odpornosti se simulira normalno oziroma pričakovano elektromagnetno okolje, niso pa upoštevani drugi vplivi (npr. bližina oddajnikov mobilne telefonije, elektromagnetne motnje manjše od 150 kHz in višje od 1 GHz, prenapetosti ob nevihtah). Dobra praksa pri zagotavljanju varnosti predvideva, da se opravi ocenjevanje nevarnosti in analiza tveganja, ki vključuje ocenjevanje elektromagnetnega okolja in možne posledice na opremo. • Pri običajnem testiranju odpornosti se ne upošteva varnosti delovanja opreme zaradi posamezne napake. Pri napravah se ocenjuje odpornost proti elektromagnetnim motnjam s tremi kriteriji, in sicer A (nemoteno delovanje med in po preskusu), B (dopuščeno moteno delovanje, ki pa se po prenehanju motenja samo popravi), C (moteno delovanje mora popraviti človek). Testiranje odpornosti naprave na posamezno napako (npr. slaba ozemljitvena povezava pri filtru, kratek stik, prekinitev tokokroga, vgradnja neoriginalne komponente v napravo, slabo spojeni opleti, poškodba elektromagnetnega zaslona) se ne izvede, če ni izrecno zahtevano. • Pri testiranju v laboratoriju niso upoštevani parametri, ki so prisotni v dejanskem okolju namestitve ter med transportom in skladiščenjem (npr. vibracije, vlaga, prah, ultravijolična svetloba, temperaturni ekstremi, temperaturno nihanje, korozija, nihanje napetosti), kar ima lahko velik vpliv na odpornost naprave (npr. slab električni kontakt, poslabšanje učinkovitosti zaslanjanja, poslabšanje filtriranja). • Testiranje se izvaja na novi opremi v kontroliranem okolju. Staranje posameznih komponent oziroma 228 • • • • • • materialov ni upoštevano pri testiranju odpornosti. Slaba zasnova okolja, v katerem bo oprema delovala, lahko sčasoma privede do korozije, kar posledično lahko zmanjša učinkovitost zaslanjanja in zmanjšuje odpornost opreme. Opravi se samo tipski preskus opreme, kar pa ne zagotavlja, da bodo tudi vsi drugi kosi opreme uspešno prestali testiranje, čeprav so izdelani v istem podjetju. Proizvajalci pri testiranju opreme običajno sami snujejo testne postopke. Če oprema ne prestane testiranja uspešno, spreminjajo zasnovo, dokler test ni uspešen. Takšen način testiranja ni pravi pokazatelj odpornosti opreme, kajti oprema je lahko prestala testiranje zaradi dobre zasnove ali pa zgolj ugodnega spleta okoliščin. Tipski preskus opreme ne zagotavlja, da bo uspešno prestala testiranje tudi oprema z manjšimi spremembami posameznih komponent (npr. različen potek kablov) ali majhne spremembe v strojni in programski opremi. Napake pri proizvodnji opreme niso upoštevane. Standardi na področju zagotavljanja varnosti za razliko od standardov na področju elektromagnetne združljivosti vsebujejo zahteve za rutinsko testiranje vsakega proizvedenega kosa opreme za preveritev ali morebitne napake pri proizvodnji izdelka ne vplivajo na njegovo varnost. Poslabšanje delovanja posameznega kosa opreme, ki je pri testiranju odpornosti na podlagi standardov s področja elektromagnetne združljivosti sprejemljivo, na področju zagotavljanja varnosti celotnega sistema lahko povzroči varnostno tveganje. Običajno se pri testiranju opreme testirajo posamezni sestavni deli in ne celotnega sistema. Za posamezen sestavni del opreme je lahko kratkotrajno sprejemljiva nezadostna odpornost na določeno motenje, ni pa sprejemljiva za varnost sistema. Oprema se običajno testira na določeno maksimalno raven odpornosti. Elektronske naprave so nelinearne sestavljene iz kompleksnih tokokrogov in programske opreme, zato lahko uspešno prestanejo testiranje na neko maksimalno vrednost, hkrati pa lahko delujejo moteno ali celo odpovejo pri testiranju na nižjo raven odpornosti. Nekateri standardi predvidevajo testiranje odpornosti opreme od nižjih ravni do maksimalne. Na splošno so bolj verjetne nižje ravni elektromagnetnih motenj kot pa maksimalne, zato se lahko pojavi situacija, da je oprema odporna na motnje, ki se pojavijo redko in občutljiva pri tistih, ki so bolj verjetne. Postavljene so neustrezne ravni združljivosti. Pri napravah za splošno rabo velja, da je dosežena ustrezna raven združljivosti pri tistih napravah, ki v 95 % prestanejo teste odpornosti. Pri sistemih, kjer je treba upoštevati tudi varnostni vidik, je treba z vsaj 99,9 % verjetnostjo zagotoviti, da motnje ne bodo povzročile okvar. Testiranje na podlagi standardov s področja zagotavljanja elektromagnetne združljivosti ne upošteva vzdrževanja, popravila, obnove in nadgradnje opreme. V praksi je treba opremo v času njene življenjske dobe čistiti, vzdrževati, popravljati, obnavljati in nadgrajevati. Nekateri od teh postopkov so vključeni kot dobra inženirska praksa na področju zagotavljanja varnosti v standardih, ki obravnavajo varnostne vidike. 4 Postopki na področju elektromagnetne združljivosti, potrebni za zagotavljanje funkcionalne varnosti Dodatno pozornost je treba nameniti zasnovi in sestavljanju posameznih komponent, temeljiti proučitvi razumne življenjske dobe in elektromagnetnega okolja, ker se ne moremo opreti samo na testiranje odpornosti. Zadostna varnost v delovanju opreme mora biti zagotovljena skozi celotno življenjsko dobo delovanja opreme, zaradi tega je treba upoštevati, da se bodo med življenjsko dobo opreme v elektromagnetnem okolju pojavili različni mehanski, klimatski, kemijski in biološki pogoji, poleg tega pa še predvidljive napake, okvare in staranje opreme [7]. Odpornost posameznega sestavnega dela opreme na elektromagnetno motenje je odvisna od zasnove tokokrogov in dejanske sestave posameznih komponent v celoto ter od uporabljene programske opreme. Varnost in zanesljivost pri delovanju opreme oziroma sistema zagotovimo z [7]: • Konstrukcijsko zasnovo in ukrepi za blažitev motenja (npr. vgradnja filtrov, zaslanjanje, prenapetostna zaščita). Pri vgradnji filtrov je treba zagotoviti zanesljivo ozemljitveno povezavo, ki se zaradi vibracij ne bo razrahljala oziroma prekinila. Zaslanjanje mora biti izvedeno zanesljivo tako, da nanj ne vplivajo naključni tresljaji in vibracije. Izbrani materiali morajo biti odporni proti koroziji in procesom staranja med predvideno življenjsko dobo. • Testiranjem občutljivosti opreme tako, da se odstrani vgrajene ukrepe za blažitev motenja. Na ta način se ugotovi, pri katerih frekvencah motenj je oprema še posebej občutljiva ter se na podlagi takšnega ciljanega pristopa zasnujejo dodatni ukrepi za blažitev motenj ter večjo zanesljivost in varnost delovanja opreme. • Vgradnjo ustrezne zaščite, ki spremlja oziroma nadzira delovanje in v primeru, ko zabeleži preveliko elektromagnetno motenje, zagotovi varen izklop ali pa preklop v varen način. • Večplastnim pristopom oziroma izvedeno redundanco pri snovanju ukrepov za blaženje motenj (npr. več različnih virov napajanja, več ozemljitvenih povezav, večplastno zaslanjanje). • Izdelavo elektronskih naprav, ki imajo vgrajene komponente z več redundantnimi kanali, ki so izdelani na podlagi različnih tehnologij. Posamezna motnja namreč lahko povzroči nepravilno delovanje na določenem kanalu, na drugem drugačne tehnologije pa ne. • Zamenjavo klasičnih vodnikov z optičnimi. • Zunanjo presojo razvoja izdelka in organizacije. 229 5 Zaključek Skladnost z direktivo o elektromagnetni združljivosti ni zagotovilo, da posamezne elektromagnetne motnje ne povzročajo motenja pri delovanju določene električne ali elektronske opreme ali da ni varnostnih tveganj zaradi nezadostne zagotovitve elektromagnetne združljivosti. Za zagotovitev zadostne ravni elektromagnetne združljivosti tudi z vidika funkcionalne varnosti je treba temeljito proučiti elektromagnetno okolje, v katerega bo oprema vgrajena, ter na podlagi analize okolja izbrati oziroma ustrezno zasnovati opremo in postopke testiranja tako, da bo varno in zanesljivo delovala skozi celotno predvideno življenjsko dobo. Med proizvodnim procesom mora potekati ustrezen nadzor, ki mora biti skrbno zasnovan in premišljen, kajti že manjše na prvi pogled nebistvene spremembe v proizvodnem procesu posamezne komponente imajo lahko znatne posledice na odpornost opreme. Sestavljanje posameznih komponent v celoto in montaža opreme oziroma sistema v predvideno okolje morata biti izvedena pod nadzorom in v skladu z dobro moderno inženirsko prakso. Med življenjsko dobo opreme je treba opravljati kontrolo - monitoring. Literatura [1] SIST IEC 60050(161):1999 - Mednarodni elektrotehniški slovar – Poglavje 161: Elektromagnetna združljivost International Electrotechnical Vocabulary - Chapter 161: Electromagnetic Compatibility [2] D. Pissoort, K. Armstrong: Techniques and Measures to Manage Risks with Regard to Electromagnetic Disturbances, Proceedings EMC+SIPI 2018, 30. July - 3. Avgust 2018, Long Beach, California, USA [3] K. Armstrong: Including EMC in Risk Assessments, Proceedings IEEE 2010 International Symposium on EMC, 25.-30. July, 2010, Fort Lauderdale, Florida, USA [4] U. M. Peterlin: Zagotavljanje elektromagnetne združljivosti v elektroenergetskem objektu, Zbornik osemindvajsete mednarodne Elektrotehniške in računalniške konference ERK 2019, 23. - 24. September 2019, Portorož, Slovenija [5] Spletna stran EMC for Functional Safety, Najdeno dne, 3. maja 2021 na spletnem naslovu: https://croydonservice.com/railway-emi-emc/emc-forfunctional-safety/ [6] D. Pissoort, A. Degraeve, K. Armstrong: EMI Risk Management: a Necessity for Safe and Reliable Electronic Systems!, IEEE 2015 5th International conference on Consumer Electronics, 6. – 9. September 2015, Berlin, Germany [7] K. Armstrong: Why EMC Testing is Inadequate for Functional Safety – and What Should be Done Instead, Proceedings 1st IET International Conference on System Safety, 6. - 8. June 2006, London, UK [8] K. Armstrong: Introduction to EMC for Functional Safety, EMC-UK 2004 Conference, 12. - 13. October 2004, Newbury, UK Izbira materialov za visokoučinkovite distribucijske transformatorje Mislav Trbušić1, Igor Lugarič2, Marko Jesenik1, Mladen Trlep1 in Anton Hamler1 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor, Slovenija 2 Kolektor Etra d.o.o., Šlandrova ulica 10, 1231 Ljubljana-Črnuče, Slovenija E-pošta: mislav.trbusic@um.si transformatorju. Analiza zajema uporabo različnih materialov in njihov vpliv na končno ceno oziroma strošek transformatorja. Material selection for high-efficiency distribution transformers Abstract. In order to limit CO2 emissions and reduce the environmental impact of the energy facilities, the European Commission issued Regulation (EU) No. 548/2014 with application of Council Directive 2009/125/ES, which define maximum loss values for small, medium and large power transformers more strictly. Currently, the first stage of the Directive is in force, but after 1.7.2021, the second stage will take place, involving high-efficiency distribution transformers. Such measures require a new approach in the design of the transformers and the use of high-quality electric and magnetic materials. The article analyzes the impact of the Directive to distribution transformers from design and economical aspects, where a case study was carried out involving a three-phase transformer 400 kVA - 21/0,42 kV. 1 2 Nivoji izgub oljnih transformatorjev Maksimalne izgube oljnih transformatorjev so s stališča projektiranja in fizikalnih zmožnosti materialov bile določene v standardu EN 50464-S1 (2007) in sicer tako, da so izgube prostega teka bile razdeljene v 5 nivojev (A0 do E0 ), kratkostične izgube pa v 4 nivoje (Ak do Dk). V skladu s smernicami držav Evropske unije, predvsem v smislu doseganja cilja 20/20/20, je bilo potrebno izgube podane v EN 50464-S1 (2007) ponovno opredeliti, kar je storjeno z uredbo Evropske komisije št. 548/2014 o izvajanju Direktive 2009/125/ES. Uvod Energetski transformator, kot ključen element pri prenosu električne energije s svojimi karakteristikami vpliva tako na tehnično kot na ekonomsko in okoljevarstveno plat obratovanja elektroenergetskega sistema, zato je pri načrtovanju transformatorja potrebno upoštevati vse tri omenjene dejavnike [1]. V splošnem je optimalni dizajn dosežen, ko so tehnične zahteve zagotovljene pri najnižjih stroških, v katere je zajeta nabavna cena transformatorja in obratovalni ter vzdrževalni stroški v pričakovani življenjski dobi, ki je med 30 in 40 let [2]. Zaradi vse večjih izzivov povezanih z učinkovito rabo energije, zaščito okolja in omejitvijo izpusta toplogrednih plinov, sta Evropski parlament in Svet izdala Direktivo 2009/125/ES, ki predpisuje dopustni nivo prostotečnih in kratkostičnih izgub glede na tip in moč transformatorja. Izgube so kategorizirane v tri osnovne skupine A, B, in C, pri tem skupina A predstavlja najnižje, skupina C pa najvišje izgube. Proizvajalci transformatorjev, ki želijo svoje izdelke ponujati na EU tržišču, so dolžni upoštevati odredbe komisije. Tako morajo vsi transformatorji izdelani od 1.7.2015 do 1.7.2021 dosegati minimalni nivo izkoristka, določen s prvo stopnjo uredbe (TIER 1), po 1.7.2021 pa nastopa druga stopnja (TIER 2), po kateri bo potrebno izkoristke še izboljšati [3, 4]. V članku je obravnavan vpliv te Direktive na dizajn srednje velikih distribucijskih transformatorjev moči < 3150 kVA in napetostnega nivoja < 24 kV, kjer bo študijski primer predstavljen na 400 kVA ERK'2021, Portorož, 230-233 230 Tabela 1: Najvišje kratkostične izgube (Pk) in izgube prostega teka (P0) (v W) za trifazne transformatorje srednjih moči potopljene v tekočino z enim navitjem z Um < 24 kV in drugim navitjem z Um < 1,1 kV [3] Stopnja 1 (TIER1) od Stopnja 2 (TIER2) od 1.7.2015 1.7.2021 Sn Pk (W) i) P0 (W) i) Pk (W) i) P0 (W) i) (kVA) (Bk , Ck) (A0) (Ak) (A0 –10 %) < 25 900 ii) 70 600 63 50 1100 ii) 90 750 81 100 1750 ii) 145 1250 130 160 2350 ii) 210 1750 189 250 3250 ii) 300 2350 270 315 3900 ii) 360 2800 324 400 4600 ii) 430 3250 387 500 5500 ii) 510 3900 459 630 6500 ii) 600 4600 540 800 8400 ii) 650 6000 585 1000 10500 ii) 770 7600 693 1250 11000 iii) 950 9500 855 1600 14000 iii) 1200 12000 1080 2000 18000 iii) 1450 15000 1305 2500 22000 iii) 1750 18500 1575 3150 27500 iii) 2200 23000 1980 i) Najvišje izgube za nazivne vrednosti v kVA, ki se uvrstijo med nazivne vrednosti v Tabeli 1, se določijo z linearno interpolacijo. ii) Vrednosti izgub se nanašajo na nivo Ck. iii) Vrednosti izgub se nanašajo na nivo Bk. Z Direktivo so v prvi fazi (TIER 1 ali stopnja 1) izločeni najvišji nivoji izgub, za prostotečne izgube je obdržan le najnižji nivo A0, medtem ko so za kratkostične izgube dopustna nivoja Bk in Ck, prva stopnja je bila v veljavi do 1.7.2015. Druga stopnja določena z Direktivo (TIER 2), je nastopila 1.7.2021 kjer je v veljavi le najnižji nivo kratkostičnih izgub Ak, maksimalne dopustne izgube prostega teka, pa je potrebno znižati za 10% oz. je potrebno upoštevati A0 - 10% [3-5]. Za nazornejši pregled predpisanih maksimalnih izgub oljnih transformatorjev srednjih moči (Sn < 3150 kVA in Um < 24 kV), so vrednosti podane v tabeli 1. 3 Ekonomsko ovrednotenje transformatorja Ekonomsko ovrednotenje transformatorske enote ima močan vpliv na izgube transformatorja in praviloma so le-te določene na podlagi evalvacijskih faktorjev, ki opredeljujejo vrednost izgub v prostem teku X in pod obremenitvijo Y. Evalvacijska faktorja X in Y sta določljiva prek enačb (1) in (2) z upoštevanjem cene električne energije - d [€/kWh], stopnja inflacije – i [%], povprečne rasti cene električne energije - p [%], časa obratovanja - TN [h], povprečna obremenitev transformatorja - γ [p.u.] in pričakovane življenjske dobe – n [let]. S takšnim pristopom kupec proizvajalcu sporoči, koliko je pripravljen plačati za znižanje vsakega vata izgub [2]. 𝑋= 𝑝 𝑛 ) − 1] 100 102 , 𝑛 𝑖 (1 + ) 𝑝 100 𝑇𝑁 𝑑 [(1 + 𝑌 = 𝛾2 𝑋 , [€/W] [€/W] , [€] (4) Količina vgrajenega materiala v navitjih in jedru, oziroma konstrukcija aktivnega dela transformatorja je direktno povezana z izgubami. Izkaže se, da se optimalni dizajn dvonavitnega transformatorja lahko poišče z variacijo petih konstrukcijskih parametrov, ki so: B – gostota magnetnega pretoka v jedru [T], Ds – premer magnetnega jedra [mm], 𝑔1 – tokovna gostota v NN navitju, 𝑔2 – tokovna gostota v VN navitju, bg – geometrijska višina navitij [mm], [6]. Slika 1 kaže transformatorsko okno in principielno geometrijsko postavitev navitij ene faze, na podlagi katere se z upoštevanjem izgub, kratkostične napetosti (𝑢𝑘 ) in nekaterih konstrukcijskih omejitev, lahko določi optimalno geometrijo oziroma maso transformatorja. Podrobnejše zahajanje v tematiko projektiranja transformatorja presega okvir tega članka, zato bodo v nadaljevanju podani le rezultati analize. (1) (2) Celoten strošek transformatorske enote v življenjski dobi je tako seštevek nabavne cene transformatorja in stroška, ki ga predstavljajo izgube (3). Ker se v tuji literaturi zanj pogosto uporablja izraz »Total Owning Cost« ali krajše TOC, bo tudi tukaj uporabljena ta oznaka. Najbolj ekonomična izbira transformatorja je tista, pri kateri je TOC najmanjši [2]. 𝑇𝑂𝐶 = 𝐶𝑡𝑟 + 𝑋 𝑃0 + 𝑌 𝑃𝑘 , 𝐶𝑡𝑟 = 𝑐𝑡𝑟 𝑚𝑡𝑟 [€] (3) Enačbe (1)-(3) imajo splošno veljavo in se v praksi najpogosteje uporabljajo za določitev izgub transformatorja po t.i. evalvacijski ceni, ker pa so po Direktivi uredbe izgube podane, bo izraz (3) uporabljen le za ekonomsko ovrednotenje transformatorja [2]. Proizvodna cena transformatorja je v principu določena na podlagi stroškov vgrajenega materiala, stroškov dela in marže. Po zakonitostih ekonomike gradnje, je cena vgrajenega materiala sorazmerna masi transformatorja, zato je za kvalitativno oceno, smiselno izraziti ceno transformatorja (4) kot produkt specifične cene – ctr [€/kg] in mase transformatorske enote – mtr [kg], saj se za določen tip in napetostni nivo specifična cena transformatorja spreminja v zelo ozkih mejah in lahko privzamemo, da je konstanta. 231 Slika 1: Razporeditev navitij v transformatorskem oknu s pripadajočimi oznakami, kjer indeks 1 označuje NN navitje, indeks 2 pa VN navitje V skladu z Direktivo 2009/125/ES oz. z upoštevanjem izgub v tabeli 1, bodo proizvajalci transformatorjev morali prilagoditi konstrukcijo serijskih distribucijskih transformatorjev tako, da bodo v pogledu izkoristka ustrezali novim, strožjim zahtevam. Z namenom ocene vpliva prihajajočih zahtev na dizajn transformatorja je bila opravljena tehnično-ekonomska analiza, v kateri je bil zajet transformator moči 400 kVA in napetostne prestave 21/0,42 kV. Osnovni cilj analize je številčno ovrednotenje ekonomskih učinkov Direktive z upoštevanjem vpliva uporabe različnih materialov pri izdelavi. Vpliv nižjih izgub na konstrukcijo transformatorja 4 Analiza vpliva nižjih izgub na konstrukcijo in ekonomiko transformatorja je bila narejena za primer 400 kVA - 21/0,42 kV transformatorja, znotraj katere so bile zajete štiri skupine konstrukcij, ki so vključevale uporabo različnih materialov v navitjih in jedru. Vsaka podana rešitev je rezultat optimizacijskega postopka in predstavlja konstrukcijo transformatorja z najnižjimi stroški znotraj skupine. Posamezna skupina je okarakterizirana z uporabljenim materialom v navitjih in jedru, kjer je material v navitju baker ali aluminij, material v jedru pa lasersko obdelana magnetna pločevina z različnim nivojem izgub in debelino lamel (Tabela 2). Za ekonomsko ovrednotenje oz. za določitev faktorjev X in Y so bili privzeti sledeči parametri: n=40 let, Tn=8760 h, i=2 %, p=2 %, γ=0,4 p.u., d=0,07 €/kWh. nova generacija transformatorjev težja. Na podlagi obravnavanega primera je na sliki 4 pokazano, da se masa transformatorjev poveča za približno 45%, kar je v skladu z ugotovitvami v [5]. Tabela 2: Tehnični podatki za skupine transformatorskih konstrukcij vključenih v analizo Naziv Enota Cu 85H23 Cu 90H27 Al 90H27 Sn [kVA] Un [V] 420/21000 uk [%] 4 P0 [W] 387 Pk [W] 3250 Al 85H23 400 Slika 2: Rezultati analize izbire najprimernejše konstrukcije 400 kVA-21/0,42 kV transformatorja v skladu z TIER 2 (stopnjo 2) Direktive 2009/125/ES Cu Al Al 8,3 8,3 3 3 Material v jedru 85H 90H 90H 85H [€/kg] 2,8 2,6 2,6 2,8 Specifične izgube @ 1,5 T [W/kg] 0,73 0,76 0,76 0,73 0,23 0,27 0,27 0,23 Debelina lamele [mm] X [€/kW] Y [€/kW] 16774 2683 Na sliki 2 so prikazane optimalne rešitve za posamezne skupine v skladu z delom Direktive, ki se nanaša na najnižje izgube (TIER 2), iz katerih je razvidno, da je najbolj ekonomično izbrati konstrukcijo z bakrenimi vodniki in kvalitetnejšo tanjšo pločevino. Varianta z aluminijem se v tem primeru izkaže za neekonomično. Z namenom primerjave, je v smislu nabavne cene, TOC-a in mase transformatorja podan kronološki razvoj transformatorjev glede na predpisane izgube (Tabela 3, Slika 3 in Slika 4). Na sliki 3 je razvidno, da se bo z upoštevanjem novih, strožjih omejitev maksimalnih dopustnih izgub (TIER 2), nabavna cena transformatorja povečala za približno 50%, kar je z investicijske plati občutna podražitev, vendar pa ima to le majhen vpliv na stroške transformatorja v življenjski dobi, ki se povečajo za 2,5%, kar predstavlja relativno majhno spremembo. Zaradi nižjih izgub, pa je smiselno pričakovati, da bo 232 Tabela 3: Tehnični podatki in ekonomski pokazatelji razvoja 400 kVA – 21/0,42 kV transformatorja glede na zahteve po nižanju izgub Enota Cu [€/kg] Naziv Material v navitju X [€/kW] Y [€/kW] P0 Pk [W] [W] EN 50464S1 (2007) TIER 1 (stopnja 1) TIER 2 (stopnja 2) do 1.7.2015 1.7.20151.7.2021 od 1.7.2021 16774 2683 630 i) 4600 i) i) 430ii) 387 4600 ii) 3250 1430 ii) 2070 mtr [kg] 1410 cena [€] 10500 11500 17200 TOC [€] 33600 31000 31750 i) Povzeto iz vira [7] , ii) povzeto iz vira [8]. druge stopnje Direktive 2009/125/ES (po 1.7.2021) praktično ne bo več aktualna zaradi prevelikih stroškov proizvodnje, enako velja za uporabo magnetnih pločevin slabše kvalitete, ki bodo z novimi ukrepi izrinjene iz konstrukcij serijskih distribucijskih transformatorjev. Literatura Slika 3: Primerjava nabavne cene in stroškov transformatorja glede na kronologijo omejevanja najvišjih dopustnih izgub Slika 4: Masa 400 kVA -21/0,42 kV transformatorja z različnimi izgubami 5 Ugotovitve Na podlagi rezultatov opravljene analize lahko sklepamo, da bo zaradi zahtev po nizkih izgubah v prihodnjo generacijo serijskih distribucijskih transformatorjev vgrajeno bistveno več materiala. Izračuni kažejo, da se bo teža novih transformatorjev povečala približno za 45%. Čeprav se bo nabavna cena zvišala proporcionalno z maso, pa ta ne bo bistveno vplivala na celotne stroške transformatorja v predvideni življenjski dobi. Rezultati prav tako nakazujejo, da bosta pomembno vlogo v aktivnem delu transformatorja imela baker in kvalitetna lasersko obdelana magnetna pločevina. Uporaba aluminija v navitjih z nastopom 233 [1] F. Ferrari, »ECODESIGN- Impact of the Directive on materials used and the construction techniques of power transformers«, Proceedings of My Transfo 2018, Torino, 2018. [2] »Transformer handbook 3th ed.«, ABB, 2007. [3] Evropska komisija, »UREDBA KOMISIJE (EU) št. 548/2014 o izvajanju Direktive 2009/125/ES Evropskega parlamenta in Sveta glede majhnih, srednjih in velikih transformatorjev«, Uradni list Evropske unije, 2014. [4] M. Sacotte, »How to optimise the cost of transformer use and save money«, Transformers Magazine, Vol. 6, Issue 3, 2019. [5] K. Pongrašić, J. Kralj, D. Trstoglavec in M. Mikulić, »Ekološki dizajn distributivnih transformatora prema uredbi komisije (EU) Br. 548/2014 i Europskoj normi HRN EN 505881:2017«, 6. (12.) Savetovanje elektrodistribucijske konferencije-HO CIRED, Opatija, 2018, SO1-01. [6] A. Dolenc, »Transformatorji«, Učbenik, Univerza v Ljubljani - Fakulteta za elektrotehniko, Ljubljana, 1970. [7] Tehnični katalog Etra 33, Energetski transformatorji d.d. – Distribucijski transformatorji, serije HT3, 6HT3/6VT3 in VT, Ljubljana, 2003 [8] Tehnični katalog Kolektor Etra – Distribucijski transformatorji, serija 7HTI polnjeni z mineralnim oljem, Ljubljana, 2015 An Impact of Spinning Reserve on the Number of Solutions in the Unit Commitment Problem Izudin Softić1, Samed Bajrić2 , Nedžmija Demirović1, Emina Hrvić1, Amila Brčaninović1 1 2 Faculty of Electrical Engineering, University of Tuzla, Tuzla, Bosnia and Herzegovina Jozef Stefan Institute, Laboratory for Open Systems and Networks, Ljubljana, Slovenia E-mail: izudin.softic@untz.ba Abstract. The growing demand for electricity has pushed today's power systems to their safety limits. Under such working conditions, the probability of disturbances has become higher and more likely. Disturbances caused by an imbalance between electricity generation and consumption lead to a deviation of the characteristic values from the nominal values and can lead to a complete or partial collapse of the power systems. To maintain the security of the power system, it is necessary to ensure an adequate level of spinning reserves (SR) in the power system. This paper presents a new approach to reduce the number of solutions in the unit commitment problem (UC) by applying variations with repetition in considering the impact of SR on the security of the power system. The results obtained show a reduced number of solutions and a faster computation time compared to the case when the SR is not considered. The UC problem aims to minimize the total production cost over the scheduling horizon, taking into account all constraints. Moreover, the total production cost includes fuel costs associated wiht the operation of the thermal units, as well as start-up and shutdown costs. In this sense, the general form of the UC problem can be described as follows: T min FTC  N    F ( t )  u (t )  SC ( t )  v ( t )  i i i i (1) t  i i 1 where: i : Index of thermal unit t : Hour index FTC : Total production cost Fi (t ) : Fuel cost for thermal unit i at hour t ui (t ) : i-th thermal unit status at hour t (ON: ui (t )  1 ; OFF: ui (t )  0 ) 1 Introduction In any power system, the main problem is a balance between production and consumption at all times, which makes the management of the power system very complicated. At the same time, the complexity of the power system is increasing, and decision-making at the economic and technical level is becoming more and more difficult. Electricity consumption is increasing year by year, which gives the power system an increasingly important role in modern society. To ensure the security of the system from unforeseen changes in consumption and unplanned outages of thermal units, it is necessary to ensure an adequate level of SR in the system. Since the primary goal in solving the UC problem is to minimize the total cost, this may indirectly lead to a reduction in the SR of active power, which is necessary to take corrective safety measures (both in quantitative terms and in terms of appropriate spatial distribution). The most commonly used methods for solving UC problems are list priority methods [1], dynamic programming method [2], Lagrange relaxation problem [3], Benders decomposition [4]. Some results also include some heuristic methods such as neural networks [5], genetic algorithms [6], and fuzzy logic [7]. ERK'2021, Portorož, 234-237 2 UC problem formulation 234 SCi (t ) : Start-up cost for thermal unit i vi (t ) : i-th thermal unit start-up/shutdown status at hour t (if the thermal unit started vi (t )  1 , otherwise vi (t )  0 ) N : Number of thermal units T : Scheduling horizon The production costs of thermal units show the economic quantification of the MWh produced and are mainly composed of the fuel costs and the operation and maintenance costs incurred in daily operation. For a thermal unit i in a period t, the production cost can be represented as a quadratic function of the output power Pi (t ) produced in that period: Fi (t )  ai  bi Pi (t )  ci Pi 2 (t ) (2) where ai, bi and ci are cost coefficients of the i-th thermal unit. The start-up costs in thermal units change from some of the highest values when the thermal units start from a completely cold state to considerably lower values when the start-up occurs after the thermal units have cooled down for a short time. In other words, the start-up cost is a function of the boiler cooling time of the boiler and can be presented mathematically in the form  hc : T off  X ioff (t )  Tioff  csi SCi (t )   i i off off cci : X i (t )  Ti  csi where: Tioff : Minimum down time of i-th thermal unit (3) X ioff (t ) : Continuous offline period of i-th thermal unit at hour t hci : Hot start-up cost of i-th thermal unit cci : Cold start-up cost of i-th thermal unit csi : Cold start-up hours of i-th thermal unit Note that if the number of hours less than csi we use hot start-up costs otherwise we use cold start-up costs. In solving the complex UC problem, a few different constraints must be satisfied over a specified short-term period such that the total cost is minimized as follows:  System power balance – the demand power PD (t ) at hour t should be equal to the sum of the power output of all thermal units and is given by N  P (t )  P (t ) i D (4) i 1  Spinning reserve – it is an unused part of capacity of thermal unit that is in operation, which can be activated almost immediately (about 10 minutes) in case of problems in the power system, subject to the following conditions N P i max (t )  ui (t )  PD (t )  SR (t ) t  T (5) distribution due to the extremely large number of possible combinations. The number of combinations of the power generation distribution can be calculated using variations with repetition. Using variations with repetition, we calculate the number of distributions of n different elements at k places, where all elements can be repeated. Moreover, the daily load diagram is characterized by large differences between the minimum and maximum loads, although an attempt is made to keep the load as uniform as possible. At any given time, the production of the thermal unit must be high enough to cover the load. This means that only a small number of variations with repetitions is useful, due to the load's inability to reach its value and the constraints associated with the minimum operating time after start-up and the minimum pause time after shutdown of the thermal units. Since the operating status of the i-th thermal unit at hour t (ON = 1;OFF = 0) is used in solving the UC problem, we have n = 2, while the total number of repeating variations for an hour period is defined by the expression 0 0  ,  0 0 0 ... 0 1  ,..., 1 1 1 ...1 1  000...    1 (4.6) Table 1. Initial solution i 1  Minimum up/down time - once a thermal unit is started up/down, it should not be shutdown/run up until a minimum up/down time has been met, and it is expressed as  Tion  X ion (t ) (6)  off off Ti  X i (t )  Output limit of thermal units – each thermal unit shall operate within its operating limits between minimum and maximum power output Pi min  Pi (t )  Pi max (7) Having defined the UC problem together with the function of total production cost (1), its components (2) and (3), as well as various constraints (4) – (7), it is neccessary to choose an appropriate method for solving the UC problem. 3 Solution methodology Due to the large number of thermal units with different properties as well as the system dynamics, this is a very complex optimization task. Therefore, research efforts are focused on finding a suitable suboptimal solution to the problem UC that is applicable to real systems, and has moderate computational time and computational resources requirements. Without the use of an optimization algorithm, it is practically impossible to determine the optimal 235 2k 2 In order to obtain an optimum or suboptimal solution, the initial solution of the problem is represented by a binary matrix of dimension T x N where all thermal units are assigned the value 1 (all thermal units are ON) as shown in Table 1. 1 2 3 T 1 1 1 1 2 1 1 1 3 1 1 1 1 1 1 N 1 1 1 1 1 1 1 1 1 1 1 1 1 Each row vector in the above matrix is representative of the corresponding operating state of a thermal unit in the time interval T and indicates the number of thermal units for which the economic dispatch (ED) is performed. Note that the solution procedure includes the problem ED as a subproblem. That is, for each given row vector, the respective subset should be operated in an optimal economic manner. In this way, the minimum operating cost for that subset can be determined. The fmincon solver from MATLAB software is used to solve the ED problem. Further details can be found in [8]. In the first hour, after the process ED, a low-cost solution is adopted and replaced in the first row of the initial solution matrix. Then, it must be checked whether the assumed solution is applicable or not due to all the given constraints. If the solution is applicable, the ED process is continued and run for the second hour. A cost effective solution is adopted and replaced in the second row of the original solution matrix. Again, it has to be checked whether the given solution is applicable or not. This process is repeated for all the hours of the given time interval T. If the solution is not applicable for a given hour, it is replaced by the first solution with higher cost (suboptimal solution) for that hour and so on until an applicable solution is obtained. Upon completion of this above process, the following information remains stored: a) minimum production cost to reach a certain final state, starting from the initial state b) indicator of the balance of the previous hour, which caused the lowest total cost in the transition to the current state c) series whose elements indicate the times that the thermal units have been continuously in operation or out of operation for a given path. The third information is used to check the time criteria (minimum up/down). Finally, the path with the lowest cost in the last hour of the considered time horizon is the best solution. operation. Using variations with repetition, where n = 2 (operating status {0,1} of a thermal unit) and k = 10 (the number of thermal units), the total number of combinations we need to try for each hour is V210  210  1024 variations with repetition 1111111111 0000000000  ,  0000000001 ,...,     1 1024 Since most of the above variations are not applicable to a power system use due to impossibility of loading, Table 3 shows the number of variations with repetition that are applicable in the power system use for different loads occurring in a system without [9] and with SR (10% of total load in the power system). Table 3. Number of variations with repetition (without and with SR) 4 Results To illustrate the efficiency of the proposed method, testing was performed on a test system with 10 units, whose data are given in Table 2 using 24-hour scheduling time horizon [6]. The load on the power system varies continuously with time, which means that the optimal combination of thermal units that must be in operation to meet consumer demand is also variable over the time period under consideration. This period is usually divided into time intervals of one hour, as shown in Figure 1. Figure 1 Discredited time interval of 24 hours Before any of the expected loads occur, the corresponding thermal unit must be synchronized with the transmission network to cover them with the required SR, which is a safety factor in the system Table 2. Thermal units parameters Thermal Units No. 1 2 3 4 5 6 7 8 9 10 2 Hour Load (MW) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 700 750 850 950 1000 1100 1150 1200 1300 1400 1450 1500 1400 1300 1200 1050 1000 1100 1200 1400 1300 1100 900 800 Number of variations with repetition without with SR SR 671 602 623 525 498 390 359 276 314 242 242 176 222 138 187 102 121 42 53 9 34 4 18 1 53 9 121 42 187 102 276 209 314 242 242 176 187 102 53 9 121 42 242 176 422 329 564 455 ai bi ci Pimin Pimax Tion Tioff hci cci csi 1000 970 700 680 450 370 480 660 665 670 16.19 17.26 16.60 16.50 19.70 22.26 27.74 25.92 27.27 27.79 0.00048 0.00031 0.00200 0.00211 0.00398 0.00712 0.00079 0.00413 0.00222 0.00173 150 150 20 20 25 20 25 10 10 10 455 455 130 130 162 80 85 55 55 55 8 8 5 5 6 3 3 1 1 1 8 8 5 5 6 3 3 1 1 1 4500 5000 550 560 900 170 260 30 30 30 9000 1000 1100 1120 1800 340 520 60 60 60 5 5 4 4 4 2 2 0 0 0 236 Initial state 8 8 -5 -5 -6 -3 -3 -1 -1 -1 + (ON) + (ON) - (OFF) - (OFF) - (OFF) - (OFF) - (OFF) - (OFF) - (OFF) - (OFF) An example of the calculation costs using the described method for 24-hour interval is given in Table 4. 5 Discussion Despite the great progress made in solving the UC problem in the power system, as can be seen from the number of methods developed to solve it, there is still no global solution, which makes this area attractive for further research. To ensure the security of the power system, it is necessary to ensure an adequate level of rotating reserves. Considering the rotating reserves in the budget phase of the economic dispatch, applying the variations with repetition reduces the number of possible solutions in each hour, resulting in a lower number of solutions by 5.5 · 108 for the observed 24hour period and a slight increase in the total cost of $ 11000, for the analyzed test system. The main advantage of this approach is the speed of calculation, since only those cases are considered in which it is possible to balance the load considering the rotating reserve of 10% for each hour. 6 References [2] W. L. Snyder Jr., H. D. Powell Jr., J. C. Rayburn, Dynamic programming approach to unit commitment, IEEE Transactions on Power Apparatus and Systems, 2(2), 1987, 339-350. [3] W. Ongsakul, N. Petcharaks, Unit commitment by enhanced adaptive Lagrangian relaxation, IEEE Transactions on Power Systems, 19(1), 2004, 620-628. [4] H. Ma, S. M. Shahidehpour, Transmission-constrained unit commitment based on Benders decomposition, International Journal of Electrical Power and Energy Systems, 20(4), 1998, 287-294. [5] H. Sasaki, M. Watabable, J. Kubokawa, N. Yorino, R. Yokoyama, A solution method of unit commitment by artificial neural networks, IEEE Transactions on Power Systems, 7(1), 1992, 974-985. [6] A. Kazarlis, A.G. Bakirtzis and V.Petridis, A Genetic Algotirhm Solution to the Unit Commitment Problem, IEEE Transactions On Power Systems, Vol. 11, No. 1, pp.83-90, 1996. [7] S. C. Pandian, K. Duraiswamy: Fuzzy logic implementation for solving the unit commitment problem, International Conference on Power System Technology – POWERCON: Singapore, November 2004. [8] I. Softić and S. Halilčević, The Efficiency of Deterministic Methods in Solving the Problem of Economic Dispatch, 19th Electrotechnical and Computer Science Conference ERK’2010, Portoroz, Slovenia, 2022. September 2010, str.A: 492-495. [1] G. B. Sheble, Solution of the unit commitment problem by the method of unit periods, IEEE Transactions on Power Systems, 5(1), 1990, 257-260. [9] I. Softić, N. Demirović, M. Pejić, M. Umihanić, S. Bajrić, Reducing the Number of Solutions in the Unit Commitment Problem Using Variations with Repetition, 28th Electrotechnical and Computer Science Conference ERK’2019, Portoroz, Slovenia, 23-24. September 2019, str. A: 144-147. Table 4. Operating and startup costs, load and schedule for 24 hours time frame Hour 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Total Operation cost ($) Start up cost ($) 13683 (1) 0 14554 (1) 0 16809 (2) 1800 18596 (1) 0 20020 (4) 1120 22387 (4) 1000 23262 (1) 0 24150 (1) 0 27251 (1) 860 30058 (1) 60 31916 (1) 60 33890 (1) 60 30058 (1) 0 27251 (1) 0 24150 (1) 0 21514 (8) 0 20642 (16) 0 22387 (4) 0 24150 (1) 0 30058 (1) 920 27251 (1) 0 22736 (17) 0 17645 (1) 0 15427 (1) 0 559845+5880=565725 $ Generation schedule Load (MW) 1 2 3 4 5 6 7 8 9 10 700 750 850 950 1000 1100 1150 1200 1300 1400 1450 1500 1400 1300 1200 1050 1000 1100 1200 1400 1300 1100 900 800 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 455 245 295 370 455 390 365 410 455 455 455 455 455 455 455 455 310 260 360 455 455 455 455 425 345 0 0 0 0 0 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 0 0 0 0 0 0 0 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 130 0 0 0 0 0 25 40 25 25 25 30 85 162 162 162 162 85 30 25 25 25 30 162 85 145 0 0 0 0 0 0 0 0 0 0 20 33 73 80 33 20 0 0 0 0 0 33 20 20 20 0 0 0 0 0 0 0 0 0 25 25 25 25 25 25 0 0 0 0 0 25 25 25 0 0 0 0 0 0 0 0 0 0 0 10 10 43 10 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 237 Power Cable Wave Propagation Velocity Estimation Based on Travelling-Waves Marko Hudomalj1,2 1 2 Jožef Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia ComSensus d.o.o., Brezje pri Dobu 8a, 1233 Dob, Slovenia E-pošta: marko.hudomalj@ijs.si Abstract. This paper presents a method for estimation of power cable wave propagation velocity transfer function. The method determines signal propagation velocity based on the measurements of travelling-wave signals at each frequency. Travelling-waves are caused by different events on power cables such as partial discharges, faults and lightning strikes. The method will be used for improving localization of events on power cables. Method uses wavelet transform to analyze the signals in the frequency domain. The method is tested with the use of frequency-dependent transmission line model in Simulink. Propagation velocity calculated based on wavelet transform is compared to propagation velocity calculated from analytic transmission line parameters. 1 Introduction The electrical power system (EPS) is migrating to renewable energy in order to lower pollution. With the introduction of renewable energy sources new control and protection challenges are emerging in EPS. There is also a constantly increasing demand of electrical energy especially with the transition to electric mobility and introduction of new advanced HVAC systems to the grid. With this increasing demand, EPS is being pushed to its limits during peak demand hours. The upgrades in EPS are expensive and take a lot of time, so great effort is being put into how to exploit existing EPS infrastructure. EPS must provide continuous and reliable electrical energy and must operate safely. To enable optimal control, protection and quick fault repair of the EPS, a good observability of the EPS operation must be provided. In recent times, many new Intelligent Electronic Devices (IEDs) were developed to provide a better insight into the operation of EPS. This was enabled with the development of processing units, new algorithms, measurement devices, and communication devices. However, in the field of IED there is still a lot of research opportunities. IEDs help EPS to become even more digitalized. In recent years IEDs with high sampling frequencies are being developed [1] that monitor transformers, generators, switching equipment, and power cables. Our research focuses on devices that monitor events on the EPS at frequencies much higher than system frequency. Sampling frequency is in the range of 10 MHz and above. The main field of our research is event detection, localization on power cables and characterization of power cables. The events analyzed ERK'2021, Portorož, 238-241 238 are faults, partial discharges (PD) and lightning strikes. Faults are meant as short circuits on the power cables between phases or between phase and ground. In the case of a fault, the rest of the EPS must be protected which is done with relays. Similarly, in the case of lightning strikes, the rest of the system must be protected against overvoltage. Faults and short circuits are one-time events on the cable, but the PD activity is constantly present on the cables with isolation. PDs happen in the cable isolation where voids occur because of cable isolation degradation. Because of the high voltages on the power cables breakthroughs happen in the voids. The described events cause travelling-waves (TW) on the power cables. TW are short-time high-frequency transient signals. In the instance of power cables, signals propagate in both directions along the cables from the location of the event towards the cable ends. TW events and the signals are represented in Figure 1. When TW reaches an end of the cable, where medium changes, it is reflected back. Additionally, the propagating TW signal is attenuated and because the propagation velocity depends on the frequency the transient signal is elongated in time. This is the effect of dispersion. In our research, we want to exploit dispersion effects of the TW signal propagation to improve event detection and localization on power cables. Figure 1: Representation of traveling-wave on power cables 2 State of the art TW detection and localization methods on power cables can be either single- [2], [3] or double-ended [3], [4]. In a single-ended approach, TW is detected just on one side of power cables, using reflected waves for localization. In a double-ended approach, detection of the original signal at both sides is used for localization. Another approach is detection of TW with multiple devices on a single cable, where the methods are similar to double-ended approach. To improve TW localization on power cables, recent developed methods consider cables transfer function (TF). TFs are determined based on different approaches. The first approach is to determine the TF based on power cable parameters (electrical cable characteristics, geometry, isolation characteristics, etc.) [5]. Another approach is to use TF determined based on measurements when the power line was deployed [6] or measurements during maintenance. These two approaches for TF estimation do not consider the changing of the TF because of environmental changes of temperature and humidity, and ageing of cables, especially isolation degradation. To include the changing of TF for more accurate representation, some researchers have worked on determining the TF based on online measurements. One such approach is to use a reference signal generator at one end of the power cable [7]. With a known reference signal, TF can be accurately determined by measuring the signal at the other cable end, where the reference signal was induced and comparing the reference and measured signal. Different algorithms for the detection of TW were proposed [6], [7]. Some algorithms use specific point on the TW which is then used for location. This approach requires good synchronization of the measurement equipment and stable sampling frequency. Another approach is to use the slopes of the detected TW or transform the time-based signal to the frequency domain and look at TW at different frequency components [8]. Another method is so called “propagation distance” that was proposed in the ref. [6]. The algorithm does not need to determine a specific point on TW which reduces the need for high sampling accuracy. Some proposed methods also do not need synchronization between measurement equipment, as in the case of ref. [7]. An interesting research field is also the ageing estimation of EPS equipment, which is generally based on PD measurements [9]. With an ageing estimation, preventive repair of equipment can be scheduled and potential future faults avoided. In praxis today, TW is used for fault detection, such as the TW87 scheme (travelling-wave differential protection scheme). In recent years, analysis of different parameters of TW87 were carried out and commercial products are emerging. But there is still work being done on improving detection and localization algorithms that consider online cable TF estimation and how junctions or other network equipment affects the propagation of TW. The presented paper focuses on developing an algorithm for online TF estimation based on TW to improve event detection and localization on power cables. The frequency-dependent propagation of electromagnetic waves is exploited in our method to determine the fault location and simultaneously determine the dispersion function, which is dependent on the cable characteristics and the surrounding medium. In this paper, we focus on propagation velocity transfer function estimation. 3 Methods To analyze TW on power cables, we prepared a simulation in MATLAB Simulink. For the simulation of the power cables we used the Simulink model of frequency-dependent transmission line [10]. The used transmission line model is an implementation of the Universal Line Model (ULM). It uses frequencydependent series resistance, reactance and susceptance per unit length as the line parameters. The model is packaged to be used as a four terminal electric component. The transmission line is executed with ULM equivalent circuit in Laplace domain. For the simulation of a power cable, we used three transient line components. For the event generation, an impulse signal generator was used. The used simulation model is presented in Figure 2. Three transient line components were used to enable voltage measurements and impulse signal generation at different positions along the cable. In the simulations, we assigned same line parameters to all three sections to simulate a single power cable. Line parameters are shown on Figure 3. For the impulse signal generator, we used voltage generator with a parallel resistor and a switch which Figure 2: Simulation power cable model 239 applies the voltage to the frequency dependent transmission line. The circuit is represented on the left of Figure 2. Voltage measurement were done along the cable: between sections of the transmission line components and at both ends of the cable. Figure 3: Transmission line parameters The simulation results were further analyzed in MATLAB. We determine the TF of the transmission line from the voltage measurements, in particular we were interested in propagation velocity. Generated pulse is a short time high-frequency bandwidth signal that propagates across the transmission line. We used wavelet transform to transform the time domain signal to the frequency domain and determined the peak amplitude at each frequency. The propagation velocity is then calculated based on the time of peak magnitude at different measurement locations on the transient line and the known length of the line in between. 4 Results For the results presented in this paper we generated an impulse at the middle of a simulated 16 km long power cable. The cable was divided into three sections. Two series cable sections were 4 km in length and the third section was 8 km in length. We used a sampling frequency of 60 MHz for all of the signals. The impulse was generated at 0.1 ms from the start of the simulation and had raise time of one sampling step and one sampling step of fall time. The maximal value was 100 V which also persisted for one sampling step. The time-series graph measured at the end of the 8 km section is shown in the lower graph in Figure 4. From the graph, the first incident wave can be observed. The reflected waves can also be observed, especially the first reflected wave. To better observe the frequency behavior of the signal, we used continuous wavelet transform on the time-series. We used symmetrical Morse wavelet with MATLAB's continuous wavelet function cwt(). The upper graph of Figure 4 presents the wavelet transform magnitude in time and at different frequencies. On the upper graph of the Figure 4, we also marked the maximal magnitude at each frequency level for the incident wave and the first reflected wave. From the graph, we can observe the dispersion effect: the magnitudes are attenuated and the lower frequency components propagate slower than the higher frequency components. Later we used discrete wavelet transform on the time-series signal. Discrete wavelet transform needs less processing power and is better suited to be implemented in an IED. We used MATLAB's maximal overlap discrete wavelet transform function modwt(). In our calculations we used Symlets wavelets with 20 vanishing moments. The result of the function are values in time as coefficients at different wavelet scales. Wavelet scales represent the signal in the frequency band around the scale central frequency. For our calculations, we treated the coefficients as if they would represent the signal at the wavelet scale central frequency. Similarly to the process presented before with the continuous wavelet transform, we determined the maximal magnitudes of the transformed signal at different central frequencies in time. From the timestamps of the maximal values at both ends of the simulated power cable, we calculated the signal propagation velocity along the cable. The velocity is calculated from the time the wave travels from the source to both of the cable ends and with the known cable length. We then compared the calculated signal propagation velocity at each central frequency with the propagation Figure 4: Time-series signal and signal wavelet transform at cable end V2. 240 velocity calculated from the transmission line parameters which are given as inputs to the simulation. This is shown on the graph represented in Figure 5. The graph shows the calculated transient line propagation velocity from the line parameters (represented with the solid line). For this case, the velocity is determined for each frequency point. The calculated propagation velocity after simulation and with the use of discrete wavelet transform is represented at discrete frequencies. From Figure 5, it can be observed that the propagation velocity acquired with the use of discrete wavelet transform is well determined in the range above 10 kHz and up to 1 MHz which is the limit of our model. Velocity values at lower frequencies start to diverge more since the signal's wavelength is too high compared to the section distance, thus are not well defined in time. Figure 5: Comparison of propagation velocity 5 Discussion From the results presented in this paper, we can determine that the calculation of power cable propagation velocity can be acquired by analyzing the travelling-waves caused by the events on the cable. In the paper, we used wavelet transform on the time-series signal measurements obtained by simulation to analyze the signal at different frequencies. Results show that the wavelet transform technique is an appropriate tool for determining the propagation velocity of the power cables. In the future, the concepts shown in this paper will be improved to automatically determine the propagation velocity from the time-series signal measurements, thus improving the localization of the events on the power cable. Different event types have different characteristics not only related to time but also to power. Therefore the presented method would have to be adjusted accordingly. Here different timescales and measuring setups would have to be considered. Additionally, different types of wavelets could be more suitable for a different configuration. We are planning to test the methods in different electrical power grid settings. 241 The method is also usable for continuous online power cable observability. With the constant cable characteristic observation, also other innovative services can be developed, such as long-term aging estimation, scheduling of preemptive repairs and scheduling of maintenance. References [1] E. O. Schweitzer, D. E. Whitehead, G. Zweigle, V. Skendzic, and S. V. Achanta, ‘Millisecond, microsecond, nanosecond: What can we do with more precise time?’, in 2016 69th Annual Conference for Protective Relay Engineers (CPRE), Apr. 2016, pp. 1–12. doi: 10.1109/CPRE.2016.7914898. [2] M. Shafiq, I. Kiitam, P. Taklaja, L. Kutt, K. Kauhaniemi, and I. Palu, ‘Identification and Location of PD Defects in Medium voltage Underground Power Cables Using High Frequency Current Transformer’, IEEE Access, vol. 7, pp. 103608–103618, 2019, doi: 10.1109/ACCESS.2019.2930704. [3] M. A. Aftab, S. M. S. Hussain, I. Ali, and T. S. Ustun, ‘Dynamic protection of power systems with high penetration of renewables: A review of the traveling wave based fault location techniques’, Int. J. Electr. Power Energy Syst., vol. 114, p. 105410, Jan. 2020, doi: 10.1016/j.ijepes.2019.105410. [4] F. P. Mohamed, W. H. Siew, J. J. Soraghan, S. M. Strachan, and J. McWilliam, ‘Partial discharge location in power cables using a double ended method based on time triggering with GPS’, IEEE Trans. Dielectr. Electr. Insul., vol. 20, no. 6, pp. 2212–2221, Dec. 2013, doi: 10.1109/TDEI.2013.6678872. [5] H. Jia, ‘An Improved Traveling-Wave-Based Fault Location Method with Compensating the Dispersion Effect of Traveling Wave in Wavelet Domain’, Math. Probl. Eng., vol. 2017, p. e1019591, Feb. 2017, doi: 10.1155/2017/1019591. [6] X. Rao, K. Zhou, Y. Li, G. Zhu, and P. Meng, ‘A New Cross-Correlation Algorithm Based on Distance for Improving Localization Accuracy of Partial Discharge in Cables Lines’, Energies, vol. 13, no. 17, Art. no. 17, Jan. 2020, doi: 10.3390/en13174549. [7] M. Mahdipour, A. Akbari, P. Werle, and H. Borsi, ‘Partial Discharge Localization on Power Cables Using On-Line Transfer Function’, IEEE Trans. Power Deliv., vol. 34, no. 4, pp. 1490–1498, Aug. 2019, doi: 10.1109/TPWRD.2019.2908124. [8] A. Cavallini, G. C. Montanari, and F. Puletti, ‘A novel method to locate PD in polymeric cable systems based on amplitude-frequency (AF) map’, IEEE Trans. Dielectr. Electr. Insul., vol. 14, no. 3, pp. 726–734, Jun. 2007, doi: 10.1109/TDEI.2007.369537. [9] N. Morette, T. Ditchi, and Y. Oussar, ‘Feature extraction and ageing state recognition using partial discharges in cables under HVDC’, Electr. Power Syst. Res., vol. 178, p. 106053, Jan. 2020, doi: 10.1016/j.epsr.2019.106053. [10] ‘Frequency-Dependent Transmission Line - MATLAB & Simulink’. https://www.mathworks.com/help/physmod/sps/ug/frequ ency-dependent-transmission-line.html (accessed Feb. 03, 2021). Merilna tehnika Measurement Avtomatizacija sistema za kalibracijo momentnih ključev *Miha Hiti, **Rok Mokorel, *Vid Primožič, **Gaber Begeš *Zavod za gradbeništvo, Dimičeva ulica 12, 1000 Ljubljana **Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana E-pošta: miha.hiti@zag.si Automatisation of torque wrench calibration system Slovenian standard for calibration of torque tools has been updated to SIST EN ISO 6789:2017. Thus, it became necessary to update the torque tools calibration system. We proposed and implemented an update of the system. An update focuses on automatization of manual drive that is responsible for application of torque on the tool being calibrated. As part of the system control we also designed user interface for easier handling with the calibration system. 1 Uvod V tem delu je predstavljen postopek nadgradnje sistema za kalibracijo momentnih ključev. Sistem se nahaja na Zavodu za gradbeništvo in se uporablja za kalibracijo skladno s standardom SIST EN ISO 6789:2004 [1]. Obstoječi standard iz leta 2004 je leta 2017 nadomestil novi, SIST EN ISO 6789 [2, 3]. Z novim standardom se spreminja postopek kalibracije, pri čemer je najbolj opazna sprememba v številu obremenitvenih ciklov. Za pravilno in učinkovito kalibracijo skladno s posodobljenim standardom je potrebno obstoječi kalibracijski sistem nadgraditi. Obstoječi kalibracijski sistem za obremenitev momentnega ključa zahteva delo operaterja. Operater na kalibracijskem sistemu vreteno poganja ročno, sočasno pa spremlja naraščanje izmerjenega momenta na zaslonu. Naloga operaterja je postopno obremenjevanje momentnega ključa in prekinitev obremenjevanja, ko zaznamo nagel padec izmerjene vrednosti momenta. Zaradi nekajkrat večjega števila obremenitvenih ciklov v posodobljeni različici standarda postane delo operaterja zahtevnejše. Obstoječi kalibracijski sistem želimo opremiti s krmiljenim pogonom in nalogo opraterja nadomestiti z avtomatiziranim pogonom. 2 Obstoječi kalibracijski sistem Obstoječi kalibracijski sistem na Zavodu za gradbeništvo (slika 1) proizvajalca HBM tip TWC_A 1000 Nm je sestavni del akreditiranega sistema kakovosti za kalibracijo momentnih ključev skladno s standardom SIST EN ISO 6789:2004. Kalibracijski sistem lahko razdelimo na tri osnovne elemente, - sistem za obremenjevanje momentnega ključa skupaj z merilnikom momenta 1000 Nm tip HBM ERK'2021, Portorož, 243-246 243 TB1A, merilni ojačevalnik HBM DMCplus ter računalnik s programom HBM Catman. Mehanski del sistema sestavljajo aluminijasti profili, standardni v industrijskih aplikacijah. Postavljen je na pultu, ki zagotavlja horizontalno lego momentnega ključa na optimalni višini. Za kalibracijo ključa vstavimo glavo momentnega ključa v merilnik momenta. Ročaj momentnega ključa namestimo ob naslon. Naslon ročaja določa ročico sile momenta, zato ga prilagodimo tako, da ta potiska na sredino držala momentnaga ključa. Merilnik momenta ima ležišče, ki ustreza obliki glave momentnega ključa, zato se merilnik momenta in glava momentnega kluča premikata skupaj. Moment v sistem dodajamo z rotacijo merilnika momenta okoli navpične osi. Rotacijo merilnika momenta nadzorujemo z vretenom. Slika 1: Sistem za kalibracijo mementnih ključev. Vidimo merilnik momenta ter naslon ročaja momentnega ključa. Merilni ojačevalnik je naslednji člen v verigi merilnega sistema. Na kanal merilnega ojačevalnika priklopimo signal merilnika momenta. Signal dobimo iz prej opisanega sistema za obremenjevanje momentega ključa. Na merilnem ojačevalniku spremljamo naraščanje apliciranega momenta. Dopolnitev merilnega ojačevalnika je osebni računalnik. Na računalniku imamo naložen program Catman. Program Catman je namenjen enostavnemu dostopu do meritev in pa nastavitev merilnega ojačevalnika. Omogoča nam spremljanje in izrisovanje grafov iz izmerjenih vrednosti. Najboljša kalibracijska zmogljivost obstoječega sistema (razširjena merilna negotovost) znaša 0,3 % do 0,6 % izmerjene vrednosti. 3 Standard SIST EN ISO 6789:2017 Nadgradnja kalibracijskega sistema mora ustrezati posodobljenemu standardu SIST EN ISO 6789. Gre za standard Slovenskega inštituta za standardizacijo in predstavlja prevzem mednarodnega standarda krovne organizacije ISO. ISO 6789 ureja področje kolibracije momentnih orodij. V to skupino štejemo momentne izvijače in ključe. Glede na tip orodja so ta razvrščena v tip I in pa orodja tipa II. Orodja tipa I vrednost momenta prikazujejo na merilni skali, medtem ko imajo orodja tipa II možnost nastavljanja pritegovalnega momenta. Skupina orodij tipa I in II se nadalje deli na razrede A, B, C, D, E, F in pa G. Na našem kalibracijskem sistemu kalibriramo orodja tipa II in sicer razreda A in B. Prav tako na kalibracijskem sistemu lahko kalibriramo orodja tipa I iz razreda A, B in C. Glavna novost standarda je povečano število obremenitvenih ciklov in pa nove zahteve pri vrednotenju dodatnih prispevkov negotovosti. Pri dodatnih prispevkih negotovosti so nove meritve vpliva adapterja med ključem in merilnikom, vpliv položaja glave ključa in vpliv dolžine prijemališča ročice momentnega ključa. Meritev vpliva adapterja med ključem in merilnikom opravimo pri štirih rotacijskih položajih, za vsak položaj izvedemo 10 meritev. Prav tako oceno vpliva prijemališča položaja glave izvedemo pri štirih zasukih glave, deset meritev za vsak zasuk. Vpliv dolžine prijemališča ročice opravimo pri dveh dolžinah, deset meritev za vsako dolžino. Skupaj moramo torej opraviti 100 meritev samo za vrednotenje dodatnih prispevkov negotovosti. Poenostavljeno je proces kalibracije vedno sestavljen iz predobremenitve, ponovnega vstavljanja orodja v kalibracijski sistem, in nazadnje obremenjevanja do vrednosti momenta določenih glede na tip in razred momentnega ključa. Vrednosti momenta med postopkom kalibracije spremljamo in nato shranimo za kasnejšo določitev vrednosti kalibracije. Pri razvoju krmilnega programa kalibracije se sklicujemo na vsebino standarda. 4 Nadgradnja kalibracijskega sistema 4.1 Izbira stojnih elementov Vreteno nadgrajenega sistema poganja koračni motor. Koračni motor smo izbrali najprej, saj ta vpliva na izbor ostalih komponent. Pri izboru motorja je najpomembnejši podatek o zadržnem momentu. Potreben zadržni moment na osi vretena smo določili eksperimentalno. Med ročnim poganjanjem vretena smo izmerili silo 10 N. Iz izmerjene sile lahko izračunamo moment vretena. Pri ročici sile 0,25 m izračunamo moment vretena 2.5 Nm. Z izbranim varnostnim faktorjem 1,6 določimo zahtevo, da motor na osi vretena zagotavlja vsaj 4 Nm momenta. 𝑀𝑣𝑟𝑒𝑡𝑒𝑛𝑜 ≥ 0,25 m · 10 N · 1,6 = 4 Nm 244 Hkrati smo med poganjanjem vretena z roko izmerili vrtilno frekvenco vretena 1 s-1. Zadržni moment izbranega motorja je lahko manjši, saj imamo med motorjem in vretenom, prenos z reduktorskim prestavnim razmerjem. Ob predpostavki reduktorskega razmerja 1:3,33 je vrtilna frekvenca motorja 3,33 s-1 oziroma 200 min-1 . Glede na znano karakteristiko motorja je moment pri tej frekvenci enak 1,15 Nm. Ob multipliciranju momenta zaradi raduktorja pa zagotovimo moment na osi vretena 4 Nm. Opisanim zahtevam ustreza koračni motor Sanyo Denki 103H71260140, slika 2. Slika 2: Momentna karakteristika koračnega motorja Pri izboru jermenice ter jermena smo si pomagali s priročnikom proizvajalca Optibelt [4]. Odločili smo se za uporabo zobatega gumijastega jermena, saj ta dovoljuje večja prestavna razmerja in hkrati preprečuje zdrs. Izhodšče za izbor primernega jermena sta vrtilna hitrost in pa moč, ki jo z jermenom prenašamo. Vrtilna hitrost manjše jermenice je 200 min-1 , prenašana moč pa 60 W. Glede na tabelo proizvajalca lahko izberemo jermen s korakom zoba 2 mm. Naziv izbranega jermena je Optibelt OMEGA 2M. Razmerja velikost jermenic morata ustrezati želenemu prestavnemu razmerju, ki je enak 3,5. 𝑤2 𝑧1 = = 3,5 𝑤1 𝑧2 Želeli bi, da je hitrost gnanega vretena manjša od hitrosti osi motorja, zato je na osi motorja nameščena manjša, na osi vretena pa večja jermenica. Kritična vrednost za izbor velikosti manjše jermenice je premer osi koračnega motorja, ta je premera 6,35 mm. Izberemo jermenico s številom zob 22. Večja jermnica ima skladno s prestavnim razmerjem 86 zob. Izvedba motorja sledi NEMA 17 standardni obliki koračnih motorjev za uporabo v industirji. Oblika NEMA 17 se nanaša na zunanje dimenzije motorja ter mesta za pritrjevanje. Za pritrditev motorja na obstoječi sistem izdelamo nosilec. 𝑛= 4.2 USB smo spreminjali s potenciometrom priključenim na analogni vhod razvojne ploščice. Komunikacija merilnega ojačevalnika z računalnikom Merilni ojačevalnik lahko upravljamo s programskim jezikom za merilno instrumentalno opremo SCPI. Gre za visokonivojski programski jezik, ki nam olajša upravljanje merilnega ojačevalnika. Komunikajo z merilnim ojačevalnikom začnemo z izbiro komunikacijkega vhoda na računalniku – COM porta, inicializacijo komunikacije na merilnem ojačevalniku, sledi izbor kanala, nato pa pričnemo z zajemom vrednosti z merilnega ojačevalnika. Merilnik navora je povezan z merilnim ojačevalnikom, katerega pri nadgradnji sistema ohranimo. Merilni signal z merilnim ojačevalnikom pretvorimo v digitalno vrednost ter pošljemo po vodilu na računalnik. Za uporabo vrednosti merilnega ojačevalnika v programu, moramo signal dekodirati. Podatke na računalniku prejemamo v obliki paketov, kjer so vrednosti paketa predstavljene z znaki v osmiškem zapisu. 4.3 Slika 3: Blokovna shema nadgrajenega sistema Rutina obremenjevanje ključa z nastavljivim momentom je prikazana na sliki 4. Začnemo s pomikom koračnega motorja. Blizu nazivne vrednosti momenta ključa, moment strmo narašča. Za lažje zaznavanje špice momenta, v izbrani točki zmanjšamo hitrost koračnega motorja. Na neki točki bomo izmerili padec momenta, takrat smo prešli skozi špico momenta. Za popolno razbremenitev momentnega ključa začnemo s pomikom v nasprotno smer. Vodenje koračnega motorja Za pogon vretena smo si izbrali koračni motor. Za vretenje koračnega motorja potrebujemo pravokotni signal, ki zaporedoma spreminja polarizacijo navitja. Pravokotni signal nam zagotavlja krmilnik koračnega motorja. Izbrali smo krmilnik Emis SMC1000i [5]. Krmilnik motorja komunicira z računalnikom po protokolu UART komunikacije. Pred povezavo z računalnikom na računalnik namestimo ustrezen gonilnik. Krmilnik uporablja nabor krmilnih ukazov. Seznam določenih ukazov krmilnika pridobimo iz priročnika krmilnika in jih uporabimo v programu krmiljenja. 4.4 Rutine vodenja motorja Za izvajanje kalibracije pripravimo nabor programskih rutin. Osnovne programske rutine povzemajo vgrajene ukaze krmilnika koračnega motorja. Med osnovne programske rutine koračnega motorja štejemo odprtje komunikacije s krmilnikom, preizkus komunikacije, obnovitev privzetih nastavitev na krmilniku, nastavitev hitrost koračnega motorja, poizvedba po legi koračnega motorja, pošiljanje motorja v lego ter zasilna ustavitev motorja. Višjenivojske programske rutine se navezujejo na procese povezane s kalibracijo momentnega ključa. Tako smo napisali programske rutine za predobremenitev momentnega ključa, obremenjevanje momentnega ključa ter zaznavanje špice momenta. Celoten program vodenja smo napisali v programskem jeziku Python. Blokovna shema krmiljenja sistema je prikazana na sliki 3. Pri razvoju programskih rutin smo signal merilnega ojačevalnika simulirali z razvojno ploščico Arduino. Napisali smo program, ki je odprl vhod serijske komunikacije na razvojni ploščici ter na ta vhod zapisoval vrednosti. Ta del programa nam omogoča komunikacijo razvojne ploščice z računalnikom preko vodila USB. Vrednosti, katere smo pošiljali po vodilu 245 Slika 4: odvisnost momenta od hitrost koračnega motorja 4.5 Zaznavanje špice momenta Zaznavanje špice momenta je, poleg programske niti uporabniškega vmesnika, dodatna paralelna programska nit. Pomen tega je, da moramo brati vrednosti serijske komunikacije v času »while« zanke uporabniškega vmesnika. Branje vrednosti merilnika momenta umestimo v dodatno while zanko. Špica vrednosti momenta se pojavi na mestu preklopa momentega ključa. Vrednosti momenta tedaj hipno padejo. Zaznavanje špice momenta izvedemo z izračunavanjem spremembe meritev. Povprečje zadnjih 5 meritev predstavlja trenutno vrednost. Povprečje zadnjih 20 meritev predstavlja prejšnjo vrednost. Prehod skozi špico merjenega momenta zaznamo, ko pade trenutna vrednost momenta, pod prejšnjo vrednost momenta. Špica zaznanega momenta je znak za zaustavitev nadaljnega obremenjevanja mometnega ključa. 5 Uporabniški vmesnik Uporabniški vmesnik smo, tako kot ostali del programa, napisali v programskem jeziku Python. Ob tem smo uporabili knjižnjico PyQt5. Knjižnjica PyQt5 zajema funcije, ki so zgrajene okoli programskega okvirja – »frameworka« Qt za programiranje uporabniških vmesnikov na vseh napravah »crossplatform«. Uporabnika pozdravimo z vstopnim oknom. Naslednje okno nudi možnost preizkusa povezave s krmilnikom koračnega motorja ter preizkusa povezave z merilnim ojačevalnikom. Z izborom tipa momentnega ključa nadaljujemo na naslednje programsko okno. Slika 7: Avtomatiziran sistem za kalibracijo momentnih ključev 6 Zaključek Slika 5: Okno za izbiro programskih rutin kalibracije Ko smo izbrali tip momentnega ključa, se nam prikažejo programske rutine, ki so za izbrani momentni ključ na voljo, slika 5. Prvo vnosno polje od uporabnika zahteva vnos nazivnega momenta momentnega ključa, saj kalibracijski sistem omogoča kalibracijo različnih velikosti ključev. Na voljo imamo predobremenitev, enkratno obremenitev s spremljanjem naraščanja momenta in pa desetkratno obremenitev. Dodatno imamo na voljo še ukaz »Ustavi«. Ukaz »Ustavi« nam omogoča prekinitev trenutne programske rutine in ustavitev koračnega motorja v vsakem trenutku. Program med obremenjevanjem izpisuje graf momenta (slika 6) in zabeleži maksimalno vrednost momenta. V nadgradnji sistema za kalibracijo smo obravnali več vidikov sistema. Z motorjem in prenosom smo nadgradili mehanski sklop sistema. Pripraviti smo morali program, ki skrbi za krmiljenje motorja, zajemanje vrednosti z merilnega ojačevalnika in izvajanje programskih rutin obremenjevanja momentnega ključa. Predstavili smo vsebino nadgradnje standarda na področjih, ki določajo programske rutine obremenjevanja. Za delovanje programa krmiljenja moramo na računalniku zadostiti sistemskim zahtevam. Delovanje programa smo preizkusili z različico Python 3.6. Za prenos in združljivost programskih knjižnjic s PyQt5 je priporočljiva uporaba platforme Anaconda. Za kalibracijo momentnih ključev skladno s posodobljenim standardom je potrebno sistem podati na akreditacijsko presojo. Presojevalec preveri skladnost sistema z zahtevami standarda. Vsebina nadgrajenega standarda je bila osnova razvoja našega krmilnega programa in nadgrajeni sistem bo v prihodnosti moral opraviti akreditacijsko presojo. Literatura Slika 6: Izpis krivulje avtomatiziranega obremenjevanja in razbremenjevanja momentnega ključa Uporabnik mora med kalibracijo nekajkrat spremeniti lego momentnega ključa, zato po izvedbi funkcije ne zapuščamo trenutnega programskega okna. Na uporabniku je, da spremlja pri katerih zasukih momentnega ključa je bila kalibracija že opravljena in ročno zaključi kalibracijo, ko je to opravil za predpisano število zasukov momentnega orodja. Avtomatiziran sistem je prikazan na sliki 7. 246 [1] International standard ISO 6789, International Organization for Standardization - ISO, 2003. [2] Slovenski standard SIST EN ISO 6789-1:2017, Slovenski inštitut za standardizacijo - SIST, 2017. [3] Slovenski standard SIST EN ISO 6789-2:2017, Slovenski inštitut za standardizacijo - SIST, 2017. [4] Tehnični priročnik: Optibelt Rubber Timing Belt Drives, Arntz Optibelt Group, 2020. (Dostopno na: https://www.optibelt.com/fileadmin/pdf/produkte/zahnrie men-gummi/Optibelt-TM-Rubber-Timing-Drives.pdf) [5] Die Schrittmotorsteuerung SMC1000i, EMIS GmbH, 2018. Iskanje stanja napolnjenosti baterijske celice s pomočjo genetskega algoritma in ESC modela baterije Marko Antončič, Riko Šafarič, Kristijan Korez, Miran Globevnik* Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor * EM.TRONIC d.o.o, Počehova 12, 2000 Maribor E-pošta:marko.antoncic@student.um.si, riko.safaric@um.si, kristijan.korez@um.si Finding the state of charge of a battery cell using genetic algorithm and ESC battery model Abstract. Nowadays, when batteries are present in both portable devices and vehicles, SOC “State of charge” estimation is becoming increasingly important. The accurate measurement of SOC increases battery utilization and prevents damage. The paper presents the development and testing of an algorithm that uses the ESC (Enhanced self-correcting) model and genetic algorithm to find the required ESC parameters and SOC of a battery cell. The algorithm was implemented on a microcontroller based on the STM32F4 MCU Family. There is no need for SOC calibration which is an advantage of proposed algorithm compared to Coulomb counting (CC) method. 1 Uvod Danes, kjer so baterije prisotne tako v prenosnih napravah kot v vozilih, postaja ocena stanja napolnjenosti ali SOC »State of charge« vse bolj pomembna. Znani SOC poveča izkoriščenost baterije in preprečuje poškodbe. Genetski algoritem (GA) se je v preteklosti že uporabil za iskanje parametrov enakovrednega vezja baterije [1]. Članek predstavlja razvoj in testiranje novega algoritma za on-line iskanje SOC in parametrov enakovrednega vezja po ESC modelu [2]. Predstavljen algoritem uporablja GA za iskanje parametrov ESC modela. Raziskali smo možnost uporabe algoritma v realnem času. Algoritem je bil izveden na strojni opremi, ki temelji na družini mikrokrmilnikov STM32F4. Kalibracija SOC ni potrebna, kar je prednost predlaganega algoritma v primerjavi z metodo Coulombovega štetja »Coulomb counting« (CC) [3]. 2 Iskanje parametrov modela ESC s pomočjo GA ESC model je model enakovrednega vezja, s katerim lahko opišemo obnašanje baterije v smislu kakšen je odziv napetosti na tok [2]. Vezje ESC modela (Slika 1) vsebuje OCV (Open circuit voltage) napetostni vir v odvisnosti od SOC, histerezo, difuzijsko napetost (sestavljena iz enega ali več RC členov) ter polarizacijske napetosti. Za razliko od enakovrednih vezij modela Thevenin in DP (dual polarization) modela ESC model vsebuje tudi komponenti, ki opisujeta histerezno obnašanje napetosti baterije. Histerezna karakteristika baterijske celice je zajeta v enačbi (3). ERK'2021, Portorož, 247-250 247 Slika 1: ESC model enakovrednega vezja baterije Izziv ESC modela je določiti vse potrebne parametre. Za določanje parametrov ESC modela je namreč potrebna specializirana laboratorijska oprema [2]. Spodnje enačbe (1-6) v vektorski in matrični obliki opisujejo dinamično obnašanje SOC in notranjih tokov v ESC modelu baterije. 𝐹1 0 ⋯ 1 − 𝐹1 𝑖𝑅 [𝑘 + 1] = [ 0 𝐹2 ] 𝑖𝑅 [𝑘] + [1 − 𝐹2 ] 𝑖[𝑘] (1) ⏟⋮ ⏟ ⋮ ⋱ 𝐴𝑅𝐶 Kjer se faktor RC člena Fj izračuna: 𝐹𝑗 = ex p ( −Δ𝑡 𝑅𝑗 𝐶𝑗 𝐵𝑅𝐶 ) (2) Za bolj strnjen zapis še definiramo AH : 𝜂[𝑘]𝑖[𝑘]𝛾Δ𝑡 𝐴𝐻 [𝑘] = exp (− | |) (3) 𝑄 Enačbo 4 imenujemo enačba stanja ESC modela. 1 0 0 𝑆𝑂𝐶[𝑘 + 1] 𝑆𝑂𝐶[𝑘] 0 ] [ 𝑖𝑅 [𝑘] ] [ 𝑖𝑅 [𝑘 + 1] ] = [0 𝐴𝑅𝐶 0 0 𝐴𝐻 [𝑘] ℎ[𝑘 + 1] ℎ[𝑘] 𝜂[𝑘]Δ𝑡 − 0 𝑖[𝑘] 𝑄 + [ ] (4) 𝑠𝑔𝑛(𝑖[𝑘]) 𝐵𝑅𝐶 0 0 (𝐴𝐻 [𝑘] − 1) ] [ Končna izhodna enačba ESC modela za izračun napetosti se glasi: 𝑣̂[𝑘] = 𝑂𝐶𝑉(𝑆𝑂𝐶[𝑘], 𝑇[𝑘]) + 𝑀0 𝑠[𝑘] +𝑀ℎ[𝑘] − ∑ 𝑅𝑗 𝑖𝑅𝑗 [𝑘] − 𝑅0 𝑖[𝑘] (5) 𝑗 Parametri ESC modela katerih vrednosti so neznane ali pa težko določljive so naslednji: • R0 (notranja upornost), • η(Coulombov izkoristek), • γ (hitrost zmanjševanja histereze), • M0 (takojšnja histereza), • M (maksimalna histereza), • R1 (upornost prvega RC člena), • C1 (kapacitivnost prvega RC člena), • R2 (upornost drugega RC člena), • C2 (kapacitivnost drugega RC člena) • SOC[0] (začetni SOC) Tok skozi baterijo je označen s i, notranji tokovi v RC so označeni s 𝑖𝑅 , h je dinamična histerezna napetost, T je temperatura, Δ𝑡 je čas med prejšnjim in trenutnim odčitkom. Preračun ESC modela baterije se mora izvesti čim hitreje saj se (kot bomo videli kasneje) preračun ESC modela izvede velikokrat med izvajanjem genetskega algoritma. Zato je bilo vloženo veliko truda v optimizacijo kode za hitro delovanje. Na mikrokrmilniku s STM32F4 jedrom, ki deluje na frekvenci do 80 MHz smo dosegli en preračun ESC modela (z dvema RC členoma) v času 11µs. Izračun SOC po ESC modelu bazira na metodi CC, ki integrira tok skozi čas in glede na kapaciteto baterije posodablja SOC. ∆𝑡 𝜂[𝑘]𝑖[𝑘] (6) 𝑄 Prva slabost metode Coulombovega štetja je neznana informacija o začetnem stanju SOC. Druga slabost je da samopraznenje in napake v meritvah na daljše obdobje ustvarjajo pomik ali »drift« napovedanega SOC glede na realnega. Problem drsenja SOC se lahko rešuje s rekalibracijo, ki pa jo lahko izvajamo samo v določenih trenutkih (pri popolnoma polni ali prazni bateriji ali pa pri daljšem času mirovanja) [4]. 𝑆𝑂𝐶(𝑘 + 1) = 𝑆𝑂𝐶(𝑘) − Genetski algoritem se večinoma uporablja za iskanje optimalne rešitve s pomočjo procesov, ki so dobili navdih iz biologije. Pod takšne procese spadajo na primer selekcija, mutacija in križanje [5]. Naloga GA je da populacijo rešitev (ali osebkov) za določen problem razvija v vedno boljšo rešitev. Na začetku GA se ustvari populacija naključnih osebkov 1 1 𝑃0 = {𝑋11 , 𝑋21 , . . . , 𝑋𝑗1 , . . . 𝑋𝑁1 }, kjer je 𝑋𝑗𝑖 = {𝑥,1 , 𝑥𝑗,2 , . . ., 1 1 𝑖 𝑥𝑗,𝑟 , . . . 𝑥𝑗,𝑀 } j-ti osebek v i-ti generaciji in 𝑥𝑗,𝑟 je r-ti parameter osebka 𝑋𝑗𝑖 . N je število osebkov, M je število parametrov. Parametri (kromosomi) vsakega oseba predstavljajo parametre ESC modela. GA te parametre izbira, križa in mutira. Ocenitvena (fitnes) funkcija oceni en osebek, v našem primeru ESC parametre. Ocena osebka izračunamo tako da seštevamo absolutne razlike med izmerjenimi napetostmi na bateriji in napetostmi generiranimi z ESC modelom. Ocena osebka 𝑋𝑗𝑖 se izračuna po naslednji enačbi: Slika 2: Genetski algoritem s fitnes funkcijo funkcijo GA vključujejo tudi adaptivno mutacijo in elitizem. S adaptivno mutacijo vzdržujemo diverziteto v populaciji in zmožnost konvergence ocene [6]. Nastavitve adaptivne mutacije so naslednje. Konstantna verjetnost mutacije je 0.1%, stopnja spremembe verjetnosti mutacije je 0.2%, maksimalna verjetnost mutacije je 4%. Z elitizmom iz trenutne generacije vedno prenesemo določeno število trenutno najboljših osebkov v novo generacijo torej brez križanja in mutacije (v primeru da potomci po križanju niso boljši od prednikov). S tem zagotovimo, da se najboljša ocena populacije ne more poslabšati. V našem primeru je bila populacija sestavljena iz 50 osebkov od katerih sta bila 2 elitna. Končni algoritem za estimacijo SOC deluje tako, da periodično izvaja GA za rekalibracijo SOC. Vmesene vrednosti (med dvema GA) se SOC izračunajo preko ESC modela. Parametri ESC modela se tudi posodobijo z vsako izvedbo GA. Na sliki 3 je prikazano testno vezje, s katerim so bile izmerjene OCV karakteristične krivulje in opravljeni testi obremenjevanja na litij-ionskih baterijah (kemije LTO »Litij titanat oksid«). 𝑇 𝑓(𝑋𝑗𝑖 ) = ∑ 𝑎𝑏𝑠(𝑣̂𝑡 − 𝑣𝑡 ) (7) 𝑡=𝑡0 Naloga GA je, da to oceno minimizira, torej poišče tak set parametrov z minimalno razliko. 248 Slika 3: Merilno vezje Meritev toka in napetosti se opravlja z namenskim čipom INA226. Natančnost merjenja napetost je 1,25 mV, natančnost merjenja toka pa 625 µA. Testno vezje je po naprej nastavljenih tokovni krivulji obremenjevalo (praznilo in polnilo) baterijo. Poleg tega so se merili in shranjevali podatki (tok, napetost in temperatura). Meritve so bile izvedene v temperaturni komori, pri temperaturi 25°C. Slika 6: Najdeni ESC parametri s GA v desetih poskusih (ponovitvah) Slika 4: Primer izmerjenega toka in napetosti na bateriji 3 Testiranje ESC-GA algoritma Prvi test preverja kakovost iskanja parametrov z GA. Test je bil izveden na LTO bateriji kapacitete 4660 mAh pri 25°C. Slika 4 prikazuje prekrivanje izmerjene in z modelom napovedane napetosti na 80 minut dolgem preskusu. Slika 5: Izmerjena in modelirana napetost (ESC parametri najdeni z GA) Kvadratna sredina razlike (root-mean-squared difference RMSD) med izmerjeno in napovedano napetostjo je 5,29 mV. Rezultati so zadovoljivi in podobni rezultatom ki so jih dosegli s posamičnim iskanjem parametrov s specializirano opremo [2], kjer so dosegli vrednost RMSD bil 5.37 mV. Prednost iskanja ESC parametrov s GA je tudi to, da smo našli parametre v krajšem času, kot če bi parametre iskali posamično s posebnimi metodami in specializirano opremo. Naslednji test pokaže ponovljivost iskanja parametrov z GA. Genetski algoritem smo ponovili 10 krat na enakih vhodnih podatkih kot pri prejšnjem testu. 249 V vseh poskusih je vrednost RMSD pod 6 mV. Zaradi stohastične narave GA je pričakovano, da najdeni ESC parametri niso popolnoma enaki v vsakem poskusu. Opazimo pa da so najbolj ponovljivi tisti parametri, ki najbolj vplivajo na napovedano napetost kot je SOC0. Povprečna vrednost najdenega SOC0 je 67,59. Standardni odklon najdenih vrednosti SOC0 je 0,297. Zgornji graf slike 7 prikazuje prekrivanje desetih krivulj (iz zgornjih parametrov) v primerjavi z izmerjeno napetostjo na bateriji. Spodnji graf slike 7 prikazuje izračunan SOC po ESC modelu. Slika 7: Prekrivanje modela in meritve (napetost zgoraj). Prekrivanje SOC krivulj spodaj Prvo slabost (nepoznan začetni SOC) Coulombove metode smo že rešili s tem da jo lahko poiščemo z GA. Drugo slabost (lezenje) pa lahko rešimo tako, da GA izvajamo periodično, in s tem izvajamo rekalibracijo SOC, hkrati pa tudi posodobitev ostalih ESC parametrov. Pri tem se moramo zavedati, da je GA računsko zahteven, čas izvajanja GA pa narašča predvsem z naraščanjem velikosti vhodnih podatkov (zgodovina toka, napetosti). Zato moramo narediti kompromis med tem, koliko podatkov bomo uporabili v GA in med tem kako pogosto bomo izvajali GA. Naslednji test je potekal malo manj kot 4 dni (92 ur) kjer smo baterijo periodično obremenjevali s različnimi tokovi od 100% napolnjenosti pa do izpraznitve. Velikost okna podatkov smo nastavili na 3000 sekund. GA se je izvajal vsakih 30 sekund. Na sliki 8 zgoraj je prikazana izmerjena napetost na bateriji in estimirana napetost po ESC modelu. Na sliki 8 spodaj pa je prikazana estimiran SOC z našim algoritmom in SOC estimiran s Coulombovim štetjem kjer je Coulombov izkoristek 𝜂 = 0.987. Opazimo da SOC po Coulombovi metodi leze in po 80 urah doseže vrednost -50% kar je jasno napaka. Med tem ko pa naš algoritem ostaja med 0 in 100% SOC. Slika 10: Razlika med SOC po Coulombovem štetju in ESCGA 4 Zaključek Slika 8: Primerjava estimirane in izmerjene napetosti (zgoraj), primerjava SOC po (GA) in Coulombovim štetjem (spodaj) V naslednjem primeru smo rezultate iz prejšnjega testa primerjali s Coulombovim štetjem, ki pa je imelo nastavljen izkoristek tako da je na tem intervalu bilo brez lezenja (𝜂 =0.99423). Slika 9: SOC po GA in SOC s Coulombovim štetjem Slika 9 prikazuje razliko med SOC etimacijo in SOC po Coulombovi metodi. Največja absolutna razlika med SOC po CC in SOC po našem algoritmu je 2.03% (slika 10). 250 V tem članku je predstavljen algoritem za estimacijo stanja napolnjenosti baterije. Algoritem se lahko uporabi v sistemih za nadzor baterij »Battery management systems« (BMS) za preprečevanje prenapolnjenosti ali izpraznjenosti. Algoritem je bil implementiran in testiran na mikrikrmilniku STM32F4. 5 Literatura [1] Hongwen He, Rui Xiong, Jinxin Fan, „Evaluation of Lithium-Ion Battery Equivalent Circuit Models,“ energies, Izv. 1, št. 1, pp. 582-598, 2011. [2] G. L. Plett, „Battery Management Systems,“ v Battery Management Systems, Volume I: Battery Modeling, Norwood, Artech House, 2015, pp. 29,30,31,44,45,57,58. [3] M. Danko, J. Adamec, M. Taraba, P. Drgona, „Overview of batteries State of Charge estimation methods,“ v 13th International Scientific Conference on Sustainable, Modern and Safe Transport, Novy Smokovec, 2019. [4] I. Baccouche, S. Jemmali, B. Manai, N. E. B. Amara, „Implementation of a Coulomb Counting Algorithm for SOC estimation of Li-Ion Battery for Multimedia Applications,“ v 12th International Multi-Conference on Systems, Signals & Devices, 2015. [5] C. R. Reeves, „Genetic Algorithms,“ v Handbook of Metaheuristics, Boston, MA, Springer, 2010, pp. 109-139. [6] M. Srinivas, M. Patnaik, „Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms,“ IEEE, Izv. 24, št. 4, pp. 656-667, 1994. STANJE NAPOLNJENOSTI BATERIJSKE CELICE NA OSNOVI ESC MODELA NADGRAJENEGA S POVRATNO ZANKO IN GENETSKIM ALGORITMOM Kristijan Korez, Miran Globevnik*, , 2000 Maribor E- *(em.tronic ) kristijan.korez@.um.si, miran.globevnik@gmail.com, marko.antoncic@student.um.si, State of charge estimation of battery cell based on ESC model with feedback and genetic algorithm Abstract. The paper presents the development and testing of an algorithm for state of charge (SOC) estimation for Lithium-titanate oxide battery cell. Functionality of the algorithm for SOC based on ESC model, genetic algorithm and feedback compensation of SOC was compared with the well-known Coulomb counting method. The advantage of our algorithm is the on-line estimation of ESC model parameters which results much better estimation of SOC, especially during long term exploration of the battery cell. razlogom se razvijajo in razvitih je bilo vrsto ESC model (angl. enhanced self-correcting napreden samo-korekcijski model), s katerim smo se ukvarjali tudi sami. opis ESC modela najdemo v [1]. 2 Napredni samo-korekcijski model baterijske celice (ESC) ESC model temelji na modeliranju baterije na osnovi se model sestoji iz napetostnega vira, histereze, RC serijske upornosti R0. Model predstavlja slika 1. 1 Uvod e aplikacij in naprav. Baterije se iz leta v leto razvijajo in glede na njihovo kemijsko sestavo. Vsak baterijski tip ima svoje lastnosti, kot tudi prednosti in slabosti. Razvoj imele baterije kapaciteto glede na njihov volumen in maso, zraven tega pa bi bile sposobne zagotoviti ustrezen tok in napetostni nivo. Pri tem je zelo pomembna Slika 1: ESC model baterije. model Proizvajalci baterijskih celic zmeraj podajo napetostne in tokovne omejitve baterije, znotraj katerih se naj celice uporabljajo. Pri tem govorimo predvsem o preveliki tokovni obremenitvi, napolnitvi ali spraznitvi celice. Da do tega ne pride, krbijo namenska elektronska vezja imenovana Battery Management System ali BMS. Sam BMS meri napetosti in tokove celic in je v primeru preobremenitve celice sposoben reagirati s prekinitvijo tokokroga. BMS je eden izmed osrednjih sestavnih delov baterij. [3] in [4]. , (2) [1], [2] . Napolnjenost baterije v tuji literaturi imenujemo state of charge , v nadaljevanju SOC. Znotraj baterije potekajo zapleteni kemijski procesi, ki pa niso direktno merljivi. baterijske celice, se moramo i. Izmerimo lahko tok, temperaturo in napetost baterijske ERK'2021, Portorož, 251-254 , (1) 251 (3) ], : iRjupornost baterije, i-tok skozi R0, RjCjstanje napolnjenosti, h-histereza, histerezna konstanta, M0- (4) R0 notranja SOC- M- Coulombov izkoristek, -konstanta razpada, Qkapaciteta, OCV-ang. open circuit voltage - napetost odprtih sponk Model celice bo dober takrat, kadar se modelirana in merjena napetost na baterijski celici tekom obremenjevanja zelo dobro ujemata. Da bi znali zelo dobro modelirati napetost izbrane celice, je potrebno pravilno nastaviti parametre, ki jih zahteva ESC model. , medtem ko so drugi nemerljivi. parametrov trenutni avtorji uporabljajo optimizacijske metode kot je na primer Kalmanov filter [3]. Mi smo se za uporabo genetskega algoritma-GA. Prednost izbrane metode je, da ne zaide v lokalni optimum. genetskem algoritmu lahko najdemo v [5], [6]. To pomeni, da nam ni potrebno iskanih parametrov. S tem pa se izognemo dodatnim baterijskih celic, s katerimi korigira SOC, da je razlika med modelirano in merjeno napetostjo minimalna. Na sliki 2 lahko vidimo, da ESC model sedaj vsebuje dve povratni zanki. Povratna zanka barve (med vhodom in izhodom ESC bloka) na e toka skozi celico, kapaciteto in izkoristek. Povratna vezava barve pa korigira SOC glede na razliko v merjeni in modelirani napetosti. V tej isti zanki se isto povratno zanko vplivamo na korigiranje modela na dveh mestih hkrati, lahko to privede d medsebojnega delovanja, saj si lahko korekciji nasprotujeta. Medsebojnemu nasprotovanju se lahko izognemo tako, da je frekvenca korigiranja parametrov s parametrov ESC. Slabost ESC modela je ta, da potrebuje kasneje vpliva in parametrov baterije se spreminjajo v odvisnosti od SOC, medtem ko so drugi konstantni skozi celoten SOC. Nekateri izmed parametrov se spreminjajo s starostjo baterije. Na podlagi spremljanja zgodovine teh parametrov -Coulombov izkoristek) bi lahko ugotavljali tudi dotrajanost baterije. modelira napetost baterijske celice ob predpostavki, da poznamo vse parametre ESC modela za tip baterijske celice. Zahteva, , modela. Kot je bilo omenjeno, , ki smo si ga zastavili je bilo: kako lahko iz modelirane in izmerjene napetosti sklepamo o SOC? S tem razlogom smo se lotili nadgradnje ESC modela prikazanega na sliki 2. Optimalna pogostost posodabljanja parametrov ESC pa je odvisna tudi od hitrosti spreminjanja teh parametrov 3 Opis merilne metode in iskanje parametrov ESC iskanjem parametrov ESC algoritma. Prva faza je bilo preverjanje pravilnosti delovanja zasnovanega algoritma za napovedovanje parametrov baterije. Pravilnost smo ugotavljali tako, da smo si obremenjevali po izbranem tokovnem profilu. Na tak Nato smo predpostavili, da posneta modelirana napetost predstavlja navidezno izmerjeno napetost in da parametrov ESC modela ne poznamo. Nadalje smo s [5], [6] modela, da bo razlika med navidezno izmerjeno in modelirano napetostjo minimalna. Simulacija je potrdila delovanje algoritma, saj smo v nekaj generacijah GA dosegli popolno prekrivanje navidezno izmerjene in modelirane napetosti. Parametri, ki so bili pri tem najdeni, so popolnoma sovpadali s parametri, ki smo si jih predhodno izmislili za izris navidezno izmerjene napetosti. Slika 2: Nadgrajen ESC model. povratno vezavo, in genetskim algoritmom za iskanje parametrov ESC. Nadgradnja ESC modela deluje tako, da v vsakem em koraku izmerimo napetost na realni bateriji in jo primerjamo z napetostjo, ki jo modelira ESC model. Razliko v in jo pr u m 252 Po potrditvi delovanja ESC+GA modela je sledilo GA. Vse teste smo izvajali na litij-titanat-oksid (LTO) baterijski celici. V ta namen smo implementirali posebno proceduro priprave in obremenjevanja baterije. Procedura je bila naslednja: - pred polnilni proces baterije: baterijo s tokom C/30 polnimo do maksimalne napetosti baterijske celice (tako % SOC); - obremenjevanje baterije po izbranem tokovnem profilu: p alno napetost baterijske celice; - izpraznitev do 0 % SOC: s tokom C/30 praznimo da dos celice; - sledi polnjenje celice z 1C do maksimalne napetosti; - nadaljujemo s polnjenjem s C/30 do maksimalne napetosti celice; - nazadnje sledi dve uri . obremenitveni test predstavlja tabelo meritev. Tabela vsebuje meritev toka, napetosti in temperature za vsak vsako 0.1 s. meritvami napetosti pri obremenitvenem tokovnem profilu. ESC model opisuje Zato moramo baterijo obremenjevati realno celico. C-razmerje (C-rate) predstavlja razmerje med kapaciteto baterije in tokom praznjenja ali polnjenja. Proizvajalci baterij razmerju lahko preberemo v [7]. Za namen snemanja obremenitvenega profila je bila razvita namenska strojna oprema. Razlog za to je bila tudi sorazmerno majhna merilna elektronskega bremena in vira Rigol. Bila je zasnovana tako, da je bila ( 625 A), napetost ( 1.25 mV) in temperaturo ( C) baterijske celice. direktno komunikacijo z Matlab-om preko serijske komunikacije. Za obremenjevanje po tokovnem profilu (polnjenje in praznjenje) smo uporabili laboratorijski tokovno/ napetostni vir Rigol DP8921A in elektronsko breme Rigol DL3021A. vhodoma za serijsko komunikacijo. Preko serijske Matlabom. Celotna programska procedura Slika 4: Meritev obremenjevanja baterijske celice. S slike 4 je razvidno, da se obremenitveni profil ponovi dvakrat. Baterijska celica pa je bila tekom obremenjevanja dvakrat popolnoma izpraznjena in dvakrat popolnoma napolnjena. Obremenjevanje je v tem testu Obremenitveni profil prikazan na sliki 4 smo v nadaljevanju uporabili za Parametre smo z ra i na so bili od Najdene parametre smo v nadaljevanju uporabili za napovedovanje SOC pri 62 urnem obremenjevanju baterije. Na sliki 4 vidimo, da se Pri dobljeni rezultati veliko , saj v tem primeru nismo zajeli celotne dinamike obremenitvenega profila. 4 Prikaz merilnih rezultatov napovedovanja SOC z ESC+GA Slika 3: Strojna oprema za merjenje in obremenjevanje baterije. Vsak 253 V nadaljevanju smo z obremenitvenim profilom prikazanim na sliki 4 obremenjevali baterijo dokler ni dosegla minimalne napetosti. Nato je sledilo polnjenje s tokom 1 A do maksimalne napetosti C/30 do maksimalne nap baterijo na 100 , kjer s polnilnim tokom , kot osnova za primerjavo napovedovanja SOC po tokovni (Coulomb) metodi in ESC+GA metodi. Zgoraj opisano proceduro obremenjevanja in polnjenja smo ponovili 20-krat. Tako je obremenjevanje v celoti trajalo Meritve 62 urnega testa so predstavljene na sliki 5. 100% SOC, medtem ko Coulombova metoda napove 84% SOC. Slika 7 Slika 5: 62 urno obremenjevanje baterije. Na sliki 5 imamo na prvem grafu prikazano primerjavo med merjeno in s ESC+GA modelirano napetostjo. Na drugem grafu je prikazana primerjava med napovedanim SOC po Coulomb metodi in ESC+GA metodi. Na tretjem grafu je prikazana razlika v SOC med eno in drugo metodo. Za ESC model smo uporabili najdene parametre (slika 4). Za napovedovanje SOC po tokovni metodi je [2], ki . Z vertikalnimi (zelenimi) so . 5 pri kratkotrajnih (do 120 min ) obremenitvenih testih je Coulombova metoda za odtenek napovedovanju SOC kot ESC+GA metoda. ESC+GA tokovne dnost pri napovedovanju SOC z ESC+GA metodo. Nadgrajen ESC+GA model nima tendence k integraciji Na sliki 6 lahko vidimo ali Prednost ESC+GA metode je tudi v tem, da ne potrebujemo ni Napaka v napovedi SOC na osnovi ESC+GA modela je posledica predvsem tega ne zna opisati, vendar je model i i. Literatura Slika 6 vertikalne linije. Na sliki 6 lahko vidimo, da se SOC napovedan po ESC+GA in Coulomb metodi sorazmerno dobro ujemata. S tretjega grafa na sliki 6 je razvidno tudi, da se razlika obremenjevanja zato te , katera metoda daje , napetost pri polnjenju s tokom C/30. V trenutku, ko , ima 100% SOC. Ugotovimo lahko, da ESC metoda prav tako napove 254 [1] G. L. Plett, Battery Management Systems vol1, Battery Modeling, Norwood: Artech House, 2015. [2] Tolga O, Emre B. Sinan K. Battery management Measurement and Control, 2019. [3] G. L. Plett, Battery Management Systems vol2, Equivalent-Circuit Methods, Norwood: Artech House, 2016. [4] D. Andrea, Battery Management Systems, Norwood: Artech house, 2010. [5] tehnike v mehatroniki V2, Maribor: Univerzitetna [6] D. Beasley, An overview of genetic algorithms: Part 1 Fundamentals, Bristol: University of Cardi, 1993. [7] WIKIPEDIA, https://en.wikipedia.org/wiki/Electric_battery, [Pridobljeno 24.6.2021]. BMS za hibridni koncept baterij Miran Globevnik, Rudolf-Leon Filip EM.TRONIC d.o.o. Počehova 12, 2000 Maribor, Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko), Koroška cesta 46, 2000 Maribor E-pošta: miran.globevnik@gmail.com, rudolfilip@gmail.com BMS for a hybrid battery concept Abstract. The paper presents the development of modern hardware based BMS for hybrid battery management system. Hardware has been developed on demand for ESC battery model and battery parameters estimating with genetic algorithm. Hardware has been realized and tested on a lab model and an electric motorcycle model. Support electronics have also been developed. 1 Uvod Svet drvi v elektro mobilnost, »dostopna energija pa je v bateriji«. Običajne in široko dostopne baterije v civilni sferi so osnovane na litiju. Ne glede na tehnologijo baterije je baterija elektro-kemični multivariabilni element in najpomembnejša naprava mehatronskega sistema. Kot gorivo v avtomobilu nas vedno zanima koliko energije imamo še na razpolago v bateriji, v kakšni 'kondiciji' je baterija, kdaj jo moram zamenjati, kako jo moram vzdrževati? Od vsega naštetega pričakujemo podatkovni tok od baterije v nadzorni sistem. Poudariti je potrebno, da se parametri baterije vedno spreminjajo. Povrh so odvisni in soodvisni od zunanjih dejavnikov in načina uporabe. Vsled naštetega je razumeti, da so natančno izmerjeni parametri baterije fokus našega opazovanja. Zgradili smo BMS (angl. battery management system – sistem upravljanja baterije) s hibridno baterijo za tekmovalni elektro motocikel. Zasnova BMS motocikla izhaja iz hibridnega koncepta baterij. Hibridni baterijski paket je sestavljen iz različnih baterij. V našem primeru so baterije Li-NMC in LTO (Litij-Ion, Litij Titanate Oxid). Li-NMC baterija ima veliko kapaciteto (Ah) in nizke izhodne tokove (2C). LTO baterija ima dvakrat nižjo kapaciteto kot LiNMC baterija, izhodni tokovi pa so lahko tudi do 60C. Namen hibridnega baterijskega paketa je v tem, da LTO baterija pokriva hiter zagon motocikla, Li-Ion baterija pa vzdržuje kontinuiteto premikanja motocikla. Zgrajena elektronika ščiti bateriji pred poškodbami, komunicira z nadzornim računalnikom, balansira baterije med polnjenjem in izvaja dinamičen genetski algoritem identifikacije parametrov baterije. Predstavljen je laboratorijski model, ki je identičen modelu BMS motocikla v izdelavi. Izdelali smo oba. 2 Predstavitev BMS 2.1 Blokovna shema celotnega sistema Slika 1. prikazuje kompletno shemo BMS sistema. Bateriji Li-NMC in LTO sta vezani paralelno preko DC/DC boost pretvornika zaradi neenakih napetosti različnih tipov baterij, ki so v sklopu hibridnega paketa. Napetost združenih paketov obeh baterij je priklopljena na inverter, ki z motorjem predstavlja baterijsko breme. Na isti osi prvega AC motorja je motor, ki ni v sklopu baterijskega paketa in služi temu, da prvemu motorju dinamično nastavljamo obremenitev preko LXI sistema. Slika 1: Shema laboratorijskega modela BMS modela z dvema 1 kW motorjema ERK'2021, Portorož, 255-258 255 (LAN eXtension for instrumetation) [1]. ECU (angl. electronic control unit) je povezovalni računalnik, ki logično poveže vse elektronske deležnike v enoten sklop na podatkovnem nivoju, obdeluje podatke in skrbi za povezavo z »zunanjin svetom«. LXI sistem, ki omogoča daljinsko zbiranja meritev, debagiranje, analizo in servis celotnega sistema. Slika 2. prikazuje fizična AC motorja in inverterja iz sheme BMS na sliki 1. Moč motorjev je 2 x 1kW. 2.2.1 Kratkostična zaščita je narejena analogno s shunt senzorjem in podpornim analognim vezjem, ki ima procesorsko podporo. Reakcijski čas odklopa je reda mikrosekunde, saj so odklopni elementi NMOSFET, linijska induktivnost pa zagotavlja, da tokovni sunek nima pretiranega prenihaja. Shunt, kot senzor je ugoden, saj zagotavlja robustnost, natančnost in ponovljivost meritve toka ter preprosto merilno vezje. Procesor kot zaščita je prepočasen. Pri malih in hitrih sistemih, kjer si iz takih ali drugačnih razlogov procesorja kot zaščito ne moremo privoščiti. Procesor vsak kratek stik evidentira in kratkostično zaščito resetira. Če število kratkih stikov preseže limito procesor zaščite ne vklopi ponovno in kratek stik prijavi nadzornemu sistemu v ECU BMS enoti (slika1). 2.2.2 Slika 2:Laboratorijski model BMS sistema z dvema 1 kW motorjema Kratkostična zaščita Merilni sistem za meritev toka Merilni sistem je osnovan na SHUNTU 4 mΩ in v primeru motocikel BMS 100 µΩ. Analogno digitalni pretvornik se izkrmili pri 81,92 mV, kvantizacija pretvornika je 32768. To izhodišče nam da kvant merjenega toka: Lab model: Rs=4 mΩ, ločljivost 6.2 mA in merilno območje 20,4 A. Motocikl model: Rs=100 µΩ ločljivost 25mA, merilno območje = 816A itd. Merilni sistem meri skupni tok baterijskega paketa. Merilno natančnost pri teh tokovih potrebuje genetski algoritem [1]. Merilni sistem je natančen in je del sistema LXI. Potrebno je poudariti, da smo se BMS-a lotili etapno. Idejni načrt smo razdelili na osnovne enote in izdelali vsakega posebej, ga izpilili in napisali osnovno programski opremo. Tudi tako, da je ustrezala LXI zahtevam. Slika 4. prikazuje parcialni merilni sistem, ki ga uporabimo v končni verziji BMS in za avtomatske meritve baterije v sklopu polnilnika in elektronskega bremena. S tem smo dosegli dvoje: izvedli osnovne meritve baterije in rezultate prenesli po LXI sistemu v Matlab, nastalo programsko opremo pa uporabili pri sestavi kompleksnega BMS-a za laboratorijski BMS in BMS motocikla. Slika 3: Povezava inverterjev z dvema 1 kW motorjema 2.2 Primarna stran BMS Primarna stran BMS je BMS, ki upravlja z Li-NMC baterijo. Osnovni podatki za eno celico Li-NMC so: 2,4V/4,2V, 2C. Posamezne celice so povezane paralelno in zaporedno zaradi zmogljivosti po toku in napetosti. Li-NMC baterija ne zmore velikih večkratnikov svoje tokovne zmogljivosti. Baterija zmore konstanten tok na dolgi rok. Primarna stran baterije je namenjena motorju, ko ni pretirano obremenjen in to obremenitev baterija zmore, ne da bi baterijska napetost padla. Baterijo na primarni strani ščitimo na dva načina. DC/DC pretvornik ima nastavljivo tokovno limito. Na ta način preprečimo, da bi baterija bila preobremenjena. Osnovna zaščita baterije je bateriji prigrajen BMS, ki ima več funkcij. Opis BMS-a je opisan v naslednjih podpoglavjih. 256 Slika 4: Pilotni merilni sistem baterije uporabljen v BMS 2.2.3 Meritve temperature posameznih celic Genetski algoritem napovedovanja napolnjenosti baterije [7] potrebuje za izračun meritev temperature posamezne celice. Meritev temperature je narejena s senzorji v obliki 'glavnika' kot prikazuje slika 5. Razmak 'zobov glavnika' ustreza razmaku med bateriskimi celicami. Tip senzorja temperature je NCT75 (čip OnSemi I2c). napetost, merimo temperaturo pretvornika za servisne namene. DC/DC pretvornik je vključen v LXI sistem. 2.4 Sekundarna stran BMS Sekundarna stran BMS je BMS, ki upravlja z LTO baterijo. Osnovni podatki za eno celico LTO so 1,5V/2,8V, 60C. Zmogljivost LTO baterije je enormno večja kot pri Li-NMC bateriji. V času nekaj sekund zmore LTO baterija tudi do 60C. BMS sekundarne strani predstavljenega laboratorijskega modela je zgrajen identično kot primarna stran s tem, da so upoštevane danosti LTO. V primeru BMS realnega motocikla so stvari drugačne. Napetosti 200-350V zahtevajo drugačen pristop. Stikalni element ni MOSFET temveč kontaktor, kar za posledico povzroči težavno izvedbo zahtevanih performansov baterijskega sistema. V času izdelave funkcionalnega BMS smo se omejili na funkcionalnost izdelka. V naslednjem redizajnu pa moramo upoštevati vse IEC standarde, podstandarde EMC [2] in stopnjo varnosti ASIL-D [*1] saj gre izdelek, ki spada v avtomobilsko kategorijo za katero so zahtevani posebni standardi. Pri večjih BMS je smiselno sistem sestaviti modularno, saj so paketi med seboj po številu baterij zelo različni. Na sliki 7. je balansirni modul BMS-ja motocikla, ki je uporaben na kateremkoli BMS sistemu. Slika 5: Modul za merjenje temperature z 8 senzorji 2.2.4 Balansirni sistem Balansirni sistem ima dva namena. Prvi je namenjen merjenju napetosti posameznih celic in drugi balansiranju celic. Poznavanje napetosti posamezne celice potrebujeta dva algoritma: genetski algoritem identifikacije parametrov baterije in balansirni algoritem. Genetski algoritem je predstavljen v [7]. Balansirni sistem je osnovan pasivno. Pomeni, da se energija celic ne prerazporeja med celicami, temveč je k vsaki celici vzporedno preko stikala priklopljen balansirni upor, ki je krmiljen z balansirnim algoritmom. Ob vklopu stikala se na balansirnem uporu porablja energija celice in ji s tem napetost pade. Balansirni algoritem balansiranja baterij se vklaplja samo pri polnjenju baterij, ko se smer toka v bateriji obrne. Balansirni sistem pri polnjenju vklaplja balansirne upore tako, da zagotovi na vseh celicah približno enako napetost. Procesor BMS opazuje balansirni proces in poroča nadzornemu sistemu. Balansirni sistem je zgrajen z vezjem LTC6804-1. V primeru primarne strani BMS, kjer imamo Li-NMC se balansirni algoritem vklopi le ob polnjenju Li-NMC baterije. V primeru sekundarnega BMS-ja, kjer je LTO baterija pa se praznjenje ali polnjenje (balansiranje baterije) izvaja dinamično glede na obremenitev paketa. 2.3 DC-DC pretvornik Kot je bilo povedano v uvodu ima DC-DC pretvornik več nalog. Izenačevanje potencialov različnih baterijskih paketov in posredno sekundarno zaščito primarnega baterijskega paketa. DC-DC pretvornik je tipa back/boost. Pretvornik je opremljen s CAN [4] vodilom, s katerim nastavimo tokovno limito, izhodno Slika 6: Primarni in sekundarni BMS laboratorijskega modela BMS z DC-DC pretvornikom Nadzorni računalnik ECU, BMS ECU (angl. electronic control unit) je zgrajen okrog zmogljivega procesorja STM32L4RV5, ki je različica STM32F417 120/168MHz. S strojnega stališča ECU podpira 4x CAN vodilo, 2x UART za servis in debagiranje, 2x UART za komunikacijo s podrejenima procesorjema na lokalnih BMS-jih, ki skrbita za meritve, zaščito in balansiranje LTO in Li-NMC baterije. Naloge so porazdeljene. Ni smiselno lokalne procesorje obremenjevati s časovno zahtevnimi algoritmi, zato smo te naloge preselili na ECU. Procesorja STM32G071 primarnega in sekundarnega BMS-a zbrane podatke meritev pošljeta preko lokalne UART povezave na ECU, ki te podatke uporabi za izračun genetskega algoritma, katerega končni rezultat je SOC - stanje napolnjenosti baterije. Osnovna povezava z BMS sistemom je OBD, (sistem za diagnostiko – OBD [*1] ASIL-D is an automotive risk classification that is part of a larger ISO standard – ISO 26262 257 konektor) ki pa vedno ni fizično na razpolago. Predvsem tedaj, ko je sistem na terenu. Za ta namen smo uporabili obstoječo GSM infrastruturo 2G (cellular network), do katerega dostopamo s SIM800H. SIM800H je 2G GSM komunikacijski modul starejše generacije. S protokolom MQTT [2] opazujemo podatke BMS sistema, ko nam sistem ni fizično dosegljiv. 4 Zaključek V prispevku je predstavljen razvoj BMS-a za hibridni tip baterij. Sistem, ki smo ga zgradili daleč presega sam pomen BMS-a, ki se v svoji osnovi ukvarja le z zaščito baterije. Predstavljen BMS je kompleksna naprava s koščkom umetne inteligence skrite v genetskem algoritmu, ki se ukvarja z identifikacijo baterije. Zavedamo se, da je naše delo brez pomena, če ga ne pripravimo za tržišče. Posledično se projekt ukvarja s 'top-down' dizajnom: funkcionalnost, standardi, sistemskimi simulacijami, močnostno, analogno, digitalno elektroniko (SPICE), RF (CST) in končno EMC ne bo nikoli zadostoval standardom, če PCB-jev ne narišemo sami (ALTIUM) [3] in ostanemo v okviru budžeta. Iz naštetega je slutiti, da je sam BMS le košček celotne slike in ta slika je tisto kar izdelku daje svojo težo in to je pogoj, da se izdelek pojavi na trgu podobnih izdelkov. Vse kar sledi je stvar ekonomije. 5 Literatura Slika 7: Balansirni modul [1] 3 LXI sistem LXI [1] sistem je razvilo podjetje National Instrument. Namen LXI sistema je povezati vse merilne instrumente v podatkovno celoto in jo krmiliti s skripto. Komunikacija med napravami poteka s preprostimi semi standardnimi ASCI nizi (SCPI ukazi). LXI zagotovi možnost kreirati hibridni podatkovni sistem, ki vsebuje LXI, GPIB, VXI, PXI, PCI in ostale standarde prenosa podatkov. Podatkovni nosilec je lahko karkoli: CAN, UART, LAN itd. Še posebej pri delu z baterijami so nekateri testi in meritve časovno dolgotrajni., tudi po teden dni dolgi. Pomagajo nam skripte PS1 ali Matlab, ki izvedejo meritve avtomatsko, jih obdelajo, izrišejo diagrame in pomagajo poiskati optimalne rešitve [1]. Vso elektroniko, ki smo jo zgradili smo izdelali v smislu LXI naprave. [2] [3] [4] [5] LXI, „LXI,“ 20 Marec 2021. [Elektronski]. Available: https://en.wikipedia.org/wiki/LAN_eXtensions_fo r_Instrumentation. [Poskus dostopa 28 Junij 2021]. EMC, „EMC,“ 17 Maj 2021. [Elektronski]. Available: https://en.wikipedia.org/wiki/List_of_common_E MC_test_standards. [Poskus dostopa 28 Junij 2021]. ALTIUM, „ALTIUM,“ 26 june 2021. [Elektronski]. Available: https://en.wikipedia.org/wiki/Altium. [Poskus dostopa 28 Junij 2021]. CAN, „CAN,“ 20 Junij 2021. [Elektronski]. Available: https://en.wikipedia.org/wiki/CAN_bus. [Poskus dostopa 28 Junij 2021]. wikipedia, „MQTT,“ 18 maj 2021. [Elektronski]. Available: https://en.wikipedia.org/wiki/MQTT. [Poskus dostopa 28 junij 2021]. [7] K. Korez, R. Šafarič, M. Antončič, M. Globevnik, Napovedovanje stanja napolnjenosti baterijske celice na osnovi ESC modela in genetskega algoritma, članek v proceduri za objavo v ERK2021 [8] G. L. Plett, Battery Modeling, ISBN-13: 9781630810238 [9] P. Weicker, Lithium-Ion Battery Management, ISBN-13: 978-1608076598 Slika 8: LXI sistem zajemanja in upravljanja s podatki 258 Avtomatska končna kontrola elektromotorjev Gregor Dolanc1, Boštjan Pregelj1, Janko Petrovčič1 Institut Jožef Stefan, Odsek za sisteme in vodenje E-pošta: gregor.dolanc@ijs.si 1 End-of-line quality inspection of electric motors Abstract. Fully automated end-of-line quality inspection systems are one of the key components of Industry 4.0 concept. This paper reports the implementation of such system in company Domel, a renowned producer of electric motors. Key requirements are fully automatic operation, high reliability of inspection, high throughput, which follows the speed of production line and high flexibility to be able to process different product types and their variants. In the context of Industry 4.0, diagnostic system should be fully integrated into factory central information system. This means that all configuration settings should be performed via factory information system and diagnostic results should be appended to the product’s unique data-file, which exists in the factory information system. 1 Uvod Izdelava motorjev v podjetju Domel poteka na sodobnih in visoko avtomatiziranih ter informatiziranih linijah, ki so značilne za Industrijo 4.0. Kupci motorjev (sistemski integratorji) zahtevajo, da se vsi pri vseh izdelkih, ki zapuščajo proizvodni tekoči trak, opravi končna kontrola kvalitete. Zaradi velikih proizvodnih kapacitet (proizvodnja preko 5000 kosov na dan samo na eni proizvodni liniji) in zahtevah po zanesljivi kontroli kvalitete je edino smiselno uvesti sistem oziroma napravo za popolnoma avtomatsko 100 % končno kontrolo kvalitete, ki preveri in diagnosticira vsak proizvedeni motor. Kupci pred vgradnjo v končne naprave in izdelke motorjev ne pregledujejo, pregledajo le nekaj naključno izbranih primerkov serije in če se med temi najdejo napake, sledijo negativne posledice, npr. zavrnitev celotne serije ter izguba zaupanja in ugleda. Iz tega razloga je zanesljivost delovanja diagnostične naprave za končno kontrolo kvalitete izredno pomembna. Naslednji izziv je raznolikost proizvodnje, posamezni tipi motorji se proizvajajo v različnih izvedbah, ki imajo lahko različne električne parametre ter nekoliko različno obliko ali dimenzije. Diagnostična naprava mora zato imeti zadostno stopnjo fleksibilnosti, ki omogoča obdelavo različnih tipov in izvedb motorjev. Fleksibilen mora biti programski del diagnostične naprave, še poseben izziv pa predstavlja fleksibilnost mehatronskega podsistema, ki mora biti sposoben prilagoditi se različnim oblikam in dimenzijam motorjev. V tem prispevku torej na kratko opisujmo zgradbo in princip delovanja diagnostične naprave. ERK'2021, Portorož, 259-262 259 2 Sestava in princip delovanja Diagnostična naprava, ki smo jo izdelali in jo opisujemo v tem prispevku, je namenjena končni kontroli različnih tipov brezkrtačnih DC motorjev (BLDC), primer prikazuje Slika 1. Končna kontrola kvalitete poteka na neinvaziven način preko meritve in analize različnih parametrov kvalitete. V ta namen se diagnostična naprava sestoji iz treh zaporednih testnih celic T1, T2 in T3, v katerih se izvajajo meritve posameznih Slika 1. Primer BLDC motorja, parametrov. V vsaki ki je predmet testiranja testni celici se motor začasno odstrani s proizvodnega traku, postavi se v testni položaj, se zažene, opravijo se meritve, motor se nato zaustavi in vrne na proizvodni trak. Celotno napravo prikazuje Slika 2. Slika 2. Pogled na diagnostično napravo (testne celice T1, T2, T3 od desne proti levi) V testni celici T1 se analizirajo električni parametri (električni tok, moč, inducirana napetost v prostem teku, delovanje hallovih senzorjev kota zasuka) ter pri motorjih, opremljenih s sesalnimi turbinami še sesalni podtlak. V testni celici T2 se merijo in analizirajo vibracije v nekaj točkah ohišja motorja. Meritve se izvajajo s pomočjo brezkontaktnega laserskega merilnika vibracij. Iz analize vibracij je mogoče ugotoviti različne napake, kot je masna neuravnoteženost rotirajočih delov Slika 3. Sekvenčni pomik palet in motorjev ter pripadajočih podatkovnih blokov (rotor, turbina), razne nesimetrije v elektromagnetnem polju ter razne anomalije in nesimetrije v povezavi s turbino. Na celici T2 se poleg vibracij meri tudi zvok motorja, iz katerega je tudi možno zaznati razne mehanske napake motorja, npr. drgnjenje turbine ob tesnilni obroč zaradi neustreznih toleranc, ali podobno. V celici T3 se meri zvok motorja pri nizkih hitrosti vrtenja. Pri teh pogojih je šum sesalne turbine zanemarljiv, do izraza pa pride zvok ležajev, iz česar je nato možno zaznati napake vgrajenih ležajev oziroma nepravilnosti pri vgradnji ležajev. Diagnostično napravo lahko obravnavamo kot skupek treh glavnih podsistemov: 1. mehatronski sistem za manipulacijo motorjev, 2. diagnostični sistem za izvedbo in analizo meritev ter 3. sistem za vodenje in koordinacijo celotne naprave. 2.1 Mehatronski podsistem Mehatronski podsistem skrbi za mehansko manipulacijo motorjev za potrebe njihovega testiranja. Mehanska manipulacija vključuje pomik motorjev vzdolž diagnostične naprave, ki je izveden s pomočjo permanentno tekočega transportnega traku. Motorji so nameščeni na paletah, ki jih pomika tekoči trak. Za zaustavitev palet na želenih testnih in čakalnih mestih so v okviru transportnega traku nameščeni pnevmatski zaustavljalci ter induktivni ali optični senzorji prisotnosti zaustavljenih palet. Princip transporta palet ponazarja Slika 3. Diagnostična naprava vsebuje 13 testnih in čakalnih mest, ki jih opisuje Tabela 1. Po končanih pomikih posameznih palet sledi dvig motorjev s proizvodnega traku, izolacija od vibracijskih in zvočnih motenj iz okolice ter vzpostavitev električnega napajanja motorjev preko pomičnih kontaktov. Za postavitev motorja v testni položaj na določeni testni celici je potrebnih 5-10 aktuatorjev. Mehatronski sistem skrbi tudi za 3D nastavitev položaja laserskega merilnika vibracij, s čemer je možno meriti vibracije na različnih točkah na ohišju motorja. Mehatronski sistem se skupno sestoji iz množice pnevmatskih aktuatorjev, opremljenih s senzorji končnih položajev. Poleg tega se v sistemu nahaja še 17 linearnih električnih pogonov in sicer za pomik laserskega merilnika vibracij, za prilagoditev položaja (višine) kontaktov različnim izvedbam motorjev ter za prilagoditev višine dviga palete ter položaja merilne podtlačne komore v testni celici T1. 260 Tabela 1. Testna in čakalna mesta ter pripadajoči končni avtomati Mesto / Opis avtomat LI Detekcija nove palete na vhodu W1 Branje podatkov z RFID čipa na vhodu v napravo in zapis v podatkovne bloke T1 Testna celica T1 manipulacija motorja in proženje meritev W2 - čakalno mesto T2A Testna celica T2 manipulacija motorja in T2B proženje meritev (tip motorja A, B, C) T2C W3 - čakalno mesto T3A Testna celica T3 manipulacija motorja in T3B proženje meritev (tip motorja A, B, C) T3C EX Kontrola pomika palet, kontrola izvedbe diagnostičnih akcij ter zapis rezultatov diagnostike na RFID čip in v podatkovno bazo LO Detekcija praznega mesta izza naprave Štev. stanj / 4 14 / 25 25 25 / 20 20 20 7 / Del mehatronskega sistema, ki pripada testni celici T2 (T2A, T2B in T3C), prikazuje Slika 4. Slika 4. Pogled na testno celico T2 2.2 Diagnostični podsistem Diagnostični podsistem je izveden na industrijskem osebnem računalniku, na katerem se izvaja diagnostična aplikacija, ki smo jo v programskem jeziku C++ razvili za namen te naprave. Glavne funkcije aplikacije so zagon motorjev, izvedba meritev signalov (električni parametri, podtlak, vibracije, zvok) ter procesiranje zajetih signalov. Vmesi rezultat procesiranja je serija značilk (nivoji Slika 5. Avtomat LT podsistema za vodenje napetosti, tokov, podtlaka ter jakosti vibracij in zvoka v izbranih frekvenčnih pasovih). Na podlagi značilk sistem zazna različne napake motorja in v večini primerov tudi prepozna vzrok oziroma okvarjeno komponento motorja. Zaradi omejenega obsega prispevka se v podrobnosti obdelave signalov ne bomo spuščali, v literaturi pa najdemo različne pristope k diagnostiki motorjev in sorodnih rotacijskih strojev na podlagi meritve vibracij in zvoka ter procesiranja izmerjenih signalov [1, 2, 3]. Diagnostični sistem je izveden v okviru več vzporednih in neodvisno tekočih programskih niti (threads), ki sočasno in asinhrono izvajajo naslednje operacije: • upravljanje motorjev na testnih celicah T1-T3 • meritve na tesnih celicah T1, T2 in T3 • pomik podatkovnih blokov vzporedno s fizičnim pomikom palet • izmenjava podatkov s sistemom za vodenje • generiranje končnega diagnostičnega rezultata • zapis diagnostičnega rezultata in značilk v centralni informacijski sistem podjetja Diagnostični podsistem z ostalimi podsistemi komunicira na različne načine. Merjene signale (tlak, tokovi in napetosti navitij, ter zvok in vibracije) vzorči s pomočjo kartic za zajem signalov (National Instruments), ki so na računalnik povezane preko USB vodila. S podsistemom za vodenje izmenjuje podatkov poteka preko TCP komunikacije. Testirane motorje krmili (zagon, nastavitev in odčitavanje parametrov) s pomočjo univerzalnih motorskih krmilnikov proizvajalca Nanotec preko TCP komunikacije. Električne parametre motorjev meri in dodatno analizira preko analizatorja moči (Rohde HMC), tudi preko TCP komunikacije. Za vsakega od instrumentov je bilo treba pripraviti ustrezen programski komunikacijski vmesnik oz. gonilnik. Eden od ključnih problemov pri diagnostiki tehničnih sistemov je nastavitev pragovnih vrednosti, na podlagi katerih se odloči, ali je posamezna značilka v področju normale. V našem primeru se vrednosti pragov določijo iz statistične porazdelitve značilk v okviru učne serije [45] motorjev določenega tipa ali pa se uporabijo vrednosti, določene v razvojnem laboratoriju podjetja Domel. 2.3 Podsistem za vodenje Podsistem za vodenje upravlja delovanje diagnostične naprave ter koordinira mehatronski in diagnostični podsistem. Realiziran je v okviru programirljivega 261 logičnega krmilnika (PLK) Siemens Simatic S1500, z okolico pa komunicira preko obsežnega seta digitalnih signalov (180 vhodnih in 110 izhodnih signalov), ter preko treh različnih komunikacijskih protokolov (Profinet, ISO-TCP ter RS-232). Programska oprema je implementirana v obliki dvonivojske strukture končnih avtomatov. Na zgornjem nivoju se nahaja avtomat transporta palet skozi diagnostično napravo (LT – Line Transport), ki skrbi za krmiljenje in nadzor pomika palet znotraj naprave, vstop novih palet, za pomik podatkovnih blokov vzporedno s paletami ter za proženje in nadzor podrejenih avtomatov testnih celic. Sestavo avtomata LT kaže Slika 5. Sočasno s pomikom palet vzdolž čakalnih in testnih mest se pomikajo tudi podatkovni bloki, ki nosijo podatke o paletah in testiranih motorjih. Podatkovni bloki se nahajajo v programirljivem logičnem krmilniku in v diagnostičnem računalniku. Podatkovni bloki v krmilniku vsebujejo informacijo o številki palete, serijski številki izdelka, statusu zaključenosti operacij na predhodnih delovnih postajah, status izvedbe meritev na posameznih testnih celicah diagnostične naprave. Podatkovni bloki v diagnostičnem računalniku poleg številke palete in serijske številke izdelka vsebujejo vse diagnostične rezultate (značilke), pridobljene v meritvah v testnih celicah. Na spodnjem nivoju se nahaja 9 podrejenih končnih avtomatov (W1, T1, T2A,T2B, T2C, T3A, T3B, T3C in EX), katerih oznake in funkcije definira Tabela 1. Za ilustracijo je prikazan primer enega od avtomatov (T3A) kaže Slika 6. Ti avtomati izvajajo mehanske manipulacije motorjev in prožijo meritve, ki jih izvaja diagnostični sistem. Na zadnjem mestu v napravi (EX) programirljivi logični krmilnik preveri skladnost številke palete in serijske številke motorja na podlagi treh izvorov podatkov: RFID čip palete, podatkovni blok v programirljivem logičnem krmilniku in podatkovni blok v diagnostičnem računalniku. Skladnost podatkov iz treh virov pomeni, da je bil pomik palet in podatkovnih blokov izveden pravilno, kar je eden od potrebnih pogojev za zapis diagnostičnega rezultata v bazo podatkov in na RFID čip na paleti. Pri pomiku motorjev vzdolž proizvodne linije in znotraj diagnostične naprave je potrebno poskrbeti za sledljivost motorjev, kar je izvedeno s pomočjo radiofrekvenčnega identifikacijskega sistema (RFID), ki se sestoji iz podatkovnih čipov, nameščenih na paletah ter bralno-pisalnih vmesnikov, nameščenih na posameznih postajah celotne proizvodne linije ter na vhodu in izhodu diagnostične naprave. Na podatkovnih čipih se nahajajo osnovni podatki o motorju (serijska številka, status opravil na predhodnih delovnih postajah, ipd.). pojava okvare na diagnostični napravi sistem javi naziv končnega avtomata in številko stanja, v katerem je prišlo do napake delovanja. Cena za to funkcionalnost je povečanje obsega programske opreme sistema za vodenje za cca. 50%. Vendar pa je prepoznavanje napak ključno za hitro in učinkovito odpravljanje možnih okvar in zastojev na napravi, ki lahko poteka tudi daljinsko. S stališča doseganja proizvodnih zahtev so namreč daljši zastoji v delovanju diagnostične naprave nesprejemljivi. 3 Zaključek Predstavljena naprava je zadnja od skupno preko 15 različnih diagnostičnih naprav, ki smo jih za podjetje Domel razvili in izdelali od leta 2004 dalje. V času priprave tega prispevka (julij 2021) se izvedba bliža zaključku, naprava se nahaja v poizkusnem obratovanju. Dodana vrednost te naprave v primerjavi s prejšnjimi podobnimi je neprimerno višja stopnja avtomatizirane fleksibilnosti. Naprava omogoča diagnostiko treh različnih tipov motorjev ter vrste izvedenk vsakega tipa. Tipičen rok od naročila do dokončanja izvedbe traja cca. 6 mesecev, dotična naprava pa je morala biti izvedena še v krajšem roku. Poleg načrtovanja in izvedbe je kritična in časovno zahtevna predvsem nabava materiala ter opreme, kar pomeni, da morajo biti ključne načrtovalske odločitve ter izbor opreme in materiala, opravljene zelo zgodaj v fazi načrtovanja. Izvedba naprave predstavlja izjemno zanimiv in multidisciplinaren praktikum iz avtomatike, procesiranja signalov, strojnega učenja, elektronike, programskega inženirstva, mehatronike in sorodnih disciplin. Razvoj in izvedbo konkretne diagnostične naprave je v letu 2021 izpeljala 5-6 članska ekipa, ki je pokrila zgoraj navedena področja. Poudariti je potrebno, da je razvoj temeljil na številnih izhodiščih, pristopih in metodah, ki jih je v preteklih 15 letih postopno razvila številčnejša ekipa sodelavcev Odseka za sisteme in vodenje na Institutu Jožef Stefan. Literatura Slika 6. Eden od devetih končnih avtomatov spodnjega nivoja (testna celica T2A) Eden od izjemno pomembnih elementov podsistema za vodenje je zaznavanje in alarmiranje nepravilnosti v delovanju same diagnostične naprave. Za vsako izvedeno akcijo sistem preveri pravilnost izvedbe, kar je izvedeno preko senzorjev končnih položajev aktuatorjev oziroma preko povratnih komunikacijskih telegramov naprav, s katerimi sistem za vodenje komunicira. Sistem za vodenje je sposoben prepoznati preko 450 različnih napak v delovanju diagnostične naprave V primeru 262 [1] W. Q. Lim, D. H. Zhang, J. H. Zhou, P. H. Belgi and H. L. Chan, "Vibration-based fault diagnostic platform for rotary machines," IECON 2010 - 36th Annual Conference on IEEE Industrial Electronics Society, 2010, pp. 1404-1409. [2] Edwards, S. et al. (1998). Fault Diagnosis of Rotating Machinery. The Shock and Vibration Digest. 30. pp. 4-13. [3] C. Cristalli et al, Mechanical fault detection of electric motors by laser vibrometer and accelerometer measurements, Mechanical Systems and Signal Processing, Volume 20, Issue 6, 2006, pp. 1350-1361. [4] P. Boškoski, J. Petrovčič, B. Musizza, Đ. Juričić. An endquality assessment system for electronically commutated motors based 3 on evidential reasoning. Expert systems with applications, 2011, vol. 38, no. 11, pp. 13816-13826. [5] Đ. Juričić, J. Petrovčič et al, End-Quality Control in the Manufacturing of Electrical Motors, in book: Case Studies in Control, Springer, 2013, pp. 221-256. Preliminarne meritve prototipa praktičnega šumnega termometra Rok Tavčar1, Samo Beguš1, Jovan Bojkovski1 1 Univerza v Ljubljani, Fakulteta za Elektrotehniko, Laboratorij za meritve in kakovost E-pošta: Rok.Tavcar@fe.uni-lj.si Evaluation of practical Johnson noise thermometer Abstract. Johnson noise thermometer is one of primary thermometers. This means that it does not need to be calibrated with another thermometer. One of the largest obstacles of measuring temperature with a Johnson noise thermometer is low value of thermal noise. Value of Johnson noise is in a range of a few microvolts RMS for practical thermometers. This is especially problematic in industry environments with high background electromagnetic noise. In this article evaluation of a prototype Johnson noise thermometer suitable for industry environment is presented. 1 Uvod Termometer na podlagi Johnsonovega šuma se uvršča med primarne termometre [1, 2]. Med drugimi so primerni termometri tudi: akustični termometer, plinski termometer in termometer celostnega sevanja. Teh termometrov pred uporabo ni potrebno umeriti z drugim termometrom ampak lahko temperaturo izračunamo neposredno iz konstant in drugih od temperature neodvisnih fizikalnih veličin. Z šumnim termometrom izmerimo temperaturo tako, da izmerimo efektivno vrednost termičnega šuma na znanem uporu. Enačba, ki povezuje temperaturo z močjo termičnega šuma je: 𝑇= ̅̅̅̅ 𝑉𝑇2 4𝑘𝐵 𝑅∆𝑓 (1) Kjer je kB Boltzmannova konstanta, R upornost, ∆𝑓 pasovna širina in ̅𝑉̅̅𝑇2̅ izmerjena efektivna napetost termičnega šuma. Efektivne napetosti termičnega šuma so majhne za uporabne vrednosti upornosti in temperature. Na primer na uporu z upornostjo 5 kΩ, ki je na temperaturi 20 ℃ je vrednost šumne napetosti 9 μV, pri merjenju šuma s pasovno širino 1 MHz. Ena izmed zahtev pri izdelavi praktičnega šumnega termometra je, da je negotovost izmerjene temperature manjša od 0,1 ℃. To pomeni, da mora biti negotovost izmerjenega termičnega šuma manjša kot 1,3 nV. 2 Metode Za merjenje termičnega šuma se največkrat uporablja sistem z dvema ojačevalnikoma in korelator [3, 4, 5, 6]. S takim načinom zmanjšamo oziroma odpravimo nekoreliran šum na ojačevalnikih. To je šum, ki se pojavi samo na enem izmed ojačevalnikov. Izhod korelatorja je: 𝑉𝑘 = ∑ 𝑉1 ∗ 𝑉2∗ ERK'2021, Portorož, 263-266 kjer je V1 spekter izhoda prvega ojačevalnika in V2 spekter izhoda drugega ojačevalnika. S tem načinom ne moremo odpraviti šumov, ki se pojavijo na obeh ojačevalnikih in šumov, na primer zaradi skupnega napajanja vseh ojačevalnikov. Prav tako ne moremo odpraviti dodatnih šumov, ki se pojavijo na merilnem uporu. Primer teh je šum zaradi elektromagnetnega valovanja iz okolice. Ta dva prispevka koreliranih šumov smo zmanjšali tako, da smo uporabili ločeno akumulatorsko napajanje za vsak ojačevalnik posebej in ustrezno ohišje. Ker prenosne funkcija (ojačenje) celotnega sistema ni mogoče dovolj dobro poznati za doseganje zastavljene negotovosti 0,1 ℃, smo uporabili referenčni vir šuma. To je predvsem posledica točnosti uporabljenih komponent v vezju in njihovih parazitnih kapacitivnosti. Običajno je kalibracijski signal vsota sinusnih signalov z znanimi (enakimi) amplitudami in znanimi frekvencami ter naključno fazo. Spekter takšnega signala izgleda kot glavnik. V časovnem prostoru pa je podoben Gaussovemu šumu. Z uporabljenim referenčnim virom smo tako kalibrirali oba ojačevalnika oziroma jima zmerili ojačenje. Na sliki 1 je prikazan izhod korelatorja iz katere nato izračunamo temperaturo. (2) 263 Slika 1: Spekter signala na izhodu … korelatorja. Vidne so spektralne komponente (razdelek FFTx), ki prikazujejo kalibracijski signal, ki se ponavlja vsakih N razdelkov. Med njimi so spektralne komponente merjene šumne napetosti. Temperaturo izračunamo po enačbi: 𝑉𝑐2 (3) 4𝑘𝐵 𝑅𝑚 ∆𝑓(𝑁𝑋 − 1) kjer je 𝑉𝑐2 efektivna napetost kalibracijskega signala, N perioda kalibracijskega signala v FFT spektru, 𝑅𝑚 upornost merilnega upora, ∆𝑓 pasovna širina enega razdelka FFT spektra in X razmerje med kalibracijskim signalom in izmerjenim šumom in je enako: 𝑇= 𝑋= 𝑉𝑥 𝑁−1 ∑𝑖=1 𝑉𝑥+𝑖 (4) kjer je 𝑉𝑥 vrednost FFT spektra izhoda korelatorja, kjer je prisoten kalibracijski signal, 𝑉𝑥+𝑖 so vrednosti FFT spektra izhoda korelatorja med dvema kalibracijskima signaloma. Enačba 3 velja v primeru, če lahko zanemarimo upornost vira kalibracijskega šuma, oziroma če lahko zanemarimo njegov šum. Če je upornost kalibracijskega vira prevelika postane enačba 3 odvisna tudi od zunanje temperature. V tem primeru moramo od kalibracijskega šuma odšteti prispevek zaradi termičnega šuma kalibracijskega vira. 2.1 Ojačevalnik zaščiten s stekleno cevko, da ne pride v stik s cevjo, ki je električno prevodna. Žice do merilnega upora so v cevi ločene med seboj. Vsaka žica je v svoji luknji keramične palice. Vsa ostala elektronika in priključki so v kovinski škatli (na sliki desno). Na sliki 2 je prikazana termometra vključno kalibracijskega signala. na izkušnje z prejšnjim drugimi obstoječimi ojačevalnikov[8, 9]. Na sliki 4 je prikazana notranjost škatle z obema ojačevalnikoma. Ojačevalnika sta enaka, razlika je samo v tem, da ima eden še vezje za prilagoditev kalibracijskega signala (na sliki spodaj levo). Večina preostalega prostora v škatli je zapolnjena s štirimi akumulatorji, ki omogočajo ločeno napajanje vsakega ojačevalnika. Vsak ojačevalnik ima svojo povezavo, do merilnega upora s čimer odstranimo vpliv termičnega šuma v povezovalnih žicah. To je posledica tega, da šum v povezavah ni koreliran. Izhod ojačevalnikov je diferencialni, s čimer zmanjšamo vpliv sofaznih motenj iz okolice. To je pomembno zato, ker je pričakovan izhod ojačevalnikov v območju od -1 V do +1 V. Tako kot vhod je tudi izhod ojačevalnikov galvansko ločen od enote za zajemanje podatkov. Z galvansko ločitvijo ojačevalnikov od ostale uporabljene opreme smo zmanjšali motnje, ki so bile posledica ozemljitvenih zank. poenostavljena shema šumnega z vezjem za prilagoditev Ojačevalnik smo izdelali glede izdelanim ojačevalnikom [7] in zasnovami nizko šumnih Slika 2: Poenostavljena termometra. shema izdelanega 3 1 2 Slika 3: Slika izdelanega ojačevalnika. Na sliki sta označena oba izhoda (1,2) in vhod (3) za kalibracijski signal. šumnega Na vhod Vo pripeljemo kalibracijski signal, ki ga nato oslabimo in galvansko ločimo od preostalega vezja. Končna efektivna napetost kalibracijskega signala, ki ga vidita ojačevalnika je: 𝑉𝑜 (5) 𝑉𝑐 = 𝑁𝑝 𝑅1 + 𝑅2 √𝑀 𝑁𝑠 𝑅2 Kjer je 𝑉𝑜 efektivna napetost oddanega signala, 𝑁𝑝 število ovojev primarnega navitja transformatorja, 𝑁𝑠 število ovojev sekundarnega navitja transformatorja, 𝑅1 in 𝑅2 sta upornosti napetostnega delilnika ter M število uporabljenih sinusnih signalov v referenčnem signalu. Upornost upora 𝑅1 v izdelanem termometru je 2 kΩ in upornost 𝑅2 je 1 Ω, število ovojev primarja je petkrat večje od števila ovojev sekundarja. S tem smo dosegli, da je upornost vira kalibracijskega šuma veliko manjša od upornosti merilnega upora. Tako veliko razmerje smo izbrali zaradi specifikacij uporabljenega vira kalibracijskega šuma in zaradi čim večjega dušenja motenj v kalibracijskem signalu. Amplituda kalibracijskega signala je bila 1 V. Na sliki 3 je prikazan izdelan šumni termometer. Merilni upor je na koncu zaprte cevi (na sliki levo). Upor je 264 Slika 4: Na sliki je vidna notranjost šumnega termometra z dvema ojačevalnikoma. Preostala notranjost je ob uporabi zasedena z akumulatorji. 3 Izvedba meritev Meritve smo izvedli v vodni kopeli in v točki ledišča. Na sliki 5 je prikazana postavitev šumnega termometra in referenčnega termometra v vodni kopeli. Potopitev izdelanega termometra je bila večja od 20 cm. V točki ledišča je postavitev enaka z istim referenčnim termometrom. 1 2 Slika 7: Na grafu so prikazane napake izmerjene temperature glede na referenčno temperaturo. Iz grafa na sliki 7 je razvidno, da je negotovost izmerjene temperature večja od 1 ℃. Predvidevamo, da je ta negotovost predvsem posledica motenj v izmerjenemu razmerju X, ki so prikazane na sliki 6. Temperaturna razlika 1 ℃ pri temperaturi 20 ℃ pomeni spremembo razmerja X iz 181,084 v 180,483. 5 Zaključek Slika 5: Postavitev šumnega termometra (1) in referenčnega termometra (2) v vodni kopeli. Temperaturo smo izmerili v devetih različnih temperaturnih točkah od 0 ℃ do 80 ℃. Čas trajanja ene meritve je pod 3 s. Skupen čas trajanja vseh meritev je bil 7 ur. 4 Rezultati Na sliki 6 je prikazano izmerjeno razmerje med efektivno vrednostjo kalibracijskega signala in efektivno vrednostjo šuma na merilnem uporu. Na sliki so prikazane vse vrednosti, ki smo jih uporabili za izračun temperature. Pasovna širina enega intervala je 38 Hz. Slika 6: Prikaz izmerjenega razmerja med efektivno vrednostjo kalibracijskega signala in efektivno vrednostjo šuma na merilnem uporu. Teoretična efektivna vrednost šuma na merilnem uporu, prikazanega na sliki 6 je 56 nV. Vidijo se tudi motnje pri 19 kHz, 21 kHz, 25,5 kHz in 29,5 kHz kjer izmerjeno razmerje pade. Amplituda teh motenj se je tekom meritev spreminjala, medtem ko so frekvence ostale enake. Ocenjena efektivna vrednost motnje pri 19 kHz je 1 μV. Eden izmed zaznanih razlogov za nastanek teh motenj, je stik ohišja termometra z ozemljitvijo električnega omrežja. Na sliki 7 so prikazane nekorigirane (nekalibrirane) napake izmerjene temperature glede na referenčno temperaturo. 265 Izdelan prototip praktičnega šumnega termometra je pokazal, da z njim lahko merimo temperature brez predhodnega umerjanja z drugim termometrom. Trenutni izdelan prototip ima negotovost izmerjene temperature večje od 1 ℃. Za večjo težavo so se izkazale elektromagnetne motnje, ki kljub zaščiti ostajajo večji problem. Za izboljšanje negotovosti izmerjene temperature je tako potrebno izboljšati odpornost na zunanje motnje ali pa jih odstraniti naknadno z ustreznim algoritmom. Ena izmed mogočih rešitev tega problema je iskanje teh motenj v spektru in jih izločiti iz nadaljnjih izračunov temperature. Literatura [1] P. Bramley, D. Cruickshank, and J. Pearce, “The Development of a Practical, Drift-Free, Johnson-Noise Thermometer for Industrial Applications,” International Journal of Thermophysics, vol. 38, no. 2, p. 25, Dec. 2016 [2] L. Callegaro, V. D’Elia, M. Pisani, and A. Pollarolo, An absolute Johnson noise thermometer. 2009 [3] S. W. Nam, S. P. Benz, P. D. Dresselhaus, C. J. Burroughs, Jr., W. L. Tew, D. R. White, and J. M. Martinis, “Progress on Johnson noise thermometry using a quantum voltage noise source for calibration,” IEEE Trans. Instrum. Meas., vol. 54, no. 2, pp. 653–657, Apr. 2005. [4] S. P. Benz, J. M. Martinis, S. W. Nam, W. L. Tew, and D. R. White, “A new approach to Johnson noise thermometry using a Josephson quantized voltage source for calibration,” in Proc. TEMPMEKO, 2001, pp. 37–44. [5] S. P. Benz, J. Qu, H. Rogalla, D. R. White, P. D. Dresselhaus, W. L. Tew, and S. W. Nam, “Improvements in the NIST Johnson noise thermometry system,” IEEE Trans. Instrum. Meas., vol. 58, no. 4, pp. 884–890, Apr. 2009. [6] D. R. White, S. P. Benz, J. R. Labenski, S. W. Nam, J. F. Qu, H. Rogalla, and W. L. Tew, “Measurement time and statistics for a noise thermometer with a synthetic-noise reference,” Metrologia, vol. 45, no. 4, pp. 395–405, Aug. 2008 [7] R. Tavčar, S. Beguš, J. Bojkovski, "Optimizacija ojačevalnika za praktični šumni termometer," v Zbornik devetindvajsete mednarodne Elektrotehniške in računalniške konference ERK 2020, 21.-22. september 2020, Portorož, Slovenija, A. Žemva, ur., A. Trost, ur. Ljubljana: IEEE Region 8, Slovenska sekcija IEEE, 2020, str. 265-268. [8] P. Horowitz, W. Hill, The Art of Electronics 3E, 2015 [9] J. Vojtěch, Design of ultra low noise amplifiers, 2018 266 Zasnova metode za določanje smerne občutljivosti sevalnih termometrov in termokamer Vid Mlačnik 1 Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška cesta 25, 1000 Ljubljana E-pošta: vid.mlacnik@gmail.com 1 Design of a method for determination of spatial sensitivity of radiation thermometer Abstract. In this paper, a new approach on measurement of spatial sensitivity of pyrometers and thermal cameras is designed. A method of scanning is developed, based on actuation of a square thermal radiation source over the field of view, utilizing deconvolution for compensation of the shape of the source. While the method appears to be versatile, it does exhibit susceptibility to temporal noise in measurement and should be used only when other methods of the Size-of-source measurements are not applicable. 1. Uvod Vpliv velikosti vira (ang. Size-of-Source effect oz. SSE) je znan pojav na področju sevalne termometrije. Pri pirometrih je vpliv velikosti vira opisan s prostorskim kotom, ki ustreza določenemu deležu izmerjenega sevanja. Običajno je za pirometre ta opis poenostavljen na premer odprtine na fiksni fokusni razdalji [1]. Za idealno meritev s pirometrom mora biti tarča dovolj velika, da vpliv zameglitve izzveni, kar je pomembno za zagotavljanje dobre merilne ali kalibracijske negotovosti. 2. Problem metode Tradicionalni pristop k merjenju vpliva velikosti vira je nekoliko omejen v primeru spremenljive fokusne razdalje, kar je primer pri naprednejših pirometrih, saj optični center pogosto ni merljiv. Navidezno oddaljenost centra bi bilo potrebno izmeriti ali podati glede na referenčno mesto na instrumentu. Za razliko od pirometrov, kjer je senzor skoraj vedno okrogel, je merilni del senzornih elementov pri termokamerah realiziran v najrazličnejših oblikah, kar je prav tako omejitev tradicionalne metode s krožnimi odprtinami. Teoretično se oblika merilne površine senzorja preko optičnega sklopa optičnega sistema inštrumenta prenese na vidno polje senzornega elementa (ang. instantaneous Field of View, iFoV). Pri prenosu skozi optični sistem se oblika iFoV nadalje popači. Zaradi nepopolnega opisa vpliva velikosti vira je smiselno zasnovati merilno metodo, ki bi podala informacijo pri poljubnih parametrih uporabe. Te je možno izpeljati iz smerne občutljivosti senzorja ter pripadajočega navideznega optičnega centra perspektive (Slika 1). ERK'2021, Portorož, 267-270 267 Smerna karakteristika občutljivosti senzorja na vidnem polju Termo-kamera ali pirometer Slika 1: Prikaz smerne karakteristike v odvisnosti od razdalje 3. Zasnova metode Smerno karakterstiko občutljivost senzornega elementa termokamere izmerimo z aktuacijo majhnega vira sevanja vzdolž osi slike. Velikost vira je zaželeno manjša od velikosti iFoV in idealno čim manjša, pri čemer morajo biti dimenzije znane. V vsaki poziciji vira se sproži merjenje moči sevanja v senzorni element. Z beleženjem pozicije dobimo karakteristiko sevalne moči v senzor v odvisnosti od pozicije vira. Glede na obliko vira lahko z naknadno kompenzacijo izračunamo karakteristiko občutljivosti senzorja na vidnem polju. Pri predpostavki, da je vidno polje senzorja večje od velikosti vira, je izmerjena sevalna moč na element senzorja uteženo povprečje dveh prispevkov – sevanja toplega vira in sevanja hladnega ozadja. Izmed povprečne vpadne moči na senzor 𝐵𝑖 lahko prispevek 𝐷 pripišemo visoko-temperaturnemu viru sevanja, temperature 𝑇1 in preostanek ozadju temperature 𝑇2 . Pri poenostavitvi sevanja črnega telesa, kar je zadovoljeno pri merjenju sevalne temperature direktno s kamere namesto referenčne temperature telesa, sevalno moč opišemo s Planckovim zakonom 𝑀𝑏,𝜆 (𝑇), vendar poenostavljeno uteženo s spektralno občutljivostjo senzorja 𝑆(𝜆), kot 𝑀𝑆(𝜆),𝜆 (𝑇) (1). V tem primeru je prav tako zanemarjena transmisivnost zraka. 𝑀𝑆(𝜆),𝜆 (𝑇) = 𝐷 ∙ 𝑀𝑆(𝜆),𝜆 (𝑇1 ) + (1 − 𝐷) ∙ 𝑀𝑆(𝜆),𝜆 (𝑇2 ) (1) Senzor je predpostavljeno kalibriran. Skupna občutljivost senzorja je potemtakem enaka 1, sicer bi imel senzor naklonski pogrešek. V primeru, ko je temperatura visokotemperaturnega vira neznana, lahko namesto merjenja te temperature in skaliranja deleža občutljivosti, skupno občutljivost normiramo na 1 in s tem preskočimo vnos druge (neznane) komponente nastopajočih temperatur. Neskladnosti meritve s to predpostavko lahko pripišemo merilnemu šumu ali napaki v vnosu oz. meritvi vhodnih parametrov 𝑇1 in 𝑇2 , oblike in velikosti sevalnega vira, napaki v pozicioniranju vira in ostalim sevalnim vplivom. Meritve jakosti sevanja pri skeniranju z virom vzdolž obeh osi slike predstavlja križno korelacijo med prostorsko občutljivostjo senzornega elementa in obliko vira sevanja. 4. Praktična realizacija 4.1. Vir sevanja Praktična izdelava majhnega vira sevanja je razmeroma težka. Stabilen in zadosti majhen vir se najlažje izdela z večjim visokotemperaturnim ozadjem stabilne temperature in homogene porazdelitve, ki ga zakrijemo z zaslonko nižje temperature (Slika 2). T2 Črno telo 4.3. Vrednoteni inštrument Pri zasnovi se osredotočamo na vrednotenje prostorske občutljivosti termokamere FLIR T1020 s 45° lečo. Preko programskega okolja FLIR ATLAS omogoča dostop do podatkov sevanja na senzor, opisanega z nepredznačenim celim številom, ali temperature pri nastavljeni emisivnosti, vključujoč kompenzacijo ostalih parametrov atmosfere, dolžine poti in temperature odseva. 5. Obdelava meritev 5.1. Dekonvolucija V zasnovi je opisan postopek zajema konvolucije občutljivosti sevalnega termometra v vidnem polju merilnega inštrumenta – bodisi pirometra ali termo kamere – in visokotemperaturnega vzbujanja, realiziranega z zaslonko. T1 Zaslonka tretja translacijska stopnja omogoča premik vzdolž optične osi merilnega inštrumenta. Ločljivost aktuacije je 0,01 mm. Termo-kamera ali pirometer Slika 2: Skeniranje smerne občutljivosti sevalnega termometra z aktuirano zaslonko in visokotemperaturnim stabilnim in homogenim ozadjem. Zaslonka je na zadnji strani odsevna zaradi izbranega materiala – aluminija, kar omejuje vpliv sevanja ozadja na temperaturo zaslonke, spredaj pa pobarvana z visokoemisivno barvo. Za ozadje lahko uporabimo ploščni kalibrator FLUKE 4181, prav tako visoke emisivnosti, ki je na voljo v laboratoriju. Pri metrološkem ovrednotenju se je vir izkazal za stabilnega, med tem ko je temperatura zaslonke določena s temperaturo zraka v prostoru in konvekcijo, zato mora biti pri izvajanju eksperimenta ta v ustaljenem stanju. Pri predpostavki, da je velikost zaslonke v vidnem polju nižja od velikosti vidnega polja senzorja, bo izmerjena temperatura slikovnega elementa nižja kakor je temperatura visokotemperaturnega ozadja. Kalibrator FLUKE 4181 lahko doseže temperaturo do 500 °C, med tem ko je merilno območje kamere omejeno z nižjo temperaturo 300 °C. Temperatura ozadja se bo v primeru presega območja termokamere pri eksperimentu prilagodila, med tem ko se lahko pri izvajanju eksperimenta na prostorsko bolj ločljivih kamerah, pri daljši razdalji (ki je zaradi realizacije omejena z velikostjo zaslonke 3x3 mm), ko je delež visoko-temperaturnega signala še nižji, ozadje nadomesti z manjšim virom višje temperature. 4.2. Aktuacija Vir potrebuje aktuacijo, za kar v laboratoriju že obstaja primerna naprava – po meri narejen avtomatski pozicionirni sistem za točno prostorsko pozicioniranje pri laboratorijskih poskusih [2]. Gre za robotsko mizo s petimi prostostnimi stopnjami – tri linearne translacijske ter dve rotacijski. V našem primeru potrebujemo le dve translacijski stopnji vzdolž osi vidnega polja, pri čemer 268 Pri vzorčenju zastopanosti tarče v senzornem elementu prihaja do konvolucije – izmerjena vrednost ustreza integralu produkta karakteristike občutljivosti v vidnem polju in vzbujanja. Slika 3: Prikaz konvolucije vzbujanja in smerne občutljivosti senzorja v vidnem polju. Slika 3 prikazuje vpliv neidealno majhne dimenzije zaslonke pri vzorčenju. Vzbujanje 𝑀𝑣 (𝑥) z virom pri poziciji 𝑥1 in širini zaslonke 𝑤, M(𝑇2 ); 𝑥 < 𝑥1 − 𝑤 𝑀𝑣 (𝑥) = {M(𝑇1 ); 𝑥1 − 𝑤 ≤ 𝑥 ≤ 𝑥1 M(𝑇2 ); 𝑥1 < 𝑥 (2) povzroči gostoto toplotnega toka 𝛷𝑖𝑧𝑚𝑒𝑟 skozi senzor termometra smerne občutljivosti 𝑆𝑥 (𝑥) (3). ∞ 𝛷𝑖𝑧𝑚𝑒𝑟 (𝑥1 ) = ∫ 𝑆𝑥 (𝑥)𝑀𝑣 (𝑥) 𝑑𝑥 = −∞ 𝑥1 −𝑤 =∫ 𝑥1 +∫ 𝑥1 −𝑤 −∞ 𝑆𝑥 (𝑥)𝑀(𝑇2 ) 𝑑𝑥 + ∞ 𝑆𝑥 (𝑥)𝑀(𝑇1 ) 𝑑𝑥 + ∫ 𝑆𝑥 (𝑥)𝑀(𝑇2 ) 𝑑𝑥 𝑥1 (3) Gostota sevalnega pretoka se v sevalnih termometrih pretvori v sevalno temperaturo nastavljene inštrumentalne emisivnosti in ostalih parametrov, medtem ko je za preučevanje smerne karakteristike občutljivosti bolj zaželen surov odčitek gostote sevalnega toka, ki ga določeni inštrumenti običajno podajajo s celoštevilsko vrednostjo – izhodnim podatkom senzorja. Gostota sevalnega toka se pri pirometrih po kompenzaciji odseva prevede v sevalno temperaturo preko sevalno– temperaturne karakteristike senzorja, za pravilno inverzno dejanje pa bi potrebovali to karakteristiko oz. spektralno občutljivost senzorja 𝑆𝜆 (𝜆), ki je pogosto neznana. Pri poenostavitvi dovolj visokih temperatur je sevalno-temperaturna karakteristika običajno dokaj linearna, zato bi lahko predpostavili linearnost tudi po preslikavi v sevalno temperaturo in v primerih omejenih podatkov o senzorju z minimalno napako uporabili kar sevalno temperaturo namesto gostote sevalnega toka. na voljo že predhodno vzorčeni elementi. Zagotoviti moramo tudi robni pogoj oz. začetek vzorčenja in ekstrapolacijo zunaj efektivnega območja vzorčenja. 𝑛−1 𝑛 𝑆∆𝑥 (𝑖 + 𝑛) = 𝑛 ∙ 𝑎𝑣𝑔 (𝑖 + ) − ∑ 𝑆∆𝑥 (𝑖 + 𝑘) 2 (8) 𝑘=0 Preizkus dekonvolucije je bil izveden na generirani funkciji občutljivosti (Slika 4). Meritev občutljivosti je bila simulirana s tekočim povprečjem velikosti zaslonke, pri čemer je bil dodan merilni šum ±0,0005. Med tem ko RMS napaka rezultata dekonvolucije s šumom pri uporabljenih parametrih znaša 0,02–0,025, se napaka dekonvolucije z naknadnim tekočim povprečenjem zniža na 0,0037–0,0043, pri filtriranju z Gaussovim filtrom pa 0,0032–0,044. Do karakteristike smerne občutljivosti termometra v vidnem polju pridemo s postopkom dekonvolucije. Postopek je poenostavljeno razvit na enodimenzionalnem primeru, ki se ga za končno verzijo razširi na dve dimenziji. Kot je prikazano na sliki (Slika 3), pri merjenju znanega vzbujanja prihaja do povprečenja brez utežitve (4). 𝑎𝑣𝑔 = 𝑥𝑚𝑎𝑥 1 ∫ 𝑆 (𝑥) 𝑑𝑥 (𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛 ) 𝑥𝑚𝑖𝑛 𝑥 (4) Z numeričnim pristopom lahko zapišemo tekoče 𝑛 povprečje 𝑎𝑣𝑔 (𝑖 − ), to je povprečje 𝑛-tih elementov s 2 𝑛 središčem na mestu 𝑖 − , kot vsota elementov, deljeno s 2 številom elementov (5). 𝑛 𝑛−1 𝑘=0 𝑘=0 1 1 𝑎𝑣𝑔 = ∑ 𝑆∆𝑥 (𝑘) = (∑ 𝑆∆𝑥 (𝑘) + 𝑆∆𝑥 (𝑛)) 𝑛 𝑛 (5) Slika 4: Poskus dekonvolucije - zgoraj smerna občutljivost v odvisnosti od premika po vidnem polju, spodaj napaka meritve smerne občutljivosti pred in po filtriranju z Gaussovim filtrom. Formulo (8) lahko razširimo na dve dimenziji, kjer so v oglatih oklepajih zajeti vsi razen skrajno zadnjega elementa mreže 𝑚-krat-𝑛, ki ga računamo (9). Pri tem pozicijo na osi 𝑥, 𝑘 ∙ ∆𝑥 poenostavljeno zapišemo z zaporedno število razločka 𝑘, med tem ko delež polne smerne občutljivosti na nekem intervalu zapišemo s krajšim simbolom (6). 𝑛= 𝑘𝑚𝑎𝑥 − 𝑘𝑚𝑖𝑛 ∆𝑥 (6) 𝑘 ∆𝑥 ∫ 𝑆𝑥 (𝑥)𝑑𝑥 = 𝑆∆𝑥 (𝑘) (𝑘−1) ∆𝑥 Po izločitvi zadnjega člena in obratu enačbe lahko iz povprečja ter preostalih elementov občutljivosti izračunamo naslednji element (7). 𝑛−1 𝑆∆𝑥 (𝑛) = 𝑛 ∙ 𝑎𝑣𝑔 − ∑ 𝑆∆𝑥 (𝑘) (7) 𝑘=0 Celoten inverz konvolucije dobimo z zaporednim vzorčenjem deležev celotne občutljivosti 𝑆∆𝑥 (𝑘), ki pripadajo premiku ∆𝑥, ob ponavljanju premika zaslonke vzdolž celotne osi (8), tako da zagotovimo, da so vedno 269 Slika 5: Rezultat dvodimenzionalne dekonvolucije pošumljene meritve pred in po filtriranju z 2D Gaussovim jedrom in normiranjem ter napaka po obdelavi. 𝑆∆𝑥,∆𝑦 (𝑖 + 𝑚, 𝑗 + 𝑛) = = 𝑚 ∙ 𝑛 ∙ 𝑎𝑣𝑔 (𝑖 + 𝑛−1 𝑚 𝑚−1 𝑚 𝑛 ,𝑗 + )− 2 2 (9) − [∑ ∑ 𝑆∆𝑥,∆𝑦 (𝑖 + 𝑘, 𝑗 + 𝑙) − ∑ 𝑆∆𝑥,∆𝑦 (𝑖 + 𝑘, 𝑗 + 𝑛)] 𝑙=0 𝑘=0 𝑘=0 Nastali algoritem skeniranja premika zaslonko v vrsticah in stolpcih vzdolž slike, v vsaki iteraciji pa z zaslonko prekrije le en predel prostorske ločljivosti več kakor v predhodnih iteracijah, torej vrstico po vrstico, naraščajoče. Rezultat dvodimenzionalne dekonvolucije pošumljenega 2D tekočega povprečja (Slika 5) se je ponovno izkazal kot močno dovzeten za šum. Ne glede na to, napaka dekonvolucije niha okrog prave vrednosti, saj se po filtriranju in normiranju izhodnega signala dekonvolucije RMS napaka nadalje močno zniža (pri konkretnih parametrih z 0,02 na 0,002). Pri ponovitvah simulacij z podrobnejšimi koraki je prispevek merilnega šuma presegel koristni signal, ter s tem poslabšal meritev. Rezultat predstavlja kompromis med prostorsko ločljivostjo (in s tem povezanim povečanim številom meritev z merilnim šumom) ter merilno negotovostjo. Za ugotovitev podatka o optičnem centru bi potrebovali dve ponovljeni meritvi pri različni oddaljenosti 𝑑𝑖 (Slika 6), s primerjavo širine in oddaljenosti obeh meritev (Slika 7), pa lahko po trikotniški linearnosti ekstrapoliramo oddaljenost optičnega centra (11). 𝑑2 𝑑1 + ∆𝑑 tan 𝜑 𝑎2 ∆𝑑 = = ; 𝑑1 = 𝑎 2 𝑑1 𝑑1 tan 𝜑 𝑎1 −1 𝑎1 (11) 6. Ugotovitve Pripravljena je podlaga za ugotavljanje smerne občutljivosti sevalnih merilnikov temperature. Klasično metodo opisovanja vpliva velikosti vira ta metoda razširi na merilnike z asimetrično smerno občutljivostjo, ter na merilnike z nastavljivo razdaljo ostrenja. Za izboljšano metodo je potreben kompleksnejši merilni sistem, predvsem aktuirana zaslonka, ter algoritem skeniranja in upoštevanja dimenzij zaslonke, ki pa je močno dovzeten do napak zaradi šuma. Zato je za omejene primere fiksno ostrenih pirometrov še naprej primerno uporabljati tradicionalno metodo z izmenjevanjem okroglih zaslonk, ki pa je v primerjavi z metodo skeniranja tudi merilno sledljiva. 5.2. Optični center perspektive 7. Razprava Do popolne informacije, potrebne za izračun poljubnih parametrov, potrebujemo še optični center. Do sedaj smo merili občutljivost v vidnem polju 𝑆𝑥 (𝑥), to je občutljivost v odvisnosti od pozicije 𝑥 v vidnem polju, torej je odvisna od dolžinske enote. Idealno bi podali smerno občutljivost v odvisnosti od kota 𝜑, ki se ga lahko nato preračuna na pozicijo v vidnem polju poljubne oddaljenosti 𝑑 od optičnega centra vzdolž optične osi inštrumenta (10). Pri dekonvoluciji se uporablja le robni pogoj na eni strani osi, na voljo pa sta dva. Delovanje bi bilo mogoče izboljšati z metodo, ki bi upoštevala oba robna pogoja. To je vidno na grafu ostankov (Slika 4), kjer napaka proti desni strani kumulativno narašča. Opazno je tudi, da akumulirana napaka proti niha, kar lahko pripišemo prekompenzaciji algoritma in pojavnost povežemo z dolžino zaslonke, zato bi bilo v prihodnje uporabno izdelati filter, ki bi deloval neposredno v algoritmu dekonvolucije in s tem preprečil kumulativni vpliv. 𝑑𝑥 = 𝑑 ∙ 𝑡𝑎𝑛 𝑑𝜑 (10) Optični center 8. Sredstva za raziskavo Sredstva za izdelavo članka so del sklada Javne agencije za raziskovalno dejavnost Republike Slovenije (ARRS Sklad št. P2-0225). 9. Viri Smerna karakteristika občutljivosti senzorja na vidnem polju Termo-kamera ali pirometer Slika 6: Eksperimentalni postopek za ugotovitev optičnega centra inštrumenta. dx d1 a1 φ dφ OPC a2 d2 OPC Slika 7: Skica optičnega centra in pripadajoče oznake širine karakteristike smerne občutljivosti v vidnem polju. 270 [1] I. Pušnik, G. Grgić in J. Drnovšek, „International Journal of Thermophysics,“ Calculated Uncertainty of Temperature Due to the Size-ofSource Effect in Commercial Radiation Thermometers, Izv. 29, št. 1, pp. 322-329, 17. 1. 2008. [2] A. Miklavec, V. Batagelj, J. Bojkovski, I. Pušnik in J. Drnovšek, „Instrumentation Science & Technology,“ A Custom-Made Automated System for Accurate Spatial Positioning in Laboratory Experiments, pp. 697-707, 30. 09. 2009. Vpliv relativne vlage pri umerjanju sevalnih termometrov Igor Pušnik1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana, Slovenija E-pošta: igor.pusnik@fe.uni-lj.si Influence of relative humidity in calibration of a radiation thermometer Abstract. The article describes the influence of relative humidity in calibration of a radiation thermometer. Radiation thermometers or pyrometers are measuring the thermal energy which an objects, that has a temperature above absolute zero (T = 0 K), emits into surroundings. Radiation thermometers are detecting this radiation with a detector and converting it into an electric signal. On the basis of that signal they perform a rather complicated calculation and display the temperature. One of the advantages of radiation thermometers is their non-contact measurement, which on the other hand also have many negative effects on their accuracy. Measurements can also be affected by relative humidity, which causes atmospheric absorption at certain wavelengths, and that leads to higher or lower measured temperature values. It happens because the atmosphere, due to its lack of transparency, does not allow sufficient heat radiation to be transmitted from a measured object to the radiation thermometer. To avoid this problem, we must choose radiation thermometers that measure in the range of appropriate wavelengths, so that the impact of atmospheric absorption is minimized. 1 Uvod Sevalni termometri ali pirometri izkoriščajo fizikalno dejstvo, da telesa, ki imajo temperaturo višjo od 0 K, sevajo toplotno energijo. Izsevano energijo telesa sevalni termometri zaznajo z detektorjem in jo pretvorijo v električni signal, na podlagi katerega nam po dokaj kompleksnem algoritmu za izračun prikažejo temperaturno vrednost. Sevalne termometre večinoma kalibriramo z uporabo različnih črnih teles. Ena od največjih prednosti sevalnih termometrov je njihova brezkontaktna raba, zato so še posebej uporabni za merjenje temperatur zelo vročih, težko dostopnih ali premikajočih se teles v nevarnih okoljih (npr. elementi pod električno napetostjo). Njihov spekter uporabe je zelo širok, tako v znanosti, industriji, še posebej jeklarski, kot tudi denimo v medicini in kmetijstvu. Ob naštetih prednostih pa imajo sevalni termometri tudi številne slabosti oziroma omejitve. Poleg zahtevne problematike poznavanja in določanja emisivnosti merjene površine ima velik vpliv na rezultate merjenja okolica, v kateri se merjenje izvaja. Pomembna vpliva sta toplotno sevanje, ki se odbija z merjene površine in atmosferska absorpcija. Za točno merjenje s sevalnimi termometri moramo z njimi znati rokovati. Poznati in ERK'2021, Portorož, 271-274 271 upoštevati moramo emisivnost merjene površine, katere isto vrednost nastavimo na sevalnem termometru. Zelo pomembna je tudi razdalja od merjenca do termometra in dobro fokusiranje optike. Velik vpliv na merjenje pa ima lahko tudi relativna vlaga, katere problematika je zajeta v tem članku. V njem je predstavljenih nekaj teoretičnih dejstev o sevalni temperaturi in vlažnosti, poudarek pa je seveda na rezultatih merjenja vpliva relativne vlage na kazanje temperature pri dveh referenčnih sevalnih termometrih proizvajalca Heitronics in sicer TRT II [1] in KT 19.01 II [2]. Meritve so potekale pri različnih temperaturah in relativnih vlažnostih, da bi lahko čim bolj nazorno prikazali vpliv relativne vlage na oba termometra. 2 Toplotno sevanje Toplotno sevanje si lahko preprosto predstavljamo kot dejstvo, da bel in bolj kot je žareč predmet svetel in bel, bolj vroč je. Navkljub preprostosti pa je določevanje temperature na podlagi omenjenega dejstva dokaj netočno, saj lahko na podlagi barve žarečega objekta temperaturo ocenimo z negotovostjo ±50 °C. Ker pa naše oči ne zaznajo sevanja teles, v kolikor je telo hladnejše od 500 °C, si marsikdo zmotno predstavlja, da sevajo le vroča telesa, v resnici pa seva prav vsako telo s temperaturo večjo od absolutne ničle (0 K). Toplotno sevanje obravnavamo kot elektromagnetno valovanje, katerega frekvenca je odvisna od energije fotonov (delec brez mase, ki vsebuje določeno količino energije, imenovane kvant). Za sevanje velja odnos med frekvenco valovanja υ in valovno dolžino λ:  = c/ (1) c je hitrost svetlobe v mediju, skozi katerega se širi sevanje. Medtem ko frekvenca pri določeni valovni dolžini ni odvisna od medija, sta na drugi strani valovna dolžina in hitrost valovanja odvisna od lomnega količnika n, ki ga lahko zapišemo kot: n = c0 /c = 0 /  (2) Celoten spekter elektromagnetnega sevanja je prikazan na sliki 1. Njegov kratko-valovni del predstavljajo gama žarki, rentgenski ali X-žarki ter ultravijolično sevanje v obliki ultravijolične svetlobe. Dolgo-valovni del spektra predstavljajo mikrovalovi, radijski in televizijski valovi, valovi mobilne telefonije, ter satelitski valovi. Vmesni del, ki sega približno od 0,1 m do 1000 m, ter vključuje del ultravijoličnega spektra, celoten vidni spekter in infrardeči spekter, imenujemo spekter toplotnega sevanja. Slika 1. Spekter elektromegnetnega valovanja Sevanje kot pojem opredeljuje pojav, pri katerem se sevalni tok širi v vse smeri. Pogosto nas zanimata tako njegova spektralna kot tudi smerna porazdelitev. Slednja je odvisna od kota, pod katerim sevalni tok vpada na površino. Spektralna porazdelitev pa je odvisna od valovne dolžine, ki se spreminja s temperaturo in lastnostmi sevalne površine. Spektralno porazdelitev gostote sevalnega toka črnega telesa L,b lahko zapišemo kot funkcijo valovne dolžine in temperature, 2hc 2 L .b ( , T ) = 2 05 n  hc0   e nkT − 1   −1 (2) kjer sta h=6,626x10-34 J·s Planckova konstanta in k=1,3807x10-23 J/K Boltzmanova konstanta. Hitrost svetlobe v vakuumu je c0=2,9979x108 m/s, n pa predstavlja lomni količnik, za katerega velja, da je v vakuumu 1, isto vrednost pa lahko privzamemo tudi za zrak. Planckov zakon lahko zapišemo tudi v bolj ustrezni obliki kot Planckov zakon porazdelitve, katerega opisuje spodnja enačba L .b ( , T ) = M  .b  c c1  n2T  = 2 5  e − 1 n    c1=πhc02=3,7417749x10-16 −1 (3) 2 (4) 272 Sevalni termometri Tipov sevalnih termometrov je več, pokrivajo različna temperaturna območja, umerjajo pa se v primerjavi s črnimi telesi pri znani temperaturi. Sevalni termometer je v splošnem sestavljen iz več komponent, ki vsaka prispeva k njegovemu delovanju. Optični sistem služi zbiranju toplotnega sevanja z merjene površine in usmerjanju le-tega na detektor. Preden toplotno sevanje pride do detektorja, naleti na optični filter, ki na detektor prepusti izbrano spektralno območje sevanja. Optični razsekalec vpadnega sevanja nato tvori izmenični signal sevalnega toka, kar omogoča hitrejši odziv termometra. Signal detektorja se nato ojači in procesira, da je lahko po preračunu prikazan neposredno kot vrednost temperature. Optični sistem je lahko nenastavljiv ali nastavljiv, glavna razlika je v vidnem polju, saj sevalni termometer z nastavljivim optičnim sistemom omogoča opazovanje merjenca pod veliko manjšim kotom oziroma pri večji razdalji. Pri sevalnih termometrih je pomembna tudi izbira valovne dolžine in spektralne širine. Pri nizkih temperaturah izbiramo valovne dolžine, ki so čim globje v infrardečem spektru z namenom, da bi na detektor sevalnega termometra dobili zadostno jakost sevanja in zadovoljivo razmerje signala proti šumu. Spektralna širina mora biti izbrana tako, da zagotavlja ustrezno točnost. S sevalnimi termometri je zelo priporočljivo meriti v kar se da prozorni atmosferi (v t.i. atmosferskih oknih), kjer ne prihaja do absorpcije in razpršitve sevanja, saj absorpcija sevanja zmanjšuje jakost sevanja, ki ga sprejme detektor, kar povzroči manjši izhodni signal in nepredvidljiv pogrešek izmerjene temperature. Zato moramo izbrati sevalni termometer z valovno dolžino detektorja enako valovnim dolžinam, pri katerih je atmosfera določenega plina prozorna, slika 2. 3.1 kjer sta W·m prva sevalna konstanta in c2=hc0/k=0,014388 m·K druga sevalna konstanta. Medtem ko nam Planckov opisuje porazdelitev gostote spektralnega sevanja, lahko z integracijo enačbe (3) izračunamo celotno izsevanje črnega telesa Mb v vseh smereh in preko vseh valovnih dolžin. Rezultat integracije predstavlja Stefan-Boltzmannov zakon. Za izračun celotnega izsevanja je potrebno poznati le temperaturo črnega telesa. Pri realnih telesih upoštevamo tudi emisivnost in velikost površine, ki seva. Stefan-Boltzmannov zakon za realna telesa opisuje naslednja enačba, v kateri σ predstavlja Stefan Boltzmannovo konstanto, A površino, iz katere izhaja sevanje, ε emisivnost, T pa temperaturo črnega oziroma realnega telesa: M b = AT 3 Vpliv relativne vlažnosti Pri določenem tlaku in temperaturi, ob upoštevanju plinske enačbe za idealni plin, relativno vlažnost definiramo kot odstotkovno razmerje med delnim tlakom vodne pare e ter delnim tlakom nasičenja ev,nas, kar opisuje spodnja enačba = e ev,nas 100% (5) Ker je vodna para pri temperaturi rosišča tros v nasičenju, lahko delni tlak vodne pare e dobimo preko delnega tlaka nasičenja ev,nas, relativno vlažnost pa izrazimo kot prikazuje spodnja enačba (4.2), v kateri t z predstavlja temperaturo celotne zmesi plinov, na primer zraka. = ev,nas (tros ) 100% ev,nas (tz ) (6) Kot vidimo na sliki 2, je vodna para vzrok zmanjšanja transmisivnosti atmosfere v mnogih delih spektra. generirala ročno s pomočjo mokre krpe in vlažilnika zraka. Posebej za ta primer bi bilo treba izvesti poseben način regulacije vlažnosti na prenosni poti med črnim telesom in sevalnim termometrom, saj ima slednji največ težav z vplivom relativne vlažnosti. Slika 3. Merjenje vpliva relativne vlažnosti na kazanje sevalnega termometra Slika 2. Transmisivnost atmosfere in t. i. atmosferska okna (vir: D.P.Dewitt, G.D.Nutter, Theory and practice of radiation thermometry, Wiley&Sons 1998) 4 Meritve vpliva relativne vlažnosti na kazanje sevalnega termometra Slika 4. a) Ploščni IR kalibrator na drugi strani klimatske komore in b) meritev s črnim telesom pri 1000 °C Meritve za oba sevalna termometra (tehnični podatki v Tabeli 1) so bile izvedene s pomočjo klimatske komore (slika 3) pri več relativnih vlažnostih, in sicer 20 %, 40 %, 60 % ter 80 %. Meritve za sevalni termometer TRT II so se izvajale pri temperaturah 50 °C, 100 °C, 250 °C, 350 °C in 425 °C, meritve za sevalni termometer KT 19.01 II pa pri temperaturah 350 °C in 450 °C, oboje v primerjavi z IR ploskovnim kalibratorjem premera 150 mm (slika 4a), katerega emisivnost znaša 0,95, zato je bila enaka emisivnost nastavljena tudi na sevalnih termometrih. Razdalja od leče sevalnega termometra do tarče je znašala 1610 mm pri nižjih temperaturah (50 °C in 150 °C) oziroma 1660 mm pri višjih temperaturah (250 °C, 350 °C, 450 °C), saj se je ploskovni kalibrator z namenom, da ne bi poškodovali površine klimatske komore, pomaknil za 50 mm bolj nazaj. Velikost odprtine na klimatski komori je 50 mm na strani, kjer je stal sevalni termometer ter 120 mm na strani, kjer je stal ploskovni kalibrator. Posebna meritev za KT 19.01 II je bila izvedena še pri temperaturi 1000 °C, v primerjavi s črnim telesom (slika 4b), kjer se je vlažnost okolice 273 Tabela 1. Podatki o sevalnih termometrih TRT II KT 19.01 II merilno območje -50 – 1000 °C 350 – 2000 °C spektralna odzivnost 8 μm – 14 μm 2 μm – 2,7 μm velikost tarče 6,8 mm pri 12,7 mm pri 380 mm 733 mm ločljivost 0,1 °C 0,1 °C oz 1 °C leča S977AR S922 detektor piroelektrični piroelektrični Z grafa na sliki 5 je razvidno, da prikaz temperature na sevalnem termometru Heitronics TRT II naraste za približno 0,4 °C pri padcu relativne vlage od 80 % do 40 %. Zaključimo lahko, da je vpliv relativne vlage na sevalni termometer pri merjenju temperature 250 °C majhen. Pri 20 % relativni vlagi bi pričakovali dodatno rast prikaza temperature, a ta zanimivo nekoliko pade, za približno 0,2 °C. Čeprav so pri tem termometru spremembe znotraj merilne negotovosti, je ta pojav nenavaden. Možna razlaga je, da ima del prenosne poti med komoro in ploskovnim kalibratorjem prevladujoč vpliv, ker je imel višjo relativno vlago (okoli 40 %). Slika 7. Vpliv relativne vlage na Heitronics KT 19.01 II pri 1000 °C Slika 5. Vpliv relativne vlage na Heitronics TRT II pri 250 °C Z grafa na sliki 6 je razvidno, da ima relativna vlaga zelo velik vpliv na kazanje sevalnega termometra Heitronics KT 19.01 II. Konkretno se pri temperaturi 350 °C prikaz v območju relativne vlažnosti, v katerem se je izvajala meritev, spremeni za približno 4,5 °C. Razvidno tudi, da nižja kot je relativna vlažnost v klimatski komori, višjo temperaturo izmeri sevalni termometer. Podobni rezultati so bili pri 450 °C. Slika 6. Vpliv relativne vlage na Heitronics KT 19.01 II pri 350 °C Z grafa na sliki 7, kjer modra črta predstavlja prikaz temperature pri 40 % relativni vlažnosti, oranžna pa pri 40 % – 50 %, je razvidno, da je sprememba relativne vlažnosti imela vpliv na sevalni termometer Heitronics KT 19.01 II pri merjenju temperature 1000 °C, saj je približno 10 % sprememba relativne vlažnosti povzročila spremembo za približno 1 °C. 5 Zaključek Relativna vlažnost ima lahko velik vpliv na kazanje sevalnih termometrov, kar vodi do velikih pogreškov pri 274 merjenju temperature in posledično lahko v praksi do velikih problemov. Prikazana je problematika vpliva relativne vlažnosti za dva referenčna spektralnopasovna sevalna termometra, Heitronics TRT II in Heitronics KT 19.01 II, ki ju v nacionalnem laboratoriju za termometrijo LMK uporabljamo kot referenčna termometra. Za sevalni termometer Heitronics TRT II je vpliv relativne vlažnosti manjši, saj termometer v celotnem območju relativne vlažnosti, v katerem so se izvajale meritve (20 % - 80 %) in pri vseh temperaturah (50 °C, 150 °C, 250 °C, 350 °C in 425 °C) ni kazal opaznih sprememb v izmerjeni temperaturi. Za sevalni termometer Heitronics KT 19.01 II je bila zgodba povsem drugačna, saj je pri merjenju temperatur 350 °C in 450 °C v območju spreminjanja relativne vlažnosti od 20 % do 80 % kazal očitne spremembe v izmerjeni temperaturi. Te so znašale več kot 4 °C, kar za referenčni sevalni termometer seveda ni sprejemljivo. Do velikih pogreškov je prišlo zaradi atmosferske absorpcije, saj ima atmosfera, natančneje vodna para in CO2 pri valovnih dolžinah od približno 2,5 μm naprej vpliv na prenos sevanja od merjenca do sevalnega termometra (slika 2) zaradi nižje transmisivnosti atmosfere, Heitronics KT 19.01 II pa deluje ravno v tem območju valovnih dolžin (2 μm – 2,7 μm). Atmosferska absorpcija pri višji relativni vlažnosti je tako povzročila navidezno zmanjšanje jakosti sevanja merjene površine, ki ga sprejema detektor sevalnega termometra in posledično zmanjšanje izhodnega signala, kar je povzročilo prikaz nižje temperature na sevalnem termometru. Na drugi strani pa Heitronics TRT II v obeh območjih delovanja deluje pri takšnih valovnih dolžinah, ki sovpadajo s t.i. atmosferskimi okni, zato se ta problem ne pojavlja. Literatura [1] Heitronics Infrarot Messtechnik, Transfer Radiation Thermometer covering the Temperature Range of -50°C to 1000°C, Heitronics Infrarot Messtechnik GmbH [2] Heitronics Infrarot Messtechnik, Infrared Radiation Pyrometer KT 19 II Operation Instructions, Heitronics Infrarot Messtechnik GmbH Akustika in elektroakustika Acoustics and Electroacoustics Od frekvenc tonov do vizualizacij temperamentov From Tone Frequencies to Temperaments Visualizations Gilles Baroin1 2 , André Calvet3 4 1I 3 Laboratoire ENAC, 2 Laboratoire LLA Créatis, Université Fédérale de Toulouse Writer, piano tuner 4 consultant IRCAM Paris Emails: Gilles@Baroin.org, ddcalvet@gmail.com Abstract. Since our hearing system is accustomed to the equal temperament system, best applied to modern western musical instruments, we perceive the other tuning systems as unfamiliar, without being able to describe exactly how and what sounds weirds and seems dissonant. This paper describes the construction of new mathemusical models and visualization concepts: Two dimensional static and dynamic models, 3D and 4D animated objects. These tools are designed to graphically compare temperaments and generate visualizations that reinforce/augment the auditory impression. We discuss limits and applications for our models and their different applications. All videos will be available on www.mathemusic.net. [1] 1 Introduction 1.1 Definitions Reduction to 12: We consider that doubling the frequency of a tone produces the same note one octave above. We employ the notation of the musical Set Theory [2] that maps our twelve-tone system to the mathematical cyclic group ℤ12 = ℤ3 ⨂ ℤ4 . We then write 𝑑𝑜 = 0, 𝑑𝑜♯ = 1, 𝑟é = 2 , … 𝑠𝑖 = 11. Harmonics: The natural harmonics produced by the vibration of a chords are resp 2 & 3 times the fundamental frequency, In Music the fifths (i.e do-sol) has a theoretical frequency ratio of 3/2, this is one of the most consonant interval to the ear. Temperament: This refers to a specific tuning system for the subdivision of the octave. Tempering is the process of adjusting intervals in tuning a piano or other musical instruments. We do not take inharmonicity into account and consider that each octave has an exact ratio of 2:1, the temperaments are therefore defined within one octave. For comparison purpose, temperaments are transposed to the same reference Do (Note #0). ERK'2021, Portorož, 276-279 276 Fig. 1. Construction of the Pythagorean tuning system. At Pythagoras time the scale was built by extending this ratio until obtaining twelve tones. By performing 12 fifth after another((3⁄2)12 ≃ 129.75), we obtain approximately 7 octaves (27 = 128); it is therefore impossible to have all fifth pure within a twelve note scale. The difference is called a comma. In just intonation, each interval between two pitches corresponds to a whole number ratio between their frequencies whereas, in equal temperament, the octave is divided into 12 equal semitones. Therefore the frequency of the nth pitch is 𝑓𝑛 = 𝑓0 2𝑛/12 with 𝑓0 , the frequency of the reference note. About Bach well-tempered scale: This temperament is not to be confused with the equal temperament used nowadays, at his time he designed a tuning model that allowed the music to sound enjoyable in each tonality, but with a different color in each. Since he only left us a drawing without explanations, on the printed score of “das wohltemperierte Klavier” , the exact Bach model is at this time still under investigation, see Broekaert [3]. For history and details on temperamentology please refer to Jedrzejewski[3] Calvet[4]. 1.2 Context 2.2 At the time of just intonation, temperament was designed so that musical instruments sound as "in tune" in a few some keys, but unfortunately they seemed “dissonant” in other keys. The listener identifies dissonances and vaguely feels a distance between a specific temperament and the equal one, which is nowadays the reference. Over time, the distance to pure temperament gradually gave way to the distance to equal temperament. Our static tools are used to quantify, visualize and compare temperaments between them. Our dynamic approach helps identify the tonalities for which the temperament is intended and which chordal context produces the most pleasing (displeasing), usual (unusual) sounds to the ear. We have applied the methods to well-known tuning systems, such as Zarlino, Bach by Kellner, Mesotonic by Aaron and the Pythagorean ones. All studies are available on www.mathemusic.net. 2 Visualization tools 2.1 Definitions One Dimension One can represent the log of frequencies of each note of the considered Temperament along a circle. This is the chromatic circle; each note is characterized by a number from do to si, analogous to a clock. The equal temperament is represented by regular dodecagon; however, because the differences between temperaments are so slight in frequencies, the superimposition of the drawings will not be pertinent enough. That’s the reason why we have developed higher dimensional models. 2.3 Two Dimensions Static Visualization: We use the chromatic circle as a basis and associate, this time, each pitch class 𝑛, to a complex number 𝑝𝑛 = 𝑟𝑛 𝑒 𝑖𝜃𝑛 . In polar coordinates we obtain: 𝑟𝑛 = 𝑟0 𝑓𝑛 ⁄𝑓0 , 𝜃𝑛 = 𝑛 𝜋⁄6. The equal temperament will still be plotted as a regular dodecagon, whereas the drawing of others will result in an equiangular non-regular polygon: It gives the impression of stretching the chromatic circle along its radius. For static comparison, we superimpose the drawing of the studied temperament to that of the equal one and observe the differences in shape. A musical piece can be interpreted as a sequence of chords, perfect major and minor chords are called triads. For dynamic visualization, we reduce the local harmony as a triad made of three intervals: m3, M3, P5, (international shorthand notation) and compare the values of these intervals to the theoretical frequencies of a just intonation: 5 5 3 m3p = ; M3p = ; P5p = . 6 4 2 These three parameters are used as the lengths of the sides of a triangle or a box for the 2D or 3D models, respectively. We use the same music score to illustrate all temperaments, the soundtracks[5] are MIDI generated and played with the software Pianoteq[6] that enables personal tuning. The harmony will change along the piece in order to ear all possible chords (12 majors and 12 minors) In order to have a smooth journey through all 24 tonalities, the music follows a regular Hamiltonian path on the Tonnetz: succession of L and R Transformations : 𝐶𝑀𝑎𝑗, 𝐴𝑚𝑖𝑛, 𝐹𝑀𝑎𝑗, 𝐷𝑚𝑖𝑛, … . 𝐸𝑚𝑖𝑛, 𝐶𝑀𝑎𝑗. See Andreatta[7], Albini[8]. 277 Fig. 2. The “Tempered Chromatic Circle” showing Mesotonic vs equal temperament. By superimposing different temperaments drawings, we are now able to compare them. See Fig 1. Dynamic Visualization.: Our Hamiltonian song reveals a rotating and deforming triangle [9]; each side relates to a constituting interval of the triad. In order to indicate the ratio to a pure interval, we use coloration for each side of the triangle: Green stands for pure interval, red stands for the most distant ones. As expected, the coloration remains constant while illustrating the equal temperament. Temperaments featuring pure intervals enclose some full green sequences while the music plays in the tonality they are designed for. 2.4 Three Dimensions We model each triad as a box with sides 𝑙𝑥 , 𝑙𝑦 , 𝑙𝑧 such as 𝑚3 𝑙𝑥 = 𝑓 ( 𝑚3𝑝 𝑀3 ) , 𝑙𝑦 = 𝑓 ( 𝑀3𝑝 𝑃5 ) , 𝑙𝑧 = 𝑓( 𝑃5𝑝 ), with 𝑓 in the form of 𝑎 + 𝑏 𝑚⁄𝑚𝑝 , function used for visualization scaling. The color of the box varies from green to red, accordingly to the human perception[10]. A triad made of pure intervals will therefore appear as a green cube. Fig. 3. The “Tempered Harmonic Cube” showing Zarlino tuning system in F min, compared to pure intervals (the grey cube). Since the 3D model only features the chords, it cannot provide a substantial feeling of following an harmonic path to the viewer. 2.5 Four Dimensions 4D Euclidian Space : Visualizations in 4 spatial dimensions may sound odd to the layman, but due to its topology, the 4D space contains more symmetries than our classical 3D environment and gives the viewer a more comprehensive experience of featured symmetries. Fig. 4. A three dimensional projection of The “Planet-4D” model, featuring two rotation axis. 278 The coordinates of each note is given by the following formula: 1 2nπ 1 i2nπ 𝑄𝑛 = ( ei 3 , e 4 ) , 𝑛 ∈ [0,11] √2 √3 We employ quaternions (considered as a couple of complex numbers) to position each element of the models. All musical networks that are usually displayed on a plane or a torus can thus be embedded on the Hypersphere. By embedding a 2D drawing on the Hypersphere, the (𝑥, 𝑦) coordinates become rotations around two axis. Since it might be hard to be plunged in the 4th dimension, in all our 4D models, the hypersphere rotates in front of the observer. Musical networks : The set of pitch classes @Z12 ⥲ @(Z3 ⨂ Z4 ), is usually considered as a product of circles, which is topologically a torus, but when the usual picture of a torus is drawn, distances are distorted, it can be proved that there is no way to embed Z3 ⨂ Z4 isometrically in 3D-space. The use of points on the surface of an Hypersphere permits to preserve the correlation between musical intervals and Euclidian distances[11]. Due to the 4D space topology, objects have to be set into motion to be understandable. The Planet4D model[12] was originally designed to represent tempered tonal (and atonal) chords and sets. We extend it in the same way we’ve extended the one dimensional chromatic circle to the previously described two-dimensional model. We also use the same coloration principle, preserve the equiangularity and alter the distance of each pitch class to the hypersphere center accordingly to its ratio to an equal tempered tone. New quaternionic coordinates: The quaternionic coordinates of each tempered pitch class become: 𝑄𝑛𝑡 = 𝑄𝑛 𝑓𝑛 ⁄𝑓0 with 1 2nπ 1 i2nπ 𝑄𝑛 = ( ei 3 , e 4 ), √2 √3 𝑛 ∈ [0,11] : the original coordinates of pitch class 𝑛 in the Planet-4D Model. 𝑓𝑛 , 𝑓0 : frequencies of the note in the studied and equal temperaments, respectively. . References Fig. 5. The “Tempered Hypersphere” appears as a deformation of the Planet-4D (in gray) As expected, the 4D representation of the equal temperament will be the standard hypersphere of the Planet-4D model featuring constant color; whereas other temperaments will be shown as a stretched sphere with changing colors. 3 Conclusions In this study we’ve observed that, due to the topology of each space, our models have different applications. The static “Tempered Chromatic Circle” provides a global instant impression of regularity and enables direct comparison between temperaments. On the other hand, dynamic models are suitable to following the evolution of experienced dissonance while playing a song. The dynamic “Tempered Chromatic Circle” provides the observer with the ability to follow the parsimonious voice leading in our Hamiltonian song sample. The 3D dynamic “Tempered Harmonic Cube” facilitates the perception of harmonically similar Chords, because they are displayed in similar Color. Moreover, the user gets an efficient global perception of the variation of the dissonance. In the “Tempered Planet-4D Hypersphere” model, even if we are unable by design to compare temperaments in a static way, the perception of symmetry is maximized. This model answerz the recurring question: what if the temperament is not equal? In the next studies we could try to represent the deformation in 4D of the two geodesics: the chromatic circle and the circle of fifth. We would like to try visualization for atonal music on non-equal temperament. 279 1. www.Mathemusic.net : home of mathemusical visualisations. 2. Forte, Allen : The Structure of Atonal Music. New Haven and London: Yale University Press. ISBN 0300-01610-7 (1973). 3. Broekaert, Johan : Le mésotonique tempéré de Bach, Pianistik #111 (2020).4-24. 4. Jedrzejewski, Frank : Mathématiques des systèmes acoustiques. Tempéraments et modèles contemporains, L’Harmattan, (2002). 5. Calvet, André : Le clavier bien obtempéré, Essai de Tempéramentologie. Piano e forte éditions mai 2020 6. Dessault, Hervé: Improvised arpeggiated suites #1 and #4 (2015) 7. Guillaume, Phillipe et al : Pianoteq software (2005-) 8. Andreatta ,Moreno & Baroin, Gilles : "An Introduction on Formal and Computational Models in Popular Music Analysis and Generation." Aesthetics and Neuroscience. Springer, Cham, (2016). 257-269. 9. Albini, Giovanni & Antonini, Samuele : Hamiltonian cycles in the topological dual of the tonnetz. Mathematics and Computation in Music, 1-10. (2009). 10. Baroin Gilles & Calvet, André. Visualizing Temperaments: Squaring the Circle?. Mathematics and Computation in Music,(2019), Madrid, Spain. 333-337. 11. Andreatta, Moreno : On group-theoretical methods applied to music: some compositional and implementational aspects. Perspectives in Mathematical Music Theory (2004). 12. Baroin, Gilles: The Planet-4D Model: An Original Hypersymmetric Music Space Based on Graph Theory. Mathematics and Computation in Music, (2011). 326-329. 13. Amiot, Emmanuel & Baroin, Gilles. Looking at old and new isometries between pc-sets in the Planet-4D Model. Music Theory Online, Society for Music Theory. (2015). Detekcija otoakustičnih emisij Žan Tomazini1 , Samo Beguš1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Laboratorij za metrologijo in kakovost E-pošta: zan.tomazini@fe.uni-lj.si Abstract We design and implement a system for detecting and measuring SFOAE (Stimulated Frequency Otoacoustic Emission). We use OAE25 otoacoustic emissions probe and also our own probe prototype made from commercially available in-ear headphones and a MEMS microphone. Our main algorithm uses nonlinear compression for emission extraction. The measurement system can successfully detect presence of SFOAE inside a healthy human ear. 1 Uvod Otoakustične emisije so stranski produkt delovanja zunanjih dlačnic v ušesnem polžu pri ojačenju šibkih zvočnih signalov [1]. Brez njihovega delovanja, človeško uho ne bi bilo zmožno zaznavati akustičnih signalov zelo nizkih jakosti. Zaznamo in posnamemo jih lahko neinvazivno z mikrofonom vstavljenim v zunanji ušesni kanal [2]. Pogosto v isto ohišje z mikrofonom namestimo enega ali več zvočnikov, s katerimi generiramo stimulacijske signale. Čeprav je SFOAE (Stimulated Frequency Otoacoustic Emission) bil prvi tip emisij, ki so ga odkrili (Kemp 1978) [3], so najbolj raziskane TEOAE (Transient Evoked Otoacoustic Emission) in DPOAE (Distortion Product Otoacoustic Emission). Ti dve vrsti emisij se že vrsto let uporabljata za hitro odkritje okvar sluha [10]. Pri detekciji in merjenju SFOAE izziv predstavlja predvsem dejstvo, da je tovrstne emisije težko uspešno ločiti od samega stimulacijskega tona, saj le-ta sovpada z emisijo po času in frekvenci. Prav tako gre za zvočne signale zelo nizkih nivojev zvočnega tlaka (SPL). Posledično njihova ločitev od šumnega ozadja ni trivialna [4, 5]. Zasnovali in izdelali smo sistem za detekcijo ki temelji na uporabi lastnosti nelinearne kompresije SFOAE [1]. 2 Zasnova sistema Merilno območje sistema, ki ga uporabljamo je moralo zadostiti minimalnim pogojem. SFOAE so najbolj izrazite v frekvenčnem pasu med 1 kHz in 6 kHz. To pa ne pomeni, da se pri višjih frekvencah ne pojavljajo. Omejeni smo pri njihovem merjenju, saj se zaradi dolžine zunanjega ušesnega kanala (približno 2,5 cm) [8] pojavijo resonančne frekvence, ki onemogočajo neinvazivno merjenje z namestitvijo mikrofona na začetek kanala. Prav tako pri nižjih frekvencah emisije niso ERK'2021, Portorož, 280-283 280 izrazite, saj zaradi geometrije in drugih naravnih lastnosti polža nizkih frekvenc ni potrebno toliko ojačati [7]. Sistem za zajemanje in merjenje SFOAE mora tako biti zmožen vzorčenja v človeškem slušnem spektru, kar pomeni od 20 Hz do 20 kHz. Iz predhodnih raziskav smo razbrali, da je nivo SFOAE pod dobrimi pogoji kvečjemu okrog 20 dB višji od skupnega električnega in akustičnega šuma [6, 7], ki je odvisen tako od neželenega zvoka v okolici, kot tudi vnosa popačenj zaradi merilne opreme. Ključnega pomena pri snemanju sta tako kvaliteta zvočnika in mikrofona v merilni slušalki, kot tudi dober sistem za vzorčenje. To za zvočnik in mikrofon pomeni visoko razmerje signal/šum (SNR), nizka harmonska popačenja ter čim bolj linearno frekvenčno odvisnost na območju merjenja. Pomemben faktor so tudi njune dimenzije, saj morata dopuščati vstavitev v kanal zunanjega ušesa. Sistem za zajemanje podatkov mora imeti frekvenco vzorčenja vsaj 48 kHz s čim večjim številom uporabnih bitov za boljšo ločljivost (vsaj 24 bitov). Pri izbiri primernega sistema se za zajemanje podatkov se zahtevajo nizka nelinearna popačenja in intermodulacijska popačenja, kot tudi čim nižji presluh med kanali. 2.1 Strojna oprema sistema Izdelali smo lastni predojačevalnik za ojačanje električnega signala mikrofona na nivoje primernejše za našo napravo za zajem signalov (DAQ, Data Acquisition System). Za namene vzorčenja smo se odločili za NI USB-4431 s 24-bitnim AD pretvornikom, dinamičnim območjem 100 dB in frekvenco vzorčenja 102,4 kHz. Prav tako ima zajemalni sistem zadostne specifikacije glede nelinearnega popačenja in presluha med kanali. Vsebuje tudi en izhodni kanal, ki ga potrebujemo za generiranje vzbujevalnega signala. Na sliki 1 se nahaja osnovna shema strojne opreme našega merilnega sistema. Slika 1 Osnovna shema strojne opreme merilnega sistema V prvotni zasnovi merilnega sistema smo uporabili namensko slušalko OAE25 proizvajalca Ineracoustics [11], ki se uporablja za merjenje otoakustičnih emisij tipa TEOAE in DPOAE v sistemu Eclipse TEOAE25 in Eclipse DPOAE20. Slušalka s predojačevalnikom je na sliki 2. tako pridemo z linearnim skaliranjem signala navzdol pri višjih amplitudah in njegovim odštevanjem od skupnega zvočnega signala pri nižjih amplitudah stimulacije. Na sliki 4 se nahaja primer sestavljenega stimulacijskega signala, ki smo ga uporabljali. Slika 4 Vzbujevalni signal pri uporabi nelinearne kompresije. Sinusni signal določene frekvence postopoma povečamo po amplitudi na njegov 10-kratnik, kar predstavlja 20 dB razlike. Slika 2 Predojačevalnik s priključeno OAE 25 sondo. Priključimo lahko signale za dva zvočnika in mikrofon v sondi. 2.2 Programska oprema sistema Obdelava podatkov poteka LabVIEW po shemi na sliki 3. v razvojnem okolju Slika 3 Shema programske opreme merilnega sistema Osnovno delovanje te metode je generiranje intervala v katerem v eni časovni polovici ustvarjamo stimulacijski sinusni signal, ki ga nato povečamo po amplitudi za desetkrat (20 dB). Z mikrofonom nato posnamemo skupni zvočni tlak v ušesu. Posnetek razdelimo na dva kosa in posamezen del zapišemo vsakega v svojo matriko. Po amplitudi višji del nato skaliramo navzdol in ga odštejemo od nižjega. Kar nam ostane bi moral biti le SFOAE. Če je signal še vedno premajhne amplitude nad njim nekaj časa izvajamo vektorsko povprečenje. 2.4 Sinhronizacija med vhodom in izhodom pri merjenju emisij igra pomembno vlogo, saj moramo ločiti vzbujevalni signal od tistega, ki ga generirajo zunanje dlačnice v polžu ušesa. Sledi proizvajanje sinusnega signala v različnih oblikah, glede na izbran algoritem. Ta signal se prenese na zvočnik slušalke, tam pretvori v akustični in potuje naprej po sluhovodu. Vzorčenje poteka v realnem času. Glede na izbran algoritem za ekstrakcijo SFOAE sledijo primerne operacije nad shranjenim tokom podatkov. To pomeni, da iz posnetega signala pridemo le do dela, ki vsebuje SFOAE. Nad posnetimi podatki izvedemo hitro Fourierovo transformacijo (FFT, Fast Fourier Transform), da lahko emisijo vidimo na frekvenčnem spektru. Ker so zaporedni posnetki časovno kratki (0,4 s) in signali nizkih amplitud (nekaj mV), je na koncu potrebno izvajati vektorsko povprečenje signala akustične emisije. 2.3 Nelinearna kompresija Pri tej metodi za ekstrakcijo emisij izrabljamo lastnost SFOAE, da ta ne narašča linearno z linearnim večanjem amplitude stimulacijskega akustičnega sinusnega signala [1, 9]. Emisija narašča kompresijsko, graf njene amplitude je tako manj strm. Razmerje amplitud med stimulacijo in emisijo se tako bliža 0 pri višjih nivojih SPL stimulacijskega signala - prispevek emisije je z večanjem SPL vedno manjši. Do ocene SFOAE lahko 281 Dvotonska supresija Prispevek emisije k skupnemu zvočnemu tlaku lahko zmanjšamo tudi z uporabo dodatnega supresijskega tona ob predvajanju stimulacijskega. Ta ton se po navadi nahaja pri bližnji frekvenci in občutno zmanjša oziroma celo eliminira emisijo [1, 6]. Oceno SFOAE lahko dobimo z merjenjem skupnega zvočnega tlaka pri prisotnosti stimulacije z in brez supresije in nato njunim odštevanjem. Za to metodo je ključna uporaba slušalke z dvema zvočnikoma kot je OAE25, da lahko hkrati predvajamo dva tona. Obeh tonov z enim zvočnikom ne smemo predvajati, saj bi pri tem prišlo do intermodulacijskih popačenj že pri generiranju tonov z zvočnikom. 3 3.1 Meritve in rezultati Sonda Interacoustics OAE25 Najprej smo meritve opravljali z uporabo klinične slušalke OAE25, ki se uporablja v profesionalnih TEOAE in DPOAE merilnikih. Slušalka ima vgrajena dva zvočnika in mikrofon. Na sliki 5 sta prikazana oba dela signala posneta z mikrofonom slušalke OAE25 vstavljenim v človeško uho v gluhi sobi. pojavila. Pri frekvenci 3200 Hz na spektru tokrat ni bilo signala. Podobno pričakujemo, da se bo zgodilo pri merjenju ušesa osebe z okvarjenim sluhom [3, 10]. 3.2 Sennheiser CX100 in ICS‐40619 V nadaljevanju smo sestavili lasten sistem za zajemanje SFOAE. Za ohišje in zvočnik smo izbrali Sennheiser CX100 slušalke [11], saj imajo dovolj veliko odprtino in nizko popačenje. V eno izmed slušalk smo vgradili ICS‐40619 MEMS mikrofon [12]. Na sliki 7 se nahaja izdelan prototip. Slika 5 Oba kosa signala skupnega zvočnega tlaka v ušesnem kanalu posneta z OAE25. Večji signal (zgoraj) z algoritmom zmanjšamo za 20 dB in odštejemo od nižjega. Nad dobljeno razliko smo opravili FFT z uporabo Blackmanovega okna. Nad spektrom signala nato izvajamo vektorsko povprečenje dokler ne dosežemo zadovoljivega nivoja SFOAE. Uho smo stimulirali s sinusnim signalom frekvence 3200 Hz. To frekvenco smo izbrali, ker se nahaja v območju, kjer človeško uho zelo dobro ojača signale. To pomeni, da so zunanje dlačnice v polžu zelo aktivne in bi morale proizvajati emisije z višjo amplitudo. Na sliki 6 je prikazana uspešna detekcija SFOAE posneta z mikrofonom slušalke OAE25 v gluhi sobi. Amplituda emisije v primerjavi z okoliškim šumom in hrupom znaša okrog 20 dB. Šum pri nizkih frekvencah nas ne moti, saj so pri SFOAE smiselne le meritve nad 1 kHz. Slika 7 Sennheiser CX100 slušalka z vgrajenim ICS‐40619 mikrofonom. Odprtina je dovolj prostorna, da MEMS mikrofon ne ovira širjenja zvoka. ICS‐40619 ima v vseh smereh enak odziv, tako da njegova ležeča orientacija ne igra vloge. Ponovili smo snemanje v gluhi sobi, tokrat z MEMS mikrofonom. Dobljeni frekvenčni spekter z označenim SFOAE vrhom je prikazan na sliki 8. Slika 8 : Izmerjen frekvenčni spekter zvočnega tlaka v ušesnem kanalu. Komponenta pri 3200 Hz predstavlja SFOAE. Meritev z uporabo CX100 slušalke in ICS‐40619 MEMS mikrofona. Amplituda je prikazana relativno. Slika 6 Izmerjen frekvenčni spekter zvočnega tlaka v človeškem ušesnem kanalu z označeno komponento, ki predstavlja SFOAE. Meritev z uporabo OAE25 sonde pri frekvenci 3200 Hz. Amplituda je prikazana relativno. Da smo se prepričali, da gre res za SFOAE, smo meritev ponovili v umetnem ušesu. Ker se v njem ne nahajajo zunanje dlačnice kot v notranjosti polža, se emisija ni 282 Število vektorskih povprečij spektra in FFT nastavitve so bile enake kot pri uporabi OAE25. Opazimo, da smo dobili ne le primerljive, temveč celo boljše rezultate kot pri uporabi profesionalne slušalke. Razmerje signal/šum SFOAE je v tem primeru okrog 25 dB. Komponenta pri frekvenci 30 kHz je značilnost MEMS mikrofona in je posledica akustične resonance njegovega ohišja, ki je velikosti 3,50 × 2,65 × 0,98 mm. Vsota šumnih komponent je primerljiva s šumom pri uporabi sonde OAE25. 4 Sklep Izdelan sistem za detekcijo po več prilagoditvah tako strojne kot programske opreme deluje. Z njim smo uspešno zaznali prisotnost SFOAE v človeškem ušesu tako z uporabo OAE25 sonde kot tudi z našim prototipom sestavljenim iz slušalke Sennheiser CX100 in MEMS mikrofona ICS‐40619. S slednjim smo dobili celo signale z višjim SNR. Za potrditev ustreznosti tega novega sistema za detekcijo otoakustičnih emisij načrtujemo nadaljnje raziskave in meritve. V nadaljevanju želimo uporabiti druge naprave za zajemanje. Kombinacija npr. NI-9250 in NI-9260 bi poleg malo boljšega dinamičnega območja in nižjih popačenj v primerjavi z NI-4431 zagotovila tudi 2 izhoda, kar potrebujemo za implementacijo metode merjenja z uporabo supresorja. V namene izboljšanja SNR signala SFOAE predvidevamo tudi izdelavo povsem lastne slušalke z vgrajenima dvema zvočnikoma in mikrofonom v ohišju izdelanem po meri. Po testiranju metode z uporabo supresorja bomo izbrali boljšo, ki jo bomo nato uporabili tudi v klinični preiskavi nad prostovoljci z zdravim in okvarjenim sluhom. Literatura [1] Kalluri, R., & Shera, C. A. (2007). Comparing stimulusfrequency otoacoustic emissions measured by compression, suppression, and spectral smoothing. The Journal of the Acoustical Society of America, 122(6), 3562–3575. doi:10.1121/1.2793604 [2] Guinan, J. J., Backus, B. C., Lilaonitkul, W., & Aharonson, V. (2003). Medial Olivocochlear Efferent Reflex in Humans: Otoacoustic Emission (OAE) Measurement Issues and the Advantages of Stimulus Frequency OAEs. JARO - Journal of the Association for Research in Otolaryngology, 4(4), 521–540. doi:10.1007/s10162-002-3037-3 [3] Ellison, John & Keefe, Douglas. (2005). Audiometric Predictions Using SFOAE and Middle-Ear Measurements. Ear and Hearing. [4] Wang, Qi, Yu, Wang, & Chen. (2019). Characteristic of Stimulus Frequency Otoacoustic Emissions: Detection Rate, Musical Training Influence, and Gain Function. Brain Sciences, 9(10), 255. doi:10.3390/brainsci9100255 [5] Charaziak, K. K., & Siegel, J. H. (2015). Tuning of SFOAEs Evoked by Low-Frequency Tones Is Not Compatible with Localized Emission Generation. Journal of the Association for Research in Otolaryngology, 16(3), 317–329. doi:10.1007/s10162-015-0513-0 [6] Neely, S. T., Johnson, T. A., Garner, C. A., & Gorga, M. P. (2005). Stimulus-frequency otoacoustic emissions measured with amplitude-modulated suppressor tones. The Journal of the Acoustical Society of America, 118(4), 2124–2127. doi:10.1121/1.2031969 [7] Schairer, K. S., Ellison, J. C., Fitzpatrick, D., & Keefe, D. H. (2006). Use of stimulus-frequency otoacoustic emission latency and level to investigate cochlear mechanics in human ears. The Journal of the Acoustical 283 Society of America, 120(2), 901–914. doi:10.1121/1.2214147 [8] Choi, Y.-S., Lee, S.-Y., Parham, K., Neely, S. T., & Kim, D. O. (2008). Stimulus-frequency otoacoustic emission: Measurements in humans and simulations with an active cochlear model. The Journal of the Acoustical Society of America, 123(5), 2651–2669. doi:10.1121/1.2902184 [9] Walsh, K. P., Pasanen, E. G., & McFadden, D. (2010). Properties of a nonlinear version of the stimulusfrequency otoacoustic emission. The Journal of the Acoustical Society of America, 127(2), 955–969. doi:10.1121/1.3279832 [10] Schairer, K. S., Fitzpatrick, D., & Keefe, D. H. (2003). Input–output functions for stimulus-frequency otoacoustic emissions in normal-hearing adult ears. The Journal of the Acoustical Society of America, 114(2), 944–966. doi:10.1121/1.1592799 [11]Sennheiser CX100 Black. Dostopno na: https://enus.sennheiser.com/earbuds-cx-100 [12]InvenSense ICS‐40619. Dostopno na: https://invensense.tdk.com/products/ics-40619/ Situacijsko zavedanje voznikov avtomatiziranih vozil Kristina Stojmenova1, Sašo Tomažič1, Jaka Sodnik1, 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana, Slovenija Abstract. While it is expected that road safety increases with each higher level of automation, the available data suggests that human driving behaviour in semiautomated vehicles may be a weak link in their contribution to road safety. Decreased engagement in the driving task results in reduced levels of situational awareness (knowing what is going on around you). Situational awareness (SA) has an important role in any process of dynamic human decision making as it provides the state of knowledge needed for making effective decisions and taking appropriate actions. SA is a cognitive construct and as such is tightly related to other cognitive theories such as cognitive workload, attention and memory. When observed for the dynamic task of driving on the other hand, it is highly influenced by (and influences back) driver behaviour. All of these relationships have influenced the development of a theoretical model of driver’s SA, upon which a number of assessment methods trying to capture every aspect of SA have been developed. This paper explores the importance of situational awareness and presents methods for assessing driver’s situational awareness in semi-automated vehicles. opravljanje nalog potrebnih za upravljanje vozila izven teh pogojev. N5 – Avtomatiziran sistem opravlja vse naloge potrebne za upravljanje vozila v vseh cestnih in okolijskih pogojih. Ena od glavnih potreb (podprta z ekonomskimi in okoljskimi argumenti), ki so botrovale želji po razvoju vozila brez voznika, izhaja iz številnih raziskav in podatkov iz realnega okolja, ki so pokazali, da je človeški faktor razlog za 95 % prometnih nesreč, pri čemer je najpomembnejši med njimi obnašanje voznikov [2][3]. Po pričakovanjih naj bi vsaka višja stopnja avtomatizacije povečala varnost v cestnem prometu, vendar pa razpoložljivi podatki kažejo, da bi bilo lahko obnašanje voznikov v pol-avtonomnih vozilih šibek člen v prispevku teh vozil k varnosti v cestnem prometu. Na primer, kljub jasni definiciji in navodilom, da mora biti voznik osredotočen na vožnjo ves čas (SAE stopnja N2), ali biti kadarkoli pripravljen prevzeti nadzor nad vozilom (SAE stopnja N3), se vozniki polavtomatskih vozil zlahka zamotijo z izvajanjem drugih nalog in (namerno ali nenamerno) zapostavljajo primarno nalogo vožnje. 1 Uvod V zadnjih desetletjih je ena od osrednjih točk zanimanja avtomobilske industrije razvoj popolnoma avtomatiziranega vozila, t. i. avtonomnega vozila. Poznamo 5 (oziroma 6 v kolikor štejemo še nivo brez avtomatizacije) stopenj avtomatizacije, ki jih opredeljujeta Društvo avtomobilskih inženirjev (ang. the Society of Automotive Engineers (SAE)) [1]: N0 – Brez avtomatizacije: Voznik opravlja vse naloge potrebne za upravljanje vozila. N1 – Avtomatizacija kot pomoč pri vožnji: Sistem za pomoč vozniku pomaga pri ohranjanju lateralne ali longitudinalne kontrole nad vozilom. Od voznika se pričakuje, da bo opravil vse (preostale) naloge potrebne za upravljanje vozila. N2 – Delna avtomatizacija: Sistem za pomoč vozniku pomaga pri ohranjanju lateralne in longitudinalne kontrole nad vozilom. Od voznika se pričakuje, da bo opravil vse (preostale) naloge potrebne za upravljanje vozila. N3 – Pogojna avtomatizacija: Avtomatiziran sistem opravlja vse naloge potrebne za upravljanje vozila v točno določenih pogojih. Od voznika se pričakuje, da bo ves čas pripravljen prevzeti opravljanje (del ali vseh) nalog potrebnih za upravljanje vozila izven teh pogojev. N4 – Avtomatiziran sistem opravlja vse naloge potrebne za upravljanje vozila v točno določenih pogojih. Od voznika se ne pričakuje, da bo prevzel ERK'2021, Portorož, 284-288 284 2 Situacijsko zavedanje voznikov Zaradi zmanjšane vključenosti v vožnjo se znižajo ravni situacijskega zavedanja (zavedanja o tem, kaj se dogaja okrog tebe). Situacijsko zavedanje (SZ) ima pomembno vlogo v katerem koli procesu človekovega dinamičnega odločanja, saj zagotavlja stanje védenja, ki je potrebno za sprejemanje učinkovitih odločitev in ustrezno ukrepanje [4]. Za zagotovitev varnosti je tako potrebno, da vozniki še vedno ohranjajo določeno stopnjo SZ v kateremkoli vozilu, ki ima manj kot N5 stopnjo avtomatizacije. Na podlagi teorije o SZ [4], je za doseganje SZ potrebno zaznavanje elementov okolja (stopnja 1 SZ), razumevanje njihovega pomena (stopnja 2 SZ) in zmožnost predvidevanja njihovega statusa v bližnji prihodnosti (stopnja 3 SZ). Te tri stopnje so postavljene v hierarhičnem vrstnem redu, pri čemer je stopnja 3 SZ najvišja. Prva stopnja obravnava zaznavanje vseh pomembnih elementov v okolju, njihov status, lastnosti in dinamiko. Temu sledi druga stopnja, ki se osredotoča na razumevanje okolja in spoznavanje pomena zaznanih elementov in njihovih lastnosti. Tretja in najvišja stopnja SZ odraža sposobnost predvidevanja in napovedovanja dejanj elementov v okolju v bližnji prihodnosti. SZ je bilo prepoznano kot pomembna kognitivna teorija na področju avtomobilizma, ker podpira tako raziskave o vedenju voznikov, kot tudi zasnovo (in oceno) naprednih asistenčnih sistemov (ang. advanced driver assistance systems (ADAS)). Vožnja je kot naloga še posebej zahtevna, saj je sestavljena iz več nalog, ki se izvajajo istočasno (vzdrževanje longitudinalne in lateralne kontrole, upoštevanje prometnih pravil, prilagajanje ostalim udeležencem v prometu, prilagajanje vremenskim in cestnim razmeram, itd.). Z naraščajočo avtomatizacijo nekatere od teh nalog nadzira vozilo, kar olajša vožnjo, hkrati pa je v trenutkih, ko mora voznik prevzeti nadzor nad vozilom, ponovna pridobitev SZ težja. Nekateri napredni asistenčni sistemi, kot so parkirni senzorji, vzvratna kamera in sistemi za zaznavanje mrtvega kota, so bili uvedeni za povečanje voznikovega SZ. Številni drugi napredni asistenčni sistemi, kot je longitudinalna (sistem aktivne regulacije hitrosti - aktivni tempomat) in lateralna kontrola (sistem za ohranjanje voznega pasu), pa po drugi strani pomagajo pri opravljanju nalog med vožnjo z vidika varnosti in udobja z zmanjševanjem voznikovega nadzora nad vozilom. To odpira možnosti za izvajanje sekundarnih nalog, ki niso povezane z vožnjo, kar lahko naredi vožnjo bolj zabavno ali celo uporabno, lahko pa tudi negativno vpliva na varnost vožnje. Povečanje števila naprednih asistenčnih sistemov tako razkriva potrebo po razpoznavi morebitnih negativnih stranskih učinkov (tako kot pri katerikoli drugi novi tehnologiji, uvedeni v vozilo), in implementacijo boljših modelov interakcij človek stroj (ang. human-machine interaction (HMI)), da bi odpravili (ali vsaj zmanjšali) negativne stranske učinke. Če SZ po drugi strani, opazujemo pri dinamični nalogi vožnje, pa nanj močno vpliva obnašanje voznika, ki prav tako učinkuje nazaj. Vožnja se izvaja na treh stopnjah: operativna, taktična in strateška stopnja [5]. Na operativni stopnji vozniki nadzorujejo hitrost vozila, upoštevajo hitrostne omejitve in položaj vozila na voznega pasu. Na taktični stopnji morajo upoštevati okolje in izvajati zahtevne naloge, kot sta vzdrževanje varnostne razdalje ali zamenjava voznega pasu z namenom prehitevanja. Najvišja, strateška stopnja je povezana s strategijami za doseganje splošnega cilja ob upoštevanju omejitev trenutne prometne situacije, kot je npr. načrtovanje poti, ocena časa in stroškov. Raziskovalci so našli tesno povezavo med stopnjami vedenja in stopnjami SZ [6][7]. Vse te povezave so vplivale na razvoj teoretičnega modela voznikovega SZ, v okviru katerega so bile razvite številne metode ocenjevanja, ki so skušale zajeti vse vidike SZ. 3 Metode za ocenjevanje situacijskega zavedanja Na splošno lahko metode za ocenjevanje situacijskega zavedanja razvrstimo v tri kategorije: ocena uspešnosti opravljanja naloge, ki temelji na poizvedbi, samoocena in ocena vedenja. Podatki za samooceno so pridobljeni z direktnimi vprašanji o okolju ali z uporabo lestvice za opis operaterjeve prepričanosti o specifični trditvi. Pri oceni vedenja se iščejo implicitni dokazi o prisotnosti 285 SZ pri opazovanem operatorju; uspešnost opravljanja naloge in samo vedenje operaterja se opazujeta kot neposreden dokaz o ustrezne oz. neustrezne prisotnosti SZ. Nazadnje, ocene uspešnosti, ki temeljijo na poizvedbi iščejo neposredne dokaze SA s pomočjo vprašanj. Ta pristop vključuje pridobivanje nabora informacij od posameznika o njegovem dojemanju in razumevanju situacije, ki se potem primerjajo z uveljavljeno temeljno resnico. 3.1 Ocena situacijskega zavedanja, ki temelji na poizvedbi Najbolj znane in pogosto uporabljene metode za ocenjevanje voznikovega SZ so metode, ki temeljijo na oceni uspešnosti opravljanja nalog z uporabo poizvedb. Prva in dandanes najbolj pogosto uporabljena metoda je tehnika globalne ocene situacijskega zavedanja (SAGAT) [8][9]. Pri uporabi SAGAT se simulacija ustavi naključno, operaterjem pa se postavijo vprašanja o delovanju naprave in okolice v času, ko se je ustavila simulacija, z namenom, da bi določili njihovo SZ. Odgovori operaterja se primerjajo z vnaprej določenimi pravilnimi odgovori, ki poskušajo zajeti vse tri ravni SA. Prvotno je bila metoda SAGAT uporabljena za oceno SA upravljavcev industrijskih strojev, kasneje pa je bila prilagojena in se začela uporabljati tudi za številna druga področja. Pri vožnji je uporabljena za določitev korelacije med voznikovo starostjo in njegovo sposobnostjo SZ, kar kaže, da so starejši odrasli manj pozorni na pomembne informacije v primerjavi z mlajšimi starostnimi skupinami [10]. Nadalje je bila uporabljena za določitev korelacije delovnega spomina s SZ, rezultati pa so pokazali, da vizualno prostorski in zvočni dražljaji motijo prostorsko SZ voznikov [11]. Uporabljena je bila tudi za oceno novih pristopov in vmesnikov za povečanje SZ [12][13]. Z uporabo podobne metode je bil razvit matematični model, ki je namenjen opisovanju dinamičnega procesa grajenja SZ po zahtevi za prevzem nadzora v polavtomatskem vozilu. Matematični model je razkril eksponentno razmerje med voznikovim SZ in gostoto prometa ter SZ in časom, ki je bil porabljen v avtomatiziranem načinu vožnje. Metoda poizvedbe, ki temelji na zaustavitvi simulacije je precej vsiljiva in ne omogoča opazovanja naravnega procesa v ustreznem okolju. Ustavitev voznega procesa (tudi v simuliranih okoljih) za vsako poizvedbo lahko bistveno vpliva na vozniško vedenje in vpliva na njihove odzive. S tega vidika bi bila primernejša alternativna in prilagojena metoda poizvedbe o vožnji za oceno trenutnega stanja (ang. Situation present assessment method (SPAM)) [14]. SPAM loči kognitivno obremenitev od SZ tako, da operaterja opozori, da je vprašanje v čakalni vrsti in čaka dokler operater vprašanja ne sprejme. Odzivni čas za sprejem naloge, čas potreben za dokončanje naloge in število izpuščenih oziroma neopravljenih nalog so definirani kot kazalniki SZ. 3.2 Samoocena situacijskega zavedanja Zaradi enostavnosti in stroškovno učinkovite narave je še ena pogosta tehnika za ocenjevanje voznikove SZ samoocenjevanje in uporaba vprašalnikov. Ena izmed najbolj priljubljenih in široko sprejetih je tehnika ocenjevanja situacijskega zavedanja (ang. Situational awareness rating technique (SART)), ki uporablja sedem-stopenjsko ocenjevalno lestvico (kjer je 1=nizko, 7=visoko), za pridobitev ocen operaterja o njegovih izkušnjah z opravljeno nalogo [15]. SART meri SZ v treh dimenzijah: zahteve po pozornostnih virih (ang. Demands on attentional resources (SART-DAR)), ponudba pozornostnih virov (ang. supply of attentional resources (SART-SAR)) in razumevanje situacije (ang. understanding of the situation (SART-UOS)). Vse tri se uporabljajo za pridobitev celostne ocene SZ. Vprašalnik se izpolni ob koncu naloge. Čeprav je zelo priljubljen za oceno SZ pilotov, ni bil splošno sprejet za oceno voznikovega SZ. Prilagoditve in podobni vprašalniki, kot je Cranfieldova lestvica situacijskega zavedanja (ang. Cranfield Situation Awareness Scale (CranfieldSAS)) [16][17], so bili uporabljeni za samoocenjevanje SZ v študijah, povezanih z vožnjo, vendar običajno kot podporna in ne glavna metoda ocenjevanja. Podatki samoocenjevanja so razkrili, da SZ pozitivno vpliva na zaupanje v avtomatizirana vozila [18][19] in da stanja voznika, kot je jeza, negativno vplivajo na SZ in uspešnost vožnje [20]. 3.3 Ocena vedenja kot indikator situacijskega zavedanja Za ocenjevanje operaterjevega SZ se lahko uporablja tudi ocena vedenja. Na drugih področjih se to izvaja s strokovnjakom za opazovano področje (ang. Subject matter expert (SME)). S to metodo strokovnjaki ocenjujejo stopnjo SZ drugih operaterjev z uporabo vnaprej določenega nabora navodil. Ocena vedenja voznika s SME se uporablja za vožnjo, vendar je bil namen strokovne ocene predvsem za pridobitev temeljnega znanja za nastavljanje vhodnih vrednosti nevronskih mrež [21][22], ne pa kot standardizirana ocena vedenja. Kar zadeva oceno SZ voznika, ni enotnega ali ustaljenega postopka, kako in katere podatke o obnašanju med vožnjo je potrebno opazovati. Na primer, opazovanje voznikovega vedenja v kritičnih situacijah je bilo uporabljeno za korelacijo krajših odzivnih časov, kontrolo varnostne razdalje in časa do trka s SZ [23]. Nadalje sta Ma & Kaber [24] odkrila pomembno negativno linearno povezavo med zmanjšanimi ocenami stopnje 3 SZ in napakami pri sledenju napotkom navigacijskega sistema. To je v skladu z ugotovitvami Matthews idr. [7] o teoretični povezavi stopnje 3 SZ s strateško stopnjo vedenja voznika. Povišano SZ zaradi zvočnih signalov, ki voznika obveščajo o upočasnitvi prometa, je privedlo do manj sunkovitega zaviranja [25], ki je naloga povezana s stopnjo 2 SZ. Nazadnje je bilo ugotovljeno, da trening vožnje in izboljšane sposobnosti pozitivno korelirajo s 286 SZ v avtomatiziranih vozilih, vendar ne nujno v enakem obsegu kot v ne-avtomatiziranem vozilu [26]. 3.4 Druge metode za posredno ocenjevanje situacijskega zavedanja SZ je medsebojno povezano s posameznikovo kognitivno obremenitvijo, pozornostjo in stanjem delovnega spomina v določenem trenutku. Ker ni široko znane in potrjene metode za oceno voznikove SZ, je možno zaslediti študije, kjer so raziskovalci uporabili uveljavljene metode za ocenjevanje drugih kognitivnih konstruktov, kot posredne metode za oceno tudi SZ. Ker je postopek vožnje predvsem vizualno-ročna naloga, je zelo učinkovita metoda tudi uporaba sledilnika pogleda. Sledilniki pogleda se lahko uporabijo za od spremljanje področja voznikove vizualne pozornosti [27][28] pa vse do diferenciacije različnih ravni voznikove kognitivne obremenitve [29]. Natančneje, uporabljajo se za opazovanje ali voznik zazna pomembne dražljaje in ali nepomembni dražljaji preusmerijo njegovo pozornost [30][31]. Prav tako so jih uporabili za raziskovanje, časa potrebnega za povrnitev vizualne pozornosti, kar so Gold idr. [32], poimenovali SZ okolja. S stališča teorije je sledenje pogledu večinoma povezano z oceno stopnje 1 SZ, ki se ukvarja z dojemanjem okolja [33]. Alternativno je mogoče odziv zaradi vpliva kognitivne obremenitve na pozornostne vire zaznati tudi z opazovanjem sprememb reakcijskih časov na zvočne dražljaje, kjer so raziskave pokazale boljšo občutljivost v primerjavi z uporabo vizualnih in taktilnih dražljajev [34]. 4 Vmesniki za povečanje situacijskega zavedanja Pri SAE N2 mora biti voznik osredotočen na vožnjo ves čas, medtem ko pri SAE N3 mora biti kadarkoli pripravljen prevzeti nadzor nad vozilom. Vendar zaradi številnih asistenčnih sistemih in vedno večje število opravil, ki jih uspešno opravlja vozilo samo, se vozniki polavtomatskih vozil zlahka zamotijo z izvajanjem drugih nalog in (namerno ali nenamerno) zapostavljajo primarno nalogo vožnje. Najbolj kritična naloga pri uporabi pol-avtomatiziranega vozila je tako naloga (ponovnega) prevzema nadzora nad vozilom s strani voznika. Velik vpliv na uspešnost prevzema kontrole nad vozilom ima čas potreben za ponovno pridobitev situacijskega zavedanja voznika o stanju vozila, razmer na cesti in vseh ostalih informacij, ki so ključni za varno upravljanje z vozilom v tem trenutku. Kot najbolj uspešni vmesniki za sporočanje informacij za prevzem kontrole nad vozilom, hitrejših reakcijskih časov ter hitro pridobitev ustreznega situacijska zavedanja so bili prepoznani zvočni vmesniki [34][35][36][37]. Vendar na tem področju še vedno ne obstajajo standardi, ki bi narekovali uporabo enotnih zvokov. Večinoma je tako možno zaslediti uporabo abstraktnih zvokov [36][38], ki pogosto uporabljajo priporočene zvoke s strani uveljavljenih organizacij na področju avtomobilizma [39][40] ali drugih prevoznih sredstev [41][42]. 5 Zaključek Avtomatizirana vožnja je postala kritični varnostni in ekonomski faktor in je sprožila vrsto raziskav na področju avtomobilizma. Preden pa bomo na cestah po vsem svetu videli veliko število popolnoma avtonomnih vozil, bo potrebno rešiti pomembne izzive. Nekaj od teh izzivov se nanaša na tehnični razvoj vozil, ki se lahko odzivajo na kompleksnost in dinamiko okolij cestnega prometa (na primer, komunikacija vozilovozilo). Drugi kritični del je povezan s cestno in prometno infrastrukturo, ki bo olajšala avtonomno vožnjo (na primer, komunikacija vozilo-infrastruktura). Poleg tega je potrebno še veliko postoriti na področju integracije avtomatiziranih tehnologij in človekovih pričakovanj ter zmožnosti. V tem prispevku smo se osredotočili na pomen situacijskega zavedanja voznikov avtomatiziranih vozil. Smo predstavili pregled metod, ki se uporabljajo za ocenjevanje SZ ter izpostavili njihove prednosti in slabosti. Določitev ustreznih vlog voznika v avtomatizirani vožnji je ključ za oblikovanje sprejemljivih rešitev za avtomatizirano vožnjo. Ker ni pričakovati, da bo v naslednjih 10 letih izvedljiva popolnoma avtonomna vožnja ravni 5, kjer avtomatizirana vozila lahko delujejo v vseh cestnih pogojih znotraj katere koli regije na svetu, bo človek moral biti vključen, da bo lahko (intuitivno) razumel in nadziral različne ravni avtomatizirane vožnje, ki bodo na razpolago. Da bomo v celoti izkoristili prednosti avtomatiziranih vozil in se hkrati izognili možnim negativnim učinkom zaradi zmanjšane voznikove vloge, bo ključno vzdrževanje situacijskega zavedanja na ustrezni ravni in zato je zelo pomembno, da poznamo in uporabljamo ustrezne metode za njegovega ocenjevanja. Literatura [1] SAE international. (2016). Taxonomy and definitions for terms related to driving automation systems for on-road motor vehicles. SAE International, (J3016). [2] Sabey, B.E. and H. Taylor, The Known Risks We Run: The Highway, in Societal Risk Assessment, R.C. Schwing and W.A. Albers, Editors. 1980, Springer: Boston, MA. [3] Boyce, T. E., & Geller, E. S. (2002). An instrumented vehicle assessment of problem behavior and driving style: Do younger males really take more risks? Accident Analysis & Prevention, 34(1), 51-64. [4] Endsley, M. R. (1995). Toward a theory of situation awareness in dynamic systems. In Human Factors Journal, 37(1), 32-64. [5] Boer, E. R., & Hoedemaeker, M. (1998, December). Modeling driver behavior with different degrees of automation: A hierarchical decision framework of interacting mental models. In Proceedings of the 17th European annual conference on human decision making and manual control (pp. 63-72). 287 [6] Ward, N. J. (2000). Automation of task processes: An example of intelligent transportation systems. Human Factors and Ergonomics in Manufacturing & Service Industries, 10(4), 395-408. [7] Matthews, M. L., Bryant, D. J., Webb, R. D., & Harbluk, J. L. (2001). Model for situation awareness and driving: Application to analysis and research for intelligent transportation systems. Transportation research record, 1779(1), 26-32. [8] Endsley, M. R. (1988, May). Situation awareness global assessment technique (SAGAT). In Proceedings of the IEEE 1988 national aerospace and electronics conference (pp. 789795). IEEE. [9] Endsley, M. R. (2000). Direct measurement of situation awareness: Validity and use of SAGAT. In Situational Awareness (pp. 147-174). [10] Bolstad, C. A. (2000, October). Age-related factors affecting the perception of essential information during risky driving situations. In Human Performance Situation Awareness and Automation: User-Centered Design for the New Millennium Conference, Savannah, GA. [11] Johannsdottir, K. R., & Herdman, C. M. (2010). The role of working memory in supporting drivers’ situation awareness for surrounding traffic. Human factors, 52(6), 663-673. [12] Scholtz, J., Antonishek, B., & Young, J. (2004, January). Evaluation of a human-robot interface: Development of a situational awareness methodology. In 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the (pp. 9-pp). IEEE. [13] Sirkin, D., Martelaro, N., Johns, M., & Ju, W. (2017, May). Toward measurement of situation awareness in autonomous vehicles. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (pp. 405-415). [14] Durso, F.T. and Dattel, A.R. (2004) ‘SPAM: the realtime assessment of SA’, in Banbury, S. and Tremblay, S. (Eds.): A Cognitive Approach to Situation Awareness: Theory and Application, pp.137–154, Ashgate Publishing Ltd., Hampshire. [15] Taylor, R. M. (1990). Situational awareness rating technique (SART): The development of a tool for aircrew systems design. In Situational awareness in aerospace operations. [16] Dennehy, K. (1997). Cranfield situation awareness scale. [17] Salmon, P., Stanton, N., Walker, G., & Green, D. (2006). Situation awareness measurement: A review of applicability for C4i environments. Applied ergonomics, 37(2), 225-238. [18] Sonoda, K., & Wada, T. (2017). Displaying system situation awareness increases driver trust in automated driving. IEEE Transactions on Intelligent Vehicles, 2(3), 185193. [19] Petersen, L., Robert, L., Yang, J., & Tilbury, D. (2019). Situational awareness, driver’s trust in automated driving systems and secondary task performance. SAE International Journal of Connected and Autonomous Vehicles, Forthcoming. [20] Jeon, M., Walker, B. N., & Gable, T. M. (2015). The effects of social interactions with in-vehicle agents on a driver's anger level, driving performance, situation awareness, and perceived workload. Applied ergonomics, 50, 185-199. [21] Komavec, M., Kaluža, B., Stojmenova, K., & Sodnik, J. (2019). Risk Assessment Score Based on Simulated Driving Session, in 2019 Driving Simulation Conference Europe. 2019. p. 67-74. [22] Sodnik, J., Kaluža, B., Komavec, M., & Stojmenova, K. (2021). Postopek vrednotenja voznika in naprava za izvedbo postopka (eng. Driver evaluation method and device for implementing the method). Patent SI 25874. Slovenian Intellectual Property Office (SIPO). [23] Merat, N., & Jamson, A. H. (2009). Is Drivers' Situation Awareness Influenced by a Fully Automated Driving Scenario? In Human factors, security and safety. Shaker Publishing. [24] Ma, R., & Kaber, D. B. (2007). Situation awareness and driving performance in a simulated navigation task. Ergonomics, 50(8), 1351-1364. [25] Nowakowski, C., Vizzini, D., Gupta, S. D., & Sengupta, R. (2012). Evaluation of real-time freeway end-of-queue alerting system to promote driver situational awareness. Transportation research record, 2324(1), 37-43. [26] Walker, G. H., Stanton, N. A., Kazi, T. A., Salmon, P. M., & Jenkins, D. P. (2009). Does advanced driver training improve situational awareness?. Applied ergonomics, 40(4), 678-687. [27] Strayer, D. L., Drews, F. A., & Johnston, W. A. (2003). Cell phone-induced failures of visual attention during simulated driving. Journal of experimental psychology: Applied, 9(1), 23. [28] Stojmenova, K. (2020). Assessing the attentional effects of cognitive load in driving environments. V: Wearable eye tracking: online user meeting: September 8 - September 9, 2020. Tobii Pro. [29] Čegovnik, T., Stojmenova, K., Jakus, G., & Sodnik, J. (2018). An analysis of the suitability of a low-cost eye tracker for assessing the cognitive load of drivers. Applied ergonomics, 68, 1-11. [30] Barnard, Y., & Lai, F. (2010). Spotting sheep in Yorkshire: Using eye-tracking for studying situation awareness in a driving simulator. In Human factors: a system view of human, technology and organisation. Annual conference of the europe chapter of the human factors and ergonomics society 2009. [31] Samuel, S., Borowsky, A., Zilberstein, S., & Fisher, D. L. (2016). Minimum time to situation awareness in scenarios involving transfer of control from an automated driving suite. Transportation research record, 2602(1), 115-120. [32] Gold, C., Damböck, D., Lorenz, L., & Bengler, K. (2013, September). “Take over!” How long does it take to get the driver back into the loop? In Proceedings of the Human Factors and Ergonomics Society Annual Meeting (Vol. 57, No. 1, pp. 1938-1942). Sage CA: Los Angeles, CA: Sage Publications. [33] Schömig, N., & Metz, B. (2013). Three levels of situation awareness in driving with secondary tasks. Safety science, 56, 44-51. [34] Stojmenova, K., & Sodnik, J. (2018). Validation of auditory detection response task method for assessing the attentional effects of cognitive load. Traffic injury prevention, 19(5), 495-500. [35] McKeown, D. (2005). Candidates for within-vehicle auditory displays. Georgia Institute of Technology. 288 [36] Ko, S., Kutchek, K., Zhang, Y., & Jeon, M. (2021). Effects of Non-Speech Auditory Cues on Control Transition Behaviors in Semi-Automated Vehicles: Empirical Study, Modeling, and Validation. International Journal of Human– Computer Interaction, 1-16. [37] Bazilinskyy, P., & de Winter, J. (2015). Auditory interfaces in automated driving: an international survey. PeerJ Computer Science, 1, e13. [38] Sanghavi, H., Jeon, M., Nadri, C., Ko, S., Sodnik, J., & Stojmenova, K. (2021, July). Multimodal takeover request displays for semi-automated vehicles: Focused on spatiality and lead time. In International Conference on HumanComputer Interaction (pp. 315-334). Springer, Cham. [39] Campbell, J. L., Brown, J. L., Graving, J. S., Richard, C. M., Lichty, M. G., Sanquist, T., & Morgan, J. (2016). Human factors design guidance for driver-vehicle interfaces. National Highway Traffic Safety Administration, Washington, DC, DOT HS, 812, 360. [40] ISO, 2017. Road vehicles-Ergonomic aspects of transport information and control systems-Specifications for in-vehicle auditory presentation," ISO Standard 15006:2011. [41] Patterson, R. D. (1990). Auditory warning sounds in the work environment. Philosophical Transactions of the Royal Society of London. B, Biological Sciences, 327(1241), 485492. [42] Ulfvengren, P. (2000, July). Natural warning sounds in safety critical human-machine systems-A cognitive engineering approach. In Proceedings of the Human Factors and Ergonomics Society Annual Meeting (Vol. 44, No. 22, pp. 742-745). Sage CA: Los Angeles, CA: SAGE Publications. Odstranjevanje šuma gramofonskih plošč Aljaž Dobnik1, Urban Burnik2 1 Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Fakulteta za elektrotehniko 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, E-pošta: ad0958@student.uni-lj.si Povzetek. Vinilna plošča je glede na čas, ko je nastala, zagotovo pomemben mejnik. Še danes ponuja odličen zvok, ima pa nekaj neizbežnih pomanjkljivosti. Z uporabo se vinil obrablja, občutljiva je na mehanske in temperaturne vplive, kvaliteta zvoka je odvisna tudi od kvalitete samega vinila, ima omejitev pri trajanju posnetka na eni strani plošče oziroma se kvaliteta z dolžino manjša. V članku bomo opisali odstranjevanje enega najbolj nezaželenih pojavov na vinilnih ploščah, ki ga imenujemo šum. 1 Uvod Gramofonska plošča je analogni fizični nosilec zvočnega zapis v obliki okrogle plošče, izdelane iz vinila. Gramofonska igla, ki sledi kanalu, vibrira kot to narekuje njegova oblika in svoje tresljaje pretvarja v električni signal, ta pa je kasneje pretvorjen v zvok. Za kakovostno reprodukcijo je priporočljivo, da jo občasno tudi očistimo [2]. Kljub temu zaradi izrabljenosti, mehanskih poškodb, zamazanosti ali tehnologije zajema analognih podatkov s plošče kakovost zvoka pogosto ni ustrezna. Z naravo šuma je povezan pojem dinamičnega razpona gramofonske plošče. Razmerje med lastnim šumom plošče in najglasnejšim zvokom, ki ga lahko zapišemo brez popačenj, imenujemo dinamični razpon. Višji kot je, več najtišjih podrobnosti v zvoku bomo slišali. To so odzveni, odmevi in višji harmoniki, ki na primer določajo karakter posameznih glasbil. Dinamični razpon se izraža v decibelih, logaritmičnem razmerju med najnižjo in najvišjo možno ravnijo signala. V najboljšem primeru je ta za vinilno ploščo 70 dB in se z vsakim nadaljnjim predvajanjem zaradi obrabe slabša. Kaseta, na primer, ponuja precej slabši dinamični razpon, približno 50 dB, v najboljšem primeru z uporabo reduktorjev šuma tja do 70 dB. Le profesionalni analogni magnetofonski trak dosega dinamični razpon 90 dB, še vedno manj kot zmore CD [1]. V raziskavi smo obdelali karakteristične značilnosti šuma poškodovanih vinilnih plošč ter predlagali in demonstrirali postopke za njegovo odstranjevanje. Članek predstavlja posamezne korake za odstranjevanje šuma, rezultate opisanega procesa ter komentarje. ERK'2021, Portorož, 289-292 289 2 Orodja in postopki Za potrebe zajema in obdelave posnetkov z gramofonskih plošč smo uporabili brezplačno, vendar zmogljivo odprtokodno orodje Audacity. Program omogoča digitalno snemanje in urejanje zvoka in je na voljo za Windows, macOS, Linux in druge podobne operacijske sisteme. Kod smo že omenili, s programom Audacity poleg snemanja lahko zvok tudi obdelujemo in sicer na več načinov: - Odstranjujemo šum. Dodajamo najrazličnejše efekte. Znižujemo, zvišujemo glasnost. Režemo visoke ali nizke tone. itd. Da bi pred obdelavo čimbolj zmanjšali sistemski vpliv motenj, smo natančno opredelili potek zajema zvoka z gramofonskih plošč (zgled: ang. Sample workflow for LP digitization, [3]), ki obsega: 2.1 Čiščenje vinilne plošče Da bi očistili mikro delce prahu, ki se je zažrl na površino plošče, uporabimo mehko tkanino. To je najverjetneje najboljša metoda za čiščenje plošče, saj to vrsto nečistoče predstavljajo majhni trdni delci, ki jih je moč mehansko odstraniti s površine. Pripravimo raztopino mlačne vode, ki jo pomešamo z malo detergenta za pomivanje posode. Pri tem se skušamo izogniti, da bi zmočili etiketo, saj bi jo v tem primeru lahko nenamerno odstranili. Pralno sredstvo, ki smo ga pripravili, odplakne tudi vse mastne prstne odtise. Počasi spiramo, tako da odstranimo vse pralno sredstvo. Na koncu ploščo pomijemo z destilirano vodo, saj destilirana voda ne pušča ostankov. Ploščo za tem temeljito posušimo na zraku. 2.2 Poravnava ukrivljene plošče Če je LP oziroma vinilna plošča ukrivljena, zagotovo ne bo pravilno predvajala glasbe. Da ukrivljanje odpravimo, oziroma ploščo izravnamo, potrebujemo dva kosa ravnega lepljenega lesa (iverke). Vinilno ploščo od spodaj in od zgoraj prekrijemo s tkanino, da les ne bi poškodoval plošče. Vinilno ploščo postavimo med lesene plošče in na vrh le te položimo nekaj težkega (malo večji kamen, železno ploščo, ipd.). Pustimo nekaj dni v topli sobi in za tem poizkusimo vinilno ploščo predvajati. V testnem primeru tega koraka nismo potrebovali, saj je bila vinilna plošča povsem ravna. 2.3 Nastavljanje glasnosti snemanja V orodni vrstici programa Audacity najdemo posebno okno, kjer lahko opazujemo glasnost snemanja. Okno prikazuje slika 1. Slika 3: Valovna oblika posnetka 2.5 Preden izvedemo kakršno koli spreminjanje posnetka je najbolj pomembno, da ustvarimo kopijo surovega posnetka, saj se nam lahko med samim spreminjanem posnetka pripetijo določene težave, ali pa posnetek trajno spremenimo v primerjavi s surovim posnetkom. To storimo, tako da podvojimo datoteko (posnetek). Enega imamo kot kopijo, drugega pa obdelujemo. 2.6 Slika 1: Okno za izravnavanje glasnosti v orodni vrstici Glasnost glasbe nastavimo tako, da nam okno za izravnavanje glasnosti ne pokaže rdeče barve, ko jo v glasbi prisoten najglasnejši ton (nekje med 0 in -6 dB). Glasnost lahko spreminjamo na več načinov. Lahko jo spreminjamo na zvočni kartici in sicer s potenciometrom, kjer imamo priključen mikrofon (ang. Input Gain), lahko pa jo tudi spreminjamo v programu. Če želimo glasnost spreminjati v programu, se ponovno postavimo v opravilno vrstico, kjer pa glasnost nastavljamo z drsnikom, ki ga prikazuje slika 2. V tej projektni nalogi smo za glasnost uporabljali le zvočno kartico, zato smo morali v programu nastaviti drsnika na maksimum. Varnostna kopija surovega posnetka Odstranjevanje DC odmika Normalizacija poizkuša odstraniti kakršne koli DC odmike od amplitude. Tehnično to stori tako, da poišče povprečje vseh vrednosti vzorca v izboru, nato pa odšteje to povprečno vrednost od vseh vzorcev. DC odmik lahko povzroči klike in popačenja ter omeji prostor, ki je na voljo za normalizacijo, s čimer pa se lahko omeji tudi glasnost. Za normalizacijo najprej označimo celoten posnetek, nato se v orodni vrstici postavimo na Učinki (ang. Effects) in izberemo Normaliziraj (ang. Normalize). Vrednost največje amplitude je po prevzeti nastavitvi nastavljeno na -1 dB, vendar ta vrednost daje malo prostora za učinke in predvajanje glasbe brez popačenja. Zato smo vrednost nastavili na -3 dB, da se normalizira na nižje amplitude. Normaliziranje prikazuje slika 4. Slika 2: Drsnika za spreminjanje in sprejemanju glasnosti 2.4 Snemanje glasbe Slika 4: Normalizacija Za izvedbo snemanja smo uporabili zvočno kartico (U-PHORIA UMC22) znamke Behringer. Za predvajanje gramofonske plošče (BON JOVI, Slippery When Wet – Livin' On A Prayer) smo uporabili gramofon znamke Muse (MT-110 B). Po priklopu opreme smo najprej izvedli nastavljanje glasnosti, ki smo ga opisali v poglavju 2.3. Sledilo je snemanje posameznih skladb. Valovno obliko surovega posnetka prikazuje slika 3. 290 2.7 Odstranjevanje klikov in pokov Obstaja več načinov s katerimi lahko Audacity odstrani klikanje in pokanje v posnetku. Kliki in poki so posledica mehansko obrabljene vinilne plošče. S prostim očesom lahko na valovni obliki posnetka vidimo klikanje in pokanje. To so podolgovate in tanke črtice, ki »štrlijo« iz valovne oblike posnetka. Klikanje in pokanje je prikazano na sliki 5. Slika 7: Označevanje šuma 2.8.2 Odstranjevanje šuma Slika 5: Kliki in poki Klikanje in pokanje odstranimo tako, da se v orodni vrstici pomaknemo na zavihek Učinki (ang. Effects), nato pa izberemo Odstranitev prsketa (ang. Click Removal). Slika 6 prikazuje kako smo odstranili en klik, ki je dobro viden na sliki 5 (nekje na 5,8 s). Prsketanja nismo morali povsem odstraniti, saj jih program v sami valovni obliki obravnava kot del glasbe. Vse skupaj se bolje da odstraniti z postopkom za odstranjevanje šuma, kakršen je predstavljen v naslednjem poglavju. Ko to storimo, moramo ta del posnetka analizirati. Audacity bo izdelal profil šuma in si zapomnil karakter šumenja. Odstranjevanje šuma poteka z matematičnim odštevanjem dveh krivulj, kjer dobimo zašumljen posnetek, od katerega odštejemo modeliran šum. Želene vrednosti za odstranjevanje šuma smo nastavili na (slika 8): - Odstranjevanje šuma (dB) → 20 - Občutljivost → 10 - Glajenje frekvenc (pasovno) → 5 Slika 6: Odstranjeno klikanje in pokanje Slika 8: Nastavljene vrednosti za odstranjevanje šuma 2.8 Odstranjevanje šuma Če posnetek pozorno poslušamo, v njem slišimo ogromno nekega šuma, ki je sestavljen iz najrazličnejšega prsketanja in pokanja, kateri so posledice že prej omenjene poškodovane plošče ali pa poškodovane gramofonske igle. Kot posledice šuma lahko naštejemo tudi okolico, kjer smo ploščo posneli, kvaliteto mikrofona, zvočne kartice, itd. Za tem, ko smo ploščo dobro očistili, pripravili za snemanje, posneli, normalizirali in odstranili pokanje sledi še odstranjevanje šuma. Postopek je prikazan v dveh korakih: 2.8.1 Lociranje in označevanje Najprej na posnetku lociramo prisotnost šuma. V našem projektu smo to storili povsem na začetku, ko se glasba še ne predvaja. Tam je po navadi prisotnega največ šuma. Slika 7 prikazuje lokacijo (označeno od 0 do 5 s), kjer je v posnetku prisoten šum. 291 Rezultati odstranjevanja šuma so prikazani v poglavju Rezultati. 2.9 Naraščanje glasnosti in utišanje glasnosti (ang. Fade In/Out) glasbe Sam posnetek bi lahko polepšali tudi z učinkom bledenja (ang. Fade In/Out Effect). To storimo tako, da se v orodni vrstici postavimo na zavihek Učinek (ang. Effects) in tam poiščemo Studio Fade Out učinek. Ker pa je naša glasba že bila posneta z Fade In/Out učinkom, nam tega koraka ni bilo potrebno izvesti. 2.10 Izvažanje posnetka kot WAV ali MP3 mapo Ko glasbo predelamo po naših željah, oziroma ko smo v opisanem procesu izvedli prej omenjene postopke je čas, da posnetek izvozimo v izhodni format. Izbrali smo MP3 obliko. To storimo tako, da se postavimo na zavihek Datoteke (ang.), nato pa na gumb Izvozi (ang. Export). Tam lahko izberemo možnost za izvoz datoteke v MP3 obliki, lahko izvozimo tudi kot WAV ali kot OGG. 3 Rezultati Zanimivo je, da v primeru odstranjevanja pokanja in klikanja nismo uspeli odstraniti vseh pokov in klikov. To je dokaj logično, saj sam program v valovnici ne prepozna vseh pokov in klikov, oziroma upošteva, da so navedeni zvoki sestavni del glasbe, zato jih ne more odstraniti. Mislimo pa, da nam je s tem pristopom dobro uspelo odstraniti te glasne in opazne (slišne) poke in klike. Rezultat tega smo že prikazali na sliki 6. Ko pa smo se lotili odstranjevanja šuma, pokanja in klikanja z učinkom odstranjevanja šuma pa je zadeva postala veliko bolj smiselna. Šuma na začetku in med glasbo praktično ni več videti na valovni obliki, niti slišati na slušalkah ali zvočnikih. Slika 9 prikazuje valovno obliko po tem, ko smo šum odstranili z učinkom odstranjevanja šuma v programu Audacity. 5 Slika 9: Odstranjen šum Iz valovne oblike na sliki 9 je torej dobro razvidno, da smo šum skoraj popolnoma odstranili. Tudi glasba je postala nekoliko tišja, kar pa je najverjetneje posledica tega, da je program identificiral, da je pri glasnih tonih prisoten šum. Pravzaprav računski postopek tukaj ne more biti popoln, saj tudi karakter šuma ni popoln. Ker ima vzorec šuma, ki smo ga izmerili, vedno tudi nekaj podobnosti z oblikami, ki se nahajajo tudi v glasbi, ga nikoli ne bo možno popolnoma izolirati. Zaradi tega je rezultat očiščena glasba, ki zveni preveč čisto, zveni prazno, kot bi ji primanjkovalo barve. Dogajalo se je, da so bili v procesu čiščenja šuma nekateri zvoki popačeni. Program je lepo odstranil nepotrebne zvoke iz »ozadja«, le tisti najglasnejši poki so ostali slišni in sicer potiho, tako, da to ni tako velik problem. Seveda, lahko še tudi to odstranimo z označevanjem in potem pobrišemo te dele ven, ampak je to dolgotrajen in precizen postopek, saj lahko s tem skrajšamo glasbo in je potem takem lahko tempo glasbe nepravilen. 4 klik. Odstranjevanje šuma s programom Audacity pa je zelo učinkovito. Sploh, ko smo sledili postopkom na spletni strani Audacity-a, smo glasbo zelo dobro predelali. Lahko rečemo, da se zdaj sliši skoraj kot iz CDja. Zanimivo je, da se je uporaba gramofonskih plošč z izumom CD-ja in kasete znatno pomanjšala. Ko pa je prišel na dan še Internet in vsi drugi možni predvajalniki glasbe, pa še toliko bolj. Seveda v svetu najdemo še ogromno ljudi, ki radi poslušajo glasbo iz gramofonov, s tem ciljam bolj na naše babice in dedke. Se mi zdi, da se bo uporaba gramofonov z leti spet nekoliko povečala, saj se sam »Retro« trend spet uveljavil med popularnimi. Posledično se postavlja tudi vprašanje, ali sploh odstranjevati šum s posnetkov oziroma ali šum odstranjevati v polni meri. Obstajata dva različna pogleda na to vprašanje, izpostavili pa bi radi mnenje strokovnjaka, ki pravi: "Pustite šum pri miru, zadeva se bo sama rešila po naravni poti. Človekovo uho je čudovit aparat, ki bo sprocesiral slišani signal, ga poslal kot skozi filter, vsa odštevanja bodo opravili možgani v živo, in vse dokler sega šum od izven slišnih nizkofrekvenčnih do visokofrekvenčnih valovnih dolžin, bo človek lahko užival v originalno zveneči glasbi, ne da bi šum pri tem sploh opazil." Zaključek Za zaključek bi lahko dejali, da smo se iz eksperimenta naučili veliko novega o samih gramofonih, gramofonskih ploščah, programu Audacity, itd. Povemo lahko, da se s samim čiščenjem vinilne plošče, torej tistim, ko uporabljamo vodo in milnico, ne odstrani šuma ampak le tu in tam kakšen mali pok ali 292 Viri in literatura [1] Dranki Dak. Čiščenje in odstranjevanje šuma. [Elektronski]. Dostop na: http://racunalnikinglasba.blogspot.com/2015/07/cisc enje-in-odstranjevanje-suma.html. [10.5.2021] [2] Janez Golič. Esej: Analogno, digitalno... in glasba [Elektronski]. Dostop na http://www.rockobrobje.com/adg_e.html. [10.5.2021] [3] Sample workflow for LP digitization [Elektronski] https://manual.audacityteam.org/man/sample_workfl ow_for_lp_digitization.html#set. [10.5.2021] [4] Wikipedia. Record restoration. [Elektronski]. Dostop na: https://en.wikipedia.org/wiki/Record_restoration#Re cord_cleaning. [10.5.2021] [5] Jim Hagerman. Eliminating noise in vinyl playback systems. [Elektronski]. Dostop na: https://www.gcaudio.com/tips-tricks/eliminatingnoise-in-vinyl-playback-systems/. [10.5.2021] [6] Removing Vinyl Record Noise [Elektronski]. Dostop na: https://www.youtube.com/watch?v=krWIvP9DKvc. [10.5.2021] Eksperimentalno prepoznavanje togih stikov plavajočih podnih konstrukcij dr. Rok Prislan InnoRenew CoE, Livade 6, SI-6310 Izola, Slovenija E-pošta: rok.prislan@innorenew.eu Experimental identification of rigid connections of floating floors The impact sound insulation performance of floors is most commonly improved using a floating floor that is added over the structural floor. In such structure, the floating layer needs to be supported exclusively by the resilient layer as any rigid connection with the surroundings would drastically decrease the sound insulation rating of the floor. Although this is a simple requirement, it is in practice difficult to supervise whether such construction errors have occurred. This article presents the application of the operational deflection shape (ODS) analysis to identify rigid connections of a theater stage floating floor. The measurement process is presented together with the obtained results that have disclosed the presence of a rigid connection in the floating floor. As such, ODS has demonstrated as a useful method for the early assessment of floating floors which is crutial to limit renovation costs. Slika 1: Prerez ključnih slojev plavajočega poda. vse zaključne sloje, ko se izvede meritve ravni udarnega hrupa v prostoru nižje [4]. V primeru nedoseganja zahtevane ravni zvočne zaščite to pomeni, da je sanacija, ki vključuje odstranjevanje slojev medetažne konstrukcije, 1 Uvod finančno in tehnično zahtevna. Posledično je smotrna uporaba merilnih metod, ki Plavajoči podi so najpogosteje uporabljena in učinkovita omogočajo prepoznavo potencialnih togih stikov že v zgosestava, s katero povečujemo zaščito pred udarnim hrudnejših fazah gradnje plavajočih podov. Takšna metoda je pom medetažnih konstrukcij[1]. Termin “plavajoče” izODS (ang. operational deflection shape)[10], ki temelji haja iz sestave, in sicer gornjega (plavajočega) sloja in na zajemu vibracij strukture ob njenem karakterističnem spodnjega (izolacijskega) sloja, kot je to shematsko privzbujanju. Metoda ne sodi med ustaljene pristope gradkazano v prerezu na sliki 1. Izolacijski sloj je elastičen in bene akustike[1], zaradi česar je njeno praktično uporabrelativno mehek, zato se razume, da gornji sloj na njem nost smiselno preveriti. “plava”. Slednji je v večini primerov gradbene prakse V tem prispevku je delovanje metode preverjeno na izveden z uporabo cementa kot veziva (cementni estrih), primeru meritve odrske podne konstrukcije gledališča. redkeje pa gre za suhomontažno konstrukcijo (suhi estrih), Obravnavano gledališče je bilo podvrženo celoviti preki se praviloma uporablja ob omejeni nosilnosti medetažne novi, ki je bila zaradi zahtev spomeniške zaščite in pokonstrukcije. Kot izolacijski sloj najpogosteje uporabljamo sledičnih tehničnih omejitev izredno zahtevna. Tako je mineralno volno in ekspandiran polistiren, ter polietilenbila predvidena relativno lahka plavajoča podna konstrukske in poliuretanske pene - najustreznejšo sestavo izbecija, ki je vključevala tudi številne inštalacijske preboje za remo glede na dopustno obtežbo in zahtevano raven zvočne razvode odrske tehnike in prezračevanja. zaščite. Pri izgradnji plavajočih podov je ključno, da plavajoči del poda ni v togem stiku z okolico, saj bi to bistveno povečalo prehajanje strukturnega zvoka med sloji medetažne konstrukcije. To je relativno preprosta zahteva, doseganje katere pa je v času izgradnje plavajočega poda težko preverjati z vizualno inšpekcijo, saj lahko do togih stikov pride v nižjih slojih, ki niso vidni. Tako se ustreznost izvedbe plavajočih podov praviloma preverja šele po izvedbi celotnega poda, kar vključuje tudi ERK'2021, Portorož, 293-296 293 2 Projektiranje plavajočih podov Učinkovitost dodatne zaščite pred udarnim hrupom, ki jo prinaša uporaba plavajočega poda, v času projektiranja objekta ocenjujemo na osnovi računskih metod, ki jih definira področni standard SIST EN 12354-2[5]. Pri tem je ključna enačba (C.3) priloge standarda, po kateri frekvenčno odvisno izboljšanje zašite pred udarnim hrupom ovrednotimo kot ∆L = 40 log f , f0 (1) pri čemer je f frekvenca, f0 pa resonančna frekvenca plavajočega poda. Slednja je določena na osnovi dinamične togosti s izolacijskega sloja in mase m plavajočega sloja, za katere velja zveza r s . (2) f0 = 160 m Iz enačbe (1) izhaja, da želimo za plavajoči pod doseči nizko resonančno frekvenco, saj se ob njeni prepolovitvi ∆L poveča za 12 dB. Pri tem je izolativnost smiselno obravnavati v kontekstu človeške zaznave hrupa, za katero velja (za enakomeren hrup frekvenčno konstantnega spektra), da 10 dB razlike v zvočnem tlaku zaznamo kot prepolovljeno/podvojeno glasnost zvoka. Tako bi v praksi želeli, da je plavajoči pod grajen iz mehkega izolacijskega sloja (nizka vrednost s) in masivnega plavajočega sloja. Pri tem je prisotna očitna omejitev, da ob presežnem obremenjevanju izolacijskega sloja, postane ta visoko deformiran in ni več v območju elastičnega odziva materiala, kar pa je ključno za doseganje visoke zvočne zaščite. Preseganje dopustne obtežbe izolacijskega sloja je torej nujno v času projektiranja preveriti, in sicer na osnovi znane mase pohodnega sloja in vseh pričakovanih koristnih obtežb. Določanje dinamične togosti poteka skladno z merilnim standardom SIST EN 29052-1:1997 [6]. Meritev temelji na postavitvi vzorca na ravno togo podlago ter njegovo obremenitev z obtežbo m0 = 200 kg/m2 , kar ustreza masi 8 kg ob zahtevani dimenziji vzorca 20 cm ×20 cm. Navedena obtežba predstavlja karakteristični plavajoči sloj plavajočega poda. Skladno s slovensko zakonodajo se v fazi projektiranja objekta raven udarnega hrupa računsko preveri v sklopu Elaborata zaščite pred hrupom v stavbah. Ta sledi zahtevanim ravnem zvočne zaščite glede na namembnost prostorov, kot jih predpisuje Tehnična smernica - Zaščita pred hrupom v stavbah TSG-1-005: 2012 [7]. Poleg te je v smislu zakonskih normativov pomembno upoštevati tudi Pravilnik o zaščiti pred hrupom v stavbah [8]. Ta na primer določa, v katerih primerih je potrebno raven zaščite pred udarnim hrupom preveriti z meritvijo[4], in sicer pred tehničnim pregledom objekta. 3 Meritev odziva plavajočega poda resonančna frekvenca v enačbi (1). Prisotno je namreč tudi nezanemarljivo upogibanje križno lepljene lesene plošče, ki je zato ne moremo privzeti kot popolnoma toge in homogene. Merilna metoda ODS [10] zahteva sočasen zajem pospeška podne konstrukcije, in sicer na več merilnih mestih razporejenih po pohodni površini. Pospeške merimo v vertikalni smeri, ki je glede na način naleganja križno lepljenega sloja in načina vzbujanja (s hojo) edina relevantna za širjenje udarnega hrupa po objektu. Sočasno je bil pospešek zajet z desetimi pospeškometri, ki smo jih premikali med merilnimi mesti, en dodaten pospeškometer se je uporabljal kot referenčni (fiksno mesto). S tem smo lahko z manjšim številom pospeškometrov odziv strukture zajeli na več merilnih mestih (skupno 21). Pospeškometri so bili na pod pritrjeni s čebeljim voskom, kot je prikazano na fotografiji na sliki 2. Slika 2: Fotografija pritrditve pospeškometra na pohodno površino. Za izvedbo meritev je bila uporabljena sledeča merilna oprema: • Pospeškometri: Bruel&Kjaer, Type 4507 B 004, frekvenčno območje: 0.3 Hz – 6 kHz, • Sistem za zajem: Bruel&Kjaer, Type 3053-B-120, • Osebni računalnik: Dell, XPS 15, Plavajoča podna konstrukcija je bila v primeru obravnavanega objekta suhomontažna, in sicer grajena iz poliuretanskega izolacijskega sloja [9] krojenega v trakove in sloja križno lepljenih lesenih plošč. Pri tem dodatni leseni sloj (finalni tlak) v času meritev še ni bil izveden, kar pomeni, da je bila masa plavajočega sloja nižja od končne. Posledično smo skladno z enačbo (2), pričakovali višjo resonančno frekvenco od projektno določene. Pri tem poudarjamo, da smo za konkretno podno konstrukcijo pričakovali kompleksnejše odzive, ki presegajo model z eno prostostno stopnjo masa-vzmet, s katerim je določena 294 • Programsko orodje za zajem in vizualizacijo strukturnih oblik: Bruel&Kjaer, BK Connect Merilna metoda ODS temelji na karakterističnem vzbujanju strukture v času delovanja, pri čemer sila vzbujanja ni poznana, temveč se zanjo privzema naključnost in enakomernost[10]. Ustrezno vzbujanje smo dosegli z enakomerno hojo ene osebe po področju odra, pri čemer je čas posameznega zajema bil cca. 10 min. 4 Rezultati Analiza zajetih signalov in vizualizacija oblik temelji na implementaciji v program BK Connect[11] in upošteva lego merilnih mest in frekvenčni spekter (FFT) zajetega pospeška. Pri tem kot obliko razumemo prostorsko porazdelitev magnitude pospeška podne konstrukcije pri izbrani frekvenci. Oblike smo analizirali pri resonancah poda, ki smo jih prepoznali pri 6 in 10 Hz, pri katerih smo opazili fazno usklajeno gibanje plavajočega poda, kot je to grafično prikazano na sliki 3. Da ne gre za en sam resonančni način je pričakovano, saj približek homogenega in togega plavajočega sloja ni povsem upravičen. vrednost pospeška vedno nič (kontura črne barve). V navedenih območjih je izvajalec del demontiral plavajoči sloj poda in saniral toge stike. Pri tem je pomembno poudariti, da ti stiki niso bili vidni ali drugače zaznavni, kar kaže na smiselnost in uporabnost izvedenih meritev. Slika 4: Izmerjene magnitude na vseh merilnih mestih na odru (črno), na izbranih merilnih mestih (rdeče) in povprečna magnituda (modro). 5 Slika 3: Oblika nihanja odrske podne konstrukcije ob prepoznani resonanci 6 Hz (zgoraj) in 10 Hz (spodaj). Prikazan odmik je sorazmeren magnitudi pospeška na posameznem merilnem mestu. Na območjih črne konture gibanje ni bilo zaznano. Dodatno smo analizirali pospeške posameznih delov poda. Tako je povprečna magnituda frekvenčnega odziva izmerjena na 21 merilnih mestih prikazana na grafu na sliki 4, ki prikazuje tudi vse izmerjene magnitude. Kot je iz grafa razvidno, prepoznamo resonančna vrhova v odzivu pri 6 Hz in 10 Hz, za katera je na sliki 3 prikazana pripadajoča oblika ob največji amplitudi pospeška. Na izbranih merilnih mestih (na sliki 4 rdeče), smo izmerili bistveno nižjo magnitudo kot na preostalih merilnih mestih. Ta omejitev gibanja podne konstrukcije kaže na prisotnost togega stika v tem delu, kar je vidno tudi iz obeh oblik (slika 3), saj je na skrajnem desnem robu odra 295 Zaključki Na osnovi meritev odziva plavajoče podne konstrukcije gledališkega odra in izvedene analize ODS, smo uspešno prepoznali toge stike, ki so nastali kot posledica napak pri izvedbi poda. S tem smo pokazali, da je predstavljena metoda primerna za zgodnje odkrivanje anomalij pri izvedbi plavajočih podov, saj nam vrača podatek o neposredni lokaciji togega stika. Z metodo se namreč potencialni togi stik pokaže kot lokalno omejeno gibanje plavajočega sloja. Takšna lokalna fiksacija plavajočega sloja je najbolj izrazito prepoznana, v kolikor je plavajoči sloj relativno lahek in ne povsem tog. Nasprotno pričakujemo, da bi v premeru monolitne toge sestave plavajočega sloja poda bila lokalizacija togih stikov težavnejša. Iz zapisanega tudi izhaja motivacija za nadaljnje testiranje metode na širšem naboru gradbenih konstrukcij, ki bi vključevala tudi bistveno masivnejše cementne estrihe. Pri tem je smiselno tudi raziskati vpliv izbranega razmika med pospeškometri ter vpliva časa zajema na dobljene rezultate, saj bi s tem lahko bistveno skrajšali čas meritve. Zahvala To delo je bilo podrto s sredstvi Okvirnega programa Evropske Unije, Obzorje 2020 (H2020 WIDESPREAD2-Teaming: #739574, InnoRenew CoE) in Republike Slovenije, Investicijsko financiranje Republike Slovenije in Evropske unije iz Evropskega sklada za regionalni razvoj. Literatura [1] C. Hopkins: Sound Insulation. 1st edn, Saudi Med J. 1st edn. Oxford: Elsevier Ltd. (2007) [2] J. Cowan: Building Acoustics. Springer Handbooks. (2007) [3] M. J. Crocker: Handbook of Noise and Vibration Control. John Wiley & Sons, Inc.. (2008). [4] ISO 16283-2:2015: Acoustics — Field measurement of sound insulation in buildings and of building elements — Part 2: Impact sound insulation. International Organization for Standardization, Geneva, Switzerland. [5] ISO 12354-2:2017: Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 2: Impact sound insulation between rooms. International Organization for Standardization, Geneva, Switzerland. [6] SIST EN 29052-1:1997: Acoustics - Determination of dynamic stiffness - Part 1: Materials used under floating floors in dwellings. International Organization for Standardization, Geneva, Switzerland. [7] Ministrtvo za okolje in prostor: TEHNIČNA SMERNICA ZAŠČITA PRED HRUPOM V STAVBAH TSG-1-005: 2012 [8] Pravilnik o zaščiti pred hrupom v stavbah, Uradni list RS, št. 10/12 in 61/17 – GZ [9] https://www.getzner.com/en/products/sylomer (stran obiskana 9. 7. 2021) [10] B. J. Schwarz and M. H. Richardson, Introduction to operating deflection shapes, CSI Reliability Week, pp. 1–7 (1999). [11] https://www.bksv.com/en/analysis-software/dataacquisition-software/bk-connect (stran obiskana 9. 7. 2021) 296 ERK'2021, Portorož, 296-298 296 297 298 ERK'2021, Portorož, 299-303 299 300 301 302 303 Računalništvo in informatika Computer and Information Science Radijsko k-barvanje neskončnih mrež Danilo Korže1, Aleksander Vesel2, 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor 2 Univerza v Mariboru, Fakulteta za naravoslovje in matematiko, Koroška cesta 160, 2000 Maribor E-pošta: danilo.korze@um.si, aleksander.vesel@um.si Radio k-labelings of infinite lattices Abstract. A radio k-labeling of a graph G is an assignment of non-negative integers (labels) to the vertices of G such that the absolute value of the difference between the labels of any two distinct vertices u and v is not less than 𝑘 + 1 − 𝑑(𝑢, 𝑣), where 𝑑(𝑢, 𝑣) denotes the distance between u and v. The radio k-labeling number of G is the minimum span of a radio k-labeling of G. Radio k-labelings of four different infinite lattices are considered. Strongly improved upper bounds are presented, mostly using computer-based methods for computing radio k-labelings of these families of graphs. 1 je tudi razvidno, da je recimo radijsko 2-barvanje enako 𝐿(2,1) barvanju grafa [2]. Ker motivacija za radijsko k-barvanje izhaja iz problema dodeljevanja frekvenc, je pričakovano, da se ozremo na grafe, ki lahko modelirajo različna omrežja: recimo poti in cikle [3, 4], kartezične produkte grafov [5], kvadratne mreže [6] in grafe razdalj [7]. V tem prispevku bomo predstavili radijsko k-barvanje štirih neskončnih mrež: kvadratne ℒ 4, heksagonalne ℒ 3, trikotniške ℒ 6 in oktagonalne mreže ℒ 8 (slika 1). Številka pri oznaki mreže pomeni stopnjo njenih vozlišč. Uvod Predpisi za dodelitev frekvenc za frekvenčno modulirane oddajnike (recimo bazne postaje mobilnega omrežja) so motivirali številne modele na osnovi teorije grafov. Cilj teh modelov je zagotoviti, da dve radijski postaji, ki sta locirani dovolj blizu skupaj druga drugi, oddajata na frekvencah, ki sta dovolj daleč narazen, sicer lahko pride do interference njunih signalov in posledično motenj delovanja. V splošnem so pri uporabi teorije grafov za dodeljevanje radijskih frekvenc sami radijski oddajniki predstavljeni kot vozlišča grafa, medtem ko število povezav na najkrajši poti med dvema vozliščema predstavlja razdaljo med oddajnikoma. Nekateri primeri takih modelov označevanja (barvanja) so radijsko kbarvanje, 𝐿(𝑠1 , 𝑠2 , ⋯ , 𝑠𝑞 )-barvanje in pakirno barvanje [1]. Vsi trije omenjeni modeli barvanja grafov so precej zahtevni za reševanje, in to že za relativno preproste grafe, recimo drevesa. V tem članku bomo obravnavali model na osnovi radijskega k-barvanja, ki je bil predlagan v [2]. Naj bo k pozitivno celo število, G pa povezan graf. Razdalja med vozliščema u in v je enaka razdalji najkrajše poti med u in v ter je označena z 𝑑(𝑢, 𝑣). Radijsko k-barvanje f grafa G je takšna prireditev nenegativnih celih števil posameznim vozliščem, da za vsaki dve vozlišči u in v iz G velja enačba (1). |𝑓(𝑢) − 𝑓(𝑣)| ≥ 𝑘 + 1 − 𝑑(𝑢, 𝑣) (1) Z oznako rlk(G) označimo minimalni razpon radijskega barvanja grafa G (razlika med največjo in najmanjšo vrednostjo barve v grafu G). Ker običajno pričnemo barvanje z barvo 0, je v tem primeru rlk(G) enak kar največji uporabljeni barvi v grafu. Iz definicije ERK'2021, Portorož, 305-308 305 Slika 1. a. kvadratna mreža ℒ 4, b. heksagonalna mreža ℒ 3, c. trikotniška mreža ℒ 6 in d. oktagonalna mreža ℒ 8. V nadaljevanju si bomo najprej v 2. poglavju ogledali teoretične osnove (predvsem spodnje in zgornje meje) za radijsko k-barvanje mrež. V 3. poglavju bomo opisali računalniške pristope k temu problemu in dobljene rezultate. Sledil bo še krajši zaključek. 2 Teoretične meje Pri težjih problemih barvanja grafov običajno uporabimo pristop z iskanjem spodnjih in zgornjih mej, v našem primeru radijskega k-barvanja. Spodnje in zgornje meje lahko iščemo s teoretičnim razmislekom in izpeljavo ali pa s konkretno rešitvijo: zgornjo mejo recimo določimo tako, da konstruiramo barvanje grafa, spodnjo pa tako, da pokažemo, da barvanje z nekim številom barv ne obstaja. Teoretične spodnje in zgornje meje za prve tri mreže so bile podane v [8], medtem ko smo spodnjo mejo za oktagonalno mrežo ℒ8 izpeljali sami z uporabo tehnike, ki je podrobno opisana v že omenjenem članku [8]. Spodnje meje podajajo enačbe (2-5), zgornjo mejo pa enačba (6). Zgornja meja za oktagonalno mrežo ni teoretično izpeljana, je pa gotovo večja od zgornje meje za ostale tri mreže. 𝑘 3 +3𝑘 2 +5𝑘−1 𝑟𝑙𝑘 (ℒ6 ) ≥ { 4 𝑘 3 +3𝑘 2 +6𝑘 4 6 𝑓(𝑖, 𝑗) = (𝑎 ∗ 𝑖 + 𝑏 ∗ 𝑗) 𝑚𝑜𝑑 𝑑, če je k lih, (2) , 𝑘 3 +3𝑘 2 +5𝑘−3 𝑟𝑙𝑘 (ℒ4 ) ≥ { 𝑘 3 +3𝑘62+8𝑘 , če je k sod. , če je k lih, (3) , 𝑘 3 +3𝑘 2 +10𝑘 𝑟𝑙𝑘 (ℒ3 ) ≥ {𝑘 3+3𝑘 28+7𝑘−3 8 𝑟𝑙𝑘 (ℒ8 ) ≥ če je k sod. , če je k lih, (4) , če je k sod. 𝑘 3 +3𝑘 2 +5𝑘 3 . (5) Spodnja meja v enačbi (5) velja tako za sode kot lihe vrednosti k. V enačbi (6) podajamo še zgornje meje, ki pa veljajo le za prve tri mreže: 5𝑘 3 +17𝑘 2 +28𝑘 16 , 5𝑘 3 +15𝑘 2 +27𝑘+1 16 𝑟𝑙𝑘 (ℒ3,4,6 ) ≤ k ≡ 0 mod 4, , 5𝑘 3 +21𝑘 2 +12𝑘−20 { 16 5𝑘 3 +19𝑘 2 +23𝑘−7 16 k ≡ 1 mod 4, (6) , (7) kjer sta a in b pozitivni celoštevilski konstanti, 𝑑 − 1 pa vrednost največje barve, ki jo bomo morali uporabiti pri barvanju. Vozlišče z indeksoma (0,0) je tem primeru v zgornjem levem kotu izbrane mreže. Iz oblike enačbe (7) izhaja, da bodo bloki barvanj vozlišč potem periodični s periodo d, tako v horizontalni kot vertikalni smeri. Tabela 1. Rezultati radijskega k-barvanja (kvadratna mreža ℒ4 ), z mastnim tiskom so označene točne vrednosti k 1 2 3 4 5 6 7 8 9 10 SM 1 6 11 24 37 62 87 128 169 230 ZM – 9 23 44 71 118 175 242 319 450 Rezultat 1 6 11 26 37 69 91 144 177 259 Konstrukcija 𝑓(𝑖, 𝑗) (i+j) mod 2 (2i+4j) mod 7 (3i+5j) mod 12 (4i+10j) mod 27 (7i+11j) mod 38 (16i+25j) mod 70 (9i+39j) mod 92 (9i+61j) mod 145 (11i+75j) mod 178 (40i+94j) mod 260 k ≡ 2 mod 4, , k ≡ 3 mod 4. V tabelah 1-4 so izračunane tudi konkretne številske vrednosti teh teoretično določenih mej za vsako mrežo posebej (drugi (SM) in tretji stolpec (ZM)), skupaj z našimi računalniškimi konstrukcijami barvanj (četrti in peti stolpec), ki zgornje meje bistveno izboljšujejo. 3 smo si zamislili, da bi iskali barvo 𝑓(𝑖, 𝑗) vozlišča s koordinatami (𝑖, 𝑗) v obliki enačbe (7): Opis računalniških metod Reševanja različnih NP-težkih kombinatoričnih problemov, kamor sodijo tudi problemi barvanj grafov, se lahko lotimo s pomočjo računalnika na mnoge načine. Za hiter izračun zgornje meje iskanih vrednosti običajno uporabimo požrešno metodo ali katerega od hevrističnih algoritmov, za natančnejše izračune pa celoštevilsko linearno programiranje ali reševalnik SAT [9], če naštejemo le nekatere pristope. V našem prispevku smo izbrali dva načina računalniškega reševanja radijskega k-barvanja neskončnih mrež: reševalnik SAT (ki je zaradi eksponentne časovne zahtevnosti uporaben le za razmeroma majhne grafe) in posebej zasnovan računalniški program. Opišimo najprej delovanje tega programa, ki nam poišče za izbrano mrežo in izbrano radijsko k-barvanje rešitev s čim manj barvami. Cilj je bil, da najdemo rešitev v čim krajšem času, ni pa nujno, da bo rešitev najboljša možna (z najmanj barvami) za podani graf. Ker si lahko za vse štiri mreže predstavljamo razporeditev vozlišč na način, kot je prikazan na sliki 1, 306 Program je razmeroma enostaven: v zanki povečujemo vrednost uporabljenega števila barv d. Za vsak d potem iteriramo še vrednosti a in b med 1 in 𝑑 − 1 ter za vsako kombinacijo a in b preverimo, če je dobljeno barvanje za neko dovolj veliko izbrano mrežo pravilno, torej da ustreza pogojem iz enačbe (1). Ko najdemo pravilno barvanje, smo reševanje za izbrani k in izbrano mrežo zaključili in dobili iskane vrednosti a, b in d. Za poljubno mrežo in izbrani k dobimo rezultat v največ nekaj sekundah. Časovna zahtevnost algoritma je polinomska (približno kvadratično narašča v odvisnosti od d). Tabela 2. Rezultati radijskega k-barvanja (heksagonalna mreža ℒ3 ), z mastnim tiskom so označene točne vrednosti k 1 2 3 4 SM 1 5 9 19 ZM – 9 23 44 5 29 71 6 7 8 9 10 48 67 98 129 175 118 175 242 319 450 Rezultat 1 5 9 20 33 32 55 73 114 145 206 Konstrukcija 𝑓(𝑖, 𝑗) (i+j) mod 2 (3i+2j) mod 6 (5i+3j) mod 10 (10i+4j) mod 21 (11i+7j) mod 34 SAT – tabela 5 (26i+21j) mod 56 (35i+29j) mod 74 (19i+54j) mod 115 (37i+65j) mod 146 (92i+79j) mod 207 Rezultati tako dobljenih rešitev so prikazani v tabelah 1-4. Dokaj presenetljivo je, da so rezultati kljub enostavnosti postopka izjemno dobri. Za majhne vrednosti k je dobljeno število namreč kar enako teoretični spodnji meji, kar pomeni, da bolje ne gre. Tudi za večje vrednosti k so rezultati dokaj blizu teoretičnim spodnjim mejam, v vsakem primeru pa tako dobljene konstrukcije barvanj močno izboljšujejo doslej znane zgornje meje za te mreže. V nadaljevanju smo želeli preveriti, če se da dobljene rešitve še izboljšati. V tem primeru smo kot orodje izbrali reševalnik SAT. Pri tem načinu reševanja kombinatoričnega problema napravimo Booleove izraze v obliki KNO (konjunktivna normalna oblika). Torej imamo na prvem nivoju logične spremenljivke (lahko tudi negirane) povezane z vrati ALI, na drugem nivoju pa so ti izrazi potem povezani z logičnim IN. Poseben program, ki mu pravimo reševalnik SAT (angl. SAT solver), nato poskuša najti takšno kombinacijo nabora spremenljivk, da bo celotni logični izraz resničen oziroma izpolnjiv (angl. SATISFIABLE). Logičnih izrazov tipa (9) imamo toliko, kot je vseh vozlišč grafa in zagotavljajo, da je vsako vozlišče pobarvano z eno od barv. Izrazov tipa (10) je za vsako vozlišče 𝑠(𝑠 − 1)/2, skrbijo pa za to, da isto vozlišče ni pobarvano z dvema različnima barvama hkrati. Logičnih izrazov tipa (11) je največ in njihovega števila se ne da vnaprej čisto točno oceniti, saj so odvisne od grafa oziroma razdalj med vozlišči. Enačbe (11) zagotavljajo, da sta poljubni dve vozlišči lahko pobarvani le s takima dvema barvama, da je izpolnjen pogoj (1). Sistem logičnih enačb (9), (10) in (11) nam radijsko k-barvanje dejansko pretvori v logični test izpolnjivosti. Sistem bo izpolnjiv natanko tedaj, ko bo za pripadajoč graf G obstajalo radijsko k-barvanje. Tabela 4. Rezultati radijskega k-barvanja (oktagonalna mreža ℒ8 ), z mastnim tiskom so označene točne vrednosti k 1 2 3 4 5 6 7 8 9 10 Tabela 3. Rezultati radijskega k-barvanja (trikotniška mreža ℒ6 ), z mastnim tiskom so označene točne vrednosti k 1 2 3 4 5 6 7 8 9 10 SM 2 8 17 34 56 90 131 188 254 340 ZM – 9 23 44 71 118 175 242 319 450 Rezultat 2 8 19 38 62 100 147 208 285 378 Konstrukcija 𝑓(𝑖, 𝑗) (i+j) mod 3 (2i+3j) mod 9 (3i+5j) mod 20 (4i+11j) mod 39 (7i+11j) mod 63 (16i+40j) mod 101 (16i+61j) mod 148 (28i+44j) mod 209 (14i+66j) mod 286 (28i+72j) mod 379 Najprej pa moramo seveda zgraditi logični model. Osnova vsega je nabor binarnih spremenljivk. Za naš primer barvanja smo za vsako vozlišče grafa 𝑣 ∈ 𝑉(𝐺) napravili toliko spremenljivk, kot je bilo pričakovano število barv rešitve 𝑠. Imamo torej nabor logičnih spremenljivk (8): 𝑥𝑣,𝑖 𝑧𝑎 ∀𝑣 ∈ 𝑉(𝐺) , 𝑖 ∈ {0, 1,2, ⋯ , 𝑠}. (8) Če bo dobljena vrednost spremenljivke 𝑥𝑣,𝑖 = 1, bo to pomenilo, da je vozlišče v pobarvano z barvo i. Spremenljivke, ki pomenijo barve, je možno tudi drugače zakodirati v logične spremenljivke, a to bi nam potem zakompliciralo zgradbo modela. Zdaj je treba sestaviti še logične enačbe, ki bodo zagotavljale, da bo njihova rešitev dala tudi pravilno rešitev radijskega k-barvanja. Sestavili smo jih, kot kažejo enačbe (9), (10) in (11). ⋁𝑠𝑖=0 𝑥𝑣,𝑖 ¬𝑥𝑣,𝑖 ∨ ¬𝑥𝑣,𝑗 ¬𝑥𝑣,𝑖 ∨ ¬𝑥𝑢,𝑗 ∀𝑣 ∈ 𝑉(𝐺), (9) 𝑣 ∈ 𝑉(𝐺), 0 ≤ 𝑖 < 𝑗 ≤ 𝑠, (10) 𝑣, 𝑢 ∈ 𝑉(𝐺), 0 ≤ 𝑖 < 𝑗 ≤ 𝑠, |𝑖 − 𝑗| < 𝑘 + 1 − 𝑑(𝑢, 𝑣). (11) 307 SM 3 10 23 44 75 118 175 248 339 450 Rezultat 3 10 23 46 79 126 187 266 361 479 Konstrukcija 𝑓(𝑖, 𝑗) (i+2j) mod 4 (2i+5j) mod 11 (4i+11j) mod 24 (4i+15j) mod 47 (31i+38j) mod 80 (34i+41j) mod 127 (12i+57j) mod 188 (12i+43j) mod 267 (89i+142j) mod 362 (68i+122j) mod 480 Za realizacijo sistema logičnih enačb (9) do (11) smo potrebne enačbe s pomočjo programa v MATLAB-u zapisali v tekstovno zbirko, ki je bila potem poslana kot vhod v reševalnik SAT. Uporabili smo Cryptominisat5 reševalnik SAT [10], ki se ga da dobiti tako za operacijski sistem Windows, kot tudi Linux. Zadane probleme zna reševati z uporabo več niti, kar nam pridobivanje rešitve bistveno pohitri. Tabela 5. Rešitev z reševalnikom SAT za radijsko 5-barvanje heksagonalne mreže ℒ3 z maksimalno barvo 32 (ta blok barv se periodično ponavlja horizontalno in vertikalno) 0 7 14 5 12 3 10 1 8 15 6 13 4 11 2 9 29 20 27 18 25 32 23 30 21 28 19 26 17 24 31 22 12 3 10 1 8 15 6 13 4 11 2 9 0 7 14 5 25 32 23 30 21 28 19 26 17 24 31 22 29 20 27 18 8 15 6 13 4 11 2 9 0 7 14 5 12 3 10 1 21 28 19 26 17 24 31 22 29 20 27 18 25 32 23 30 4 11 2 9 0 7 14 5 12 3 10 1 8 15 6 13 17 24 31 22 29 20 27 18 25 32 23 30 21 28 19 26 0 7 14 5 12 3 10 1 8 15 6 13 4 11 2 9 29 20 27 18 25 32 23 30 21 28 19 26 17 24 31 22 12 3 10 1 8 15 6 13 4 11 2 9 0 7 14 5 25 32 23 30 21 28 19 26 17 24 31 22 29 20 27 18 8 15 6 13 4 11 2 9 0 7 14 5 12 3 10 1 21 28 19 26 17 24 31 22 29 20 27 18 25 32 23 30 4 11 2 9 0 7 14 5 12 3 10 1 8 15 6 13 17 24 31 22 29 20 27 18 25 32 23 30 21 28 19 26 Za vsak graf (mrežo), vsak k in vsako končno število barv s moramo napraviti svojo tekstovno zbirko z logičnimi izrazi in jo poslati v reševalnik. Pri tem se postavi vprašanje, kako neskončno mrežo predstaviti s končnim grafom. Pri iskanju barvanja si pomagamo tako, da mrežo ciklično povežemo: vozlišča na koncu vsake vrstice pravilno povežemo z vozlišči prvega stolpca, enako tudi vozlišča v zadnji vrstici z vozlišči v prvi vrstici. Dobljeno barvanje tako predstavlja barvanje neskončne mreže. Pri tem je bistveno, kako dolge cikle (vrstice in stolpce) tega grafa smo izbrali. Od tega bo namreč pogosto odvisno, če bo barvanje s takšno periodo in izbranim številom barv sploh obstajalo. Če želimo izboljševati samo spodnjo mejo potrebnega števila barv za barvanje mreže, si lahko pomagamo tudi z manjšim podgrafom neskončne mreže, recimo pri oktagonalni mreži z grafom 𝑃12 ⊠ 𝑃12 . Operator ⊠ pomeni krepki produkt dveh poti, ki je podgraf neskončne oktagonalne mreže ℒ8. Če za poljuben podgraf grafa G radijsko k-barvanje z določenim številom barv ne obstaja, iz tega sledi, da ne obstaja niti za celoten neskončen graf. Opisani način predstavlja možnost, da se pridobljeni rezultati v nekaterih primerih še izboljšajo. Pri kvadratični mreži smo poskusili izboljšati rezultat za radijsko 4-barvanje, kjer je teoretična spodnja meja 24, z našim preprostim programom pa smo dobili rešitev s 26 barvami. Poskusili smo torej poiskati barvanje s 25 barvami z reševalnikom SAT. Poskus nad kartezičnim produktom dveh poti 𝑃12 □𝑃12 , ki je podgraf kvadratne mreže ℒ4 , se je končal neuspešno, kar pomeni, da je rezultat 26 točna vrednost. Vse točne vrednosti za minimalni razpon barvanja grafa smo v tabelah 1 do 4 (potrjene z reševalnikom SAT) označili z mastnim tiskom. Pri heksagonalni mreži ℒ3 smo uspeli izboljšati rezultat za radijsko 5-barvanje, periodični blok barvanj z maksimalno barvo 32, najden s pomočjo reševalnika SAT, je v tabeli 5. Model za reševalnik SAT je vseboval 8448 logičnih spremenljivk in 670337 vrstic (disjunkcij), že predhodno pa smo ugotovili, da je perioda ponavljanja barv 16. Poskusili smo še z barvo manj, a se je poskus nad podgrafom velikosti 12 × 12 vozlišč z reševalnikom SAT končal po dobrih dveh urah neuspešno. 32 je torej točna vrednost za radijsko 5-barvanje heksagonalne mreže ℒ3 . Pri trikotniški mreži ℒ6 nam radijskega 3-barvanja ni uspelo izboljšati in smo le potrdili, da je 19 točna rešitev, dobljena z našim enostavnim programom. Tudi cikličnega radijskega 4-barvanja z maksimalno barvo 37 nismo našli, čeprav smo pa recimo z reševalnikom SAT dobili barvanje podgrafa mreže velikosti 60 × 60 vozlišč. V zvezi z oktagonalno mrežo smo poskusili najti radijsko 4-barvanje z maksimalno barvo 45 podgrafa velikosti 8 × 8 vozlišč. Izračun se v nekaj dnevih ni zaključil. Rezultate za radijska k-barvanja za k med 1 in 3 pa smo tudi tu potrdili. 4 Zaključek Splošno je znano, da so v tem članku obravnavani tipi barvanja zelo težavni, posledično so uporabljeni postopki časovno zahtevni. Če želimo poiskati radijsko k-barvanje 308 grafa G, je možnih kombinacij barvanja kar 𝑐 |𝑉(𝐺)| , kjer je c največja uporabljena barva, |𝑉(𝐺)| pa število vozlišč grafa. Že za 𝑐 = 20 in 100 vozlišč v grafu je to več kot 100 mestno število možnih kombinacij. Zato je iskanje učinkovitih metod in algoritmov, ki nam ponudijo rešitve, ki so blizu najboljšim možnim, toliko večji izziv. Uspeli smo razviti preprost, hiter in izjemno učinkovit algoritem, ki najde radijska k-barvanja za vse štiri tipe neskončnih mrež. Rešitve smo preverjali tudi z reševalnikom SAT in potrdili, da v večini obravnavanih primerov rezultatov ne moremo izboljšati. Le v primeru heksagonalne mreže smo uspeli najti eno izboljšavo dobljenih rezultatov in sicer pri radijskem 5-barvanju mreže z največjo barvo 32 (naš preprost algoritem je našel barvanje s 33 barvami, le eno barvo več). Predpostavljamo, da so dobljene rešitve v vseh primerih zelo blizu najboljšim možnim. Za male vrednosti k so celo dosežene teoretične spodnje meje. Pri večjih vrednosti k potrebno število barv precej naraste, zato je uporaba drugih metod vprašljiva, saj je računska zahtevnost enostavno prevelika. Predpostavljamo, da bi se morda dali dobiti primerljivi rezultati tudi s kakšnim dobrim hevrističnim postopkom, recimo s prilagojenim simuliranim ohlajanjem, vsekakor pa bi bil čas računanja bistveno daljši. Literatura [1] B. Brešar, S. Klavžar, D. F. Rall: On the packing chromatic number of Cartesian products, hexagonal lattice, and trees, Discrete Applied Mathematics, 155 (2007), 2303-2311. [2] G. Chartrand, D. Erwin, P. Zhang, F. Harary: Radio labelings of graphs, Bull. Inst. Combin. Appl. 33 (2001), 77-85. [3] G. Chartrand, L. Nebeský, P. Zhang: Radio k-colorings of paths, Discuss. Math. Graph Theory 24 (2004), 5-21. [4] D. Liu, X. Zhu: Multi-level distance labelings for paths and cycles, SIAM J. Discrete Mathematics, 19 (2005), 610621. [5] M. Kchikech, R. Khennoufa, O. Togni: Radio k-labelings for Cartesian products of graphs, Discuss. Math. Graph Theory 28 (2008), 165-178. [6] T.-S. A. Jiang: The radio number of grid graphs, arXiv:1401.6583v1. [7] R. Čada, J. Ekstein, P. Holub, O. Togni: Radio labelings of distance graphs, Discrete Appl. Math. 161 (2013), 28762884. [8] S. Das, S. C. Ghosh, S. Nandi, S. Sen: A lower bound technique for radio k-coloring, Discrete Mathematics 340 (2017), 855-861. [9] Z. Shao, A. Vesel: Integer linear programming model and satisfiability test reduction for distance constrained labellings of graphs: the case of L(3,2,1) labelling for products of paths and cycles, Communications IET, 7 (2013), 715-720. [10] Cryptominisat5, https://www.msoos.org/cryptominisat5/. Upoštevanje indeksa strahu in pohlepa v predvidevanju cene Bitcoin skozi dolgi kratkoročni spomin Nataša Ošep Ferš, Aleš Zamuda, SMIEE Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor, Slovenija E-pošta: natasa.osep@um.si, ales.zamuda@um.si Considering a Fear and Greed Index in Bitcoin Price Prediction Through Long Short-Term Memory This paper represents a methodology for cryptocurrency Bitcoin market price prediction, composed of technical analysis and fundamental analysis using sentimental analysis. Specifically, Crypto Fear & Greed Index (CFGI) is considered in the methodology, which is made up of indicators of all analyses. Neural network with Long ShortTerm Memory (LSTM) model is trained on these indicators. Prediction on data used is reported when using index CFGI (improved version), compared against the prediction without this index (basic version). odražajo toliko informacij, kot to narekuje spreminjajoče se okolje. V nadaljevanju tega prispevka so v razdelku 2 predstavljena sorodna dela. V razdelku 3 je podana tehnična metodologija napovedovanja, osnovana na psevdokodi, ki je implementirana na modelu nevronske mreže. V razdelku 4 je podan eksperiment, kjer je v fazi predprocesiranja opisana močna pozitivna korelacija med količino tvitov in obsegom trgovanja, kar je potrjeno tudi z eksperimentom. Več o modelu in podatkih je predstavljenega v podrazdelku 4.1. Rezultati eksperimenta so podrobneje predstavljeni v podrazdelku 4.2. V razdelku 5 je podan zaključek, nato sledi še literatura. 1 2 Uvod Kriptovalute so dandanes splošno znane in privlačne naložbe za marsikaterega vlagatelja [1]. Pred napovedovanjem njihovih vrednosti je treba premisliti, ali so te klasificirane kot valute, sredstva ali naložbe [2]. V tem prispevku je kriptovluta Bitcoin [3] obravnavana kot naložba v dolar (BTCUSD) in zato se da potegniti vzporednico med njo in vrednostnimi papirji (VP). Ideja izvedbe tega prispevka temelji na izhodiščih [2] in pristopu [4] ter spada v operacijske raziskave [5]. Podobno kot v [4], je tudi v tem prispevku napoved prihodne cene BTCUSD osnovana na tehnični (računalniški) in temeljni analizi. Poleg že uporabljenih indeksov je v tem prispevku na novo vključen še indeks CFGI. Napoved temelji na Hipotezi prilagodljivega trga AMH (ang. Adaptive Market Hypothesis), ki predstavlja alternativo Hipotezi učinkovitega trga EMH (ang. Efficient Market Hypothesis). Osnove EMH je v svojem delu [6] leta 1970 postavil E. F. Fama. Hipoteza trdi, da so vse tržne informacije vkalkulirane v cene VP. Tako cene odražajo poštene (notranje, prave) vrednosti VP. Z aktivnim upravljanjem premoženja, trga torej ni mogoče premagati, saj le-ta nikoli ni podcenjen, niti precenjen. V njegovem poznejšem delu [7] Fama poudarja, da je treba preučiti vsak scenarij posebej in se odločiti, kdaj je učinkovitost trga dovolj dobra aproksimacija za trg in kdaj je boljše uporabiti kakšni drugi model poenostavitve. Leta 2004 je Lo v [8] predstavil AMH. Predlagal je novi okvir, ki na podlagi evolucije - prilagoditve in naravne selekcije dokazuje interakcijo med tržno učinkovitostjo in vedenjskimi financami. Po AMH trenutne cene ERK'2021, Portorož, 309-312 309 Sorodna dela V [4] avtorji združijo tehnično in temeljno analizo skozi aplikacije podatkovnih znanosti in tehnike stojnega učenja. Za razliko od naše raziskave, napovejo trend gibanja cen delnic (20 največjih podjetij po tržni kapitalizaciji iz indeksa NASDAQ100). Problem napovedi delniškega trga pretvorijo v nalogo klasifikacije časovnih vrst. Na podlagi informacij, ki so pridobljene iz časovnih vrst cen in sentimenta, z nevronsko mrežo z veriženjem naprej ustvarijo robusten model, ki je sposoben napovedati prihodni tržni trend. S simulacijo dosežejo več kot 80% letnega donosa. V članku [9] avtorji zgradijo in implementirajo več modelov nadzorovanega učenja, da bi raziskali različne vidike, ki vplivajo na stabilnost in dnevno gibanje cen kriptovalut. Uporabijo celostni pristop, ki vključuje vse razpoložljive informacije: finančne informacije, informacije na podlagi trgovalnega obsega (aktivnosti) v verigi blokov in metrike razvoja programske opreme na osnovi GitHub aktivnosti. Njihovi cilji so klasifikacija določene kriptovalute upoštevaje stabilnost in ceno, napoved dnevne tendence s pomočjo regresije ter opredelitev najustreznejših kriterijev takšne analize [9]. Primerjajo različne nevronske mreže za različne kriptovalute: preproste mreže z veriženjem naprej, povratne mreže RNN (ang. Recurrent Neural Networks) skupaj z njihovimi izboljšavami, kot so povratne mreže z dolgim kratkoročnim spominom LSTM (ang. Neural network with LongShort-Term Memory) in povratne enote z vrati. LSTM je učinkovita, na gradientu osnovana metoda, ki je bila razvita kot rešitev problema časovne zahtevnosti učenja RNN [10]. Pri- merjava [9] pokaže tudi, da največ obetajo RNN. V članku [11] je predstavljena metoda za predvidevanje sprememb dolarskih cen Bitcoin (BTCUSD) in Ethereum (ETHUSD). Avtorji kot vhode v linearni regresijski model vključijo analizo sentimenta, Google Trends in količino tvitov. Z analizo tvitov ugotavljajo, da smer cen bolj kot tviter sentiment, narekuje količina tvitov. Nadalje ugotavljajo, da z vključitvijo Google Trends lahko natančno predvidijo smer spremembe cen. Analiza sentimenta tvitov je narejena s Twitter API in Pythonovo knjižnico Tweepy. Za ekstrakcijo in meritve subjektivnih čustev oziroma mnenja je uporabljen VADER (ang. Valence Aware Dictionary and sEntiment Reasoner). Na podlagi analize sentimenta je opredeljeno, ali so tviti v splošnem pozitivni ali negativni in ustvarjena je dnevna lestvica sentimenta, ki jo avtorji potem primerjajo s spremembo dnevne cene. Ugotovljajo, da analiza sentimenta ni konsistentna s spremembo cen pri padajočem trendu in zato je ne vključijo v model. Analizo sentimenta uporabijo še za ločevanje tvitov, ki izražajo neko mnenje (subjektivnost) in tvitov, ki podajajo samo informacije brez opredelitve mnenja (objektivnost). Google Trends prikazuje priljubljenost iskanja določene teme relativno glede na iskanje drugih tem. Da se ga uporabiti kot posredno mero, ki kaže povezavo med zanimanjem za kriptovalute in gibanjem njihovih cen. Avtorji pokažejo močno pozitivno korelacijo med omenjenima spremenljivkama ter med količino tvitov in ceno. V članku [12] avtorji raziskujejo povezavo med donosnostjo in volatilnostjo ter tviti na podlagi minutnih cen in tvitov 30 delnic iz Dow Jones Industrial Average indeksa za 13 dni. V študiji ugotavljajo, da je skoraj 90% donosa delnic ustvarjenega na podlagi tvitov, da pa ne velja obratno in manj kot 10% tvitov izhaja iz donosa delnic. Alternative.me je platforma za optimizacijo povezav med različicami programske opreme in alternativnimi izdelki (https://alternative.me). Na https://alternative.me/cr ypto/fear-and-greed-index se vsak dan analizirjo čustva in mnenja ljudi v zvezi z Bitcoinom iz različnih virov, ki se potem akumulirajo v CFGI. To je preprosta številka med 0 in 100, pri čemer 0 pomeni ekstremni strah, 100 pa ekstremni pohlep. Ekstremni strah je nakupna priložnost, saj je le-ta lahko znak, da so vlagatelji preveč zaskrbljeni. Nasprotno je izjemni pohlep lahko prodajna priložnost, saj je pohlep znak za popravek na trgu. Indeks CFGI sestavljajo naslednji dejavniki: volatilnost (25%), tržni zagon / obseg (25%), družabna omrežja (15%), tržna prevlada (10%), trendi (10%) in ankete (15%). 2.1 LSTM LSTM je ena izmed oblik RNN. Uporabljena je zato, ker se dobro izkaže pri različnih učnih problemih s sekvenčnimi podatki, prav tako pa tudi pri dolgoročnih začasnih odvisnostih [13] kot izbojšava za osnovno RNN. RNN imajo verige ponavljajočih se modulov, ki so sestavljeni iz vhodne in izhodne plasti ter ene ali več vmesnih plasti [14]. V običajni RNN ima ponavljajoči se modul preprosto strukturo, kot je ena tangens plast. Ponavljajoči se modul pri LSTM je spominska celica [15], zgrajena iz 4 skritih (pod)plasti: tangens plast in 3 sigmoidne pla- 310 sti. Na vsaki sigmoidni plasti se nahajajo vrata, ki celici omogočajo optimalno prepuščanje oziroma odstranjevanje podatkov [16]. V spominski celici plasti LSTM se uporabijo operacije, ki se jih da predstaviti z naslednjimi enačbami [17]: ft = σ(Wf [ht−1 , xt ] + bf ), (1) it = σ(Wi [ht−1 , xt ] + bi ), (2) C̃t = tanh(WC [ht−1 , xt ] + bC ), (3) Ct = ft Ct−1 + it C̃t , (4) ot = σ(Wo [ht−1 , xt ] + bo ), (5) ht = ot tanh(Ct ), (6) kjer so ft vrata, ki pozabljajo, it so vhodna in ot izhodna vrata. Vrata vzdržujejo stanje spominske celice Ct . Wf , Wi , WC , Wo so matrike uteži, bf , bi , bC , bo so vektorji pristranskosti in σ ter tanh aktivacijski funkciji. xt je vhodni in ht izhodni vektor. C̃t označuje kandidate stanja celice v času (epoha) t. Primer analize vpliva parametrov modela LSTM na finančno napoved, kot je število učenj, je podan v [16]. 3 Metoda V tem razdelku je predstavljena psevdokoda za eksperiment napovedi cene BTCUSD z izboljšanim pristopom, ki vključuje indeks CFGI. Iz platforme alternative.me so zajeti podatki o indeksu CFGI in shranjeni kot datoteka CFGI.csv, ki je v ta postopek podana kot vhodni parameter. V eksperiment smo podali še začetno stanje za naključna števila in tako dosegli ponovljivost eksperimentov za sicer neodvisne zagone (za RUNNR od 1 do 50). Require: technical.csv, sentimental.csv, CFGI.csv Ensure: napoved cen in ovrednotenje eksperimenta 1: preberi vhodne datoteke csv, jih stolpično združi in določi njihov vrstni red 2: skaliraj podatke z uporabo predmeta za skaliranje v Python (MinMaxScaler) 3: vhodno podatkovno množico loči na prvih 200 zapisov kot učno in ostalih 91 zapisov kot testno množico 4: podatke preoblikuj v 3D obliko za nadzorovano učenje (vzorci, časovni koraki, značilke). 5: nastavi konfiguracijske parametre: sekvenčni model, plast LSTM s 6 celicami, ena izhodna plast z 1 izhodom, funkcija izgube MAE, delitev podatkov za validacijo 8:2 6: for epocs = 50 and batchsize = 6 do 7: učiADAM , uporabi konfiguracijske parametre 8: end for 9: testiraj naučeni model na testnih podatkih 10: inverzno skaliraj napovedane podatke in jih vrni kot podatkovni okvir ter ovrednoti eksperiment Po postopku v vrsticah od 1 do 4 se podatki predprocesirajo. V vrstici 2 so ti skalirani v obseg [0,1] s pomočjo predmeta MinMaxScaler iz razreda scikit-learn [18]. V vrstici 5 nastavimo konfiguracijske parametre modela. V vrsticah 6–8 se zgradi model, ki se uči skozi 50 ponovitev, v serijah velikosti 6. Pri učenju sta uporabljena funkcija izgube povprečne absolutne napake MAE (ang. Mean absolute error) [19] in optimizator parametrov prilagodljive trenutne ocene ADAM (ang. Adaptive Moment Estimation) [20]. Za LSTM se uporabijo enačbe od (1) do (6) iz podrazdelka 2.1. V vrstici 9 se izračuna uspešnost učenja, izvede se testiranje z izvedbo napovedi na testni množici, vrstica 10 pa vrne rezultate. 4 Eksperiment V naslednjem podrazdelku so najprej predstavljeni podatki in model, sledijo rezultati eksperimenta. 4.1 Podatki in model Podatki o ceni in tvitih BTCUSD so pridobljeni s spletne strani Kaggle (https://www.kaggle.com/paul92s/bitcoin-l stm-model-with-tweet-volume-and-sentiment/data). Kaggle je podružnica Google LLC in spada med največje skupnosti znanstvenikov iz podatkovnih znanosti ter izvajalcev strojnega učenja. Tam so na voljo številna orodja in viri za uporabo v podatkovni znanosti. V časovno vrsto so zajete minutne/urne serije, v obliki z vejico ločenih podatkov (ang. Comma Separated Value), za obdobje 14 dni, od 11.7.2018 do 24.7.2018. Vrednosti indeksa CFGI so pridobljene s pomočjo programskega vmesnika Fear & Greed Index API, v skladu s pogoji uporabe alternative.me. Gre za dnevne podatke, ki se v našem eksperimentu zaradi časovne poravnave z drugimi vhodnimi podatki, 24 ur ne spreminjajo. Podatki zaključna cena (Close Price), polarnost in senzitivnost indeksa sentimenta (Polarity, Sensitivity), obseg tvitov (Tweet vol), obseg trgovanja z BTCUSD (Volume BTC) in indeks CFGI (CFGI) so uvoženi, pretvorjeni v ure, združeni v eno tabelo in urejeni, kot kaže slika 1. Zaključno ceno BTCUSD za trenutno uro predvidevamo na podlagi preteklih 3 zapisov iz te tabele. Izboljšana različica pristopa vsebuje stolpec z indeksom CFGI, osnovna pa tega stolpca ne vsebuje. CFGI in cena BTCUSD sta pričakovano namreč pozitivno korelirana, dokler indeks ne doseže skrajnih vrednosti in takrat se pričakuje obrat trenda. Programska koda za osnovno različico pristopa je napisana v jeziku Python z uporabo vmesnika Keras in knjižnice TensorFlow in objavljena na spletni strani Kaggle (https://www. kaggle.com/paul92s/bitcoin-lstm-model-with-tweet-volu me-and-sentiment). Slika 1: Združeni in urejeni podatki. Na sliki 2 so prikazane korelacije med vhodnimi značilkami. Razvidna je močna pozitivna korelacija med količino tvitov in obsegom trgovanja ter zmerna negativna korelacija med količino tvitov in polarnostjo. 311 Slika 2: Koleracije med značilkami. 4.2 Rezultati eksperimenta Na sliki 3 je prikaz vizualizacije časovne vrste s količino tvitov, obsegom trgovanja in zaključno ceno BTCUSD. Slika 3: Vizualizacija časovne vrste. Za vrednotenje napovedi modela se izračuna kriterijska funkcija napake povprečnega kvadrata RMSE (ang. Root Mean Square Error). RMSE predstavlja korenjeno vrednost povprečja kvadratov razlik med napovedano in resnično vrednostjo, pri čemer popolno ujemanje predstavlja vrednost 0. Iz slike 4 je razvidno, kako uspešno je naš pristop (izboljšana različica) z LSTM napovedal zaključne cene BTCUSD za testno množico, v primerjavi z osnovno različico pristopa in z resničnimi zaključnimi cenami BTCUSD za isto obdobje. Izmerjena vrednost RMSE po RMSE medialnega zagona (izmed 50 ponovitev) osnovne različice za to napovedovanje z LSTM pokaže vrednost 75,59 USD in z indeksom CFGI razširjene različice 74,85 USD. Torej, razlika med medialnima vrednostima RMSE našega izboljšanega pristopa in predhodno obstoječega osnovnega pristopa znaša 0,74 USD, v prid predlaganega novega pristopa s CFGI. trend prediction,” Expert Syst. Appl., vol. 135, pp. 60–70, 2019. [5] A. Zamuda, Operacijske raziskave logističnih, transportnih in ekonomskih sistemov: zbrano gradivo. Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, 2020. [6] E. F. Fama, “Efficient capital markets: A review of theory and empirical work,” The Journal of Finance, vol. 25, no. 2, pp. 383–417, 1970. [7] ——, “Efficient capital markets: Ii,” The Journal of Finance, vol. 46, no. 5, pp. 1575–1617, 1991. [8] A. W. Lo, “The adaptive markets hypothesis,” The Journal of Portfolio Management, vol. 30, no. 5, pp. 15–29, 2004. Slika 4: Primerjava resničnih (Real) in napovedanih cen BTCUSD na podatkih s CFGI (with) oz. brez CFGI (without). 5 Zaključek V prispevku je implementirana metoda za predvidevanje zaljučnih cen BTCUSD, ki temelji na hipotezi prilagodljivega trga AMH. Uporabljeni računalniški model v tej metodi je nevronska mreža LSTM z dvema plastema. Vhodni podatki so indeksi tehnične analize in analize sentimenta. S prispevkom je kot vhodni podatek na novo vključen indeks CFGI, ki ga sestavljajo indeksi obeh analiz. V fazi predprocesiranja je ugotovljena močna pozitivna korelacija med količino tvitov in obsegom trgovanja. Izmerili smo vpliv vključitve indeksa CFGI na točnost rezultatov napovedi tako, da smo izračunali napako RMSE za osnovno in izboljšano različico pristopa. Primerjava modelov primerov pokaže, da več obeta izboljšana različica, saj je njena medialna vrednost RMSE boljša (manjša) v primerjavi z osnovno različico. V nadaljevanju raziskav bi lahko nadgradili predstavljen pristop in metode ter tako pripravili še naprednejše tehnike za predvidevanje vrednosti kriptovalut. Zahvala Ta prispevek je nastal s podporo ARRS raziskovalnega programa P2-0041, COST akcij IC1406 in CA15140 ter EU Obzorja 2020 projekta DAPHNE (št. 957407). Literatura [1] M. S. Brown and B. Douglass, “An event study of the effects of cryptocurrency thefts on cryptocurrency prices,” in 2020 Spring Simulation Conference (SpringSim), 2020, pp. 1–12. [2] A. Zamuda, V. Crescimanna, J. C. Burguillo, J. Matos Dias, K. Wegrzyn-Wolska, I. Rached, H. GonzálezVélez, R. Senkerik, C. Pop, T. Cioara, I. Salomie, and A. Bracciali, Forecasting Cryptocurrency Value by Sentiment Analysis: An HPC-Oriented Survey of the State-ofthe-Art in the Cloud Era. Cham: Springer International Publishing, 2019, pp. 325–349. [3] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” Decentralized Business Review, p. 21260, 2008. [4] A. P. Ratto, S. Merello, Y. Ma, L. Oneto, and E. Cambria, “Technical analysis and sentiment embeddings for market 312 [9] I. Z. Emiris, E. Christoforou, and A. Florakis, “Neural networks for cryptocurrency evaluation and price fluctuation forecasting,” in MARBLE 2019 - The 1st International Conference on Mathematical Research for Blockchain Economy, Santorini, Greece, May 2019. [10] S. Hochreiter and J. Schmidhuber, “Long Short-Term Memory,” Neural Computation, vol. 9, no. 8, pp. 1735–1780, 11 1997. [11] J. Abraham, D. Higdon, J. Nelson, and J. Ibarra, “Cryptocurrency Price Prediction Using Tweet Volumes and Sentiment Analysis,” SMU Data Science Review, vol. 1, 2018. [12] P. J. de Jong, S. Elfayoumy, and O. Schnusenberg, “From returns to tweets and back: An investigation of the stocks in the dow jones industrial average,” Journal of Behavioral Finance, vol. 18, pp. 54 – 64, 2017. [13] K. Greff, R. K. Srivastava, J. Koutnı́k, B. R. Steunebrink, and J. Schmidhuber, “Lstm: A search space odyssey,” IEEE Transactions on Neural Networks and Learning Systems, vol. 28, no. 10, pp. 2222–2232, 2017. [14] T. Fischer and C. Krauss, “Deep learning with long shortterm memory networks for financial market predictions,” European Journal of Operational Research, vol. 270, no. 2, pp. 654–669, 2018. [15] X. Pang, Y. Zhou, P. Wang, W. Lin, and V. I. C. Chang, “An innovative neural network approach for stock market prediction,” The Journal of Supercomputing, vol. 76, pp. 2098–2118, 2018. [16] S. Siami-Namini and A. S. Namin, “Forecasting economics and financial time series: ARIMA vs. LSTM,” CoRR, vol. abs/1803.06386, 2018. [17] A. Thakkar and K. Chaudhari, “Crest: Cross-reference to exchange-based stock trend prediction using long shortterm memory,” Procedia Computer Science, vol. 167, pp. 616–625, 2020, international Conference on Computational Intelligence and Data Science. [18] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and É. Duchesnay, “Scikitlearn: Machine learning in Python,” Journal of Machine Learning Research, vol. 12, no. 85, pp. 2825–2830, 2011. [19] C. Sammut and G. I. Webb, Eds., Mean Absolute Error. Boston, MA: Springer US, 2010, pp. 652–652. [20] R. N. Singarimbun, E. B. Nababan, and O. S. Sitompul, “Adaptive moment estimation to minimize square error in backpropagation algorithm,” in 2019 International Conference of Computer Science and Information Technology (ICoSNIKOM), 2019, pp. 1–7. The Semantic Web and Blockchain at a Meeting Point Klevis Shkembi 1 , Petar Kochovski 1 , Thanasis G. Papaioannou 2 , Anthony Simonet-Boulogne 3 , Marco Ciaramella 4 , Caroline Barelle 5 , Vlado Stankovski 1 2 1 Faculty of Computer and information Science, University of Ljubljana, Slovenia Department of Informatics, Athens University of Economics and Business (AUEB), Greece 3 iExec, France 4 IntelliSemantic srl, Rivoli, Italy 5 European Dynamic, Luxembourg E-mail: klevis.shkembi@fri.uni-lj.si Abstract The Internet is becoming more centralized, more asymmetric in terms of information and power distribution, more biased, less secure and less trustworthy. Blockchain technologies already allow the decentralized exchange of digital assets in a secure and fair manner, but its application to information transmission is mostly unexplored. This article outlines our vision for ONTOCHAIN, a semantically enhanced blockchain software ecosystem that enables the creation of secure distributed applications that empower users, ensure their privacy, high quality of service, and ultimately encourage pluralism and democracy. The primary goal of ONTOCHAIN is to achieve trustworthy service exchange and content handling for a variety of disciplines, including health, economy, public services, energy and sustainability, news, media, entertainment, industry 4.0, and tourism, employing advanced knowledge management mechanisms. 1 Introduction The Internet’s success is based on free expression, open innovation, and interoperability. However, there are rising worries that the pursuit of high performance and profit is compromising openness, trustworthiness, privacy, and security. When users connect with internet services, a number of risks have been discovered: the centralization of power (.e., only a few actors have access to information and expertise), undetermined provenance of information (e.g., fake news), anonymity in the service of criminal behavior, invasions of personal privacy, misuse of personal data ( e.g., Cambridge Analytica scandal), no equitable incentives for high-quality contributions and people’ fundamental rights are being compromised. Distributed Ledger Technologies (DLT) provide decentralization as a major feature such as blockchain [1]. Blockchains are ”trustless”, in the sense that the systems in place allow all participants in the system to agree on what the normative truth is without relying on any third party. Therefore many network stakeholders (e.g., developers, miners and users) share authority and confidence, rather than putting them in one company or individual. However, blockchain has so far not covered identity management, trustworthiness assessment of data and entities, data management confidence, smart contracts that understand data semantics, secure data exchange or secure storage. ERK'2021, Portorož, 313-316 313 Furthermore, it suffers from the Scalability Trilemma, which refers to the tradeoffs between decentralization, security, and scalability that crypto projects must make when deciding how to optimize the underlying architecture of their own blockchain and was coined by Vitalik Buterin (founder of Ethereum) [4]. This document argues our plan to build a multi-layer, modular blockchain framework that will enable the implementation of a variety of next-generation real-world solutions, including trustworthy web and social media, trustworthy crowdsensing, trustworthy service orchestration, unsupervised, decentralized online social networks, empower practitioners to handle the many issues of the Internet with numerous ledger technologies. The proposed blockchain-based architecture is anticipated to improve performance and scalability by including various business logic, access mechanisms, and governance structures. Our technology framework will serve as a foundation for the Next Generation Internet (NGI), which will support values such as openness, decentralization, inclusiveness, and privacy protection while also returning control to end-users so that they can benefit from democratic, transparent, and trustworthy decision-making mechanisms. The remainder of this paper is organized as follows: In Section 2 we describe our approach to build a semanticallyenriched, trustworthy blockchain ecosystem. In Section 3 we overview the architecture of our framework and describe its main components. In Section 4 we explain, how our technology framework enables promising use-case scenarios. In Section 5 we explain the potential various impact that our proposed ecosystem may have. Finally in Section 6 we conclude our work and outline future work. 2 Strategic objectives As the Internet of Things (IoT) emerged, we have the ability to achieve new levels of decentralization, but also to collaborate amongst diverse cyber physical systems based on the concepts of the semantic web. Blockchain technologies, with their primary features of decentralisation, traceability, and transparency, are well suited to this agenda and may help to the successful functioning of such smart applications and systems [2]. The objective of this work is to build a single, shared ledger for the administration of shared ontological concepts, including instances of such concepts, using the fundamental fea- tures of blockchain. ONTOCHAIN will have the ability and feature to interlink off-chain data, information, and AI services with on-chain information that eliminates the need for costly on-chain activities while introducing major new characteristics such as traceability, privacy and democratic processes. Different ’entities’ memberships can be anonymous, but they can also be connected to realworld identities when the law requires it. They can be directly ”executable” through the use of various semantic reasoners operating directly on blockchain, as well as potentially employing trustworthy off-chain real-world data (e.g., IoT) through the use of Smart Oracles and Decentralized Oracles. Overall, ONTOCHAIN vision is presented in Figure 1. use-cases to enable seamless inter-service process collaboration (see Figure 4). Furthermore, data saved on separate chains may be connected. This connection is stored in new ONTOCHAIN chains. We use a modular architecture to provide scalability, accessibility, and great performance. Each layer’s modules and functionality are based on the functionality provided by the lower levels. The functionality of the modules at each layer, as well as their dependencies, are explained in a top-down approach below. Figure 3: ONTOCHAIN architectural framework. Figure 1: Illustration of the ONTOCHAIN concept. 3 Concept and architecture The goal of this innovation action is to engage the broader research and innovation community in disciplines such as semantic web, artificial intelligence, security, privacy, distributed systems, game theory, and economics. Like Figure 2: Achieving trust with ONTOCHAIN’s technology. blockchain, the Semantic Web is designed to build trust in highly decentralized, semantically sophisticated, and dynamic environments. We intend to build an innovative new technology stack that functions similarly to Semantic Web technologies and seeks to improve trust in semantics, data, knowledge, and information on the internet today (see Figure 2). This framework will enable the implementation of a number of different next-generation real-world solutions applications. The various protocols will be used to create use-cases as shown in Figure 3. ONTOCHAIN Application and Core protocols will integrate interactions across various blockchain frameworks while masking them from 314 Figure 4: ONTOCHAIN’s vision and approach. 3.1 Use-case layer Trustworthy Information Exchange: To assess the trustworthiness of information, this use case employs and integrates data provenance techniques, decentralized oracles, and user trustworthiness. Secure data exchange methods are used to transmit data safely across transacting parties using cryptographic processes, while decentralized reputation models are used to judge the trustworthiness of data sources and the data itself. Trustworthy and Transactional Content Handling: This use case provides safe and privacy-aware data querying by combining any of the following: permitted data access/handling, data credibility evaluation, copyright implementation, and secure and privacy-aware data querying. This use case also involves the safe transfer of any financial assets between parties participating in a data exchange. It will establish and create tools and processes that would allow regulatory, judicial, and law enforcement authorities to examine and otherwise impact data transactions in clearly specified situations as envisioned by the legislator. 3.2 Application Protocol Layer Data Provenance: This module will offer graphical interfaces for accessing and displaying provenance data regarding on-chain and off-chain data from ONTOCHAIN. The full chain of transactions that resulted in a record will be included in the provenance information. Reputation Models: This module will allow users to construct several decentralized reputation models on the blockchain, ensuring that reputation feedback is real, trustworthy, and anonymous. Decentralized Oracles: Although Smart Contracts can only read and write data that is kept on their blockchain by design, this module will make it easier for them to work with off-chain data. Some solutions (e.g., Substrate, ChainLink) look at a data source with many instances, then perform a consensus protocol on-chain to confirm the outcome. However, this only shifts the centralization point from the Oracle to the data source. Market Mechanisms: This module facilitates market mechanisms by providing the fundamental support mechanisms for facilitating data/service transactions. It will enable physical asset trading (e.g., tokenization) and price determination (e.g., auctions, negotiation protocols, etc. ), as well as billing, customer support, inventory management, and other services. Secure Data Exchange: This module covers data exchange functions among dispersed parties, confirming data ownership and access rights, the authenticity of the parties involved, the integrity of the information transferred and the secrecy of the data by means of blockchain underlying mechanisms. Off-chain data is often transferred via data transactions, but on-chain data stores public cryptographic keys and access control lists based on which particular transacted parties are granted enhanced data access to distinct sections of data. Ontology Representation: This module aims to propose new methods for building ontologies using blockchain technology. Similar to the formation of axiomatic assertions, semantic agreements may be widely agreed upon via blockchain-based consensus. This module will also cover any reasoning techniques, tools, or procedures that may be used to derive new information from a sensing IoT-enabled environment. Multi-Source Identity: This module aims to use newly built ONTOCHAIN services to register and validate individual digital IDs of physical items. Various AI approaches, for example, may be created to operate on sensing data (IoT-based, sensors, cameras, and similar) to determine if a human belongs to a certain ontological notion. 3.3 Distributed ledger Blockchain consensus engine: Any blockchain relies on consensus mechanisms to operate. ONTOCHAIN will be scalable, open, cost-effective and energy-efficient, and even a significantly improved new consensus engine if possible. In terms of accessibility, ONTOCHAIN intends to be an open distributed ledger that may theoretically be coupled with multiple blockchain settings, rather than a 315 silo blockchain ecosystem. Decentralised Storage: With the rise of blockchain, we’ve seen a new generation of participative storage repositories that can help to solve security and privacy concerns, and store any type of data (eg.g, StrorJ). In the near future one may envision new storage services which can help to encrypt and decentralize private data, assist to manage reliability replicas and service quality, while balancing the transactions with the storage costs. 4 Use Cases ONTOCHAIN will enable a variety of future applications in many sectors, ranging from B2B to C2C to G2C, like: art, commerce and trading, education, finance, healthcare, industry, public sector. P2P e-commerce use case scenario: users can search for products/services supplied by business entities using data semantics. Users obtain the most trustworthy provider’s product/service that suits their requirements. The product/service transaction, as well as any changes in ownership or access provision to a service, is then recorded on the blockchain. At the same time, the product/service is withdrawn from the seller’s inventory, and an invoice is generated automatically. Finally, users may provide feedback on previous transactions. Data Trading use case scenario: Data is securely kept, uniquely identifiable, and only authorized organizations have access to it for pre-determined processing in this application. Predetermined algorithms, which are also part of the smart contract, can be used to handle data in safe enclaves without exposing the original data to a third party. The smart contract’s General Data Protection Regulation (GDPR) compliance is automatically verified, and any data processing operations are stored in the blockchain. Any data modifications that result in new data are considered as tradeable assets, with their provenance determined by their relationship to the original data and the processing methods. The ONTOCHAIN ecosystem will be developed on top of Ethereum layer 1 for the time being. Later on, it will be upgraded to a layer 2 blockchain network, with each component having its own shard. 5 Impact ONTOCHAIN’s vision is to contribute to NGI’s success and to accelerate Europeans’ potential to grow individually and collectively in this new era, as well as to significantly alter our perception of the digital world around us. The following are the key points of ONTOCHAIN’s immediate impact: • Growing the blockchain and next-generation communities, throughout the duration of a three-year project involving numerous vertical and horizontal actions aimed at community development. • Educating and financing a large number of researchers, innovators, start-ups, SMEs, and use-case holders (practitioners) in order to raise their knowledge of the benefits of a more trustworthy and decentralized internet. • Providing a platform for the development and validation of new technological solutions and innovative decentralized applications, as well as the introduction of new economic schemes oriented toward a human-centric future Internet progression. • Developing the necessary proof-of-concept and acceptable expertise in order to provide instructions and a roadmap for a more focused and efficient European policy-making process. 5.1 Shape a more human-centric evolution of the internet ONTOCHAIN seeks to decentralize knowledge and power while preserving people’s anonymity. ONTOCHAIN will provide an unbiased, non-institutional trust rating of content people and services. Furthermore, since ONTOCHAIN is a human-centric ecosystem, its success would have an impact on its future adoption by a huge user community. 5.2 European blockchain ecosystem integrating research and innovation communities ONTOCHAIN activities and events will serve as a starting point for blockchain researchers and innovators. The initiative will promote concept and project co-creation, as well as a high level of integration between research and development communities. Moreover, ONTOCHAIN will contribute to the work of the European Blockchain Observatory Forum, which is taking place at institutional levels across the EU, by providing blockchain technology guidance. ONTOCHAIN will also participate in European and national blockchain events, which will provide opportunities for the project to interact with other local communities and bridge ideas and experience. existing technology that builds trust based on decentralized consensus among strangers. Since both technologies are used to manage knowledge and generate trust, the ONTOCHAIN project believes that their effective marriage is essential. In this document we presented the architecture and major features of our unique blockchain ecosystem. In addition, we presented how creative and interesting distributed applications are achievable with two example situations. As future work we intend to describe the ONTOCHAIN architecture in further detail, including comprehensive APIs between the various components as well as implementation details. In addition, we will show how the suggested platform may be used to create prototype implementations of example distributed applications. Acknowledgment The research and development reported in this paper have received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreements no. 957338 (ONTOCHAIN: Trusted, traceable and transparent ontological knowledge on blockchain). References [1] S.Nakamoto: A peer-to-peer electronic cash system. Bitcoin White Paper, 2008, https://bitcoin.org/bitcoin.pdf [2] Kochovski, P., Gec, S., Stankovski, V., Bajec, M., Drobintsev, P.D.: Trust manage-ment in a blockchain based fog computing platform with trustless smart oracles.Future Generation Computer Systems101, 747–759 (2019) [3] Casino, Fran, Thomas K. Dasaklis, and Constantinos Patsakis. ”A systematic literature review of blockchain-based applications: Current status, classification and open issues.” Telematics and informatics 36 (2019): 55-81. [4] Wood, G., et al.: Ethereum: A secure decentralised generalised transaction ledger.Ethereum project yellow paper151(2014), 1–32 (2014) 5.3 New business opportunities with maximum growth and impact chances [5] Yasin, A., Liu, L.: An online identity and smart contract management system. In:2016 IEEE 40th Annual ComBy providing the building blocks for new decentralized puter Software and Applications Conference (COMP-SAC) end-user apps, ONTOCHAIN aspires to develop a highly IEEE (2016). vol. 2, pp. 192–198. business environment. ONTOCHAIN creates ideal business opportunities for new internet companies by addressing core user concerns, such as trust and privacy, as well as facilitating business building blocks such as identity management, social media copyright management, knowledge management, supply chain management, decentralized reputation models, decentralized market mechanisms, data provenance and trustworthy data handling, and lowentry-cost infrastructure. 6 Conclusion The ONTOCHAIN project is a NGI initiative aimed at improving data, metadata, semantics, knowledge, and information management technologies. This encompasses the activities of generating, systematizing, storing, transmitting, and otherwise managing trusted data. The project aims to combine the Semantic Web as a trust-building technological stack with blockchain technologies as an 316 [6] Christidis, K., Devetsikiotis, M.: Blockchains and smart contracts for the internetof things. Ieee Access4, 2292–2303 (2016) [7] Dennis, R., Owen, G.: Rep on the block: A next generation reputation system basedon the blockchain. In: 2015 10th International Conference for Internet Technologyand Secured Transactions (ICITST). pp. 131–138. IEEE (2015) [8] Dinh, T.T.A., Wang, J., Chen, G., Liu, R., Ooi, B.C., Tan, K.L.: Blockbench: Aframework for analyzing private blockchains. In: Proceedings of the 2017 ACMInternational Conference on Management of Data. pp. 1085–1100 (2017) [9] Hamida, E.B., Brousmiche, K.L., Levard, H., Thea, E.: Blockchain for enterprise:overview, opportunities and challenges. In: The Thirteenth International Confer-ence on Wireless and Mobile Communications (ICWMC 2017) (2017) FRI Tokens for a Fog Computing Course Sandi Gec1, Petar Kochovski1, Janez Brežnik1, Vlado Stankovski1 1 Faculty of Computer and Information Science, University of Ljubljana, Ljubljana, Slovenia E-mail: sandi.gec@fri.uni-lj.si Abstract. The DECENTER project (2018-2021) produced a Fog Computing and Brokerage Platform that incorporates methods of Internet of Things, Cloud computing, Artificial Intelligence, Digital Twins and Blockchain. The main goal of the present work is to achieve knowledge transfer from the achievements of the DECENTER project towards the design of a new study course at the Faculty of Computer and Information Science in Ljubljana which is entitled Fog Computing for Smart Services. The course focuses on current DevOps software engineering practices which require the use of several enabling technologies which follow the general principle of decentralisation. This paper presents the design of a FRI token that is used in the course in order to illustrate the operation of advanced software ecosystems. 1 Introduction Edge and Fog Computing are emerging new paradigms that address the requirements for the management of AI methods closer to the data and/or sensor sources. This can be established by applying moden engineering principles like DevOps, and technologies that involve containerization. AI methods can be easily deployed into containers, moved around the network to the edge and cloud, and easily spinned on and off, so that one can use intelligence in the specific smart environment where it is needed. In fact, this is the software engineering agenda for the development of future smart services. Moreover, the economy of decentralization is an ecosystem represented by different user entities or actors. These actors contribute their available physical and software resources in order to provide specific functional components to complex decentralized systems. The resources should follow the minimum requirements such as high level Quality of Service (QoS) and Quality of Experience (QoE) [1]. In this work we focus on the economy of decentralized cloud-based systems and applications, particularly on the design of specific tokens that can be used to support specific Smart Contracts for cloud based applications. We investigate the tokenomics life cycle: (i) token generation, (ii) use case analysis with potential token usage integration and, (iii) development of specific Smart contracts for DECENTER platform. The rest of the paper proceeds as follows. Section 2 presents the baseline technologies of our work. Section 3 describes the implementation details of Fog Computing for Smart Services in the context of the Fog Computing course at the Faculty of Computer and Information Science in Ljubljana. Section 4 provides details from the ERK'2021, Portorož, 317-320 317 experimental evaluation. Section 5 concludes the paper and describes plans on future research. 2 Background The emergence of distributed and decentralised systems alongside with the necessity for better transparency, traceability, autonomy, privacy and security, has led towards the rise of the blockchain technologies. Blockchain as a concept, delivers a plethora of solutions that replace the centralised institutions (i.e. middlemen) with distributed and decentralised networks, where activities are executed and verified by reaching a mutual consensus among the network participants. In particular, blockchain is an immutable ledger of records, where records are grouped into blocks after a validation consensus is reached across the network’s participants. In general, blockchain technology became popular in 2009, when Satoshi Nakamoto released the Bitcoin whitepaper [2]. This baseline technology allowed digital assets to be exchanged among different entities (i.e. monetary transactions) and also allowed new blockchain cryptocurrencies to be developed and distributed. However, the capabilities of this technology soon was recognized by other domains, such as: mobility, supply management, healthcare, data management, decentralised finances and many more, which required their business logic to be moved to the distributed ledgers. As a result, Vitalik et al. [3] presented a revolutionary concept with the introduction of Turing complete smart contracts that are similar to general (notary) contracts with limited, but sufficient functionalities to cover a wide range of use-cases. To exploit the full potential of the blockchain technology, it is necessary to carefully plan and manage the ecosystem market mechanisms and distribution of tokens. In the following sections, a more detailed overview of the market mechanisms within the DECENTER and ONTOCHAIN [4] project and the token management will be provided. 3 Fog Computing for Smart Services In this section we first present the design of the course Fog Computing for Smart Services which aims at knowledge transfer from the DECENTER project towards the computer and information science students at the Faculty of Computer and Information Science in Ljubljana. For the purposes of the course a set of 200 ERC-20 tokens was generated that allowed students to learn through practice the token’s market mechanisms and implementation in use cases for Fog applications. 3.1 Course design The increased complexity of the emerging information and computing technology systems poses several challenges at software level. Users require seamless connectivity, abundant computing power and unlimited access to data independently of the underlying infrastructure. Increased levels of adaptability are becoming more and more essential in modern software systems in order to manage the needs of highly complex and dynamic environments requiring continuous development and operation (DevOps). Increasing trust and reliability while keeping system performance and reducing energy consumption is a complex task. This opens several research questions that address the unprecedented complexity in software systems within a shortened software lifecycle: from requirements analysis and design, to development and testing and up to deployment and operations across highly heterogeneous and dynamic self-adaptive systems. Hence, the goal of the Fog Computing course is to introduce the overall software engineering process for the development of smart applications that will run in the Fog, which is in the middle between the smart devices and the high-power data centers [5]. Nowadays, it is common for Fog applications to employ Internet of Things (IoT), Artificial Intelligence (AI), cloud computing and blockchain technologies. The course focuses on the theory and practice when developing complex, component-based, compute, memory and network-intensive multi-tier cloud applications. In the beginning of the course, the main concepts, vision and objectives of Fog computing were introduced. Particular attention was given to the potential use cases, for example, those of Slovenia's smart specialisation programme that pose significant requirements for the integration of IoT, AI, cloud and blockchain based services and applications. While the students contemplate the initial set of lectures, their initial laboratory work is focused on trying out a set of technologies required to build a smart application, such as trying out Machine Learning (ML) models. After the initial stage, the course focuses on the DevOps life-cycle with focus on Fog computing applications. The students then set-up and try different software engineering tools and discussed various approaches to orchestration. Further to this, approaches for monitoring applications that may spread across multiple computing tiers are discussed. Once being introduced to the foundations of Edge-toCloud computing, the students focus on multi-tier (edgecloud) application designs with the purpose of addressing the non-functional requirements of the application. The following three weeks are devoted to developing and understanding the plethora of AI methods that could be quickly containerised and delivered at the network 318 Edge, the taxonomy of Big Data methods with focus on QoS aspects, and benchmarking methodologies. The final part of the course is devoted to blockchainrelated concepts, approaches, methodologies and technologies (i.e. coins and tokens, consensus mechanisms, Smart Contracts, Smart Oracles) that form part of the Fog computing vision. At a practical level, the students attempted to monetise the use of the cloudified ML application by developing and deploying Smart Contracts on Ethereum testnet node. As a result of these activities, the students are able to gain software engineering competencies at the crosssection of the above mentioned technology types, whereas passing the course meant an improved understanding of the use cases, the functional and nonfunctional requirements, the current approaches to addressing various dependability, trust-related concerns, and the major technologies that are commonly used in order to address the whole spectrum of requirements, including orchestration, and the integration process. 3.2 Tokenomics Many blockchain networks (e.g. Bitcoin, Litecoin, Ethereum, Cardano) allow using cryptocurrencies as native assets that can be used as medium of exchange and store value that entitles the participants in the system of ownership to an underlying property. In comparison, other blockchain-based solutions (e.g. Chainlink, Polygon, EOS) introduce tokens as bearer instruments. The main difference is that cryptocurrencies are the native digital asset of a specific blockchain protocol, whereas tokens are created on top of those existing blockchains. Generally, every token consists of a specific purpose. Therefore, in the initial phase of token creation concepts of tokenomics need to be considered — the topic of understanding the supply and demand characteristics of cryptocurrency. While defining the token quantitative properties, we need to answer the following questions: •How many coins or tokens currently exist? •How many will exist in the future and when will they be created? Who owns the coins? • •Is there any information to suggest that a large number of coins has been lost, burned, deleted or are somehow unusable? Apart from the basic attributes and functionalities derived by the answers to the questions above, additional definitions in terms of attributes, functions and events should be implemented in the Smart contract by definition to fulfill the basic token requirements. By definition Ethereum ERC-20 tokens must implement the following attributes accessed as getter functions such as totalSupply(), balanceOf( address account), allowance( address owner, address spender), transfer( address recipient, uint256 amount), approve( address spender, uint256 amount) transferFrom( address and sender, address recipient, uint256 amount). In this paper, we focus on Smart Contract supportive token standards on Ethereum known as ERC-20, which has emerged as the technical standard used for all smart contracts on the Ethereum blockchain for fungible token implementations. ERC-20 defines a common list of rules (e.g. attributes, functions and events) that all generated tokens should adhere to. This minimum requirement ERC-20 interface simplifies and eases developers’ tasks, because they can proceed with their work and are able to implement additional Smart Contract standard concepts such as OpenZeppelin [6]. For example, there are utility Smart contracts that provide mathematical functions, voting mechanisms, governance and many others. In the context of our course we generated a basic ERC-20 token on an Ethereum testnet network Rinkeby available on the contract address 0xad9c8654f0eaa7c83a08f1097520d5d9acd4aa3f, named Frik with the symbol FRI of max supply 200 tokens divisible by 18 decimals. The purpose of the token is to promote the course to the potentially interested students through the specimen with a structure depicted on Figure 1. Each specimen contains a unique Ethereum public address available as a QR code in the left circle of the specimen. The FRI token can be claimed through the Web page of the course where the potential students claim the token from the owner address 0x09901196813E19f282221A55f149bb74312B018c and obtain the private key to gain access to the public wallet. Even though the provision of a private key through a Web page is not a best practice, there is a recommendation that the students resend the token to his own Ethereum (testnet) address. When the students owning the FRI token enrol in the course she or he can use it when developing practical use cases. The FRI token can be used within the developed Smart Contracts and Web pages based on the Web3 library able to interact with the Ethereum network through the Ethereum tool Metamask [7]. Students that want to know Ethereum Smart Contracts more in detail are motivated to follow practical Coursera courses [8] or many other available online tutorials or courses. An overview of potential use cases is presented below. 3.3 Use cases This section describes four use cases that have been actively researched and discussed in the duration of the course. These use cases have potential to be integrated with Smart contracts in order to benefit the implicit properties of blockchain technology, enhance the trust aspect and generally improve the business models. The first use case that covers the pedestrian domain is Smart City Crossing Safety with the objective to increase the pedestrian crossing safety by leveraging the IoT and edge infrastructures of a smart city. It focuses on equipping a number of pedestrian crossings with devices existing on the market that enable monitoring of pedestrians intending to cross the road and producing safety notifications. The second use case focuses on automated logistics using mobile robots, allowing robots to obtain data from the environment. Applying new AI models to the robots requires high computational capabilities, so in the real world most of them could not be applied due to the robot’s computational limitations. The third use case covers the construction site domain that requires constant information support to assure a safe construction environment. As a result, organising, monitoring, and implementing a construction project including its various safety, security, logistics, inspection and other aspects can be very challenging. The fourth use case covers the working office domain, particularly the ambient intelligence of the office environment. Nowadays a lot of IoT devices have been deployed and used for real-time safety monitoring but the current level of indoor safety services is limited to monitoring status using devices such as cameras and cell phones. Therefore, it is challenging to respond promptly and appropriately to various situations without continuous supervision. Figure 1: Sample structure of the specimen for the course Fog Computing for Smart Services available on Ethereum testnet network Rinkeby. 319 Often, the services of such use cases are hosted on cloud platforms, which can cause problems due to round trip delays. Privacy issues may also arise while uploading personal data such as images to the public cloud for analysis. All these challenges were carefully analysed and partially resolved from the know-how at the Fog computing for Smart Services course. 4 Experimental study In this section we present an example of practical usage of a generalized Smart contract in the use cases presented in the previous section. The smart contract is deployed and empirically analyzed in order to prove the general sustainability that relies on the cost estimation execution of the functions in Ethereum testnet network represented in GWEI metric (1 ETH = 109 GWEI). The Figure 2 shows the cost of the main operations from the deployment and management of Cloud providers through a Smart contract where each provider interact through Ethereum wallet. requirements of Big Data pipelines, which start at the edge of the computing network and may run across multiple computing tiers up to various public or private Cloud providers. The motivation of the present paper is to present how these technologies can be integrated into the study course at the faculty. It covered not only theory, but also a lot of practical assignments through direct hands-on experience, such as: realising compute, memory and network-intensive smart services and applications through the use of Fog computing technologies. Based on the implementation and the presented evaluation, we can conclude that the quadrumvirate of technologies can be brought closer to the students in order for them to become up to date with the latest knowledge requirements of the IT industry. We realized that this raised high interest among the students, with the increased diploma themes covering Blockchain technology, and we are sure that such a subject should be part of the standard study programme at the higher educational institutions in Slovenia. Acknowledgments The research and development reported in this paper have received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreements no.815141 (DECENTER: Decentralised technologies for orchestrated Cloud-to-Edge intelligence) and grant agreement no. 957338 (ONTOCHAIN: Trusted, traceable and transparent ontological knowledge on blockchain). Literature Figure 2: Execution cost of four main Smart contract operations: (i) deployment of a Smart contract, (ii) registering a new provider, (iii) updating a provider and, (iv) removing a provider. The benefit of such an approach is to offer a transparent overview of the Cloud providers ecosystem to all involved entities. The results run on Rinkeby testnet, reproduced 10 times and averaged, indicate that the most costly operation is deployment of the Smart contract since it extends complex libraries (e.g. ChainlinkClient [9]). Other functions that are executed on demand have a significantly lower cost thus the Smart contract is usable in practice. 5 Discussion and conclusion Novel technologies, such as: Internet of Things, Artificial Intelligence, cloud, Digital Twins and blockchain are currently converging, which results with numerous new smart services and applications. They are the substrate of Fog computing – an architecture that uses edge devices to carry out computation, storage, communication locally and thus addresses the 320 [1] M. Varela, L. Skorin-Kapov, T. Ebrahimi. “Quality of Service vs. Quality of Experience”, 2014. [2] S. Nakamoto: Bitcoin: A peer-to-peer electronic cash system. Decentralized Business Review, 2008. [3] V. Buterin, Ethereum White Paper, September 30, 2015. [Online]Available: https://ethereum.org/en/whitepaper/ [4] ONTOCHAIN. [Online]. Available: https://ontochain.ngi.eu/. [Accessed: 13-Aug-2021]. [5] F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, S. “Fog computing and its role in the internet of things” in Proceedings of the first edition of the MCC workshop on Mobile cloud computing, 2012 [6] OpenZeppelin. [Online]. Available: https://openzeppelin.com/. [Accessed: 29-Jul-2021]. [7] Metamask. [Online] Available: https://metamask.io/. [Accessed: 29-Jul-2021] [8] Coursera course Smart Contracts [Online]. Available: https://www.coursera.org/learn/smarter-contracts. [Accessed: 6-Sept-2021] [9] ChainLink. [Online]. Available: https://chain.link/ [Accessed: 25-Jul-2021] Nadgradnja obstoječega domensko specifičnega modelirnega jezika za merilno tehniko Tomaž Kos1, Marjan Mernik2, Tomaž Kosar2 1 Dewesoft d.o.o., Gabersko 11a, 1420 Trbovlje E-pošta: tomaz.kos@dewesoft.com 2 Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru, Koroška cesta 46, 2000 Maribor E-pošta: marjan.mernik@um.si, tomaz.kosar@um.si Extending an existing domain-specific modeling language for measurement domain Abstract. As applications change over time, so do programming languages. Since the Sekvencer language, which is used in measurement system Dewesoft, has been in use since 2010, in practice it has become clear that users want new functionalities and mechanisms. In this article, we present a prototype of the new programming language RT-Sekvencer. The language is adapted to create real-time measurement procedures that are performed on hard real time systems. 1 Uvod Kljub napredku programskih jezikov in naprednih platform je večina programske opreme razvita na nizki ravni abstrakcije glede na koncepte, ki jih uporabljajo programerji aplikacij. Ta semantični prepad rešujejo domensko specifični jeziki (angl. domain-specific languages, DSL) [1]. Ti zajemajo bistvene značilnosti problemskega prostora na način, ki je ločen od podrobnosti specifičnega prostora za reševanje [2]. Ti jeziki, če jih primerjamo s splošno namenskimi jeziki (angl. general-purpose languages, GPL), podpirajo višjo raven abstrakcije in so bližje domeni problema kot domeni implementacije [3]. V ospredje postavljajo domeno abstrakcije, ki omogoča domenskim strokovnjakom programiranje direktno z domenskimi koncepti. Koristi uporabe DSL-jev so povečana fleksibilnost, produktivnost, zanesljivost in uporabnost in so bile pokazane tudi v empiričnih študijah [4]. Prav tako poznamo tudi domensko specifične modelirne jezike (angl. doman-specific modeling languages, DSML) [5], ki se v marsičem prekrivajo z DSL-ji. Ti jeziki specificirajo programe z modeli in uporabljajo vizualne koncepte, ki še dodatno dvignejo nivo abstrakcije. Abstraktna sintaksa jezika je običajno definirana z metamodelom, ki opisuje koncepte jezika, povezave med njimi in strukturna pravila, ki omejujejo elemente modela in njihove kombinacije. V osnovi so domensko specifični modelirni jeziki zelo primerni za uporabo na specifičnih področjih, kot je na primer načrtovanje kompleksnih merilnih sistemov. Merilni sistemi Dewesoft, skupaj s programskim produktom Dewesoft1, se uporabljajo za zajem, obdelavo in kasneje tudi analizo izmerjenih meritev in pri tem uporabljajo domensko specifičen modelirni jezik 1 https://www.dewesoft.com ERK'2021, Portorož, 321-324 321 Sekvencer [5, 6] za konstrukcijo merilnih postopkov. Z omenjenim jezikom lahko končni uporabnik, domenski strokovnjak, na enostaven način brez strokovnega računalniškega znanja kreira poljuben merilni postopek, ki se vrši na merilnem sistemu. Ker je jezik Sekvencer v uporabi že od leta 2010, je praksa pokazala, da si posamezni uporabniki želijo novih funkcionalnosti in mehanizmov. V tem članku tako predstavljamo prototip novega programskega jezika, ki smo ga poimenovali RT-Sekvencer. Prav tako bo jezik prirejen za kreiranje realnočasovnih postopkov, ki se izvajajo na krmilnikih Dewesoft, kot je IOLite-LX [7]. Članek je strukturiran v pet poglavij. V drugem poglavju predstavimo merilni in krmilni del sistema Dewesoft. Prav tako v tem poglavju opišemo paket Dewesoft skupaj s trenutnim programskim jezikom Sekvencer. Sledi tretje poglavje, kjer so predstavljene motivacija in zahteve. V četrtem poglavju sledi predstavitev prototipa: arhitektura, način prevajanja in generiranje kode. Zadnje poglavje povzame vsebino članka. 2 Obstoječe razvojno okolje V zadnjem desetletju je razvoj osebnih računalnikov s seboj prinesel možnost za razvoj namenskih namiznih aplikacij. Ena od teh je programski paket Dewesoft in DSML programski jezik Sekvencer, ki je v komercialni uporabi že več kot deset let in je na kratko predstavljen v naslednjih podpoglavjih. 2.1 Merilni programski paket Dewesoft Programski paket Dewesoft (trenutna verzija X 2021.4) je produkt istoimenskega podjetja Dewesoft d.o.o. Programski paket v osnovni ideji in izvedbi predstavlja nadomestek klasičnim merilnim instrumentom (npr. logični analizator, funkcijski generator) in ob enostavni uporabi ponuja vse prednosti, ki jih omogoča merilni računalnik pri zajemanju in na koncu tudi analizi podatkov. Programski paket je prisoten in se uporablja v vseh panogah industrije, od avtomobilske do vesoljske industrije, v času testiranja novih produktov in komponent. S programskim paketom lahko zajamemo podatke iz različnih senzorjev, kot so analogni in digitalni senzorji, video, GPS, CAN, XCP, PCM itd. Poleg že prej omenjenih lastnosti orodje omogoča tudi vizualizacijo, analizo in tudi izvoz v različne formate za procesiranje, kot je prikazano na sliki 1. 3 Slika 1: Primer merilnega sistema Dewesoft 2.2 Programski jezik Sekvencer Jezik Sekvencer je vključen v programski paket Dewesoft X. V industriji ga uporabljajo za definiranje merilnih postopkov za namen testiranja delovanja produktov. Vizualne gradnike premikamo po metodi »primi in spusti« in jim določamo pripadajoče lastnosti. Programski gradniki jezika predstavljajo akcije, ki se izvajajo. Akcije se izvajajo od začetnega gradnika (označen s krogcem) in se nadaljujejo na naslednjem gradniku, kamor kaže puščica. Gradniki lahko vsebujejo tudi lokalne in globalne spremenljivke, ki so namenjene za hranjenje trenutne vrednosti. Ker lahko ob velikem številu gradnikov vizualno programiranje postane neobvladljivo, modelirni jezik omogoča tudi vgnezdene modele (angl. custom blocks), s pomočjo katerih lahko združimo gradnike v celoto in se nanje sklicujemo v preostalem delu programa. Na sliki 2 je prikazano razvojno orodje. Na levi strani slike vidimo gradnike domenskega jezika. Na sredini je delovna površina, kjer končni uporabniki programirajo proces. Na desni strani zaslona pa najdemo lastnosti, ki jih lahko uporabnik izbira za izbrani gradnik iz generiranega modela. Motivacija in zahteve Motivacija za nov jezik RT-Sekvencer je bila izdelava programov, ki tečejo na realnočasovnih sistemih. Glede na zahteve odziva lahko realnočasovne sisteme delimo na mehke (angl. soft real time systems) in trde (angl. hard real time systems). Prvi so tisti, katerih odzivnost v nekem določenem času ni tako pomembna in ne bo kritično vplivala na delovanje sistema. Med te sisteme štejemo obstoječe orodje Sekvencer. V drugo skupino štejemo trde krmilnike v realnem času (angl. hard real time controllers, hard RTC). Pri teh je odzivnost ključnega pomena in lahko neodzivnost v določenem času povzroči kritično napako (npr. lahko povzroči poškodbe, izgubo življenj, znatno finančno izgubo itd.). Bistvene značilnosti takih sistemov so zajamčeni in predvidljivi odzivni časi, izjemna zanesljivost in varnost, nizek reakcijski čas, frekvenca zanke stabilnosti. Ker se v nekaterih primerih Dewesoft uporablja za kritične aplikacije, je ključnega pomena, da je RT-Sekvencer zasnovan kot trdi realnočasovni sistem. Bistveni motiv pri izgradnji orodja je bil tudi povezava dveh vrst sistemov uporabe. Na eni strani so to sistemi za zajem podatkov (angl. Data Acquisition, DAQ). Ti sistemi omogočajo hitrejši zajem podatkov, časovno usklajenost in običajno boljšo natančnost vhodnih podatkov. Na drugi strani pa so to realnočasovni sistemi, ki temeljijo na čim manjši latenci povratne zanke. V našem primeru bi želeli imeti sistem z večjo vzorčevalno frekvenco (npr. 1 MHz) in manjšim reakcijskim časom (npr. 1 kHz), kar v praksi pomeni, da bi v kontrolnem ciklu zajeli več podatkov hkrati (npr. 1000 podatkov na sekundo). Ob upoštevanju zgornjih dejstev smo pri izgradnji DSML-ja za kreiranje realnočasovnih postopkov podali naslednje zahteve: ● kreiranje programov mora biti čim bolj preprosto, ● kompleksnost programov mora biti čim manjša, ● povečati se mora kvaliteta programov, ● enostavnejša detekcija napak programov, ● produktivnost programiranja se mora izboljšati v primerjavi s PLC-programiranjem, ● za kreiranje merilnega postopka ni potrebno imeti programerskega znanja iz GPL-jev, ● programiranje se prestavi pod okrilje domenskih strokovnjakov. 4 Prototip jezika RT-Sekvencer Jezik RT-Sekvencer je bil primarno razvit z namenom programiranja realnočasovnih sistemov. S tem namenom je bilo zasnovano celotno orodje in vsa pripadajoča infrastruktura, ki jo bomo spoznali v nadaljevanju. 4.1 Modelirni jezik Modelirni jezik je bil načrtovan na osnovi predhodnega jezika Sekvencer, kjer se je naredila analiza domene. Slika 2: Razvojno okolje za Sekvencer 322 Slika 3: Metamodel jezika RT-Sekvencer Koncepti in terminologija jezika so bili opredeljeni na podlagi izkušenj in potreb uporabnikov z različnih področij uporabe. Ker se bo jezik uporabljal tudi za modeliranje realnočasovnih programov, smo morali dodati tudi nove konstrukte. Jezik smo zasnovali tako, da lahko konstrukte dodajamo poljubno na enostaven način. Uporabnik jezika ima možnost programirati s predpripravljenimi konstrukti. Poleg že omenjenih lastnosti je bil jezik nadgrajen tudi z lastnostjo dodajanja lastnih konstruktov, ki se načrtujejo in logično programirajo znotraj jezika C++ (za napredne uporabnike). S tem konceptom smo lahko dosegli odprtost, generalizacijo in lahko nadgradljivost glede na potrebe domene. Pri realnočasovnih procesih se je pokazala potreba po večprocesnem in večnitnem programiranju. V jezik je dodan mehanizem za kreiranje in kasneje izvajanje več procesov, ki pa so lahko različnega tipa: ● glavni proces, ki se začne ob zagonu programa, ● periodični proces, ki se začne izvajati ob določeni časovni periodi, ● sproženi proces, ki se začne izvajati ob določenem zunanjem dogodku. Poleg novih procesov so bili dodani tudi konstrukti za večnitno programiranje znotraj procesa. V osnovi so DSML-jeziki razviti na osnovi metamodela, ki predstavlja abstraktno notacijo jezika. Pri definiciji jezika smo definirali metamodel z razrednim diagramom UML, kot je prikazano na sliki 3. Definirali smo razrede, atribute in povezave med njimi. Za boljšo predstavo metamodela na sliki 3 smo odstranili atribute razredov in zapisali samo osnovne razrede (npr. iz razreda SeqVariable so izpeljani različni tipi spremenljivk, kot je SeqStringVariable). Diagram je razdeljen na dva dela. Na desni strani diagrama jezika (razredi, obarvani s sivo barvo) je metamodel programa. Ta del je na eni strani definiran hierarhično glede na zasnovo programa in arhitekture krmilnika. Po drugi strani pa je v tem zapisu definirana logika programa. Struktura je definirana in zasnovana tako, da je osnovni razred Sequence. Ta razred ima lahko različne vire 323 (razred Resource), ki predstavljajo dejanski krmilnik oz. procesno enoto izvajanja programa. Znotraj vira so definirana različna opravila (razred Task). Opravilo je enota, ki vsebuje informacije o tem, kako in kdaj se neki program izvede. Nato hierarhično sledi logika opravila (razred MainProgram), ki je izpeljana iz razreda SeqModela in se nanaša na pravila, ki so zapisana v njegovem metamodelu (razred SeqBaseModel). Na levi strani slike 3 razredi, obarvani z oranžno barvo, predstavljajo konstrukte in pripadajoče razrede, ki omogočajo poljubno definicijo modelirnih blokov. Predstavljajo sintakso našega programa, napisanega na desni strani diagrama. Osnovni razred je SeqMetaObject, iz katerega sta izpeljana razreda SeqMetaBlock in SeqMetaBaseModel. Prvi predstavlja konstrukt, s pomočjo katerega se lahko modelira program. Drugi pa predstavlja skupek konstruktov, ki se lahko znotraj modela izvajajo (razred SeqObject). Ti konstrukti se lahko izvajajo sinhrono (razred SeqMetaModel) in asinhrono s pomočjo nitenja (razred SeqMetaAsyncModel). Vsak razred SeqMetaObject vsebuje različne skupine vizualnih blokov (razred SeqVisualPropertyGroup in SeqVisualProperty) in so lahko različnih podatkovnih tipov (razred SeqVariable). Ti podatkovni tipi so lahko vhodne, izhodne in konstantne spremenljivke. Vizualna notacija jezika in konstruktov je določena s pomočjo likov (razred SeqVisualShape) in povezav (razred SeqVisualConnection). Vsaka oblika je določena in sestavljena iz različne barve, velikosti in oblike, medtem ko je povezava fiksno določena in ima obliko črte s puščico. Vsaka oblika pripada točno enemu konstruktu (razred SeqMetaObject). Vsak konstrukt predstavlja akcijo, ki se bo sekvenčno izvedla. Kot je razvidno iz metamodela, ima lahko vsak konstrukt N vhodnih in M izhodnih povezav. 4.2 Modelirno okolje Modelirno okolje vključuje štiri osnovne funkcionalnosti orodja, ki so nujne za kasnejše generiranje končnega programa: Slika 4: Modelirno orodje ● ● ● ● konfigurator sistema, izdelava uporabniških blokov, modelirno orodje in procesiranje/vizualizacija. Prvi del okolja predstavlja konfigurator sistema, kjer vizualno nastavimo posamezne komponente sistema. Znotraj tega orodja nastavimo senzoriko (npr. tip meritve, skalirne faktorje), določijo se opravila, ki jih naknadno modeliramo, kreiramo uporabljene spremenljivke in splošne nastavitve samih krmilnikov. Pri kreiranju novih blokov si pomagamo z orodjem za izdelavo uporabniških blokov. Znotraj orodja lahko uporabnik spreminja izvajalno kodo ali njene lastnosti. Orodje je razdeljeno na 4 skupine, ki se med seboj povezujejo. V prvi skupini lahko spreminjamo osnovne lastnosti, kot so ime, avtor, datum, verzija, in določimo, koliko vhodnih in izhodnih povezav ima posamezen blok. V drugi skupini vizualno načrtujemo blok in določimo njegovo obliko. Tretja skupina so lastnosti povezav, kjer lahko določimo, katere lastnosti posamezen blok vsebuje. Kreirane lastnosti lahko kasneje spremenimo med programiranjem. Ti parametri bodo vplivali na delovanje samega bloka in tudi programa v celoti. Četrta in zadnja skupina je sama logika izvajanja bloka ali njegova izvajalna koda. To orodje je namenjeno uporabnikom, ki jim programiranje v programskem jeziku C++ ne dela preglavic. Modelirno orodje je namenjeno kreiranju samega programa. Kot je prikazano na sliki 4, uporabnik s predpripravljenimi bloki (leva stran) kreira postopek delovanja programa. Na sredini je delovna površina, kamor polagamo bloke in gradimo program. V primerjavi s prejšnjo različico so bile dodane tudi osnovne modelirne akcije (povečaj/pomanjšaj, kopiraj, prilepi itd.). Pri vsakem bloku lahko na desni strani orodja spremenimo njegove lastnosti. Ko je program zgrajen, se lahko znotraj orodja prevede v izvajalno kodo, ki se kasneje prenese na realnočasovni sistem. V zgrajenem programu orodje omogoča tudi procesiranje in vizualizacijo statusnih kanalov, ki se pojavljajo znotraj realnočasovnega sistema. Ti statusi so lahko spremenljivke, ki se definirajo znotraj orodja, ali 324 predpripravljeni statusi, ki sporočajo pravilno delovanje sistema (uporaba procesorja, pomnilnika, časovna izmera trajanja izvajalnega cikla, trenutno izvajalni blok itd.). 5 Zaključek Zaradi želje po novih funkcionalnostih je programska oprema podvržena nenehnim spremembam. Enako velja tudi za domensko specifične jezike. V članku je opisan motiv za razvoj prototipa novega programskega jezika, imenovanega RT-Sekvencer. Obstoječi programski jezik Sekvencer smo nadgradili s podporo za realnočasovne sisteme in ga tako približali domenskim strokovnjakom. Poleg motivacije za razvoj so izpostavljene še njegove prednosti, kot so programiranje krmilne zanke, uporaba naprednih funkcij produkta Dewesoft in povezovanje dveh področij: DAQ in RTC-jev. Prav tako so predstavljeni arhitektura, načrtovanje in razvoj modelirnega jezika in okolja. Literatura [1] M. Mernik, J. Heering, A. Sloane: When and How to Develop Domain-Specific Languages. ACM Computing Surveys 2005, 37, 316–344, 2005. [2] A. de la Vega, D. García-Saiz, M. Zorrilla, P. Sánchez: Lavoisier: A DSL for increasing the level of abstraction of data selection and formatting in data mining. Journal of Computer Languages, 60, 100987, 2020. [3] T. Kosar, P.E. Martínez López, P.A. Barrientos, M. Mernik: A preliminary study on various implementation approaches of domain-specific language. Information and Software Technology, 50, 390 – 405, 2008. [4] T. Kosar, M. Mernik, J. Carver: Program comprehension of domain-specific and general-purpose languages: Comparison using a family of experiments. Empirical Software Engineering, 17, 276–304, 2012. [5] T. Kos, T. Kosar, M. Mernik: Development of data acquisition systems by using a domain-specific modeling language. Computers in industry, 63(3), 181-192, 2012. [6] T. Kos, T. Kosar, M. Mernik: A tool support for modeldriven development: An industrial case study from a measurement domain. Applied Sciences, 9(21), 4553, 2019. [7] Dewesoft IOLITE LX, https://dewesoft.com/products/daq-and-control-systems/iolitelx Programerske veščine v razkoraku med razvojem stroke in trenutnim stanjem na trgu dela Tjaša Jelovšek1, Marko Bajec1, Andreja Lampe2, Wanda Saabeel3, Clare Thornley4, Vlado Stankovski1 1 Fakulteta za računalništvo in informatiko, Univerza v Ljubljani 2 Gospodarska zbornica Slovenije 3 Promanad 4 Clarity Research E-pošta: vlado.stankovski@fri.uni-lj.si Abstract. The European Software Skills Alliance (ESSA) is a just started four-year EU funded project in which the Faculty of Computer and Information Science at the University of Ljubljana participates. The project focuses on filling the gap between supply and demand of software skills in the software engineering industry. Several steps have already been taken. In addition to literature review from several databases, a supply and demand study have been carried out. A questionnaire on skills and roles in the Information and communications technology sector and other organizations which require software skills, in which 301 organizations participated, has shown that there is a great demand on different software roles, especially the role of developers. 75% of all organizations stated that personnel needs to be further trained, mostly due to constant changes and development in the sector. Additionally, the questionnaire also showed that for most organizations, hiring people with the right skills is equally acceptable as training their own personnel, except for the developer role for which they prefer someone with the right set of skills. There is also a high demand for soft skills, such as communication and teamwork skills, and technical skills, such as project management, security management etc. 1 Uvod V zadnjih letih opazujemo hiter napredek tehnologije in digitalizacije, in s tem posledično porast potreb po programerskih veščinah v industriji in na trgu dela, obenem pa manko kadrov s temi veščinami. To vprašanje naslavlja tudi zveza ESSA (The European Software Skills Alliance), ki se osredotoča na detektiranje in zapolnitev vrzeli med potrebami trga ter znanjem in veščinami kadrov, ki jih sproducirajo izobraževalne institucije, tako trenutno kot tudi v prihodnosti. S tem želi ESSA zagotoviti stalni razvoj, inovacije in konkurenčnost v industriji na ravni Evropske unije. V okviru štiriletnega projekta, ki se je začel leta 2020, se bo razvila evropska strategija za zapolnitev vrzeli, povezane s programerskimi veščinami, ter za razvoj učnih načrtov in programov za poklicno izobraževanje in usposabljanje. V tem članku predstavimo rezultate, ki so bili do sedaj pridobljeni v okviru projekta ESSA. Osredotočimo se na rezultate ERK'2021, Portorož, 325-328 325 analize trenutnega stanja na trgu dela in potreb, ki se kažejo in jih izpostavljajo delodajalci. V nadaljevanju sledi predstavitev metod dela in Evropskega e-kompetenčnega okvira ter delovnih profilov s področja informacijsko-komunikacijskih tehnologij (IKT), v poglavju 4 pa sledi pregled literature, ki obravnava tematiko razkoraka med ponudbo in povpraševanjem na trgu dela ter se osredotoča na veščine, po katerih se kaže potreba, torej veščine, ki naj bi jih kadri s področja informacijskih tehnologij imeli sedaj in/ali v prihodnje. V poglavju 5 je predstavljen vprašalnik, nato pa sledi še razprava z rezultati. 2 Metode dela Za ugotavljanje potreb v sektorju programerskih veščin študijo razdelimo na tri ključne dele: pregled obstoječe literature, analiza povpraševanja ter analiza ponudbe na trgu dela (Slika 1). Analiza povpraševanja vključuje analizo prostih delovnih mest, izvedbo fokusne ekspertne skupine ter izvedba ankete o potrebi po specifičnih mestih in veščinah v organizacijah, trenutno in v naslednjih petih letih. Analiza ponudbe na trgu dela vključuje analizo obstoječih programov za usposabljanje na tem področju. V nadaljevanju se osredotočamo na izvedbo ankete in dobljene rezultate. Slika 1. Prikaz trenutne metodologije delovanja 3 Evropski e-Kompetenčni okvir in profili mest iz sektorja IKT Analiza veščin se osredotoča na trenutne potrebe in potrebe v prihodnosti ter veščine, ki so trenutno na voljo. Pri tem je glavno vodilo evropski e-kompetenčni okvir (ang. e-Competence Framework, v nadaljevanju eCF) [2] in profili mest v sektorju IKT, kot jih je opredelil Evropski komite za standardizacijo, v okviru česar je opredeljenih 30 vlog [3]. V okviru e-CF je opredeljenih 41 kompetenc [2] , ki so uporabne na delovnih mestih s področja informacijskih in komunikacijskih tehnologij. Poenoteno je poimenovanje za kompetence, veščine, znanja in nivo znanja, ki se ga razume po celotni Evropi. Evropski e-kompetenčni okvir je ustvarjen z namenom, da ugodi potrebam posameznikov, podjetij in drugih organizacij v zasebnem in javnem sektorju in nudi jasne definicije in usmeritve v podporo pri odločanju v povezavi z izbiro kandidatov in pri usposabljanju, kvalifikaciji in ocenjevanju strokovnjakov s področja informacijskih in komunikacijskih tehnologij. Omogoča prepoznavo veščin in kompetenc, ki so lahko nujne za uspešno opravljanje dela in izpolnjevanje obveznosti na tovrstnih pozicijah. Med pomembnejšimi koncepti, ki jih uvaja e-CF in na katere se osredotoča raziskava, so na primer znanja, veščine, vedenje, vloge in funkcije, opredelitev izobraževanja in podobno. 4 Pregled literature V tem poglavju izpostavimo ključne ugotovitve pregleda literature, ki je zajemala prispevke iz naslednjih podatkovnih baz: Scopus, ACM, IEEE, Arvix in AIS Library. Ključne besede, uporabljene pri iskanju, so bile: software engineering, software skills, skills, competence, knowledge, software education, programming, DevOps, computational thinking, logic. Pregledanih je bilo skupno 43 člankov, od tega je bilo za analizo izbranih 20. Pregled literature izpostavlja več novih veščin in znanj, povezanih z oblikovanjem, razvojem in potencialno rabo programske opreme, vendar pa je treba poudariti, da ne gre nujno za popolnoma nove veščine, pač pa so to mnoge od teh razvite iz že obstoječih veščin ali pa so odvisne od temeljnih veščin razvijanja programske opreme. Poudarjeno je tudi, da mora izobraževanje razvijalcev programske opreme študente pripraviti, da kljub hitrim spremembam ostanejo aktualni [4]. Vedno bolj pomembne so tudi veščine obdelovanja podatkov [1]. Pod pojmom umetna inteligenca (UI) se mnogokrat skriva programska oprema za napredno analizo podatkov, vedno pomembnejše področje pa bo tudi naprednejša UI, ki vključuje nevronske mreže in uporabo UI za kreativnost, čeprav je to področje še vedno podprto s 326 tradicionalnimi programerskimi veščinami [9]. Kot pomembne se omenja se tudi veščine simulacije in modeliranja [11], kar vključuje zmožnost programske opreme, da med drugim deluje na zaupanja vreden, zanesljiv, varen, demokratičen, nediskriminatoren način in ohranja zasebnost in človekove pravice, in katerih temelj so prav tako tradicionalne programerske veščine. Porast vgrajene programske opreme, na primer internet stvari ali Industrija 4.0 [16], briše tradicionalno mejo med strojno in programsko opremo, zato je posledično potreben širši nabor veščin. Na pomembnosti pridobivajo tudi veščine virtualne realnosti [14] in pa personalizirana in kreativna programska oprema za dizajn in kreativno industrijo [8]. V literaturi so pogosto omenjene tudi mehke veščine – glavnina avtorjev izbranih člankov jih vsaj omeni, vendar večinoma ne specificirajo, kaj točno te sposobnosti lahko pomenijo za razvijalce programske opreme. V grobem so te veščine vse bolj potrebne za nemoteno sodelovanje v kompleksnih skupinah, ki razvijajo programsko opremo, in za razumevanje širšega organizacijskega konteksta, v katerem se bo programska oprema uporabljala. Izpostavljeno je tudi, da razvoj programske opreme na večini delovnih mest postaja vse bolj globalen in da bodo zaposleni potrebovali mehke veščine za delo v raznolikih ekipah, kjer sodelujejo posamezniki iz različnih kulturnih okoliščin [4]. O poklicnih veščinah se običajno razpravlja v kontekstu komunikacije in vedenjskih veščin. Vloga poklicne etike je zelo redko omenjena, o čemer se razpravlja v nedavnem prispevku, ki kritizira domneve glede izobraževanja za razvijalce programske opreme, ki je relevantno za potrebe industrije [13]. To je presenetljivo, saj nedavne smernice učnih načrtov ACM [5] nudijo obsežno gradivo o vključevanju poklicne etike v računalniško izobraževanje, vključno z razvojem programske opreme. Kljub temu se zdi, da to ni neposredno prevedeno v učno prakso. Morda je zajeto v sorodnih temah, kot sta umetna inteligenca in masovni podatki (ang. big data), ki imajo jasne in javno priznane etične vidike, vendar pa bi bilo treba to področje raziskati pri analizi veščin, ki jih (bodoči) delavci dobijo tekom izobraževanja. Pri analizi »povpraševanja« po programskih veščinah na trgu dela bi torej morali obravnavati nekatera širša vprašanja kot pa le potrebe delodajalcev. V enem od prispevkov je obravnavan pomen poučevanja procesa razvoja programske opreme skozi strukturiran računalniški miselni proces. S tem bi se izognili znanemu problemu, t. i. »slabim navadam« študentov – neprilagojenim praksam, ki se jih študentje pogosto navadijo, ko se učijo razvijati programsko opremo, nato pa te običajno prenesejo naprej tekom svoje kariere [8]. Sklepamo lahko, da se podatki, razvoj programske opreme, poslovne veščine, statistična znanja vse bolj razumejo kot integralni del procesa dela in da bi bilo smotrno, da se te ugotovitve odražajo tudi v procesu izobraževanja. 5 Vprašalnik Kot omenjeno v poglavju 2 je bila ena od metod pridobivanja podatkov o povpraševanju in potrebah na trgu dela tudi anketa. Na ravni Evropske unije je sodelovalo 301 podjetje iz 21 držav. Vprašalnik je bil na voljo za izpolnjevanje od 24. maja do 20. junija 2021 in je bil napisan v angleškem jeziku. Večina sodelujočih podjetij deluje na področju informacijskih tehnologij, poleg tega pa so sodelovala tudi podjetja, ki delujejo na drugih področjih (med drugim s področja financ, zavarovanja, nepremičnin, proizvodnje itd.), vendar programerske večine predstavljajo pomemben del njihovega delovanja. Vprašalnik je bil sestavljen iz štirih odsekov, in sicer i) o podjetju oziroma organizaciji, ii) programerske vloge, iii) programerske veščine in iv) usposabljanje. V prvem odseku so bila postavljena splošna vprašanja o organizaciji – o državi delovanja, velikosti in številu zaposlenih (vprašani je imel možnost izbire med naslednjimi velikostmi podjetij: veliko (več kot 250 zaposlenih), srednje (manj kot 250 in več kot 50), majhno (manj kot 50 in več kot 10), in mikro (manj kot 10 zaposlenih)), in sektorju, ki vpliva na potrebe po programerskih vlogah, veščinah in usposabljanju znotraj organizacije. Drugi del vprašalnika je obsegal vprašanja o programerskih vlogah. Podjetja so ocenjevala potrebo po petih izbranih profilih, in sicer: razvijalci, preizkuševalci, načrtovalci rešitev, specialisti DevOps, specialisti za digitalne medije in tehnični specialisti. Pri vsaki vlogi je imelo podjetje možnost izbire med tremi odgovori, in sicer i) ni potrebe po dodatnem kadru, ii) trenutno obstaja potreba po dodatnem kadru in iii) v prihodnjih petih letih bo obstajala potreba po dodatnem kadru. Poleg tega so lahko tudi sama dodala vloge, pri katerih je potreba po programerskih veščinah. V tretjem delu, ki se je nanašal na kompetence in veščine, potrebne pri opravljanju dela, so bile te razdeljene na tehnične in mehke veščine ter veščine, ki so povezane s poklicem, pri čemer so tehnične veščine neposredno vezane na produkcijo in vzdrževanje programske opreme, poklicne veščine so širše veščine, ki so potrebne pri programerskih vlogah in so tudi širše veščine za poklic znotraj informacijskih in komunikacijskih tehnologij, na primer upravljanje varnosti ali vodenje projektov. Mehke veščine so tiste veščine, ki so relevantne pri programerskih vlogah, pa tudi na mnogih drugih delovnih mestih, na primer sposobnost komunikacije in ekipnega dela. V vsakem od teh treh sklopov so vprašani ocenjevali potrebo po posamezni veščini, in sicer i) ni potrebe, ii) nekolikšna potreba, iii) znatna potreba, iv) velika potreba. V sklopu tehničnih veščin se je ocenjevalo programske, testne, algoritemske, oblikovalske veščine ter veščine DevOps; v sklopu mehkih veščin odgovornost, vodenje, samostojnost, neodvisnost, etično vedenje, kreativnost, reševanje problemov, kritično mišljenje, sposobnost timskega dela in komunikacija; v sklopu veščin, vezanih na poklic, pa trajnostno upravljanje, upravljanje z zahtevami, 327 identifikacija potreb, upravljanje varnosti, veščine s področja umetne inteligence oziroma strojnega učenja, podatkovna znanost, odpravljanje težav, izdelava dokumentov, integracija komponent, upravljanje projektov, življenjski cikel programske opreme, operacijski sistemi, upravljanje testiranja, osnove omrežij. Zaključni del vprašalnika se nanaša na usposabljanje, ki je potrebno, da se zapolni vrzel med potrebnimi in obstoječimi veščinami kadrov. Vprašanja so se nanašala na razloge za usposabljanje kadrov za programerske vloge, o strategijah in metodah usposabljanja, o pomembnosti kvalificiranosti in podobno. 6 Razprava V anketi je sodelovalo 301 podjetij, od tega največ velikih (več kot 250 zaposlenih; 45 %). Skoraj 60 % sodelujočih je odgovorilo, da trenutno iščejo dodatne razvijalce. Poleg tega približno 40 % podjetij išče tudi specialiste DevOps, preizkuševalce, tehnične specialiste in načrtovalce rešitev, medtem ko mesto digitalnega specialista precej zaostaja, saj je nekaj manj ko 60 % podjetij označilo, da ni potrebe po dodatnem kadru s tega področja. Pomembno vprašanje je tudi, ali podjetja iščejo kadre, ki so že primerno izobraženi, oziroma želijo delavce usposobiti sami. Rezultati so pokazali, da je usposabljanje lastnega osebja večinoma enakovredno zaposlovanju delavcev s primernimi znanji in veščinami, izstopa pa mesto razvijalca, kjer prevladuje želja po zaposlovanju kadrov z želenimi znanji. Iz odgovora na vprašanja o želenih veščinah je razvidno, da obstaja znatna potreba po programerskih in algoritemskih veščinah, nekoliko manjša, a vendarle precejšnja je tudi potreba po veščinah DevOps in testnih veščinah, medtem ko ni pretirane potrebe po oblikovalskih veščinah, kot so denimo oblikovanje spletnih strani ali uporabniških vmesnikov aplikacij. Od veščin, povezanih s poklicem, izstopajo upravljanje varnosti, vodenje projektov, razvoj programske opreme, veščine, ki zadevajo življenjski cikel razvoja programske opreme, veščine podatkovnih znanosti ter analitične veščine, vendar pa moramo poudariti, da je zahteva po tovrstnih veščinah v splošnem precej manjša od veščin iz drugih dveh sklopov veščin (torej mehkih in tehničnih) in je med različnimi veščinami manj razlik, prav tako pa nobena od teh veščin ni opredeljena kot znatno potrebna. Na drugi strani pa je znatna potreba po vseh mehkih veščinah. Od teh izstopajo možnost reševanja problemov in kritično mišljenje. Mnogi med pomembne mehke veščine uvrščajo tudi samostojnost, pa tudi sposobnost sodelovanja, timskega dela in komunikacije. Četrti del vprašalnika se je nanašal na dodatno usposabljanje kadra. 75 % vprašanih je odgovorilo, da je treba osebje na programerskih pozicijah dodatno usposabljati. Pri izbiri razlogov za to je bilo možnih več odgovorov. Nekaj manj kot 80 % vprašanih je kot razlog izbralo nove (tehnološke) napredke, ki zahtevajo novo znanje, medtem ko so drugi večji razlog (slabih 50 %) za potrebo po dodatnem usposabljanju kadrov novi poslovni procesi, ki prav tako zahtevajo nova znanja. Sledijo še menjava infrastrukture v organizaciji (40 %), manko primernih veščin ob pričetku dela (cca. 35 %). Slabih 25 % vprašanih je kot razlog izbralo to, da stranke želijo specifične veščine. 7 Zaključek Po pregledu literature in dosedanjih fazah projekta ugotovimo, da obstaja vrzel med povpraševanjem na trgu dela in kadrom, ki se izobrazi tekom študija. V skladu s tehnološkim napredkom, digitalizacijo in potrebami družbe je pričakovano, da se potreba po programerskih veščinah viša, zato je bistveno, da se te potrebe primerno identificira in se jim ugodi pravočasno, torej že med tekom izobraževanja novih kadrov. Projekt ESSA stremi k temu, da zapolni vrzeli med ponudbo in povpraševanjem na trgu dela, ki že obstajajo in ki se bodo z vedno večjim razmahom tehnologije in digitalizacijo še stopnjevale ali na celo novo pojavile. To bo doseženo z identifikacijo programerskih veščin in kadrov, ki jih primanjkuje glede na analizo potreb na trgu dela, in s programi izobraževanja in usposabljanja na tem področju. Nadaljnji koraki projekta so bistveni za zagotavljanje primernih učnih načrtov v izobraževalnih institucijah in programih, ki jih nudijo ustanove za poklicno izobraževanje in usposabljanje. Zahvala Raziskava je bila finančno podprta s sredstvi projekta Evropske unije ESSA na podlagi sporazuma št. 621751EPP-1-2020-1-BE-EPPKA2-SSA-B (ESSA projekt: European Software Skills Alliance). Literatura [1] Beckett, R., & Daberkow, T. (2019). Work 4.0 and the Identification of Complex Competence Sets. MWAIS 2019 Proceedings, 0–6. https://aisel.aisnet.org/mwais2019/33/ [2] CEN. (2019). I.S. EN 16234-1:2019 e-Competence Framework (e-CF) - - A common European Framework for ICT Professionals in all sectors - Part 1: Framework. https://www.ecompetences.eu/e-cf-overview/ [3] CEN - European Committee for Standardization (2018). European ICT professionals role profiles - Part 1: 30 ICT profiles. Brussels: CEN-CENELEC. CEN Workshop Agreement - CWA 16458-1:2018 (E). https://www.ecompetences.eu/ [4] Cico, O., Jaccheri, L., Nguyen-Duc, A., & Zhang, H. (2021). Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends. Journal of Systems and Software, 172, 110736. https://doi.org/10.1016/j.jss.2020.110736 328 [5] Clear, A., Parrish, A. S., Impagliazzo, J., & Zhang, M. (2019). Computing Curricula 2020. https://doi.org/10.1145/3287324.3287517 [6] Engelbrecht, L., Landes, D., & Sedelmaier, Y. (2018). A didactical concept for supporting reflection in software engineering education. IEEE Global Engineering Education Conference (EDUCON). [7] Günay, C., Doloc-Mihu, A., Barakat, R., Gluick, T., & Moore, C. . (2018). Improving Critical Thinking in Software Development via Interdisciplinary Projects at a Most Diverse College. SIGITE 2020 - Proceedings of the 21st Annual Conference on Information Technology Education. [8] Higgins, C., Dublin, T. U., Ie Ciaran, C. H., Leary, O. ’, Hanratty, O., Mtenzi, F., O’leary, C., & Mcavinia, C. (2017). A Conceptual Framework for a Software Development Process A Conceptual Framework for a Software Development Process based on Computational Thinking based on Computational Thinking A CONCEPTUAL FRAMEWORK FOR A SOFTWARE DEVELOPMENT PROCESS BASED ON COMPUTATIONAL THINKING. 978–984. https://doi.org/10.21125/inted.2017.024 [9] Hoover, A. K., Adam Spryszynski, and Michael Halper. 2019. Deep Learning in the IT Curriculum. In Proceedings of the 20th Annual SIG Conference on Information Technology Education (SIGITE '19). Association for Computing Machinery, New York, NY, USA, 49–54. DOI:https://doi.org/10.1145/3349266.3351406 [10] Jacobs, J., Brandt, J., Mech, R., & Resnick, M. (2018). Extending Manual Drawing Practices with Artist-Centric Programming Tools. Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. https://doi.org/10.1145/3173574.3174164 [11] Leathrum, J. F., Sokolowski, J. A., Shen, Y., & Audette, M. (2019). Software Skills Required by M&s Graduates for Des Development. Proceedings of the Winter Simulation Conference, 3285–3294. [12] Reinhart, A., & Genovese, C. R. (2020). Expanding the scope of statistical computing: Training statisticians to be software engineers. [13] Ryan, K. (2020). We should teach our students what industry doesn’t want. Proceedings - International Conference on Software Engineering, 103–106. https://doi.org/10.1145/3377814.3381719 [14] Shaba, E., Guerci, M., Gilardi, S., & Bartezzaghi, E. (2019). Industry 4.0 technologies and organizational design - Evidence from 15 Italian cases. Studi Organizzativi, 1, 9–37. https://doi.org/10.3280/so2019001001 [15] Stanton, W. W., & Stanton, A. D. A. (2020). Helping Business Students Acquire the Skills Needed for a Career in Analytics: A Comprehensive Industry Assessment of Entry-Level Requirements. Decision Sciences Journal of Innovative Education, 18(1), 138–165. https://doi.org/10.1111/dsji.12199 [16] Zabavnik, J., Riel, A., Marguč, M., & Rodič, M. (2019, July 3). Knowledge and skills requirements for the software design and testing of automotive applications. SAAEI . https://hal.archivesouvertes.fr/hal-02335566 Pregled 2D verižnih kod Borut Žalik, Damjan Strnad, Krista Rizman Žalik, Andrej Nerat, Niko Lukač, Bogdan Lipuš, David Podgorelec Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko E-pošta: borut.zalik@um.si On 2D Chain Codes The Freeman chain code in eight directions is the oldest, the best known, and the most frequently used 2D chain code. However, there exist other chain codes, which are, together with their features, surveyed briefly in this paper. Beside Freeman chain code in eight directions, also Freeman chain code in four directions, derivations of Freeman’s chain codes, Vertex Chain Code, ThreeOrThogonal Chain Code, Unsigned Manhattan Chain Code, and Mid-Crack Chain Code are presented and their features are exposed. 1 Uvod 2 2.1 Predstavitev 2D verižnih kod 8-smerna Freemanova verižna koda 3 329 2 4 (a) 5 Od uvedbe rastrskih naprav je primerna predstavitev geometrijskih objektov v rastrskem prostoru še kako pomembna. V mnogih primerih je dovolj, če opišemo samo mejo objekta, za kar lahko uporabimo koordinate mejnih pikslov ali, kar je učinkoviteje, zaporedje preprostih ukazov, ki nam povedo, kako se od podanega izhodiščnega piksla premikati po obodu objekta. Temu zaporedju ukazov pravimo verižna koda (angl. chain code). Verižne kode uporabljamo v raznih aplikacijah od razpoznavanja objektov [1] do stiskanja podatkov [2]. Človek ne vidi in ne pomni vzorcev fotonov na mrežnici, ki jih modelira tradicionalna rastrska slika, ampak so možgani sposobni v delčku sekunde segmentirati videno (sliko) v semantične komponente in jih povezati s predhodnimi zaznavami objektov. Zato je pogosto smiselno tudi rastrsko sliko predstaviti v segmentirani obliki, pri čemer lahko posamezne segmente učinkovito predstavimo z verižno kodo, morebitne barvne informacije pa shranjujemo ločeno za vsak segment. Verižne kode že same po sebi kompaktno predstavljajo rastrske objekte, saj potrebujejo do 3 bite na piksel, kar je občutno manj kot zapis piksla s koordinatami. Kljub temu pa verižne kode pogosto še dodatno stiskamo, pri čemer največkrat uporabljamo prilagoditve poznanih metod stiskanja. Statistično (Huffmanovo ali aritmetično) kodiranje je logična izbira, kadar so simboli abecede verižne kode izrazito neenakomerno porazdeljeni. Nadaljnje izboljšave rabe statističnih metod so bile dosežene z vpeljavo posebnih kod za pogoste pare simbolov [3, 4] ali z rabo več statističnih modelov v t.i. kontekstnih pristopih [5]. Predlagane so bile tudi nestatistične metode stiskanja, temelječe na transformacijah nizov [2, 6]. Stiskanje ERK'2021, Portorož, 329-332 verižnih kod je običajno brezizgubno, poznamo pa tudi pristope z nadzorovanimi izgubami [4]. V tem prispevku bomo najpogostejše verižne kode jedrnato opisali in jih podkrepili s primeri. 1 1 2 0 6 7 (b) 0 3 Slika 1: Ukazi verižnih kod F8 in F4 8-smerna Freemanova verižna koda (angl. Freeman chain code in eight directions – F8) je najstarejša verižna koda [7]. Iz referenčnega robnega piksla se lahko premaknemo v enega izmed osmih sosednjih pikslov. Abeceda kode ima 8 simbolov: Σ(F 8) = {0, 1, 2, 3, 4, 5, 6, 7} (slika 1a). Postopek tvorbe verižne kode F8 je sestavljen iz naslednjih korakov: izberemo začetni robni piksel in shranimo njegovi koordinati (x, y). Odločimo se za smer potovanja po robnih pikslih (sourna ali protiurna), nato pa skonstruiramo kodo tako, da poiščemo sosednji robni piksel in zapišemo Freemanovo kodo premika. Kodi, ki se premika skozi središča pikslov, pravimo središčna koda. Lastnosti verižne kode F8 so: • položaj objekta je odvisen le od koordinat začetne točke verižne kode (ta lastnost je dejansko skupna vsem verižnim kodam), • povečevanje objekta za faktor s, s ∈ N, izvedemo tako, da vsak simbol F8 shranimo s-krat. • zaporedje enakih vrednosti predstavlja zaporedje pikslov, ki si sledijo v ravni črti (vodoravni, navpični ali pod kotom ±45o ), • če vsakemu simbolu F8 v zaporedju prištejemo vrednost naravnega števila n po modulu 8, objekt zavrtimo za n × 45o v smeri, nasprotni urinemu kazalcu, in obratno, če vrednosti odštejemo, objekt zavrtimo v sourni smeri. 2.2 4-smerna Freemanova verižna koda 4-smerna Freemanova verižna koda (angl. Freeman chain code in four directions – F4) dovoli premik iz trenutnega piksla v sosednje piksle samo preko skupnih robov. Abeceda kode Σ(F 4) = {0, 1, 2, 3} je zato manjša (slika 1b). Konstrukcija kode F4 je enaka kot pri F8, tudi lastnosti so enake, le da lahko objekt zavrtimo le za kote ±90o in 180o . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 5 3 3 2 (a) 2 1 4 3 2 3 2 1 1 5 6 (b) 2 3 2 32 21 32 21 (c) 3 1 2 −135o = 311, 180o = 312. Avtorja sta pokazala, da je to kodiranje bolj stisljivo. 2.4 Ogliščna verižna koda Leta 1999 je Bribiesca izumil zanimivo verižno kodo, ki jo imenujemo ogliščna verižna koda (angl. vertex chain code – VCC) [12]. Koda VCC je definirana s številom robnih pikslov objekta v opazovanem oglišču, kot vidimo na sliki 3. Abeceda vozliščne kode VCC sestoji iz treh simbolov, Σ(V CC) = {1, 2, 3}. VCC je lomna koda in se vedno sklene. Zaporedje simbolov h1, 1, 1, 1i opiše objekt iz enega samega piksla, primer večjega objekta pa kaže slika 5a. Koda VCC je uporabna tudi, ko piksli niso 2 Slika 2: verižne kode (a) F8, (b) F4 in (c) lomna F4 2 1 Kodo F4 lahko uporabimo na dva načina. V prvem načinu potujemo skozi središča pikslov tako kot pri F8, v drugem primeru pa po mejnih robovih pikslov. Takšni kodi pravimo lomna verižna koda (angl. crack chain code). Primer objekta, opisanega z različnimi Freemanovimi verižnimi kodami, vidimo na sliki 2. 2.3 Izpeljanke Freemanove verižne kode 1. Freeman je predlagal tudi diferenčno verižno kodo (angl. Chain-Difference Coding – CDC) [8]. Vsak mejni piksel pi (razen prvega p0 in drugega p1 ) zakodiramo z relativno razliko kotov δ = ∠(pi − pi−1 , pi−1 − pi−2 ), relativne razlike pa zapišemo s Freemanovo abecedo Σ(F 8). Izkaže se, da so statistično najbolj verjetne razlike kotov 0o , ki jim sledijo koti ±45o . To lastnost sta izkoristila Liu in Žalik [9], ki sta predlagala eno prvih metod za stiskanje verižnih kod, temelječo na Huffmanovih kodah. 2. Bribiesca je predstavil izpeljanko verižne kode F8, ki jo imenujemo usmerjena 8-smerna Freemanova verižna koda (angl. Directional Freeman Chain Code of eight directions, DF8) [10]. Simbole F8 je obravnaval kot števila, nato pa zaporedne vrednosti odštel. Če je vsota vrednosti pri sourni orientaciji 0, oz. pri protiurni -8, je verižna koda sklenjena. 3. Varianto verižne kode F4 je predstavil Nunes s sodelavci [11]. Predlagali so kodiranje relativne spremembe obhoda, kodo pa poimenovali verižna koda razlik (angl. Differential Chain Code, DCC). Abeceda Σ(DCC) = {R, L, S}, kjer R pomeni zasuk v desno, L, zasuk v levo in S nadaljuj v isti smeri. Koda DCC je lomna koda. 4. Žalik in Lukač sta s ciljem boljšega stiskanja verižne kode F8 predstavila kodirno shemo NAD (angl. Normalised Angle-Difference code) [6]. Abeceda ima štiri simbole, Σ(N AD) = {0, 1, 2, 3}, kjer simbol 3 označuje, da je sprememba kota, ki sledi, večja od ±45o . Spremembe kotov so predstavljene s kodami NAD na naslednji način: 0o = 0, 45o = 1, −45o = 2, 90o = 300, −90o = 310, 135o = 301, 330 3 Slika 3: Simboli vozliščne kode VCC štirikotniki, a v tem primeru se spremni tudi abeceda. Pri pikslih trikotne oblike je abeceda {1, 2, 3, 4, 5}, pri šestkotnih pa {1, 2}. Verižna koda VCC ima naslednje lastnosti: • ravno (navpično ali vodoravno) črto karakterizira zaporedje simbolov 2, • diagonalno črto pod kotom ±45o označuje izmenjujoče se zaporedje simbolov 1 in 3, • koda VCC je neobčutljiva na vrtenje (za ±90o in 180o ) in zrcaljenje, • kodo VCC lahko normaliziramo, kar nam olajša preverjanje, ali dve verižni kodi VCC opisujeta enak objekt. Zaporedje kod vrtimo tako dolgo, da zaporedje simbolov predstavlja število z najmanjšo vrednostjo, kot vidimo na naslednjem primeru: 1311232121321213113312; zasuk v desno 3112321213212131133121; zasuk v desno 1123212132121311331213; normalizirana koda • kodo VCC lahko enostavno stisnemo; ker je statistično najpogostejši simbol 2, ga predstavimo z enim bitom, ostala dva simbola pa z dvema. 2.5 Tri-ortogonalna verižna koda Tri-ortogonalno verižno kodo (angl. Three OrThogonal chain code – 3OT) sta predstavila Sáchez-Cruz and Rodrı́guez-Diaz [13]. Abeceda Σ(3OT ) = {0, 1, 2} sestoji iz treh simbolov, katerih pomen je naslednji (slika 4): • če je smer premika enaka, kot je bila predhodna smer premika, je koda 0, • če se smer premika spremeni tako, da je enaka smeri pred predhodno spremembo, potem je koda 1, • sicer je koda 2. 0 2 1 Slika 4: Simboli verižne kode 3OT 3OT je lomna koda, katere postopek konstrukcije je naslednji: smeri se je spremenil predznak. Na primer: 00 10 pomeni, da spremenimo predznak kodi x, 00 01 spremeni predznak kodi y, 00 11 pa obema kodama. Na ta način dobimo nepredznačeno verižno kodo Manhattan z abecedo iz dveh simbolov, Σ(U M CC) = {0, 1}. Verižno kodo UMCC za objekt s slike 6 vidimo v tabeli 2, pri čemer predpostavimo, da je začetni predznak v obeh smereh pozitiven. Poudarjeni elementi so elementi, s katerimi preklapljamo predznak. • izberemo ekstremno oglišče (na primer zgoraj levo), Tabela 2: Verižna koda UMCC za objekt iz slike 6 • izberemo smer obhoda, UMCCx 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 UMCCy 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 • prvi rob, ki ni vodoraven, dobi kodo 1, • preostale robove zakodiramo s pravili 3OT. Lastnosti kode 3OT so naslednje: • ravno (navpično ali vodoravno) črto označuje zaporedje simbolov 0, • diagonalno črto pod kotom ±45o predstavlja zaporedje simbolov 1, • koda 3OT je neobčutljiva na vrtenje (za ±90o in 180o ) in zrcaljenje. Slika 5b kaže objekt, predstavljen s 3OT. 1 2 2 2 2 2 1 0 0 0 3 3 1 a) 3 2 3 3 2 3 0 0 2 1 1 2 11 1 b) 11 0 0 2 0 UMCCx 1 1 1 1 1 0 1 UMCCy 0 0 0 0 0 0 1 t t 1 0 10 0 0 1 1 1 1 00 1 t 1 1 • Povečevanje objekta za faktor s izvedemo tako, da vsak simbol, s katerim ne spreminjamo predznaka, shranimo s-krat. 1 1 Tabela 3: Reducirana verižna koda UMCC za objekt iz slike 6 UMCC ima naslednje lastnosti [14]: 0 1 1 Kodo lahko še nekoliko zmanjšamo. Namreč, v smeri, ki smo jo označili z 1 in pomeni spremembo predznaka, vemo, da bo naslednji simbol 1, zato ga pri zapisu lahko izpustimo. Rezultat vidimo v tabeli 3, kjer simbol ’t ’ označuje mesto izpuščenega simbola. 1 Slika 5: Geometrijski objekt, opisan z (a) VCC in (b) 3OT 2.6 Nepredznačena verižna koda Manhattan Nepredznačena verižna koda Manhattan (angl. Unsigned Manhattan Chain Code – UMCC) je predstavljena v [14]. Koda opisuje premikanje po robnih pikslih ločeno v smereh x in y. Če od koordinat x in y opazovanega piksla odštejemo koordinati x in y njegovega predhodnika, dobimo predznačeno verižno kodo Manhattan (angl. Manhattan Chain Code – MCC). Abeceda verižne kode MCC je sestavljena iz treh simbolov, Σ(M CC) = {−1, 0, 1}. Na sliki 6a vidimo primer opisa meje geometrijskega objekta z MCC, kode pa povzema tabela 1. • Kot smo omenili, predpostavimo, da je začetna vrednost koordinat x in y pozitivna. Vrtenje za 180o dosežemo, če pričnemo obhod v smereh −x in −y, vrtenje za 90o pa z zamenjavo vrednosti UMCCx in UMCCy . Za vrtenje za 270o zamenjamo vrednosti UMCCx in UMCCy in pričnemo z obhodom v smereh −x in −y. • Zrcaljenje glede na os Y dobimo s spremembo smeri obhoda v smeri x in, analogno, s spremembo smeri obhoda v smeri y objekt prezrcalimo preko osi X. • Vodoravne in navpične črte zaznamo kot zaporedje enakih simbolov v UMCCx , oziroma UMCCy . • Zaporedje simbolov 1 v UMCCx in UMCCy določa diagonalne črte. • Normalizacijo verižne kode dosežemo z naslednjim postopkom: Tabela 1: Verižna koda MCC za objekt iz slike 6 MCCx 1 1 1 1 1 -1 -1 0 -1 0 -1 -1 MCCy 0 0 0 0 0 -1 -1 -1 0 1 1 1 – začasno odstranimo vse simbole za spremembo predznaka; Ugotovimo, da nikoli ne moreta biti oba simbola verižne kode MCC po koordinatah x in y hkrati 0. Zato lahko x = 0 in y = 0 uporabimo za preklapljanje med predznaki, ki ji sledi par simbolov 0 ali 1, ki pove, v kateri 331 – vrtimo simbole v UMCCx , dokler UMCCx ne predstavlja najmanjše vrednosti, pri čemer označimo število operacij vrtenja s kx ; – analogno poiščemo vrednost ky za UMCCy; – določimo k = min{kx , ky }; – simbole v izvornih zaporedjih UMCCx in UM- VCC in 3OT omogočajo skaliranje. Monotone dele geoCCx z odstranjenimi znaki za nadzor pred- metrijskega objekta enostavno zazna koda UMCC, koda znaka zavrtimo k-krat; MC pa daje najboljši približek dejanskega obsega in plo– nazadnje na ustrezna mesta vstavimo simbole ščine izvornega geometrijskega objekta. Če želimo verižne kode dodatno stisniti, je najbolj stisljiva verižna koda 3OT [2]. za spremembo predznaka. • Pri verižni kodi UMCC enostavno določimo tudi monotone dele geometrijskega objekta, in sicer, deli med simboli, ki nadzirajo predznak v UMCCx , so monotoni glede na os X, in analogno, deli, ki so med dvema simboloma za spremembo predznaka v UMCCy , so monotoni glede na os Y . 10 10 10 10 10 3 -1-1 -11 -1-1 0-1 -11 01 3 3 (b) (a) 0 0 1 -10 0 0 0 5 3 2 3 5 5 [2] B. Žalik, D. Mongus, N. Lukač, K.R. Žalik, Efficient chain code compression with interpolative coding, Information Sciences 439–440, 2018, 39–49. 6 4 5 Slika 6: Geometrijski objekt, opisan s (a) predznačeno verižno kodo Manhattan in (b) s središčno-lomno verižno kodo 2.7 Središčno-lomna verižna koda Središčno-lomno (angl. Mid-Crack - MC) verižno kodo sta predlagala Shih in Wong [15] s ciljem bolje oceniti lastnosti izvornega nerasteriziranega objekta, kot sta obseg in ploščina. MC kombinira središčno verižno kodo F8 z lomno kodo F4, pri tem pa povezuje središčne točke robov pikslov. Abeceda Σ(M C) = Σ(F 8), pri čemer pri navpičnih robovih pikslov ne dovolimo simbolov 0 in 4 (slika 7a), pri vodoravnih pa ne 2 in 6 (slika 7b). Opis objekta z verižno kodo MC vidimo na sliki 6b. Lastnosti središčno-lomne verižne kode so enake kodi F8. 2 3 1 (a) 3 (b) 5 7 0 5 [4] Y.-K. Liu, B. Žalik, P.-J. Wang, D.Podgorelec, Directional difference chain codes with quasi-lossless compression and run-length encoding, Signal Processing: Image Commununication, 27(9), 2012, 973–984. [5] A. Akimov, A. Kolesnikov, P. Fränti, Lossless compression of map contours by context tree modeling of chain codes, Pattern Recognition, 40(3), 2007, 944–952. [6] B. Žalik, N. Lukač, Chain code lossless compression using move-to-front transform and adaptive run-length encoding, Signal Processing Image Communication 29(1), 2014, 96– 106. [7] H. Freeman, On the Encoding of Arbitrary Geometric Configurations, IRE Transactions on Electronic Computers, EC-12(2), 1961, 260–268. [9] Y.-K. Liu, B. Žalik, An efficient chain code with Huffman coding, Pattern Recognition, 38(4), 2005, 553–557. 7 6 [10] E. Bribiesca, A geometric structure for two-dimensional and three-dimensional surfaces, Pattern Recognition, 25(5), 1992, 483–496. Slika 7: Simboli središčno-lomne verižne kode 3 [3] Y.-K. Liu, W. Wei, P.-J. Wang, B. Žalik, Compressed vertex chain codes. Pattern Recognition, 40(11), 2007, 2908– 2913. [8] H. Freeman, Computer processing of line drawing, ACM Computing Surveys, 6(1), 1974, 57–97. 1 4 Literatura [1] N.B. Boodoo-Jahangeer, S. Baichoo, Face Recognition Using Chain Codes, Journal of Signal and Information Processing 4(3B), 2013, 154–157. 7 5 Zahvala Projekt (Posplošene simetrije in ekvivalence v geometrijskih podatkih, št. N2-0181) je sofinancirala Javna agencija za raziskovalno dejavnost Republike Slovenije iz državnega proračuna. [11] P. Nunes, F. Pereira, F. Marqués, Multi-grid chain coding of binary shapes, ICIP’97 Proceedings of the 1997 International Conference on Image Processing, 3, 1997, 114–117. Zaključek Ker je obe Freemanovi verižni kodi (8-smerno in 4-smerno) najlažje razumeti in implementirati, ju v praksi tudi najpogosteje srečamo. F4 lahko uporabimo kot središčno ali lomno kodo. V tem članku smo želeli opozoriti, da obstajajo tudi druge verižne kode, katerih lastnosti bi lahko bile v dani situaciji primernejše. Pri prav vseh verižnih kodah lahko zaznamo ravne črte, med vodoravnimi in navpičnimi črtami pa ne moremo ločiti pri kodah VCC in 3OT. Diagonalno črto lahko zaznamo z vsemi verižnimi kodami. Neobčutljive na vrtenje in zrcaljenje so kode VCC, 3OT in UMCC, vrtenje vsaj za kote ±90o in 180o omogočajo vse kode razen 3OT in VCC. Vse kode razen 332 [12] E. Bribiesca, A new chain code, Pattern Recognition, 32(2), 1999, 235–251. [13] H. Sáchez-Cruz, R. M. Rodrı́guez-Diaz, Compressing bilevel images by means of a 3-bit chain code, SPIE Optical Engineering, 44(9), 2005, 1–8. [14] B. Žalik, D. Mongus, Y.-K. Liu, N. Lukač, Unsigned Manhattan Chain Code, Journal of Visual Communication and Image Representation, 38(C) , 2016, 186–194. [15] F. Y. Shih, W.-T. Wong, A new single-pass algorithm for extracting the Mid-Crack Codes of Multiple Regions, Journal of Visual Communication and Image Representation, 3(3), 1992, 217-224. Medpomnjenje obsevanosti za globalno osvetlitev volumetričnih podatkov Uroš Šmajdek1 , Žiga Lesar1 , Matija Marolt1 , Ciril Bohak1,2 1 2 Univerza v Ljubljani, Fakulteta za Računalništvo in Informatiko, Večna pot 113, 1000 Ljubljana King Abdullah University of Science and Technology, Visual Computing Center, Thuwal, Saudi Arabia E-pošta: us6796@student.uni-lj.si, {ziga.lesar, matija.marolt, ciril.bohak}@fri.uni-lj.si Irradiance caching for global illumination of volumetric data In this paper, we present a method for interactive illumination and rendering of volumetric data with irradiance caching. We store the irradiance field in a separate volume and we compute it independently of the camera position and orientation with unbiased path tracing. For the projection on the screen we use the Riemann sum. We solve the problem of noise in the irradiance volume by separating the computation of the color and illumination components of the final rendering, and we additionally filter the illumination component with a bilateral filter. Results show that our method converges faster than path tracing, while its independence of the camera view allows for greater interactivity. Povzetek V članku predstavimo metodo za interaktivno osvetlitev in upodabljanje volumetričnih podatkov z medpomnjenjem obsevanosti. Polje obsevanosti hranimo v ločenem volumnu in ga izračunamo neodvisno od položaja in orientacije kamere z nepristranskim sledenjem poti. Za projekcijo na zaslon uporabimo Riemannovo vsoto. Problem šuma v obsevalnem volumnu rešujemo z ločenim izračunom barvne in osvetlitvene komponente končne slike, osvetlitveno komponento pa dodatno filtriramo z bilateralnim filtrom. Rezultati kažejo, da naša metoda konvergira hitreje od sledenja poti, poleg tega pa neodvisnost od pogleda kamere omogoča večjo interaktivnost. 1 Uvod • metoda za interaktiven prikaz volumetričnih podatkov z medpomnjenjem obsevanosti; • glajenje obsevanosti pred združitvijo z barvno informacijo. V nadaljevanju članka naprej predstavimo pregled področja in vanj vpnemo naše delo, nato v poglavju 3 predstavimo našo metodo, ki jo v poglavju 4 ovrednotimo in rezultate diskutiramo, na koncu pa v poglavju 5 podamo še sklepne ugotovitve in nakažemo možne nadaljnje izboljšave. 2 Fizikalno osnovana osvetlitev v vizualizaciji omogoča uporabnikom boljše enostavnejše razločevanje oblik, kar je še posebej pomembno pri preučevanju kompleksnejših struktur v tridimenzionalnem prostoru. Pravilna osvetlitev je ključna za pravilno dojemanje globine in oblik, kar je še posebej pomembno pri volumetričnih podatkih, kjer svetloba ob prehajanju snovi izgublja svojo moč in s tem nakazuje, kateri deli podatkov so bolj ali manj presevni, hkrati pa se strukture v podatkih medsebojno senčijo in s tem pripomorejo k boljšemu dojemanju njihove prostorske postavitve. Enačbo upodabljanja za izračun fizikalno pravilne osvetlitve je v svojem delu predstavil Kajiya [8] in temelji na enačbi sevalnega prenosa [1]. Najpogosteje se za ERK'2021, Portorož, 333-336 njeno reševanje uporablja metoda volumetričnega korakanja vzdolž žarkov [15], ki pa zaradi aproksimacije z Riemannovo vsoto ne daje točnih rezultatov in zato ni primerna za simulacijo kompleksnejših svetlobnih pojavov kot je sipanje. Za točen izračun se uporabljajo metode Monte Carlo in njene izpeljanke. Njihova slaba lastnost je počasna konvergenca, ki je še posebej izrazita v primeru sipanja, kjer je treba simulirati večkratne odboje in pri tem uporabiti prilagodljivo vzorčenje. V našem pristopu naslovimo počasno konvergenco metod Monte Carlo z medpomnjenjem že izračunane obsevanosti, ki se med upodabljanjem neprestano izboljšuje. Medpomnjenje obsevanosti je neodvisno od pogleda, kar omogoča spreminjanje pogleda brez ponovnega računanja. Ker je zaradi počasne konvergence v medpomnjenih podatkih prisotnega veliko šuma, pri izrisu podatke o obsevanosti zgladimo z bilateralnim filtrom. Glavna prispevka članka sta: 333 Pregled področja Upodabljanje volumnov s fizikalno osnovanim pristopom sta prva predstavila Kajiya in Von Herzen [9], kar je vodilo do posplošenega pristopa – enačbe upodabljanja, ki ga predstavi Kajiya [8] skupaj z rešitvijo z uporabo metode Monte Carlo. Počasna konvergenca metode Monte Carlo in kompleksnost same enačbe upodabljanja sta vzpodbudili razvoj mnogih izboljšav. Med pomembnejšimi izboljšavami sta dvosmerno sledenje poti [12] in uporaba algoritma Metropolis-Hastings [18]. Dvosmerno sledenje poti je bilo posplošeno tudi za upodabljanje volumnov [13]. Dva popularna alternativna pristopa za izračun globalne osvetlitve volumnov sta še sledenje žarkov [15] in algoritem izsevnosti [16], ki pa ne dosegata znatne pohitritve ali izboljšave kvalitete. Vzporedno je Jensen predstavil pristop, ki združuje dvostopenjsko osvetljevanje in zemljevid fotonov [5], kasneje pa ga je razširil za upodabljanje volumnov [6]. Dvostopenjsko osvetljevanje predstavlja tudi osnovo za metodo, predstavljeno v tem članku, saj omogoča izračun globalne osvetlitve neodvisno od položaja in orientacije kamere. Pregled kasnejših prilagoditev in razširitev tehnike zemljevidov fotonov je predstavljen v [7]. Medpomnjenje obsevanosti so prvi predstavili Ward et al. v delu [19] in deluje predvsem zaradi dejstva, da je neposredno obsevalno polje večinoma gladko. Křivánek et al. predstavijo medpomnjenje sevalnega polja, ki hrani in interpolira smerno odvisno sevanje z uporabo sferičnih harmonikov [11]. Jarosz et al. so kmalu za tem predstavili medpomnjenje sevalnosti za volumne [4]. Khlebnikov et al. predstavijo sistem za medpomnjenje in izračun obsevanosti za volumne [10], ki združuje tri vzporedne procese: (1) upodabljanje, (2) izračun novih medpomnjenih vrednosti in (3) odpravljanje napak pri izračunu novih vnosov. Zaradi hitrega razvoja tehnologije današnje grafične kartice vsebujejo veliko količino grafičnega pomnilnika in tako hranjenje večje količine podatkov na njih ni več problematično. Zaradi tega dandanes številne pomnilniške optimizacije, naslovljene v zgoraj omenjenih delih, niso več potrebne. S tem se lahko sistemi za medpomnjenje obsevanosti poenostavijo, kar predstavimo tudi v tem članku. Naša rešitev sicer zahteva več pomnilnika, a je hkrati tudi bistveno bolj učinkovita pri izračunu končne upodobitve. V članku predstavimo tudi implementacijo v spletnem orodju za upodabljanje volumetričnih podatkov VPT [14]. 3 Medpomnjenje obsevanosti Naša metoda za izračun obsevanosti temelji na postopku sledenja poti, s katerim rešujemo volumetrično enačbo upodabljanja [2]. Sevalnost L v točki x in smeri ω je vsota dveh prispevkov, uteženih s prepustnostjo T vzdolž žarka xt = x − tω: sevalnosti ozadja, ki preseva skozi volumen, ter izhodne sevalnosti Li vzdolž žarka: Z d L(x, ω) = T (d)L(xd , ω) + T (t)Li (xt , ω) dt, (1) t=0 kjer je prepustnost modelirana z Beer-Lambertovim zakonom:  Z t  T (t) = exp − (σa (xs ) + σs (xs )) ds . s=0 Koeficienta σa in σs določata količino absorpcije in sipanja na enoto razdalje, z njima pa lahko opišemo tudi izhodno sevalnost volumna, sestavljeno iz emisije in sipanja: Li (x, ω) = σa (x)Le (x, ω) + σs (x)Ls (x, ω), kjer Ls opisuje svetlobo, ki v točko x vpada iz poljubne smeri in se lomi v smeri ω: Z Ls (x, ω) = fp (x, ω, ω 0 )L(x, ω 0 ) dω 0 . S2 334 V zgornji enačbi fazna funkcija fp določa porazdelitev smeri sipanja. V tem delu predpostavljamo izotropno fazno funkcijo, fp = 1/4π, ter izotropno emisijo Le , ki je v praktičnih primerih lahko tudi 0. Izstopna sevalnost je zato neodvisna od smeri primarnega žarka ω, za delovanje metode pa posledično zadošča že izračun obsevanosti: Z O(x) = L(x, ω 0 ) dω 0 S2 Polje obsevanosti hranimo v ločenem volumnu, računamo pa ga lahko neodvisno od položaja in orientacije kamere. Enačbo 3 računamo z metodo Monte Carlo, tako da simuliramo poti fotonov od poljubne točke v volumnu do svetlobnega vira. Za izračun prostih poti fotonov uporabljamo t. i. metodo delta [20, 3], ki je nepristranska in učinkovita. Pri projekciji na zaslon enačbo (1) diskretiziramo z Riemannovo vsoto, saj je hitrejša od sledenja poti, poleg tega pa končna slika ne vsebuje visokofrekvenčnega šuma zaradi stohastičnega postopka. Zaradi počasne konvergence izračuna osvetlitve s tehnikami Monte Carlo je v obsevalnem volumnu prisoten šum, ki je še posebej izrazit v začetnih korakih po spremembi osvetlitve. V končni upodobitvi se to odraža v obliki visokofrekvenčnega šuma, ki je zelo moteč in uporabniku ne omogoča neoviranega pregledovanja volumna. Ta problem naslovimo z ločitvijo izračuna barvne in osvetlitvene komponente končne slike. Pred končno združitvijo osvetlitveni prispevek filtriramo z uporabo bilateralnega filtra [17]. Prednost uporabe takšnega filtra pred npr. Gaussovim je, da ohranja robove (visoke frekvence). Filtrirani osvetlitveni prispevek piksla x izrazimo z uteženo vsoto pikslov xi v njegovi okolici Ω: P w(xi , x)L(xi ) ∗ i ∈Ω , L (x) = xP xi ∈Ω w(xi , x) kjer je utež w zmnožek jedra obsega za glajenje razlik v intenziteti fr in prostorskega jedra za glajenje razlik v položajih pikslov: w(xi , x) = fr (kL(xi ) − L(x)k)fs (kxi − xk). 4 Rezultati in diskusija Našo metodo smo primerjali z metodo sledenja žarkov z enkratnim sipanjem. Ovrednotili smo kakovost in zmogljivost metod in rezultate dopolnili z diskusijo. Vhodni podatki so volumetrični CT podatki prsnega koša1 dimenzij 512 × 150 × 350, osvetljenega z okoljsko osvetlitvijo bele barve. Podatki so bili upodobljeni v ločljivosti 1024 × 1024 pikslov. Teste smo izvajali na prenosnem računalniku s procesorjem Intel® CoreTM i5-10400F @ 2.90GHz, 16 GB pomnilnika, operacijskim sistemom Microsoft Windows 10 Pro in grafično kartico Nvidia GeForce GTX 1060 3GB. Na sliki 1 so prikazani izračunani rezultati vseh treh metod po 100 sekundah. 1 http://schorsch.efi.fh-nuernberg.de/data/ volume/ Slika 1: Primerjava upodobitev z metodo sledenja poti brez medpomnjenja (levo), z medpomnjenjem (sredina) in z medpomnjenjem in filtriranjem (desno) po 100 sekundah. 4.1 Ovrednotenje kakovosti Kakovost predstavljenih metod smo ovrednotili z metriko RMSE (angl. root-mean-square error), kjer smo za referenčno sliko vzeli rezultat sledenja poti z enkratnim sipanjem, pridobljenem po 5 minut trajajočem izračunu. Rezultati glede na čas izvajanja so prikazani z grafom na sliki 2. 0.25 SP-ES MO MO + BF RMSE 0.2 0.15 0.1 0.05 0 0 20 40 60 80 100 Čas (s) Slika 2: Vrednosti RMSE za volumen, glede na sledenje poti z enkratnim sipanjem po 5-minutnem izračunu: sledenje poti z enkratnim sipanjem (SP-ES), medpomnjenje obsevanost (MO) in medpomnjenje obsevanosti z bilateralnim filtriranjem (MO + BF). Graf prikazuje prvih 100 sekund konvergence. O(n3 + m2 ). Pri metodi z medpomnjenjem obsevanosti to teksturo zamenjamo z volumnom velikosti n3 , skupaj O(2n3 ). Metoda medpomnjenja obsevanosti z bilateralnim filtriranjem dodatno potrebuje še ločeno teksturo velikosti m2 , v kateri hranimo barvno in osvetlitveno komponento končne slike, skupaj O(2n3 + m2 ). 4.3 Diskusija S slike 1 je razvidno, da so končni rezultati vseh metod zelo podobni. Zaradi diskretizacije enačbe 1 z Riemannovo vsoto so na sredinski in desni sliki vidni prekrivni artefakti. Razlike v posameznih časovnih obdobjih so prikazane na sliki 3, s katere je razvidno, da je metoda enkratnega sipanja v začetnih korakih precej šumna. To je še bolj izrazito v obdobjih izračuna krajših od ene sekunde. S slike je prav tako razvidno, da je osvetlitev metode z medpomnjenjem bolj neenakomerna kot pri metodi z medpomnjenjem in filtriranjem. Pri tem naj še izpostavimo, da je osvetlitev pri predstavljenih metodah medpomnjena in je posledično pri spremembi pogleda kamere ni treba ponovno izračunavati, kar pa ne velja za osnovno metodo. 4.2 Ovrednotenje zmogljivosti Pri ovrednotenju zmogljivosti smo naslovili dva vidika: (1) hitrost konvergence metod in (2) prostorsko zahtevnost metod. Za primerjavo hitrosti konvergence metod smo v tabeli 1 zbrali čase, ko je razlika v RMSE med sliko, upodobljeno s posamezno metodo in končno sliko (po 5 minut trajajočem izračunu), manjša od 10−2 . Tabela 1: Primerjava hitrosti konvergence metod: sledenje poti z enkratnim sipanjem (SP-ES), medpomnjenje obsevanost (MO) in medpomnjenje obsevanosti z bilateralnim filtriranjem (MO + BF). SP-ES 70,11 s MO 20,38 s MO + BF 13,70 s Metoda sledenja poti z enkratnim sipanjem v pomnilniku hrani izvorni volumen velikosti n3 in teksturo s trenutnim stanjem fotonov velikosti m2 , skupaj 335 Slika 3: Slika prikazuje primerjavo konvergence metod v različnih časovnih obdobjih od leve proti desni: 150 ms, 1, 3, 12 in 100 sekund. V prvi vrstici so rezultati metode sledenja poti brez medpomnjenja, v drugi z medpomnjenjem in v tretji z medpomnjenjem in filtriranjem. Z grafa na sliki 2 je razvidno, da najhitreje konvergira metoda z medpomnjenjem in filtriranjem, druga najhitreje pa metoda z medpomnjenjem. To je še posebej izrazito v kratkih časovnih obdobjih, ko je osvetlitev z metodo z medpomnjenjem izrazito neenakomerna. Naj- primerneje bi bilo tako rezultate metode s filtriranjem uporabiti v začetnih korakih, nato pa filtriranje izklopiti. Te izsledke potrjujejo tudi rezultati v tabeli 1. Slika 4 prikazuje delovanje predstavljenih metod na podatkih drugih tkiv. Rezultati metod so vizualno primerljivi. Literatura [1] Subrahmanyan Chandrasekhar. Radiative Transfer. Dover Books on Intermediate and Advanced Mathematics. Dover Publications, 1960. [2] Julian Fong, Magnus Wrenninge, Christopher Kulla, and Ralf Habel. Production volume rendering. In ACM SIGGRAPH, pages 1–79, New York, New York, USA, 2017. ACM. [3] Mathieu Galtier, Stephane Blanco, Cyril Caliot, Christophe Coustet, Jérémi Dauchet, Mouna El Hafi, Vincent Eymet, Richard Fournier, Jacques Gautrais, Anais Khuong, et al. Integral formulation of null-collision monte carlo algorithms. Journal of Quantitative Spectroscopy and Radiative Transfer, 125:57–68, 2013. [4] Wojciech Jarosz, Craig Donner, Matthias Zwicker, and Henrik Wann Jensen. Radiance caching for participating media. ACM Transactions on Graphics, 27(1):7:1–7:11, mar 2008. [5] Henrik Wann Jensen. Global illumination using photon maps. In Proc. of the Eurographics Workshop on Rendering Techniques ’96, pages 21—-30, Berlin, Heidelberg, 1996. Springer-Verlag. [6] Henrik Wann Jensen and Per H. Christensen. Efficient simulation of light transport in scenes with participating media using photon maps. In Proc. of the 25th annual conference on Computer graphics and interactive techniques, pages 311––320. ACM, 1998. [7] D. Jönsson, J. Kronander, T. Ropinski, and A. Ynnerman. Historygrams: Enabling interactive global illumination in direct volume rendering using photon mapping. IEEE Transactions on Visualization and Computer Graphics, 18(12):2364–2371, 2012. [8] James T. Kajiya. The rendering equation. ACM SIGGRAPH, 20(4):143––150, Aug 1986. [9] James T. Kajiya and Brian P. Von Herzen. Ray tracing volume densities. ACM SIGGRAPH, 18(3):165—-174, 1984. Slika 4: Primerjava metod na različnih volumnih. Po vrsticah, od zgoraj navzdol: slika CT glave odraslega moškega1 , slika CT prsnega koša1 , slika CT ledvic1 . Po stolpcih, od leve proti desni: enkratno sipanje, medpomnjenje obsevanosti, medpomnjenje in filtriranje. 5 Sklep V članku smo predstavili metodo medpomnjenja obsevanosti s filtriranjem osvetlitve za interaktivno upodabljanje volumetričnih podatkov. Za razliko od bolj naprednega sledenja poti naša metoda bistveno hitreje konvergira. Ker je izračun osvetlitve neodvisen od postavitve kamere, se lahko izognemo ponovnemu izračunu ob vsakem premiku kamere in s tem pridobimo na interaktivnosti. Prednosti naše metode dobimo na račun pristranskosti kot posledice diskretizacije obsevanosti ter večje porabe pomnilnika. Rezultati kažejo, da uporaba filtriranja po zadostni konvergenci ni več smiselna, saj v sliko vnese dodatno pristranskost, zato bi bilo smiselno v prihodnosti metodo dopolniti s postopnim pojemanjem moči filtra. Napake se pojavijo tudi pri projekciji na zaslon, kjer integral diskretiziramo z Riemannovo vsoto. Z bolj primerno diskretizacijo (npr. s trapeznim pravilom) bi končna slika vsebovala manj prekrivnih artefaktov. Hitrost konvergence in porabo pomnilnika bi lahko še izboljšali z manjšo ločljivostjo obsevalnega volumna, seveda na račun večje pristranskosti. [10] Rostislav Khlebnikov, Philip Voglreiter, Markus Steinberger, Bernhard Kainz, and Dieter Schmalstieg. Parallel irradiance caching for interactive monte-carlo direct volume rendering. Computer Graphics Forum, 33(3):61–70, 2014. [11] Jaroslav Křivánek, Pascal Gautron, Sumanta Pattanaik, and Kadi Bouatouch. Radiance caching for efficient global illumination computation. IEEE Transactions on Visualization and Computer Graphics, 11(5):550–561, 2005. [12] Eric P. Lafortune and Yves D. Willems. Bi-directional path tracing. In Proc. of 3rd International Conference on Computational Graphics and Visualization Techniques (Compugraphics ’93), pages 145–153, December 1993. [13] Eric P. Lafortune and Yves D. Willems. Rendering participating media with bidirectional path tracing. In Proc. of the Eurographics Workshop on Rendering Techniques ’96, pages 91—100, Berlin, 1996. Springer-Verlag. [14] Žiga Lesar, Ciril Bohak, and Matija Marolt. Real-time interactive platform-agnostic volumetric path tracing in webgl 2.0. In Proc. of the 23rd International ACM Conference on 3D Web Technology, New York, NY, USA, 2018. ACM. [15] Marc Levoy. Display of surfaces from volume data. IEEE Computer Graphics and Applications, 8(3):29–37, 1988. [16] Holly E. Rushmeier and Kenneth E. Torrance. The zonal method for calculating light intensities in the presence of a participating medium. ACM SIGGRAPH, 21(4):293—-302, aug 1987. [17] Carlo Tomasi and Roberto Manduchi. Bilateral filtering for gray and color images. In Sixth international conference on computer vision (IEEE Cat. No. 98CH36271), pages 839–846. IEEE, 1998. [18] Eric Veach and Leonidas J. Guibas. Metropolis light transport. In Proc. of the 24th Annual Conference on Computer Graphics and Interactive Techniques, pages 65—-76, USA, 1997. ACM. [19] Gregory J. Ward, Francis M. Rubinstein, and Robert D. Clear. A ray tracing solution for diffuse interreflection. ACM SIGGRAPH, 22(4):85–92, June 1988. [20] E Woodcock, T Murphy, P Hemmings, and S Longworth. Techniques used in the gem code for monte carlo neutronics calculations in reactors and other systems of complex geometry. In Proc. Conf. Applications of Computing Methods to Reactor Problems, pages 557–579, 1965. 336 Digital image quality assessment metrics Vladimir Kuzmanovic1, Slobodan Pajic2 1 2 Faculty of Mathematics, University of Belgrade Guided Missiles Research and Development Department, EDePro doo E-mail: vladimir_kuzmanovic@matf.bg.ac.rs Abstract. Acquiring and analyzing digital images is an important aspect of many industries as well as everyday life. The quality of digital images may be affected by imaging hardware or its inadequate use or by environmental conditions. Many algorithms, methods and filters in image processing are developed so that images of low quality can be enhanced. Enhancing image quality is a subjective process because it depends on the viewers preferences. This subjectivity may lead to unwanted degradation in image quality after filtering. Having a way of objectively determining whether a filtered image is of greater quality than the original image and whether it should be filtered at all is essential in image processing. In this paper, we present a number of objective image quality assessment (IQA) metrics which may help the user determine whether an image is a candidate for enhancing and if the enhancing process results in an image of greater quality. 1 Introduction Determining the visual quality of a digital image is a very hard process. If the images are to be displayed to humans, the only way of correctly assess their quality is through subjective evaluation. This process is very expensive, time-consuming and with uncertain results due to different preferences of the viewers [1]. Many modern researchers focus on developing objective image quality assessment metrics. The goal of research is to create quantitative metrics that can automatically asses the perceived image quality. The quality of a digital image is affected by a variety of distortions generated by the acquisition process, compression, storage, processing, transmission and reproduction. All this can easily lead to the degradation of visual quality of the image. In this scenario, objective image quality assessment metrics can be used for dynamic monitoring of image quality and dynamic adjustment of image quality if necessary. Classification of objective image quality metrics is executed based on availability of the original or distortion free image. Objective metrics belong to one of the following three classes: full reference, reduced reference or no-reference metrics [2]. Full reference metrics compare the resulting or distorted image with an a priori known original distortion free image. However, original image is not available in many practical applications. In such cases, no-reference or blind image quality assessment metrics are used. Sometimes, an original image is unknown but there exists a set of side information or features that make it possible to evaluate the quality of the distorted image. This is known as reduced reference quality assessment. ERK'2021, Portorož, 337-342 337 Objective quality assessment metrics are usually based on physical properties of images and they are usually easy to calculate and implement [3-4]. Such metric is the well known MSE. Also, these quality assessment metrics represent metrics in the mathematical sense and thus they are convenient as metrics for various optimization algorithms. The problem with these metrics is that they do not match well with perceived visual quality of the image [5-6]. In the last few decades a lot of research was dedicated to the development of metrics coincident with the human visual system. In this paper we present a number of no-reference and full reference objective image quality assessment metrics. Section two of the paper explains how monochrome and color digital images are stored in memory and explains the term histogram. The next section introduces no-reference metrics based on image histogram processing and full-reference metrics that are based on mathematics as well as those that are based on human visual system. Section four briefly explains the properties of the introduced metrics. The next section shows experimental analysis of the metrics being applied to an original image and its degraded versions. Finally, section six draws conclusions and proposes ideas for future work. 2 Digital image representation Digital image is a matrix of picture elements or pixels [7]. In monochrome images each pixel is represented by a single gray level intensity often called luminescence. The intensities are discrete values in interval 0-255. Such image is called an 8-bit monochrome or grayscale image. Histogram is an approximate representation of distribution of numerical data. To construct a histogram the data first has to be divided into a series of consecutive and non-overlapping intervals called bins. After that, the values in the data have to be placed in their corresponding bin and the number of values in each bin has to be counted. The number of elements in each bin represents the frequency of that value. This gives a sense of the density of the underlying distribution of the data which helps in estimating the probability density function of the underlying variable. An image histogram is a graphical representation of a tonal distribution of a digital image. For each level in a monochrome image, the image histogram plots the number of pixels corresponding to that level in the image. The left side of the histogram represents darker areas, the middle shows mid-tone values and the right side shows lighter areas of the image. The histogram of a dark image is left skewed, of a light image is right skewed, of a low-contrast image covers a narrow band of values and the histogram of a well contrasted image is centered and uniformly spread across all values. 2.1 Color digital images Memory representation of color digital images depends on the chosen color model. The most widely used color model is RGB where each pixel is represented by three dimensions. The dimensions are red (R), green (G) and blue (B) and their mixture produces specific colors. Each dimension is represented by a single byte and their intensities are discrete values in interval 0-255. White is represented as (R,G,B) = (255,255,255) and black is represented as (R,G,B) = (0,0,0). RGB color model is represented as a cube by mapping the R, G and B dimensions to x, y and z axis in 3D space. Monochrome or grayscale images correspond to the values on the cubes diagonal. Other commonly used color models are HSV and HSL. They both share the first two dimensions H and S which represent hue and saturation respectively. Hue is the angle of the color on the RGB circle. A 00 hue results in red, 1200 results in green and 2400 results in blue. Saturation controls the amount of color used. A color with 100% saturation is the purest color possible, while 0% saturation yields grayscale. V or value in HSV controls the brightness of the image. A color with 0% brightness is pure black, while a color with 100% brightness has no black mixed into the color. Dimension V is also referred to as the brightness, so the model is often called HSB instead of HSV. L or lightness in HSL color system represents the luminosity of the color. This is different from the value dimension in HSV because the purest color is positioned midway between black and white ends of the scale. A color with 0% lightness is black, 50% is the purest color possible and 100% is white. Both HSV and HSL are referred to as cylindrical color models. Even though HSV and HSL share the first two dimensions, the resulting models are completely different due to brightness to lightness remapping. The histogram of a color digital image consists of three graphical representations each corresponding to a single dimension of a chosen color representation model. Usually, the image is transformed to a monochrome image and the histogram of that monochrome image is used for further analysis and processing. This corresponds to only keeping the information on luminescence of the underlying image which is justifiable as the human eye is more sensitive to luminescence than to color [7]. Besides three dimensional representations of the color space, models with more dimensions exist such as CMYK and CIELAB. These models are much harder to visualize and interpret. 338 3 Image quality assessment metrics Image quality assessment metrics can be divided into two groups [2]. The first group considers a single image and determines its properties by informationtheoretic techniques. Such metrics are Histogram Spread (HS) and Histogram Flatness Measure (HFM) [8-9]. Since the original or reference image is not known, this group of metrics is known as no-reference or blind image quality assessment metrics. The second group of metrics compares the filtered or degraded image with the original image and is usually referred to as full reference metrics. Such metrics are Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR), Structural Similarity Index (SSIM) and Universal Image Quality Index (UQI). Both groups consider only monochrome images by default. Every mentioned metric has many different definitions for color digital images based on the chosen color model as well as on application. Color digital image metrics are not the scope of this paper. 3.1 No-reference metrics Many image enhancement procedures are based on histogram adjustment or histogram manipulation. The use of image enhancing algorithms has to be justified so it is important to have an objective criterion as a basis for decision whether an image needs to be enhanced or not. Histogram Spread (HS) and Histogram Flatness measure (HFM) are two such criterions [8-9]. Histogram Spread (HS) is an objective metric that allows easy distinguishing between low and high contrast images. Low contrast images have a low value of HS, while high contrast images have a high value of HS. Given a digital image I and its corresponding histogram H, the Histogram Spread represents the ratio of quartile distance to the range of the histogram and is calculated with the following formula: HS ( I )  ((3 rd - 1st ) quartile of H ) MvH   mvH  (1) 1st quartile is the pixel level at which cumulative histogram has 25% of total number of pixels in the image. 3rd quartile is the pixel level at which the cumulative histogram has 75% of total number of pixels in the image. Mv(H) is the maximum number of pixels assigned to any level, while mv(H) with the minimum number of pixels assigned to a level. Histogram Flatness Measure (HFM) is defined as the ratio of the geometric mean of the images histogram to the arithmetic mean of its histogram. Given a digital image I and its corresponding histogram H, HFM is defined as:   1  in1 x i n geometric mean of H HFM ( I )   1 n arithmetic mean of H  n i 1 xi (2) where xi is the histogram count of the ith histogram bin and n is the total number of histogram bins. It is known that geometric mean is always lower or equal to the arithmetic mean, so the value of HFM lies in interval [0, 1]. In the calculation of HFM, bins with zero count are ignored. It can be verified that low contrast images have low value of HFM and high contrast images have high values of HFM. The presented metrics are helpful in objectively determining the contrast levels of a digital image. If the contrast is low it may be beneficial to adjust its contrast in order to enhance image quality. 3.2 Full-reference metrics Full-reference metrics compare the original image with the filtered image. Different metrics have various differences and compare images in different ways. The simplest mathematically based image quality metric is Mean Squared Error (MSE). Given original image I and filtered image F, both with size M*N, the Mean Squared Error is calculated by the following formula: MSE ( I , F )  1 M N  ( I (i, j)  F (i, j)) 2 MN i 1 j 1 (3) where i and j indicate the pixel positions in the original and filtered image. Another metric directly related to MSE is Peak Signal to Noise Ratio (PSNR). PSNR is calculated with the following formula:   L2 dB PSNR( I , F )  10 log 10   MSE ( I , F )  (4) where L is the dynamic range of pixel values (255 for 8bit monochrome image). MSE and PSNR directly measure pixel-by-pixel differences between images. MSE is a non-negative value and it is useful for measuring image quality enhancement when removing noise and blur from the original image. PSNR is a metric used to measure the quality of a compressed image or distorted image. The higher the value of PSNR the better the quality of the filtered image. Both MSE and PSNR are simple to calculate and are mostly used for measuring the loss of image quality due to filtering. Other mathematically based full reference metrics worth mentioning are Mean Absolute Error (MAE), Signal to Noise Ratio (SNR), Contrast to Noise Ratio (CNR) and Absolute Mean Brightness Error (AMBE). Given an original image I and filtered image F the metrics are calculated with the following formulas: MAE ( I , F )  1 MN M N  I (i, j )  F (i, j ) M SNR( I , F )  N  I (i, j ) 2 i 1 j 1 M (5) i 1 j 1 N  ( I (i, j )  F (i, j )) 2 (6) i 1 j 1 AMBE ( I , F )   I   F CNR( I , F )   I   I F  I F (7) (8) where I  1 MN M N  I (i, j ) (9) i 1 j 1 339 F   I F   I2 F  1 MN 1 MN M M N  F (i, j ) (10) i 1 j 1 N  ( I (i, j )  F (i, j )) (11) i 1 j 1 M N 1 ( I (i, j )  F (i, j )   I  F ) 2  MN  1 i 1 j 1 (12) All these metrics are easy to calculate, but they are not well matched to the perceived image quality. Images almost identical to the viewer may have very large differences according to these metrics. Also, images with the same values according to these metrics may have drastic visual differences. In such cases it is better to use digital image quality assessment metrics that are not based on pointwise differences between images. Such metrics are universal image quality index and structural similarity index. Universal Image Quality Index (UQI) is a mathematically defined image quality metric that models any distortion as a combination of three different components [10]. The universal image quality index is calculated with the following formula:  2  2  UQI ( I , F )  IF  2 I F2  2 I F2 (13)  I F I  F  I   F where  IF   I2  M N 1 ( I (i, j )   I ) 2  MN  1 i 1 j 1 (14)  F2  M N 1 ( F (i, j )   F ) 2  MN  1 i 1 j 1 (15) M N 1 ( I (i, j )   I )( F (i, j )   F )  MN  1 i 1 j 1 (16) and µI, µF are defined in equations 9-10. The first component in equation 13 is the correlation coefficient between I and F. Even if I and F are correlated there may still exist considerable distortions between the images. These distortions are evaluated in the second and third component of equation 13. The second term measures the closeness of luminance between the images I and F. The values σI and σF can be taken as numerical estimates of the contrast of images I and F, so the last term in equation 13 measures the similarity of contrast between the two images. For easier calculation, equation 13 is usually simplified to: 4 IF  I  F UQI ( I , F )  2 (17) ( I   F2 )(  I2   F2 ) The universality of the introduced image quality index refers to it not being dependent on the images being compared, the viewing conditions or individual observers. The dynamic range of universal image quality index is [-1, 1]. The best value of 1 is achieved only if xi=yi for every pixel i, which indicates that images I and F are identical. Since images are highly spatially non-stationary and their quality is space variant it is advisable to measure statistical features of the image locally and then combine them together. The image quality index is applied to local regions using a sliding window approach. A sliding window of a predefined size SxS slides pixel by pixel across the image. The sliding process starts at the top-left corner of the image and continues horizontally and vertically across all rows and columns of the image until the bottom-right corner is reached. At every step i the local universal image quality index UQIi is calculated within the sliding window. If there are a total of N steps, the overall universal image quality index is given as their average: 1 N UQI ( I , F )   UQI i ( I , F ) (18) N i 1 The universal image quality index metric outperforms mean square error metric for many types of distortions. This is due to the fact that UQI measures the structural distortion that occurred because of image degradation, while MSE measures the magnitude of errors. Structural Similarity Index (SSIM) metric is based on human visual system (HVS) and as such tries to extract structural information from the image [11]. SSIM tries to quantify visual differences between a reference image and a distorted image. Previous metrics try to estimate perceived errors to quantify image degradation, but SSIM considers image degradation as perceived changes in structural information. Structural information in an image is defined as those attributes that represent the structure of the object in the scene independent of average luminance and contrast. The index is based on luminance, contrast and structure comparison. Mean values µI, µF given in equations 9 and 10 can be used as estimate of luminance in the original and filtered image, so the luminance comparison function l(I,F) is a function of µI and µF. The luminance comparison function is defined by the following equation: 2    C1 l ( I , F )  2 I F2 (19)  I   F  C1 where C1 is a small constant included to avoid instability when the divisor is close to zero. The standard deviations σI and σF defined as the square root of variance given by equations 14 and 15 can be taken as numerical estimates of the contrast of images I and F. Thus, the contrast comparison function c(I,F) is a function of σI and σF defined by the following equation: 2   C2 c( I , F )  2 I F2 (20)  I   F  C2 where C2 is a small constant included to avoid instability when the divisor is close to zero. Structure comparison is conducted after luminance subtraction and variance normalization. After that, the correlation between (I- µI)/σI and (F-µF)/σF is calculated and taken as a simple and effective measure to quantify the structural similarity. From statistics it is known that the correlation between the (I- µI)/σI and (F-µF)/σF is the same as correlation between I and F. Taking this into consideration, the structure comparison function s(I,F) is defined by the following equation:  C s ( I , F )  2 IF 2 3 (21)  I   F  C3 340 where σIF is defined in equation 16 and C3 is a small constant included to avoid instability when the divisor is close to zero. SSIM is defined by the following equation: SSIM ( I , F )  [l ( I , F )]  [c( I , F )]   [s( I , F )] (22) For easier calculation, we set α=β=γ=1 and C3=C2/2 and obtain the following definition of SSIM: (2   C1 )( 2 IF  C 2 ) SSIM ( I , F )  2 I 2 F (23) (  I   F  C1 )( I2   F2  C 2 ) Note that the SSIM is a generalized universal image quality index metric. Setting the values C1=C2=0 in equation 23 corresponds to the special case of SSIM which is equal to UQI. Universal image quality metric produces unstable results when the divisor is very close to zero, which is not the case with SSIM. As in the case of UQI, the structural similarity index is applied locally rather than globally. The SSIM is applied to local regions using a sliding window approach. A sliding window of a predefined size SxS slides pixel by pixel across the image. The sliding process starts at the top-left corner of the image and continues horizontally and vertically across all rows and columns of the image until the bottom-right corner is reached. At every step i the local structural similarity index SSIMi is calculated within the sliding window. If there are a total of N steps, the overall mean structural similarity index (MSSIM) is given as their average: (2   C1 )( 2 IF  C 2 ) SSIM ( I , F )  2 I 2 F (24) (  I   F  C1 )( I2   F2  C 2 ) Depending on application, it is possible to compute a weighted average of the different samples in the SSIM map and emphasize different segments of the image. 3.3 Color digital image metrics Image quality assessment metrics are scalar values in case of monochrome images which is also a desirable property to be kept in case of color digital images. This means that a multidimensional representation of colors according to the chosen color model needs to be transformed to a single value. So, image quality assessment metrics for color images are a mapping from Rn to R. Depending on the chosen metric in Rn, many different definitions for the same image quality assessment metric can be obtained. This will be illustrated in the case of Histogram Spread (HS) which is defined in equation 1. The histogram spread as the most simple image quality assessment metric is defined as the ratio between the interquartile range (IQR) and the range (R). A possible multidimensional extension would be to define an IQR-vector and an R-vector and calculate the ratio of their norms as the value for HS. The histogram spread for color images is then defined as: cHS  IQR ( H ) R( H ) (25) Assuming that the RGB color model is used the histogram H of the image has three components, one for each of the R, G, and B dimensions H = (HR, HG, HB). The same applies for range R = (RR, RG, RB). So, the formula for color HS becomes: cHS  ( IQR ( H R ), IQR ( H G ), IQR ( H B )) ( R( H R ), R( H G ), R( H B )) (26) Assuming L1, L2 and Linf norms are used the color HS metric becomes: cHS 1  IQR ( H R )  IQR ( H G )  IQR ( H B ) R( H R )  R( H G )  R( H B ) (27) IQR ( H R ) 2  IQR ( H G ) 2  IQR ( H B ) 2 (28) R( H R ) 2  R( H G ) 2  R( H B ) 2 max( IQR ( H R ), IQR ( H G ), IQR ( H B )) cHS inf  (29) max( R( H R ), R( H G ), R( H B )) Equations 27-29 are well defined because the values for interquartile ranges for each channel are measured in the same scale and ranges for each channel are also measured in the same scale, so it is reasonable to define norms and metrics in this way. Equations 27-29 define HS metric for color images, but use different norms thus their values differ significantly. Choosing the definition to be used is defined by the application. Also, different values for the HS metric can be obtained by using different color models and by using any p-norm. Using more complex color models and more complex image quality assessment metrics greatly emphasizes this problem. Also, performing dimensionality reduction by simply using norms may not correspond well to the perceived image quality, so it may be more beneficial to use more complex algorithms for dimensionality reduction. Color digital image metrics are not the scope of this paper. cHS 2  4 Evaluation of image metrics Histogram Flatness Measure (HFM) and Histogram Spread (HS) are two most commonly used no-reference metrics that depict the dynamic range of the image. Based on the values of HFM and HS it is possible to conclude whether the images contrast should be enhanced or not. Full reference metrics compare the original image with the filtered or degraded image. The two most commonly used full-reference metrics are Mean Square Error (MSE) and Peak Signal to Noise Ratio (PSNR). MSE represents the cumulative squared error between the filtered and the original image, while PSNR represents a measure of the peak error. For MSE, values closer to zero are better, but for PSNR higher values are better. MSE is highly sensitive to image intensity scaling, so without knowing the number of bits used for intensity representation the value of MSE is useless. MSE of 240 for 8-bit image may be a significant degradation in image quality, but for a 10-bit image the degradation may be barely noticeable. PSNR avoids this problem by scaling MSE according to the image range. PSNR is measured in decibels. It is a good measure for comparing restoration results for the same image, but for between image comparisons PSNR is useless. Also, both MSE and PSNR do not coincide well with perceived image quality. Subjectively and objectively different images may have the same values of MSE and PSNR. 341 Maximum Absolute Error (MAE) measures the difference between the original and filtered image. Compared to the MSE, maximum absolute error metric is more robust to outliers. As MSE, MAE cannot be used for comparisons between images with different intensity scales. Lower values of MAE are better, Absolute Mean Brightness Error (AMBE) measures the filtering performance in preserving the original brightness. Lower values of AMBE are better and signify better quality of the filtered image. However, AMBE does not take into consideration the problem of noise so it alone is not comprehensive enough to describe the overall quality of the filtered image. Universal Quality Index (UQI) and Structural Similarity Index (SSIM) are more complex image metrics. They are not based on calculating pixel-bypixel differences, but model distortions as combinations of three different components. These metrics are based on luminance, contrast and structure comparison and are independent of the images being compared, the viewing conditions or individual observers. The next section shows experimental results of these metrics being applied to an original monochrome “Lena” image and its distorted versions. 5 Experimental analysis Image quality assessment metrics described in the paper were tested on “Lena” monochrome image frequently used in image processing. The HFM and HS metrics are calculated on the original image and based on their values, the original image contrast if modified. The original as well as the modified images are shown in figure 1. (a) (b) (c) Figure 1. Contrast modification based on HFM and HS metrics (a) original image, (b) contrast stretched image, (c) contrast equalized image The original image has a value 0.261 as HFM and a value 0.235 as HS. These values suggest that the image is of low contrast and that it may be beneficial to apply some form of contrast enhancement to increase its dynamic range. The two most commonly used contrast enhancement techniques are contrast stretching and histogram equalization. The values of histogram flatness measure and histogram spread of the original image and resulting images after contrast enhancement are presented in table 1. Table 1. Resulting values of HFM and HS after contrast enhancement of the original image. image (a) (b) (c) HFM 0.261 0.601 0.993 HS 0.235 0.290 0.498 From table 1 it is clear that the image resulting from contrast equalization has perfect values of HFM and HS, metric but its perceived quality may not be better than the quality of the image obtained by contrast stretching. Full reference metrics were also tested on the “Lena image”. In order to better understand the differences and properties of the presented metrics, they were all tested on a set of five “Lena” images with the same value of MSE and PSNR in comparison to the original image. The original image as well as the modified images are shown in figure 2. (a) (b) (c) (d) (e) (f) 6 Conclusion Image quality assessment metrics are a necessary tool in many applications of image processing. They can help in determining whether image processing should be applied at all and in assessing whether image processing was successful or not. Based on the way the metrics are calculated they fall into two groups: no-reference or full-reference metrics. In this paper we presented a range of image quality assessment metrics from both groups with their properties, strengths and weaknesses as well as their possible applications. Also, we briefly described why simple metrics do not coincide well with the perceived image quality, while those based on the human visual system coincide better. Finally, we presented experimental results where all the described metrics where applied to previously distorted images which further explains the limits and use cases for the presented metrics. Literature Figure 2. Comparison of “Lena” image with different types of distortions, all with MSE = 160. a) original image, (b) mean shifted image, (c) blurred image (d) contrast stretched image, (e) max filter image, (f) highboosted image Images (b)-(f) from figure 2 all have the same mean square error value of 160 compared with the original image (a) from figure 2. Even though images are both objectively and subjectively different, the widely used MSE metric and consequently PSNR metric are insensitive to their perceived differences. In such cases, it is better to use a combination of metrics in order to properly asses the image quality. Table 2 shows the values of all other metrics described in the paper. Table 2. Full reference metrics comparison table image (b) (c) (d) (e) (f) HFM 0.278 0.165 0.601 0.290 0.776 HS 0.235 0.216 0.290 0.239 0.282 MSE 160 160 160 160 160 PSNR 26.148 26.148 26.148 26.148 26.148 MAE 12.05 7.55 9.912 9.755 12.688 AMBE 12.001 0.881 7.088 1.0205 0.488 CNR 0.988 0.905 0.997 0.895 0.874 UQI 0.923 0.673 0.910 0.898 0.756 SSIM 0.967 0.805 0.946 0.955 0.817 Table 2 clearly shows that simple metrics such as MSE and PSNR may have the same values for different levels of image degradation and thus do not coincide well with the perceived image quality. It is better to use metrics such as UQI and SSIM, because they rely on structural information in measuring image quality besides simple pixel-by-pixel differences. No-reference metrics such as HFM and HS describe dynamic range of metric the image which may or may not coincide with perceived image quality depending on the viewing conditions. 342 [1] Z. Wang, A. C. Bovik, L. Lu: Why is image quality assesment so difficult, Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, vol. 4, pp. 3313-3316, May 2002. [2] Z. Wang, A. C. Bovik: Modern image Quality Assessment, 2006, Morgan & Claypool Publishers. [3] J. B. Martens, L. Meesters: Image dissimilarity, Signal Processing, vol. 70, pp. 155-176. Nov. 1998. [4] A. M. Eskicioglu, P. S. Fisher: Image quality measures and their performance, IEER Transactions on Communications, vol. 43, pp. 2959-2965, Dec. 1995. [5] T. N. Pappas, R. J. Safranek: Perceptual criteria for image quality evaluation, Handbook of Image and Video Processing, Academic Press, May 2000. [6] Special issue on image and video quality metrics, Signal processing, vol. 70, Nov. 1998. [7] R. C. Gonzalez, R. E. Woods: Digital Image Processing, 3rd Edition, Pearson, 2008 [8] A. K. Tripati, Mukhopadyay, A. K. Dhara: Performance metrics for image contrast, IEEE International Conference on Image Information Processing, pp. 1-4, 2011. [9] R. Narayanam, L. Koteswara Rao: Development of a novel standard notion for the image constrast enhancement performance measure, International Journal of Engineeting Sciences and Research Technology, vol. 4, pp. 400-408, 2015 [10] Z. Wang, A. C. Bovik: A universal image quality index, IEEE Signal Processing Letters, vol. 9, pp. 81-84, Mar. 2002 [11] Z. Wang, A. C. Bovik, H. R. Sheikh: Image Quality Assesment: From Error Visibility to Structural Similarity, IEEE Transactions on Image Processing, vol. 13, pp. 600612, Apr. 2004. Evaluating the Potential of Web Image Optimization for Improving User-Perceived Performance Tjaša Heričko, Boštjan Šumak, Špela Čučko, Saša Brdnik University of Maribor, Faculty of Electrical Engineering and Computer Science Koroška cesta 46, 2000 Maribor, Slovenia E-mail: {tjasa.hericko, bostjan.sumak, spela.cucko, sasa.brdnik}@um.si Abstract For websites, keeping perceived loading times short is immensely important for ensuring a positive user experience and overall website success. As images, on average, represent almost half of website total content size, they are commonly considered as resources where optimization opportunities are not utilized to the fullest, thus, affecting web performance negatively. In this paper, we analyzed 3,500 real websites to get a better insight on how images are used on sites, to what extent images are optimized, what can be improved, and how much can be reduced in terms of size and time, from both desktop and mobile perspectives, as well as with respect to different ranks of website popularity. Despite recommendations, adequate image optimization is still lacking on most websites, with the issue present increasingly on lower-ranked websites and mobile sites. The biggest savings of 0.32 seconds and 442.1 kB for desktop and 1.6 seconds and 337.6 kB for mobiles at the median are expected from using modern formats. However, sizing properly, encoding efficiently, and deferring offscreen images also indicate considerable load time and size reduction. 1 Introduction 2 Ensuring fast loading times of websites is key for providing a positive user experience, retaining users and improving conversion rates [1]. It is recommended that the page load time should not exceed 3 seconds, as studies have shown that 53% of mobile users will otherwise leave a website [2]. Perhaps even more important than the actual speed is users’ perception of how quickly the website loads. Thus, several existing studies in recent years have been focusing on analyzing web performance from a user-perceived perspective [3]–[7]. A common prejudice is that images largely affect web performance negatively, due to inadequate use of image optimization [7], [8], especially considering that images represent around 45.7% and 46.1% of a website’s total content size of desktop and mobile sites, respectively [9]. There are standard recommendations that can be employed to minimize the negative effect, e.g., sizing images properly, encoding images efficiently, serving images in modern formats and deferring offscreen images [10]. However, to the best of our knowledge, there is no study investigating to what extent these recommendations ERK'2021, Portorož, 343-346 are implemented on real sites and how much websites’ performances can benefit from additional optimization. In this paper, we evaluated and analyzed real websites empirically to investigate the potential of image optimization for improving objective load time and userperceived performance. The research objectives guiding the study are as follows: (i) To present an overview of the use of images on sites, (ii) To present the usage of image optimization opportunities and their extent, (iii) To estimate savings of common image optimization opportunities in terms of time and size. The analyses were made from both desktop and mobile perspectives, and with respect to five popularity ranks categories. To achieve these objectives, an experiment was conducted on 3,500 real websites analyzed with the Google Lighthouse tool, which can provide a rough estimate of unnecessary bytes and seconds transmitted due to websites not implementing common image optimization opportunities. The study’s findings provide insight into the current status of image and image optimization usage on the web, while further encouraging the use of image optimizations and additional research on performance-based image optimization. 343 Related work The research presented in this paper is related to work on the characterization and analysis of modern websites through aspects of web performance, with an emphasis on web image optimization. Mendoza et al. [11] studied the composition and complexity of the top 100,000 popular websites ranked by Alexa to identify sources of wasted bandwidth. The results show that 13.1% of the desktop website’s image content size and 15.1% of the mobile website’s image content size on an average sites are unnecessary, unused, or redundant. The authors also provide some suggestions on how to overcome overhead in image content through image format conversion, image compression, and image resizing, however, only in terms of size reduction, without investigating further the impact overall image optimization has on user-perceived performance. Kelton et al. [12] quantified the potential of web image savings by analyzing 300 landing and 880 internal web pages selected from the Majestic list. The authors’ findings suggest that 21% of the total page size can be reduced at the median. Initiatives such as HTTP Archive [9] and Chrome User Experience Report (CrUX) [13], provide a good insight into the current state of the website landscape; yet, they lack in presenting the potential of optimizing images for performance tuning, the gap we aim to address with this research. While our study is similar to existing work, it is focused primarily on providing empirically based insight into common real-world image optimization opportunities that can be exploited to enhance web performance. 3 Method An experiment was conducted on 3,500 sites to achieve the research objectives. The CrUX [13] BigQuery database using a May 2021 dataset was used to obtain a representative set of websites. From the dataset, 700 sites from each of the five ranking categories were selected randomly. Each ranking category presents the popularity of sites by order of magnitude. In the first rank R1 are top 1k sites, in the second rank R2 top 10k, in the third rank R3 top 100k, in the fourth rank R4 top 1M, and in the fifth rank R5 top 10M sites. For each observed site, performance and optimization opportunities were analyzed with the Google Lighthouse tool (v7.3.0). Lighthouse provides a user-perceived performance estimate with the Performance Score (PS) set between 0 and 100, with 100 presenting the perfect score. PS is a weighted average of scores of six performance metrics, representing a balanced representation of the user’s perception of performance. Among others, it also provides four image-related opportunities – properly sized images (lists inappropriately sized images and estimated savings after resizing), efficiently encoding (lists unoptimized images and estimated savings with the use of compression), using modern image formats (lists images in older formats, i.e., JPEG, PNG, BMP, and potential savings from using the WebP and AVIF formats) and defering offscreen images (lists offscreen or hidden images with estimated savings of implementing lazy loading) [10]. We analyzed from both mobile and desktop perspectives, using an emulated desktop device (a device with macOS 10.14.6, in a Chrome window size of 1350x940, simulating a broadband network connection) and a mobile device (a device with Android 7.0, in a Chrome window size of 360x640, with slowed-down device CPU by a factor of four and simulating a slow 4G network speed). To reduce variability in measurements, each site was audited with five analysis runs. The median values were used in a further analysis, as our preliminary research showed this removes outliers effectively due to environmental noise and fluctuations. The analysis was conducted on landing pages only. The data collection process was run on a designated computer (Windows 10 Pro, 3.60GHz Intel Core i7-7700, 16 GB RAM) from 1 until 8 June 2021. The collection process took 400 hours, with 35,000 audits performed. 4 Results and Discussion To understand the use of images in web landscape better, we firstly present the results of the image analysis, 344 summarized in Table 1. The median number of websites‘ images being transmitted over the network to be displayed in the browser is 31 for desktop (mean=46.3; SD=53.7) and 26 for mobile sites (mean=39.5; SD=45.4), which represents about 38.9% and 35.3% of websites‘ total request count of all resources for desktop and mobile, respectively. It can be observed that the selected sites, on average, display fewer images on mobile devices in comparison to desktops. The median value of the size of all image resources per website is 0.75 MB for desktop (mean=1.88; SD=3.76) and 0.58 MB for mobile (mean=1.63; SD=3.52), representing around 46.9% and 40.7% of a website’s total resources‘ size for desktop and mobile, respectively. These findings are consistent with existing research [9], [11] discussing that images commonly contribute almost as much to the total website size as other resources, e.g., stylesheets, HTML, fonts, and scripts, combined. Although the ratio of image requests count to total requests count is smaller in comparison to the ratio of image resources size to all resources size, this shows that image resources are commonly more immense in terms of size than other resources; thus, each image resource has a more significant influence on a website’s total size than an average other resource. Based on the experimental results, we estimate that the size of a single image resource presented on a website is around 22 kB on desktop sites and 20.9 kB on mobile sites. Similar as the number of requests of image resources is slightly lower on mobile than desktop, image sizes are also lower on mobiles. This aligns with standard recommendations. Interesting trends are revealed when observing the aforementioned metrics split by ranking closely; a slight decreasing trend of the number of image resources per website can be observed when moving from more popular to less popular websites, while an increasing trend is observed for total images transfer size per website. These results show that, while more popular pages usually contain more images, image resources are smaller in size than image resources on less popular pages. This holds true for both mobile and desktop. This results in an increasing estimation of single image size with each rank; from 13.5 kB for R1 to 40.4 kB for R5 on desktop and from 11.9 kB for R1 to 39.1 for R5 on mobile, presenting an average increase of 31.6% and 34.7% for each ranking category for desktop and mobile, respectively. The presented results confirm that images are major contributors to site resources and overall website size; thus, their impact on performance can be significant if not optimized adequately. A closer look at the userperceived performance, as estimated by Google Lighthouse, showed a large discrepancy in results between desktop and mobile, as the median PS is 32.3 points lower for mobile compared to desktop. The median PS of analyzed websites in a desktop view is 80.7 (mean=75.5; SD=20.5). For a mobile view, it is alerting low, with a median of 48.4 (mean=50.5; SD=26.1). We further analyzed if any differences occur when comparing across different ranking categories; a decreasing trend is noticed, as the median PS for desktop is 86.4, 81.8, 80.3, 77.4, and Table 1: Median values of image-related metrics, describing the use of images on websites, split by device and ranking categories. Desktop Mobile R1 R2 R3 R4 R5 All R1 R2 R3 R4 R5 All Me. image request count Me. request count ratio* 32 41.7% 40 40.7% 34 38.1% 31 38.5% 23 34.6% 31 38.9% 23.5 35.8% 32 36.8% 28 35.1% 27 35.3% 22 33.1% 26 35.3% Me. all images size [MB] Me. images size ratio** 0.48 0.35% 0.67 0.44% 0.74 0.43% 1.00 0.55% 1.06 0.56% 0.75 46.9% 0.30 0.27% 0.50 0.37% 0.55 0.38% 0.85 0.50% 0.92 0.54% 0.58 40.7% 20.9 29.2 39.1 20.9 Me. single image size [kB] 13.5 17.2 21.6 30.1 40.4 22.0 11.9 16.4 Me. = Median * Request count ratio represents a ratio between image resources requests and other resources requests. ** Images size ratio represents a ratio between image resources size and other resources size. 76.3 for R1, R2, R3, R4, and R5, respectively, and the median PS for mobile is 52.9, 44.2, 48.6, 48.0, and 49.1 for R1, R2, R3, R4, and R5, respectively. This result is intuitive, as more popular sites are expected to be more optimized. Perfect PS was reached by 3% of observed sites on the desktop (N=106) and by only 0.8% on the mobile (N=28). From these websites, on the desktop, 41.5% of them are from the ranking group with the most popular websites. On the mobile, websites with perfect scores are fairly equally distributed across all ranking categories. The above presented experimental data hint that most websites have room for improvement, while the question remains open as to how much can be done with image optimization. Table 2 gives results on how much four different aspects of image optimization could aid performance tuning. Each of the four optimization opportunities is presented with the percentage of websites that could benefit from the optimization and further analyses based on data of sites where an opportunity can only be applied – the ratio of images, which the opportunity would address, to all images, and estimated savings in terms of size and time reduction per website and per single image on a website. A detailed overview of each image optimization opportunity revealed that, on the desktop, 52.4% of sites could be improved with sizing images properly, 32.9% with encoding images efficiently, 66.2% with using modern image formats, and 13.5% with deferring offscreen images. On the mobile, fewer sites could benefit from sizing images properly (38.1%), while more could encode images efficiently (36.1%), use modern image formats (69%), and defer offscreen images (33.8%). Where image opportunities can be employed, around 25.4%, 13.2%, 25%, and 11.6% image resources could be sized, properly encoded efficiently, use modern image formats, and defer offscreen images, respectively, on the desktop, while on the mobile 13.4%, 13%, 25%, and 19.5%. An increasing trend was observed between ranking categories for all four optimization opportunities, meaning that less popular sites could benefit more from these optimizations. Additionally, in general, more images on sites with lower ranks require optimization. On the average sites, 0.25 seconds and 348.5 kB could be saved if at least one of the optimization opportunities is employed on the desktop, while 1.07 seconds and 240.1 kB on the mobile. If normalizing savings per single image on a site, on average, this represents 0.03 seconds and 46.9 kB on the 345 desktop and 0.2 seconds and 41.4 kB on the mobile. For both mobile and desktop, estimated savings in size and time commonly increase with each popularity rank. From the four opportunities, using modern formats and sizing images properly provide the biggest savings, while efficiently ecoding and deferring offscreen images provide less. However, we argue that results show that all four optimization opportunities should be considered to improve performance, as all could provide significant savings. 5 Conclusion Images largely contribute to a website’s total resources and size. Using a large volume of images can lead to several web performance-related issues, as images are commonly not optimized to the fullest, despite standard optimization recommendations. Load time and size reductions could be realized by applying image optimization techniques. As we observed in the study, the biggest saving could be achieved by using modern image formats – 66% desktop and 69% mobile websites could benefit from this, with time and data savings of 0.32 seconds and 442.1 kB on desktop and 1.6 seconds and 337.6 kB on mobile. However, sizing images properly, encoding efficiently and deferring offscreen images could also provide considerable savings. We observed that lowerranked websites generally have higher potential savings, and more savings can be gained on mobile sites. The study’s findings encourage the use of image optimization techniques and further research on performance-based image optimization. In the paper, we only evaluated how each of the four image optimization opportunities alone could save in terms of size and time, therefore, it is a challenge to predict how combining these opportunities would impact savings and performance, which we aim to assess in the future research. Acknowledgments The authors acknowledge the financial support from the Slovenian Research Agency (Research Core Funding No. P2-0057). References [1] Google Developers, Why does speed matter?, 2020. [Online]. Available: https://web.dev/why-speedmatters/. Table 2: Percentage of websites with opportunity for image optimization, median percentage of images needing optimization, estimated savings (time and size) and normalized estimated savings per single image (time and size). Desktop Mobile R1 R2 R3 R4 R5 All R1 R2 R3 R4 R5 All 45.9% 24.7% 0.19 0.02 240.9 22.3 53.0% 22.2% 0.28 0.02 360.4 29.9 53.3% 22.5% 0.28 0.03 378.4 40.3 54.0% 28.8% 0.31 0.04 429.8 48.2 55.7% 26.1% 0.37 0.06 500.7 76.4 52.4% 25.4% 0.29 0.03 374.3 40.5 26.4% 12.5% 0.75 0.16 148.1 27.3 34.7% 12.2% 0.81 0.17 185.4 34.8 36.9% 12.7% 1.20 0.23 241.1 45.0 43.6% 14.1% 0.96 0.24 196.5 48.8 49.0% 14.3% 1.14 0.34 244.2 64.9 38.1% 13.4% 0.99 0.24 203.1 45.8 22.9% 8.2% 0.14 0.04 191.2 39.2 31.0% 9.3% 0.19 0.03 221.6 34.2 34.1% 14.1% 0.20 0.04 224.6 45.6 37.9% 13.6% 0.28 0.05 355.3 62.2 38.6% 16.7% 0.24 0.06 350.7 77.8 32.9% 13.2% 0.22 0.04 267.0 51.2 23.1% 8.8% 0.53 0.16 111.4 28.9 31.3% 10.2% 0.77 0.16 157.5 31.0 36.4% 14.8% 0.76 0.18 153.8 37.8 43.6% 13.5% 1.20 0.26 226.7 49.4 46.3% 16.7% 1.13 0.32 233.4 60.6 36.1% 13% 0.85 0.21 173.6 40.2 53.6% 15.0% 0.18 0.03 288.1 41.0 62.1% 19.2% 0.27 0.04 354.8 42.0 68.9% 23.1% 0.29 0.04 389.0 48.2 72.9% 30.0% 0.40 0.05 567.4 59.9 73.7% 34.1% 0.53 0.06 706.1 79.1 66.2% 25% 0.32 0.04 442.1 53.3 54.4% 15.0% 0.86 0.18 169.4 37.0 65.3% 18.3% 1.20 0.18 241.1 36.2 69.7% 24.2% 1.35 0.22 281.0 41.5 77.0% 30.8% 2.15 0.29 444.6 56.9 78.7% 36.4% 2.70 0.34 586.8 69.6 69% 25% 1.60 0.24 337.6 47.6 Properly sizing Percentage of sites Me. percentage of images Me. est. sav. [s] Norm. Me. est. sav. [s] Me. est. sav. [kB] Norm. Me. est. sav. [kB] Efficiently encoding Percentage of sites Me. percentage of images Me. est. sav. [s] Norm. Me. est. sav. [s] Me. est. sav. [kB] Norm. Me. est. sav. [kB] Using modern formats Percentage of sites Me. percentage of images Me. est. sav. [s] Norm. Me. est. sav. [s] Me. est. sav. [kB] Norm. Me. est. sav. [kB] Deferring offscreen images Percentage of sites 14.0% 17.3% 12.6% 12.9% Me. percentage of images 8.7% 12.3% 10.6% 12.4% Me. est. sav. [s] 0.12 0.14 0.24 0.18 Norm. Me. est. sav. [s] 0.02 0.2 0.04 0.03 Me. est. sav. [kB] 179.8 300.8 393.1 443.9 Norm. Me. est. sav. [kB] 27.5 30.5 58.1 65.3 Me. = Median; Me. est. sav. = Median estimated savings; Norm. Me. 11.0% 13.8% 0.22 0.04 465.1 58.1 est. sav. [2] Google, The need for mobile speed, 2016. [Online]. Available: https : / / www . blog . google / prod ucts/admanager/the-need-for-mobile-sp eed/. [3] T. Hoßfeld, F. Metzger, and D. Rossi, “Speed index: Relating the industrial standard for user perceived web performance to web qoe”, in 2018 Tenth International Conference on Quality of Multimedia Experience (QoMEX), 2018, pp. 1–6. [4] [5] [6] [7] P. Wang, M. Varvello, and A. Kuzmanovic, “Kaleidoscope: A crowdsourcing testing tool for web quality of experience”, in 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS), 2019, pp. 1971–1982. L. Borzemski and M. Kedras, “Measured vs. perceived web performance”, in Information Systems Architecture and Technology: Proceedings of 40th Anniversary International Conference on Information Systems Architecture and Technology, L. Borzemski, J. Światek, and Z. Wilimowska, Eds., Cham: Springer, 2020, pp. 285–301. H. Z. Jahromi, D. T. Delaney, and A. Hines, “How crisp is the crease? a subjective study on web browsing perception of above-the-fold”, in 2020 6th IEEE Conference on Network Softwarization (NetSoft), 2020, pp. 43–50. S. Wassermann, P. Casas, Z. B. Houidi, A. Huet, M. Seufert, N. Wehner, J. Schüler, S. Cai, H. Shi, J. Xu, T. Hossfeld, and D. Rossi, “Are you on mobile or desktop? on the impact of end-user device on web qoe inference 346 13.5% 33.6% 37.9% 34.4% 31.7% 31.6% 33.8% 11.6% 17.8% 18.2% 20.0% 20.7% 20.0% 19.5% 0.19 0.48 0.65 0.95 1.13 1.09 0.83 0.03 0.08 0.10 0.13 0.17 0.18 0.13 310.8 136.2 210.5 284.0 334.1 338.5 246.0 42.7 19.8 26.1 34.3 43.3 52.8 32.0 = Normalized median estimated savings per single image from encrypted traffic”, in 2020 16th International Conference on Network and Service Management (CNSM), 2020, pp. 1–9. [8] E. Mjelde and A. L. Opdahl, “Load-Time Reduction Techniques for Device-Agnostic Web Sites”, Journal of Web Engineering, vol. 16, no. 3–4, pp. 311–346, 2017. [9] HTTP Archive, 2021. [Online]. Available: https://h ttparchive.org/. [10] Google Developers, Performance audits, 2021. [Online]. Available: https://web.dev/lighthouse-per formance/. [11] A. Mendoza, K. Singh, and G. Gu, “What is wrecking your data plan A measurement study of mobile web overhead”, in 2015 IEEE Conference on Computer Communications, 2015, pp. 2740–2748. [12] C. Kelton, M. Varvello, A. Aucinas, and B. Livshits, “Browselite: A private data saving solution for the web”, in Proceedings of the Web Conference 2021, ser. WWW ’21, Ljubljana, Slovenia: Association for Computing Machinery, 2021, pp. 305–316. [13] Chrome User Experience Report, 2021. [Online]. Available: https://developers.google.com/web /tools/chrome-user-experience-report. Zasnova in izvedba pametne sidrne boje kot naprave IoT Januš Likozar1, Aleš Jaklič1 1 Fakulteta za računalništvo in informatiko, Univerza v Ljubljani, Večna pot 113, 1000 Ljubljana E-pošta: ales.jaklic@fri.uni-lj.si Abstract. We present design and implementation of a smart buoy IoT device for anchor monitoring of recreational vessels. All current solutions solve this problem by monitoring the position of the vessel itself, which is in many cases not reliable enough. Visual monitoring of the anchor requires diving. Our system solves this problem with a buoy attached to the anchor with a cable. The buoy is equipped with a GNSS module that tracks its geographic position in real time and an underwater IP camera, that also allows visual inspection of the anchor in real time. We developed a web and mobile application for user friendly interaction with the system and we experimentally evaluated the precision of positional data from the GNSS module 1 Uvod V delu bomo predstavili zasnovo in izvedbo pametne sidrne boje za nadzor položaja sidra. Podobne obstoječe rešitve, ki temeljijo na položaju plovila in ne sidra, so opisane v [5]. Shematski prikaz principa delovanja sistema prikazuje Slika 1. Z mobilno napravo (pametni telefon, tablica, prenosni računalnik) se uporabnik poveže na WiFi dostopno točko boje. Nato pa preko spletne oziroma mobilne aplikacije prejme alarm, če se sidro in posledično sidrna boja premakne. Sidro lahko nadzira tudi vizualno preko podvodne nadzorne kamere, ki lebdi nad sidrom. 2.1 Modul za vklop in izklop naprave Ker je celotna naprava napajana baterijsko in se boja večino časa nahaja v vodi, smo razvili namensko vezje, ki omogoča brezstični vklop in izklop celotnega sistema s pomočjo trajnega magneta in reed releja, programski vklop in izklop IP kamere ter spremljanje napetosti baterije. Shemo elektronskega zapaha prikazuje Slika 2. Sam zapah tvorita tranzistorja U2 ter Q4. Ko približamo magnet reed releju in se njegova kontakta skleneta, prične prevajati tranzistor Q1 in nato še U2 ter Q4 in s tem zapah preide v stanje, ko se naprava vključi. Ko je sistem enkrat vključen, lahko programsko preverjamo ponovno prisotnost magneta ob reed releju z branjem vhoda na GPIO20. Če je magnet prisoten več kot 2 sekundi, sprožimo ob odmiku magneta proces ugašanja operacijskega sistema naprave. V datoteki /boot/config.txt (dtoverlay=gpio-poweroff, gpiopin=16) lahko definiramo, da se ob zaključku ugašanja operacijskega sistema na GPIO16 pojavi kratek 100 ms impulz napetosti, ki preko tranzistorja Q3 odklene zapah in s tem odklopi baterijo od naprave. Slika 2. Shema vezja za brezstični vklop in izklop naprave Slika 1. Shematski prikaz sistema za nadzor sidra 2 Metodologija Računalniški sistem pametne sidrne boje sestavljajo: računalnik Raspberry Pi 4 z 2 GB pomnilnika RAM, modem Huawei E3372 LTE USB Stick za dostop do mobilnega internetnega omrežja, navigacijski modul za GNSS NEO-M9N proizvajalca U-Blox AG (Slika 4), ter IP podvodna kamera proizvajalca Barlus. ERK'2021, Portorož, 347-350 347 Slika 3. Vezje za merjenje napetosti baterije LiPo Za baterijo uporabljamo baterijo LiPo s 4 zaporedno vezanimi celicami (4S 2200 mAh). Njeno preostalo kapaciteto ocenjujemo preko izmerjene napetosti celotne baterije. Za merjenje uporabljamo preprost napetostni delilnik s kondenzatorjem za filtriranje visokofrekvenčnih motenj ter 12-bitni pretvornik AD MCP3002 (Slika 3). AD pretvornik je na Raspberry Pi povezan preko vodila SPI. 2.2 Modul za določanje položaja z GNSS Za določanje geografskega položaja sidrne boje smo izbrali GNSS modul NEO-M9N proizvajalca U-Blox AG (Slika 4). Modul lahko v dobrih pogojih za sprejem signalov GNSS doseže natančnost nekaj metrov [3]. Modul že vsebuje podporo za vodilo USB, tako da smo ga lahko neposredno priključili na USB vrata Raspberry Pi, kjer je programsko dosegljiv preko zaporednih vrat na /dev/ttyACM0. Za delovanje ne potrebuje nobenih dodatnih gonilnikov. Modul uporablja tako standardiziran protokol NMEA, kot tudi lastniški protokol proizvajalca - UBX. Slednji ponuja dostop do polne funkcionalnosti modula. Za naš namen smo uporabljali protokol UBX in sicer dve sporočili UBX-NAV-PVT (Navigation PVT Solution) ter UBX-NAV-GEOFENCE (Geofencing Status). Proizvajalec modula zagotavlja programsko opremo za konfiguracijo in testiranje modula U-Center na MS Windows operacijskem sistemu [4]. Za naš primer uporabe je polega samega geografskega položaja zelo pomemben še podatek o oceni natančnosti določenega položaja (Slika 5). Slika 4. GNSS modul NEO-M9N proizvajalca U-Blox AG Slika 5. Primer podatkov sporočila UBX-NAV-PVT prikazanih v programski opremi U-center 348 2.3 Podvodna IP kamera Za kamero smo izbrali podvodno kamero UW-S54DCSX30 proizvajalca Barlus z resolucijo 5 MP, ki smo jo s kablom UTP CAT5e neposredno povezali z Ethernet priključkom na Raspberry Pi. Kamera ima precej obsežen nabor nastavitev, ki so dosegljive preko spletnega vmesnika. Opremljena je tudi z belimi in IR LED za osvetlitev scene. Obe vrsti luči je možno programsko prižigati in ugašati preko preprostega vmesnika API, ki uporablja protokol HTTP. Sama slika se prenaša v živo preko protokola RTSP (Real Time Streaming Protocol) in jo lahko prikazujemo na odjemalcih s programsko opremo VLC oziroma s knjižnico libVLC. 2.4 Spletna aplikacija za uporabo sidrne boje Za namene demonstracije uporabe in testiranja sistema smo razvili spletno aplikacijo, ki prikazuje položaj boje oziroma sidra na zemljevidu [5]. Uporabnik lahko položaj sidra uporabi za definiranje geografske ograde z različnimi radiji. V primeru, ko boja zapusti definirano območje ograde z določeno verjetnostjo, modul GPS pošlje ustrezno sporočilo in s tem v spletni aplikaciji sproži vizualni in zvočni alarm. Programska oprema je sestavljena iz spletnega strežnika in spletnega odjemalca, ki teče v brskalniku. Tako smo omogočili uporabo mobilnih telefonov, tablic in prenosnih računalnikov kot odjemalcev. Strežniški program je napisan v programskem jeziku Python in uporablja ogrodje za gradnjo spletnih aplikacij Flask [6], za sam spletni strežnik pa uporabljamo WSGI http strežnik Gunicorn [7]. Naš program tako komunicira z modulom GNSS preko protokola UBX in ustrezne podatke posreduje odjemalcu preko zahtev HTTP. Spodaj je opisanih nekaj glavnih dostopnih točk: /index in /camera: Glavni dve točki, preko katerih odjemalec prejme spletno aplikacijo. Prva za pogled na zemljevidu, druga pa za pogled skozi kamero. /status: Strežnik enkrat na sekundo komunicira z modulom GNSS, ki pošilja trenutni položaj, nastavljeno območje geografske ograde sidra ter ali je modul znotraj te ograde. Strežnik si shranjuje te podatke in ob prejeti zahtevi odjemalca posreduje zadnje pridobljene podatke. /history: Enkrat na minuto si strežnik shrani trenutni položaj boje. Ob zahtevi na to točko strežnik odjemalcu pošlje celotno zgodovino položajev od zagona sistema. /anchor: Ob prejemu zahteve na to točko strežnik na modulu GNSS nastavi območje geografske ograde na trenutno lokacijo s podanim radijem. Če je radij 0, se to območje odstrani. Spletna aplikacija za odjemalce je napisana v jeziku JavaScript in uporablja knjižnice Bootstrap za oblikovanje strani ter Mappa [8] za prikaz in risanje po zemljevidu. Čez celoten zaslon na aplikaciji je izrisan zemljevid. V vrstici pod zemljevidom so nastavitve za strežnik, kjer lahko nastavimo trenuten položaj boje kot položaj sidra, prikažemo zgodovino premikanja sidra, ugasnemo sistem in ostale nastavitve (Slika 6). Ko nastavimo sidro, se na trenutnem položaju pokaže krog z izbranim radijem, ki označuje geografsko ogrado - dovoljeno območje boje. Dokler je boja znotraj območja, je krog prozoren, ko je na robu, je siv, ko je zunaj pa rdeč. Poleg tega se nam, ko zapusti območje, sproži zvočni in vizualni alarm. Tako ne more delovati v ozadju in ne more prejemati videa iz kamere preko protokola RTSP. V ta namen smo po spletni aplikaciji razvili še mobilno aplikacijo za Android pametne telefone in tablice z uporabo knjižnice libVLC [9]. Tako lahko gledamo video sliko v živo in prejmemo obvestilo oziroma alarm tudi, ko je zaslon izključen ali pa telefon uporabljamo za kaj drugega (Slika 7). 3 Eksperimentalni rezultati Natančnost našega sistema smo preverili eksperimentalno. Sistem smo postavili zunaj na prosto brez večjih ovir v bližini in si eno uro zapisovali lokacijo in predvideno natančnost modula enkrat na sekundo. Sistem je ves čas miroval. Slika 8. Graf predvidene natančnosti modula . Slika 6. Prikaz spletne aplikacije na pametnem telefonu Na vrstici nad zemljevidom se lahko premaknemo na stran s kamero. Kamera že vsebuje svoj strežnik, preko katerega lahko zahtevamo trenutno sliko. Odjemalec zahteva sliko enkrat na sekundo, in jo prikaže čez celotno stran. 2.5 Predvidena natančnost modula (Slika 8) se giblje nekje med 3 in 4.5 metri, povprečna natančnost pa je bila 3.64 metra. Mobilna aplikacija za uporabo sidrne boje Spletna aplikacija ima svoje prednosti, ampak ne podpira vseh funkcij, ki jih potrebujemo za praktično uporabo naprave. Slika 9. Graf odmika geografske širine Slika 10. Graf odmika geografske dolžine Slika 7. Prikaz mobilne aplikacije na pametnem telefonu 349 Lokacija je predstavljena kot odmik od povprečne lokacije (Slika 9 in Slika 10). Povprečni odmik geografske dolžine je 0.51 metra, širine pa 0.93 metra. 4 Zaključek in nadaljnje delo Uspelo nam je zasnovati in izdelati cenovno dostopen prototip pametne sidrne boje, ki ustreza konceptu najosnovnejšega sprejemljivega produkta (MVP) (Slika 14). Nadaljnje izboljšave prototipa bodo zasnova elektronike in programske opreme za brezžično polnjenje baterije sistema ter izboljšava natančnosti modula za določanje geografske lokacije. Pri slednjem bomo spremljali razvoj sistema European Geostationary Navigation Overlay Service (EGNOS) in preučili možnost hkratne uporabe inercialne navigacije ter računalniškega vida [10], ki bi lahko zaznale oranje sidra po morskem dnu in s tem še hitreje opozorile uporabnika, da sidro ne drži dobro. Slika 11. Graf odmika lokacije od povprečne predvidene lokacije Na Sliki 11 je predstavljen absoluten odmik od povprečne predvidene lokacije modula. Povprečen odmik je bil 0.88, največji pa 3.2 metra. Distribucija odmikov, je predstavljena na Sliki 12. Slika 14. Prototip pametne sidrne boje Slika 12. Histogram odmikov lokacije sistema Literatura Slika 13. Graf predvidenih lokacij modula Na Sliki 13 je grafični prikaz lokacije sistema tekom eksperimenta v 2D ravnini. Iz rezultatov lahko razberemo, da je bila povprečna natančnost modula še boljša, kot pa je bila predvidena na modulu. 350 [1] https://www.raspberrypi.org/documentation/configuration/ wireless/access-point-bridged.md (dostopno 27. 7. 2021) [2] Configure the RPi as a Local Network Access Point (wired and wireless) - Raspberry Pi Forums, https://www.raspberrypi.org/forums/viewtopic.php?f=36 &t=271865 (dostopno 27. 7. 2021) [3] https://www.u-blox.com/en/product/neo-m9n-module (dostopno 27. 7. 2021) [4] https://www.u-blox.com/en/product/u-center (dostopno 27. 7. 2021) [5] J. Likozar: Nizkocenovni računalniški sistem za slikovno podvodno opazovanje, Diplomsko delo, Fakulteta za računalništvo in informatiko, Univerza v Ljubljani, 2020 [6] https://palletsprojects.com/p/flask/ (dostopno 27. 7. 2021) [7] https://gunicorn.org/ (dostopno 27. 7. 2021) [8] https://mappa.js.org/ (dostopno 27. 7. 2021) [9] https://www.videolan.org/vlc/libvlc.html (dostopno 27. 7. 2021) [10] P. Henkel, A. Sperl, U. Mittmann, R. Bensch and P. Färber, "Precise Positioning of Robots with Fusion of GNSS, INS, Odometry, LPS and Vision," 2019 IEEE Aerospace Conference, 2019, pp. 1-6, doi: 10.1109/AERO.2019.8741724. Razpoznavanje vzorcev Pattern Recognition Frequency Band Encoding for Face Super-Resolution Klemen Grm1 , Vitomir Štruc1 1 University of Ljubljana, Faculty of Electrical Engineering E-mail: klemen.grm@fe.uni-lj.si Abstract In this paper, we present a novel method for face superresolution based on an encoder-decoder architecture. Unlike previous approaches, which focused primarily on directly reconstructing the high-resolution face appearance from low-resolution images, our method relies on a multistage approach where we learn a face representation in different frequency bands, followed by decoding the representation into a high-resolution image. Using quantitative experiments, we are able to demonstrate that this approach results in better face image reconstruction, as well as aiding in downstream semantic tasks such as face recognition and face verification. 1 Introduction Face super-resolution is a subset of the general singleimage super-resolution problem. By itself, single-image super-resolution is the inverse problem of recovering a high-resolution image given a low-resolution (e.g., subsampled) version of it. The single-image super-resolution problem is highly ill-posed, since a single low-resolution image can correspond to many different high-resolution images - for a given sub-sampling factor f , the ratio of information from the high-resolution image retained in the low resolution image is at most f12 given perfect sampling and anti-aliasing strategies. Unlike the general singleimage super-resolution problem, however, its domain specific subsets such as face super-resolution allow us to use the constraints on the high-resolution image appearance such as face identity information [2] or face component segmentation [8] to constrain the solution space and achieve better high-resolution reconstruction at higher magnification ratios than are typically considered in general single-image super-resolution applications. Existing work on super-resolution methods based on machine learning techniques (e.g., [3, 12, 6, 7, 13]) typically consists of generating pairs of aligned low-resolution and high-resolution images x and y, respectively, by starting with a high-resolution image dataset and downsampling the images through a process (a) (b) (c) (d) Figure 1: Output samples of the proposed face super-resolution method. The figure depicts the input low-resolution images (a), interpolated to the output resolution using bicubic interpolation (b), compared against the results of the proposed method (c) and the high-resolution groundtruth (d). is the sub-sampling factor, and N is a noise component. Given the generated dataset of (x, y) pairs, a differentiable model mθ with free parameters θ is then trained to approximate the inverse process, i.e., to predict an approximation of the high resolution image ŷ given a lowresolution image x as an input, ŷ = mθ (x), (2) by setting the model parameters, θ through gradient descent on the loss function, typically a distortion measure between the model predictions and the ground-truth high-resolution images, e.g., p x = Hy ↓d + N, L(x, y) = kmθ (x) − ykp , (1) where H is an image filtering operator (e.g., the Gaussian or Lanczos filters), ↓ is the sub-sampling operator, d ERK'2021, Portorož, 352-355 352 (3) where p is the order of the norm used to measure the distortion between the model approximations and expected (i.e., groundtruth) high-resolution images. HR Encoder Decoder HR Image 192*192*3 + + HR Image 192*192*3 Figure 2: The architecture of the HR encoder and universal decoder segments of our model. The HR encoder produces the highand low-frequency components of the face representation, where the high-frequency component is derived from the earlier layers of the network with smaller receptive fields, whereas the low-frequency component of the representation is derived from the final output of the convolutional backbone. LF Encoder LR Image 24*24*3 image reconstruction task using distortion metrics, as well as on downstream semantic tasks, to demonstrate the effectiveness of our approach. + 2 Methodology 2.1 Datasets We use the VGGFace2 [1] dataset to train our proposed method. We use the dataset because of its relatively large CAT + size (3.31 million images of 9131 subjects) compared to datasets commonly used for face super-resolution training such as Casia WebFace [15] and CelebFacesA [9], as well as higher-quality images overall in terms of sharpFigure 3: The architecture of the low-resolution encoder and ness. A large dataset of diverse, high-quality images is segment of our model. The LR encoder produces the high- and low-frequency components of the face representation from an needed to best make use of large model capacity. We input LR image by using two sub-models in a cascaded residual use the VGGFace2 test set (with non-overlapping subsetup. jects with regards to the training set) to evaluate the reconstruction capability of our model. Furthermore, we Unlike previous approaches, our proposed method sep- also use the LFW dataset [5] to evaluate the utility of our arates the training of the upsampling model, mθ , into two proposed method to downstream semantic tasks, i.e., to steps, namely, i) learning an appropriate representation face recognition. In order to downsample the high-resolution images of face images for high-resolution reconstruction, and ii) (to generate the corresponding low-resolution inputs), we performing the high-resolution reconstruction given the perform the following steps: representation. This approach has several advantages over the end-to-end approach. Firstly, the representation can 1. Resize the image to 256px along the short side, be derived only using high-resolution images and autoenmaintaining the aspect ratio of the original coder training, without involving a synthetic downsam2. Extract a random 192px square crop from the impling process such as (1). Secondly, our chosen encoder age architecture explicitly splits the representation of highand low-frequency bands of the input image, allowing 3. Flip the image horizontally with probability 0.5 (at both to be retained in the representation, which in turn althis step, the image represents the HR part of the lows the decoder to learn sharper reconstructions. Thirdly, (x, y) pair) given a trained decoder that produces high-resolution images given a face image representation, we could then 4. Perform Gaussian filtering on the HR image, with in principle train different encoders for images of differσ ∼ U(3, 4) and kernel size k = d4σe + 1 ent resolution or quality levels, as opposed to a universal 5. Downsample the filtered image by a factor of 8 usmodel, allowing more fine-tuned results without needing ing bicubic resampling different reconstruction models. To summarize, the key contributions of this paper are 6. Desaturate the image contrast by a random factor f ∼ U(0.5, 1) 1. We propose a novel, encoder-decoder based archi- HF Encoder tecture for the face super-resolution problem, 2. We present a training process that allows our model to learn face image representations with the explicit separation of information content from the highand low- frequency bands of the input image, 3. We evaluate the proposed method on the standard 353 10 7. Add Gaussian white noise with σ ∼ U(0, 255 ) to each color channel of the low-resolution image. 2.2 Model architecture The overall architecture of the proposed model is illustrated in Figures 2 and 3. The model is comprised of three main components, namely, The HR encoder, which produces a band-separated face representation zLF ||zHF given a high-resolution input face image. The CNN backbone is based on the VGGFace [11] architecture, which has proven to be more useful for perceptual tasks and style transfer than newer image recognition models based on deep residual learning [10]. The high-frequency band of the representation is extracted from the earlier layers of the convolutional backbone, where the network has a limited receptive field and therefore lacks the capability to learn the low-frequency global structure of the image. In contrast, the low-frequency band of the face representation is derived from the final output of the convolutional backbone. The Universal decoder, which is trained to reconstruct a high-resolution image given the corresponding face representation. In order to avoid having to encode spatial information into latent vectors and the decoder having to interpret the spatial information, we opt to retain the spatial relations of the entries in the face representation by keeping it in its tensor form, i.e., given an input image IHR ∈ R192×192×3 , it is the case for the face representations that zHF ∈ R24×24×8 and zLF ∈ R24×24×8 . We decode the face representation into a highresolution image using a modified EDSR [7] network where the first layer is changed to accept the 8-channel lowfrequency band of the representation, whereas the highfrequency band of the representation is passed directly to a subpixel convolution [12] upsampling module, whose output is added to the final result of the decoder. The LR encoder, which is trained to produce a face representation ẑLF ||ẑHF given an input low-resolution image. The encoder consists of two sub-models, which produce the respective frequency bands of the encoding. Both share the same architecture, i.e., an EDSR-like [7] convolutional backbone, without the upsampling module, since the spatial resolution of the face representation is already equal to the spatial resolution of the input low-resolution images. The low-frequency band of the approximated representation is derived directly from the LF encoder. Then, ẑLF is concatenated to the input low-resolution image along the channel axis and used as an input to the HF encoder. This allows the HF encoder to use information about which parts of the image are already encoded in the low-frequency band of the representation and focus on refining the output image. The final approximation of the representation, ẑLF ||ẑHF , can then be used as an input to the universal decoder. 2.3 Training procedure We begin training our model with autoencoder training of the HR encoder and universal decoder, as illustrated in Figure 2. This combined model is trained to reconstruct high-resolution images presented to the HR encoder as input. We begin by only training the low-frequency band of the representation. Once the training converges, the high-frequency band path is activated to further refine the results. In Figure 4, we show an image reconstructed using the HR encoder and universal decoder. Using this architecture, we are able to achieve near-perfect reconstructions of high-resolution images (SSIM > 0.99), 354 (a) (b) (c) (d) Figure 4: A reconstructed high-resolution image using our HR encoder and universal decoder. The figure depicts (a) the output of the decoder given only the low-frequency band of the face representation, (b), the full output of the decoder, (c) the groundtruth high-resolution image, and (d) the difference between the outputs from low-frequency only and full representations. which means the decoder is well-suited for the face superresolution tasks. We use the L1 loss to train the HR encoder and universal decoder with gradient descent, i.e., L(y, ŷ) = Ey∼T |y − ŷ| = Ey∼T |y − mDEC (mEN CHR (y))| , (4) where the image y is considered as a sample of the training set T . Once the universal decoder is initialized through highresolution autoencoder training, we train the low-resolution encoder model to produce approximations of the face representation from a low-resolution image, ẑLF ||ẑHF . As above, the representations are passed to the universal decoder to produce a reconstruction of the high-resolution image. To train the low-resolution encoder, we use a combination of L1 loss per-pixel on the reconstructed image, and a cycle consistency loss by passing the reconstructed image back to the high resolution encoder. The full loss is L(x, y) = λ1 |y − ŷ| + λ2 LCY C (x, y) = λ1 |y − mDEC (mEN CLR (x))| (5) + λ2 LCY C (x, y), where LCY C is the cycle consistency loss, i.e., LCY C (x, y) = |mEN CHR (y) − mEN CHR (ŷ)| = |mEN CHR (y) − mEN CHR (mDEC (mEN CLR (x)))| , (6) and λ1 and λ2 are weights of the pixel loss and the cycle consistency loss, respectively. Using a logarithmic grid search, we experimentally set λ1 = 10−3 , λ2 = 1. The model is trained using the Adam [4] gradient descent optimization method, using a learning rate of 10−4 and batch size of 64, until convergence. 3 Results We evaluate the high-resolution face reconstruction capabilities of our model on the VGG2 test set, which contains 169 396 images of 500 subjects, disjoint from the Method Bicubic interpolation EDSR [7] C-SRIP [2] FBE-FSR (proposed) SSIM 0.5921 0.6487 0.6991 0.7531 Table 1: Image restoration results on the VGG2 test set. SSIM results closer to 1 indicate better face super-resolution performance. Method Bicubic interpolation EDSR [7] C-SRIP [2] FBE-FSR (proposed) Original HR Images Verification accuracy (µ ± σ) 0.8417 ± 0.0101 0.9137 ± 0.0079 0.9341 ± 0.0052 0.9465 ± 0.0059 0.9936 ± 0.0042 Table 2: Face verification results on the LFW dataset. Results on the original high-resolution images are included for comparison against restored low-resolution images. (a) (b) (c) (d) (e) Figure 5: A qualitative comparison of our proposed method with the next best tested method. The figure depicts LR input images (a), results of bicubic interpolation (b), C-SRIP (c), the proposed method (d), and the HR image (e). In terms of future work, we plan on extending the method by adapting additional encoder methods for specific image degradation pipelines, and extending the training framework with generative adversarial objectives. References training set. We generate LR images using the same process outlined in section 2.1. We measure the distortion between the groundtruth high-resolution images and the outputs of our model using the Structural Similarity Index (SSIM [14]) metric, the literature standard for evaluating reference-based image restoration algorithms. We compare the restoration results against competing algorithms in Table 1. We note that in comparison to the CSRIP [2] model, the proposed method is able to perform more convincing face image restoration on edge cases such as extreme pose (profile images), face occlusion, and face scale variation. We show some qualitative comparisons of the model output in the Figure 5. We also evaluate the proposed method in terms of its utility to downstream semantic computer vision tasks, i.e., face recognition. We use the LFW [5] dataset for this experiment, because it is considered a “solved” dataset in the sense that modern face recognition models achieve near 100% verification accuracy, and we are mainly interested in the amount of performance degradation on downsampled and super-resolved images. We downsample the images using a similar algorithm as outlined above, except the 192px crop is always central, since the face images are already aligned. Next, we perform image restoration on the generated LR images, and perform the standard LFW face verification experiment using a pretrained VGG2-SENet-101[1] pre-trained face feature extraction model. The verification accuracy of the considered methods (in terms of mean and standard deviation over the 10-fold evaluation protocol) are compared in Table 2. 4 Conclusion We have presented FBE-FSR, a novel method for face image super-resolution based on frequency component separation in the latent-space of an encoder-decoder architecture. We have shown that our proposed method is capable of outperforming our previous work and competing methods in terms of image restoration capability and utility for downstream vision tasks. 355 [1] Q. Cao, L. Shen, W. Xie, O. M. Parkhi, and A. Zisserman. Vggface2: A dataset for recognising faces across pose and age. In 2018 13th IEEE international conference on automatic face & gesture recognition (FG 2018), pages 67–74. IEEE, 2018. [2] K. Grm, W. J. Scheirer, and V. Štruc. Face hallucination using cascaded super-resolution and identity priors. IEEE Transactions on Image Processing, 29:2150–2165, 2019. [3] J. Kim, J. K. Lee, and K. M. Lee. Accurate image super-resolution using very deep convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1646–1654, 2016. [4] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. [5] G. Learned-Miller. Labeled faces in the wild: Updates and new reporting procedures. University of Massachusetts, Amherst, Tech. Rep. UM-CS-2014-003, 2014. [6] C. Ledig, L. Theis, F. Huszár, J. Caballero, A. Cunningham, A. Acosta, A. Aitken, A. Tejani, J. Totz, Z. Wang, et al. Photorealistic single image super-resolution using a generative adversarial network. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4681–4690, 2017. [7] B. Lim, S. Son, H. Kim, S. Nah, and K. Mu Lee. Enhanced deep residual networks for single image super-resolution. In Proceedings of the IEEE conference on computer vision and pattern recognition workshops, pages 136–144, 2017. [8] L. Liu, S. Wang, and L. Wan. Component semantic prior guided generative adversarial network for face super-resolution. IEEE Access, 7:77027–77036, 2019. [9] Z. Liu, P. Luo, X. Wang, and X. Tang. Large-scale celebfaces attributes (celeba) dataset. Retrieved August, 15(2018):11, 2018. [10] A. Mordvintsev, N. Pezzotti, L. Schubert, and C. Olah. Differentiable image parameterizations. Distill, 2018. https://distill.pub/2018/differentiable-parameterizations. [11] O. M. Parkhi, A. Vedaldi, and A. Zisserman. Deep face recognition. 2015. [12] W. Shi, J. Caballero, F. Huszár, J. Totz, A. P. Aitken, R. Bishop, D. Rueckert, and Z. Wang. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1874–1883, 2016. [13] X. Wang, K. Yu, S. Wu, J. Gu, Y. Liu, C. Dong, Y. Qiao, and C. Change Loy. Esrgan: Enhanced super-resolution generative adversarial networks. In Proceedings of the European conference on computer vision (ECCV) workshops, pages 0–0, 2018. [14] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli. Image quality assessment: from error visibility to structural similarity. IEEE transactions on image processing, 13(4):600–612, 2004. [15] D. Yi, Z. Lei, S. Liao, and S. Z. Li. Learning face representation from scratch. arXiv preprint arXiv:1411.7923, 2014. Analiza robustnosti globokih nenadzorovanih metod za detekcijo vizualnih anomalij Jakob Božič, Vitjan Zavrtanik, Danijel Skočaj Fakulteta za računalništvo in informatiko, Univerza v Ljubljani E-pošta: {jakob.bozic, vitjan.zavrtanik, danijel.skocaj}@fri.uni-lj.si Analysis of robustness of deep unsupervised methods for visual anomaly detection Unsupervised generative methods have recently attracted significant attention in the field of industrial visual anomaly detection, mainly owing to their ability to learn from non anomalous data withouth requiring anomalous samples and pixel-level labels, which are costly to obtain. An assumption that anomalous data are always correctly identified and consequently removed from the training set underlies all of the generative methods. In practice, however, correctly identifying every single anomalous image can either be very costly to do or it can not be done at all due to the nature of the problem. In this paper, we analyze how robust some of the recently proposed generative methods for anomaly detection are, by introducing anomalous data in the training process. Our analysis covers 3 methods and 4 datasets with 8 categories in total, and we conclude that while some of the methods are more robust than others, introducing a minor percentage of anomalous data in the training set does not significantly deteriorate the performance. 1 Uvod Detekcija anomalij v slikah naslavlja problem identifikacije primerov, ki odstopajo od pričakovanega izgleda; na ta problem pogosto naletimo pri detekciji površinskih napak na izdelkih pri nadzoru kvalitete na proizvodnih linijah. V zadnjem obdobju je bilo razvitih veliko metod, ki temeljijo na paradigmi globokega učenja, primernih za detekcijo izstopajočih slik ter lokalizacijo anomalnih regij v slikah. Metode se po načinu delovanja v grobem delijo na dva dela: diskriminativne metode, ki modelirajo predstavitev tako normalnih kot anomalnih primerov ter nato razlikujejo med temi, in generativne metode, ki modelirajo le predstavitev normalnih primerov, detekcijo anomalij pa nato izvajajo z ocenjevanjem odstopanja predstavitve primera od pričakovane. Zbiranje množice anomalnih primerov, ki ustrezno predstavljajo porazdelitev možnih napak, je v praksi lahko težko izvedljivo, saj se anomalni primeri praviloma pojavljajo redko, posledično pa diskriminativne metode ne zmorejo dovolj dobro modelirati predstavitve anomalnih primerov. Dodaten problem za diskriminativne metode predstavlja tudi potreba po označevanju na nivoju slikovnih elementov, kar zahteva veliko vloženega dela, ERK'2021, Portorož, 356-359 356 zato se namesto diskriminativnih metod vse bolj uveljavljajo generativne metode, ki teh dveh problemov nimajo. Za učenje predstavitve normalnih primerov generativne metode učimo le na normalnih primerih, kar pomeni, da moramo pred učenjem vse učne primere podrobno pregledati, morebitne anomalne primere pa izločiti. To je lahko časovno zelo potratno, poleg tega pa je včasih za nekatere primere težko oz. skoraj nemogoče natančno določiti, ali so normalni ali anomalni. V dosedanji literaturi [4, 7, 3] se predpostavlja, da je proces izločanja anomalnih primerov iz učne množice izveden brez napak, kar pa je v praksi pogosto nemogoče zagotoviti. V tem prispevku zato analiziramo robustnost generativnih metod na prisotnost anomalnih primerov med učenjem (slika 1). Slika 1: Proces zbiranja in ročnega izbiranja normalnih primerov za učenje generativnih metod. Navadno predpostavljamo, da proces poteka brez napak [7, 4, 3], kar pa je v realnih situacijah včasih nemogoče zagotoviti. Analizirali bomo, kaj se zgodi, če v učni množici ostanejo anomalni primeri. 2 Analizirane generativne metode Generativne metode modelirajo predstavitev normalnih primerov. Med seboj jih razlikujemo po dveh ključnih lastnostih; načinu predstavitve in merjenju odstopanja od normalnosti. Razvitih je bilo veliko generativnih metod, analizirali bomo tri metode, ki so bile nedavno predlagane in dosegajo odlične rezultate. RIAD RIAD (Reconstruction by Inpaiting for Anomaly Detection) [7] se predstavitve normalnih primerov uči preko globoke nevronske mreže, ki je naučena, da dopolnjuje manjkajoče regije v sliki (angl. inpainting). Med učenjem se na normalnih slikah posamezne regije maskira (vse slikovne elemente v regiji se nastavi na 0), od mreže pa pričakujemo, da bo iz konteksta sosednih regij znala rekonstruirati maskirano regijo. Predpostavljamo, da se bo mreža tako naučila rekonstruirati normalne regije, anomal- nih pa ne, saj le-te niso prisotne med učnimi primeri. V fazi razpoznave sliko, za katero nas zanima, ali je anomalna ali ne, najprej razbijemo na več kopij, v vsaki kopiji je nekaj regij maskiranih, nekaj pa ne, vsaka regija pa je maskirana v natančno eni kopiji. Nato vse maskirane regije v vseh kopijah rekonstruiramo z naučeno mrežo, iz rekonstruiranih regij pa sestavimo rekonstrukcijo celotne slike. Oceno anomalnosti slike dobimo tako, da izmerimo odstopanje prvotne slike od rekonstruirane. Gaussian AD Metoda, predlagana v [4], uporablja za predstavitev primerov prednaučeno nevronsko mrežo. Posamezne primere opiše z značilkami, ki jih proizvede mreža, ki je bila diskriminativno učena za razpoznavanje različnih kategorij slik na podatkovni zbirki ImageNet. Značilke, pridobljene na normalnih slikah, nato opiše z multivariantno Gaussovo porazdelitvijo in tako zgradi model normalnosti. V fazi razpoznave za sliko, za katero nas zanima, ali je anomalna ali ne, najprej pridobimo značilke iz prednaučene mreže, nato pa izračunamo odstopanje od normalnega modela s pomočjo Mahalanobisove razdalje. Metoda daje zelo dobre rezultate za razpoznavo, slabost metode pa je pomanjkanje vpogleda v njeno delovanje, saj deluje v prostoru značilk, posledično je tudi ne moremo uporabiti za lokalizacijo anomalnih regij. U. A. (1%, 5%, 10%, 20%) T. N. T. A. 150 2, 8, 15, 30 26 70 150 2, 8, 15, 30 41 59 2, 8, 15, 30 28 44 Zbirka Kategorija pill MVTec AD screw carpet 150 DAGM U. N. leather 150 2, 8, 15, 30 32 46 9 250 3, 13, 25, 50 1000 150 10 250 3, 13, 25, 50 1000 150 KolektorSDD2 / 250 3, 13, 25, 50 894 110 BSData / 250 3, 13, 25, 50 210 75 Tabela 1: Povzetek podatkovnih zbirk, na katerih je bila izvedena analiza. Okrajšave U. N., U. A., T. N. in T. A. predstavljajo števila učnih normalnih, učnih anomalnih, testnih normalnih in testnih anomalnih slik. eksperimenta. Dodatno smo zaradi velikega števila eksperimentov omejili število normalnih primerov v učnih množicah za preostale kategorije na 250. Kjer je bilo mogoče, smo ohranili prvotne testne množice, zato v nekaterih kategorijah vsebujejo veliko več primerov kot učne. 3.1 Podatkovne zbirke PaDiM PaDiM (Patch Distribution Modeling Framework for Anomaly Detection and Localization) [3] je po delovanju podobna prejšnji metodi, saj se ravno tako nauči porazdelitve značilk iz prednaučene nevronske mreže. Metoda poleg detekcije omogoča tudi lokalizacijo anomalij, saj se nauči normalnosti za posamezne regije, ne le za celotno sliko. V fazi razpoznave za sliko, za katero nas zanima, ali je anomalna ali ne, najprej pridobimo značilke iz prednaučene mreže, nato pa za vse regije izračunamo odstopanje od normalnosti. Za vsako regijo tako dobimo stopnjo odstopanja, kar nam omogoča lokalizacijo, maksimalna stopnja za regijo pa predstavlja tudi končno oceno anomalnosti celotne slike. 3 Eksperimenti Temeljito analizo robustnosti metod smo izvedli na 4 podatkovnih bazah, iz katerih smo izbrali skupno 8 kategorij. Za vse izbrane kategorije smo preverili robustnost metod, če je učni množici dodanih 1%, 5%, 10% ali 20% anomalnih primerov. Za vsako kombinacijo metode, kategorije in deleža anomalnih primerov smo izvedli 5 ponovitev eksperimenta, s tem smo omejili vpliv naključnosti, ki lahko izvira ali iz naključnosti metode, ali iz izbire različnih primerov za učno množico. Za vsako izmed 5 ponovitev eksperimenta smo iz nabora vseh normalnih in anomalnih primerov v prvotni učni množici naključno izbrali podmnožici normalnih in anomalnih primerov ustrezne velikosti. Za podatkovno bazo MVTec smo število učnih normalnih primerov omejili na 150, saj kategorije ne vsebujejo dovolj primerov, da bi lahko zagotovili večjo heterogenost pri selekciji učnih podmnožic za ponovitve 357 Slika 2: Primeri slik iz podatkovnih zbirk, uporabljenih za analizo. Za vsako kategorijo je prikazana po ena anomalna slika, anomalne regije so obkrožene z rdečo barvo. 3.1.1 MVTec AD Podatkovna zbirka MVTec AD [1] vsebuje 15 različnih kategorij, 4 kategorije predstavljajo teksture, preostalih 11 pa predmeti. Kategorije vsebujejo različna števila učnih in testnih slik, zaradi majhnega števila primerov v nekaterih kategorijah smo se omejili na 2 kategoriji tekstur in 2 kategoriji predmetov, ki vsebujejo največ slik, saj lahko tako simuliramo dodajanje anomalnih primerov v učno množico. Za izbrane kategorije smo novo testno množico sestavili iz vseh normalnih testnih primerov in iz polovice anomalnih testnih primerov, preostali anomalni testni primeri pa so bili postopoma dodani v učno množico. Učno množico za vsako kategorijo smo sestavili iz 150 normalnih primerov in 2, 8, 15 ali 30 anomalnih primerov. 3.1.2 KolektorSDD2 Podatkovna zbirka KolektorSDD2 [2] vsebuje več kot 3000 slik površine izdelka iz industrijske aplikacije. Površina na slikah je praviloma uniforma, večina anomalnih regij pa zavzema le manjši del slike. V naših eksperimentih smo ohranili prvotno testno množico, ki vsebuje 894 normalnih in 110 anomalnih primerov, učno množico pa smo skrčili na 250 normalnih primerov in 3, 13, 25 ali 50 anomalnih primerov. 3.1.3 DAGM Podatkovna zbirka DAGM [6] vsebuje 10 kategorij umetno generiranih površin in anomalij. Površine in anomalije se razlikujejo med kategorijami, v vseh pa se videz površin znotraj kategorije ne spreminja, anomalije pa zavzemajo le majhen del slike. Uporabili smo le zadnje dve kategoriji, 9. in 10., ohranili smo prvotni testni množici, učni množici pa smo skrčili na 250 normalnih primerov in 3, 13, 25 ali 50 anomalnih primerov. tako da se mreža tudi na anomalnih slikah v večini uči rekonstrukcije normalnih regij. Ker je mera AUC neodvisna od praga, ki loči normalne in anomalne primere, je končni rezultat odvisen le od razvrstitve testnih primerov, tako da izboljšana rekonstrukcija anomalnih regij zaradi dodajanja anomalnih primerov ne vpliva ključno na rezultat. Opazimo lahko tudi, da so intervali napake pri rezultatih metode večji kot pri ostalih dveh metodah, kar gre pripisati dodatnemu viru naključnosti, ki izhaja iz naključne inicializacije nevronske mreže in naključnega vrstnega reda slik med učenjem za vsako ponovitev eksperimenta. Ravno ta naključnost je najbrž vzrok za rahlo izboljšanje rezultata na podatkovni zbirki M-Carpet ob povišanju števila anomalnih slik, ki imajo lahko tudi regularizacijski efekt. Na sliki 3 so prikazani rezultati eksperimentov za metodo RIAD. Prikazana so povprečja in standardni odkloni 5 ponovitev eksperimenta, zaradi boljše preglednosti so točke rahlo zamaknjene levo in desno. Skrajno leve točke predstavljajo AUC, ko učna množica ne vsebuje anomalnih primerov, nadaljnje pa AUC ob dodajanju naraščajočega števila anomalnih primerov v učno množico. 3.1.4 BSData Podatkovna zbirka BSData [5] vsebuje 1035 slik delov krogličnega navojnega vretena (angl. ball screw), od katerih je 394 slik anomalnih, preostale pa so normalne. V testno množico smo uvrstili 210 normalnih ter 75 anomalnih primerov, v učno pa 250 normalnih in 3, 13, 25 ali 50 anomalnih primerov. V tabeli 1 so povzeti ključni podatki o uporabljenih podatkovnih zbirkah, na sliki 2 pa lahko vidimo po eno anomalno sliko iz vsake kategorije. Opazimo lahko, da anomalne regije predstavljajo majhen del slik. 4 Rezultati Za primerjavo robustnosti metod poročamo mero AUC, ki se za domeno detekcije anomalij najpogosteje pojavlja v literaturi. Kljub temu da se poleg mere AUC na nivoju slik včasih poroča tudi AUC na nivoju slikovnih elementov, se omejimo le na AUC na nivoju slik, saj je za domeno detekcije anomalij na industrijskih izdelkih le-ta pomembnejša. Za vse kombinacije metod in kategorij poročamo povprečje in standardni odklon 5 ponovitev eksperimenta. RIAD Rezultati kažejo, da je metoda RIAD zelo robustna na prisotnost anomalnih primerov v učni množici. Tudi ko je v učno množico dodanih 20% anomalnih primerov, se AUC ne zniža občutneje, rezultati so skoraj povsod v intervalu napake. Povprečen AUC vseh kategorij pade iz začetnega 81.9% na 81.9%, 81.6%, 81.2% in 81.2%, ko dodamo 1%, 5%, 10% ali 20% anomalnih primerov v učno množico. Verjamemo, da gre tolikšno robustnost metode v največji meri pripisati njenemu delovanju, saj se uči rekonstrukcije posameznih regij slike, ki jih med učenjem maskiramo. Tudi v primeru anomalnih slik je zaradi narave problema večji del slike še vedno normalen, 358 Slika 3: Rezultati eksperimentov za metodo RIAD. Prikazani so AUC za učno množico brez anomalnih primerov in za učne množice z naraščajočim deležem anomalnih primerov. Y os prikazuje AUC, X pa delež anomalnih primerov, ki je bil dodan glede na prvotno velikost učne množice. Črtkana črta za vsako kategorijo prikazuje AUC za učno množico brez anomalnih primerov. Gaussian AD Metoda Gaussian AD kaže večjo občutljivost na prisotnost anomalnih primerov v učni množici. Pri skoraj vseh kategorijah opazimo jasen trend slabšanja rezultatov, ko se delež anomalnih primerov v učni množici viša, izjemi sta kategoriji MVTec leather, kjer metoda konstanto proizvede popoln rezultat, in MVTec carpet, kjer se rezultat malenkostno izboljša. Povprečen AUC vseh kategorij pade iz začetnega 89.7% na 89.0%, 88.0%, 87.3% in 86.0%, ko dodamo 1%, 5%, 10% ali 20% anomalnih primerov v učno množico. Opazimo lahko tudi, da so rezultati za iste kombinacije kategorij in deleža anomalnih primerov razmeroma podobni oz. da so intervali napake majhni, večje intervale napake opazimo predvsem pri kategoriji MVTec screw, ki vsebuje slike vijakov, rotirane za različne kote, ki so si vizualno zelo različni, zato verjetno izbor slik igra večjo vlogo. Opazimo tudi, da so pri tej metodi intervali napake manjši, saj ne učimo nevronske mreže, temveč le ocenimo parametre za značilke, ki jih proizvede prednaučena nevronska mreža. Dodatno k zmanjšanju naključnosti pripomore tudi ocenjevanje anomalnosti na nivoju slik, kar pomeni, da se značilke iz prednaučene mreže za anomalne primere ne razlikujejo toliko od značilk normalnih primerov, saj je tudi na anomalnih slikah večji del slike še vedno normalen. Zaradi tega so parametri ocenjene distribucije manj občutljivi na posamezne anomalne slike in se ocenjena distribucija značilk ne premakne bistveneje. Iz istega razloga pa verjetno dobimo tudi izrazitejše poslabšanje ob vnosu večjega števila anomalnih primerov v učno množico, saj se distribucija značilk učne množice premakne bliže distribuciji značilk anomalne množice, posledično pa je težje določiti, kateri distribuciji pripada testni primer. Slika 5: Rezultati eksperimentov za metodo PaDiM. Pomen elementov je razložen pod sliko 3. nih generativnih metod za detekcijo anomalij. Z obsežno eksperimentalno evaluacijo na 8 kategorijah iz 4 podatkovnih bazah smo pokazali, da so vse 3 metode robustne na prisotnost majhnega števila anomalnih primerov v učni množici, od teh pa sta 2 robustni tudi na večja števila anomalnih primerov. Zahteva, da učna množica pri učenju generativnih metod ne sme vsebovati anomalnih primerov, je torej lahko prekršena, dokler je število anomalnih primerov relativno majhno glede na število normalnih primerov, do katere mere pa je lahko prekršena, pa je odvisno tudi od posamezne metode in od zahtevnosti problema. Literatura Slika 4: Rezultati eksperimentov za metodo Gaussian AD. Pomen elementov je razložen pod sliko 3. PaDiM Tudi metoda PaDiM kaže visoko robustnost na prisotnost anomalnih primerov v učni množici. Povprečen AUC vseh kategorij se spremeni iz začetnega 88.7% na 88.3%, 88.8%, 88.6% in 87.7%, ko dodamo 1%, 5%, 10% ali 20% anomalnih primerov v učno množico. Podobno kot pri Gaussian AD lahko opazimo, da so rezultati metode dokaj ponovljivi, saj so z izjemo kategorije MVTec screw intervali napake zelo ozki. Delovanje metode PaDiM ima lastnosti tako metode RIAD kot Gaussian AD, saj podobno kot prva deluje na posameznih regijah slike, podobno kot druga pa za modeliranje posameznih regij uporablja značilke iz prednaučene mreže, za katere nato oceni parametre multivariantne Gaussove porazdelitve. Tako metoda prevzame dobre lastnosti obeh metod, robustnost prve in ponovljivost druge. 5 Zaključek Analizirali smo, kako prisotnost anomalnih primerov v učni množici vpliva na delovanje treh nedavno predlagaZahvala: To delo je podprla Javna agencija za raziskovalno dejavnost Republike Slovenije (ARRS), projekt J2-9433 in program P2-0214. 359 [1] Paul Bergmann, Michael Fauser, David Sattlegger, and C. Steger. Mvtec ad — a comprehensive real-world dataset for unsupervised anomaly detection. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 9584–9592, 2019. [2] Jakob Božič, Domen Tabernik, and Danijel Skočaj. Mixed supervision for surface-defect detection: from weakly to fully supervised learning. Comput. Ind., 129:103459, 2021. [3] Thomas Defard, Aleksandr Setkov, Angelique Loesch, and Romaric Audigier. Padim: a patch distribution modeling framework for anomaly detection and localization. In ICPR Workshops, 2020. [4] Oliver Rippel, Patrick Mertens, and D. Merhof. Modeling the distribution of normal data in pre-trained deep features for anomaly detection. 2020 25th International Conference on Pattern Recognition (ICPR), pages 6726–6733, 2021. [5] Tobias Schlagenhauf, Magnus Landwehr, and Juergen Fleischer. Industrial machine tool component surface defect dataset, 2021. [6] Daniel Weimer, Bernd Scholz-Reiter, and Moshe Shpitalni. Design of deep convolutional neural network architectures for automated feature extraction in industrial inspection. CIRP Annals - Manufacturing Technology, 65, 05 2016. [7] Vitjan Zavrtanik, M. Kristan, and D. Skočaj. Reconstruction by inpainting for visual anomaly detection. Pattern Recognit., 112:107706, 2021. Bias Analysis of Deep Face Recognition with Masked Faces Benjamin Džubur, Peter Peer, Žiga Emeršič University of Ljubljana, Faculty of Computer and Information Science E-mail: beni.dzu@gmail.com, {peter.peer, ziga.emersic}@fri-uni-lj.si Abstract Demographic bias in face recognition systems is an increasing concern as these systems become more and more prevalent in society. Additionally, due to the COVID19 pandemic, face masks have shown to be troublesome for many such systems. In this paper we focus on how masked faces influence the demographic bias of such systems. We took a pretrained convolutional neural network (VGGFace2) and used it for feature encoding of faces from a demographically balanced dataset. We generated a new dataset of masked faces based on the original one. For each of the two datasets, we performed verification by constructing matches and non-matches and computing similarity scores between pairs of faces’ feature vectors. We compared the results for groups based on gender (male, female) and ethnicity (white, black, indian, asian), and discovered that our system is biased towards some demographic groups. Due to the imbalanced data used to train our neural network, our system performs the best on images corresponding to male and white subjects. We found that masking the faces does not in any significant manner change those biases, but the verification rates, however, drop significantly. 1 Introduction With increasing importance of artificial intelligence solutions that are being used on a daily basis, more and more ethical and legal concerns are being raised regarding the transparency, accountability, explainability and fairness of such systems [1]. When it comes to different demographic groups of individuals (e.g. differences in gender, ethnicity), the concern of the bias of such intelligent systems is often raised, especially in relation to biometric pipelines such as face recognition. These and similar concerns might have especially been amplified recently, where face masks have been frequently worn due to the global COVID-19 pandemic. Many studies have reported that face recognition systems have trouble with recognition of individuals with masks, with their accuracy dropping noticeably when compared to non-masked individuals [2]. These issues can then be addressed by either using recognition system robust to occlusions or combining face recognition with other modalities, such as ears [3, 4], eyes [5], etc. ERK'2021, Portorož, 360-364 360 For face recognition specifically, more and more systems are adopting Convolutional Neural Networks (CNN) as the algorithmic backbone in decision-making, due to their increasing accuracy and decreasing computational cost. Such systems require massive amounts of training data and employ large numbers of local, non-linear computations. This paper focuses on evaluating the differences in bias when recognizing masked and non-masked individuals of different demographic groups. Individuals are grouped based on two, arguably most controversial demographic properties – ethnicity and gender. We use established bias estimation approaches on a CNN-based system for the above mentioned groups in order to depict the situation in modern systems. 1.1 Nomenclature We acknowledge the terms used to describe demographic groups and concepts, such as gender and ethnicity can be very diverse and bear different cultural, social or political implications. We do not wish to redefine the terms, but we have observed some patterns in the use of these terms in cited papers. Terms sex and gender are used interchangeably. Similarly, little distinction is made between race and ethnicity. In this paper, we therefore decided to use the terms gender and ethnicity. More importantly, however, the terms gender and sex are usually used in a binary manner and we regard them in that way in our paper as well, but merely due to the statistical prevalence of binary genders. 1.2 Background & related work Over the last few years, many concerns have been raised regarding the fairness of various automated systems. Many studies of risk assessment tools have found the issue of systemic bias against some demographic groups (e.g. dark-skinned people). The consequences of the decisions of such systems can be detrimental, with subjects experiencing difficulties, such as being denied bail or welfare payments [6]. While arguably being mostly unintentional, bias is a common occurrence in automated computer algorithms and machine learning. In this context, many causes of bias exist. The most prominent cause originates from the training data, which can be imbalanced, incomplete, outdated, or of varying quality [7]. All of these factors are detrimental to the training our algorithm and propagate the present biases. Another cause of bias can be in the implementation of the chosen algorithm, which can be flawed due to poor design or data preprocessing steps [7]. Many studies have already been conducted in the field of demographic bias of face recognition systems. Garcia et. al. [8] have discovered that when evaluating the FaceNet deep learning based model, evaluated on the MultiPIE dataset, the model produces the most errors on images of Asian female subjects, performing best on images of Caucasian male subjects. On the other hand, Beveridge et. al. [9] have achieved better performance on Asian male subjects than on Caucasian males. When it comes to the age covariate, Michalski et. al. [10] achieved better performance on older subjects and with larger variation in performance for children. Similarly, due to the COVID-19 pandemic, many studies have already been conducted in the field of assessment and mitigation of the impact of wearing face masks on facial recognition systems. Damer et. al. [11] have noted a large drop in the verification performance and the significant effect on the genuine and imposter score distributions when wearing masks. Anwar & Raychowdhury [12] propose retraining the models on masked sets, generated from original training data, seeing a significant improvement in recognition performance. However, to the best of our knowledge no studies have yet explored how, if at all, masked faces impact the inherent demographic biases of facial recognition systems. We will explore this issue in the scope of this paper. CNNs are inherently biased due to the data they are trained on [13]. Aside from the quality and diversity of the data, the balance of the dataset in regards to important distinguishing properties proves to be a big factor, especially with smaller datasets. As a result, some systems which for example originate from Asia and are trained predominantly on Asian subjects, will have an easier time distinguishing between and consequently recognizing Asian subjects than Caucasians. The opposite may hold for a system trained on Caucasians [14], etc. This fact and the fact that CNN-based approaches are the most used approaches in face recognition by a large margin, makes them the ideal candidate for our analysis. 2 Method For our study, we use a model based on the popular ResNet architecture. The model is trained on the VGGFace2 dataset, which consists of over 3 million faces and promises large variations in pose, age, illumination, ethnicity and profession [15]. The actual distribution of ethnicity seems to however heavily favor the Caucasian Latin group at around 79%, with the other three groups (African American, East Asian and Asian Indian) distributed relatively equally over the remainder. When it comes to genders, the dataset consists of approximately 62% male and 38% female subjects [16]. The ResNet-50 architecture is designed to output a 128-dimensional feature vector, encoding the relevant face 361 attributes. The result of encoding two images, which belong to the same subject is therefore hopefully two similarly sized and oriented vectors and vice versa. We choose the ResNet architecture due to its residual connections, which mitigate the vanishing gradient problem and consequently improve performance in deep networks. The 50-layer pretrained version presents a good trade-off between speed and performance [17] and is more than deep enough for our purposes. 3 Experimental Setup In the case of evaluating bias in face recognition, the most useful approach proves to be verification, which begins with comparing a chosen image (probe) against a specific reference image [14]. We therefore base our bias analysis on verification in our experiments. The similarity score between the two images is computed, and based on a set threshold, we either evaluate the pair of images to be a match (belong to the same subjects) or non-match. The purpose of the CNN in this case is essential, as it takes care of encoding the high dimensional images to a low dimensional vector of discriminating features. Such vectors can then easily and more reliably be compared to one another. 3.1 Metrics When we choose a specific threshold for the similarity score, errors will inevitably be made in regards to our match decision. We may recognize two different subjects as one and the same (false positive, FP), or not recognize the same subject in both images (false negative, FN), as seen in Figure 1. Depending on where we set the threshold, the sizes of these errors will vary. The metrics which quantify these errors are the false positive rate or FPR (also FAR, FMR): FP FP = = 1 − TNR (1) N FP + TN and the false negative rate or FNR (also FRR, FNMR): FPR = FN FN = = 1 − TPR, (2) P FN + TP where TPR and TNR represent the true positive rate and true negative rate [18]. We may also report the equal error rate or EER, which is achieved by setting the threshold in such a way, that both of the above mentioned error rates are equal. FNR = 3.2 Similarity score In order to measure the similarity of the feature vectors u and v, we resort to the standard cosine similarity, which proves to be a good similarity measure in high-dimensional settings and especially for face verification [19]. It is defined as: similarity = cos φ = u·v kuk kvk (3) frequency (d) (g) false match false non-match similarity score non-match decision threshold match Figure 1: Similarity score distribution in verification. The red area represents FP, the blue FN. FPR can be calculated as the ratio between the red area and the area under the curve marked by (d). The FNR is the ratio between the blue area and the area under the curve marked by (g). Figure 2: Examples of masked (generated) and original faces from BFW. 3.4 Masked dataset To perform unbiased comparisons of performance between masked and non-masked individuals, we need to have a dataset of masked faces, equivalent to BFW. We do this by generating a masked version of the dataset using a deep learning tool [12]. The generated faces wore a generic and popular blue surgical mask. This tool is not perfect, as it sometimes misaligns the mask, and in some extreme cases where the input face is captured from an off angle (e.g. profile) the tool is unable to generate a masked face. We managed to produce a masked dataset which consists of 16911 out of the original 20000 faces. Generated images can be seen in Figure 2. We repeated the match and non-match generation for this dataset as well, which this time resulted in a little over 174000 matches and the same number of non-matches. 362 4 Results and Discussion We first compared distributions of similarity scores between masked and non-masked datasets. The distributions across all demographic groups can be seen in Figure 3. It is evident that the distributions of true and false matches for non-masked individuals have a smaller intersection than those of masked individuals, which implies lower error rates for the non-masked population. This result is expected, as masking individuals obstructs an important part of their faces and prevents extraction of discriminating features. However, we might have expected a noticeable shift to the right of both genuine and impostor distributions when it comes to masked faces, due to the features extracted from the masked part of faces being similar across all matches. This is however not the case, implying that our neural network could capable of detecting and ignoring similarities due to face masks. 3 match False 2 True Density 3.3 Evaluation dataset and matching In order to gather reliable results, our dataset for evaluation would have to be balanced in terms of the chosen demographic properties. For this reason we chose the Balanced Faces in the Wild (BFW) dataset, which consists of 8 subgroups, composed of individuals with different combinations of gender (male vs. female) and ethnicity (white vs. asian vs. indian vs. black). For each subgroup, there are 100 distinct subjects, described by 25 (non-masked) images each [13]. This totals to 2500 images per subgroup and 20000 total images. From this we are able to construct 25×24 × 800 = 240000 (genuine) 2 matches. We then produced the same amount of nonmatches (impostor matches) for each subject by sampling the probe image uniformly at random from the rest of the population. When we group results by the ethnicity or gender of the reference images, we end up with the same amount of matches as well as non-matches which simplifies the analysis. The images in the dataset vary noticeably in resolution, illumination and aspect. mask masked 1 unmasked 0 −0.5 0.0 0.5 1.0 Similarity score Figure 3: Distribution of masked and non-masked matches vs. non-matches. From the areas under the intersection of the match and non-match distributions (indicated by the colored areas), it is apparent that the equal error rate is noticeably lower for nonmasked individuals. Next, we take a look at true positive rates (verification rates) at different values of FPR across different demographic groups. This gives us an insight of how well 1.0 0.8 Unmasked 0.6 0.4 race asian TPR black 0.2 indian 1.0 white 0.8 Masked different demographic groups perform at the face verification task. In Figure 4 the two groups based on gender are compared, whereas in Figure 5, four groups are compared based on ethnicity. We immediately notice that the drop in TPR when using masked faces as opposed to non-masked ones is quite large across all demographic groups, especially at lower FPR (10−4 to 10−3 ). This would render such a basic system using no error mitigation strategies useless in practice for verification of masked faces. When it comes to gender, males clearly achieve better verification rate than females regardless of masking. At FPR 0.1%, the TPR for males and females is 0.82 and 0.79 respectively (non-masked), or 0.62 and 0.49 respectively (masked). This disparity between genders can be attributed to the imbalance of training data based on gender. We do not observe any meaningful shifts in bias based on gender when comparing masked and non-masked performance. 0.6 0.4 1.0 0.2 0.8 1e−04 1e−03 1e−02 1e−01 1e+00 FPR Unmasked 0.6 Figure 5: True positive rate at different false positive rates based on ethnicity, showing the best verification rate of whites, followed by indians, blacks and finally asians. TPR 0.4 gender 0.2 females 1.0 males 0.8 Masked 0.6 0.4 0.2 1e−04 1e−03 1e−02 1e−01 1e+00 FPR Figure 4: True positive rate at different false positive rates based on gender, showing a better verification rate of males than females. When it comes to ethnicity, we observe a similar pattern, with whites achieving the best result across both datasets. When comparing indians and blacks, indians seem to perform noticeably better than blacks when masked, and about the same as blacks when not wearing masks at higher FPR. The impostor and genuine distributions for non-masked faces are similar for blacks and indians, however the genuine distribution of indians on masked faces is significantly more skewed to the right with smaller variance than the one of blacks. The genuine distribu- 363 tion of black faces might have changed significantly when dropping images to create the masked dataset. However, we cannot disregard the possibility that the facial features covered by the mask are more discriminative when comparing faces of black subjects as opposed to indian subjects. However, the drops in TPR when comparing nonmasked and masked faces at different FPR are more or less proportional to the biases observed for each ethnicity group (see Table 1). Therefore, we cannot with confidence conclude that the discriminating features of the masked area might be more important for verification of one ethnicity group than another. The disparity in performance for different ethnicity groups is again most likely due to the mentioned imbalance of the training data used for our neural network. As we initially believed, masking the faces does not in any significant manner change these biases. We were unable to confirm the hypothesis that the influence of wearing face masks on face recognition models differs significantly for different demographic groups. This would require more extensive experiments to be conducted. Aside from that theory, we found no real reason for biases to change significantly when the lower face region is masked. In practice, this means such models generally do not need to be additionally corrected for demographic bias due to masking the mouth and nose area, however the biases between demographic groups might become more apparent due to the significant drops in verification performance. Generally, we would in practice consider one of the pos- sible error mitigation strategies due to face concealment if we wished to use such a system in a production environment. FPR Ethnicity 0.01% 0.1% 1% white black indian asian white black indian asian white black indian asian TPR TPR TPR drop TPR drop (Original) (Masked) (%) 0.81 0.52 0.29 35.80 0.65 0.28 0.37 56.92 0.71 0.31 0.40 56.34 0.59 0.26 0.33 55.93 0.91 0.68 0.23 25.27 0.81 0.51 0.30 37.04 0.82 0.59 0.23 28.05 0.73 0.45 0.28 38.36 0.97 0.85 0.12 12.37 0.93 0.75 0.18 19.35 0.92 0.77 0.15 16.30 0.88 0.72 0.16 18.18 Table 1: True positive rate drop at different false positive rates based on ethnicity. 5 Conclusion To summarize, we have analyzed and compared the results of face verification between masked and non-masked faces, for demographic groups based on two different covariates (gender, ethnicity). We used a single CNN, pretrained on millions of faces but somewhat imbalanced in the demographic groups we are interested in. We have observed differences in verification rates for different ethnicities and genders, but proportionally to the imbalance of the training data. We found that masking the faces does not in any significant manner change those biases. In order to solidify our findings, additional testing should be performed on other face recognition models, trained on differently balanced datasets. The procedure of generating masked images, generating matches and nonmatches for evaluation could be further looked into and improved to make the results more reliable and their interpretations more conclusive. References [1] J. G. Cavazos, P. Phillips, C. D. Castillo, and A. O’Toole, “Accuracy comparison across face recognition algorithms: Where are we on measuring race bias?” ArXiv, vol. abs/1912.07398, 2019. [2] Z. Wang, G. Wang, B. Huang, Z. Xiong, Q. Hong, H. Wu, P. Yi, K. Jiang, N. Wang, Y. Pei, H. Chen, Y. Miao, Z. Huang, and J. Liang, “Masked face recognition dataset and application,” 2020. [3] Ž. Emeršič et al., “The unconstrained ear recognition challenge 2019,” in 2019 International Conference on Biometrics (ICB), 2019, pp. 1–15. [4] Ž. Emeršič, J. Križaj, V. Štruc, and P. Peer, Deep Ear Recognition Pipeline. Cham: Springer International Publishing, 2019, pp. 333–362. [5] P. Rot, M. Vitek, K. Grm, Ž. Emeršič, P. Peer, and V. Štruc, “Deep sclera segmentation and recognition,” in Handbook of vascular biometrics. Springer, Cham, 2020, pp. 395– 432. 364 [6] J. Beveridge, G. Givens, P. J. Phillips, and B. Draper, “Factors that influence algorithm performance in the face recognition grand challenge,” Computer Vision and Image Understanding, vol. 113, pp. 750–762, 2009. [7] C. Castelluccia, D. Métayer, E. P. D.-G. for Parliamentary Research Services, and E. P. E. P. R. S. S. F. Unit, Understanding Algorithmic Decisionmaking: Opportunities and Challenges. Publications Office of the European Union, 2019. [Online]. Available: https://books.google.si/books?id=L4WTwwEACAAJ [8] R. V. Garcia, L. Wandzik, L. Grabner, and J. Krueger, “The harms of demographic bias in deep face recognition research,” in 2019 International Conference on Biometrics (ICB), 2019, pp. 1–6. [9] J. Beveridge, H. Zhang, B. Draper, P. Flynn, Z. Feng, P. Huber, J. Kittler, Z. Huang, S. Li, Y. Li, M. Kan, R. Wang, S. Shan, X. Chen, H. Li, V. Štruc, J. Križaj, C. Ding, and P. J. Phillips, “Report on the fg 2015 video person recognition evaluation,” 2015. [10] D. Michalski, S. Y. Yiu, and C. Malec, “The impact of age and threshold variation on facial recognition algorithm performance using images of children,” in 2018 International Conference on Biometrics (ICB), 2018, pp. 217– 224. [11] N. Damer, J. H. Grebe, C. Chen, F. Boutros, F. Kirchbuchner, and A. Kuijper, “The effect of wearing a mask on face recognition performance: an exploratory study,” 2020. [12] A. Anwar and A. Raychowdhury, “Masked face recognition for secure authentication,” 2020. [13] J. P. Robinson, G. Livitz, Y. Henon, C. Qin, Y. Fu, and S. Timoner, “Face recognition: Too bias, or not too bias?” in 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020, pp. 1– 10. [14] P. Drozdowski, C. Rathgeb, A. Dantcheva, N. Damer, and C. Busch, “Demographic bias in biometrics: A survey on an emerging challenge,” IEEE Transactions on Technology and Society, vol. 1, no. 2, pp. 89–103, 2020. [15] Q. Cao, L. Shen, W. Xie, O. Parkhi, and A. Zisserman, “Vggface2: A dataset for recognising faces across pose and age,” 2018, pp. 67–74. [16] A. Greco, G. Percannella, M. Vento, and V. Vigilante, “Benchmarking deep network architectures for ethnicity recognition using a new large face dataset,” Machine Vision and Applications, vol. 31, p. 67, 2020. [17] A. Canziani, A. Paszke, and E. Culurciello, “An analysis of deep neural network models for practical applications,” 2017. [18] A. Tharwat, “Classification assessment methods: a detailed tutorial,” 2018. [19] H. Nguyen and L. Bai, “Cosine similarity metric learning for face verification,” vol. 6493, 2010, pp. 709–720. Modularni večsenzorski sistem za avtonomna plovila Janez Perš1 , Jon Muhovič1 , Urban Bobek1 , Žiga Brinšek1 , Tilen Cvenkel1 , Domen Gregorin1 , Klemen Kobau2 , Mitja Kuštra3 , Mark Lukek1 , Nina Sedej1 , Matej Kristan2 Univerza v Ljubljani Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana 2 Fakulteta za računalništvo in informatiko, Večna pot 113, 1000 Ljubljana 3 Fakulteta za strojništvo, Aškerčeva cesta 6, 1000 Ljubljana janez.pers@fe.uni-lj.si 1 Modular Multi-Sensor System for Unmanned Surface Vehicles In this paper, we describe a design process and reasoning behind a prototype of a modular perception system for unmanned surface vehicles. First, the sensor selection process is explained, and the architectural issues are addressed. Since this system is a distributed computing system, the solutions to communication and synchronization challenges are provided. Each sensor module is briefly described, and qualitative results are provided in the form of the synchronized data samples, in a situation when all sensors observing the same realistic river scene. List of specialized components, used in the construction is provided as well. 1 Uvod Avtonomna vožnja je že nekaj let ena od pomembnejših smeri razvoja umetne inteligence in posledično je na voljo veliko baz podatkov, na katerih lahko raziskovalci razvijajo nove metode računalniškega vida [1]. Večina naporov je usmerjena v razvoj samovozečih (osebnih) avtomobilov, čeprav to še zdaleč ni edina veja raziskav. Poleg brezpilotnih letalnikov (angl. unmanned aerial vehicles, UAV) [2] se razvoj odvija tudi na področju samovozečih plovil (angl. unmanned surface vehicles, USV) [3]. V tem članku se posvečamo pomembni komponenti vseh avtonomnih plovil, to je senzorskemu sistemu, katerega sestava seveda močno vpliva tudi na metode umetne inteligence, ki morajo zajete podatke prejeti ter obdelati v realnem času. V nadaljevanju članka bomo na kratko predstavili rešitve, ki so bile uporabljene pri avtonomnih vozilih v preteklosti, ter predlagali nabor senzorjev za avtonomno plovilo, skupaj z arhitekturo sistema ter opisom pomembnejših komponent. Bistvo članka je primerjalni prikaz podatkov ki jih zajamejo senzorji v realnem vodnem okolju ter ocena kompleksnosti in stroškov izdelave takšnega sistema. 2 Sorodna dela Avtonomna vozila so kompleksne naprave, ki jih sestavlja več medsebojno povezanih modulov. Prvi je senzorski modul, ki vsebuje enega ali več senzorjev – praktično v vsakem primeru vsaj eno kamero ali par kamer v stereo ERK'2021, Portorož, 365-369 365 konfiguraciji, v nekaterih primerih pa še radar [4], LIDAR [5] ali, sploh v primeru plovil, tudi sonar [6]. Druga komponenta je zaznavni modul, ki izvaja obdelavo in fuzijo zajetih podatkov [7], tretja pa modul za načrtovanje poti [8], katerega delovanje temelji na izhodu zaznavnega modula. Končna komponenta sistema avtonomnega vozila ali plovila je modul za vodenje, ki nadzira aktuatorje v skladu z načrtovano potjo [9]. Praktično samoumevni so senzorji lokacije (GPS), in, predvsem v primeru avtonomnih plovil tudi inercijski senzorji, ki določajo tudi točno orientacijo plovila v 3D prostoru. Kot vidimo, je nabor senzorjev lahko predvsem v plovilih zelo heterogen, zato se tudi metode obdelave podatkov med sabo bistveno razlikujejo. Monokularne kamere zajamejo zaporedja barvnih ali sivinskih slik, na katerih je primerno uporabljati predvsem različne metode segmentacije slik [10], senzorji kot so radar, LIDAR in stereo par kamer, pa zajamejo oblake točk, na katerih se obnesejo bistveno drugačne metode računalniškega vida [11]. 3 Zgradba senzorskega sistema Pri snovanju senzorskega sistema smo sledili naslednjim vodilom: • Za razliko od osebnih avtomobilov so optimalne lokacije za montažo različnih senzorjev na plovilu lahko različne. Zaradi tega je koristno, da gre za porazdeljen sistem, kjer dolžine fizičnih povezav ne smejo predstavljati ovire. • Področje avtonomnih vozil in plovil je še v povojih, zato ni enotnega standarda za komunikacijo s senzorji, podpora proizvajalcev pa je zelo različna (v nekaterih primerih podpora v obliki izvorne kode, v drugih samo v obliki vnaprej prevedenih knjižnic). Tudi zaradi stabilnosti sistema je koristno, če je vsak od senzorjev povezan na izoliran mikroračunalniški vgradni sistem, ki skupaj s senzorjem predstavlja modul porazdeljenega senzorskega sistema. • Tako zasnovani moduli so med seboj povezani s standardnimi in fleksibilnimi povezavami, tako električnimi kot komunikacijskimi, ki naj omogočajo LIDAR Nadzor Upravljanje Kalibracija PC Polarizacijska kamera Pointcloud HW MJPEG Toplotna kamera RADAR Pointcloud UDP NTP HW MJPEG Stereo globinski senzor GPS+IMU+modem XYZ RPY Time CUDA PointCloud WiFi AP Levo-desni RGB par Sprednji RGB par HW MJPEG HW MJPEG Slika 1: Shema sistema. Komunikacija je izvedena s pomočjo Gbit Ethernet povezave, z rezervo v 5 GHz WiFi. Električne povezave (napajanje) niso prikazane – vsak modul je lahko napajan iz lokalnega LiPo akumulatorja, ali pa iz skupnega napajalnega voda. sočasno delovanje senzorjev v realnem času, njihovo sinhronizacijo ter lokalno arhiviranje podatkov v najvišji možni kvaliteti za potrebe raziskovalnega dela ali laboratorijskih simulacij. Slika 1 prikazuje shemo našega sistema. 3.1 Senzorski moduli GPS+IMU+4G modem. Kombiniran senzor lokacije in orientacije [12] (3,200 USD1 ) omogoča določanje lokacije do na 10 cm natančno. Za natančnost, boljšo od nekaj metrov je potreben dostop do korekcijskih podatkov, ki jih v sloveniji v realnem času ponuja omrežje SIGNAL [13], zato je v modul vključen tudi 4G modem. Modem se obenem povezuje tudi v oblak Amazon AWS, zato je dostop do senzorskega sistema možen tudi na daljavo preko VPN, če sistem v dosegu mobilnega signala. Modul je zgrajen na računalniški platformi Raspberry Pi 4. Motivacija za uporabo senzorja: registracija vseh ostalih senzorskih podatkov v svetovni 3D koordinatni sistem. LIDAR. Senzor Velodyne VLP-16 [14] (4,000-8,000 EUR) ima 16 kanalov (ravnin merjenja), do 360 točk na rotacijo in frekvenco vrtenja 10 obratov na sekundo, ob dosegu 180 metrov. Preko dodatne neposredne, zasebne Ethernet povezave je povezan na računalniško platformo Raspberry Pi 4, ki arhivira podatke v surovi obliki, obenem pa skrbi za pretvorbo oblakov točk v kartezični ko1 Vse cene so za en kos oziroma razvojni komplet z enim kosom senzorja, brez DDV. 366 ordinatni sistem in podvzorčenje, če je to zahtevano. Motivacija za uporabo: zanesljiva in robustna detekcija vseh neprozornih ovir na veliki razdalji. 3D stereo. Senzor Stereolabs ZED [15] (350 USD) ima delovno globino do 25 metrov, razdaljo med kamerama (angl. baseline) 12 cm in je sposoben shranjevanja para RGB videov v formatu H.264 v ločljivosti 2x 2K. Preko vmesnika USB3 je povezan na vgradno platformo Nvidia Jetson TX2 (1,000 USD), ki jo uporablja za strojno podprto kodiranje videa ali izračun oblaka točk v realnem času s pomočjo splošnonamenske grafične enote (GPU) vgrajene v Jetson TX2. Motivacija za uporabo: gost oblak točk, ki pokriva prostor neposredno pred plovilom, ter kvalitetna RGB slika. Radar. Senzor Smartmicro UMRR-11 Type 132 [16] (2,000 EUR) ima doseg do 175 m, vidni kot 100◦ × 15◦ ter 4D izhod za vsak detektiran odboj (azimut, elevacija, razdalja, hitrost) ob zmogljivosti cca 100 odbojev na sekundo. Preko vmesnika CAN (PiCAN3, [17], 70 EUR) je povezan na platformo Raspberry Pi 4. Motivacija za uporabo: zaznava radarskih odbojev (oblak točk) od vseh trdnih površin (kovina, gradbeni materiali, ljudje) z oceno hitrosti približevanja za vsako od zaznanih točk. Toplotna kamera. Izbrani senzor je kamera Device-ALab SmartIR384L z objektivom, vidni kot 50◦ [18](4,000-6,000 EUR2 ), občutljiva v spektralnem območju 8-14µm. Dodano je germanijevo okence za vodotesno zaščito v ohišju (300 EUR). Preko vmesnika USB2 je kamera povezana na platformo Raspberry Pi 4. 2 Ocena, točna cena za komercialne kupce ni znana Motivacija za uporabo: zaznava toplejših ali hladnejših objektov od okolice, vidljivost v temi, kontrast med predmeti iz različnih materialov. Polarizacijska kamera. Izbrani senzor je kamera Teledyne FLIR BFS-U3-51S5P-C [19] (2,000 EUR), dodatno standardni 6mm objektiv. Preko vmesnika USB3 je povezana na platformo Raspberry Pi 4. Sočasni zajem slike preko štirih usmerjenih polarizacijskih filtrov, možnost izračuna smeri polarizacije vpadne svetlobe. Motivacija za uporabo: detekcija odbojev na vodni površini. Štirismerni RGB senzor Senzor je RGB kamera RaspiCam, neposredno povezana preko vodila CSI na dva razvojna kompleta Raspberry PI Compute Module 3 (skupna cena 400 EUR), izmenljivi objektivi formata M12 in v kamere vgrajeni objektivi. Motivacija za uporabo: enostavna možnost za pokrivanje področja levo in desno od plovila (2 kameri), dodatni dve kameri ponujata redundanten pogled naprej. Trenutno je na eni od kamer IR filter Wratten 87, s kolenom pri 780nm, možna je menjava filtrov za iskanje spektralnega pasu pasu, kjer so ovire v vodi najbolje vidne. Vsak od modulov je v svojem vodoodpornem ohišju, ki ustreza najmanj standardu IP55, kar pomeni, da je možno sistem montirati na zunanjost plovila tudi v dežju oziroma ob pršenju vode. 3.2 Prenos in arhiviranje podatkov Vse kamere, vezane na platformo Raspberry Pi uporabljajo vgrajen strojni kodirnik MJPEG, pri čemer je možno doseči ločljivost 1080p pri 10 slikah na sekundo. Tako kodirani podatki se shranjujejo na lokalne diske SSD (USB3), ki so nameščeni v vsakem od senzorjev. Podatki iz modulov GPS/IMU, toplotne kamere, lidarja in radarja se shranjujejo v surovi obliki. Podatki iz stereo senzorja ZED se kodirajo v format H.264 s pomočjo strojnega kodirnika, vgrajenega v Nvidia Jetson TX2 in shranjujejo skupaj z metapodatki v internem formatu podjetja StereoLabs. 3.3 Komunikacija in sinhronizacija Komunikacija med moduli je izvedena preko omrežja Ethernet, z gigabitno hitrostjo. Pri vgradnih platformah, ki nimajo Ethernet vmesnika (Rasberry Pi compute module), so dodani USB2-Ethernet vmesniki. Dodatno so vse naprave povezane v WiFi omrežje, ki je namenjeno zasilni komunikaciji med moduli, če pride do izpada ožičene povezave. Sinhronizacija je izvedena preko protokola NTP, pri čemer modul GPS+IMU skrbi za sinhronizacijo s svetovnim časom preko 4G povezave, ostali moduli pa se sinhronizirajo na njegov čas. Vsak modul na vsak zajet podatek doda časovni žig svoje lokalne ure. Prenos podatkov poteka preko protokola UDP, kjer vsi senzorji oddajajo UDP pakete na lokalni broadcast naslov. Tako ima vsak od senzorjev na razpolago vse podatke, ki jih pridobivajo drugi senzorji. Ker količina podatkov zasiči tudi gigabitno povezavo, je realnočasovna komunikacija izvedena s podvzorčenjem podatkov, in sicer na naslednji način: 367 • Podatki senzorjev GPS+IMU ter radar se prenašajo po omrežju brez podvzorčenja, ravno tako MJPEG kodirana slika iz toplotne kamere. • Podatki senzorja LIDAR se prenašajo tako, da je omejen vidni kot na smiselno vrednost (npr. pred plovilom), lahko pa se nastavi tudi podvzorčenje po kotu. • Podatki polarizacijske kamere se prenašajo podvzorčeni s faktorjem 2-4x, zaradi nizke procesne zahtevnosti se to kodiranje izvaja na glavnem procesorju Raspberry pi. 3.4 Napajanje Vsak od modulov ima pripravljen priklop za notranji akumulator s pretvornikom ali pretvorniki (v primeru da je potrebnih več napetosti), ki omogočajo priklop akumulatorjev z napetostjo od 9V do 36V. V trenutni izvedbi se vsi moduli napajajo iz skupnega akumulatorja (LiPo, 5S, 22 Ah, delovna napetost 16-21V). Tako izvedeno napajanje je odporno na padce napetosti, ki nastanejo pri povezovanju senzorjev z napajalnimi vodniki na večjih razdaljah. 4 Rezultati Predstavljamo nekatere kvantitativne rezultate, ki so bili izmerjeni med delovanjem sistema, ter podajamo primerjavo senzorskih podatkov, ki nastanejo pri zajemu v realističnem okolju. 4.1 Rezultati meritev • Poraba energije med delovanjem: 100-120W, avtonomija 4-6 ur z izbranim akumulatorjem. • Kapaciteta žične Ethernet povezave, vključujoč vodoodporne konektorje (Raspberry Pi 4 → Raspberry Pi 4): 800 Mbit/s. • Kapaciteta WiFi povezave (5 Ghz): 500 Mbit/s • Dosežena frekvenca vzorčenja: 10 slik na sekundo za vse kamere razen polarizacijske (slaba sinhronizacija procesov), 10 obratov lidarja/sekundo, 100150 odbojev radarja na sekundo. • Natančnost lokalne sinhronizacije časa preko NTP: pod 5 ms. • Temperatura procesnih jeder v vseh lokalnih procesnih enotah: pod 60C (aktivno hlajenje znotraj IP 55 škatle), z izjemo polarizacijske kamere, kjer je temperatura 78C. 4.2 Rezultati – primerjava senzorskih podatkov Podatki, predstavljeni na sliki 2 so bili zajeti pri vožnji po reki Ljubljanici junija 2021. Na slikah so za boljšo predstavljivost označeni posamezni objekti oziroma ovire. Sliki, ki predstavljata LIDAR in RADAR sta narejeni s projekcijo oblaka točk na tla, pogled je iz ptičje perspektive, rdeča točka kaže pozicijo čolna. Vse ostale slike prikazujejo pogled iz smeri senzorja. Slika 2: Primerjava slik in senzorskih podatkov za dva prizora na reki Ljubljanici. Levi stolpec: vidni sta dve ladji. Desni stolpec: vidnih je nekaj manjših čolnov in most. Po vrsticah si sledijo naslednji senzorji: RGB kamera, termalna kamera, LIDAR, radar, polarizacijska kamera. 368 Zahvala To delo je bilo financirano s strani Javne agencije za raziskovalno dejavnost (ARRS), v okviru programov [P20214, P2-0095], in raziskovalnega projekta [J2-2506]. Literatura [1] J. Guo, U. Kurup, and M. Shah, “Is it safe to drive? an overview of factors, metrics, and datasets for driveability assessment in autonomous driving,” IEEE Transactions on Intelligent Transportation Systems, vol. 21, no. 8, pp. 3135–3151, 2020. [2] H. Shakhatreh, A. H. Sawalmeh, A. Al-Fuqaha, Z. Dou, E. Almaita, I. Khalil, N. S. Othman, A. Khreishah, and M. Guizani, “Unmanned aerial vehicles (uavs): A survey on civil applications and key research challenges,” IEEE Access, vol. 7, pp. 48 572–48 634, 2019. [3] J. Wang, Y. Xiao, T. Li, and C. L. P. Chen, “A survey of technologies for unmanned merchant ships,” IEEE Access, vol. 8, pp. 224 461–224 486, 2020. [4] C. Onunka and G. Bright, “Autonomous marine craft navigation: On the study of radar obstacle detection,” in 2010 11th International Conference on Control Automation Robotics & Vision, Dec 2010, pp. 567–572. [5] A. R. J. Ruiz and F. S. Granja, “A short-range ship navigation system based on ladar imaging and target tracking for improved safety and efficiency,” IEEE Transactions on Intelligent Transportation Systems, vol. 10, no. 1, pp. 186– 197, March 2009. [6] H. K. Heidarsson and G. S. Sukhatme, “Obstacle detection and avoidance for an autonomous surface vehicle using a profiling sonar,” in 2011 IEEE International Conference on Robotics and Automation, May 2011, pp. 731–736. [7] M. P. Muresan and S. Nedevschi, “Multi-object tracking of 3d cuboids using aggregated features,” in 2019 IEEE 15th International Conference on Intelligent Computer Communication and Processing (ICCP), 2019, pp. 11–18. [8] H. Kim, J. Cho, D. Kim, and K. Huh, “Intervention minimized semi-autonomous control using decoupled model predictive control,” in 2017 IEEE Intelligent Vehicles Symposium (IV), 2017, pp. 618–623. [9] A. Arıkan, A. Kayaduman, S. Polat, Y. Simsek, I. C. Dikmen, H. G. Bakır, T. Karadag, and T. Abbasov, “Control method simulation and application for autonomous vehicles,” in 2018 International Conference on Artificial Intelligence and Data Processing (IDAP), 2018, pp. 1–4. [10] B. Bovcon and M. Kristan, “Wasr–a water segmentation and refinement maritime obstacle detection network,” IEEE Transactions on Cybernetics, pp. 1–14, 2021. [11] J. Muhovič, R. Mandeljc, B. Bovcon, M. Kristan, and J. Perš, “Obstacle tracking for unmanned surface vessels using 3-d point cloud,” IEEE Journal of Oceanic Engineering, vol. 45, no. 3, pp. 786–798, 2020. [12] “Advanced navigation spatial.” [Online]. Available: https: //www.advancednavigation.com/products/spatial [13] Dec 2020. [Online]. Available: https://gu-signal.si/ [14] “Puck lidar sensor.” [Online]. Available: //velodynelidar.com/products/puck/ https: [15] “Zed stereo camera.” [Online]. Available: https://www. stereolabs.com/zed/ 369 [16] “Smartmicro automotive radar.” [Online]. Available: https://www.smartmicro.com/automotive-radar [17] “Pican3 can-bus board for raspberry pi 4 with 3a smps + rtc.” [Online]. Available: https://www.skpang.co.uk/products/ pican3-can-bus-board-for-raspberry-pi-4-with-3a-smps-rtc [18] “Smartir384l.” [Online]. Available: http: //www.device-alab.com/wp-content/uploads/2018/03/ SmartIR384L-Specsheetrev2.pdf [19] “Blackfly s usb3.” [Online]. Available: https://www.flir. eu/products/blackfly-s-usb3/?model=BFS-U3-51S5P-C A Comparative Study on Discriminative and One–Class Learning Models for Deepfake Detection Marija Ivanovska1 , Vitomir Štruc1 1 Faculty of Electrical Engineering, University of Ljubljana E-pošta: {marija.ivanovska, vitomir.struc}@fe.uni-lj.si Abstract Recently, deepfakes or manipulated face images, where a donor’s face is swapped with the face of a target person, have gained enormous popularity among the general public. With recent advancements in artificial intelligence and generative modeling such images can nowadays be easily generated and used to spread misinformation and harm individuals, businesses or society. As the tools for generating deepfakes are rapidly improving, it is critical for deepfake detection models to be able to recognize advanced, sophisticated data manipulations, including those that have not been seen during training. In this paper, we explore the use of one–class learning models as an alternative to discriminative methods for the detection of deepfakes. We conduct a comparative study with three popular deepfake datasets and investigate the performance of selected (discriminative and oneclass) detection models in matched- and cross-dataset experiments. Our results show that disciminative models significantly outperform one-class models when training and testing data come from the same dataset, but degrade considerably when the characteristics of the testing data deviate from the training setting. In such cases, one-class models tend to generalize much better. 1 Introduction Detecting artificially synthesized data is a longstanding problem in the artificial intelligence field with wide ranging implications considering the potential of such data for malicious applications. With the recent wide adoption of generative neural networks, the emergence of deepfakes has drawn even greater attention to this problem. Deepfakes are a special type of AI–generated visual data, where the face of a source individual is seamlessly replaced by the face of a target individual, while retaining the initial facial expressions and head poses. Such manipulated data can then be used to harm the reputation of the target individual or to spread misinformation. With the advancements made in artificial intelligence and image generation, deepfakes are becoming even more convincing and thus difficult to recognize by an average, untrained human. Nevertheless, the generation of maSupported in parts by the ARRS reserach project J2-9433 (B) “Detection of inconsistencies in complex visual data using deep learning”. ERK'2021, Portorož, 370-373 370 nipulated face images usually leaves visual inconsistencies, which adequate machine learning technique should be able to detect. Some studies on this topic, for example, propose explicit modelling of the expected modification traces/artifacts [6, 7, 8] to detect face manipulations. Others rely on data–driven models, that learn to discriminate between normal and synthesized faces without any a priori knowledge [9, 10, 13]. Either way, the detection task is typically formulated as a binary classification problem, which requires a large, diverse and well balanced training set. The collection of such a set is not only challenging, but also represents a never-ending task, as new deepfake generation methods emerge on regularly in the literature. Motivated by these limitations, we investigate in this paper the ability of existing one–class learning models to detect deepfakes, by learning only from real face images. Additionally, we analyze the advantages and disadvantages of such one-class learning techniques in comparison to the more commonly used discriminative models. 2 Related work Since the first appearance of deepfakes, the research community has shown great interest in preventing the abuse of this technology. As a countermeasure, numerous detection models have been proposed in the literature [5]. Many of these models have been trained to identify specific traces of visual data manipulations. Although such modifications are often subtle for humans, they can be successfully detected by analyzing different spatial and temporal artifacts that are created during the manipulation process. Agarwal et al. [6], for example, exploit the idiosyncratic behavioral patterns of synthesized faces, Yang et al. [7] expose deepfakes as face videos with incoherent head poses, while Li et al. [8] observe that unlike real videos, deepfakes lack reasonable eye blinking. Recently, various detection models have been proposed that do not rely on any specific temporal or spatial artifacts, but are instead given examples of real and fake faces to autonomously learn distinguishing data characteristics. Afchar et al. [9], for example, use a two–stage convolutional neural network for the detection of both, swapped faces and face reenactment, while Guera et al. [10] develop a temporal model based on recurrent neural networks (RNN). Classification networks such as Xception–Net and VGG16 have also achieved high detection 3 deepfake FF-FS UADFV target Figure 1: Examples of deepfakes from the three datasets used in this paper: UADFV [2] (top row), FF–FS [4] (middle row) and Celeb–DF [1] (bottom row). Deepfakes have been generated by swapping a source face (left most column) with the face of a chosen target person (middle column). Datasets We use three popular benchmarks for our investigations, i.e.: UADFV [2], FaceForensics++ [4] and Celeb-DF [1]. Example images from the datasets are shown in Figure 1. UADFV is a recent deepfake dataset and contains 49 real YouTube videos of public figures and 49 deepfake videos [2]. Deepfakes were generated with the FakeAPP approach, by swapping the original faces with the face of Nicolas Cage. The length of the videos ranges between 3 and 15 seconds. All videos have a frame rate of 30 fps. FaceForensics++ (FF) is a dataset consisting of 1004 YouTube videos with over 1.8 milion frames containing face images of random people [4]. Each video sequence represents a unique identity. Up to this date, 5 different methods have been used for the generation of the fake videos: deepfakes, Face2Face, FaceSwap, NeuralTextures and FaceShifter with FaceShifter [3] being the latest state–of–the–art method also known by its ability to successfully handle both, non-occluded as well as occluded face images. In this work we only use the 1004 fake images generated by FaceShifter (denoted FF–FS). Celeb–DF is a recent dataset, whose real videos are collected exclusively from YouTube and feature 59 celebrities of diverse genders, ages, and ethic groups [1]. The dataset has 890 real videos, each around 13 seconds long, with a frame rate of 30 fps. This real data has been used as a source for generation of 5639 high-quality deepfake videos. Fake videos have been synthesized using state-ofthe-art synthesis algorithms. The amount of notable visual artifacts has been further minimized by various postprocessing methods, making Celeb-DF one of the most challenging benchmarks to date. 4 source Celeb-DF accuracy in a study carried out by Dang et al. in [13]. Although discriminative methods show impressive results on benchmark datasets, in practice they often suffer from robustness and generalization issues and perform poorly, when employed in real–world scenarios. Next to being affected by domain shifts, such methods are also less likely to discover fake images containing unseen inconsistencies. To avoid fine–tuning of existing models to (previously) unseen deepfakes, Khalid et al. [11] proposed a reformulation of the deepfake detection task into a one–class anomaly detection problem. Using real face images only, the authors trained a one–class Variational Autoencoder (VAE) that successfully detected deepfakes as deviations from real data. Ortiz et al. [12] also followed this one–class learning paradigm and trained VGGFace2 and ResNet50 models that were then used together with an attribution based confidence (ABC) metric to segregate deepfakes from real faces. Despite the promising results of such one–class learning approaches, their potential is not yet explored to a full extent. Experiments 4.1 Methods In our comparative study we train and evaluate two distinct models: (i) ResNet50 [14], a commonly used dis- 371 criminative network with residual blocks, and (ii) GANomaly [15], a recent state–of–the–art representative of the one–class learning methods. ResNet50. Residual networks or ResNets were introduced in an attempt to further improve the performance of existing convolutional neural networks (CNNs) and mitigate the vanishing gradient problem [14] and represent state-of-the-art CNN models typically used for various recognition tasks. In this study, we use ResNet50 - a ResNet variant with 48 convolutional layers and an output layer with a sigmoid activation function at the top, for classification of input samples into fake or real. The model is trained with a binary cross–entropy loss. GANomaly [15] is a recent state-of–the–art model for detection of anomalies in a one–class learning setting. As its name implies, it is a generative adversarial network (GAN), consisting of a generative part that maps input samples into a latent space and then reconstructs them back to the image space. It is hypothesized, that once such networks learn the identity mapping of normal, non–anomalous samples, they fail to accurately reconstruct anomalies, since they were not seen during the training phase. In our case, we train GANomaly on real face data only, using the objective proposed by the authors of the model [15]. 4.2 Data Preprocessing All datasets described in Section 3 consist of videos, where faces are not zoomed in, so each video frame has a significant amount of redundant information, i.e. non–face image areas. Since faces represent our regions-of-interest (ROIs), we preprocess all videos frames by by subjecting them to a face detection procedure. For this purpose we use the pre–trained MTCNN face detector, proposed by Zhang et al. in [16]. The algorithm returns coordinates of the bounding boxes containing a face, which are then used to crop out rectangular face areas. False positives are manually removed from the final set of images. At the end, all face images are resized to 224 × 224 pixels for the training of the ResNet50 model and to 256 × 256 pixels for the training of the GANomaly model. 4.3 Training and Evaluation Protocol In our experiments, we follow the 80/20 split rule, where 80% of the samples are used in the training phase, while the remaining 20% are used for testing. Both, training and testing samples are randomly selected such that they equally represent real and fake data. To ensure a fair comparison, the training and testing splits remain unchanged throughout the execution of the experiments. ResNet50 is trained on both classes, while GANomaly is trained using real data only. Hyperparameters of each model are set to their default values, reported in the respective papers. Following common practice, each trained model is evaluated with the AUC (Area Under the ROC curve) metric. In ResNet50 experiments, the ROC curve is generated with the probabilities of the output layer. In GANomaly experiments the L2 reconstruction error of the testing samples is used instead. Experiments are run in two stages: (i) a matched dataset stage, and (ii) a cross-dataset stage. In the first (matched dataset) stage, both training and testing samples come from the same dataset, assuming that the image quality and the deepfake generation technique have remained the same. In practice, such expectation is unlikely to be met. Therefore, the second (cross dataset) stage consists of cross–dataset experiments, where the testing data comes from a different dataset. 5 Results We summarize the results from both experimental stages (carried out in accordance with the experimental protocol described above) In Table 1. Matched-Dataset Results. As can be seen from the presented first-stage results, ResNet50 significantly outperforms GANomaly on all three benchmarks by correctly predicting the ground truth label of over 90% of the data when imagery with similar characteristics is used for training and testing. Although less accurate, GANomaly still shows a relatively high detection rate despite being trained without any fake samples. We can observe that GANomaly is most successful in the detection of the lower– quality UADFV deepfakes and least successful in detection of the higher-quality Celeb–DF deepfakes. In the latter case, the model achieves an AUC score of 0.746 – down by close to 0.2 when compared to ResNet50. To better understand the differences between the two models, we perform a visual analysis of the deepfake samples that were successfully detected by ResNet50 and missed by GANomaly. Representative examples from each dataset are shown in Figure 2. As can be seen, GANomaly is less likely to recognize a deepfake, where visual artifacts are less apparent or might also represent naturally occurring skin spots. It also fails to detect deepfakes generated from images taken in non–standard lighting conditions. A probable reason for such failures is the high generaliza- 372 Table 1: Deepfake detection performance for ResNet50 and GANomaly in terms of AUC scores. Experiments with matched datasets show that ResNet50 significantly outperforms GANomaly on all three benchmarks. Cross–dataset experiments, on the other hand, suggest that in contrast to GANomaly, ResNet50 fails to detect deepfakes coming from datasets not seen during training pointing to better generalization capabilities of one-class models. Stage Matched-dataset Cross-dataset Training dataset UADFV FF–FS Celeb–DF UADFV UADFV FF–FS FF–FS Celeb–DF Celeb–DF UADFV Testing dataset UADFV FF–FS Celeb–DF FF–FS Celeb–DF UADFV Celeb–DF UADFV FF–FS FF-FS ResNet50 (discriminative) 0.947 0.966 0.938 0.622 0.531 0.763 0.561 0.574 0.527 GANomaly (one-class) 0.880 0.868 0.746 0.768 0.704 0.794 0.608 0.772 0.680 Celeb-DF Figure 2: Examples of deepfakes successfully detected by ResNet50 and missed by GANomaly when training and testing samples come form the same dataset. tion capacity of generative one–class methods, causing a successful reconstruction of some image inconsistencies. Because of the discriminative nature of ResNet50, the model is able to detect such deepfakes despite the somewhat more challenging image characteristics. Cross-Dataset Results. In contrast to the matcheddataset experiments, the results of the cross-dataset experiments show that GANomaly is much more accurate in the classification task, where the model is tested on samples from a dataset different from the one used for training. ResNet50, on the other hand, shows a significant drop in efficiency, in some cases performing similarly to a random classifier. In this case, one of the main problems is simply the domain shift, causing the model to miss both, real and fake samples. Another issue we could observe is the inability of ResNet50 to detect deepfake artifacts that have not been introduced during the training phase. Some deepfake samples that were successfully detected by GANomaly and missed by ResNet50 in this experimental stage are shown in Figure 3. As can be seen, ResNet50 failed to recognize very low–quality UADFV deepfakes with badly aligned face masks and incorrectly adjusted colors. Such deepfakes can not be found in the datasets, utilized for the training process. In contrast to UADFV GANomaly, ResNet50 was also unable to detect unique artifacts such as errors in the reconstruction of the teeth, fake faces with asymmetrical or crossed eyes and sharp illumination transitions. Moreover, training ResNet50 on UADFV and FF-FS, both highly biased towards the Caucasian race, results in very low classification probabilities of real and fake Asian faces. [2] Y. Li, M.C. Chang, and S. Lyu: In Ictu Oculi: Exposing Ai Generated Fake Face Videos by Detecting Eye Blinking, IEEE International Workshop on Information Forensics and Security (WIFS), 2018 [3] L. Lingzhi, B. Jianmin, Y. Hao, C. Dong, W. Fang: Advancing High Fidelity Identity Swapping for Forgery Detection, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020 [4] A. Rössler, D. Cozzolino, L. Verdoliva, C. Riess, J. Thies, M. Nießner: FaceForensics++: Learning to Detect Manipulated Facial Images, International Conference on Computer Vision (ICCV),2019 FF-FS [5] M. Masood, M. Nawaz, K. Mahmood Malik, A. Javed, A. Irtaza: Deepfakes Generation and Detection: State-of-theart, open challenges, countermeasures, and way forward, https://arxiv.org/abs/2103.00484, 2021 Celeb-DF [6] S. Agarwal, H. Farid, Y. Gu, M. He, K. Nagano, and H. Li: Protecting world leaders against deep fakes. IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2019 [7] X. Yang, Y. Li, S. Lyu: Exposing deep fakes using inconsistent head poses, IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019 Figure 3: Examples of deepfakes successfully detected by GANomaly and missed by ResNet50 during the cross–dataset experiments, where testing samples come from a different dataset than the training samples. 6 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 3204-3213 [8] Y. Li, M. Chang, Siwei Lyu: In ictu oculi: Exposing AI generated fake face videos by detecting eye blinking, IEEE International Workshop on Information Forensics and Security (WIFS), 2018 [9] D. Afchar, V. Nozick, J. Yamagishi, I.Echizen: Mesonet: a compact facial video forgery detection network, IEEE International Workshop on Information Forensics and Security (WIFS), 2018 Conclusion In this paper we presented an experimental study comparing the deepfake detection performance of a discriminatively learned ResNet50 model and the one–class learning GANomaly approach. Using three common deepfake datasets, we conducted a series of matched- and cross– dataset experiments, where testing samples were either taken from the same dataset as the training data or were coming from one of the other two datasets. The matched– dataset experiments showed a clear advantage of the discriminative ResNet50 model. However, in the cross–dataset experiments ResNet50 was severely affected by the domain shift, also failing to recognize deepfakes with visual artifacts, that have not been introduced during the training. Unlike the discriminative model, GANomaly was shown to be less prone to distribution shifts and changes in the technique, used for the generation of deepfakes. Although GANomaly was not able to produce state–of– the–art detection results, our experiments suggest that one– class learning models have considerable potential for deepfake detection due to the fact that they can be trained without any fake samples and, thus, do not rely on prior assumptions about the appearance of the deepfake images. References [1] Y. Li, X. Yang, P. Sun, H. Qi, S. Lyu: Celeb-DF: A LargeScale Challenging Dataset for deepfake Forensics, 2020 373 [10] D. Guera, E. J Delp: deepfake video detection using recurrent neural networks, IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS), 2018 images and videos, IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019 [11] H. Khalid, S. S. Woo: OC-FakeDect: Classifying deepfakes Using One-class Variational Autoencoder, IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020 [12] S. Fernandes, S. Raj, R. Ewetz, J. S. Pannu, S. K. Jha, E. Ortiz, I. Vintila, M. Salter: Detecting deepfake Videos using Attribution- Based Confidence Metric, IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020 [13] H. Dang, F. Liu, J. Stehouwer, X. Liu, A. Jain: On the Detection of Digital Face Manipulation, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020 [14] K. He, X. Zhang, S. Ren, J. Sun: Deep Residual Learning for Image Recognition, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2016 [15] S. Akcay, A. Atapour-Abarghouei, T. P. Breckon: GANomaly: Semi-supervised Anomaly Detection via Adversarial Training, Asian Conference on Computer Vision (ACCV), 2019 [16] K. Zhang, Z. Zhang, Z. Li, Y. Qiao: Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks, IEEE Signal Processing Letters, 2016 Segmentacija videoposnetkov vodnih scen s pomočjo delno nadzorovanega učenja Blaž Česnik, Lojze Žust, Matej Kristan Univerza v Ljubljani, Fakulteta za računalništvo in informatiko E-pošta: cesnik.b@gmail.com, {lojze.zust,matej.kristan}@fri.uni-lj.si Video segmentation of water scenes using semi supervised learning Obstacle detection is a crucial component in unmanned surface vehicles to prevent collisions and unnecessary stopping due to false detections. Autonomous vessels are a relatively unexplored area in comparison to autonomous ground vehicles, thus there are much fewer densely annotated datasets for training modern obstacle detectors. Since manual acquisition of ground truth segmentation data is time-consuming and expensive, a viable alternative is training with minimal supervision to evaluate unsupervised domain adaptation methods, trained on a labeled source dataset and an un-labeled target dataset. Four modern adaptation methods are tested (Intra-domain adaptation, Fourier domain adaptation, Instance matching and Bidirectional learning) for training the semantic segmentation network WaSR, which is currently the stateof-the-art for maritime obstacle detection. We consider the original WaSR as well as a modified version. The Fourier domain adaptation applied to a modified WaSR version outperforms the non-adapted original WaSR by 6.3% in F-measure. 1 Uvod Globoke detekcijske metode, ki temeljijo na semantični segmentaciji dosegajo odlične rezultate na domeni avtonomnih vozil [12]. Vendar pa teh metod ne moremo direktno aplicirati na domeno vodnih scen [5], kjer velik problem predstavlja konstantno spreminjanje vzorcev zaradi valovanja vode in odsevov, ki se na vodni gladini pojavljajo zaradi odboja svetlobe. Za učinkovito nadzorovano učenje globokih segmentacijskih mrež potrebujemo veliko število anotiranih slik. Pri izdelavi takšnih zbirk je potrebna ročna segmentacija slik, ki je zelo zamudna in draga. Na primer, ročna segmentacija slike ločljivosti 1920 × 1080 pikslov vzame približno 90 minut [11]. Preučevanje domene vodnih scen je omejeno zaradi majhnega števila takih zbirk primernih za učenje globokih mrež. Alternativa nadzorovanemu pristopu je uporaba delno nadzorovanega učenja, s katerim lahko zmanjšamo število ročno anotiranih slik in tako prihranimo dodatno delo ter stroške. Delno nadzorovane adaptacijske metode (tudi nenadzorovana domenska adaptacija) problem naslavljajo tako, da poskušajo približati distribucijski zamik izvorne domene z zamikom ciljne domene. V ERK'2021, Portorož, 374-377 374 tem delu analiziramo in primerjamo najperspektivnejše moderne metode za adaptacijo med domenami [1, 2, 3, 4] na problemu detekcije ovir v vodnem okolju. V nadaljevanju v Poglavju 2 opišemo adaptacijske metode in mrežo s katero smo jih evalvirali, v Poglavju 3 predstavimo rezultate analize, članek pa sklenemo v Poglavju 4. 2 Metode Metoda notranje domenske adaptacije (angl. Intra domain adaptation - Intra) [1] temelji na zmanjševanjevanju distribucijske vrzeli znotraj ciljne domene. Predhodna dela namreč naslavljajo le problem zmanjševanja distribucijske vrzeli med dvema domenama (angl. interdomain). Učenje metode je razdeljeno na dve fazi. V prvi fazi zmanjšuje vrzel med izvorno in ciljno domeno, nato v drugi fazi z dobljeno mrežo in entropijskim ocenjevanjem generira lahko in težko množico ter ju uporabi za zmanjšanje distribucijske vrzeli znotraj ciljne zbirke s pomočjo samonadzorovanega učenja. Za meddomensko adaptacijo avtorji uporabijo metodo ADVENT [6], ki temelji na uporabi generativne nasprotniške mreže. V drugem koraku lahko mrežo učimo s predučenimi utežmi iz prvega koraka (Intrapre ) ali pa na novo določimo naključne vrednosti (Intra). Metoda adaptacije z manipulacijo spektra (angl. Fourier Domain Adaptation - FDA) [2] za prenos sloga med izvorno ter ciljno zbirko izvede s pomočjo Fouriereve transformacije. Zaradi tega ne potrebuje dodatne mreže ter ne vsebuje nasprotniške mreže, kar izrazito pospeši učenje celotne metode. Za izračun diskretne Fouriereve transformacije (angl. discrete Fourier transform - DFT) uporabijo učinkovit algoritem hitre Fouriereve transformacije (angl. fast Fourier transform - FFT). Najprej z uporabo FFT izračunamo matriki faznih in amplitudnih vrednosti, nato zamenjamo amplitude nizkih frekvenc med slikama izvorne in ciljne zbirke. Na koncu pa je uporabljen še inverzni algoritem FFT, ki iz faznih in amplitudnih signalov rekonstruira končno transformirano sliko. Za zamenjavo amplitudne komponente med zbirkama je potrebno določiti področje nizkih frekvenc (označeno z β), ki ga zamenjamo med domenama. Za učenje mreže je uporabljenih več izhodov mreže M z različnimi vrednostmi parametra β = {βb }[b=1:B] . Z dobljenimi segmentacijskimi maskami ustvarimo psevdo oznake, ki jih upora- bimo za samonadzorovano učenje mreže. V originalnem članku, sta se za najboljši različici izkazali FDAmbl2 in FDA0,012 . Pri FDAmbl2 sta za izračun končne segmentacijske maske uporabljeni dve iteraciji s povprečenjem predikcij treh mrež z različnimi velikost parametra β, pri FDA0,012 pa je iz druge iteracije, za generiranje segmentacijskih mask, uporabljena samo mreža z β = 0, 01. Pri metodi s prileganjem instanc (angl. stuff instance matching - DADT) [3] se segmentacijske kategorije loči na (i) tiste, ki imajo med različnimi domenami podoben izgled (angl. stuff matching - SM, npr. nebo, voda) in na (ii) tiste, ki se med različnimi domenami bolj razlikujejo (angl. instance matching - IM, npr. ovire). Z ločevanjem kategorij lahko natančneje adaptiramo značilke iz izvorne zbirke v ciljno zbirko. Za SM generiramo reprezentativne značilke za vsak razred in izvedemo poravnavo iz ciljne domene v izvorno domeno, medtem ko za IM ločeno generiramo značilke za vsako individualno instanco razreda. Instance iz ciljne domene nato poravnamo z najbolj podobno iz izvorne domene. Metoda je sestavljena iz dveh korakov. V prvem koraku izvedemo kategorično ujemanje SM in IM. V drugem koraku z naučenim modelom generiramo psevdo oznake, ki jih uporabimo za samonadzorovano učenje s kategoričnim ujemanjem. Metoda dvosmernega učenja domenske adaptacije [4] (angl. Bidirectional Learning for Domain Adaptation BDL) bazira na uporabi prenosne in segmentacijske mreže. S prenosno mrežo približa izvorno zbirko ciljni tako, da se zmanjša vizualno razliko med njima. Tako dobimo sliko iz izvorne zbrike v stilu slike iz ciljne zbirke. Ideja metode je povezava mrež, da si med učenjem pomagata. S tem omogočimo medsebojno izmenjavo koristnih učnih podatkov, generiranih s strani prenosne in segmentacijske mreže. Adaptacijske metode smo testirali na trenutno najboljši mreži za detekcijo ovir na vodni površini WaSR [5]. Ta temelji na arhitekturi kodirnik-dekodirnik (angl. encoder - decoder), kjer nam kodirnik najprej generira visokodimenzionalen vektor bogatih značilk, dekodirnik pa nato z bogatimi značilkami zgradi semantično segmentacijsko masko. Kodirnik bazira na popularni arhitekturi ResNet101 z razširjeno konvolucijo (angl. atrous convolution). Odčitki iz inercijskega senzorja (IMU) se uporabijo za projekcijo horizonta v sliko iz česar se tvori binarna maska predelov pod horizontom. Maska horizonta vnese dodatno informacijo in se v dekodirniku na več mestih zlije z značilnicami kodirnika v končno segmentacijsko masko. 3 Eksperimentalna analiza področje, ki ne vpliva na učenje mreže. Po naših raziskavah je to edina zbirka s slikami vodnih scen, ki ima do piksla natančno anotirano segmentacijsko masko. Slike so zajete v različnih vremenskih pogojih s pomočjo ročno uporavljanega avtonomnega plovila. Slike v zbirki so bile ročno izbrane iz več kot 50 ur posnetkov, zajetih v obdobju dveh let. Na slikah lahko zasledimo številne ovire različnih oblik in velikosti, kot so na primer (i) navigacijske boje, (ii) jadrnice, (iii) veslači, (iv) tovorne ladje, (v) plavalci, (vi) galebi in (vii) prenosni pomoli. Zbirko smo razširili z bogatenjem podatkov (angl. data augmentation) – vsako sliko smo naključno rotirali (5, 15 stopinj), transformirali prek vertikalne osi ter dodali elastična deformacija vodne komponente. S postopkom generiramo 7950 učnih slik z resolucijo 512 × 384. Za ciljno domeno smo izbrali pomorsko zbirko Singapore (angl. Singapore Maritime Dataset - SMD) [8]. Sekvence so posnete v različnih delih dneva. Izbrali smo reprezentativne sekvence, ki lepo predstavijo ciljno domeno. Tako smo izločili vse sekvence, ki so posnete v mraku in sredi noči. Uporabili smo le eno izmed treh podzbirk SMD – podzbirko kopenskih posnetkov (angl. onshore). Vsebuje posnetke posnete iz fiksne točke na kopnem in zajema 40 različnih sekvenc z resolucijo 1920 × 1080. Zbirka je anotirana z anotacijami tipa omejevalnega polja (angl. bounding box). Slike smo dodatno ročno anotirali s približno oceno horizonta in tako generirali masko IMU. Zbirko smo razdelili na učno ter testno množico, kjer učna množica zajema 24 sekvenc s skupno 11019 slikami, testna pa 11 sekvenc s skupno 5439 slikami. Vse slike smo reducirali na resolucijo 512 × 384. Za evalvacijo adaptiranih segmentacijskih mask smo uporabili evalvacijski protokol MODD [10], ustvarjen specifično za evalvacijo detekcije objektov na vodni domeni. Objekti so razdeljeni v dve kategoriji, velike in majhne. Veliki so tisti, ki imajo vsaj eno ogljišče omejevalnega polja nad robom morja, manjši pa tisti, ki imajo vsa ogljišča pod robom morja. Za varno navigacijo so kritične ovire, ki so v bližini plovila, zato ignoriramo tiste, ki se nahajajo na horizontu. Zanemarimo vse detekcije in zlate standarde, ki imajo površino manjšo od 25 pikslov (proporcionalno z originalno resolucijo), saj ti niso nevarni za trke s plovilom. Preverjanje pravilnosti detekcij izvedemo na podlagi segmentacijskih mask, ki jih genererajo adaptacisjke metode na mreži WaSR. Za anotacije v testni množici izračunamo delež površine omejevalnega polja, ki ga pregriva segmentacijska maska. Razmerje prekrivanja ro je definirano z ro = Pri nenadzorovani domenski adaptaciji ima izvorna zbirka anotirane podatke, medtem ko ciljna zbirka ne vsebuje anotacij. Kot testno zbirko se nato uporabi anotirane podatke iz ciljne zbirke, ki pa niso bili uporabljeni pri učenju. Kot izvorno zbirko smo izbrali podatkovno zbirko MaSTr1325 [9], ki vsebuje 1325 do piksla natančno anotiranih slik iz vodne domene s štirimi semantičnimi komponentami - nebo, voda, okoliš z ovirami ter ignorirano 375 Tig ∩ Tid , Tig ∪ Tid (1) kjer sta Tig in Tid omejevalna polja zlatega standarda ter detektirane i-te ovire. Prag za pravilno detekcijo je zaradi netočnosti omejevalnega polja nastavljen le ro ≥ 0, 3, kar pomeni, da mora napovedana segmentacija ovire pokrivati vsaj 30% omejevalnega polja zlatega standarda, da se jo lahko označi kot pravilno pozitiven primer. Kot performančne mere smo uporabili natančnost (angl. Precision – Pr), priklic (angl. Recall – Re) in F-mero (angl. F-measure – F1). Te temeljijo na številu pravilno (angl. true positive – TP) in nepravilno (angl. false positive – FP) označenih pozitivnih primerov ter nepravilno označenih negativnih primerov (angl. false negative – FN). Med seboj smo primerjali štiri adaptacijske metode in jih testirali na problemu adaptacije mreže WaSR na vodni domeni. V preliminarni študiji smo ugotovili, da je adaptacija najboljša, če mreži WaSR [5] odklopimo masko IMU, prav tako pa izkopimo ločitveno funkcijo WS, saj je zaradi manjka anotacij na ciljni zbirki ne moremo uporabiti. Analizo adaptacijskih metod smo zato izvedli s tako modificirano mrežo WaSRred . TP FP FN Re Pr F1 Slika 1: Primer slabo prevedene vhodne slike iz zbirke MaSTr1325 [9] z uporabo adaptacijske metode BDL. Metoda vhodno sliko (levo zgoraj) preslika v ciljno domeno (desno zgoraj) s pomočjo prenosne mreže in referenčne slike iz ciljne zbirke SMD [8]. Levo spodaj je prikazana dobljena segmentacijska maska, desno od nje pa zlati standard. Z rdečo barvo so označena kritična območja, ki niso konsistentna z vsebino generirane slike in privedejo od napačnega učenja. WaSR [5] 4458 932 1295 77,5 82,7 80,0 WaSRred [5] 4675 2730 1078 81,3 63,1 71,1 FDAmbl2 [2] FDA0,012 [2] DADT [3] Intra[1] Intrapre [1] BDL [4] 4775 544 978 83,0 89,8 4736 619 1017 82,3 88,4 4345 1714 1408 75,5 71,7 2806 77 2947 48,8 97,3 2508 857 3245 43,6 74,5 5255 18686 498 91,3 21,9 86,3 85,3 73,6 65,0 55,0 35,4 enem ne detektira kar 2947 primerov in tako doseže le 48,8% priklic. Za obe verziji najboljše adaptacijske metode FDA, smo nato izvedli evalvacijo še na WaSRred z uporabo Rezultati evalvacije adaptacijskih metod so predsta- maske IMU. Rezultati v Tabeli 2 kažejo, da FDA0,012 I vljeni v Tabeli 1. Rezultati kažejo, da odstranitev WS in nekoliko izboljša rezultat v primerjavi z popolno mrežo IMU (WaSRred ) poslabša rezultate ob odsotnosti adapta- WaSR, je pa ta še vedno slabši od WaSRred s F DAmbl2 , cije. Med adaptacijami se najbolje izkaže metoda FDA [2]. ki ne uporablja IMU maske. Mreža FDAmbl2 dosega najboljšo F-mero, ki je za 6,3% TP FP FN Re Pr F1 boljša od ne-adaptirane mreže WaSR, različica metode FDA0,012 pa za 5,3%. Sledi adaptacija z metodo DADT [3], FDAmbl2 I [2] 3768 30 1985 65,5 99,2 78,9 ki je za 6,4% slabša od WaSR brez adaptacije, metoda FDA0,012 I [2] 4113 88 1640 71,4 97,9 82,6 Intra pa za 15% slabša. Adaptacija z metodo BDL [4] doseže najslabši rezultat, ki je kar 44,4% slabši od refe- Tabela 2: Uporaba IMU mask pri učenju adaptaciskih mrež. Rerenčne mreže. Od štirih adaptacijskih metod le FDA iz- zultati so prikazani za adaptacijsko metodo FDA na WaSRred . boljša vrednost F-mere v primerjavi z ne-adaptirano mrežo WaSR. Slika 2 prikazuje primere referenčne mreže WaSR ter Metoda BDL [4] dosega največje število pravilnih de- adaptacijske metode FDA [2], ki uporablja mrežo WaSR tekcij, vendar je njena natančnost izjemno majhna, saj z izklopljeno izgubno funkcijo WS. mreža proizvede ogromno število FP primerov, ki po našem mnenju nastanejo zaradi nenatančnih prevedenih slik. 4 Zaključek Te niso najbolj primerne za učenje, saj na nekaterih lokacijah dodajo napačne segmentacijske komponente. Na V tem delu smo analizirali uspešnost najperspektivnejših Sliki 3 lahko vidimo primere prevedenih slik, kjer pre- metode za segmentacijsko adaptacijo na vodni domeni. nosna mreža napačno generirana navigacijske boje, ka- Od štirih evalviranih metod je le adaptacija z FDA dotere na izvorni sliki niso anotirane kot ovira, ampak kot segla boljšo F-mero kot ne-adaptirana mreža WaSR, postopki adaptacije z metodami DADT, BDL in Intra pa vodna komponenta. Mreža Intrapre , ki je učena s postopkom metode In- so končni rezultat poslabšali. Za najboljše uvrščeno metra, v zadnjem koraku postopka uporabi uteži, naučene iz todo FDA smo nato izvedli evalvacijo še z uporabo maprvega koraka, in proizvede za 25,0% slabše rezultate kot ske IMU. Najboljši rezultat je dosegala mreža adaptirana popolna mreža WaSR, medtem ko metoda Intra, pri kateri z F DAmbl2 različico metode FDA, ki je za 6,3% izboljse v zadnjem koraku uporabi naključne uteži pa za 15,0% šala F-mero popolne referenčne mreže WaSR, učene na slabše. Med drugim metoda Intra proizvede zelo malo klasičen način. Metoda adaptirana s FDA in uporabo manapačnih detekcij in dosega visoko natančnost, vendar ob ske IMU za 2,6% prekaša ne-adaptirani WaSR, vendar je Tabela 1: Rezultati detekcije ovir na SMD pri uporabi različnih adaptacijskih metod. Za referenco so prikazani tudi rezultati WaSR in WaSRred brez adaptacije. 376 Self-Supervision. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 3764-3773, June 2020. [2] Yang, Yanchao and Soatto, Stefano, FDA: Fourier Domain Adaptation for Semantic Segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 4085-4095, June 2020. [3] Wang, Zhonghao and Yu, Mo and Wei, Yunchao and Feris, Rogerio and Xiong, Jinjun and Hwu, Wen-mei and Huang, Thomas S. and Shi, Honghui. Differential Treatment for Stuff and Things: A Simple Unsupervised Domain Adaptation Method for Semantic Segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12635-12644, June 2020. [4] Li, Yunsheng and Yuan, Lu and Vasconcelos, Nuno. Bidirectional Learning for Domain Adaptation of Semantic Segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 69366945, June 2019. [5] Borja Bovcon and Matej Kristan. A water-obstacle separation and refinement network for unmanned surface vehicles. In IEEE International Conference on Robotics and Automation, pages 9470-9476, June 2020. [6] Vu, Tuan-Hung and Jain, Himalaya and Bucher, Maxime and Cord, Matthieu and Perez, Patrick. ADVENT: Adversarial Entropy Minimization for Domain Adaptation in Semantic Segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2517-2526, June 2019. Slika 2: Primeri segmentacij ovir na SMD brez adaptacije (2. vrstica) in pri uporabi adaptacijskih metod FDA in DADT (3. in 4. vrstica). V zadnjih dveh vrsticah so vizualizirane segmentacije adaptiranih mrež, ki uporabljata IMU maske. Zeleni pravokotniki predstavljajo pravilne detekcije, oranžni pravokotniki napačne detekcije, rdeči pa zgrešene detekcije. F-mera še vedno nižja od mreže adaptirane s FDA brez uporabe IMU mask in to za 3,7%. Na podlagi rezultatov sklepamo, da je uporaba samonadzorovanega učenja s psevdo oznakami, generiranimi iz povprečja več mrež, dober princip učenja mrež v namene detekcije ovir na vodnih scenah. Menimo, da se na takšen način model lažje nauči razpoznavati semantične komponente, kot so voda in njeno valovanje ter odboje svetlobe od nje, saj se ob generiranju psevdo oznak uporabi različne variacije vhodnih slik, s katerimi modeli proizvedejo različne uporabne značilke. Zahvala Matej Kristan in Lojze Žust sta bila financirana iz projekta DaVIMAR (ARRS J2-2506). Literatura [1] Pan, Fei and Shin, Inkyu and Rameau, Francois and Lee, Seokju and Kweon, In So. Unsupervised IntraDomain Adaptation for Semantic Segmentation Through 377 [7] Zhu, Jun-Yan and Park, Taesung and Isola, Phillip and Efros, Alexei A. Unpaired Image-To-Image Translation Using Cycle-Consistent Adversarial Networks. In Proceedings of the IEEE International Conference on Computer Vision, pages 2223-2232, October 2017. [8] Prasad, Dilip K. and Rajan, Deepu and Rachmawati, Lily and Rajabally, Eshan and Quek, Chai. Video Processing From Electro-Optical Sensors for Object Detection and Tracking in a Maritime Environment: A Survey. In IEEE Transactions on Intelligent Transportation Systems, pages 1993-2016, 2017. [9] Bovcon, Borja and Muhovič, Jon and Pers, Janez and Kristan, Matej. The MaSTr1325 dataset for training deep USV obstacle detection models. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 34313438, November 2019. [10] M. Kristan and V. Sulić Kenk and S. Kovačič and J. Perš. Fast Image-Based Obstacle Detection From Unmanned Surface Vehicles. In IEEE Transactions on Cybernetics, pages 641-654, 2016. [11] Kim, Myeongjin and Byun, Hyeran. Learning Texture Invariant Representation for Domain Adaptation of Semantic Segmentation. In IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 2020. [12] Chen, Liang-Chieh and Papandreou, George and Kokkinos, Iasonas and Murphy, Kevin and Yuille, Alan. DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs. In IEEE Transactions on Pattern Analysis and Machine Intelligence, June 2016. Zaznavanje terasiranih pokrajin kot semantična segmentacija digitalnega modela višin Anže Glušič∗ , Rok Ciglič+ in Luka Čehovin Zajc∗ ∗ + Univerza v Ljubljani, Fakulteta za računalništvo in informatiko Znanstvenoraziskovalni center Slovenske akademije znanosti in umetnosti, Geografski inštitut Antona Melika E-pošta: anze.glusic@gmail.com, rok.ciglic@zrc-sazu.si, luka.cehovin@fri.uni-lj.si Abstract We present our preliminary study on applying a semantic segmentation model to the problem of detecting terraced landscapes from LIDAR data. The study is conducted on south-west region of Slovenia, we are using digital elevation model and reference annotations that were manually identified by experts. These annotations are incomplete and the main question of our study is if they can still be used to bootstrap our predictive model. We provide details about data pre-processing and training setup. Our results show that the model can help identify terraces even using noisy training data, providing further opportunities for weakly supervised and interactive training scenarios. 1 Uvod Globoki modeli konvolucijskih nevronskih mrež nam omogočajo, da v slikovnih podatkih odkrivamo kompleksne vzorce. Taki modeli se lahko uspešno uporabijo v nalogah, ki bi drugače zahtevale veliko zamudnega ročnega dela in bile podvržene pristranskosti in spremenljivi pozornosti. Primer take naloge je pregledovanje podatkov daljinskega zaznavanja površja. V naši študiji smo se osredotočili na digitalni model višin, pridobljen s tehnologijo LIDAR, na katerem hočemo naučiti globoki model, ki bo določil področja terasiranih pokrajin, bolj natančno se osredotočamo na kulturne terase. Kulturne terase so zgradili zaradi lažjega kmetovanja, zmanjšane erozije prsti in uravnavanja količine vode [1, 2]. Na seznam svetovne kulturne dediščine je uvrščenih že nekaj terasiranih pokrajin [3, 4]. Kulturne terase pa ponekod izginjajo zaradi zaraščanja ali neustrezne obdelave. Leta 2010 je bila na globalni ravni sprejeta Honghejska deklaracija1 . Terase so tudi v Sloveniji že prepoznane kot dragocen element pri ohranjanju pokrajine2 , a zaenkrat Slovenija še nima povsem ustreznega kriterija za identifikacijo teras ter sistema upravljanja [5]. Teraso sestavljata ravna ali rahlo nagnjena, različno široka terasna ploskev, namenjena obdelavi, in bolj strma, različno visoka terasna brežina. Bolj je pobočje strmo, 1 Deklaracija je bila sprejeta z namenom, da opozori na pomen kmetijskih (kulturnih) teras ter pripomore k zaščiti in razvoju terasiranih območij po celem svetu. 2 Uredba o navzkrižni skladnosti, Uradni list RS 97/2015. ERK'2021, Portorož, 378-381 378 Slika 1: Primer terasirane pokrajine v Goriških Brdih (fotografija: Matjaž Lenarčič) ter njenega digitalnega modela višin, prikazanega kot senčen relief. Na modelu višin so terase dobro vidne kot črtast vzorec. ožje so terasne ploskve [6, 5]. Pretekle raziskave so pokazale na raznolikost kulturnih teras in njihov pomen za prebivalstvo, niso pa uspele izpeljati natančnih postopkov za njihovo objektivno samodejno prepoznavanje. Danes je to, zaradi novih podatkovnih virov in razvoja metod strojnega učenja bolj izvedljivo, kot pred nekaj leti. V članku predstavljamo trenutne rezultate razvoja globokega modela za zaznavanje terasiranih pokrajin na osnovi digitalnega modela višin. Pričakujemo, da bo napovedni model pripomogel k izboljšani metodologiji prepoznavanja kulturnih teras. Detajlna določitev teras bi izboljšala razumevanje in vrednotenje njihovih okoljskih, socialnih in ekonomskih pomenov [7]. Evidenca teras je pomemben temelj vseh nadaljnjih raziskav in izvajanja uradnih postopkov ter ima tudi širši pomen (npr. za ohranjanje kulturne pokrajine, prehransko varnost). 2 Sorodna dela Ker so digitalni modeli višin za večja območja dokaj novi, njihov zajem pa drag, so prve metode za samodejno prepoznavanje terasiranih pokrajin delovale na analizi bolj dostopnih satelitskih slik [8, 9]. Metode delujejo na slikovnih preslikavah in analizi signala [8] ter osnovnih konceptih strojnega učenja [9]. Za območja, kjer je na voljo digitalni model višin, prinese njegova uporaba prednosti, saj je mogoče dobre rezultate dobiti z relativno preprostimi ekspertnimi sistemi izpeljanimi iz analize površja [7, 10, 11]. Dodatno informacijo je mogoče dobiti s kombinacijo večih virov (višine, ortofoto, sloj rabe tal) [12]. Po našem vedenju globoko učenje v kontekstu detek- razdeljeni. Poleg tega smo že pred začetkom eksperimentov vedeli, da je seznam teras pomanjkljiv, predvsem ne obsega teras, ki so zapuščene in zaraščene, zato jih pri pregledu letalskih posnetkov pogosto ni bilo mogoče opaziti, možna pa je tudi človeška napaka. 4 Slika 2: Prikaz obravnavanega območja v obliki digitalnega modela reliefa, na katerem so območja, ki so v referenčnih podatkih označena kot terase, prikazana z rdečo barvo. S turkizno barvo je prikazana meja Slovenije. cije terasiranih pokraijn še ni bilo uporabljeno, še posebej ne na digitalnem modelu višin. Kot najbolj sorodno delo bi tako opredelili nedavno uporabo globokega učenja za prepoznavanje vrtač v Sloveniji [13], ki so sicer ena izmed bolj pogosto analiziranih reliefnih oblik. 3 Podatki V letih 2011, 2014 in 2015 se je z laserskim skeniranjem posnela celotna Slovenija, pripravljeni so bili sloji višin reliefa in površja v obliki oblaka točk ter kot rastrski digitalni model višin v ločljivosti 1m [14], ki ga bomo uporabili kot vhodni podatek v naš model3 . Kot referenco za učenje in vrednotenje smo uporabili podatke, pridobljene v okviru projekta Terasirane pokrajine v Sloveniji kot kulturna vrednota [5, 15, 16]. V okviru projekta se je v obdobju 2011 do 2014 z ročno analizo letalskih posnetkov (ortofoto) zabeležilo kulturne terase za območje celotne Slovenije. V okviru naše analize smo se osredotočili na jugozahodni del Slovenije, ki vsebuje največ terasiranih pokrajin. Obravnavano območje je prikazano na Sliki 2. Območje je veliko približno 80 × 50 km (79561 × 50960 celic). Del pravokotnega območja, za katerega sicer imamo digitalni model reliefa zaradi načina zajema sega izven meja Slovenije. Zaradi omejitve beleženja teras na Slovensko ozemlje, smo se za naše delo omejili na območje znotraj države (68.5% celic pravokotnega območja). Glede na referenčne podatke je delež terasiranih pokrajin relativno majhen glede na celotno obravnavano ozemlje, zgolj 5.9%. Zato govorimo o neuravnoteženih podatkih, ki so obenem še geografsko neenakomerno po3 Surove podatke hrani Agencija RS za okolje. 379 Metodologija Kljub izzivom, omenjenim v prejšnjem poglavju, smo raziskavo začeli s predpostavko, da je zaradi načina učenja odpornost globokih modelov na šum v oznakah v določenih primerih velika [17]. Problem zaznavanja terasiranih pokrajin zaradi raznolikih oblik teras v raziskavi obravnavamo kot klasičen problem semantične segmentacije. Na tem področju je zelo pogosto uporabljena globoka arhitektura UNet [18], ki je prikazana na Sliki 3. Gre za polno konvolucijski samokodirnik, ki preko plasti konvolucij in združevalnih slojev z maksimizacijo opiše lastnosti večjega območja v posamezni celici ozkega grla. V drugem delu se podatki postopoma spet rekonstruirajo na izvorno velikost slike v ciljno obliko za vsak slikovni element – klasifikacija v enega izmed ciljnih razredov. Model UNet smo prilagodili za uporabo na naših podatkih. Število parametrov modela zmanjšali na 25% s sorazmernim zmanjšanjem števila kanalov v vsaki plasti. Podatke procesiramo v obliki zaplat velikosti 512 × 512, izrezanih iz celotnega digitalnega modela višin. Vhod v model je dvo-kanalna matrika parcialnih odvodov zaplate, ki so normalizirani z deljenjem z maksimalno vrednostjo odvoda znotraj znanih teras (19 m). Taka predstavitev nam omogoči, da je porazdelitev vrednosti podobna na vseh izsekih podatkov. Izhod iz modela je dvo-kanalna matrika verjetnosti, da posamezna celica vsebuje terase ali ne. Tekom učenja se napovedana dvo-kanalna verjetnost primerja z referenco. Za to smo uporabili večrazredno Dice-ovo funkcijo napake [19], ki je primerna za učenje segmentacije na neuravnoteženih podatkih. 5 Eksperimentalni rezultati Da smo model eksperimentalno ovrednotili, smo podatke razdelili na učni in testni del. Ker je porazdelitev podatkov zelo neenakomerna, smo uporabili delitev območja v obliki šahovnice (območja velikosti: 2048 × 2048 celic). Liha področja šahovnice so namenjena učenju, nato pa se vertikalno in diagonalno izmenjujejo območja namenjena učenju in vrednotenju. S tem smo dosegli skoraj enakomerno zastopanost teras v obeh množicah. Iz ustreznega dela šahovnice smo naključno vzorčili vzorce, ki so v celoti znotraj le tega. Ker večina podatkov ne pripada terasam, smo vzorčenje tekom učenja pogojili s pripadnostjo vsaj 1% vzorca terasam (glede na referenčne podatke). Učno množico smo naknadno obogatili z naključnimi kombinacijami zrcaljenja ter rotacije. Model smo optimizirali z metodo Adam [20] v 40000 korakih v paketih po 16 vzorcev. Hitrost učenja je bila 0.001. Naučeni model smo najprej kvantitativno ovrednotili na celotni testni polovici zbirke z natančnostjo in priklicem. Rezultati so povzeti v Tabeli 1, za referenco smo vzeli naključni binarni klasifikator. 256 32 256 6 2 51 2 51 2 51 2 51 2 2 16 16 16 16 51 6 6 25 25 25 32 32 32 32 25 6 64 8 8 64 12 8 8 64 12 12 12 64 12 128 64 128 64 64 8 64 128 51 16 16 128 25 32 32 64 6 64 128 64 Ozko grlo 128 softmax Slika 3: Uporabljeni model za semantično segmentacijo. Vhod v model sta parcialna odvoda, pridobljena iz digitalnega modela višin, izhod pa binarna maska prisotnosti terasiranih pokrajin. Naključno Model Natančnost 0.06 0.54 Priklic 0.50 0.67 F1 0.10 0.52 Tabela 1: Kvalitativno vrednotenje dobljenega modela na testnem delu podatkov. Prikazane so mere natančnost, priklic in F1. ali pa je območje oznake preširoko). Vse to v prvi vrsti negativno vpliva na funkcijo napake, ki se optimizira med učenjem in v model vnaša šum, po drugi strani pa izkrivi tudi rezultate vrednotenja. V Sliki 5 je zbranih nekaj primerov najbolj pogostih odstopanj med referenčnimi oznakami in napovedmi modela, ki smo jih odkrili med kvalitativnim pregledom. V prvi vrstici so primeri ne-zaznanih teras. V nekaterih primerih so terase enostavno preozke, da bi jih model zaznal (A-1). V določenih primerih so referenčne oznake, vsaj glede na digitalni model višin, napačne (B-1) ali pa vsaj vprašljive (C-1). V drugi vrstici so primeri delnih referenčnih oznak, kljub širšemu obsegu teras so označena samo določena zemljišča (A-2), oznake so napačne, vendar je poleg njih model pravilno zaznal terase (B-2). V določenih primerih (C-2) referenčne oznake samo niso natančne, napake v mejah pa prispevajo k skupni napaki. V tretji vrstici so najprej prikazani primeri očitnih teras, ki jih je model našel, pa niso bile med referenčnimi podatki (A-3 in B-3), kot zadnji so primeri dobrega ujemanja referenčnih podatkov in napovedi modela (C-3). 6 Slika 4: Napake na celotnem obravnavanem območju (rdeči kanal) skupaj z deležem teras v referenčnih podatkih (zeleni kanal). Kvantitativni rezultati sicer potrjujejo, da se je model nečesa naučil, vendar pa so slabši od pričakovanj. Zato smo podatke in napako ovrednotili tudi kvalitativno. Na Sliki 4 je prikazana napaka, povprečena po področjih 512 × 512 celic skupaj z deležem teras na teh področjih. Vidimo lahko, da se veliko napak pojavlja na področjih, kjer se tudi drugače pojavljajo terase. Ob podrobnem pregledu smo ugotovili, da so referenčni podani podatki bolj šumni, kot smo pričakovali. Največ napak prihaja iz neoznačenih (terase so vidne na senčenem reliefu, vendar niso označene), napačno označenih (so označene vendar jih tam ni) in nenatančno označenih območij (označeno ni natančno območje, terase se nadaljujejo izven območja 380 Zaključek V članku smo predstavili delne rezultate naše raziskave na temo zaznavanja terasiranih pokrajin v Sloveniji. V okviru raziskave smo uporabili podatke digitalnega modela višin ter referenčne podatke, pridobljene z ročno analizo letalskih posnetkov. Problem smo zastavili kot učenje modela za semantično segmentacijo. Referenčni podatki niso bili uravnoteženi, poleg tega smo že vnaprej vedeli, da referenčne oznake najverjetneje niso popolne in vsebujejo napake. Kljub temu smo pri analizi rezultatov ugotovili, da je, kljub nadzorovanemu načinu učenja in slabšim kvantitativnim kazalnikom, model robusten na napake v referenčnih podatkih. V nadaljevanju bomo zato model poskusili izboljšati z upoštevanjem dodatnih modalnosti, npr. letalski posnetki, ter upoštevanjem konteksta kot je informacija o parcelaciji. Zaradi šumnih podatkov bomo celoten postopek učenja modela poskusili zastaviti kot delno-nadzorovano ali interaktivno učenje. Zahvala: Raziskava je bila delno financirana v okviru ARRS projektov L6-4038 in Z2-1866 ter ARRS programov P6-0101 in P2-0214. Slika 5: Izbrani primeri ujemanja z referenčnimi podatki. Zelena - ujemanje, Rdeča - samo napoved, Modra - samo referenca. References [1] M. Varotto, L. Bonardi, and P. Tarolli. World terraced landscapes: history, environment, quality of life, volume 9. Springer, 2018. [2] T. Berčič and L. Ažman Momirski. Parametric terracing as optimization of controlled slope intervention. Water, 12(3):634, 2020. [3] L. Ažman Momirski and T. Berčič. Ignored regions: Slovenian terraced landscapes. Annales, 26(3):399–418, 2016. [4] D. Kladnik, R. Ciglič, M. Geršič, B. Komac, D. Perko, and M. Zorn. Diversity of terraced landscapes in slovenia. Annales, 26(3):469–486, 2016. [5] D. Kladnik, D. Perko, R. Ciglič, and M. Geršič, editors. Terasirane pokrajine. Založba ZRC, 2016. [6] L. Ažman Momirski, D. Kladnik, B. Komac, F. Petek, P. Repolusk, and M. Zorn. Terasirana pokrajina Goriških brd, volume 17. Založba ZRC, 2008. [7] F. Ferrarese, S. Eugenio Pappalardo, A. Cosner, S. Brugnaro, K. Alum, A. Dal Pozzo, and M. De Marchi. Mapping agricultural terraces in italy. methodologies applied in the mapter project. In World Terraced Landscapes: History, Environment, Quality of Life, pages 179–194. Springer, 2019. [8] Y. Zhang, M. Shi, X. Zhao, X. Wang, Z. Luo, et al. Methods for automatic identification and extraction of terraces from high spatial resolution satellite data (china-gf1). International Soil and Water Conservation Research, 5(1):17–25, 2017. [9] W. Sun, Y. Zhang, X. Mu, J. Li, P. Gao, G. Zhao, T. Dang, and F. Chiew. Identifying terraces in the hilly and gully regions of the loess plateau in china. Land Degradation & Development, 30(17):2126–2138, 2019. [10] A. Ninfo. An assessment of the threat to the terraced areas along the brenta canal: an approach based on lidar. 381 Terraced landscapes of the Alps. Atlas. Project Alpter– Interreg iiib Alpine Space Programme Co-funded by the European Union, pages 28–30, 2008. [11] D. Godone, D. Giordan, and M. Baldo. Rapid mapping application of vegetated terraces based on high resolution airborne lidar. Geomatics, Natural Hazards and Risk, 9(1):970–985, 2018. [12] T. Berčič. Discovering terraced areas in slovenia: reliable detection with LIDAR. Annales, 26(3):449–468, 2016. [13] A. Mihevc and R. Mihevc. Morphological characteristics and distribution of dolines in slovenia, a study of a lidarbased doline map of slovenia. Acta Carsologica, 50(1), May 2021. [14] M. Čekada Triglav and V. Bric. Končan je projekt laserskega skeniranja slovenije. Geodetski vestnik, 59(3):586, 2015. [15] D. Kladnik, D. Perko, R. Ciglič, and M. Geršič, editors. Terraced Landscapes. Založba ZRC, 2016. [16] M. Šmid Hribar, M. Geršič, P. Pipan, P. Repolusk, J. Tiran, M. Topole, et al. Cultivated terraces in slovenian landscapes. Acta geographica Slovenica, 57(2):83–97, 2017. [17] D. Rolnick, A. Veit, S. Belongie, and N. Shavit. Deep learning is robust to massive label noise. arXiv preprint arXiv:1705.10694, 2017. [18] O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In Medical Image Computing and Computer-Assisted Intervention (MICCAI), volume 9351 of LNCS. Springer, 2015. (available on arXiv:1505.04597 [cs.CV]). [19] C. H. Sudre, W. Li, T. Vercauteren, S. Ourselin, and M. Jorge Cardoso. Generalised dice overlap as a deep learning loss function for highly unbalanced segmentations. In Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support, pages 240–248. Springer, 2017. [20] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. Validacija zvočnih posnetkov pri izdelavi podatkovne zbirke za učenje razpoznavalnika slovenščine Janez Križaj, Simon Dobrišek Fakulteta za elektrotehniko, Univerza v Ljubljani E-pošta: janez.krizaj@fe.uni-lj.si Audio validation of candidate training data for automatic speech recognition of Slovene This paper presents a support tool for the validation of audio recordings of Slovene speech. The tool allows the user to verify compliance with the quality requirements regarding the correct audio format, adequate speech volume, compatibility of the read speech with the corresponding text, suitability of initial/final pauses and then it removes recordings that do not adhere to the named requirements. By doing so, it is possible to quickly and efficiently verify audio recordings that can eventually be used as training data for learning the automatic speech recognition models. We demonstrate the tool’s efficiency by building the Slovene speech corpus from the recordings collected under the RSDO project (Development of Slovene in a Digital Environment). 1 Uvod Področje samodejnega razpoznavanja govora je v zadnjih letih doživelo velik napredek predvsem zahvaljujoč uporabi globokih nevronskih mrež [1, 2], ki pa za svoje učenje potrebujejo veliko učnega materiala. Žal pa trenutno za slovenski jezik ni na voljo ustreznih prosto dostopnih govornih baz, ki bi jih lahko uporabili za izgradnjo razpoznavalnika slovenskega jezika in na njem temelječih komercialnih produktov. Obstoječe baze so večinoma bodisi nedostopne bodisi plačljive bodisi na voljo samo za nekomercialno rabo. Poleg tega po obsegu ne zadoščajo za izgradnjo razpoznavalnika po sodobnih standardih. V okviru projekta RSDO smo si zato kot enega izmed ciljev zadali zgraditi govorno bazo, ki bo prosto dostopna in jo bo moč uporabljati tako za nekomercialne kot tudi komercialne namene. Za uspešno učenje samodejnih razpoznavalnikov govora morajo učni podatki praviloma izpolnjevati določene zahteve, ki se nanašajo predvsem na ustrezno kakovost zvočnega posnetka in skladnost posnetega govora z referenčnim besedilom. Aplikacija, predstavljena v tem članku, omogoča preverjanje izpolnjevanja omenjenih zahtev in zavrnitev posnetkov, ki teh zahtev ne izpolnjujejo in bi posledično lahko negativno vplivali na strojno učenje razpoznavalnika. Poglavitni namen udejanjitve aplikacije je olajšati preverjanje ustreznosti zvočnega gradiva pri izgradnji govorne baze v projektu RSDO. Govorna baza, bo omogočala razvoj ERK'2021, Portorož, 382-385 382 boljših razpoznavalnikov, kot je to mogoče s trenutno razpoložljivimi viri in orodji. Trenutne govorne baze slovenskega jezika omogočajo izgradnjo razpoznavalnika z WER (angl. Word Error Rate) med približno 25 % in 30 %, omejeno na akustične situacije, ki so zajete v teh bazah. Z novo govorno bazo bo po naši oceni možno doseči bistveno boljši WER. Delo, ki je predstavljeno v članku vsebuje naslednje doprinose: 1. Izdelava aplikacije za validacijo govornih posnetkov, ki olajša izločanje posnetkov neustrezne kakovosti. 2. Uporaba izdelane aplikacije za izgradnjo govorne baze, ki bo osnova za izdelavo razpoznavalnika slovenskega jezika. V nadaljevanju sledi podrobna predstavitev razvite aplikacije in preliminarnih rezultatov, ki smo jih pridobili na posnetkih, zbranih v okviru projekta RSDO. 2 Aplikacija za validacijo posnetkov To poglavje vsebuje predstavitev gradnikov in opis delovanja razvitega orodja za validacijo govornih posnetkov. 2.1 Postopek zbiranja posnetkov V grobem obstajata dva pristopa k izdelavi govornih zbirk. Prvi pristop obsega snemanje posameznih besedilnih povedi, ki jih berejo govorci, pri čemer posamezen posnetek vsebuje le eno poved. Pri drugem pristopu pa dolgo zvočno datoteko in pripadajoče besedilo naknadno razdelimo na posamezne povedi [3]. Vsled enostavnejše zagotovitve poravnave zvoka in besedila smo se poslužili prvega pristopa. Vsak govorec dobi seznam povedi, ki so bile predhodno zbrane s postopkom spletnega luščenja podatkov iz spletnih novičarskih portalov. Med snemanjem povedi se mora govorec držati predpisanih zahtev: i) vsaka posamezna poved naj bi bila shranjena v samostojni zvočni datoteki s končnico WAV, ii) na začetku in na koncu povedi mora biti vsaj pol sekunde in ne več kot ena sekunda originalno posnetega premora oziroma tišine, iii) posnetek se mora izvirno zajemati in shraniti v enokanalnem (mono) formatu s frekvenco vzorčenja 44,1 kHz. 2.2 Opis validacijskega postopka Razvita aplikacija omogoča preverjanje zgoraj navedenih zahtev, ki naj bi se jih morali držati snemalci in govorci pri zbiranju posnetkov. Shematski prikaz validacije posnetkov prikazuje slika 1 iz katere je razvidno, da se test skladnosti posnetka s predpisanimi zahtevami vrši preko treh odločitvenih blokov, ki obsegajo preverjanje ustreznosti formata zapisa posnetka, preverjanje skladnost govora s pripadajočim besedilom in preverjanje ustreznost premorov in glasnosti posnetka. Če se izkaže, da dani posnetek ne izpolnjuje katerega izmed pogojev ga zavedemo v seznam zavrnjeni posnetkov. zvočni posnetek in pripadajoče besedilo Da Ustrezen format? Ne Da Skladnost z besedilom? Ne Zavrni posnetek Da Ustrezna glasnost in premori? program od uporabnika, po vnosu vhodnih parametrov, ne zahteva več nobene interakcije. 2. polsamodejni način, ki zahteva uporabnikovo posredovanje le, če kateri izmed pogojev ni izpolnjen. V tem primeru ima uporabnik preko ustreznih gumbov možnost ročno odgovoriti ali posnetek res ne izpolnjuje dotičnega pogoja. 3. ročni način, kjer mora uporabnik na vsakega od pogojev odgovoriti s pritiskom na ustrezno tipko v grafičnem vmesniku. Če izberemo samodejni ali polsamodejni način, je potrebno vnesti še prag WER nad katerim se smatra, da se posnetek ne sklada z besedilom. Po vnosu vhodnih parametrov zaženemo validacijo s pritiskom na tipko “Zaženi”. S tem se sproži proces validacije v katerem je vsak obravnavani posnetek podvržen preverjanju treh omenjenih pogojev in je zaveden med zavrnjene, če ne izpolnjuje katerega od teh pogojev. Hitrost validacije je odvisna od izbranega načina delovanja, saj ročna interakcija precej upočasni preverjanje, vendar pa hkrati izboljša uspešnost validacije, ker je samodejno preverjanje pogojev podvrženo napakam, ki izhajajo predvsem iz pogreškov samodejnega razpoznavalnika govora in napak v oceni dolžine premorov. 2.4 Ne Da Sprejmi posnetek Slika 1: Shematski prikaz procesa validacije govornega posnetka. 2.3 Grafični vmesnik Interakcija uporabnika z aplikacijo je mogoča preko grafičnega vmesnika, ki ga prikazuje slika 2. Okno vmesnika je razdeljeno na več okvirjev. V levem zgornjem kotu je okvir za vnos vhodnih parametrov, levo spodaj se nahaja okvir za preverjanje skladnosti posnetka z referenčnim besedilom, sredinski del zaseda modul za preverjanje ustreznosti začetnega/končnega premora in glasnosti, v desnem delu okna pa se nahajata seznama sprejetih in zavrnjenih posnetkov in okvir s statističnimi podatki zvočnega posnetka. Za zagon validacijskega procesa je potrebno najprej vnesti vhodne parametre, ki vključujejo i) pot do mape s posnetki WAV, ii) pot do datoteke XLSX s pripadajočim besedilom, iii) številko posnetka pri kateri želimo pričeti (ali nadaljevati) z validacijo in iv) način delovanja, kjer je na voljo 1. samodejni način, kjer se preverjanje vseh pogojev pri testu ustreznosti posnetka izvede samodejno in 383 Preverjanje skladnosti s pripadajočim besedilom Preverjanje skladnosti posnetka s pripadajočim besedilom se vrši na dva načina. V ročnem načinu delovanja se v grafičnem vmesniku začne predvajati posnetek in izpiše pripadajoče besedilo, uporabnik pa s poslušanjem oceni ujemanje in sprejme/zavrne posnetek s pritiskom na ustrezno tipko. Pri (pol)samodejnem načinu pa se skladnost z besedilom oceni (pol)samodejno s pomočjo razpoznavalnika slovenskega govora, pri čemer smo se poslužili Googlovega razpoznavalnika. Razpoznavalnik temelji na uporabi rekurentnih nevronskih mrež [4] in deluje v obliki oblačne storitve, omogoča pa tudi uporabo privzetih poverilnic, zato je mogoča uporaba tudi brez prijave v oblačno storitev. Besedilni niz, ki ga vrne razpoznavalnik se nato primerja s pripadajočim besedilom na podlagi metrike WER (ang. Word Error Rate), ki se najpogosteje uporablja za ocenjevanje kakovosti samodejnih razpoznavalnikov [5] in je definirana kot W ER = S+D+I , N (1) kjer je S število zamenjav, D število izbrisov, I število vstavkov in N število vseh besed. Ker so v referenčnem besedilu vse številke zapisane z besedo, smo pred izračunom WER po (1) v izhodnem nizu Googlovega razpoznavalnika morebitne številke pretvorili v zapis z besedo. Razpoznano besedilo prav tako ne vsebuje ločil, zato smo jih pred izračunom WER izločili tudi iz referenčnega besedila. V (pol)samodejnem načinu se skladnost z referenčnim besedilom potrdi/zavrne, če je vrednost WER Za etni premor: 3.79 s, kon ni premor: 3.54 s Amplituda 1 0 1 0 govornih 2 4 6 Slika 2: Grafični vmesnik aplikacije za validacijo posnetkov. 2.5 Preverjanje premorov in glasnosti Ustreznost začetnega in končnega premora ter glasnosti se prav tako izvaja bodisi samodejno bodisi ročno, glede na izbiro načina validacije. Pri samodejnem izračunu premorov izrabljamo zahtevo, da morata začetni in končni del posnetka vsebovati od 0,5 s do 1,0 s premora. Iz začetnega in končnega dela posnetka tako lahko izračunamo povprečno vrednost glasnosti, ki pripada tihemu delu, iz preostanka posnetka pa povprečno glasnost govornega dela posnetka. Prag med negovornimi in govornimi odseki posnetka izračunamo kot povprečje teh dveh glasnosti. Izločitev morebitnih krajših odsekov v negovornem delu, kjer šum preseže vrednost praga dosežemo z morfološkimi operacijami erozije. Primer uspešne določitve začetnega in končnega premora v prisotnosti šuma je povzema graf glasnosti na sliki 3, kjer glasnost šuma v negovornem delu, mestoma celo preseže povprečno glasnost govornega odseka. Glasnost govora v posnetku se izračuna kot povprečna glasnost govornega dela signala. Če je povprečna glasnost manjša od vnaprej nastavljenega praga, se posnetek pri samodejnem načinu delovanja zavrne. Pri ročnem načinu validacije se v grafičnem vmesniku izrišejo trije grafi (sredinski del slike 2), ki so v pomoč pri odločanju o ustreznosti premorov in glasnosti posnetka. Zgornji graf prikazuje amplitudo zvočnega posnetka, srednji grafu zavzema spektrogram, pod njim pa je graf glasnosti zvočnega posnetka. Grafa amplitude in glasnosti imata barvno označene negovorne (rdeča) in govorne od- 384 10 12 14 Spektrogram Frekvenca [Hz] seke 20000(zelena) in na ta način omogočata enostaven pregled ustreznosti premorov. Črtkani horizontalni črti na grafu 10000glasnosti pa omejujeta območje med -18 dbFS in -6 dBFS, znotraj katerega naj bi bil signal pri običajni glasnosti 0 govora. Iz spektrograma pa med drugim lahko opazimo0 ali so2bili premori v6 posnetek 4 8 dodani 10 naknadno, 12 14 as [s] kar je tudi razlog za zavrnitev posnetka. Maks.: -0.15 dB, povpr.: -26.21 Glasnost[dB] manjša/večja od vnaprej nastavljenega praga. V ročnem načinu in v primeru zavrnitve pri polsamodejnem načinu se skladnost posnetka z besedilom preveri s poslušanjem posnetka. Tu so v pomoč barvno kodirane razlike med referenčnim in razpoznanim besedilom, pri čemer so zamenjave označene z oranžno, vstavki z zeleno in izpuščeni deli povedi z rdečo barvo (glej spodnji levi kot slike 2). 8 as [s] 25 50 75 0 2 4 6 8 as[s] 10 12 14 Slika 3: Samodejna določitev začetnih in končnih premorov na pošumljenem posnetku govora. Zeleno obarvani del predstavlja govor, rdeči del pa pokriva začetni in končni premor. 2.6 Implementacijski detajli Aplikacija je udejanjena v programskem jeziku Python 3. Posamezne naloge v procesu validacije posnetkov smo izvedli z uporabo že obstoječih knjižnic, ki so navedene v Tabeli 1. Programska koda je prosto dostopna na https://github.com/jan3zk/audio validation. Poleg Python skripte je za Windows okolje na voljo tudi samostojna izvršna datoteka .exe, ki smo jo tvorili s pomočjo knjižnice PyInstaller in omogoča enostaven zagon aplikacije brez predhodne namestitve Python knjižnic. 3 Eksperimenti Delovanje aplikacije za validacijo posnetkov je preizkušeno na posnetkih, zbranih v okviru projekta RSDO, z namenom izgradnje govorne baze za učenje razpoznavalnika slovenskega jezika. Rezultati, ki so bili prido- smotrno izbrati polsamodejni način validacije, ki pri nizkih vrednostih WER naredi malo napačnih samodejnih potrditev, vendar pa pohitri validacijo napram ročnemu Tabela 1: Uporabljene programske knjižnice Opravilo Knjižnica grafični vmesnik tkinter preverjanje formata zapisa posnetka načinu delovanja. soundfile 4 Google STT API, SpeechRecognition, difflib, jiwer, num2words skladnost z besedilom test premorov in glasnosti scipy, pydub, matplotlib, sox pretvorba iz .py v .exe pyinstaller bljeni na delu do sedaj zbranih posnetkov, so prikazani v tabeli 2 Zaključek V članku je predstavljena aplikacija za validacijo govornih posnetkov, ki smo jo razvili za lažje preverjanje ustreznosti posnetkov pri izdelavi govorne baze za učenje samodejnega razpoznavalnika slovenščine. Aplikacija vključuje preverjanje posnetka z referenčnim besedilom, kakor tudi preverjanje ustreznosti formata, začetnega in končnega premora ter glasnosti posnetka. Uporabnost aplikacije smo pokazali z validacijo posnetkov, zbranih v okviru projekta RSDO. Bodoče delo vključuje uporabo različnih razpoznavalnikov pri preverjanju skladnosti z referenčnim besedilom in primerjavo WER razpoznavalnika, naučenega na novi zbirki, z razpoznavalnikom, naučenim na obstoječih prosto dostopnih zbirkah slovenskega govora kot je npr. Mozilla Common Voice [6]. Tabela 2: Deleži najdenih neustreznih posnetkov. Zahvala Vzrok zavrnitve Način delovanja ročni polsamodejni samodejni a∗ 0.001 0.001 0.001 b† 0.091 0.098‡ 0.624‡ c§ 0.078 0.079 0.107 Raziskovalno delo, ki je pripeljalo do predstavljenih rezultatov, je bilo delno financirano s strani programa RSDO (Razvoj slovenščine v digitalnem okolju), financiranega s strani Ministrstva za kulturo in Evropskega sklada za regionalni razvoj. ∗ neustrezen format neskladje z referenčnim besedilom § neustrezni premori in glasnost ‡ delež pri pragu W ER = 0.0 Literatura † Delež zavrnjenih posnetkov zaradi neustreznega formata ni odvisen od načina delovanja, ker se ustreznost format zapisa pri vseh načinih delovanja preveri samodejno. Delež zavrnitev zaradi neskladanja z besedilom je pri ročnem načinu primerljiv z deležem, dobljenem pri polsamodejnem načinu, medtem ko je delež te vrste zavrnitev precej večji v samodejnem načinu delovanja. Razlog za večji delež zavrnitev v samodejnem načinu je, da preverjanje skladnosti posnetka z referenčnim besedilom na podlagi ujemanja referenčnega besedila z razpoznanim besedilom pri W ER = 0.0 vnese veliko napačnih zavrnitev. Pri polsamodejnem načinu, ki ponudi ročno preverjanje vsake zavrnitve, pa smo napačne zavrnitve razveljavili. Deleži zavrnitev zaradi neustreznih premorov ali glasnosti so prav tako nekoliko višji v samodejnem načinu validacije, kar je večinoma posledica nezanesljive ocene trajanja premorov zaradi šuma v posnetku. Rezultati v tabeli 2 nakazujejo, da je zaradi nezadostne zanesljivosti samodejnega razpoznavalnika govora 385 [1] S. Kriman et al., “Quartznet: Deep automatic speech recognition with 1d time-channel separable convolutions,” v ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2020, str. 6124–6128. [2] Y. Kong et al., “Multi-channel automatic speech recognition using deep complex unet,” v 2021 IEEE Spoken Language Technology Workshop (SLT), 2021, str. 104–110. [3] E. Bakhturina, V. Lavrukhin, in B. Ginsburg, “Nemo toolbox for speech dataset construction,” ArXiv, zv. abs/2104.04896, 2021. [4] W. Chan, N. Jaitly, Q. Le, in O. Vinyals, “Listen, attend and spell: A neural network for large vocabulary conversational speech recognition,” v 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016, str. 4960–4964. [5] A. Ali, W. Magdy, P. Bell, in S. Renais, “Multi-reference wer for evaluating asr for languages with no orthographic rules,” v 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), 2015, str. 576–580. [6] R. Ardila et al., “Common voice: A massively-multilingual speech corpus,” v Proceedings of the 12th Language Resources and Evaluation Conference. Marseille, Francija: European Language Resources Association, maj 2020, str. 4218–4222. Designing a Machine Learning based Non-intrusive Load Monitoring Classifier Leo Ogrizek1 , Blaz Bertalanic1,2 , Gregor Cerar1 , Marko Meza2 , Carolina Fortuna1 1 2 Jozef Stefan Institute, Ljubljana, Slovenia Faculty of Electrical Engineering, University of Ljubljana, Slovenia E-mail: lo7909@student.uni-lj.si Abstract. Non-Intrusive load monitoring provides the users with detailed information about the electricity consumption of their appliances and gives energy providers a better insight about the usage of their clients. It can also be used in improving care of elderly, legal services and optimizing energy consumption. While there is plenty of work in NILM appliance classification, in this paper we investigate the design tradeoffs in the process of developing a machine learning based classification model from the perspective of feature engineering, model selection and optimisation. Our work shows that well engineered features have a greater impact on model performance than the selection of the machine learning technique. According to the results, the improvement in f1 score between non-engineered and the proposed engineered features is up to 42% while improvement between the worst nonoptimised model and the best optimised one is 19%. 1 Introduction Non-Intrusive load monitoring (NILM) is a process of estimating the electricity consumption of individual appliances in a household from their combined electricity consumption. By providing detailed information to the user, NILM can help reduce energy usage by 5-15%[1]. It is also beneficial for the energy providers as the additional information allows them to tune the production of electricity and adjust the pricing plans better. Data about appliance usage has additional applications outside of energetics. It provides an insight into daily activities of residents which can be used in various fields including health and medical (discovering sleep disorders, remotely monitoring elderly), legal (monitoring curfews) and commercial (customer profiling). The benefit of measuring electricity consumption on a single point rather than on every device is ease of deployment and lower installation and maintenance costs. For application such as elderly care and curfews, events triggered by the residents, for example a toaster being used, need to be automatically detected and distinguished from automatic events such as for example air conditioning being activated by a thermostat. When unusual, possibly anomalous patterns in the usage are detected, such as decreased home activity, then an alert needs to be sent out to their caretakers, allowing them to intervene sooner. This is possible through the use of NILM classification ERK'2021, Portorož, 386-389 386 [2]. In a similar manner, when anomalous behaviour is detected from people under house arrest, an alert can be dispatched to the appropriate authorities automatically. NILM can also be used for predicting trends in energy consumption. Having a future view allows energy producers to prepare and tune the production in accordance to the projected requirements. Accurate consumption predictions reduce excess energy production and in turn, reduce the negative effects on the environment. NILM by itself can reduce power consumption by increasing awareness, some NILM powered systems can also turn off unneeded devices [3, 1]. Inside small communities NILM allows for better implementation of smart energy distribution systems and peer-to-peer energy trading, by providing a local producer information about whether energy is needed or can be returned into the grid [4]. Machine learning (ML) techniques have been shown to be suitable for addressing all NILM related problems [5]. This is realized by formulating a NILM classification problem to be solved and selecting high quality data that can be used by the ML techniques to discriminate between the target classes. The data, ML techniques, the training and evaluation process result in a model able to distinguish the target classes based on previously learned patterns in the data. In this paper we aim to understand the design tradeoffs for developing a NILM classifier. The contributions of this paper are as follows: • We systematically analyze the performance of feature engineering, model selection and optimization for NILM on the UK-Dale dataset. • We propose a best feature set constructed to capture the shape of the time series and we show it performs by 42 percentage points better than the baseline raw time series. The paper is organized as follows. Section 2 presents related work, Section 3 formulates the problem and identifies the dataset, Section 4 discusses the feature selection process while Section 5 elaborates on the model selection. Finally, Section 6 concludes the paper. 2 Related Work In the last decade a large body of work on NILM classification has been published. The traditional way of developing such classifiers used various signal processing technique. For instance, in [6] the authors classify appliances based on transient effects by using FFT transforms on higher frequency measurements. As the performance of the ML techniques improved, they have been increasingly considered as potential techniques for realising NILM. In [5], the authors provide an overview of the field by analysing suitable features and ML techniques for different types of data, i.e. low frequency, high frequency, etc. They also provide an overview on model selection. In [7] the authors develop a KNN classifier that is trained using U/I trajectories as features. In [8], the authors compare four algorithms for disaggregating appliances using multi label classification. More recently, authors are using deep learning to solve the NILM classification problem. In [9] low frequency data is used to detect on/off events. Classifications are made based on these events using a deep neural network classifier trained on average power consumption, minimum and maximum time an appliance is powered on. In [10] the authors use transient power signals to train a convolutional neural network to classify devices while in [11] a recurrent neural network is trained on denoised data. Our work complements [5] by providing a quantitative consideration of the design trade-offs when designing a NILM classifier using classical explainable machine learning models. 3 a total of 300 hours of measurements per device. The devices in the dataset are common household appliances which were already presented in section 3 . Data is spread into 1 hour long segments, each dataset sample contains a time series with 600 data points as depicted in Figure 1. Measurements are disaggregated, taken with a smart plug on every device [12]. Problem statement We define our NILM classification problem as follows. Given an input time series T representing energy measurements from households, there is a function Φ, that maps the time series to a set of target classes C representing different household appliances as in equation 1. C = Φ(T ) (1) where the set of target classes is C = { computer monitor, laptop, television, washer dryer, microwave, boiler, toaster, kettle, fridge }. The assumption is that a disaggregation in individual time series is already performed and the classification is done on the resulting time series. The classifier Φ is realized using classical machine learning techniques and the UK-DALE dataset to develop the model able to discriminate between the classes. We consider the following diverse but explainable set of techniques: SVM, KNN, Random forest (RF), MLP, Logistic regression (LR) from the scikit-learn library version 0.22.2. Deep learning methods were not used due to the limited amount of data in the UK-DALE dataset. Figure 1: Samples for each appliance, showing power in relation to time over a 1 hour interval. 3.2 Methodology UK-Dale contains univariate time series that if used raw, may lead to suboptimal model performance. A common practice in the ML community is to construct synthetic features, by statistical summaries, feature interactions, etc. using the raw time series. As some of the considered techniques, such as SVM and Logistic regression are sensitive to scaling, we used standard scaling that ensures that all the features will be relatively proportional. During the model development process, we use 5fold cross validation realized using scikit-learn K-fold cross validation. We use the selected ML technique with 3.1 Dataset summary The UK DALE (Domestic Appliance-level Electricity) [12] default parameter configuration as a baseline and then dataset contains 180000 measurements of power usage provide an optimized version using the scikit-learn imper device, taken in 6 second intervals or 0.1667 Hz for plementation of grid search. For the SVM, grid search 387 was optimizing the kernel and C value; for K-nearestneighbours it optimized the number of neighbours; for MLP it optimized the solver, the initial learning rate and the learning rate schedule; for Random forest the number of estimators while for SVM and logistic regression the regularization parameter. The models were evaluated using standard classificaTP P tion metrics: precision = T PT+F P , recall = T P +F N 2∗precision∗recall and f 1 = precision+recall for every class and their mean scores for every fold, where TP, FP and FN stand for true positives, false positives and false negatives. The final results presented in this paper are the mean scores of all 5 folds. 4 Feature selection By manually inspecting the appliances in the dataset, we noticed that they differ in overall power consumption and how constant their energy usage is (see Figure 1). For feature engineering we chose those features, that best capture the shape of the time series. The first created features were the mathematical moments and the squares of their values, minimum, maximum, peak-to-peak, sum and median. These features alone do not describe the energy usage spikes very well, so a second series was created from every sample with the derivatives of all the intervals between measurements. The number of times this derivative changes sign, which will be referred to as nturns, describes how many power spikes a device has during the measurement period. The sum of absolute values of all the derivatives, which will be referred to as d abs describes the intensity of said spikes. Features were calculated for each sample separately to avoid data leakage between training and testing dataset. Table 1: Comparison of feature sets using SVM. Feature set raw min, max, median mean, std all best Precision 0.486 0.746 0.714 0.851 0.851 Recall 0.460 0.664 0.646 0.837 0.835 f1 0.421 0.661 0.642 0.835 0.834 We performed a guided evaluation of the features described in this section with the best results, the raw time series as baseline and standard statistics summarized in Table 1. Using SVM to explore the performance of various feature vectors, our experiments showed that the most useful features are those that describe the shape of the time series. Inputting raw data which makes every timestamp a feature yields an f1 score of 0.421. The results are better than random because of the difference in size of the features within different classes. Using the minimum, maximum and median value from the time series results in an f1 score of 0.661. These results are significantly better because they describe the shape of the data, rather than assuming a timestamp is relevant to the end results. Using synthetic features, shifting 388 the series would still result in the same features, unlike when raw data is used. Because measurements can be started/finished at any time, this is a better classifier. For the same reason, using the mean and standard deviation also yields better results than raw data: f1 score of 0.642. Using all synthetic features results in an f1 score of 0.835. This is considerably better because the features describe more properties of the time series. However, some of the features are redundant and can be ignored to improve computation time. The final feature set determined to be the best is [mean, skew, kurtosis, peak-to-peak, variance, nturns, d abs and standard deviation]. This means the baseline feature vector of length 600 was reduced to a feature vector of length 8. These features give almost identical results as using all the synthetic features, with an f1 score of 0.834, but with lower required computing performance. Table 2: Per class performance, SVM, best feature set class computer monitor laptop computer television washer dryer microwave boiler toaster kettle fridge precision 0,882 0,897 0,958 0,952 0,679 0,945 0,705 0,684 0,961 recall 0,720 0,800 0,927 0,700 0,710 0,937 0,940 0,806 0,980 f1 0,780 0,838 0,941 0,804 0,687 0,940 0,806 0,739 0,970 A per class breakdown shown in Table 2 of the best results reveals that the fridge, boiler and television are classified best, while microwave and kettle are classified poorly. This is because the former have very distinct energy consumption patterns (fridge has low consumption and it is usually turned off can be distinguished from small devices by large and long lasting energy consumption spikes, boiler has a low consumption when not in use but consumes a lot of power when turned on, television uses a medium amount of energy with much more emphasised variations in consumption), while the latter share properties between each other and other low consumption devices such as the toaster and monitor (all are powered on for short periods of time, they also share highly variable energy usage). Certain samples contain devices that are powered off throughout the whole sample, such samples can not be distinguished from one another because they all have the same characteristic of no consumption. 5 Model selection and optimisation As discussed in Section 3.2 and summarized Table 3 the model performance depends both on the selected ML technique as well as on the parameters. It can be seen from the table that the best performing models are based on MLP and SVM. For the SVM, the default radial kernel proved to be optimal, however the default C value of 1 was far too observed interval, sum of absolute values of the derivative on every interval within the time series and standard deviation. Second, we also showed that the choice of the machine learning technique and the optimal parameters are also important. The best preforming model using optimised SVM has an f1 score 0.187 better than the worst performing non optimized SVM. However, all optimized SVM, MLP and random forest models work well with f1 scores between 0.81 and 0.84 for the considered problem. Table 3: Impact of algorithm optimisation Algorithm SVM default SVM optimised KNN default KNN optimised MLP default MLP optimised LR default LR optimised RF default RF optimised Precision 0.704 0.851 0.784 0.787 0.786 0.849 0.742 0.788 0.822 0.822 Recall 0.672 0.835 0.776 0.776 0.769 0.830 0.691 0.770 0.815 0.815 f1 0.647 0.834 0.772 0.776 0.766 0.828 0.674 0.768 0.813 0.813 References [1] S. Darby, “THE EFFECTIVENESS OF FEEDBACK ON ENERGY CONSUMPTION,” p. 24, 2006. low, resulting in a separating hyperplane with a larger margin, that misclassifies more points. After optimisation the best C value was determined to be around 38000. This resulted in a significant increase in accuracy with the f1 score going from 0.647 to 0.834 as can be seen from the first two rows of the table. In K-nearest-neighbours grid search found that checking 4 closest neighbours is better than the default 5, however this resulted in only a very small improvement of f1 from 0.772 to 0.776 as can be seen from rows 3 and 4 of the table. MLP initially had convergence issues. The first candidates for optimisation were thus the initial learning rate and the learning rate schedule. Different solvers were also tested. After optimisation, the parameters were changed from default adam solver with initial learning rate of 0.001 and constant learning rate to sgd solver with 0.45 initial learning rate and adaptive learning rate. We used one hidden layer with 100 neurons. Optimisation resulted in a large increase in f1, from 0.766 to 0.828 as can be seen from rows 5 and 6 of the table. Like SVM, logistic regression also suffered from a low C value. After optimisation, it was changed from the default of 1 to 20000. The solver was changed from lbfgs to liblinear. This resulted in a large increase in f1 going from 0.674 to 0.768 as can be seen from rows 7 and 8 of the table. In random forest the number of estimators was changed from 100 to 500 but that only resulted in a change of f1 from 0.813 to 0.815 as can be seen from rows 9 and 10 of the table. 6 Conclusions In this paper we showed the tradeoffs in developing an accurate appliance classification system and proposed a new feature set for improved classifier performance. First, we showed that by using statistical and custom quantities able to capture the shape of the raw time series can improve the F1 score performance by up to 42 percentage points compared to the raw time series baseline. Our experiments showed that the best performing features were mean, skew, kurtosis, peak-to-peak, variance, the number of times the derivative changed sign on the 389 [2] J. Alcalá, J. Ureña, and A. Hernández, “Activity supervision tool using Non-Intrusive Load Monitoring Systems,” Sep. 2015, pp. 1–4, iSSN: 1946-0759. [3] I. Abubakar, S. N. Khalid, M. W. Mustafa, H. Shareef, and M. Mustapha, “Application of load monitoring in appliances’ energy management – A review,” Renewable and Sustainable Energy Reviews, vol. 67, pp. 235–245, Jan. 2017. [4] “Smart home energy management systems survey,” Nov. 2014, pp. 167–173. [5] A. Zoha, A. Gluhak, M. A. Imran, and S. Rajasegarar, “Non-intrusive load monitoring approaches for disaggregated energy sensing: A survey,” Sensors, vol. 12, no. 12, pp. 16 838–16 866, 2012. [6] S. R. Shaw, S. B. Leeb, L. K. Norford, and R. W. Cox, “Nonintrusive load monitoring and diagnostics in power systems,” IEEE Transactions on Instrumentation and Measurement, vol. 57, no. 7, pp. 1445–1454, 2008. [7] A. Kelati, H. Gaber, J. Plosila, and H. Tenhunen, “Implementation of non-intrusive appliances load monitoring (NIALM) on k-nearest neighbors (k-NN) classifier,” AIMS Electronics and Electrical Engineering, vol. 4, no. 3, pp. 326–344, 2020. [8] D. Li and S. Dick, “Whole-house Non-Intrusive Appliance Load Monitoring via multi-label classification,” in 2016 International Joint Conference on Neural Networks (IJCNN), Jul. 2016, pp. 2749–2755, iSSN: 2161-4407. [9] M. A. Devlin and B. P. Hayes, “Non-intrusive load monitoring and classification of activities of daily living using residential smart meter data,” IEEE Transactions on Consumer Electronics, vol. 65, no. 3, pp. 339–348, 2019. [10] D. d. Paiva Penha and A. R. Garcez Castro, “Home Appliance Identification for Nilm Systems Based on Deep Neural Networks,” IJAIA, vol. 9, no. 2, pp. 69–80, Mar. 2018. [Online]. Available: http://aircconline.com/ijaia/V9N2/9218ijaia06.pdf [11] J. Kim, T.-T.-H. Le, and H. Kim, “Nonintrusive Load Monitoring Based on Advanced Deep Learning and Novel Signature,” Computational Intelligence and Neuroscience, vol. 2017, p. e4216281, Oct. 2017, publisher: Hindawi. [Online]. Available: https://www.hindawi.com/journals/cin/2017/4216281/ [12] J. Kelly and W. Knottenbelt, “The uk-dale dataset, domestic appliance-level electricity demand and whole-house demand from five uk homes,” Scientific data, vol. 2, no. 1, pp. 1–14, 2015. Optična razpoznava notnih znakov s CRNN Matic Isovski, Luka Šajn Univerza v Ljubljani Fakulteta za računalništvo in informatiko E-pošta: mi6568@student.uni-lj.si, luka.sajn@fri.uni-lj.si Abstract 2 Pregled področja Optical music recognition (OMR) is a field of research that investigates how to computationally read music notation. We study the use of Convolutional Recurrant Neural Network as an implementation of an end-to-end feature extractor and symbol sequence classifier. This approach is faster than the traditional and is not sensitive to image variability. We describe and demonstrate the use of PrIMuS dataset and supervised learning complexity. We also try to optimize model parameters with the Connectionist Temporal Classification loss function and back-propagation algorithms. At the end, we compare our minimalistic model to a popular app with integrated OMR technology. En izmed bolj poznanih odprtokodnih programov za optično razpoznavo notnih znakov je Audiveris [1]. Poleg razpoznave notnih znakov omogoča tudi izvoz datoteke v MusicXML format za nadaljnjo uporabo v drugih programih. Razpoznava poteka v več fazah, v vsaki je program osredotočen na določen sklop (notni znaki, črtovje, besedilo, akordi, znaki za dinamiko itd.). Za vsakega od sklopov ima deskriptni razred, ki hrani seznam značilk, število razredov, uteži ter ostale parametre, ki se uporabljajo pri konfiguraciji nevronske mreže. Za vsak sklop se torej zgradi nov model (s shranjenimi že naučenimi parametri), na koncu pa se vse klasifikacije združi in prikaže, za kar poskrbi razred za upodabljanje (angl. render). 1 3 Uvod Kljub temu, da je tehnologija OMR (angl. Optical Music Recognition) v zadnjih 50. letih veliko napredovala, gre še vedno za zelo odprto problematiko. Problem je zelo kompleksen saj obstaja mnogo različic glasbenih notacij, ki bi jih moral celosten sistem prepoznati in se zato ponavadi gradijo modeli, ki so prilagojeni le na en spekter celotnega problema. Podpirajo npr. samo en tip zapisa (digitalen, sken, ročna pisava), eno različico pisave, določeno zvrst, itd. Razvila sta se dva pristopa reševanja tega problema: ”deli in vladaj” [7] ter holistični [8]. Prvi razbije nalogo na več manjših in preprostejših nalog, katerih rešitve sestavijo končno. Najbolj osnovne naloge so razpoznava ter odstranitev notnega črtovja, določitev intonacije in taktovskega načina, klasifikacija notnih znakov ter lokalizacija notnih znakov. Klasifikacija simbolov je dosežena z algoritmi za primerjavo predlog. Osnovnejši pristop uporablja primerjavo predlog s površinskim pristopom, ki deluje neposredno na vrednostih slik in je močno občutljiv na spremenljivost predlog (afine transformacije), prav tako pa je potrebno predprocesiranje slik. Drugi pristop pa namesto neposredne primerjave uporablja ekstrakcijo in primerjavo značilk slike. Implementiran je s konvolucijsko globoko mrežo in je v primerjavi s prvim pristopom računsko znatno bolj optimalen ter ni občutljiv na spremenljivost predlog. ERK'2021, Portorož, 390-393 390 Zbirka notnih zapisov Pri učenju modela smo uporabili zbirko notnih slik CameraPrIMuS, ki je razširjena različica zbirke PrIMuS [2] (angl. Printed Images of Music Staves), ki je nastala v sklopu raziskave na področju digitalnega zvoka ter slikovne obdelave. V članku [6] so predlagali in opisali uporabo CRNN (angl. Convolutional Recurrent Neural Network) modela za namene OMR. Model se je na omenjenih zbirkah učil s pomočjo povezovalno časovne klasifikacije (angl. Connectionist Temporal Classification, v nadaljevanju CTC), z algoritmom za vzvratno razširjanje (angl. backpropagation) [9] pa popravljal lastne parametre. Zbirka vsebuje 87678 direktorijev, vsakega z dvema vhodnima vzorcema (navadna ter izkrivljena različica) ter 5 različnimi izhodnimi datotekami. Normalna vhodna slika je shranjena v PNG obliki, izkrivljena pa v JPG, vsebujeta pa izrezek vrstice z notnim črtovjem, natančneje glasbenih incipitom. Incipit [5] je zaporedje not, običajno prvih, uporabljenih kakor identifikacijska oznaka nekega glasbenega dela ali melodije. Vsebuje glasbeni ključ, predznake za določitev tonalitete, taktovski način ter od dva do pet taktov. Zaradi želje po izgradnji modela, ki bi dobro klasificiral note na slikah zajetih s pametnim telefonom, smo uporabili popačene različice vzorcev, saj vsebujejo podoben šum ter izkrivljenost. Primer obeh različic lahko vidimo na sliki (1). Pri ocenjevanju modela si lahko pomagamo s petimi različnimi oblikami izhodnih datotek. Prva oblika je glas- beno simbolična predstavitev izseka zakodiranega v MEI [3] (angl. Music Encoding Initiative). Naslednja oblika je PAE [4] (angl. Plaine & Easie Code), odprtokodni mednarodni knjižnični standard, ki prav tako omogoča vnašanje glasbenih incipitov. Direktorij vsebuje tudi dve poenostavljeni obliki glasbenega kodiranja: semantično ter agnostično. Semantično kodiranje vsebuje razredna imena vseh glasbenih znakov ter pripadajoče notne vrednosti tistim, ki jih je mogoče določiti. Agnostično kodiranje je podobno, le brez notnih vrednosti. Slika 1: Primer navadne vhodne slike (zgoraj) ter popačene vhodne slike iz zbirke (spodaj). 4 Celostna globoka nevronska mreža Zgradili smo celosten (angl. end-to-end) sistem, ki bo sam poskrbel za vse procesiranje potrebno za razpoznavo znakov. Imamo torej niz vhodnih slik, ki vsebujejo notno črtovje ter niz ustreznih zaporedij znakov. V namene iskanja značilk slike, po katerih bo sistem razpoznal znake, smo sestavili konvolucijsko nevronsko mrežo (angl. Convolutional Neural Network, krajše CNN). CNN se veliko uporablja za prepoznavanje slik in videa, sisteme priporočil, klasifikacijo slik, segmentacijo slik, medicinsko analizo slik, obdelavo naravnega jezika, ipd. Samo CNN pa ni kos nalogi, saj so note sekvenca znakov, pri čemer je za napovedovanje naslednjega znaka ključna informacija, kaj se nahaja pred njim. V te namene bomo uporabili rekurzivno nevronsko mrežo (angl. Recurrent Neural Netwrk, krajše RNN), saj zaradi svoje ciklične povezave omogoča delo s sekvencami. Iz CNN in RNN smo sestavili konvolucijsko ponavljajočo se nevronsko mrežo (CRNN). To smo naredili tako, da smo izhod CNN povezali z vhodom v RNN. Pridobljene značilke torej pošljemo v RNN, ki pa je odgovorna za klasifikacijo znakov. Zahvaljujoč zbirki z glasbenimi incipti ter labelami lahko izvedemo nadzorovano učenje kar nad združenim modelom in ne nad vsakim blokom posebej. Pri tem igrajo glavno vlogo nizi s pravilnim zaporedjem notnih znakov v inciptih. Vhod, ki pride v RNN sloj si lahko predstavljamo kakor sliko, ki se nato razbije na stolpce, vsak stolpec pa vsebuje znak. RNN mora torej imeti izhod v velikosti za eno večje od števila razredov (v primeru kadar stolpec ne bo vseboval znaka). Ker nas segmentacija in lokalizacija razpoznanih znakov zaenkrat ne zanimata, lahko s pomočjo CTC metode izvajamo lokalno optimizacijo parametrov nevronske mreže za nazaj in tako bistveno pripomoremo k izboljšanju modela v fazi učenja. 391 4.1 Arhitektura Arhitekturo modela lahko razberemo iz tabele 1. Vsi vhodni vzorci so v sivinski obliki različnih širin in višin ker je pa najmanjša višina vzorcev 128 slikovnih točk, smo toliko nastavili tudi velikost vhoda CNN. Vhodni del modela je zgrajen iz konvolucijskega bloka, ki vsebuje 3 konvolucijske sloje z inkrementalnimi velikostmi. Prvi zaznava 32 značilk, drugi 64, tretji pa 128. Vsak sloj črpa značilke v velikosti 3 × 3 in je povezan še v en sloj maksimalnega združevanja (angl. max-pooling) s filtri v velikosti 2 × 2, ki pomagajo pri optimizaciji mreže z nižanjem vzorčenja. V vseh konvolucijskih slojih se za aktivacijsko funkcijo uporablja ReLU (angl. Rectified Linear Unit), prav tako se pa vsakemu nizu vhodov (angl. batch) normalizira tako vrednost kot tudi dimenzije. Zadnji sloj konvolucijskega bloka se nato poveže z vhodom ponavljajočega se bloka, ki je zgrajen iz treh slojev. Prva dva sta sestavljena iz 256 BLST (angl. bidirectional long short-term memory) enot, ki iz filtrov poskušajo razpoznati niz notnih znakov. Tretji sloj je polno povezani (angl. fully-connected) sloj, ki ima 1782 nevronov (1781 razredov + 1 za ”prazen” stolpec). Nad zadnjim slojem se izvede normalizirano eksponentno funkcijo (softmax), tako da imamo kot izhod verjetnosti pripadanja razredu. Vhodna slika (128 × W × 1) CNN blok Conv2D (32, 3 × 3), MaxPooling2D (2 × 2) Conv2D (64, 3 × 3), MaxPooling2D (2 × 2) Conv2D (128, 3 × 3), MaxPooling2D (2 × 2) RNN blok BLSTM (256) BLSTM (256) Dense (1782), softmax Tabela 1: Zgradba CRNN modela. 5 Učenje modela Zbirko smo razdelili na učno (85%) in testno (15%). Učenje smo izvajali v iteracijah in v vsaki uporabili niz vhodov (angl. batch). Na vsakih 1000 iteracij smo izvedli še validacijo ter optimizacijo parametrov s pomočjo CTC funkcije. 5.1 Ocena Primerjali smo uspešnost učenja z vhodnim nizom velikosti 4 slik, ter vhodnim nizom velikosti 16 slik (slika 2). Pri obeh vidimo na začetku velik padec v napaki, pri večjem nizu padec traja do nekje 6. iteracije, kjer pride do majhnega popravka in nato spet padanje, ki se pa po 12. iteraciji umiri. Pri učenju z manjšim nizom se popravek zgodi že takoj v 3. iteraciji potem pa strmo pada in se počasi po 20. iteraciji umiri. Jasno lahko vidimo, da velikost niza vpliva na uspešnost treniranja. Pri učenju z manjšim nizom pridemo do najboljše ocene z 8% napako, pri drugem pa do 1%, upoštevati je pa potrebno, da je to povprečna napaka na simbol. V najslabšem primeru je torej napaka enaka err = n × errs , kjer je n število znakov v inciptu. Kljub temu, da z večjim vhodnim nizom dosežemo boljše rezultate, pa še vedno ni pametno kar večati števila slik. S prevelikim nizom namreč lahko pride do prekomernega prileganja, česar pa nočemo, saj je uporaba modela mišljena na različnih notnih zapisih (ki imajo sicer skupne lastnosti, ki bi jih CNN razpoznal). Pri učenju z nizom velikosti 16 slik smo do- Slika 2: Graf povprečne napake za vsak simbol glede na iteracije. segli povprečno simbolno napako (dalje PSBN) 1,1% oz. povprečno sekvenčno napako (dalje PSKN) 19,7%. Pri manjšem nizu pa smo dosegli dosti večjo napako - 7,7% PSBN ter 69,2% PSKN (tabela 2). PSBN (%) PSKN (%) niz = 16 1,1 19,7 niz = 4 7,6 69,2 Tabela 2: Povprečna sekvenčna ter simbolna napaka. 5.2 Analiza napake V tabeli 3 lahko vidimo štiri najpogostejše razrede z napačno klasifikacijo ter njen delež glede na povprečno napako predstavljeno v tabeli 2. Najpogosteje se napačno razred barline clef-C2 rest-quarter gracenote-G4 eighth. delež (%) 40,2 10,5 1,9 1,3 Simbolna napaka (%) Čas izvajanja (s) naš model 44 1,7 Audiveris 40,2 14 Tabela 4: Povprečna simbolna napaka in povprečen čas izvajanja. Literatura [1] Audiveris, Dosegljivo: https://github.com/Audiveris/audiveris. [Dostopano: 12.7.2012] [2] PrIMuS dataset, Dosegljivo: mus/. [Dostopano: 9.7.2012] Tabela 3: Povprečna napaka glede na razred. klasificira taktovska črta (v večini primerov jo zazna, kjer je ni), sledi ji glasbeni ključ (mezzo-soprano), nato pa še četrtinska pavza in okrasna osminka višine G4. 6 uspešnost. Slabše rezultate pa smo dosegli pri slikah zajetih s pametnim telefonom. PSBN je znašala 44% (tabela 4). Najpogosteje je bila napačno klasificirana taktovska črta (dodana), velikokrat je pa bil dodan tudi taktovski način. Pri napakah samih notnih znakov pa smo opazili, da se v 89% primerov zgodi napačna klasifikacija višine tona, v 7% primerov napačna klasifikacija dolžine tona, v 4% primerov pa napačna klasifikacija obojega. Opazili smo tudi, da se največ napak zgodi na primerih, ki ne vsebujejo močnih skupnih značilk zbirke oz. kadar vsebuje znake, ki so v zbirki prisotni redko ali sploh ne. Vsak incipit se začne z glasbenim ključem, ki mu sledijo predznaki, taktovski način ter nato note. V primerih, kadar slika ni vsebovala taktovskega načina, je namesto prve note klasificiralo enega od taktovskih načinov. Rezultati testiranja programa Audiveris na zbirki slik PrIMuS so prav tako bili predstavljeni v članku [6] in sicer dosegel je 44.2 % PSBN. Direktne primerjave sicer ne moremo opraviti, saj je naš model bil učen in ocenjen na zbirki Corpus. Lahko pa predvidevamo, da se na omenjeni zbirki ne bi izkazal bistveno bolje, temveč kvečjemu slabše. Testirali pa smo ga na istih 40 slikah kakor naš model. Na slikah brez šuma se je izkazal enako kakor naš model. Na slikah zajetih s pametnim telefonom je dosegel nekoliko boljše rezultate kakor naš model (40,2% povprečne napake na simbol). Ker smo uporabili le 20 slik je malce nesmiselno primerjati točnost sistemov, lahko pa primerjamo njuno hitrost. Vidimo lahko, da je naš model veliko hitreje izvajal razpoznavo kakor Audiveris. Z večanjem števila testnih primerov bi zagotovo vplivali na oceno točnosti modelov, ne bi pa bistveno vplivali na primerjavo hitrosti. Lahko torej rečemo, da je uporaba celostne nevronske mreže bolj optimalen pristop, kakor uporaba več modelov za vsak sklop, kakor to počne Audiveris. Uporaba pristopa, ki smo ga izbrali mi, bi bila npr. smiselna pri mobilni aplikaciji. https://grfia.dlsi.ua.es/pri- [3] MEI, Dosegljivo: https://music-encoding.org. [Dostopano: 9.7.2012] [4] PAE, Dosegljivo: https://en.wikipedia.org/wiki/Plaine %26 Easie Code [Dostopano: 10.7.2012] [5] Incipit, Dosegljivo: https://en.wikipedia.org/wiki/Incipit [Dostopano: 15.7.2012] Testiranje modela Model smo testirali na slikah brez šuma, ter na slikah zajetih s pametnim telefonom. Pri obeh sklopih smo uporabili 20 slik. Pri slikah brez šuma smo dosegli 100 % 392 [6] Jorge Calvo-Zaragoza and David Rizo. End-to-end neural optical musicrecognition of monophonic scores.Applied Sciences, 8(4), 2018 [7] K. R. Varadarajan, ”A divide-and-conquer algorithm for min-cost perfect matching in the plane,”Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280), 1998, pp. 320-329, doi: 10.1109/SFCS.1998.743466. [8] Emanuele Carlini, Patrizio Dazzi, and Matteo Mordacchini. A ho-listic approach for high-level programming of nextgeneration data-intensive applications targeting distributed heterogeneous computingenvironment.Procedia Computer Science, 97:131–134, 2016. 2nd Inter-national Conference on Cloud Forward: From Distributed to CompleteComputing. [9] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep feedforwardnetworks. InDeep Learning, chapter 6.5, pages 200–220. MIT Press, 2016. 393 Biomedicinska tehnika Biomedical Engineering Measurement protocol for detection of lipid peroxidation induced changes in planar lipid bilayers 1, 1 1, University of Ljubljana, Faculty of Electrical Engineering E-lj.si Merilni protokol za detekcijo sprememb ravninskih lipidnih dvoslojev zaradi lipidne oksidacije Abstract: vpliva lipidne oksidacije na pri elektroporaciji. Elektroporacija je pojav, pri katerem z visokonapetostnimi pulzi kratkotrajno za molekule, ki membrane ne prehajajo. Visokonapetostni pulzi lahko e stranske procese, ki so , kot je na primer oksidacija lipidnih molekul. S preprostim modelom ravninskim lipidnim dvoslojem lastnosti ravninskega lipidnega dvosloja. bomo upornost in prevodnost ter kapacitivnost ravninskih lipidnih dvoslojev zgrajenih iz oksidiranih ali neoksidiranih lipidnih molekul. 1 Introduction Exposure of biological cells to the electric field is a useful tool for manipulating the cell membrane permeability and has a widespread use in several medical and biotechnological applications as well as in food industry [1-3]. Even short-term exposure to electric field is stipulated to cause structural changes in biological membranes due to the formation of hydrophilic pores [4]. As a result, the membrane becomes temporarily more permeable for molecules, which lack the mechanism to cross the membrane [5]. This phenomenon is known as electroporation. The chemical and physical processes taking place at the molecular level during electroporation are relatively well studied; however, various side processes still remain unknown. The main side processes of electroporation are electrochemical reactions taking place at the electrodeelectrolyte interface, electrolysis and lipid peroxidation [8-9]. Lipid peroxidation is a chain reaction that causes degradation of lipids. Exposure of cells to electrical pulses is known to cause the formation of reactive oxygen species and oxidative damage to unsaturated lipid molecules which leads to chemical changes and results in long-lasting permeability of the cell membrane [8]. Numerous studies show that cell membrane permeability lasts considerably longer than the application of electrical pulses, which means that in addition to physical ERK'2021, Portorož, 395-398 Peter Kramar1 395 changes in the form of hydrophilic pores there must also be different chemical changes such as lipid peroxidation, to explain long-lasting membrane permeability [4-5]. In vitro cell membrane models such as planar lipid bilayers can be used to study lipid peroxidation processes at the molecular level. The artificial lipid bilayer is a simple, but still in certain specific aspects, a satisfactory model of the cell membrane [9]. Since we can assume that the electric field affects only a very small patch of the entire cell membrane, electroporation processes can well be studied using planar lipid bilayers. Planar lipid bilayers represent an electrophysiological technique for measuring the properties of phospholipid molecules, in a controlled environment. The advantage of planar lipid bilayers is their chemical and electrical accessibility from both sides [10]. The composition of the lipid bilayer can be arbitrarily changed to mimic the composition of a true cell membrane. Lipid peroxidation is involved in the pathogenesis of various diseases [11]. What is more, oxidized phospholipids are known to destabilize the structure of biological membranes, therefore the study of lipid oxidation effects on cell membrane are of more general interest. Unfortunately, oxidized phospholipids are rarely commercially available, and we must synthesize them ourselves. Using chemical oxidants we were able to oxidize lipid molecules using protocol by Zschornig and his colleague [12]. Oxidation products can be generated by the Fenton reaction (H2O2 + Fe2+) or via the KMnO4 induced oxidation. The obtained oxidation products can be identified by MALDI TOF MS, which is a simple and convenient method to characterize lipids and their oxidation products [13]. Lipid oxidation can also very well be carried out by leaving phospholipids to dry completely on atmospheric air. The degree of oxidation is determined by the incubation time, longer the incubation time more oxidation products will be obtained, furthermore, different oxidation products are produced. Due to lipid peroxidation, cell membrane alters its structure [14]. Oxidized lipid tails can be shorter and more polar, due to the presence of oxidation products such as aldehydes and lipid peroxides [15]. Damage and destruction of lipid membrane due to lipid peroxidation leads to changes in fluidity and permeability of lipid bilayers [16]. Lipid bilayers become less stable, area per lipid increases, and leakage of molecules can occur [17]. In the presence of lipid peroxides the membranes become less densely packed, less ordered, thinner and more permeable to water [15]. The aim of the study is to develop a measurement protocol to determine changes in planar lipid bilayer electrical properties such as resistance and capacitance due to lipid peroxidation, using different peroxidation techniques. a small drop of lipids dissolved in n-decane was applied to the aperture using a glass rod. A stable planar lipid bilayer was formed after approximately 30 min when capacitance was stable. 2 Materials and methods 2.1 Chemicals Nreagent) were purchased from Sigma Aldrich (Steinheim, Germany). Chloroform (Spectronorm quality) was obtained from VWR BDH Chemicals (Roncello, Italy), potassium chloride (KCl) and 2-[4(2-hydroxyethyl)piperazin-1-yl] ethanesulfonic acid (HEPES) from Merck (Darmstadt, Germany). Nitrogen gas was from Messer (Gumpoldskirchen, Austria). The lipids 1-palmitoyl-2-oleoyl-glycero-3phosphocholine (POPC) were from Avanti Polar Lipids (Alabaster, AL, USA). 2.2 Lipid oxidation POPC lipids were chemically oxidized prior to bilayer formation using the protocol described in the literature [12]. Briefly, oxidation was carried out with atmospheric air, where lipids in chloroform were dried under a N2 stream to obtain a dry thin lipid film at the bottom of the flask. Lipids were then left to oxidized under atmospheric air for 1 day. Chloroform was then added, and lipids were used for further experiments. Subsequently, chemical oxidants such as KMnO4 were used for lipid oxidation. A 2M KMnO4 solution was added to the dry thin lipid film at the bottom of the flask and incubated for 10 min at 37°C. Afterwards a 1 ml of chloroform: methanol [1:1 volume ratio] was added to stop the oxidation. Vortexing and centrifuging was used to separate the polar and nonpolar phase and to extract the oxidized lipids, which were dissolved in chloroform and used for further experiments. 2.3 Planar lipid bilayer formation Planar lipid bilayers were formed using the painting method [18]. The corresponding amount of lipids dissolved in chloroform were dried under a N2 stream and subsequently dissolved in n-decan to obtain a final 20 mM lipid concentration. A Delrin measurement chamber from Warner Instruments (Hamden, CT, USA) with 150 µm diameter aperture separating the two cuvettes was used for planar lipid bilayer formation. The aperture was pretreated with 20 mM lipids dissolved in hexane. After evaporation of hexane, each compartment was filled with 4 ml of 100 mM KCl and 10 mM HEPES in 1:1 volume ratio electrolyte solution. For planar lipid bilayer formation, 396 Figure 1: Instrumentation setup for measurement of planar lipid bilayer's electrical properties. The setup consists of an LCR meter (1), electrodes (2) and a measurement chamber (3). 2.4 Planar lipid bilayer analysis The planar lipid bilayer is electrically represented as an electrical circuit of a capacitor and a resistor wired in parallel. Electrical measurements on planar lipid bilayers were performed using a LCR meter E4980A from Keysight (Santa Rosa, CA, USA) connected to four Ag/AgCl electrodes (In vivo metric, Healdsburg, CA, USA) immersed in the electrolyte solution in the Delrin measurement chamber (Warner Instruments, USA) as shown on Figure 1. The LCR meter inner model was set up to measure resistance Rp and capacitance Cp (F) in parallel. The AC voltage was set to 20 mV and the frequency to 2 kHz. Data points were acquired each quarter of a second to obtain measurements of the resistance and capacitance over time. The LCR meter was connected through an Ethernet connection. The measured capacitance and resistance of each planar lipid bilayer were processed with MATLAB R2019a (MathWorks, Natick, MA, USA) using its Instrument toolbox. Measured data were accessed using a SCPI protocol. To compare capacitance measurements, specific capacitance c was calculated as measured capacitance Cp normalised to the area of the aperture in the chamber. Conductance (S) is the inverse of measured resistance Rp. To study the effect of lipid peroxidation on the conductivity of planar lipid bilayers, either oxidized or non-oxidized lipids were used. Four measurements using POPC lipids were done for each oxidation protocol. Controlled oxidation of Figure 2: Preliminary results of electrical measurements of oxidized and non-oxidized planar lipid bilayers. (A) Bilayer conductance increases in the lipid bilayer made of oxidized lipid molecules. The conductance increased more for KMnO4 oxidation, since KMnO4 is a stronger oxidant than air. The bar plots present the mean conductance of four measurements and its standard deviation. (B) Capacitance increased when lipids were oxidized on air and decreased when lipid were oxidized using KMnO4. The bar plots present the mean capacitance of four measurements and its standard deviation. lipid molecules was carried out using chemical oxidants such as air and KMnO4. Changes in conductance (S) and specific capacitance c ( F/cm2) of the planar lipid bilayer formed of nonoxidized and oxidized planar lipid bilayers were studied. 3 Preliminary results Preliminary results show that we are able to measure changes in electrical properties of POPC planar lipid bilayers, built from non-oxidized or from oxidized lipid molecules. A much higher conductance (Figure 2A) of the oxidized planar lipid bilayer was measured thus indicating that lipid oxidation can be the cause for increased membrane permeability. KMnO4 is a much stronger oxidant than air; therefore, it was expected to observe greater changes in conductance of the KMnO4 oxidized bilayers. Capacitance increased (Figure 2B) when lipids were oxidized on air, which has been reported previously and our results are in accordance with these findings [19]. Oxidation changes the hydrophobic tail region of the planar lipid bilayers, which should influence the dielectric constant of the bilayer and consequently results in a measureable increase of the . However, a decrease in capacitance was observed when lipids were oxidized using KMnO4. 4 Discussion Using electrical measurements of planar lipid bilayers, we observed an increase in conductance of the oxidized planar lipid bilayer, when compared to the non-oxidized bilayer. The conductance of the bilayer measures the ability for electrical current and 397 ions to pass the bilayer. With increasing lipid oxidation, the core of the bilayer will become more polar, due to chemical changes and consequently more permeable [20]; therefore, an increase in conductivity is as expected. However, changes in capacitance measurements of oxidized planar lipid bilayer are not as expected. Oxidation affects the tails of the lipid molecules; therefore, the hydrophobic core of the planar lipid bilayer will be under attack. The oxidation of lipid tails will change polar regions in the non-polar bilayer interior, therefore the capacitance of oxidized bilayers should increase with increasing dielectric constant. When lipids were dried and left to oxidize on air, an increase capacitance was measured compared to non-oxidized bilayers. However, oxidation with KMnO4 did not give expected results since capacitance decreased compared to non-oxidized bilayers. This could be due to lipid extraction after incubation with KMnO4, where some of the KMnO4 molecules could still be dissolved in non-polar phase. 5 Conclusion Lipid membranes are under constant attack of free radicals that may lead to lipid peroxidation in conditions of oxidative stress. The oxidative attack on fatty acid chains by reactive oxygen species may lead to structural and chemical changes in the lipid bilayer, which can alter the membrane properties. Lipid oxidation affects the hydrophobic interior of the bilayer, thus increasing the permeability and the dielectric constant due to formation of polar regions. Cell membranes have a natural response to the oxidative damage of their lipid constituents and try to prevent it using antioxidants. Antioxidant defence consist of scavenging, quenching and removal of active oxidants, repair of damage sections and excretion of toxic oxidation products [21]. In our study, we were able to demonstrate that oxidation leads to an overall increase in the planar lipid bilayer conductance, thus showing the possibility of increased membrane permeability due to lipid oxidation. Capacitance measurements were not as straightforward, since capacitance increased as expected for lipid oxidation using air, while capacitance decreased with KMnO4 oxidation. Sci., vol. 30, no. 3, pp. 413 420, Jul. 1969, doi: 10.1016/0021-9797(69)90410-X. [10] Methods Mol. Biol. Clifton NJ, vol. 998, pp. 109 118, 2013, doi: 10.1007/978-1-62703-351-0_8. [11] product 4-hydroxynonenal in obesity, the metabolic syndrome, and associated vascular and Exp. Gerontol., vol. 44, no. 10, pp. 625 633, Oct. 2009, doi: 10.1016/j.exger.2009.07.003. [12] generate oxidized phosphatidylcholines in Chem. Phys. Lipids, vol. 184, pp. 30 37, Dec. 2014, doi: 10.1016/j.chemphyslip.2014.09.003. References [13] [1] -Based Technologies for Medicine: Principles, Annu. Rev. Biomed. Eng., vol. 16, no. 1, pp. 295 320, Jul. 2014, doi: 10.1146/annurev-bioeng-071813104622. [14] [2] - [3] Trends Biotechnol., vol. 33, no. 8, pp. 480 488, Aug. 2015, doi: 10.1016/j.tibtech.2015.06.002. -Kalamiza, E. Vorobiev, and D. [15] J. Membr. Biol., vol. 247, Oct. 2014, doi: 10.1007/s00232-014-9737-x. [16] [4] [5] Electropermeabilization: Mechanisms and Annu. Rev. Biophys., vol. 48, no. 1, pp. 63 91, May 2019, doi: 10.1146/annurev-biophys052118-115451. L. Rems, M. Viano, M. A. Kasimova, D. lipid peroxidation to membrane permeability in electropermeabilization: A molecular dynamics Bioelectrochemistry, vol. 125, pp. 46 57, Feb. 2019, doi: 10.1016/j.bioelechem.2018.07.018. membrane permeability of cancer and normal Chem. Sci., vol. 7, no. 1, pp. 489 498, Jan. 2016, doi: 10.1039/c5sc02311d. [17] [18] [7] [8] Oxidation of Lecithin under Pulsed Electric Fields J. Agric. Food Chem., vol. 60, no. 49, pp. 12204 12209, Dec. 2012, doi: 10.1021/jf304236h. M. Maccarrone, N. Rosato, and A. F. Agrò, Biochem. Biophys. Res. Commun., vol. 206, no. 1, pp. 238 245, Jan. 1995, doi: 10.1006/bbrc.1995.1033. [19] Increase of Membrane Capacitance as a Consequence of Radiation-induced Lipid Int. J. Radiat. Biol., vol. 59, no. 1, pp. 71 83, Jan. 1991, doi: 10.1080/09553009114550071. [20] dynamics simulations of the effects of lipid [21] Bioelectrochemistry, vol. 141, p. 107869, Oct. 2021, doi: 10.1016/j.bioelechem.2021.107869. E. Niki, Y. Yoshida, Y. Saito, and N. Noguchi, Biochem. Biophys. Res. Commun., vol. 338, no. 1, pp. 668 676, Dec. 2005, doi: 10.1016/j.bbrc.2005.08.072. [9] resistance of lipid bil simulations of the effects of phospholipid and cholesterol peroxidation on lipid membrane Biochim. Biophys. Acta BBA Biomembr., vol. 1858, no. 9, pp. 2191 2198, Sep. 2016, doi: 10.1016/j.bbamem.2016.06.018. P. Mueller, D. O. Rudin, H. Ti Tien, and W. C. Structure in vitro and its Transformation into an Nature, vol. 194, no. 4832, Art. no. 4832, Jun. 1962, doi: 10.1038/194979a0. [6] rochemical Processes During High-Voltage Electric Pulses and their Importance in Food Processing Advances in Food Biotechnology, John Wiley & Sons, Ltd, 2015, pp. 575 592. doi: 10.1002/9781118864463.ch35. W. Zhao, R. Yang, Q. Liang, W. Zhang, X. Hua, Chem. Phys. Lipids, vol. 164, no. 8, pp. 782 795, Nov. 2011, doi: 10.1016/j.chemphyslip.2011.09.006. review of causes, consequences, measurement and dietary Int. J. Food Sci. Nutr., vol. 47, no. 3, pp. 233 261, Jan. 1996, doi: 10.3109/09637489609012586. E. Parra-Ortiz et al. physicochemical properties of polyunsaturated J. Colloid Interface Sci., vol. 538, pp. 404 419, Mar. 2019, doi: 10.1016/j.jcis.2018.12.007. J. Van der Paal, E. C. Neyts, C. C. W. Verlackt, J. Colloid Interface 398 Decreases in Cell Viability Resulting from Metal Ions Present in Stainless Steel in Electroporated and Nonelectroporated Cells Sonja Košir1,2, Angelika Vižintin1, Damijan Miklavčič1* University of Ljubljana, Faculty of Electrical Engineering, Tržaška Cesta, 1000 Ljubljana, Slovenia University of Cincinnati, College of Engineering and Applied Science, 2600 Clifton Ave. Cincinnati, Ohio USA * Corresponding author E-pošta: damijan.miklavcic@fe.uni-lj.si 1 2 Abstract Unintentional metal ion release has been observed with the application of electroporation pulses using metal electrodes, but little research has been conducted evaluating impacts on cell viability. This study focused on the four principal metals found in stainless steel (Fe, Ni, Cr, and Mn), a common electrode material, and analyzed differences in cell viability of rat cardio myoblast cell line following reversible electroporation. The results demonstrate that increases in metal ion concentration decreases cell viability and found significant differences between electroporated and nonelectroporated cells. The results of our study emphasize on the importance of optimizing pulse parameters to reduce ion metal release to avoid undesired cell death in applications utilizing reversible electroporation. 1 Introduction Electroporation (also referred to as electropermeabilization or pulsed electric field treatment) is an emerging technology that uses a series of short, high-voltage electric pulses to transiently disrupt the integrity of the lipid bilayer of the cell membrane, allowing for an increased non-selective permeabilization of the cell [1]. Based on the cell’s ability to reseal the pores in the lipid structure resulting from the high-voltage pulses, electroporation is differentiated into reversible and irreversible. Several physical and biological parameters can be adjusted to achieve the specific objectives of electroporation; primarily, electric field strength (largely influenced by voltage applied, distance between electrodes, tissue dielectric properties, and electrode geometry) and characteristics of the applied pulses such as shape, duration, number, delay, and polarity. Dependent on the modification of these variables, multiple applications for electroporation have been investigated and devised in recent years. Certain situations desire specific molecules to enter the cell and survive, such as in electrochemotherapy (ECT) or gene electrotransfer, and utilize the techniques of reversible electroporation. Other applications implement irreversible electroporation when success is defined by low cell survival, such as cardiac tissue ablation or the inactivation of microorganisms in food processing [2]– [4]. ERK'2021, Portorož, 399-402 399 It is known that the cell membrane is selectively impermeable to ions and molecules, employing specific ion pumps, transmembrane protein channels and transport mechanisms to facilitate physiologically necessary ion and molecule exchange across the cell membrane. With the application of reversible electroporation, the selectivity of the membrane is temporarily compromised allowing for previously impermeant molecules and ions, to enter the cell and become enclosed inside with the resealing of the membrane. While this outcome is favorable in the implementation of reversible electroporation-based applications, the lack of selectivity also results in the opportunity for undesired molecules to enter the cell alongside the desired. It has previously been observed through experimentation that when high-voltage pulses are applied to a metal electrode, electrochemical processes occur at the electrode-electrolyte interface releasing ions from the electrodes into the solution [5]– [8]. The release of metal ions can result in chemical modification of the medium (including changes in pH), sample contamination, electrode wear, precipitation of proteins and nucleic acids, and/or increased cytotoxicity for reversibly electroporated cells [5]–[7], [9] . While the field of metal cytotoxicity has many medical implications [10], little research has been conducted exploring how the unintentional addition of the metal ions released from electrodes during electroporation impacts cell viability. Kotnik et al. [5] briefly addressed a potential decrease in cell viability of electroporated cells due to metal ions. It was determined by the study that Al ions, at the examined concentrations, were inconsequential for cell viability. However, difference in cell viability of electroporated and nonelectroporated cells as a function of extracellular concentration of the Fe ions was observed. Fe was studied because it represents a large percentage of the composition of stainless steel, a common electrode material, but Ni, Cr, and Mn ions have all been observed to be released from stainless steel electrodes with the application of electroporation pulses [7], [8] . The objective of our study was thus to analyze how the metal ions present in stainless steel (Fe, Ni, Cr, and Mn) affect cell viability of H9c2 (rat cardio myoblast) cells following reversible electroporation. 2 Methods and Materials 2.1 Pulse Delivery The ELECTROcell B10 HV-LV (LEROY Biotech, France) pulse generator was used to deliver 40 biphasic symmetric rectangular pulses of 10 µs duration and interphase delay at 1.03 Hz repetition rate. The nominal voltage of the applied pulses ranged from 100 to 1000 V and increased in increments of 100 V. The voltage and electric current were monitored on a WaveSurfer 422 200 MHz oscilloscope using the high-voltage differential probe ADP305 and current probe CP030 (all from LeCroy, New York, USA) respectively. 2.2 Cell Culture H9c2 rat cardio myoblast cell line was cultured according to the methods described previously [9]. For experiments, cells were detached with trypsin and were re-suspended at a cell density of 1 × 106 cells/ml (for permeabilization and survival experiments after electroporation) or 2 ×106 cells/ml (for survival experiments in the presence of metal ions) in KPB buffer of pH 7.4 composed of 10 mM KH2PO4 (cat. no. 104873, Merck, New Jersey, USA), 10 mM K2HPO4 (cat. no. 04248, Riedel de haen Honeywell, Germany), 1 mM MgCl2, (cat. no. M-8266, Sigma-Aldrich) and 250 mM sucrose (cat. no. 16104, Sigma-Aldrich). 2.3 Cell Membrane Permeabilization Immediately before application of electric pulses, 3.2 µl of diluted YO-PRO1 iodide (cat. no. Y3603, Thermo Fischer Scientific, Massachusetts, USA) was added to 80 µl of cell suspension to a final concentration of 0.025 mM YO-PRO1 and mixed by pipetting. 50 µl of the mixture was then transferred to a 2 mm gap aluminum electroporation cuvette (cat. no. 732-1136, VWR, Belgium) and the pulses were applied. 40 µl of the electroporated cells were transferred to a new 1.5 ml microcentrifuge tube. Three minutes after electroporation, 150 µl of complete medium DMEM was added to the microcentrifuge tube, gently vortexed, and analyzed on the flow cytometer Attune NxT (Thermo Fischer Scientific) using 488 nm laser and 530/30 nm band-pass filter until 10,000 events were recorded. The percentage of permeabilized cells was determined from the histogram of YO-PRO1 fluorescence. 5-6 iterations were performed for each electric field strength value. The sham controls were treated in the same way with the exception of no pulses being applied. 2.4 Cell Survival After Electroporation Just before pulse delivery, 50 µl of cell suspension was pipetted to an electroporation cuvette with a 2 mm gap. Ten minutes after pulse delivery (no pulses were applied in the case of the sham controls), 10 µl of the treated 400 cells suspension was transferred to a 1.5 ml microcentrifuge tube with 440 ml of complete medium DMEM, gently vortexed, and plated (100 µl) in a well of a flat bottom 96-well plate as a triplicate. The plate was then incubated for 72 hours at 37 °C in a humidified, 10 % CO2 atmosphere. After 72 hours, 11.1 µl of PrestoBlue (Thermo Fisher Scientific, cat. no. A13261) assay was added to each well and the plate was then incubated for another hour. After the hour, fluorescence (560/590 nm excitation/emission) was measured with the spectrofluorometer Infinite 200 (Tecan, Austria). The survival was calculated by first subtracting the measured fluorescence of the blank and then normalizing the average fluorescence of the three technical replicates of the sample to the fluorescence of the sham controls. The experiments were repeated 5-6 times per voltage value. 2.5 Cell Survival in the Presence of Metal Ions 10 mM stock solutions of FeCl3 (cat. no. 31237, SigmaAldrich), NiCl2 (cat. no. 654507, Sigma-Aldrich), CrCl3 (cat. no. 27096, Sigma-Aldrich), and MnCl2 (cat. no. M1787, Sigma-Aldrich) were diluted in KPB buffer to reach a desired working solution which upon addition to the cells would result in final concentrations of 0.1, 0.5, 1.0, 1.5, or 2.0 mM Fe3+, 0.05, 0.1, 0.15, 0.2, or 0.25 mM Ni2+, 0.2, 0.4, 0.6, 0.8, or 1.0 mM for Cr3+, and 0.1, 0.15, 0.2, 0.25, or 0.3 mM for Mn 2+ respectively. Concentration ranges were determined following preliminary testing performed following the same protocol. 60 µl of cell suspension and 60 µl of the working metal solutions were pipetted into a sterile 1.5 ml microcentrifuge tube. 50 µl of the mixed solution was then transferred to an electroporation cuvette of 2 mm gap and electroporated by delivering 600 V pulses (see Results for explanation). 10 minutes after electroporation, 14 µl of the treated solution was pipetted into a new microcentrifuge tube containing 386 µl of complete medium DMEM, gently vortexed, and plated (100 µl) as a triplicate in a 96-well plate. The plate was then incubated for 72 hours at 37 °C and 10 % CO2. Cell survival was determined using the same protocol as described in “Cell Survival After Electroporation.” 2.6 Statistical Methods Differences in cell viability were evaluated at the αlevel 0.05. After outliers, defined using the IQR method, were removed from the data, normal distribution (Q-Q) plot was used to evaluate if data are normally distributed and Levene test was used to assess equivalence of variances. If the data met both assumptions, normal distribution and equal variances, a two-way ANOVA and Tukey post-hoc were run. If the assumptions were not met, a Kruskal-Wallis and posthoc Holm test was applied. 3 Results and Discussion 3.1 Permeabilization and Survival PostElectroporation Based on the survival-permeabilization results (Figure 1), we selected an amplitude of 600 V (3000 V/cm electric field strength - calculated by nominal voltage divided by the distance between the electrodes) for subsequent experiments in which the effect of metal ions on cell survival was investigated. This value, nominally 600 V, resulted in high percent (95 %) permeabilization of the cell membrane, before a decrease in cell viability resulting from the electroporation was noted, i.e. resulted in reversible electroporation. Figure 1: Survival-Permeabilization curve of H9c2 cells. Bars represent standard deviation. 3.2 Cell Survival in the Presence of Metal Ions Cell viability of in the presence the four metals present in stainless steel (Fe, Ni, Cr, and Mn) was evaluated to consider potential consequences of ion release during electroporation pulses from metal electrodes. The results indicate that the release of metal ions could result in the most detrimental effect, loss of cell viability, when releasing a high enough concentration of ions from stainless steel electrodes. Analysis of the data for Fe3+, Cr3+, and Mn2+ (Figure 2A, B, and D respectively) revealed statistically significant differences in cell viability as ion concentrations increased. Fe3+ and Mn2+ also showed significant differences in cell viability between electroporated cells and their nonelectroporated counterparts but not at specific concentrations. Kotnik et al. [5] found significant loss in cell viability at concentrations of Fe2+/Fe3+ above 1.5 mM while in our study we observed significant differences as low as 0.5 mM Fe3+. This difference highlights potential variations among cell survival for different cells lines. Kotnik et. al used DC3F Chinese hamster fibroblasts while in our study we used H9c2 rat cardio myoblasts, in the presence of metal ions. Evaluation of higher concentrations may continue to develop larger differences in the data and could be a focus in future studies. 401 Figure 2: Comparison of cell viability between electroporated and nonelectroporated H9c2 cells for varying concentrations of (A) Fe3+, (B) Cr3+, (C) Ni2+, and (D) Mn2+. Bars represent standard deviation, asterisk (*) denotes statistical significance (p < 0.05) between electroporated and nonelectroporated cells. Ni2+ (Figure 2C) revealed significant differences between cell viability in the electroporated and nonelectroporated cells at ion concentrations of 0.15 and 0.25 mM. Ni2+, clearly demonstrating how metal cytotoxicity increases with the application of electroporation to cells. Biphasic pulses were chosen for this study because their application results in lower metal release from electrodes compared to monophasic pulses [5]. In preliminary metal release experiments, the measured concentrations of Fe, Ni, Cr, and Mn ions in KPB after delivery of pulses used in this study were much lower than the concentrations used in cell experiments, indicating that pulse delivery negligibly increased the concentration of the metal of interest in cell experiments (data not shown). This distinction between the data sets emphasizes the importance of minimizing ion release when utilizing electroporation technology. All four investigated metal ions provide insight into the effect of metal ions released from electrodes on cell viability. It needs to be stressed however, each of the ions exist in multiple oxidation states and the exact oxidation state of the ions released from the metal electrodes following electroporation was not determined. This study selected one oxidation state for each element and expanding on this limitation could be a focus of future studies. The measured electric current of the final pulse was compared for cell suspensions electroporated in KPB only and in KPB with 2 mM Fe3+ to look into the potential changes in electric current as a result of the added metal ions. 2 mM Fe3+ was chosen because it represented the highest concentration of added metal ions. Graphing the values against one another verified that there was only a slight increase in current through the cell suspension resulting from the metal ions (less than 4 % increase). This indicates that cell death measured by the experiments can most probably be attributed to the presence of the cytotoxic effects of the metal ions and not increases in conductivity and consequently increased temperature. Conclusion The objective of this study was to analyze how metal ions present in stainless steel (Fe, Ni, Cr, and Mn) impact cell viability of H9c2 (rat cardio myoblast) cells following reversible electroporation. The outcomes of this research show how increase in metal ion concentrations decreases cell viability for all four tested metals and found significant differences between electroporated and nonelectroporated cells at specific concentrations for Ni2+. Results of this study emphasize the importance of optimizing pulse parameters and physical characteristics of the electrodes to reduce ion metal release during pulse application in order to minimize undesired cell death in reversible electroporation applications. Acknowledgements The study was funded by the Slovenian Research Agency (ARRS) (research core funding No. (P2-0249)). The work was partially performed within the network of research and infrastructural centres of University of Ljubljana, which is financially supported by Slovenian Research Agency through infrastructural grant IP-0510. S.K. would like to acknowledge the American Slovenian Education Foundation (ASEF) fellowship. 402 A.V. was granted a scholarship from the University Foundation of ing. Lenarčič Milan. References [1] T. Kotnik, L. Rems, M. Tarek, and D. Miklavcic, “Membrane Electroporation and Electropermeabilization: Mechanisms and Models,” Annual Review of Biophysics, vol. 48, pp. 63–91, 2019. [2] M. L. Yarmush, A. Golberg, G. Serša, T. Kotnik, and D. Miklavčič, “Electroporation-based technologies for medicine: Principles, applications, and challenges,” Annual Review of Biomedical Engineering, vol. 16, pp. 295–320, 2014. [3] F. H. M. Wittkampf, R. van Es, and K. Neven, “Electroporation and its Relevance for Cardiac Catheter Ablation,” JACC: Clinical Electrophysiology, vol. 4, no. 8, pp. 977–986, 2018. [4] S. Mahnič-Kalamiza, E. Vorobiev, and D. Miklavčič, “Electroporation in Food Processing and Biorefinery,” Journal of Membrane Biology, vol. 247, no. 12, pp. 1279–1304, 2014. [5] T. Kotnik, D. Miklavčič, and L. M. Mir, “Cell membrane electropermeabilization by symmetrical bipolar rectangular pulses: Part II. Reduced electrolytic contamination,” Bioelectrochemistry, vol. 54, no. 1, pp. 91–95, 2001. [6] R. Stapulionis, “Electric pulse-induced precipitation of biological macromolecules in electroporation,” Bioelectrochemistry and Bioenergetics, vol. 48, no. 1, pp. 249–254, 1999. [7] J. Morren, B. Roodenburg, and S. W. H. de Haan, “Electrochemical reactions and electrode corrosion in pulsed electric field (PEF) treatment chambers,” Innovative Food Science and Emerging Technologies, vol. 4, no. 3, pp. 285–295, 2003. [8] A. Vižintin, J. Vidmar, J. Ščančar, and D. Miklavčič, “Effect of interphase and interpulse delay in highfrequency irreversible electroporation pulses on cell survival, membrane permeabilization and electrode material release,” Bioelectrochemistry, vol. 134, 2020. [9] G. Saulis, R. Lape, R. Pranevičiute, and D. Mickevičius, “Changes of the solution pH due to exposure by highvoltage electric pulses,” Bioelectrochemistry, vol. 67, no. 1, pp. 101–108, 2005. [10] A. Milheiro, K. Nozaki, C. J. Kleverlaan, J. Muris, H. Miura, and A. J. Feilzer, “In vitro cytotoxicity of metallic ions released from dental alloys,” Odontology, vol. 104, no. 2, pp. 136–142, 2016. Numerično modeliranje neinvazivne elektroporacije kože z večtočkovnimi elektrodami Janja Dermol-Černe, Matej Reberšek, Damijan Miklavčič Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: janja.dermol-cerne@fe.uni-lj.si Numerical modeling of non-invasive skin electroporation using a multi-electrode array Abstract. We numerically calculated electric field distribution in skin when delivering pulses with noninvasive multi-electrode array with rounded tips to achieve gene electrotransfer. We modeled the delivery of short high-voltage pulses, which were experimentally shown to successfully achieve DNA transfection. We build a model in MATLAB with LiveLink to Comsol Multiphysics. Skin was modeled as a block of several differently thick layers. Each layer was ascribed an initial electric conductivity which then increased as a sigmoidal function of the electric field. Pulses of 570 V amplitude were delivered between each electrode pair. Each pulse application changed the electric properties of tissue and the changed electric properties were then used as initial electric properties for the next pulse application. For each electrode pair, 6 consecutive studies were calculated to obtain convergence of results. We obtained the reversibly and irreversibly electroporated volume. We determined that reversible electroporation reaches 2.7 mm deep (in the hypodermis) and that irreversible electroporation reaches 0.56 mm deep (in the supply layer). Our results confirm the results from the literature - we can successfully electroporate the skin with the non-invasive multi-electrode array. The model can be used to optimize electrode configuration and pulse delivery in skin electroporation treatments. 1 Uvod Elektroporacija kože je obetavna metoda, s katero povišamo prepustnost kože za različne učinkovine, kar uporabljamo pri genskem elektroprenosu, dermalnem vnosu učinkovin, pomlajevanju kože, elektrokemoterapiji in razkuževanju ran [1], [2]. Pri genskem elektroprenosu v kožo vnašamo plazmidno DNK ali RNK, s čimer dosežemo kratkoročno izražanje določenih genov, česar se poslužujemo pri imunoterapiji, celjenju ran in zdravljenju raka [3]. Pri elektroporaciji kože običajno na kožo dovajamo visokonapetostne pulze dolžine od nekaj mikrosekund do nekaj 100 ms. Različne plasti kože si lahko predstavljamo kot napetostni delilnik, kjer je večina padca napetosti in posledično visoko električno polje v najmanj prevodni roženi plasti. Najprej torej pride do nastanka lokalnih transportnih območij v roženi plasti ERK'2021, Portorož, 403-406 403 [4], [5]. Lokalna transportna območja so območja povečane električne prevodnosti in prepustnosti premera nekaj deset do nekaj sto mikrometrov. Povečana električna prevodnost lokalnih transportnih območij zniža upornost rožene plasti in omogoča, da električno polje prodre v globlje plasti kože. V globljih plasteh kože se torej posledično poviša električno polje in pride do nastanka por in povečane prepustnosti membran celic v spodnjih plasteh kože, kar je potreben pogoj za vnos plazmidov in za izražanje genov. Izjemno pomembno je, da torej tako električno polje kot tudi plazmid pridejo dovolj globoko, da se omogoči terapevtski učinek. Za elektroporacijo kože je bilo v preteklosti uporabljenih veliko različnih elektrod in njihov pregled lahko najdemo v [1]. Elektrode delimo na invazivne, ki kožo predrejo, ali neinvazivne, ki kože ne predrejo. Invazivne in neinvazivne elektrode predstavljajo različno tveganje za pacienta in so torej uvrščene v različne varnostne razrede standardov medicinskih pripomočkov. Prednost neinvazivnih elektrod je, da so prijazne do pacienta, med postavitvijo ne povzročajo bolečine in so z vidika certificiranja, proizvodnje in uporabe enostavnejše in cenejše. Pri našem delu smo se zato osredotočili na neinvazivne večtočkovne elektrode s heksagonalno razporeditvijo elektrodnih konic [3]. Z večtočkovnimi elektrodami lahko v primerjavi z drugimi neinvazivnimi elektrodami (ploščate in v obliki črke L [1]) dovajamo nižje napetosti, saj so elektrode blizu skupaj. Zaradi bližine elektrod so električni tokovi nižji, bolečina je posledično manjša, manj izrazito pa je tudi krčenje mišic Hitro, natančno in z minimalnim eksperimentalnim delom lahko učinkovitost elektroporacije opišemo in napovemo z matematičnim modeliranjem [6]. Z načrtovanjem posegov pred samim dovajanjem pulzov določimo najboljšo postavitev elektrod in parametre električnih pulzov, s katerimi bomo dosegli želen učinek, obenem pa zmanjšali neželeno škodo na okoliškem tkivu [7], [8]. Pri načrtovanju posegov genskega elektroprenosa želimo v tkivih doseči dovolj visoko električno poljsko jakost, ki je bila predhodno s poskusi določena kot dovoljšna za reverzibilno elektroporacijo, pri čemer se želimo ogniti uničenju tkiva z ireverzibilno elektroporacijo. V okviru našega dela smo izračunali porazdelitev električnega polja in območji reverzibilno in ireverzibilno elektroporirane kože za genski elektroprenos z neinvazivnimi večtočkovnimi elektrodami. Električno polje okoli neinvazivnih večtočkovnih elektrod do sedaj namreč še ni bilo izračunano, izračuni električnega polja v koži pa so običajno narejeni za elektrokemoterapijo podkožnih tumorjev ali vnos učinkovin preko kože. omejimo vrednost električne prevodnosti, ki tako ne gre nižje od začetne vrednosti in tudi pri izjemno visokih električnih poljih ne morejo biti višje od neke določene vrednosti, ki je lastna vsaki plasti posebej. 2 Metode Model človeške kože smo razvili v programskem okolju MATLAB s povezavo do Comsola Multiphysics verzije 5.3. Geometrijo kože in njene električne lastnosti pred elektroporacijo smo povzeli iz [9], kjer so električne lastnosti plasti z visokim prostorninskim deležem celic izračunane numerično, plasti z nizkim prostorninskim deležem pa analitično s Hanai-Bruggemanovo formulo [10]. Kožo smo modelirali v treh dimenzijah kot kvader, sestavljen iz osmih različno debelih plasti. Od globlje do vrhnje so plasti naslednje: mišice (2 cm), podkožje (0,5 cm), spodnji žilni pleksus (0,1 mm), žilna plast (1 mm), zgornji žilni pleksus (80 µm), zgornja plast usnjice (0,15 mm), povrhnjica (0,1 mm) in rožena plast (20 µm). Geometrija modela je prikazana na sliki 1. Začetne vrednosti električnih prevodnosti posameznih plasti pred elektroporacijo so podane v tabeli 1. V modelu smo upoštevali tudi električno anizotropijo tkiv, saj so posamezne plasti kože različno prevodne v različnih smereh, kar vpliva na porazdelitev električnega polja. Električna prevodnost papilarnega dermisa in podkožja sta bili modelirani kot izotropni, za ostale plasti pa smo predpostavili anizotropno električno prevodnost. Tabela 1. Začetne prevodnosti posameznih plasti pred elektroporacijo v S/m. Vrednosti so bile povzete iz [9]. Plast Prevodnost v x-smeri [S/m] 1.10x10-2 Prevodnost v y-smeri [S/m] 1.10x10-2 Prevodnost v z-smeri [S/m] 2.23x10-4 Rožena plast Povrhnjica 5.82x10-2 5.82x10-2 6.36x10-2 -2 Zg. plast 7.19x10 usnjice* Zg. žilni 4.22x10-1 3.86x10-1 3.86x10-1 pleksus Žilna plast 3.12x10-1 3.12x10-1 3.19x10-1 -1 -1 Sp. žilni 3.42x10 3.28x10 3.28x10-1 pleksus Podkožje* 6.35x10-2 -2 Mišice 1.57x10 6.86x10-2 1.57x10-2 * Električne lastnosti zgornje plasti usnjice in podkožja so izotropne in torej enake v vse tri koordinatne smeri. Predpostavili smo, da pride pri izpostavitvi kože dovolj visokim električnim poljem do elektroporacije, morda se v odvisnosti od jakosti električnega polja poveča električna prevodnost posameznih plasti [11]. Prevodnost rožene plasti se je tako povečala do stokrat, prevodnost mišic do 2,5-krat, prevodnost ostalih plasti pa do 3,5-krat. Sprememba prevodnosti je bila postopna in opisana s sigmoidno odvisnostjo od jakosti električnega polja [8]. S sigmoidno odvisnostjo 404 Slika 1. Koža je bila modelirana kot kvader z več plastmi (od globlje do vrhnje: mišice, podkožje, spodnji žilni pleksus, žilna plast, zgornji žilni pleksus, zgornja plast usnjice, povrhnjica in rožena plast). Nekatere plasti so tako tanke, da se jih v tem pogledu ne opazi. Na površini modela lahko vidimo obliko stika elektrod s kožo. Za dovajanje električnih pulzov smo uporabili neinvazivne večtočkovne elektrode z zaobljenimi konicami, ki so prikazane na sliki 2A. Pulze smo dovedli zaporedno – najprej med pare elektrod na zunanjem obroču, nato pa še od vsake zunanje elektrode do sredinske elektrode. Shema dovajanja pulzov je prikazana na sliki 2B in je običajno uporabljena v študijah genskega elektroprenosa z neinvazivnimi večtočkovnimi elektrodami [3]. Med posamezne elektrode smo dovedli 570 V, kar je tipična napetost pri dovajanju 100 µs pulzov. S temi parametri električnih pulzov so dosegli uspešno DNK vakcinacijo [3]. Slika 2. Elektrode, za katere smo naredili izračune. A) Fotografija elektrod. B) Shema dovajanja pulzov. Elektroporacijo smo računali zaporedno in stacionarno, kot je opisano v [8]. To pomeni, da smo za vsako dovajanje med par elektrod izračunali svojo stacionarno študijo in nismo modelirali oblike pulzov. Za vsak par elektrod smo izračune zaporedno računali v šestih iteracijah, pri čemer je izračun prišel do konvergence že v petih iteracijah. Med dovajanjem pulzov se je zaradi prodiranja električnega polja v tkivo spreminjala električna prevodnost posameznih plasti. Spremenjene električne lastnosti kože na koncu izračuna smo shranili in naslednji izračun nato naredili z upoštevanjem spremenjenih električnih prevodnosti. Tabela 1. Pragovi za reverzibilno in za ireverzibilno elektroporacijo v V/cm. Pragovi so bili vzeti iz [8]. Plast Rožena plast Povrhnjica Zg. plast usnjice Zg. žilni pleksus Žilna plast Sp. žilni pleksus Podkožje Mišice* * Višji prag je vzporedni smeri mišičnih vlaken. Na sliki 4 lahko vidimo jakost električnega polja 2 mm pod površino kože, t. j. v podkožju. V podkožju so namreč celice, ki so sposobne izražanja genov in torej omogočajo učinkovito zdravljenje. Meja za reverzibilno elektroporacijo podkožja je 300 V/cm, kar smo presegli in torej uspešno elektroporirali celice v podkožju. Prag za Prag za reverzibilno ireverzibilno elektroporacijo elektroporacijo [V/cm] [V/cm] 400 1200 400 1200 300 1200 300 1200 300 1200 300 1200 300 1200 200 800 80 v pravokotni smeri in nižji prag v električnega polja glede na smer Slika 4. Jakost električnega polja v V/cm 2 mm pod površino kože v podkožju. Področje reverzibilne elektroporacije je označeno z vertikalnimi črtami. 3 Rezultati in diskusija Zanimalo nas je, kako globoko je območje reverzibilne elektroporacije in kolikšna je ireverzibilna poškodba tkiva. Ustrezna globina reverzibilne elektroporacije namreč zagotavlja uspešno zdravljenje. Na sliki 3 zgoraj lahko vidimo reverzibilno elektroporirano območje, na sliki 3 spodaj pa ireverzibilno elektroporirano območje. Reverzibilno elektroporacija prodre do globine 2,7 mm, kar se nahaja v podkožju. Ireverzibilna elektroporacija prodre do globine 0,56 mm, kar se nahaja v žilni plasti. Obe območji sta omejeni med elektrode, s čimer se zmanjša neželene bolečine in krčenje mišic. Na sliki 5, ki prikazuje prerez po sredini med elektrodami, lahko opazimo, da je visoko električno polje omejeno v zgornje plasti kože. To je za nas ugodno, saj uhajavi tokovi povzročajo dodatno krčenje mišic in bolečino, čemur se pri zdravljenju z elektroporacijo želimo izogniti. Ravno zaradi ujetosti električnega polja med elektrode so večtočkovne elektrode bolj primerne za genski elektroprenos preko kože kot običajne ploščate elektrode [3]. Tudi tokovi med posameznimi pari so bili relativno nizki, do 290 mA, kar je na spodnji meji običajnih vrednosti pri zdravljenju kože z elektroporacijo (od 0.1 A – 3 A) [12]. Slika 5. Stranski pogled na logaritem jakosti električnega polja v V/cm. Področje reverzibilne elektroporacije je označeno z vertikalnimi črtami. Logaritem je bil izbran, ker so v tem pogledu jakosti električnega polja različne za velikostne razrede in se sicer ne vidi dobro razlik. Slika 3. Zgoraj: reverzibilno elektroporirano območje. Spodaj: ireverzibilno elektroporirano območje. 405 Vpliv različnih oblik in dolžin stacionarnem sekvenčnem izračunu posredno s pragovi elektroporacije in pri električne prevodnosti. Znano je namreč, pulzov pri upoštevamo spremembah da za daljše pulze potrebujemo nižjo električno poljsko jakost kot za krajše pulze, da dosežemo elektroporacijo [13], [14]. Model bi lahko tudi prilagodili za daljše milisekundne nizkonapetostne pulze, s katerimi so z večtočkovnimi elektrodami dosegli optimalno celjenje ran [3]. Delujoč model elektroporacije kože omogoča prilagajanje parametrov pulzov in geometrije elektrod z minimalnimi poskusi na živalih. S prilagajanjem globine reverzibilno elektroporiranega območja lahko spreminjamo cilj elektroprenosa – elektroprenos v površinske sloje kože je primeren za molekule z lokalnim načinom delovanja, elektroprenos v globlje sloje kože pa je primeren za molekule s sistemskih načinom delovanja [3]. Prav tako lahko model uporabimo za izračun s kakršnimi koli neinvazivnimi elektrodami. Preprosto je tudi spreminjanje začetnih vrednosti električne prevodnosti ter debeline plasti kože, kar omogoča prilagajanje modela za različne živalske vrste ali različne lokacije na telesu [15]. [5] [6] [7] [8] [9] 4 Zaključek V pričujoči študiji smo numerično izračunali porazdelitev električnega polja v koži pri genskem elektroprenosu z neinvazivnimi večtočkovnimi elektrodami z zaobljenimi konicami. Modelirali smo dovajanje kratkih visokonapetostnih pulzov, s katerimi so v preteklosti eksperimentalno dosegli uspešen elektroprenos. Naši rezultati potrjujejo eksperimentalno pridobljene rezultate, da lahko z neinvazivnimi večtočkovnimi elektrodami uspešno elektroporiramo kožo. V nadaljevanju lahko z modelom prilagajamo postavitev elektrod in zaporedje dovajanja pulzov pri elektroporaciji kože glede na želeni učinek elektroporacije kože. Zahvala [10] [11] [12] Študijo sta delno financirali ARRS in delno Evropski sklad za regionalni razvoj (ESRR) in Ministrstvo za izobraževanje, znanost in šport v okviru projekta SmartGene.si. [13] Literatura [1] [2] [3] [4] J. Dermol-Černe, E. Pirc, in D. Miklavčič, „Mechanistic view of skin electroporation – models and dosimetry for successful applications: an expert review“, Expert Opinion on Drug Delivery, let. 17, št. 5, str. 689–704, maj 2020, doi: 10.1080/17425247.2020.1745772. B. Zorec, V. Préat, D. Miklavčič, in N. Pavšelj, „Active enhancement methods for intra- and transdermal drug delivery: a review.“, Zdravniški vestnik, let. 82, št. 5, str. 339–56, 2013. Š. Kos idr., „Gene electrotransfer into skin using noninvasive multi-electrode array for vaccination and wound healing“, Bioelectrochemistry, let. 114, str. 33– 41, apr. 2017, doi: 10.1016/j.bioelechem.2016.12.002. T. R. Gowrishankar, T. O. Herndon, T. E. Vaughan, in J. C. Weaver, „Spatially constrained localized transport 406 [14] [15] regions due to skin electroporation“, Journal of Controlled Release, let. 60, št. 1, str. 101–110, jun. 1999, doi: 10.1016/S0168-3659(99)00064-4. S. Becker, B. Zorec, D. Miklavčič, in N. Pavšelj, „Transdermal transport pathway creation: Electroporation pulse order“, Mathematical Biosciences, let. 257, str. 60–68, nov. 2014, doi: 10.1016/j.mbs.2014.07.001. J. Dermol-Černe in D. Miklavčič, „Modeliranje elektroporacije na več ravneh“, Elektrotehniški vestnik, let. 86, št. 4, str. 161–167, 2019. A. Županič, B. Kos, in D. Miklavčič, „Treatment planning of electroporation-based medical interventions: electrochemotherapy, gene electrotransfer and irreversible electroporation“, Physics in Medicine and Biology, let. 57, št. 17, str. 5425–5440, 2012, doi: 10.1088/0031-9155/57/17/5425. S. Čorović, I. Lacković, P. Šuštarič, T. Šuštar, T. Rodič, in D. Miklavčič, „Modeling of electric field distribution in tissues during electroporation“, BioMedical Engineering OnLine, let. 12, št. 1, str. 16, 2013, doi: 10.1186/1475-925X-12-16. J. Dermol-Černe in D. Miklavčič, „From Cell to Tissue Properties—Modeling Skin Electroporation With Pore and Local Transport Region Formation“, IEEE Transactions on Biomedical Engineering, let. 65, št. 2, str. 458–468, feb. 2018, doi: 10.1109/TBME.2017.2773126. S. Huclova, D. Erni, in J. Fröhlich, „Modelling and validation of dielectric properties of human skin in the MHz region focusing on skin layer morphology and material composition“, Journal of Physics D: Applied Physics, let. 45, št. 2, str. 025301, jan. 2012, doi: 10.1088/0022-3727/45/2/025301. N. Pavšelj, Z. Bregar, D. Cukjati, D. Batiuškaitė, L. M. Mir, in D. Miklavčič, „The Course of Tissue Permeabilization Studied on a Mathematical Model of a Subcutaneous Tumor in Small Animals“, IEEE Transactions on Biomedical Engineering, let. 52, št. 8, str. 1373–1381, avg. 2005, doi: 10.1109/TBME.2005.851524. R. Vanbever in V. Préat, „In vivo efficacy and safety of skin electroporation“, Advanced Drug Delivery Reviews, let. 35, št. 1, str. 77–88, jan. 1999, doi: 10.1016/S0169-409X(98)00064-7. J. C. Weaver, K. C. Smith, A. T. Esser, R. S. Son, in T. R. Gowrishankar, „A brief overview of electroporation pulse strength–duration space: A region where additional intracellular effects are expected“, Bioelectrochemistry, let. 87, str. 236–243, okt. 2012, doi: 10.1016/j.bioelechem.2012.02.007. J. Dermol-Černe, T. Batista Napotnik, M. Reberšek, in D. Miklavčič, „Short microsecond pulses achieve homogeneous electroporation of elongated biological cells irrespective of their orientation in electric field“, Sci Rep, let. 10, št. 1, str. 9149, dec. 2020, doi: 10.1038/s41598-020-65830-3. D. C. Carrer, C. Vermehren, in L. A. Bagatolli, „Pig skin structure and transdermal delivery of liposomes: A two photon microscopy study“, Journal of Controlled Release, let. 132, št. 1, str. 12–20, nov. 2008, doi: 10.1016/j.jconrel.2008.08.006. Initial steps of pore formation in planar lipid bilayers made of phospholipids and archaeal lipids Alenka Maček Lebar, Damijan Miklavčič, Peter Kramar Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: peter.kramar@fe.uni-lj.si Vzpostavitev vodnih por v ravninskih lipidnih dvoslojih zgrajenih iz fosfolipidnih in arheolipidnih molekul Povzetek. Plazemska membrana je biološka membrana, ki ločuje notranjo celično vsebino od zunanjega okolja. Zato je zgradba plazemske membrane odvisna od okolja, v katerem se celica običajno nahaja. Arheje so se tudi z zgradbo plazemske membrane prilagodile na ekstremne pogoje v katerih živijo. V študiji smo preučevali proces nastajanja vodnih por med elektroporacijo ravninskih lipidnih dvoslojev zgrajenih iz lipidnih molekul pridobljenih iz arheje Aeropyrum pernix K1 in ravninskih lipidnih dvoslojev zgrajenih iz fosfolipidnih molekul 1-pamitoyl 2-oleoyl phosphatidylcholine (POPC), 1-pamitoyl 2-oleoyl phosphatidylserine (POPS) in mešanice POPC:POPS v razmerju 1:1. Izmerili smo specifično kapacitivnost ravninskih lipidnih dvoslojev ter porušitveno napetost,; i.e. napetost, ki povzroči porušitev ravninskega lipidnega dvosloja ob prisotni transmembranski napetosti. Porušitveno napetost smo določili z izpostavitvijo ravninskih lipidnih dvoslojev linearno naraščajoči napetosti. Specifična kapacitivnost ravninskih lipidnih dvoslojev je v veliki meri odvisna od dolžine verige ogljikovodikov, saj najmanjšo specifično kapacitivnost izkazujejo ravninski lipidni dvosloji narejeni iz lipidov arheje Aeropyrum pernix K1, največjo pa ravninski lipidni dvosloji narejeni iz POPC. Porušitvena napetost ravninskih lipidnih dvoslojev zgrajenih iz lipidov arheje Aeropyrum pernix K1 je bila pri vseh uporabljenih naklonih linearno naraščajoče napetosti večja, kot porušitvena napetost ravninskih lipidnih dvoslojev narejenih iz POPC, POPS ali POPC:POPS (1:1). Pri vseh obravnavanih ravninskih lipidnih dvoslojih zavzamejo vodne pore manj kot 1% površine ravninskega lipidnega dvolsoja. Na podlagi zgradbe obravnavanih ravninskih dvoslojev sklepamo, da je proces nastajanja vodnih por odvisen od urejenosti lipidnih molekul v ravninskem lipidnem dvosloju. 1 Introduction The composition of plasma membrane is not the same in all cells. Phospholipids, glycolipids and sterols are the most common lipid molecules in plasma membranes of eukaryotic cells and bacteria. But archaeal membranes, for example, contain glycerol ether lipids with saturated ERK'2021, Portorož, 407-410 407 chains containing methyl branches [1]. Unique characteristic of archaeal membranes are the reason for diversity of studies suggesting their use in various biomedical applications [2]. Among others, archaeosomes are proposed for using as a drug carrier. In this case drug release can be enhanced by electroporation [3]. Considering such application, the behaviour of the archaeal lipid membrane in electric field is important in addition to membrane’s mechanical and chemical properties. In this study we focused on the initial processes of pore formation during electroporation in planar lipid bilayers that constitute the membrane of the aerobic hyperthermophilic archaeon Aeropyrum pernix K1. The detailed structure of constituents, 2,3-di-Osesterterpanyl-sn-glycerol-1-phospho-1’-(2’-O--Dglucosyl)-myo-inositol (AGI) and 2,3-di-Osesterterpanyl-sn-glycerol-1-phospho-myo-inositol (AI), was elucidated by Morii et al. in 1999 [4]. These two lipids usually compose archaeal membrane in the mol% ratio 91:9. The important feature of both lipids is C25isopranoid as a hydrophobic part, while in the head of the lipid molecule inositol is linked on the phosphate group in AI and glucosylinositol in AGI. Hydroxyl groups are present on all available C-atoms in the sugar rings. Archaeosomes prepared from lipids isolated form A. pernix K1 exhibit large negative surface charge (-50 to 110 mV, increasing with diameter) in broad pH range (2.5 to 12) [5]. Typical gel to liquid phase transition in the temperature range from 0oC to 100oC has not been detected [5]. Electron paramagnetic resonance spectra have shown that the archaeosome membranes are heterogeneous, and are composed of several regions with three types of fluidity characteristics. Presence of each fluidity type depends on pH and temperature. In general, increase in membrane fluidity with temperature has been also noticed [5]. To explore the possible differences in initial steps of pore formation in planar lipid bilayers of different compositions, we formed planar lipid bilayers using lipids extracted from archaea A. pernix K1, 1-pamitoyl 2oleoyl phosphatidylcholine (POPC) - lipid molecules with a zwitterionic head group and almost zero spontaneous curvature, negatively charged 1-pamitoyl 2oleoyl phosphatidylserine (POPS) molecules with negative spontaneous curvature and a mixture of POPC and POPS in 1:1 ratio. For each planar lipid bilayer composition we determined the capacitance C of planar lipid bilayer. Then, planar lipid bilayers were exposed to linearly rising voltage signals of different slopes ku and the voltage Ubr and time tbr at which planar lipid bilayer rupture occurs were measured. From these measurements we evaluated the reduction of C that corresponds to presence of water pores in planar lipid bilayer and is a consequence of significant difference in dielectric constant values of lipid bilayer and water. We also estimated the fraction of planar lipid bilayer area that is occupied by water pores.the fraction of planar lipid bilayer area that is occupied by water pores. 2 2.1 Materials and Methods Chemicals The extraction of archaeal lipids was done at University of Ljubljana, Biotechnical Faculty, Slovenia. The lipids POPC and POPS were purchased in powder form (Avanti Polar-Lipids Inc. USA). A solution of 10 mg/ml of each lipid was prepared in a 9:1 mixture of hexane and ethanol. POPS:POPS (1:1) mixture was prepared by pipetting the same amount of both lipid solutions in a small plastic tube and mixing by repeated pipetting immediately before the experiments. The mixture of hexadecane and pentane in the ratio of 3:7 was used for torus formation. The electrolyte was prepared from 0.1 M KCl and 0.01 M Hepes in the volume ratio of 1:1. A few drops of 1 M NaOH were added to obtain a pH of 7.4. 2.2 Experimental setup and measurements Planar lipid bilayers were formed by the Montal-Muller method across a circular hole 117 m in diameter (d) as described previously [6]. All experiments were performed at room temperature (24°C). The measurement protocol consisted of planar lipid bilayer formation and C, Ubr, and tbr determination. C was measured by the planar lipid bilayer discharge method and normalized to the area of the hole (A = 1.075٠10-8 m2) to calculate the specific capacitance of the planar lipid bilayer cBLM. Transmembrane voltage on planar lipid bilayer was buid-up using a linearly rising voltage signal. Seven different slopes of the linearly rising voltage ku (4.8 kV/s, 5.5 kV/s, 7.8 kV/s, 11.5 kV/s, 16.7 kV/s, 21.6 kV/s and 48.1 kV/s) were used. At the time tbr, when a sudden increase in transmembrane current was detected, Ubr was measured. 2.3 Experimental data analysis The specific capacitance cBLM was determined for at least 18 planar lipid bilayers of each lipid composition. Mean value and standard deviation were calculated for each experimental group. Using nonlinear regression, a two-parameter strength-duration curve 4 𝑈 = √𝑎 + 𝑏 𝑡 (1) 408 based on the viscoelastic model of Dimitrov [7] and proposed by Sabotin et al. [8] was fitted to experimentally obtained points (tbr, Ubr) measured at different slopes of the linearly rising voltage. The 4 parameter √𝑎 is an asymptote of the strength-duration curve corresponding to minimal breakdown voltage Ubrmin for planar lipid bilayers of a given lipid composition. The parameter b determines the inclination of the strength-duration curve. As in the case of strengthduration curve for excitable cell membranes of nerves and muscles, we can define for each lipid composition a kind of a chronaxie time constant tc = b/( 15٠a) as the minimum time required for a stimulus of twice Ubrmin to cause rupture of the planar lipid bilayer. In the short interval before tbr we can assume that nonconductive water pores are already present in the planar lipid bilayer [9]. The capacitance of planar lipid bilayer Cbr can be represented as 𝑛 𝑚 𝐶𝑏𝑟 = ∑ 𝐶𝑝𝑖 + ∑ 𝐶𝑙𝑗 𝑖=1 (2) 𝑗=1 where Cpi = p0Api/D is the capacitance of the i-th water pore and Clj = l0Alj/D is the capacitance of j-th patch of the still intact planar lipid bilayer. p is a dielectric constant of water (p = 80), l is a dielectric constant of planar lipid bilayer (l = 2) and 0 is vacuum permittivity (0 = 8.854 253٠10-12 Fm-1). The thickness D of the planar lipid bilayer was considered 6.00, 3.75, 4.32 and 4.00 nm for A. pernix K1, POPC, POPS, and POPC:POPS 1:1 respectively. The values were obtained from molecular dynamic (MD) simulation as the head to head distance between two electron density profiles [10, 11]. Change in planar lipid bilayer capacitance ΔC due to the water pore formation is Cbr – C, if we assume that capacitance of intact planar lipid bilayer at the beginning of the experiment is C = l0A/D. To obtain the fraction of the planar lipid bilayer that is occupied by pores (Awat/A), ΣiApi is calculated from ΔC and normalized on the whole area of planar lipid bilayer A. ΔC was evaluated from experiments as described previously [6]. 3 Results and discussion In Table 1 cBLM and Ubrmin determined for planar lipid bilayers made of different lipid molecules are given. The specific capacitance of planar lipid bilayer is related to its geometrical dimensions; i.e. planar lipid bilayer area and thickness. All planar lipid bilayers were formed on the hole of the same size, therefore the thickness is the main geometrical parameter that affects cBLM. Planar lipid bilayers made of A. pernix K1 have considerably smaller cBLM then planar lipid bilayers made of POPC, POPS or POPC:POPS (1:1) mixture. It seems that the reason is in longer hydrocarbon chains in both archaeal lipids (C25,25) than in POPC and POPS lipids (C16,18) that leeds to thicker planar lipid bilayer made of A. pernix K1. Tabel 1. Specific capacitance (cBLM) and minimal breakdown voltage (Ubrmin) for planar lipid bilayers made of different lipid molecules. The values are given as mean ± standard deviation (number of measurements). Lipid composition A. pernix K1 POPC POPS POPC:POPS 1:1. cBLM [F/cm2] 0.16 ± 0.06 (18) 0.51 ± 0.17 (80) 0.41 ± 0.14 (76) 0.31 ± 0.07 (60) Ubrmin [V] 0.61±0.36 0.42 ± 0.23 0.53 ± 0.24 0.42 ± 0.23 Application of linearly rising voltage of different slopes ku resulted in typical “strength-duration” behavior of Ubr. The steeper the slope of the linearly rising stimulus, the higher transmembrane voltage is needed for planar lipid bilayer rupture. We fitted the strength– duration curves (1) to (tbr, Ubr) points measured for each and every lipid compositions (Figure 1). Archeal planar lipid bilayers exhibit the highest Ubr at all slopes ku of linearly rising voltage. The lowest values of Ubr were obtained for POPC planar lipid bilayers, where, according to MD simulations, hydrophilic pores occur before final membrane rupture, and planar lipid bilayers formed from a POPC:POPS (1:1) mixture. bilayers made of archaeal lipids and in the case of POPS planar lipid bilayers only hydrophobic pores are created [11, 13]. Wodzinska et al. claim that formation of the pore must keep the overall area of the membrane constant [14], which means that hydrophobic pores cannot expand and consequently lead to final planar lipid bilayer breakdown. The properties of lipids which contribute to the stability of lipid bilayers when subject to transmembrane voltage are numerous and diverse, and include at least the structure of the lipid tails, the chemical nature and charge of the head group and the nature of the head to tail linkage (ester or ether) [11]. Measurements based on 2H nuclear magnetic resonance [15] have shown that the lipid hydrocarbon chains in pure PC and PS membranes have different order parameters at room temperatures. Namely, although both were in a lamellar liquid crystalline phase, PS was more ordered than PC. On the other hand, it was shown that the archaeosome membranes are heterogeneous, and are composed of nanodomains with different fluidity characteristics at room temperatures [5]. Archaeal lipids also have special head groups carrying inositol and glucose functions. In comparison to simple phosphatidylcholine (PC) head groups these carbohydrates are larger moieties that move much more slowly and are also involved in hydrogen bonds that contribute to stability and order of these bilayers. It can be assumed that planar lipid bilayers made of A. pernix K1 and POPS are more ordered than POPC planar lipid bilayers which leads to harder formation of water pores and lipid bilayer rupture. Figure 1. Breakdown voltages of specific lipid compositions measured during voltage-controlled experiments. The gray lines show different slopes ku of linearly rising signal. Colored curves represent two-parameter strength-duration curves (1) fitted to the data obtained by voltage-controlled measurements on POPS, POPC, POPC:POPS mixture 1:1 and A. pernix K1, respectively. In Figure 2, the fraction of the planar lipid bilayer area that is occupied by water pores at the moment of planar lipid bilayer rupture is presented as a function of Ubr. Aqueous fractional area in the planar lipid bilayer due to an exponential pulse, bipolar square pulse, or a square pulse was theoretically evaluated by Freeman et al. in 1994 [12]. According to their calculations, only 0.1% of the membrane is occupied by pores, which is in good agreement with our experimental results obtained when the transmembrane voltage was built up slowly. MD simulations have shown that in the case of planar lipid 409 Figure 2. The fraction of the planar lipid bilayer area that is occupied by water pores as a function of Ubr. 4 Conclusions In the study planar lipid bilayers were formed using lipids extracted from archaea A. pernix K1, zwitterionic POPC lipids, negativly charged POPS lipids and POPC:POPS mixture in ratio 1:1. For each planar lipid bilayer capacitance was measured to monitor quality of the membrane model at forming. Planar lipid bilayers were exposed to linealy rising voltage and Ubr and tbr were determined. Using an analytical method of planar lipid bilayer substitute circuit we estimated the change of the capacitance at the breakdown and the fraction of planar lipid bilayer area ocupied by water. Our results confirm the results of pore formation theories and MD models. The fraction of area occupied by water pores at the moment of planar lipid bilayer rupture and Ubr is smaller when the transmembrane voltage is built up slower. In more disordered planar lipid bilayers, water pores are easily formed. Literatura [1] M.V. Siliakus, J. van der Oost, S.W.M. Kengen: Adaptations of archaeal and bacterial membranes to variations in temperature, pH and pressure. Extremophiles 2017, 21(4): 651–670. [2] A. Velikonja, P. Kramar, D. Miklavčič, A. Maček Lebar: Specific electrical capacitance and voltage breakdown as a function of temperature for different planar lipid bilayers. Bioelectrochemistry 2016, 112: 132-137. [3] T. Benvegnu, L. Lemiegre, S. Dalencon, J. Jeftić: Applications of extremophilic archaeal lipids in the field of nanocarriers for oral/topical drug delivery. Curr.Biotechnol. 2013, 2: 294-303. [4] H. Morii, H. Yagi, H. Akutsu, N. Nomura, Y. Sako, Y. Koga: A novel phosphoglycolipid archaetidyl(glucosyl)inositol with two sesterterpanyl chains from the aerobic hyperthermophilic archaeon Aeropyrum pernix K1. BBA 1999, 1436(3), 426-436. [5] D. Gmajner, A. Ota, M. Šentjurc, N. Poklar Ulrih. Stability of diether C25,25 liposomes from the hyperthermophilic archaeon Aeropyrum pernix K1. Chemistry and Physics of Lipids 2011, 164(3), 236-245. [6] A. Maček Lebar, D. Miklavčič, M. Kotulska, P. Kramar: Water pores in planar lipid bilayers at fast and slow rise of transmembrane voltage. Membranes 2021, 11, 263. [7] D.S. Dimitrov: Electric field-induced breakdown of lipid bilayers and cell membranes: A thin viscoelastic film model. J. Membr.Biol. 1984, 78, 53–60. [8] I. Sabotin, A. Maček Lebar, D. Miklavčič, P. Kramar: Measurement protocol for planar lipid bilayer viscoelastic properties. IEEE Trans.Dielectr. Electr. Insul. 2009, 16, 1236–1242. [9] S.A. Akimov, P.E. Volynsky, T.R. Galimzyanov, P.I. Kuzmin, K.V. Pavlov, O.V. Batishchev: Pore formation in lipid membrane II: Energy landscape under external stress. Sci. Rep. 2017, 7, 12509. [10] K. Kastl, M. Menke, E. Lüthgens, S. Faiß, V. Gerke, A. Janshoff, C. Steinem. Partially reversible adsorption of annexin A1on POPC/POPS bilayers investigated by QCM measurements, SFM, and DMC simulations. ChemBioChem 2006, 7, 106–115. [11] A. Polak, M. Tarek, M. Tomšič, J. valant, N. Poklar Ulrih, A. Jamnik, P. Kramar, D. Miklavčič: Electroporation of archaeal lipid membranes using MD simulations. Bioelectrochemistry 2014, 100, 18-26. [12] S.A. Freeman, M.A. Wang, J.C. Weaver: Theory of electroporation of planar bilayer membranes: Predictions 410 of the aqueous area, change in capacitance, and pore-pore separation. Biophys. J. 1994, 67, 42–56. [13] F. Dehez, L. Delemotte, P. Kramar, D Miklavčič, M. Tarek: Evidence of conducting hydrophobic nanopores across membranes in response to an electric field. J. Phys. Chem. C 2014, 118, 6752–6757. [14] K. Wodzinska, A. Blicher, T. Heimburg. The thermodynamics of lipid ion channel formation in the absence and presence of anesthetics. BLM experiments and simulations. Soft Matter 2009, 5, 3319-3330. [15] M.J. Justice, D.N. Petrusca, A.L. Rogozea, J.A. Williams, K.S. Schweitzer, I. Petrache, S.R. Wassall, H.I. Petrache: Effects of lipid interactions on model vesicle engulfment by alveolar macrophages. Biophys. J. 2014, 106, 598–609. Assessing cancellation effect using numerical modeling of pore formation Ana-Maria Sandua, Damijan Miklavčičb, Maria Scuderib, Janja Dermol-Černeb a Doctoral School of Electrical Engineering, University ˝Politehnica˝of Bucharest, 313 Splaiul Independenței, 060042, Bucharest, Romania b University of Ljubljana, Faculty of Electrical Engineering, Tržaška cesta 25, 1000, Ljubljana, Slovenia E-mail: janja.dermol-cerne@fe.uni-lj.si Abstract Electroporation is a phenomenon when cell membrane permeability increases due to exposure to the pulsed electric field. Recently, it has been suggested that instead of long monopolar pulses, short high-frequency bipolar pulses (HF-EP) can be applied to reduce pain and muscle contractions. However, higher amplitudes are required for HF-EP, and the cancellation effect could be responsible for this. This phenomenon occurs when bursts of HF-EP pulses are applied, and the effect of the first pulse is canceled by the second pulse. In our study, we aim at explaining the cancellation effect. We modeled pore formation during one HF-EP burst with the inter-phase and inter-pulse delays of either 1 µs or 10 ms in low and highconductivity buffers and validated the model with the experimental results. To calculate the uptake of molecules we used the area under the curve (AUC) considering the temporal evolution of the number of pores. We compared our results with the percentage of permeabilized cells obtained experimentally. Our numerical results for a high-conductivity buffer corresponded to the experimental ones and we could say that the cancellation effect could be partially explained by pore formation. Keywords—Numerical modeling, Cancellation effect, Shortbipolar pulses, Pore formation, Area Under the Curve, Electroporation I. INTRODUCTION Electroporation is a phenomenon in which cell membrane, due to exposure to high pulsed electric fields becomes permeable to ions and molecules that otherwise cannot cross the cell membrane [1]. Depending on pulse parameters: electric field strength, pulse duration, pulse polarity and shape, number of pulses, inter-phase delay, and pulse repetition frequency, electroporation can be either transient (reversible electroporation) or permanent (irreversible electroporation). Electroporation is used in medicine [2], biotechnology [3], food [4], and biomass processing [5]. In medicine, it is used in electrochemotherapy (ECT) for delivering chemotherapeutic drugs [6], in gene therapy for delivering DNA in cells and tissues [7], or for tissue ablation using irreversible electroporation (IRE) [8]. In ECT, usually we delivered eight 100 µs long pulses with a repetition frequency of 1 Hz or 5 kHz. The IRE treatments usually consist of several tens of 70-100 µs long monopolar pulses delivered at 1 Hz repetition frequency or paced by patients’ ECG directly to the target tissue. Such high-voltage cause electrical stimulation of excitable cells in the body, leading to muscle contractions and acute pain. During the treatment, therefore it is necessary to administer neuromuscular blocking agents, anesthesia and to synchronize the pulses with the heart activity [9], [10]. In irreversible electroporation treatments, it was suggested that ERK'2021, Portorož, 411-414 411 these drawbacks could be reduced by delivering bursts of high-frequency short bipolar pulses, i.e., the high-frequency electroporation (HF-EP) [11]. Later, it was also shown that HF-EP pulses can be successfully used to introduce dyes [12], [13], and chemotherapeutics into the cells [14], and were recently even applied in gene electrotransfer [15]. However, to obtain comparable results of HF-EP pulses and standard longer pulses, a higher amplitude of electric field must be delivered for HF-EP than for longer monopolar pulses. One explanation for the need to apply a higher electric field, besides the usual shape of the strength-duration curve, could be the cancellation effect present in HF-EP, where the effect of the first pulse is reduced by the second pulse of the opposite polarity [13], [16]. This cancellation effect was first observed for nanosecond pulses, but the range was later extended to one or more bipolar pulses with the duration up to 10 µs for the positive or the negative pulse, and the interphase delay between the positive and the negative pulse up to 10 ms [13]. The reason why the cancellation effect occurs is still not completely understood , however, in literature, the suggested mechanisms are assisted membrane discharge; reversed electrophoretic ion transport, and two-step oxidation of membrane phospholipids (formation of reactive oxygen species, followed by membrane oxidation) [16]. In our study we aim at explaining the cancellation effect which could be responsible for the HF-EP pulses being less efficient than longer monopolar pulses using numerical modeling. It is known that the cancellation effect occurs when bursts of high-frequency short-bipolar pulses are applied close to each other, where the second pulse cancels the effect of the first pulse. Therefore, we decided to upgrade the assisted discharge theory with the model of pore formation during one HF-EP burst with different inter-phase and interpulse delays and voltages and validate with the experimental results, from [13] and [14]. II. METHODS A. Numerical modeling We constructed a 2-D axial symmetric model of a single cell in the extracellular medium using the finite element (FEM) environment COMSOL Multiphysics v5.6. The cell with radius R was located inside a rectangular enclosure with the dimensions 200 µm x 100 µm where we set the boundary conditions, 𝑉𝑉𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 for the top, ground for the bottom, axial symmetry on the left wall, and electrical insulation on the right wall. We simulated two electroporation buffers,low- and high-conductivity (Table 1) which were used in experiments [13]. The time-dependent problem for the geometry was solved in application mode Electric Currents of the AC/DC module (Time-Dependent Study) by solving the Laplace equation: −𝛻𝛻(𝜎𝜎𝑠𝑠 𝛻𝛻𝛻𝛻) − 𝛻𝛻 𝜕𝜕(𝜀𝜀𝑠𝑠 𝛻𝛻𝛻𝛻) =0 𝜕𝜕𝜕𝜕 (1) where 𝜎𝜎𝑠𝑠 and 𝜀𝜀𝑠𝑠 represent the conductivity and dielectric permittivity of each subdomain. The cell membrane was modeled with a boundary condition Distributed Impedance [17] defined by the expression: 𝑛𝑛 ∙ 𝐽𝐽 = 𝜎𝜎𝑚𝑚 𝜀𝜀𝑚𝑚 𝜕𝜕𝑉𝑉𝑖𝑖 𝜕𝜕𝑉𝑉𝑒𝑒 (𝑉𝑉𝑖𝑖 − 𝑉𝑉𝑒𝑒 ) + � − � 𝑑𝑑𝑚𝑚 𝑑𝑑𝑚𝑚 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 (2) where n is a unit vector normal to the boundary surface, J is the electric current density, 𝑉𝑉𝑖𝑖 is the intracellular electric potential, 𝑉𝑉𝑒𝑒 is the extracellular electric potential, 𝜎𝜎𝑚𝑚 , 𝜀𝜀𝑚𝑚 and 𝑑𝑑𝑚𝑚 are the membrane conductivity, membrane dielectric permittivity, and membrane thickness, respectively. To calculate pore formation we coupled the differential pore formation equation in COMSOL with the Weak Form Boundary PDE application mode as suggested in [17]: 2 2 𝐼𝐼𝐼𝐼𝐼𝐼 𝑑𝑑𝑑𝑑 𝑁𝑁 −𝑞𝑞�𝐼𝐼𝐼𝐼𝐼𝐼� � � = 𝛼𝛼𝑒𝑒 𝑉𝑉𝑒𝑒𝑒𝑒 �1 − 𝑒𝑒 𝑉𝑉𝑒𝑒𝑒𝑒 � 𝑑𝑑𝑑𝑑 𝑁𝑁0 (3) where N is the pore density, 𝑁𝑁0 the initial pore density, when ITV is 0 V, and 𝛼𝛼 , q, and 𝑉𝑉𝑒𝑒𝑒𝑒 are the constants of the electroporation process. The ITV was defined as the difference between intracellular electric potential 𝑉𝑉𝑖𝑖 and extracellular electric potential 𝑉𝑉𝑒𝑒 . Inducement of pores leads to an increase in the membrane conductivity that can be described by the expression [17]: 𝜎𝜎𝑒𝑒𝑒𝑒 = 𝑁𝑁 2𝜋𝜋𝑟𝑟𝑝𝑝2 𝜎𝜎𝑝𝑝 𝑑𝑑𝑚𝑚 𝜋𝜋𝑟𝑟𝑝𝑝 + 2𝑑𝑑𝑚𝑚 B. Area Under the Curve The area under the curve (AUC) is a metric applied in pharmacokinetic analysis to describe and quantify aspects of the plasma concentration-time profile of an administered drug. It is calculated as an integral of drug concentration over time. Many medical applications use the AUC to quantify the effect in time, e.g., to assess the pain intensity post analgesic drug administration [18]. In our study, we used the AUC to calculate the uptake of molecules considering the temporal evolution of the number of pores. We considered the AUC as the metric for the molecular uptake. The AUC was implemented in MATLAB using a trapezoidal method for the integration of the number of pores as a function of time. (4) where 𝑟𝑟𝑝𝑝 and 𝜎𝜎𝑝𝑝 are the radius and pore conductivity of a single pore. Table 1 Parameters of the model, their symbols, and values Parameter Symbol Value Cell radius R 10 µm [13] Cell membrane thickness dm 5 nm 0.176 S/m * [13] Extracellular conductivity σe 1.912 S/m ** [13] Extracellular relative εe 80 permittivity Intracellular conductivity σi 0.3 S/m [13] Intracellular relative εi 70 permittivity -7 Membrane conductivity σm 3x10 S/m [13] Membrane relative εm 4.5 permittivity 𝜎𝜎𝑒𝑒 − 𝜎𝜎𝑖𝑖 𝜎𝜎 Pore conductivity σp ln ( 𝑒𝑒 ) 𝜎𝜎𝑖𝑖 Pore radius rp 0.76 nm Electroporation constant q 2.46 Electroporation parameter α 109 m-2s-1 Characteristic voltage of Vep 0.258 V electroporation Equilibrium pore density N0 1.5x109 m-2 Values were taken from [17] except if noted otherwise. *Low-conductivity electroporation buffer; **High-conductivity electroporation buffer 412 Fig. 1. Numerical modeling of short bipolar pulses. (a) One burst consisted of 50 bipolar pulses. (b) Each bipolar pulse consisted of a positive and a negative pulse, both of length 1 µs (T1) and the inter-phase delay and inter-pulse delay of 1 µs (T2). During our simulation, T2 was either 1 µs or 10 ms. The rise time and fall time for each pulse were 100 ns. III. RESULTS We calculated the cancellation effect using numerical modeling of pore formation after applying one burst consisting of 50 bipolar pulses with 1 µs duration (T1) and two different inter-phase delays (T2), 1 µs and 10 ms (Fig. 1), and compared with the experimental results from [13]. Fig. 2. Number of pores as a function of time for different values of the applied electric field in low conductivity buffer for one burst of 50 bipolar pulses, each pulse with the duration of 1µs and inter-phase delay of 1 µs. (a) In linear scale we can observe the dynamics of pore resealing; (b) In a logarithmic scale we can observe the initial steps in pore formation. In Fig. 2 we show the increase in number of pores by increasing the magnitude of the applied electric field, within the range of 0 to 5000 V/cm, for a low-conductivity buffer. The number of pores was calculated by integrating the pore density obtained with Eq. (3). A higher electric field caused a higher number of pores. Fig. 3 shows the pore formation for two inter-phase delays 1 µs and 10 ms, in a low-conductivity buffer at 1 kV/cm applied electric field. We choose both representations, linear and logarithmic scale, to observe better the increasing of pore number. From Fig. 3(b), it can be observed that for 10 ms inter-phase delay the number of pores is gradually increasing in comparison with 1 µs where the increase is very steep. Fig. 4 shows the AUC values calculated for 1 µs and 10 ms inter-phase delay, as function as the applied electric field in low and high-conductivity buffers. Fig. 5 shows a comparison of experimental and simulated data. Experimental data is median fluorescence of propidium iodide (PI), obtained from [14] and simulated data is the pore formation. From this comparison, it can be seen that both curves are dependent on the magnitude of the electric field, i.e., they have a similar trend of increasing. Fig. 5. Comparison of measured and simulated molecular uptake based on fluorescence of propidium iodide and pore formation. The measured values are shown as a mean ± standard deviation and were obtained from [14]. IV. DISCUSSION Fig. 3. Number of pores as a function of time for two different inter-phase delays (T2), either 1 µs or 10 ms, in low-conductivity buffer at 1 kV/cm; (a) In linear scale, we can focus on the pore resealing; (b) In a logarithmic scale, we can focus on initial pore formation during the burst application. Fig. 4. Area under the curve as a function of the applied electric field in low and high-conductivity buffers for one burst of 50 bipolar pulses. Pulse duration (T1) was 1 µs, and the inter-phase delay (T2) was either 1 µs or 10 ms. In the linear scale, the AUC values increase linearly. 413 In our study, we aimed at explaining the cancellation effect by modeling high-frequency short bipolar pulses and evaluating pore formation. We performed calculations for two conductivity buffers that were previously used in experiments [13]. From numerical results, we observed that the pore formation depends on the magnitude and duration of the applied electric field (Fig. 2). With electric fields of up to 1500 V/cm, we observed that the pore formation increases step-by-step and follows roughly the shape of the applied burst (Fig. 3). For values higher than 1500 V/cm, this increase is steeper as the membrane is immediately permeabilized and more conductive and the following pulses do not contribute much. In Fig. 3, we compared pore formation for both values of inter-phase delay. We observed that for 1 µs inter-phase delay, we obtain more pores but for a shorter time than for 10 ms inter-phase delay, where we obtain less pores but for a longer time. The importance of the duration when pores are open is corroborated by Fig. 4 where for both buffers, the AUC value is higher for 10 ms delay than for 1 µs delay for all electric fields and both buffers. From our numerical results, we could see that both interphase delays have the same trend in the low and highconductivity buffers. Fig. 4 showed that the longer interphase delay increases the uptake which could explain the cancellation effect. At the same time, looking at the experimental data, we observed that the uptake in [13] has a different trend for low and high conductivity electroporation buffers, which indicates that this cancellation effect phenomenon is more complicated than modeled. For highconductivity buffer, we obtained similar results as is shown in the experiments, and we could explain the cancellation effect with pore formation. Meanwhile, this phenomenon cannot be seen in permeabilization experiments with the lowconductivity buffer, meaning that there is a difference between low and high-conductivity buffer, probably related to the biology or chemistry of electroporation which is not included in the model. Sucrose, which is present in high concentration in the low-conductivity buffer is added to buffers to keep the osmolality in the physiological range and prevent the cells from collapse while keeping the buffer’s electric conductivity low. In [19] we observed that cells response were different in low-conductivity buffer with a high concentration of sucrose than without. We compared our results with the experimental ones from [13] where the percentage of permeabilized cells was showed. The percentage of permeabilized cells increased in a sigmoidlike fashion and after a certain applied electric field, the maximum number of permeabilized cells was achieved. However, from our results (Fig. 4) we observed that by increasing the electric field the uptake kept increasing. On a linear scale, the increase of the AUC value is also linear – with higher electric fields more dye enters the cells, although experimentally we already reached 100% permeabilization. Since in [13] the experimental results shown only the percentage of permeabilized cells, we compared our data with the median fluorescence from [14]. In Fig. 5 we observed that the median fluorescence and the AUC value have a similar trend, even though in experiments, cells are already 100% electroporated at 3500 V/cm. There are some limitations of our model and assumptions that we made. First, we modeled only one burst of 50 bipolar pulses, instead of eight, that was used in the experimental data, to reduce computation time and resources. Other pulse parameters were kept the same as in the already published study [13]. Second, our model does not include the pore expanding or shrinking, only formation of pores of fixed size. Third, we did not calculate the transport mechanisms (electrophoresis and diffusion). We assumed that the number of pores is correlated to the transport, i.e., by increasing the number of pores, the transport increases, which we approximated by calculating the Area Under the Curve, (AUC) value. The adequacy of using the number of formed pores as an indicator of the transport across the membrane was shown in [20] where the modeled number of formed pores was proportional to experimentally determined intracellular calcium concentration. [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] V. CONCLUSION Cancellation effect in high-conductivity buffer could be explained by pore formation as with 10 ms delay, a higher AUC value was obtained than with 1 µs delay. However, in the low-conductivity buffer, the experimental results cannot be explained by pore formation, the phenomenon is more complex than the model used in this study. [15] [16] [17] ACKNOWLEDGMENT This research was conducted during an Erasmus+ program between Doctoral School of Electrical Engineering, University ˝Politehnica˝ of Bucharest and Laboratory of Biocybernetics, Faculty of Electrical Engineering, University of Ljubljana. The authors acknowledge the financial support from the Slovenian Research Agency (ARRS). [2] [19] [20] REFERENCES [1] [18] T. Kotnik, L. Rems, M. Tarek, and D. Miklavcic, “Membrane Electroporation and Electropermeabilization: Mechanisms and Models,” Annu. Rev. Biophys., vol. 48May 2019 B. Geboers et al., “High-voltage electrical pulses in oncology: Irreversible electroporation, electrochemotherapy, gene 414 electrotransfer, electrofusion, and electroimmunotherapy,” Radiology, vol. 295, no. 2, May 2020 T. Kotnik, W. Frey, M. Sack, S. Haberl Meglič, M. Peterka, and D. Miklavčič, “Electroporation-based applications in biotechnology,” Trends Biotechnol., vol. 33, no. 8 Aug. 2015 S. Mahnič-Kalamiza, E. Vorobiev, and D. Miklavčič, “Electroporation in Food Processing and Biorefinery,” J. Membr. Biol., vol. 247, no. 12, Nov. 2014 A. Golberg et al., “Energy-efficient biomass processing with pulsed electric fields for bioeconomy and sustainable development,” Biotechnol. Biofuels, vol. 9, no. 1, 2016 N. Esmaeili and M. Friebe, “Electrochemotherapy: A Review of Current Status, Alternative IGP Approaches, and Future Perspectives,” J. Healthc. Eng., , 2019 L. Lambricht, A. Lopes, S. Kos, G. Sersa, V. Préat, and G. Vandermeulen, “Clinical potential of electroporation for gene therapy and DNA vaccine delivery,” Expert Opin. Drug Deliv., vol. 13, no. 2, Feb. 2016 K. N. Aycock and R. V. Davalos, “Irreversible Electroporation: Background, Theory, and Review of Recent Developments in Clinical Oncology,” Bioelectricity, vol. 1, no. 4, Dec. 2019 A. Deodhar et al., “Irreversible Electroporation Near the Heart: Ventricular Arrhythmias Can Be Prevented With ECG Synchronization,” AJR. Am. J. Roentgenol., vol. 196, no. 3, p. W330, Mar. 2011 B. Mali, T. Jarm, M. Snoj, G. Sersa, and D. Miklavcic, “Antitumor effectiveness of electrochemotherapy: A systematic review and meta-analysis,” European Journal of Surgical Oncology, vol. 39, no. 1. Eur J Surg Oncol, Jan. 2013 C. B. Arena et al., “High-frequency irreversible electroporation (H-FIRE) for non-thermal ablation without muscle contraction,” Biomed. Eng. Online, vol. 10, Nov. 2011 D. C. Sweeney, M. Reberšek, J. Dermol, L. Rems, D. Miklavčič, and R. V. Davalos, “Quantification of cell membrane permeability induced by monopolar and highfrequency bipolar bursts of electrical pulses,” Biochim. Biophys. Acta - Biomembr., vol. 1858, no. 11, Nov. 2016 T. Polajžer, J. Dermol-Černe, M. Reberšek, R. O’Connor, and D. Miklavčič, “Cancellation effect is present in highfrequency reversible and irreversible electroporation,” Bioelectrochemistry, vol. 132, Apr. 2020 M. Scuderi, M. Rebersek, D. Miklavcic, and J. Dermol-Cerne, “The Use of High-frequency Short Bipolar Pulses in Cisplatin Electrochemotherapy in Vitro,” Radiol. Oncol., vol. 53, no. 2, 2019 T. Potočnik, D. Miklavčič, and A. Maček Lebar, “Gene transfer by electroporation with high frequency bipolar pulses in vitro,” Bioelectrochemistry, vol. 140, Aug. 2021 A. G. Pakhomov et al., “Cancellation of cellular responses to nanoelectroporation by reversing the stimulus polarity,” Cell. Mol. Life Sci., vol. 71, no. 22,, Nov. 2014 L. Rems, M. Ušaj, M. Kandušer, M. Reberšek, D. Miklavčič, and & Gorazd Pucihar, “Cell electrofusion using nanosecond electric pulses” Scientific Reports, 2013 J. C. Cappelleri, A. G. Bushmakin, G. Zlateva, and A. Sadosky, “Pain responder analysis: Use of area under the curve to enhance interpretation of clinical trial results,” Pain Pract., vol. 9, no. 5, Sep. 2009 J. Dermol, O. N. Pakhomova, A. G. Pakhomov, and D. Miklavčič, “Cell Electrosensitization Exists Only in Certain Electroporation Buffers,” PLoS One, vol. 11, no. 7, Jul. 2016 J. Dermol-Černe, T. B. Napotnik, M. Reberšek, and D. Miklavčič, “Short microsecond pulses achieve homogeneous electroporation of elongated biological cells irrespective of their orientation in electric field,” Sci. Reports 2020 101, vol. 10, no. 1, Jun. 2020 Time-Dependent Numerical Model of The Induced Transmembrane Voltage in real-shaped Cardiomyocyte Maria Scuderi, Damijan Miklavčič, Janja Dermol-Černe University of Ljubljana, Faculty of Electrical Engineering Ljubljana, Slovenia maria.scuderi@fe.uni-lj.si, Abstract—Pulsed-field ablation (PFA) is a nonthermal new promising method used to treat heart arrhythmias with the application of a sufficiently high pulsed electric field to the target tissue. Different orientations and elongated shapes of cardiomyocytes may hinder obtaining the homogeneous distribution of the applied electric field and homogeneous ablation of tissue. To increase the efficiency of PFA treatments, numerical models were developed to study the effects of the electric field on a cardiomyocyte. Cardiomyocyte shape had usually been approximated as a prolate spheroid cell or a cylinder but recently, Milan et al. [1] for the first time compared different cardiomyocyte approximations to the realistic shape of a cardiomyocyte at steady-state conditions. They suggested prolate spheroid geometry as a good-enough and numerically less time-consuming approximation of the real-shaped geometry of a cardiomyocyte. The aim of our research work is to further advance the existing real-shaped cardiomyocyte model by developing a time-dependent numerical model of a cardiomyocyte comparing prolate spheroid and a real-shaped geometry to evaluate if it is reasonable to use prolate spheroid geometry to represent a cardiomyocyte in time-dependent numerical studies. Keywords—Transmembrane electric potential, electric field, myocardial cell, electroporation 1 Introduction If an electric field is applied to a biological cell, transmembrane voltage (ITV) is induced across its plasma membrane and is superimposed to the physiological resting transmembrane voltage. The resting transmembrane voltage is in the range of -70 mV to 40 mV for eukaryotic cells [2]. Up to the membrane breakdown, the ITV is proportional to the amplitude of the applied electric field and depends on the cell orientation with respect to the applied electric field [3,4]. ITV depends, among others, also on the density of cell suspension, the cell geometry, position on the cell membrane, and extracellular medium conductivity. When a sufficiently high pulsed electric field is applied to the biological cells, an increase of cell membrane conductivity and permeability is detected and this phenomenon is called electroporation (EP). Electroporation occurs on the regions of the cell membrane in which the ITV is above 0.2-1 V. [3]. Conventionally, heart arrhythmias are treated with targeted ablation of arrhythmogenic regions in the heart XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE ERK'2021, Portorož, 415-418 415 with radiofrequency and cryoablation in which thermal energy is used to induce t tissue necrosis. However, the application of thermal energy causes pulmonary vein stenosis, mitral valve trauma, and can cause phrenic nerve, and oesophageal injury [5]. Thus, there is the need to find a safer ablation technique. Recently, electroporation i.e. pulsed-field ablation (PFA) emerged as a non-thermal ablation method to treat heart arrhythmias [5,6]. In PFA, nonthermal energy is used to ablate cardiac tissue, promoting cell apoptosis, preserving the nearby tissue like nerves and vessels, and allowing the complete and durable isolation of the pulmonary vein and other structures in the heart depending on the aim [7]. However, different orientations and the cylindrical shape [8] (its diameter is 4 times langer than its length) of cardiomyocytes with respect to the applied electric field represents a challenge to achieve a homogeneous electric field in the area to be treated [4,9]. Thus, to increase the efficiency of the treatment, it is important to study the effects of the applied electric field on cardiomyocytes in time domain especially when short pulses, sometimes shorter than the membrane charging time, are applied. In 2019, Milan et al., for the first time, developed and validated a 3D steady-state numerical electromagnetic model (NMReal) of a realistic geometry of a single mammalian ventricular cardiomyocyte [1]. In their study, they compared and tested simplified cardiomyocyte geometries models (e.g. cylinder, ellipsoid, prolate spheroid, and parallelepiped) with the realistic shape geometry (NMReal) of a cardiomyocyte. In conclusion, they estimated an average error of < 5 %, when the electric field was oriented <30° with respect to the long axis of the cell, between the prolate spheroid model and the realshaped model. Thus, the prolate spheroid model could be considered as a good-enough and much simpler alternative to the real-shaped NMReal model [1]. However, it was not determined if the steady-state simplifications used by Milan et al. [1] also hold if short pulses are used. Thus, the aim of this study was to develop a time-dependent numerical model of the ITV of a single cardiomyocyte comparing the prolate spheroid (simplest geometry) and the realistic geometry (NMReal, the most complex geometry). 2 Methods In the following subsections, the methods to develop and validate the models are described. 2.1 ITV Electromagnetic models The finite element model of a cardiomyocyte, exposed to an external pulsed electric field, was constructed in COMSOL Multiphysics (v5.5, COMSOL AB, Sweden) for the stationary and time-dependent case. First, the numerical model was developed at the stationary condition to compare the results with Milan et al paper [1]. Then, the model was adapted for the time-dependent case when a short pulse was applied. The 3-dimensional simulation was made in the AC/DC module, Electric current physics, and Time domain study by solving the Laplace equation (1) 𝜕(𝜀𝑖 𝛻𝑉) −𝛻(𝜎𝑖 𝛻𝑉) − 𝛻 =0 (1) 𝜕𝑡 where 𝜎𝑖 is the conductivity and 𝜀𝑖 is the dielectric permittivity of the extracellular and intracellular medium and cell membrane subdomains of the model. For the numerical model at the stationary condition, the Steady State study was used and the second term of equation 1 was neglected. Two different geometries, prolate spheroid geometry (120 µm long with a diameter of 30 µm) and the realshaped geometry (NMReal) of a cardiomyocyte (143 µm length and 36 µm width and 22 µm height) were used to represent a single cardiomyocyte as in Milan et al. [1], Figure 1. The real-shaped geometry of a cardiomyocyte was kindly provided by Milan et al. [1]. Both geometries were modeled in the center of the simulation square cube with dimensions 400 x 400 x 400 μm. The box size did not affect the results. A finer mesh was used for the cell membrane, which is the most important part of the geometry for the ITV analysis. The normal mesh was used for the other parts of the geometry. The voltage was applied as a trapezoidal electric pulse and as a constant value on the two opposite boundaries of the square block for the time-dependent and steady-state numerical model, respectively. The remaining four faces of the block were modeled as insulating surfaces. The pulse had to be trapezoidal, to avoid convergence problems. The electric pulse was obtained by subtracting two Heaviside functions using the COMSOL function flc1hs [10]. The pulse rise time was 1 μs and the pulse length was 100 μs. The electric field was applied perpendicular and parallel to the long axis of the cardiomyocyte for both geometries and was 1 V/cm as in Milan et al. paper [1]. The ITV was calculated as the difference between the extracellular, Ve, and intracellular, Vi, electric potential, ITV=Ve-Vi, for both geometries. The maximum absolute value of ITV, ITVmax, on the cell membrane is presented in the regions of the cell membrane facing the cathode and anode. For a prolate spheroid geometry, the ITVmax was evaluated at the point of the cell membrane facing the cathode or anode. For the real-shaped geometry, it was difficult to identify the point at which the ITV is the highest due to the irregularity of the shape. Thus, the ITVmax was evaluated by the Boundary Probe type Maximum in Comsol, which allows determining the maximum value of the ITV on the cell membrane as shown in Figure 3. The cell membrane was modeled as a conductivity surface at the interface between the cell interior and the exterior, using the Contact Impedance Boundary Condition 𝒏 · 𝑱𝟏 = 1 𝜕 (𝜎 + 𝜀0 𝜀𝑚 ) (𝑉1 − 𝑉2 ) 𝑑𝑚 𝑚 𝜕𝑡 416 𝒏 · 𝑱𝟐 = 1 𝜕 (𝜎 + 𝜀0 𝜀𝑚 ) (𝑉2 − 𝑉1 ) 𝑑𝑚 𝑚 𝜕𝑡 (2) where n is the normal vector, J is the current density, 𝑑𝑚 is the cell membrane thickness, 𝜎𝑚 is the cell membrane conductivity, 𝜀𝑚 is the cell membrane permittivity, 𝜀0 is the permittivity of the vacuum, V1 and V2 are the electric potentials at the outer and inner surface of the membrane in equation (2). For the numerical model at the steadystate condition, the time-dependent permittivity term of equation 2 was neglected. The parameters used in the numerical model are the same as in Milan et al paper [1] and are given in Table 1. Table 1. Parameters used in the models Parameter Intracellular Permittivity Extracellular Permittivity Membrane Permittivity Intracellular Conductivity Extracellular Conductivity Membrane Conductivity Symbol εi εe εm σi σe σm Membrane thickness Block length dm l Value 80 80 5 0.8 [S/m] 1.4 [S/m] 1.493x10-8 [S/m] 10 [nm] 400 [µm] Figure 1. Geometries used to represent a cardiomyocyte. 1A) Prolate spheroid geometry, 120 µm long and 30 µm wide and high. 1B) Real-shaped geometry (NMReal model) 143 µm long, 36 µm wide, and 22 µm high. 2.2 Model Validation The estimation of the ITV relative error between the numerical model and the analytical solution using a prolate spheroid geometry was evaluated to first validate the model only for the stationary state. The relative error was determined by solving the following equation 𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝑒𝑟𝑟𝑜𝑟 = |𝑣𝑎 − 𝑣𝑒 | 𝑣𝑒 𝑥 100% (3) where 𝑣𝑎 is the observed value (ITV with the numerical model) and 𝑣𝑒 is the exact value (with the analytical equation). The analytical equation that allows calculating the ITV for a prolate spheroid geometry is : when θ=0° and the dashed line for θ=90°. θ was defined as the polar angle measured from the center of the cell concerning the electric field. 𝐼𝑇𝑉(𝜑) =𝐸 𝑅12 − 𝑅22 𝑅22 𝑅1 − 2 √𝑅1 − 𝑅22 𝑅 + √𝑅12 − 𝑅22 log 1 𝑅2 𝑅2 cos (𝜑) √𝑅12 𝑠𝑖𝑛2 (𝜑) + 𝑅22 𝑐𝑜𝑠 2 (𝜑) 𝑥 (3) where E is the external electric field, R1 is the radius along the axis of rotational symmetry, R2 is the radius perpendicular to this axis, φ is the polar angle measured from the center of the cell concerning the direction of the field [11]. For the time-dependent state, an estimation of the ITV relative error between the prolate spheroid, 𝑣𝑎 , and the real-shaped numerical model, 𝑣𝑒 was evaluated. 3 Results and discussion Induced transmembrane voltage was calculated for a prolate spheroid, and a real-shaped geometry, in stationary, Figures 2 and 3, and time-dependent Figures 4 and 5 conditions. The electric field, 1 V/cm, well beyond the threshold for electroporation, was applied parallel and perpendicular to the long axis of the cell for both geometries. The direction of the electric field is indicated by plus and minus signs. A higher value of the ITV is present when the electric field is applied parallel to the long axis of the cell (~8 mV, Figure 4A) than when it is applied perpendicularly (3 mV, Figure 4B), which corresponds to already published studies [10,13]. This shows that the induced transmembrane voltage depends on the cell orientation with respect to the applied electric field [2]. For the steady-state case, the ITV values showed in Figure 3 are similar to the ones published in Milan et al. paper [1]. The relative error of ITVmax estimation between the prolate spheroid and the analytical model, when the applied electric field was parallel to the long axis of the cells, is <1%. ITVmax was defined as the maximum absolute value of ITV presents in the regions of the cell membrane facing the anode and cathode. The estimated ITVmax relative error <1% is in agreement with Milan et al paper [1]. For the time-dependent case, the induced transmembrane voltage was evaluated as a function of time when a single trapezoidal pulse 100 µs long was applied. In Figures 4 and 5, the blue and red curves showed the values of the induced transmembrane voltage as a function of the time using prolate spheroid and realshaped geometry, respectively. After a few microseconds, a steady-state value of the ITV is obtained, Figure 4. The time required to reach a steady-state condition of the ITV for a real-shaped model is longer than with using the prolate geometry Figure5. This might be due to the irregularity of the real-shaped geometry of the cardiomyocyte compared to the prolate one. The solid curves represent the ITV value evaluated 417 Figure 2. Variation of the induced transmembrane voltage of a prolate spheroid is obtained applying 1 V/cm electric field parallel (Fig. 2A) and perpendicular (Fig. 2B) to the long axis of the cell. The direction of the electric field is indicated by plus and minus signs. The legend, in both Figures, indicates the values of ITV in mV. Figure 3. Variation of the induced transmembrane voltage of a mammalian cardiomyocyte is obtained applying 1 V/cm electric field parallel (Fig. 3A) and perpendicular (Fig. 3B) to the long axis of the cell. The direction of the electric field is indicated by plus and minus signs. The legend, in both Figures, indicates the values of ITV in mV. The relative error of ITVmax estimation comparing the prolate spheroid and the realistic shape geometry was 17% and 15.7% when the electric field was applied parallel and perpendicular to the long axis, respectively. The prolate spheroid was under- or overestimating the results obtained with the realistic geometry. The obtained estimations of the relative error of ITVmax are different compared to Milan et al. paper [1]. The reason for this difference might be due to numerics and the use of a different finite element simulation software (Milan et al. used Elmer FEM) than Comsol Multiphysics used in this study. Besides, the maximum value of the ITV in Milan et al. paper is not specified in how it was evaluated [1]. Thus, different ways the evaluate the maximum value of the ITV might affect the final results. an electric field is applied parallel or perpendicular to the long axis of the cell, respectively. The computing time of the prolate spheroid model is 3 or 4 times faster than the real-shaped model when the electric field is applied parallel or perpendicular to the long axis of the cell, respectively. Thus, the prolate spheroid geometry might be considered as a good-enough approximation to represent a cardiomyocyte, taking into account the decrease in the computational load in comparison with the realistic geometry in numerical models. Based on the ITV results, we need to apply a higher electric field when the cells are oriented perpendicular than when are oriented parallel to it to obtain similar results [4,9]. The ITV, without electroporation, increases proportionally the applied electric field but with electroporation, the ITV increase is non-linear due to membrane breakdown. Acknowledgment This work was supported by the research funding from Medtronic PLC and the Slovenian Research Agency (ARRS). References [1] H. F. Milan, R. A. Bassani, L. E. Santos, A. C. Almeida, [2] Figure 4. The induced transmembrane voltage (ITV) as a function of time when a single pulse 100 µs long was applied. The blue and red curves represent the ITV values obtained with a prolate spheroid and real-shaped geometry, respectively. The ITV values were evaluated at the pole (θ=0°) and the equator (θ=90°) of the cell. 1 V/cm electric field was applied parallel (Fig. 4A) and perpendicular (Fig. 4B) to the long axis of the cell. [3] [4] [5] [6] [7] [8] Figure 5. Zoom-in of Fig. 4 to the first 10 µs of the simulation. It shows the charging time of the cell membrane using the prolate spheroid and real-shaped geometries. [9] 4 CONCLUSION The aim of this research work was to develop a timedependent numerical model of a cardiomyocyte and establish if the prolate spheroid geometry is accurate enough to represent a single mammalian cardiomyocyte in calculating the induced transmembrane voltage. The ITVmax value obtained using prolate spheroid and realshaped geometry of a cardiomyocyte is in the same range and the relative error of ITVmax is 17% and 15.7%, when 418 [10] [11] and J. W. Bassani, “Accuracy of electromagnetic models to estimate cardiomyocyte membrane polarization,” Medical & biological engineering & computing, vol. 57, no. 12, pp. 2617–2627, 2019 T. Kotnik, L. Rems, M. Tarek, and D. Miklavčič, “Membrane electroporation and electropermeabilization: mechanisms and models,” Annual review of biophysics, vol. 48, pp. 63–91, 2019. G. Pucihar, T. Kotnik, B. Valič, and D. Miklavčič, “Numerical determination of transmembrane voltage induced on irregularly shaped cells,” Annals of biomedical engineering, vol. 34, no. 4, p. 642, 2006. J. Dermol-Černe, T. B. Napotnik, M. Reberšek, and D. Miklavčič, “Short microsecond pulses achieve homogeneous electroporation of elongated biological cells irrespective of their orientation in electric field,” Scientific Reports, vol. 10, no. 1, pp. 1–17, 2020. S. McBride et al., “Ablation Modalities for Therapeutic Intervention in Arrhythmia-Related Cardiovascular Disease: Focus on Electroporation,” Journal of Clinical Medicine, vol. 10, no. 12, p. 2657, 2021. C. J. Bradley and D. E. Haines, “Pulsed field ablation for pulmonary vein isolation in the treatment of atrial fibrillation,” Journal of Cardiovascular Electrophysiology, 2020. J. S. Koruth et al., “Pulsed Field Ablation Versus Radiofrequency Ablation: Esophageal Injury in a Novel Porcine Model,” Circulation: Arrhythmia and Electrophysiology, vol. 13, no. 3, p. e008303, 2020. P. Pham, G. Cauffet, A. Bardou, J. Olivares, and E. Novakov, “Development of a linear transient model for stimulation of isolated cardiac cells,” The European Physical Journal Applied Physics, vol. 12, no. 3, pp. 217– 222, 2000. R. Ranjan and N. V. Thakor, “Electrical stimulation of cardiac myocytes,” Annals of biomedical engineering, vol. 23, no. 6, pp. 812–821, 1995. L. Rems, M. Ušaj, M. Kandušer, M. Reberšek, D. Miklavčič, and G. Pucihar, “Cell electrofusion using nanosecond electric pulses,” Scientific reports, vol. 3, no. 1, pp. 1–10, 2013. T. Kotnik and D. Miklavčič, “Analytical description of transmembrane voltage induced by electric fields on spheroidal cells,” Biophysical Journal, vol. 79, no. 2, pp. 670–679, 2000. Generator izmenične napetosti za elektroformacijo orjaških fosfolipidnih veziklov Marin Gazvoda de Reggi1 , Urban Malavašič1 , Marko Jeran1,2 , Samo Penič1 1 2 Laboratorij za fiziko, Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška cesta 25, SI-1000 Ljubljana Laboratorij za klinično biofiziko, Zdravstvena fakulteta, Univerza v Ljubljani, Zdravstvena pot 5, SI-1000 Ljubljana E-pošta: samo.penic@fe.uni-lj.si, marko.jeran@fe.uni-lj.si Voltage source for electroformation of giant unilamellar vesicles Cells are the main building blocks of all living organisms and are therefore subject of intensive research. Cell membranes are their vital components as their structure and properties influence many important functions of the cell. Due to the complicated structure of the cell membrane, researchers use simpler structures that resemble the membrane, called unilamellar vesicles, especially giant unilamellar vesicles, due to their size. There are many methods for acquiring the vesicles using their main building blocks – phospholipids, electroformation being the most commonly used. In this work, an open-source sinusoidal voltage source designed for electroforming giant unilamellar vesicles will be presented. The device has been successfully used to produce vesicles from the phospholipid POPC (1-palmitoyl-2-oleoyl-sn-glycero-3-phosphocholine) and a mixture of POPC and cholesterol (4/1). 1 Uvod Celica je temeljna gradbena in dejavna enota živih bitij. Njeno zunanjost in notranjost ločuje tanka plast, imenovana celična membrana, skozi katero prehajajo snovi v celico in iz nje. Celično membrano primarno sestavljajo molekule fosfolipidov, ki so organizirane v dvojno plast [1], v sami membrani pa najdemo veliko različnih makromolekul, od različnih beljakovinskih molekul in holesterola do drugih biološko pomembnih gradnikov (slika 1). Najpomembnejši nalogi membrane sta zaščita notranjosti celice pred zunanjimi vplivi in kontroliran prenos snovi v celico in iz nje. Struktura membrane tako določa specifične funkcije delovanja celice. Tudi v notranjosti celice najdemo podobno zgradbo membran, ki delujejo kot ločnice med dvema področjema (npr. membrane, ki obdajajo celične organele) [2]. Preučevanje lastnosti celične membrane na modelu živih celic predstavlja izziv, saj so lastnosti in delovanje membrane pogojeni s številnimi celičnimi mehanizmi in zapleteno biološko zgradbo. Zaradi tega se v raziskavah pogosto uporabljajo poenostavljeni modeli celic. Priljubljen nadomestek celic so liposomi ali orjaški enoplastni vezikli GUV (angl. giant unilamellar vesicles) velikosti od 1–200 µm. Sestavlja jih dvojna plast fosfolipidov, ki se pod vplivom hidrofobnih interakcij v vodni raztopini ERK'2021, Portorož, 419-422 419 lipidna dvojna plast ogljikov hidrat glikoprotein globularni protein proteinski kanal (transportni protein) holesterol glikolipid površinski protein globularni protein (integralni) filamenti citoskeleta protein z α-vijačnico (integralni protein) periferni protein Slika 1: Celična membrana je kompleksna struktura, katere osnovni gradnik je fosfolipidna dvojna plast. Rdeče obarvani plasti sta sestavljeni iz množice polarnih glav fosfolipidov, medtem ko rumeno obarvan pas predstavlja nepolarne repe fosfolipidnih molekul. Povzeto po [3]. začnejo združevati v lipidne dvojne sloje [4, 5, 6, 7]. Zaradi ustrezne velikosti jih lahko neposredno opazujemo pod svetlobnim faznokontrastnim mikroskopom. Običajno raziskovalci vezikel ali manjšo skupino osamijo, jo izpostavijo spremembi okolice in skozi daljše časovno obdobje spremljajo spremembe [8, 9, 10]. Za pripravo orjaških unilamelarnih (enoplastnih) fosolipidnih veziklov uporabljamo več metod, kot so hidracija lipidnega filma, elektroformacija, emulgiranje lipidov, mikrofluidne metode (usmerjanje hidrodinamičnega toka) in druge [11]. Natančnejši pregled metod priprave veziklov opisujejo Walde in sodelavci [12]. Elektroformacija je v laboratoriju najpogosteje uporabljen postopek priprave veziklov iz fosfolipidnih komponent, saj je hiter (v povprečju 1–3 ure) in učinkovit. V znanstveni literaturi sta metodo prvič opisala Angelova in Dimitrov leta 1986 [13]. Predlagani postopek elektroformacije se izvede tako, da se na platinasti elektrodi nanese lipidno raztopino. Ko topilo izhlapi, se na elektrodah tvori lipidni film. Elektrodi se preneseta v vodno raztopino sladkorja ali soli, izmenično električno polje med elektrodama pa spodbudi in pospeši proces tvorjenja lipidnih veziklov. Kot vir izmenične napetosti sinusne oblike se najpogosteje uporablja funkcijski generator. Elektroformiranje veziklov poteka v šibkem električnem polju (< 100 V/m), ki ga pri majhni razdalji med elektrodama dobimo že pri nizkih napetostih (1–5 V) in se harmonično spreminja s frekvencami 1–10 Hz, zato lahko za postopek uporabimo preprostejše, cenejše in manjše naprave. V prispevku bomo predstavili pristop zamenjave funkcijskega genera- torja z mikrokrmilnikom in uporabo filtriranega pulznoširinsko moduliranega (PWM, angl. pulse-width modulation) digitalnega izhoda. Tako je lahko celoten protokol za elektroformacijo zapisan v pomnilniku mikrokrmilnika in ga sprožimo s pritiskom na gumb, brez potrebe po nastavljanju vira. Ključni del študije zajema izdelavo prototipa izmeničnega generatorja in končno verifikacijo delovanja naprave. Vezje smo zgradili okoli odprtokodnega mikrokrmilniškega sistema Arduino. Vezje in programsko kodo smo objavili pod odprtokodno licenco MIT. Z namenom da je končni izdelek majhen in tako prenosljiv, preprost za uporabo ter se v celoti napaja prek vodila USB, smo uporabili le lahko dobavljive in cenovno ugodne elektronske komponente. Dokumentacija za izdelavo izmeničnega vira za elektroformacijo je na voljo na strani GitHub [14]. 2 Protokol elektroformacije veziklov Protokol za pripravo enoplastnih orjaških veziklov določimo vnaprej, da dosežemo ponovljivost rezultatov eksperimentalnega dela. V tem razdelku se bomo omejili le na del protokola, ki je neposredno povezan z virom električne napetosti med elektrodama, neodvisno od izbire lipidov, raztopin, tipa elektrod in drugih dejavnikov. Osnovni protokol postopka elektroformacije zajema tri faze. V prvi fazi med elektrodama postopoma povečujemo amplitudo električne poljske jakosti do največje vrednosti (tipično 𝐸 max < 100 V/m). Tej fazi sledi opcijska faza nabrekanja veziklov, kjer določen časovni interval vzdržujemo amplitudo poljske jakosti na največji vrednosti. Sledi zadnja faza, kjer praviloma zmanjšamo frekvenco in vzpodbudimo, da se fosfolipidna dvojna plast sklene v sferične vezikle [15]. Oblika elektrod, predvsem pa njuna medsebojna razdalja, sta pomembna dejavnika, ki določata napetost generatorja, da je dosežena pravilna električna poljska jakost v raztopini. Napetost med elektrodama, frekvenca in čas trajanja posamezne faze skupno lahko vplivajo na velikost in mehanske lastnosti nastalih veziklov [16]. Delovni protokol lahko ustrezno spremenimo tudi ob dodatku ali zamenjavi različnih reagentov, kot na primer uporaba raztopine soli namesto sladkorja [15]. V aplikativnih študijah ponavadi prvi delovni fazi združimo v eno [17]. V rutinskih laboratorijskih poskusih proces elektroformacije najpogosteje izvajamo v vodnih raztopinah glukoze. V nadaljevanju sledimo ključnim korakom, ki so jih opisali Stein in sodelavci [8]. Platinasti žični elektrodi premera ≈ 2 mm sta na medsebojni razdalji 5 mm. Delovni parametri sistema elektroformiranja veziklov so zajeti tudi v tabeli 1. Postopno zmanjševanje frekvence in napetosti električnega polja povzroči, da se nabrekli lipidni vezikli počasi odlepijo od površine elektrod in ostanejo prosto plavajoči v raztopini. 3 Opis vezja generatorja Z uporabo mikrokrmilniške platforme Arduino Uno smo generirali PWM signal s frekvenco 31,4 kHz. Delovno 420 Tabela 1: Parametri napetostnega vira. Časovni interval [min] 120 15 15 15 Napetost [Vpp ] 10,0 5,0 2,5 1,0 Frekvenca [Hz] 5,0 2,5 2,5 1,0 razmerje posameznega cikla je bilo določeno na podlagi predhodno izračunane tabele sinusnih vrednosti. Signal smo filtrirali z nizkoprepustnim filtrom prvega reda, ki je utišal frekvence nad 150 Hz, da smo dobili želeni sinusni signal. Izhod nizkoprepustnega filtra je povezan z neinvertirajočim vhodom operacijskega ojačevalnika, ki smo mu nastavili ojačanje za faktor 2. Uporabljen operacijski ojačevalnik LM358 podjetja Texas Instruments ima v DIP-8 ohišju dve enoti. Drugo enoto smo uporabili kot invertirajoči operacijski ojačevalnik. S potenciometrom RV1 smo nastavili ojačanje na faktor 2,5; s potenciometrom RV2 pa smo nastavili offset napetost operacijskega ojačevalnika, da ga signal ni spravil v nasičenje. Zaradi enojnega napajanja operacijskega ojačevalnika smo priklop elektrod izvedli diferencialno med izhodoma obeh operacijskih ojačevalnikov. Kalibracijo smo izvedli z osciloskopom. Najprej smo nastavili ojačanje s potenciometrom RV1 tako, da smo pri nastavljeni največji amplitudi izhoda mikrokrmilnika dobili med izhodnima sponkama napetost vršne vrednosti 10 Vpp , sledilo je izničenje enosmerne komponente napetosti s potenciometrom RV2. Operacijski ojačevalnik smo napajali z napetostjo 15 V, ki smo jo iz napajalne napetosti mikrokontrolniškega sistema Arduino dobili s preklopnim pretvornikom navzgor (angl. boost converter). Uporabili smo modul na osnovi konverterja SX1308 proizvajalca Sunrom. Največja dopustna frekvenca na izhodu je omejena na približno 150 Hz, napetost na 10 Vpp . Tokovna zmogljivost izhoda je omejena s karakteristiko izbranega operacijskega ojačevalnika in je ≈ 40 mA, kar pri visokoohmskem bremenu, ki ga predstavlja viala z elektrodama in raztopino, ne predstavlja praktičnega problema (slika 2). 4 Potek izvajanja programske kode Na napravi so v električno izbrisljivem programirljivem bralnem pomnilniku EEPROM (angl. electrically erasable programmable read-only memory) shranjeni parametri za izvedbo protokola priprave veziklov (tabela 1). Po vklopu naprave se barvna svetleča dioda prižge in obarva svetlo modro. S pritiskom na gumb se prične izvajati shranjen protokol, dioda pa se obarva vijolično. Ko se protokol zaključi, se dioda obarva zeleno. Izvajanje protokola lahko med delovanjem prekinemo s pritiskom na gumb, pri čemer se dioda obarva rdeče. Diagram poteka delovanja naprave je predstavljen na sliki 3. 6 8 V- 7 GND 1 R 5 +15V U1C LM358 4 D1 LED_RCBG R6 320 V+ 1 U1B LM358 GND + GND 6(**) 2 1 R5 320 3 B 3 2 100k RV2 GND 5(**) 1 2 4 G A0 A1 A2 A3 A4(SDA) A5(SCL) 1 2 3 4 5 6 J1 Conn_Coaxial Socket_Arduino_Uno:Arduino_1pin 1 1 1 1 1 2 3 4 5 6 7 8 9 10 A5(SCL) A4(SDA) AREF Digital 3 3(**) C2 2,2 RV1 100k 2 C1 22n R4 320 1 1 2 3 4 5 6 7 8 Reset Socket_Arduino_Uno:Socket_Strip_Arduino_1x10 + Power 3 P1 Analog 11(**/MOSI) +15V Socket_Arduino_Uno:Socket_Strip_Arduino_1x08 1 Holes Digital - Socket_Arduino_Uno:Socket_Strip_Arduino_1x06 2 R1 47k P5 P6 P7 P8 P3 +5V +3.3V U1A LM358 GND Vin GND Socket_Arduino_Uno:Arduino_1pin Shield for Arduino that uses the same pin disposition like "Uno" board Rev 3. R2 100k Socket_Arduino_Uno:Socket_Strip_Arduino_1x08 R3 100k IOREF SW1 SW_Push 2 1 2 3 4 5 6 7 8 7 6(**) 5(**) 4 3(**) 2 1(Tx) 0(Rx) P2 13(SCK) 12(MISO) 11(**/MOSI) 10(**/SS) 9(**) 8 P4 GND GND GND Slika 2: Shema električnega vezja. Nov protokol Naprava je prižgana Nov protokol se zapiše v pomnilnik Začetek protokola Novi parametri Napetost Pritisnjen gumb Frekvenca Nov korak Množenje tabele sinusnih vrednosti Izvaja se shranjen protokol Konec korakov Izvajanja je konec Pritisnjen gumb Pretečen časovni interval Izvajanje se preneha Slika 3: Diagram poteka delovanja generatorja napetosti. V pomnilniku naprave je vedno shranjen zadnji uporabljen protokol, ki ga lahko spremenimo s priklopom naprave prek vodila USB na računalnik in uporabo aplikacije, razvite v programskem jeziku Python. Naprava sprejema novo navodilo za izvajanje protokola prek serijskih vrat pri hitrosti 115 200 Bd. Navodilo sestavljajo z vejico ločeni parametri električnega polja, posamezne korake pa med seboj ločuje podpičje. Začetek in konec navodila omejujeta znaka “<” in “>”. Ko ga naprava sprejme, star protokol prepiše z novim, dioda pa se obarva temno modro. Shematski prikaz izvajanja protokola elektroformacije je predstavljen na sliki 4. 5 Rezultati in zaključek Harmonični vir napetosti smo preizkusili v laboratoriju, kjer smo sledili navodilom za pripravo po literaturi [8]. Orjaške fosfolipidne vezikle smo z elektroformacijo najprej pripravili iz sintetičnega lipida POPC (1-palmitoil2-oleoil-sn-glicero-3-fosfoholina) in nato še iz njegove mešanice s holesterolom (proizvajalec obeh: Avanti Polar Lipids). Na vsako platinasto žično elektrodo smo s polzenjem kapljice nanesli 20 µL omenjenega lipida razredčenega v mešanici kloroforma in metanola v volumskem razmerju 2:1 na koncentracijo 1 mg/mL. Nanos na elektrodah smo 45 minut sušili v eksikatorju pri konstantnem vakumu. Po sušenju smo elektrodi vstavili v 2 mL 421 Konec korakov Konec protokola Hitrost časovnika Časovnik sproži ukaz Pisanje trenutne sinusne vrednosti v obliki PWM signala Slika 4: Diagram poteka izvajanja protokola elektroformacije. plastično vialo z 1,8 mL 0,3 M raztopine saharoze. Elektrodi smo priključili na sponki harmoničnega vira napetosti ter sprožili program po protokolu, opisanem v razdelku 2. Po skupno 165 minutah smo odklopili elektrodi in vsebino viale previdno prenesli v 3,60 mL 0,3 M glukoze (vol. razmerje saharoze in glukoze v končni mešanici je znašalo 1:2). Po 200 µL suspenzije smo odpipetirali v eksperimentalne kamrice (proizvajalec Grace BioLabs), ki omogočajo kvantitativno analizo polj in enakomeren zajem slike pod mikroskopom. Kamrice smo postavili pod mikroskop in počakali 30 minut, da se je vsebina posedla na dno. Pregled s svetlobnim mikroskopom (Nikon Eclipse TE2000-S) smo opravili s pomočjo imerzijskega olja pri 100-kratni povečavi. Predstavnika orjaških fosfolipidnih veziklov obeh formacij smo zajeli z mikroskopsko kamero (model UI3280CP proizvajalca IDS Imaging). Na sliki 5a je predstavljen vezikel, katerega membrana sestavlja le fosfolipid POPC brez dodanega holesterola, medtem ko je na 5b skupek veziklov, katerih membrane vsebujejo njuno mešanico. Zaradi dodatka holesterola je membrana tudi nekoliko debelejša, kar mikroskopija lepo poudari. Količini nastalih veziklov v obeh primerih formacije sta bili primerljivi s količinama, pridobljenima z uporabo [6] J. F. Nagle, “Introductory lecture: Basic quantities in model biomembranes,” Faraday Discuss., vol. 161, pp. 11–29, 2013. [7] R. Dimova, “Recent developments in the field of bending rigidity measurements on membranes,” Adv. Coll. Interf. Sci., vol. 208, pp. 225–234, 2014. (a) (b) Slika 5: Posnetek orjaških fosfolipidnih veziklov pri 100-kratni povečavi. Na slikah so membrane s fosfolipidi POPC brez (a) in z dodanim holesterolom v razmerju 1:4 (b). komercialnega funkcijskega generatorja. Postopek elektroformacije ne zahteva natančne sinusne oblike signala, zato je konstrukcija signala z uporabo modulacije PWM zadovoljiva. Protokoli, ki jih zasledimo v literaturi celo navajajo druge oblike signalov. Méléard v preglednem članku [15] omenja uporabo izmeničnega vira pravokotne ali sinusne oblike, pri posebnih pogojih pa določeni avtorji (npr. [18]) uporabljajo protokole, ki kombinirajo oba signala – tako sinusne kot tudi pravokotne oblike. Predstavljen generator sinusne napetosti nastavljive amplitude in frekvence predstavlja mobilno ter cenovno ugodno rešitev za elektroformacijo orjaških fosfolipidnih veziklov. Dodatna prednost je popolna avtomatizacija postopka elektroformacije in enostavna uporaba generatorja, saj so koraki protokola zapisani v pomnilniku ter se po vrsti samodejno izvajajo, zato naprave med izvajanjem protokola ni potrebno dodatno nastavljati. Generator ne potrebuje dodatnega električnega napajanja, saj lahko za njegovo delovanje uporabimo kar računalniški izhod USB. Dodatna prednost povezave z računalnikom je tudi možnost implementacije komuniciranja z računalnikom in obveščanja prek internetne povezave o samem stanju izvajanja protokola. Z namenom širše uporabe generatorja smo načrt in programsko kodo objavili pod odprtokodno licenco MIT. Literatura [1] G. Cevc and D. Marsh, Phospholipid bilayers: physical principles and models. Wiley, 1987. [2] Ü. Coskun and K. Simons, “Cell membranes: the lipid perspective,” Structure, vol. 19, no. 11, pp. 1543–1548, 2011. [3] Wikipedia contributors, “Celična membrana – Wikipedia, the free encyclopedia.” https:// sl.wikipedia.org/wiki/Celična_membrana, 2021. [Na spletu; dostopano 20. julij 2021]. [4] U. Seifert, “Configurations of fluid membranes and vesicles,” Adv. Phys., vol. 46, no. 1, pp. 13–137, 1997. [5] S. A. Safran, “Curvature elasticity of thin films,” Adv. Phys., vol. 48, no. 4, pp. 395–448, 1999. 422 [8] H. Stein, S. Spindler, N. Bonakdar, C. Wang, and V. Sandoghdar, “Production of isolated giant unilamellar vesicles under high salt concentrations,” Frontiers in physiology, vol. 8, p. 63, 2017. [9] J. Zupanc and D. Drobne, “Populacije orjaških lipidnih veziklov kot model za studij bio-nano interakcij/giant lipid vesicle populations as a model for bio-nano interaction studies,” in Informatica Medica Slovenica, vol. 16, p. 1, Slovenian Medical Informatics Association (SIMIA), 2011. [10] S. Penič, L. Mesarec, M. Fošnarič, L. Mrówczyńska, H. Hägerstrand, V. Kralj-Iglič, and A. Iglič, “Budding and fission of membrane vesicles: A mini review,” Frontiers in Physics, vol. 8, p. 342, 2020. [11] V. Pereno, D. Carugo, L. Bau, E. Sezgin, J. Bernardino de la Serna, C. Eggeling, and E. Stride, “Electroformation of giant unilamellar vesicles on stainless steel electrodes,” ACS Omega, vol. 2, no. 3, pp. 994–1002, 2017. [12] P. Walde, K. Cosentino, H. Engel, and P. Stano, “Giant vesicles: preparations and applications,” ChemBioChem, vol. 11, no. 7, pp. 848–865, 2010. [13] M. I. Angelova and D. S. Dimitrov, “Liposome electroformation,” Faraday discussions of the Chemical Society, vol. 81, pp. 303–311, 1986. [14] “Repozitorij na strani GitHub.” https://github. com/umalavasic/electroformation. [15] P. Méléard, L. A. Bagatolli, and T. Pott, “Giant unilamellar vesicle electroformation: From lipid mixtures to native membranes under physiological conditions,” Methods in enzymology, vol. 465, pp. 161– 176, 2009. [16] D. Drabik, J. Doskocz, and M. Przybyło, “Effects of electroformation protocol parameters on quality of homogeneous guv populations,” Chemistry and physics of lipids, vol. 212, pp. 88–95, 2018. [17] P. Santhosh, J. Genova, A. Iglic, V. Kralj-Iglic, and N. P. Ulrih, “Influence of cholesterol on bilayer fluidity and size distribution of liposomes,” Comptes rendus de l’Académie bulgare des Sciences, vol. 73, no. 7, 2020. [18] M. Breton, M. Amirkavei, and L. M. Mir, “Optimization of the electroformation of giant unilamellar vesicles (guvs) with unsaturated phospholipids,” The journal of membrane biology, vol. 248, no. 5, pp. 827–835, 2015. Stroboskopski sistem za zajem slik fosfolipidnih veziklov za določanje mehanskih lastnosti Nejc Klanjšček1 , Samo Penič1 1 Laboratorij za fiziko, Fakulteta za Elektrotehniko, Univerza v Ljubljani, Tržaška cesta 25, SI-1000 Ljubljana E-pošta: samo.penic@fe.uni-lj.si Stroboscopic image capture system to determine mechanical properties of phospholipid vesicles The biological cell is the basic building block of all life on Earth, so research into cell function involves a multitude of research. The membrane consists mainly of a phospholipid bilayer, which contains additions of other lipids, proteins and other molecules that significantly affect cell function [1]. For research purposes, we often use the simplification of the cell membrane - vesicles, which consist only of a phospholipid double layer and any controlled additives that are the subject of investigations. An important physical property that strongly influences cell function is the elasticity of the membrane that surrounds it. In this paper, we will present the process of making a stroboscopic illumination of a sample containing a quasispherical giant unilamellar vesicle, which is part of a system for the analysis of thermal fluctuations with a phase contrast microscope. The improved stroboscopic lighting system enables the capture of sharper shots, because instead of the usual integration time of the camera, the image is captured only during the duration of the light pulse of the stroboscopic lamp. Due to less blurred images due to thermal fluctuations, the bending constant of the membrane can be determined more precisely. 1 Uvod Biološka celica predstavlja osnovni gradnik vsega življenja na Zemlji, zato se z raziskovanjem delovanja celice ukvarja množica raziskav. Kljub raznolikosti celic, ki jih najdemo v bioloških sistemih, so osnovni gradniki in njihova kemijska sestava večine celic enaki [2, 3, 4]. Celico obdaja membrana, ki ločuje njeno notranjost od zunanjosti ter dovoljuje le izmenjavo določenih snovi med celico in medceličnino. Membrana je sestavljena v večji meri iz fosfolipidne dvojne plasti, v kateri so primesi drugih lipidov, proteinov in ostalih molekul, ki pomembno vplivajo na delovanje celice [1]. V raziskovalne namene pogosto uporabljamo poenostavitev celične membrane – vezikle, ki so sestavljeni le iz fosfolipidne dvojne plasti in morebitnih kontroliranih primesi, ki so predmet preiskav. Pomembna fizikalna lastnost, ki močno vpliva delovanje celice je elastičnost membrane, ki jo obdaja. ERK'2021, Portorož, 423-426 423 Fosfolipidno dvojno plast lahko obravnavamo kot dvodimenzionalno tekočino, ker je izjemno mehka, same molekule fosfolipidov pa v membrani difundirajo – se premikajo lateralno po površini dvojne plasti; ter se celo selijo med slojema (t.i. flip-flop efekt) [5]. Molekule okoli celice se gibljejo zaradi Brownovega gibanja, ki je sorazmerno s temperaturo. Ker so membrane tako mehke, so podvržene termičnim fluktuacijam zaradi trkov teh molekul (največkrat se omenjajo kar molekule vode) ob dvosloj. Migetanje (utripanje) rdečih krvnih celic je zaznal že Browicz v poznem 19. stoletju z uporabo optičnega mikroskopa. Danes lahko fluktuacije lipidne dvojne plasti opazujemo z izboljšanim faznokontrastnim mikroskopom ter s spektralno analizo teh fluktuacij neinvazivno merimo nekatere ključne lastnosti bioloških celic [6, 7, 8, 9]. Teoretične temelje za spektralno analizo termičnih fluktuacij sta razviva Milner in Safran [6]. Njune izpeljave apliciramo tako na opazovanje tridimenzionalnih oblik veziklov, ki jih pridelamo npr. iz računalniških simulacij Monte Carlo [10] ali na obdelavo slik pridobljenih z uporabo kamere priključene na fazno–kontrastni mikroskop. Pri slikah z mikroskopa, opazujemo le ekvatorialni presek vezikla in uporabimo dodatno statistično obdelavo oblik. Teoretični model Milnerja in Safrana za določanje elastičnih lastnosti bioloških membran z analizo njihovih termičnih fluktuacij [6] temelji na Helfrichovem modelu upogibne energije membrane [11] in vsebuje implicitno predpostavko, da pri termičnih fluktuacijah lipidne dvojne plasti upogibna in natezna deformacija membrane nista sklopljeni in lahko uporabimo približek t.i. povprečnega polja [12]. Rezultat dela Milnerja in Safrana je sistem enačb, ki povezuje vrste koeficientov krogelnih funkcij z upogibno konstanto membrane 2 |um = l | 1 kT . Kc (l − 1)(l + 2)(σ̄ + l(l + 1)) V enačbi je T absolutna temperatura, k Boltzmannova konstanta, Kc upogibna konstanta membrane, σ̄ povprečna lateralna napetost in um l koeficienti v razvoju oblike membrane po krogelnih funkcijah stopnje l in reda m. Stopnja krogelnih funkcij l v zgornji enačbi mora biti večja od 1 (l > 1), red m pa je znotraj intervala [−l, l] ki ne podpirajo več kanalov osvetlitve. Tak primer je bil mikroskop Nikon Eclipse TE2000-S, za katerega smo načrtali in izdelali modul, ki je mikroskop razširil za dodaten kanal osvetlitve. Nanj smo poleg obstoječe osvetlitve s halogensko žarnico pritrdili nosilec za dodatno stroboskopsko luč. Uporabljen sistem stroboskopske osvetlitve podjetja Hamamatsu je sestavljen iz 4 modulov: stroboskopske luči L7684 namešceni v montažno-hladilni enoti, krmilnika stroboskopske luči C6096, zunanje visokonapetostne kondenzatorske baterije E7289. Dodatno smo uporabili običajni stikalni napajalnik za pretvorbo napetosti 230 V na 24 V z največjo tokovno zmogljivostjo 3 A in elektroniko za računalniško krmiljenje in Z 2π 1 r∗ (π/2, ϕ+γ, t)r(π/2, ϕ+γ, t)dϕ , sinhronizacijo stroboskopske luči s kamero na osnovi raζ(γ, t) = 2π 0 zvojnega sistema Arduino (slika 1). Tako izboljšan sistem osvetlitve vzorca s stroboskopČasovno povprečje (povprečje prek večih slik posa- sko lučjo omogoča zajem ostrejših posnetkov, saj namemeznega vezikla) avtokorelacijske funkcije lahko pove- sto običajnega integracijskega časa kamere, sliko zajažemo s koeficienti krogelnih funkcij ul preko zveze memo le v času trajanja svetlobnega impulza stroboskopske žarnice. Zaradi manj zabrisanih slik zaradi termičnih X 2l + 1 fluktuacij lahko natančneje določimo upogibno konstanto ζ(γ) = |ul |2 Pl (cos(γ)) , membrane. Enostaven uporabniški vmesnik je pripomo4π l ček, ki avtomatizirano krmili stroboskopsko osvetlitev, kjer v izrazu nastopajo Legendrovi polinomi Pl (cos(γ)). medtem ko se lahko izvajalec meritev osredotoči na “loParameter l je stopnja polinoma, in ima enako vrednost vljenje” vezikla v vidnem polju mikroskopa. kot stopnja krogelnih funkcij. Upogibno konstanto dobimo enako kot v primeru simulacij z zvezo stopnje kro- 2 Metode izdelave gelnih funkcij in koeficientov krogelnih funkcij Za izdelavo sestavnih delov modula smo se morali poslužiti različnih načinov obdelave materiala t.i. aditivnih in subtraktivnih metod. Pri aditivnih metodah material kT 1 2l + 1 |ul |2 = . dodajamo končnemu modelu (izdelku), v tem ko pri sub4π Kc (l − 1)(l + 2)(σ̄ + l(l + 1)) traktivnih metodah material odvzemamo. Med aditivne Za dosego natančnejših rezultatov potrebujemo ostre metode spada 3D tisk, medtem ko pod izraz substraktivne posnetke vezikla. S tem dobimo uporabne rezultate tudi metode uvrščamo rezkanje, struženje, brušenje ... do stopnje l = 21. V prispevku bomo predstavili postopek izdelave stro- 2.1 Metoda 3D Tiska boskopske osvetlitve vzorca, ki vsebuje kvazisferične or- Pod izraz “3D tisk” uvrščamo različne tehnologije dojaške fosfolipidne vezikle (angl. giant unilamellar vesicle dajanja materiala. Med najbolj poznanimi metodami se ali GUV), ki je del sistem za analizo termičnih fluktuacij s uvrščata metoda “Fused deposition Modelling” ali FDM faznokontrastnim mikroskopom. Končni cilj tega razvoja in “Stereolitografija” ali SLA. FDM 3D tiskalnik deluje tako, da segreta kovinska je celostno računalniško krmiljeno eksperimentalno okolje primerno za raziskovalce s področja bioloških znano- glava ekstruderja stali plastiko v filamentu in jo naloži v sti. Predstavljena rešitev je uporabna tudi za mikroskope, [6]. Predeterminiran sistem enačb uporabimo za izračun najboljšega prileganja parametrov Kc in σ̄. Iz slik ekvatorialnega preseka vezikla, uporabljamo algoritem, ki izračuna upogibno konstanto Kc . Najprej sledimo robu vezikla in določimo lokalni radij v ekvatorialni ravnini R(π/2, ϕ, t), ki je odvisnen od kota ϕ zaradi nepravilne oblike vezikla. V nadaljevanju izračunamo relativen odmik r(π/2, ϕ, t) vezikla od polmera R0 , ki bi ga imel krog z enako površino kot ekvatorialni presek vezikla ter izračunamo avtokorelacijo relativnega odmika ζ(γ, t) po kotu γ. Slika 1: Električna blok shema aplikacije 424 plasteh tankih kolobarjev na model. Mobilna miza se premika v dveh ali treh oseh in s tem omogoča oblikovanje strukture. Princip delovanja SLA tiskalnika je precej drugačen kot pri FDM tiskalniku. Sestavljen je iz visoko-resolucijskega LCD ekrana z UV osvetlitvijo, ki osvetljuje fotoobčutljivo tekočino, katera se strdi ko nanjo padejo UV žarki. Mobilna miza se dviguje ter spušča, pravokotno na LCD zaslon plast za plastjo dokler ne dobimo končnega izdelka. Prednost SLA tiskalnika je ta, da kvaliteto tiska določa visoka resolucija LCD zaslona, v tem ko kvaliteto tiska pri FDM tiskalniku določajo koračni motorji, ohlapnost vodil in sam korak koračnih motorjev. SLA tiskalniki so počasnejši in izdelki so cenovno dražji kot pri FDM tiskalnikih. Večina plastičnih sestavnih delov je bila izdelana na FDM tiskalniku, izjema je bilo le držalo za ogledlo, kjer je bila potrebna precizna izdelava, zaradi kompleksne izvedbe. 2.2 Metoda CNC Rezkanja Glavna prednost aditivnih metod je enostavna izdelava kompleksnejših oz. nemogočih modelov za subtraktivne metode kot so rezkanje oz. struženje. FDM in SLA tiskalniki imajo žal omejen izbor materialov za tiskanje. Pri našem modulu je bilo bistveno togo, močno, nosilno ogrodje in to je bilo težko doseženo z PLA oz. ABS 3D tiskano plastiko, zato smo se odločili za alumij. Obdelovali smo ga z CNC ali “Computer numerical control ” rezkarjem, ki deluje tako da vrteča se glava z vpetim rezkarjem potuje po zastavljeni konturi in z rezkanjem odstranjuje material. Konturo zgenerira CAM ali “Computer aided manufacturing” program in jo zakodira v Gkodo, primerno za CNC rezkar. 3 Slika 2: 3D model modula. Modul postavimo na vhod osvetlive mikroskopa (sprednji del). Z zadnje strani priključimo obstoječo halogensko osvetlitev, z zgornje strani pa ima modul integrirano stroboskopsko osvetlitev. Z izvlečnim zrcalom izbiramo tip osvetlitve, s katerim želimo osvetljevati vzorec. Za prenos 3D modelov vseh alumijastih komponent v proizvodnjo smo uporabili program HSM Inventor 2018, podjetja Autodesk. V program smo uvozili 3D model želenega modela, povedali hitrosti obdelave, hitrost vrtenja rezkarja in debelino rezkarja. Nato smo označili konture po katerih smo želeli da se rezkar premika. Program je nato zgeneriral G-kodo, ki smo jo naložili na CNC rezkar. Pri obdelavi smo morali rezkar konstantno hladiti in podmazovati, da se ta nebi zlomil. Ko smo imeli vse dele izdelane smo jih sestavili v celoto in montirali na stojalo mikroskopa. Načrtovanje in izdelovanje Za načrtovanje in izdelavo 3D modela smo uporabili programsko opremo Solidworks 2021 podjetja Dassault Systemes. Na Sliki 2 je prikazan 3D pogled na sestavljen stroboskopski osvetljevalni modul. Princip delovanja modula je da lahko s pomočjo ogledala, ki je pozicionirano 45°na osnovnico; določamo kakšen vir je vklopjen. Dva vira,ki jih uporabljamo sta halogenska žarnica; za kontuinoirano delovanje in stroboskop; za pulzno delovanje. Stroboskopu je bila dodana še zbiralna in koliminarna leča za čim večjo efektivnost padle svetlobe na naš objekt (celico). Notranjost modula in držalo modula je natisnjeno iz ABS plastike, ki je odpornejša na višje temperature. Pri načrtovanju modula smo upoštevali, da je največja dodatna obremenitev mikroskopovega stojala 5 kg. Končna izvedenka modula skupaj s stroboskopsko lučjo je tehtala okrog 3kg. Cilinder, ki je pritrjen na čelni plošči je bil del luči ki je predhodno bila vir osvetlitve mikroskopa. Ko je bil celoten fantom načrtovan smo lahko začeli z izdelavo sestavnih delov. Za 3D natisnjene dele smo generirali STL model, za katerega je računalnik avtomatsko generiral Gkodo. 425 Slika 3: Modul pritrjen na mikroskop 4 Razprava in zaključek Literatura Z uporabo metode 3D tiskanja in CNC obdelave smo izdelali modul za zajem ostrejših posnetkov. Uspešno smo zajeli fotografije in generirali video premikov celice vidne na Sliki 4. Sekvenca štirih fotografij prikazuje gibanje orjaškega fosfolipidnega vezikla (oz. njegov ekvatorialni presek) v vidnem polju faznokontrastnega mikroskopa pri 100-kratni povečavi. Fotografije so zajete znotraj intervala 2 s. Na vsaki izmed fotografij je razvidna trenutna oblika vezikla, vključno z odstopanji od idealne krožne oblike ekvatorialnega preseka. Fotografije služijo kot vhodni podatek v algoritem za zaznavanje konture in izračun Fourierove transformacije oblike ter nadaljno spektralno analizo. Za občutek časovne dimenzije je na sliki (na vsaki fotografiji, spodaj desno) vidna tudi bakterija, ki se je naključno prikradla v vidno polje mikroskopa. Bakterija se giblje hitreje kot vezikel, vendar je slučajno ob trenutkih zajema slike ostala približno na istem mestu. [1] B. Alberts, A. Johnson, J. Lewis, M. r. Raff, K. Roberts, and P. Walter, Molecular Biology of the Cell. Garland Science, 4 ed., 2002. [2] D. Boal, Mechanics of the Cell. Cambridge Univ Pr, 2002. [3] R. Phillips, J. Kondev, J. Theriot, N. Orme, and H. . Garcia, Physical biology of the cell. Garland Science New York, 2009. [4] L. Vodovnik, D. Miklavčič, and T. Kotnik, Biološki sistemi. Ljubljana: Založba FE in FRI, 1998. [5] G. M. Cooper, The Cell - A Molecular Approach 2nd Edition. Sunderland (MA): Sinauer Associates, 2 ed., 2000. [6] S. T. Milner and S. A. Safran, “Dynamical fluctuations of droplet microemulsions and vesicles,” Physical Review A, vol. 36, pp. 4371–4379, Nov 1987. [7] P. Meleard, C. Gerbeaud, T. Pott, L. FernandezPuente, I. Bivas, M. Mitov, J. Dufourcq, and P. Bothorel, “Bending elasticities of model membranes: influences of temperature and sterol content,” Biophysical journal, vol. 72, no. 6, pp. 2616–2629, 1997. [8] J. Pécréaux, H.-G. Döbereiner, J. Prost, J.-F. Joanny, and P. Bassereau, “Refined contour analysis of giant unilamellar vesicles,” The European Physical Journal E: Soft Matter and Biological Physics, vol. 13, no. 3, pp. 277–290, 2004. [9] P. Usenik, T. Vrtovec, F. Pernuš, and B. Likar, “Automated tracking and analysis of phospholipid vesicle contours in phase contrast microscopy images,” Medical and Biological Engineering and Computing, pp. 1–10, 2011. Slika 4: Zajete slike s pomočjo stroboskopske osvetlitve. Soočili smo se z problemi povezanimi z samo mehaniko (ohlajanje stroboskopa, velikost stroboskopa, masa modula). Problemov bi se izoognili z nakupom hitre kamere, kateri glavni problem je visoka cena. Cenejša, a težje izvedljiva rešitev je načrtovanje LED luči z hitrimi preklopi. Ta bi zagotavljala prilagajanje intezivnost osvetlitve in čas preklopov glede na dane potrebe. Za upravljanje LED luči bi bilo potrebno napisati programsko opremo, v katero bi prek računalnika vnesli čas in moč osvetlitve. Poleg tega bi software potreboval še druge funkcionalnosti, kot so avtomatsko zaznavanje konture membrane in izračun spektralne analize termičnih fluktuacij in tako bi to postalo uporabno orodje za področje raziskovanja delovanja same celice. 426 [10] S. Penič, A. Iglič, I. Bivas, and M. Fošnarič, “Bending elasticity of vesicle membranes studied by Monte Carlo simulations of vesicle thermal shape fluctuations,” Soft Matter, Apr. 2015. [11] W. Helfrich et al., “Elastic properties of lipid bilayers: theory and possible experiments,” Zeitschrift für Naturforschung, vol. 28, no. 11, pp. 693–703, 1973. [12] I. Bivas, “Shape fluctuations of nearly spherical lipid vesicles and emulsion droplets,” Physical Review E, vol. 81, June 2010. Skupki pDNA na celični membrani ob genski elektrotransfekciji z mikrosekundnimi bipolarnimi električnimi pulzi Potočnik Tjaša, Miklavčič Damijan, Maček Lebar Alenka Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: tjasa.potocnik@fe.uni-lj.si pDNA aggregats on cell membrane after gene electrotransfer with microsecond bipolar pulses Abstract. High-frequency microsecond bipolar pulses (HF-BP) have been demonstrated to be efficient for membrane permeabilization and irreversible electroporation. Because of potential of these pulses to be used also in gene therapies, we tested if successful gene electrotransfer (GET) can be achieved. We examined the extent and position of pDNA aggregates formation on the cell membrane using various pDNA concentrations and HF-BP pulses. Results were compared to the results obtained by “classical” monopolar millisecond pulses. We observed that increasing pDNA concentration increases the fluorescence intensity of pDNA aggregates formed on cell membrane. Our results show that both, pDNA concentration and pulse parameters affect pDNA aggregates formation on cell membrane. However, we did not observe any direct correlation between fluorescence intensity of pDNA aggregates formed on cell membrane and GET efficiency. With the highest pDNA concentration overall GET obtained by HF-BP pulse protocol was comparable to overall GET obtained by millisecond monopolar pulse protocol. The interaction of pDNA with cell membrane is only one of several steps and barriers that pDNA has to overcome in order to be expressed. So, for the successful use of HF-BP pulses in GET, it is necessary to investigate the role of the remaining steps and factors. 1 Uvod Kratkotrajna izpostavitev celic zunanjemu električnemu polju dovolj visoke električne poljske jakosti povzroči destabilizacijo celične membrane [1]. Najbolj splošno uveljavljena teorija predpostavlja, da je destabilizacija celične membrane posledica nastanka por, ki ionom in drugim molekulam omogočajo vstop in/ali izstop iz celice [2]. Pojav so zato poimenovali elektroporacija (tudi elektropermeabilizacija) in je ena od univerzalnih metod za vnos različnih molekul v celice in vitro in in vivo pogojih. Elektroporacija se uporablja v medicini, biotehnologiji, pri predelavi hrane in biomase [3, 4, 5]. ERK'2021, Portorož, 427-430 427 Uporaba elektroporacije v medicini obsega predvsem elektrokemoterapijo (ECT), ablacijo tkiva z ireverzibilno elektroporacijo (IRE), transdermalno apliciranje zdravil ter gensko elektrotransfekcijo (GET) v obliki genske terapije in DNA cepljenja. GET izboljša izražanje terapevtskih ali imunogenih proteinov, za katere zapis nosita DNA ali RNA, zato se lahko uporablja za preprečevanje ali zdravljenje številnih vrst raka, bolezni srca in ožilja, avtoimunskih bolezni, specifičnih motenj v delovanju organov ter preprečevanju nalezljivih bolezni [6]. Za uspešno GET običajno dodamo plazmidno DNA (pDNA) v celično okolico pred aplikacijo električnih pulzov. Le-ti imajo dvojno vlogo; omogočijo permeabilizacijo celične membrane in povzročijo elektroforezo pDNA. Negativno nabite molekule pDNA se namreč v električnem polju gibljejo zaradi elektroforetske sile in lahko, v primerjavi s prosto difuzijo, v večjem številu vzpostavijo stik s celično membrano [7]. Majhne molekule DNA (enake ali manjše od 15 baznih parov) lahko vstopijo v celico z elektroforezo. Velike molekule pDNA pa med aplikacijo električnih pulzov tvorijo skupke na celični membrani in po elektropermeabilizaciji vstopijo v celico z endocitozo [8]. Prav zaradi pomembne vloge elektroforeze so se za uspešno GET uveljavili dolgi milisekundni monopolarni pulzi. Zdravljenje tkiv z dolgimi monopolarnimi pulzi povzroča mišične kontrakcije in je boleče, zato je nujna uporaba mišičnih relaksantov in anestezije ter sinhronizacija dovajanja pulzov z elektrokardiogramom [9]. Nedavne študije so pokazale, da je mogoče s kratkimi bipolarnimi električnimi pulzi (0,25 - 5 µs), ki so dovedeni s ponavljalno frekvenco 100 kHz in več ter nastopajo v ponavljajočih se kratkotrajnih vlakih (HFBP), doseči podobno permeabilizacijo celične membrane in vitro [10] kot z dolgimi monopolarnimi električnimi pulzi, pri čemer ne povzročajo mišičnih kontrakcij in bolečin [11]. Rezultati poskusov in vivo so dokazali, da so pulzi HF-BP učinkoviti pri ECT, IRE in GET [11, 12, 13]. V pričujoči študiji smo preverili v kolikšni meri in kje nastajajo skupki pDNA na celični membrani ob uporabi pulzov HF-BP in rezultate primerjali z rezultati uporabe »klasičnih« monopolarnih milisekundnih pulzov. GET smo v okviru HF-BP izvedli s petdesetimi zaporednimi vlaki petdesetih bipolarnih pulzov z 2 µs trajajočo pozitivno in negativno fazo in 2 µs trajajočo pavzo med obema fazama kot tudi pavzo med pulzi. Vlaki so si sledili s frekvenco 1 Hz. Za primerjavo smo izbrali GET z osmimi 5 ms trajajočimi pulzi, ki so si sledili s frekvenco 1 Hz. 2 Materiali in metode 2.1 Celice V študiji smo uporabili celično linijo ovarijskih celic kitajskega hrčka (CHO). Celice smo gojili po že opisanem protokolu [13]. V eksperimentih smo uporabili celice v eksponentni fazi rasti. 1 × 105 celic v rastnem mediju smo nanesli v posodico (Lab-Tek, Nunc, TermoFisher Scientifc, ZDA) in jih 8 ur pustili v inkubatorju pri 37°C v vlažni atmosferi s 5% CO2. Pred izpostavitvijo električnim pulzom smo rastni medij zamenjali s svežim medijem z ustrezno koncentracijo plazmida. 2.2 celične membrane. Za vsak protokol električnih pulzov smo analizirali vsaj tri slike. 3 Rezultati in razprava Analiza fluorescence vzdolž membrane celic, ki so bile izpostavljene monopolarnim milisekundnim pulzom, je pokazala povečano intenziteto fluorescence le na eni strani celice (slika 1). Skupki pDNA so torej nastali zgolj na tisti strani celice, ki je bila med dovajanjem električnih pulzov obrnjena proti katodi. Intenziteta fluorescence je znatno odvisna od koncentracije plazmida v eksperimentalnem vzorcu. V primeru, ko je znašala uporabljena koncentracija plazmida 500 g/ml, je vrh intenzitete fluorescence skoraj trikrat višji kot v primeru, ko je uporabljena koncentracija plazmida znašala 20 g/ml (slika 2). Plazmid GET smo izvedli s plazmidom pEGFP-N1 (Clontech Laboratories Inc., ZDA), ki nosi zapis za zeleni fluorescentni protein (GFP). Uporabili smo dve koncentraciji plazmida; 20 g/ml in 500 g/ml. Da bi lahko opazovali skupke pDNA na celični membrani smo molekule pDNA obarvali s fluorescentnim barvilom TOTO-1 [14]. 2.3 Električni pulzi V študiji smo uporabili dva protokola električnih pulzov. Kot »klasične« monopolarne milisekundne pulze smo izbrali 8 pulzov s trajanjem 5 ms, ki so si sledili s frekvenco 1 Hz. Protokol HF-BP pa je sestavljalo petdeset zaporednih vlakov petdesetih bipolarnih pulzov z 2 µs trajajočo pozitivno in negativno fazo in 2 µs trajajočo pavzo med obema fazama kot tudi pavzo med pulzi. Vlaki so si sledili s frekvenco 1 Hz. Za generiranje pulzov smo uporabili laboratorijski prototip, razvit v Laboratoriju za biokibernetiko Fakultete za elektrotehniko Univerze v Ljubljani [10]. Delovanje naprave smo med eksperimenti spremljali z osciloskopom (Wavesurfer 422, 200 MHz, LeCroy, ZDA). Pulze smo dovedli z uporabo dveh vzporednih žičnih elektrod iz zlitine platine in iridija, ki sta na razdalji 4 mm nalegali na dno posodice s celicami. Velikost jakosti električnega polja je v primeru milisekundnih pulzov znašala 0,5 kV/cm, v primeru pulzov HF-BP pa 1,25 kV/cm. 2.4 Analiza rezultatov Stik pDNA s celično membrano smo opazovali s fluorescenčnim mikroskopom (Zeiss 200, Axiovert, Nemčija) ob uporabi oljnega objektiva s 100x povečavo. Slike smo posneli s programom MetaMorph (Visitron, Nemčija) in analizirali intenzivnost fluorescence vzdolž 428 Slika 1. Stik pDNA z membrano celic, ki so bile izpostavljene monopolarnim milisekundnim pulzom. Slika celic v svetlobnem polju (levo) in slika celic pod fluorescenco (desno). Koncentracija plazmida v vzorcu je bila 20 g/ml (A) oziroma 500 g/ml (B). Oznaka  označuje polarni kot, s puščico pa je označena smer meritve intenzitete fluorescence. stik med celično membrano in pDNA, sledi prehod pDNA skozi celično membrano in transport pDNA po citoplazmi do jedra. Da pride do njene ekspresije, mora pDNA vstopiti v jedro. Stik pDNA s celično membrano, ki smo ga opazovali v pričujoči študiji, je le eden od potrebnih korakov, zato intenzivnejša fluorescenca skupkov pDNA še ne pomeni učinkovitejše GET. K razlikam v učinkovitosti, poleg zapisanih korakov, zagotovo prispevajo tudi drugi dejavniki, kot so stabilnost pDNA v citoplazmi, njen transport v perinuklearno regijo in uspešno prehajanje jedrne ovojnice [8]. Slika 2. Intenziteta fluorescence vzdolž membrane ene od celic izpostavljene monopolarnim milisekundnim pulzom v primeru, ko je znašala koncentracija plazmida v vzorcu 20 g/ml (modra barva) oziroma 500 g/ml (oranžna barva). S sivima barvama je označena intenziteta fluorescence ozadja; 20 g/ml (svetlo siva barva), 500 g/ml (temno siva barva). Celice, ki so bile izpostavljene pulzom HF-BP, so izkazovale povečano intenziteto fluorescence membrane na dveh straneh celice. To pomeni, da so skupki pDNA nastali na obeh – proti elektrodam obrnjenih straneh celice (slika 3). V primeru, ko je bila uporabljena koncentracija plazmida 20 g/ml, so skupki komaj opazni, a oba vrha intenzitete fluorescence se razlikujeta od intenzitete fluorescence ozadja (slika 4). V primeru, ko je bila uporabljena koncentracija plazmida 500 g/ml, je fluorescenca skupkov intenzivnejša. Vrha v intenziteti fluorescence sta približno sedemkrat višja kot v primeru, ko je uporabljena koncentracija plazmida znašala 20 g/ml (slika 4). Opazovanje skupkov pDNA na celični membrani je pokazalo, da višja koncentracija pDNA povzroči bolj intenzivno fluorescenco skupkov pDNA, ki smo jo obarvali s fluorescentnim barvilom TOTO-1. Intenzivnost fluorescence skupkov pDNA pa je odvisna tudi od protokola električnih pulzov. Ko smo uporabili nizko koncentracijo pDNA (20 µg/ml) in celice izpostavili monopolarnim milisekundnim pulzom, je bila intenziteta fluorescence skupkov pDNA skoraj 4krat večja kot v primeru, ko smo celice izpostavili pulzom HF-BP ob visoki koncentraciji pDNA (500 µg/ml). Če primerjamo intenzivnost fluorescence skupkov pDNA ob visoki koncentraciji pDNA (500 µg/ml) je le-ta po pulznem protokolu HF-BP skoraj 10krat manjša v primerjavi z intenzivnostjo fluorescence skupkov pDNA nastalih po protokolu monopolarnih milisekundnih pulzov. Pri nizki koncentraciji pDNA (20 µg/ml) je bila celokupna GET statistično značilno višja, ko smo celice izpostavili monopolarnim milisekundnim pulzom (19 ± 5%) v primerjavi s HF-BP pulzi (4 ± 2%). Pri visoki koncentraciji pDNA (500 µg/ml) pa smo z monopolarnimi milisekundnimi pulzi (40 ± 10%) in HFBP pulzi (34 ± 7%) dosegli primerljivo celokupno GET. Naši rezultati tako kažejo, da ni direktne povezave med intenzivnostjo fluorescence skupkov pDNA na celični membrani in uspešnostjo GET. Glede na obstoječe znanje je za uspešno GET potrebnih več korakov. Prvi je vsekakor uspešna elektropermeabilizacija celične membrane, naslednji 429 Slika 3. Stik pDNA z membrano celic, ki so bile izpostavljene pulzom HF-BP. Slika celic v svetlobnem polju (levo) in slika celic pod fluorescenco (desno). Koncentracija plazmida v vzorcu je bila 20 g/ml (A) oziroma 500 g/ml (B). Slika 4. Intenziteta fluorescence vzdolž membrane ene od celic izpostavljene pulzom HF-BP v primeru, ko je znašala koncentracija plazmida v vzorcu 20 g/ml (modra barva) oziroma 500 g/ml (oranžna barva). S sivima barvama je označena intenziteta fluorescence ozadja; 20 g/ml (svetlo siva barva), 500 g/ml (temno siva barva). 4 Zaključek V pričujoči študiji smo pokazali, da so skupki pDNA na celični membrani prisotni tudi ob GET s pulzi HF-BP. Pri GET s HF-BP pulzi nastanejo skupki pDNA na obeh proti elektrodam obrnjenih straneh celice. Višja koncentracija pDNA povzroči bolj intenzivno fluorescenco skupkov pDNA. Na intenzivnost fluorescence skupkov pDNA vplivajo tudi parametri električnih pulzov. Intenzivnost fluorescence skupkov pDNA po GET z izbrano koncentracijo pDNA s protokolom HF-BP je mnogo manjša od intenzivnost fluorescence po GET s protokolom monopolarnih milisekundnih pulzov. Toda stik pDNA s celično membrano je le eden od korakov GET, zato je za uspešno uporabo pulzov HF-BP potrebno raziskati tudi potek preostalih korakov. Zahvala Raziskavo je sofinancirala Javna agencija za raziskovalno dejavnost RS (ARRS) [temeljno raziskovalno financiranje št. P2-0249 in financiranje za mladega raziskovalca TP]. Poskusi so bili izvedeni v okviru Infrastrukturnega centra: Mreža raziskovalnih infrastrukturnih centrov Univerze v Ljubljani (MRIC UL IP-0510). Literatura [1] T. Kotnik, L. Rems, M. Tarek, D. Miklavcic, Membrane Electroporation and Electropermeabilization: Mechanisms and Models, Annu. Rev. Biophys. 48 (2019) 63–91. [2] J.C. Weaver, Y.A. Chizmadzhev, Theory of electroporation: A review, Bioelectrochemistry Bioenerg. 41 (1996) 135–160. [3] M.L. Yarmush, A. Golberg, G. Serša, T. Kotnik, D. Miklavčič, Electroporation-based technologies for medicine: Principles, applications, and challenges, Annu. Rev. Biomed. Eng. 16 (2014) 295–320. [4] T. Kotnik, W. Frey, M. Sack, S. Haberl Meglič, M. Peterka, D. Miklavčič, Electroporation-based applications in biotechnology, Trends Biotechnol. 33 (2015) 480–488. [5] S. Mahnič-Kalamiza, E. Vorobiev, D. Miklavčič, Electroporation in Food Processing and Biorefinery, J. Membr. Biol. 247 (2014) 1279–1304. [6] L. Lambricht, A. Lopes, S. Kos, G. Sersa, V. Préat, G. Vandermeulen, Clinical potential of electroporation for gene therapy and DNA vaccine delivery, Expert Opin. Drug Deliv. 13 (2016) 295–310. [7] C. Faurie, M. Rebersek, M. Golzio, M. Kanduser, J.M. Escoffre, M. Pavlin, J. Teissie, D. Miklavcic, M.P. Rols, Electro-mediated gene transfer and expression are controlled by the life-time of DNA/membrane complex formation, J. Gene Med. 12 (2010) 117–125. 430 [8] C. Rosazza, S. Haberl Meglic, A. Zumbusch, M.-P. Rols, D. Miklavcic, Gene Electrotransfer: A Mechanistic Perspective, Curr. Gene Ther. 16 (2016) 98–129. [9] B. Mali, V. Gorjup, I. Edhemovic, E. Brecelj, M. Cemazar, G. Sersa, B. Strazisar, D. Miklavcic, T. Jarm, Electrochemotherapy of colorectal liver metastases - An observational study of its effects on the electrocardiogram, Biomed. Eng. Online, 14 (2015). [10] Sweeney, M. Reberšek, J. Dermol, L. Rems, D. Miklavčič, R. V. Davalos, Quantification of cell membrane permeability induced by monopolar and highfrequency bipolar bursts of electrical pulses, Biochim. Biophys. Acta - Biomembr. 1858 (2016) 2689–2698. [11] A. Sugrue, V. Vaidya, C. Witt, C. V. DeSimone, O. Yasin, E. Maor, A.M. Killu, S. Kapa, C.J. McLeod, D. Miklavčič, S.J. Asirvatham, Irreversible electroporation for catheter-based cardiac ablation: a systematic review of the preclinical experience, J. Interv. Card. Electrophysiol. 55 (2019) 251–265.D.C. [12] M. Scuderi, M. Rebersek, D. Miklavcic, J. Dermol-Cerne, The use of high-frequency short bipolar pulses in cisplatin electrochemotherapy in vitro, Radiol. Oncol., 53 (2019), 194-205. [13] T. Potočnik, D. Miklavčič, A Maček Lebar. Gene transfer by electroporation with high frequency bipolar pulses in vitro, Bioelectrochemistry 140 (2021) 1567-5394. [14] M. Golzio, J. Teissié, M.P. Rols, Direct visualization at the single-cell level ofelectrically mediated gene delivery, Proc. Natl. Acad. Sci. U. S. A. 99 (2002)1292–1297. Didaktika Didactics Povezovanje tehniškega risanja, 3D modeliranja in 3D tiskanja za namen posodobitve OŠ tehniškega izobraževanja Špela Kosec, Janez Jamšek Oddelek za fiziko in tehniko, Univerza v Ljubljani, Pedagoška fakulteta, Kardeljeva pl. 16, 1000 Ljubljana E-pošta: janez.jamsek@pef.uni-lj.si From technical drawing, 3D modeling to 3D printing for the purpose of primary engineering education Abstract. Paper presents a proposal of integrating contemporary technologies for technical drawing software, 3D modelling and 3D printing, for the purpose of primary school compulsory subject Design and technology update and its relation to the engineering vertical education up to the university level. Technical drawing and technical documentation are curriculum topics in higher primary school grades. Students form 6th to 8th grade learn from basics of technical drawing to Monge and isometric projection. They are presenting 3D objects with drawings. Manual drawing that is predominant in primary school has been replaced by drawing software tools in engineering practise. Teachers still use obsolete drawing software that has left only demonstration abilities. New drawing tools enable 3D modelling and technical drawings as its automatic output. Using 3D printer, we can print the model and use it as a prototype or product. For this purpose, Solid Edge drawing tool is recommended and used on examples for each grade (6th-8th) and broader for school activity days and further connection to higher level of education. Our main aim is to motive and encourage technology teachers regardless the education level, to use software tools to model and 3D print products in their teaching/learning process. 1 Uvod Tehniška dokumentacija je snov, ki se v osnovni šoli obravnava v vseh letih predmeta Tehnika in tehnologija (TIT). Prav tako se tehniška dokumentacija navezuje na izbirne predmete Obdelava gradiv in Risanje v geometriji in tehniki. V učnem načrtu Tehnike in tehnologije [1] je uporaba programskih orodij omenjena tudi v vsebinskem sklopu računalnik in krmiljenje ter računalniško podprta proizvodnja. Od 6. do 8. razreda se snov postopno nadgrajuje. Učenci se v 6. razredu seznanijo z risanjem likov po pravilih tehniškega risanja, spoznajo različne tipe črt in kotiranje dimenzij predmeta. V 7. razredu preidejo na risanje tridimenzionalnih (3D) predmetov, ki jih še vedno prikazujejo z dvodimenzionalno (2D) risbo. Obravnava se večpogledna projekcija, pri kateri učenci 3D predmet prikažejo s tremi projekcijami osnovnih pogledov (tloris, naris, stranski ris) na 2D površino. V 8. razredu se seznanijo z aksonometričnimi projekcijami, ERK'2021, Portorož, 432-435 432 natančneje z izometrično projekcijo in s tem s 3D predstavnostjo predmeta. V učnem načrtu je predvideno spoznavanje tehniškega risanja najprej preko ročnega risanja, nato pa nadgradnja z uporabo grafičnih računalniških orodij [1]. Ročno risanje je po časovnem deležu v prevladi. Pri uporabi programskih orodij prevladuje risanje projekcij, kjer se tipično izvajajo ročno izvedeni primeri predmetov. Učitelji modeliranje redko izvajajo. Od izvedenih primerov pa le redki v zaključni fazi vodijo do oprijemljivega izdelka, ki bi ga lahko izdelali z danes že razširjenim 3D tiskom [2]. Čeprav je bil prvi odprtokodni DIY 3D tiskalnik, predstavljen že leta 2005, že primeren za osnovnošolsko izobraževanje [3], ni zaznati pričakovanega napredka v posodobitvi učnega načrta Tehnike in tehnologije in/ali njegove širše implementacije v osnovnošolskem izobraževanju. Prevladujoče v uporabi je še vedno programsko orodje, ciciCAD [4]. Čeprav je bilo ciljno razvito za izobraževanje, omogoča le prehod iz ročnega na računalniško risanje. Zaradi zastarelosti orodja se je kot najpogostejši substitut pojavilo programsko orodje Google SketchUp. To je namenjeno 3D modeliranju vendar z njim ni mogoče izdelati tehniške dokumentacije v skladu s standardi tehniškega risanja. V zadnjih letih je postalo dodatno še plačljivo. Na razpolago je le še preprostejša spletna različica katere težava nastopi pri uporabi v učilnici. Zaradi preobremenjenosti omrežja je njena odzivnost počasna in za uporabo neprimerna. V prispevku podajamo celovit koncept, ki nadgrajuje ročno tehniško risanje, vpeljuje modeliranje in ga osmisli z uporabo 3D tiska. Izmed obstoječih programskih orodij smo kriterijsko izbrali najbolj ciljno zahtevanega z vidika upoštevanja standardov tehniškega risanja in primernosti za učence. S tem povežemo načrtovanje novih izdelkov z uporabo sodobnega programskega orodja in sodobno tehnologijo izdelave, ki lahko nastopa samostojno ali kot komplementarno. Namen prispevka je motivacijski za posodobitev in aktualizacijo ne le osnovnošolskega tehniškega izobraževanja temveč tudi srednješolskega in visokošolskega, saj bi s tem omogočili, zagotovili in motivirali tudi učinkovitejši prehod znanja med različnimi izobraževalnimi nivoji. 2 Tehniško risanje v osnovni šoli Učenci v osnovni šoli spoznajo tehniško dokumentacijo pri pouku Tehnike in tehnologije [1]. Rišejo jo tako ročno (prevladujoči način), kot tudi s programskimi orodji. Med programskimi orodji še vedno prevladuje uporaba kombinacije programskega orodja ciciCAD, ki je bilo ciljno razvito za poučevanje v osnovnih šolah [4], in Google SketchUp [5, 6]. CiciCAD omogoča le 2D risanje, ki je dodatno časovno zamudno. Za risanje enostavnega lika je potrebno nadpovprečno veliko klikov. Uporabniku ponuja le malo pomoči [5, 7]. Dodatno je bila izvedena njegova zadnja posodobitev leta 2000. Učitelji tehnike zato posegajo po drugih programskih orodjih [8]. Analiza primernosti nekaterih izmed njih je narejena v [8, 9]. Ena izmed bistvenih zahtev programskih orodij za uporabo v izobraževanju je njegova dostopnost. Programska orodja se ves čas nadgrajujejo in razvijajo ter prehajajo iz prosto dostopnih v plačljive. Eno takšnih orodij je tudi Google SketchUp. Omogoča modeliranje in izvoz datoteke za 3D tisk s široko podporo pomoči uporabniku. Njegova slabost je, da ne omogoča ustvarjanja in izvažanja tehniških risb za potrebe tehniške dokumentacije kot izhoda načrtovanja izdelka. Dodatno imamo pri uporabi težave že z izborom tipa črte, ki je osnovna zahteva za tehniško risanje [8]. Samostojna uporaba omenjenih programskih orodij ne pokriva potreb poučevanja tehniške dokumentacije. Učitelj je iz različnih razlogov primoran k kombiniranju dveh ali večih programskih orodij, kar vodi v didaktično dilemo. Eno izmed programskih orodij, ki je trajnostno izobraževalno naravnano je Solid Edge [10]. Učencem in učiteljem je dostopno brezplačno. V evalvaciji različnih programskih orodij za uporabo v osnovnošolskem tehniškem izobraževanju po 18. relevantnih kriterijih [7, 8], se programsko orodje Solid Edge izkaže kot najprimernejše. Kriteriji vrednotenja se nanašajo na dostopnost programskega orodja, ponujeno pomoč za samoučenje, izbor različnih tipov črt, ukazov za kotiranje, likov za risanje in čas risanja ter modeliranja predmeta. Pri vseh kriterijih se Solid Edge rangira z najmanj 4 od 5 možnih točk [7]. Izdelan je zelo samointuitivno. Kljub temu, da ne obstaja njegova različica v slovenščini, jezik ne predstavlja ovire. Uporabniku ponuja veliko pomoči. Ukazi za risanje so prikazani slikovno. Zahtevnejši ukazi poleg besednih navodil v angleščini vsebujejo še animacijo uporabe. Omogoča 2D-risanje in modeliranje. Orodje je brezplačno razpoložljivo učiteljem in učencem/ dijakom/ študentom za celten čas študija, kar je velika prednost pred ostalimi konkurenčnimi programi. Solid Edge kot profesionalno orodje za tehniško risanje je primerno in uporabno za celotno izobraževalno vertikalo od osnovnošolskega tehniškega risanja do visokošolskega nivoja. Orodje lahko funkcijsko po željah prilagodimo [7]. Za namen 2D risanja v 6. razredu ga lahko s funkcijsko prilagoditvijo poenostavimo na uporabo le osnovnih potrebnih funkcij. To omogoča učencem njegovo enostavno uporabo. 3 Od tehniškega risanja do 3D modeliranja V poglavju podajamo predlog sistematičnega uvajanja programskega orodja Solid Edge za uporabo pri tehniškem risanju v okviru osnovnošolskega obveznega predmeta TIT. 6. razred. Učenci nadgrajujejo znanje od tehniške skice z nižjih razredov in spoznajo 2D risanje. Uvajajo se v risanje in spoznavanje tehniške dokumentacije, zato jim orodje predstavimo kot risarsko okolje za 2D risanje. Z učenci rišemo zahtevnejše predmete, kot bi jih risali ročno. Omejimo se na ploskovne predmete, ki zajemajo vse osnovne like (pravokotnik, trikotnik, krog). Primer takšnega predmeta, hišnega ključa, ki pokriva vse zahteve učnega načrta [1] za risanje in kotiranje tehniške dokumentacije je prikazan na sliki 1. Učenci lahko enostavno izdelajo pripadajočo delavniško risbo. 7. razred. V sedmem razredu učenci preidejo na 3D predstavnost in spoznajo večpogledno projekcijo, za kar je potrebna obravnava 3D predmeta. Pri prehodu iz ročnega risanja na uporabo programskega orodja lahko slednje smiselno povežemo s temo umetnih snovi in tehnološkim postopkom tiskanja s 3D tiskalnikom. Risarsko okolje za 2D risanje nadgradimo z okoljem za 3D modeliranje. Pri modeliranju je pomembna dobra predstavljivost v (virtualnem) prostoru, kar je za učence zahtevno. Predstavljivost v virtualnem prostoru izboljšamo z možnostjo spreminjanja pogleda na objekt [6]. Modeliranje v programskem orodju je enostavnejše in hitrejše kot ročno risanje, prav tako tudi spreminjanje in popravljanje modela (risb), kar je velika prednost programskih orodij [7]. Za modeliranje predmeta ne potrebujemo znanja iz izometrične projekcije, saj pogled na model prilagodimo po svojih željah, pravila risanja (na primer elipsast izgled kroga v izometričnem pogledu) pa so avtomatsko upoštevana s strani programskega orodja. Ko imamo izdelan model, učenci spoznajo, da nam Solid Edge ponuja možnost avtomatskega ustvarjanja večpogledne pravokotne projekcije, kar nam prihrani čas risanja. Slika 1. Hišni ključ. 433 (a) (a) (b) Slika 2. (a) Sestavna risba ohišja svetilke in (b) model ohišja svetilke. Do ciljne, sestavne risbe pridemo, tako da le uvozimo v vnaprej pripravljen okvir z glavo risbe (pripravi učitelj ali učenci sami). Programsko orodje samodejno ponudi posamezne osnovne poglede večpredstavne projekcije, ki jih le odložimo v tehniško risbo, slika 2 (a). Več pogledno pravokotno projekcijo je nato potrebno le še kotirati in izvoziti kot datoteko *.pdf. Za kotiranje je dodan razdelek v orodni vrstici. Pravila kotiranja so avtomatsko upoštevana. S 3D tiskom lahko izdelani model še natisnemo. Kot končni produkt lahko dobimo tehniško dokumentacijo izdelka in oprijemljiv predmet. Koncept modeliranja je na takšen način za učence lažje predstavljiv saj model predmeta v virtualnem prostoru udejanjimo v tiskani izdelek, ki ga lahko primejo v roke in obračajo kot v virtualnem prostoru, slika 2(b). Za izbiro izdelka v 7. razredu je smiselno izbirati med tistimi s katerim lahko povežemo čim več obravnavane snovi. Sestavna risba obsega tudi kosovnico zato je smiselno, da je izbrani izdelek sestavljen iz vsaj dveh pozicij. Primer takšnega izdelka je svetilka, slika 2 (b) [7]. Z modeliranjem in 3D-tiskanjem bi izdelali ohišje za svetilko. Naknadno bi ohišju dodali še preprost električni krog, da bi izdelek dosegel svojo funkcionalnost. S tem bi povezali teme umetnih snovi, tehniške dokumentacije in električnega kroga, ki jih zajema učni načrt v 7. razredu [1]. 8. razred. Učenci spoznajo izometrično projekcijo in s tem 3D predstavitev predmeta/izdelka. Nabor izdelkov, ki jih lahko vključimo je pester. Z učenci lahko izdelamo aktualne, avtentične tehniške ali medpredmetno navezane izdelke do didaktičnih pripomočkov ali izdelkov, s katerimi se navezujemo na obravnavano snov. Na sliki 3 podajamo primer ojničnega mehanizma motorja. Izdelek je v navezavi s temo motorjev z notranjim izgorevanjem in ga dodatno lahko uporabimo kot didaktični pripomoček saj tema sledi po obravnavi izometrične projekcije. Pri izdelkih težimo, da v kompleksnosti presegajo izdelke iz 7. razreda (več sestavnih delov, način spajanja). Podobno kot v primeru sestavne risbe tudi montažne risbe ne rišemo. Ponovno le prenesemo pogled modela v risarsko okolje za 2D risanje in izberemo izometrični pogled. 434 (b) Slika 3. (a) Model ojničnega mehanizema in (b) pripadajoča montažna risba. Programsko orodje ponudi izometrično projekcijo izdelka, ki jo s klikom odložimo na risarsko površino. Modeliranje izdelka je v primerjavi z risanjem neizmerno hitrejše in enostavnejše. V kolikor želimo izdelati popolno tehniško dokumentacijo za izdelek, moramo učencem predstaviti še risarsko okolje ISO Metric Assembly za sestavljanje obeh delov v celoto, ki ga potrebujemo za sestavno ali montažno risbo. Ker pred tem že ustvarimo modele posameznih pozicij, je postopek združitve sestavnih delov in izdelave tehniških risb poenostavljen. Datoteke sestavnih delov uvozimo v risarsko okolje ISO Metric Assembly in z ukazi za združevanje, prestavimo sestavne dele v željen položaj, slika 3(b). 4 Načrtovanje izdelkov z uporabo modeliranja in 3D tiska Za možnost splošnejše in celostno smiselne vključitve orodja v tehniško izobraževanje na osnovnošolski stopnji vstavljamo tehniško risanje v širši koncept (izven predmeta TIT in potencialno izven osnovne šole) načrtovanja izdelkov. Način vključitve je predlagana že v učnem načrtu [1] s projektno nalogo kot strategijo poučevanja. Pri projektni nalogi učenci v fazi predstavitve idej izdelajo, namesto tehniške skice, kot opredmetenje najboljšega osnutka že model v programskem orodju. S tem se lahko vpelje v projektno nalogo tudi koncept prototipa, ki je izpadel zaradi pomanjkanja časa. Preko modela vpeljemo v pouk še 3D-tisk. V nadaljevanju pojasnjujemo modeliranje in konkretiziramo pot do 3D-tiska na v 3. poglavju podanih primerih. Učencem v okviru predfaze načrtovanja ali v fazi dopolnitve znanja (v primeru obstoječega predznanja) najprej na kratko predstavimo programsko orodje za modeliranje, ki jim sledi podaja orodij za risanje, premikanje narisanih elementov in funkcija za dodajanje debeline ter risarsko okolje za modeliranje 3D-objekta (ISO Metric Part). Primere lahko najdete v [7]. Modeliranje. Učenci za primer svetilke sami modelirajo posamezne sestavne dele ohišja svetilke. Ohišje je sestavljeno iz dveh sestavnih delov; pokrova in škatle ohišja, slika 4. Pokrov, slika 4(a), najbolj enostavno narišemo s pomočjo prečnega profila. Profila zaradi modeliranja ne rabimo risati na enak način kot bi risali ročno, črto za črto, temveč ga sestavimo iz treh različnih pravokotnikov. Risanje pravokotnika je hitrejše, saj ga narišemo v enem samem koraku z vnosom dolžin obeh stranic. Profilu dodamo še potrebno debelino, da dobimo 3D-telo ter ga na enem koncu skrajšamo za debelino stene ohišja, da se zarezno-vtično ujema s škatlo ohišja. Na podoben način postopamo pri modeliranju škatle ohišja, slika 4(b). Za lažje delo učencem prestavimo možnost zaklepanja površine, na katero rišemo, s čimer se izognemo težavam z nesklenjeno površino. Če za površino risanja izberemo eno izmed stranic škatle, si s tem olajšamo modeliranje vodil za pokrov. Škatlo prav tako rišemo z liki (pravokotniki), ki jim dodajamo debelino. Izvrtini za stikalo in žarnico izdelamo s krogom in odvzemom materiala. Podobne načine modeliranja omogoča tudi Google SketchUp [6], ki so ga učenci vajeni, vendar v primerjavi s Solid Edge ponuja manj raznovrstnih funkcij. Tehniške risbe izdelka izvozimo (shranimo) kot *.pdf datoteke, kar za učence ni zahtevno. 3D-tisk. V okviru projektne naloge 3D-tisk vključimo v fazo izdelovanja. Solid Edge pred 3Dtiskom ponuja možnost pregleda geometrije modela. Opozori nas na napake, ki se navezujejo na tiskanje (nesklenjene površine, zamike...). Za manjše napake ponuja možnost avtomatskih popravkov. Pred tiskom model smiselno orientiramo, da se izognemo potrebi po podpori pri tiskanju [7]. Za tisk obe ustvarjeni datoteki (pokrov in ohišje) izvozimo kot *.stl ali *.3mf datoteki, ki sta primerni za 3D-tisk. 3D-tisk je danes še časovno dolgotrajen tehnološki postopek, zato lahko ta čas izkoristimo za zaključno fazo projektne naloge kjer evalviramo izvedeno delo in določimo smiselne izboljšave izdelka. Najenostavnejša časovna implementacija modeliranja in 3D-tiska je v okviru tehniškega dne. Čas lahko dodatno racionaliziramo s skupinskim delom, kjer vsaka skupina izdeluje le en sestavni del celote do katere so prišli tekom kriterijskega izbiranja in izboljševanja osnutkov predlogov. Dodatno se izrazi še danes bistven funkcionalni princip kotiranja/modeliranja, ki nadomešča v osnovni/srednji šoli še vedno prevladujoč tehnološki princip. (a) (b) Slika 4. (a) Model pokrova ohišja svetilke in (b) dodajanje vodil škatle ohišja svetilke. 5 Sklep Modeliranje in risanje v programskem orodju je v inženirskem svetu že nadomestilo ročno risanje. Na 435 osnovnošolskem nivoju ne zadoščajo več zgolj programska orodja za demonstracijo zmožnosti izdelovanja risb. Neobhodna je aplikativna možnost uporabe programske opreme s katero lahko učenci uvidijo prednosti napredka tehnologije. Še več v kolikor je le možno je smiselno sodobne tehnologije med seboj dopolnjevati in povezovati, kot na primer dandanes modeliranje, 3D-skeniranje in 3D tisk. Ročno risanje je nujno v začetnih fazah načrtovanja zato ga je potrebno ohranjati in razvijati v učnem načrtu. Postopnost nastajanja risbe korak za korakom je učencem najbližja prav tako pri ročnem risanju urijo fino motoriko in s tem osvajajo tehniško prvino natančnosti. S pojavom osebnih računalnikov in izdelave prvih animacijskih modelov je modeliranje do danes zelo napredovalo in poseglo v vse veje tehnike. Modeliranje že uspešno nadomešča fizično izdelavo prototipov. Potrebno ga je vključevati v izobraževanje že na osnovnošolski stopnji. 3D-tisk odlično opredmeti modeliranje, kar je ključno za predstavljivost učencev. Izzivi, ki ostajajo, so na eni strani motiviranje učencev za modeliranje na za to neprimerni šolski IKT opremi (nezmogljivi procesorji, premajhen delovni pomnilnik...) ob hkratnem majhnemu številu 3Dtiskalnikov (tipično le eden). Na drugi strani je potrebno usposabljanje učiteljev tehnike z novim programskim orodjem/ tehnologijo in vključevanje časovno/ procesorsko potratne tehnologije v učni proces. Literatura [1] A. Papotnik in ostali, Učni načrt - Tehnika in tehnologija (Ljubljana, Ministrstvo za izobraževanje, znanost in šport, Zavod RS za šolstvo, 2011). [2] N. Urbas, 3D tehnologije pri pouku tehnike in tehnologije, dip. delo (Ljubljana, UL-PEF, 2019). [3] E. Sells in ostali, RepRap: The Replicating Rapid Prototyper (Cambridge, Massachutts Institute of Technology, 2007). [4] Prog. orodje ciciCAD [http://www.cicicad.si/]. [5] Prog. orodje Google SketchUp [https://www.sketchup.com]. [6] K. Dolenc, Uporaba programa Google SketchUp za 3D oblikovanje in vizualizacijo v osnovni šoli, diplomsko delo (Maribor, UMB- FNT, 2010). [7] Š. Kosec, Programsko orodje Solid Edge za namene tehniškega risanja v okviru osnovnošolskega tehniškega izobraževanja, magistrsko delo (Ljubljana, UL-PEF, 2021). [8] M. Osolnik, Programska orodja za tehniško risanje v okviru tehnike in tehnologije v 9-ldetni osnovni šoli, diplomsko delo (Ljubljana, UL-PEF, 2008). [9] Projekt pilotne posodobitve poučevanja v okviru projekta »IKT v pedagoških študijskih programih UL« [https://kmtm.fs.uni-lj.si/slo/izobrazevanje/pefobjave/freecad/freecad_okolje.html]. [10] Prog. orodje Solid Edge [https://solidedge.siemens.com/en/]. E-tutor: tailor-made multiply intelligent study tool for management students Judita Peterlin1, Daniela Garbin Praničević2 .1 School of Economics and Business, University of Ljubljana, Kardeljeva ploščad 17, 1000 Ljubljana, Slovenia judita. peterlin@ef.uni-lj.si 2 Faculty of Economics University of Split, Cvite Fiskovića 5, 21000 Split, Croatia daniela@efst.hr Abstract. In this paper, we present the pilot study of three different implementations of E-tutor for online studying of management. We aim to emphasize the importance of enabling business students with the access to top tier journals and related management study materials, such as exercises, videos, e-lectures and e-books. We explain the motivation for introducing this type of online learning methodology, which was stimulated due to closed libraries during coronavirus pandemics; we describe the characteristics of e-tutor, and discuss the implementation process and lessons learned. We also provide recommendation for strong collaboration between librarians, IT experts and professors in setting and managing e-tutor as a study platform at any higher education course. 1 Introduction With the aim of modernizing study program of management education [1] and courses Foundations of management; Management (English track for international and domestic students course carried out in English language); and Foundations of management and organization we provided students with contemporary online materials about management. The topics were selected by the professors and organized in the form of e-tutor by librarian Mr Urban Golob in a logical structure so that the students could access from home the textbook, exercises book, e-books, e-journals, video lectures from partnering schools, and podcasts with interviews with current managers from the platform Beyond leadership. We also took care to include recreational videos in order for the students to take active breaks between study units. E-tutor is a new teaching and training model where the professors act as facilitators of the study process by selecting the study materials that are of high quality in the studied domain. The student also is free to read or watch vast sources within the field, which gives students wider horizons and gives them a chance to study according to their multiple intelligences profile [2] [3] [4] [5] [6] [7] [8]. One goal of the implementation was a better connection between different management areas online and also their easier presentation to students, as well as quick access to study materials for students at the courses. We introduced forms of active learning as early as possible into the curriculum of the study program, already in the first year of undergraduate studies at ERK'2021, Portorož, 436-439 436 School of Economics and Business University of Ljubljana (SEB UL) [9]. The paper is organized as follows. After the introductory part section 2 describes the form, structure and elements of e-tutor. Section 3 contains details of the e-tutor content, in terms of which e-books, e-journals and podcasts were selected. Section 4 concludes the paper. 2 E-tutor implementation Distance learning and e-learning are similar in certain aspects, however they are not the same [10]. E-learning is any kind of learning which includes technology [11] as study aid [10]. E-learning can be carried out in class or as well when the professor and the student are physically apart, which does not hold for distance learning [10]. E-learning has several different names, relating to technology used, such as virtual, network, distributed, WEB learning, however nowadays the most spread term for e-learning is online learning [10]. Despite the initial success of e-learning method it turned out later on that structured learning environment and goal-oriented [12] e-materials do not motivate students enough for them to successfully finish all the course’s obligations, that is why blended learning was implemented as the advancement of e-learning [10]. During pandemics the study process needed to be transformed in order to meet student needs [10]. Paper discusses distance learning model that took place during lockdown in 2020/21 study year at the management courses in the first year of the undergraduate studies at SEB UL. Processed files from professors were incorporated in PowerPoint documents and used as animation/video. The prepared learning material was also often published on YouTube. Most materials are freely available only for SEB UL students. Students’ knowledge and participation assessment was most often obtained by using Mentimeter, Kahoot, 1ka or Google forms. Lectures were carried out in Zoom conference room. Modules of the course were given to students in Canvas online study room. In the first part of the semester a hybrid model was used for international students which meant that part of the students was in the classroom with the professor and other half of students was online on Zoom. 3 E-tutor content and lessons learned The paper describes a digital system teaching method, based on online software tools, which enable effective remote learning in a course with limited period [13]. A teaching and student experiences with the proposed methodology, implemented in an introductory management courses are presented. At the end of the courses, we carried out a survey among students regarding their satisfaction with e-tutor, its usefulness for their management studies and how they used it. Statistics of visits to e-tutors between the start of the course and the final exam, that is during 1. 10. 2020 10. 2. 2021 (Figure 1-3). In the period of October 1st 2020 till February 10th 2021 students at the course Temelji managementa were active as follows: 7267 views were made, 2564 viewed the page About the course, 1050 views were made to Books and articles page and 934 to Other study materials. Figure 1. Statistics of students’ visits of e-tutor Temelji managementa (source Urban Golob). In the period of October 1st 2020 till February 10th 2021 students at the course Temelji managementa in organizacije were active as follows: 3209 views were made, 1158 views to page About the course, 561 views to page Study materials and 423 views to page Books and articles. Figure 2. Statistics of sudents’ visits of e-tutor Temelji managementa in organizacije (source Urban Golob). In the period of October 1st 2020 till February 10th 2021 students at the course Management were active as follows: 2611 views were made, 826 to the page About the course, 485 to page Books and articles and 280 views to page Study materials. 437 Figure 3. Statistics of students’ visits of e-tutor Management (source Urban Golob). The composition of e-tutor is the following: First all the professors at the courses are presented. Then, also all the colleagues from the teaching assistant staff and library are presented with contacts for assistance to students. Study materials are provided with access to textbooks in Slovene and English language. Available books in the faculty’s library are classified according to key concepts discussed at the courses. E-sources on management [12], environmental management [1], sustainable management [14], sustainable leadership [8], social innovation [11], were selected, as well as ebooks, e-journals and e-magazines and databases. Among other, students can access the following management journals: Academy of Management Annals; Journal of Management; Academy of Management Review; Administrative Science Quarterly; Academy of Management Journal; Leadership Quarterly; International Journal of Project Management; Strategic Entrepreneurship Journal; Journal of Innovation & Knowledge; Harvard Business Review; Business Strategy and the Environment; Strategic Management Journal; MIS Quarterly; Journal of Strategic Information Systems; Information & Management; Journal of Product Innovation Management; Human Resource Management Review; Journal of Management Studies; Journal of Knowledge Management; Journal of Operations Management. Students can also access magazines such as Economist, Financial Times, The Wall Street Journal and Der Spiegel. In the databases section students can access Taylor & Francis Online, Business Source Complete, Business Source Premier, ProQuest Ebook Central, Springer Link and Bisnode Gvin.com. In the video section of e-tutor students have video instructions for how to find e-sources, how to prepare their seminar papers according to APA citation standard, exercises for active breaks and lectures from partner universities. Students can also watch video theoretical abstracts or podcasts Beyond leadership where mostly Slovenian managers are interviewed. Key feedback points from the sample of 81 students show that: (1) students intend to use the E-tutor also in the future at other courses and study years (79,9% of respondents); (2) 45,7% of respondents used e-tutor once a month, while 27,2% of respondents used it once a week; (3) 51,9% of respondents read 2-4 e-papers during the winter semester, while 22,2% of respondents read no e-paper and 21% of students read 5-7 e-papers; (4) students appreciated the most the online study materials, which were available together with the textbook through the library’s webpage. According to the digital content manager Urban Golob from the library of the SEB UL [15] e-tutors are available worldwide and also locally in Slovenia, however in 2020 from all the university libraries the library of SEB UL was most visited with over 40 000 visits to library online sources. 45,7% of students used e-tutor once a month, 27,2% used e-tutor once a week (Figure 4). 51,9% of students read 2-4 articles on e-tutor, 22,2% of respondents read none, and 21% of respondents read 5-7 articles (Figure 5). Regarding the e-tutor design the majority of the students found e-tutor easy to navigate, useful in shortening their search time for study materials and also found it visually appealing (Figure 6). Students are first time faced with fully online studies therefore they worry: “the amount of study required to pass the courses in first year is big” “that I haven’t dedicated enough time for studying” “I am not sure I will get a good grade” “I lack the will and motivation for studying during the pandemics” “Passing the final exams. Even though professors are understanding, studying effectively in these times is very overwhelming”. “I am afraid that I don’t have enough knowledge to pass the exams” “That I forgot to do anything important” “full study plan” “Passing the exam. It's gonna a lot of "learn-by-heart"theory which I am not very good at” Students shared with co-students the following tips for managing stress during online studying: “Take a walk! Yoga! Music!” “Physical exercise” “Start preparing for the final exam sooner so you don’t run out of time. Make a schedule, so you know exactly when you have time for study and free time.” Figure 4: Students’ usage of e –tutor “walks every day and exercises indoor, study every day, walks in the nature, talking with family and friends, good sleep” “Dropping things that you can’t currently do. Focusing on the most important part (studying) that you have to do. Fill the rest of the time with light hearted things that you enjoy.” “Have enough sleep. It is essential for your health.” “At least one hour per day don’t work on computer, listen to your body.” Figure 5: Students’ reading of e-papers “Read a good book” “Take your time - for studying and relaxation!” “always focus on what yoy are doing and take a deep breathes” “you should get enough sleep every single night” “reading non-school related books” “Don’t feel guilty for laying down and watching an episode of your favourite series.” “Create a work schedule. That will help you to focus on what you need to spent your time on. Putting in "leisure" might seem strange, but then you know that you are "allowed" to relax.” Figure 6. Design of e-tutor viewed by students. 438 “Find a thing that relaxes you, that brings you joy, in that way you will be able to do all that you wish. All is possible with a lot of effort and work!” Based on the analysis implications for future work are in the form of making a timeline for the students when and how we recommend to them that they use e-tutor. Students expressed in their reflections the need to balance their studies with sports, relaxation and free time activities, as well as good study management skills, therefore we recommend to professors to advice their students on how to make the best out of their study time, where to find resources and how to use them. It would be interesting to compare how students performed at the final exam in terms of study time invested in studying the different e-sources on e-tutor. 4 Conclusion The e-tutor implementation has many benefits as well as certain challenges that we noticed during the pilot implementation and need to be considered: (1) the need for excellent collaboration and mutual understanding between librarians and professors; (2) the subscription to top tier journals and databases that are costly that is why support from the university is needed; (3) large time investment for selecting appropriate materials for the course, adjusting them, adapting them, advancing them, adding new ones and maintaining e-tutor; (4) some students lack online study skills and need additional assistance in order to make use of e-tutor resources; (5) increased need for consultation hours encourages permanent assistance; (6) introductory workshop of e-tutor at the beginning of the course is essential in order to guide students step-by-step through the functionalities of the e-tutor and demonstrate to students on a practical example how e-tutor is intended to help them (eg. finding theoretical sources for the seminar paper; finding datasets regarding analysed company; clarifying concepts discussed at the lectures, etc.). Students’ motivation is an important factor for achieving as many benefits of this study approach as possible. Acknowledgments This work was carried in the content framework of the program group on multiple intelligences and social innovation (ARRS: Program P5-0364, SI, The Impact of Corporate Governance, Organizational Learning, and Knowledge Management on Modern Organization). References [1] S. Penger, V. Dimovski, and J. Peterlin, Rethinking dialogue and education between Slovenia and China: sustainability - our common language? Journal of East European Management Studies, vol. 20, no. 2, pp. 153173, 2015. 439 [2] H. Gardner, (1983). Frames of mind: the theory of multiple intelligences. New York: Basic Books. [3] H. Gardner, (1993). Multiple intelligences: The theory in practice. New York: Basic Books. [4] H. Gardner, (1995). Leading minds: An anatomy of leadership. New York: Basic Books. [5] H. Gardner, (1999). Intelligence Reframed: Multiple Intelligences for the 21st Century. New York: Basic Books. [6] H. Gardner, (2007). Five Minds for the Future. Boston: Harvard Business School Press. [7] H. Gardner, (2010). Razsežnosti uma: Teorija o več inteligencah. Ljubljana: Založba Tangram. [8] J. Peterlin, V. Dimovski, M. Meško, and V. Roblek, »Cultivating management education based on the awareness of students' multiple intelligences«, SAGE Open, , vol. 11, no. 1, pp. 12, 2021. [9] G.B. Marković, J.D. Ćertić, M. Božič, and M. Koprivica, “Multi-subject Project-Based Learning: Two Semester Pilot Study”, Zbornik 29. Elektrotehniške in računalniške konference (ERK 2020), Portorož, Slovenia, pp. 1-4. [10] B. Urankar, and J. Jamšek, “Učenje na daljavo: spletno učenje v osnovnošolskem tehniškem izobraževanju – pedagoška praksa”, Zbornik 29. Elektrotehniške in računalniške konference (ERK 2020), Portorož, Slovenia, pp. 1-5. [11] V. Roblek, M. Meško, V. Dimovski, and J. Peterlin, »Smart technologies as social innovation and complex social issues of the Z generation«, Kybernetes: the international journal of systems & cybernetics. vol. 48, no. 1, pp. 91-107, 2019. [12] J. Peterlin, V. Dimovski, M. Tvaronavičiene, B. Grah, and A. Kaklauskas, »The strategic process of developing social aspects of sustainability through the vision reflection in business education«, Technological and economic development of economy. vol. 24, no. 4, str. 1718-1736, 2018. [13] J. Perš, and A. Trost, “Virtualni laboratorij za poučevanje digitalnih sistemov,” Zbornik 29. Elektrotehniške in računalniške konference (ERK 2020), Portorož, Slovenia, pp. 1-5. [14] V. Rogelj and D. Bogataj, »Planning and financing the home and facility-based care using the multiple decrement approach«, Journal of Decision Systems, vol. 27, pp. 132–143, 2018. [15] U. Golob (February 5th, 2021). E-tutor Management. Ljubljana: School of Economics and Business University of Ljubljana. Posodobitev laboratorijskih vaj s področja močnostne elektronike z vpeljavo simulacijskega programa Ansys Simplorer Andraž Rihar1, Peter Zajec1, Danjel Vončina1 1 Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana E-pošta: andraz.rihar@fe.uni-lj.si Upgrading the laboratory practice on power electronics by introduction of Ansys Simplorer simulations Abstract. The paper presents a concept of upgrade to the laboratory practice curriculum in the field of power electronics. The existing curriculum was closely reviewed, compared to the concepts from existing literature, and intensively upgraded by introduction of Ansys Simplorer-based simulations. This enabled the students to approach individual topics more gradually, reducing the gaps between the behavior of ideal and realistic power electronics circuits. It seems that the students find the new approach more gradual and beneficial, enabling them to improve their understanding of specific phenomena and to master the topics of power electronics with ease and satisfaction. avditornimi vajami. Teoretične in računske vsebine so nato ločeno, vendar tesno prepleteno, dodatno podprte z namenskimi laboratorijskimi vajami (2 uri tedensko v manjših skupinah). Študentje na predavanjih tako najprej na primer preštudirajo delovanje usmerniškega vezja z idealnimi komponentami, nato naredijo nekaj računskih zgledov, s katerimi dodatno utrdijo razumevanje delovanja in določene podrobnosti. Končno študentje na laboratorijskih vajah s pomočjo namenskega laboratorijskega modela (slika 1) zgradijo izbrano usmerniško vezje in opravijo več meritev, s katerimi preverijo ustreznost usvojenega znanja in se podrobneje spoznajo še z določenimi pojavi in vplivi realnih komponent oziroma realnih vezij. 1 Uvod Že od nekdaj velja, da za usvojitev znanja (še posebej s področja tehničnih ved), nista dovolj le premlevanje in študij teoretičnih vsebin, temveč sta nujno potrebna tudi praktično delo in spoznavanje specifičnih pojavov in podrobnosti iz prve roke. Povsem enako velja tudi za področje močnostne elektronike, s katerim se pedagoško in raziskovalno ukvarjamo v Laboratoriju za regulacijsko tehniko in močnostno elektroniko (LRTME). Študentje Fakultete za elektrotehniko se s to tematiko in z osebjem laboratorija med drugim srečajo v okviru predmeta Energetska elektronika, ki se izvaja v sklopu smeri Mehatronika in energetika v 3. letniku univerzitetnega študija [1]. Namen predmeta je študentom približati področje pretvarjanja električne energije iz ene oblike v drugo s pomočjo elektronskih naprav in pripadajoče koncepte, ki so prisotni na izredno širokem obsegu električnih moči, torej vse od mili do megawattov. V okviru predmeta se študentje dodobra spoznajo: i) s področjem klasičnih in modernih polprevodniških stikal, ii) s principi zaščite in hlajenja, iii) z različnimi usmerniškimi in presmerniškimi vezji ter pripadajočimi krmilnimi principi in iv) s karakteristikami moči v elektronskih napravah. Vsebine močnostne elektronike se na Fakulteti za elektrotehniko študentom podajajo že vrsto let, skozi zgodovino pa je bil predmet deležen številnih sprememb v smeri nadgradnje učnega procesa. V osnovi je predmet razdeljen na dva sklopa. V okviru predavanj (4 ure tedensko) so študentom podane teoretične vsebine, ki so redno podprte z računskimi zgledi oziroma ERK'2021, Portorož, 440-443 440 Slika 1. Eksperimentalna postavitev enofaznega enohodnega tiristorskega usmerniškega vezja z R bremenom. Od leve proti desni so prikazani transformator, laboratorijski model s tiristorji in diodami, bremenski upor in osciloskop. Dolga leta je opisani koncept deloval izvrstno, sčasoma pa se je pokazalo, da je med podanimi teoretičnimi vsebinami (na osnovi idealnih komponent) in praktičnim delom z realnimi vezji zaradi specifičnosti področja (komponente za velike moči, modularen laboratorijski model, itn.) vseeno nekoliko prevelik razkorak in bi bilo smiselno učni proces posodobiti oziroma nadgraditi. Študentje med laboratorijsko vajo namreč precej časa porabijo za izgradnjo samega vezja, ostane pa jim premalo časa za poglobljeno razumevanje delovanja in spoznavanje posameznih pojavov močnostne elektronike. S pojavom zmogljivejših računalnikov in naprednih simulacijskih programov, ki omogočajo podrobne simulacije najrazličnejših tematik, smo se izvajalci predmeta odločili, da vaje prenovimo in nadgradimo v smeri glajenja prehoda med teorijo in prakso v smislu kombinacije laboratorijskih vaj s simulacijami. 2 Pregled področja Izveden je bil pregled področja uporabe simulacijskih programov v namen poučevanja tematik močnostne elektronike po svetovnih univerzah. Pregled literature pokaže, da se izvajalci predmetov odločajo za najrazličnejše pristope k poučevanju močnostne elektronike [2]. Izredna raznovrstnost se pokaže tudi na področju uporabljenih simulacijskih programov. Uporaba simulacij lahko namreč veliko pripomore k boljšemu razumevanju in utrjevanju snovi, saj dobro dopolnjujejo prednosti praktičnih laboratorijskih vaj [3]. Žal laboratorijske vaje povsod niso samoumevne, temveč so celo v nekaterih razvitejših državah le izjema, kot sledi iz [4], kjer avtor ugotavlja, da v ZDA le približno 46 % univerz študentom omogoča praktične vaje s področja močnostne elektronike. Izredno pogosta je uporaba širše poznanih, komercialnih simulacijskih programov, ki so že dodobra uveljavljeni na drugih področjih elektrotehnike. V namen poučevanja močnostne elektronike je zelo pogosta uporaba programskega okolja MATLAB/Simulink, ki lahko nudi prijetno uporabniško izkušnjo, ima enostaven uporabniški vmesnik in tudi dobro povezljivost s preostalimi programskimi orodji [5]. Izvajalci uporabljajo bodisi osnovne knjižnice [6,7,8], bodisi pripravijo lastne pakete knjižnic komponent [9]. Pogosto zastopane so tudi različne izvedbe Spice simulacijskih programov, kot sta LTSpice v Palestini [10] ter Pspice v ZDA [11], Braziliji [12] in drugod [13,14]. Simulacijske vaje so lahko tudi dobra predpriprava na laboratorijske vaje. Na univerzi v Illinoisu tako študentje za pripravo simulacij v Spice, PSIM, Simulinku ali drugih programih dobijo dodatne točke za predpripravo na laboratorijske vaje [15]. Predvsem v državah severne Evrope [16], v nekaterih državah ZDA (Minnesota) [17] in v Čilu [18] se poslužujejo uporabe programskega orodja PLECS, ki z obširnimi knjižnicami komponent omogoča napredne analize elektromagnetike, termike in mehanike [19]. Ostali programi, kot so PSIM, PWSIM, Scilab se pojavljajo, vendar so manj pogosto uporabljani. Še en izvrsten program, ki omogoča analizo raznovrstnih vidikov močnostne elektronike predstavlja platforma Ansys Multiphysics [20], ki jo s pridom uporabljajo kolegi z Univerze v Zagrebu [21]. Bistvene prednosti programa Ansys Simplorer so enostavnost uporabe, smiselno razporejene knjižnice idealiziranih, statičnih in dinamičnih komponent, kot tudi dobra povezljivost z drugimi programi ter možnost kosimulacij [22]. 3 Posodobitev izvedbe laboratorijskih vaj Po pregledu relevantne literature s področja smo se izvajalci odločili, da bomo laboratorijske vaje nadgradili s pomočjo simulacijskega orodja Ansys Simplorer in sicer iz več razlogov: i) enostavnost uporabe, ii) dobre izkušnje kolegov z univerz iz soseščine, iii) laboratorij LRTME ima že zakupljeno ustrezno število raziskovalnih in študentskih licenc in iv) dober potencial programa za uporabo pri zaključnih delih magistrskega študija. 441 Slika 2. Simulacijski model enofaznega enohodnega usmerniškega vezja s tiristorjem in R bremenom. V nadaljevanju smo najprej pregledali obstoječi razpored laboratorijskih vaj, nato pa smo ga temeljito nadgradili v smislu boljše povezljivosti in dodatne postopnosti pri spoznavanju vsebin močnostne elektronike. Že pripravljeno študijsko gradivo je bilo združeno z novimi vsebinami na temo simulacij v obliki skripte, ki jo študentje prejmejo na začetku študijskega leta in jim med semestrom služi kot pomoč ob spoznavanju simulacijskega programa ter za lažje izvajanje posameznih laboratorijskih vaj. Na začetku semestra študentje dobijo možnost namestitve licenciranega programa na svoje osebne in prenosne računalnike, kar jim omogoča ne le uporabo za dodatno utrjevanje snovi, temveč tudi uporabo za najrazličnejše šolske in druge projekte. Dodatno si lahko s programom pomagajo tudi pri reševanju domačih računsko-simulacijskih nalog. V sklopu prvega obiska v laboratoriju si s študenti s pomočjo navodil iz gradiva ogledamo uvodno simulacijo enostavnega RLC vezja, ki nam omogoči spoznavanje programskega orodja in različnih tipov analiz (tranzientna, izmenična in parametrična analiza). Podani primer predstavlja izvrsten prehod s področja signalne analize členov iz predmeta predhodnega semestra (Regulacijska tehnika) v področje analize napetostno-tokovnih razmer. Navedenemu primeru uvodne vaje sledi večje število simulacijskih in laboratorijskih vaj, s katerimi si sosledno ogledamo preprosta in kompleksnejša enofazna usmerniška vezja, kot so enofazno enohodno vezje z diodo/tiristorjem (slika 2), vezje s srednjim odcepom M2 ter mostično vezje B2. V sklopu simulacij z idealiziranimi komponentami se osredotočimo na princip delovanja, na pogoje za ustrezno delovanje polprevodniških stikal in na porazdelitev obremenitve posameznih stikal. Simulacije študentom omogočijo nadgradnjo znanja o usmerniških vezjih z idealnimi komponentami, v sklopu laboratorijskih vaj pa lahko več časa posvetimo spoznavanju in analizi pojavov realnih vezij, kot je na primer napetostni udor zaradi stresanih induktivnosti transformatorja, itn. Ko študentje realne pojave spoznajo in jih razumejo, imajo kasneje tudi možnost nadgradnje svojih simulacijskih modelov z upoštevanjem vplivov realnejših komponent. V tem smislu lahko na primer v vezje vključijo še stresane induktivnosti (slika 3). 4 Rezultati Simulacija idealnega enofaznega enohodnega usmerniškega vezja omogoča dobro razumevanje delovanja vezja in potek bistvenih veličin (slika 5) medtem, ko meritve realnega vezja izpostavijo pojav napetostnega udora (slika 6), ki ga je možno analizirati tudi s pomočjo ustrezno nadgrajenih simulacij (slika 7). Slika 3. Simulacijski model enofaznega enohodnega usmerniškega vezja s tiristorjem, R bremenom in stresano induktivnostjo napajalnega vira. Na primeru enofaznih vezij si študentje ogledajo posebnosti asimetrične magnetne obremenitve usmerniških transformatorjev in nato preidejo na trifazna usmerniška vezja, ki omogočajo bolj simetrično obremenitev in večje moči. Ogledajo si nekrmiljena, delno krmiljena in polno krmiljena trifazna tripulzna (M3) in šestpulzna (B6) usmerniška vezja in spoznajo prednosti ter slabosti posameznih izvedb (kompleksnost, frekvenca in iznos valovitosti izhodnega toka, itn.). V sklopu dela na laboratorijskem modelu se lahko poleg utrjevanja znanja delovanja vezij dodatno samostojno posvetijo na primer pojavu komutacije toka in vplivu različnih parametrov na kot prekrivanja (karakteristike bremena, kot proženja, itn.). Ponovno lahko v svoje simulacijske modele vključijo komutacijske dušilke in si tudi s pomočjo simulacij potrdijo dognanja. Slika 5. Napetostno-tokovne razmere v simulaciji idealiziranega enofaznega enohodnega usmerniškega vezja z R bremenom. Prikazani so napajalna napetost (VM1.V), prožilni signal (PWM1.VAL), napetost (VM2.V) ter tok (AM4.I) na bremenu. a b c Slika 6. Napetostno-tokovne razmere v realnem enofaznem enohodnem usmerniškem vezju z R bremenom ob kotu proženja 90° – pojav napetostnega udora (črn krog). Prikazani so napajalna napetost (a), napetost (b) in tok (c) na bremenu. Slika 4. Simulacijski model trifaznega dvanajstpulznega usmerniškega vezja s tiristorji, RL bremenom in stresano induktivnostjo napajalnega vira. Končno si s pomočjo simulacij ogledajo še delovanje vezave dveh B6C vezij (slika 4), v okviru laboratorijskega obiska pa si ogledajo tudi vplive različnih principov zmanjševanja krmilne jalove moči, kot so uporaba prostotečne diode, prilagajanja iznosa napajalne napetosti in zaporednega proženja. Proti koncu semestra se preusmerijo tudi na področje enosmernih presmernikov in si ogledajo uporabo pretvornika navzdol-navzgor za vodenje enosmernega motorja s trajnimi magneti. Tekom semestra se izvajalci laboratorijskih vaj s profesorjem, ki teoretične vsebine predava, neprestano usklajujemo in tako zagotavljamo ustrezno povezanost oziroma prepletenost podanih vsebin. 442 Slika 7. Napetostno-tokovne razmere v simulaciji enofaznega enohodnega usmerniškega vezja z dodano stresano induktivnostjo na napajalnem delu – pojav napetostnega udora. Prikazani so napajalna napetost (VM1.V), prožilni signal (PWM1.VAL), napetost (VM2.V) ter tok (AM4.I) na bremenu. Na primeru večfaznih večpulznih usmerniških vezij si je možno v simulacijah ogledati pojav komutacije toka oziroma kota prekrivanja (slika 8), kar nato potrdimo tudi z meritvami realnega vezja (slika 9). [4] [5] Slika 8. Pojav komutacije toka med sosednjima tiristorjema v simulaciji trifaznega dvanajstpulznega usmerniškega vezja. a b Slika 9. Komutacija toka med sosednjima tiristorjema (a in b) v realnem trifaznem dvanajstpulznem usmerniškem vezju. 5 Sklepne ugotovitve Članek predstavlja koncept posodobitve laboratorijskih vaj s področja močnostne elektronike s pomočjo simulacij in pri tem izpostavlja bistvene prednosti opisanega pristopa, kot so večja postopnost, boljše razumevanje in večja samostojnost študentov. Ustreznost učnega procesa je relativno težko kvantitativno oceniti, vseeno pa pedagogi na podlagi večletnih izkušenj in subjektivnih ocen ugotavljamo, da se opisana posodobitev študentom dopade in sklepamo, da se v taki obliki vaje študentom res zdijo enostavnejše, postopnejše in razumljivejše. Zadnjih nekaj let ob koncu semestra študentje rešujejo tudi obvezen kviz na temo laboratorijskih vaj. Na podlagi zelo dobrih doseženih rezultatov pedagogi sklepamo, da se študentom opisani pristop dopade in študentje torej osvojijo ustrezno mero znanja ter veščin. V sklopu nadaljnjega dela so predvidene dodatne posodobitve laboratorijskih vaj z novimi simulacijskimi izzivi, dodatnimi razlagami in sprotnim, krajšim preverjanjem znanja. Literatura [1] [2] [3] https://www.fe.uni-lj.si/izobrazevanje/1_stopnja_uni/ elektrotehnika/predmeti/2009011211524199/, dostopano dne: 8.6.2021. U. Drofenik, J.W. Kolar. Survey of modern approaches of education in power electronics. V: APEC. Seventeenth Annual IEEE Applied Power Electronics Conference and Exposition (Cat. No. 02CH37335). Vol. 2, str. 749-755, 2002. P. Cepeda, P. Ponce, A. Molina. Simulation to implementation as good practices for teaching power 443 electronics to undergraduate students: fuzzy sliding mode control for DC motors. Advances in Power Electronics. ID 697263, str. 1-9, 2014. F. Misoc. An overview of existing power electronics courses (AC 2012-5554). American Society for Engineering Education. Str. 25.4.1 – 25.4.22, 2012. https://www.mathworks.com/, dostopano dne: 8.6.2021. [6] https://jcboseust.ac.in/electrical/images/lab/pe_lab _manual.pdf, dostopano dne: 8.6.2021. [7] https://www.vvitengineering.com/lab/EE6611POWER-ELECTRONICS-AND-DRIVESLAB.pdf, dostopano dne: 8.6.2021. [8] https://www.mathworks.com/help/physmod/sps/ power-electronics.html, dostopano dne: 8.6.2021. [9] A. Nouh, M.F. Khatab. Laboratory Simulations Packet for Power Electronics Circuits: Teaching and Training. V: Proceedings of the 6th International Conference on Engineering & MIS. Str. 1-8, 2020. [10] https://eng.iugaza.edu.ps/Portals/113/elec-dep/files /Power%20Electronics%20Laboratory%20Manual %20.pdf, dostopano dne: 8.6.2021. [11] N. Mohan, W.P. Robbins, P. Imbertson, T.M. Undeland, R.C. Panaitescu, A.K. Jain, T. Begalke. Restructuring of first courses in power electronics and electric drives that integrates digital control. IEEE transactions on power electronics, 18(1), str. 429-437, 2003. [12] J.A. Pomilio. Power Electronics Lab: Converging Knowledge and Technologies. V: 15th Brazilian Power Electronics Conference and 5th IEEE Southern Power Electronics Conference. Str. 1-6, 2019. [13] H. Fernández, U.P. Ordaz. Power electronics laboratory: simulation tools, power converters and tests bench based on industrial applications. Simulation. Vol. 5, str. 6, 2015. [14] http://mist.ac.in/pdfs/LabManuals/EEE/PowerElec tronicsandSimulationLab.pdf, dostopano dne: 8.6.2021. [15] https://ceme.ece.illinois.edu/files/2020/08/ECE469 V3.4Aug2019Draft3.pdf, dostopano dne: 8.6.2021. [16] https://portal-int.taltech.ee/sites/default/files/202002/EE_ins_Seadmete_juhendmaterjal_EEV5050.p df, dostopano dne: 8.6.2021. [17] http://people.ece.umn.edu/groups/power/labs/ pspice_pe/PLECS_Lab_Manual.pdf, dostopano dne: 8.6.2021. [18] https://www.e2tech.cl/teaching/power-electronicsi/simulation-and-exercises/, dostopano dne: 8.6.2021. [19] https://www.plexim.com/products/plecs, dostopano dne: 8.6.2021. [20] https://www.ansys.com/, dostopano dne: 8.6.2021. [21] Z. Jakopovic, V. Sunde, Z. Bencic. Undergraduate power electronics laboratory-applying TSMST method. Journal of Power Electronics. 10(6), str. 621-627, 2010. [22] A. Rihar, P. Zajec, D. Vončina. Cosimulation of ansys simplerer and MATLAB/Simulink. V: 19th International Conference on Electrical Drives and Power Electronics. Str. 313-317, 2017. Vaje za domov: elektroakustika Samo Beguš Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: samo.begus@fe.uni-lj.si Take-home lab exercises: electroacoustics Abstract. The fields of acoustics, ultrasound and electroacoustics have a long tradition and a wide field of application. Theoretical knowledge of acoustics and ultrasound is associated with practical problems in laboratory exercises with a hands-on approach. Laboratory exercises are regularly adapted and supplemented with new ones. In 2020 and 2021, due to the governmental measures it was necessary to conduct lectures entirely at a distance, as well as some laboratory exercises, or at least for a certain period of time. Equipment and adequate laboratories are required for the successful performance of laboratory exercises. Due to the mentioned limitations of implementation, it was necessary to prepare exercises in a short time that would allow at least some basic experiments in the field of acoustics, using equipment that a student can receive by mail at home and using basic equipment that students can already have, e.g. USB cables, headphones, speakers, etc. In the article, the hardware and software that enables the implementation of laboratory exercises at home will be described. potrebo v kratkem času pripraviti vaje, ki bi omogočale vsaj nekaj osnovnih eksperimentov s področja akustike, ob uporabi opreme, katero lahko študent prejme po pošti na dom in ob uporabi osnovne opreme, katero imajo študenti lahko že doma, npr. USB kabli, slušalke, zvočniki, ipd. V nadaljevanju prispevka bo opisana strojna in programska oprema, ki omogoča izvedbo laboratorijskih vaj doma. 2 Vaje za domov Vaje v obliki, kot se običajno izvajajo na fakulteti, ni mogoče enostavno prilagoditi v obliko, ki bi bila primerna za izvedbo doma, saj zahteva priprava bolj poglobljeno analizo in percepcijo s strani študenta kot izvedba pod nadzorom v laboratoriju. 'Prva pomoč' pri izvedbi na daljavo, so video posnetki izvedbe laboratorijskih vaj z priloženimi rezultati meritev [9, 10], ki pa ne morejo nadomestiti praktične izvedbe v živo. Tudi vseh vaj ni mogoče prilagoditi, zato je bilo izbrano le nekaj vaj, ki pa z enostavno strojno in programsko opremo omogočajo pridobiti vsaj nekaj praktičnih izkušenj. 1 Uvod 3 Strojna in programska oprema Področja akustike, ultrazvoka in elektroakustike imajo dolgo tradicijo in široko področje uporabe [1]. Študentom Fakultete za elektrotehniko so najbližje tematike s področij zabavne elektronike: ozvočenja, sistemi za snemanje in reprodukcijo zvoka, prenosni predvajalniki, izgubno in brezizgubno stiskanje posnetkov, računalniške igre itd. Pomembna področja, kot npr. zaščita pred hrupom, uporaba zvoka in ultrazvoka v medicini, industriji, pri raziskavah, implementacija zakonodaje v Evropski uniji, na področju varnosti, zagotavljanje kakovosti, merilne metode in druga pa so zastopana v manjši meri. Poleg teh, pa se odpirajo tudi druga, manj poznana področja uporabe, kot na primer uporaba zvoka pri gašenju ognja [2, 3]. Teoretična znanja akustike in ultrazvoka so pri laboratorijskih vajah s pristopom hands-on povezana s praktičnimi problemi [1]. Laboratorijske vaje se prilagajajo in dopolnjujejo z novimi [4, 5, 6]. V letu 2020 in 2021 je bilo potrebno zaradi ukrepov [7, 8] izvajati predavanja v celoti na daljavo, prav tako nekatere laboratorijske vaje, ali vsaj v določnem obdobju. Za uspešno izvajanje laboratorijskih vaj pri 'akustičnih predmetih' je potrebna oprema in ustrezen prostor. Zaradi omenjenih omejitev izvajanja je bilo Kriteriji pri izbiri platforme, primerne za pripravo vaj so bili: ERK'2021, Portorož, 444-447 444 - dobavljivost opreme - stereo analogno - digitalni pretvornik - stereo digitalno - analogni pretvornik - integriran ojačevalnik za slušalke - nizka cena - enostavno programiranje - integriran predojačevalnik za mikrofon - podpora za delovanje kot zunanja USB zvočna kartica - USB ali baterijsko napajanje - prikazovalnik - nekaj tipk Izbira razvojnih ploščic je široka, z različnimi konfiguracijami, perifernimi enotami, z že vgrajenimi programatorji in razhroščevalniki [11 - 15]. Po pregledu izbora se je kot zelo primerna izbira izkazala Teensy razvojna ploščica [14, 16] z avdio vmesnikom [17]. Programski dodatek TeensyDuino [18] za programiranje temelji na okolju Arduino [19]. Veliko vlogo pri odločitvi je imela podpora programiranja 'avdio' dela programske kode v grafičnem načinu s pomočjo spletnega vmesnika [20]. Vmesnik temelji na Node-RED grafičnem vmesniku [21]. Lahko deluje tudi v t.i. 'offline' načinu brez aktivne internetne povezave in je vključen v instalacijo programskega dodatka TeensyDuino. Poleg tega pa je podprt USB način za zunanjo avdio kartico, brez posebnih gonilnikov in povezava preko zaporednega vmesnika t.i. 'Virtual COM port'. Podrobnejši opis sledi pri opisu posameznih vaj v nadaljevanju. Predstavljena oprema omogoča prikaz nekaj osnovnih akustičnih in elektroakustičnih nalog z različnimi nastavitvami. Na sliki 1 je prikazana Teensy ploščica in avdio vmesnik z OLED prikazovalnikom, tipkama, konektorji in večbarvno LED. Slušalke se priključijo preko TRS (Tip Ring Sleeve) 3,5 mm konektorja. Poudariti je potrebno, da je skupna sponka na tem konektorju priključena na polovično napetost napajanja, to je 1,6 V, zato je potrebna pazljivost pri povezovanju naprav. Slika 1. Procesorska ploščica s prikazovalnikom ter avdio vmesnikom. Strojna oprema je tako sestavljena iz Teensy 4.0 ploščice, avdio vmesnika, enobarvnega miniaturnega grafičnega OLED prikazovalnika (64 x 48 slikovnih točk), večbarvne LED, elektret mikrofona, dveh dodatnih tipk in potenciometra. Poleg opisanega je v kompletu za vaje priložen še zvočnik, kostni vibratorni pretvornik [22], MEMS (Micro-Electro-Mechanical System) mikrofon [23] na žici s konektorjem in konektor za slušalke z AC'97 kompatibilnim konektorjem, ki se priključi na linijski vhod in izhod avdio vmesnika [24, 17]. Slika 2. Shematski prikaz komponent na Teensy ploščici in avdio vmesniku. Osnovni namen sistema je z enostavno in dostopno opremo omogočiti samostojni prikaz elektroakustičnih pojavov z in tudi brez uporabe osebnega računalnika. Novejši notesniki ne omogočajo zajema stereo avdio signalov brez uporabe zunanje zvočne kartice. Omenjeni sistem po priključitvi na osebni računalnik preko mikro USB konektorja deluje kot zunanja stereo zvočna kartica. Slika 3. Potek in povezave avdio elementov v programu. 445 Shematski prikaz komponent je predstavljen na sliki 2. Tokovna poraba vmesnika je do 0,1 A, odvisno od nastavitev, tako da je napajanje mogoče z USB 5 V napajalniki ali baterijskim napajanjem (USB prenosna baterija - PowerBank). Teensy 4.0 procesorska ploščica [16] je osnovana na ARM Cortex-M7 procesorju s frekvenco takta 600 MHz. Z dodatnim hlajenjem je možno taktno frekvenco povišati tudi celo preko 1 GHz. Visoka taktna frekvenca, strojna podpora računanju s plavajočo vejico, 1984 KB programskega in 1024 KB podatkovnega pomnilnika predstavlja dobro osnovo tudi za zahtevnejšo obdelavo avdio signalov. Ob priključitvi na osebni računalnik se vmesnik prepozna kot zunanja 16 bit zvočna kartica s frekvenco vzorčenja 44,1 kHz. Poleg tega je aktiven tudi dvosmerni prenos podatkov preko virtualnega COM vmesnika s hitrostjo prenosa podatkov 115200 bit/s, brez paritete, 1 stop bit, 8 podatkovnih bitov. za prikaz obdelanih izmerjenih vrednosti (več v nadaljevanju). Program je pisan v Arduino programskem okolju [19]. Po priključitvi napajanja ali po povezavi na osebni računalnik so aktivne nastavitve za prvo laboratorijsko vajo. Izbiro nastavitve oziroma laboratorijske vaje se lahko spremeni s hkratnim pritiskom zgornje (ZG) in spodnje (SP) tipke (vsaj za 1 s). Predvajanje avdio posnetka iz µSD kartice se vključi avtomatsko ali s pritiskom na spodnjo tipko. Z zgornjo tipko se izbere trenutno aktiven parameter (vsaj za 0,5 s), nastavitev parametra se spreminja s spodnjo tipko (vsaj 0,5 s), amplitudo predvajanja se nastavi s potenciometrom, v spodnji vrstici prikazovalnika se izpisuje nastavljena vrednost amplitude. Frekvenco in kvaliteto filtra se nastavlja s pritiskom na spodnjo tipko in vrtenjem potenciometra. Študentom so na voljo navodila z opisi vaj, primeri in kratko razlago delovanja [25]. 4 Laboratorijske vaje V nadaljevanju so na kratko predstavljene posamezne laboratorijske vaje. 4.1 Vaja 1 - Hrupometer Na OLED prikazovalniku, slika 4, je prikazan nivo zvočnega tlaka brez in z A frekvenčno utežitvijo. USB vmesnika (kot zvočna kartica) vsebuje vzorčen signal izbranega mikrofona z A frekvenčno utežitvijo, D kanal avdio signala pa vzorčen signal iz izbranega mikrofona brez frekvenčne utežitve. Tako je mogoče na računalniku opazovati spektra signalov s primernim programom, npr. REW [26]. Izraz 'hrupometer' je uporabljen namenoma, saj merilni sistem ne izpolnjuje zahtev standarda za merilnike zvoka oz. fonometre IEC 61672-1 [27] in ostalih standardov. 4.2 Vaja 2 – Zvočna kartica Vmesnik prevzame funkcijo zvočne kartice, predvajanemu posnetku se lahko nastavlja amplitudo s potenciometrom na avdio vmesniku. Nastavitev se lahko uporabi za merjenje impedance slušalk in zvočnikov s pomočjo programa REW [28]. Primer meritve je na sliki 5. Slušalke ali zvočnik se priključi s pomočjo priloženega kabla s konektorji. Ker avdio vmesnik ne uporablja nizkoimpedančnega izhoda in visokoimpedančnega vhoda in zaradi presluha se pojavi napaka meritve pri nizkih frekvencah (pod 50 Hz). Slika 5. Primeri izmerjenih impedanc slušalk CX100 Sennheiser (sredina), 4 Ω zvočnika (spodaj) in slušalk SoundSport - Bose (zgoraj). 4.3 Vaja 3 – Filtriranje Pri tej nastavitvi se uporablja filtre iz avdio knjižnice [29], katerim se lahko nastavlja vrsto filtra, mejno frekvenco, kvaliteto filtra in vir avdio signala. Kot vir signala se lahko uporabi osebni računalnik, avdio posnetek iz µSD kartice, MEMS ali elektret mikrofon. S programom REW se lahko opazuje spekter filtriranega signala, testni signal (npr. psevdonaključni beli šum) se generira s programom REW. 4.4 Vaja 4 – WAV predvajalnik Slika 6. Avdio vmesnik z vibratornim pretvornikom. Slika 4. Priključen MEMS mikrofon preko linijskega vhoda na avdio vmesniku v načinu delovanja 'hrupometer'. Vrednosti se izpisujejo tudi preko virtualnega zaporednega vmesnika. Nivo zvočnega tlaka z A frekvenčno utežitvijo je predstavljen z večbarvno LED diodo z barvnim prikazom v območju od 35 dBA (modra) do 85 dBA (rdeča). L kanal avdio signala preko 446 WAV predvajalnik predvaja datoteko z imenom 01.wav shranjeno na µSD kartici. Če kartica ni prisotna, javi napako. Amplituda predvajanja posnetka je višja, kot pri ostalih nastavitvah, tako da se lahko uporabi tudi vibratorni avdio pretvornik, slika 6, s katerim se lahko preveri prevajanje zvoka preko kosti (pretvornik se prisloni na mastoid) ali pa se uporabi primerno površino kot zvočnik. Odziv pri nizkih frekvencah se lahko izboljša z obtežitvijo vibratornega pretvornika. 4.5 Vaja 5 – Simetrična priključitev signalov MEMS mikrofon [23] je analogni mikrofon s simetričnim (diferencialnim) izhodom. S simetrično priključitvijo se lahko zmanjša motnje, ki se pojavijo na povezovalnih kablih. Izbira se lahko med tremi priključitvami mikrofona: simetrična, kjer se uporabi oba izhoda mikrofona, izhodni signal je razlika obeh signalov; pri nesimetrični priključitvi pa le + izhod mikrofona ali le – izhod. Glede na izbiro se avtomatsko prilagodi ojačanje. Pri nesimetrični priključitvi lahko opazimo boljše razmerje signal/šum. Zaradi kratkega priključnega kabla je razlika v amplitudi motenj zanemarljiva. Avdio signal iz mikrofona je na voljo na D avdio kanalu preko USB vmesnika (zunanja zvočna kartica). Mikrofon je občutljiv na svetlobo. 4.6 Vaja 6 – Izhod AC Pri tej nastavitvi procesor in avdio vmesnik generira izmenični (AC) električni signal nizke amplitude pri frekvenci 1 kHz na L kanalu priključka za slušalke (do 10 mVrms). Amplitudo izhodne napetost se nastavlja s potenciometrom. Če je občutljivost slušalk znana, se lahko nastavi znan nivo zvočnega tlaka. Izhodna impedanca ojačevalnika za slušalke na avdio vmesniku je nizka (< 1 Ω), tako da se spremembo napetosti zaradi obremenitve s slušalkami lahko zanemari. 5 Zaključek V prispevku je opisana strojna in programska oprema za laboratorijske vaje, ki se lahko izvajajo doma. Strojna oprema temelji na Teensy procesorski ploščici in avdio vmesniku. Z dodatnimi perifernimi enotami (potenciometer, tipke, prikazovalnik) in elektroakustično opremo (kostni vibratorni vmesnik, konektorji, mikrofona, …) omogoča prikaz elektroakustičnih pojavov z in tudi brez uporabe osebnega računalnika. Študenti so prejeli opremo po pošti na dom. Odziv je bil pozitiven, koncept pa označen kot 'poučen'. Obstoječe vaje se lahko nadgradi z novimi z dodatno programsko in strojno opremo. Literatura [1] Beguš, Samo. Moderni pristopi k poučevanje akustike in ultrazvoka. Elektrotehniški vestnik.. 2013, letn. 80, št. 1/2, str. 27-33. https://ev.fe.uni-lj.si/1-2-2013/Begus.pdf [2] Stawczyk, Paweł and Wilk-Jakubowski, Jacek. "Noninvasive attempts to extinguish flames with the use of high-power acoustic extinguisher" Open Engineering, vol. 11, no. 1, 2021, pp. 349-355. https://doi.org/10.1515/eng-2021-0037 [3] Ali E Aliev, Nathanael K Mayo, Ray H Baughman, Brent T Mills and Ed Habtour Subwoofer and nanotube butterfly acoustic flame extinction, Journal of Physics D: 447 Applied Physics, Volume 50, Number 29, 2017. https://doi.org/10.1088/1361-6463/aa78e5 [4] Beguš, Samo. Avdiologija in elektroakustika: gradivo za laboratorijske vaje. Ljubljana: Fakulteta za elektrotehniko, Laboratorij za metrologijo in kakovost, 2014. [5] Beguš, Samo. Akustika in ultrazvok: gradivo za laboratorijske vaje. Ljubljana: Fakulteta za elektrotehniko, Laboratorij za metrologijo in kakovost, 2015. [6] Beguš, Samo. Slušni in govorni trening ter elektroakustični pripomočki, akustično merjenje in avdiometriranje: gradivo za laboratorijske vaje. Ljubljana: Fakulteta za elektrotehniko, Laboratorij za metrologijo in kakovost, 2019. [7] Odlok Vlade RS (Ur. l. RS, št. 146/2020) z dne 18. 10. 2020 o razglasu epidemije v RS in dopolnitev ukrepov Vlade RS z 22. 10. 2020. [8] https://www.uradni-list.si/_pdf/2021/Ur/u2021047.pdf [9] Video posnetki izvedbe laboratorijskih vaj pri predmetu 'Akustika in ultrazvok', dostopni v spletni učilnici predmeta. [10] Video posnetki izvedbe laboratorijskih vaj pri predmetu 'Avdiologija in elektroakustika', dostopni v spletni učilnici predmeta. [11] https://www.st.com/en/evaluation-tools/stm32-nucleoboards.html [12] https://www.mikroe.com/smart-displays [13] https://www.embeddedartists.com/ [14] https://www.pjrc.com/teensy/ [15] https://www.olimex.com/Products/ARM/ [16] https://www.pjrc.com/store/teensy40.html [17] https://www.pjrc.com/store/teensy3_audio.html [18] https://www.pjrc.com/teensy/teensyduino.html [19] https://www.arduino.cc/en/software [20] https://www.pjrc.com/teensy/gui/index.html [21] https://nodered.org/ [22] Bone Conductor Transducer with Wires - 8 Ohm 1 Watt https://www.adafruit.com/product/1674 [23] InvenSense ICS‐40619 https://invensense.tdk.com/products/ics-40619/ [24] https://www.intel.com/content/www/us/en/support/ articles/000005512/boards-and-kits/desktop-boards.html [25] Navodila za uporabo TeensyAudio ploščice, na voljo v spletni učilnici predmetov 'Akustika in ultrazvok', 'Avdiologija in elektroakustika' in 'Navidezna in obogatena resničnost'. [26] Room Acoustics Software, http://www.roomeqwizard.com/ [27] IEC 61672-1:2013 Electroacoustics - Sound level meters - Part 1: Specifications https://webstore.iec.ch/publication/5708 [28] https://www.roomeqwizard.com/help/help_enGB/html/impedancemeasurement.html [29] https://www.pjrc.com/teensy/gui/index.html?info= AudioFilterBiquad Študentski članki Student papers Preverjanje pristnosti navigacijskih sporočil Martin Srebot1 Fakulteta za pomorstvo in promet, Pot pomorščakov 4, 6320 Portorož, Slovenija E-pošta: martin.srebot@gmail.com 1 Navigation Message Authentication Abstract. The paper discusses the authentication mechanism of navigation messages in the Galileo Open Service (OS) called OS-NMA, that could have a significant impact on many GNSS applications, especially those related to transport. The OS-NMA allows the GNSS receiver to verify the authenticity of GNSS information and the entity transmitting them, in order to confirm that they come from a trusted source. In the first sections NMA is reviewed in general, later a OS-NMA is focused in terms of its message structure and TESLA protocol, the text ends with some conclusions. 1 Uvod V prometnem sektorju obstajajo številni, z GNSS (angl. Global Navigation Satellite System) podprti sistemi (npr. avtonomna vožnja, eCall, elektronsko cestninjene ipd.), ki za določanje položaja ne potrebujejo zgolj natančnih lokacijskih rešitev, temveč morajo biti te tudi varne in zanesljive. Vsi odprti civilni GNSS signali so preneseni v skladu s specifikacijami vmesnika, ki pa so v celoti na voljo v javni domeni. Sprejemnik GNSS sprejme vse vhodne podatke, ki ustrezajo tem specifikacijam in jih obravnava kot da so bili poslani s strani GNSS satelita. Ker imajo za nameček GNSS signali še izredno nizke stopnje moči, je motenje (angl. jamming) in potvarjanje (angl. spoofing) GNSS sprejemnika pravzaprav precej enostavno [1]. Kot ugotavljajo O'Driscoll [1] in Zubizarreta s soavtorji [2], so tovrstni zlonamerni vdori postali običajen pojav in predstavljajo znatno grožnjo satelitskim rešitvam za določanje položaja. Kot uporabnikom ranljivega sistema se nam zato poraja vprašanje, kako naj bomo prepričani, da so prejete informacije pristne? Vse do danes namreč slehernik ni mogel biti prepričan, da so sprejeti navigacijski in časovni podatki res prišli od izvora, od katerega naj bi prišli. Zato so bili predlogi za preverjanje pristnosti civilnih storitev GNSS in zlasti pristnosti navigacijskih sporočil (angl. Navigation Message Authentication NMA) po navedbah Sarta in soavtorjev [3] že več kot desetletje preučevani v strokovni literaturi ter po navedbah O'Driscolla [1] postajajo vse bolj pogosto razlog za raziskave. 2 Kaj je NMA? Preverjanje pristnosti sporočil je koncept z dolgo zgodovino na področju digitalnih komunikacij, ki ERK'2021, Portorož, 449-452 449 temelji na predpostavki, da hoče biti sprejemnik sporočila prepričan, da je prejeto sporočilo enako poslanemu sporočilu in da je le tega ustvaril zaupanja vreden vir [1]. Preverjanje pristnosti je mogoče zagotoviti bodisi na ravni prejete vsebine t.j. navigacijskega sporočila bodisi na ravni oblike t.j. signala [2]. NMA torej uporablja koncept preverjanja pristnosti navigacijskih sporočil, ustvarjenih na GNSS satelitih [1]. 3 Delovanje NMA V postopku preverjanja pristnosti sporočila je osrednje oddajnikovo (satelitovo) dejanje uporaba t. i. tajnega ključa, s katerim ustvari podpis iz sporočila, ki ga pošilja. Oddajnik oboje, sporočilo in podpis, pošlje sprejemniku, ki z uporabo ključa, drugačnega od oddajnikovega, potrdi ustreznost sporočila in podpisa za preverjanje pristnosti. Ko je s predpisanim algoritmom potrjena pristnost prejetega sporočila, sprejemnik sklepa, da sta poslano in prejeto sporočilo enaki, ter da je sporočilo za preverjanje pristnosti lahko ustvaril samo nekdo z dostopom do oddajnikovega tajnega ključa [1]. Obstajata dva med seboj različna načina za ustvarjanje podpisov za preverjanje pristnosti, to sta tehniki simetričnih in asimetričnih ključev. Pri tehniki simetričnih ključev si pošiljatelj in sprejemnik z uporabo tajne komunikacije delita skupni ključ za šifriranje in dešifriranje. Pri tehniki asimetričnih ključev pa je tajni ključ razdeljen na dva dela, to sta t. i. zasebni ključ, ki je poznan le oddajniku in t. i. javni ključ, ki ga je mogoče javno razpošiljati oz. je na voljo vsem deležnikom v omrežju. Prvi je uporabljen v koraku avtentikacije, drugi pa v koraku ustvarjanja sporočila za preverjanje pristnosti [1]. 4 NMA v odprti storitvi (OS) Galileo Galileo je evropski globalni navigacijski satelitski sistem pod civilnim nadzorom, ki zagotavlja storitve satelitskega določanja položaja tako evropskim državljanom, kot uporabnikom po vsem svetu, kjer je njegove signale mogoče sprejemati (nekatere države lahko ne dovolijo oddajanja nad njihovim ozemljem). Odprta storitev Galileo (angl. Open Service - OS) s pomočjo Galileo OS Signal-In-Space (SIS) ponuja informacije o položaju, hitrosti in času, do katere lahko uporabnik, opremljen s sprejemnikom, dostopa brezplačno, brez potrebne avtorizacije. Omenjena storitev je primerna za množične aplikacije, kakršna je na primer navigacija v vozilih [4]. 4.1 Kaj je OS-NMA? OS ne ponuja informacije o zaupanju v rezultate (integriteti), določanje kakovosti signalov pa je v celoti prepuščeno uporabnikom storitve. Prav tako ne obstaja garancija storitve s strani Galileo Operating Company. Vendar pa bo OS v bližnji prihodnosti glede na čas nastajanja tega članka, vključevala mehanizem za preverjanje pristnosti, imenovan OS-NMA, s čimer bo Galileo postal prva konstelacija, ki bo vključevala mehanizem NMA v OS signalu [4]. OS-NMA (angl. Open Service - Navigation Message Authentication) predstavlja mehanizem preverjanja pristnosti, ki sprejemniku GNSS omogoča, da preveri verodostojnost GNSS informacij in subjekta, ki le te prenaša, z namenom potrditve, da prihajajo od zaupanja vrednega vira [5]. Galileo OS-NMA temelji na hibridnem pristopu tehnik izdajanja simetričnih/asimetričnih ključev, znanem kot TESLA (angl. Timed Efficient Streamed Loss-Tolerant Authentication) protokol [1]. 4.2 vodenja in nadzora. Prav tako uporaba tega polja razporedi NMA bite čez celo navigacijsko sporočilo [6]. Cilja predvidene sheme za preverjanje pristnosti sta ohranitev združljivosti za nazaj (tako bo pozicioniranje tudi brez OS-NMA še vedno delovalo) in zahteva po minimalnih spremembah obstoječe infrastrukture. Shema naj bi bila uporabna tudi na manjših hitrostih prenosa podatkov navigacijskega sporočila I/NAV (125 bitov na sekundo) in naj bi bila dovolj robustna, da bi podpirala občasno izgubo podatkov, tako kot to velja za GNSS sprejemnike v okoljih z zmanjšano vidnostjo oz. zaznavnostjo satelitov [6]. Področje OS-NMA je sestavljeno iz dveh odsekov, to sta HKROOT odsek (prvih 8 bitov od 40 bitov) in MACK odseki (preostalih 32 bitov od 40 bitov) (ESA GNSS Science Support Centre, 2021), ki se prenašata vzporedno [6]. Struktura sporočila OS-NMA Sateliti sistema Galileo v splošnem oddajajo štiri navigacijska sporočila, to so: F/NAV (angl. Freelyaccessible Navigation Message), I/NAV (angl. Integrity Navigation Message), C/NAV (angl. Commercial Navigation Message) in G/NAV (angl. Governmental Navigation Message). Protokol TESLA je umeščen v navigacijsko sporočilo I/NAV. I/NAV sicer vsebuje 120 rezerviranih bitov, od tega 72 v signalu E5b-I in 48 v signalu E1B [2] ter temelji na prenosu celotnega navigacijskega okvira vsakih 750 sekund. Okvir I/NAV je sestavljen iz 30-sekundnih podokvirov, ki vedno prenašajo vse zahtevane pozicijske parametre. Vsak podokvir je razdeljen na 15 2-sekundnih strani, od katerih vsaka vsebuje eno besedo in nekatera druga polja. V navigacijskem sporočilu E1-B I/NAV je lahko prenesenih skupno 125 bitov na sekundo [6]. Slika 2. Dva odseka, ki sestavljata sporočilo OS-NMA [8] HKROOT odsek vsebuje vse sistemske parametre (trenutno operativno stanje, dolžino ključev, dolžino MAC-ov, algoritme zgoščevanja, ki se uporabljajo za njihovo izdelavo in identifikacijske parametre korenskega ključa), korenski ključ in podpis korenskega ključa, znan kot sporočilo digitalnega podpisa (angl. Digital Signature Message - DSM). Odsek MACK pa vsebuje najpomembnejše bite za izvedbo preverjanja pristnosti: MAC oznake in z njim povezan zapozneli ključ [2]. Ločevanje HKROOT in MACK odsekov ohranja stalno raven nepredvidljivosti [6]. 4.3 Slika 1. Bitna struktura sporočil Galileo I/NAV [2] Za izvajanje OS-NMA je bil podan predlog, da se uporabi 40 od zdajšnjih rezerviranih bitov iz E1B, tj. polje »Reserved 1« ali EDBS (angl. External Data Broadcast Service) [2]. Razlog za uporabo tega polja, v primerjavi z drugimi rezervnimi polji v sporočilu I/NAV, je v tem, da je lahko izpolnjen in prenesen satelitom z minimalnim vplivom na glavne naloge 450 Protokol TESLA Kot pojasnjuje O'Driscoll [1], je protokol TESLA primeren odziv na problematiko distribucije simetričnega ključa kot sledi. Najprej je z uporabo sporočila in ključa (Ki) ustvarjena koda za preverjanje pristnosti sporočila (angl. Message Authentication Code - MAC), za preverjanje pristnosti sporočila z navadnim besedilom (Mi). Najprej so poslana sporočila in MAC-i, katerim čez čas sledi še ključ (Ki) [2]. Omenjena zakasnitev med sprostitvijo prvih dveh elementov (sporočila in MAC-i) in končnim elementom (ključem) zagotavlja preverjanje pristnosti [7]. Ključ (Ki) je izvlečen iz verige ključev, ustvarjene z uporabo enosmerne zgoščevalne funkcije (H), ki se naknadno začne s semenskim ključem (KN) [2]. Veriga ključev je ustvarjena tako (Slika 3), da je najprej ustvarjen naključni semenski ključ (KN). Za KN je uporabljena H za izdelavo KN-1 in ta proces se ponavlja, dokler ni pridobljen korenski ključ K0. Ta je podpisan z Galileovim zasebnim ključem (Priv) in algoritmom digitalnega podpisa (S), kar ustvari podpisan korenski ključ (Sig). Ključi v verigi so razkriti v obratnem vrstnem redu, na primer K1, K2, …, KN. Če sprejemnik pozna ključ KM, lahko potrdi, da pripada verigi s K0 kot korenom, ne more pa določiti nobenih prihodnjih ključev KL, ker je L>M. Digitalni podpis Sig je poslan s satelitov, vsak Ki pa je poslan za MAC-i, ki so bili ustvarjeni z njegovo uporabo [1]. Slika 3. Ustvarjanje verige OS-NMA [1] O'Driscoll v [1] opozarja na kritično predpostavko oz. varnostni pogoj, ki mora biti izpolnjen, da lahko shema, ki temelji na osnovi TESLA, deluje, in sicer, da sta sprejemnik in oddajnik časovno sinhronizirana. Samo tako lahko sprejemnik samozavestno preveri pristnost podatkov. Vendar, če pa je ura sprejemnika prepočasna, je ta lahko zaveden, da sprejme kombinacijo sporočil in MAC-ov, ki je bila prejeta po javni objavi ključa [7]. Povedano drugače, sprejemnik ne more biti prepričan, da navigacijskega sporočila ni ustvaril vir potvarjanja, ki je že prejel popolnoma veljaven podpisni ključ iz satelitskega signala v živo [1]. Zato je nujno, da ura sprejemnika ne sme preveč zaostajati za uro oddajnika satelita oz. za sistemskim časom Galileo [7]. Protokol TESLA, uporabljen v sistemu Galileo OSNMA, je bil optimiziran za uporabo enega samega ključa za vse satelite. S tem bo uporabnikom omogočeno, da bodo lahko ključ prejeli od katerega koli satelita, ki je v njihovem vidnem polju, vključno s sateliti, ki sicer niso del sistema Galileo [5]. 5 Sklep Zagotavljanje, da je rezultat določanja položaja z GNSS pravilen, sam sistem pa za določeno rabo zadosti razpoložljiv, raba v na položaju temelječih dejavnostih pa varna, je niz izzivov, ki morajo biti ustrezno upoštevani, preden se lotimo povsem novega sklopa aplikacij, ki zahtevajo zanesljivost in odpornost. OS-NMA je mehanizem preverjanja pristnosti, ki sprejemniku GNSS omogoča, da preveri verodostojnost GNSS informacij in subjekta, ki te informacije prenaša, z namenom potrditve, da prihajajo od zaupanja vrednega vira. OS-NMA je ena ključnih razlik, ki 451 Galileo zaenkrat loči od ostalih GNSS in ključna komponenta katerekoli odporne rešitve PNT (angl. positioning, navigation and timing). Zaradi naraščanja števila sistemov v prometu, podprtimi z GNSS (npr. avtonomna vožnja, eCall, elektronsko cestninjene ipd.), pri katerih sta varnost in zanesljivost glavna skrb, je odpornost, ki jo OS-NMA nudi Galileo signalu ključni korak v smeri zagotavljanja, da GNSS tako zdaj kot v bodoče ostane v uporabi zakonitih uporabnikov. Literatura [1] O'Driscoll, C. (januar/februar 2018). What is navigation message authentication? Inside GNSS, 26-31. Pridobljeno 24. marec 2021 iz https://insidegnss.com/what-isnavigation-message-authentication/ [2] Zubizarreta, X., van der Merwe, J., Lukčin, I., Rügamer, A., & Felber, W. (2018). Receiver Independent Implementation of the Galileo Open Service Navigation Message Authentication. International Technical Symposiumon Navigation and Timing. Toulouse, France: ITSNT. Pridobljeno 7. marec 2021 iz https://www.researchgate.net/publication/330359097_Rec eiver_Independent_Implementation_of_the_Galileo_Ope n_Service_Navigation_Message_Authentication_OSNMA [3] Sarto, C., Pozzobon, O., Fantinato, S., Montagner, S., Fernández-Hernández, I., Simon, J., Calle, J. D., Cancela Díaz, S., Walker, P., in Göhler, E. (2017). Implementation and Testing of OSNMA for Galileo. ION GNSS+. Portland, OR. Pridobljeno 2021. april 27 iz https://www.researchgate.net/publication/321159329_Im plementation_and_Testing_of_OSNMA_for_Galileo [4] ESA GNSS Science Support Centre. (29. januar 2021). Galileo Open Service (OS). Pridobljeno 28. april 2021 iz spletno mesto NAVIPEDIA: https://gssc.esa.int/navipedia/index.php/Galileo_Open_Se rvice_(OS) [5] ESA GNSS Science Support Centre. (17. februar 2021). Galileo Open Service Navigation Message Authentication. Pridobljeno 24. marec 2021 iz NAVIPEDIA: https://gssc.esa.int/navipedia/index.php/Galileo_Open_Se rvice_Navigation_Message_Authentication [6] Fernandez-Hernandez, I., Rijmen, V., Seco-Granados, G., Simón, J., Rodríguez, I., in Calle, J. D. (2016). A Navigation Message Authentication Proposal for the Galileo Open Service. Navigation - Journal of The Institute of Navigation, Vol. 63, No. 1, 85-102. Pridobljeno 5. maj 2021 iz https://www.researchgate.net/publication/283624748_A_ Navigation_Message_Authentication_Proposal_for_the_ Galileo_Open_Service [7] Fernandez-Hernandez, I., Walter, T., O’Driscoll, C., in Neish, A. (2020). Independent Time Synchronization for Resilient GNSS Receivers. 2020 International Technical Meeting of The Institute of Navigation. Pridobljeno 17. maj 2021 iz https://www.researchgate.net/publication/339248980_Ind ependent_Time_Synchronization_for_Resilient_GNSS_R eceivers [8] Fernandez-Hernandez, I., Rijmen, V., Ashur, T., Walker, P., Seco, G., Simon, J., Sarto, C., Burkey, D., in Pozzobon, O. (2016). Galileo Navigation Message Authentication Specification for Signal-In-Space Testing - v1.0. European Commission. Pridobljeno 24. marec 2021 iz https://www.gsa.europa.eu/sites/default/files/calls_for_pr oposals/annex_1-rd4.pdf 452 Generiranje optimalnega hitrostnega profila na različnih družinah krivulj Nataša Zekić Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: nz4881@student.uni-lj.si Optimal velocity profile generation on different families of curves Abstract. This paper deals with the problem of implementing an algorithm that generates a time-optimal velocity profile along a given path with given arbitrary constraints for velocity and tangential and radial acceleration. Algorithms that generate achievable speed profiles to produce the minimum time traversal of fixed path, are primarily used in the field of autonomous ground and air vehicles and robot manipulators. The first part of the paper includes an analysis of performance of the algorithm. It highlights the difficulties in its use and presents some improvements. The second part of the paper contains an analysis of other algorithms that generate a velocity profile with arbitrary dynamic constraints and a comparison of performance with our presented algorithm. 1 Uvod Avtonomni mobilni sistemi se lahko samostojno gibljejo v okolici med opravljanjem različnih opravil. So privlačni za uporabo, saj omogočajo izvedbo ali izboljšavo določenih nalog [1], kot so: dostop do oddaljenih ali nedostopnih okolij (npr. raziskovanje vesolja), dostop do za ljudi nevarnih okolij (npr. globokomorske raziskave), fizično zahtevne naloge (npr. skladiščenje in prekladanje tovorov) ter varnost in zaščita (npr. izvidniška letala in avtopilotski izstrelki). Uvedba mobilnih sistemov omogoča boljšo kakovost izdelka ali storitve, manjše stroške dela, krajši čas izvedbe opravil, večjo produktivnost, večjo natančnost in sposobnost zaznave, zaščito pred okužbami, boljši nadzor ipd [1]. Dobro planirana pot z neke začetne lege v končno lego je izvedljiva, torej upošteva različne fizične in dinamične lastnosti vozila, s čimer se tudi zagotovi učinkovitost vožnje tega vozila. Vožnjo lahko optimiziramo z vidika časa, goriva, dolžine poti in drugih parametrov [2, 3]. Zanimanje za izračun časovno optimalnih trajektorij sega v leto 1696, ko je Johann Bernoulli postavil problem brahistokrone [4]. Kljub temu, da so problemi od prvotnega iskanja brahistokrone postali kompleksnejši, določanje časovno minimalnih trajektorij in profilov hitrosti ostaja odprt in aktualen problem [5, 6]. Trenutni izzivi so povezani s sprotnim upoštevanjem kinematičnih omejitev in časovno omejenim načrtovanjem poti v dinamičnih okoljih [7]. Številne aplikacije imajo ERK'2021, Portorož, 453-457 453 potrebo po minimizaciji časa, na primer: vožnja kopenskih vozil, vzpenjanje in obračanje zračnih vozil, manipulatorske poti za robote itd [3, 4, 8]. Članek obravnava implementacijo algoritma, ki generira časovno optimalen hitrostni profil na dani poti za avtonomna vozila. Pri načrtovanju časovno optimalnega hitrostnega profila so upoštevane omejitve hitrosti in pospeška (kot posledica omejitve sile trenja med kolesi vozila in tlemi). Generirani časovno optimalni hitrostni profil je ves čas znotraj teh omejitev oziroma na njihovem robu (tj. skrajnih, še dovoljenih vrednostih dinamičnih veličin). Članek je razdeljen na več poglavij: v drugem poglavju je opisan problem, tretje poglavje predstavi implementacijo algoritma na predstavnikih družin krivulj, zajete so tudi nekatere težave pri izvedbi in določene izboljšave. Sledi četrto poglavje s predstavitvijo in analizo dveh drugih algoritmov za izračun profila hitrosti, s primerjavo rezultatov in komentarji. Peto poglavje je zaključek, v katerem so podane končne ugotovitve. 2 Definicija problema Algoritem, ki generira časovno optimalni hitrostni profil po vnaprej določeni poti z omejitvijo hitrosti ter tangentne in normalne komponente pospeška je opisan v [1, 2]. Eksperimenti [2] so pokazali, da se največje dovoljene vrednosti radialnega in tangentnega pospeška razlikujejo, zato algoritem upošteva dinamične omejitve v naslednji obliki: 0 ≤ v(t) ≤ vM AX (t) (1) a2r (t) a2t (t) + ≤1 a2M AXt (t) a2M AXr (t) (2) Algoritem je potrebno preizkusiti na različnih parametričnih krivuljah. Pri tem je smiselno izbrati družine parametričnih krivulj, ki so po obliki kompleksnejše ali pa se pogosto uporabljajo pri načrtovanju poti mobilnih robotov, kot so: Lissajousove krivulje, Bezierove krivulje in klotoide. Morebitne težave pri generiranju hitrostnega profila je potrebno odpraviti ali vsaj delno izboljšati. Poleg analize delovanja algoritma je potrebno primerjati dobljene rešitve z rešitvami, ki jih dajejo drugi algoritmi za generiranje hitrostnih profilov in zagotoviti čim bolj enakovredne pogoje primerjave. 3 Analiza na družinah krivulj definiran (zaradi kršitve omejitve pospeška) na celotnem intervalu parametra u. To se je zgodilo takrat, ko je bila Naj bo pot definirana s parametrično krivuljo s parameprva in/ali zadnja prelomna točka dovolj daleč od začetka trom u: xp (u), yp (u), u ∈ [uSP , uEP ]. Predpostavljen je in/ali konca intervala parametra. Posledično je generirani poseben primer u = t, kjer je referenčna pot v bistvu trajhitrostni profil zajemal le določeni interval parametra u in ektorija z implicitno podanim hitrostnim profilom. Robot ne celotne krivulje. mora po trajektoriji voziti z referenčno hitrostjo: Pri testiranju pravilnega delovanja algoritma na Lisq sajousovih krivuljah ob vključitvi vseh omejitev sem na2 2 v(t) = ẋp (u(t)) + ẏp (u(t)) u̇(u) = vp (u)u̇(u) (3) letela na dve težavi pri določanju optimalnega razporeda V zavojih na poti mora robot zaradi večjih radialnih po- u̇(u) preko prelomnih točk, zato je bilo potrebno prilaspeškov voziti počasneje, zato definiramo t.i. prelomne goditi določene parametre (enačbi 1 in 2). Prva težava je točke (TP, iz ang. turning points). V teh prelomnih točkah napačna določitev optimalnega razporeda u̇(u) v primeje absolutna vrednost ukrivljenosti lokalno največja in tran- rih, ko je zaradi napačne minimizacije posameznih proslatorna hitrost lokalno najmanjša. Določiti hitrostni pro- filov v okolici posamezne TP minimalni razpored prelofil pomeni določiti profil u̇(u), ki ga izračunamo z nu- mne točke zaobšel. Algoritem ni zmožen določiti najmeričnim reševanjem diferencialne enačbe 2. reda v iz- manjšega profila v primerih, kjer se zaradi kršitve omejirazu 4, kjer navednice označujejo odvod po u, pike pa tve pospeška prekine reševanje diferencialne enačbe (izodvod po t. Začetna pogoja u(t) in u̇ sta določena s raz 4) in se lahko posamezni razporedi u̇(u) v okolici posameznih TP ne sekajo (slika 1). V nekaterih primerih se položajem posamezne prelomne točke uT P i . s je zgodilo, da je profil hitrosti ves čas (z izjemo začetnega ′2 2 4 (x′2 1 p + yp )κp u̇ in končnega pospeševanja) enak maksimalni dovoljeni hi− ü = ±aM AXt ′2 x′2 a2M AXr trosti. To nam pove, da oblika krivulje dovoljuje večje p + yp (4) hitrosti ter bi bilo smiselno za boljšo učinkovitost izbrati ′ ′′ ′ ′′ xp xp + yp yp 2 u̇ − vozilo z večjimi vrednosti parametrov. ′2 x′2 p + yp Testiranje algoritma sem vedno pričela z naslednjimi dinamičnimi omejitvami ter jih po potrebi spreminjala in m m prilagajala: vmax = 1.5 m s , vSP = 0.2 s , vEP = 0.1 s , m m aM AXt = 2 s2 in aM AXr = 4 s2 . Za omejitve hitrosti sem izbrala smiselne vrednosti glede na dimenzije krivulj v ravnini in dinamične omejitve robota. Omejitvi tangencialnega in radialnega pospeška sem izbrala na podlagi izmerjenih dinamičnih omejitev mobilnih robotov v Laboratoriju za avtomatiko in kibernetiko [2]. Preizkus pravilnosti delovanja sem opravila na treh družinah parametričnih krivulj: Lissajousovih krivuljah, Bezierovih krivuljah in klotoidah. Bezierove krivulje in klotoide so pogosti predstavniki krivuljnih primitivov pri planiranju poti avtonomnih mobilnih sistemov [3, 9]. Lissajousove krivulje pa so kompleksne in imajo lahko številne zavoje, zato so koristne pri preizkušanju robustnosti algoritma. Pri načrtovanju poti avtonomnih mobilnih sistemov so uporabljajo predvsem zato, ker predstavljajo gladko pot brez ostrih zavojev in so večinoma zaprte, zato ni potrebno načrtovati vožnje v nasprotni smeri [10]. 3.1 Lissajousove krivulje Lissajousove krivulje so družina krivulj, ki nastanejo zaradi kompleksnega harmonskega nihanja, ki izhaja iz dveh med seboj pravokotnih si smeri. Oblika krivulje je zelo občutljiva na razmerje ti. frekvenc (konstanti a in b v enačbi 4), ki določata število zavojev. Parameter δ določa navidezni kot zasuka krivulje. Splošen zapis krivulje v parametrični obliki je: x = A sin (at + δ), y = B sin (bt) (5) Če omejitev hitrosti ni vključena, lahko na večini primerov krivulj določimo optimalni hitrostni profil. V nekaterih primerih se je pojavila težava, ko je algoritem generiral hitrostni profil, kljub temu, da razpored u̇(u) ni bil 454 Slika 1: Optimalno določen razpored u̇(u) 3.2 Bezierove krivulje Bezierove krivulje so družina krivulj, ki jih določajo kontrolne točke Pi . Splošen zapis krivulje v parametrični obliki, kjer so bi,n Bernsteinovi bazni polinomi, je: B(t) = n X Pi bi,n (t) (6) i=0 Uspešnost izračuna optimalnega hitrostnega profila ter težave, ki so s tem povezane, so tako kot pri Lissajousovih krivuljah povezane z minimizacijo posameznih profilov in pa nepopolnim razporedom u̇(u). Pri Bezierovih krivuljah sem opazila še občutljivost algoritma na lego prelomnih točk. To se je zgodilo pri izbranih vrednostih začetne in končne hitrosti, ki prispevata skupaj dve novi prelomni točki. Ko so vmesne prelomne točke (prva in/ali zadnja vmesna) preblizu prelomnih točk z začetno/končno hitrostjo, razpored u̇(u) ne poteka preko vseh prelomnih točk. V tem primeru algoritem še vedno določi pravilen najmanjši profil. Lahko pa do neke mere upoštevajoč karakteristike robota prilagodimo vrednost začetne in končne hitrosti za pridobitev razporeda u̇(u), ki prevozi vse prelomne točke. 3.3 Klotoide Klotoida (znana tudi kot Eulerjeva spirala) je krivulja, katere ukrivljenost se spreminja linearno vzdolž njene dolžine L in spada med spirale. Splošen zapis krivulje v parametrični obliki je: Z S(L) = 0 L sin (t2 )dt, C(L) = Z L cos (t2 )dt (7) Če omejitev hitrosti ni vključena, algoritem ne izračuna optimalnega hitrostnega profila, saj na krivulji ni točk z lokalno maksimalno ukrivljenostjo (ukrivljenost narašča vzdolž krivulje), na katerih temelji algoritem za izračun hitrostnega profila. Ob vključitvi omejitve hitrosti pa prelomni točki, ki ju prispevata začetna in končna hitrost, omogočata uspešno določitev optimalnega hitrostnega profila. Tako kot pri drugih dveh družinah parametričnih krivulj, sem pri klotoidah zasledila težave z nepopolnim razporedom u̇(u). 3.4 Izboljšave algoritma Težava, ki nastopi pri Lissajousovih in Bezierovih krivuljah zaradi napačne minimizacije posameznih profilov v okolici TP, je posledica postopka integracije, ki ni pogojen z bližino sosednje TP. Zato se posamezni profili iz prelomne točke lahko izračunavajo in izrisujejo tudi za lego sosednje prelomne točke (slika 2a) in posledično minimalni razpored u̇(u) na nekaterih delih zaobide prelomne točke. To rešimo z vpeljavo pogoja prekinitve reševanja diferencialne enačbe v bližini sosednje prelomne točke. Parameter, ki pogojuje prekinitev izračuna u̇(u), mora biti sorazmeren intervalu, na katerem je izbrana krivulja definirana. Izrazita občutljivost parametra se je pokazala pri točkah, katerih sosednja točka je prispevek začetne oz. končne hitrosti. Slika 2b prikazuje pravilno določen optimalen razpored u̇(u) po vpeljavi pogoja prekinitve. Poleg vpeljave pogoja prekinitve izračuna razporeda u̇(u) v bližini sosednjih TP, sem algoritem izboljšala z vpeljavo spodnje meje ukrivljenosti, ki preprečuje zaznavo napačnih prelomnih točk (zelo majhne razlike v ukrivljenosti). 4 (a) (b) 0 Analiza drugih algoritmov Za primerjavo med rezultati, ki jih generira naš algoritem (v nadaljevanju Algoritem 1) in rezultati drugih algoritmov, ki generirajo hitrostne profile na dani poti, sem izbrala: algoritem za izračun hitrostnega profila z omejitvami hitrosti, tangentnega in radialnega pospeška in tangentnega trzaja (v nadaljevanju Algoritem 2) [11] in algoritem za izračun trajektorije z omejitvami hitrosti, pospeška in minimizacijo trzaja (v nadaljevanju Algoritem 3) [12]. Pri obeh algoritmih sem analizirala postopek izračuna, dinamičnih omejitev ter primerjala dobljene hitrostne profile na posameznih krivuljah. 455 Slika 2: Optimalno določen razpored u̇(u) pred (a) in po (b) vpeljavi izboljšave 4.1 Algoritem za izračun hitrostnega profila Algoritem [11] generira hitrostni profil poti glede na izbrane dinamične omejitve. Pot je potrebno podati v obliki treh vektorjev (smer gibanja, ukrivljenost poti, kumulativna dolžina poti). Ko je pot razdeljena na zavoje in ravne črte, je lahko hitrost v zavojih omejena z udobnim radialnim pospeškom. V primeru ravnih črt pa ostale dinamične omejitve vplivajo na referenčno hitrost, in sicer: najvišja hitrost, tangencialni pospešek in trzaj [11]. Delovanje algoritma povzema tabela 1. Tabela 1: Delovanje algoritma po korakih. Korak 1 2 3 4 5 6 7 4.2 Trzaj jM AX 0 −jM AX 0 −jM AX 0 jM AX Pospešek 0 → aM AXt aM AXt aM AXt → 0 0 0 → −aM AXt −aM AXt 0 → −aM AXt Hitrost vSP vSP → vM AX vSP → vM AX vM AX vM AX → vEP vM AX → vEP vEP Algoritem za izračun trajektorije z minimizacijo trzaja Algoritem za izračun trajektorije z minimizacijo trzaja [12] izriše potek hitrosti, pospeška in poti glede na lego izbranih točk. Poleg poti podane v obliki vmesnih točk, je potrebno podati še pričakovan čas prihoda v posamezno točko. Dinamične omejitve zajemajo le maksimalno hitrost in pospešek v začetni in končni točki. V izračunu je implementirana minimizacija trzaja, kar pomeni, da vrednost največje dovoljene vrednosti trzaja ni nastavljiva. Ker je eden izmed vhodnih podatkov pričakovan čas prihoda v točko na krivulji, algoritem generira poljuben hitrostni profil, zato tudi ni ravno uporaben v naši aplikaciji, kjer časovni trenutki, ob katerih bi mobilni robot dosegel določene položaje na dani poti, niso vnaprej znani. Kljub temu sem se odločila algoritem uporabiti za generiranje profila pospeška na podlagi profila hitrosti, ki ga je generiral Algoritem 1, saj sem želela dobljene rezultate validirati. 4.3 Primerjava algoritmov in komentarji Algoritem 2 in Algoritem 3 sta prosto dostopna na spletu. Implementacija algoritmov iz drugih akademskih člankov pa bi bila zahtevna in dovzetna za napake in slabše delovanje kot v resnici. Algoritem 1 in Algoritem 2 imata podobne vhodne parametre, le da slednji vključuje omejitev trzaja. Zato sem za smiselno primerjavo rezultatov podala visoko omejitev maksimalnega trzaja. Medtem pa Algoritem 3 potrebuje poleg poti tudi pričakovane čase prihoda v točke poti ter zato generira poljuben hitrostni profil. Hitrostni profil Algortima 2 doseže nižjo maksimalno hitrost in potrebuje več časa za vožnjo v primerjavi s hitrostnim profilom Algortima 1 (slika 3). Algoritem 2 določi maksimalno hitrost profila kot največjo dovoljeno hitrost v najbolj ukrivljeni prelomni točki krivulje glede na izbrane dinamične omejitve. Če z najvišjo doseženo hitrostjo, ki jo Algoritem 2 določi, omejimo hitrost pri Algoritmu 1, dobimo popolnoma enaka profila hitrosti. Zato hitrostni profil, ki ga Algoritem 2 generira, ni časovno optimalen. Če bi hitrostni profil določili za vsako prelomno točko posebej in nato sestavili skupni profil, bi dobili bolj optimalen profil. 5 Zaključek Članek opisuje implementacijo algoritma, ki na vnaprej določeni poti izračuna časovno optimalen hitrostni profil za avtonomna vozila. Pri načrtovanju časovno optimalnega hitrostnega profila so upoštevane omejitve hitrosti in omejitve tangentnega in radialnega pospeška. Rezultat našega algoritma za generiranje hitrostnega profila je časovno optimalni hitrostni profil, rezultat algoritma za izračun hitrostnega profila (Villagra, Milanés, Pérez, Godoy) pa enostaven trapezoidni hitrostni profil, ki pa ne zagotavlja časovne optimalnosti, saj hitrost voznje prilagodi zavoju z največjo ukrivljenostjo. Potek profila hitrosti bi lahko izboljšali s segmentacijo poti. Medtem algoritem za izračun trajektorije z minimizacijo trzaja (Alkomy) generira poljuben hitrostni profil in je uporaben pri enostavnih primerih. Naš algoritem za generiranje hitrostnega profila bi bil uporaben na primer pri načrtovanju časovno minimalnega gibanja avtonomnih mobilnih robotov v skladiščih, kjer se roboti gibljejo po vnaprej določenih poteh. Zahvala Iskreno se zahvaljujem svoji mentorici as. raz. Martini Benko Loknar za vse strokovne nasvete in velikodušno vsestransko pomoč v času izdelave seminarske naloge in članka. Zahvaljujem se tudi prof. dr. Gašper Mušiču, ki je nosilec predmeta Seminar iz inteligentnega vodenja, pri katerem je članek nastal. Literatura [1] G. Klančar, A. Zdešar, S. Blažič, and I. Škrjanc, Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systems. 2017. [2] M. Lepetič, G. Klančar, I. Škrjanc, D. Matko, and B. Potočnik, “Time optimal path planning considering acceleration limits,” Robotics and Autonomous Systems, vol. 45, no. 3-4, pp. 199–210, 2003. Slika 3: Hitrostni profil Algoritma 1 (zgoraj) in Algoritma 2 (spodaj) na enaki krivulji z enakimi dinamičnimi omejitvami Za validacijo naših rezultatov sem s pomočjo Algoritma 3 generirala profil pospeška za hitrostna profila pred in po vpeljavi pogoja prekinitve integracije v bližini sosednjih TP. Pred vpeljavo pogoja je skupni pospešek presegel mejo maksimalnega pospeška v prelomnih točkah, skozi katere razpored u̇(u) ni potekal, po vpeljavi pa ves čas znotraj meja. Ker izbrano programsko okolje omogoča časovno analizo algoritma, sem preverila, kateri izračuni so časovno najbolj potratni. Pri Algoritmu 2 je bila časovno najbolj potratna simulacija modela (ni znano kateri procesi znotraj simulacije), izračuni so trajali nekaj sekund. Izračuni v Algoritem 3 pa so trajali nekaj minut kljub manjšemu številu vzorcev. To je posledica računanja časovnih funkcij pozicije, hitrosti in pospeška v izbranem formatu. Zmogljivost programskega okolja omejuje število točk, ki jih lahko podamo v Algoritem 3, zato je algoritem uporaben za bolj enostavne primere z nekaj točkami. 456 [3] A. Zdešar and I. Škrjanc, “Optimum velocity profile of multiple Bernstein-Bézier curves subject to constraints for mobile robots,” ACM Transactions on Intelligent Systems and Technology, vol. 9, no. 5, 2018. [4] T. Lipp and S. Boyd, “Minimum-time speed optimisation over a fixed path,” International Journal of Control, vol. 87, no. 6, pp. 1297–1311, 2014. [5] L. Consolini, M. Locatelli, A. Minari, A. Nagy, and I. Vajk, “Optimal Time-Complexity Speed Planning for Robot Manipulators,” IEEE Transactions on Robotics, vol. 35, no. 3, pp. 790–797, 2019. [6] L. Qinghe, L. Haiwei, W. Yao, Z. Lijun, and M. Conggan, “An Optimal Trajectory Planning for Autonomous Vehicles Based on Vehicle Dynamics Constraints,” 3rd Conference on Vehicle Control and Intelligence, CVCI 2019, pp. 1–6, 2019. [7] D. González, J. Pérez, V. Milanés, and F. Nashashibi, “A Review of Motion Planning Techniques for Automated Vehicles,” IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 4, pp. 1135–1145, 2016. [8] M. Brezak and I. Petrović, “Time-optimal trajectory planning along predefined path for mobile robots with velocity and acceleration constraints,” IEEE/ASME International Conference on Advanced Intelligent Mechatronics, AIM, no. 1, pp. 942–947, 2011. [9] H. Marzbani, M. Simic, M. Fard, and R. N. Jazar, “Better road design for autonomous vehicles using clothoids,” Smart Innovation, Systems and Technologies, vol. 40, pp. 265–278, 2015. [10] A. V. Borkar, A. Sinha, L. Vachhani, and H. Arya, “Application of Lissajous curves in trajectory planning of multiple agents,” Autonomous Robots, vol. 44, no. 2, pp. 233– 250, 2020. [11] J. Villagra, V. Milanés, J. Pérez, and J. Godoy, “Smooth path and speed planning for an automated public transport vehicle,” Robotics and Autonomous Systems, vol. 60, no. 2, pp. 252–265, 2012. [12] Hassan Alkomy, “A General Multi-Segment Minimum Jerk Trajectory Toolbox (V1),” 2021. 457 Kombinirana metoda za antropomorfno teleoperiranje robotske roke z nosljivimi inercialnimi senzorji Domen Ulbl1 1 Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru E-pošta: domen.ulbl@.um.si Combined Method of Antropomorphic Robotic Arm Teleoperation using inertial Sensors Abstract. One useful way of robotic arm control is gesture based teleoperation. In such cases it is desirable that the robot moves in an antropomorphic way and closely mimics human motion. In our project we used three Myo sensor bracelets to capture human arm motion, which was used to control a simulated model of Kinova Mico robotic arm. We presented a combined control algorithm composed from direct mapping of human arm poses to robotic joint coordinates and control of robotic end effector orientation via inverse kinematics calculation. The system was implemented in Matlab, ROS and CoppeliaSim simulation environment. The algorithm performance was tested by orientation comparison of human and robot arm segments. 1 Uvod Uporaba robotov se vsako leto širi in posega v nova področja človekovega življenja. Pri tem je velikokrat potrebno, da robote nadzirajo ljudje brez specializirane izobrazbe. Eden izmed alternativnih načinov nadzora robota je teleoperacija robota, kjer uporabnik vodi robota na daljavo. Uporaba kretenj pri interakciji z roboti je koristna, ko roboti sodelujejo z ljudmi v okoljih, ki so v prvi vrsti namenjena za ljudi. V takšnih okoljih želimo, da je gibanje robotov t. i. antropomorfno, gibanje robota naj torej sledi človeškemu gibanju. Kretnje uporabnika lahko služijo kot navodilo za direktno teleoperacijo. Cilj je razviti svoj sistem za vodenje robotske roke na podlagi kretenj človeške roke. Glavni problem je zasnovati algoritem, ki bo upošteval razlike v kinematični zgradbi človeške in robotske roke. V tem članku gibanje človeške roke zajamemo z nosljivimi inercialnimi senzorji. Algoritem vodenja za antroporfmno teleoperiranje smo zasnovali za šest-osno robotsko roko. Testiranje smo opravili na modelu robotske roke Kinova Mico [1], ki ima specifično kinematično strukturo. Zaradi razlik v geometriji in kinematični zgradbi lahko človeška roka izvede gibe, ki jim takšen šest-osni robot ne more popolnoma slediti. Z zasnovo algoritma vodenja želimo to razliko premostiti tako, da se bosta konfiguracija robotskega mehanizma in lega konca mehanizma čim bolj ujemali s konfiguracijo in lego konca človeške roke. ERK'2021, Portorož, 458-461 458 2 Robotska roka Kinova Mico Robotska roka Mico, kanadskega podjetja Kinova, je namenjena pomoči gibalno oviranim osebam in raziskavam. Gre za šest-osno robotsko roko z dosegom 70 cm. Posebnost je ukrivljeno tri-osno zapestje, pri katerem se rotacijske osi na sekajo v isti točki. Kinematični model robotske roke je podan z Denavit Hartenbergovi parametri, ki so dostopni v viru [1]. Na sliki (Slika 1) je prikazan robot z označenimi koordinatnimi sistemi DH modela. Slika 1: Kinova Mico z označenimi koordinatnimi sistemi in smermi zasuka sklepov (povzeto po [1]) 3 Metoda antropomorfnega teleoperiranja Metoda antropomorfnega teleoperiranja kombinira dva pristopa. Prvi del na podlagi konfiguracije modela človeške roke neposredno določi sklepne koordinate prvih treh segmentov robotske roke. Cilj je zagotoviti čim bolj antropomorfno konfiguracijo robotske roke in tudi primerno položajno ujemanje robotskega zapestja s človeško roko. Drugi del metode implementira vodenje orientacije, ki skrbi, da se orientacija prijemala robotske roke čim bolje ujema z orientacijo dlani človeške roke. 3.1 Poenostavljen kinematični model človeške roke V literaturi [2] je človeška roka modelirana kot redundantna kinematična veriga s 7 prostostnimi stopnjami oz. rotacijskimi sklepi. V tem članku za zajem gibanja človeške roke uporabimo tri senzorske zapestnice Myo [3], ki vključujejo IMU enote, s katerimi zagotavljajo informacijo o lastni 3D orientaciji glede na zunanji referenčni koordinatni sistem  B . Uporabnik ima nameščene tri zapestnice na nadlakti ( M 1  ), podlakti ( M 2  ) in dlani ( M 3  ) (Slika 2). Orientacija M 1  na sliki (Slika 2) sovpada z orientacijo 1 in je glede na 0 izražena z R 1 , ki jo 0 lahko direktno uporabimo v (2). Orientaciji zapestnice M 2  oz. M 3  na sliki (Slika 2) sovpadata z orientacijo 1 2 oz. i 1 J1 , J2 in J3 . Matematično je opisan s homogenimi transformacijskimi matrikami med koordinatnimi sistemi 0 (trup), 1 (nadlaket), 2 (podlaket), 3 (dlan) in dodatnim pomožnim orodnim koordinatnim sistemom E  kot je prikazano na spodnji sliki (Slika 3). Slika 3: Pomožni kinematični model človeške roke Koordinatni sistem 0 je izhodiščni koordinatni sistem trupa. Predpostavljamo, da je orientacija 0 sovpada z orientacijo  B . Vektorji p1 , p 2 in p 3 so izraženi v na 0 . Iskani matriki R 2 oz. R 3 lahko nato izračunamo po enačbi (3): Slika 2: Namestitev zapestnic Myo na roki uporabnika Za opis konfiguracije človeške roke na podlagi zajetih orientacij iz zapestnic in za snovanje metode teleoperiranja smo sestavili pomožni kinematični model človeške roke predstavljen na sliki spodaj (Slika 3). Sestavljen je iz fiksnega baznega člena in treh gibljivih segmentov dolžine L1 , L2 in L3 ter treh sferičnih sklepov 3 glede 2 R i  0 R Ti 1  0 R i , (3) kjer je i  2, 3 . Pomožni orodni koordinatni sistem  E smo uvedli, da poenotimo lego konca človeške in robotske roke in je fiksno pritrjen na 3 . Celotni poenostavljen kinematični model izraža lego E   glede na 0 in se izračuna kot (4): 0 3.2 TE  0 T1  1 T2  2 T3  3 TE . (4) Preslikava osnovne poze človeške roke Koti 1 , 2 in  3 določajo zasuke 1., 2. in 3. sklepa robotske roke Kinova Mico, kot je to prikazano na sliki (Slika 1). Njihov doprinos v veliki meri določa pozicijo konca robotske roke. Sklepni koti 4 ,  5 in 6 pa bistveno vplivajo na končno orientacijo robotske roke. Če želimo zagotoviti antropomorfno preslikavo in ustrezno položajno ujemanje robotske roke s človeško roko, lahko to dosežemo tako, da na nek optimalen način preslikamo osnovno pozo človeške roke v minimalno konfiguracijo prvih treh segmentov robotske roke. Pravila za določitev sklepnih koordinat 1., 2. in 3. robotske roke lahko določimo neposredno na podlagi primerjave njene kinematične zgradbe s kinematičnim modelom človeške roke. V ta namen na pomožnem kinematičnem modelu definiramo projekcijske kote  1 , 1 ,  2 in  2 , ki so grafično predstavljeni na sliki (Slika 4). koordinatnih sistemih 1 , 2 in 3 i pi    Li 0 0 , T (1) kjer je i  1, 2, 3 . Relativne lege zaporednih koordinatnih sistemov zapišemo s transformacijskimi matrikami (2), i 1  Ri Ti    0 i 1  i 1 R i pi   R i  1   0 i i 1 pi   , (2) 1  Slika 4: Projekcijski koti pomožnega kinematičnega modela i 1 Pripadajoči enačbi za določitev projekcijskih kotov sta: tan i  kjer je i  1, 2, 3 . tan i  459 i 1 piz i 1 piy i 1 i 1 pix , pix2  i 1 pi2y , (5) (6) Slika 5: Blokovna shema vodenja za teleoperacijo robotske roke kjer je i  1, 2 . Projekcijske kote  1 , 1 , in  2 potem lahko preslikamo v sklepne koordinate 1 , 2 in  3 robotske roke Kinova Mico. 3.3 Algoritem za kinematično vodenje orientacije Za nastavitev orientacije konca robota potrebujemo algoritem, ki bo orientacijo robotskega konca usklajeval z orientacijo dlani človeške roke. Orientacijska skladnost je izjemno pomembna za praktične manipulacijske naloge pobiranja in odlaganja objektov ipd. V tem članku za zagotavljanje orientacijske skladnosti predlagamo numerični algoritem inverzne kinematike, ki izhaja iz postopka v viru [4]. Orientacijo dlani človeške roke  E izrazimo s kvaternionom Q h , orientacijo konca robotske roke pa izrazimo kot Q r . Z uporabo pravil za kompozicijo rotacij in množenje kvaternionov izračunamo pogrešek orientacije (7), Q    ,   )  Qh  Qr1 (7) kjer sta  in   skalarni in vektorski del kvaterniona. Ko sta orientaciji enaki ima kvaternion pogreška vrednost Q  1, 0, 0, 0 . Koncept algoritma kinematičnega vodenja orientacije je podan z enačbo (8): θ  J* (θ)  K  e , (8) kjer je: θ izračunana (želena) sklepna hitrost robotske roke, J * (θ) generalizirani inverz geometrijskega Jacobijeve matrike robotskega mehanizma, K pozitivno definitna diagonalna matrika in e pogrešek lege v zunanjih koordinatah. Diagonalni elementi matrike K , katerih vrednosti ustrezno izberemo, predstavljajo ojačenje v shemi kinematičnega vodenja. Za izračun generaliziranega inverza Jacobijeve matrike J* uporabimo metodo dušenih najmanjših kvadratov (DLS) [5]: J * = J T (JJ T + k 2 I)-1 . (9) 460 Faktor k tukaj določa hitrost konvergence rešitve in stabilnost v bližini singularnih leg. Visoka vrednost bo zagotovila stabilnost, ampak znižala hitrost konvergence. Pogrešek e ima dimenzije 6  1 in vsebuje samo orientacijski pogrešek iz (7), kot določa naslednja enačba e   0 0 0  1   2   3  . T V vsakem tk 1  tk  t (10) koraku izvedbe algoritma vodenja iz sklepnih hitrosti θ izračunamo nove sklepne koordinate z numeričnim integriranjem (11). θ(tk 1 )  θ(tk )  θ (tk )t 3.4 (11) Kombinirana shema vodenja za teleoperacijo Metoda vodenja kombinira direktno preslikavo kotov in algoritem vodenja orientacije. Preko zapestnic pridobimo podatek o orientacijah posameznih delov človeške roke ( OM ). Blok lim. izvede omejevanje spremembe orientacije ( O L ). V bloku IK izračunamo projekcijske kote pomožnega kinematičnega modela φ   1 ,  1 ,  2 ,  2  , ki jih v bloku map preslikamo v sklepne koordinate robotske roke ( θ1:3 ). Na podlagi trenutne orientacije konca človeške roke OE in konca robotske roke O R izračunamo pogrešek orientacije O . Sledi izračun želenih sklepnih hitrosti z enačbami (8)-(11). Vektor sklepnih hitrosti razdelimo na dva dela. Prvi del θ 1:3 pomnožimo z t , kar predstavlja popravek kotov θ1:3 zaradi zagotavljanja boljše skladnosti orientacije. Drugi del θ 4:6 pa integriramo, da izračunamo nove sklepne koordinate zapestja θ4:6 . Cel vektor θ natančno določa lego robotske roke, pozicijo pr in orientacijo Or . Konec robotske roke uporabnik opazuje in jo po potrebi prilagaja s korekcijskim gibanjem svoje roke. 4 Rezultati Predlagano metodo smo testirali v hibridnem računalniškem simulacijskem okolju, kjer smo algoritem vodenja implementirali v Matlabu, virtualno simulacijo robotske roke izvedli s programskim paketom CoppeliaSim, nosljive senzorske zapestnice Myo pa priključili preko brezžične Bluetooth povezave in sistema ROS. Testiranje delovanja je obsegalo premik uporabnikove roke v več značilnih poz in opazovanje lege in konfiguracije robotske roke. V simulaciji prikazujemo pomožni kinematični model človeške roke (svetlo sivo-moder), ki sledi izvornim orientacijam zapestnic OM , in rumen model, ki sledi omejevanim orientacijam O L . Na sliki (Slika 6) so predstavljeni različni trenutki v poteku simulacije. Slika 6: Ključne lege na primeru teleoperacije s predlagano shemo vodenja Na izseku 1 je uporabnik v procesu inicializacije zapestnic iztegnil svojo roko. Na izseku 2, 3 in 4 testiramo ujemanje orientacije nadlakti oz. podlakti z robotskimi segmenti. Nastavljamo jo z direktno preslikavo kotov. Orientacijo konca robota testiramo v izseku 5 in jo nastavljamo z algoritmom iz en. (8), (9) in (11). V izseku 6 se orientacije 2. in 3. robotskega člena ujemata z orientacijama podlakti in nadlakti, konec robotske roke zaostaja za koncem modela človeške roke. Na sliki (Slika 7) smo izrisali orientacijske Eulerjeve kote ZYX posameznih segmentov človeške (črtkana črta) in robotske roke (polna črta). Na grafu a) vidimo, da se orientacija nadlakti dobro ujema v Y in Z osi, rotacije okoli X osi pa robot zaradi svoje zgradbe ne more posnemati. Orientacija podlakti na grafu b) se dobro ujema le v Y osi, ker je ta poravnana z osjo 3. robotskega sklepa. Orientacija konca robota v c) se dobro ujema z orientacijo človeške dlani. Pri hitrejših spremembah orientacije človeške dlani opazimo počasnejši odziv zaradi hitrosti konvergence algoritma vodenja orientacije. Hitrost odziva izboljšamo z nastavitvijo ojačenja K v (8) in dušenja k v (9). 5 Zaključek Predstavljena metoda za direktno teleoperacijo omogoča izbiro približno antropomorfnih konfiguracij uporabljene robotske roke in sledenje v okviru njenih kinematičnih omejitev. Direktna preslikava kotov iz v grobem in hitro določi osnovno konfiguracijo robotske roke, ki jo z vodenjem orientacije konca natančneje prilagodimo. Nadaljnje delo obsega testiranje metode pri izvedbi praktičnih nalog, kot je na primer pobiranje predmetov, kjer poleg antropomorfne konfiguracije želimo nadzirati tudi pozicijo konca robotske roke. Metoda je zasnovana tako, da bi jo lahko ob manjših prilagoditvah v prihodnje prenesli tudi na 7-osno robotsko roko, ki pa zaradi svoje redundantne kinematične zgradbe omogoča bistveno višjo stopnjo antropomorfnega gibanja. Zahvala Iskreno se zahvaljujem mentorju izr. prof. dr. Alešu Hacetu za strokovno pomoč in vodenje pri pisanju tega članka. Literatura Slika 7: Primerjava orientacij segmentov človeške in robotske roke, predstavljenih z Eulerjevimi ZYX koti. a) nadlaket in 2. člen robotske roke b) podlaket in 3. člen robotske roke c) dlan in robotsko prijemalo 461 [1] K. Inc., Kinova SDK . User Guide, 2015 [2] A. M. Zanchettin, Kinematic motion analysis of the human arm during a manipulation task. 2010, str. 1-6. [3] T. L. Inc. Myo SDK Manual. 0.9.0. 2013 [4] B. Siciliano, Robotics Modelling, Planning and Control: Springer-Verlag London Limited, 2009. [5] S. R. Buss, Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares methods, University of California, 2009 Optimizacija receptov hladnega valjanja na podlagi analize zgodovinskih podatkov Kristjan Cuznar Univerza v Ljubljani, Fakulteta za elektrotehniko Odsek za sisteme in vodenje, Institut “Jožef Stefan” E-pošta: kc8861@student.uni-lj.si Optimization of cold rolling process recipes based on historical data Cold rolling is one of the most important processes in sheet metal production and is used for reducing thickness, making thickness uniform and ensuring appropriate mechanical properties of the workpiece. In order to ensure appropriate quality of the product, it is extremely important to adjust rolling mill properly. This is usually set by using the recipes that define rolling settings for wider range of similar material types. We propose a decission support tool that enables recipe adaptation for individual workpieces. The tool is based on the analysis of historical process data and their impact on the associated key performance indicators (KPIs). Support tool includes data-based process model of cold rolling mill and multi-objective optimization algorithm. 1 Uvod Podjetja so na vedno bolj zahtevnem trgu primorana poiskati nove načine za povečanje svoje konkurenčnosti. Kakovost proizvodov in produktivnost procesa sta pomembna dejavnika uspešnosti podjetja, katerima se zaradi naraščajočega konkurenčnega pritiska posveča vedno več pozornosti. Ker so specializirani procesi prilagojeni željam končnih kupcev, je kljub znanju ekspertov na dotičnih področjih potrebno optimizirati nastavitve proizvodnega procesa ter jih sproti prilagajati aktualnim razmeram. Ena izmed rešitev se ponuja v digitalizaciji proizvodnih procesov, kjer z dodajanjem kompleksnih senzorskih sistemov dosežemo podrobnejši vpogled v proizvodno dogajanje. Na podlagi zgodovinskih podatkov, ki razkrivajo trenutno stanje procesa, je z uporabo statističnih analiz in metod strojnega učenja [1] (ang. machine learning) možno identificirati matematične modele, ki jih lahko uporabimo za spremljanje opreme [2] (ang. equipment monitoring), prediktivno vzdrževanje [3] (ang. predictive maintenance), idr. Modeli nam omogočajo tudi identifikacijo najboljših nastavitev oz. receptov procesa, s katerimi sta bili doseženi najvišji meri kakovosti in produktivnosti. Recepti so na obravnavani valjavski napravi enaki za širšo paleto kolobarjev in se v trenutni proizvodni praksi delno prilagajajo z uporabo interpolacije, s čimer pa ni moč doseči popolne prilagojenosti aktualnim razmeram. Pridobljeno znanje ERK'2021, Portorož, 462-465 462 na podlagi analize zgodovinskih podatkov lahko uporabimo za optimizacijo receptov procesa (ang. process recipe optimization), ki bodo v prihodnje zagotavljale čim bolj učinkovito delovanje procesa. Članek je razdeljen na šest poglavij. Naslednje poglavje podrobneje predstavi proces hladnega valjanja, ki je bil predmet analiz. V tretjem poglavju sta predstavljeni metodologija dela in optimizacija parametrov recepta na realnem primeru. Četrto poglavje predstavlja rezultate identificiranega modela in vpliv optimiziranih receptov na kakovost in produktivnost procesne linije, v petem poglavju pa je predstavljeno še razvito uporabniško orodje. Zaključki so podani v zadnjem poglavju. 2 Hladno valjanje pločevine z valjavskim ogrodjem Sendzimir Obravnavan proces je valjavska naprava Sendzimir oz. ZRM [4, str. 527–530], ki je namenjena za hladno valjanje zelo tankih in trdih pločevin. Shematsko je prikazana na sliki 1. F F1 F2 Slika 1: Valjavska naprava Sendzimir. Kolobar (pločevina navita v kolut) se iz enega navijalnika odvija skozi valjavsko ogrodje, kjer se stanjša na želeno debelino, in navija na drugem navijalnem kolutu. Ker je želena redukcija (odvzem debeline materiala) navadno večja, kot je mogoče doseči z enim prehodom (prevlekom) skozi valje, se v praksi to rešuje z več zaporednimi valjanji. Vzdolžni profil, tj. debelina obdelovanca, se spreminja [5] z gibanjem opornih valjev v prvem nivoju, s katerimi nastavljamo odmik med delovnima valjema – režo (ang. gap). Glede na razred trdnosti obdelovanca ter začetno in končno (oz. ciljno) debelino kolobarja se določi plan ozi- roma recept valjanja, katerega definirajo: • minimalna vrednost in • redukcija (odvzem materiala), • maksimalna vrednost. • hitrost valjanja, • sili natega vhodnega in izhodnega navijalnika (F1 in F2 ) in • začetna sila stiskanja (F ), ki v splošnem vpliva na druge kazalnike učinkovitosti, s katerimi se ne ukvarjamo. 3 Optimizacija parametrov recepta S podrobno analizo preteklih procesnih razmer in pripadajočih kazalnikov učinkovitosti lahko identificiramo vplive nastavitev procesa (receptov) in procesnih spremenljivk na kakovost produkta ter jih zapišemo v obliki matematičnih modelov. Le-te pa lahko v naslednji fazi uporabimo za optimizacijo parametrov recepta. Parametri recepta, ki jih želimo prilagoditi z namenom optimizacije kakovosti in produktivnosti procesne linije, so hitrost valjanja (v) in sili natega vhodnega (F1 ) ter izhodnega (F2 ) navijalnika. Značilko kakovosti smo definirali kot absolutno vrednost izhodnega odstopanja debeline od reference, stopnjo produktivnosti pa predstavlja hitrost valjanja. Posamezni koraki za doseganje cilja so bolj podrobno opisano v sledečih podpoglavjih. 3.1 Predpriprava podatkov Podatki, ki smo jih pridobili iz podatkovne baze so vzorčeni s časovnim intervalom 0.01 s, zato smo jih zaradi sistematičnega pristopa pretvorili iz časovnega prostora v prostor razdalje in s tem zagotovili primerljivost značilk pri različnih hitrostih valjanja. Uporabljen je pristop za pretvorbo, kjer razdaljo ocenjujemo preko integriranja hitrosti (v) po času (t), kar je nakazano v enačbi (1). 0 Z n(t0 ) t0 v(t) · dt ≈ d(t ) = t0 X v(i) · ∆t. (1) Zaradi narave procesnih veličin, ki nastopajo v zelo različnih velikostnih razredih in merskih enotah, lahko izgubimo informacijo o pomembnosti posameznega atributa, zato jih je v izogib temu potrebno skalirati [6, str. 113–115], kar navadno dosežemo z normalizacijo ali standardizacijo. 3.2 Identifikacija modela Relacijo med vhodnimi spremenljivkami (značilkami) in značilko kakovosti smo želeli zapisati v obliki modela črne škatle (ang. black box), s katerim bi lahko na podlagi razpoložljivih procesnih podatkov sklepali na kakovost produkta. Diagram poteka modeliranja prikazuje slika 2, v naslednjih odstavkih pa so predstavljene osnovne ideje glavnih korakov. Uvoz značilk Analiza vplivnosti značilk Izbira najvplivnejših značilk Delitev podatkov (učni, validacijski, testni) Izbira strukture modela Izbira hiper-parametrov modela Vrednotenje modela z validacijskimi podatki i=1 Valjavska naprava večino časa deluje v ustaljenem stanju, zato smo se pri analizi osredotočili na odseke, kjer je bilo prisotno delovanje v ustaljenih delovnih točkah. Stanje procesa, na podlagi katerega se bo matematični model naučil zvez med vhodnimi in izhodno spremenljivko, opišemo s karakterističnimi značilkami, ki smo jih izbrali na podlagi razpoložljivih spremenljivk (lastnosti prevleka, lastnosti kolobarja in parametri recepta). Posamezne značilke predstavljajo povprečno vrednost atributa v ustaljenem stanju. Iz vseh dinamičnih spremenljivk smo pridobili dodatne značilke, ki smo jih definirali kot pripadajoče statistične funkcije: • aritmetična srednja vrednost, • standardni odklon, • mediana, 463 Ustrezna uspešnost? NE DA Vrednotenje modela s testnimi podatki Slika 2: Potek identifikacije modela. Ker je naš osnovni cilj optimizacija parametrov recepta, je potrebno med uporabljene značilke uvrstiti parametre recepta, za katere se predvideva močan vpliv na kazalnik učinkovitosti. Druge značilke, na podlagi katerih bo model napovedoval, pa izberemo z algoritmom iskanja najvplivnejših značilk (v našem primeru Spearmanovim algoritmom [7, str. 372–376]). V večini primerov na aktualnem področju uporabe ne razpolagamo s testno množico podatkov, zato je celoten nabor razpoložljivih podatkov smiselno razdeliti v učno, validacijsko in dodatno testno množico podatkov, katero uporabimo le v končni fazi vrednotenja. Pri velikih količinah učnih podatkov je učinkovit regresijski model večplastnega perceptron [8] (ang. multilayer perceptron – MLP), kateri je tudi uporabljen v našem primeru. V fazi razvoja in identifikacije najbolj uspešnega modela smo za iskanje najbolj ustreznih hiper-parametrov, uporabili algoritem iskanje v mreži (ang. grid search). Za objektivno oceno uporabnosti modela uporabimo splošno uveljavljene mere uspešnosti. V našem primeru je to koeficient determinističnosti (R2 uspešnost). Na sliki 3, grafa na levi (zgoraj na učni, spodaj na validacijski množici podatkov) strani prikazujeta izsek napovedanih vrednosti (črtkano) izhodnega odstopanja debeline od reference, poleg pa je izrisana še prava vrednost (polna črta). Na desni strani (zgoraj na učni, spodaj na validacijski množici podatkov) pa sta prikazana grafa raztrosa, katera v drugi perspektivi predstavljata podobnost med pravo in napovedano vrednostjo. Učni podatki - R2 mera uspešnosti: 0.8872 napoved dh [µm] dh [µm] 20 prava napovedana 15 10 5 0 0 10 20 35 40 20 5 0 5 10 15 20 Validacijski podatki - R2 mera uspešnosti: 0.8519 5 0 0 10 20 35 vzorec [/] 40 50 2 kjer je R vektor značilk recepta, P vektor najinformativnejših procesnih značilk, v hitrost valjanja, vmax maksimalna dovoljena hitrost valjanja, dhover presežek odstopanja izhodne debeline od reference čez tolerančno mejo, k visok koeficient za kaznovanje dhover , ω1 in ω2 pa sta uteži, s katerima vplivamo na poudarek kriterijske funkcije, ki je bodisi bolj na kakovosti bodisi bolj na produktivnosti. Oba kriterija sta si nasprotujoči zahtevi, kar pomeni da iščemo kompromis med stopnjo produktivnosti in kakovostjo produkta. Vrednost optimizacijske funkcije mora biti pri najboljših optimiziranih parametrih najmanjša. Rezultati 20 15 10 R2 mera uspešnosti: 0.8639 5 prava napovedana 0 0 5 10 15 20 dh [µm] napoved dh [µm] dh [µm] 10 2 Za nepristransko mero uspešnosti regresijskega modela procesa, smo pri končnem vrednotenju uporabili poseben nabor podatkov (testno množico), katerega pri modeliranju nismo uporabili. Na sliki 4 je številsko in grafično prikazana ovrednotena uspešnost modela. 0 prava dh [µm] prava napovedana 2 ω1 · model ({R, P}) + ω2 · (vmax − v) + k · (dhover ) , (2) 4 10 vzorec [/] 15 min F (x) = ω1 · f1 2 + ω2 · f2 2 + k · f3 2 = 15 50 20 rešitev posamezne spremenljivke, imenovano prostor iskanja (ang. search space). Torej vsaki spremenljivki, ki jo želimo optimizirati, priredimo spodnjo in zgornjo mejo. Matematična formulacija večkriterijske optimizacijske funkcije [9] je prikazana v enačbi (2): prava dh [µm] Slika 3: Vrednotenje identificiranega modela. 10 5 0 0 10 20 35 40 50 3.3 Optimizacija na podlagi identificiranega modela Na podlagi znane relacije med vhodi in izhodom modela lahko izbrane vhodne spremenljivke (v našem primeru je to recept) optimiziramo tako, da uporabimo inverz modela, ki na podlagi merjenih spremenljivk in želene kakovosti, na izhodu poda optimalne parametre recepta Druga možnost, katero smo tudi uporabili, pa je z uporabo postopka optimizacije, s katerim minimiziramo kriterijsko funkcijo, oblikovano iz večih kriterijev: • f1 : izhodna kakovost – absolutna vrednost odstopanja izhodne debeline od reference, • f2 : produktivnost – hitrost valjanja in • f3 : mehka omejitev – visoka kazen ob preseganju tolerančnih meja odstopanja izhodne debeline od reference. Pri tem pa moramo upoštevati fizikalne omejitve procesa, kar pomeni, da je potrebno definirati množico možnih 464 napoved dh [µm] vzorec [/] 10 5 0 0 5 10 prava dh [µm] Slika 4: Vrednotenje identificiranega modela. Razmeroma visoka mera uspešnosti identificiranega modela procesa je vzpodbudna za praktično uporabo, tj. nastavljanje optimalnejših parametrov recepta za posamezni kolobar. Tabela 1 prikazuje procentualno vrednost izboljšanja kakovosti q in produktivnosti p z optimiziranim receptom (odebeljeni tisk) proti dejansko uporabljenim receptom, kjer izračun temelji na napovedi identificiranega modela. Vpliv uteži ω1 in ω2 optimizacijske funkcije (2) preizkusimo z ovrednotenjem različnih receptov, ki favorizirajo bodisi kvaliteto bodisi produktivnost. Tabela 1: Primerjava vplivov uporabe različnih receptov na kazalnike proizvodne učinkovitosti. Pripona * označuje izbor uteži ω1 = 0, 6, ω2 = 0, 4, pripona ** pa označuje izbor uteži ω1 = 0, 4, ω2 = 0, 6. vzorec / 1 1* 1** 2 2* 2** v [m/s] 8,98 10,29 10,35 8,80 9,16 9,83 recept F1 [kN] 78 90 90 82 90 90 F2 [kN] 118 117 117 121 171 124 rezultat q p [%] [%] 17,16 17,14 14,57 15,24 6,23 -3,19 4,12 11,73 Opazimo, da je s prilagoditvijo parametrov recepta posameznemu kolobarju, moč bistveno vplivati na produktivnost procesne linije oziroma kakovost produkta. Pri prvem vzorcu se pri večjem poudarku optimizacijske funkcije na produktivnosti kakovost bistveno ne poslabša, pri drugem vzorcu pa je poslabšanje konkretno. Iz tega sledi, da izbor uteži pomembno vpliva na kakovost rezultata. Za bolj zanesljivo napovedovanje, bi bilo v prihodnje potrebno izvesti še dodatno analizo vpliva izbranih uteži. 5 Razvoj uporabniškega orodja Razvito prototipno podporno orodje za svetovanje optimalnih nastavitev recepta pred pričetkom procesa je prikazano na sliki 5. Identificirani model omogoča napovedovanje izhodne kakovosti pred pričetkom valjanja, kar se lahko uporabi tako za preverjanje ustreznosti že uporabljenih receptov, kot za optimizacijo nastavitev recepta še pred pričetkom valjanja na podlagi lastnosti aktualnega kolobarja. Uporabljen pristop izrabe zgodovinskih podatkov za optimizacijo proizvodne učinkovitosti ni vezan na specifične lastnosti obravnavane naprave, zato je – z modifikacijami – omogočena prenosljivost na druge procese. Priložnost za nadaljnje delo je v dodatni validaciji identificiranega modela in smiselnosti izračunanih optimalnejših parametrov recepta vzporedno z realnim procesom, integraciji razvitega orodja v sam proces ter razvoju dodatnih funkcionalnosti za sprotno evaluacijo ter avtomatsko posodabljanje modelov. Tako bi bila možna tudi analiza opreme valjavskega ogrodja in implementacija storitev prediktivnega vzdrževanja. Zahvala Delo je bilo izvedeno v okviru mednarodnega projekta INEVITABLE (“Optimization and performance improving in metal industry by digital technologies”) (GA No. 869815), ki je sofinanciran s strani Evropske komisije v okviru programa Obzorja 2020, SPIRE in v sklopu nacionalnega raziskovalnega programa Sistemi in vodenje, P2-0001. Posebna zahvala gre dr. Mihi Glavanu za strokovno pomoč in usmerjanje pri delu na projektu ter komentarje pri nastajanju prispevka. Hvala tudi doc. dr. Vitu Logarju in dr. Dejanu Gradišarju za svetovanje in predloge pri pisanju vsebinskega dela. Literatura [1] Ö. Çelik, “A Research on Machine Learning Methods and Its Applications”, sep. 2018, doi: 10.31681/jetol.457046. [2] X. Yao, S. Li, in A. Zhang, “Equipment Condition Monitoring and Diagnosis System Based on Evidence Weight”, International Journal of Online Engineering (iJOE), let. 14, str. 143, feb. 2018, doi: 10.3991/ijoe.v14i02.7731. [3] V. Meyer Zu Wickern, “Challenges and Reliability of Predictive Maintenance”. 2019. doi: 10.13140/RG.2.2.35379.89129. Slika 5: Orodje Optimizator. [4] A. Bhaduri, Mechanical Properties and Working of Metals and Alloys, vol. 264. Springer Singapore, 2018 V levem zgornjem oknu so prikazane značilnosti kolobarja, spodnje okno pa je namenjeno za upravljanje z nastavitvami optimizacije. Desni tabeli prikazujeta dejansko uporabljene ter izračunane (za več segmentov kolobarja) optimalne parametre recepta. Graf na sredini prikazuje predvidene poteke značilke kakovosti v naslednjem prevleku za različne uporabljene recepte (dejansko uporabljen, optimalen, uporabniško nastavljen). Nad grafom je ocena izboljšanja kakovosti in produktivnosti z uporabo izračunanih parametrov recepta. [5] J. Ringwood, “Shape control systems for Sendzimir steel mills”, Control Systems Technology, IEEE Transactions on, vol. 8, str. 70–86, feb. 2000. 6 Zaključek Predlagali smo možnost optimizacije procesa hladnega valjanja na podlagi analize arhivskih procesnih podatkov. 465 [6] J. Han in M. Kamber, Data Mining : Concepts and Techniques. San Francisco [u.a.]: Kaufmann, 2005. [7] D. Zwillinger in S. Kokoska, CRC standard probability and statistics tables and formulae. Boca Raton: Chapman & Hall/CRC, 2000. [8] I. Basheer in M. N. Hajmeer, Artificial Neural Networks: ” Fundamentals, Computing, Design, and Application“, Journal of microbiological methods, let. 43, str. 3–31, jan. 2001, doi: 10.1016/S0167-7012(00)00201-3. [9] T. Robič in B. Filipič,“Večkriterijsko optimiranje z genetskimi algoritmi in diferencialno evolucijo”, IJS-DP 9065, Jozef Stefan Institute, 2005. Index Amadasi Giovanni: 299 Ambrožič Luka: 2 Ambrožič Vanja: 206, 222 Andošek Peklaj Matevž: 125 Antončič Marko: 247, 251 Bajec Marko: 325 Bajrić Samed: 234 Balantic Katja: 395 Balboni Marila: 299 Barelle Caroline: 313 Baroin Gilles: 276 Batagelj Boštjan: 48, 67, 71, 75 Begeš Gaber: 243 Beguš Samo: 263, 280, 444 Benko Loknar Martina: 139 Bertalanic Blaz: 386 Bisták Pavol: 143, 147 Blatnik Aljaž: 67, 75 Blažič Sašo: 139 Bobek Urban: 365 Bohak Ciril: 333 Bojkovski Jovan: 263 Borkovski Stefan: 188 Bovcon Narvika: 117, 121, 125 Božič Jakob: 356 Brantuša Gregor: 125 Brdnik Saša: 343 Bregar Klemen: 43 Breznik Mark: 109 Brežnik Janez: 317 Brinšek Žiga: 365 Brumen Matej: 87 Burger Gregor: 105 Burnik Urban: 97, 113, 289 Bélai Igor: 143, 147 Calvet André: 276 Caserman Rok: 125 Cerar Gregor: 386 Ciglič Rok: 378 Cuznar Kristjan: 462 Cvenkel Tilen: 365 Čehovin Zajc Luka: 378 Česnik Blaž: 374 Čučko Špela: 343 Demirović Nedžmija: 234 Dermol-Černe Janja: 403, 411, 415 Dobnik Aljaž: 289 Dobrišek Simon: 382 Dolanc Gregor: 259 Dovečar Barbara: 121 Džubur Benjamin: 360 Emeršič Žiga: 360 Erjavec Simon: 151 Erkechova Maja: 188, 386 Filip Rudolf-Leon: 255 Gabrič Aleks: 75 Gams Andrej: 175, 179 Garbin Praničević Daniela: 436 Gazvoda De Reggi Marin: 419 Gec Sandi: 317 Gleich Dušan: 64, 79, 83 Globevnik Miran: 247, 251, 255 Glušič Anže: 378 Golob Tamara: 87 Gregorin Domen: 365 Grm Klemen: 352 Gruden Timotej: 101 Hace Aleš: 159 Hamler Anton: 197, 230 Heričko Tjaša: 343 Hiti Miha: 243 Hribernik Matevž: 31 Hrovat Andrej: 43 Hrvić Emina: 234 Huba Mikuláš: 143, 147 Hudomalj Marko: 238 Isovski Matic: 390 Ivanovska Marija: 370 Jaklič Aleš: 347 Jakus Grega: 101 Jamšek Janez: 432 Javornik Tomaž: 43 Jelovšek Tjaša: 325 Jeran Marko: 419 Jereb Tjaša: 27 Jesenik Marko: 230 Jesenko David: 87 Juričić ani: 188 Justin Janez: 117 Kenda Andrej: 10, 14 Kikanović Ena: 23 Klančar Gregor: 139 Klanjšček Nejc: 423 Kobau Klemen: 365 Kochovski Petar: 313, 317 Kofol Marko: 121 Kohek Štefan: 87 Kolmanič Simon: 87 Končar Luka: 125 Korez Kristijan: 247, 251 Korže Danilo: 305 Kos Andrej: 31 Kos Anton: 31 Kos Tomaž: 321 Kosanič Nejc: 91 Kosar Tomaž: 321 Kosec Špela: 432 Košir Sonja: 399 Kotnik Jana: 130 Kramar Peter: 395, 407 Kramberger Iztok: 91 Krapež Peter: 167 Kresnik Luka: 151 Kristan Matej: 365, 374 Križaj Janez: 382 Kropivšek Leskovar Rebeka: 175 Kunej Katja: 117 Kuštra Mitja: 365 Kuzmanovic Vladimir: 337 La Salvia Marco: 296 Lajić Romanela: 193 Lampe Andreja: 325 Leporati Francesco: 296 Lesar Žiga: 333 Likozar Januš: 347 Lipuš Bogdan: 329 Logar Vito: 201 Lončarević Zvezdan: 179 Lugarič Igor: 230 Lukač Niko: 329 Lukek Mark: 365 Maček Lebar Alenka: 407, 427 Makarovič Kostja: 5 Malavašič Urban: 419 Markovič Jure Janez: 71 Marolt Matija: 333 Mavsar Matija: 171 Meden Blaž: 117, 121, 125 Mernik Marjan: 321 Meža Marko: 386 Mihelj Matjaž: 155, 183 Miklavčič Damijan: 395, 399, 403, 407, 411, 415, 427 Miklavčič Peter: 48, 71, 75 Milivojević Zoran: 35 Mišković Luka: 175 Mlačnik Vid: 267 Mlinar Tomi: 39 Mokorel Rok: 243 Mongus Domen: 87 Muhovič Jon: 365 Mukinović Amila: 234 Munih Marko: 18, 151, 155, 183 Mušič Gašper: 135 Mušič Jernej: 67 Nemec Mitja: 10, 14, 206, 210, 222 Nerat Andrej: 329 Nimac Peter: 48 Ogrizek Leo: 386 Oražem Sabina: 130 Ošep Ferš Nataša: 309 Oven Katja: 105 Pajic Slobodan: 337 Papaioannou Thanasis: 313 Pečnik Klemen: 109 Peer Peter: 360 Pelicon Jan: 113 Penič Samo: 419, 423 Perlini Stefano: 296 Perš Janez: 365 Peterlin Judita: 436 Peterlin Urban Metod: 226 Petkovšek Marko: 218 Petrič Tadej: 175 Petrovčič Janko: 259 Pikec Katarina: 117 Planinšič Peter: 64, 83 Pleško Erik: 155 Podgorelec David: 329 Podobnik Janez: 183 Pogačnik Luka: 18 Pogačnik Matevž: 105, 109 Policardi Franc: 299 Pongrac Blaž: 79, 83 Potočnik Blaž: 183 Potočnik Tjaša: 427 Potočnik Vita: 121 Pregelj Boštjan: 259 Primožič Vid: 243 Prislan Rok: 293 Prlinčević Bojan: 35 Pušnik Igor: 271 Rabzelj Matej: 27 Radović Marko: 64 Rantaša Patricija: 121 Reberšek Matej: 403 Rihar Andraž: 214, 222, 440 Rijavec Vid: 163 Risojević Vladimir: 193 Rizman Žalik Krista: 329 Saabeel Wanda: 325 Sachdev Shaurya: 3 Sagaj Tomaž: 121 Salinaro Francesco: 296 Sandu Ana-Maria: 411 Sarjaš Andrej: 79 Scuderi Maria: 411, 415 Secco Gianmarco: 296 Sedej Nina: 365 Sedlar Urban: 31 Selan Žiga: 210 Sešek Aleksander: 5 Shkembi Klevis: 313 Simončič Aleš: 43 Simonič Arne: 97 Skočaj Danijel: 163, 356 Skuber Tadej: 5 Sodnik Jaka: 284 Softic Izudin: 234 Srebot Martin: 449 Stancheska Sandra: 121 Stankovski Vlado: 313, 317, 325 Stojmenova Duh Emilija: 130 Stojmenova Kristina: 284 Stradovnik Saša: 159 Strnad Damjan: 329 Stropnik Vid: 130 Suljanović Nermin: 23 Šafarič Riko: 247, 251 Šajn Luka: 390 Šlajpah Sebastjan: 155 Šmajdek Uroš: 333 Špeh Jure: 135 Štern Andrej: 52, 56, 60 Štruc Vitomir: 352, 370 Šumak Boštjan: 343 Ťapák Peter: 143, 147 Tavčar Rok: 263 Thornley Clare: 325 Tomazini Žan: 280 Tomažič Sašo: 284 Trbušić Mislav: 230 Trebušak Aljaž: 167 Trilar Jure: 130 Trlep Mladen: 230 Trost Andrej: 18 Ulbl Domen: 458 Urankar Tajda: 117 Vesel Aleksander: 305 Vizjak Jakob: 197 Vižintin Angelika: 399 Volk Mojca: 27 Vončina Danjel: 206, 210, 222, 440 Zajc Matej: 23 Zajec Peter: 214, 222, 440 Zamuda Aleš: 309 Zavrtanik Vitjan: 356 Zekić Nataša: 453 Zeljković Čedomir: 193 Žáková Katarı́na: 143, 147 Žalik Borut: 329 Žemva Andrej: 18 Žlaus Danijel: 87 Žust Lojze: 374